@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,1264 @@
1
+ {
2
+ "address": "0x27F7facdd609b0aED047BC994B6D04D515f3DE84",
3
+ "abi": [
4
+ {
5
+ "inputs": [
6
+ {
7
+ "internalType": "address",
8
+ "name": "_endpoint",
9
+ "type": "address"
10
+ },
11
+ {
12
+ "internalType": "uint32",
13
+ "name": "_localEid",
14
+ "type": "uint32"
15
+ }
16
+ ],
17
+ "stateMutability": "nonpayable",
18
+ "type": "constructor"
19
+ },
20
+ {
21
+ "inputs": [],
22
+ "name": "AddressSizeAlreadySet",
23
+ "type": "error"
24
+ },
25
+ {
26
+ "inputs": [],
27
+ "name": "AtLeastOneDVN",
28
+ "type": "error"
29
+ },
30
+ {
31
+ "inputs": [],
32
+ "name": "InvalidAddressSize",
33
+ "type": "error"
34
+ },
35
+ {
36
+ "inputs": [
37
+ {
38
+ "internalType": "uint256",
39
+ "name": "configType",
40
+ "type": "uint256"
41
+ }
42
+ ],
43
+ "name": "InvalidConfigType",
44
+ "type": "error"
45
+ },
46
+ {
47
+ "inputs": [],
48
+ "name": "InvalidConfirmations",
49
+ "type": "error"
50
+ },
51
+ {
52
+ "inputs": [],
53
+ "name": "InvalidEid",
54
+ "type": "error"
55
+ },
56
+ {
57
+ "inputs": [],
58
+ "name": "InvalidExecutor",
59
+ "type": "error"
60
+ },
61
+ {
62
+ "inputs": [],
63
+ "name": "InvalidOptionalDVNCount",
64
+ "type": "error"
65
+ },
66
+ {
67
+ "inputs": [],
68
+ "name": "InvalidOptionalDVNThreshold",
69
+ "type": "error"
70
+ },
71
+ {
72
+ "inputs": [],
73
+ "name": "InvalidPacketHeader",
74
+ "type": "error"
75
+ },
76
+ {
77
+ "inputs": [],
78
+ "name": "InvalidPacketVersion",
79
+ "type": "error"
80
+ },
81
+ {
82
+ "inputs": [],
83
+ "name": "InvalidRequiredDVNCount",
84
+ "type": "error"
85
+ },
86
+ {
87
+ "inputs": [],
88
+ "name": "InvalidSizeForAddress",
89
+ "type": "error"
90
+ },
91
+ {
92
+ "inputs": [],
93
+ "name": "OnlyEndpoint",
94
+ "type": "error"
95
+ },
96
+ {
97
+ "inputs": [],
98
+ "name": "OnlyExecutor",
99
+ "type": "error"
100
+ },
101
+ {
102
+ "inputs": [],
103
+ "name": "Unsorted",
104
+ "type": "error"
105
+ },
106
+ {
107
+ "inputs": [
108
+ {
109
+ "internalType": "uint32",
110
+ "name": "eid",
111
+ "type": "uint32"
112
+ }
113
+ ],
114
+ "name": "UnsupportedEid",
115
+ "type": "error"
116
+ },
117
+ {
118
+ "inputs": [],
119
+ "name": "Verifying",
120
+ "type": "error"
121
+ },
122
+ {
123
+ "anonymous": false,
124
+ "inputs": [
125
+ {
126
+ "indexed": false,
127
+ "internalType": "uint16",
128
+ "name": "eid",
129
+ "type": "uint16"
130
+ },
131
+ {
132
+ "indexed": false,
133
+ "internalType": "uint256",
134
+ "name": "size",
135
+ "type": "uint256"
136
+ }
137
+ ],
138
+ "name": "AddressSizeSet",
139
+ "type": "event"
140
+ },
141
+ {
142
+ "anonymous": false,
143
+ "inputs": [
144
+ {
145
+ "components": [
146
+ {
147
+ "internalType": "uint32",
148
+ "name": "eid",
149
+ "type": "uint32"
150
+ },
151
+ {
152
+ "internalType": "address",
153
+ "name": "executor",
154
+ "type": "address"
155
+ }
156
+ ],
157
+ "indexed": false,
158
+ "internalType": "struct SetDefaultExecutorParam[]",
159
+ "name": "params",
160
+ "type": "tuple[]"
161
+ }
162
+ ],
163
+ "name": "DefaultExecutorsSet",
164
+ "type": "event"
165
+ },
166
+ {
167
+ "anonymous": false,
168
+ "inputs": [
169
+ {
170
+ "components": [
171
+ {
172
+ "internalType": "uint32",
173
+ "name": "eid",
174
+ "type": "uint32"
175
+ },
176
+ {
177
+ "components": [
178
+ {
179
+ "internalType": "uint64",
180
+ "name": "confirmations",
181
+ "type": "uint64"
182
+ },
183
+ {
184
+ "internalType": "uint8",
185
+ "name": "requiredDVNCount",
186
+ "type": "uint8"
187
+ },
188
+ {
189
+ "internalType": "uint8",
190
+ "name": "optionalDVNCount",
191
+ "type": "uint8"
192
+ },
193
+ {
194
+ "internalType": "uint8",
195
+ "name": "optionalDVNThreshold",
196
+ "type": "uint8"
197
+ },
198
+ {
199
+ "internalType": "address[]",
200
+ "name": "requiredDVNs",
201
+ "type": "address[]"
202
+ },
203
+ {
204
+ "internalType": "address[]",
205
+ "name": "optionalDVNs",
206
+ "type": "address[]"
207
+ }
208
+ ],
209
+ "internalType": "struct UlnConfig",
210
+ "name": "config",
211
+ "type": "tuple"
212
+ }
213
+ ],
214
+ "indexed": false,
215
+ "internalType": "struct SetDefaultUlnConfigParam[]",
216
+ "name": "params",
217
+ "type": "tuple[]"
218
+ }
219
+ ],
220
+ "name": "DefaultUlnConfigsSet",
221
+ "type": "event"
222
+ },
223
+ {
224
+ "anonymous": false,
225
+ "inputs": [
226
+ {
227
+ "indexed": false,
228
+ "internalType": "address",
229
+ "name": "oapp",
230
+ "type": "address"
231
+ },
232
+ {
233
+ "indexed": false,
234
+ "internalType": "uint32",
235
+ "name": "eid",
236
+ "type": "uint32"
237
+ },
238
+ {
239
+ "indexed": false,
240
+ "internalType": "address",
241
+ "name": "executor",
242
+ "type": "address"
243
+ }
244
+ ],
245
+ "name": "ExecutorSet",
246
+ "type": "event"
247
+ },
248
+ {
249
+ "anonymous": false,
250
+ "inputs": [
251
+ {
252
+ "indexed": true,
253
+ "internalType": "uint16",
254
+ "name": "srcChainId",
255
+ "type": "uint16"
256
+ },
257
+ {
258
+ "indexed": false,
259
+ "internalType": "bytes32",
260
+ "name": "srcAddress",
261
+ "type": "bytes32"
262
+ },
263
+ {
264
+ "indexed": true,
265
+ "internalType": "address",
266
+ "name": "dstAddress",
267
+ "type": "address"
268
+ },
269
+ {
270
+ "indexed": false,
271
+ "internalType": "uint64",
272
+ "name": "nonce",
273
+ "type": "uint64"
274
+ },
275
+ {
276
+ "indexed": false,
277
+ "internalType": "bytes32",
278
+ "name": "payloadHash",
279
+ "type": "bytes32"
280
+ }
281
+ ],
282
+ "name": "InvalidDst",
283
+ "type": "event"
284
+ },
285
+ {
286
+ "anonymous": false,
287
+ "inputs": [
288
+ {
289
+ "indexed": true,
290
+ "internalType": "address",
291
+ "name": "previousOwner",
292
+ "type": "address"
293
+ },
294
+ {
295
+ "indexed": true,
296
+ "internalType": "address",
297
+ "name": "newOwner",
298
+ "type": "address"
299
+ }
300
+ ],
301
+ "name": "OwnershipTransferred",
302
+ "type": "event"
303
+ },
304
+ {
305
+ "anonymous": false,
306
+ "inputs": [
307
+ {
308
+ "components": [
309
+ {
310
+ "internalType": "uint32",
311
+ "name": "srcEid",
312
+ "type": "uint32"
313
+ },
314
+ {
315
+ "internalType": "bytes32",
316
+ "name": "sender",
317
+ "type": "bytes32"
318
+ },
319
+ {
320
+ "internalType": "uint64",
321
+ "name": "nonce",
322
+ "type": "uint64"
323
+ }
324
+ ],
325
+ "indexed": false,
326
+ "internalType": "struct Origin",
327
+ "name": "origin",
328
+ "type": "tuple"
329
+ },
330
+ {
331
+ "indexed": false,
332
+ "internalType": "address",
333
+ "name": "receiver",
334
+ "type": "address"
335
+ }
336
+ ],
337
+ "name": "PacketDelivered",
338
+ "type": "event"
339
+ },
340
+ {
341
+ "anonymous": false,
342
+ "inputs": [
343
+ {
344
+ "indexed": false,
345
+ "internalType": "address",
346
+ "name": "dvn",
347
+ "type": "address"
348
+ },
349
+ {
350
+ "indexed": false,
351
+ "internalType": "bytes",
352
+ "name": "header",
353
+ "type": "bytes"
354
+ },
355
+ {
356
+ "indexed": false,
357
+ "internalType": "uint256",
358
+ "name": "confirmations",
359
+ "type": "uint256"
360
+ },
361
+ {
362
+ "indexed": false,
363
+ "internalType": "bytes32",
364
+ "name": "proofHash",
365
+ "type": "bytes32"
366
+ }
367
+ ],
368
+ "name": "PayloadVerified",
369
+ "type": "event"
370
+ },
371
+ {
372
+ "anonymous": false,
373
+ "inputs": [
374
+ {
375
+ "indexed": false,
376
+ "internalType": "address",
377
+ "name": "oapp",
378
+ "type": "address"
379
+ },
380
+ {
381
+ "indexed": false,
382
+ "internalType": "uint32",
383
+ "name": "eid",
384
+ "type": "uint32"
385
+ },
386
+ {
387
+ "components": [
388
+ {
389
+ "internalType": "uint64",
390
+ "name": "confirmations",
391
+ "type": "uint64"
392
+ },
393
+ {
394
+ "internalType": "uint8",
395
+ "name": "requiredDVNCount",
396
+ "type": "uint8"
397
+ },
398
+ {
399
+ "internalType": "uint8",
400
+ "name": "optionalDVNCount",
401
+ "type": "uint8"
402
+ },
403
+ {
404
+ "internalType": "uint8",
405
+ "name": "optionalDVNThreshold",
406
+ "type": "uint8"
407
+ },
408
+ {
409
+ "internalType": "address[]",
410
+ "name": "requiredDVNs",
411
+ "type": "address[]"
412
+ },
413
+ {
414
+ "internalType": "address[]",
415
+ "name": "optionalDVNs",
416
+ "type": "address[]"
417
+ }
418
+ ],
419
+ "indexed": false,
420
+ "internalType": "struct UlnConfig",
421
+ "name": "config",
422
+ "type": "tuple"
423
+ }
424
+ ],
425
+ "name": "UlnConfigSet",
426
+ "type": "event"
427
+ },
428
+ {
429
+ "inputs": [
430
+ {
431
+ "internalType": "uint32",
432
+ "name": "dstEid",
433
+ "type": "uint32"
434
+ }
435
+ ],
436
+ "name": "addressSizes",
437
+ "outputs": [
438
+ {
439
+ "internalType": "uint256",
440
+ "name": "size",
441
+ "type": "uint256"
442
+ }
443
+ ],
444
+ "stateMutability": "view",
445
+ "type": "function"
446
+ },
447
+ {
448
+ "inputs": [
449
+ {
450
+ "internalType": "bytes",
451
+ "name": "_packet",
452
+ "type": "bytes"
453
+ },
454
+ {
455
+ "internalType": "uint256",
456
+ "name": "_gasLimit",
457
+ "type": "uint256"
458
+ }
459
+ ],
460
+ "name": "commitVerification",
461
+ "outputs": [],
462
+ "stateMutability": "nonpayable",
463
+ "type": "function"
464
+ },
465
+ {
466
+ "inputs": [
467
+ {
468
+ "internalType": "uint32",
469
+ "name": "eid",
470
+ "type": "uint32"
471
+ }
472
+ ],
473
+ "name": "defaultExecutors",
474
+ "outputs": [
475
+ {
476
+ "internalType": "address",
477
+ "name": "executor",
478
+ "type": "address"
479
+ }
480
+ ],
481
+ "stateMutability": "view",
482
+ "type": "function"
483
+ },
484
+ {
485
+ "inputs": [
486
+ {
487
+ "internalType": "bytes",
488
+ "name": "_packetHeader",
489
+ "type": "bytes"
490
+ },
491
+ {
492
+ "internalType": "bytes32",
493
+ "name": "_payloadHash",
494
+ "type": "bytes32"
495
+ }
496
+ ],
497
+ "name": "executable",
498
+ "outputs": [
499
+ {
500
+ "internalType": "enum ExecutionState",
501
+ "name": "",
502
+ "type": "uint8"
503
+ }
504
+ ],
505
+ "stateMutability": "view",
506
+ "type": "function"
507
+ },
508
+ {
509
+ "inputs": [
510
+ {
511
+ "internalType": "address",
512
+ "name": "oapp",
513
+ "type": "address"
514
+ },
515
+ {
516
+ "internalType": "uint32",
517
+ "name": "eid",
518
+ "type": "uint32"
519
+ }
520
+ ],
521
+ "name": "executors",
522
+ "outputs": [
523
+ {
524
+ "internalType": "address",
525
+ "name": "executor",
526
+ "type": "address"
527
+ }
528
+ ],
529
+ "stateMutability": "view",
530
+ "type": "function"
531
+ },
532
+ {
533
+ "inputs": [
534
+ {
535
+ "internalType": "address",
536
+ "name": "_oapp",
537
+ "type": "address"
538
+ },
539
+ {
540
+ "internalType": "uint32",
541
+ "name": "_remoteEid",
542
+ "type": "uint32"
543
+ }
544
+ ],
545
+ "name": "getAppUlnConfig",
546
+ "outputs": [
547
+ {
548
+ "components": [
549
+ {
550
+ "internalType": "uint64",
551
+ "name": "confirmations",
552
+ "type": "uint64"
553
+ },
554
+ {
555
+ "internalType": "uint8",
556
+ "name": "requiredDVNCount",
557
+ "type": "uint8"
558
+ },
559
+ {
560
+ "internalType": "uint8",
561
+ "name": "optionalDVNCount",
562
+ "type": "uint8"
563
+ },
564
+ {
565
+ "internalType": "uint8",
566
+ "name": "optionalDVNThreshold",
567
+ "type": "uint8"
568
+ },
569
+ {
570
+ "internalType": "address[]",
571
+ "name": "requiredDVNs",
572
+ "type": "address[]"
573
+ },
574
+ {
575
+ "internalType": "address[]",
576
+ "name": "optionalDVNs",
577
+ "type": "address[]"
578
+ }
579
+ ],
580
+ "internalType": "struct UlnConfig",
581
+ "name": "",
582
+ "type": "tuple"
583
+ }
584
+ ],
585
+ "stateMutability": "view",
586
+ "type": "function"
587
+ },
588
+ {
589
+ "inputs": [
590
+ {
591
+ "internalType": "uint16",
592
+ "name": "_eid",
593
+ "type": "uint16"
594
+ },
595
+ {
596
+ "internalType": "address",
597
+ "name": "_oapp",
598
+ "type": "address"
599
+ },
600
+ {
601
+ "internalType": "uint256",
602
+ "name": "_configType",
603
+ "type": "uint256"
604
+ }
605
+ ],
606
+ "name": "getConfig",
607
+ "outputs": [
608
+ {
609
+ "internalType": "bytes",
610
+ "name": "",
611
+ "type": "bytes"
612
+ }
613
+ ],
614
+ "stateMutability": "view",
615
+ "type": "function"
616
+ },
617
+ {
618
+ "inputs": [
619
+ {
620
+ "internalType": "address",
621
+ "name": "_oapp",
622
+ "type": "address"
623
+ },
624
+ {
625
+ "internalType": "uint32",
626
+ "name": "_remoteEid",
627
+ "type": "uint32"
628
+ }
629
+ ],
630
+ "name": "getExecutor",
631
+ "outputs": [
632
+ {
633
+ "internalType": "address",
634
+ "name": "",
635
+ "type": "address"
636
+ }
637
+ ],
638
+ "stateMutability": "view",
639
+ "type": "function"
640
+ },
641
+ {
642
+ "inputs": [
643
+ {
644
+ "internalType": "address",
645
+ "name": "_oapp",
646
+ "type": "address"
647
+ },
648
+ {
649
+ "internalType": "uint32",
650
+ "name": "_remoteEid",
651
+ "type": "uint32"
652
+ }
653
+ ],
654
+ "name": "getUlnConfig",
655
+ "outputs": [
656
+ {
657
+ "components": [
658
+ {
659
+ "internalType": "uint64",
660
+ "name": "confirmations",
661
+ "type": "uint64"
662
+ },
663
+ {
664
+ "internalType": "uint8",
665
+ "name": "requiredDVNCount",
666
+ "type": "uint8"
667
+ },
668
+ {
669
+ "internalType": "uint8",
670
+ "name": "optionalDVNCount",
671
+ "type": "uint8"
672
+ },
673
+ {
674
+ "internalType": "uint8",
675
+ "name": "optionalDVNThreshold",
676
+ "type": "uint8"
677
+ },
678
+ {
679
+ "internalType": "address[]",
680
+ "name": "requiredDVNs",
681
+ "type": "address[]"
682
+ },
683
+ {
684
+ "internalType": "address[]",
685
+ "name": "optionalDVNs",
686
+ "type": "address[]"
687
+ }
688
+ ],
689
+ "internalType": "struct UlnConfig",
690
+ "name": "rtnConfig",
691
+ "type": "tuple"
692
+ }
693
+ ],
694
+ "stateMutability": "view",
695
+ "type": "function"
696
+ },
697
+ {
698
+ "inputs": [
699
+ {
700
+ "internalType": "bytes32",
701
+ "name": "headerHash",
702
+ "type": "bytes32"
703
+ },
704
+ {
705
+ "internalType": "bytes32",
706
+ "name": "payloadHash",
707
+ "type": "bytes32"
708
+ },
709
+ {
710
+ "internalType": "address",
711
+ "name": "dvn",
712
+ "type": "address"
713
+ }
714
+ ],
715
+ "name": "hashLookup",
716
+ "outputs": [
717
+ {
718
+ "internalType": "bool",
719
+ "name": "submitted",
720
+ "type": "bool"
721
+ },
722
+ {
723
+ "internalType": "uint64",
724
+ "name": "confirmations",
725
+ "type": "uint64"
726
+ }
727
+ ],
728
+ "stateMutability": "view",
729
+ "type": "function"
730
+ },
731
+ {
732
+ "inputs": [],
733
+ "name": "owner",
734
+ "outputs": [
735
+ {
736
+ "internalType": "address",
737
+ "name": "",
738
+ "type": "address"
739
+ }
740
+ ],
741
+ "stateMutability": "view",
742
+ "type": "function"
743
+ },
744
+ {
745
+ "inputs": [],
746
+ "name": "renounceOwnership",
747
+ "outputs": [],
748
+ "stateMutability": "nonpayable",
749
+ "type": "function"
750
+ },
751
+ {
752
+ "inputs": [
753
+ {
754
+ "internalType": "uint16",
755
+ "name": "_eid",
756
+ "type": "uint16"
757
+ },
758
+ {
759
+ "internalType": "uint256",
760
+ "name": "_size",
761
+ "type": "uint256"
762
+ }
763
+ ],
764
+ "name": "setAddressSize",
765
+ "outputs": [],
766
+ "stateMutability": "nonpayable",
767
+ "type": "function"
768
+ },
769
+ {
770
+ "inputs": [
771
+ {
772
+ "internalType": "uint16",
773
+ "name": "_eid",
774
+ "type": "uint16"
775
+ },
776
+ {
777
+ "internalType": "address",
778
+ "name": "_oapp",
779
+ "type": "address"
780
+ },
781
+ {
782
+ "internalType": "uint256",
783
+ "name": "_configType",
784
+ "type": "uint256"
785
+ },
786
+ {
787
+ "internalType": "bytes",
788
+ "name": "_config",
789
+ "type": "bytes"
790
+ }
791
+ ],
792
+ "name": "setConfig",
793
+ "outputs": [],
794
+ "stateMutability": "nonpayable",
795
+ "type": "function"
796
+ },
797
+ {
798
+ "inputs": [
799
+ {
800
+ "components": [
801
+ {
802
+ "internalType": "uint32",
803
+ "name": "eid",
804
+ "type": "uint32"
805
+ },
806
+ {
807
+ "internalType": "address",
808
+ "name": "executor",
809
+ "type": "address"
810
+ }
811
+ ],
812
+ "internalType": "struct SetDefaultExecutorParam[]",
813
+ "name": "_params",
814
+ "type": "tuple[]"
815
+ }
816
+ ],
817
+ "name": "setDefaultExecutors",
818
+ "outputs": [],
819
+ "stateMutability": "nonpayable",
820
+ "type": "function"
821
+ },
822
+ {
823
+ "inputs": [
824
+ {
825
+ "components": [
826
+ {
827
+ "internalType": "uint32",
828
+ "name": "eid",
829
+ "type": "uint32"
830
+ },
831
+ {
832
+ "components": [
833
+ {
834
+ "internalType": "uint64",
835
+ "name": "confirmations",
836
+ "type": "uint64"
837
+ },
838
+ {
839
+ "internalType": "uint8",
840
+ "name": "requiredDVNCount",
841
+ "type": "uint8"
842
+ },
843
+ {
844
+ "internalType": "uint8",
845
+ "name": "optionalDVNCount",
846
+ "type": "uint8"
847
+ },
848
+ {
849
+ "internalType": "uint8",
850
+ "name": "optionalDVNThreshold",
851
+ "type": "uint8"
852
+ },
853
+ {
854
+ "internalType": "address[]",
855
+ "name": "requiredDVNs",
856
+ "type": "address[]"
857
+ },
858
+ {
859
+ "internalType": "address[]",
860
+ "name": "optionalDVNs",
861
+ "type": "address[]"
862
+ }
863
+ ],
864
+ "internalType": "struct UlnConfig",
865
+ "name": "config",
866
+ "type": "tuple"
867
+ }
868
+ ],
869
+ "internalType": "struct SetDefaultUlnConfigParam[]",
870
+ "name": "_params",
871
+ "type": "tuple[]"
872
+ }
873
+ ],
874
+ "name": "setDefaultUlnConfigs",
875
+ "outputs": [],
876
+ "stateMutability": "nonpayable",
877
+ "type": "function"
878
+ },
879
+ {
880
+ "inputs": [
881
+ {
882
+ "internalType": "address",
883
+ "name": "newOwner",
884
+ "type": "address"
885
+ }
886
+ ],
887
+ "name": "transferOwnership",
888
+ "outputs": [],
889
+ "stateMutability": "nonpayable",
890
+ "type": "function"
891
+ },
892
+ {
893
+ "inputs": [
894
+ {
895
+ "internalType": "bytes",
896
+ "name": "_packetHeader",
897
+ "type": "bytes"
898
+ },
899
+ {
900
+ "internalType": "bytes32",
901
+ "name": "_payloadHash",
902
+ "type": "bytes32"
903
+ }
904
+ ],
905
+ "name": "verifiable",
906
+ "outputs": [
907
+ {
908
+ "internalType": "enum VerificationState",
909
+ "name": "",
910
+ "type": "uint8"
911
+ }
912
+ ],
913
+ "stateMutability": "view",
914
+ "type": "function"
915
+ },
916
+ {
917
+ "inputs": [
918
+ {
919
+ "internalType": "bytes",
920
+ "name": "_packetHeader",
921
+ "type": "bytes"
922
+ },
923
+ {
924
+ "internalType": "bytes32",
925
+ "name": "_payloadHash",
926
+ "type": "bytes32"
927
+ },
928
+ {
929
+ "internalType": "uint64",
930
+ "name": "_confirmations",
931
+ "type": "uint64"
932
+ }
933
+ ],
934
+ "name": "verify",
935
+ "outputs": [],
936
+ "stateMutability": "nonpayable",
937
+ "type": "function"
938
+ },
939
+ {
940
+ "inputs": [],
941
+ "name": "version",
942
+ "outputs": [
943
+ {
944
+ "internalType": "uint64",
945
+ "name": "major",
946
+ "type": "uint64"
947
+ },
948
+ {
949
+ "internalType": "uint8",
950
+ "name": "minor",
951
+ "type": "uint8"
952
+ },
953
+ {
954
+ "internalType": "uint8",
955
+ "name": "endpointVersion",
956
+ "type": "uint8"
957
+ }
958
+ ],
959
+ "stateMutability": "pure",
960
+ "type": "function"
961
+ }
962
+ ],
963
+ "transactionHash": "0x6a03087c05c86bc4887b309b8970b8f6b40852ec5afa4b25a00435dae6a79543",
964
+ "receipt": {
965
+ "to": null,
966
+ "from": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
967
+ "contractAddress": "0x27F7facdd609b0aED047BC994B6D04D515f3DE84",
968
+ "transactionIndex": 0,
969
+ "gasUsed": "2793313",
970
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
971
+ "blockHash": "0x0000000000000024b6b9cff810c10fd626cde189d937db1dbaba2f77fb4e146e",
972
+ "transactionHash": "0x6a03087c05c86bc4887b309b8970b8f6b40852ec5afa4b25a00435dae6a79543",
973
+ "logs": [
974
+ {
975
+ "transactionIndex": 0,
976
+ "blockNumber": 36,
977
+ "transactionHash": "0x6a03087c05c86bc4887b309b8970b8f6b40852ec5afa4b25a00435dae6a79543",
978
+ "address": "0x27F7facdd609b0aED047BC994B6D04D515f3DE84",
979
+ "topics": [
980
+ "0x8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0",
981
+ "0x0000000000000000000000000000000000000000000000000000000000000000",
982
+ "0x00000000000000000000000070997970c51812dc3a010c7d01b50e0d17dc79c8"
983
+ ],
984
+ "data": "0x",
985
+ "logIndex": 0,
986
+ "blockHash": "0x0000000000000024b6b9cff810c10fd626cde189d937db1dbaba2f77fb4e146e"
987
+ }
988
+ ],
989
+ "blockNumber": 36,
990
+ "cumulativeGasUsed": "2793313",
991
+ "status": 1,
992
+ "byzantium": true
993
+ },
994
+ "args": [
995
+ "0x7dbadFE3e55cE6F52bB4468E74F475fe90D4770E",
996
+ 20225
997
+ ],
998
+ "numDeployments": 1,
999
+ "solcInputHash": "1262ed55793b895b5a9d8c9d2ccdbaf9",
1000
+ "bytecode": "0x60c06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b5060405162003777380380620037778339810160408190526200005091620000ce565b6001600160a01b03821660805263ffffffff811660a052818162000074336200007e565b505050506200012b565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60008060408385031215620000e257600080fd5b82516001600160a81b0381168114620000fa57600080fd5b60208401516001600160a01b0391909116925063ffffffff811681146200012057600080fd5b809150509250929050565b60805160a0516136116200016660003960008181610ec10152611145015260008181610fc4015281816112e7015261212b01526136116000f3fe608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106101865760003560e01c806354fd4d50116100e75780639653a7041161009b578063e65106f811610080578063e65106f8146103ec578063f2fde38b146103ff578063f8e1734c1461041257600080fd5b80639653a7041461039857806398678a11146103ab57600080fd5b8063715018a6116100cc578063715018a61461035f5780637401fccc146103675780638da5cb5b1461037a57600080fd5b806354fd4d501461032c5780636d26e5d01461034c57600080fd5b806339e3f9381161013e5780633c782a52116101235780633c782a521461029457806343ea4fa9146102f957806352d2871f1461030c57600080fd5b806339e3f9381461026157806339e928a81461028157600080fd5b806327d12cd91161016f57806327d12cd9146101d357806329460b0b146101f35780632fed39ae1461020657600080fd5b80630223536e1461018b5780630f8355c0146101a0575b600080fd5b61019e610199366004612658565b610425565b005b6101c06101ae3660046126cb565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6101e66101e13660046126e6565b610437565b6040516101ca9190612798565b61019e6102013660046127ab565b61046e565b61023c6102143660046126cb565b60056020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ca565b61027461026f366004612843565b61065b565b6040516101ca9190612951565b61019e61028f366004612964565b6107fd565b6102d96102a23660046129c7565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff9091166020830152016101ca565b610274610307366004612843565b610960565b61031f61031a366004612a28565b610d1a565b6040516101ca9190612aec565b6040805160038152600060208201526001918101919091526060016101ca565b61019e61035a366004612aff565b610dcb565b61019e610ea4565b6101e66103753660046126e6565b610eb8565b60005473ffffffffffffffffffffffffffffffffffffffff1661023c565b61023c6103a6366004612843565b6110b2565b61023c6103b9366004612843565b600460209081526000928352604080842090915290825290205473ffffffffffffffffffffffffffffffffffffffff1681565b61019e6103fa3660046126e6565b61112d565b61019e61040d366004612b29565b61122e565b61019e610420366004612b63565b6112e5565b610431848484846113e6565b50505050565b600080610445858585610eb8565b600281111561045657610456612732565b0361046357506000610467565b5060025b9392505050565b6104766114fa565b60005b8181101561061d573683838381811061049457610494612bea565b90506020028101906104a69190612c19565b905060ff6104b76020830183612c57565b6104c8906040810190602001612c9c565b60ff1603610502576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6105116020830183612c57565b610522906060810190604001612c9c565b60ff160361055c576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6105726020830183612c57565b610580906020810190612cb7565b67ffffffffffffffff16036105c1576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105df6105d16020830183612c57565b6105da90612eb7565b61157b565b61060c60006105f160208401846126cb565b6105fe6020850185612c57565b61060790612eb7565b6115cc565b5061061681612ef2565b9050610479565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b560828260405161064f929190612fdc565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561077c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610751575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156107eb57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116107c0575b50505050508152505090505b92915050565b6108056114fa565b60005b8181101561092e573683838381811061082357610823612bea565b9050604002019050600073ffffffffffffffffffffffffffffffffffffffff168160200160208101906108569190612b29565b73ffffffffffffffffffffffffffffffffffffffff16036108a3576040517f710c949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108b36040820160208301612b29565b600560006108c460208501856126cb565b63ffffffff168152602081019190915260400160002080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555061092781612ef2565b9050610808565b507f2a2676897ce6724d11fb8016f9bcdfe9fe564bc3524411d5df7914aac78aeeb3828260405161064f92919061317b565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a1057825467ffffffffffffffff168452610a2f565b67ffffffffffffffff81811614610a2f5767ffffffffffffffff811684525b815468010000000000000000900460ff16610ae557825468010000000000000000900460ff1615610ae05782600101805480602002602001604051908101604052809291908181526020018280548015610abf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a94575b50505050506080850152825468010000000000000000900460ff1660208501525b610b83565b815468010000000000000000900460ff90811614610b835781600101805480602002602001604051908101604052809291908181526020018280548015610b6257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b37575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610c525782546901000000000000000000900460ff1615610c4d5782600201805480602002602001604051908101604052809291908181526020018280548015610c1557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bea575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d08565b81546901000000000000000000900460ff90811614610d085781600201805480602002602001604051908101604052809291908181526020018280548015610cd057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ca5575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d118461157b565b50505092915050565b606060018203610d6b57610d32838561ffff166110b2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092166020830152015b6040516020818303038152906040529050610467565b60028203610d9157610d81838561ffff16610960565b604051602001610d559190612951565b6040517f961a995f000000000000000000000000000000000000000000000000000000008152600481018390526024015b60405180910390fd5b610dd36114fa565b6020811115610e0e576040517fbcfcf59e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff821660009081526003602052604090205415610e59576040517f831ad0ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8216600081815260036020908152604091829020849055815192835282018390527ee9ab3709e58edd0db46318d63673d8ae4681fa3e51d9f9dc07cde5109ff748910161064f565b610eac6114fa565b610eb66000611960565b565b6000610ee584847f00000000000000000000000000000000000000000000000000000000000000006119d5565b6000610ef18585611aa8565b90506000610f0d610f028787611aba565b63ffffffff16611add565b90506000610f1b8787611b75565b61ffff831660009081526003602052604081205491925090610f4790610f418a8a611b98565b90611bb1565b84604051602001610f599291906131ee565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527ffdc07c70000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063fdc07c7090610ffb9086908590600401613238565b602060405180830381865afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190613255565b67ffffffffffffffff168267ffffffffffffffff1611611063576002945050505050610467565b611092611074858561ffff16610960565b8989604051611084929190613272565b604051809103902088611c52565b156110a4576001945050505050610467565b506000979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260046020908152604080832063ffffffff86168452909152812054909116806111235763ffffffff831660009081526005602052604090205473ffffffffffffffffffffffffffffffffffffffff16611125565b805b949350505050565b36600061113a8585611d6b565b9150915061116982827f00000000000000000000000000000000000000000000000000000000000000006119d5565b60006111758686611aa8565b90506000611186610f028888611aba565b90506000611198838361ffff16610960565b90506111c58186866040516111ae929190613272565b60405180910390206111c08b8b611d87565b611db1565b611224826111d38a8a611b98565b856111de8c8c611b75565b6111e88d8d611f70565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508e9250611f80915050565b5050505050505050565b6112366114fa565b73ffffffffffffffffffffffffffffffffffffffff81166112d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610dc2565b6112e281611960565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314611354576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113618561ffff16612233565b600183036113885761138361ffff86168561137e84860186612b29565b61227a565b6113df565b600283036113aa5761138361ffff8616856113a584860186613282565b612325565b6040517f961a995f00000000000000000000000000000000000000000000000000000000815260048101849052602401610dc2565b5050505050565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906114189088908890613272565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916114ec9187908790869088906132b7565b60405180910390a150505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610eb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dc2565b602081015160ff161580156115955750606081015160ff16155b156112e2576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115e75750602081015160ff16155b1561162e5760808101515115611629576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116ad565b806020015160ff1681608001515114158061166957506002611652600160ff61333c565b61165c9190613355565b60ff16816020015160ff16115b156116a0576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116ad816080015161236e565b604081015160ff90811614806116c85750604081015160ff16155b1561174e5760a0810151511561170a576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611749576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611825565b806040015160ff168160a001515114158061178957506002611772600160ff61333c565b61177c9190613355565b60ff16816040015160ff16115b156117c0576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117e15750806040015160ff16816060015160ff16115b15611818576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118258160a0015161236e565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a010000000000000000000095909116949094029390931783556080840151805185949361193c9390850192019061255a565b5060a0820151805161195891600284019160209091019061255a565b505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60518214611a0f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001611a1b8484612412565b60ff1614611a55576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff16611a668484612434565b63ffffffff1614611aa3576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000610467611ab78484612444565b90565b6000611aca600d6009848661339e565b611ad3916133c8565b60e01c9392505050565b600061ffff821115611b71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610dc2565b5090565b6000611b8560096001848661339e565b611b8e91613410565b60c01c9392505050565b6000611ba8602d600d848661339e565b61046791613456565b6060811580611bc05750602082115b15611bf7576040517f59baef1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8167ffffffffffffffff811115611c1057611c10612cd4565b6040519080825280601f01601f191660200182016040528015611c3a576020820181803683370190505b506008909202610100039290921b6020820152919050565b602083015160009060ff1615611cdd5760005b846020015160ff168160ff161015611cc557611ca785608001518260ff1681518110611c9357611c93612bea565b602002602001015185858860000151612454565b611cb5576000915050610467565b611cbe81613492565b9050611c65565b50836040015160ff16600003611cdd57506001610467565b606084015160005b856040015160ff168160ff161015611d5f57611d278660a001518260ff1681518110611d1357611d13612bea565b602002602001015186868960000151612454565b15611d4f5781611d36816134b1565b9250508160ff16600003611d4f57600192505050610467565b611d5881613492565b9050611ce5565b50600095945050505050565b366000611d7b605182858761339e565b915091505b9250929050565b6000611d9383836124e3565b604051611da1929190613272565b6040518091039020905092915050565b611dbc838383611c52565b611df2576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff1615611eb25760005b836020015160ff168160ff161015611eb057600083815260026020908152604080832085845290915281206080860151805191929160ff8516908110611e4a57611e4a612bea565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055611ea981613492565b9050611e02565b505b604083015160ff1615611aa35760005b836040015160ff168160ff161015610431576000838152600260209081526040808320858452909152812060a0860151805191929160ff8516908110611f0a57611f0a612bea565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055611f6981613492565b9050611ec2565b366000611d7b836071818761339e565b611f8e848761ffff166110b2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ff2576040517f7fb6be0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163b60000361208f578373ffffffffffffffffffffffffffffffffffffffff168661ffff167feca5e9e3d49c3ee9d9362efa82baa91c668a7f032b3a403638ae65e273680136878686805190602001206040516120829392919092835267ffffffffffffffff919091166020830152604082015260600190565b60405180910390a3611958565b61ffff86166000908152600360205260408120546120ae908790611bb1565b856040516020016120c09291906131ee565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fc2fa4813000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063c2fa48139061216a908a9085908a908a9089908b906004016134ec565b600060405180830381600087803b15801561218457600080fd5b505af1158015612198573d6000803e3d6000fd5b5050604080516060808201835261ffff8c1680835260208084018d815267ffffffffffffffff8c8116868801908152875194855291519284019290925251169381019390935273ffffffffffffffffffffffffffffffffffffffff8a169083015292507f3cd5e48f9730b129dc7550f0fcea9c767b7be37837cd10e55eb35f734f4bca04915060800160405180910390a15050505050505050565b61223c816124f3565b6112e2576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610dc2565b73ffffffffffffffffffffffffffffffffffffffff828116600081815260046020908152604080832063ffffffff89168085529083529281902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001695871695861790558051938452908301919091528101919091527f2bef5fe6b6383925f8e9893d464521c5fcd4f9d4dc14d32d900849c5ae0af710906060015b60405180910390a1505050565b6123308284836115cc565b61233a8284610960565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516123189392919061355a565b6000805b8251811015611aa357600083828151811061238f5761238f612bea565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16116123fe576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b91508061240a81612ef2565b915050612372565b6000612421600182848661339e565b61242a91613595565b60f81c9392505050565b6000611aca6031602d848661339e565b6000611ba860516031848661339e565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff169383019390935290916124d957508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b366000611d7b836051818761339e565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806104675750546a0100000000000000000000900460ff16151592915050565b8280548282559060005260206000209081019282156125d4579160200282015b828111156125d457825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617825560209092019160019091019061257a565b50611b719291505b80821115611b7157600081556001016125dc565b60008083601f84011261260257600080fd5b50813567ffffffffffffffff81111561261a57600080fd5b602083019150836020828501011115611d8057600080fd5b67ffffffffffffffff811681146112e257600080fd5b803561265381612632565b919050565b6000806000806060858703121561266e57600080fd5b843567ffffffffffffffff81111561268557600080fd5b612691878288016125f0565b9095509350506020850135915060408501356126ac81612632565b939692955090935050565b803563ffffffff8116811461265357600080fd5b6000602082840312156126dd57600080fd5b610467826126b7565b6000806000604084860312156126fb57600080fd5b833567ffffffffffffffff81111561271257600080fd5b61271e868287016125f0565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106112e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016127a583612761565b91905290565b600080602083850312156127be57600080fd5b823567ffffffffffffffff808211156127d657600080fd5b818501915085601f8301126127ea57600080fd5b8135818111156127f957600080fd5b8660208260051b850101111561280e57600080fd5b60209290920196919550909350505050565b74ffffffffffffffffffffffffffffffffffffffffff811681146112e257600080fd5b6000806040838503121561285657600080fd5b823561286181612820565b73ffffffffffffffffffffffffffffffffffffffff169150612885602084016126b7565b90509250929050565b600081518084526020808501945080840160005b838110156128d457815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016128a2565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261292f60c085018261288e565b905060a083015184820360a0860152612948828261288e565b95945050505050565b60208152600061046760208301846128df565b6000806020838503121561297757600080fd5b823567ffffffffffffffff8082111561298f57600080fd5b818501915085601f8301126129a357600080fd5b8135818111156129b257600080fd5b8660208260061b850101111561280e57600080fd5b6000806000606084860312156129dc57600080fd5b833592506020840135915060408401356129f581612820565b73ffffffffffffffffffffffffffffffffffffffff81169150509250925092565b803561ffff8116811461265357600080fd5b600080600060608486031215612a3d57600080fd5b612a4684612a16565b92506020840135612a5681612820565b73ffffffffffffffffffffffffffffffffffffffff8116925050604084013590509250925092565b60005b83811015612a99578181015183820152602001612a81565b50506000910152565b60008151808452612aba816020860160208601612a7e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006104676020830184612aa2565b60008060408385031215612b1257600080fd5b612b1b83612a16565b946020939093013593505050565b600060208284031215612b3b57600080fd5b8135612b4681612820565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b600080600080600060808688031215612b7b57600080fd5b612b8486612a16565b94506020860135612b9481612820565b73ffffffffffffffffffffffffffffffffffffffff16935060408601359250606086013567ffffffffffffffff811115612bcd57600080fd5b612bd9888289016125f0565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112612c4d57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112612c4d57600080fd5b803560ff8116811461265357600080fd5b600060208284031215612cae57600080fd5b61046782612c8b565b600060208284031215612cc957600080fd5b813561112381612632565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612d2657612d26612cd4565b60405290565b600082601f830112612d3d57600080fd5b8135602067ffffffffffffffff80831115612d5a57612d5a612cd4565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108482111715612d9d57612d9d612cd4565b604052938452858101830193838101925087851115612dbb57600080fd5b83870191505b84821015612df9578135612dd481612820565b73ffffffffffffffffffffffffffffffffffffffff1683529183019190830190612dc1565b979650505050505050565b600060c08284031215612e1657600080fd5b612e1e612d03565b9050612e2982612648565b8152612e3760208301612c8b565b6020820152612e4860408301612c8b565b6040820152612e5960608301612c8b565b6060820152608082013567ffffffffffffffff80821115612e7957600080fd5b612e8585838601612d2c565b608084015260a0840135915080821115612e9e57600080fd5b50612eab84828501612d2c565b60a08301525092915050565b60006107f73683612e04565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f2357612f23612ec3565b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612f5f57600080fd5b830160208101925035905067ffffffffffffffff811115612f7f57600080fd5b8060051b3603821315611d8057600080fd5b8183526000602080850194508260005b858110156128d4578135612fb481612820565b73ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612fa1565b60208082528181018390526000906040808401600586901b8501820187855b8881101561316d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c360301811261305d57600080fd5b8b0163ffffffff61306d826126b7565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff418236030181126130a457600080fd5b8589018890520180356130b681612632565b67ffffffffffffffff16858801526130cf818901612c8b565b606060ff808316828901526130e58a8501612c8b565b92506080818416818a01526130fb838601612c8b565b935060a09250818416838a015261311481860186612f2a565b60c08b8101529450915061312f905061010089018483612f91565b92505061313e81840184612f2a565b93509050838783030160e0880152613157828483612f91565b978a019796505050928701925050600101612ffb565b509098975050505050505050565b6020808252818101839052600090604080840186845b878110156131e15763ffffffff6131a7836126b7565b168352848201356131b781612820565b73ffffffffffffffffffffffffffffffffffffffff16838601529183019190830190600101613191565b5090979650505050505050565b60008351613200818460208801612a7e565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b61ffff831681526040602082015260006111256040830184612aa2565b60006020828403121561326757600080fd5b815161112381612632565b8183823760009101908152919050565b60006020828403121561329457600080fd5b813567ffffffffffffffff8111156132ab57600080fd5b61112584828501612e04565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60ff82811682821603908111156107f7576107f7612ec3565b600060ff83168061338f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600080858511156133ae57600080fd5b838611156133bb57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156134085780818660040360031b1b83161692505b505092915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156134085760089490940360031b84901b1690921692915050565b803560208310156107f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600060ff821660ff81036134a8576134a8612ec3565b60010192915050565b600060ff8216806134c4576134c4612ec3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b61ffff8716815260c06020820152600061350960c0830188612aa2565b73ffffffffffffffffffffffffffffffffffffffff8716604084015267ffffffffffffffff8616606084015284608084015282810360a084015261354d8185612aa2565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061294860608301846128df565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156134085760019490940360031b84901b169092169291505056fea26474726f6e58221220d2576d4e81c60f47aac491d3c578a2a7d16a424fc360aa9ba198e949b5d903fd64736f6c63430008140033",
1001
+ "deployedBytecode": "0x608060405234801561001057600080fd5b50d3801561001d57600080fd5b50d2801561002a57600080fd5b50600436106101865760003560e01c806354fd4d50116100e75780639653a7041161009b578063e65106f811610080578063e65106f8146103ec578063f2fde38b146103ff578063f8e1734c1461041257600080fd5b80639653a7041461039857806398678a11146103ab57600080fd5b8063715018a6116100cc578063715018a61461035f5780637401fccc146103675780638da5cb5b1461037a57600080fd5b806354fd4d501461032c5780636d26e5d01461034c57600080fd5b806339e3f9381161013e5780633c782a52116101235780633c782a521461029457806343ea4fa9146102f957806352d2871f1461030c57600080fd5b806339e3f9381461026157806339e928a81461028157600080fd5b806327d12cd91161016f57806327d12cd9146101d357806329460b0b146101f35780632fed39ae1461020657600080fd5b80630223536e1461018b5780630f8355c0146101a0575b600080fd5b61019e610199366004612658565b610425565b005b6101c06101ae3660046126cb565b60036020526000908152604090205481565b6040519081526020015b60405180910390f35b6101e66101e13660046126e6565b610437565b6040516101ca9190612798565b61019e6102013660046127ab565b61046e565b61023c6102143660046126cb565b60056020526000908152604090205473ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016101ca565b61027461026f366004612843565b61065b565b6040516101ca9190612951565b61019e61028f366004612964565b6107fd565b6102d96102a23660046129c7565b600260209081526000938452604080852082529284528284209052825290205460ff811690610100900467ffffffffffffffff1682565b60408051921515835267ffffffffffffffff9091166020830152016101ca565b610274610307366004612843565b610960565b61031f61031a366004612a28565b610d1a565b6040516101ca9190612aec565b6040805160038152600060208201526001918101919091526060016101ca565b61019e61035a366004612aff565b610dcb565b61019e610ea4565b6101e66103753660046126e6565b610eb8565b60005473ffffffffffffffffffffffffffffffffffffffff1661023c565b61023c6103a6366004612843565b6110b2565b61023c6103b9366004612843565b600460209081526000928352604080842090915290825290205473ffffffffffffffffffffffffffffffffffffffff1681565b61019e6103fa3660046126e6565b61112d565b61019e61040d366004612b29565b61122e565b61019e610420366004612b63565b6112e5565b610431848484846113e6565b50505050565b600080610445858585610eb8565b600281111561045657610456612732565b0361046357506000610467565b5060025b9392505050565b6104766114fa565b60005b8181101561061d573683838381811061049457610494612bea565b90506020028101906104a69190612c19565b905060ff6104b76020830183612c57565b6104c8906040810190602001612c9c565b60ff1603610502576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60ff6105116020830183612c57565b610522906060810190604001612c9c565b60ff160361055c576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b67ffffffffffffffff6105726020830183612c57565b610580906020810190612cb7565b67ffffffffffffffff16036105c1576040517f8f6ae8f800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6105df6105d16020830183612c57565b6105da90612eb7565b61157b565b61060c60006105f160208401846126cb565b6105fe6020850185612c57565b61060790612eb7565b6115cc565b5061061681612ef2565b9050610479565b507faaf3aaa0c11056e86ac56eb653e25b005ca1a7d4dcd21ba24647f7ab63f3b560828260405161064f929190612fdc565b60405180910390a15050565b6040805160c0810182526000808252602082018190529181018290526060808201929092526080810182905260a081019190915273ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020835160c081018552815467ffffffffffffffff8116825260ff680100000000000000008204811683860152690100000000000000000082048116838801526a0100000000000000000000909104166060820152928101805485518185028101850190965280865293949193608086019383018282801561077c57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610751575b50505050508152602001600282018054806020026020016040519081016040528092919081815260200182805480156107eb57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff1681526001909101906020018083116107c0575b50505050508152505090505b92915050565b6108056114fa565b60005b8181101561092e573683838381811061082357610823612bea565b9050604002019050600073ffffffffffffffffffffffffffffffffffffffff168160200160208101906108569190612b29565b73ffffffffffffffffffffffffffffffffffffffff16036108a3576040517f710c949700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6108b36040820160208301612b29565b600560006108c460208501856126cb565b63ffffffff168152602081019190915260400160002080547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff929092169190911790555061092781612ef2565b9050610808565b507f2a2676897ce6724d11fb8016f9bcdfe9fe564bc3524411d5df7914aac78aeeb3828260405161064f92919061317b565b6040805160c0810182526000808252602080830182905282840182905260608084018390526080840181905260a084015263ffffffff85168083527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49825284832073ffffffffffffffffffffffffffffffffffffffff88168452600183528584209184529152929020805491929167ffffffffffffffff1680610a1057825467ffffffffffffffff168452610a2f565b67ffffffffffffffff81811614610a2f5767ffffffffffffffff811684525b815468010000000000000000900460ff16610ae557825468010000000000000000900460ff1615610ae05782600101805480602002602001604051908101604052809291908181526020018280548015610abf57602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610a94575b50505050506080850152825468010000000000000000900460ff1660208501525b610b83565b815468010000000000000000900460ff90811614610b835781600101805480602002602001604051908101604052809291908181526020018280548015610b6257602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610b37575b50505050506080850152815468010000000000000000900460ff1660208501525b81546901000000000000000000900460ff16610c525782546901000000000000000000900460ff1615610c4d5782600201805480602002602001604051908101604052809291908181526020018280548015610c1557602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610bea575b505050505060a0850152825460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d08565b81546901000000000000000000900460ff90811614610d085781600201805480602002602001604051908101604052809291908181526020018280548015610cd057602002820191906000526020600020905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311610ca5575b505050505060a0850152815460ff69010000000000000000008204811660408701526a01000000000000000000009091041660608501525b610d118461157b565b50505092915050565b606060018203610d6b57610d32838561ffff166110b2565b6040805173ffffffffffffffffffffffffffffffffffffffff9092166020830152015b6040516020818303038152906040529050610467565b60028203610d9157610d81838561ffff16610960565b604051602001610d559190612951565b6040517f961a995f000000000000000000000000000000000000000000000000000000008152600481018390526024015b60405180910390fd5b610dd36114fa565b6020811115610e0e576040517fbcfcf59e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff821660009081526003602052604090205415610e59576040517f831ad0ad00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61ffff8216600081815260036020908152604091829020849055815192835282018390527ee9ab3709e58edd0db46318d63673d8ae4681fa3e51d9f9dc07cde5109ff748910161064f565b610eac6114fa565b610eb66000611960565b565b6000610ee584847f00000000000000000000000000000000000000000000000000000000000000006119d5565b6000610ef18585611aa8565b90506000610f0d610f028787611aba565b63ffffffff16611add565b90506000610f1b8787611b75565b61ffff831660009081526003602052604081205491925090610f4790610f418a8a611b98565b90611bb1565b84604051602001610f599291906131ee565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527ffdc07c70000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063fdc07c7090610ffb9086908590600401613238565b602060405180830381865afa158015611018573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061103c9190613255565b67ffffffffffffffff168267ffffffffffffffff1611611063576002945050505050610467565b611092611074858561ffff16610960565b8989604051611084929190613272565b604051809103902088611c52565b156110a4576001945050505050610467565b506000979650505050505050565b73ffffffffffffffffffffffffffffffffffffffff808316600090815260046020908152604080832063ffffffff86168452909152812054909116806111235763ffffffff831660009081526005602052604090205473ffffffffffffffffffffffffffffffffffffffff16611125565b805b949350505050565b36600061113a8585611d6b565b9150915061116982827f00000000000000000000000000000000000000000000000000000000000000006119d5565b60006111758686611aa8565b90506000611186610f028888611aba565b90506000611198838361ffff16610960565b90506111c58186866040516111ae929190613272565b60405180910390206111c08b8b611d87565b611db1565b611224826111d38a8a611b98565b856111de8c8c611b75565b6111e88d8d611f70565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508e9250611f80915050565b5050505050505050565b6112366114fa565b73ffffffffffffffffffffffffffffffffffffffff81166112d9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152608401610dc2565b6112e281611960565b50565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff163314611354576040517f7eb966c800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6113618561ffff16612233565b600183036113885761138361ffff86168561137e84860186612b29565b61227a565b6113df565b600283036113aa5761138361ffff8616856113a584860186613282565b612325565b6040517f961a995f00000000000000000000000000000000000000000000000000000000815260048101849052602401610dc2565b5050505050565b6040805180820182526001815267ffffffffffffffff8316602082015290516002906000906114189088908890613272565b6040805191829003909120825260208083019390935290810160009081208682528352818120338083529084529082902084518154959094015167ffffffffffffffff16610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921790925590517f2cb0eed7538baeae4c6fde038c0fd0384d27de0dd55a228c65847bda6aa1ab56916114ec9187908790869088906132b7565b60405180910390a150505050565b60005473ffffffffffffffffffffffffffffffffffffffff163314610eb6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610dc2565b602081015160ff161580156115955750606081015160ff16155b156112e2576040517f7e36c28400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602081015160ff90811614806115e75750602081015160ff16155b1561162e5760808101515115611629576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116ad565b806020015160ff1681608001515114158061166957506002611652600160ff61333c565b61165c9190613355565b60ff16816020015160ff16115b156116a0576040517f1b66804100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6116ad816080015161236e565b604081015160ff90811614806116c85750604081015160ff16155b1561174e5760a0810151511561170a576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615611749576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611825565b806040015160ff168160a001515114158061178957506002611772600160ff61333c565b61177c9190613355565b60ff16816040015160ff16115b156117c0576040517f05f7ab6200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606081015160ff1615806117e15750806040015160ff16816060015160ff16115b15611818576040517f81da67ee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118258160a0015161236e565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260016020818152604080842063ffffffff87168552825292839020845181548684015195870151606088015167ffffffffffffffff9093167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909216919091176801000000000000000060ff97881602177fffffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffff166901000000000000000000918716919091027fffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffffff16176a010000000000000000000095909116949094029390931783556080840151805185949361193c9390850192019061255a565b5060a0820151805161195891600284019160209091019061255a565b505050505050565b6000805473ffffffffffffffffffffffffffffffffffffffff8381167fffffffffffffffffffffffff0000000000000000000000000000000000000000831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b60518214611a0f576040517f0666bafd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001611a1b8484612412565b60ff1614611a55576040517f28fac06600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8063ffffffff16611a668484612434565b63ffffffff1614611aa3576040517f9a61cd2600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505050565b6000610467611ab78484612444565b90565b6000611aca600d6009848661339e565b611ad3916133c8565b60e01c9392505050565b600061ffff821115611b71576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f53616665436173743a2076616c756520646f65736e27742066697420696e203160448201527f36206269747300000000000000000000000000000000000000000000000000006064820152608401610dc2565b5090565b6000611b8560096001848661339e565b611b8e91613410565b60c01c9392505050565b6000611ba8602d600d848661339e565b61046791613456565b6060811580611bc05750602082115b15611bf7576040517f59baef1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8167ffffffffffffffff811115611c1057611c10612cd4565b6040519080825280601f01601f191660200182016040528015611c3a576020820181803683370190505b506008909202610100039290921b6020820152919050565b602083015160009060ff1615611cdd5760005b846020015160ff168160ff161015611cc557611ca785608001518260ff1681518110611c9357611c93612bea565b602002602001015185858860000151612454565b611cb5576000915050610467565b611cbe81613492565b9050611c65565b50836040015160ff16600003611cdd57506001610467565b606084015160005b856040015160ff168160ff161015611d5f57611d278660a001518260ff1681518110611d1357611d13612bea565b602002602001015186868960000151612454565b15611d4f5781611d36816134b1565b9250508160ff16600003611d4f57600192505050610467565b611d5881613492565b9050611ce5565b50600095945050505050565b366000611d7b605182858761339e565b915091505b9250929050565b6000611d9383836124e3565b604051611da1929190613272565b6040518091039020905092915050565b611dbc838383611c52565b611df2576040517f692c93cb00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b602083015160ff1615611eb25760005b836020015160ff168160ff161015611eb057600083815260026020908152604080832085845290915281206080860151805191929160ff8516908110611e4a57611e4a612bea565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055611ea981613492565b9050611e02565b505b604083015160ff1615611aa35760005b836040015160ff168160ff161015610431576000838152600260209081526040808320858452909152812060a0860151805191929160ff8516908110611f0a57611f0a612bea565b60209081029190910181015173ffffffffffffffffffffffffffffffffffffffff16825281019190915260400160002080547fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000169055611f6981613492565b9050611ec2565b366000611d7b836071818761339e565b611f8e848761ffff166110b2565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611ff2576040517f7fb6be0200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8373ffffffffffffffffffffffffffffffffffffffff163b60000361208f578373ffffffffffffffffffffffffffffffffffffffff168661ffff167feca5e9e3d49c3ee9d9362efa82baa91c668a7f032b3a403638ae65e273680136878686805190602001206040516120829392919092835267ffffffffffffffff919091166020830152604082015260600190565b60405180910390a3611958565b61ffff86166000908152600360205260408120546120ae908790611bb1565b856040516020016120c09291906131ee565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527fc2fa4813000000000000000000000000000000000000000000000000000000008252915073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063c2fa48139061216a908a9085908a908a9089908b906004016134ec565b600060405180830381600087803b15801561218457600080fd5b505af1158015612198573d6000803e3d6000fd5b5050604080516060808201835261ffff8c1680835260208084018d815267ffffffffffffffff8c8116868801908152875194855291519284019290925251169381019390935273ffffffffffffffffffffffffffffffffffffffff8a169083015292507f3cd5e48f9730b129dc7550f0fcea9c767b7be37837cd10e55eb35f734f4bca04915060800160405180910390a15050505050505050565b61223c816124f3565b6112e2576040517f2146a07a00000000000000000000000000000000000000000000000000000000815263ffffffff82166004820152602401610dc2565b73ffffffffffffffffffffffffffffffffffffffff828116600081815260046020908152604080832063ffffffff89168085529083529281902080547fffffffffffffffffffffffff00000000000000000000000000000000000000001695871695861790558051938452908301919091528101919091527f2bef5fe6b6383925f8e9893d464521c5fcd4f9d4dc14d32d900849c5ae0af710906060015b60405180910390a1505050565b6123308284836115cc565b61233a8284610960565b507f82118522aa536ac0e96cc5c689407ae42b89d592aa133890a01f1509842f50818284836040516123189392919061355a565b6000805b8251811015611aa357600083828151811061238f5761238f612bea565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16116123fe576040517fa228a30b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b91508061240a81612ef2565b915050612372565b6000612421600182848661339e565b61242a91613595565b60f81c9392505050565b6000611aca6031602d848661339e565b6000611ba860516031848661339e565b6000838152600260209081526040808320858452825280832073ffffffffffffffffffffffffffffffffffffffff88168452825280832081518083019092525460ff811615801580845261010090920467ffffffffffffffff169383019390935290916124d957508267ffffffffffffffff16816020015167ffffffffffffffff1610155b9695505050505050565b366000611d7b836051818761339e565b63ffffffff811660009081527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4960205260408120805468010000000000000000900460ff161515806104675750546a0100000000000000000000900460ff16151592915050565b8280548282559060005260206000209081019282156125d4579160200282015b828111156125d457825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff90911617825560209092019160019091019061257a565b50611b719291505b80821115611b7157600081556001016125dc565b60008083601f84011261260257600080fd5b50813567ffffffffffffffff81111561261a57600080fd5b602083019150836020828501011115611d8057600080fd5b67ffffffffffffffff811681146112e257600080fd5b803561265381612632565b919050565b6000806000806060858703121561266e57600080fd5b843567ffffffffffffffff81111561268557600080fd5b612691878288016125f0565b9095509350506020850135915060408501356126ac81612632565b939692955090935050565b803563ffffffff8116811461265357600080fd5b6000602082840312156126dd57600080fd5b610467826126b7565b6000806000604084860312156126fb57600080fd5b833567ffffffffffffffff81111561271257600080fd5b61271e868287016125f0565b909790965060209590950135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600381106112e2577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b602081016127a583612761565b91905290565b600080602083850312156127be57600080fd5b823567ffffffffffffffff808211156127d657600080fd5b818501915085601f8301126127ea57600080fd5b8135818111156127f957600080fd5b8660208260051b850101111561280e57600080fd5b60209290920196919550909350505050565b74ffffffffffffffffffffffffffffffffffffffffff811681146112e257600080fd5b6000806040838503121561285657600080fd5b823561286181612820565b73ffffffffffffffffffffffffffffffffffffffff169150612885602084016126b7565b90509250929050565b600081518084526020808501945080840160005b838110156128d457815173ffffffffffffffffffffffffffffffffffffffff16875295820195908201906001016128a2565b509495945050505050565b67ffffffffffffffff815116825260ff602082015116602083015260ff604082015116604083015260ff60608201511660608301526000608082015160c0608085015261292f60c085018261288e565b905060a083015184820360a0860152612948828261288e565b95945050505050565b60208152600061046760208301846128df565b6000806020838503121561297757600080fd5b823567ffffffffffffffff8082111561298f57600080fd5b818501915085601f8301126129a357600080fd5b8135818111156129b257600080fd5b8660208260061b850101111561280e57600080fd5b6000806000606084860312156129dc57600080fd5b833592506020840135915060408401356129f581612820565b73ffffffffffffffffffffffffffffffffffffffff81169150509250925092565b803561ffff8116811461265357600080fd5b600080600060608486031215612a3d57600080fd5b612a4684612a16565b92506020840135612a5681612820565b73ffffffffffffffffffffffffffffffffffffffff8116925050604084013590509250925092565b60005b83811015612a99578181015183820152602001612a81565b50506000910152565b60008151808452612aba816020860160208601612a7e565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b6020815260006104676020830184612aa2565b60008060408385031215612b1257600080fd5b612b1b83612a16565b946020939093013593505050565b600060208284031215612b3b57600080fd5b8135612b4681612820565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b600080600080600060808688031215612b7b57600080fd5b612b8486612a16565b94506020860135612b9481612820565b73ffffffffffffffffffffffffffffffffffffffff16935060408601359250606086013567ffffffffffffffff811115612bcd57600080fd5b612bd9888289016125f0565b969995985093965092949392505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1833603018112612c4d57600080fd5b9190910192915050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41833603018112612c4d57600080fd5b803560ff8116811461265357600080fd5b600060208284031215612cae57600080fd5b61046782612c8b565b600060208284031215612cc957600080fd5b813561112381612632565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160c0810167ffffffffffffffff81118282101715612d2657612d26612cd4565b60405290565b600082601f830112612d3d57600080fd5b8135602067ffffffffffffffff80831115612d5a57612d5a612cd4565b8260051b6040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0603f83011681018181108482111715612d9d57612d9d612cd4565b604052938452858101830193838101925087851115612dbb57600080fd5b83870191505b84821015612df9578135612dd481612820565b73ffffffffffffffffffffffffffffffffffffffff1683529183019190830190612dc1565b979650505050505050565b600060c08284031215612e1657600080fd5b612e1e612d03565b9050612e2982612648565b8152612e3760208301612c8b565b6020820152612e4860408301612c8b565b6040820152612e5960608301612c8b565b6060820152608082013567ffffffffffffffff80821115612e7957600080fd5b612e8585838601612d2c565b608084015260a0840135915080821115612e9e57600080fd5b50612eab84828501612d2c565b60a08301525092915050565b60006107f73683612e04565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203612f2357612f23612ec3565b5060010190565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112612f5f57600080fd5b830160208101925035905067ffffffffffffffff811115612f7f57600080fd5b8060051b3603821315611d8057600080fd5b8183526000602080850194508260005b858110156128d4578135612fb481612820565b73ffffffffffffffffffffffffffffffffffffffff1687529582019590820190600101612fa1565b60208082528181018390526000906040808401600586901b8501820187855b8881101561316d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08089850301855282357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc18c360301811261305d57600080fd5b8b0163ffffffff61306d826126b7565b168552878101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff418236030181126130a457600080fd5b8589018890520180356130b681612632565b67ffffffffffffffff16858801526130cf818901612c8b565b606060ff808316828901526130e58a8501612c8b565b92506080818416818a01526130fb838601612c8b565b935060a09250818416838a015261311481860186612f2a565b60c08b8101529450915061312f905061010089018483612f91565b92505061313e81840184612f2a565b93509050838783030160e0880152613157828483612f91565b978a019796505050928701925050600101612ffb565b509098975050505050505050565b6020808252818101839052600090604080840186845b878110156131e15763ffffffff6131a7836126b7565b168352848201356131b781612820565b73ffffffffffffffffffffffffffffffffffffffff16838601529183019190830190600101613191565b5090979650505050505050565b60008351613200818460208801612a7e565b60609390931b7fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169190920190815260140192915050565b61ffff831681526040602082015260006111256040830184612aa2565b60006020828403121561326757600080fd5b815161112381612632565b8183823760009101908152919050565b60006020828403121561329457600080fd5b813567ffffffffffffffff8111156132ab57600080fd5b61112584828501612e04565b73ffffffffffffffffffffffffffffffffffffffff8616815260806020820152836080820152838560a0830137600060a08583010152600060a07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f870116830101905067ffffffffffffffff841660408301528260608301529695505050505050565b60ff82811682821603908111156107f7576107f7612ec3565b600060ff83168061338f577f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b8060ff84160491505092915050565b600080858511156133ae57600080fd5b838611156133bb57600080fd5b5050820193919092039150565b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156134085780818660040360031b1b83161692505b505092915050565b7fffffffffffffffff00000000000000000000000000000000000000000000000081358181169160088510156134085760089490940360031b84901b1690921692915050565b803560208310156107f7577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b600060ff821660ff81036134a8576134a8612ec3565b60010192915050565b600060ff8216806134c4576134c4612ec3565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b61ffff8716815260c06020820152600061350960c0830188612aa2565b73ffffffffffffffffffffffffffffffffffffffff8716604084015267ffffffffffffffff8616606084015284608084015282810360a084015261354d8185612aa2565b9998505050505050505050565b73ffffffffffffffffffffffffffffffffffffffff8416815263ffffffff8316602082015260606040820152600061294860608301846128df565b7fff0000000000000000000000000000000000000000000000000000000000000081358181169160018510156134085760019490940360031b84901b169092169291505056fea26474726f6e58221220d2576d4e81c60f47aac491d3c578a2a7d16a424fc360aa9ba198e949b5d903fd64736f6c63430008140033",
1002
+ "devdoc": {
1003
+ "details": "ULN301 will be deployed on EndpointV1 and is for backward compatibility with ULN302 on EndpointV2. 301 can talk to both 301 and 302This 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 ReceiveLibBaseE1",
1004
+ "kind": "dev",
1005
+ "methods": {
1006
+ "commitVerification(bytes,uint256)": {
1007
+ "details": "in 301, this is equivalent to execution as in Endpoint V2dont need to check endpoint verifiable here to save gas, as it will reverts if not verifiable."
1008
+ },
1009
+ "getAppUlnConfig(address,uint32)": {
1010
+ "details": "Get the uln config without the default config for the given remoteEid."
1011
+ },
1012
+ "owner()": {
1013
+ "details": "Returns the address of the current owner."
1014
+ },
1015
+ "renounceOwnership()": {
1016
+ "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."
1017
+ },
1018
+ "setDefaultUlnConfigs((uint32,(uint64,uint8,uint8,uint8,address[],address[]))[])": {
1019
+ "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"
1020
+ },
1021
+ "transferOwnership(address)": {
1022
+ "details": "Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner."
1023
+ },
1024
+ "verifiable(bytes,bytes32)": {
1025
+ "details": "keeping the same interface as 302a verifiable message requires it to be ULN verifiable only, excluding the endpoint verifiable check"
1026
+ }
1027
+ },
1028
+ "version": 1
1029
+ },
1030
+ "userdoc": {
1031
+ "kind": "user",
1032
+ "methods": {},
1033
+ "version": 1
1034
+ },
1035
+ "storageLayout": {
1036
+ "storage": [
1037
+ {
1038
+ "astId": 6813,
1039
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1040
+ "label": "_owner",
1041
+ "offset": 0,
1042
+ "slot": "0",
1043
+ "type": "t_address"
1044
+ },
1045
+ {
1046
+ "astId": 16448,
1047
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1048
+ "label": "ulnConfigs",
1049
+ "offset": 0,
1050
+ "slot": "1",
1051
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)16397_storage))"
1052
+ },
1053
+ {
1054
+ "astId": 15554,
1055
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1056
+ "label": "hashLookup",
1057
+ "offset": 0,
1058
+ "slot": "2",
1059
+ "type": "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage)))"
1060
+ },
1061
+ {
1062
+ "astId": 21085,
1063
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1064
+ "label": "addressSizes",
1065
+ "offset": 0,
1066
+ "slot": "3",
1067
+ "type": "t_mapping(t_uint32,t_uint256)"
1068
+ },
1069
+ {
1070
+ "astId": 21189,
1071
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1072
+ "label": "executors",
1073
+ "offset": 0,
1074
+ "slot": "4",
1075
+ "type": "t_mapping(t_address,t_mapping(t_uint32,t_address))"
1076
+ },
1077
+ {
1078
+ "astId": 21193,
1079
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1080
+ "label": "defaultExecutors",
1081
+ "offset": 0,
1082
+ "slot": "5",
1083
+ "type": "t_mapping(t_uint32,t_address)"
1084
+ }
1085
+ ],
1086
+ "types": {
1087
+ "t_address": {
1088
+ "encoding": "inplace",
1089
+ "label": "address",
1090
+ "numberOfBytes": "20"
1091
+ },
1092
+ "t_array(t_address)dyn_storage": {
1093
+ "base": "t_address",
1094
+ "encoding": "dynamic_array",
1095
+ "label": "address[]",
1096
+ "numberOfBytes": "32"
1097
+ },
1098
+ "t_bool": {
1099
+ "encoding": "inplace",
1100
+ "label": "bool",
1101
+ "numberOfBytes": "1"
1102
+ },
1103
+ "t_bytes32": {
1104
+ "encoding": "inplace",
1105
+ "label": "bytes32",
1106
+ "numberOfBytes": "32"
1107
+ },
1108
+ "t_mapping(t_address,t_mapping(t_uint32,t_address))": {
1109
+ "encoding": "mapping",
1110
+ "key": "t_address",
1111
+ "label": "mapping(address => mapping(uint32 => address))",
1112
+ "numberOfBytes": "32",
1113
+ "value": "t_mapping(t_uint32,t_address)"
1114
+ },
1115
+ "t_mapping(t_address,t_mapping(t_uint32,t_struct(UlnConfig)16397_storage))": {
1116
+ "encoding": "mapping",
1117
+ "key": "t_address",
1118
+ "label": "mapping(address => mapping(uint32 => struct UlnConfig))",
1119
+ "numberOfBytes": "32",
1120
+ "value": "t_mapping(t_uint32,t_struct(UlnConfig)16397_storage)"
1121
+ },
1122
+ "t_mapping(t_address,t_struct(Verification)15539_storage)": {
1123
+ "encoding": "mapping",
1124
+ "key": "t_address",
1125
+ "label": "mapping(address => struct Verification)",
1126
+ "numberOfBytes": "32",
1127
+ "value": "t_struct(Verification)15539_storage"
1128
+ },
1129
+ "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage))": {
1130
+ "encoding": "mapping",
1131
+ "key": "t_bytes32",
1132
+ "label": "mapping(bytes32 => mapping(address => struct Verification))",
1133
+ "numberOfBytes": "32",
1134
+ "value": "t_mapping(t_address,t_struct(Verification)15539_storage)"
1135
+ },
1136
+ "t_mapping(t_bytes32,t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage)))": {
1137
+ "encoding": "mapping",
1138
+ "key": "t_bytes32",
1139
+ "label": "mapping(bytes32 => mapping(bytes32 => mapping(address => struct Verification)))",
1140
+ "numberOfBytes": "32",
1141
+ "value": "t_mapping(t_bytes32,t_mapping(t_address,t_struct(Verification)15539_storage))"
1142
+ },
1143
+ "t_mapping(t_uint32,t_address)": {
1144
+ "encoding": "mapping",
1145
+ "key": "t_uint32",
1146
+ "label": "mapping(uint32 => address)",
1147
+ "numberOfBytes": "32",
1148
+ "value": "t_address"
1149
+ },
1150
+ "t_mapping(t_uint32,t_struct(UlnConfig)16397_storage)": {
1151
+ "encoding": "mapping",
1152
+ "key": "t_uint32",
1153
+ "label": "mapping(uint32 => struct UlnConfig)",
1154
+ "numberOfBytes": "32",
1155
+ "value": "t_struct(UlnConfig)16397_storage"
1156
+ },
1157
+ "t_mapping(t_uint32,t_uint256)": {
1158
+ "encoding": "mapping",
1159
+ "key": "t_uint32",
1160
+ "label": "mapping(uint32 => uint256)",
1161
+ "numberOfBytes": "32",
1162
+ "value": "t_uint256"
1163
+ },
1164
+ "t_struct(UlnConfig)16397_storage": {
1165
+ "encoding": "inplace",
1166
+ "label": "struct UlnConfig",
1167
+ "members": [
1168
+ {
1169
+ "astId": 16384,
1170
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1171
+ "label": "confirmations",
1172
+ "offset": 0,
1173
+ "slot": "0",
1174
+ "type": "t_uint64"
1175
+ },
1176
+ {
1177
+ "astId": 16386,
1178
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1179
+ "label": "requiredDVNCount",
1180
+ "offset": 8,
1181
+ "slot": "0",
1182
+ "type": "t_uint8"
1183
+ },
1184
+ {
1185
+ "astId": 16388,
1186
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1187
+ "label": "optionalDVNCount",
1188
+ "offset": 9,
1189
+ "slot": "0",
1190
+ "type": "t_uint8"
1191
+ },
1192
+ {
1193
+ "astId": 16390,
1194
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1195
+ "label": "optionalDVNThreshold",
1196
+ "offset": 10,
1197
+ "slot": "0",
1198
+ "type": "t_uint8"
1199
+ },
1200
+ {
1201
+ "astId": 16393,
1202
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1203
+ "label": "requiredDVNs",
1204
+ "offset": 0,
1205
+ "slot": "1",
1206
+ "type": "t_array(t_address)dyn_storage"
1207
+ },
1208
+ {
1209
+ "astId": 16396,
1210
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1211
+ "label": "optionalDVNs",
1212
+ "offset": 0,
1213
+ "slot": "2",
1214
+ "type": "t_array(t_address)dyn_storage"
1215
+ }
1216
+ ],
1217
+ "numberOfBytes": "96"
1218
+ },
1219
+ "t_struct(Verification)15539_storage": {
1220
+ "encoding": "inplace",
1221
+ "label": "struct Verification",
1222
+ "members": [
1223
+ {
1224
+ "astId": 15536,
1225
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1226
+ "label": "submitted",
1227
+ "offset": 0,
1228
+ "slot": "0",
1229
+ "type": "t_bool"
1230
+ },
1231
+ {
1232
+ "astId": 15538,
1233
+ "contract": "contracts/uln/uln301/ReceiveUln301.sol:ReceiveUln301",
1234
+ "label": "confirmations",
1235
+ "offset": 1,
1236
+ "slot": "0",
1237
+ "type": "t_uint64"
1238
+ }
1239
+ ],
1240
+ "numberOfBytes": "32"
1241
+ },
1242
+ "t_uint256": {
1243
+ "encoding": "inplace",
1244
+ "label": "uint256",
1245
+ "numberOfBytes": "32"
1246
+ },
1247
+ "t_uint32": {
1248
+ "encoding": "inplace",
1249
+ "label": "uint32",
1250
+ "numberOfBytes": "4"
1251
+ },
1252
+ "t_uint64": {
1253
+ "encoding": "inplace",
1254
+ "label": "uint64",
1255
+ "numberOfBytes": "8"
1256
+ },
1257
+ "t_uint8": {
1258
+ "encoding": "inplace",
1259
+ "label": "uint8",
1260
+ "numberOfBytes": "1"
1261
+ }
1262
+ }
1263
+ }
1264
+ }