-
Notifications
You must be signed in to change notification settings - Fork 169
/
tx.proto
126 lines (104 loc) · 4.93 KB
/
tx.proto
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
syntax = "proto3";
package umee.uibc.v1;
import "gogoproto/gogo.proto";
import "google/protobuf/duration.proto";
import "cosmos/msg/v1/msg.proto";
import "cosmos_proto/cosmos.proto";
import "umee/uibc/v1/quota.proto";
option go_package = "github.com/umee-network/umee/v6/x/uibc";
option (gogoproto.goproto_getters_all) = false;
option (gogoproto.messagename_all) = true;
// Msg defines the x/uibc module's Msg service.
service Msg {
// GovUpdateQuota adds new quota for ibc denoms or
// updates the quota for existed ibc denoms.
rpc GovUpdateQuota(MsgGovUpdateQuota) returns (MsgGovUpdateQuotaResponse);
// GovSetIBCStatus sets IBC ICS20 status. Must be called by x/gov.
rpc GovSetIBCStatus(MsgGovSetIBCStatus) returns (MsgGovSetIBCStatusResponse);
// GovToggleICS20Hooks enables / disables ICS20 hooks support. Must be called by x/gov.
rpc GovToggleICS20Hooks(MsgGovToggleICS20Hooks) returns (MsgGovToggleICS20HooksResponse);
}
// MsgGovUpdateQuota defines the Msg/GovUpdateQuota request type.
message MsgGovUpdateQuota {
option (gogoproto.goproto_getters) = false;
option (gogoproto.goproto_stringer) = false;
option (cosmos.msg.v1.signer) = "authority";
// field 2 (title) is removed. Proposal metadata should be used instead.
reserved 2;
// authority is the address of the governance account or the Emergency Group.
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
// description motivating the change. Should be used only when executing by the
// Emergency Group. Otherwise the x/gov Proposal metadata should be used.
string description = 3;
// total quota defines the total outflow of ibc-transfer in USD
string total = 4 [
(cosmos_proto.scalar) = "cosmos.Dec",
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
(gogoproto.nullable) = false
];
// per_denom quota for outflows per denom. All denoms have the same quota size.
string per_denom = 5 [
(cosmos_proto.scalar) = "cosmos.Dec",
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
(gogoproto.nullable) = false
];
// quota_duration defines quota expires per denom, All denoms have the same expire time.
google.protobuf.Duration quota_duration = 6 [
(gogoproto.nullable) = false,
(gogoproto.stdduration) = true,
(gogoproto.jsontag) = "quota_duration,omitempty",
(gogoproto.moretags) = "yaml:\"quota_duration\""
];
// Params.inflow_outflow_quota_base
string inflow_outflow_quota_base = 7 [
(cosmos_proto.scalar) = "cosmos.Dec",
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
(gogoproto.nullable) = false
];
// Params.inflow_outflow_quota_rate
string inflow_outflow_quota_rate = 8 [
(cosmos_proto.scalar) = "cosmos.Dec",
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
(gogoproto.nullable) = false
];
// Params.inflow_outflow_token_quota_base
string inflow_outflow_token_quota_base = 9 [
(cosmos_proto.scalar) = "cosmos.Dec",
(gogoproto.customtype) = "github.com/cosmos/cosmos-sdk/types.Dec",
(gogoproto.nullable) = false
];
}
// MsgGovUpdateQuotaResponse defines response type for the Msg/GovUpdateQuota for with x/gov proposals.
message MsgGovUpdateQuotaResponse {};
// MsgGovSetIBCStatus defines the request type for setting the IBC quota status.
message MsgGovSetIBCStatus {
option (gogoproto.goproto_getters) = false;
option (gogoproto.goproto_stringer) = false;
option (cosmos.msg.v1.signer) = "authority";
// field 2 (title) is removed. Proposal metadata should be used instead.
reserved 2;
// authority is the address of the governance account or the Emergency Group.
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
// description motivating the change. Should be used only when executing by the
// Emergency Group. Otherwise the x/gov Proposal metadata should be used.
string description = 3;
// ibc_status defines status for ibc transfers
IBCTransferStatus ibc_status = 4;
}
// MsgGovSetIBCStatusResponse is a response type for Msg/GovSetIBCStatus.
message MsgGovSetIBCStatusResponse {}
// MsgGovToggleICS20Hooks is a request type for GovToggleICS20Hooks handler.
message MsgGovToggleICS20Hooks {
option (gogoproto.goproto_getters) = false;
option (gogoproto.goproto_stringer) = false;
option (cosmos.msg.v1.signer) = "authority";
// authority is the address of the governance account or the Emergency Group.
string authority = 1 [(cosmos_proto.scalar) = "cosmos.AddressString"];
// description motivating the change. Should be used only when executing by the
// Emergency Group. Otherwise the x/gov Proposal metadata should be used.
string description = 2;
// enabled defines if the IBC transfer hooks should be enabled or disabled.
bool enabled = 3;
}
// MsgGovToggleICS20HooksResponse is a response type for Msg/GovToggleICS20Hooks.
message MsgGovToggleICS20HooksResponse {}