@layerzerolabs/lz-evm-sdk-v2 2.0.8 → 2.0.10-tron

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 (117) hide show
  1. package/deployments/arbitrum-sandbox-local/DVN.json +1896 -0
  2. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +387 -0
  3. package/deployments/arbitrum-sandbox-local/EndpointV2.json +2955 -0
  4. package/deployments/{ethereum-sandbox-local/Oracle.json → arbitrum-sandbox-local/Executor.json} +656 -398
  5. package/deployments/arbitrum-sandbox-local/ExecutorFeeLib.json +407 -0
  6. package/deployments/arbitrum-sandbox-local/ExecutorProxyAdmin.json +283 -0
  7. package/deployments/arbitrum-sandbox-local/Executor_Implementation.json +1591 -0
  8. package/deployments/{ethereum-sandbox-local/Oracle_Proxy.json → arbitrum-sandbox-local/Executor_Proxy.json} +135 -60
  9. package/deployments/arbitrum-sandbox-local/NonceContractMock.json +163 -0
  10. package/deployments/{polygon-sandbox-local/Relayer.json → arbitrum-sandbox-local/PriceFeed.json} +339 -445
  11. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  12. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +912 -0
  13. package/deployments/{ethereum-sandbox-local/Relayer_Proxy.json → arbitrum-sandbox-local/PriceFeed_Proxy.json} +33 -64
  14. package/deployments/arbitrum-sandbox-local/ReceiveUln301.json +1264 -0
  15. package/deployments/arbitrum-sandbox-local/ReceiveUln302.json +954 -0
  16. package/deployments/arbitrum-sandbox-local/SendUln301.json +1569 -0
  17. package/deployments/arbitrum-sandbox-local/SendUln302.json +1527 -0
  18. package/deployments/arbitrum-sandbox-local/SimpleMessageLib.json +708 -0
  19. package/deployments/arbitrum-sandbox-local/Treasury.json +412 -0
  20. package/deployments/arbitrum-sandbox-local/TreasuryFeeHandler.json +125 -0
  21. package/deployments/ethereum-sandbox-local/DVN.json +5 -5
  22. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +2 -2
  23. package/deployments/ethereum-sandbox-local/EndpointV2.json +4 -4
  24. package/deployments/ethereum-sandbox-local/Executor.json +14 -14
  25. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +2 -2
  26. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +3 -3
  27. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +1 -1
  28. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +14 -14
  29. package/deployments/ethereum-sandbox-local/NonceContractMock.json +1 -1
  30. package/deployments/ethereum-sandbox-local/PriceFeed.json +5 -5
  31. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  32. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +1 -1
  33. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  34. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +2 -2
  35. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +2 -2
  36. package/deployments/ethereum-sandbox-local/SendUln301.json +2 -2
  37. package/deployments/ethereum-sandbox-local/SendUln302.json +2 -2
  38. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +2 -2
  39. package/deployments/ethereum-sandbox-local/Treasury.json +2 -2
  40. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +1 -1
  41. package/deployments/polygon-sandbox-local/DVN.json +5 -5
  42. package/deployments/polygon-sandbox-local/DVNFeeLib.json +2 -2
  43. package/deployments/polygon-sandbox-local/EndpointV2.json +4 -4
  44. package/deployments/polygon-sandbox-local/Executor.json +14 -14
  45. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +2 -2
  46. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +3 -3
  47. package/deployments/polygon-sandbox-local/Executor_Implementation.json +1 -1
  48. package/deployments/polygon-sandbox-local/Executor_Proxy.json +14 -14
  49. package/deployments/polygon-sandbox-local/NonceContractMock.json +1 -1
  50. package/deployments/polygon-sandbox-local/PriceFeed.json +5 -5
  51. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  52. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +1 -1
  53. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  54. package/deployments/polygon-sandbox-local/ReceiveUln301.json +2 -2
  55. package/deployments/polygon-sandbox-local/ReceiveUln302.json +2 -2
  56. package/deployments/polygon-sandbox-local/SendUln301.json +2 -2
  57. package/deployments/polygon-sandbox-local/SendUln302.json +2 -2
  58. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +2 -2
  59. package/deployments/polygon-sandbox-local/Treasury.json +2 -2
  60. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +1 -1
  61. package/deployments/tron-sandbox-local/DVN.json +1896 -0
  62. package/deployments/tron-sandbox-local/DVNFeeLib.json +387 -0
  63. package/deployments/tron-sandbox-local/EndpointV2.json +2955 -0
  64. package/deployments/{polygon-sandbox-local/Oracle.json → tron-sandbox-local/Executor.json} +656 -398
  65. package/deployments/tron-sandbox-local/ExecutorFeeLib.json +407 -0
  66. package/deployments/tron-sandbox-local/ExecutorProxyAdmin.json +283 -0
  67. package/deployments/tron-sandbox-local/Executor_Implementation.json +1591 -0
  68. package/deployments/{polygon-sandbox-local/Oracle_Proxy.json → tron-sandbox-local/Executor_Proxy.json} +135 -60
  69. package/deployments/tron-sandbox-local/NonceContractMock.json +163 -0
  70. package/deployments/{ethereum-sandbox-local/Relayer.json → tron-sandbox-local/PriceFeed.json} +339 -445
  71. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  72. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +912 -0
  73. package/deployments/{polygon-sandbox-local/Relayer_Proxy.json → tron-sandbox-local/PriceFeed_Proxy.json} +33 -64
  74. package/deployments/tron-sandbox-local/ReceiveUln301.json +1264 -0
  75. package/deployments/tron-sandbox-local/ReceiveUln302.json +954 -0
  76. package/deployments/tron-sandbox-local/SendUln301.json +1569 -0
  77. package/deployments/tron-sandbox-local/SendUln302.json +1527 -0
  78. package/deployments/tron-sandbox-local/SimpleMessageLib.json +708 -0
  79. package/deployments/tron-sandbox-local/Treasury.json +412 -0
  80. package/deployments/tron-sandbox-local/TreasuryFeeHandler.json +125 -0
  81. package/package.json +9 -20
  82. package/deployments/ethereum-sandbox-local/BlockedMessageLib.json +0 -90
  83. package/deployments/ethereum-sandbox-local/Endpoint.json +0 -2355
  84. package/deployments/ethereum-sandbox-local/MultiSigOracle.json +0 -1448
  85. package/deployments/ethereum-sandbox-local/NonceContract.json +0 -158
  86. package/deployments/ethereum-sandbox-local/OmniCounter.json +0 -1133
  87. package/deployments/ethereum-sandbox-local/OmniCounterPreCrime.json +0 -493
  88. package/deployments/ethereum-sandbox-local/OmniCounterPreCrimeView.json +0 -672
  89. package/deployments/ethereum-sandbox-local/OmniCounterViewer.json +0 -214
  90. package/deployments/ethereum-sandbox-local/OmniCounterWithPreCrime.json +0 -1646
  91. package/deployments/ethereum-sandbox-local/OracleFeeLib.json +0 -166
  92. package/deployments/ethereum-sandbox-local/OracleProxyAdmin.json +0 -272
  93. package/deployments/ethereum-sandbox-local/Oracle_Implementation.json +0 -1326
  94. package/deployments/ethereum-sandbox-local/RelayerFeeLib.json +0 -130
  95. package/deployments/ethereum-sandbox-local/RelayerProxyAdmin.json +0 -272
  96. package/deployments/ethereum-sandbox-local/Relayer_Implementation.json +0 -1014
  97. package/deployments/ethereum-sandbox-local/UlnConfig301.json +0 -1003
  98. package/deployments/ethereum-sandbox-local/UlnConfig302.json +0 -1003
  99. package/deployments/ethereum-sandbox-local/UltraLightNodeE302.json +0 -1696
  100. package/deployments/polygon-sandbox-local/BlockedMessageLib.json +0 -90
  101. package/deployments/polygon-sandbox-local/Endpoint.json +0 -2355
  102. package/deployments/polygon-sandbox-local/MultiSigOracle.json +0 -1448
  103. package/deployments/polygon-sandbox-local/NonceContract.json +0 -158
  104. package/deployments/polygon-sandbox-local/OmniCounter.json +0 -1133
  105. package/deployments/polygon-sandbox-local/OmniCounterPreCrime.json +0 -493
  106. package/deployments/polygon-sandbox-local/OmniCounterPreCrimeView.json +0 -672
  107. package/deployments/polygon-sandbox-local/OmniCounterViewer.json +0 -214
  108. package/deployments/polygon-sandbox-local/OmniCounterWithPreCrime.json +0 -1646
  109. package/deployments/polygon-sandbox-local/OracleFeeLib.json +0 -166
  110. package/deployments/polygon-sandbox-local/OracleProxyAdmin.json +0 -272
  111. package/deployments/polygon-sandbox-local/Oracle_Implementation.json +0 -1326
  112. package/deployments/polygon-sandbox-local/RelayerFeeLib.json +0 -130
  113. package/deployments/polygon-sandbox-local/RelayerProxyAdmin.json +0 -272
  114. package/deployments/polygon-sandbox-local/Relayer_Implementation.json +0 -1014
  115. package/deployments/polygon-sandbox-local/UlnConfig301.json +0 -1003
  116. package/deployments/polygon-sandbox-local/UlnConfig302.json +0 -1003
  117. package/deployments/polygon-sandbox-local/UltraLightNodeE302.json +0 -1696
