@layerzerolabs/lz-evm-sdk-v2 2.1.9 → 2.1.10

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 (121) hide show
  1. package/deployments/exocore-testnet/DVN.json +39 -39
  2. package/deployments/exocore-testnet/DVNFeeLib.json +5 -5
  3. package/deployments/exocore-testnet/DefaultProxyAdmin.json +4 -4
  4. package/deployments/exocore-testnet/EndpointV2.json +23 -23
  5. package/deployments/exocore-testnet/EndpointV2View.json +8 -8
  6. package/deployments/exocore-testnet/EndpointV2View_Implementation.json +2 -2
  7. package/deployments/exocore-testnet/EndpointV2View_Proxy.json +8 -8
  8. package/deployments/exocore-testnet/Executor.json +26 -26
  9. package/deployments/exocore-testnet/ExecutorFeeLib.json +5 -5
  10. package/deployments/exocore-testnet/ExecutorProxyAdmin.json +7 -7
  11. package/deployments/exocore-testnet/Executor_Implementation.json +17 -17
  12. package/deployments/exocore-testnet/Executor_Proxy.json +26 -26
  13. package/deployments/exocore-testnet/LzExecutor.json +10 -10
  14. package/deployments/exocore-testnet/LzExecutor_Implementation.json +6 -6
  15. package/deployments/exocore-testnet/LzExecutor_Proxy.json +10 -10
  16. package/deployments/exocore-testnet/PriceFeed.json +10 -10
  17. package/deployments/exocore-testnet/PriceFeedProxyAdmin.json +7 -7
  18. package/deployments/exocore-testnet/PriceFeed_Implementation.json +14 -14
  19. package/deployments/exocore-testnet/PriceFeed_Proxy.json +10 -10
  20. package/deployments/exocore-testnet/ReceiveUln301.json +36 -36
  21. package/deployments/exocore-testnet/ReceiveUln301View.json +15 -15
  22. package/deployments/exocore-testnet/ReceiveUln301View_Implementation.json +8 -8
  23. package/deployments/exocore-testnet/ReceiveUln301View_Proxy.json +14 -14
  24. package/deployments/exocore-testnet/ReceiveUln302.json +29 -29
  25. package/deployments/exocore-testnet/ReceiveUln302View.json +8 -8
  26. package/deployments/exocore-testnet/ReceiveUln302View_Implementation.json +7 -7
  27. package/deployments/exocore-testnet/ReceiveUln302View_Proxy.json +8 -8
  28. package/deployments/exocore-testnet/SendUln301.json +24 -24
  29. package/deployments/exocore-testnet/SendUln302.json +18 -18
  30. package/deployments/exocore-testnet/Treasury.json +5 -5
  31. package/deployments/exocore-testnet/TreasuryFeeHandler.json +3 -3
  32. package/deployments/mantle-mainnet/AxelarDVNAdapter.json +1578 -0
  33. package/deployments/mantle-mainnet/AxelarDVNAdapterFeeLib.json +813 -0
  34. package/deployments/mantle-mainnet/AxelarDVNAdapterFeeLib_Implementation.json +803 -0
  35. package/deployments/mantle-mainnet/AxelarDVNAdapterFeeLib_Proxy.json +245 -0
  36. package/deployments/mantle-mainnet/DVNFeeLibProxyAdmin.json +284 -0
  37. package/deployments/{avalanche-sandbox-local → mode-testnet}/DVN.json +81 -48
  38. package/deployments/{avalanche-sandbox-local → mode-testnet}/DVNFeeLib.json +16 -16
  39. package/deployments/{avalanche-sandbox-local → mode-testnet}/DefaultProxyAdmin.json +17 -17
  40. package/deployments/{bsc-sandbox-local → mode-testnet}/EndpointV2.json +114 -60
  41. package/deployments/{avalanche-sandbox-local → mode-testnet}/EndpointV2View.json +32 -32
  42. package/deployments/{avalanche-sandbox-local → mode-testnet}/EndpointV2View_Implementation.json +9 -9
  43. package/deployments/{avalanche-sandbox-local → mode-testnet}/EndpointV2View_Proxy.json +30 -30
  44. package/deployments/{bsc-sandbox-local → mode-testnet}/Executor.json +101 -118
  45. package/deployments/{bsc-sandbox-local → mode-testnet}/ExecutorFeeLib.json +17 -17
  46. package/deployments/{bsc-sandbox-local → mode-testnet}/ExecutorProxyAdmin.json +24 -24
  47. package/deployments/{bsc-sandbox-local → mode-testnet}/Executor_Implementation.json +9 -9
  48. package/deployments/{bsc-sandbox-local → mode-testnet}/Executor_Proxy.json +92 -107
  49. package/deployments/{bsc-sandbox-local → mode-testnet}/LzExecutor.json +40 -40
  50. package/deployments/{bsc-sandbox-local → mode-testnet}/LzExecutor_Implementation.json +9 -9
  51. package/deployments/{avalanche-sandbox-local/PriceFeed_Proxy.json → mode-testnet/LzExecutor_Proxy.json} +37 -37
  52. package/deployments/{bsc-sandbox-local → mode-testnet}/PriceFeed.json +39 -39
  53. package/deployments/{arbitrum-sandbox-local → mode-testnet}/PriceFeedProxyAdmin.json +24 -24
  54. package/deployments/{arbitrum-sandbox-local → mode-testnet}/PriceFeed_Implementation.json +9 -9
  55. package/deployments/{bsc-sandbox-local → mode-testnet}/PriceFeed_Proxy.json +37 -37
  56. package/deployments/{avalanche-sandbox-local → mode-testnet}/ReceiveUln301.json +18 -18
  57. package/deployments/{avalanche-sandbox-local → mode-testnet}/ReceiveUln301View.json +34 -34
  58. package/deployments/{avalanche-sandbox-local → mode-testnet}/ReceiveUln301View_Implementation.json +9 -9
  59. package/deployments/{avalanche-sandbox-local/ReceiveUln302View_Proxy.json → mode-testnet/ReceiveUln301View_Proxy.json} +31 -31
  60. package/deployments/{avalanche-sandbox-local → mode-testnet}/ReceiveUln302.json +17 -17
  61. package/deployments/{avalanche-sandbox-local → mode-testnet}/ReceiveUln302View.json +33 -33
  62. package/deployments/{bsc-sandbox-local → mode-testnet}/ReceiveUln302View_Implementation.json +9 -9
  63. package/deployments/{bsc-sandbox-local → mode-testnet}/ReceiveUln302View_Proxy.json +30 -30
  64. package/deployments/{avalanche-sandbox-local → mode-testnet}/SendUln301.json +20 -20
  65. package/deployments/{bsc-sandbox-local → mode-testnet}/SendUln302.json +17 -17
  66. package/deployments/{bsc-sandbox-local → mode-testnet}/Treasury.json +16 -16
  67. package/deployments/{avalanche-sandbox-local → mode-testnet}/TreasuryFeeHandler.json +10 -10
  68. package/package.json +9 -9
  69. package/deployments/arbitrum-sandbox-local/DVN.json +0 -1864
  70. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +0 -500
  71. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +0 -398
  72. package/deployments/arbitrum-sandbox-local/PriceFeed.json +0 -890
  73. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +0 -244
  74. package/deployments/avalanche-sandbox-local/DVNDecompressor.json +0 -508
  75. package/deployments/avalanche-sandbox-local/EndpointV2.json +0 -2946
  76. package/deployments/avalanche-sandbox-local/Executor.json +0 -1549
  77. package/deployments/avalanche-sandbox-local/ExecutorDecompressor.json +0 -339
  78. package/deployments/avalanche-sandbox-local/ExecutorFeeLib.json +0 -423
  79. package/deployments/avalanche-sandbox-local/ExecutorProxyAdmin.json +0 -283
  80. package/deployments/avalanche-sandbox-local/Executor_Implementation.json +0 -1591
  81. package/deployments/avalanche-sandbox-local/Executor_Proxy.json +0 -380
  82. package/deployments/avalanche-sandbox-local/LzExecutor.json +0 -757
  83. package/deployments/avalanche-sandbox-local/LzExecutor_Implementation.json +0 -703
  84. package/deployments/avalanche-sandbox-local/LzExecutor_Proxy.json +0 -244
  85. package/deployments/avalanche-sandbox-local/NonceContractMock.json +0 -163
  86. package/deployments/avalanche-sandbox-local/PriceFeed.json +0 -890
  87. package/deployments/avalanche-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  88. package/deployments/avalanche-sandbox-local/PriceFeed_Implementation.json +0 -912
  89. package/deployments/avalanche-sandbox-local/ReceiveUln301View_Proxy.json +0 -230
  90. package/deployments/avalanche-sandbox-local/ReceiveUln302View_Implementation.json +0 -384
  91. package/deployments/avalanche-sandbox-local/SendUln302.json +0 -1527
  92. package/deployments/avalanche-sandbox-local/SimpleMessageLib.json +0 -708
  93. package/deployments/avalanche-sandbox-local/Treasury.json +0 -412
  94. package/deployments/bsc-sandbox-local/DVN.json +0 -1896
  95. package/deployments/bsc-sandbox-local/DVNDecompressor.json +0 -508
  96. package/deployments/bsc-sandbox-local/DVNFeeLib.json +0 -398
  97. package/deployments/bsc-sandbox-local/DefaultProxyAdmin.json +0 -258
  98. package/deployments/bsc-sandbox-local/EndpointV2View.json +0 -435
  99. package/deployments/bsc-sandbox-local/EndpointV2View_Implementation.json +0 -313
  100. package/deployments/bsc-sandbox-local/EndpointV2View_Proxy.json +0 -230
  101. package/deployments/bsc-sandbox-local/ExecutorDecompressor.json +0 -339
  102. package/deployments/bsc-sandbox-local/LzExecutor_Proxy.json +0 -244
  103. package/deployments/bsc-sandbox-local/NonceContractMock.json +0 -163
  104. package/deployments/bsc-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  105. package/deployments/bsc-sandbox-local/PriceFeed_Implementation.json +0 -912
  106. package/deployments/bsc-sandbox-local/ReceiveUln301.json +0 -1292
  107. package/deployments/bsc-sandbox-local/ReceiveUln301View.json +0 -354
  108. package/deployments/bsc-sandbox-local/ReceiveUln301View_Implementation.json +0 -231
  109. package/deployments/bsc-sandbox-local/ReceiveUln301View_Proxy.json +0 -230
  110. package/deployments/bsc-sandbox-local/ReceiveUln302.json +0 -1006
  111. package/deployments/bsc-sandbox-local/ReceiveUln302View.json +0 -478
  112. package/deployments/bsc-sandbox-local/SendUln301.json +0 -1569
  113. package/deployments/bsc-sandbox-local/SimpleMessageLib.json +0 -708
  114. package/deployments/bsc-sandbox-local/TreasuryFeeHandler.json +0 -125
  115. package/deployments/tron-sandbox-local/DVN.json +0 -1864
  116. package/deployments/tron-sandbox-local/DVNDecompressor.json +0 -500
  117. package/deployments/tron-sandbox-local/DVNFeeLib.json +0 -398
  118. package/deployments/tron-sandbox-local/PriceFeed.json +0 -890
  119. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  120. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +0 -912
  121. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +0 -244
