@layerzerolabs/lz-evm-sdk-v2 2.0.15 → 2.0.16

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 (107) hide show
  1. package/artifacts/contracts/Executor.sol/Executor.json +2 -2
  2. package/artifacts/contracts/ExecutorFeeLib.sol/ExecutorFeeLib.json +7 -2
  3. package/artifacts/contracts/interfaces/IExecutorFeeLib.sol/IExecutorFeeLib.json +5 -0
  4. package/deployments/avalanche-testnet/AxelarDVNAdapterFeeLib.json +10 -10
  5. package/deployments/avalanche-testnet/AxelarDVNAdapterFeeLib_Implementation.json +40 -40
  6. package/deployments/ethereum-sandbox-local/DVN.json +76 -76
  7. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +23 -23
  8. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +258 -0
  9. package/deployments/ethereum-sandbox-local/EndpointV2.json +141 -150
  10. package/deployments/{blast-testnet/Executor_Proxy.json → ethereum-sandbox-local/EndpointV2View.json} +259 -189
  11. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +313 -0
  12. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +230 -0
  13. package/deployments/ethereum-sandbox-local/Executor.json +86 -86
  14. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +38 -33
  15. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +17 -17
  16. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +61 -61
  17. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +66 -66
  18. package/deployments/{blast-testnet/PriceFeed.json → ethereum-sandbox-local/LzExecutor.json} +275 -408
  19. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +703 -0
  20. package/deployments/{blast-testnet/PriceFeed_Proxy.json → ethereum-sandbox-local/LzExecutor_Proxy.json} +37 -37
  21. package/deployments/ethereum-sandbox-local/NonceContractMock.json +6 -6
  22. package/deployments/ethereum-sandbox-local/PriceFeed.json +18 -18
  23. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +5 -5
  24. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +44 -44
  25. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  26. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +126 -98
  27. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +354 -0
  28. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  29. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  30. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +114 -62
  31. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +478 -0
  32. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  33. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  34. package/deployments/ethereum-sandbox-local/SendUln301.json +112 -112
  35. package/deployments/ethereum-sandbox-local/SendUln302.json +109 -109
  36. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +23 -23
  37. package/deployments/ethereum-sandbox-local/Treasury.json +21 -21
  38. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +12 -12
  39. package/deployments/polygon-sandbox-local/DVN.json +76 -76
  40. package/deployments/polygon-sandbox-local/DVNFeeLib.json +23 -23
  41. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +258 -0
  42. package/deployments/polygon-sandbox-local/EndpointV2.json +141 -150
  43. package/deployments/polygon-sandbox-local/EndpointV2View.json +435 -0
  44. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +313 -0
  45. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +230 -0
  46. package/deployments/polygon-sandbox-local/Executor.json +86 -86
  47. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +38 -33
  48. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +17 -17
  49. package/deployments/polygon-sandbox-local/Executor_Implementation.json +61 -61
  50. package/deployments/polygon-sandbox-local/Executor_Proxy.json +66 -66
  51. package/deployments/{joc-testnet/PriceFeed.json → polygon-sandbox-local/LzExecutor.json} +275 -408
  52. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +703 -0
  53. package/deployments/{joc-testnet/PriceFeed_Proxy.json → polygon-sandbox-local/LzExecutor_Proxy.json} +37 -37
  54. package/deployments/polygon-sandbox-local/NonceContractMock.json +6 -6
  55. package/deployments/polygon-sandbox-local/PriceFeed.json +18 -18
  56. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +5 -5
  57. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +44 -44
  58. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  59. package/deployments/polygon-sandbox-local/ReceiveUln301.json +126 -98
  60. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +354 -0
  61. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +231 -0
  62. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +230 -0
  63. package/deployments/polygon-sandbox-local/ReceiveUln302.json +114 -62
  64. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +478 -0
  65. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +384 -0
  66. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +230 -0
  67. package/deployments/polygon-sandbox-local/SendUln301.json +112 -112
  68. package/deployments/polygon-sandbox-local/SendUln302.json +109 -109
  69. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +23 -23
  70. package/deployments/polygon-sandbox-local/Treasury.json +21 -21
  71. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +12 -12
  72. package/dist/{index-htDjTX1I.d.mts → index-3seuukWJ.d.mts} +10 -2
  73. package/dist/{index-htDjTX1I.d.ts → index-3seuukWJ.d.ts} +10 -2
  74. package/dist/index.browser.cjs +12 -2
  75. package/dist/index.browser.cjs.map +1 -1
  76. package/dist/index.browser.d.mts +1 -1
  77. package/dist/index.browser.d.ts +1 -1
  78. package/dist/index.browser.mjs +12 -2
  79. package/dist/index.browser.mjs.map +1 -1
  80. package/dist/index.cjs +12 -2
  81. package/dist/index.cjs.map +1 -1
  82. package/dist/index.d.mts +1 -1
  83. package/dist/index.d.ts +1 -1
  84. package/dist/index.mjs +12 -2
  85. package/dist/index.mjs.map +1 -1
  86. package/package.json +8 -8
  87. package/deployments/blast-testnet/DVN.json +0 -1929
  88. package/deployments/blast-testnet/DVNFeeLib.json +0 -387
  89. package/deployments/blast-testnet/EndpointV2.json +0 -3000
  90. package/deployments/blast-testnet/Executor.json +0 -1532
  91. package/deployments/blast-testnet/ExecutorFeeLib.json +0 -407
  92. package/deployments/blast-testnet/ExecutorProxyAdmin.json +0 -283
  93. package/deployments/blast-testnet/Executor_Implementation.json +0 -1591
  94. package/deployments/blast-testnet/PriceFeedProxyAdmin.json +0 -283
  95. package/deployments/blast-testnet/PriceFeed_Implementation.json +0 -912
  96. package/deployments/blast-testnet/ReceiveUln301.json +0 -1292
  97. package/deployments/blast-testnet/ReceiveUln302.json +0 -1006
  98. package/deployments/blast-testnet/SendUln301.json +0 -1569
  99. package/deployments/blast-testnet/SendUln302.json +0 -1527
  100. package/deployments/blast-testnet/Treasury.json +0 -412
  101. package/deployments/blast-testnet/TreasuryFeeHandler.json +0 -125
  102. package/deployments/joc-testnet/PriceFeedProxyAdmin.json +0 -283
  103. package/deployments/joc-testnet/PriceFeed_Implementation.json +0 -912
  104. package/deployments/rarible-mainnet/PriceFeed.json +0 -891
  105. package/deployments/rarible-mainnet/PriceFeedProxyAdmin.json +0 -284
  106. package/deployments/rarible-mainnet/PriceFeed_Implementation.json +0 -913
  107. package/deployments/rarible-mainnet/PriceFeed_Proxy.json +0 -245
