@layerzerolabs/lz-evm-oapp-v2 2.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/contracts/oapp/OApp.sol/OApp.json +332 -0
- package/artifacts/contracts/oapp/OAppCore.sol/OAppCore.json +195 -0
- package/artifacts/contracts/oapp/OAppReceiver.sol/OAppReceiver.json +316 -0
- package/artifacts/contracts/oapp/OAppSender.sol/OAppSender.json +211 -0
- package/artifacts/contracts/oapp/examples/OmniCounter.sol/MsgCodec.json +10 -0
- package/artifacts/contracts/oapp/examples/OmniCounter.sol/OmniCounter.json +874 -0
- package/artifacts/contracts/oapp/examples/OmniCounterPreCrime.sol/OmniCounterPreCrime.json +373 -0
- package/artifacts/contracts/oapp/interfaces/IOAppComposer.sol/IOAppComposer.json +44 -0
- package/artifacts/contracts/oapp/interfaces/IOAppCore.sol/IOAppCore.json +143 -0
- package/artifacts/contracts/oapp/interfaces/IOAppMsgInspector.sol/IOAppMsgInspector.json +51 -0
- package/artifacts/contracts/oapp/interfaces/IOAppOptionsType3.sol/IOAppOptionsType3.json +111 -0
- package/artifacts/contracts/oapp/libs/OAppOptionsType3.sol/OAppOptionsType3.json +187 -0
- package/artifacts/contracts/oapp/libs/OptionsBuilder.sol/OptionsBuilder.json +38 -0
- package/artifacts/contracts/oft/OFT.sol/OFT.json +1466 -0
- package/artifacts/contracts/oft/OFTAdapter.sol/OFTAdapter.json +1204 -0
- package/artifacts/contracts/oft/OFTCore.sol/OFTCore.json +1170 -0
- package/artifacts/contracts/oft/interfaces/IOFT.sol/IOFT.json +472 -0
- package/artifacts/contracts/oft/libs/OFTComposeMsgCodec.sol/OFTComposeMsgCodec.json +10 -0
- package/artifacts/contracts/oft/libs/OFTMsgCodec.sol/OFTMsgCodec.json +10 -0
- package/artifacts/contracts/precrime/OAppPreCrimeSimulator.sol/OAppPreCrimeSimulator.json +277 -0
- package/artifacts/contracts/precrime/PreCrime.sol/PreCrime.json +352 -0
- package/artifacts/contracts/precrime/extensions/PreCrimeE1.sol/PreCrimeE1.json +352 -0
- package/artifacts/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol/IOAppPreCrimeSimulator.json +175 -0
- package/artifacts/contracts/precrime/interfaces/IPreCrime.sol/IPreCrime.json +188 -0
- package/artifacts/contracts/precrime/libs/Packet.sol/PacketDecoder.json +10 -0
- package/contracts/oapp/OApp.sol +39 -0
- package/contracts/oapp/OAppCore.sol +68 -0
- package/contracts/oapp/OAppReceiver.sol +101 -0
- package/contracts/oapp/OAppSender.sol +124 -0
- package/contracts/oapp/examples/OmniCounter.sol +283 -0
- package/contracts/oapp/examples/OmniCounterPreCrime.sol +102 -0
- package/contracts/oapp/interfaces/IOAppComposer.sol +12 -0
- package/contracts/oapp/interfaces/IOAppCore.sol +51 -0
- package/contracts/oapp/interfaces/IOAppMsgInspector.sol +22 -0
- package/contracts/oapp/interfaces/IOAppOptionsType3.sol +43 -0
- package/contracts/oapp/libs/OAppOptionsType3.sol +82 -0
- package/contracts/oapp/libs/OptionsBuilder.sol +200 -0
- package/contracts/oft/OFT.sol +116 -0
- package/contracts/oft/OFTAdapter.sol +131 -0
- package/contracts/oft/OFTCore.sol +456 -0
- package/contracts/oft/OFTPrecrime.sol +99 -0
- package/contracts/oft/interfaces/IOFT.sol +168 -0
- package/contracts/oft/libs/OFTComposeMsgCodec.sol +91 -0
- package/contracts/oft/libs/OFTMsgCodec.sol +83 -0
- package/contracts/precrime/OAppPreCrimeSimulator.sol +125 -0
- package/contracts/precrime/PreCrime.sol +208 -0
- package/contracts/precrime/extensions/PreCrimeE1.sol +30 -0
- package/contracts/precrime/interfaces/IOAppPreCrimeSimulator.sol +55 -0
- package/contracts/precrime/interfaces/IPreCrime.sol +40 -0
- package/contracts/precrime/libs/Packet.sol +61 -0
- package/package.json +35 -0
|
@@ -0,0 +1,373 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "OmniCounterPreCrime",
|
|
4
|
+
"sourceName": "contracts/oapp/examples/OmniCounterPreCrime.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "_endpoint",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "address",
|
|
15
|
+
"name": "_counter",
|
|
16
|
+
"type": "address"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "address",
|
|
20
|
+
"name": "_owner",
|
|
21
|
+
"type": "address"
|
|
22
|
+
}
|
|
23
|
+
],
|
|
24
|
+
"stateMutability": "nonpayable",
|
|
25
|
+
"type": "constructor"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"inputs": [
|
|
29
|
+
{
|
|
30
|
+
"internalType": "bytes",
|
|
31
|
+
"name": "crime",
|
|
32
|
+
"type": "bytes"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"name": "CrimeFound",
|
|
36
|
+
"type": "error"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"inputs": [
|
|
40
|
+
{
|
|
41
|
+
"internalType": "uint32",
|
|
42
|
+
"name": "eid",
|
|
43
|
+
"type": "uint32"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"internalType": "bytes",
|
|
47
|
+
"name": "reason",
|
|
48
|
+
"type": "bytes"
|
|
49
|
+
}
|
|
50
|
+
],
|
|
51
|
+
"name": "InvalidSimulationResult",
|
|
52
|
+
"type": "error"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"inputs": [],
|
|
56
|
+
"name": "OnlyOffChain",
|
|
57
|
+
"type": "error"
|
|
58
|
+
},
|
|
59
|
+
{
|
|
60
|
+
"inputs": [
|
|
61
|
+
{
|
|
62
|
+
"internalType": "uint256",
|
|
63
|
+
"name": "max",
|
|
64
|
+
"type": "uint256"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"internalType": "uint256",
|
|
68
|
+
"name": "actual",
|
|
69
|
+
"type": "uint256"
|
|
70
|
+
}
|
|
71
|
+
],
|
|
72
|
+
"name": "PacketOversize",
|
|
73
|
+
"type": "error"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"inputs": [],
|
|
77
|
+
"name": "PacketUnsorted",
|
|
78
|
+
"type": "error"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
"inputs": [
|
|
82
|
+
{
|
|
83
|
+
"internalType": "bytes",
|
|
84
|
+
"name": "reason",
|
|
85
|
+
"type": "bytes"
|
|
86
|
+
}
|
|
87
|
+
],
|
|
88
|
+
"name": "SimulationFailed",
|
|
89
|
+
"type": "error"
|
|
90
|
+
},
|
|
91
|
+
{
|
|
92
|
+
"inputs": [
|
|
93
|
+
{
|
|
94
|
+
"internalType": "uint32",
|
|
95
|
+
"name": "eid",
|
|
96
|
+
"type": "uint32"
|
|
97
|
+
}
|
|
98
|
+
],
|
|
99
|
+
"name": "SimulationResultNotFound",
|
|
100
|
+
"type": "error"
|
|
101
|
+
},
|
|
102
|
+
{
|
|
103
|
+
"anonymous": false,
|
|
104
|
+
"inputs": [
|
|
105
|
+
{
|
|
106
|
+
"indexed": true,
|
|
107
|
+
"internalType": "address",
|
|
108
|
+
"name": "previousOwner",
|
|
109
|
+
"type": "address"
|
|
110
|
+
},
|
|
111
|
+
{
|
|
112
|
+
"indexed": true,
|
|
113
|
+
"internalType": "address",
|
|
114
|
+
"name": "newOwner",
|
|
115
|
+
"type": "address"
|
|
116
|
+
}
|
|
117
|
+
],
|
|
118
|
+
"name": "OwnershipTransferred",
|
|
119
|
+
"type": "event"
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
"inputs": [],
|
|
123
|
+
"name": "buildSimulationResult",
|
|
124
|
+
"outputs": [
|
|
125
|
+
{
|
|
126
|
+
"internalType": "bytes",
|
|
127
|
+
"name": "",
|
|
128
|
+
"type": "bytes"
|
|
129
|
+
}
|
|
130
|
+
],
|
|
131
|
+
"stateMutability": "view",
|
|
132
|
+
"type": "function"
|
|
133
|
+
},
|
|
134
|
+
{
|
|
135
|
+
"inputs": [
|
|
136
|
+
{
|
|
137
|
+
"internalType": "bytes[]",
|
|
138
|
+
"name": "_packets",
|
|
139
|
+
"type": "bytes[]"
|
|
140
|
+
},
|
|
141
|
+
{
|
|
142
|
+
"internalType": "uint256[]",
|
|
143
|
+
"name": "_packetMsgValues",
|
|
144
|
+
"type": "uint256[]"
|
|
145
|
+
}
|
|
146
|
+
],
|
|
147
|
+
"name": "getConfig",
|
|
148
|
+
"outputs": [
|
|
149
|
+
{
|
|
150
|
+
"internalType": "bytes",
|
|
151
|
+
"name": "",
|
|
152
|
+
"type": "bytes"
|
|
153
|
+
}
|
|
154
|
+
],
|
|
155
|
+
"stateMutability": "nonpayable",
|
|
156
|
+
"type": "function"
|
|
157
|
+
},
|
|
158
|
+
{
|
|
159
|
+
"inputs": [],
|
|
160
|
+
"name": "getPreCrimePeers",
|
|
161
|
+
"outputs": [
|
|
162
|
+
{
|
|
163
|
+
"components": [
|
|
164
|
+
{
|
|
165
|
+
"internalType": "uint32",
|
|
166
|
+
"name": "eid",
|
|
167
|
+
"type": "uint32"
|
|
168
|
+
},
|
|
169
|
+
{
|
|
170
|
+
"internalType": "bytes32",
|
|
171
|
+
"name": "preCrime",
|
|
172
|
+
"type": "bytes32"
|
|
173
|
+
},
|
|
174
|
+
{
|
|
175
|
+
"internalType": "bytes32",
|
|
176
|
+
"name": "oApp",
|
|
177
|
+
"type": "bytes32"
|
|
178
|
+
}
|
|
179
|
+
],
|
|
180
|
+
"internalType": "struct PreCrimePeer[]",
|
|
181
|
+
"name": "",
|
|
182
|
+
"type": "tuple[]"
|
|
183
|
+
}
|
|
184
|
+
],
|
|
185
|
+
"stateMutability": "view",
|
|
186
|
+
"type": "function"
|
|
187
|
+
},
|
|
188
|
+
{
|
|
189
|
+
"inputs": [],
|
|
190
|
+
"name": "maxBatchSize",
|
|
191
|
+
"outputs": [
|
|
192
|
+
{
|
|
193
|
+
"internalType": "uint64",
|
|
194
|
+
"name": "",
|
|
195
|
+
"type": "uint64"
|
|
196
|
+
}
|
|
197
|
+
],
|
|
198
|
+
"stateMutability": "view",
|
|
199
|
+
"type": "function"
|
|
200
|
+
},
|
|
201
|
+
{
|
|
202
|
+
"inputs": [],
|
|
203
|
+
"name": "oApp",
|
|
204
|
+
"outputs": [
|
|
205
|
+
{
|
|
206
|
+
"internalType": "address",
|
|
207
|
+
"name": "",
|
|
208
|
+
"type": "address"
|
|
209
|
+
}
|
|
210
|
+
],
|
|
211
|
+
"stateMutability": "view",
|
|
212
|
+
"type": "function"
|
|
213
|
+
},
|
|
214
|
+
{
|
|
215
|
+
"inputs": [],
|
|
216
|
+
"name": "owner",
|
|
217
|
+
"outputs": [
|
|
218
|
+
{
|
|
219
|
+
"internalType": "address",
|
|
220
|
+
"name": "",
|
|
221
|
+
"type": "address"
|
|
222
|
+
}
|
|
223
|
+
],
|
|
224
|
+
"stateMutability": "view",
|
|
225
|
+
"type": "function"
|
|
226
|
+
},
|
|
227
|
+
{
|
|
228
|
+
"inputs": [
|
|
229
|
+
{
|
|
230
|
+
"internalType": "bytes[]",
|
|
231
|
+
"name": "_packets",
|
|
232
|
+
"type": "bytes[]"
|
|
233
|
+
},
|
|
234
|
+
{
|
|
235
|
+
"internalType": "uint256[]",
|
|
236
|
+
"name": "_packetMsgValues",
|
|
237
|
+
"type": "uint256[]"
|
|
238
|
+
},
|
|
239
|
+
{
|
|
240
|
+
"internalType": "bytes[]",
|
|
241
|
+
"name": "_simulations",
|
|
242
|
+
"type": "bytes[]"
|
|
243
|
+
}
|
|
244
|
+
],
|
|
245
|
+
"name": "preCrime",
|
|
246
|
+
"outputs": [],
|
|
247
|
+
"stateMutability": "nonpayable",
|
|
248
|
+
"type": "function"
|
|
249
|
+
},
|
|
250
|
+
{
|
|
251
|
+
"inputs": [],
|
|
252
|
+
"name": "renounceOwnership",
|
|
253
|
+
"outputs": [],
|
|
254
|
+
"stateMutability": "nonpayable",
|
|
255
|
+
"type": "function"
|
|
256
|
+
},
|
|
257
|
+
{
|
|
258
|
+
"inputs": [
|
|
259
|
+
{
|
|
260
|
+
"internalType": "uint64",
|
|
261
|
+
"name": "_maxBatchSize",
|
|
262
|
+
"type": "uint64"
|
|
263
|
+
}
|
|
264
|
+
],
|
|
265
|
+
"name": "setMaxBatchSize",
|
|
266
|
+
"outputs": [],
|
|
267
|
+
"stateMutability": "nonpayable",
|
|
268
|
+
"type": "function"
|
|
269
|
+
},
|
|
270
|
+
{
|
|
271
|
+
"inputs": [
|
|
272
|
+
{
|
|
273
|
+
"components": [
|
|
274
|
+
{
|
|
275
|
+
"internalType": "uint32",
|
|
276
|
+
"name": "eid",
|
|
277
|
+
"type": "uint32"
|
|
278
|
+
},
|
|
279
|
+
{
|
|
280
|
+
"internalType": "bytes32",
|
|
281
|
+
"name": "preCrime",
|
|
282
|
+
"type": "bytes32"
|
|
283
|
+
},
|
|
284
|
+
{
|
|
285
|
+
"internalType": "bytes32",
|
|
286
|
+
"name": "oApp",
|
|
287
|
+
"type": "bytes32"
|
|
288
|
+
}
|
|
289
|
+
],
|
|
290
|
+
"internalType": "struct PreCrimePeer[]",
|
|
291
|
+
"name": "_preCrimePeers",
|
|
292
|
+
"type": "tuple[]"
|
|
293
|
+
}
|
|
294
|
+
],
|
|
295
|
+
"name": "setPreCrimePeers",
|
|
296
|
+
"outputs": [],
|
|
297
|
+
"stateMutability": "nonpayable",
|
|
298
|
+
"type": "function"
|
|
299
|
+
},
|
|
300
|
+
{
|
|
301
|
+
"inputs": [
|
|
302
|
+
{
|
|
303
|
+
"internalType": "bytes[]",
|
|
304
|
+
"name": "_packets",
|
|
305
|
+
"type": "bytes[]"
|
|
306
|
+
},
|
|
307
|
+
{
|
|
308
|
+
"internalType": "uint256[]",
|
|
309
|
+
"name": "_packetMsgValues",
|
|
310
|
+
"type": "uint256[]"
|
|
311
|
+
}
|
|
312
|
+
],
|
|
313
|
+
"name": "simulate",
|
|
314
|
+
"outputs": [
|
|
315
|
+
{
|
|
316
|
+
"internalType": "bytes",
|
|
317
|
+
"name": "",
|
|
318
|
+
"type": "bytes"
|
|
319
|
+
}
|
|
320
|
+
],
|
|
321
|
+
"stateMutability": "payable",
|
|
322
|
+
"type": "function"
|
|
323
|
+
},
|
|
324
|
+
{
|
|
325
|
+
"inputs": [],
|
|
326
|
+
"name": "simulator",
|
|
327
|
+
"outputs": [
|
|
328
|
+
{
|
|
329
|
+
"internalType": "address",
|
|
330
|
+
"name": "",
|
|
331
|
+
"type": "address"
|
|
332
|
+
}
|
|
333
|
+
],
|
|
334
|
+
"stateMutability": "view",
|
|
335
|
+
"type": "function"
|
|
336
|
+
},
|
|
337
|
+
{
|
|
338
|
+
"inputs": [
|
|
339
|
+
{
|
|
340
|
+
"internalType": "address",
|
|
341
|
+
"name": "newOwner",
|
|
342
|
+
"type": "address"
|
|
343
|
+
}
|
|
344
|
+
],
|
|
345
|
+
"name": "transferOwnership",
|
|
346
|
+
"outputs": [],
|
|
347
|
+
"stateMutability": "nonpayable",
|
|
348
|
+
"type": "function"
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"inputs": [],
|
|
352
|
+
"name": "version",
|
|
353
|
+
"outputs": [
|
|
354
|
+
{
|
|
355
|
+
"internalType": "uint64",
|
|
356
|
+
"name": "major",
|
|
357
|
+
"type": "uint64"
|
|
358
|
+
},
|
|
359
|
+
{
|
|
360
|
+
"internalType": "uint8",
|
|
361
|
+
"name": "minor",
|
|
362
|
+
"type": "uint8"
|
|
363
|
+
}
|
|
364
|
+
],
|
|
365
|
+
"stateMutability": "pure",
|
|
366
|
+
"type": "function"
|
|
367
|
+
}
|
|
368
|
+
],
|
|
369
|
+
"bytecode": "0x60e06040523480156200001157600080fd5b5060405162002d5a38038062002d5a83398101604081905262000034916200014a565b8282826200004233620000dd565b6200004d81620000dd565b6001600160a01b03808416608052821660a0819052604080516352ae287960e01b815290516352ae2879916004808201926020929091908290030181865afa1580156200009e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000c4919062000194565b6001600160a01b031660c05250620001b9945050505050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200014557600080fd5b919050565b6000806000606084860312156200016057600080fd5b6200016b846200012d565b92506200017b602085016200012d565b91506200018b604085016200012d565b90509250925092565b600060208284031215620001a757600080fd5b620001b2826200012d565b9392505050565b60805160a05160c051612b4e6200020c6000396000818161018d0152611b3201526000818161029f015281816105f0015281816111d9015261131b0152600081816119c60152611b700152612b4e6000f3fe6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd366004612058565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e6101693660046120f2565b610539565b60405161015291906121cc565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b506101026102663660046121f5565b610859565b34801561027757600080fd5b506102806108b4565b6040516101529190612212565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc3660046120f2565b610933565b3480156102ed57600080fd5b506101026102fc366004612271565b610bd0565b34801561030d57600080fd5b5061010261031c3660046122a7565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b961231c565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff8111156104005761040061231c565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b84811015610518573660008787848181106104565761045661234b565b9050602002810190610468919061237a565b909250905061047b6004600083856123df565b61048491612409565b60e01c8584815181106104995761049961234b565b63ffffffff909216602092830291909101909101526104bb81600481856123df565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050865187925086915081106105035761050361234b565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca81611314565b9695505050505050565b6105dc61147b565b6105e660006114fc565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d61231c565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad61234b565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190612451565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612451565b81525083838151811061081c5761081c61234b565b60209081029190910101525060010161068e565b50806040516020016108429190612212565b604051602081830303815290604052935050505090565b61086161147b565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b611571565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd908490839060200161246a565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b3061234b565b602002602001015160000151848381518110610b4e57610b4e61234b565b602002602001015160200151858481518110610b6c57610b6c61234b565b602002602001015160400151604051602001610b8b94939291906124b4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd861147b565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c89816114fc565b50565b610c9461147b565b610ca060016000611fae565b60005b81811015610cf7576001838383818110610cbf57610cbf61234b565b835460018101855560009485526020909420606090910292909201926003029091019050610ced828261251d565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d1761231c565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de061234b565b9050602002810190610df2919061237a565b91509150610e008282611838565b848481518110610e1257610e1261234b565b6020026020010181905250848381518110610e2f57610e2f61234b565b6020026020010151848481518110610e4957610e4961234b565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c83611571565b905060005b8151811015610efd576000828281518110610e9e57610e9e61234b565b6020026020010151600001519050610eb6848261196b565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a6119c2565b9050610f16828261196b565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e6119c2565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f8761234b565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac61234b565b6020026020010151806020019051810190610fc791906125e7565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff761234b565b6020026020010151905060008583815181106110155761101561234b565b602002602001015180602001905181019061103091906125e7565b9050600061103e8584611a58565b509050600061104d8388611a58565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561130d57600085828151811061118a5761118a61234b565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125991906126c4565b6112635750611305565b80515163ffffffff868116911614158061128257508051602001518414155b156112a3578051805160209091015190955093506112a08585611af5565b92505b6112ac83612715565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff1614611303576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b8660405160240161136a919061273c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516113f391906128a2565b60006040518083038185875af1925050503d8060008114611430576040519150601f19603f3d011682016040523d82523d6000602084013e611435565b606091505b509150915060006114468383611be4565b90506114506119c2565b816040516020016114629291906128be565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156115e95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611597565b5050505090506000835167ffffffffffffffff81111561160b5761160b61231c565b60405190808252806020026020018201604052801561167457816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116295790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117465760008682815181106116b8576116b861234b565b60200260200101516000015160000151905060006116d68683611d03565b9050600081121580156116f2575060006116f08684611d03565b125b1561173c578361170181612909565b9450508581815181106117165761171661234b565b60200260200101518585815181106117305761173061234b565b60200260200101819052505b505060010161169b565b506000811261183057600061175c826001612941565b90508067ffffffffffffffff8111156117775761177761231c565b6040519080825280602002602001820160405280156117e057816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117955790505b50945060005b8181101561182d578381815181106118005761180061234b565b602002602001015186828151811061181a5761181a61234b565b60209081029190910101526001016117e6565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806118a78585611d78565b63ffffffff1681526020016118bc8585611d9b565b81526020016118cb8585611db4565b67ffffffffffffffff16905281526118e38383611dd7565b63ffffffff1660208201526118f88383611de7565b73ffffffffffffffffffffffffffffffffffffffff16604082015261191d8383611df9565b606082015261192c8383611e09565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b83518110156119b6578263ffffffff168482815181106119915761199161234b565b602002602001015163ffffffff16036119ae5760019150506119bc565b60010161196f565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a539190612954565b905090565b60008060005b8451811015611ae5578363ffffffff16858281518110611a8057611a8061234b565b60200260200101516000015163ffffffff1603611add57848181518110611aa957611aa961234b565b602002602001015160200151858281518110611ac757611ac761234b565b6020026020010151604001519250925050611aee565b600101611a5e565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdd9190612971565b9392505050565b60608215611c4e576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611c788361298e565b7fffffffff000000000000000000000000000000000000000000000000000000001614611cd357816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c7791906121cc565b611ced6004808451611ce591906129da565b849190611e24565b905080806020019051810190611bdd91906129ed565b6000805b8351811015611d4f578263ffffffff16848281518110611d2957611d2961234b565b60200260200101516000015163ffffffff1603611d475790506119bc565b600101611d07565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611d88600d600984866123df565b611d9191612409565b60e01c9392505050565b6000611dab602d600d84866123df565b611bdd91612a96565b6000611dc46009600184866123df565b611dcd91612ad2565b60c01c9392505050565b6000611d886031602d84866123df565b6000611bdd611df68484611f9e565b90565b6000611dab6071605184866123df565b366000611e1983607181876123df565b915091509250929050565b606081611e3281601f612941565b1015611e9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611ea48284612941565b84511015611f0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f2d5760405191506000825260208201604052611f95565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611f66578051835260209283019201611f4e565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611dab6051603184866123df565b5080546000825560030290600052602060002090810190610c8991905b8082111561200f5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301611fcb565b5090565b60008083601f84011261202557600080fd5b50813567ffffffffffffffff81111561203d57600080fd5b6020830191508360208260051b8501011115611aee57600080fd5b6000806000806000806060878903121561207157600080fd5b863567ffffffffffffffff8082111561208957600080fd5b6120958a838b01612013565b909850965060208901359150808211156120ae57600080fd5b6120ba8a838b01612013565b909650945060408901359150808211156120d357600080fd5b506120e089828a01612013565b979a9699509497509295939492505050565b6000806000806040858703121561210857600080fd5b843567ffffffffffffffff8082111561212057600080fd5b61212c88838901612013565b9096509450602087013591508082111561214557600080fd5b5061215287828801612013565b95989497509550505050565b60005b83811015612179578181015183820152602001612161565b50506000910152565b6000815180845261219a81602086016020860161215e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bdd6020830184612182565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561220757600080fd5b8135611bdd816121df565b602080825282518282018190526000919060409081850190868401855b82811015612264578151805163ffffffff1685528681015187860152850151858501526060909301929085019060010161222f565b5091979650505050505050565b60006020828403121561228357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611bdd57600080fd5b600080602083850312156122ba57600080fd5b823567ffffffffffffffff808211156122d257600080fd5b818501915085601f8301126122e657600080fd5b8135818111156122f557600080fd5b86602060608302850101111561230a57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126123af57600080fd5b83018035915067ffffffffffffffff8211156123ca57600080fd5b602001915036819003821315611aee57600080fd5b600080858511156123ef57600080fd5b838611156123fc57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124495780818660040360031b1b83161692505b505092915050565b60006020828403121561246357600080fd5b5051919050565b6000835161247c81846020880161215e565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b600085516124c6818460208a0161215e565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b81356125288161250b565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125925761259261231c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156125df576125df61231c565b604052919050565b600060208083850312156125fa57600080fd5b825167ffffffffffffffff8082111561261257600080fd5b818501915085601f83011261262657600080fd5b8151818111156126385761263861231c565b612646848260051b01612598565b8181528481019250606091820284018501918883111561266557600080fd5b938501935b828510156126b85780858a0312156126825760008081fd5b61268a61256f565b85516126958161250b565b81528587015187820152604080870151908201528452938401939285019261266a565b50979650505050505050565b6000602082840312156126d657600080fd5b81518015158114611bdd57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818103612732576127326126e6565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015612894577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089840301855281516101406127c8858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606127df8188018363ffffffff169052565b89840151915060806128088189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e09061284c8289018473ffffffffffffffffffffffffffffffffffffffff169052565b8401516101008801849052915061286587840183612182565b93015186840361012088015292915061288090508183612182565b968901969450505090860190600101612765565b509098975050505050505050565b600082516128b481846020870161215e565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516128fb81600485016020870161215e565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293a5761293a6126e6565b5060010190565b808201808211156119bc576119bc6126e6565b60006020828403121561296657600080fd5b8151611bdd8161250b565b60006020828403121561298357600080fd5b8151611bdd816121df565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118305760049290920360031b82901b161692915050565b818103818111156119bc576119bc6126e6565b6000602082840312156129ff57600080fd5b815167ffffffffffffffff80821115612a1757600080fd5b818401915084601f830112612a2b57600080fd5b815181811115612a3d57612a3d61231c565b612a6e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612598565b9150808252856020828501011115612a8557600080fd5b611f9581602084016020860161215e565b803560208310156119bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124495760089490940360031b84901b169092169291505056fea2646970667358221220924f0b656799b5d011e54af23d5b5a25d2d515d40e1e2c491fe43db8d66603e464736f6c63430008160033",
|
|
370
|
+
"deployedBytecode": "0x6080604052600436106100dd5760003560e01c80638e9e70991161007f578063bf7b5d7a11610059578063bf7b5d7a1461028d578063f0cd3836146102c1578063f2fde38b146102e1578063f8bcddf61461030157600080fd5b80638e9e709914610236578063afea44ef1461024b578063b9a1f5e71461026b57600080fd5b806352ae2879116100bb57806352ae28791461017b57806354fd4d50146101d4578063715018a6146101f65780638da5cb5b1461020b57600080fd5b806310f9cf3a146100e25780632913daa01461010457806350dfa9371461015b575b600080fd5b3480156100ee57600080fd5b506101026100fd366004612058565b610321565b005b34801561011057600080fd5b5060005461013d9074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020015b60405180910390f35b61016e6101693660046120f2565b610539565b60405161015291906121cc565b34801561018757600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610152565b3480156101e057600080fd5b5060408051600281526000602082015201610152565b34801561020257600080fd5b506101026105d4565b34801561021757600080fd5b5060005473ffffffffffffffffffffffffffffffffffffffff166101af565b34801561024257600080fd5b5061016e6105e8565b34801561025757600080fd5b506101026102663660046121f5565b610859565b34801561027757600080fd5b506102806108b4565b6040516101529190612212565b34801561029957600080fd5b506101af7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102cd57600080fd5b5061016e6102dc3660046120f2565b610933565b3480156102ed57600080fd5b506101026102fc366004612271565b610bd0565b34801561030d57600080fd5b5061010261031c3660046122a7565b610c8c565b3361dead1461035c576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600061039c8787878780806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b905060008267ffffffffffffffff8111156103b9576103b961231c565b6040519080825280602002602001820160405280156103e2578160200160208202803683370190505b50905060008367ffffffffffffffff8111156104005761040061231c565b60405190808252806020026020018201604052801561043357816020015b606081526020019060019003908161041e5790505b50905060005b84811015610518573660008787848181106104565761045661234b565b9050602002810190610468919061237a565b909250905061047b6004600083856123df565b61048491612409565b60e01c8584815181106104995761049961234b565b63ffffffff909216602092830291909101909101526104bb81600481856123df565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050865187925086915081106105035761050361234b565b60209081029190910101525050600101610439565b506105238383610e6a565b61052e838383610f54565b505050505050505050565b60603361dead14610576576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60006105b68686868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b90506105c1816110d2565b6105ca81611314565b9695505050505050565b6105dc61147b565b6105e660006114fc565b565b6001546060907f000000000000000000000000000000000000000000000000000000000000000090819060009067ffffffffffffffff81111561062d5761062d61231c565b60405190808252806020026020018201604052801561068857816020015b6106756040518060600160405280600063ffffffff16815260200160008152602001600081525090565b81526020019060019003908161064b5790505b50905060005b600154811015610830576000600182815481106106ad576106ad61234b565b600091825260209182902060039190910201546040805160608101825263ffffffff90921680835290517f56a4728900000000000000000000000000000000000000000000000000000000815260048101829052909350909182019073ffffffffffffffffffffffffffffffffffffffff8716906356a4728990602401602060405180830381865afa158015610747573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076b9190612451565b81526040517f622f17f600000000000000000000000000000000000000000000000000000000815263ffffffff8416600482015260209091019073ffffffffffffffffffffffffffffffffffffffff87169063622f17f690602401602060405180830381865afa1580156107e3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108079190612451565b81525083838151811061081c5761081c61234b565b60209081029190910101525060010161068e565b50806040516020016108429190612212565b604051602081830303815290604052935050505090565b61086161147b565b6000805467ffffffffffffffff90921674010000000000000000000000000000000000000000027fffffffff0000000000000000ffffffffffffffffffffffffffffffffffffffff909216919091179055565b60606001805480602002602001604051908101604052809291908181526020016000905b8282101561092a5760008481526020908190206040805160608101825260038602909201805463ffffffff168352600180820154848601526002909101549183019190915290835290920191016108d8565b50505050905090565b60603361dead14610970576040517f9cbfe06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b600080546040517e0200000000000000000000000000000000000000000000000000000000000060208201527401000000000000000000000000000000000000000090910460c01b7fffffffffffffffff000000000000000000000000000000000000000000000000166022820152602a01604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060008515610a6557610a60610a5b8888888880806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250610cfc92505050565b611571565b610ade565b6001805480602002602001604051908101604052809291908181526020016000905b82821015610ad95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101610a87565b505050505b805190915015610bc6578051604051610afd908490839060200161246a565b604051602081830303815290604052925060005b8161ffff16811015610bc35783838281518110610b3057610b3061234b565b602002602001015160000151848381518110610b4e57610b4e61234b565b602002602001015160200151858481518110610b6c57610b6c61234b565b602002602001015160400151604051602001610b8b94939291906124b4565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190529350600101610b11565b50505b5095945050505050565b610bd861147b565b73ffffffffffffffffffffffffffffffffffffffff8116610c80576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f646472657373000000000000000000000000000000000000000000000000000060648201526084015b60405180910390fd5b610c89816114fc565b50565b610c9461147b565b610ca060016000611fae565b60005b81811015610cf7576001838383818110610cbf57610cbf61234b565b835460018101855560009485526020909420606090910292909201926003029091019050610ced828261251d565b5050600101610ca3565b505050565b60608267ffffffffffffffff811115610d1757610d1761231c565b604051908082528060200260200182016040528015610dbd57816020015b604080516101608101825260006101008201818152610120830182905261014083018290528252602080830182905292820181905260608083018290526080830182905260a083019190915260c0820181905260e082015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff909201910181610d355790505b50905060005b83811015610e6257366000868684818110610de057610de061234b565b9050602002810190610df2919061237a565b91509150610e008282611838565b848481518110610e1257610e1261234b565b6020026020010181905250848381518110610e2f57610e2f61234b565b6020026020010151848481518110610e4957610e4961234b565b6020908102919091010151608001525050600101610dc3565b509392505050565b815115610f00576000610e7c83611571565b905060005b8151811015610efd576000828281518110610e9e57610e9e61234b565b6020026020010151600001519050610eb6848261196b565b610ef4576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b50600101610e81565b50505b6000610f0a6119c2565b9050610f16828261196b565b610cf7576040517f01992f2a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610c77565b6000610f5e6119c2565b9050606060005b8451811015610fd6578263ffffffff16858281518110610f8757610f8761234b565b602002602001015163ffffffff1603610fce57838181518110610fac57610fac61234b565b6020026020010151806020019051810190610fc791906125e7565b9150610fd6565b600101610f65565b5060005b84518110156110ca576000858281518110610ff757610ff761234b565b6020026020010151905060008583815181106110155761101561234b565b602002602001015180602001905181019061103091906125e7565b9050600061103e8584611a58565b509050600061104d8388611a58565b915050808211156110ba576040517f1915975700000000000000000000000000000000000000000000000000000000815260206004820152601c60248201527f696e626f756e64436f756e74203e206f7574626f756e64436f756e74000000006044820152606401610c77565b505060019092019150610fda9050565b505050505050565b60005481517401000000000000000000000000000000000000000090910467ffffffffffffffff1610156111605760005481516040517f9db086050000000000000000000000000000000000000000000000000000000081527401000000000000000000000000000000000000000090920467ffffffffffffffff1660048301526024820152604401610c77565b805115610c895760008080805b845181101561130d57600085828151811061118a5761118a61234b565b602090810291909101810151805180519201516040517f5a0dfe4d00000000000000000000000000000000000000000000000000000000815263ffffffff9093166004840152602483015291507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1690635a0dfe4d90604401602060405180830381865afa158015611235573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061125991906126c4565b6112635750611305565b80515163ffffffff868116911614158061128257508051602001518414155b156112a3578051805160209091015190955093506112a08585611af5565b92505b6112ac83612715565b92508267ffffffffffffffff1681600001516040015167ffffffffffffffff1614611303576040517f50823c8500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505b60010161116d565b5050505050565b60606000807f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163463bd815db060e01b8660405160240161136a919061273c565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff000000000000000000000000000000000000000000000000000000009094169390931790925290516113f391906128a2565b60006040518083038185875af1925050503d8060008114611430576040519150601f19603f3d011682016040523d82523d6000602084013e611435565b606091505b509150915060006114468383611be4565b90506114506119c2565b816040516020016114629291906128be565b6040516020818303038152906040529350505050919050565b60005473ffffffffffffffffffffffffffffffffffffffff1633146105e6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c77565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b606060006001805480602002602001604051908101604052809291908181526020016000905b828210156115e95760008481526020908190206040805160608101825260038602909201805463ffffffff16835260018082015484860152600290910154918301919091529083529092019101611597565b5050505090506000835167ffffffffffffffff81111561160b5761160b61231c565b60405190808252806020026020018201604052801561167457816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816116295790505b5090507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60005b85518110156117465760008682815181106116b8576116b861234b565b60200260200101516000015160000151905060006116d68683611d03565b9050600081121580156116f2575060006116f08684611d03565b125b1561173c578361170181612909565b9450508581815181106117165761171661234b565b60200260200101518585815181106117305761173061234b565b60200260200101819052505b505060010161169b565b506000811261183057600061175c826001612941565b90508067ffffffffffffffff8111156117775761177761231c565b6040519080825280602002602001820160405280156117e057816020015b60408051606081018252600080825260208083018290529282015282527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9092019101816117955790505b50945060005b8181101561182d578381815181106118005761180061234b565b602002602001015186828151811061181a5761181a61234b565b60209081029190910101526001016117e6565b50505b505050919050565b6040805161016081018252600061010082018181526101208301829052610140830182905282526020820181905291810182905260608082018390526080820183905260a082019290925260c0810182905260e081019190915260405180606001604052806118a78585611d78565b63ffffffff1681526020016118bc8585611d9b565b81526020016118cb8585611db4565b67ffffffffffffffff16905281526118e38383611dd7565b63ffffffff1660208201526118f88383611de7565b73ffffffffffffffffffffffffffffffffffffffff16604082015261191d8383611df9565b606082015261192c8383611e09565b8080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525050505060c082015292915050565b6000805b83518110156119b6578263ffffffff168482815181106119915761199161234b565b602002602001015163ffffffff16036119ae5760019150506119bc565b60010161196f565b50600090505b92915050565b60007f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611a2f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a539190612954565b905090565b60008060005b8451811015611ae5578363ffffffff16858281518110611a8057611a8061234b565b60200260200101516000015163ffffffff1603611add57848181518110611aa957611aa961234b565b602002602001015160200151858281518110611ac757611ac761234b565b6020026020010151604001519250925050611aee565b600101611a5e565b50600080915091505b9250929050565b6040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000008116600483015263ffffffff84166024830152604482018390526000917f00000000000000000000000000000000000000000000000000000000000000009091169063a0dd43fc90606401602060405180830381865afa158015611bb9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bdd9190612971565b9392505050565b60608215611c4e576040517f614cbd8a00000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f2072657665727400000000000000000000000000000000000000000000006044820152606401610c77565b7f8351eea700000000000000000000000000000000000000000000000000000000611c788361298e565b7fffffffff000000000000000000000000000000000000000000000000000000001614611cd357816040517f614cbd8a000000000000000000000000000000000000000000000000000000008152600401610c7791906121cc565b611ced6004808451611ce591906129da565b849190611e24565b905080806020019051810190611bdd91906129ed565b6000805b8351811015611d4f578263ffffffff16848281518110611d2957611d2961234b565b60200260200101516000015163ffffffff1603611d475790506119bc565b600101611d07565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9392505050565b6000611d88600d600984866123df565b611d9191612409565b60e01c9392505050565b6000611dab602d600d84866123df565b611bdd91612a96565b6000611dc46009600184866123df565b611dcd91612ad2565b60c01c9392505050565b6000611d886031602d84866123df565b6000611bdd611df68484611f9e565b90565b6000611dab6071605184866123df565b366000611e1983607181876123df565b915091509250929050565b606081611e3281601f612941565b1015611e9a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f736c6963655f6f766572666c6f770000000000000000000000000000000000006044820152606401610c77565b611ea48284612941565b84511015611f0e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f736c6963655f6f75744f66426f756e64730000000000000000000000000000006044820152606401610c77565b606082158015611f2d5760405191506000825260208201604052611f95565b6040519150601f8416801560200281840101858101878315602002848b0101015b81831015611f66578051835260209283019201611f4e565b5050858452601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016604052505b50949350505050565b6000611dab6051603184866123df565b5080546000825560030290600052602060002090810190610c8991905b8082111561200f5780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001681556000600182018190556002820155600301611fcb565b5090565b60008083601f84011261202557600080fd5b50813567ffffffffffffffff81111561203d57600080fd5b6020830191508360208260051b8501011115611aee57600080fd5b6000806000806000806060878903121561207157600080fd5b863567ffffffffffffffff8082111561208957600080fd5b6120958a838b01612013565b909850965060208901359150808211156120ae57600080fd5b6120ba8a838b01612013565b909650945060408901359150808211156120d357600080fd5b506120e089828a01612013565b979a9699509497509295939492505050565b6000806000806040858703121561210857600080fd5b843567ffffffffffffffff8082111561212057600080fd5b61212c88838901612013565b9096509450602087013591508082111561214557600080fd5b5061215287828801612013565b95989497509550505050565b60005b83811015612179578181015183820152602001612161565b50506000910152565b6000815180845261219a81602086016020860161215e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b602081526000611bdd6020830184612182565b67ffffffffffffffff81168114610c8957600080fd5b60006020828403121561220757600080fd5b8135611bdd816121df565b602080825282518282018190526000919060409081850190868401855b82811015612264578151805163ffffffff1685528681015187860152850151858501526060909301929085019060010161222f565b5091979650505050505050565b60006020828403121561228357600080fd5b813573ffffffffffffffffffffffffffffffffffffffff81168114611bdd57600080fd5b600080602083850312156122ba57600080fd5b823567ffffffffffffffff808211156122d257600080fd5b818501915085601f8301126122e657600080fd5b8135818111156122f557600080fd5b86602060608302850101111561230a57600080fd5b60209290920196919550909350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126123af57600080fd5b83018035915067ffffffffffffffff8211156123ca57600080fd5b602001915036819003821315611aee57600080fd5b600080858511156123ef57600080fd5b838611156123fc57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156124495780818660040360031b1b83161692505b505092915050565b60006020828403121561246357600080fd5b5051919050565b6000835161247c81846020880161215e565b60f09390931b7fffff000000000000000000000000000000000000000000000000000000000000169190920190815260020192915050565b600085516124c6818460208a0161215e565b60e09590951b7fffffffff0000000000000000000000000000000000000000000000000000000016919094019081526004810192909252602482015260440192915050565b63ffffffff81168114610c8957600080fd5b81356125288161250b565b63ffffffff81167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000008354161782555060208201356001820155604082013560028201555050565b6040516060810167ffffffffffffffff811182821017156125925761259261231c565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156125df576125df61231c565b604052919050565b600060208083850312156125fa57600080fd5b825167ffffffffffffffff8082111561261257600080fd5b818501915085601f83011261262657600080fd5b8151818111156126385761263861231c565b612646848260051b01612598565b8181528481019250606091820284018501918883111561266557600080fd5b938501935b828510156126b85780858a0312156126825760008081fd5b61268a61256f565b85516126958161250b565b81528587015187820152604080870151908201528452938401939285019261266a565b50979650505050505050565b6000602082840312156126d657600080fd5b81518015158114611bdd57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600067ffffffffffffffff808316818103612732576127326126e6565b6001019392505050565b600060208083018184528085518083526040925060408601915060408160051b87010184880160005b83811015612894577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc089840301855281516101406127c8858351805163ffffffff1682526020808201519083015260409081015167ffffffffffffffff16910152565b8882015160606127df8188018363ffffffff169052565b89840151915060806128088189018473ffffffffffffffffffffffffffffffffffffffff169052565b9084015160a0888101919091529084015160c08089019190915290840151915060e09061284c8289018473ffffffffffffffffffffffffffffffffffffffff169052565b8401516101008801849052915061286587840183612182565b93015186840361012088015292915061288090508183612182565b968901969450505090860190600101612765565b509098975050505050505050565b600082516128b481846020870161215e565b9190910192915050565b7fffffffff000000000000000000000000000000000000000000000000000000008360e01b168152600082516128fb81600485016020870161215e565b919091016004019392505050565b60007f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361293a5761293a6126e6565b5060010190565b808201808211156119bc576119bc6126e6565b60006020828403121561296657600080fd5b8151611bdd8161250b565b60006020828403121561298357600080fd5b8151611bdd816121df565b6000815160208301517fffffffff00000000000000000000000000000000000000000000000000000000808216935060048310156118305760049290920360031b82901b161692915050565b818103818111156119bc576119bc6126e6565b6000602082840312156129ff57600080fd5b815167ffffffffffffffff80821115612a1757600080fd5b818401915084601f830112612a2b57600080fd5b815181811115612a3d57612a3d61231c565b612a6e60207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601612598565b9150808252856020828501011115612a8557600080fd5b611f9581602084016020860161215e565b803560208310156119bc577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156124495760089490940360031b84901b169092169291505056fea2646970667358221220924f0b656799b5d011e54af23d5b5a25d2d515d40e1e2c491fe43db8d66603e464736f6c63430008160033",
|
|
371
|
+
"linkReferences": {},
|
|
372
|
+
"deployedLinkReferences": {}
|
|
373
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IOAppComposer",
|
|
4
|
+
"sourceName": "contracts/oapp/interfaces/IOAppComposer.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [
|
|
8
|
+
{
|
|
9
|
+
"internalType": "address",
|
|
10
|
+
"name": "_from",
|
|
11
|
+
"type": "address"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"internalType": "bytes32",
|
|
15
|
+
"name": "_guid",
|
|
16
|
+
"type": "bytes32"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"internalType": "bytes",
|
|
20
|
+
"name": "_message",
|
|
21
|
+
"type": "bytes"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"internalType": "address",
|
|
25
|
+
"name": "_executor",
|
|
26
|
+
"type": "address"
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
"internalType": "bytes",
|
|
30
|
+
"name": "_extraData",
|
|
31
|
+
"type": "bytes"
|
|
32
|
+
}
|
|
33
|
+
],
|
|
34
|
+
"name": "lzCompose",
|
|
35
|
+
"outputs": [],
|
|
36
|
+
"stateMutability": "payable",
|
|
37
|
+
"type": "function"
|
|
38
|
+
}
|
|
39
|
+
],
|
|
40
|
+
"bytecode": "0x",
|
|
41
|
+
"deployedBytecode": "0x",
|
|
42
|
+
"linkReferences": {},
|
|
43
|
+
"deployedLinkReferences": {}
|
|
44
|
+
}
|
|
@@ -0,0 +1,143 @@
|
|
|
1
|
+
{
|
|
2
|
+
"_format": "hh-sol-artifact-1",
|
|
3
|
+
"contractName": "IOAppCore",
|
|
4
|
+
"sourceName": "contracts/oapp/interfaces/IOAppCore.sol",
|
|
5
|
+
"abi": [
|
|
6
|
+
{
|
|
7
|
+
"inputs": [],
|
|
8
|
+
"name": "InvalidEndpointCall",
|
|
9
|
+
"type": "error"
|
|
10
|
+
},
|
|
11
|
+
{
|
|
12
|
+
"inputs": [
|
|
13
|
+
{
|
|
14
|
+
"internalType": "uint32",
|
|
15
|
+
"name": "eid",
|
|
16
|
+
"type": "uint32"
|
|
17
|
+
}
|
|
18
|
+
],
|
|
19
|
+
"name": "NoPeer",
|
|
20
|
+
"type": "error"
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
"inputs": [
|
|
24
|
+
{
|
|
25
|
+
"internalType": "uint32",
|
|
26
|
+
"name": "eid",
|
|
27
|
+
"type": "uint32"
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"internalType": "bytes32",
|
|
31
|
+
"name": "sender",
|
|
32
|
+
"type": "bytes32"
|
|
33
|
+
}
|
|
34
|
+
],
|
|
35
|
+
"name": "OnlyPeer",
|
|
36
|
+
"type": "error"
|
|
37
|
+
},
|
|
38
|
+
{
|
|
39
|
+
"anonymous": false,
|
|
40
|
+
"inputs": [
|
|
41
|
+
{
|
|
42
|
+
"indexed": false,
|
|
43
|
+
"internalType": "uint32",
|
|
44
|
+
"name": "eid",
|
|
45
|
+
"type": "uint32"
|
|
46
|
+
},
|
|
47
|
+
{
|
|
48
|
+
"indexed": false,
|
|
49
|
+
"internalType": "bytes32",
|
|
50
|
+
"name": "peer",
|
|
51
|
+
"type": "bytes32"
|
|
52
|
+
}
|
|
53
|
+
],
|
|
54
|
+
"name": "PeerSet",
|
|
55
|
+
"type": "event"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"inputs": [],
|
|
59
|
+
"name": "endpoint",
|
|
60
|
+
"outputs": [
|
|
61
|
+
{
|
|
62
|
+
"internalType": "contract ILayerZeroEndpointV2",
|
|
63
|
+
"name": "iEndpoint",
|
|
64
|
+
"type": "address"
|
|
65
|
+
}
|
|
66
|
+
],
|
|
67
|
+
"stateMutability": "view",
|
|
68
|
+
"type": "function"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
"inputs": [],
|
|
72
|
+
"name": "oAppVersion",
|
|
73
|
+
"outputs": [
|
|
74
|
+
{
|
|
75
|
+
"internalType": "uint64",
|
|
76
|
+
"name": "senderVersion",
|
|
77
|
+
"type": "uint64"
|
|
78
|
+
},
|
|
79
|
+
{
|
|
80
|
+
"internalType": "uint64",
|
|
81
|
+
"name": "receiverVersion",
|
|
82
|
+
"type": "uint64"
|
|
83
|
+
}
|
|
84
|
+
],
|
|
85
|
+
"stateMutability": "view",
|
|
86
|
+
"type": "function"
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
"inputs": [
|
|
90
|
+
{
|
|
91
|
+
"internalType": "uint32",
|
|
92
|
+
"name": "_eid",
|
|
93
|
+
"type": "uint32"
|
|
94
|
+
}
|
|
95
|
+
],
|
|
96
|
+
"name": "peers",
|
|
97
|
+
"outputs": [
|
|
98
|
+
{
|
|
99
|
+
"internalType": "bytes32",
|
|
100
|
+
"name": "peer",
|
|
101
|
+
"type": "bytes32"
|
|
102
|
+
}
|
|
103
|
+
],
|
|
104
|
+
"stateMutability": "view",
|
|
105
|
+
"type": "function"
|
|
106
|
+
},
|
|
107
|
+
{
|
|
108
|
+
"inputs": [
|
|
109
|
+
{
|
|
110
|
+
"internalType": "address",
|
|
111
|
+
"name": "_delegate",
|
|
112
|
+
"type": "address"
|
|
113
|
+
}
|
|
114
|
+
],
|
|
115
|
+
"name": "setDelegate",
|
|
116
|
+
"outputs": [],
|
|
117
|
+
"stateMutability": "nonpayable",
|
|
118
|
+
"type": "function"
|
|
119
|
+
},
|
|
120
|
+
{
|
|
121
|
+
"inputs": [
|
|
122
|
+
{
|
|
123
|
+
"internalType": "uint32",
|
|
124
|
+
"name": "_eid",
|
|
125
|
+
"type": "uint32"
|
|
126
|
+
},
|
|
127
|
+
{
|
|
128
|
+
"internalType": "bytes32",
|
|
129
|
+
"name": "_peer",
|
|
130
|
+
"type": "bytes32"
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
"name": "setPeer",
|
|
134
|
+
"outputs": [],
|
|
135
|
+
"stateMutability": "nonpayable",
|
|
136
|
+
"type": "function"
|
|
137
|
+
}
|
|
138
|
+
],
|
|
139
|
+
"bytecode": "0x",
|
|
140
|
+
"deployedBytecode": "0x",
|
|
141
|
+
"linkReferences": {},
|
|
142
|
+
"deployedLinkReferences": {}
|
|
143
|
+
}
|