-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathevents.proto
260 lines (234 loc) · 6.94 KB
/
events.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
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
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
/*
* Copyright (c) 2023, © Circle Internet Financial, LTD.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto3";
package circle.cctp.v1;
import "gogoproto/gogo.proto";
option go_package = "github.com/circlefin/noble-cctp/x/cctp/types";
/**
* Event signatures in the CCTP module
*/
/**
* Emitted when an attester is enabled
* @param attester newly enabled attester
*/
message AttesterEnabled {
string attester = 1;
}
/**
* Emitted when an attester is disabled
* @param attester newly disabled attester
*/
message AttesterDisabled {
string attester = 1;
}
/**
* Emitted when threshold number of attestations (m in m/n multisig) is updated
* @param old_signature_threshold old signature threshold
* @param new_signature_threshold new signature threshold
*/
message SignatureThresholdUpdated {
uint64 old_signature_threshold = 1;
uint64 new_signature_threshold = 2;
}
/**
* Emitted when owner address is updated
* @param previous_owner representing the address of the previous owner
* @param new_owner representing the address of the new owner
*/
message OwnerUpdated {
string previous_owner = 1;
string new_owner = 2;
}
/**
* Emitted when starting the two stage transfer ownership process
* @param previousOwner representing the address of the previous owner
* @param newOwner representing the address of the new owner
*/
message OwnershipTransferStarted {
string previous_owner = 1;
string new_owner = 2;
}
/**
* Emitted when pauser address is updated
* @param previous_pauser representing the address of the previous pauser
* @param new_pauser representing the address of the new pauser
*/
message PauserUpdated {
string previous_pauser = 1;
string new_pauser = 2;
}
/**
* Emitted when attester manager address is updated
* @param previous_attester_manager representing the address of the previous
* attester manager
* @param new_attester_manager representing the address of the new attester
* manager
*/
message AttesterManagerUpdated {
string previous_attester_manager = 1;
string new_attester_manager = 2;
}
/**
* Emitted when token controller address is updated
* @param previous_token_controller representing the address of the previous
* token controller
* @param new_token_controller representing the address of the new token
* controller
*/
message TokenControllerUpdated {
string previous_token_controller = 1;
string new_token_controller = 2;
}
/**
* Emitted when burning and minting tokens is paused
*/
message BurningAndMintingPausedEvent {}
/**
* Emitted when burning and minting tokens is unpaused
*/
message BurningAndMintingUnpausedEvent {}
/**
* Emitted when sending and receiving messages is paused
*/
message SendingAndReceivingPausedEvent {}
/**
* Emitted when sending and receiving messages is paused
*/
message SendingAndReceivingUnpausedEvent {}
/**
* Emitted when a DepositForBurn message is sent
* @param nonce unique nonce reserved by message
* @param burn_token address of token burnt on source domain
* @param amount deposit amount
* @param depositor address where deposit is transferred from
* @param mint_recipient address receiving minted tokens on destination domain
* as bytes32
* @param destination_domain destination domain
* @param destination_token_messenger address of TokenMessenger on destination
* domain as bytes32
* @param destination_caller authorized caller as bytes32 of receiveMessage() on
* destination domain, if not equal to bytes32(0). If equal to bytes32(0), any
* address can call receiveMessage().
*/
message DepositForBurn {
uint64 nonce = 1;
string burn_token = 2;
string amount = 3 [
(gogoproto.customtype) = "cosmossdk.io/math.Int",
(gogoproto.nullable) = false
];
string depositor = 4;
bytes mint_recipient = 5;
uint32 destination_domain = 6;
bytes destination_token_messenger = 7;
bytes destination_caller = 8;
}
/**
* Emitted when tokens are minted
* @param mint_recipient recipient address of minted tokens
* @param amount amount of minted tokens
* @param mint_token contract address of minted token
*/
message MintAndWithdraw {
bytes mint_recipient = 1;
string amount = 2 [
(gogoproto.customtype) = "cosmossdk.io/math.Int",
(gogoproto.nullable) = false
];
string mint_token = 3;
}
/**
* Emitted when a token pair is linked
* @param local_token local token to support
* @param remote_domain remote domain
* @param remote_token token on `remoteDomain` corresponding to `localToken`
*/
message TokenPairLinked {
string local_token = 1;
uint32 remote_domain = 2;
bytes remote_token = 3;
}
/**
* Emitted when a token pair is unlinked
* @param local_token local token address
* @param remote_domain remote domain
* @param remote_token token on `remoteDomain` unlinked from `localToken`
*/
message TokenPairUnlinked {
string local_token = 1;
uint32 remote_domain = 2;
bytes remote_token = 3;
}
/**
* Emitted when a new message is dispatched
* @param message Raw bytes of message
*/
message MessageSent {
bytes message = 1;
}
/**
* Emitted when a new message is received
* @param caller caller (msg.sender) on destination domain
* @param source_domain the source domain this message originated from
* @param nonce the nonce unique to this message
* @param sender the sender of this message
* @param message_body message body bytes
*/
message MessageReceived {
string caller = 1;
uint32 source_domain = 2;
uint64 nonce = 3;
bytes sender = 4;
bytes message_body = 5;
}
/**
* Emitted when max message body size is updated
* @param new_max_message_body_size new maximum message body size, in bytes
*/
message MaxMessageBodySizeUpdated {
uint64 new_max_message_body_size = 1;
}
/**
* Emitted when a RemoteTokenMessenger is added
* @param domain remote domain
* @param remote_token_messenger RemoteTokenMessenger on domain
*/
message RemoteTokenMessengerAdded {
uint32 domain = 1;
bytes remote_token_messenger = 2;
}
/**
* Emitted when a RemoteTokenMessenger is removed
* @param domain remote domain
* @param remote_token_messenger RemoteTokenMessenger on domain
*/
message RemoteTokenMessengerRemoved {
uint32 domain = 1;
bytes remote_token_messenger = 2;
}
/**
* Emitted when max burn amount per message is updated
* @param local_token
* @param old_amount old max burn amount
* @param new_amount new max burn amount
*/
message SetBurnLimitPerMessage {
string token = 1;
string burn_limit_per_message = 2 [
(gogoproto.customtype) = "cosmossdk.io/math.Int",
(gogoproto.nullable) = false
];
}