@@ -1,1006 +0,0 @@
1
- {
2
- "address": "0xd682ECF100f6F4284138AA925348633B0611Ae21",
3
- "abi": [
4
- {
5
- "inputs": [
6
- {
7
- "internalType": "address",
8
- "name": "_endpoint",
9
- "type": "address"
10
- }
11
- ],
12
- "stateMutability": "nonpayable",
13
- "type": "constructor"
14
- },
15
- {
16
- "inputs": [],
17
- "name": "LZ_MessageLib_OnlyEndpoint",
18
- "type": "error"
19
- },
20
- {
21
- "inputs": [],
22
- "name": "LZ_ULN_AtLeastOneDVN",
23
- "type": "error"
24
- },
25
- {
26
- "inputs": [
27
- {
28
- "internalType": "uint32",
29
- "name": "configType",
30
- "type": "uint32"
31
- }
32
- ],
33
- "name": "LZ_ULN_InvalidConfigType",
34
- "type": "error"
35
- },
36
- {
37
- "inputs": [],
38
- "name": "LZ_ULN_InvalidConfirmations",
39
- "type": "error"
40
- },
41
- {
42
- "inputs": [],
43
- "name": "LZ_ULN_InvalidEid",
44
- "type": "error"
45
- },
46
- {
47
- "inputs": [],
48
- "name": "LZ_ULN_InvalidOptionalDVNCount",
49
- "type": "error"
50
- },
51
- {
52
- "inputs": [],
53
- "name": "LZ_ULN_InvalidOptionalDVNThreshold",
54
- "type": "error"
55
- },
56
- {
57
- "inputs": [],
58
- "name": "LZ_ULN_InvalidPacketHeader",
59
- "type": "error"
60
- },
61
- {
62
- "inputs": [],
63
- "name": "LZ_ULN_InvalidPacketVersion",
64
- "type": "error"
65
- },
66
- {
67
- "inputs": [],
68
- "name": "LZ_ULN_InvalidRequiredDVNCount",
69
- "type": "error"
70
- },
71
- {
72
- "inputs": [],
73
- "name": "LZ_ULN_Unsorted",
74
- "type": "error"
75
- },
76
- {
77
- "inputs": [
78
- {
79
- "internalType": "uint32",
80
- "name": "eid",
81
- "type": "uint32"
82
- }
83
- ],
84
- "name": "LZ_ULN_UnsupportedEid",
85
- "type": "error"
86
- },
87
- {
88
- "inputs": [],
89
- "name": "LZ_ULN_Verifying",
90
- "type": "error"
91
- },
92
- {
93
- "anonymous": false,
94
- "inputs": [
95
- {
96
- "components": [
97
- {
98
- "internalType": "uint32",
99
- "name": "eid",
100
- "type": "uint32"
101
- },
102
- {
103
- "components": [
104
- {
105
- "internalType": "uint64",
106
- "name": "confirmations",
107
- "type": "uint64"
108
- },
109
- {
110
- "internalType": "uint8",
111
- "name": "requiredDVNCount",
112
- "type": "uint8"
113
- },
114
- {
115
- "internalType": "uint8",
116
- "name": "optionalDVNCount",
117
- "type": "uint8"
118
- },
119
- {
120
- "internalType": "uint8",
121
- "name": "optionalDVNThreshold",
122
- "type": "uint8"
123
- },
124
- {
125
- "internalType": "address[]",
126
- "name": "requiredDVNs",
127
- "type": "address[]"
128
- },
129
- {
130
- "internalType": "address[]",
131
- "name": "optionalDVNs",
132
- "type": "address[]"
133
- }
134
- ],
135
- "internalType": "struct UlnConfig",
136
- "name": "config",
137
- "type": "tuple"
138
- }
139
- ],
140
- "indexed": false,
141
- "internalType": "struct SetDefaultUlnConfigParam[]",
142
- "name": "params",
143
- "type": "tuple[]"
144
- }
145
- ],
146
- "name": "DefaultUlnConfigsSet",
147
- "type": "event"
148
- },
149
- {
150
- "anonymous": false,
151
- "inputs": [
152
- {
153
- "indexed": true,
154
- "internalType": "address",
155
- "name": "previousOwner",
156
- "type": "address"
157
- },
158
- {
159
- "indexed": true,
160
- "internalType": "address",
161
- "name": "newOwner",
162
- "type": "address"
163
- }
164
- ],
165
- "name": "OwnershipTransferred",
166
- "type": "event"
167
- },
168
- {
169
- "anonymous": false,
170
- "inputs": [
171
- {
172
- "indexed": false,
173
- "internalType": "address",
174
- "name": "dvn",
175
- "type": "address"
176
- },
177
- {
178
- "indexed": false,
179
- "internalType": "bytes",
180
- "name": "header",
181
- "type": "bytes"
182
- },
183
- {
184
- "indexed": false,
185
- "internalType": "uint256",
186
- "name": "confirmations",
187
- "type": "uint256"
188
- },
189
- {
190
- "indexed": false,
191
- "internalType": "bytes32",
192
- "name": "proofHash",
193
- "type": "bytes32"
194
- }
195
- ],
196
- "name": "PayloadVerified",
197
- "type": "event"
198
- },
199
- {
200
- "anonymous": false,
201
- "inputs": [
202
- {
203
- "indexed": false,
204
- "internalType": "address",
205
- "name": "oapp",
206
- "type": "address"
207
- },
208
- {
209
- "indexed": false,
210
- "internalType": "uint32",
211
- "name": "eid",
212
- "type": "uint32"
213
- },
214
- {
215
- "components": [
216
- {
217
- "internalType": "uint64",
218
- "name": "confirmations",
219
- "type": "uint64"
220
- },
221
- {
222
- "internalType": "uint8",
223
- "name": "requiredDVNCount",
224
- "type": "uint8"
225
- },
226
- {
227
- "internalType": "uint8",
228
- "name": "optionalDVNCount",
229
- "type": "uint8"
230
- },
231
- {
232
- "internalType": "uint8",
233
- "name": "optionalDVNThreshold",
234
- "type": "uint8"
235
- },
236
- {
237
- "internalType": "address[]",
238
- "name": "requiredDVNs",
239
- "type": "address[]"
240
- },
241
- {
242
- "internalType": "address[]",
243
- "name": "optionalDVNs",
244
- "type": "address[]"
245
- }
246
- ],
247
- "indexed": false,
248
- "internalType": "struct UlnConfig",
249
- "name": "config",
250
- "type": "tuple"
251
- }
252
- ],
253
- "name": "UlnConfigSet",
254
- "type": "event"
255
- },
256
- {
257
- "inputs": [
258
- {
259
- "internalType": "bytes",
260
- "name": "_packetHeader",
261
- "type": "bytes"
262
- },
263
- {
264
- "internalType": "uint32",
265
- "name": "_localEid",
266
- "type": "uint32"
267
- }
268
- ],
269
- "name": "assertHeader",
270
- "outputs": [],
271
- "stateMutability": "pure",
272
- "type": "function"
273
- },
274
- {
275
- "inputs": [
276
- {
277
- "internalType": "bytes",
278
- "name": "_packetHeader",
279
- "type": "bytes"
280
- },
281
- {
282
- "internalType": "bytes32",
283
- "name": "_payloadHash",
284
- "type": "bytes32"
285
- }
286
- ],
287
- "name": "commitVerification",
288
- "outputs": [],
289
- "stateMutability": "nonpayable",
290
- "type": "function"
291
- },
292
- {
293
- "inputs": [
294
- {
295
- "internalType": "address",
296
- "name": "_oapp",
297
- "type": "address"
298
- },
299
- {
300
- "internalType": "uint32",
301
- "name": "_remoteEid",
302
- "type": "uint32"
303
- }
304
- ],
305
- "name": "getAppUlnConfig",
306
- "outputs": [
307
- {
308
- "components": [
309
- {
310
- "internalType": "uint64",
311
- "name": "confirmations",
312
- "type": "uint64"
313
- },
314
- {
315
- "internalType": "uint8",
316
- "name": "requiredDVNCount",
317
- "type": "uint8"
318
- },
319
- {
320
- "internalType": "uint8",
321
- "name": "optionalDVNCount",
322
- "type": "uint8"
323
- },
324
- {
325
- "internalType": "uint8",
326
- "name": "optionalDVNThreshold",
327
- "type": "uint8"
328
- },
329
- {
330
- "internalType": "address[]",
331
- "name": "requiredDVNs",
332
- "type": "address[]"
333
- },
334
- {
335
- "internalType": "address[]",
336
- "name": "optionalDVNs",
337
- "type": "address[]"
338
- }
339
- ],
340
- "internalType": "struct UlnConfig",
341
- "name": "",
342
- "type": "tuple"
343
- }
344
- ],
345
- "stateMutability": "view",
346
- "type": "function"
347
- },
348
- {
349
- "inputs": [
350
- {
351
- "internalType": "uint32",
352
- "name": "_eid",
353
- "type": "uint32"
354
- },
355
- {
356
- "internalType": "address",
357
- "name": "_oapp",
358
- "type": "address"
359
- },
360
- {
361
- "internalType": "uint32",
362
- "name": "_configType",
363
- "type": "uint32"
364
- }
365
- ],
366
- "name": "getConfig",
367
- "outputs": [
368
- {
369
- "internalType": "bytes",
370
- "name": "",
371
- "type": "bytes"
372
- }
373
- ],
374
- "stateMutability": "view",
375
- "type": "function"
376
- },
377
- {
378
- "inputs": [
379
- {
380
- "internalType": "address",
381
- "name": "_oapp",
382
- "type": "address"
383
- },
384
- {
385
- "internalType": "uint32",
386
- "name": "_remoteEid",
387
- "type": "uint32"
388
- }
389
- ],
390
- "name": "getUlnConfig",
391
- "outputs": [
392
- {
393
- "components": [
394
- {
395
- "internalType": "uint64",
396
- "name": "confirmations",
397
- "type": "uint64"
398
- },
399
- {
400
- "internalType": "uint8",
401
- "name": "requiredDVNCount",
402
- "type": "uint8"
403
- },
404
- {
405
- "internalType": "uint8",
406
- "name": "optionalDVNCount",
407
- "type": "uint8"
408
- },
409
- {
410
- "internalType": "uint8",
411
- "name": "optionalDVNThreshold",
412
- "type": "uint8"
413
- },
414
- {
415
- "internalType": "address[]",
416
- "name": "requiredDVNs",
417
- "type": "address[]"
418
- },
419
- {
420
- "internalType": "address[]",
421
- "name": "optionalDVNs",
422
- "type": "address[]"
423
- }
424
- ],
425
- "internalType": "struct UlnConfig",
426
- "name": "rtnConfig",
427
- "type": "tuple"
428
- }
429
- ],
430
- "stateMutability": "view",
431
- "type": "function"
432
- },
433
- {
434
- "inputs": [
435
- {
436
- "internalType": "bytes32",
437
- "name": "headerHash",
438
- "type": "bytes32"
439
- },
440
- {
441
- "internalType": "bytes32",
442
- "name": "payloadHash",
443
- "type": "bytes32"
444
- },
445
- {
446
- "internalType": "address",
447
- "name": "dvn",
448
- "type": "address"
449
- }
450
- ],
451
- "name": "hashLookup",
452
- "outputs": [
453
- {
454
- "internalType": "bool",
455
- "name": "submitted",
456
- "type": "bool"
457
- },
458
- {
459
- "internalType": "uint64",
460
- "name": "confirmations",
461
- "type": "uint64"
462
- }
463
- ],
464
- "stateMutability": "view",
465
- "type": "function"
466
- },
467
- {
468
- "inputs": [
469
- {
470
- "internalType": "uint32",
471
- "name": "_eid",
472
- "type": "uint32"
473
- }
474
- ],
475
- "name": "isSupportedEid",
476
- "outputs": [
477
- {
478
- "internalType": "bool",
479
- "name": "",
480
- "type": "bool"
481
- }
482
- ],
483
- "stateMutability": "view",
484
- "type": "function"
485
- },
486
- {
487
- "inputs": [],
488
- "name": "messageLibType",
489
- "outputs": [
490
- {
491
- "internalType": "enum MessageLibType",
492
- "name": "",
493
- "type": "uint8"
494
- }
495
- ],
496
- "stateMutability": "pure",
497
- "type": "function"
498
- },
499
- {
500
- "inputs": [],
501
- "name": "owner",
502
- "outputs": [
503
- {
504
- "internalType": "address",
505
- "name": "",
506
- "type": "address"
507
- }
508
- ],
509
- "stateMutability": "view",
510
- "type": "function"
511
- },
512
- {
513
- "inputs": [],
514
- "name": "renounceOwnership",
515
- "outputs": [],
516
- "stateMutability": "nonpayable",
517
- "type": "function"
518
- },
519
- {
520
- "inputs": [
521
- {
522
- "internalType": "address",
523
- "name": "_oapp",
524
- "type": "address"
525
- },
526
- {
527
- "components": [
528
- {
529
- "internalType": "uint32",
530
- "name": "eid",
531
- "type": "uint32"
532
- },
533
- {
534
- "internalType": "uint32",
535
- "name": "configType",
536
- "type": "uint32"
537
- },
538
- {
539
- "internalType": "bytes",
540
- "name": "config",
541
- "type": "bytes"
542
- }
543
- ],
544
- "internalType": "struct SetConfigParam[]",
545
- "name": "_params",
546
- "type": "tuple[]"
547
- }
548
- ],
549
- "name": "setConfig",
550
- "outputs": [],
551
- "stateMutability": "nonpayable",
552
- "type": "function"
553
- },
554
- {
555
- "inputs": [
556
- {
557
- "components": [
558
- {
559
- "internalType": "uint32",
560
- "name": "eid",
561
- "type": "uint32"
562
- },
563
- {
564
- "components": [
565
- {
566
- "internalType": "uint64",
567
- "name": "confirmations",
568
- "type": "uint64"
569
- },
570
- {
571
- "internalType": "uint8",
572
- "name": "requiredDVNCount",
573
- "type": "uint8"
574
- },
575
- {
576
- "internalType": "uint8",
577
- "name": "optionalDVNCount",
578
- "type": "uint8"
579
- },
580
- {
581
- "internalType": "uint8",
582
- "name": "optionalDVNThreshold",
583
- "type": "uint8"
584
- },
585
- {
586
- "internalType": "address[]",
587
- "name": "requiredDVNs",
588
- "type": "address[]"
589
- },
590
- {
591
- "internalType": "address[]",
592
- "name": "optionalDVNs",
593
- "type": "address[]"
594
- }
595
- ],
596
- "internalType": "struct UlnConfig",
597
- "name": "config",
598
- "type": "tuple"
599
- }
600
- ],
601
- "internalType": "struct SetDefaultUlnConfigParam[]",
602
- "name": "_params",
603
- "type": "tuple[]"
604
- }
605
- ],
606
- "name": "setDefaultUlnConfigs",
607
- "outputs": [],
608
- "stateMutability": "nonpayable",
609
- "type": "function"
610
- },
611
- {
612
- "inputs": [
613
- {
614
- "internalType": "bytes4",
615
- "name": "_interfaceId",
616
- "type": "bytes4"
617
- }
618
- ],
619
- "name": "supportsInterface",
620
- "outputs": [
621
- {
622
- "internalType": "bool",
623
- "name": "",
624
- "type": "bool"
625
- }
626
- ],
627
- "stateMutability": "view",
628
- "type": "function"
629
- },
630
- {
631
- "inputs": [
632
- {
633
- "internalType": "address",
634
- "name": "newOwner",
635
- "type": "address"
636
- }
637
- ],
638
- "name": "transferOwnership",
639
- "outputs": [],
640
- "stateMutability": "nonpayable",
641
- "type": "function"
642
- },
643
- {
644
- "inputs": [
645
- {
646
- "components": [
647
- {
648
- "internalType": "uint64",
649
- "name": "confirmations",
650
- "type": "uint64"
651
- },
652
- {
653
- "internalType": "uint8",
654
- "name": "requiredDVNCount",
655
- "type": "uint8"
656
- },
657
- {
658
- "internalType": "uint8",
659
- "name": "optionalDVNCount",
660
- "type": "uint8"
661
- },
662
- {
663
- "internalType": "uint8",
664
- "name": "optionalDVNThreshold",
665
- "type": "uint8"
666
- },
667
- {
668
- "internalType": "address[]",
669
- "name": "requiredDVNs",
670
- "type": "address[]"
671
- },
672
- {
673
- "internalType": "address[]",
674
- "name": "optionalDVNs",
675
- "type": "address[]"
676
- }
677
- ],
678
- "internalType": "struct UlnConfig",
679
- "name": "_config",
680
- "type": "tuple"
681
- },
682
- {
683
- "internalType": "bytes32",
684
- "name": "_headerHash",
685
- "type": "bytes32"
686
- },
687
- {
688
- "internalType": "bytes32",
689
- "name": "_payloadHash",
690
- "type": "bytes32"
691
- }
692
- ],
693
- "name": "verifiable",
694
- "outputs": [
695
- {
696
- "internalType": "bool",
697
- "name": "",
698
- "type": "bool"
699
- }
700
- ],
701
- "stateMutability": "view",
702
- "type": "function"
703
- },
704
- {
705
- "inputs": [
706
- {
707
- "internalType": "bytes",
708
- "name": "_packetHeader",
709
- "type": "bytes"
710
- },
711
- {
712
- "internalType": "bytes32",
713
- "name": "_payloadHash",
714
- "type": "bytes32"
715
- },
716
- {
717
- "internalType": "uint64",
718
- "name": "_confirmations",
719
- "type": "uint64"
720
- }
721
- ],
722
- "name": "verify",
723
- "outputs": [],
724
- "stateMutability": "nonpayable",
725
- "type": "function"
726
- },
727
- {
728
- "inputs": [],
729
- "name": "version",
730
- "outputs": [
731
- {
732
- "internalType": "uint64",
733
- "name": "major",
734
- "type": "uint64"
735
- },
736
- {
737
- "internalType": "uint8",
738
- "name": "minor",
739
- "type": "uint8"
740
- },
741
- {
742
- "internalType": "uint8",
743
- "name": "endpointVersion",
744
- "type": "uint8"
745
- }
746
- ],
747
- "stateMutability": "pure",
748
- "type": "function"
749
- }
750
- ],
751
- "transactionHash": "0x44c3887f1c8310a7ac5ddd89e150df0f077b3b759e735b47c11284e8706f1d7d",
752
- "receipt": {
753
- "to": null,
754
- "from": "0xc13b65f7c53Cd6db2EA205a4b574b4a0858720A6",
755
- "contractAddress": "0xd682ECF100f6F4284138AA925348633B0611Ae21",
756
- "transactionIndex": 2,
757
- "gasUsed": "2448542",
758
- "logsBloom": "0x00000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000020000000000000400000000000000000000000000000001000000000000000000000000000000000000030000000000000000000800000000000000000000000000000000404000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000002000000000000000000000000000000000000000000000000000",
759
- "blockHash": "0xafc19592e78fa53e43a75e3cec41c0cb9492e5cb470ffd131503652724bc7f98",
760
- "transactionHash": "0x44c3887f1c8310a7ac5ddd89e150df0f077b3b759e735b47c11284e8706f1d7d",
761
- "logs": [
762
- {
763
- "transactionIndex": 2,
764
- "blockNumber": 639672,
765
- "transactionHash": "0x44c3887f1c8310a7ac5ddd89e150df0f077b3b759e735b47c11284e8706f1d7d",
766
- "address": "0xd682ECF100f6F4284138AA925348633B0611Ae21",
767
- "topics": [
768
- "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
769
- "0x0000000000000000000000000000000000000000000000000000000000000000",
770
- "0x000000000000000000000000c13b65f7c53cd6db2ea205a4b574b4a0858720a6"
771
- ],
772
- "data": "0x",
773
- "logIndex": 0,
774
- "blockHash": "0xafc19592e78fa53e43a75e3cec41c0cb9492e5cb470ffd131503652724bc7f98"
775
- }
776
- ],
777
- "blockNumber": 639672,
778
- "cumulativeGasUsed": "3150417",
779
- "status": 1,
780
- "byzantium": true
781
- },
782
- "args": [
783
- "0x464570adA09869d8741132183721B4f0769a0287"
784
- ],
785
- "numDeployments": 1,
786
- "solcInputHash": "75e7f9cf5f95452bd03e6f5a21ad7ccd",
787
- "bytecode": "0x60c06040523480156200001157600080fd5b5060405162002c9f38038062002c9f833981016040819052620000349162000116565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000075573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200009b919062000148565b620000a633620000c6565b6001600160a01b0390911660805263ffffffff1660a05250620001709050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200012957600080fd5b81516001600160a01b03811681146200014157600080fd5b9392505050565b6000602082840312156200015b57600080fd5b815163ffffffff811681146200014157600080fd5b60805160a051612b026200019d600039600061036e01526000818161049201526104fb0152612b026000f3fe608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea2646970667358221220941c7705913512169d9d3ac1bbd42adaf2f50b153395cc6c500efc210d412f0164736f6c63430008160033",
788
- "deployedBytecode": "0x608060405234801561001057600080fd5b506004361061011b5760003560e01c806343ea4fa9116100b25780638da5cb5b11610081578063c40ff83511610066578063c40ff835146102c0578063e084d952146102d3578063f2fde38b146102e657600080fd5b80638da5cb5b146102785780639c33abf7146102a057600080fd5b806343ea4fa91461022a57806354fd4d501461023d5780636750cd4c1461025d578063715018a61461027057600080fd5b806320efd722116100ee57806320efd7221461017f57806329460b0b1461019257806339e3f938146101a55780633c782a52146101c557600080fd5b806301ffc9a7146101205780630223536e146101485780630894edf11461015d5780631881d94d14610170575b600080fd5b61013361012e366004611cc0565b6102f9565b60405190151581526020015b60405180910390f35b61015b610156366004611d68565b610355565b005b61015b61016b366004611dc5565b610367565b600160405161013f9190611e11565b61015b61018d366004611ebb565b6104f9565b61015b6101a0366004611f0e565b61065a565b6101b86101b3366004611f64565b61083f565b60405161013f919061205b565b61020a6101d336600461206e565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013f565b6101b8610238366004611f64565b6109e0565b60408051600381526000602082015260029181019190915260600161013f565b61013361026b3660046120a3565b610d9a565b61015b610da5565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013f565b6102b36102ae3660046120be565b610db9565b60405161013f91906120f8565b61015b6102ce366004612165565b610e59565b6101336102e136600461238f565b610e69565b61015b6102f43660046123dd565b610e7e565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0ab7be9f00000000000000000000000000000000000000000000000000000000148061034f575061034f82610f35565b92915050565b61036184848484610fcc565b50505050565b61039283837f00000000000000000000000000000000000000000000000000000000000000006110e0565b600061039e84846111ae565b905060006103ac85856111c0565b905060006103ba83836109e0565b90506103de8187876040516103d09291906123f8565b6040518091039020866111e3565b600060405180606001604052808463ffffffff1681526020016104018989611392565b815260200161041089896113ab565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104d857600080fd5b505af11580156104ec573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610568576040517f467409c300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b81811015610361573683838381811061058657610586612408565b90506020028101906105989190612437565b90506105af6105aa60208301836120a3565b6113ce565b60026105c160408301602084016120a3565b63ffffffff1603610601576105fc6105dc60208301836120a3565b866105ea6040850185612475565b8101906105f791906124da565b611415565b610651565b61061160408201602083016120a3565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5060010161056b565b61066261146b565b60005b81811015610801573683838381811061068057610680612408565b9050602002810190610692919061250f565b905060ff6106a36020830183612543565b6106b4906040810190602001612577565b60ff16036106ee576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6106fd6020830183612543565b61070e906060810190604001612577565b60ff1603610748576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff61075e6020830183612543565b61076c906020810190612592565b67ffffffffffffffff16036107ad576040517f503667ae00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6107cb6107bd6020830183612543565b6107c6906125ad565b6114ec565b6107f860006107dd60208401846120a3565b6107ea6020850185612543565b6107f3906125ad565b61153d565b50600101610665565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b5608282604051610833929190612669565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561096057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610935575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156109cf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109a4575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a9057825467ffffffffffffffff168452610aaf565b67ffffffffffffffff81811614610aaf5767ffffffffffffffff811684525b815468010000000000000000900460ff16610b6557825468010000000000000000900460ff1615610b605782600101805480602002602001604051908101604052809291908181526020018280548015610b3f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b14575b50505050506080850152825468010000000000000000900460ff1660208501525b610c03565b815468010000000000000000900460ff90811614610c035781600101805480602002602001604051908101604052809291908181526020018280548015610be257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bb7575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610cd25782546901000000000000000000900460ff1615610ccd5782600201805480602002602001604051908101604052809291908181526020018280548015610c9557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c6a575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d88565b81546901000000000000000000900460ff90811614610d885781600201805480602002602001604051908101604052809291908181526020018280548015610d5057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d25575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d91846114ec565b50505092915050565b600061034f826118d1565b610dad61146b565b610db76000611938565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610e1857610df283856109e0565b604051602001610e02919061205b565b6040516020818303038152906040529050610e52565b6040517fba97c1fa00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610648565b9392505050565b610e648383836110e0565b505050565b6000610e768484846119ad565b949350505050565b610e8661146b565b73ffffffffffffffffffffffffffffffffffffffff8116610f29576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610648565b610f3281611938565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061034f57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461034f565b6040805180820182526001815267ffffffffffffffff831660208201529051600290600090610ffe90889088906123f8565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916110d2918790879086908890612806565b60405180910390a150505050565b6051821461111a576040517fc9bf37b700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111268484611ab6565b60ff1614611160576040517f3a9ae7b900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111718484611ad8565b63ffffffff1614610e64576040517f42d2c97e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000610e526111bd8484611ae8565b90565b60006111d0600d6009848661288b565b6111d9916128b5565b60e01c9392505050565b6111ee8383836119ad565b611224576040517f4c3118d400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff16156112dc5760005b836020015160ff168160ff1610156112da57600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061127c5761127c612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055600101611234565b505b604083015160ff1615610e645760005b836040015160ff168160ff161015610361576000838152600260209081526040808320858452909152812060a0860151805191929160ff851690811061133457611334612408565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000001690556001016112ec565b60006113a2602d600d848661288b565b610e52916128fd565b60006113bb60096001848661288b565b6113c491612939565b60c01c9392505050565b6113d7816118d1565b610f32576040517ff0c10d0400000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610648565b61142082848361153d565b61142a82846109e0565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f508182848360405161145e9392919061297f565b60405180910390a1505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610db7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610648565b602081015160ff161580156115065750606081015160ff16155b15610f32576040517fce2c375100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115585750602081015160ff16155b1561159f576080810151511561159a576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e565b806020015160ff168160800151511415806115da575060026115c3600160ff6129e9565b6115cd9190612a02565b60ff16816020015160ff16115b15611611576040517f83aa17da00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61161e8160800151611af8565b604081015160ff90811614806116395750604081015160ff16155b156116bf5760a0810151511561167b576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff16156116ba576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611796565b806040015160ff168160a00151511415806116fa575060026116e3600160ff6129e9565b6116ed9190612a02565b60ff16816040015160ff16115b15611731576040517f4221136600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117525750806040015160ff16816060015160ff16115b15611789576040517f38682fa900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117968160a00151611af8565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a01000000000000000000009590911694909402939093178355608084015180518594936118ad93908501920190611c21565b5060a082015180516118c9916002840191602090910190611c21565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff16151580610e525750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b602083015160009060ff1615611a305760005b846020015160ff168160ff161015611a1857611a0285608001518260ff16815181106119ee576119ee612408565b602002602001015185858860000151611b92565b611a10576000915050610e52565b6001016119c0565b50836040015160ff16600003611a3057506001610e52565b606084015160005b856040015160ff168160ff161015611aaa57611a7a8660a001518260ff1681518110611a6657611a66612408565b602002602001015186868960000151611b92565b15611aa25781611a8981612a4b565b9250508160ff16600003611aa257600192505050610e52565b600101611a38565b50600095945050505050565b6000611ac5600182848661288b565b611ace91612a86565b60f81c9392505050565b60006111d06031602d848661288b565b60006113a260516031848661288b565b6000805b8251811015610e64576000838281518110611b1957611b19612408565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611b88576040517f447516e100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b9150600101611afc565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611c1757508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b828054828255906000526020600020908101928215611c9b579160200282015b82811115611c9b57825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611c41565b50611ca7929150611cab565b5090565b5b80821115611ca75760008155600101611cac565b600060208284031215611cd257600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114610e5257600080fd5b60008083601f840112611d1457600080fd5b50813567ffffffffffffffff811115611d2c57600080fd5b602083019150836020828501011115611d4457600080fd5b9250929050565b803567ffffffffffffffff81168114611d6357600080fd5b919050565b60008060008060608587031215611d7e57600080fd5b843567ffffffffffffffff811115611d9557600080fd5b611da187828801611d02565b90955093505060208501359150611dba60408601611d4b565b905092959194509250565b600080600060408486031215611dda57600080fd5b833567ffffffffffffffff811115611df157600080fd5b611dfd86828701611d02565b909790965060209590950135949350505050565b6020810160038310611e4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b91905290565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d6357600080fd5b60008083601f840112611e8857600080fd5b50813567ffffffffffffffff811115611ea057600080fd5b6020830191508360208260051b8501011115611d4457600080fd5b600080600060408486031215611ed057600080fd5b611ed984611e52565b9250602084013567ffffffffffffffff811115611ef557600080fd5b611f0186828701611e76565b9497909650939450505050565b60008060208385031215611f2157600080fd5b823567ffffffffffffffff811115611f3857600080fd5b611f4485828601611e76565b90969095509350505050565b803563ffffffff81168114611d6357600080fd5b60008060408385031215611f7757600080fd5b611f8083611e52565b9150611f8e60208401611f50565b90509250929050565b60008151808452602080850194506020840160005b83811015611fde57815173ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101611fac565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261203960c0850182611f97565b905060a083015184820360a08601526120528282611f97565b95945050505050565b602081526000610e526020830184611fe9565b60008060006060848603121561208357600080fd5b833592506020840135915061209a60408501611e52565b90509250925092565b6000602082840312156120b557600080fd5b610e5282611f50565b6000806000606084860312156120d357600080fd5b6120dc84611f50565b92506120ea60208501611e52565b915061209a60408501611f50565b60006020808352835180602085015260005b818110156121265785810183015185820160400152820161210a565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60008060006040848603121561217a57600080fd5b833567ffffffffffffffff81111561219157600080fd5b61219d86828701611d02565b909450925061209a905060208501611f50565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612202576122026121b0565b60405290565b803560ff81168114611d6357600080fd5b600082601f83011261222a57600080fd5b8135602067ffffffffffffffff80831115612247576122476121b0565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561228a5761228a6121b0565b60405293845260208187018101949081019250878511156122aa57600080fd5b6020870191505b848210156122d1576122c282611e52565b835291830191908301906122b1565b979650505050505050565b600060c082840312156122ee57600080fd5b6122f66121df565b905061230182611d4b565b815261230f60208301612208565b602082015261232060408301612208565b604082015261233160608301612208565b6060820152608082013567ffffffffffffffff8082111561235157600080fd5b61235d85838601612219565b608084015260a084013591508082111561237657600080fd5b5061238384828501612219565b60a08301525092915050565b6000806000606084860312156123a457600080fd5b833567ffffffffffffffff8111156123bb57600080fd5b6123c7868287016122dc565b9660208601359650604090950135949350505050565b6000602082840312156123ef57600080fd5b610e5282611e52565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa183360301811261246b57600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126124aa57600080fd5b83018035915067ffffffffffffffff8211156124c557600080fd5b602001915036819003821315611d4457600080fd5b6000602082840312156124ec57600080fd5b813567ffffffffffffffff81111561250357600080fd5b610e76848285016122dc565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc183360301811261246b57600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4183360301811261246b57600080fd5b60006020828403121561258957600080fd5b610e5282612208565b6000602082840312156125a457600080fd5b610e5282611d4b565b600061034f36836122dc565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126125ee57600080fd5b830160208101925035905067ffffffffffffffff81111561260e57600080fd5b8060051b3603821315611d4457600080fd5b8183526000602080850194508260005b85811015611fde5773ffffffffffffffffffffffffffffffffffffffff61265683611e52565b1687529582019590820190600101612630565b60208082528181018390526000906040808401600586901b8501820187855b888110156127f8577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126126ea57600080fd5b8b0163ffffffff6126fa82611f50565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4182360301811261273157600080fd5b8589018890520167ffffffffffffffff61274a82611d4b565b168786015261275a888201612208565b606060ff808316828901526127708a8501612208565b92506080818416818a0152612786838601612208565b935060a09250818416838a015261279f818601866125b9565b60c08b810152945091506127ba905061010089018483612620565b9250506127c9818401846125b9565b93509050838783030160e08801526127e2828483612620565b978a019796505050928701925050600101612688565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b6000808585111561289b57600080fd5b838611156128a857600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156128f55780818660040360031b1b83161692505b505092915050565b8035602083101561034f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156128f55760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff831660208201526060604082015260006120526060830184611fe9565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60ff828116828216039081111561034f5761034f6129ba565b600060ff831680612a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600060ff821680612a5e57612a5e6129ba565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156128f55760019490940360031b84901b169092169291505056fea2646970667358221220941c7705913512169d9d3ac1bbd42adaf2f50b153395cc6c500efc210d412f0164736f6c63430008160033",
789
- "devdoc": {
790
- "details": "This is a gluing contract. It simply parses the requests and forward to the super.impl() accordingly.In this case, it combines the logic of ReceiveUlnBase and ReceiveLibBaseE2",
791
- "kind": "dev",
792
- "methods": {
793
- "commitVerification(bytes,bytes32)": {
794
- "details": "dont need to check endpoint verifiable here to save gas, as it will reverts if not verifiable."
795
- },
796
- "getAppUlnConfig(address,uint32)": {
797
- "details": "Get the uln config without the default config for the given remoteEid."
798
- },
799
- "owner()": {
800
- "details": "Returns the address of the current owner."
801
- },
802
- "renounceOwnership()": {
803
- "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."
804
- },
805
- "setDefaultUlnConfigs((uint32,(uint64,uint8,uint8,uint8,address[],address[]))[])": {
806
- "details": "about the DEFAULT ULN config 1) its values are all LITERAL (e.g. 0 is 0). whereas in the oapp ULN config, 0 (default value) points to the default ULN config this design enables the oapp to point to DEFAULT config without explicitly setting the config 2) its configuration is more restrictive than the oapp ULN config that a) it must not use NIL value, where NIL is used only by oapps to indicate the LITERAL 0 b) it must have at least one DVN"
807
- },
808
- "transferOwnership(address)": {
809
- "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
810
- },
811
- "verify(bytes,bytes32,uint64)": {
812
- "details": "for dvn to verify the payload"
813
- }
814
- },
815
- "stateVariables": {
816
- "CONFIG_TYPE_ULN": {
817
- "details": "CONFIG_TYPE_ULN=2 here to align with SendUln302/ReceiveUln302/ReceiveUln301"
818
- }
819
- },
820
- "version": 1
821
- },
822
- "userdoc": {
823
- "kind": "user",
824
- "methods": {},
825
- "version": 1
826
- },
827
- "storageLayout": {
828
- "storage": [
829
- {
830
- "astId": 7779,
831
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
832
- "label": "_owner",
833
- "offset": 0,
834
- "slot": "0",
835
- "type": "t_address"
836
- },
837
- {
838
- "astId": 17953,
839
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
840
- "label": "ulnConfigs",
841
- "offset": 0,
842
- "slot": "1",
843
- "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)17902_storage))"
844
- },
845
- {
846
- "astId": 17027,
847
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
848
- "label": "hashLookup",
849
- "offset": 0,
850
- "slot": "2",
851
- "type": "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17012_storage)))"
852
- }
853
- ],
854
- "types": {
855
- "t_address": {
856
- "encoding": "inplace",
857
- "label": "address",
858
- "numberOfBytes": "20"
859
- },
860
- "t_array(t_address)dyn_storage": {
861
- "base": "t_address",
862
- "encoding": "dynamic_array",
863
- "label": "address[]",
864
- "numberOfBytes": "32"
865
- },
866
- "t_bool": {
867
- "encoding": "inplace",
868
- "label": "bool",
869
- "numberOfBytes": "1"
870
- },
871
- "t_bytes32": {
872
- "encoding": "inplace",
873
- "label": "bytes32",
874
- "numberOfBytes": "32"
875
- },
876
- "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)17902_storage))": {
877
- "encoding": "mapping",
878
- "key": "t_address",
879
- "label": "mapping(address => mapping(uint32 => struct UlnConfig))",
880
- "numberOfBytes": "32",
881
- "value": "t_mapping(t_uint32,t_struct(UlnConfig)17902_storage)"
882
- },
883
- "t_mapping(t_address,t_struct(Verification)17012_storage)": {
884
- "encoding": "mapping",
885
- "key": "t_address",
886
- "label": "mapping(address => struct Verification)",
887
- "numberOfBytes": "32",
888
- "value": "t_struct(Verification)17012_storage"
889
- },
890
- "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17012_storage))": {
891
- "encoding": "mapping",
892
- "key": "t_bytes32",
893
- "label": "mapping(bytes32 => mapping(address => struct Verification))",
894
- "numberOfBytes": "32",
895
- "value": "t_mapping(t_address,t_struct(Verification)17012_storage)"
896
- },
897
- "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17012_storage)))": {
898
- "encoding": "mapping",
899
- "key": "t_bytes32",
900
- "label": "mapping(bytes32 => mapping(bytes32 => mapping(address => struct Verification)))",
901
- "numberOfBytes": "32",
902
- "value": "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)17012_storage))"
903
- },
904
- "t_mapping(t_uint32,t_struct(UlnConfig)17902_storage)": {
905
- "encoding": "mapping",
906
- "key": "t_uint32",
907
- "label": "mapping(uint32 => struct UlnConfig)",
908
- "numberOfBytes": "32",
909
- "value": "t_struct(UlnConfig)17902_storage"
910
- },
911
- "t_struct(UlnConfig)17902_storage": {
912
- "encoding": "inplace",
913
- "label": "struct UlnConfig",
914
- "members": [
915
- {
916
- "astId": 17889,
917
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
918
- "label": "confirmations",
919
- "offset": 0,
920
- "slot": "0",
921
- "type": "t_uint64"
922
- },
923
- {
924
- "astId": 17891,
925
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
926
- "label": "requiredDVNCount",
927
- "offset": 8,
928
- "slot": "0",
929
- "type": "t_uint8"
930
- },
931
- {
932
- "astId": 17893,
933
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
934
- "label": "optionalDVNCount",
935
- "offset": 9,
936
- "slot": "0",
937
- "type": "t_uint8"
938
- },
939
- {
940
- "astId": 17895,
941
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
942
- "label": "optionalDVNThreshold",
943
- "offset": 10,
944
- "slot": "0",
945
- "type": "t_uint8"
946
- },
947
- {
948
- "astId": 17898,
949
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
950
- "label": "requiredDVNs",
951
- "offset": 0,
952
- "slot": "1",
953
- "type": "t_array(t_address)dyn_storage"
954
- },
955
- {
956
- "astId": 17901,
957
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
958
- "label": "optionalDVNs",
959
- "offset": 0,
960
- "slot": "2",
961
- "type": "t_array(t_address)dyn_storage"
962
- }
963
- ],
964
- "numberOfBytes": "96"
965
- },
966
- "t_struct(Verification)17012_storage": {
967
- "encoding": "inplace",
968
- "label": "struct Verification",
969
- "members": [
970
- {
971
- "astId": 17009,
972
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
973
- "label": "submitted",
974
- "offset": 0,
975
- "slot": "0",
976
- "type": "t_bool"
977
- },
978
- {
979
- "astId": 17011,
980
- "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
981
- "label": "confirmations",
982
- "offset": 1,
983
- "slot": "0",
984
- "type": "t_uint64"
985
- }
986
- ],
987
- "numberOfBytes": "32"
988
- },
989
- "t_uint32": {
990
- "encoding": "inplace",
991
- "label": "uint32",
992
- "numberOfBytes": "4"
993
- },
994
- "t_uint64": {
995
- "encoding": "inplace",
996
- "label": "uint64",
997
- "numberOfBytes": "8"
998
- },
999
- "t_uint8": {
1000
- "encoding": "inplace",
1001
- "label": "uint8",
1002
- "numberOfBytes": "1"
1003
- }
1004
- }
1005
- }
1006
- }