@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,1591 @@
1
+ {
2
+ "address": "0x5DE5e3b5fDD52f9843F80adeEC5Ae6E5f91E7285",
3
+ "abi": [
4
+ {
5
+ "inputs": [],
6
+ "name": "NotAllowed",
7
+ "type": "error"
8
+ },
9
+ {
10
+ "inputs": [],
11
+ "name": "OnlyMessageLib",
12
+ "type": "error"
13
+ },
14
+ {
15
+ "inputs": [],
16
+ "name": "RoleRenouncingDisabled",
17
+ "type": "error"
18
+ },
19
+ {
20
+ "inputs": [],
21
+ "name": "ToAddressIsZero",
22
+ "type": "error"
23
+ },
24
+ {
25
+ "inputs": [
26
+ {
27
+ "internalType": "address",
28
+ "name": "_to",
29
+ "type": "address"
30
+ },
31
+ {
32
+ "internalType": "uint256",
33
+ "name": "_value",
34
+ "type": "uint256"
35
+ }
36
+ ],
37
+ "name": "TransferNativeFailed",
38
+ "type": "error"
39
+ },
40
+ {
41
+ "anonymous": false,
42
+ "inputs": [
43
+ {
44
+ "components": [
45
+ {
46
+ "internalType": "uint32",
47
+ "name": "dstEid",
48
+ "type": "uint32"
49
+ },
50
+ {
51
+ "internalType": "uint64",
52
+ "name": "baseGas",
53
+ "type": "uint64"
54
+ },
55
+ {
56
+ "internalType": "uint16",
57
+ "name": "multiplierBps",
58
+ "type": "uint16"
59
+ },
60
+ {
61
+ "internalType": "uint128",
62
+ "name": "floorMarginUSD",
63
+ "type": "uint128"
64
+ },
65
+ {
66
+ "internalType": "uint128",
67
+ "name": "nativeCap",
68
+ "type": "uint128"
69
+ }
70
+ ],
71
+ "indexed": false,
72
+ "internalType": "struct IExecutor.DstConfigParam[]",
73
+ "name": "params",
74
+ "type": "tuple[]"
75
+ }
76
+ ],
77
+ "name": "DstConfigSet",
78
+ "type": "event"
79
+ },
80
+ {
81
+ "anonymous": false,
82
+ "inputs": [
83
+ {
84
+ "indexed": false,
85
+ "internalType": "uint8",
86
+ "name": "version",
87
+ "type": "uint8"
88
+ }
89
+ ],
90
+ "name": "Initialized",
91
+ "type": "event"
92
+ },
93
+ {
94
+ "anonymous": false,
95
+ "inputs": [
96
+ {
97
+ "components": [
98
+ {
99
+ "internalType": "uint32",
100
+ "name": "srcEid",
101
+ "type": "uint32"
102
+ },
103
+ {
104
+ "internalType": "bytes32",
105
+ "name": "sender",
106
+ "type": "bytes32"
107
+ },
108
+ {
109
+ "internalType": "uint64",
110
+ "name": "nonce",
111
+ "type": "uint64"
112
+ }
113
+ ],
114
+ "indexed": false,
115
+ "internalType": "struct Origin",
116
+ "name": "origin",
117
+ "type": "tuple"
118
+ },
119
+ {
120
+ "indexed": false,
121
+ "internalType": "uint32",
122
+ "name": "dstEid",
123
+ "type": "uint32"
124
+ },
125
+ {
126
+ "indexed": false,
127
+ "internalType": "address",
128
+ "name": "oapp",
129
+ "type": "address"
130
+ },
131
+ {
132
+ "components": [
133
+ {
134
+ "internalType": "address",
135
+ "name": "receiver",
136
+ "type": "address"
137
+ },
138
+ {
139
+ "internalType": "uint256",
140
+ "name": "amount",
141
+ "type": "uint256"
142
+ }
143
+ ],
144
+ "indexed": false,
145
+ "internalType": "struct IExecutor.NativeDropParams[]",
146
+ "name": "params",
147
+ "type": "tuple[]"
148
+ },
149
+ {
150
+ "indexed": false,
151
+ "internalType": "bool[]",
152
+ "name": "success",
153
+ "type": "bool[]"
154
+ }
155
+ ],
156
+ "name": "NativeDropApplied",
157
+ "type": "event"
158
+ },
159
+ {
160
+ "anonymous": false,
161
+ "inputs": [
162
+ {
163
+ "indexed": false,
164
+ "internalType": "address",
165
+ "name": "account",
166
+ "type": "address"
167
+ }
168
+ ],
169
+ "name": "Paused",
170
+ "type": "event"
171
+ },
172
+ {
173
+ "anonymous": false,
174
+ "inputs": [
175
+ {
176
+ "indexed": true,
177
+ "internalType": "bytes32",
178
+ "name": "role",
179
+ "type": "bytes32"
180
+ },
181
+ {
182
+ "indexed": true,
183
+ "internalType": "bytes32",
184
+ "name": "previousAdminRole",
185
+ "type": "bytes32"
186
+ },
187
+ {
188
+ "indexed": true,
189
+ "internalType": "bytes32",
190
+ "name": "newAdminRole",
191
+ "type": "bytes32"
192
+ }
193
+ ],
194
+ "name": "RoleAdminChanged",
195
+ "type": "event"
196
+ },
197
+ {
198
+ "anonymous": false,
199
+ "inputs": [
200
+ {
201
+ "indexed": true,
202
+ "internalType": "bytes32",
203
+ "name": "role",
204
+ "type": "bytes32"
205
+ },
206
+ {
207
+ "indexed": true,
208
+ "internalType": "address",
209
+ "name": "account",
210
+ "type": "address"
211
+ },
212
+ {
213
+ "indexed": true,
214
+ "internalType": "address",
215
+ "name": "sender",
216
+ "type": "address"
217
+ }
218
+ ],
219
+ "name": "RoleGranted",
220
+ "type": "event"
221
+ },
222
+ {
223
+ "anonymous": false,
224
+ "inputs": [
225
+ {
226
+ "indexed": true,
227
+ "internalType": "bytes32",
228
+ "name": "role",
229
+ "type": "bytes32"
230
+ },
231
+ {
232
+ "indexed": true,
233
+ "internalType": "address",
234
+ "name": "account",
235
+ "type": "address"
236
+ },
237
+ {
238
+ "indexed": true,
239
+ "internalType": "address",
240
+ "name": "sender",
241
+ "type": "address"
242
+ }
243
+ ],
244
+ "name": "RoleRevoked",
245
+ "type": "event"
246
+ },
247
+ {
248
+ "anonymous": false,
249
+ "inputs": [
250
+ {
251
+ "indexed": false,
252
+ "internalType": "uint16",
253
+ "name": "multiplierBps",
254
+ "type": "uint16"
255
+ }
256
+ ],
257
+ "name": "SetDefaultMultiplierBps",
258
+ "type": "event"
259
+ },
260
+ {
261
+ "anonymous": false,
262
+ "inputs": [
263
+ {
264
+ "indexed": false,
265
+ "internalType": "address",
266
+ "name": "priceFeed",
267
+ "type": "address"
268
+ }
269
+ ],
270
+ "name": "SetPriceFeed",
271
+ "type": "event"
272
+ },
273
+ {
274
+ "anonymous": false,
275
+ "inputs": [
276
+ {
277
+ "indexed": false,
278
+ "internalType": "uint32",
279
+ "name": "dstEid",
280
+ "type": "uint32"
281
+ },
282
+ {
283
+ "indexed": false,
284
+ "internalType": "uint8[]",
285
+ "name": "optionTypes",
286
+ "type": "uint8[]"
287
+ }
288
+ ],
289
+ "name": "SetSupportedOptionTypes",
290
+ "type": "event"
291
+ },
292
+ {
293
+ "anonymous": false,
294
+ "inputs": [
295
+ {
296
+ "indexed": false,
297
+ "internalType": "address",
298
+ "name": "workerLib",
299
+ "type": "address"
300
+ }
301
+ ],
302
+ "name": "SetWorkerLib",
303
+ "type": "event"
304
+ },
305
+ {
306
+ "anonymous": false,
307
+ "inputs": [
308
+ {
309
+ "indexed": false,
310
+ "internalType": "address",
311
+ "name": "account",
312
+ "type": "address"
313
+ }
314
+ ],
315
+ "name": "Unpaused",
316
+ "type": "event"
317
+ },
318
+ {
319
+ "anonymous": false,
320
+ "inputs": [
321
+ {
322
+ "indexed": false,
323
+ "internalType": "address",
324
+ "name": "lib",
325
+ "type": "address"
326
+ },
327
+ {
328
+ "indexed": false,
329
+ "internalType": "address",
330
+ "name": "to",
331
+ "type": "address"
332
+ },
333
+ {
334
+ "indexed": false,
335
+ "internalType": "uint256",
336
+ "name": "amount",
337
+ "type": "uint256"
338
+ }
339
+ ],
340
+ "name": "Withdraw",
341
+ "type": "event"
342
+ },
343
+ {
344
+ "inputs": [],
345
+ "name": "DEFAULT_ADMIN_ROLE",
346
+ "outputs": [
347
+ {
348
+ "internalType": "bytes32",
349
+ "name": "",
350
+ "type": "bytes32"
351
+ }
352
+ ],
353
+ "stateMutability": "view",
354
+ "type": "function"
355
+ },
356
+ {
357
+ "inputs": [],
358
+ "name": "allowlistSize",
359
+ "outputs": [
360
+ {
361
+ "internalType": "uint64",
362
+ "name": "",
363
+ "type": "uint64"
364
+ }
365
+ ],
366
+ "stateMutability": "view",
367
+ "type": "function"
368
+ },
369
+ {
370
+ "inputs": [
371
+ {
372
+ "internalType": "uint32",
373
+ "name": "_dstEid",
374
+ "type": "uint32"
375
+ },
376
+ {
377
+ "internalType": "address",
378
+ "name": "_sender",
379
+ "type": "address"
380
+ },
381
+ {
382
+ "internalType": "uint256",
383
+ "name": "_calldataSize",
384
+ "type": "uint256"
385
+ },
386
+ {
387
+ "internalType": "bytes",
388
+ "name": "_options",
389
+ "type": "bytes"
390
+ }
391
+ ],
392
+ "name": "assignJob",
393
+ "outputs": [
394
+ {
395
+ "internalType": "uint256",
396
+ "name": "fee",
397
+ "type": "uint256"
398
+ }
399
+ ],
400
+ "stateMutability": "nonpayable",
401
+ "type": "function"
402
+ },
403
+ {
404
+ "inputs": [],
405
+ "name": "defaultMultiplierBps",
406
+ "outputs": [
407
+ {
408
+ "internalType": "uint16",
409
+ "name": "",
410
+ "type": "uint16"
411
+ }
412
+ ],
413
+ "stateMutability": "view",
414
+ "type": "function"
415
+ },
416
+ {
417
+ "inputs": [
418
+ {
419
+ "internalType": "uint32",
420
+ "name": "dstEid",
421
+ "type": "uint32"
422
+ }
423
+ ],
424
+ "name": "dstConfig",
425
+ "outputs": [
426
+ {
427
+ "internalType": "uint64",
428
+ "name": "baseGas",
429
+ "type": "uint64"
430
+ },
431
+ {
432
+ "internalType": "uint16",
433
+ "name": "multiplierBps",
434
+ "type": "uint16"
435
+ },
436
+ {
437
+ "internalType": "uint128",
438
+ "name": "floorMarginUSD",
439
+ "type": "uint128"
440
+ },
441
+ {
442
+ "internalType": "uint128",
443
+ "name": "nativeCap",
444
+ "type": "uint128"
445
+ }
446
+ ],
447
+ "stateMutability": "view",
448
+ "type": "function"
449
+ },
450
+ {
451
+ "inputs": [],
452
+ "name": "endpoint",
453
+ "outputs": [
454
+ {
455
+ "internalType": "address",
456
+ "name": "",
457
+ "type": "address"
458
+ }
459
+ ],
460
+ "stateMutability": "view",
461
+ "type": "function"
462
+ },
463
+ {
464
+ "inputs": [
465
+ {
466
+ "internalType": "bytes",
467
+ "name": "_packet",
468
+ "type": "bytes"
469
+ },
470
+ {
471
+ "internalType": "uint256",
472
+ "name": "_gasLimit",
473
+ "type": "uint256"
474
+ }
475
+ ],
476
+ "name": "execute301",
477
+ "outputs": [],
478
+ "stateMutability": "nonpayable",
479
+ "type": "function"
480
+ },
481
+ {
482
+ "inputs": [
483
+ {
484
+ "internalType": "uint32",
485
+ "name": "_dstEid",
486
+ "type": "uint32"
487
+ },
488
+ {
489
+ "internalType": "address",
490
+ "name": "_sender",
491
+ "type": "address"
492
+ },
493
+ {
494
+ "internalType": "uint256",
495
+ "name": "_calldataSize",
496
+ "type": "uint256"
497
+ },
498
+ {
499
+ "internalType": "bytes",
500
+ "name": "_options",
501
+ "type": "bytes"
502
+ }
503
+ ],
504
+ "name": "getFee",
505
+ "outputs": [
506
+ {
507
+ "internalType": "uint256",
508
+ "name": "fee",
509
+ "type": "uint256"
510
+ }
511
+ ],
512
+ "stateMutability": "view",
513
+ "type": "function"
514
+ },
515
+ {
516
+ "inputs": [
517
+ {
518
+ "internalType": "bytes32",
519
+ "name": "role",
520
+ "type": "bytes32"
521
+ }
522
+ ],
523
+ "name": "getRoleAdmin",
524
+ "outputs": [
525
+ {
526
+ "internalType": "bytes32",
527
+ "name": "",
528
+ "type": "bytes32"
529
+ }
530
+ ],
531
+ "stateMutability": "view",
532
+ "type": "function"
533
+ },
534
+ {
535
+ "inputs": [
536
+ {
537
+ "internalType": "uint32",
538
+ "name": "_eid",
539
+ "type": "uint32"
540
+ }
541
+ ],
542
+ "name": "getSupportedOptionTypes",
543
+ "outputs": [
544
+ {
545
+ "internalType": "uint8[]",
546
+ "name": "",
547
+ "type": "uint8[]"
548
+ }
549
+ ],
550
+ "stateMutability": "view",
551
+ "type": "function"
552
+ },
553
+ {
554
+ "inputs": [
555
+ {
556
+ "internalType": "bytes32",
557
+ "name": "role",
558
+ "type": "bytes32"
559
+ },
560
+ {
561
+ "internalType": "address",
562
+ "name": "account",
563
+ "type": "address"
564
+ }
565
+ ],
566
+ "name": "grantRole",
567
+ "outputs": [],
568
+ "stateMutability": "nonpayable",
569
+ "type": "function"
570
+ },
571
+ {
572
+ "inputs": [
573
+ {
574
+ "internalType": "address",
575
+ "name": "_sender",
576
+ "type": "address"
577
+ }
578
+ ],
579
+ "name": "hasAcl",
580
+ "outputs": [
581
+ {
582
+ "internalType": "bool",
583
+ "name": "",
584
+ "type": "bool"
585
+ }
586
+ ],
587
+ "stateMutability": "view",
588
+ "type": "function"
589
+ },
590
+ {
591
+ "inputs": [
592
+ {
593
+ "internalType": "bytes32",
594
+ "name": "role",
595
+ "type": "bytes32"
596
+ },
597
+ {
598
+ "internalType": "address",
599
+ "name": "account",
600
+ "type": "address"
601
+ }
602
+ ],
603
+ "name": "hasRole",
604
+ "outputs": [
605
+ {
606
+ "internalType": "bool",
607
+ "name": "",
608
+ "type": "bool"
609
+ }
610
+ ],
611
+ "stateMutability": "view",
612
+ "type": "function"
613
+ },
614
+ {
615
+ "inputs": [
616
+ {
617
+ "internalType": "address",
618
+ "name": "_endpoint",
619
+ "type": "address"
620
+ },
621
+ {
622
+ "internalType": "address",
623
+ "name": "_receiveUln301",
624
+ "type": "address"
625
+ },
626
+ {
627
+ "internalType": "address[]",
628
+ "name": "_messageLibs",
629
+ "type": "address[]"
630
+ },
631
+ {
632
+ "internalType": "address",
633
+ "name": "_priceFeed",
634
+ "type": "address"
635
+ },
636
+ {
637
+ "internalType": "address",
638
+ "name": "_roleAdmin",
639
+ "type": "address"
640
+ },
641
+ {
642
+ "internalType": "address[]",
643
+ "name": "_admins",
644
+ "type": "address[]"
645
+ }
646
+ ],
647
+ "name": "initialize",
648
+ "outputs": [],
649
+ "stateMutability": "nonpayable",
650
+ "type": "function"
651
+ },
652
+ {
653
+ "inputs": [],
654
+ "name": "localEid",
655
+ "outputs": [
656
+ {
657
+ "internalType": "uint32",
658
+ "name": "",
659
+ "type": "uint32"
660
+ }
661
+ ],
662
+ "stateMutability": "view",
663
+ "type": "function"
664
+ },
665
+ {
666
+ "inputs": [
667
+ {
668
+ "components": [
669
+ {
670
+ "internalType": "uint32",
671
+ "name": "srcEid",
672
+ "type": "uint32"
673
+ },
674
+ {
675
+ "internalType": "bytes32",
676
+ "name": "sender",
677
+ "type": "bytes32"
678
+ },
679
+ {
680
+ "internalType": "uint64",
681
+ "name": "nonce",
682
+ "type": "uint64"
683
+ }
684
+ ],
685
+ "internalType": "struct Origin",
686
+ "name": "_origin",
687
+ "type": "tuple"
688
+ },
689
+ {
690
+ "internalType": "uint32",
691
+ "name": "_dstEid",
692
+ "type": "uint32"
693
+ },
694
+ {
695
+ "internalType": "address",
696
+ "name": "_oapp",
697
+ "type": "address"
698
+ },
699
+ {
700
+ "components": [
701
+ {
702
+ "internalType": "address",
703
+ "name": "receiver",
704
+ "type": "address"
705
+ },
706
+ {
707
+ "internalType": "uint256",
708
+ "name": "amount",
709
+ "type": "uint256"
710
+ }
711
+ ],
712
+ "internalType": "struct IExecutor.NativeDropParams[]",
713
+ "name": "_nativeDropParams",
714
+ "type": "tuple[]"
715
+ },
716
+ {
717
+ "internalType": "uint256",
718
+ "name": "_nativeDropGasLimit",
719
+ "type": "uint256"
720
+ }
721
+ ],
722
+ "name": "nativeDrop",
723
+ "outputs": [],
724
+ "stateMutability": "payable",
725
+ "type": "function"
726
+ },
727
+ {
728
+ "inputs": [
729
+ {
730
+ "components": [
731
+ {
732
+ "internalType": "uint32",
733
+ "name": "srcEid",
734
+ "type": "uint32"
735
+ },
736
+ {
737
+ "internalType": "bytes32",
738
+ "name": "sender",
739
+ "type": "bytes32"
740
+ },
741
+ {
742
+ "internalType": "uint64",
743
+ "name": "nonce",
744
+ "type": "uint64"
745
+ }
746
+ ],
747
+ "internalType": "struct Origin",
748
+ "name": "_origin",
749
+ "type": "tuple"
750
+ },
751
+ {
752
+ "components": [
753
+ {
754
+ "internalType": "address",
755
+ "name": "receiver",
756
+ "type": "address"
757
+ },
758
+ {
759
+ "internalType": "uint256",
760
+ "name": "amount",
761
+ "type": "uint256"
762
+ }
763
+ ],
764
+ "internalType": "struct IExecutor.NativeDropParams[]",
765
+ "name": "_nativeDropParams",
766
+ "type": "tuple[]"
767
+ },
768
+ {
769
+ "internalType": "uint256",
770
+ "name": "_nativeDropGasLimit",
771
+ "type": "uint256"
772
+ },
773
+ {
774
+ "internalType": "bytes",
775
+ "name": "_packet",
776
+ "type": "bytes"
777
+ },
778
+ {
779
+ "internalType": "uint256",
780
+ "name": "_gasLimit",
781
+ "type": "uint256"
782
+ }
783
+ ],
784
+ "name": "nativeDropAndExecute301",
785
+ "outputs": [],
786
+ "stateMutability": "payable",
787
+ "type": "function"
788
+ },
789
+ {
790
+ "inputs": [
791
+ {
792
+ "components": [
793
+ {
794
+ "internalType": "address",
795
+ "name": "receiver",
796
+ "type": "address"
797
+ },
798
+ {
799
+ "internalType": "uint256",
800
+ "name": "amount",
801
+ "type": "uint256"
802
+ }
803
+ ],
804
+ "internalType": "struct IExecutor.NativeDropParams[]",
805
+ "name": "_nativeDropParams",
806
+ "type": "tuple[]"
807
+ },
808
+ {
809
+ "internalType": "uint256",
810
+ "name": "_nativeDropGasLimit",
811
+ "type": "uint256"
812
+ },
813
+ {
814
+ "components": [
815
+ {
816
+ "internalType": "address",
817
+ "name": "receiver",
818
+ "type": "address"
819
+ },
820
+ {
821
+ "components": [
822
+ {
823
+ "internalType": "uint32",
824
+ "name": "srcEid",
825
+ "type": "uint32"
826
+ },
827
+ {
828
+ "internalType": "bytes32",
829
+ "name": "sender",
830
+ "type": "bytes32"
831
+ },
832
+ {
833
+ "internalType": "uint64",
834
+ "name": "nonce",
835
+ "type": "uint64"
836
+ }
837
+ ],
838
+ "internalType": "struct Origin",
839
+ "name": "origin",
840
+ "type": "tuple"
841
+ },
842
+ {
843
+ "internalType": "bytes32",
844
+ "name": "guid",
845
+ "type": "bytes32"
846
+ },
847
+ {
848
+ "internalType": "bytes",
849
+ "name": "message",
850
+ "type": "bytes"
851
+ },
852
+ {
853
+ "internalType": "bytes",
854
+ "name": "extraData",
855
+ "type": "bytes"
856
+ },
857
+ {
858
+ "internalType": "uint256",
859
+ "name": "gasLimit",
860
+ "type": "uint256"
861
+ }
862
+ ],
863
+ "internalType": "struct IExecutor.ExecutionParams",
864
+ "name": "_executionParams",
865
+ "type": "tuple"
866
+ }
867
+ ],
868
+ "name": "nativeDropAndExecute302",
869
+ "outputs": [],
870
+ "stateMutability": "payable",
871
+ "type": "function"
872
+ },
873
+ {
874
+ "inputs": [
875
+ {
876
+ "internalType": "address",
877
+ "name": "_receiveUln301",
878
+ "type": "address"
879
+ }
880
+ ],
881
+ "name": "onUpgrade",
882
+ "outputs": [],
883
+ "stateMutability": "nonpayable",
884
+ "type": "function"
885
+ },
886
+ {
887
+ "inputs": [],
888
+ "name": "paused",
889
+ "outputs": [
890
+ {
891
+ "internalType": "bool",
892
+ "name": "",
893
+ "type": "bool"
894
+ }
895
+ ],
896
+ "stateMutability": "view",
897
+ "type": "function"
898
+ },
899
+ {
900
+ "inputs": [],
901
+ "name": "priceFeed",
902
+ "outputs": [
903
+ {
904
+ "internalType": "address",
905
+ "name": "",
906
+ "type": "address"
907
+ }
908
+ ],
909
+ "stateMutability": "view",
910
+ "type": "function"
911
+ },
912
+ {
913
+ "inputs": [],
914
+ "name": "receiveUln301",
915
+ "outputs": [
916
+ {
917
+ "internalType": "address",
918
+ "name": "",
919
+ "type": "address"
920
+ }
921
+ ],
922
+ "stateMutability": "view",
923
+ "type": "function"
924
+ },
925
+ {
926
+ "inputs": [
927
+ {
928
+ "internalType": "bytes32",
929
+ "name": "",
930
+ "type": "bytes32"
931
+ },
932
+ {
933
+ "internalType": "address",
934
+ "name": "",
935
+ "type": "address"
936
+ }
937
+ ],
938
+ "name": "renounceRole",
939
+ "outputs": [],
940
+ "stateMutability": "pure",
941
+ "type": "function"
942
+ },
943
+ {
944
+ "inputs": [
945
+ {
946
+ "internalType": "bytes32",
947
+ "name": "role",
948
+ "type": "bytes32"
949
+ },
950
+ {
951
+ "internalType": "address",
952
+ "name": "account",
953
+ "type": "address"
954
+ }
955
+ ],
956
+ "name": "revokeRole",
957
+ "outputs": [],
958
+ "stateMutability": "nonpayable",
959
+ "type": "function"
960
+ },
961
+ {
962
+ "inputs": [
963
+ {
964
+ "internalType": "uint16",
965
+ "name": "_multiplierBps",
966
+ "type": "uint16"
967
+ }
968
+ ],
969
+ "name": "setDefaultMultiplierBps",
970
+ "outputs": [],
971
+ "stateMutability": "nonpayable",
972
+ "type": "function"
973
+ },
974
+ {
975
+ "inputs": [
976
+ {
977
+ "components": [
978
+ {
979
+ "internalType": "uint32",
980
+ "name": "dstEid",
981
+ "type": "uint32"
982
+ },
983
+ {
984
+ "internalType": "uint64",
985
+ "name": "baseGas",
986
+ "type": "uint64"
987
+ },
988
+ {
989
+ "internalType": "uint16",
990
+ "name": "multiplierBps",
991
+ "type": "uint16"
992
+ },
993
+ {
994
+ "internalType": "uint128",
995
+ "name": "floorMarginUSD",
996
+ "type": "uint128"
997
+ },
998
+ {
999
+ "internalType": "uint128",
1000
+ "name": "nativeCap",
1001
+ "type": "uint128"
1002
+ }
1003
+ ],
1004
+ "internalType": "struct IExecutor.DstConfigParam[]",
1005
+ "name": "_params",
1006
+ "type": "tuple[]"
1007
+ }
1008
+ ],
1009
+ "name": "setDstConfig",
1010
+ "outputs": [],
1011
+ "stateMutability": "nonpayable",
1012
+ "type": "function"
1013
+ },
1014
+ {
1015
+ "inputs": [
1016
+ {
1017
+ "internalType": "bool",
1018
+ "name": "_paused",
1019
+ "type": "bool"
1020
+ }
1021
+ ],
1022
+ "name": "setPaused",
1023
+ "outputs": [],
1024
+ "stateMutability": "nonpayable",
1025
+ "type": "function"
1026
+ },
1027
+ {
1028
+ "inputs": [
1029
+ {
1030
+ "internalType": "address",
1031
+ "name": "_priceFeed",
1032
+ "type": "address"
1033
+ }
1034
+ ],
1035
+ "name": "setPriceFeed",
1036
+ "outputs": [],
1037
+ "stateMutability": "nonpayable",
1038
+ "type": "function"
1039
+ },
1040
+ {
1041
+ "inputs": [
1042
+ {
1043
+ "internalType": "uint32",
1044
+ "name": "_eid",
1045
+ "type": "uint32"
1046
+ },
1047
+ {
1048
+ "internalType": "uint8[]",
1049
+ "name": "_optionTypes",
1050
+ "type": "uint8[]"
1051
+ }
1052
+ ],
1053
+ "name": "setSupportedOptionTypes",
1054
+ "outputs": [],
1055
+ "stateMutability": "nonpayable",
1056
+ "type": "function"
1057
+ },
1058
+ {
1059
+ "inputs": [
1060
+ {
1061
+ "internalType": "address",
1062
+ "name": "_workerFeeLib",
1063
+ "type": "address"
1064
+ }
1065
+ ],
1066
+ "name": "setWorkerFeeLib",
1067
+ "outputs": [],
1068
+ "stateMutability": "nonpayable",
1069
+ "type": "function"
1070
+ },
1071
+ {
1072
+ "inputs": [
1073
+ {
1074
+ "internalType": "bytes4",
1075
+ "name": "interfaceId",
1076
+ "type": "bytes4"
1077
+ }
1078
+ ],
1079
+ "name": "supportsInterface",
1080
+ "outputs": [
1081
+ {
1082
+ "internalType": "bool",
1083
+ "name": "",
1084
+ "type": "bool"
1085
+ }
1086
+ ],
1087
+ "stateMutability": "view",
1088
+ "type": "function"
1089
+ },
1090
+ {
1091
+ "inputs": [
1092
+ {
1093
+ "internalType": "address",
1094
+ "name": "_lib",
1095
+ "type": "address"
1096
+ },
1097
+ {
1098
+ "internalType": "address",
1099
+ "name": "_to",
1100
+ "type": "address"
1101
+ },
1102
+ {
1103
+ "internalType": "uint256",
1104
+ "name": "_amount",
1105
+ "type": "uint256"
1106
+ }
1107
+ ],
1108
+ "name": "withdrawFee",
1109
+ "outputs": [],
1110
+ "stateMutability": "nonpayable",
1111
+ "type": "function"
1112
+ },
1113
+ {
1114
+ "inputs": [
1115
+ {
1116
+ "internalType": "address",
1117
+ "name": "_token",
1118
+ "type": "address"
1119
+ },
1120
+ {
1121
+ "internalType": "address",
1122
+ "name": "_to",
1123
+ "type": "address"
1124
+ },
1125
+ {
1126
+ "internalType": "uint256",
1127
+ "name": "_amount",
1128
+ "type": "uint256"
1129
+ }
1130
+ ],
1131
+ "name": "withdrawToken",
1132
+ "outputs": [],
1133
+ "stateMutability": "nonpayable",
1134
+ "type": "function"
1135
+ },
1136
+ {
1137
+ "inputs": [],
1138
+ "name": "workerFeeLib",
1139
+ "outputs": [
1140
+ {
1141
+ "internalType": "address",
1142
+ "name": "",
1143
+ "type": "address"
1144
+ }
1145
+ ],
1146
+ "stateMutability": "view",
1147
+ "type": "function"
1148
+ }
1149
+ ],
1150
+ "transactionHash": "0x2f5148cdffdbad174138e1a59744d20877b77f82f4add22a247b1ca8ef0ca146",
1151
+ "receipt": {
1152
+ "to": null,
1153
+ "from": "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",
1154
+ "contractAddress": "0x5DE5e3b5fDD52f9843F80adeEC5Ae6E5f91E7285",
1155
+ "transactionIndex": 0,
1156
+ "gasUsed": "3487944",
1157
+ "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
1158
+ "blockHash": "0x000000000000002b3c6d64e90ddd19ba7c27033b443d716dc5f617c36bf7ba13",
1159
+ "transactionHash": "0x2f5148cdffdbad174138e1a59744d20877b77f82f4add22a247b1ca8ef0ca146",
1160
+ "logs": [],
1161
+ "blockNumber": 43,
1162
+ "cumulativeGasUsed": "3487944",
1163
+ "status": 1,
1164
+ "byzantium": true
1165
+ },
1166
+ "args": [],
1167
+ "numDeployments": 1,
1168
+ "solcInputHash": "fce58e88cf10f12a1bb5c9a5f757322d",
1169
+ "bytecode": "0x60806040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b5061440c806200003e6000396000f3fe6080604052600436106102175760003560e01c8063717e8a421161011d578063acdbcca5116100b0578063c7b2370b1161007f578063d2ae210411610064578063d2ae210414610a5f578063d547741f14610acb578063fa34c84e14610b0557600080fd5b8063c7b2370b146109eb578063cd88b90314610a2557600080fd5b8063acdbcca5146108e8578063c2803b2c14610922578063c358de0a1461096a578063c416aa51146109a457600080fd5b80638624ba07116100ec5780638624ba071461076357806391d14854146107765780639e944965146107e3578063a217fddf146108b957600080fd5b8063717e8a4214610643578063724e78da1461067d57806372607537146106b7578063741bef1a1461071c57600080fd5b80632de11376116101b05780633927c0751161017f5780635c975abb116101645780635c975abb1461056a5780635e280f111461059c578063709eb6641461060957600080fd5b80633927c07514610544578063475b6d9e1461055757600080fd5b80632de113761461045c5780632f2ff15d146104965780633146646a146104d057806336568abe1461050a57600080fd5b80631095b6d7116101ec5780631095b6d71461034957806316c38b3c14610383578063248a9ca3146103bd57806326e67a371461041557600080fd5b80629fc6811461021c578062bf2e801461025857806301e33667146102c557806301ffc9a7146102ff575b600080fd5b34801561022857600080fd5b50d3801561023557600080fd5b50d2801561024257600080fd5b50610256610251366004613562565b610b3f565b005b34801561026457600080fd5b50d3801561027157600080fd5b50d2801561027e57600080fd5b5060c9546102ad907c0100000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b3480156102d157600080fd5b50d380156102de57600080fd5b50d280156102eb57600080fd5b506102566102fa366004613607565b610ede565b34801561030b57600080fd5b50d3801561031857600080fd5b50d2801561032557600080fd5b50610339610334366004613643565b610f19565b60405190151581526020016102bc565b34801561035557600080fd5b50d3801561036257600080fd5b50d2801561036f57600080fd5b5061025661037e366004613607565b610fb2565b34801561038f57600080fd5b50d3801561039c57600080fd5b50d280156103a957600080fd5b506102566103b8366004613693565b611141565b3480156103c957600080fd5b50d380156103d657600080fd5b50d280156103e357600080fd5b506104076103f23660046136b0565b60009081526065602052604090206001015490565b6040519081526020016102bc565b34801561042157600080fd5b50d3801561042e57600080fd5b50d2801561043b57600080fd5b5061044f61044a3660046136db565b611166565b6040516102bc91906136f8565b34801561046857600080fd5b50d3801561047557600080fd5b50d2801561048257600080fd5b5061033961049136600461373f565b6111ed565b3480156104a257600080fd5b50d380156104af57600080fd5b50d280156104bc57600080fd5b506102566104cb36600461375a565b6112d1565b3480156104dc57600080fd5b50d380156104e957600080fd5b50d280156104f657600080fd5b506102566105053660046137cf565b6112fb565b34801561051657600080fd5b50d3801561052357600080fd5b50d2801561053057600080fd5b5061025661053f36600461375a565b6113c4565b610256610552366004613878565b6113f6565b61025661056536600461390c565b6114e0565b34801561057657600080fd5b50d3801561058357600080fd5b50d2801561059057600080fd5b5060975460ff16610339565b3480156105a857600080fd5b50d380156105b557600080fd5b50d280156105c257600080fd5b5061012c546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102bc565b34801561061557600080fd5b50d3801561062257600080fd5b50d2801561062f57600080fd5b5061040761063e36600461398d565b611534565b34801561064f57600080fd5b50d3801561065c57600080fd5b50d2801561066957600080fd5b5061040761067836600461398d565b61168d565b34801561068957600080fd5b50d3801561069657600080fd5b50d280156106a357600080fd5b506102566106b236600461373f565b61180b565b3480156106c357600080fd5b50d380156106d057600080fd5b50d280156106dd57600080fd5b5061012c546107079074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016102bc565b34801561072857600080fd5b50d3801561073557600080fd5b50d2801561074257600080fd5b5060ca546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b6102566107713660046139fe565b6118b0565b34801561078257600080fd5b50d3801561078f57600080fd5b50d2801561079c57600080fd5b506103396107ab36600461375a565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156107ef57600080fd5b50d380156107fc57600080fd5b50d2801561080957600080fd5b506108736108183660046136db565b61012b602052600090815260409020805460019091015467ffffffffffffffff82169161ffff68010000000000000000820416916fffffffffffffffffffffffffffffffff6a01000000000000000000009092048216911684565b6040805167ffffffffffffffff909516855261ffff90931660208501526fffffffffffffffffffffffffffffffff918216928401929092521660608201526080016102bc565b3480156108c557600080fd5b50d380156108d257600080fd5b50d280156108df57600080fd5b50610407600081565b3480156108f457600080fd5b50d3801561090157600080fd5b50d2801561090e57600080fd5b5061025661091d366004613ac1565b6119ed565b34801561092e57600080fd5b50d3801561093b57600080fd5b50d2801561094857600080fd5b5061012d546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b34801561097657600080fd5b50d3801561098357600080fd5b50d2801561099057600080fd5b5061025661099f366004613bb8565b611ba8565b3480156109b057600080fd5b50d380156109bd57600080fd5b50d280156109ca57600080fd5b5060c9546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b3480156109f757600080fd5b50d38015610a0457600080fd5b50d28015610a1157600080fd5b50610256610a2036600461373f565b611c55565b348015610a3157600080fd5b50d38015610a3e57600080fd5b50d28015610a4b57600080fd5b50610256610a5a366004613bd3565b611cf2565b348015610a6b57600080fd5b50d38015610a7857600080fd5b50d28015610a8557600080fd5b5060c954610ab29074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102bc565b348015610ad757600080fd5b50d38015610ae457600080fd5b50d28015610af157600080fd5b50610256610b0036600461375a565b611d3c565b348015610b1157600080fd5b50d38015610b1e57600080fd5b50d28015610b2b57600080fd5b50610256610b3a36600461373f565b611d61565b6000610b697fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116610bc25773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610be4565b3373ffffffffffffffffffffffffffffffffffffffff821614610be457600080fd5b600054610100900460ff1615808015610c045750600054600160ff909116105b80610c1e5750303b158015610c1e575060005460ff166001145b610caf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d0d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d15611e4f565b610d248686612ee08787611ef0565b61012c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16908117909155604080517f416ecebf000000000000000000000000000000000000000000000000000000008152905163416ecebf916004808201926020929091908290030181865afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de09190613c5b565b61012c80547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905561012d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558015610ed457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610f0881611fac565b610f13848484611fb9565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610fac57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610fdc81611fac565b73ffffffffffffffffffffffffffffffffffffffff841660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff1661105a576040517f42cbfad100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b1580156110ca57600080fd5b505af11580156110de573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b600061114c81611fac565b811561115e5761115a611fe9565b5050565b61115a61206e565b63ffffffff8116600090815260cb60209081526040918290208054835181840281018401909452808452606093928301828280156111e157602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116111b25790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f0f6a9529577ef7bf1cbc8fccda1cc3c881f755c7e92e34c7c4deac1fa3c1c791602052604081205460ff161561124257506000919050565b60c95474010000000000000000000000000000000000000000900467ffffffffffffffff1615806112b7575073ffffffffffffffffffffffffffffffffffffffff821660009081527f35c5067391a9036240763c1067bfa438a7b0131204a675a2fe562dd73782ce85602052604090205460ff165b156112c457506001919050565b506000919050565b919050565b6000828152606560205260409020600101546112ec81611fac565b6112f683836120c5565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561132581611fac565b61132d61218c565b61012d546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f89061138890879087908790600401613cc1565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050610f13600160f955565b6040517fcebd140e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561142081611fac565b61142861218c565b611448886114368686612206565b6114408787612229565b8a8a8a612242565b5061012d546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f8906114a490879087908790600401613cc1565b600060405180830381600087803b1580156114be57600080fd5b505af11580156114d2573d6000803e3d6000fd5b50505050610ed4600160f955565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561150a81611fac565b61151261218c565b611520878787878787612242565b5061152b600160f955565b50505050505050565b600084611540816111ed565b611576576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61157e6123c2565b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a1660208084018290528a831684860152606084018a905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012b9091529084902093517f371c3a8e000000000000000000000000000000000000000000000000000000008152929391169163371c3a8e91611640918591908a908a90600401613ce5565b602060405180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116819190613d9b565b98975050505050505050565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6116b981611fac565b856116c3816111ed565b6116f9576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8b1660208084018290528b831684860152606084018b905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012b9091529084902093517ff43bcfc5000000000000000000000000000000000000000000000000000000008152929391169163f43bcfc5916117bb918591908b908b90600401613ce5565b6020604051808303816000875af11580156117da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fe9190613d9b565b9998505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561183581611fac565b60ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756118da81611fac565b6118e261218c565b61012c5460009061192290602085019074010000000000000000000000000000000000000000900463ffffffff1661191a828761373f565b898989612242565b905060006119308234613de3565b61012c5490915073ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e08601358360208801611966818a61373f565b60808a013561197860a08c018c613df6565b61198560c08e018e613df6565b6040518a63ffffffff1660e01b81526004016119a79796959493929190613e97565b6000604051808303818589803b1580156119c057600080fd5b5088f11580156119d4573d6000803e3d6000fd5b50505050505050506119e6600160f955565b5050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611a1781611fac565b60005b8251811015611b78576000838281518110611a3757611a37613efb565b60209081029190910181015160408051608080820183528385015167ffffffffffffffff90811683528385015161ffff9081168488019081526060808801516fffffffffffffffffffffffffffffffff908116878901908152958901518116918701918252975163ffffffff16600090815261012b90995295909720935184549751935187166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff9490921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090981692169190911795909517169390931783555160019092018054929091167fffffffffffffffffffffffffffffffff000000000000000000000000000000009092169190911790555080611b7081613f2a565b915050611a1a565b507f3fd3f9275410b39824c12e5dfcf63fb332698a5eee3b09895aaaaa9e403bd481826040516118a49190613f62565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611bd281611fac565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d906020016118a4565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611c7f81611fac565b60c980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e0906020016118a4565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611d1c81611fac565b63ffffffff8416600090815260cb602052604090206119e6908484613324565b600082815260656020526040902060010154611d5781611fac565b6112f6838361242f565b6000611d8b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116611de45773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611e06565b3373ffffffffffffffffffffffffffffffffffffffff821614611e0657600080fd5b5061012d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16611ee6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b611eee6124f5565b565b600054610100900460ff16611f87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b611f8f61258c565b611f9761258c565b611f9f612623565b6119e685858585856126e4565b611fb681336128d9565b50565b73ffffffffffffffffffffffffffffffffffffffff8316611fde576112f68282612993565b6112f6838383612a99565b611ff16123c2565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120443390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612076612b07565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33612044565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156121245750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b156121825760c9805460149061215b9074010000000000000000000000000000000000000000900467ffffffffffffffff16613ffc565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b61115a8282612b73565b600260f954036121f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ca6565b600260f955565b600160f955565b60006122166031602d8486614023565b61221f9161404d565b60e01c9392505050565b600061223b6122388484612c67565b90565b9392505050565b6000808367ffffffffffffffff81111561225e5761225e613425565b604051908082528060200260200182016040528015612287578160200160208202803683370190505b50905060005b848110156123755760008686838181106122a9576122a9613efb565b9050604002018036038101906122bf9190614095565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff1682602001518790604051600060405180830381858888f193505050503d8060008114612326576040519150601f19603f3d011682016040523d82523d6000602084013e61232b565b606091505b505090508084848151811061234257612342613efb565b91151560209283029190910182015282015161235e90866140ec565b94505050808061236d90613f2a565b91505061228d565b507f1f48172553121d8bf273ce457a5a3dd180d464e0add3e0143045b7fa039c34688888888888866040516123af9695949392919061413c565b60405180910390a1509695505050505050565b60975460ff1615611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610ca6565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561248d5750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156124eb5760c980546014906124c49074010000000000000000000000000000000000000000900467ffffffffffffffff166141dd565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b61115a8282612c80565b600054610100900460ff166121ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b600054610100900460ff16611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b600054610100900460ff166126ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600054610100900460ff1661277b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff86160217905560ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8681169190911790915582161561281f5761281f6000836120c5565b60005b855181101561287e5761286e7f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de87838151811061286157612861613efb565b60200260200101516120c5565b61287781613f2a565b9050612822565b5060005b81518110156128d1576128c17fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583838151811061286157612861613efb565b6128ca81613f2a565b9050612882565b505050505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661115a5761291981612d3b565b612924836020612d5a565b604051602001612935929190614243565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610ca6916004016142c4565b73ffffffffffffffffffffffffffffffffffffffff82166129e0576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612a3a576040519150601f19603f3d011682016040523d82523d6000602084013e612a3f565b606091505b50509050806112f6576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610ca6565b73ffffffffffffffffffffffffffffffffffffffff8216612ae6576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112f673ffffffffffffffffffffffffffffffffffffffff84168383612f9d565b60975460ff16611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610ca6565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661115a57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612c093390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000612c77605160318486614023565b61223b91614315565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561115a57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610fac73ffffffffffffffffffffffffffffffffffffffff831660145b60606000612d69836002614351565b612d749060026140ec565b67ffffffffffffffff811115612d8c57612d8c613425565b6040519080825280601f01601f191660200182016040528015612db6576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612ded57612ded613efb565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612e5057612e50613efb565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612e8c846002614351565b612e979060016140ec565b90505b6001811115612f34577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612ed857612ed8613efb565b1a60f81b828281518110612eee57612eee613efb565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93612f2d81614368565b9050612e9a565b50831561223b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ca6565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526112f692869291600091613068918516908490613115565b9050805160001480613089575080806020019051810190613089919061439d565b6112f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610ca6565b6060613124848460008561312c565b949350505050565b6060824710156131be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610ca6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516131e791906143ba565b60006040518083038185875af1925050503d8060008114613224576040519150601f19603f3d011682016040523d82523d6000602084013e613229565b606091505b509150915061323a87838387613245565b979650505050505050565b606083156132db5782516000036132d45773ffffffffffffffffffffffffffffffffffffffff85163b6132d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ca6565b5081613124565b61312483838151156132f05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca691906142c4565b82805482825590600052602060002090601f016020900481019282156133bd5791602002820160005b8382111561338e57833560ff1683826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261334d565b80156133bb5782816101000a81549060ff021916905560010160208160000104928301926001030261338e565b505b506133c99291506133cd565b5090565b5b808211156133c957600081556001016133ce565b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461340957600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff8111828210171561347757613477613425565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134c4576134c4613425565b604052919050565b600067ffffffffffffffff8211156134e6576134e6613425565b5060051b60200190565b600082601f83011261350157600080fd5b81356020613516613511836134cc565b61347d565b82815260059290921b8401810191818101908684111561353557600080fd5b8286015b848110156135575761354a816133e2565b8352918301918301613539565b509695505050505050565b60008060008060008060c0878903121561357b57600080fd5b613584876133e2565b9550613592602088016133e2565b9450604087013567ffffffffffffffff808211156135af57600080fd5b6135bb8a838b016134f0565b95506135c960608a016133e2565b94506135d760808a016133e2565b935060a08901359150808211156135ed57600080fd5b506135fa89828a016134f0565b9150509295509295509295565b60008060006060848603121561361c57600080fd5b613625846133e2565b9250613633602085016133e2565b9150604084013590509250925092565b60006020828403121561365557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461223b57600080fd5b8015158114611fb657600080fd5b6000602082840312156136a557600080fd5b813561223b81613685565b6000602082840312156136c257600080fd5b5035919050565b63ffffffff81168114611fb657600080fd5b6000602082840312156136ed57600080fd5b813561223b816136c9565b6020808252825182820181905260009190848201906040850190845b8181101561373357835160ff1683529284019291840191600101613714565b50909695505050505050565b60006020828403121561375157600080fd5b61223b826133e2565b6000806040838503121561376d57600080fd5b8235915061377d602084016133e2565b90509250929050565b60008083601f84011261379857600080fd5b50813567ffffffffffffffff8111156137b057600080fd5b6020830191508360208285010111156137c857600080fd5b9250929050565b6000806000604084860312156137e457600080fd5b833567ffffffffffffffff8111156137fb57600080fd5b61380786828701613786565b909790965060209590950135949350505050565b60006060828403121561382d57600080fd5b50919050565b60008083601f84011261384557600080fd5b50813567ffffffffffffffff81111561385d57600080fd5b6020830191508360208260061b85010111156137c857600080fd5b600080600080600080600060e0888a03121561389357600080fd5b61389d898961381b565b9650606088013567ffffffffffffffff808211156138ba57600080fd5b6138c68b838c01613833565b909850965060808a0135955060a08a01359150808211156138e657600080fd5b506138f38a828b01613786565b989b979a5095989497959660c090950135949350505050565b60008060008060008060e0878903121561392557600080fd5b61392f888861381b565b9550606087013561393f816136c9565b945061394d608088016133e2565b935060a087013567ffffffffffffffff81111561396957600080fd5b61397589828a01613833565b979a969950949794969560c090950135949350505050565b6000806000806000608086880312156139a557600080fd5b85356139b0816136c9565b94506139be602087016133e2565b935060408601359250606086013567ffffffffffffffff8111156139e157600080fd5b6139ed88828901613786565b969995985093965092949392505050565b60008060008060608587031215613a1457600080fd5b843567ffffffffffffffff80821115613a2c57600080fd5b613a3888838901613833565b9096509450602087013593506040870135915080821115613a5857600080fd5b5085016101008188031215613a6c57600080fd5b939692955090935050565b803567ffffffffffffffff811681146112cc57600080fd5b803561ffff811681146112cc57600080fd5b80356fffffffffffffffffffffffffffffffff811681146112cc57600080fd5b60006020808385031215613ad457600080fd5b823567ffffffffffffffff811115613aeb57600080fd5b8301601f81018513613afc57600080fd5b8035613b0a613511826134cc565b81815260a09182028301840191848201919088841115613b2957600080fd5b938501935b83851015613bac5780858a031215613b465760008081fd5b613b4e613454565b8535613b59816136c9565b8152613b66868801613a77565b878201526040613b77818801613a8f565b908201526060613b88878201613aa1565b908201526080613b99878201613aa1565b9082015283529384019391850191613b2e565b50979650505050505050565b600060208284031215613bca57600080fd5b61223b82613a8f565b600080600060408486031215613be857600080fd5b8335613bf3816136c9565b9250602084013567ffffffffffffffff80821115613c1057600080fd5b818601915086601f830112613c2457600080fd5b813581811115613c3357600080fd5b8760208260051b8501011115613c4857600080fd5b6020830194508093505050509250925092565b600060208284031215613c6d57600080fd5b815161223b816136c9565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000613cd5604083018587613c78565b9050826020830152949350505050565b600061014073ffffffffffffffffffffffffffffffffffffffff80885116845263ffffffff60208901511660208501528060408901511660408501525060608701516060840152608087015161ffff80821660808601528754915067ffffffffffffffff821660a0860152808260401c1660c0860152506fffffffffffffffffffffffffffffffff808260501c1660e08601528060018901541661010086015250508061012084015261323a8184018587613c78565b600060208284031215613dad57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610fac57610fac613db4565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613e2b57600080fd5b83018035915067ffffffffffffffff821115613e4657600080fd5b6020019150368190038213156137c857600080fd5b8035613e66816136c9565b63ffffffff1682526020818101359083015267ffffffffffffffff613e8d60408301613a77565b1660408301525050565b613ea18189613e5b565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a08201526000613eda60e083018688613c78565b82810360c0840152613eed818587613c78565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f5b57613f5b613db4565b5060010190565b602080825282518282018190526000919060409081850190868401855b82811015613fef578151805163ffffffff1685528681015167ffffffffffffffff16878601528581015161ffff16868601526060808201516fffffffffffffffffffffffffffffffff90811691870191909152608091820151169085015260a09093019290850190600101613f7f565b5091979650505050505050565b600067ffffffffffffffff80831681810361401957614019613db4565b6001019392505050565b6000808585111561403357600080fd5b8386111561404057600080fd5b5050820193919092039150565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561408d5780818660040360031b1b83161692505b505092915050565b6000604082840312156140a757600080fd5b6040516040810181811067ffffffffffffffff821117156140ca576140ca613425565b6040526140d6836133e2565b8152602083013560208201528091505092915050565b80820180821115610fac57610fac613db4565b600081518084526020808501945080840160005b83811015614131578151151587529582019590820190600101614113565b509495945050505050565b600060e0820161414c838a613e5b565b63ffffffff8816606084015273ffffffffffffffffffffffffffffffffffffffff878116608085015260e060a0850152908590528590610100840160005b878110156141bb578261419c856133e2565b168252602084810135908301526040938401939091019060010161418a565b5084810360c08601526141ce81876140ff565b9b9a5050505050505050505050565b600067ffffffffffffffff8216806141f7576141f7613db4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60005b8381101561423a578181015183820152602001614222565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161427b81601785016020880161421f565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516142b881602884016020880161421f565b01602801949350505050565b60208152600082518060208401526142e381604085016020870161421f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b80356020831015610fac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8082028115828204841417610fac57610fac613db4565b60008161437757614377613db4565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156143af57600080fd5b815161223b81613685565b600082516143cc81846020870161421f565b919091019291505056fea26474726f6e58221220ff6ea4240fa875a203b18b63680d1bf422e29eced2ea0605e6f7bdcff0ae05db64736f6c63430008140033",
1170
+ "deployedBytecode": "0x6080604052600436106102175760003560e01c8063717e8a421161011d578063acdbcca5116100b0578063c7b2370b1161007f578063d2ae210411610064578063d2ae210414610a5f578063d547741f14610acb578063fa34c84e14610b0557600080fd5b8063c7b2370b146109eb578063cd88b90314610a2557600080fd5b8063acdbcca5146108e8578063c2803b2c14610922578063c358de0a1461096a578063c416aa51146109a457600080fd5b80638624ba07116100ec5780638624ba071461076357806391d14854146107765780639e944965146107e3578063a217fddf146108b957600080fd5b8063717e8a4214610643578063724e78da1461067d57806372607537146106b7578063741bef1a1461071c57600080fd5b80632de11376116101b05780633927c0751161017f5780635c975abb116101645780635c975abb1461056a5780635e280f111461059c578063709eb6641461060957600080fd5b80633927c07514610544578063475b6d9e1461055757600080fd5b80632de113761461045c5780632f2ff15d146104965780633146646a146104d057806336568abe1461050a57600080fd5b80631095b6d7116101ec5780631095b6d71461034957806316c38b3c14610383578063248a9ca3146103bd57806326e67a371461041557600080fd5b80629fc6811461021c578062bf2e801461025857806301e33667146102c557806301ffc9a7146102ff575b600080fd5b34801561022857600080fd5b50d3801561023557600080fd5b50d2801561024257600080fd5b50610256610251366004613562565b610b3f565b005b34801561026457600080fd5b50d3801561027157600080fd5b50d2801561027e57600080fd5b5060c9546102ad907c0100000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b3480156102d157600080fd5b50d380156102de57600080fd5b50d280156102eb57600080fd5b506102566102fa366004613607565b610ede565b34801561030b57600080fd5b50d3801561031857600080fd5b50d2801561032557600080fd5b50610339610334366004613643565b610f19565b60405190151581526020016102bc565b34801561035557600080fd5b50d3801561036257600080fd5b50d2801561036f57600080fd5b5061025661037e366004613607565b610fb2565b34801561038f57600080fd5b50d3801561039c57600080fd5b50d280156103a957600080fd5b506102566103b8366004613693565b611141565b3480156103c957600080fd5b50d380156103d657600080fd5b50d280156103e357600080fd5b506104076103f23660046136b0565b60009081526065602052604090206001015490565b6040519081526020016102bc565b34801561042157600080fd5b50d3801561042e57600080fd5b50d2801561043b57600080fd5b5061044f61044a3660046136db565b611166565b6040516102bc91906136f8565b34801561046857600080fd5b50d3801561047557600080fd5b50d2801561048257600080fd5b5061033961049136600461373f565b6111ed565b3480156104a257600080fd5b50d380156104af57600080fd5b50d280156104bc57600080fd5b506102566104cb36600461375a565b6112d1565b3480156104dc57600080fd5b50d380156104e957600080fd5b50d280156104f657600080fd5b506102566105053660046137cf565b6112fb565b34801561051657600080fd5b50d3801561052357600080fd5b50d2801561053057600080fd5b5061025661053f36600461375a565b6113c4565b610256610552366004613878565b6113f6565b61025661056536600461390c565b6114e0565b34801561057657600080fd5b50d3801561058357600080fd5b50d2801561059057600080fd5b5060975460ff16610339565b3480156105a857600080fd5b50d380156105b557600080fd5b50d280156105c257600080fd5b5061012c546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020016102bc565b34801561061557600080fd5b50d3801561062257600080fd5b50d2801561062f57600080fd5b5061040761063e36600461398d565b611534565b34801561064f57600080fd5b50d3801561065c57600080fd5b50d2801561066957600080fd5b5061040761067836600461398d565b61168d565b34801561068957600080fd5b50d3801561069657600080fd5b50d280156106a357600080fd5b506102566106b236600461373f565b61180b565b3480156106c357600080fd5b50d380156106d057600080fd5b50d280156106dd57600080fd5b5061012c546107079074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff90911681526020016102bc565b34801561072857600080fd5b50d3801561073557600080fd5b50d2801561074257600080fd5b5060ca546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b6102566107713660046139fe565b6118b0565b34801561078257600080fd5b50d3801561078f57600080fd5b50d2801561079c57600080fd5b506103396107ab36600461375a565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156107ef57600080fd5b50d380156107fc57600080fd5b50d2801561080957600080fd5b506108736108183660046136db565b61012b602052600090815260409020805460019091015467ffffffffffffffff82169161ffff68010000000000000000820416916fffffffffffffffffffffffffffffffff6a01000000000000000000009092048216911684565b6040805167ffffffffffffffff909516855261ffff90931660208501526fffffffffffffffffffffffffffffffff918216928401929092521660608201526080016102bc565b3480156108c557600080fd5b50d380156108d257600080fd5b50d280156108df57600080fd5b50610407600081565b3480156108f457600080fd5b50d3801561090157600080fd5b50d2801561090e57600080fd5b5061025661091d366004613ac1565b6119ed565b34801561092e57600080fd5b50d3801561093b57600080fd5b50d2801561094857600080fd5b5061012d546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b34801561097657600080fd5b50d3801561098357600080fd5b50d2801561099057600080fd5b5061025661099f366004613bb8565b611ba8565b3480156109b057600080fd5b50d380156109bd57600080fd5b50d280156109ca57600080fd5b5060c9546105e49073ffffffffffffffffffffffffffffffffffffffff1681565b3480156109f757600080fd5b50d38015610a0457600080fd5b50d28015610a1157600080fd5b50610256610a2036600461373f565b611c55565b348015610a3157600080fd5b50d38015610a3e57600080fd5b50d28015610a4b57600080fd5b50610256610a5a366004613bd3565b611cf2565b348015610a6b57600080fd5b50d38015610a7857600080fd5b50d28015610a8557600080fd5b5060c954610ab29074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff90911681526020016102bc565b348015610ad757600080fd5b50d38015610ae457600080fd5b50d28015610af157600080fd5b50610256610b0036600461375a565b611d3c565b348015610b1157600080fd5b50d38015610b1e57600080fd5b50d28015610b2b57600080fd5b50610256610b3a36600461373f565b611d61565b6000610b697fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116610bc25773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355610be4565b3373ffffffffffffffffffffffffffffffffffffffff821614610be457600080fd5b600054610100900460ff1615808015610c045750600054600160ff909116105b80610c1e5750303b158015610c1e575060005460ff166001145b610caf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558015610d0d57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b610d15611e4f565b610d248686612ee08787611ef0565b61012c80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16908117909155604080517f416ecebf000000000000000000000000000000000000000000000000000000008152905163416ecebf916004808201926020929091908290030181865afa158015610dbc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610de09190613c5b565b61012c80547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905561012d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558015610ed457600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610f0881611fac565b610f13848484611fb9565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610fac57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610fdc81611fac565b73ffffffffffffffffffffffffffffffffffffffff841660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff1661105a576040517f42cbfad100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b1580156110ca57600080fd5b505af11580156110de573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b600061114c81611fac565b811561115e5761115a611fe9565b5050565b61115a61206e565b63ffffffff8116600090815260cb60209081526040918290208054835181840281018401909452808452606093928301828280156111e157602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116111b25790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f0f6a9529577ef7bf1cbc8fccda1cc3c881f755c7e92e34c7c4deac1fa3c1c791602052604081205460ff161561124257506000919050565b60c95474010000000000000000000000000000000000000000900467ffffffffffffffff1615806112b7575073ffffffffffffffffffffffffffffffffffffffff821660009081527f35c5067391a9036240763c1067bfa438a7b0131204a675a2fe562dd73782ce85602052604090205460ff165b156112c457506001919050565b506000919050565b919050565b6000828152606560205260409020600101546112ec81611fac565b6112f683836120c5565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561132581611fac565b61132d61218c565b61012d546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f89061138890879087908790600401613cc1565b600060405180830381600087803b1580156113a257600080fd5b505af11580156113b6573d6000803e3d6000fd5b50505050610f13600160f955565b6040517fcebd140e00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561142081611fac565b61142861218c565b611448886114368686612206565b6114408787612229565b8a8a8a612242565b5061012d546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f8906114a490879087908790600401613cc1565b600060405180830381600087803b1580156114be57600080fd5b505af11580156114d2573d6000803e3d6000fd5b50505050610ed4600160f955565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561150a81611fac565b61151261218c565b611520878787878787612242565b5061152b600160f955565b50505050505050565b600084611540816111ed565b611576576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61157e6123c2565b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a1660208084018290528a831684860152606084018a905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012b9091529084902093517f371c3a8e000000000000000000000000000000000000000000000000000000008152929391169163371c3a8e91611640918591908a908a90600401613ce5565b602060405180830381865afa15801561165d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116819190613d9b565b98975050505050505050565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6116b981611fac565b856116c3816111ed565b6116f9576040517f3d693ada00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8b1660208084018290528b831684860152606084018b905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012b9091529084902093517ff43bcfc5000000000000000000000000000000000000000000000000000000008152929391169163f43bcfc5916117bb918591908b908b90600401613ce5565b6020604051808303816000875af11580156117da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117fe9190613d9b565b9998505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561183581611fac565b60ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756118da81611fac565b6118e261218c565b61012c5460009061192290602085019074010000000000000000000000000000000000000000900463ffffffff1661191a828761373f565b898989612242565b905060006119308234613de3565b61012c5490915073ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e08601358360208801611966818a61373f565b60808a013561197860a08c018c613df6565b61198560c08e018e613df6565b6040518a63ffffffff1660e01b81526004016119a79796959493929190613e97565b6000604051808303818589803b1580156119c057600080fd5b5088f11580156119d4573d6000803e3d6000fd5b50505050505050506119e6600160f955565b5050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611a1781611fac565b60005b8251811015611b78576000838281518110611a3757611a37613efb565b60209081029190910181015160408051608080820183528385015167ffffffffffffffff90811683528385015161ffff9081168488019081526060808801516fffffffffffffffffffffffffffffffff908116878901908152958901518116918701918252975163ffffffff16600090815261012b90995295909720935184549751935187166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff9490921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090981692169190911795909517169390931783555160019092018054929091167fffffffffffffffffffffffffffffffff000000000000000000000000000000009092169190911790555080611b7081613f2a565b915050611a1a565b507f3fd3f9275410b39824c12e5dfcf63fb332698a5eee3b09895aaaaa9e403bd481826040516118a49190613f62565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611bd281611fac565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d906020016118a4565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611c7f81611fac565b60c980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e0906020016118a4565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611d1c81611fac565b63ffffffff8416600090815260cb602052604090206119e6908484613324565b600082815260656020526040902060010154611d5781611fac565b6112f6838361242f565b6000611d8b7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116611de45773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611e06565b3373ffffffffffffffffffffffffffffffffffffffff821614611e0657600080fd5b5061012d80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16611ee6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b611eee6124f5565b565b600054610100900460ff16611f87576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b611f8f61258c565b611f9761258c565b611f9f612623565b6119e685858585856126e4565b611fb681336128d9565b50565b73ffffffffffffffffffffffffffffffffffffffff8316611fde576112f68282612993565b6112f6838383612a99565b611ff16123c2565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586120443390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b612076612b07565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33612044565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156121245750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b156121825760c9805460149061215b9074010000000000000000000000000000000000000000900467ffffffffffffffff16613ffc565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b61115a8282612b73565b600260f954036121f8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610ca6565b600260f955565b600160f955565b60006122166031602d8486614023565b61221f9161404d565b60e01c9392505050565b600061223b6122388484612c67565b90565b9392505050565b6000808367ffffffffffffffff81111561225e5761225e613425565b604051908082528060200260200182016040528015612287578160200160208202803683370190505b50905060005b848110156123755760008686838181106122a9576122a9613efb565b9050604002018036038101906122bf9190614095565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff1682602001518790604051600060405180830381858888f193505050503d8060008114612326576040519150601f19603f3d011682016040523d82523d6000602084013e61232b565b606091505b505090508084848151811061234257612342613efb565b91151560209283029190910182015282015161235e90866140ec565b94505050808061236d90613f2a565b91505061228d565b507f1f48172553121d8bf273ce457a5a3dd180d464e0add3e0143045b7fa039c34688888888888866040516123af9695949392919061413c565b60405180910390a1509695505050505050565b60975460ff1615611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610ca6565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561248d5750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156124eb5760c980546014906124c49074010000000000000000000000000000000000000000900467ffffffffffffffff166141dd565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b61115a8282612c80565b600054610100900460ff166121ff576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b600054610100900460ff16611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b600054610100900460ff166126ba576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600054610100900460ff1661277b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610ca6565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff86160217905560ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8681169190911790915582161561281f5761281f6000836120c5565b60005b855181101561287e5761286e7f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de87838151811061286157612861613efb565b60200260200101516120c5565b61287781613f2a565b9050612822565b5060005b81518110156128d1576128c17fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583838151811061286157612861613efb565b6128ca81613f2a565b9050612882565b505050505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661115a5761291981612d3b565b612924836020612d5a565b604051602001612935929190614243565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610ca6916004016142c4565b73ffffffffffffffffffffffffffffffffffffffff82166129e0576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d8060008114612a3a576040519150601f19603f3d011682016040523d82523d6000602084013e612a3f565b606091505b50509050806112f6576040517f2c024f9200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610ca6565b73ffffffffffffffffffffffffffffffffffffffff8216612ae6576040517f32fa6a1d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6112f673ffffffffffffffffffffffffffffffffffffffff84168383612f9d565b60975460ff16611eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610ca6565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661115a57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055612c093390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000612c77605160318486614023565b61223b91614315565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561115a57600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610fac73ffffffffffffffffffffffffffffffffffffffff831660145b60606000612d69836002614351565b612d749060026140ec565b67ffffffffffffffff811115612d8c57612d8c613425565b6040519080825280601f01601f191660200182016040528015612db6576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612ded57612ded613efb565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612e5057612e50613efb565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612e8c846002614351565b612e979060016140ec565b90505b6001811115612f34577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612ed857612ed8613efb565b1a60f81b828281518110612eee57612eee613efb565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93612f2d81614368565b9050612e9a565b50831561223b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610ca6565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526112f692869291600091613068918516908490613115565b9050805160001480613089575080806020019051810190613089919061439d565b6112f6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610ca6565b6060613124848460008561312c565b949350505050565b6060824710156131be576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610ca6565b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516131e791906143ba565b60006040518083038185875af1925050503d8060008114613224576040519150601f19603f3d011682016040523d82523d6000602084013e613229565b606091505b509150915061323a87838387613245565b979650505050505050565b606083156132db5782516000036132d45773ffffffffffffffffffffffffffffffffffffffff85163b6132d4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610ca6565b5081613124565b61312483838151156132f05781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ca691906142c4565b82805482825590600052602060002090601f016020900481019282156133bd5791602002820160005b8382111561338e57833560ff1683826101000a81548160ff021916908360ff160217905550926020019260010160208160000104928301926001030261334d565b80156133bb5782816101000a81549060ff021916905560010160208160000104928301926001030261338e565b505b506133c99291506133cd565b5090565b5b808211156133c957600081556001016133ce565b6000813574ffffffffffffffffffffffffffffffffffffffffff8116811461340957600080fd5b73ffffffffffffffffffffffffffffffffffffffff1692915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff8111828210171561347757613477613425565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff811182821017156134c4576134c4613425565b604052919050565b600067ffffffffffffffff8211156134e6576134e6613425565b5060051b60200190565b600082601f83011261350157600080fd5b81356020613516613511836134cc565b61347d565b82815260059290921b8401810191818101908684111561353557600080fd5b8286015b848110156135575761354a816133e2565b8352918301918301613539565b509695505050505050565b60008060008060008060c0878903121561357b57600080fd5b613584876133e2565b9550613592602088016133e2565b9450604087013567ffffffffffffffff808211156135af57600080fd5b6135bb8a838b016134f0565b95506135c960608a016133e2565b94506135d760808a016133e2565b935060a08901359150808211156135ed57600080fd5b506135fa89828a016134f0565b9150509295509295509295565b60008060006060848603121561361c57600080fd5b613625846133e2565b9250613633602085016133e2565b9150604084013590509250925092565b60006020828403121561365557600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461223b57600080fd5b8015158114611fb657600080fd5b6000602082840312156136a557600080fd5b813561223b81613685565b6000602082840312156136c257600080fd5b5035919050565b63ffffffff81168114611fb657600080fd5b6000602082840312156136ed57600080fd5b813561223b816136c9565b6020808252825182820181905260009190848201906040850190845b8181101561373357835160ff1683529284019291840191600101613714565b50909695505050505050565b60006020828403121561375157600080fd5b61223b826133e2565b6000806040838503121561376d57600080fd5b8235915061377d602084016133e2565b90509250929050565b60008083601f84011261379857600080fd5b50813567ffffffffffffffff8111156137b057600080fd5b6020830191508360208285010111156137c857600080fd5b9250929050565b6000806000604084860312156137e457600080fd5b833567ffffffffffffffff8111156137fb57600080fd5b61380786828701613786565b909790965060209590950135949350505050565b60006060828403121561382d57600080fd5b50919050565b60008083601f84011261384557600080fd5b50813567ffffffffffffffff81111561385d57600080fd5b6020830191508360208260061b85010111156137c857600080fd5b600080600080600080600060e0888a03121561389357600080fd5b61389d898961381b565b9650606088013567ffffffffffffffff808211156138ba57600080fd5b6138c68b838c01613833565b909850965060808a0135955060a08a01359150808211156138e657600080fd5b506138f38a828b01613786565b989b979a5095989497959660c090950135949350505050565b60008060008060008060e0878903121561392557600080fd5b61392f888861381b565b9550606087013561393f816136c9565b945061394d608088016133e2565b935060a087013567ffffffffffffffff81111561396957600080fd5b61397589828a01613833565b979a969950949794969560c090950135949350505050565b6000806000806000608086880312156139a557600080fd5b85356139b0816136c9565b94506139be602087016133e2565b935060408601359250606086013567ffffffffffffffff8111156139e157600080fd5b6139ed88828901613786565b969995985093965092949392505050565b60008060008060608587031215613a1457600080fd5b843567ffffffffffffffff80821115613a2c57600080fd5b613a3888838901613833565b9096509450602087013593506040870135915080821115613a5857600080fd5b5085016101008188031215613a6c57600080fd5b939692955090935050565b803567ffffffffffffffff811681146112cc57600080fd5b803561ffff811681146112cc57600080fd5b80356fffffffffffffffffffffffffffffffff811681146112cc57600080fd5b60006020808385031215613ad457600080fd5b823567ffffffffffffffff811115613aeb57600080fd5b8301601f81018513613afc57600080fd5b8035613b0a613511826134cc565b81815260a09182028301840191848201919088841115613b2957600080fd5b938501935b83851015613bac5780858a031215613b465760008081fd5b613b4e613454565b8535613b59816136c9565b8152613b66868801613a77565b878201526040613b77818801613a8f565b908201526060613b88878201613aa1565b908201526080613b99878201613aa1565b9082015283529384019391850191613b2e565b50979650505050505050565b600060208284031215613bca57600080fd5b61223b82613a8f565b600080600060408486031215613be857600080fd5b8335613bf3816136c9565b9250602084013567ffffffffffffffff80821115613c1057600080fd5b818601915086601f830112613c2457600080fd5b813581811115613c3357600080fd5b8760208260051b8501011115613c4857600080fd5b6020830194508093505050509250925092565b600060208284031215613c6d57600080fd5b815161223b816136c9565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b604081526000613cd5604083018587613c78565b9050826020830152949350505050565b600061014073ffffffffffffffffffffffffffffffffffffffff80885116845263ffffffff60208901511660208501528060408901511660408501525060608701516060840152608087015161ffff80821660808601528754915067ffffffffffffffff821660a0860152808260401c1660c0860152506fffffffffffffffffffffffffffffffff808260501c1660e08601528060018901541661010086015250508061012084015261323a8184018587613c78565b600060208284031215613dad57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610fac57610fac613db4565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613e2b57600080fd5b83018035915067ffffffffffffffff821115613e4657600080fd5b6020019150368190038213156137c857600080fd5b8035613e66816136c9565b63ffffffff1682526020818101359083015267ffffffffffffffff613e8d60408301613a77565b1660408301525050565b613ea18189613e5b565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a08201526000613eda60e083018688613c78565b82810360c0840152613eed818587613c78565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613f5b57613f5b613db4565b5060010190565b602080825282518282018190526000919060409081850190868401855b82811015613fef578151805163ffffffff1685528681015167ffffffffffffffff16878601528581015161ffff16868601526060808201516fffffffffffffffffffffffffffffffff90811691870191909152608091820151169085015260a09093019290850190600101613f7f565b5091979650505050505050565b600067ffffffffffffffff80831681810361401957614019613db4565b6001019392505050565b6000808585111561403357600080fd5b8386111561404057600080fd5b5050820193919092039150565b7fffffffff00000000000000000000000000000000000000000000000000000000813581811691600485101561408d5780818660040360031b1b83161692505b505092915050565b6000604082840312156140a757600080fd5b6040516040810181811067ffffffffffffffff821117156140ca576140ca613425565b6040526140d6836133e2565b8152602083013560208201528091505092915050565b80820180821115610fac57610fac613db4565b600081518084526020808501945080840160005b83811015614131578151151587529582019590820190600101614113565b509495945050505050565b600060e0820161414c838a613e5b565b63ffffffff8816606084015273ffffffffffffffffffffffffffffffffffffffff878116608085015260e060a0850152908590528590610100840160005b878110156141bb578261419c856133e2565b168252602084810135908301526040938401939091019060010161418a565b5084810360c08601526141ce81876140ff565b9b9a5050505050505050505050565b600067ffffffffffffffff8216806141f7576141f7613db4565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60005b8381101561423a578181015183820152602001614222565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e742000000000000000000081526000835161427b81601785016020880161421f565b7f206973206d697373696e6720726f6c652000000000000000000000000000000060179184019182015283516142b881602884016020880161421f565b01602801949350505050565b60208152600082518060208401526142e381604085016020870161421f565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b80356020831015610fac577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8082028115828204841417610fac57610fac613db4565b60008161437757614377613db4565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b6000602082840312156143af57600080fd5b815161223b81613685565b600082516143cc81846020870161421f565b919091019291505056fea26474726f6e58221220ff6ea4240fa875a203b18b63680d1bf422e29eced2ea0605e6f7bdcff0ae05db64736f6c63430008140033",
1171
+ "devdoc": {
1172
+ "events": {
1173
+ "Initialized(uint8)": {
1174
+ "details": "Triggered when the contract has been initialized or reinitialized."
1175
+ },
1176
+ "Paused(address)": {
1177
+ "details": "Emitted when the pause is triggered by `account`."
1178
+ },
1179
+ "RoleAdminChanged(bytes32,bytes32,bytes32)": {
1180
+ "details": "Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._"
1181
+ },
1182
+ "RoleGranted(bytes32,address,address)": {
1183
+ "details": "Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}."
1184
+ },
1185
+ "RoleRevoked(bytes32,address,address)": {
1186
+ "details": "Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)"
1187
+ },
1188
+ "Unpaused(address)": {
1189
+ "details": "Emitted when the pause is lifted by `account`."
1190
+ }
1191
+ },
1192
+ "kind": "dev",
1193
+ "methods": {
1194
+ "getRoleAdmin(bytes32)": {
1195
+ "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."
1196
+ },
1197
+ "grantRole(bytes32,address)": {
1198
+ "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."
1199
+ },
1200
+ "hasAcl(address)": {
1201
+ "details": "Access control list using allowlist and denylist1) if one address is in the denylist -> deny2) else if address in the allowlist OR allowlist is empty (allows everyone)-> allow3) else deny",
1202
+ "params": {
1203
+ "_sender": "address to check"
1204
+ }
1205
+ },
1206
+ "hasRole(bytes32,address)": {
1207
+ "details": "Returns `true` if `account` has been granted `role`."
1208
+ },
1209
+ "paused()": {
1210
+ "details": "Returns true if the contract is paused, and false otherwise."
1211
+ },
1212
+ "renounceRole(bytes32,address)": {
1213
+ "details": "overrides AccessControl to disable renouncing of roles"
1214
+ },
1215
+ "revokeRole(bytes32,address)": {
1216
+ "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."
1217
+ },
1218
+ "setDefaultMultiplierBps(uint16)": {
1219
+ "params": {
1220
+ "_multiplierBps": "default multiplier for worker fee"
1221
+ }
1222
+ },
1223
+ "setPaused(bool)": {
1224
+ "details": "flag to pause execution of workers (if used with whenNotPaused modifier)",
1225
+ "params": {
1226
+ "_paused": "true to pause, false to unpause"
1227
+ }
1228
+ },
1229
+ "setPriceFeed(address)": {
1230
+ "params": {
1231
+ "_priceFeed": "price feed address"
1232
+ }
1233
+ },
1234
+ "setWorkerFeeLib(address)": {
1235
+ "params": {
1236
+ "_workerFeeLib": "worker fee lib address"
1237
+ }
1238
+ },
1239
+ "supportsInterface(bytes4)": {
1240
+ "details": "See {IERC165-supportsInterface}."
1241
+ },
1242
+ "withdrawFee(address,address,uint256)": {
1243
+ "details": "supports withdrawing fee from ULN301, ULN302 and more",
1244
+ "params": {
1245
+ "_amount": "amount to withdraw",
1246
+ "_lib": "message lib address",
1247
+ "_to": "address to withdraw fee to"
1248
+ }
1249
+ },
1250
+ "withdrawToken(address,address,uint256)": {
1251
+ "details": "supports withdrawing token from the contract",
1252
+ "params": {
1253
+ "_amount": "amount to withdraw",
1254
+ "_to": "address to withdraw token to",
1255
+ "_token": "token address"
1256
+ }
1257
+ }
1258
+ },
1259
+ "version": 1
1260
+ },
1261
+ "userdoc": {
1262
+ "kind": "user",
1263
+ "methods": {},
1264
+ "version": 1
1265
+ },
1266
+ "storageLayout": {
1267
+ "storage": [
1268
+ {
1269
+ "astId": 1890,
1270
+ "contract": "contracts/Executor.sol:Executor",
1271
+ "label": "_initialized",
1272
+ "offset": 0,
1273
+ "slot": "0",
1274
+ "type": "t_uint8"
1275
+ },
1276
+ {
1277
+ "astId": 1893,
1278
+ "contract": "contracts/Executor.sol:Executor",
1279
+ "label": "_initializing",
1280
+ "offset": 1,
1281
+ "slot": "0",
1282
+ "type": "t_bool"
1283
+ },
1284
+ {
1285
+ "astId": 2634,
1286
+ "contract": "contracts/Executor.sol:Executor",
1287
+ "label": "__gap",
1288
+ "offset": 0,
1289
+ "slot": "1",
1290
+ "type": "t_array(t_uint256)50_storage"
1291
+ },
1292
+ {
1293
+ "astId": 2907,
1294
+ "contract": "contracts/Executor.sol:Executor",
1295
+ "label": "__gap",
1296
+ "offset": 0,
1297
+ "slot": "51",
1298
+ "type": "t_array(t_uint256)50_storage"
1299
+ },
1300
+ {
1301
+ "astId": 1514,
1302
+ "contract": "contracts/Executor.sol:Executor",
1303
+ "label": "_roles",
1304
+ "offset": 0,
1305
+ "slot": "101",
1306
+ "type": "t_mapping(t_bytes32,t_struct(RoleData)1509_storage)"
1307
+ },
1308
+ {
1309
+ "astId": 1809,
1310
+ "contract": "contracts/Executor.sol:Executor",
1311
+ "label": "__gap",
1312
+ "offset": 0,
1313
+ "slot": "102",
1314
+ "type": "t_array(t_uint256)49_storage"
1315
+ },
1316
+ {
1317
+ "astId": 2073,
1318
+ "contract": "contracts/Executor.sol:Executor",
1319
+ "label": "_paused",
1320
+ "offset": 0,
1321
+ "slot": "151",
1322
+ "type": "t_bool"
1323
+ },
1324
+ {
1325
+ "astId": 2178,
1326
+ "contract": "contracts/Executor.sol:Executor",
1327
+ "label": "__gap",
1328
+ "offset": 0,
1329
+ "slot": "152",
1330
+ "type": "t_array(t_uint256)49_storage"
1331
+ },
1332
+ {
1333
+ "astId": 5511,
1334
+ "contract": "contracts/Executor.sol:Executor",
1335
+ "label": "workerFeeLib",
1336
+ "offset": 0,
1337
+ "slot": "201",
1338
+ "type": "t_address"
1339
+ },
1340
+ {
1341
+ "astId": 5513,
1342
+ "contract": "contracts/Executor.sol:Executor",
1343
+ "label": "allowlistSize",
1344
+ "offset": 20,
1345
+ "slot": "201",
1346
+ "type": "t_uint64"
1347
+ },
1348
+ {
1349
+ "astId": 5515,
1350
+ "contract": "contracts/Executor.sol:Executor",
1351
+ "label": "defaultMultiplierBps",
1352
+ "offset": 28,
1353
+ "slot": "201",
1354
+ "type": "t_uint16"
1355
+ },
1356
+ {
1357
+ "astId": 5517,
1358
+ "contract": "contracts/Executor.sol:Executor",
1359
+ "label": "priceFeed",
1360
+ "offset": 0,
1361
+ "slot": "202",
1362
+ "type": "t_address"
1363
+ },
1364
+ {
1365
+ "astId": 5522,
1366
+ "contract": "contracts/Executor.sol:Executor",
1367
+ "label": "supportedOptionTypes",
1368
+ "offset": 0,
1369
+ "slot": "203",
1370
+ "type": "t_mapping(t_uint32,t_array(t_uint8)dyn_storage)"
1371
+ },
1372
+ {
1373
+ "astId": 5927,
1374
+ "contract": "contracts/Executor.sol:Executor",
1375
+ "label": "__gap",
1376
+ "offset": 0,
1377
+ "slot": "204",
1378
+ "type": "t_array(t_uint256)45_storage"
1379
+ },
1380
+ {
1381
+ "astId": 2193,
1382
+ "contract": "contracts/Executor.sol:Executor",
1383
+ "label": "_status",
1384
+ "offset": 0,
1385
+ "slot": "249",
1386
+ "type": "t_uint256"
1387
+ },
1388
+ {
1389
+ "astId": 2262,
1390
+ "contract": "contracts/Executor.sol:Executor",
1391
+ "label": "__gap",
1392
+ "offset": 0,
1393
+ "slot": "250",
1394
+ "type": "t_array(t_uint256)49_storage"
1395
+ },
1396
+ {
1397
+ "astId": 4758,
1398
+ "contract": "contracts/Executor.sol:Executor",
1399
+ "label": "dstConfig",
1400
+ "offset": 0,
1401
+ "slot": "299",
1402
+ "type": "t_mapping(t_uint32,t_struct(DstConfig)5234_storage)"
1403
+ },
1404
+ {
1405
+ "astId": 4760,
1406
+ "contract": "contracts/Executor.sol:Executor",
1407
+ "label": "endpoint",
1408
+ "offset": 0,
1409
+ "slot": "300",
1410
+ "type": "t_address"
1411
+ },
1412
+ {
1413
+ "astId": 4762,
1414
+ "contract": "contracts/Executor.sol:Executor",
1415
+ "label": "localEid",
1416
+ "offset": 20,
1417
+ "slot": "300",
1418
+ "type": "t_uint32"
1419
+ },
1420
+ {
1421
+ "astId": 4764,
1422
+ "contract": "contracts/Executor.sol:Executor",
1423
+ "label": "receiveUln301",
1424
+ "offset": 0,
1425
+ "slot": "301",
1426
+ "type": "t_address"
1427
+ }
1428
+ ],
1429
+ "types": {
1430
+ "t_address": {
1431
+ "encoding": "inplace",
1432
+ "label": "address",
1433
+ "numberOfBytes": "20"
1434
+ },
1435
+ "t_array(t_uint256)45_storage": {
1436
+ "base": "t_uint256",
1437
+ "encoding": "inplace",
1438
+ "label": "uint256[45]",
1439
+ "numberOfBytes": "1440"
1440
+ },
1441
+ "t_array(t_uint256)49_storage": {
1442
+ "base": "t_uint256",
1443
+ "encoding": "inplace",
1444
+ "label": "uint256[49]",
1445
+ "numberOfBytes": "1568"
1446
+ },
1447
+ "t_array(t_uint256)50_storage": {
1448
+ "base": "t_uint256",
1449
+ "encoding": "inplace",
1450
+ "label": "uint256[50]",
1451
+ "numberOfBytes": "1600"
1452
+ },
1453
+ "t_array(t_uint8)dyn_storage": {
1454
+ "base": "t_uint8",
1455
+ "encoding": "dynamic_array",
1456
+ "label": "uint8[]",
1457
+ "numberOfBytes": "32"
1458
+ },
1459
+ "t_bool": {
1460
+ "encoding": "inplace",
1461
+ "label": "bool",
1462
+ "numberOfBytes": "1"
1463
+ },
1464
+ "t_bytes32": {
1465
+ "encoding": "inplace",
1466
+ "label": "bytes32",
1467
+ "numberOfBytes": "32"
1468
+ },
1469
+ "t_mapping(t_address,t_bool)": {
1470
+ "encoding": "mapping",
1471
+ "key": "t_address",
1472
+ "label": "mapping(address => bool)",
1473
+ "numberOfBytes": "32",
1474
+ "value": "t_bool"
1475
+ },
1476
+ "t_mapping(t_bytes32,t_struct(RoleData)1509_storage)": {
1477
+ "encoding": "mapping",
1478
+ "key": "t_bytes32",
1479
+ "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
1480
+ "numberOfBytes": "32",
1481
+ "value": "t_struct(RoleData)1509_storage"
1482
+ },
1483
+ "t_mapping(t_uint32,t_array(t_uint8)dyn_storage)": {
1484
+ "encoding": "mapping",
1485
+ "key": "t_uint32",
1486
+ "label": "mapping(uint32 => uint8[])",
1487
+ "numberOfBytes": "32",
1488
+ "value": "t_array(t_uint8)dyn_storage"
1489
+ },
1490
+ "t_mapping(t_uint32,t_struct(DstConfig)5234_storage)": {
1491
+ "encoding": "mapping",
1492
+ "key": "t_uint32",
1493
+ "label": "mapping(uint32 => struct IExecutor.DstConfig)",
1494
+ "numberOfBytes": "32",
1495
+ "value": "t_struct(DstConfig)5234_storage"
1496
+ },
1497
+ "t_struct(DstConfig)5234_storage": {
1498
+ "encoding": "inplace",
1499
+ "label": "struct IExecutor.DstConfig",
1500
+ "members": [
1501
+ {
1502
+ "astId": 5227,
1503
+ "contract": "contracts/Executor.sol:Executor",
1504
+ "label": "baseGas",
1505
+ "offset": 0,
1506
+ "slot": "0",
1507
+ "type": "t_uint64"
1508
+ },
1509
+ {
1510
+ "astId": 5229,
1511
+ "contract": "contracts/Executor.sol:Executor",
1512
+ "label": "multiplierBps",
1513
+ "offset": 8,
1514
+ "slot": "0",
1515
+ "type": "t_uint16"
1516
+ },
1517
+ {
1518
+ "astId": 5231,
1519
+ "contract": "contracts/Executor.sol:Executor",
1520
+ "label": "floorMarginUSD",
1521
+ "offset": 10,
1522
+ "slot": "0",
1523
+ "type": "t_uint128"
1524
+ },
1525
+ {
1526
+ "astId": 5233,
1527
+ "contract": "contracts/Executor.sol:Executor",
1528
+ "label": "nativeCap",
1529
+ "offset": 0,
1530
+ "slot": "1",
1531
+ "type": "t_uint128"
1532
+ }
1533
+ ],
1534
+ "numberOfBytes": "64"
1535
+ },
1536
+ "t_struct(RoleData)1509_storage": {
1537
+ "encoding": "inplace",
1538
+ "label": "struct AccessControlUpgradeable.RoleData",
1539
+ "members": [
1540
+ {
1541
+ "astId": 1506,
1542
+ "contract": "contracts/Executor.sol:Executor",
1543
+ "label": "members",
1544
+ "offset": 0,
1545
+ "slot": "0",
1546
+ "type": "t_mapping(t_address,t_bool)"
1547
+ },
1548
+ {
1549
+ "astId": 1508,
1550
+ "contract": "contracts/Executor.sol:Executor",
1551
+ "label": "adminRole",
1552
+ "offset": 0,
1553
+ "slot": "1",
1554
+ "type": "t_bytes32"
1555
+ }
1556
+ ],
1557
+ "numberOfBytes": "64"
1558
+ },
1559
+ "t_uint128": {
1560
+ "encoding": "inplace",
1561
+ "label": "uint128",
1562
+ "numberOfBytes": "16"
1563
+ },
1564
+ "t_uint16": {
1565
+ "encoding": "inplace",
1566
+ "label": "uint16",
1567
+ "numberOfBytes": "2"
1568
+ },
1569
+ "t_uint256": {
1570
+ "encoding": "inplace",
1571
+ "label": "uint256",
1572
+ "numberOfBytes": "32"
1573
+ },
1574
+ "t_uint32": {
1575
+ "encoding": "inplace",
1576
+ "label": "uint32",
1577
+ "numberOfBytes": "4"
1578
+ },
1579
+ "t_uint64": {
1580
+ "encoding": "inplace",
1581
+ "label": "uint64",
1582
+ "numberOfBytes": "8"
1583
+ },
1584
+ "t_uint8": {
1585
+ "encoding": "inplace",
1586
+ "label": "uint8",
1587
+ "numberOfBytes": "1"
1588
+ }
1589
+ }
1590
+ }
1591
+ }