@layerzerolabs/lz-evm-sdk-v2 2.0.21 → 2.0.22

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.
Files changed (28) hide show
  1. package/deployments/joc-testnet/DVN.json +1929 -0
  2. package/deployments/joc-testnet/DVNFeeLib.json +398 -0
  3. package/deployments/joc-testnet/DefaultProxyAdmin.json +258 -0
  4. package/deployments/joc-testnet/EndpointV2.json +3000 -0
  5. package/deployments/joc-testnet/EndpointV2View.json +435 -0
  6. package/deployments/joc-testnet/EndpointV2View_Implementation.json +313 -0
  7. package/deployments/joc-testnet/EndpointV2View_Proxy.json +230 -0
  8. package/deployments/joc-testnet/Executor.json +1532 -0
  9. package/deployments/joc-testnet/ExecutorFeeLib.json +423 -0
  10. package/deployments/joc-testnet/ExecutorProxyAdmin.json +283 -0
  11. package/deployments/joc-testnet/Executor_Implementation.json +1591 -0
  12. package/deployments/joc-testnet/Executor_Proxy.json +365 -0
  13. package/deployments/joc-testnet/LzExecutor.json +757 -0
  14. package/deployments/joc-testnet/LzExecutor_Implementation.json +703 -0
  15. package/deployments/joc-testnet/LzExecutor_Proxy.json +244 -0
  16. package/deployments/joc-testnet/ReceiveUln301.json +1292 -0
  17. package/deployments/joc-testnet/ReceiveUln301View.json +354 -0
  18. package/deployments/joc-testnet/ReceiveUln301View_Implementation.json +231 -0
  19. package/deployments/joc-testnet/ReceiveUln301View_Proxy.json +230 -0
  20. package/deployments/joc-testnet/ReceiveUln302.json +1006 -0
  21. package/deployments/joc-testnet/ReceiveUln302View.json +478 -0
  22. package/deployments/joc-testnet/ReceiveUln302View_Implementation.json +384 -0
  23. package/deployments/joc-testnet/ReceiveUln302View_Proxy.json +230 -0
  24. package/deployments/joc-testnet/SendUln301.json +1569 -0
  25. package/deployments/joc-testnet/SendUln302.json +1527 -0
  26. package/deployments/joc-testnet/Treasury.json +412 -0
  27. package/deployments/joc-testnet/TreasuryFeeHandler.json +125 -0
  28. package/package.json +8 -8