@@ -0,0 +1,954 @@
1
+ {
2
+ "address": "0x2816ef5BA84EaA861be715bdAdC64dfe3bD04c03",
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": "AtLeastOneDVN",
18
+ "type": "error"
19
+ },
20
+ {
21
+ "inputs": [
22
+ {
23
+ "internalType": "uint32",
24
+ "name": "configType",
25
+ "type": "uint32"
26
+ }
27
+ ],
28
+ "name": "InvalidConfigType",
29
+ "type": "error"
30
+ },
31
+ {
32
+ "inputs": [],
33
+ "name": "InvalidConfirmations",
34
+ "type": "error"
35
+ },
36
+ {
37
+ "inputs": [],
38
+ "name": "InvalidEid",
39
+ "type": "error"
40
+ },
41
+ {
42
+ "inputs": [],
43
+ "name": "InvalidOptionalDVNCount",
44
+ "type": "error"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "InvalidOptionalDVNThreshold",
49
+ "type": "error"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "InvalidPacketHeader",
54
+ "type": "error"
55
+ },
56
+ {
57
+ "inputs": [],
58
+ "name": "InvalidPacketVersion",
59
+ "type": "error"
60
+ },
61
+ {
62
+ "inputs": [],
63
+ "name": "InvalidRequiredDVNCount",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "OnlyEndpoint",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "Unsorted",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [
78
+ {
79
+ "internalType": "uint32",
80
+ "name": "eid",
81
+ "type": "uint32"
82
+ }
83
+ ],
84
+ "name": "UnsupportedEid",
85
+ "type": "error"
86
+ },
87
+ {
88
+ "inputs": [],
89
+ "name": "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": "bytes32",
265
+ "name": "_payloadHash",
266
+ "type": "bytes32"
267
+ }
268
+ ],
269
+ "name": "commitVerification",
270
+ "outputs": [],
271
+ "stateMutability": "nonpayable",
272
+ "type": "function"
273
+ },
274
+ {
275
+ "inputs": [
276
+ {
277
+ "internalType": "address",
278
+ "name": "_oapp",
279
+ "type": "address"
280
+ },
281
+ {
282
+ "internalType": "uint32",
283
+ "name": "_remoteEid",
284
+ "type": "uint32"
285
+ }
286
+ ],
287
+ "name": "getAppUlnConfig",
288
+ "outputs": [
289
+ {
290
+ "components": [
291
+ {
292
+ "internalType": "uint64",
293
+ "name": "confirmations",
294
+ "type": "uint64"
295
+ },
296
+ {
297
+ "internalType": "uint8",
298
+ "name": "requiredDVNCount",
299
+ "type": "uint8"
300
+ },
301
+ {
302
+ "internalType": "uint8",
303
+ "name": "optionalDVNCount",
304
+ "type": "uint8"
305
+ },
306
+ {
307
+ "internalType": "uint8",
308
+ "name": "optionalDVNThreshold",
309
+ "type": "uint8"
310
+ },
311
+ {
312
+ "internalType": "address[]",
313
+ "name": "requiredDVNs",
314
+ "type": "address[]"
315
+ },
316
+ {
317
+ "internalType": "address[]",
318
+ "name": "optionalDVNs",
319
+ "type": "address[]"
320
+ }
321
+ ],
322
+ "internalType": "struct UlnConfig",
323
+ "name": "",
324
+ "type": "tuple"
325
+ }
326
+ ],
327
+ "stateMutability": "view",
328
+ "type": "function"
329
+ },
330
+ {
331
+ "inputs": [
332
+ {
333
+ "internalType": "uint32",
334
+ "name": "_eid",
335
+ "type": "uint32"
336
+ },
337
+ {
338
+ "internalType": "address",
339
+ "name": "_oapp",
340
+ "type": "address"
341
+ },
342
+ {
343
+ "internalType": "uint32",
344
+ "name": "_configType",
345
+ "type": "uint32"
346
+ }
347
+ ],
348
+ "name": "getConfig",
349
+ "outputs": [
350
+ {
351
+ "internalType": "bytes",
352
+ "name": "",
353
+ "type": "bytes"
354
+ }
355
+ ],
356
+ "stateMutability": "view",
357
+ "type": "function"
358
+ },
359
+ {
360
+ "inputs": [
361
+ {
362
+ "internalType": "address",
363
+ "name": "_oapp",
364
+ "type": "address"
365
+ },
366
+ {
367
+ "internalType": "uint32",
368
+ "name": "_remoteEid",
369
+ "type": "uint32"
370
+ }
371
+ ],
372
+ "name": "getUlnConfig",
373
+ "outputs": [
374
+ {
375
+ "components": [
376
+ {
377
+ "internalType": "uint64",
378
+ "name": "confirmations",
379
+ "type": "uint64"
380
+ },
381
+ {
382
+ "internalType": "uint8",
383
+ "name": "requiredDVNCount",
384
+ "type": "uint8"
385
+ },
386
+ {
387
+ "internalType": "uint8",
388
+ "name": "optionalDVNCount",
389
+ "type": "uint8"
390
+ },
391
+ {
392
+ "internalType": "uint8",
393
+ "name": "optionalDVNThreshold",
394
+ "type": "uint8"
395
+ },
396
+ {
397
+ "internalType": "address[]",
398
+ "name": "requiredDVNs",
399
+ "type": "address[]"
400
+ },
401
+ {
402
+ "internalType": "address[]",
403
+ "name": "optionalDVNs",
404
+ "type": "address[]"
405
+ }
406
+ ],
407
+ "internalType": "struct UlnConfig",
408
+ "name": "rtnConfig",
409
+ "type": "tuple"
410
+ }
411
+ ],
412
+ "stateMutability": "view",
413
+ "type": "function"
414
+ },
415
+ {
416
+ "inputs": [
417
+ {
418
+ "internalType": "bytes32",
419
+ "name": "headerHash",
420
+ "type": "bytes32"
421
+ },
422
+ {
423
+ "internalType": "bytes32",
424
+ "name": "payloadHash",
425
+ "type": "bytes32"
426
+ },
427
+ {
428
+ "internalType": "address",
429
+ "name": "dvn",
430
+ "type": "address"
431
+ }
432
+ ],
433
+ "name": "hashLookup",
434
+ "outputs": [
435
+ {
436
+ "internalType": "bool",
437
+ "name": "submitted",
438
+ "type": "bool"
439
+ },
440
+ {
441
+ "internalType": "uint64",
442
+ "name": "confirmations",
443
+ "type": "uint64"
444
+ }
445
+ ],
446
+ "stateMutability": "view",
447
+ "type": "function"
448
+ },
449
+ {
450
+ "inputs": [
451
+ {
452
+ "internalType": "uint32",
453
+ "name": "_eid",
454
+ "type": "uint32"
455
+ }
456
+ ],
457
+ "name": "isSupportedEid",
458
+ "outputs": [
459
+ {
460
+ "internalType": "bool",
461
+ "name": "",
462
+ "type": "bool"
463
+ }
464
+ ],
465
+ "stateMutability": "view",
466
+ "type": "function"
467
+ },
468
+ {
469
+ "inputs": [],
470
+ "name": "messageLibType",
471
+ "outputs": [
472
+ {
473
+ "internalType": "enum MessageLibType",
474
+ "name": "",
475
+ "type": "uint8"
476
+ }
477
+ ],
478
+ "stateMutability": "pure",
479
+ "type": "function"
480
+ },
481
+ {
482
+ "inputs": [],
483
+ "name": "owner",
484
+ "outputs": [
485
+ {
486
+ "internalType": "address",
487
+ "name": "",
488
+ "type": "address"
489
+ }
490
+ ],
491
+ "stateMutability": "view",
492
+ "type": "function"
493
+ },
494
+ {
495
+ "inputs": [],
496
+ "name": "renounceOwnership",
497
+ "outputs": [],
498
+ "stateMutability": "nonpayable",
499
+ "type": "function"
500
+ },
501
+ {
502
+ "inputs": [
503
+ {
504
+ "internalType": "address",
505
+ "name": "_oapp",
506
+ "type": "address"
507
+ },
508
+ {
509
+ "components": [
510
+ {
511
+ "internalType": "uint32",
512
+ "name": "eid",
513
+ "type": "uint32"
514
+ },
515
+ {
516
+ "internalType": "uint32",
517
+ "name": "configType",
518
+ "type": "uint32"
519
+ },
520
+ {
521
+ "internalType": "bytes",
522
+ "name": "config",
523
+ "type": "bytes"
524
+ }
525
+ ],
526
+ "internalType": "struct SetConfigParam[]",
527
+ "name": "_params",
528
+ "type": "tuple[]"
529
+ }
530
+ ],
531
+ "name": "setConfig",
532
+ "outputs": [],
533
+ "stateMutability": "nonpayable",
534
+ "type": "function"
535
+ },
536
+ {
537
+ "inputs": [
538
+ {
539
+ "components": [
540
+ {
541
+ "internalType": "uint32",
542
+ "name": "eid",
543
+ "type": "uint32"
544
+ },
545
+ {
546
+ "components": [
547
+ {
548
+ "internalType": "uint64",
549
+ "name": "confirmations",
550
+ "type": "uint64"
551
+ },
552
+ {
553
+ "internalType": "uint8",
554
+ "name": "requiredDVNCount",
555
+ "type": "uint8"
556
+ },
557
+ {
558
+ "internalType": "uint8",
559
+ "name": "optionalDVNCount",
560
+ "type": "uint8"
561
+ },
562
+ {
563
+ "internalType": "uint8",
564
+ "name": "optionalDVNThreshold",
565
+ "type": "uint8"
566
+ },
567
+ {
568
+ "internalType": "address[]",
569
+ "name": "requiredDVNs",
570
+ "type": "address[]"
571
+ },
572
+ {
573
+ "internalType": "address[]",
574
+ "name": "optionalDVNs",
575
+ "type": "address[]"
576
+ }
577
+ ],
578
+ "internalType": "struct UlnConfig",
579
+ "name": "config",
580
+ "type": "tuple"
581
+ }
582
+ ],
583
+ "internalType": "struct SetDefaultUlnConfigParam[]",
584
+ "name": "_params",
585
+ "type": "tuple[]"
586
+ }
587
+ ],
588
+ "name": "setDefaultUlnConfigs",
589
+ "outputs": [],
590
+ "stateMutability": "nonpayable",
591
+ "type": "function"
592
+ },
593
+ {
594
+ "inputs": [
595
+ {
596
+ "internalType": "bytes4",
597
+ "name": "_interfaceId",
598
+ "type": "bytes4"
599
+ }
600
+ ],
601
+ "name": "supportsInterface",
602
+ "outputs": [
603
+ {
604
+ "internalType": "bool",
605
+ "name": "",
606
+ "type": "bool"
607
+ }
608
+ ],
609
+ "stateMutability": "view",
610
+ "type": "function"
611
+ },
612
+ {
613
+ "inputs": [
614
+ {
615
+ "internalType": "address",
616
+ "name": "newOwner",
617
+ "type": "address"
618
+ }
619
+ ],
620
+ "name": "transferOwnership",
621
+ "outputs": [],
622
+ "stateMutability": "nonpayable",
623
+ "type": "function"
624
+ },
625
+ {
626
+ "inputs": [
627
+ {
628
+ "internalType": "bytes",
629
+ "name": "_packetHeader",
630
+ "type": "bytes"
631
+ },
632
+ {
633
+ "internalType": "bytes32",
634
+ "name": "_payloadHash",
635
+ "type": "bytes32"
636
+ }
637
+ ],
638
+ "name": "verifiable",
639
+ "outputs": [
640
+ {
641
+ "internalType": "enum VerificationState",
642
+ "name": "",
643
+ "type": "uint8"
644
+ }
645
+ ],
646
+ "stateMutability": "view",
647
+ "type": "function"
648
+ },
649
+ {
650
+ "inputs": [
651
+ {
652
+ "internalType": "bytes",
653
+ "name": "_packetHeader",
654
+ "type": "bytes"
655
+ },
656
+ {
657
+ "internalType": "bytes32",
658
+ "name": "_payloadHash",
659
+ "type": "bytes32"
660
+ },
661
+ {
662
+ "internalType": "uint64",
663
+ "name": "_confirmations",
664
+ "type": "uint64"
665
+ }
666
+ ],
667
+ "name": "verify",
668
+ "outputs": [],
669
+ "stateMutability": "nonpayable",
670
+ "type": "function"
671
+ },
672
+ {
673
+ "inputs": [],
674
+ "name": "version",
675
+ "outputs": [
676
+ {
677
+ "internalType": "uint64",
678
+ "name": "major",
679
+ "type": "uint64"
680
+ },
681
+ {
682
+ "internalType": "uint8",
683
+ "name": "minor",
684
+ "type": "uint8"
685
+ },
686
+ {
687
+ "internalType": "uint8",
688
+ "name": "endpointVersion",
689
+ "type": "uint8"
690
+ }
691
+ ],
692
+ "stateMutability": "pure",
693
+ "type": "function"
694
+ }
695
+ ],
696
+ "transactionHash": "0x81b38abfcf0751ed931bd2180efa25b9d8127259421be224a998c292abd266cb",
697
+ "receipt": {
698
+ "to": null,
699
+ "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
700
+ "contractAddress": "0x2816ef5BA84EaA861be715bdAdC64dfe3bD04c03",
701
+ "transactionIndex": 0,
702
+ "gasUsed": "2381032",
703
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
704
+ "blockHash": "0x000000000000002665c612bbb342cbd6d6a84edf19f79ca9c4163ea75be6978e",
705
+ "transactionHash": "0x81b38abfcf0751ed931bd2180efa25b9d8127259421be224a998c292abd266cb",
706
+ "logs": [
707
+ {
708
+ "transactionIndex": 0,
709
+ "blockNumber": 38,
710
+ "transactionHash": "0x81b38abfcf0751ed931bd2180efa25b9d8127259421be224a998c292abd266cb",
711
+ "address": "0x2816ef5BA84EaA861be715bdAdC64dfe3bD04c03",
712
+ "topics": [
713
+ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
714
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
715
+ "0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8"
716
+ ],
717
+ "data": "0x",
718
+ "logIndex": 0,
719
+ "blockHash": "0x000000000000002665c612bbb342cbd6d6a84edf19f79ca9c4163ea75be6978e"
720
+ }
721
+ ],
722
+ "blockNumber": 38,
723
+ "cumulativeGasUsed": "2381032",
724
+ "status": 1,
725
+ "byzantium": true
726
+ },
727
+ "args": [
728
+ "0x246345f1eE077a056ab627F7Cba96F937c5b73D9"
729
+ ],
730
+ "numDeployments": 1,
731
+ "solcInputHash": "1262ed55793b895b5a9d8c9d2ccdbaf9",
732
+ "bytecode": "0x60c06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b5060405162002fe138038062002fe1833981016040819052620000509162000132565b8080816001600160a01b031663416ecebf6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000091573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000b791906200016d565b620000c233620000e2565b6001600160a01b0390911660805263ffffffff1660a052506200019c9050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200014557600080fd5b81516001600160a81b03811681146200015d57600080fd5b6001600160a01b03169392505050565b6000602082840312156200018057600080fd5b815163ffffffff811681146200019557600080fd5b9392505050565b60805160a051612e03620001de6000396000818161035b015261065a01526000818161047f015281816104e8015281816115bc01526116ae0152612e036000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061011a5760003560e01c80633c782a52116100b1578063715018a611610080578063715018a6146102835780638da5cb5b1461028b5780639c33abf7146102b3578063f2fde38b146102d357600080fd5b80633c782a52146101d857806343ea4fa91461023d57806354fd4d50146102505780636750cd4c1461027057600080fd5b806320efd722116100ed57806320efd7221461017f57806327d12cd91461019257806329460b0b146101a557806339e3f938146101b857600080fd5b806301ffc9a71461011f5780630223536e146101475780630894edf11461015c5780631881d94d1461016f575b600080fd5b61013261012d366004611fa6565b6102e6565b60405190151581526020015b60405180910390f35b61015a61015536600461204e565b610342565b005b61015a61016a3660046120ab565b610354565b60015b60405161013e919061212e565b61015a61018d3660046121c9565b6104e6565b6101726101a03660046120ab565b610651565b61015a6101b336600461221c565b6106ff565b6101cb6101c6366004612272565b6108ec565b60405161013e919061235f565b61021d6101e6366004612372565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013e565b6101cb61024b366004612272565b610a8d565b60408051600381526000602082015260029181019190915260600161013e565b61013261027e3660046123a7565b610e47565b61015a610e52565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013e565b6102c66102c13660046123c2565b610e66565b60405161013e91906123fc565b61015a6102e1366004612468565b610eff565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d66924600000000000000000000000000000000000000000000000000000000148061033c575061033c82610fb6565b92915050565b61034e8484848461104d565b50505050565b61037f83837f0000000000000000000000000000000000000000000000000000000000000000611161565b600061038b8484611234565b905060006103998585611246565b905060006103a78383610a8d565b90506103cb8187876040516103bd929190612483565b604051809103902086611269565b600060405180606001604052808463ffffffff1681526020016103ee8989611428565b81526020016103fd8989611441565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104c557600080fd5b505af11580156104d9573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610555576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561034e573683838381811061057357610573612493565b905060200281019061058591906124c2565b905061059c61059760208301836123a7565b611464565b60026105ae60408301602084016123a7565b63ffffffff16036105ee576105e96105c960208301836123a7565b866105d76040850185612500565b8101906105e49190612741565b6114ab565b61063e565b6105fe60408201602083016123a7565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5080610649816127ad565b915050610558565b600061067e84847f0000000000000000000000000000000000000000000000000000000000000000611161565b600061068a8585611234565b905060006106988686611246565b90506106a78183888888611501565b6106b6576002925050506106f8565b6106e16106c38383610a8d565b87876040516106d3929190612483565b604051809103902086611737565b156106f1576001925050506106f8565b6000925050505b9392505050565b610707611850565b60005b818110156108ae573683838381811061072557610725612493565b905060200281019061073791906127e5565b905060ff6107486020830183612819565b61075990604081019060200161284d565b60ff1603610793576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6107a26020830183612819565b6107b390606081019060400161284d565b60ff16036107ed576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6108036020830183612819565b610811906020810190612868565b67ffffffffffffffff1603610852576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108706108626020830183612819565b61086b90612883565b6118d1565b61089d600061088260208401846123a7565b61088f6020850185612819565b61089890612883565b611922565b506108a7816127ad565b905061070a565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108e092919061293f565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a01000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610a0d57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109e2575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a7c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a51575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b3d57825467ffffffffffffffff168452610b5c565b67ffffffffffffffff81811614610b5c5767ffffffffffffffff811684525b815468010000000000000000900460ff16610c1257825468010000000000000000900460ff1615610c0d5782600101805480602002602001604051908101604052809291908181526020018280548015610bec57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bc1575b50505050506080850152825468010000000000000000900460ff1660208501525b610cb0565b815468010000000000000000900460ff90811614610cb05781600101805480602002602001604051908101604052809291908181526020018280548015610c8f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c64575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d7f5782546901000000000000000000900460ff1615610d7a5782600201805480602002602001604051908101604052809291908181526020018280548015610d4257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d17575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e35565b81546901000000000000000000900460ff90811614610e355781600201805480602002602001604051908101604052809291908181526020018280548015610dfd57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dd2575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e3e846118d1565b50505092915050565b600061033c82611cb6565b610e5a611850565b610e646000611d1d565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610ec557610e9f8385610a8d565b604051602001610eaf919061235f565b60405160208183030381529060405290506106f8565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610635565b610f07611850565b73ffffffffffffffffffffffffffffffffffffffff8116610faa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610635565b610fb381611d1d565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061033c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461033c565b6040805180820182526001815267ffffffffffffffff83166020820152905160029060009061107f9088908890612483565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611153918790879086908890612adc565b60405180910390a150505050565b6051821461119b576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111a78484611d92565b60ff16146111e1576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111f28484611db4565b63ffffffff161461122f576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106f86112438484611dc4565b90565b6000611256600d60098486612b61565b61125f91612b8b565b60e01c9392505050565b611274838383611737565b6112aa576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff161561136a5760005b836020015160ff168160ff16101561136857600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061130257611302612493565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905561136181612bd3565b90506112ba565b505b604083015160ff161561122f5760005b836040015160ff168160ff16101561034e576000838152600260209081526040808320858452909152812060a0860151805191929160ff85169081106113c2576113c2612493565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905561142181612bd3565b905061137a565b6000611438602d600d8486612b61565b6106f891612bf2565b6000611451600960018486612b61565b61145a91612c2e565b60c01c9392505050565b61146d81611cb6565b610fb3576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610635565b6114b6828483611922565b6114c08284610a8d565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114f493929190612c74565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016115258787611428565b81526020016115348787611441565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa158015611605573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116299190612caf565b61163757600091505061172e565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117199190612cd1565b0361172857600091505061172e565b60019150505b95945050505050565b602083015160009060ff16156117c25760005b846020015160ff168160ff1610156117aa5761178c85608001518260ff168151811061177857611778612493565b602002602001015185858860000151611dd4565b61179a5760009150506106f8565b6117a381612bd3565b905061174a565b50836040015160ff166000036117c2575060016106f8565b606084015160005b856040015160ff168160ff1610156118445761180c8660a001518260ff16815181106117f8576117f8612493565b602002602001015186868960000151611dd4565b15611834578161181b81612cea565b9250508160ff16600003611834576001925050506106f8565b61183d81612bd3565b90506117ca565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610635565b602081015160ff161580156118eb5750606081015160ff16155b15610fb3576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff908116148061193d5750602081015160ff16155b15611984576080810151511561197f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a03565b806020015160ff168160800151511415806119bf575060026119a8600160ff612d25565b6119b29190612d3e565b60ff16816020015160ff16115b156119f6576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a038160800151611e63565b604081015160ff9081161480611a1e5750604081015160ff16155b15611aa45760a08101515115611a60576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a9f576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7b565b806040015160ff168160a0015151141580611adf57506002611ac8600160ff612d25565b611ad29190612d3e565b60ff16816040015160ff16115b15611b16576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611b375750806040015160ff16816060015160ff16115b15611b6e576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7b8160a00151611e63565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c9293908501920190611f07565b5060a08201518051611cae916002840191602090910190611f07565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106f85750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611da16001828486612b61565b611daa91612d87565b60f81c9392505050565b60006112566031602d8486612b61565b6000611438605160318486612b61565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e5957508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b825181101561122f576000838281518110611e8457611e84612493565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ef3576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b915080611eff816127ad565b915050611e67565b828054828255906000526020600020908101928215611f81579160200282015b82811115611f8157825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611f27565b50611f8d929150611f91565b5090565b5b80821115611f8d5760008155600101611f92565b600060208284031215611fb857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106f857600080fd5b60008083601f840112611ffa57600080fd5b50813567ffffffffffffffff81111561201257600080fd5b60208301915083602082850101111561202a57600080fd5b9250929050565b803567ffffffffffffffff8116811461204957600080fd5b919050565b6000806000806060858703121561206457600080fd5b843567ffffffffffffffff81111561207b57600080fd5b61208787828801611fe8565b909550935050602085013591506120a060408601612031565b905092959194509250565b6000806000604084860312156120c057600080fd5b833567ffffffffffffffff8111156120d757600080fd5b6120e386828701611fe8565b909790965060209590950135949350505050565b60038110610fb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810161213b836120f7565b91905290565b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461216857600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b60008083601f84011261219657600080fd5b50813567ffffffffffffffff8111156121ae57600080fd5b6020830191508360208260051b850101111561202a57600080fd5b6000806000604084860312156121de57600080fd5b6121e784612141565b9250602084013567ffffffffffffffff81111561220357600080fd5b61220f86828701612184565b9497909650939450505050565b6000806020838503121561222f57600080fd5b823567ffffffffffffffff81111561224657600080fd5b61225285828601612184565b90969095509350505050565b803563ffffffff8116811461204957600080fd5b6000806040838503121561228557600080fd5b61228e83612141565b915061229c6020840161225e565b90509250929050565b600081518084526020808501945080840160005b838110156122eb57815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016122b9565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261234660c08501826122a5565b905060a083015184820360a086015261172e82826122a5565b6020815260006106f860208301846122f6565b60008060006060848603121561238757600080fd5b833592506020840135915061239e60408501612141565b90509250925092565b6000602082840312156123b957600080fd5b6106f88261225e565b6000806000606084860312156123d757600080fd5b6123e08461225e565b92506123ee60208501612141565b915061239e6040850161225e565b600060208083528351808285015260005b818110156124295785810183015185820160400152820161240d565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561247a57600080fd5b6106f882612141565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18336030181126124f657600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261253557600080fd5b83018035915067ffffffffffffffff82111561255057600080fd5b60200191503681900382131561202a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156125b7576125b7612565565b60405290565b803560ff8116811461204957600080fd5b600082601f8301126125df57600080fd5b8135602067ffffffffffffffff808311156125fc576125fc612565565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561263f5761263f612565565b60405293845285810183019383810192508785111561265d57600080fd5b83870191505b848210156126835761267482612141565b83529183019190830190612663565b979650505050505050565b600060c082840312156126a057600080fd5b6126a8612594565b90506126b382612031565b81526126c1602083016125bd565b60208201526126d2604083016125bd565b60408201526126e3606083016125bd565b6060820152608082013567ffffffffffffffff8082111561270357600080fd5b61270f858386016125ce565b608084015260a084013591508082111561272857600080fd5b50612735848285016125ce565b60a08301525092915050565b60006020828403121561275357600080fd5b813567ffffffffffffffff81111561276a57600080fd5b6127768482850161268e565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127de576127de61277e565b5060010190565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126124f657600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff418336030181126124f657600080fd5b60006020828403121561285f57600080fd5b6106f8826125bd565b60006020828403121561287a57600080fd5b6106f882612031565b600061033c368361268e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126128c457600080fd5b830160208101925035905067ffffffffffffffff8111156128e457600080fd5b8060051b360382131561202a57600080fd5b8183526000602080850194508260005b858110156122eb5773ffffffffffffffffffffffffffffffffffffffff61292c83612141565b1687529582019590820190600101612906565b60208082528181018390526000906040808401600586901b8501820187855b88811015612ace577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126129c057600080fd5b8b0163ffffffff6129d08261225e565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41823603018112612a0757600080fd5b8589018890520167ffffffffffffffff612a2082612031565b1687860152612a308882016125bd565b606060ff80831682890152612a468a85016125bd565b92506080818416818a0152612a5c8386016125bd565b935060a09250818416838a0152612a758186018661288f565b60c08b81015294509150612a909050610100890184836128f6565b925050612a9f8184018461288f565b93509050838783030160e0880152612ab88284836128f6565b978a01979650505092870192505060010161295e565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612b7157600080fd5b83861115612b7e57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612bcb5780818660040360031b1b83161692505b505092915050565b600060ff821660ff8103612be957612be961277e565b60010192915050565b8035602083101561033c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612bcb5760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061172e60608301846122f6565b600060208284031215612cc157600080fd5b815180151581146106f857600080fd5b600060208284031215612ce357600080fd5b5051919050565b600060ff821680612cfd57612cfd61277e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561033c5761033c61277e565b600060ff831680612d78577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612bcb5760019490940360031b84901b169092169291505056fea26474726f6e58221220af299411e029d1e559e52521a10f1e333388bea714b8145acc99c92cbf251fae64736f6c63430008140033",
733
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b506004361061011a5760003560e01c80633c782a52116100b1578063715018a611610080578063715018a6146102835780638da5cb5b1461028b5780639c33abf7146102b3578063f2fde38b146102d357600080fd5b80633c782a52146101d857806343ea4fa91461023d57806354fd4d50146102505780636750cd4c1461027057600080fd5b806320efd722116100ed57806320efd7221461017f57806327d12cd91461019257806329460b0b146101a557806339e3f938146101b857600080fd5b806301ffc9a71461011f5780630223536e146101475780630894edf11461015c5780631881d94d1461016f575b600080fd5b61013261012d366004611fa6565b6102e6565b60405190151581526020015b60405180910390f35b61015a61015536600461204e565b610342565b005b61015a61016a3660046120ab565b610354565b60015b60405161013e919061212e565b61015a61018d3660046121c9565b6104e6565b6101726101a03660046120ab565b610651565b61015a6101b336600461221c565b6106ff565b6101cb6101c6366004612272565b6108ec565b60405161013e919061235f565b61021d6101e6366004612372565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff90911660208301520161013e565b6101cb61024b366004612272565b610a8d565b60408051600381526000602082015260029181019190915260600161013e565b61013261027e3660046123a7565b610e47565b61015a610e52565b60005460405173ffffffffffffffffffffffffffffffffffffffff909116815260200161013e565b6102c66102c13660046123c2565b610e66565b60405161013e91906123fc565b61015a6102e1366004612468565b610eff565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f2d66924600000000000000000000000000000000000000000000000000000000148061033c575061033c82610fb6565b92915050565b61034e8484848461104d565b50505050565b61037f83837f0000000000000000000000000000000000000000000000000000000000000000611161565b600061038b8484611234565b905060006103998585611246565b905060006103a78383610a8d565b90506103cb8187876040516103bd929190612483565b604051809103902086611269565b600060405180606001604052808463ffffffff1681526020016103ee8989611428565b81526020016103fd8989611441565b67ffffffffffffffff908116909152604080517fa825d747000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff8681166064830152608482018890529192507f00000000000000000000000000000000000000000000000000000000000000009091169063a825d7479060a401600060405180830381600087803b1580156104c557600080fd5b505af11580156104d9573d6000803e3d6000fd5b5050505050505050505050565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314610555576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60005b8181101561034e573683838381811061057357610573612493565b905060200281019061058591906124c2565b905061059c61059760208301836123a7565b611464565b60026105ae60408301602084016123a7565b63ffffffff16036105ee576105e96105c960208301836123a7565b866105d76040850185612500565b8101906105e49190612741565b6114ab565b61063e565b6105fe60408201602083016123a7565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff90911660048201526024015b60405180910390fd5b5080610649816127ad565b915050610558565b600061067e84847f0000000000000000000000000000000000000000000000000000000000000000611161565b600061068a8585611234565b905060006106988686611246565b90506106a78183888888611501565b6106b6576002925050506106f8565b6106e16106c38383610a8d565b87876040516106d3929190612483565b604051809103902086611737565b156106f1576001925050506106f8565b6000925050505b9392505050565b610707611850565b60005b818110156108ae573683838381811061072557610725612493565b905060200281019061073791906127e5565b905060ff6107486020830183612819565b61075990604081019060200161284d565b60ff1603610793576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6107a26020830183612819565b6107b390606081019060400161284d565b60ff16036107ed576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6108036020830183612819565b610811906020810190612868565b67ffffffffffffffff1603610852576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108706108626020830183612819565b61086b90612883565b6118d1565b61089d600061088260208401846123a7565b61088f6020850185612819565b61089890612883565b611922565b506108a7816127ad565b905061070a565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b56082826040516108e092919061293f565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a01000000000000000000009091041660608201529281018054855181850281018501909652808652939491936080860193830182828015610a0d57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116109e2575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020018280548015610a7c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a51575b505050505081525050905092915050565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610b3d57825467ffffffffffffffff168452610b5c565b67ffffffffffffffff81811614610b5c5767ffffffffffffffff811684525b815468010000000000000000900460ff16610c1257825468010000000000000000900460ff1615610c0d5782600101805480602002602001604051908101604052809291908181526020018280548015610bec57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bc1575b50505050506080850152825468010000000000000000900460ff1660208501525b610cb0565b815468010000000000000000900460ff90811614610cb05781600101805480602002602001604051908101604052809291908181526020018280548015610c8f57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610c64575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610d7f5782546901000000000000000000900460ff1615610d7a5782600201805480602002602001604051908101604052809291908181526020018280548015610d4257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610d17575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e35565b81546901000000000000000000900460ff90811614610e355781600201805480602002602001604051908101604052809291908181526020018280548015610dfd57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610dd2575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610e3e846118d1565b50505092915050565b600061033c82611cb6565b610e5a611850565b610e646000611d1d565b565b60607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe63ffffffff831601610ec557610e9f8385610a8d565b604051602001610eaf919061235f565b60405160208183030381529060405290506106f8565b6040517f3018cc2b00000000000000000000000000000000000000000000000000000000815263ffffffff83166004820152602401610635565b610f07611850565b73ffffffffffffffffffffffffffffffffffffffff8116610faa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610635565b610fb381611d1d565b50565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f97f0258400000000000000000000000000000000000000000000000000000000148061033c57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff0000000000000000000000000000000000000000000000000000000083161461033c565b6040805180820182526001815267ffffffffffffffff83166020820152905160029060009061107f9088908890612483565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab5691611153918790879086908890612adc565b60405180910390a150505050565b6051821461119b576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60016111a78484611d92565b60ff16146111e1576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff166111f28484611db4565b63ffffffff161461122f576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b60006106f86112438484611dc4565b90565b6000611256600d60098486612b61565b61125f91612b8b565b60e01c9392505050565b611274838383611737565b6112aa576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff161561136a5760005b836020015160ff168160ff16101561136857600083815260026020908152604080832085845290915281206080860151805191929160ff851690811061130257611302612493565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905561136181612bd3565b90506112ba565b505b604083015160ff161561122f5760005b836040015160ff168160ff16101561034e576000838152600260209081526040808320858452909152812060a0860151805191929160ff85169081106113c2576113c2612493565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff00000000000000000016905561142181612bd3565b905061137a565b6000611438602d600d8486612b61565b6106f891612bf2565b6000611451600960018486612b61565b61145a91612c2e565b60c01c9392505050565b61146d81611cb6565b610fb3576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610635565b6114b6828483611922565b6114c08284610a8d565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516114f493929190612c74565b60405180910390a1505050565b60008060405180606001604052808863ffffffff1681526020016115258787611428565b81526020016115348787611441565b67ffffffffffffffff908116909152604080517fe1e3a7df000000000000000000000000000000000000000000000000000000008152835163ffffffff1660048201526020840151602482015290830151909116604482015273ffffffffffffffffffffffffffffffffffffffff888116606483015230608483015260a482018690529192507f00000000000000000000000000000000000000000000000000000000000000009091169063e1e3a7df9060c401602060405180830381865afa158015611605573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116299190612caf565b61163757600091505061172e565b8051602082015160408084015190517fc9fc7bcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8a8116600483015263ffffffff9094166024820152604481019290925267ffffffffffffffff16606482015284917f0000000000000000000000000000000000000000000000000000000000000000169063c9fc7bcd90608401602060405180830381865afa1580156116f5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117199190612cd1565b0361172857600091505061172e565b60019150505b95945050505050565b602083015160009060ff16156117c25760005b846020015160ff168160ff1610156117aa5761178c85608001518260ff168151811061177857611778612493565b602002602001015185858860000151611dd4565b61179a5760009150506106f8565b6117a381612bd3565b905061174a565b50836040015160ff166000036117c2575060016106f8565b606084015160005b856040015160ff168160ff1610156118445761180c8660a001518260ff16815181106117f8576117f8612493565b602002602001015186868960000151611dd4565b15611834578161181b81612cea565b9250508160ff16600003611834576001925050506106f8565b61183d81612bd3565b90506117ca565b50600095945050505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610e64576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610635565b602081015160ff161580156118eb5750606081015160ff16155b15610fb3576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff908116148061193d5750602081015160ff16155b15611984576080810151511561197f576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a03565b806020015160ff168160800151511415806119bf575060026119a8600160ff612d25565b6119b29190612d3e565b60ff16816020015160ff16115b156119f6576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611a038160800151611e63565b604081015160ff9081161480611a1e5750604081015160ff16155b15611aa45760a08101515115611a60576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611a9f576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7b565b806040015160ff168160a0015151141580611adf57506002611ac8600160ff612d25565b611ad29190612d3e565b60ff16816040015160ff16115b15611b16576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff161580611b375750806040015160ff16816060015160ff16115b15611b6e576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611b7b8160a00151611e63565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a0100000000000000000000959091169490940293909317835560808401518051859493611c9293908501920190611f07565b5060a08201518051611cae916002840191602090910190611f07565b505050505050565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806106f85750546a0100000000000000000000900460ff16151592915050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000611da16001828486612b61565b611daa91612d87565b60f81c9392505050565b60006112566031602d8486612b61565b6000611438605160318486612b61565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff16938301939093529091611e5957508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b6000805b825181101561122f576000838281518110611e8457611e84612493565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611ef3576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b915080611eff816127ad565b915050611e67565b828054828255906000526020600020908101928215611f81579160200282015b82811115611f8157825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190611f27565b50611f8d929150611f91565b5090565b5b80821115611f8d5760008155600101611f92565b600060208284031215611fb857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146106f857600080fd5b60008083601f840112611ffa57600080fd5b50813567ffffffffffffffff81111561201257600080fd5b60208301915083602082850101111561202a57600080fd5b9250929050565b803567ffffffffffffffff8116811461204957600080fd5b919050565b6000806000806060858703121561206457600080fd5b843567ffffffffffffffff81111561207b57600080fd5b61208787828801611fe8565b909550935050602085013591506120a060408601612031565b905092959194509250565b6000806000604084860312156120c057600080fd5b833567ffffffffffffffff8111156120d757600080fd5b6120e386828701611fe8565b909790965060209590950135949350505050565b60038110610fb3577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6020810161213b836120f7565b91905290565b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461216857600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b60008083601f84011261219657600080fd5b50813567ffffffffffffffff8111156121ae57600080fd5b6020830191508360208260051b850101111561202a57600080fd5b6000806000604084860312156121de57600080fd5b6121e784612141565b9250602084013567ffffffffffffffff81111561220357600080fd5b61220f86828701612184565b9497909650939450505050565b6000806020838503121561222f57600080fd5b823567ffffffffffffffff81111561224657600080fd5b61225285828601612184565b90969095509350505050565b803563ffffffff8116811461204957600080fd5b6000806040838503121561228557600080fd5b61228e83612141565b915061229c6020840161225e565b90509250929050565b600081518084526020808501945080840160005b838110156122eb57815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016122b9565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261234660c08501826122a5565b905060a083015184820360a086015261172e82826122a5565b6020815260006106f860208301846122f6565b60008060006060848603121561238757600080fd5b833592506020840135915061239e60408501612141565b90509250925092565b6000602082840312156123b957600080fd5b6106f88261225e565b6000806000606084860312156123d757600080fd5b6123e08461225e565b92506123ee60208501612141565b915061239e6040850161225e565b600060208083528351808285015260005b818110156124295785810183015185820160400152820161240d565b5060006040828601015260407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8301168501019250505092915050565b60006020828403121561247a57600080fd5b6106f882612141565b8183823760009101908152919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa18336030181126124f657600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261253557600080fd5b83018035915067ffffffffffffffff82111561255057600080fd5b60200191503681900382131561202a57600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff811182821017156125b7576125b7612565565b60405290565b803560ff8116811461204957600080fd5b600082601f8301126125df57600080fd5b8135602067ffffffffffffffff808311156125fc576125fc612565565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f8301168101818110848211171561263f5761263f612565565b60405293845285810183019383810192508785111561265d57600080fd5b83870191505b848210156126835761267482612141565b83529183019190830190612663565b979650505050505050565b600060c082840312156126a057600080fd5b6126a8612594565b90506126b382612031565b81526126c1602083016125bd565b60208201526126d2604083016125bd565b60408201526126e3606083016125bd565b6060820152608082013567ffffffffffffffff8082111561270357600080fd5b61270f858386016125ce565b608084015260a084013591508082111561272857600080fd5b50612735848285016125ce565b60a08301525092915050565b60006020828403121561275357600080fd5b813567ffffffffffffffff81111561276a57600080fd5b6127768482850161268e565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127de576127de61277e565b5060010190565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18336030181126124f657600080fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff418336030181126124f657600080fd5b60006020828403121561285f57600080fd5b6106f8826125bd565b60006020828403121561287a57600080fd5b6106f882612031565b600061033c368361268e565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe18436030181126128c457600080fd5b830160208101925035905067ffffffffffffffff8111156128e457600080fd5b8060051b360382131561202a57600080fd5b8183526000602080850194508260005b858110156122eb5773ffffffffffffffffffffffffffffffffffffffff61292c83612141565b1687529582019590820190600101612906565b60208082528181018390526000906040808401600586901b8501820187855b88811015612ace577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c36030181126129c057600080fd5b8b0163ffffffff6129d08261225e565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41823603018112612a0757600080fd5b8589018890520167ffffffffffffffff612a2082612031565b1687860152612a308882016125bd565b606060ff80831682890152612a468a85016125bd565b92506080818416818a0152612a5c8386016125bd565b935060a09250818416838a0152612a758186018661288f565b60c08b81015294509150612a909050610100890184836128f6565b925050612a9f8184018461288f565b93509050838783030160e0880152612ab88284836128f6565b978a01979650505092870192505060010161295e565b509098975050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60008085851115612b7157600080fd5b83861115612b7e57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015612bcb5780818660040360031b1b83161692505b505092915050565b600060ff821660ff8103612be957612be961277e565b60010192915050565b8035602083101561033c577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b7fffffffffffffffff0000000000000000000000000000000000000000000000008135818116916008851015612bcb5760089490940360031b84901b1690921692915050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061172e60608301846122f6565b600060208284031215612cc157600080fd5b815180151581146106f857600080fd5b600060208284031215612ce357600080fd5b5051919050565b600060ff821680612cfd57612cfd61277e565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60ff828116828216039081111561033c5761033c61277e565b600060ff831680612d78577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b7fff000000000000000000000000000000000000000000000000000000000000008135818116916001851015612bcb5760019490940360031b84901b169092169291505056fea26474726f6e58221220af299411e029d1e559e52521a10f1e333388bea714b8145acc99c92cbf251fae64736f6c63430008140033",
734
+ "devdoc": {
735
+ "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",
736
+ "kind": "dev",
737
+ "methods": {
738
+ "commitVerification(bytes,bytes32)": {
739
+ "details": "dont need to check endpoint verifiable here to save gas, as it will reverts if not verifiable."
740
+ },
741
+ "getAppUlnConfig(address,uint32)": {
742
+ "details": "Get the uln config without the default config for the given remoteEid."
743
+ },
744
+ "owner()": {
745
+ "details": "Returns the address of the current owner."
746
+ },
747
+ "renounceOwnership()": {
748
+ "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."
749
+ },
750
+ "setDefaultUlnConfigs((uint32,(uint64,uint8,uint8,uint8,address[],address[]))[])": {
751
+ "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"
752
+ },
753
+ "transferOwnership(address)": {
754
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
755
+ },
756
+ "verifiable(bytes,bytes32)": {
757
+ "details": "a ULN verifiable requires it to be endpoint verifiable and committable"
758
+ },
759
+ "verify(bytes,bytes32,uint64)": {
760
+ "details": "for dvn to verify the payload"
761
+ }
762
+ },
763
+ "stateVariables": {
764
+ "CONFIG_TYPE_ULN": {
765
+ "details": "CONFIG_TYPE_ULN=2 here to align with SendUln302/ReceiveUln302/ReceiveUln301"
766
+ }
767
+ },
768
+ "version": 1
769
+ },
770
+ "userdoc": {
771
+ "kind": "user",
772
+ "methods": {},
773
+ "version": 1
774
+ },
775
+ "storageLayout": {
776
+ "storage": [
777
+ {
778
+ "astId": 6813,
779
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
780
+ "label": "_owner",
781
+ "offset": 0,
782
+ "slot": "0",
783
+ "type": "t_address"
784
+ },
785
+ {
786
+ "astId": 16448,
787
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
788
+ "label": "ulnConfigs",
789
+ "offset": 0,
790
+ "slot": "1",
791
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)16397_storage))"
792
+ },
793
+ {
794
+ "astId": 15554,
795
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
796
+ "label": "hashLookup",
797
+ "offset": 0,
798
+ "slot": "2",
799
+ "type": "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage)))"
800
+ }
801
+ ],
802
+ "types": {
803
+ "t_address": {
804
+ "encoding": "inplace",
805
+ "label": "address",
806
+ "numberOfBytes": "20"
807
+ },
808
+ "t_array(t_address)dyn_storage": {
809
+ "base": "t_address",
810
+ "encoding": "dynamic_array",
811
+ "label": "address[]",
812
+ "numberOfBytes": "32"
813
+ },
814
+ "t_bool": {
815
+ "encoding": "inplace",
816
+ "label": "bool",
817
+ "numberOfBytes": "1"
818
+ },
819
+ "t_bytes32": {
820
+ "encoding": "inplace",
821
+ "label": "bytes32",
822
+ "numberOfBytes": "32"
823
+ },
824
+ "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)16397_storage))": {
825
+ "encoding": "mapping",
826
+ "key": "t_address",
827
+ "label": "mapping(address => mapping(uint32 => struct UlnConfig))",
828
+ "numberOfBytes": "32",
829
+ "value": "t_mapping(t_uint32,t_struct(UlnConfig)16397_storage)"
830
+ },
831
+ "t_mapping(t_address,t_struct(Verification)15539_storage)": {
832
+ "encoding": "mapping",
833
+ "key": "t_address",
834
+ "label": "mapping(address => struct Verification)",
835
+ "numberOfBytes": "32",
836
+ "value": "t_struct(Verification)15539_storage"
837
+ },
838
+ "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage))": {
839
+ "encoding": "mapping",
840
+ "key": "t_bytes32",
841
+ "label": "mapping(bytes32 => mapping(address => struct Verification))",
842
+ "numberOfBytes": "32",
843
+ "value": "t_mapping(t_address,t_struct(Verification)15539_storage)"
844
+ },
845
+ "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage)))": {
846
+ "encoding": "mapping",
847
+ "key": "t_bytes32",
848
+ "label": "mapping(bytes32 => mapping(bytes32 => mapping(address => struct Verification)))",
849
+ "numberOfBytes": "32",
850
+ "value": "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage))"
851
+ },
852
+ "t_mapping(t_uint32,t_struct(UlnConfig)16397_storage)": {
853
+ "encoding": "mapping",
854
+ "key": "t_uint32",
855
+ "label": "mapping(uint32 => struct UlnConfig)",
856
+ "numberOfBytes": "32",
857
+ "value": "t_struct(UlnConfig)16397_storage"
858
+ },
859
+ "t_struct(UlnConfig)16397_storage": {
860
+ "encoding": "inplace",
861
+ "label": "struct UlnConfig",
862
+ "members": [
863
+ {
864
+ "astId": 16384,
865
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
866
+ "label": "confirmations",
867
+ "offset": 0,
868
+ "slot": "0",
869
+ "type": "t_uint64"
870
+ },
871
+ {
872
+ "astId": 16386,
873
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
874
+ "label": "requiredDVNCount",
875
+ "offset": 8,
876
+ "slot": "0",
877
+ "type": "t_uint8"
878
+ },
879
+ {
880
+ "astId": 16388,
881
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
882
+ "label": "optionalDVNCount",
883
+ "offset": 9,
884
+ "slot": "0",
885
+ "type": "t_uint8"
886
+ },
887
+ {
888
+ "astId": 16390,
889
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
890
+ "label": "optionalDVNThreshold",
891
+ "offset": 10,
892
+ "slot": "0",
893
+ "type": "t_uint8"
894
+ },
895
+ {
896
+ "astId": 16393,
897
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
898
+ "label": "requiredDVNs",
899
+ "offset": 0,
900
+ "slot": "1",
901
+ "type": "t_array(t_address)dyn_storage"
902
+ },
903
+ {
904
+ "astId": 16396,
905
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
906
+ "label": "optionalDVNs",
907
+ "offset": 0,
908
+ "slot": "2",
909
+ "type": "t_array(t_address)dyn_storage"
910
+ }
911
+ ],
912
+ "numberOfBytes": "96"
913
+ },
914
+ "t_struct(Verification)15539_storage": {
915
+ "encoding": "inplace",
916
+ "label": "struct Verification",
917
+ "members": [
918
+ {
919
+ "astId": 15536,
920
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
921
+ "label": "submitted",
922
+ "offset": 0,
923
+ "slot": "0",
924
+ "type": "t_bool"
925
+ },
926
+ {
927
+ "astId": 15538,
928
+ "contract": "contracts/uln/uln302/ReceiveUln302.sol:ReceiveUln302",
929
+ "label": "confirmations",
930
+ "offset": 1,
931
+ "slot": "0",
932
+ "type": "t_uint64"
933
+ }
934
+ ],
935
+ "numberOfBytes": "32"
936
+ },
937
+ "t_uint32": {
938
+ "encoding": "inplace",
939
+ "label": "uint32",
940
+ "numberOfBytes": "4"
941
+ },
942
+ "t_uint64": {
943
+ "encoding": "inplace",
944
+ "label": "uint64",
945
+ "numberOfBytes": "8"
946
+ },
947
+ "t_uint8": {
948
+ "encoding": "inplace",
949
+ "label": "uint8",
950
+ "numberOfBytes": "1"
951
+ }
952
+ }
953
+ }
954
+ }