1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
// @generated
// This file is @generated by prost-build.
/// ContinuousFund defines the fields of continuous fund proposal.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct ContinuousFund {
/// Recipient is the address string of the account receiving funds.
#[prost(string, tag = "1")]
pub recipient: ::prost::alloc::string::String,
/// Percentage is the percentage of funds to be allocated from Community pool.
#[prost(string, tag = "2")]
pub percentage: ::prost::alloc::string::String,
/// Optional, if expiry is set, removes the state object when expired.
#[prost(message, optional, tag = "3")]
pub expiry: ::core::option::Option<::prost_types::Timestamp>,
}
/// Params defines the parameters for the protocolpool module.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct Params {
/// EnabledDistributionDenoms lists the denoms that are allowed to be distributed.
/// This is to avoid spending time distributing undesired tokens to continuous funds and budgets.
#[prost(string, repeated, tag = "1")]
pub enabled_distribution_denoms: ::prost::alloc::vec::Vec<::prost::alloc::string::String>,
/// DistributionFrequency is the frequency (in terms of blocks) that funds are distributed out from the
/// x/protocolpool module.
#[prost(uint64, tag = "2")]
pub distribution_frequency: u64,
}
/// GenesisState defines the protocolpool module's genesis state.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct GenesisState {
/// ContinuousFunds defines the continuous funds at genesis.
#[prost(message, repeated, tag = "1")]
pub continuous_funds: ::prost::alloc::vec::Vec<ContinuousFund>,
/// Params defines the parameters of this module, currently only contains the
/// denoms that will be used for continuous fund distributions.
#[prost(message, optional, tag = "2")]
pub params: ::core::option::Option<Params>,
}
/// QueryCommunityPoolRequest is the request type for the Query/CommunityPool RPC
/// method.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryCommunityPoolRequest {}
/// QueryCommunityPoolResponse is the response type for the Query/CommunityPool
/// RPC method.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryCommunityPoolResponse {
/// pool defines community pool's coins.
#[prost(message, repeated, tag = "1")]
pub pool: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
}
/// QueryContinuousFundRequest is the request type for the Query/ContinuousFund
/// RPC method.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryContinuousFundRequest {
/// recipient is the recipient address to query unclaimed budget amount for.
#[prost(string, tag = "1")]
pub recipient: ::prost::alloc::string::String,
}
/// QueryUnclaimedBudgetResponse is the response type for the Query/ContinuousFund
/// RPC method.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryContinuousFundResponse {
/// ContinuousFunds is the given continuous fund returned in the query.
#[prost(message, optional, tag = "1")]
pub continuous_fund: ::core::option::Option<ContinuousFund>,
}
/// QueryContinuousFundRequest is the request type for the Query/ContinuousFunds
/// RPC method.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryContinuousFundsRequest {}
/// QueryUnclaimedBudgetResponse is the response type for the Query/ContinuousFunds
/// RPC method.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryContinuousFundsResponse {
/// ContinuousFunds defines all continuous funds in state.
#[prost(message, repeated, tag = "1")]
pub continuous_funds: ::prost::alloc::vec::Vec<ContinuousFund>,
}
/// QueryParamsRequest is the response type for the Query/Params RPC method.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct QueryParamsRequest {}
/// QueryParamsResponse is the response type for the Query/Params RPC method.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct QueryParamsResponse {
#[prost(message, optional, tag = "1")]
pub params: ::core::option::Option<Params>,
}
/// MsgFundCommunityPool allows an account to directly
/// fund the community pool.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgFundCommunityPool {
#[prost(string, tag = "1")]
pub depositor: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "2")]
pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
}
/// MsgFundCommunityPoolResponse defines the Msg/FundCommunityPool response type.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgFundCommunityPoolResponse {}
/// MsgCommunityPoolSpend defines a message for sending tokens from the community
/// pool to another account. This message is typically executed via a governance
/// proposal with the governance module being the executing authority.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCommunityPoolSpend {
/// Authority is the address that controls the module (defaults to x/gov unless overwritten).
#[prost(string, tag = "1")]
pub authority: ::prost::alloc::string::String,
#[prost(string, tag = "2")]
pub recipient: ::prost::alloc::string::String,
#[prost(message, repeated, tag = "3")]
pub amount: ::prost::alloc::vec::Vec<super::super::base::v1beta1::Coin>,
}
/// MsgCommunityPoolSpendResponse defines the response to executing a
/// MsgCommunityPoolSpend message.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgCommunityPoolSpendResponse {}
/// MsgCreateContinuousFund defines a message for adding continuous funds.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCreateContinuousFund {
/// Authority is the address that controls the module (defaults to x/gov unless overwritten).
#[prost(string, tag = "1")]
pub authority: ::prost::alloc::string::String,
/// Recipient address of the account receiving funds.
#[prost(string, tag = "2")]
pub recipient: ::prost::alloc::string::String,
/// Percentage is the percentage of funds to be allocated from Community pool.
#[prost(string, tag = "3")]
pub percentage: ::prost::alloc::string::String,
/// Optional, if expiry is set, removes the state object when expired.
#[prost(message, optional, tag = "4")]
pub expiry: ::core::option::Option<::prost_types::Timestamp>,
}
/// MsgCreateContinuousFundResponse defines the response to executing a
/// MsgCreateContinuousFund message.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgCreateContinuousFundResponse {}
/// MsgCancelContinuousFund defines a message to cancel continuous funds for a specific recipient.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCancelContinuousFund {
/// Authority is the account address of authority.
#[prost(string, tag = "1")]
pub authority: ::prost::alloc::string::String,
/// Recipient is the account address string of the recipient whose funds are to be cancelled.
#[prost(string, tag = "2")]
pub recipient: ::prost::alloc::string::String,
}
/// MsgCancelContinuousFundResponse defines the response to executing a
/// MsgCancelContinuousFund message.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct MsgCancelContinuousFundResponse {
/// CanceledTime is the canceled time.
#[prost(message, optional, tag = "1")]
pub canceled_time: ::core::option::Option<::prost_types::Timestamp>,
/// CanceledHeight defines the canceled block height.
#[prost(uint64, tag = "2")]
pub canceled_height: u64,
/// Recipient is the account address string of the recipient whose funds are cancelled.
#[prost(string, tag = "3")]
pub recipient: ::prost::alloc::string::String,
}
/// MsgUpdateParams is the Msg/UpdateParams request type.
#[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/protocolpool parameters to update.
///
/// NOTE: All parameters must be supplied.
#[prost(message, optional, tag = "2")]
pub params: ::core::option::Option<Params>,
}
/// MsgUpdateParamsResponse defines the response structure for executing a
/// MsgUpdateParams message.
#[derive(Clone, Copy, PartialEq, ::prost::Message)]
pub struct MsgUpdateParamsResponse {}
include!("cosmos.protocolpool.v1.tonic.rs");
// @@protoc_insertion_point(module)