@@ -0,0 +1,703 @@
1
+ {
2
+ "address": "0x9A289B849b32FF69A95F8584a03343a33Ff6e5Fd",
3
+ "abi": [
4
+ {
5
+ "inputs": [],
6
+ "name": "LzExecutor_Executed",
7
+ "type": "error"
8
+ },
9
+ {
10
+ "inputs": [],
11
+ "name": "LzExecutor_ReceiveLibViewNotSet",
12
+ "type": "error"
13
+ },
14
+ {
15
+ "inputs": [],
16
+ "name": "LzExecutor_Verifying",
17
+ "type": "error"
18
+ },
19
+ {
20
+ "inputs": [
21
+ {
22
+ "internalType": "address",
23
+ "name": "_to",
24
+ "type": "address"
25
+ },
26
+ {
27
+ "internalType": "uint256",
28
+ "name": "_value",
29
+ "type": "uint256"
30
+ }
31
+ ],
32
+ "name": "Transfer_NativeFailed",
33
+ "type": "error"
34
+ },
35
+ {
36
+ "inputs": [],
37
+ "name": "Transfer_ToAddressIsZero",
38
+ "type": "error"
39
+ },
40
+ {
41
+ "anonymous": false,
42
+ "inputs": [
43
+ {
44
+ "indexed": false,
45
+ "internalType": "uint8",
46
+ "name": "version",
47
+ "type": "uint8"
48
+ }
49
+ ],
50
+ "name": "Initialized",
51
+ "type": "event"
52
+ },
53
+ {
54
+ "anonymous": false,
55
+ "inputs": [
56
+ {
57
+ "indexed": false,
58
+ "internalType": "address",
59
+ "name": "_to",
60
+ "type": "address"
61
+ },
62
+ {
63
+ "indexed": false,
64
+ "internalType": "uint256",
65
+ "name": "_amount",
66
+ "type": "uint256"
67
+ }
68
+ ],
69
+ "name": "NativeWithdrawn",
70
+ "type": "event"
71
+ },
72
+ {
73
+ "anonymous": false,
74
+ "inputs": [
75
+ {
76
+ "indexed": true,
77
+ "internalType": "address",
78
+ "name": "previousOwner",
79
+ "type": "address"
80
+ },
81
+ {
82
+ "indexed": true,
83
+ "internalType": "address",
84
+ "name": "newOwner",
85
+ "type": "address"
86
+ }
87
+ ],
88
+ "name": "OwnershipTransferred",
89
+ "type": "event"
90
+ },
91
+ {
92
+ "anonymous": false,
93
+ "inputs": [
94
+ {
95
+ "indexed": false,
96
+ "internalType": "address",
97
+ "name": "_receiveLib",
98
+ "type": "address"
99
+ },
100
+ {
101
+ "indexed": false,
102
+ "internalType": "address",
103
+ "name": "_receiveLibView",
104
+ "type": "address"
105
+ }
106
+ ],
107
+ "name": "ReceiveLibViewSet",
108
+ "type": "event"
109
+ },
110
+ {
111
+ "inputs": [],
112
+ "name": "EMPTY_PAYLOAD_HASH",
113
+ "outputs": [
114
+ {
115
+ "internalType": "bytes32",
116
+ "name": "",
117
+ "type": "bytes32"
118
+ }
119
+ ],
120
+ "stateMutability": "view",
121
+ "type": "function"
122
+ },
123
+ {
124
+ "inputs": [],
125
+ "name": "NIL_PAYLOAD_HASH",
126
+ "outputs": [
127
+ {
128
+ "internalType": "bytes32",
129
+ "name": "",
130
+ "type": "bytes32"
131
+ }
132
+ ],
133
+ "stateMutability": "view",
134
+ "type": "function"
135
+ },
136
+ {
137
+ "inputs": [
138
+ {
139
+ "internalType": "address",
140
+ "name": "_receiveLib",
141
+ "type": "address"
142
+ },
143
+ {
144
+ "components": [
145
+ {
146
+ "components": [
147
+ {
148
+ "internalType": "uint32",
149
+ "name": "srcEid",
150
+ "type": "uint32"
151
+ },
152
+ {
153
+ "internalType": "bytes32",
154
+ "name": "sender",
155
+ "type": "bytes32"
156
+ },
157
+ {
158
+ "internalType": "uint64",
159
+ "name": "nonce",
160
+ "type": "uint64"
161
+ }
162
+ ],
163
+ "internalType": "struct Origin",
164
+ "name": "origin",
165
+ "type": "tuple"
166
+ },
167
+ {
168
+ "internalType": "address",
169
+ "name": "receiver",
170
+ "type": "address"
171
+ },
172
+ {
173
+ "internalType": "bytes32",
174
+ "name": "guid",
175
+ "type": "bytes32"
176
+ },
177
+ {
178
+ "internalType": "bytes",
179
+ "name": "message",
180
+ "type": "bytes"
181
+ },
182
+ {
183
+ "internalType": "bytes",
184
+ "name": "extraData",
185
+ "type": "bytes"
186
+ },
187
+ {
188
+ "internalType": "uint256",
189
+ "name": "gas",
190
+ "type": "uint256"
191
+ },
192
+ {
193
+ "internalType": "uint256",
194
+ "name": "value",
195
+ "type": "uint256"
196
+ }
197
+ ],
198
+ "internalType": "struct LzReceiveParam",
199
+ "name": "_lzReceiveParam",
200
+ "type": "tuple"
201
+ },
202
+ {
203
+ "components": [
204
+ {
205
+ "internalType": "address",
206
+ "name": "_receiver",
207
+ "type": "address"
208
+ },
209
+ {
210
+ "internalType": "uint256",
211
+ "name": "_amount",
212
+ "type": "uint256"
213
+ }
214
+ ],
215
+ "internalType": "struct NativeDropParam[]",
216
+ "name": "_nativeDropParams",
217
+ "type": "tuple[]"
218
+ }
219
+ ],
220
+ "name": "commitAndExecute",
221
+ "outputs": [],
222
+ "stateMutability": "payable",
223
+ "type": "function"
224
+ },
225
+ {
226
+ "inputs": [],
227
+ "name": "endpoint",
228
+ "outputs": [
229
+ {
230
+ "internalType": "contract ILayerZeroEndpointV2",
231
+ "name": "",
232
+ "type": "address"
233
+ }
234
+ ],
235
+ "stateMutability": "view",
236
+ "type": "function"
237
+ },
238
+ {
239
+ "inputs": [
240
+ {
241
+ "components": [
242
+ {
243
+ "internalType": "uint32",
244
+ "name": "srcEid",
245
+ "type": "uint32"
246
+ },
247
+ {
248
+ "internalType": "bytes32",
249
+ "name": "sender",
250
+ "type": "bytes32"
251
+ },
252
+ {
253
+ "internalType": "uint64",
254
+ "name": "nonce",
255
+ "type": "uint64"
256
+ }
257
+ ],
258
+ "internalType": "struct Origin",
259
+ "name": "_origin",
260
+ "type": "tuple"
261
+ },
262
+ {
263
+ "internalType": "address",
264
+ "name": "_receiver",
265
+ "type": "address"
266
+ }
267
+ ],
268
+ "name": "executable",
269
+ "outputs": [
270
+ {
271
+ "internalType": "enum ExecutionState",
272
+ "name": "",
273
+ "type": "uint8"
274
+ }
275
+ ],
276
+ "stateMutability": "view",
277
+ "type": "function"
278
+ },
279
+ {
280
+ "inputs": [
281
+ {
282
+ "components": [
283
+ {
284
+ "internalType": "uint32",
285
+ "name": "srcEid",
286
+ "type": "uint32"
287
+ },
288
+ {
289
+ "internalType": "bytes32",
290
+ "name": "sender",
291
+ "type": "bytes32"
292
+ },
293
+ {
294
+ "internalType": "uint64",
295
+ "name": "nonce",
296
+ "type": "uint64"
297
+ }
298
+ ],
299
+ "internalType": "struct Origin",
300
+ "name": "_origin",
301
+ "type": "tuple"
302
+ },
303
+ {
304
+ "internalType": "address",
305
+ "name": "_receiver",
306
+ "type": "address"
307
+ }
308
+ ],
309
+ "name": "initializable",
310
+ "outputs": [
311
+ {
312
+ "internalType": "bool",
313
+ "name": "",
314
+ "type": "bool"
315
+ }
316
+ ],
317
+ "stateMutability": "view",
318
+ "type": "function"
319
+ },
320
+ {
321
+ "inputs": [
322
+ {
323
+ "internalType": "address",
324
+ "name": "_receiveUln302",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "internalType": "address",
329
+ "name": "_receiveUln302View",
330
+ "type": "address"
331
+ },
332
+ {
333
+ "internalType": "address",
334
+ "name": "_endpoint",
335
+ "type": "address"
336
+ }
337
+ ],
338
+ "name": "initialize",
339
+ "outputs": [],
340
+ "stateMutability": "nonpayable",
341
+ "type": "function"
342
+ },
343
+ {
344
+ "inputs": [],
345
+ "name": "localEid",
346
+ "outputs": [
347
+ {
348
+ "internalType": "uint32",
349
+ "name": "",
350
+ "type": "uint32"
351
+ }
352
+ ],
353
+ "stateMutability": "view",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "inputs": [],
358
+ "name": "owner",
359
+ "outputs": [
360
+ {
361
+ "internalType": "address",
362
+ "name": "",
363
+ "type": "address"
364
+ }
365
+ ],
366
+ "stateMutability": "view",
367
+ "type": "function"
368
+ },
369
+ {
370
+ "inputs": [
371
+ {
372
+ "internalType": "address",
373
+ "name": "receiveLib",
374
+ "type": "address"
375
+ }
376
+ ],
377
+ "name": "receiveLibToView",
378
+ "outputs": [
379
+ {
380
+ "internalType": "address",
381
+ "name": "receiveLibView",
382
+ "type": "address"
383
+ }
384
+ ],
385
+ "stateMutability": "view",
386
+ "type": "function"
387
+ },
388
+ {
389
+ "inputs": [],
390
+ "name": "receiveUln302",
391
+ "outputs": [
392
+ {
393
+ "internalType": "address",
394
+ "name": "",
395
+ "type": "address"
396
+ }
397
+ ],
398
+ "stateMutability": "view",
399
+ "type": "function"
400
+ },
401
+ {
402
+ "inputs": [],
403
+ "name": "renounceOwnership",
404
+ "outputs": [],
405
+ "stateMutability": "nonpayable",
406
+ "type": "function"
407
+ },
408
+ {
409
+ "inputs": [
410
+ {
411
+ "internalType": "address",
412
+ "name": "_receiveLib",
413
+ "type": "address"
414
+ },
415
+ {
416
+ "internalType": "address",
417
+ "name": "_receiveLibView",
418
+ "type": "address"
419
+ }
420
+ ],
421
+ "name": "setReceiveLibView",
422
+ "outputs": [],
423
+ "stateMutability": "nonpayable",
424
+ "type": "function"
425
+ },
426
+ {
427
+ "inputs": [
428
+ {
429
+ "internalType": "address",
430
+ "name": "newOwner",
431
+ "type": "address"
432
+ }
433
+ ],
434
+ "name": "transferOwnership",
435
+ "outputs": [],
436
+ "stateMutability": "nonpayable",
437
+ "type": "function"
438
+ },
439
+ {
440
+ "inputs": [
441
+ {
442
+ "components": [
443
+ {
444
+ "internalType": "uint32",
445
+ "name": "srcEid",
446
+ "type": "uint32"
447
+ },
448
+ {
449
+ "internalType": "bytes32",
450
+ "name": "sender",
451
+ "type": "bytes32"
452
+ },
453
+ {
454
+ "internalType": "uint64",
455
+ "name": "nonce",
456
+ "type": "uint64"
457
+ }
458
+ ],
459
+ "internalType": "struct Origin",
460
+ "name": "_origin",
461
+ "type": "tuple"
462
+ },
463
+ {
464
+ "internalType": "address",
465
+ "name": "_receiver",
466
+ "type": "address"
467
+ },
468
+ {
469
+ "internalType": "address",
470
+ "name": "_receiveLib",
471
+ "type": "address"
472
+ },
473
+ {
474
+ "internalType": "bytes32",
475
+ "name": "_payloadHash",
476
+ "type": "bytes32"
477
+ }
478
+ ],
479
+ "name": "verifiable",
480
+ "outputs": [
481
+ {
482
+ "internalType": "bool",
483
+ "name": "",
484
+ "type": "bool"
485
+ }
486
+ ],
487
+ "stateMutability": "view",
488
+ "type": "function"
489
+ },
490
+ {
491
+ "inputs": [
492
+ {
493
+ "internalType": "address",
494
+ "name": "_to",
495
+ "type": "address"
496
+ },
497
+ {
498
+ "internalType": "uint256",
499
+ "name": "_amount",
500
+ "type": "uint256"
501
+ }
502
+ ],
503
+ "name": "withdrawNative",
504
+ "outputs": [],
505
+ "stateMutability": "nonpayable",
506
+ "type": "function"
507
+ }
508
+ ],
509
+ "transactionHash": "0xaa3ef22b25e79559d94dab8a5a30375928c18f5adf10b4960b88985b877c3191",
510
+ "receipt": {
511
+ "to": null,
512
+ "from": "0xc13b65f7c53Cd6db2EA205a4b574b4a0858720A6",
513
+ "contractAddress": "0x9A289B849b32FF69A95F8584a03343a33Ff6e5Fd",
514
+ "transactionIndex": 0,
515
+ "gasUsed": "1754395",
516
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
517
+ "blockHash": "0x825b0d088c43e804e5fca17542db834ab8020dd7183e343a84026daf19994154",
518
+ "transactionHash": "0xaa3ef22b25e79559d94dab8a5a30375928c18f5adf10b4960b88985b877c3191",
519
+ "logs": [],
520
+ "blockNumber": 2936552,
521
+ "cumulativeGasUsed": "1754395",
522
+ "status": 1,
523
+ "byzantium": true
524
+ },
525
+ "args": [],
526
+ "numDeployments": 1,
527
+ "solcInputHash": "c1348614bdca535ead27abf9de3062c9",
528
+ "bytecode": "0x608060405234801561001057600080fd5b50611f00806100206000396000f3fe6080604052600436106100f35760003560e01c8063861e1ca51161008a578063d73d37c611610059578063d73d37c61461033f578063dcfdeb601461035f578063e1e3a7df14610372578063f2fde38b1461039257600080fd5b8063861e1ca5146102af5780638da5cb5b146102df578063c0c53b8b1461030a578063cb5026b91461032a57600080fd5b80636f178835116100c65780636f178835146101e0578063715018a6146102235780637260753714610238578063843c7b0e1461028257600080fd5b806307b18bde146100f85780632baf0be71461011a5780634b4b2efb146101615780635e280f111461018e575b600080fd5b34801561010457600080fd5b506101186101133660046118cb565b6103b2565b005b34801561012657600080fd5b5061014e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c3660046119b1565b610418565b6040516101589190611a14565b34801561019a57600080fd5b506065546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b3480156101ec57600080fd5b506101bb6101fb366004611a55565b60986020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b50610118610713565b34801561024457600080fd5b5060975461026d9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610158565b34801561028e57600080fd5b506097546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102bb57600080fd5b506102cf6102ca3660046119b1565b610727565b6040519015158152602001610158565b3480156102eb57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101bb565b34801561031657600080fd5b50610118610325366004611a70565b6107ee565b34801561033657600080fd5b5061014e600081565b34801561034b57600080fd5b5061011861035a366004611ab3565b610b9d565b61011861036d366004611add565b610c2e565b34801561037e57600080fd5b506102cf61038d366004611b8b565b61118c565b34801561039e57600080fd5b506101186103ad366004611a55565b61132b565b6103ba6113e2565b6103c48282611463565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527fc303ca808382409472acbbf899c316cf439f409f6584aae22df86dfa3c9ed50491015b60405180910390a15050565b6065548251602084015160408086015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff1660648201526000928392169063c9fc7bcd90608401602060405180830381865afa1580156104bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611bd7565b9050801580156105b55750606554845160208601516040517f5b17bb7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff90931660248201526044810191909152911690635b17bb7090606401602060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105999190611bf0565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156105c457600391505061070d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81148015906106ba5750606554845160208601516040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff9093166024820152604481019190915291169063a0dd43fc90606401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611bf0565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156106c957600291505061070d565b80158015906106f857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114155b1561070757600191505061070d565b60009150505b92915050565b61071b6113e2565b610725600061156e565b565b606554604080517f861e1ca5000000000000000000000000000000000000000000000000000000008152845163ffffffff166004820152602085015160248201529084015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff8381166064830152600092169063861e1ca590608401602060405180830381865afa1580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e79190611c0d565b9392505050565b60006108187fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166108715773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610893565b3373ffffffffffffffffffffffffffffffffffffffff82161461089357600080fd5b600054610100900460ff16158080156108b35750600054600160ff909116105b806108cd5750303b1580156108cd575060005460ff166001145b61095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109bc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c46115e5565b6109cd83611684565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691909117909155606554604080517f416ecebf0000000000000000000000000000000000000000000000000000000081529051919092169163416ecebf9160048083019260209291908290030181865afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190611c2f565b609780547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905573ffffffffffffffffffffffffffffffffffffffff858116600090815260986020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169186169190911790558015610b9657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610ba56113e2565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526098602090815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905581519283528201929092527f142c46535a86ac791981f3f16bdfd58291f3f03fc3fd111646f3f0e4eb326b63910161040c565b6000610c52610c4236869003860186611c4c565b61017c6080870160608801611a55565b90506003816003811115610c6857610c686119e5565b03610c9f576040517f3fd387de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816003811115610cb357610cb36119e5565b1461108a5760975460009073ffffffffffffffffffffffffffffffffffffffff1615610cf75760975473ffffffffffffffffffffffffffffffffffffffff16610cf9565b855b905060006001610d0f6060880160408901611c68565b610d1c6020890189611c85565b60975460208a01359074010000000000000000000000000000000000000000900463ffffffff16610d5360808c0160608d01611a55565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060006080870135610e5160a0890189611ca2565b604051602001610e6393929190611d0e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012073ffffffffffffffffffffffffffffffffffffffff8087166000908152609890945291909220549192501680610efb576040517f1bbb68a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27d12cd900000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906327d12cd990610f529087908790600401611d28565b602060405180830381865afa158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190611d9b565b90506001816003811115610fa957610fa96119e5565b03611039576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861690630894edf1906110029087908790600401611d28565b600060405180830381600087803b15801561101c57600080fd5b505af1158015611030573d6000803e3d6000fd5b50505050611084565b600081600381111561104d5761104d6119e5565b03611084576040517f0dea846600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505b60005b828110156110d657368484838181106110a8576110a8611dbc565b6040029190910191506110cd90506110c36020830183611a55565b8260200135611463565b5060010161108d565b5060655473ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e0860135610100870135876111116080820160608301611a55565b60808a013561112360a08c018c611ca2565b61113060c08e018e611ca2565b6040518a63ffffffff1660e01b81526004016111529796959493929190611e34565b6000604051808303818589803b15801561116b57600080fd5b5088f115801561117f573d6000803e3d6000fd5b5050505050505050505050565b60655484516040517f9d7f977500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff909216602482015284821660448201526000929190911690639d7f977590606401602060405180830381865afa158015611217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123b9190611c0d565b61124757506000611323565b606554604080517fc9a54a99000000000000000000000000000000000000000000000000000000008152875163ffffffff166004820152602088015160248201529087015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff86811660648301529091169063c9a54a9990608401602060405180830381865afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113069190611c0d565b61131257506000611323565b8161131f57506000611323565b5060015b949350505050565b6113336113e2565b73ffffffffffffffffffffffffffffffffffffffff81166113d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610955565b6113df8161156e565b50565b60335473ffffffffffffffffffffffffffffffffffffffff163314610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610955565b73ffffffffffffffffffffffffffffffffffffffff82166114b0576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461150a576040519150601f19603f3d011682016040523d82523d6000602084013e61150f565b606091505b5050905080611569576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610955565b505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b610725611724565b600054610100900460ff1661171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b6113df816117c4565b600054610100900460ff166117bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b6107253361156e565b600054610100900460ff1661185b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff811681146118c657600080fd5b919050565b600080604083850312156118de57600080fd5b6118e7836118a2565b946020939093013593505050565b63ffffffff811681146113df57600080fd5b67ffffffffffffffff811681146113df57600080fd5b60006060828403121561192f57600080fd5b6040516060810181811067ffffffffffffffff82111715611979577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052905080823561198a816118f5565b81526020838101359082015260408301356119a481611907565b6040919091015292915050565b600080608083850312156119c457600080fd5b6119ce848461191d565b91506119dc606084016118a2565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160048310611a4f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208284031215611a6757600080fd5b6107e7826118a2565b600080600060608486031215611a8557600080fd5b611a8e846118a2565b9250611a9c602085016118a2565b9150611aaa604085016118a2565b90509250925092565b60008060408385031215611ac657600080fd5b611acf836118a2565b91506119dc602084016118a2565b60008060008060608587031215611af357600080fd5b611afc856118a2565b9350602085013567ffffffffffffffff80821115611b1957600080fd5b908601906101208289031215611b2e57600080fd5b90935060408601359080821115611b4457600080fd5b818701915087601f830112611b5857600080fd5b813581811115611b6757600080fd5b8860208260061b8501011115611b7c57600080fd5b95989497505060200194505050565b60008060008060c08587031215611ba157600080fd5b611bab868661191d565b9350611bb9606086016118a2565b9250611bc7608086016118a2565b9396929550929360a00135925050565b600060208284031215611be957600080fd5b5051919050565b600060208284031215611c0257600080fd5b81516107e781611907565b600060208284031215611c1f57600080fd5b815180151581146107e757600080fd5b600060208284031215611c4157600080fd5b81516107e7816118f5565b600060608284031215611c5e57600080fd5b6107e7838361191d565b600060208284031215611c7a57600080fd5b81356107e781611907565b600060208284031215611c9757600080fd5b81356107e7816118f5565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cd757600080fd5b83018035915067ffffffffffffffff821115611cf257600080fd5b602001915036819003821315611d0757600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015611d565760208187018101516060868401015201611d39565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b600060208284031215611dad57600080fd5b8151600481106107e757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008835611e41816118f5565b63ffffffff168252602089810135908301526040890135611e6181611907565b67ffffffffffffffff811660408401525073ffffffffffffffffffffffffffffffffffffffff8816606083015286608083015260e060a0830152611ea960e083018688611deb565b82810360c0840152611ebc818587611deb565b9a995050505050505050505056fea2646970667358221220401a0747b9f9987e32c5ff7df75305673972639d572bb21b025f755a56dad1c164736f6c63430008160033",
529
+ "deployedBytecode": "0x6080604052600436106100f35760003560e01c8063861e1ca51161008a578063d73d37c611610059578063d73d37c61461033f578063dcfdeb601461035f578063e1e3a7df14610372578063f2fde38b1461039257600080fd5b8063861e1ca5146102af5780638da5cb5b146102df578063c0c53b8b1461030a578063cb5026b91461032a57600080fd5b80636f178835116100c65780636f178835146101e0578063715018a6146102235780637260753714610238578063843c7b0e1461028257600080fd5b806307b18bde146100f85780632baf0be71461011a5780634b4b2efb146101615780635e280f111461018e575b600080fd5b34801561010457600080fd5b506101186101133660046118cb565b6103b2565b005b34801561012657600080fd5b5061014e7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81565b6040519081526020015b60405180910390f35b34801561016d57600080fd5b5061018161017c3660046119b1565b610418565b6040516101589190611a14565b34801561019a57600080fd5b506065546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610158565b3480156101ec57600080fd5b506101bb6101fb366004611a55565b60986020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b34801561022f57600080fd5b50610118610713565b34801561024457600080fd5b5060975461026d9074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610158565b34801561028e57600080fd5b506097546101bb9073ffffffffffffffffffffffffffffffffffffffff1681565b3480156102bb57600080fd5b506102cf6102ca3660046119b1565b610727565b6040519015158152602001610158565b3480156102eb57600080fd5b5060335473ffffffffffffffffffffffffffffffffffffffff166101bb565b34801561031657600080fd5b50610118610325366004611a70565b6107ee565b34801561033657600080fd5b5061014e600081565b34801561034b57600080fd5b5061011861035a366004611ab3565b610b9d565b61011861036d366004611add565b610c2e565b34801561037e57600080fd5b506102cf61038d366004611b8b565b61118c565b34801561039e57600080fd5b506101186103ad366004611a55565b61132b565b6103ba6113e2565b6103c48282611463565b6040805173ffffffffffffffffffffffffffffffffffffffff84168152602081018390527fc303ca808382409472acbbf899c316cf439f409f6584aae22df86dfa3c9ed50491015b60405180910390a15050565b6065548251602084015160408086015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff1660648201526000928392169063c9fc7bcd90608401602060405180830381865afa1580156104bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104df9190611bd7565b9050801580156105b55750606554845160208601516040517f5b17bb7000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff90931660248201526044810191909152911690635b17bb7090606401602060405180830381865afa158015610575573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105999190611bf0565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156105c457600391505061070d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81148015906106ba5750606554845160208601516040517fa0dd43fc00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff878116600483015263ffffffff9093166024820152604481019190915291169063a0dd43fc90606401602060405180830381865afa15801561067a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061069e9190611bf0565b67ffffffffffffffff16846040015167ffffffffffffffff1611155b156106c957600291505061070d565b80158015906106f857507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114155b1561070757600191505061070d565b60009150505b92915050565b61071b6113e2565b610725600061156e565b565b606554604080517f861e1ca5000000000000000000000000000000000000000000000000000000008152845163ffffffff166004820152602085015160248201529084015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff8381166064830152600092169063861e1ca590608401602060405180830381865afa1580156107c3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e79190611c0d565b9392505050565b60006108187fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166108715773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610893565b3373ffffffffffffffffffffffffffffffffffffffff82161461089357600080fd5b600054610100900460ff16158080156108b35750600054600160ff909116105b806108cd5750303b1580156108cd575060005460ff166001145b61095e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109bc57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109c46115e5565b6109cd83611684565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff87811691909117909155606554604080517f416ecebf0000000000000000000000000000000000000000000000000000000081529051919092169163416ecebf9160048083019260209291908290030181865afa158015610a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a919190611c2f565b609780547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905573ffffffffffffffffffffffffffffffffffffffff858116600090815260986020526040902080547fffffffffffffffffffffffff0000000000000000000000000000000000000000169186169190911790558015610b9657600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050565b610ba56113e2565b73ffffffffffffffffffffffffffffffffffffffff82811660008181526098602090815260409182902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016948616948517905581519283528201929092527f142c46535a86ac791981f3f16bdfd58291f3f03fc3fd111646f3f0e4eb326b63910161040c565b6000610c52610c4236869003860186611c4c565b61017c6080870160608801611a55565b90506003816003811115610c6857610c686119e5565b03610c9f576040517f3fd387de00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002816003811115610cb357610cb36119e5565b1461108a5760975460009073ffffffffffffffffffffffffffffffffffffffff1615610cf75760975473ffffffffffffffffffffffffffffffffffffffff16610cf9565b855b905060006001610d0f6060880160408901611c68565b610d1c6020890189611c85565b60975460208a01359074010000000000000000000000000000000000000000900463ffffffff16610d5360808c0160608d01611a55565b60405160f89690961b7fff0000000000000000000000000000000000000000000000000000000000000016602087015260c09490941b7fffffffffffffffff00000000000000000000000000000000000000000000000016602186015260e092831b7fffffffff000000000000000000000000000000000000000000000000000000009081166029870152602d86019290925290911b16604d83015273ffffffffffffffffffffffffffffffffffffffff166051820152607101604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152919052905060006080870135610e5160a0890189611ca2565b604051602001610e6393929190611d0e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152918152815160209283012073ffffffffffffffffffffffffffffffffffffffff8087166000908152609890945291909220549192501680610efb576040517f1bbb68a800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f27d12cd900000000000000000000000000000000000000000000000000000000815260009073ffffffffffffffffffffffffffffffffffffffff8316906327d12cd990610f529087908790600401611d28565b602060405180830381865afa158015610f6f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f939190611d9b565b90506001816003811115610fa957610fa96119e5565b03611039576040517f0894edf100000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff861690630894edf1906110029087908790600401611d28565b600060405180830381600087803b15801561101c57600080fd5b505af1158015611030573d6000803e3d6000fd5b50505050611084565b600081600381111561104d5761104d6119e5565b03611084576040517f0dea846600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50505050505b60005b828110156110d657368484838181106110a8576110a8611dbc565b6040029190910191506110cd90506110c36020830183611a55565b8260200135611463565b5060010161108d565b5060655473ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e0860135610100870135876111116080820160608301611a55565b60808a013561112360a08c018c611ca2565b61113060c08e018e611ca2565b6040518a63ffffffff1660e01b81526004016111529796959493929190611e34565b6000604051808303818589803b15801561116b57600080fd5b5088f115801561117f573d6000803e3d6000fd5b5050505050505050505050565b60655484516040517f9d7f977500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff868116600483015263ffffffff909216602482015284821660448201526000929190911690639d7f977590606401602060405180830381865afa158015611217573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061123b9190611c0d565b61124757506000611323565b606554604080517fc9a54a99000000000000000000000000000000000000000000000000000000008152875163ffffffff166004820152602088015160248201529087015167ffffffffffffffff16604482015273ffffffffffffffffffffffffffffffffffffffff86811660648301529091169063c9a54a9990608401602060405180830381865afa1580156112e2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113069190611c0d565b61131257506000611323565b8161131f57506000611323565b5060015b949350505050565b6113336113e2565b73ffffffffffffffffffffffffffffffffffffffff81166113d6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610955565b6113df8161156e565b50565b60335473ffffffffffffffffffffffffffffffffffffffff163314610725576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610955565b73ffffffffffffffffffffffffffffffffffffffff82166114b0576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461150a576040519150601f19603f3d011682016040523d82523d6000602084013e61150f565b606091505b5050905080611569576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610955565b505050565b6033805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff1661167c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b610725611724565b600054610100900460ff1661171b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b6113df816117c4565b600054610100900460ff166117bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b6107253361156e565b600054610100900460ff1661185b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610955565b606580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b803573ffffffffffffffffffffffffffffffffffffffff811681146118c657600080fd5b919050565b600080604083850312156118de57600080fd5b6118e7836118a2565b946020939093013593505050565b63ffffffff811681146113df57600080fd5b67ffffffffffffffff811681146113df57600080fd5b60006060828403121561192f57600080fd5b6040516060810181811067ffffffffffffffff82111715611979577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b604052905080823561198a816118f5565b81526020838101359082015260408301356119a481611907565b6040919091015292915050565b600080608083850312156119c457600080fd5b6119ce848461191d565b91506119dc606084016118a2565b90509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810160048310611a4f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b600060208284031215611a6757600080fd5b6107e7826118a2565b600080600060608486031215611a8557600080fd5b611a8e846118a2565b9250611a9c602085016118a2565b9150611aaa604085016118a2565b90509250925092565b60008060408385031215611ac657600080fd5b611acf836118a2565b91506119dc602084016118a2565b60008060008060608587031215611af357600080fd5b611afc856118a2565b9350602085013567ffffffffffffffff80821115611b1957600080fd5b908601906101208289031215611b2e57600080fd5b90935060408601359080821115611b4457600080fd5b818701915087601f830112611b5857600080fd5b813581811115611b6757600080fd5b8860208260061b8501011115611b7c57600080fd5b95989497505060200194505050565b60008060008060c08587031215611ba157600080fd5b611bab868661191d565b9350611bb9606086016118a2565b9250611bc7608086016118a2565b9396929550929360a00135925050565b600060208284031215611be957600080fd5b5051919050565b600060208284031215611c0257600080fd5b81516107e781611907565b600060208284031215611c1f57600080fd5b815180151581146107e757600080fd5b600060208284031215611c4157600080fd5b81516107e7816118f5565b600060608284031215611c5e57600080fd5b6107e7838361191d565b600060208284031215611c7a57600080fd5b81356107e781611907565b600060208284031215611c9757600080fd5b81356107e7816118f5565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112611cd757600080fd5b83018035915067ffffffffffffffff821115611cf257600080fd5b602001915036819003821315611d0757600080fd5b9250929050565b838152818360208301376000910160200190815292915050565b604081526000835180604084015260005b81811015611d565760208187018101516060868401015201611d39565b5060006060828501015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168401019150508260208301529392505050565b600060208284031215611dad57600080fd5b8151600481106107e757600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60008835611e41816118f5565b63ffffffff168252602089810135908301526040890135611e6181611907565b67ffffffffffffffff811660408401525073ffffffffffffffffffffffffffffffffffffffff8816606083015286608083015260e060a0830152611ea960e083018688611deb565b82810360c0840152611ebc818587611deb565b9a995050505050505050505056fea2646970667358221220401a0747b9f9987e32c5ff7df75305673972639d572bb21b025f755a56dad1c164736f6c63430008160033",
530
+ "devdoc": {
531
+ "events": {
532
+ "Initialized(uint8)": {
533
+ "details": "Triggered when the contract has been initialized or reinitialized."
534
+ }
535
+ },
536
+ "kind": "dev",
537
+ "methods": {
538
+ "executable((uint32,bytes32,uint64),address)": {
539
+ "details": "check if a message is executable.",
540
+ "returns": {
541
+ "_0": "ExecutionState of Executed, Executable, or NotExecutable"
542
+ }
543
+ },
544
+ "owner()": {
545
+ "details": "Returns the address of the current owner."
546
+ },
547
+ "renounceOwnership()": {
548
+ "details": "Leaves the contract without owner. It will not be possible to call `onlyOwner` functions. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby disabling any functionality that is only available to the owner."
549
+ },
550
+ "transferOwnership(address)": {
551
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
552
+ },
553
+ "verifiable((uint32,bytes32,uint64),address,address,bytes32)": {
554
+ "details": "check if a message is verifiable."
555
+ }
556
+ },
557
+ "version": 1
558
+ },
559
+ "userdoc": {
560
+ "kind": "user",
561
+ "methods": {
562
+ "commitAndExecute(address,((uint32,bytes32,uint64),address,bytes32,bytes,bytes,uint256,uint256),(address,uint256)[])": {
563
+ "notice": "process for commit and execute 1. check if executable, revert if executed, execute if executable 2. check if verifiable, revert if verifying, commit if verifiable 3. native drop 4. try execute, will revert if not executable"
564
+ }
565
+ },
566
+ "version": 1
567
+ },
568
+ "storageLayout": {
569
+ "storage": [
570
+ {
571
+ "astId": 5385,
572
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
573
+ "label": "_initialized",
574
+ "offset": 0,
575
+ "slot": "0",
576
+ "type": "t_uint8"
577
+ },
578
+ {
579
+ "astId": 5388,
580
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
581
+ "label": "_initializing",
582
+ "offset": 1,
583
+ "slot": "0",
584
+ "type": "t_bool"
585
+ },
586
+ {
587
+ "astId": 6129,
588
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
589
+ "label": "__gap",
590
+ "offset": 0,
591
+ "slot": "1",
592
+ "type": "t_array(t_uint256)50_storage"
593
+ },
594
+ {
595
+ "astId": 5257,
596
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
597
+ "label": "_owner",
598
+ "offset": 0,
599
+ "slot": "51",
600
+ "type": "t_address"
601
+ },
602
+ {
603
+ "astId": 5377,
604
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
605
+ "label": "__gap",
606
+ "offset": 0,
607
+ "slot": "52",
608
+ "type": "t_array(t_uint256)49_storage"
609
+ },
610
+ {
611
+ "astId": 2224,
612
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
613
+ "label": "endpoint",
614
+ "offset": 0,
615
+ "slot": "101",
616
+ "type": "t_contract(ILayerZeroEndpointV2)2601"
617
+ },
618
+ {
619
+ "astId": 2397,
620
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
621
+ "label": "__gap",
622
+ "offset": 0,
623
+ "slot": "102",
624
+ "type": "t_array(t_uint256)49_storage"
625
+ },
626
+ {
627
+ "astId": 16761,
628
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
629
+ "label": "receiveUln302",
630
+ "offset": 0,
631
+ "slot": "151",
632
+ "type": "t_address"
633
+ },
634
+ {
635
+ "astId": 16763,
636
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
637
+ "label": "localEid",
638
+ "offset": 20,
639
+ "slot": "151",
640
+ "type": "t_uint32"
641
+ },
642
+ {
643
+ "astId": 16767,
644
+ "contract": "contracts/uln/LzExecutor.sol:LzExecutor",
645
+ "label": "receiveLibToView",
646
+ "offset": 0,
647
+ "slot": "152",
648
+ "type": "t_mapping(t_address,t_address)"
649
+ }
650
+ ],
651
+ "types": {
652
+ "t_address": {
653
+ "encoding": "inplace",
654
+ "label": "address",
655
+ "numberOfBytes": "20"
656
+ },
657
+ "t_array(t_uint256)49_storage": {
658
+ "base": "t_uint256",
659
+ "encoding": "inplace",
660
+ "label": "uint256[49]",
661
+ "numberOfBytes": "1568"
662
+ },
663
+ "t_array(t_uint256)50_storage": {
664
+ "base": "t_uint256",
665
+ "encoding": "inplace",
666
+ "label": "uint256[50]",
667
+ "numberOfBytes": "1600"
668
+ },
669
+ "t_bool": {
670
+ "encoding": "inplace",
671
+ "label": "bool",
672
+ "numberOfBytes": "1"
673
+ },
674
+ "t_contract(ILayerZeroEndpointV2)2601": {
675
+ "encoding": "inplace",
676
+ "label": "contract ILayerZeroEndpointV2",
677
+ "numberOfBytes": "20"
678
+ },
679
+ "t_mapping(t_address,t_address)": {
680
+ "encoding": "mapping",
681
+ "key": "t_address",
682
+ "label": "mapping(address => address)",
683
+ "numberOfBytes": "32",
684
+ "value": "t_address"
685
+ },
686
+ "t_uint256": {
687
+ "encoding": "inplace",
688
+ "label": "uint256",
689
+ "numberOfBytes": "32"
690
+ },
691
+ "t_uint32": {
692
+ "encoding": "inplace",
693
+ "label": "uint32",
694
+ "numberOfBytes": "4"
695
+ },
696
+ "t_uint8": {
697
+ "encoding": "inplace",
698
+ "label": "uint8",
699
+ "numberOfBytes": "1"
700
+ }
701
+ }
702
+ }
703
+ }