@@ -1,1591 +0,0 @@
1
- {
2
- "address": "0x4F41b941940005aE25D5ecB0F01BaDbc7065E2dD",
3
- "abi": [
4
- {
5
- "inputs": [
6
- {
7
- "internalType": "address",
8
- "name": "_to",
9
- "type": "address"
10
- },
11
- {
12
- "internalType": "uint256",
13
- "name": "_value",
14
- "type": "uint256"
15
- }
16
- ],
17
- "name": "Transfer_NativeFailed",
18
- "type": "error"
19
- },
20
- {
21
- "inputs": [],
22
- "name": "Transfer_ToAddressIsZero",
23
- "type": "error"
24
- },
25
- {
26
- "inputs": [],
27
- "name": "Worker_NotAllowed",
28
- "type": "error"
29
- },
30
- {
31
- "inputs": [],
32
- "name": "Worker_OnlyMessageLib",
33
- "type": "error"
34
- },
35
- {
36
- "inputs": [],
37
- "name": "Worker_RoleRenouncingDisabled",
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": "0x31f28883b3f2c73635cc55d6feb719dc6ecc0a372d01c44899068b9eaa320fa9",
1151
- "receipt": {
1152
- "to": null,
1153
- "from": "0x3C44CdDdB6a900fa2b585dd299e03d12FA4293BC",
1154
- "contractAddress": "0x4F41b941940005aE25D5ecB0F01BaDbc7065E2dD",
1155
- "transactionIndex": 0,
1156
- "gasUsed": "3594229",
1157
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
1158
- "blockHash": "0xf2fe6b1b42716b6ed8ae44fec54d397af12cdfb80e4b0aea8c2f102785c3fd8b",
1159
- "transactionHash": "0x31f28883b3f2c73635cc55d6feb719dc6ecc0a372d01c44899068b9eaa320fa9",
1160
- "logs": [],
1161
- "blockNumber": 29,
1162
- "cumulativeGasUsed": "3594229",
1163
- "status": 1,
1164
- "byzantium": true
1165
- },
1166
- "args": [],
1167
- "numDeployments": 1,
1168
- "solcInputHash": "a02895da4e26717c8c5ac06356be07de",
1169
- "bytecode": "0x608060405234801561001057600080fd5b5061406e806100206000396000f3fe6080604052600436106102175760003560e01c8063717e8a421161011d578063acdbcca5116100b0578063c7b2370b1161007f578063d2ae210411610064578063d2ae210414610787578063d547741f146107d9578063fa34c84e146107f957600080fd5b8063c7b2370b14610747578063cd88b9031461076757600080fd5b8063acdbcca5146106ac578063c2803b2c146106cc578063c358de0a146106fa578063c416aa511461071a57600080fd5b80638624ba07116100ec5780638624ba071461057557806391d14854146105885780639e944965146105db578063a217fddf1461069757600080fd5b8063717e8a42146104bd578063724e78da146104dd57806372607537146104fd578063741bef1a1461054857600080fd5b80632de11376116101b05780633927c0751161017f5780635c975abb116101645780635c975abb146104325780635e280f111461044a578063709eb6641461049d57600080fd5b80633927c0751461040c578063475b6d9e1461041f57600080fd5b80632de113761461038c5780632f2ff15d146103ac5780633146646a146103cc57806336568abe146103ec57600080fd5b80631095b6d7116101ec5780631095b6d7146102e157806316c38b3c14610301578063248a9ca31461032157806326e67a371461035f57600080fd5b80629fc6811461021c578062bf2e801461023e57806301e336671461029157806301ffc9a7146102b1575b600080fd5b34801561022857600080fd5b5061023c6102373660046131fb565b610819565b005b34801561024a57600080fd5b5060c954610279907c0100000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561029d57600080fd5b5061023c6102ac3660046132a0565b610bb8565b3480156102bd57600080fd5b506102d16102cc3660046132dc565b610bf3565b6040519015158152602001610288565b3480156102ed57600080fd5b5061023c6102fc3660046132a0565b610c8c565b34801561030d57600080fd5b5061023c61031c36600461332c565b610e1b565b34801561032d57600080fd5b5061035161033c366004613349565b60009081526065602052604090206001015490565b604051908152602001610288565b34801561036b57600080fd5b5061037f61037a366004613374565b610e40565b6040516102889190613391565b34801561039857600080fd5b506102d16103a73660046133d8565b610ec7565b3480156103b857600080fd5b5061023c6103c73660046133f3565b610fab565b3480156103d857600080fd5b5061023c6103e7366004613468565b610fd5565b3480156103f857600080fd5b5061023c6104073660046133f3565b61109e565b61023c61041a366004613511565b6110d0565b61023c61042d3660046135a5565b6111ba565b34801561043e57600080fd5b5060975460ff166102d1565b34801561045657600080fd5b5061012e546104789073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610288565b3480156104a957600080fd5b506103516104b8366004613626565b61120e565b3480156104c957600080fd5b506103516104d8366004613626565b611367565b3480156104e957600080fd5b5061023c6104f83660046133d8565b6114e5565b34801561050957600080fd5b5061012e546105339074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610288565b34801561055457600080fd5b5060ca546104789073ffffffffffffffffffffffffffffffffffffffff1681565b61023c610583366004613697565b61158a565b34801561059457600080fd5b506102d16105a33660046133f3565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156105e757600080fd5b506106516105f6366004613374565b61012d602052600090815260409020805460019091015467ffffffffffffffff82169161ffff68010000000000000000820416916fffffffffffffffffffffffffffffffff6a01000000000000000000009092048216911684565b6040805167ffffffffffffffff909516855261ffff90931660208501526fffffffffffffffffffffffffffffffff91821692840192909252166060820152608001610288565b3480156106a357600080fd5b50610351600081565b3480156106b857600080fd5b5061023c6106c736600461375a565b6116c7565b3480156106d857600080fd5b5061012f546104789073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070657600080fd5b5061023c610715366004613851565b611877565b34801561072657600080fd5b5060c9546104789073ffffffffffffffffffffffffffffffffffffffff1681565b34801561075357600080fd5b5061023c6107623660046133d8565b611924565b34801561077357600080fd5b5061023c61078236600461386c565b6119c1565b34801561079357600080fd5b5060c9546107c09074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610288565b3480156107e557600080fd5b5061023c6107f43660046133f3565b611a0b565b34801561080557600080fd5b5061023c6108143660046133d8565b611a30565b60006108437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff811661089c5773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556108be565b3373ffffffffffffffffffffffffffffffffffffffff8216146108be57600080fd5b600054610100900460ff16158080156108de5750600054600160ff909116105b806108f85750303b1580156108f8575060005460ff166001145b610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109e757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109ef611b1e565b6109fe8686612ee08787611bbf565b61012e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16908117909155604080517f416ecebf000000000000000000000000000000000000000000000000000000008152905163416ecebf916004808201926020929091908290030181865afa158015610a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba91906138f4565b61012e80547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905561012f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558015610bae57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610be281611c7b565b610bed848484611c88565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610c8657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610cb681611c7b565b73ffffffffffffffffffffffffffffffffffffffff841660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff16610d34576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610da457600080fd5b505af1158015610db8573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b6000610e2681611c7b565b8115610e3857610e34611cb8565b5050565b610e34611d3d565b63ffffffff8116600090815260cb6020908152604091829020805483518184028101840190945280845260609392830182828015610ebb57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610e8c5790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f0f6a9529577ef7bf1cbc8fccda1cc3c881f755c7e92e34c7c4deac1fa3c1c791602052604081205460ff1615610f1c57506000919050565b60c95474010000000000000000000000000000000000000000900467ffffffffffffffff161580610f91575073ffffffffffffffffffffffffffffffffffffffff821660009081527f35c5067391a9036240763c1067bfa438a7b0131204a675a2fe562dd73782ce85602052604090205460ff165b15610f9e57506001919050565b506000919050565b919050565b600082815260656020526040902060010154610fc681611c7b565b610fd08383611d94565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610fff81611c7b565b611007611e5b565b61012f546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f8906110629087908790879060040161395a565b600060405180830381600087803b15801561107c57600080fd5b505af1158015611090573d6000803e3d6000fd5b50505050610bed600160fb55565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756110fa81611c7b565b611102611e5b565b611122886111108686611ed5565b61111a8787611ef8565b8a8a8a611f11565b5061012f546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f89061117e9087908790879060040161395a565b600060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b50505050610bae600160fb55565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756111e481611c7b565b6111ec611e5b565b6111fa878787878787611f11565b50611205600160fb55565b50505050505050565b60008461121a81610ec7565b611250576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611258612086565b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a1660208084018290528a831684860152606084018a905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012d9091529084902093517f371c3a8e000000000000000000000000000000000000000000000000000000008152929391169163371c3a8e9161131a918591908a908a9060040161397e565b602060405180830381865afa158015611337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135b9190613a34565b98975050505050505050565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de61139381611c7b565b8561139d81610ec7565b6113d3576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8b1660208084018290528b831684860152606084018b905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012d9091529084902093517ff43bcfc5000000000000000000000000000000000000000000000000000000008152929391169163f43bcfc591611495918591908b908b9060040161397e565b6020604051808303816000875af11580156114b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d89190613a34565b9998505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561150f81611c7b565b60ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756115b481611c7b565b6115bc611e5b565b61012e546000906115fc90602085019074010000000000000000000000000000000000000000900463ffffffff166115f482876133d8565b898989611f11565b9050600061160a8234613a7c565b61012e5490915073ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e08601358360208801611640818a6133d8565b60808a013561165260a08c018c613a8f565b61165f60c08e018e613a8f565b6040518a63ffffffff1660e01b81526004016116819796959493929190613b30565b6000604051808303818589803b15801561169a57600080fd5b5088f11580156116ae573d6000803e3d6000fd5b50505050505050506116c0600160fb55565b5050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116f181611c7b565b60005b825181101561184757600083828151811061171157611711613b94565b60209081029190910181015160408051608080820183528385015167ffffffffffffffff90811683528385015161ffff9081168488019081526060808801516fffffffffffffffffffffffffffffffff908116878901908152958901518116918701918252975163ffffffff16600090815261012d90995295909720935184549751935187166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff9490921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090981692169190911795909517169390931783555160019283018054919092167fffffffffffffffffffffffffffffffff000000000000000000000000000000009091161790559190910190506116f4565b507f3fd3f9275410b39824c12e5dfcf63fb332698a5eee3b09895aaaaa9e403bd4818260405161157e9190613bc3565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756118a181611c7b565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161157e565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561194e81611c7b565b60c980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161157e565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119eb81611c7b565b63ffffffff8416600090815260cb602052604090206116c0908484612fd8565b600082815260656020526040902060010154611a2681611c7b565b610fd083836120f3565b6000611a5a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116611ab35773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611ad5565b3373ffffffffffffffffffffffffffffffffffffffff821614611ad557600080fd5b5061012f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16611bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b611bbd6121b9565b565b600054610100900460ff16611c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b611c5e612250565b611c66612250565b611c6e6122e7565b6116c085858585856123a8565b611c85813361258d565b50565b73ffffffffffffffffffffffffffffffffffffffff8316611cad57610fd08282612647565b610fd083838361274d565b611cc0612086565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d133390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611d456127bb565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611d13565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015611df35750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15611e515760c98054601490611e2a9074010000000000000000000000000000000000000000900467ffffffffffffffff16613c5d565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610e348282612827565b600260fb5403611ec7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610980565b600260fb55565b600160fb55565b6000611ee56031602d8486613c84565b611eee91613cae565b60e01c9392505050565b6000611f0a611f07848461291b565b90565b9392505050565b6000808367ffffffffffffffff811115611f2d57611f2d6130ba565b604051908082528060200260200182016040528015611f56578160200160208202803683370190505b50905060005b84811015612039576000868683818110611f7857611f78613b94565b905060400201803603810190611f8e9190613cf6565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff1682602001518790604051600060405180830381858888f193505050503d8060008114611ff5576040519150601f19603f3d011682016040523d82523d6000602084013e611ffa565b606091505b505090508084848151811061201157612011613b94565b91151560209283029190910182015282015161202d9086613d4d565b94505050600101611f5c565b507f1f48172553121d8bf273ce457a5a3dd180d464e0add3e0143045b7fa039c346888888888888660405161207396959493929190613d9e565b60405180910390a1509695505050505050565b60975460ff1615611bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610980565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156121515750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156121af5760c980546014906121889074010000000000000000000000000000000000000000900467ffffffffffffffff16613e3f565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610e348282612934565b600054610100900460ff16611ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b600054610100900460ff16611bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b600054610100900460ff1661237e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600054610100900460ff1661243f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff86160217905560ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff868116919091179091558216156124e3576124e3600083611d94565b60005b855181101561253a576125327f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de87838151811061252557612525613b94565b6020026020010151611d94565b6001016124e6565b5060005b81518110156125855761257d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583838151811061252557612525613b94565b60010161253e565b505050505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610e34576125cd816129ef565b6125d8836020612a0e565b6040516020016125e9929190613ea5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261098091600401613f26565b73ffffffffffffffffffffffffffffffffffffffff8216612694576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146126ee576040519150601f19603f3d011682016040523d82523d6000602084013e6126f3565b606091505b5050905080610fd0576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610980565b73ffffffffffffffffffffffffffffffffffffffff821661279a576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fd073ffffffffffffffffffffffffffffffffffffffff84168383612c51565b60975460ff16611bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610980565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610e3457600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556128bd3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600061292b605160318486613c84565b611f0a91613f77565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610e3457600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610c8673ffffffffffffffffffffffffffffffffffffffff831660145b60606000612a1d836002613fb3565b612a28906002613d4d565b67ffffffffffffffff811115612a4057612a406130ba565b6040519080825280601f01601f191660200182016040528015612a6a576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612aa157612aa1613b94565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612b0457612b04613b94565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612b40846002613fb3565b612b4b906001613d4d565b90505b6001811115612be8577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612b8c57612b8c613b94565b1a60f81b828281518110612ba257612ba2613b94565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93612be181613fca565b9050612b4e565b508315611f0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610980565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610fd092869291600091612d1c918516908490612dc9565b9050805160001480612d3d575080806020019051810190612d3d9190613fff565b610fd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610980565b6060612dd88484600085612de0565b949350505050565b606082471015612e72576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610980565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612e9b919061401c565b60006040518083038185875af1925050503d8060008114612ed8576040519150601f19603f3d011682016040523d82523d6000602084013e612edd565b606091505b5091509150612eee87838387612ef9565b979650505050505050565b60608315612f8f578251600003612f885773ffffffffffffffffffffffffffffffffffffffff85163b612f88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610980565b5081612dd8565b612dd88383815115612fa45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109809190613f26565b82805482825590600052602060002090601f016020900481019282156130715791602002820160005b8382111561304257833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302613001565b801561306f5782816101000a81549060ff0219169055600101602081600001049283019260010302613042565b505b5061307d929150613081565b5090565b5b8082111561307d5760008155600101613082565b803573ffffffffffffffffffffffffffffffffffffffff81168114610fa657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff8111828210171561310c5761310c6130ba565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613159576131596130ba565b604052919050565b600067ffffffffffffffff82111561317b5761317b6130ba565b5060051b60200190565b600082601f83011261319657600080fd5b813560206131ab6131a683613161565b613112565b8083825260208201915060208460051b8701019350868411156131cd57600080fd5b602086015b848110156131f0576131e381613096565b83529183019183016131d2565b509695505050505050565b60008060008060008060c0878903121561321457600080fd5b61321d87613096565b955061322b60208801613096565b9450604087013567ffffffffffffffff8082111561324857600080fd5b6132548a838b01613185565b955061326260608a01613096565b945061327060808a01613096565b935060a089013591508082111561328657600080fd5b5061329389828a01613185565b9150509295509295509295565b6000806000606084860312156132b557600080fd5b6132be84613096565b92506132cc60208501613096565b9150604084013590509250925092565b6000602082840312156132ee57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611f0a57600080fd5b8015158114611c8557600080fd5b60006020828403121561333e57600080fd5b8135611f0a8161331e565b60006020828403121561335b57600080fd5b5035919050565b63ffffffff81168114611c8557600080fd5b60006020828403121561338657600080fd5b8135611f0a81613362565b6020808252825182820181905260009190848201906040850190845b818110156133cc57835160ff16835292840192918401916001016133ad565b50909695505050505050565b6000602082840312156133ea57600080fd5b611f0a82613096565b6000806040838503121561340657600080fd5b8235915061341660208401613096565b90509250929050565b60008083601f84011261343157600080fd5b50813567ffffffffffffffff81111561344957600080fd5b60208301915083602082850101111561346157600080fd5b9250929050565b60008060006040848603121561347d57600080fd5b833567ffffffffffffffff81111561349457600080fd5b6134a08682870161341f565b909790965060209590950135949350505050565b6000606082840312156134c657600080fd5b50919050565b60008083601f8401126134de57600080fd5b50813567ffffffffffffffff8111156134f657600080fd5b6020830191508360208260061b850101111561346157600080fd5b600080600080600080600060e0888a03121561352c57600080fd5b61353689896134b4565b9650606088013567ffffffffffffffff8082111561355357600080fd5b61355f8b838c016134cc565b909850965060808a0135955060a08a013591508082111561357f57600080fd5b5061358c8a828b0161341f565b989b979a5095989497959660c090950135949350505050565b60008060008060008060e087890312156135be57600080fd5b6135c888886134b4565b955060608701356135d881613362565b94506135e660808801613096565b935060a087013567ffffffffffffffff81111561360257600080fd5b61360e89828a016134cc565b979a969950949794969560c090950135949350505050565b60008060008060006080868803121561363e57600080fd5b853561364981613362565b945061365760208701613096565b935060408601359250606086013567ffffffffffffffff81111561367a57600080fd5b6136868882890161341f565b969995985093965092949392505050565b600080600080606085870312156136ad57600080fd5b843567ffffffffffffffff808211156136c557600080fd5b6136d1888389016134cc565b90965094506020870135935060408701359150808211156136f157600080fd5b508501610100818803121561370557600080fd5b939692955090935050565b803567ffffffffffffffff81168114610fa657600080fd5b803561ffff81168114610fa657600080fd5b80356fffffffffffffffffffffffffffffffff81168114610fa657600080fd5b6000602080838503121561376d57600080fd5b823567ffffffffffffffff81111561378457600080fd5b8301601f8101851361379557600080fd5b80356137a36131a682613161565b81815260a091820283018401918482019190888411156137c257600080fd5b938501935b838510156138455780858a0312156137df5760008081fd5b6137e76130e9565b85356137f281613362565b81526137ff868801613710565b878201526040613810818801613728565b90820152606061382187820161373a565b90820152608061383287820161373a565b90820152835293840193918501916137c7565b50979650505050505050565b60006020828403121561386357600080fd5b611f0a82613728565b60008060006040848603121561388157600080fd5b833561388c81613362565b9250602084013567ffffffffffffffff808211156138a957600080fd5b818601915086601f8301126138bd57600080fd5b8135818111156138cc57600080fd5b8760208260051b85010111156138e157600080fd5b6020830194508093505050509250925092565b60006020828403121561390657600080fd5b8151611f0a81613362565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061396e604083018587613911565b9050826020830152949350505050565b600061014073ffffffffffffffffffffffffffffffffffffffff80885116845263ffffffff60208901511660208501528060408901511660408501525060608701516060840152608087015161ffff80821660808601528754915067ffffffffffffffff821660a0860152808260401c1660c0860152506fffffffffffffffffffffffffffffffff808260501c1660e086015280600189015416610100860152505080610120840152612eee8184018587613911565b600060208284031215613a4657600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610c8657610c86613a4d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613ac457600080fd5b83018035915067ffffffffffffffff821115613adf57600080fd5b60200191503681900382131561346157600080fd5b8035613aff81613362565b63ffffffff1682526020818101359083015267ffffffffffffffff613b2660408301613710565b1660408301525050565b613b3a8189613af4565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a08201526000613b7360e083018688613911565b82810360c0840152613b86818587613911565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602080825282518282018190526000919060409081850190868401855b82811015613c50578151805163ffffffff1685528681015167ffffffffffffffff16878601528581015161ffff16868601526060808201516fffffffffffffffffffffffffffffffff90811691870191909152608091820151169085015260a09093019290850190600101613be0565b5091979650505050505050565b600067ffffffffffffffff808316818103613c7a57613c7a613a4d565b6001019392505050565b60008085851115613c9457600080fd5b83861115613ca157600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015613cee5780818660040360031b1b83161692505b505092915050565b600060408284031215613d0857600080fd5b6040516040810181811067ffffffffffffffff82111715613d2b57613d2b6130ba565b604052613d3783613096565b8152602083013560208201528091505092915050565b80820180821115610c8657610c86613a4d565b60008151808452602080850194506020840160005b83811015613d93578151151587529582019590820190600101613d75565b509495945050505050565b600060e08201613dae838a613af4565b63ffffffff8816606084015273ffffffffffffffffffffffffffffffffffffffff878116608085015260e060a0850152908590528590610100840160005b87811015613e1d5782613dfe85613096565b1682526020848101359083015260409384019390910190600101613dec565b5084810360c0860152613e308187613d60565b9b9a5050505050505050505050565b600067ffffffffffffffff821680613e5957613e59613a4d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60005b83811015613e9c578181015183820152602001613e84565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613edd816017850160208801613e81565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613f1a816028840160208801613e81565b01602801949350505050565b6020815260008251806020840152613f45816040850160208701613e81565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b80356020831015610c86577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8082028115828204841417610c8657610c86613a4d565b600081613fd957613fd9613a4d565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561401157600080fd5b8151611f0a8161331e565b6000825161402e818460208701613e81565b919091019291505056fea264697066735822122004315c845e2cf7f1a6927f4751b736cdd518fd302b997e60859925ddd5e9858864736f6c63430008160033",
1170
- "deployedBytecode": "0x6080604052600436106102175760003560e01c8063717e8a421161011d578063acdbcca5116100b0578063c7b2370b1161007f578063d2ae210411610064578063d2ae210414610787578063d547741f146107d9578063fa34c84e146107f957600080fd5b8063c7b2370b14610747578063cd88b9031461076757600080fd5b8063acdbcca5146106ac578063c2803b2c146106cc578063c358de0a146106fa578063c416aa511461071a57600080fd5b80638624ba07116100ec5780638624ba071461057557806391d14854146105885780639e944965146105db578063a217fddf1461069757600080fd5b8063717e8a42146104bd578063724e78da146104dd57806372607537146104fd578063741bef1a1461054857600080fd5b80632de11376116101b05780633927c0751161017f5780635c975abb116101645780635c975abb146104325780635e280f111461044a578063709eb6641461049d57600080fd5b80633927c0751461040c578063475b6d9e1461041f57600080fd5b80632de113761461038c5780632f2ff15d146103ac5780633146646a146103cc57806336568abe146103ec57600080fd5b80631095b6d7116101ec5780631095b6d7146102e157806316c38b3c14610301578063248a9ca31461032157806326e67a371461035f57600080fd5b80629fc6811461021c578062bf2e801461023e57806301e336671461029157806301ffc9a7146102b1575b600080fd5b34801561022857600080fd5b5061023c6102373660046131fb565b610819565b005b34801561024a57600080fd5b5060c954610279907c0100000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561029d57600080fd5b5061023c6102ac3660046132a0565b610bb8565b3480156102bd57600080fd5b506102d16102cc3660046132dc565b610bf3565b6040519015158152602001610288565b3480156102ed57600080fd5b5061023c6102fc3660046132a0565b610c8c565b34801561030d57600080fd5b5061023c61031c36600461332c565b610e1b565b34801561032d57600080fd5b5061035161033c366004613349565b60009081526065602052604090206001015490565b604051908152602001610288565b34801561036b57600080fd5b5061037f61037a366004613374565b610e40565b6040516102889190613391565b34801561039857600080fd5b506102d16103a73660046133d8565b610ec7565b3480156103b857600080fd5b5061023c6103c73660046133f3565b610fab565b3480156103d857600080fd5b5061023c6103e7366004613468565b610fd5565b3480156103f857600080fd5b5061023c6104073660046133f3565b61109e565b61023c61041a366004613511565b6110d0565b61023c61042d3660046135a5565b6111ba565b34801561043e57600080fd5b5060975460ff166102d1565b34801561045657600080fd5b5061012e546104789073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610288565b3480156104a957600080fd5b506103516104b8366004613626565b61120e565b3480156104c957600080fd5b506103516104d8366004613626565b611367565b3480156104e957600080fd5b5061023c6104f83660046133d8565b6114e5565b34801561050957600080fd5b5061012e546105339074010000000000000000000000000000000000000000900463ffffffff1681565b60405163ffffffff9091168152602001610288565b34801561055457600080fd5b5060ca546104789073ffffffffffffffffffffffffffffffffffffffff1681565b61023c610583366004613697565b61158a565b34801561059457600080fd5b506102d16105a33660046133f3565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156105e757600080fd5b506106516105f6366004613374565b61012d602052600090815260409020805460019091015467ffffffffffffffff82169161ffff68010000000000000000820416916fffffffffffffffffffffffffffffffff6a01000000000000000000009092048216911684565b6040805167ffffffffffffffff909516855261ffff90931660208501526fffffffffffffffffffffffffffffffff91821692840192909252166060820152608001610288565b3480156106a357600080fd5b50610351600081565b3480156106b857600080fd5b5061023c6106c736600461375a565b6116c7565b3480156106d857600080fd5b5061012f546104789073ffffffffffffffffffffffffffffffffffffffff1681565b34801561070657600080fd5b5061023c610715366004613851565b611877565b34801561072657600080fd5b5060c9546104789073ffffffffffffffffffffffffffffffffffffffff1681565b34801561075357600080fd5b5061023c6107623660046133d8565b611924565b34801561077357600080fd5b5061023c61078236600461386c565b6119c1565b34801561079357600080fd5b5060c9546107c09074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610288565b3480156107e557600080fd5b5061023c6107f43660046133f3565b611a0b565b34801561080557600080fd5b5061023c6108143660046133d8565b611a30565b60006108437fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff811661089c5773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103556108be565b3373ffffffffffffffffffffffffffffffffffffffff8216146108be57600080fd5b600054610100900460ff16158080156108de5750600054600160ff909116105b806108f85750303b1580156108f8575060005460ff166001145b610989576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a656400000000000000000000000000000000000060648201526084015b60405180910390fd5b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600117905580156109e757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6109ef611b1e565b6109fe8686612ee08787611bbf565b61012e80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8a16908117909155604080517f416ecebf000000000000000000000000000000000000000000000000000000008152905163416ecebf916004808201926020929091908290030181865afa158015610a96573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aba91906138f4565b61012e80547fffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffff167401000000000000000000000000000000000000000063ffffffff939093169290920291909117905561012f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558015610bae57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610be281611c7b565b610bed848484611c88565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610c8657507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610cb681611c7b565b73ffffffffffffffffffffffffffffffffffffffff841660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff16610d34576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610da457600080fd5b505af1158015610db8573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b6000610e2681611c7b565b8115610e3857610e34611cb8565b5050565b610e34611d3d565b63ffffffff8116600090815260cb6020908152604091829020805483518184028101840190945280845260609392830182828015610ebb57602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610e8c5790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f0f6a9529577ef7bf1cbc8fccda1cc3c881f755c7e92e34c7c4deac1fa3c1c791602052604081205460ff1615610f1c57506000919050565b60c95474010000000000000000000000000000000000000000900467ffffffffffffffff161580610f91575073ffffffffffffffffffffffffffffffffffffffff821660009081527f35c5067391a9036240763c1067bfa438a7b0131204a675a2fe562dd73782ce85602052604090205460ff165b15610f9e57506001919050565b506000919050565b919050565b600082815260656020526040902060010154610fc681611c7b565b610fd08383611d94565b505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610fff81611c7b565b611007611e5b565b61012f546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f8906110629087908790879060040161395a565b600060405180830381600087803b15801561107c57600080fd5b505af1158015611090573d6000803e3d6000fd5b50505050610bed600160fb55565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756110fa81611c7b565b611102611e5b565b611122886111108686611ed5565b61111a8787611ef8565b8a8a8a611f11565b5061012f546040517fe65106f800000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091169063e65106f89061117e9087908790879060040161395a565b600060405180830381600087803b15801561119857600080fd5b505af11580156111ac573d6000803e3d6000fd5b50505050610bae600160fb55565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756111e481611c7b565b6111ec611e5b565b6111fa878787878787611f11565b50611205600160fb55565b50505050505050565b60008461121a81610ec7565b611250576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611258612086565b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a1660208084018290528a831684860152606084018a905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012d9091529084902093517f371c3a8e000000000000000000000000000000000000000000000000000000008152929391169163371c3a8e9161131a918591908a908a9060040161397e565b602060405180830381865afa158015611337573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061135b9190613a34565b98975050505050505050565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de61139381611c7b565b8561139d81610ec7565b6113d3576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160a08101825260ca5473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8b1660208084018290528b831684860152606084018b905260c95461ffff7c01000000000000000000000000000000000000000000000000000000008204166080860152600092835261012d9091529084902093517ff43bcfc5000000000000000000000000000000000000000000000000000000008152929391169163f43bcfc591611495918591908b908b9060040161397e565b6020604051808303816000875af11580156114b4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d89190613a34565b9998505050505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561150f81611c7b565b60ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756115b481611c7b565b6115bc611e5b565b61012e546000906115fc90602085019074010000000000000000000000000000000000000000900463ffffffff166115f482876133d8565b898989611f11565b9050600061160a8234613a7c565b61012e5490915073ffffffffffffffffffffffffffffffffffffffff16630c0c389e60e08601358360208801611640818a6133d8565b60808a013561165260a08c018c613a8f565b61165f60c08e018e613a8f565b6040518a63ffffffff1660e01b81526004016116819796959493929190613b30565b6000604051808303818589803b15801561169a57600080fd5b5088f11580156116ae573d6000803e3d6000fd5b50505050505050506116c0600160fb55565b5050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756116f181611c7b565b60005b825181101561184757600083828151811061171157611711613b94565b60209081029190910181015160408051608080820183528385015167ffffffffffffffff90811683528385015161ffff9081168488019081526060808801516fffffffffffffffffffffffffffffffff908116878901908152958901518116918701918252975163ffffffff16600090815261012d90995295909720935184549751935187166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff9490921668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090981692169190911795909517169390931783555160019283018054919092167fffffffffffffffffffffffffffffffff000000000000000000000000000000009091161790559190910190506116f4565b507f3fd3f9275410b39824c12e5dfcf63fb332698a5eee3b09895aaaaa9e403bd4818260405161157e9190613bc3565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756118a181611c7b565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161157e565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561194e81611c7b565b60c980547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161157e565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119eb81611c7b565b63ffffffff8416600090815260cb602052604090206116c0908484612fd8565b600082815260656020526040902060010154611a2681611c7b565b610fd083836120f3565b6000611a5a7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff8116611ab35773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611ad5565b3373ffffffffffffffffffffffffffffffffffffffff821614611ad557600080fd5b5061012f80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b600054610100900460ff16611bb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b611bbd6121b9565b565b600054610100900460ff16611c56576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b611c5e612250565b611c66612250565b611c6e6122e7565b6116c085858585856123a8565b611c85813361258d565b50565b73ffffffffffffffffffffffffffffffffffffffff8316611cad57610fd08282612647565b610fd083838361274d565b611cc0612086565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611d133390565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b611d456127bb565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa33611d13565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015611df35750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15611e515760c98054601490611e2a9074010000000000000000000000000000000000000000900467ffffffffffffffff16613c5d565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610e348282612827565b600260fb5403611ec7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610980565b600260fb55565b600160fb55565b6000611ee56031602d8486613c84565b611eee91613cae565b60e01c9392505050565b6000611f0a611f07848461291b565b90565b9392505050565b6000808367ffffffffffffffff811115611f2d57611f2d6130ba565b604051908082528060200260200182016040528015611f56578160200160208202803683370190505b50905060005b84811015612039576000868683818110611f7857611f78613b94565b905060400201803603810190611f8e9190613cf6565b90506000816000015173ffffffffffffffffffffffffffffffffffffffff1682602001518790604051600060405180830381858888f193505050503d8060008114611ff5576040519150601f19603f3d011682016040523d82523d6000602084013e611ffa565b606091505b505090508084848151811061201157612011613b94565b91151560209283029190910182015282015161202d9086613d4d565b94505050600101611f5c565b507f1f48172553121d8bf273ce457a5a3dd180d464e0add3e0143045b7fa039c346888888888888660405161207396959493929190613d9e565b60405180910390a1509695505050505050565b60975460ff1615611bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610980565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156121515750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156121af5760c980546014906121889074010000000000000000000000000000000000000000900467ffffffffffffffff16613e3f565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610e348282612934565b600054610100900460ff16611ece576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b600054610100900460ff16611bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b600054610100900460ff1661237e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600054610100900460ff1661243f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610980565b60c980547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff86160217905560ca80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff868116919091179091558216156124e3576124e3600083611d94565b60005b855181101561253a576125327f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de87838151811061252557612525613b94565b6020026020010151611d94565b6001016124e6565b5060005b81518110156125855761257d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177583838151811061252557612525613b94565b60010161253e565b505050505050565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610e34576125cd816129ef565b6125d8836020612a0e565b6040516020016125e9929190613ea5565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261098091600401613f26565b73ffffffffffffffffffffffffffffffffffffffff8216612694576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d80600081146126ee576040519150601f19603f3d011682016040523d82523d6000602084013e6126f3565b606091505b5050905080610fd0576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401610980565b73ffffffffffffffffffffffffffffffffffffffff821661279a576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fd073ffffffffffffffffffffffffffffffffffffffff84168383612c51565b60975460ff16611bbd576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610980565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610e3457600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556128bd3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600061292b605160318486613c84565b611f0a91613f77565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610e3457600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610c8673ffffffffffffffffffffffffffffffffffffffff831660145b60606000612a1d836002613fb3565b612a28906002613d4d565b67ffffffffffffffff811115612a4057612a406130ba565b6040519080825280601f01601f191660200182016040528015612a6a576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612aa157612aa1613b94565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612b0457612b04613b94565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612b40846002613fb3565b612b4b906001613d4d565b90505b6001811115612be8577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612b8c57612b8c613b94565b1a60f81b828281518110612ba257612ba2613b94565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c93612be181613fca565b9050612b4e565b508315611f0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610980565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c656490840152610fd092869291600091612d1c918516908490612dc9565b9050805160001480612d3d575080806020019051810190612d3d9190613fff565b610fd0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610980565b6060612dd88484600085612de0565b949350505050565b606082471015612e72576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401610980565b6000808673ffffffffffffffffffffffffffffffffffffffff168587604051612e9b919061401c565b60006040518083038185875af1925050503d8060008114612ed8576040519150601f19603f3d011682016040523d82523d6000602084013e612edd565b606091505b5091509150612eee87838387612ef9565b979650505050505050565b60608315612f8f578251600003612f885773ffffffffffffffffffffffffffffffffffffffff85163b612f88576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610980565b5081612dd8565b612dd88383815115612fa45781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109809190613f26565b82805482825590600052602060002090601f016020900481019282156130715791602002820160005b8382111561304257833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302613001565b801561306f5782816101000a81549060ff0219169055600101602081600001049283019260010302613042565b505b5061307d929150613081565b5090565b5b8082111561307d5760008155600101613082565b803573ffffffffffffffffffffffffffffffffffffffff81168114610fa657600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b60405160a0810167ffffffffffffffff8111828210171561310c5761310c6130ba565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715613159576131596130ba565b604052919050565b600067ffffffffffffffff82111561317b5761317b6130ba565b5060051b60200190565b600082601f83011261319657600080fd5b813560206131ab6131a683613161565b613112565b8083825260208201915060208460051b8701019350868411156131cd57600080fd5b602086015b848110156131f0576131e381613096565b83529183019183016131d2565b509695505050505050565b60008060008060008060c0878903121561321457600080fd5b61321d87613096565b955061322b60208801613096565b9450604087013567ffffffffffffffff8082111561324857600080fd5b6132548a838b01613185565b955061326260608a01613096565b945061327060808a01613096565b935060a089013591508082111561328657600080fd5b5061329389828a01613185565b9150509295509295509295565b6000806000606084860312156132b557600080fd5b6132be84613096565b92506132cc60208501613096565b9150604084013590509250925092565b6000602082840312156132ee57600080fd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611f0a57600080fd5b8015158114611c8557600080fd5b60006020828403121561333e57600080fd5b8135611f0a8161331e565b60006020828403121561335b57600080fd5b5035919050565b63ffffffff81168114611c8557600080fd5b60006020828403121561338657600080fd5b8135611f0a81613362565b6020808252825182820181905260009190848201906040850190845b818110156133cc57835160ff16835292840192918401916001016133ad565b50909695505050505050565b6000602082840312156133ea57600080fd5b611f0a82613096565b6000806040838503121561340657600080fd5b8235915061341660208401613096565b90509250929050565b60008083601f84011261343157600080fd5b50813567ffffffffffffffff81111561344957600080fd5b60208301915083602082850101111561346157600080fd5b9250929050565b60008060006040848603121561347d57600080fd5b833567ffffffffffffffff81111561349457600080fd5b6134a08682870161341f565b909790965060209590950135949350505050565b6000606082840312156134c657600080fd5b50919050565b60008083601f8401126134de57600080fd5b50813567ffffffffffffffff8111156134f657600080fd5b6020830191508360208260061b850101111561346157600080fd5b600080600080600080600060e0888a03121561352c57600080fd5b61353689896134b4565b9650606088013567ffffffffffffffff8082111561355357600080fd5b61355f8b838c016134cc565b909850965060808a0135955060a08a013591508082111561357f57600080fd5b5061358c8a828b0161341f565b989b979a5095989497959660c090950135949350505050565b60008060008060008060e087890312156135be57600080fd5b6135c888886134b4565b955060608701356135d881613362565b94506135e660808801613096565b935060a087013567ffffffffffffffff81111561360257600080fd5b61360e89828a016134cc565b979a969950949794969560c090950135949350505050565b60008060008060006080868803121561363e57600080fd5b853561364981613362565b945061365760208701613096565b935060408601359250606086013567ffffffffffffffff81111561367a57600080fd5b6136868882890161341f565b969995985093965092949392505050565b600080600080606085870312156136ad57600080fd5b843567ffffffffffffffff808211156136c557600080fd5b6136d1888389016134cc565b90965094506020870135935060408701359150808211156136f157600080fd5b508501610100818803121561370557600080fd5b939692955090935050565b803567ffffffffffffffff81168114610fa657600080fd5b803561ffff81168114610fa657600080fd5b80356fffffffffffffffffffffffffffffffff81168114610fa657600080fd5b6000602080838503121561376d57600080fd5b823567ffffffffffffffff81111561378457600080fd5b8301601f8101851361379557600080fd5b80356137a36131a682613161565b81815260a091820283018401918482019190888411156137c257600080fd5b938501935b838510156138455780858a0312156137df5760008081fd5b6137e76130e9565b85356137f281613362565b81526137ff868801613710565b878201526040613810818801613728565b90820152606061382187820161373a565b90820152608061383287820161373a565b90820152835293840193918501916137c7565b50979650505050505050565b60006020828403121561386357600080fd5b611f0a82613728565b60008060006040848603121561388157600080fd5b833561388c81613362565b9250602084013567ffffffffffffffff808211156138a957600080fd5b818601915086601f8301126138bd57600080fd5b8135818111156138cc57600080fd5b8760208260051b85010111156138e157600080fd5b6020830194508093505050509250925092565b60006020828403121561390657600080fd5b8151611f0a81613362565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60408152600061396e604083018587613911565b9050826020830152949350505050565b600061014073ffffffffffffffffffffffffffffffffffffffff80885116845263ffffffff60208901511660208501528060408901511660408501525060608701516060840152608087015161ffff80821660808601528754915067ffffffffffffffff821660a0860152808260401c1660c0860152506fffffffffffffffffffffffffffffffff808260501c1660e086015280600189015416610100860152505080610120840152612eee8184018587613911565b600060208284031215613a4657600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b81810381811115610c8657610c86613a4d565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1843603018112613ac457600080fd5b83018035915067ffffffffffffffff821115613adf57600080fd5b60200191503681900382131561346157600080fd5b8035613aff81613362565b63ffffffff1682526020818101359083015267ffffffffffffffff613b2660408301613710565b1660408301525050565b613b3a8189613af4565b73ffffffffffffffffffffffffffffffffffffffff8716606082015285608082015260e060a08201526000613b7360e083018688613911565b82810360c0840152613b86818587613911565b9a9950505050505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b602080825282518282018190526000919060409081850190868401855b82811015613c50578151805163ffffffff1685528681015167ffffffffffffffff16878601528581015161ffff16868601526060808201516fffffffffffffffffffffffffffffffff90811691870191909152608091820151169085015260a09093019290850190600101613be0565b5091979650505050505050565b600067ffffffffffffffff808316818103613c7a57613c7a613a4d565b6001019392505050565b60008085851115613c9457600080fd5b83861115613ca157600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015613cee5780818660040360031b1b83161692505b505092915050565b600060408284031215613d0857600080fd5b6040516040810181811067ffffffffffffffff82111715613d2b57613d2b6130ba565b604052613d3783613096565b8152602083013560208201528091505092915050565b80820180821115610c8657610c86613a4d565b60008151808452602080850194506020840160005b83811015613d93578151151587529582019590820190600101613d75565b509495945050505050565b600060e08201613dae838a613af4565b63ffffffff8816606084015273ffffffffffffffffffffffffffffffffffffffff878116608085015260e060a0850152908590528590610100840160005b87811015613e1d5782613dfe85613096565b1682526020848101359083015260409384019390910190600101613dec565b5084810360c0860152613e308187613d60565b9b9a5050505050505050505050565b600067ffffffffffffffff821680613e5957613e59613a4d565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b60005b83811015613e9c578181015183820152602001613e84565b50506000910152565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613edd816017850160208801613e81565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613f1a816028840160208801613e81565b01602801949350505050565b6020815260008251806020840152613f45816040850160208701613e81565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b80356020831015610c86577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff602084900360031b1b1692915050565b8082028115828204841417610c8657610c86613a4d565b600081613fd957613fd9613a4d565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b60006020828403121561401157600080fd5b8151611f0a8161331e565b6000825161402e818460208701613e81565b919091019291505056fea264697066735822122004315c845e2cf7f1a6927f4751b736cdd518fd302b997e60859925ddd5e9858864736f6c63430008160033",
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": 5387,
1270
- "contract": "contracts/Executor.sol:Executor",
1271
- "label": "_initialized",
1272
- "offset": 0,
1273
- "slot": "0",
1274
- "type": "t_uint8"
1275
- },
1276
- {
1277
- "astId": 5390,
1278
- "contract": "contracts/Executor.sol:Executor",
1279
- "label": "_initializing",
1280
- "offset": 1,
1281
- "slot": "0",
1282
- "type": "t_bool"
1283
- },
1284
- {
1285
- "astId": 6142,
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": 6416,
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": 4866,
1302
- "contract": "contracts/Executor.sol:Executor",
1303
- "label": "_roles",
1304
- "offset": 0,
1305
- "slot": "101",
1306
- "type": "t_mapping(t_bytes32,t_struct(RoleData)4861_storage)"
1307
- },
1308
- {
1309
- "astId": 5173,
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": 5571,
1318
- "contract": "contracts/Executor.sol:Executor",
1319
- "label": "_paused",
1320
- "offset": 0,
1321
- "slot": "151",
1322
- "type": "t_bool"
1323
- },
1324
- {
1325
- "astId": 5676,
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": 28481,
1334
- "contract": "contracts/Executor.sol:Executor",
1335
- "label": "workerFeeLib",
1336
- "offset": 0,
1337
- "slot": "201",
1338
- "type": "t_address"
1339
- },
1340
- {
1341
- "astId": 28483,
1342
- "contract": "contracts/Executor.sol:Executor",
1343
- "label": "allowlistSize",
1344
- "offset": 20,
1345
- "slot": "201",
1346
- "type": "t_uint64"
1347
- },
1348
- {
1349
- "astId": 28485,
1350
- "contract": "contracts/Executor.sol:Executor",
1351
- "label": "defaultMultiplierBps",
1352
- "offset": 28,
1353
- "slot": "201",
1354
- "type": "t_uint16"
1355
- },
1356
- {
1357
- "astId": 28487,
1358
- "contract": "contracts/Executor.sol:Executor",
1359
- "label": "priceFeed",
1360
- "offset": 0,
1361
- "slot": "202",
1362
- "type": "t_address"
1363
- },
1364
- {
1365
- "astId": 28492,
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": 28897,
1374
- "contract": "contracts/Executor.sol:Executor",
1375
- "label": "__gap",
1376
- "offset": 0,
1377
- "slot": "204",
1378
- "type": "t_array(t_uint256)47_storage"
1379
- },
1380
- {
1381
- "astId": 5692,
1382
- "contract": "contracts/Executor.sol:Executor",
1383
- "label": "_status",
1384
- "offset": 0,
1385
- "slot": "251",
1386
- "type": "t_uint256"
1387
- },
1388
- {
1389
- "astId": 5761,
1390
- "contract": "contracts/Executor.sol:Executor",
1391
- "label": "__gap",
1392
- "offset": 0,
1393
- "slot": "252",
1394
- "type": "t_array(t_uint256)49_storage"
1395
- },
1396
- {
1397
- "astId": 12582,
1398
- "contract": "contracts/Executor.sol:Executor",
1399
- "label": "dstConfig",
1400
- "offset": 0,
1401
- "slot": "301",
1402
- "type": "t_mapping(t_uint32,t_struct(DstConfig)17714_storage)"
1403
- },
1404
- {
1405
- "astId": 12584,
1406
- "contract": "contracts/Executor.sol:Executor",
1407
- "label": "endpoint",
1408
- "offset": 0,
1409
- "slot": "302",
1410
- "type": "t_address"
1411
- },
1412
- {
1413
- "astId": 12586,
1414
- "contract": "contracts/Executor.sol:Executor",
1415
- "label": "localEid",
1416
- "offset": 20,
1417
- "slot": "302",
1418
- "type": "t_uint32"
1419
- },
1420
- {
1421
- "astId": 12588,
1422
- "contract": "contracts/Executor.sol:Executor",
1423
- "label": "receiveUln301",
1424
- "offset": 0,
1425
- "slot": "303",
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)47_storage": {
1436
- "base": "t_uint256",
1437
- "encoding": "inplace",
1438
- "label": "uint256[47]",
1439
- "numberOfBytes": "1504"
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)4861_storage)": {
1477
- "encoding": "mapping",
1478
- "key": "t_bytes32",
1479
- "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
1480
- "numberOfBytes": "32",
1481
- "value": "t_struct(RoleData)4861_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)17714_storage)": {
1491
- "encoding": "mapping",
1492
- "key": "t_uint32",
1493
- "label": "mapping(uint32 => struct IExecutor.DstConfig)",
1494
- "numberOfBytes": "32",
1495
- "value": "t_struct(DstConfig)17714_storage"
1496
- },
1497
- "t_struct(DstConfig)17714_storage": {
1498
- "encoding": "inplace",
1499
- "label": "struct IExecutor.DstConfig",
1500
- "members": [
1501
- {
1502
- "astId": 17707,
1503
- "contract": "contracts/Executor.sol:Executor",
1504
- "label": "baseGas",
1505
- "offset": 0,
1506
- "slot": "0",
1507
- "type": "t_uint64"
1508
- },
1509
- {
1510
- "astId": 17709,
1511
- "contract": "contracts/Executor.sol:Executor",
1512
- "label": "multiplierBps",
1513
- "offset": 8,
1514
- "slot": "0",
1515
- "type": "t_uint16"
1516
- },
1517
- {
1518
- "astId": 17711,
1519
- "contract": "contracts/Executor.sol:Executor",
1520
- "label": "floorMarginUSD",
1521
- "offset": 10,
1522
- "slot": "0",
1523
- "type": "t_uint128"
1524
- },
1525
- {
1526
- "astId": 17713,
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)4861_storage": {
1537
- "encoding": "inplace",
1538
- "label": "struct AccessControlUpgradeable.RoleData",
1539
- "members": [
1540
- {
1541
- "astId": 4858,
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": 4860,
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
- }