@layerzerolabs/lz-evm-sdk-v2 2.1.13 → 2.1.14

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 (120) hide show
  1. package/deployments/ethereum-sandbox-local/DVN.json +16 -16
  2. package/deployments/ethereum-sandbox-local/DVNDecompressor.json +7 -7
  3. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +7 -7
  4. package/deployments/ethereum-sandbox-local/DefaultProxyAdmin.json +7 -7
  5. package/deployments/ethereum-sandbox-local/EndpointV2.json +13 -13
  6. package/deployments/ethereum-sandbox-local/EndpointV2View.json +13 -13
  7. package/deployments/ethereum-sandbox-local/EndpointV2View_Implementation.json +4 -4
  8. package/deployments/ethereum-sandbox-local/EndpointV2View_Proxy.json +13 -13
  9. package/deployments/ethereum-sandbox-local/Executor.json +43 -43
  10. package/deployments/ethereum-sandbox-local/ExecutorDecompressor.json +7 -7
  11. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +7 -7
  12. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +10 -10
  13. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +4 -4
  14. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +43 -43
  15. package/deployments/ethereum-sandbox-local/LzExecutor.json +16 -16
  16. package/deployments/ethereum-sandbox-local/LzExecutor_Implementation.json +4 -4
  17. package/deployments/ethereum-sandbox-local/LzExecutor_Proxy.json +16 -16
  18. package/deployments/ethereum-sandbox-local/NonceContractMock.json +4 -4
  19. package/deployments/ethereum-sandbox-local/PriceFeed.json +16 -16
  20. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  21. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +4 -4
  22. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +16 -16
  23. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +7 -7
  24. package/deployments/ethereum-sandbox-local/ReceiveUln301View.json +13 -13
  25. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  26. package/deployments/ethereum-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  27. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +7 -7
  28. package/deployments/ethereum-sandbox-local/ReceiveUln302View.json +13 -13
  29. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  30. package/deployments/ethereum-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  31. package/deployments/ethereum-sandbox-local/SendUln301.json +7 -7
  32. package/deployments/ethereum-sandbox-local/SendUln302.json +7 -7
  33. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +7 -7
  34. package/deployments/ethereum-sandbox-local/Treasury.json +7 -7
  35. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +4 -4
  36. package/deployments/polygon-sandbox-local/DVN.json +16 -16
  37. package/deployments/polygon-sandbox-local/DVNDecompressor.json +7 -7
  38. package/deployments/polygon-sandbox-local/DVNFeeLib.json +7 -7
  39. package/deployments/polygon-sandbox-local/DefaultProxyAdmin.json +7 -7
  40. package/deployments/polygon-sandbox-local/EndpointV2.json +13 -13
  41. package/deployments/polygon-sandbox-local/EndpointV2View.json +13 -13
  42. package/deployments/polygon-sandbox-local/EndpointV2View_Implementation.json +4 -4
  43. package/deployments/polygon-sandbox-local/EndpointV2View_Proxy.json +13 -13
  44. package/deployments/polygon-sandbox-local/Executor.json +43 -43
  45. package/deployments/polygon-sandbox-local/ExecutorDecompressor.json +7 -7
  46. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +7 -7
  47. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +10 -10
  48. package/deployments/polygon-sandbox-local/Executor_Implementation.json +4 -4
  49. package/deployments/polygon-sandbox-local/Executor_Proxy.json +43 -43
  50. package/deployments/polygon-sandbox-local/LzExecutor.json +16 -16
  51. package/deployments/polygon-sandbox-local/LzExecutor_Implementation.json +4 -4
  52. package/deployments/polygon-sandbox-local/LzExecutor_Proxy.json +16 -16
  53. package/deployments/polygon-sandbox-local/NonceContractMock.json +4 -4
  54. package/deployments/polygon-sandbox-local/PriceFeed.json +16 -16
  55. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +10 -10
  56. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +4 -4
  57. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +16 -16
  58. package/deployments/polygon-sandbox-local/ReceiveUln301.json +7 -7
  59. package/deployments/polygon-sandbox-local/ReceiveUln301View.json +13 -13
  60. package/deployments/polygon-sandbox-local/ReceiveUln301View_Implementation.json +4 -4
  61. package/deployments/polygon-sandbox-local/ReceiveUln301View_Proxy.json +13 -13
  62. package/deployments/polygon-sandbox-local/ReceiveUln302.json +7 -7
  63. package/deployments/polygon-sandbox-local/ReceiveUln302View.json +13 -13
  64. package/deployments/polygon-sandbox-local/ReceiveUln302View_Implementation.json +4 -4
  65. package/deployments/polygon-sandbox-local/ReceiveUln302View_Proxy.json +13 -13
  66. package/deployments/polygon-sandbox-local/SendUln301.json +7 -7
  67. package/deployments/polygon-sandbox-local/SendUln302.json +7 -7
  68. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +7 -7
  69. package/deployments/polygon-sandbox-local/Treasury.json +7 -7
  70. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +4 -4
  71. package/package.json +9 -9
  72. package/deployments/arbitrum-sandbox-local/DVN.json +0 -1864
  73. package/deployments/arbitrum-sandbox-local/DVNDecompressor.json +0 -500
  74. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +0 -398
  75. package/deployments/arbitrum-sandbox-local/PriceFeed.json +0 -890
  76. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  77. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +0 -912
  78. package/deployments/arbitrum-sandbox-local/PriceFeed_Proxy.json +0 -244
  79. package/deployments/metis-sandbox-local/DVN.json +0 -1896
  80. package/deployments/metis-sandbox-local/DVNDecompressor.json +0 -508
  81. package/deployments/metis-sandbox-local/DVNFeeLib.json +0 -398
  82. package/deployments/metis-sandbox-local/DefaultProxyAdmin.json +0 -258
  83. package/deployments/metis-sandbox-local/EndpointV2.json +0 -2946
  84. package/deployments/metis-sandbox-local/EndpointV2View.json +0 -435
  85. package/deployments/metis-sandbox-local/EndpointV2View_Implementation.json +0 -313
  86. package/deployments/metis-sandbox-local/EndpointV2View_Proxy.json +0 -230
  87. package/deployments/metis-sandbox-local/Executor.json +0 -1549
  88. package/deployments/metis-sandbox-local/ExecutorDecompressor.json +0 -339
  89. package/deployments/metis-sandbox-local/ExecutorFeeLib.json +0 -423
  90. package/deployments/metis-sandbox-local/ExecutorProxyAdmin.json +0 -283
  91. package/deployments/metis-sandbox-local/Executor_Implementation.json +0 -1591
  92. package/deployments/metis-sandbox-local/Executor_Proxy.json +0 -380
  93. package/deployments/metis-sandbox-local/LzExecutor.json +0 -757
  94. package/deployments/metis-sandbox-local/LzExecutor_Implementation.json +0 -703
  95. package/deployments/metis-sandbox-local/LzExecutor_Proxy.json +0 -244
  96. package/deployments/metis-sandbox-local/NonceContractMock.json +0 -163
  97. package/deployments/metis-sandbox-local/PriceFeed.json +0 -890
  98. package/deployments/metis-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  99. package/deployments/metis-sandbox-local/PriceFeed_Implementation.json +0 -912
  100. package/deployments/metis-sandbox-local/PriceFeed_Proxy.json +0 -244
  101. package/deployments/metis-sandbox-local/ReceiveUln301.json +0 -1292
  102. package/deployments/metis-sandbox-local/ReceiveUln301View.json +0 -354
  103. package/deployments/metis-sandbox-local/ReceiveUln301View_Implementation.json +0 -231
  104. package/deployments/metis-sandbox-local/ReceiveUln301View_Proxy.json +0 -230
  105. package/deployments/metis-sandbox-local/ReceiveUln302.json +0 -1006
  106. package/deployments/metis-sandbox-local/ReceiveUln302View.json +0 -478
  107. package/deployments/metis-sandbox-local/ReceiveUln302View_Implementation.json +0 -384
  108. package/deployments/metis-sandbox-local/ReceiveUln302View_Proxy.json +0 -230
  109. package/deployments/metis-sandbox-local/SendUln301.json +0 -1569
  110. package/deployments/metis-sandbox-local/SendUln302.json +0 -1527
  111. package/deployments/metis-sandbox-local/SimpleMessageLib.json +0 -708
  112. package/deployments/metis-sandbox-local/Treasury.json +0 -412
  113. package/deployments/metis-sandbox-local/TreasuryFeeHandler.json +0 -125
  114. package/deployments/tron-sandbox-local/DVN.json +0 -1864
  115. package/deployments/tron-sandbox-local/DVNDecompressor.json +0 -500
  116. package/deployments/tron-sandbox-local/DVNFeeLib.json +0 -398
  117. package/deployments/tron-sandbox-local/PriceFeed.json +0 -890
  118. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +0 -283
  119. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +0 -912
  120. package/deployments/tron-sandbox-local/PriceFeed_Proxy.json +0 -244
@@ -1,1864 +0,0 @@
1
- {
2
- "address": "0x700b94d4D5EeDc66ff17CDFaB9817d77B7fD1cf8",
3
- "abi": [
4
- {
5
- "inputs": [
6
- {
7
- "internalType": "uint32",
8
- "name": "_vid",
9
- "type": "uint32"
10
- },
11
- {
12
- "internalType": "address[]",
13
- "name": "_messageLibs",
14
- "type": "address[]"
15
- },
16
- {
17
- "internalType": "address",
18
- "name": "_priceFeed",
19
- "type": "address"
20
- },
21
- {
22
- "internalType": "address[]",
23
- "name": "_signers",
24
- "type": "address[]"
25
- },
26
- {
27
- "internalType": "uint64",
28
- "name": "_quorum",
29
- "type": "uint64"
30
- },
31
- {
32
- "internalType": "address[]",
33
- "name": "_admins",
34
- "type": "address[]"
35
- }
36
- ],
37
- "stateMutability": "nonpayable",
38
- "type": "constructor"
39
- },
40
- {
41
- "inputs": [
42
- {
43
- "internalType": "bytes32",
44
- "name": "executableHash",
45
- "type": "bytes32"
46
- }
47
- ],
48
- "name": "DVN_DuplicatedHash",
49
- "type": "error"
50
- },
51
- {
52
- "inputs": [],
53
- "name": "DVN_InstructionExpired",
54
- "type": "error"
55
- },
56
- {
57
- "inputs": [
58
- {
59
- "internalType": "bytes32",
60
- "name": "role",
61
- "type": "bytes32"
62
- }
63
- ],
64
- "name": "DVN_InvalidRole",
65
- "type": "error"
66
- },
67
- {
68
- "inputs": [],
69
- "name": "DVN_InvalidSignatures",
70
- "type": "error"
71
- },
72
- {
73
- "inputs": [
74
- {
75
- "internalType": "address",
76
- "name": "target",
77
- "type": "address"
78
- }
79
- ],
80
- "name": "DVN_InvalidTarget",
81
- "type": "error"
82
- },
83
- {
84
- "inputs": [
85
- {
86
- "internalType": "uint32",
87
- "name": "vid",
88
- "type": "uint32"
89
- }
90
- ],
91
- "name": "DVN_InvalidVid",
92
- "type": "error"
93
- },
94
- {
95
- "inputs": [],
96
- "name": "DVN_OnlySelf",
97
- "type": "error"
98
- },
99
- {
100
- "inputs": [],
101
- "name": "MultiSig_OnlySigner",
102
- "type": "error"
103
- },
104
- {
105
- "inputs": [],
106
- "name": "MultiSig_QuorumIsZero",
107
- "type": "error"
108
- },
109
- {
110
- "inputs": [
111
- {
112
- "internalType": "uint64",
113
- "name": "signersSize",
114
- "type": "uint64"
115
- },
116
- {
117
- "internalType": "uint64",
118
- "name": "quorum",
119
- "type": "uint64"
120
- }
121
- ],
122
- "name": "MultiSig_SignersSizeIsLessThanQuorum",
123
- "type": "error"
124
- },
125
- {
126
- "inputs": [
127
- {
128
- "internalType": "address",
129
- "name": "signer",
130
- "type": "address"
131
- },
132
- {
133
- "internalType": "bool",
134
- "name": "active",
135
- "type": "bool"
136
- }
137
- ],
138
- "name": "MultiSig_StateAlreadySet",
139
- "type": "error"
140
- },
141
- {
142
- "inputs": [],
143
- "name": "MultiSig_UnorderedSigners",
144
- "type": "error"
145
- },
146
- {
147
- "inputs": [
148
- {
149
- "internalType": "address",
150
- "name": "_to",
151
- "type": "address"
152
- },
153
- {
154
- "internalType": "uint256",
155
- "name": "_value",
156
- "type": "uint256"
157
- }
158
- ],
159
- "name": "Transfer_NativeFailed",
160
- "type": "error"
161
- },
162
- {
163
- "inputs": [],
164
- "name": "Transfer_ToAddressIsZero",
165
- "type": "error"
166
- },
167
- {
168
- "inputs": [],
169
- "name": "Worker_NotAllowed",
170
- "type": "error"
171
- },
172
- {
173
- "inputs": [],
174
- "name": "Worker_OnlyMessageLib",
175
- "type": "error"
176
- },
177
- {
178
- "inputs": [],
179
- "name": "Worker_RoleRenouncingDisabled",
180
- "type": "error"
181
- },
182
- {
183
- "anonymous": false,
184
- "inputs": [
185
- {
186
- "indexed": false,
187
- "internalType": "uint256",
188
- "name": "_index",
189
- "type": "uint256"
190
- },
191
- {
192
- "indexed": false,
193
- "internalType": "bytes",
194
- "name": "_data",
195
- "type": "bytes"
196
- }
197
- ],
198
- "name": "ExecuteFailed",
199
- "type": "event"
200
- },
201
- {
202
- "anonymous": false,
203
- "inputs": [
204
- {
205
- "components": [
206
- {
207
- "internalType": "uint32",
208
- "name": "vid",
209
- "type": "uint32"
210
- },
211
- {
212
- "internalType": "address",
213
- "name": "target",
214
- "type": "address"
215
- },
216
- {
217
- "internalType": "bytes",
218
- "name": "callData",
219
- "type": "bytes"
220
- },
221
- {
222
- "internalType": "uint256",
223
- "name": "expiration",
224
- "type": "uint256"
225
- },
226
- {
227
- "internalType": "bytes",
228
- "name": "signatures",
229
- "type": "bytes"
230
- }
231
- ],
232
- "indexed": false,
233
- "internalType": "struct ExecuteParam",
234
- "name": "param",
235
- "type": "tuple"
236
- },
237
- {
238
- "indexed": false,
239
- "internalType": "bytes32",
240
- "name": "_hash",
241
- "type": "bytes32"
242
- }
243
- ],
244
- "name": "HashAlreadyUsed",
245
- "type": "event"
246
- },
247
- {
248
- "anonymous": false,
249
- "inputs": [
250
- {
251
- "indexed": false,
252
- "internalType": "address",
253
- "name": "account",
254
- "type": "address"
255
- }
256
- ],
257
- "name": "Paused",
258
- "type": "event"
259
- },
260
- {
261
- "anonymous": false,
262
- "inputs": [
263
- {
264
- "indexed": true,
265
- "internalType": "bytes32",
266
- "name": "role",
267
- "type": "bytes32"
268
- },
269
- {
270
- "indexed": true,
271
- "internalType": "bytes32",
272
- "name": "previousAdminRole",
273
- "type": "bytes32"
274
- },
275
- {
276
- "indexed": true,
277
- "internalType": "bytes32",
278
- "name": "newAdminRole",
279
- "type": "bytes32"
280
- }
281
- ],
282
- "name": "RoleAdminChanged",
283
- "type": "event"
284
- },
285
- {
286
- "anonymous": false,
287
- "inputs": [
288
- {
289
- "indexed": true,
290
- "internalType": "bytes32",
291
- "name": "role",
292
- "type": "bytes32"
293
- },
294
- {
295
- "indexed": true,
296
- "internalType": "address",
297
- "name": "account",
298
- "type": "address"
299
- },
300
- {
301
- "indexed": true,
302
- "internalType": "address",
303
- "name": "sender",
304
- "type": "address"
305
- }
306
- ],
307
- "name": "RoleGranted",
308
- "type": "event"
309
- },
310
- {
311
- "anonymous": false,
312
- "inputs": [
313
- {
314
- "indexed": true,
315
- "internalType": "bytes32",
316
- "name": "role",
317
- "type": "bytes32"
318
- },
319
- {
320
- "indexed": true,
321
- "internalType": "address",
322
- "name": "account",
323
- "type": "address"
324
- },
325
- {
326
- "indexed": true,
327
- "internalType": "address",
328
- "name": "sender",
329
- "type": "address"
330
- }
331
- ],
332
- "name": "RoleRevoked",
333
- "type": "event"
334
- },
335
- {
336
- "anonymous": false,
337
- "inputs": [
338
- {
339
- "indexed": false,
340
- "internalType": "uint16",
341
- "name": "multiplierBps",
342
- "type": "uint16"
343
- }
344
- ],
345
- "name": "SetDefaultMultiplierBps",
346
- "type": "event"
347
- },
348
- {
349
- "anonymous": false,
350
- "inputs": [
351
- {
352
- "components": [
353
- {
354
- "internalType": "uint32",
355
- "name": "dstEid",
356
- "type": "uint32"
357
- },
358
- {
359
- "internalType": "uint64",
360
- "name": "gas",
361
- "type": "uint64"
362
- },
363
- {
364
- "internalType": "uint16",
365
- "name": "multiplierBps",
366
- "type": "uint16"
367
- },
368
- {
369
- "internalType": "uint128",
370
- "name": "floorMarginUSD",
371
- "type": "uint128"
372
- }
373
- ],
374
- "indexed": false,
375
- "internalType": "struct IDVN.DstConfigParam[]",
376
- "name": "params",
377
- "type": "tuple[]"
378
- }
379
- ],
380
- "name": "SetDstConfig",
381
- "type": "event"
382
- },
383
- {
384
- "anonymous": false,
385
- "inputs": [
386
- {
387
- "indexed": false,
388
- "internalType": "address",
389
- "name": "priceFeed",
390
- "type": "address"
391
- }
392
- ],
393
- "name": "SetPriceFeed",
394
- "type": "event"
395
- },
396
- {
397
- "anonymous": false,
398
- "inputs": [
399
- {
400
- "indexed": false,
401
- "internalType": "uint32",
402
- "name": "dstEid",
403
- "type": "uint32"
404
- },
405
- {
406
- "indexed": false,
407
- "internalType": "uint8[]",
408
- "name": "optionTypes",
409
- "type": "uint8[]"
410
- }
411
- ],
412
- "name": "SetSupportedOptionTypes",
413
- "type": "event"
414
- },
415
- {
416
- "anonymous": false,
417
- "inputs": [
418
- {
419
- "indexed": false,
420
- "internalType": "address",
421
- "name": "workerLib",
422
- "type": "address"
423
- }
424
- ],
425
- "name": "SetWorkerLib",
426
- "type": "event"
427
- },
428
- {
429
- "anonymous": false,
430
- "inputs": [
431
- {
432
- "indexed": false,
433
- "internalType": "address",
434
- "name": "account",
435
- "type": "address"
436
- }
437
- ],
438
- "name": "Unpaused",
439
- "type": "event"
440
- },
441
- {
442
- "anonymous": false,
443
- "inputs": [
444
- {
445
- "indexed": false,
446
- "internalType": "uint64",
447
- "name": "_quorum",
448
- "type": "uint64"
449
- }
450
- ],
451
- "name": "UpdateQuorum",
452
- "type": "event"
453
- },
454
- {
455
- "anonymous": false,
456
- "inputs": [
457
- {
458
- "indexed": false,
459
- "internalType": "address",
460
- "name": "_signer",
461
- "type": "address"
462
- },
463
- {
464
- "indexed": false,
465
- "internalType": "bool",
466
- "name": "_active",
467
- "type": "bool"
468
- }
469
- ],
470
- "name": "UpdateSigner",
471
- "type": "event"
472
- },
473
- {
474
- "anonymous": false,
475
- "inputs": [
476
- {
477
- "indexed": false,
478
- "internalType": "uint256",
479
- "name": "fee",
480
- "type": "uint256"
481
- }
482
- ],
483
- "name": "VerifierFeePaid",
484
- "type": "event"
485
- },
486
- {
487
- "anonymous": false,
488
- "inputs": [
489
- {
490
- "indexed": false,
491
- "internalType": "uint256",
492
- "name": "idx",
493
- "type": "uint256"
494
- }
495
- ],
496
- "name": "VerifySignaturesFailed",
497
- "type": "event"
498
- },
499
- {
500
- "anonymous": false,
501
- "inputs": [
502
- {
503
- "indexed": false,
504
- "internalType": "address",
505
- "name": "lib",
506
- "type": "address"
507
- },
508
- {
509
- "indexed": false,
510
- "internalType": "address",
511
- "name": "to",
512
- "type": "address"
513
- },
514
- {
515
- "indexed": false,
516
- "internalType": "uint256",
517
- "name": "amount",
518
- "type": "uint256"
519
- }
520
- ],
521
- "name": "Withdraw",
522
- "type": "event"
523
- },
524
- {
525
- "inputs": [],
526
- "name": "DEFAULT_ADMIN_ROLE",
527
- "outputs": [
528
- {
529
- "internalType": "bytes32",
530
- "name": "",
531
- "type": "bytes32"
532
- }
533
- ],
534
- "stateMutability": "view",
535
- "type": "function"
536
- },
537
- {
538
- "inputs": [],
539
- "name": "allowlistSize",
540
- "outputs": [
541
- {
542
- "internalType": "uint64",
543
- "name": "",
544
- "type": "uint64"
545
- }
546
- ],
547
- "stateMutability": "view",
548
- "type": "function"
549
- },
550
- {
551
- "inputs": [
552
- {
553
- "components": [
554
- {
555
- "internalType": "uint32",
556
- "name": "dstEid",
557
- "type": "uint32"
558
- },
559
- {
560
- "internalType": "bytes",
561
- "name": "packetHeader",
562
- "type": "bytes"
563
- },
564
- {
565
- "internalType": "bytes32",
566
- "name": "payloadHash",
567
- "type": "bytes32"
568
- },
569
- {
570
- "internalType": "uint64",
571
- "name": "confirmations",
572
- "type": "uint64"
573
- },
574
- {
575
- "internalType": "address",
576
- "name": "sender",
577
- "type": "address"
578
- }
579
- ],
580
- "internalType": "struct ILayerZeroDVN.AssignJobParam",
581
- "name": "_param",
582
- "type": "tuple"
583
- },
584
- {
585
- "internalType": "bytes",
586
- "name": "_options",
587
- "type": "bytes"
588
- }
589
- ],
590
- "name": "assignJob",
591
- "outputs": [
592
- {
593
- "internalType": "uint256",
594
- "name": "totalFee",
595
- "type": "uint256"
596
- }
597
- ],
598
- "stateMutability": "payable",
599
- "type": "function"
600
- },
601
- {
602
- "inputs": [
603
- {
604
- "internalType": "uint16",
605
- "name": "_dstEid",
606
- "type": "uint16"
607
- },
608
- {
609
- "internalType": "uint16",
610
- "name": "",
611
- "type": "uint16"
612
- },
613
- {
614
- "internalType": "uint64",
615
- "name": "_confirmations",
616
- "type": "uint64"
617
- },
618
- {
619
- "internalType": "address",
620
- "name": "_sender",
621
- "type": "address"
622
- }
623
- ],
624
- "name": "assignJob",
625
- "outputs": [
626
- {
627
- "internalType": "uint256",
628
- "name": "totalFee",
629
- "type": "uint256"
630
- }
631
- ],
632
- "stateMutability": "nonpayable",
633
- "type": "function"
634
- },
635
- {
636
- "inputs": [],
637
- "name": "defaultMultiplierBps",
638
- "outputs": [
639
- {
640
- "internalType": "uint16",
641
- "name": "",
642
- "type": "uint16"
643
- }
644
- ],
645
- "stateMutability": "view",
646
- "type": "function"
647
- },
648
- {
649
- "inputs": [
650
- {
651
- "internalType": "uint32",
652
- "name": "dstEid",
653
- "type": "uint32"
654
- }
655
- ],
656
- "name": "dstConfig",
657
- "outputs": [
658
- {
659
- "internalType": "uint64",
660
- "name": "gas",
661
- "type": "uint64"
662
- },
663
- {
664
- "internalType": "uint16",
665
- "name": "multiplierBps",
666
- "type": "uint16"
667
- },
668
- {
669
- "internalType": "uint128",
670
- "name": "floorMarginUSD",
671
- "type": "uint128"
672
- }
673
- ],
674
- "stateMutability": "view",
675
- "type": "function"
676
- },
677
- {
678
- "inputs": [
679
- {
680
- "components": [
681
- {
682
- "internalType": "uint32",
683
- "name": "vid",
684
- "type": "uint32"
685
- },
686
- {
687
- "internalType": "address",
688
- "name": "target",
689
- "type": "address"
690
- },
691
- {
692
- "internalType": "bytes",
693
- "name": "callData",
694
- "type": "bytes"
695
- },
696
- {
697
- "internalType": "uint256",
698
- "name": "expiration",
699
- "type": "uint256"
700
- },
701
- {
702
- "internalType": "bytes",
703
- "name": "signatures",
704
- "type": "bytes"
705
- }
706
- ],
707
- "internalType": "struct ExecuteParam[]",
708
- "name": "_params",
709
- "type": "tuple[]"
710
- }
711
- ],
712
- "name": "execute",
713
- "outputs": [],
714
- "stateMutability": "nonpayable",
715
- "type": "function"
716
- },
717
- {
718
- "inputs": [
719
- {
720
- "internalType": "uint32",
721
- "name": "_dstEid",
722
- "type": "uint32"
723
- },
724
- {
725
- "internalType": "uint64",
726
- "name": "_confirmations",
727
- "type": "uint64"
728
- },
729
- {
730
- "internalType": "address",
731
- "name": "_sender",
732
- "type": "address"
733
- },
734
- {
735
- "internalType": "bytes",
736
- "name": "_options",
737
- "type": "bytes"
738
- }
739
- ],
740
- "name": "getFee",
741
- "outputs": [
742
- {
743
- "internalType": "uint256",
744
- "name": "fee",
745
- "type": "uint256"
746
- }
747
- ],
748
- "stateMutability": "view",
749
- "type": "function"
750
- },
751
- {
752
- "inputs": [
753
- {
754
- "internalType": "uint16",
755
- "name": "_dstEid",
756
- "type": "uint16"
757
- },
758
- {
759
- "internalType": "uint16",
760
- "name": "",
761
- "type": "uint16"
762
- },
763
- {
764
- "internalType": "uint64",
765
- "name": "_confirmations",
766
- "type": "uint64"
767
- },
768
- {
769
- "internalType": "address",
770
- "name": "_sender",
771
- "type": "address"
772
- }
773
- ],
774
- "name": "getFee",
775
- "outputs": [
776
- {
777
- "internalType": "uint256",
778
- "name": "fee",
779
- "type": "uint256"
780
- }
781
- ],
782
- "stateMutability": "view",
783
- "type": "function"
784
- },
785
- {
786
- "inputs": [
787
- {
788
- "internalType": "bytes32",
789
- "name": "role",
790
- "type": "bytes32"
791
- }
792
- ],
793
- "name": "getRoleAdmin",
794
- "outputs": [
795
- {
796
- "internalType": "bytes32",
797
- "name": "",
798
- "type": "bytes32"
799
- }
800
- ],
801
- "stateMutability": "view",
802
- "type": "function"
803
- },
804
- {
805
- "inputs": [
806
- {
807
- "internalType": "uint32",
808
- "name": "_eid",
809
- "type": "uint32"
810
- }
811
- ],
812
- "name": "getSupportedOptionTypes",
813
- "outputs": [
814
- {
815
- "internalType": "uint8[]",
816
- "name": "",
817
- "type": "uint8[]"
818
- }
819
- ],
820
- "stateMutability": "view",
821
- "type": "function"
822
- },
823
- {
824
- "inputs": [
825
- {
826
- "internalType": "bytes32",
827
- "name": "_role",
828
- "type": "bytes32"
829
- },
830
- {
831
- "internalType": "address",
832
- "name": "_account",
833
- "type": "address"
834
- }
835
- ],
836
- "name": "grantRole",
837
- "outputs": [],
838
- "stateMutability": "nonpayable",
839
- "type": "function"
840
- },
841
- {
842
- "inputs": [
843
- {
844
- "internalType": "address",
845
- "name": "_sender",
846
- "type": "address"
847
- }
848
- ],
849
- "name": "hasAcl",
850
- "outputs": [
851
- {
852
- "internalType": "bool",
853
- "name": "",
854
- "type": "bool"
855
- }
856
- ],
857
- "stateMutability": "view",
858
- "type": "function"
859
- },
860
- {
861
- "inputs": [
862
- {
863
- "internalType": "bytes32",
864
- "name": "role",
865
- "type": "bytes32"
866
- },
867
- {
868
- "internalType": "address",
869
- "name": "account",
870
- "type": "address"
871
- }
872
- ],
873
- "name": "hasRole",
874
- "outputs": [
875
- {
876
- "internalType": "bool",
877
- "name": "",
878
- "type": "bool"
879
- }
880
- ],
881
- "stateMutability": "view",
882
- "type": "function"
883
- },
884
- {
885
- "inputs": [
886
- {
887
- "internalType": "uint32",
888
- "name": "_vid",
889
- "type": "uint32"
890
- },
891
- {
892
- "internalType": "address",
893
- "name": "_target",
894
- "type": "address"
895
- },
896
- {
897
- "internalType": "bytes",
898
- "name": "_callData",
899
- "type": "bytes"
900
- },
901
- {
902
- "internalType": "uint256",
903
- "name": "_expiration",
904
- "type": "uint256"
905
- }
906
- ],
907
- "name": "hashCallData",
908
- "outputs": [
909
- {
910
- "internalType": "bytes32",
911
- "name": "",
912
- "type": "bytes32"
913
- }
914
- ],
915
- "stateMutability": "pure",
916
- "type": "function"
917
- },
918
- {
919
- "inputs": [],
920
- "name": "paused",
921
- "outputs": [
922
- {
923
- "internalType": "bool",
924
- "name": "",
925
- "type": "bool"
926
- }
927
- ],
928
- "stateMutability": "view",
929
- "type": "function"
930
- },
931
- {
932
- "inputs": [],
933
- "name": "priceFeed",
934
- "outputs": [
935
- {
936
- "internalType": "address",
937
- "name": "",
938
- "type": "address"
939
- }
940
- ],
941
- "stateMutability": "view",
942
- "type": "function"
943
- },
944
- {
945
- "inputs": [],
946
- "name": "quorum",
947
- "outputs": [
948
- {
949
- "internalType": "uint64",
950
- "name": "",
951
- "type": "uint64"
952
- }
953
- ],
954
- "stateMutability": "view",
955
- "type": "function"
956
- },
957
- {
958
- "inputs": [
959
- {
960
- "components": [
961
- {
962
- "internalType": "uint32",
963
- "name": "vid",
964
- "type": "uint32"
965
- },
966
- {
967
- "internalType": "address",
968
- "name": "target",
969
- "type": "address"
970
- },
971
- {
972
- "internalType": "bytes",
973
- "name": "callData",
974
- "type": "bytes"
975
- },
976
- {
977
- "internalType": "uint256",
978
- "name": "expiration",
979
- "type": "uint256"
980
- },
981
- {
982
- "internalType": "bytes",
983
- "name": "signatures",
984
- "type": "bytes"
985
- }
986
- ],
987
- "internalType": "struct ExecuteParam",
988
- "name": "_param",
989
- "type": "tuple"
990
- }
991
- ],
992
- "name": "quorumChangeAdmin",
993
- "outputs": [],
994
- "stateMutability": "nonpayable",
995
- "type": "function"
996
- },
997
- {
998
- "inputs": [
999
- {
1000
- "internalType": "bytes32",
1001
- "name": "",
1002
- "type": "bytes32"
1003
- },
1004
- {
1005
- "internalType": "address",
1006
- "name": "",
1007
- "type": "address"
1008
- }
1009
- ],
1010
- "name": "renounceRole",
1011
- "outputs": [],
1012
- "stateMutability": "pure",
1013
- "type": "function"
1014
- },
1015
- {
1016
- "inputs": [
1017
- {
1018
- "internalType": "bytes32",
1019
- "name": "_role",
1020
- "type": "bytes32"
1021
- },
1022
- {
1023
- "internalType": "address",
1024
- "name": "_account",
1025
- "type": "address"
1026
- }
1027
- ],
1028
- "name": "revokeRole",
1029
- "outputs": [],
1030
- "stateMutability": "nonpayable",
1031
- "type": "function"
1032
- },
1033
- {
1034
- "inputs": [
1035
- {
1036
- "internalType": "uint16",
1037
- "name": "_multiplierBps",
1038
- "type": "uint16"
1039
- }
1040
- ],
1041
- "name": "setDefaultMultiplierBps",
1042
- "outputs": [],
1043
- "stateMutability": "nonpayable",
1044
- "type": "function"
1045
- },
1046
- {
1047
- "inputs": [
1048
- {
1049
- "components": [
1050
- {
1051
- "internalType": "uint32",
1052
- "name": "dstEid",
1053
- "type": "uint32"
1054
- },
1055
- {
1056
- "internalType": "uint64",
1057
- "name": "gas",
1058
- "type": "uint64"
1059
- },
1060
- {
1061
- "internalType": "uint16",
1062
- "name": "multiplierBps",
1063
- "type": "uint16"
1064
- },
1065
- {
1066
- "internalType": "uint128",
1067
- "name": "floorMarginUSD",
1068
- "type": "uint128"
1069
- }
1070
- ],
1071
- "internalType": "struct IDVN.DstConfigParam[]",
1072
- "name": "_params",
1073
- "type": "tuple[]"
1074
- }
1075
- ],
1076
- "name": "setDstConfig",
1077
- "outputs": [],
1078
- "stateMutability": "nonpayable",
1079
- "type": "function"
1080
- },
1081
- {
1082
- "inputs": [
1083
- {
1084
- "internalType": "bool",
1085
- "name": "_paused",
1086
- "type": "bool"
1087
- }
1088
- ],
1089
- "name": "setPaused",
1090
- "outputs": [],
1091
- "stateMutability": "nonpayable",
1092
- "type": "function"
1093
- },
1094
- {
1095
- "inputs": [
1096
- {
1097
- "internalType": "address",
1098
- "name": "_priceFeed",
1099
- "type": "address"
1100
- }
1101
- ],
1102
- "name": "setPriceFeed",
1103
- "outputs": [],
1104
- "stateMutability": "nonpayable",
1105
- "type": "function"
1106
- },
1107
- {
1108
- "inputs": [
1109
- {
1110
- "internalType": "uint64",
1111
- "name": "_quorum",
1112
- "type": "uint64"
1113
- }
1114
- ],
1115
- "name": "setQuorum",
1116
- "outputs": [],
1117
- "stateMutability": "nonpayable",
1118
- "type": "function"
1119
- },
1120
- {
1121
- "inputs": [
1122
- {
1123
- "internalType": "address",
1124
- "name": "_signer",
1125
- "type": "address"
1126
- },
1127
- {
1128
- "internalType": "bool",
1129
- "name": "_active",
1130
- "type": "bool"
1131
- }
1132
- ],
1133
- "name": "setSigner",
1134
- "outputs": [],
1135
- "stateMutability": "nonpayable",
1136
- "type": "function"
1137
- },
1138
- {
1139
- "inputs": [
1140
- {
1141
- "internalType": "uint32",
1142
- "name": "_eid",
1143
- "type": "uint32"
1144
- },
1145
- {
1146
- "internalType": "uint8[]",
1147
- "name": "_optionTypes",
1148
- "type": "uint8[]"
1149
- }
1150
- ],
1151
- "name": "setSupportedOptionTypes",
1152
- "outputs": [],
1153
- "stateMutability": "nonpayable",
1154
- "type": "function"
1155
- },
1156
- {
1157
- "inputs": [
1158
- {
1159
- "internalType": "address",
1160
- "name": "_workerFeeLib",
1161
- "type": "address"
1162
- }
1163
- ],
1164
- "name": "setWorkerFeeLib",
1165
- "outputs": [],
1166
- "stateMutability": "nonpayable",
1167
- "type": "function"
1168
- },
1169
- {
1170
- "inputs": [],
1171
- "name": "signerSize",
1172
- "outputs": [
1173
- {
1174
- "internalType": "uint64",
1175
- "name": "",
1176
- "type": "uint64"
1177
- }
1178
- ],
1179
- "stateMutability": "view",
1180
- "type": "function"
1181
- },
1182
- {
1183
- "inputs": [
1184
- {
1185
- "internalType": "address",
1186
- "name": "signer",
1187
- "type": "address"
1188
- }
1189
- ],
1190
- "name": "signers",
1191
- "outputs": [
1192
- {
1193
- "internalType": "bool",
1194
- "name": "active",
1195
- "type": "bool"
1196
- }
1197
- ],
1198
- "stateMutability": "view",
1199
- "type": "function"
1200
- },
1201
- {
1202
- "inputs": [
1203
- {
1204
- "internalType": "bytes4",
1205
- "name": "interfaceId",
1206
- "type": "bytes4"
1207
- }
1208
- ],
1209
- "name": "supportsInterface",
1210
- "outputs": [
1211
- {
1212
- "internalType": "bool",
1213
- "name": "",
1214
- "type": "bool"
1215
- }
1216
- ],
1217
- "stateMutability": "view",
1218
- "type": "function"
1219
- },
1220
- {
1221
- "inputs": [
1222
- {
1223
- "internalType": "bytes32",
1224
- "name": "executableHash",
1225
- "type": "bytes32"
1226
- }
1227
- ],
1228
- "name": "usedHashes",
1229
- "outputs": [
1230
- {
1231
- "internalType": "bool",
1232
- "name": "used",
1233
- "type": "bool"
1234
- }
1235
- ],
1236
- "stateMutability": "view",
1237
- "type": "function"
1238
- },
1239
- {
1240
- "inputs": [
1241
- {
1242
- "internalType": "bytes32",
1243
- "name": "_hash",
1244
- "type": "bytes32"
1245
- },
1246
- {
1247
- "internalType": "bytes",
1248
- "name": "_signatures",
1249
- "type": "bytes"
1250
- }
1251
- ],
1252
- "name": "verifySignatures",
1253
- "outputs": [
1254
- {
1255
- "internalType": "bool",
1256
- "name": "",
1257
- "type": "bool"
1258
- },
1259
- {
1260
- "internalType": "enum MultiSig.Errors",
1261
- "name": "",
1262
- "type": "uint8"
1263
- }
1264
- ],
1265
- "stateMutability": "view",
1266
- "type": "function"
1267
- },
1268
- {
1269
- "inputs": [],
1270
- "name": "vid",
1271
- "outputs": [
1272
- {
1273
- "internalType": "uint32",
1274
- "name": "",
1275
- "type": "uint32"
1276
- }
1277
- ],
1278
- "stateMutability": "view",
1279
- "type": "function"
1280
- },
1281
- {
1282
- "inputs": [
1283
- {
1284
- "internalType": "address",
1285
- "name": "_lib",
1286
- "type": "address"
1287
- },
1288
- {
1289
- "internalType": "address",
1290
- "name": "_to",
1291
- "type": "address"
1292
- },
1293
- {
1294
- "internalType": "uint256",
1295
- "name": "_amount",
1296
- "type": "uint256"
1297
- }
1298
- ],
1299
- "name": "withdrawFee",
1300
- "outputs": [],
1301
- "stateMutability": "nonpayable",
1302
- "type": "function"
1303
- },
1304
- {
1305
- "inputs": [
1306
- {
1307
- "internalType": "address",
1308
- "name": "_lib",
1309
- "type": "address"
1310
- },
1311
- {
1312
- "internalType": "address payable",
1313
- "name": "_to",
1314
- "type": "address"
1315
- },
1316
- {
1317
- "internalType": "uint256",
1318
- "name": "_amount",
1319
- "type": "uint256"
1320
- }
1321
- ],
1322
- "name": "withdrawFeeFromUlnV2",
1323
- "outputs": [],
1324
- "stateMutability": "nonpayable",
1325
- "type": "function"
1326
- },
1327
- {
1328
- "inputs": [
1329
- {
1330
- "internalType": "address",
1331
- "name": "_token",
1332
- "type": "address"
1333
- },
1334
- {
1335
- "internalType": "address",
1336
- "name": "_to",
1337
- "type": "address"
1338
- },
1339
- {
1340
- "internalType": "uint256",
1341
- "name": "_amount",
1342
- "type": "uint256"
1343
- }
1344
- ],
1345
- "name": "withdrawToken",
1346
- "outputs": [],
1347
- "stateMutability": "nonpayable",
1348
- "type": "function"
1349
- },
1350
- {
1351
- "inputs": [],
1352
- "name": "workerFeeLib",
1353
- "outputs": [
1354
- {
1355
- "internalType": "address",
1356
- "name": "",
1357
- "type": "address"
1358
- }
1359
- ],
1360
- "stateMutability": "view",
1361
- "type": "function"
1362
- }
1363
- ],
1364
- "transactionHash": "0xbaaf404344677a5e9190de0ee6bfa4b9e3b14ac595aee11ec7dd8d2f9562f8e6",
1365
- "receipt": {
1366
- "to": null,
1367
- "from": "0xBcd4042DE499D14e55001CcbB24a551F3b954096",
1368
- "contractAddress": "0x700b94d4D5EeDc66ff17CDFaB9817d77B7fD1cf8",
1369
- "transactionIndex": 0,
1370
- "gasUsed": "3998195",
1371
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
1372
- "blockHash": "0x0000000000000050bfc3c23f103515f0ece01cb3b6789263553099300be3c4ea",
1373
- "transactionHash": "0xbaaf404344677a5e9190de0ee6bfa4b9e3b14ac595aee11ec7dd8d2f9562f8e6",
1374
- "logs": [
1375
- {
1376
- "transactionIndex": 0,
1377
- "blockNumber": 80,
1378
- "transactionHash": "0xbaaf404344677a5e9190de0ee6bfa4b9e3b14ac595aee11ec7dd8d2f9562f8e6",
1379
- "address": "0x700b94d4D5EeDc66ff17CDFaB9817d77B7fD1cf8",
1380
- "topics": [
1381
- "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
1382
- "0x724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de",
1383
- "0x000000000000000000000000e802a7fcb96464b2fe30b514080a5f1199b674d2",
1384
- "0x000000000000000000000000bcd4042de499d14e55001ccbb24a551f3b954096"
1385
- ],
1386
- "data": "0x",
1387
- "logIndex": 0,
1388
- "blockHash": "0x0000000000000050bfc3c23f103515f0ece01cb3b6789263553099300be3c4ea"
1389
- },
1390
- {
1391
- "transactionIndex": 0,
1392
- "blockNumber": 80,
1393
- "transactionHash": "0xbaaf404344677a5e9190de0ee6bfa4b9e3b14ac595aee11ec7dd8d2f9562f8e6",
1394
- "address": "0x700b94d4D5EeDc66ff17CDFaB9817d77B7fD1cf8",
1395
- "topics": [
1396
- "0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d",
1397
- "0xa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775",
1398
- "0x0000000000000000000000000e9971c0005d91336c1441b8f03c1c4fe5fb4584",
1399
- "0x000000000000000000000000bcd4042de499d14e55001ccbb24a551f3b954096"
1400
- ],
1401
- "data": "0x",
1402
- "logIndex": 1,
1403
- "blockHash": "0x0000000000000050bfc3c23f103515f0ece01cb3b6789263553099300be3c4ea"
1404
- }
1405
- ],
1406
- "blockNumber": 80,
1407
- "cumulativeGasUsed": "3998195",
1408
- "status": 1,
1409
- "byzantium": true
1410
- },
1411
- "args": [
1412
- 20420,
1413
- [
1414
- "0xE802A7fcB96464b2FE30B514080A5F1199B674d2"
1415
- ],
1416
- "0x07aCCDfbdB43e317C41608eC7adE19a0cf854100",
1417
- [
1418
- "0x9c79357189d6aF261691ECF48de9A6bbF30438Fc",
1419
- "0xC4c81D5C1851702d27d602aA8ff830A7689F17cc"
1420
- ],
1421
- 1,
1422
- [
1423
- "0x0e9971c0005D91336c1441b8F03c1C4fe5FB4584"
1424
- ]
1425
- ],
1426
- "numDeployments": 1,
1427
- "solcInputHash": "a71075ae75ad3765de4259439cd68087",
1428
- "bytecode": "0x60a06040523480156200001157600080fd5b50d380156200001f57600080fd5b50d280156200002d57600080fd5b506040516200519b3803806200519b83398101604081905262000050916200050d565b6001805460ff61ffff60e81b01191661017760ed1b179055600280546001600160a01b0319166001600160a01b03861617905582828686612ee060008660005b8551811015620000fb57620000e87f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110620000d457620000d4620005e0565b6020026020010151620002b560201b60201c565b620000f3816200060c565b905062000090565b5060005b81518110156200015657620001437fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110620000d457620000d4620005e0565b6200014e816200060c565b9050620000ff565b505050505050806001600160401b03166000036200018757604051635f86e17760e01b815260040160405180910390fd5b806001600160401b031682511015620001cd5781516040516378e2c15760e11b81526001600160401b039182166004820152908216602482015260440160405180910390fd5b6000805b835181101562000269576000848281518110620001f257620001f2620005e0565b60200260200101519050826001600160a01b0316816001600160a01b0316116200022f576040516305fa937f60e11b815260040160405180910390fd5b6001600160a01b0381166000908152600460205260409020805460ff1916600117905591508062000260816200060c565b915050620001d1565b50509051600580546001600160401b0393841668010000000000000000026001600160801b0319909116939092169290921717905550505063ffffffff90921660805250620006599050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156200030657506000828152602081815260408083206001600160a01b038516845290915290205460ff16155b156200035357600180546015906200032e90600160a81b90046001600160401b031662000628565b91906101000a8154816001600160401b0302191690836001600160401b031602179055505b6200035f828262000363565b5050565b6000828152602081815260408083206001600160a01b038516845290915290205460ff166200035f576000828152602081815260408083206001600160a01b03851684529091529020805460ff19166001179055620003bf3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b80516000906001600160a81b03811681146200043457600080fd5b6001600160a01b031692915050565b600082601f8301126200045557600080fd5b815160206001600160401b038083111562000474576200047462000403565b8260051b604051601f19603f830116810181811084821117156200049c576200049c62000403565b604052938452858101830193838101925087851115620004bb57600080fd5b83870191505b84821015620004e557620004d58262000419565b83529183019190830190620004c1565b979650505050505050565b80516001600160401b03811681146200050857600080fd5b919050565b60008060008060008060c087890312156200052757600080fd5b865163ffffffff811681146200053c57600080fd5b60208801519096506001600160401b03808211156200055a57600080fd5b620005688a838b0162000443565b96506200057860408a0162000419565b955060608901519150808211156200058f57600080fd5b6200059d8a838b0162000443565b9450620005ad60808a01620004f0565b935060a0890151915080821115620005c457600080fd5b50620005d389828a0162000443565b9150509295509295509295565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b600060018201620006215762000621620005f6565b5060010190565b60006001600160401b038281166002600160401b031981016200064f576200064f620005f6565b6001019392505050565b608051614b186200068360003960008181610b9501528181611aec01526126900152614b186000f3fe60806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610c94578063f3b4ebd014610cce578063fd62e75014610d0857600080fd5b8063d547741f14610c20578063dafe0ccc14610c5a57600080fd5b8063cd88b903116100b0578063cd88b90314610b2f578063cf34c76814610b69578063d2ae210414610bcc57600080fd5b8063c7a823e014610aad578063c7b2370b14610af557600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a146109ed578063c416aa5114610a27578063c5e193cd14610a7357600080fd5b8063aef18bf714610969578063b143044b146109b357600080fd5b806395d376d71161015357806395d376d7146108685780639e9449651461087b578063a217fddf1461093a57600080fd5b80638585c945146107c357806391d14854146107fd57600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da146106d3578063736c0d5b1461070d578063741bef1a1461075757600080fd5b80635553fb8e146106675780635c975abb146106a157600080fd5b806331cb61051161020157806331cb6105146105b957806336568abe146105f357806352d3b8711461062d57600080fd5b80632f2ff15d1461054557806330bb3aac1461057f57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca31461046c57806326e67a37146104c45780632de113761461050b57600080fd5b806316c38b3c146103d25780631703a0181461040c57600080fd5b8062bf2e80146102a457806301e336671461031257806301ffc9a71461034e5780631095b6d714610398575b600080fd5b3480156102b057600080fd5b50d380156102bd57600080fd5b50d280156102ca57600080fd5b506001546102fa907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561031e57600080fd5b50d3801561032b57600080fd5b50d2801561033857600080fd5b5061034c610347366004613b2b565b610d43565b005b34801561035a57600080fd5b50d3801561036757600080fd5b50d2801561037457600080fd5b50610388610383366004613b86565b610d7e565b6040519015158152602001610309565b3480156103a457600080fd5b50d380156103b157600080fd5b50d280156103be57600080fd5b5061034c6103cd366004613b2b565b610e17565b3480156103de57600080fd5b50d380156103eb57600080fd5b50d280156103f857600080fd5b5061034c610407366004613bd6565b610fa7565b34801561041857600080fd5b50d3801561042557600080fd5b50d2801561043257600080fd5b506005546104539068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610309565b34801561047857600080fd5b50d3801561048557600080fd5b50d2801561049257600080fd5b506104b66104a1366004613bf3565b60009081526020819052604090206001015490565b604051908152602001610309565b3480156104d057600080fd5b50d380156104dd57600080fd5b50d280156104ea57600080fd5b506104fe6104f9366004613c20565b610fcc565b6040516103099190613c3b565b34801561051757600080fd5b50d3801561052457600080fd5b50d2801561053157600080fd5b50610388610540366004613c82565b611053565b34801561055157600080fd5b50d3801561055e57600080fd5b50d2801561056b57600080fd5b5061034c61057a366004613cbc565b611138565b34801561058b57600080fd5b50d3801561059857600080fd5b50d280156105a557600080fd5b506104b66105b4366004613d5c565b61128c565b3480156105c557600080fd5b50d380156105d257600080fd5b50d280156105df57600080fd5b5061034c6105ee366004613dea565b611403565b3480156105ff57600080fd5b50d3801561060c57600080fd5b50d2801561061957600080fd5b5061034c610628366004613cbc565b611446565b34801561063957600080fd5b50d3801561064657600080fd5b50d2801561065357600080fd5b5061034c610662366004613e39565b611478565b34801561067357600080fd5b50d3801561068057600080fd5b50d2801561068d57600080fd5b506104b661069c366004613ec0565b61164c565b3480156106ad57600080fd5b50d380156106ba57600080fd5b50d280156106c757600080fd5b5060015460ff16610388565b3480156106df57600080fd5b50d380156106ec57600080fd5b50d280156106f957600080fd5b5061034c610708366004613c82565b6117c3565b34801561071957600080fd5b50d3801561072657600080fd5b50d2801561073357600080fd5b50610388610742366004613c82565b60046020526000908152604090205460ff1681565b34801561076357600080fd5b50d3801561077057600080fd5b50d2801561077d57600080fd5b5060025461079e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610309565b3480156107cf57600080fd5b50d380156107dc57600080fd5b50d280156107e957600080fd5b5061034c6107f8366004613f2e565b611868565b34801561080957600080fd5b50d3801561081657600080fd5b50d2801561082357600080fd5b50610388610832366004613cbc565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6104b6610876366004613f61565b6118ad565b34801561088757600080fd5b50d3801561089457600080fd5b50d280156108a157600080fd5b506108ff6108b0366004613c20565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff1690820152606001610309565b34801561094657600080fd5b50d3801561095357600080fd5b50d2801561096057600080fd5b506104b6600081565b34801561097557600080fd5b50d3801561098257600080fd5b50d2801561098f57600080fd5b5061038861099e366004613bf3565b60076020526000908152604090205460ff1681565b3480156109bf57600080fd5b50d380156109cc57600080fd5b50d280156109d957600080fd5b5061034c6109e836600461400f565b611a89565b3480156109f957600080fd5b50d38015610a0657600080fd5b50d28015610a1357600080fd5b5061034c610a22366004614051565b611da1565b348015610a3357600080fd5b50d38015610a4057600080fd5b50d28015610a4d57600080fd5b5060015461079e90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b348015610a7f57600080fd5b50d38015610a8c57600080fd5b50d28015610a9957600080fd5b506104b6610aa8366004613ec0565b611e4f565b348015610ab957600080fd5b50d38015610ac657600080fd5b50d28015610ad357600080fd5b50610ae7610ae236600461406c565b61202d565b6040516103099291906140da565b348015610b0157600080fd5b50d38015610b0e57600080fd5b50d28015610b1b57600080fd5b5061034c610b2a366004613c82565b612249565b348015610b3b57600080fd5b50d38015610b4857600080fd5b50d28015610b5557600080fd5b5061034c610b64366004614127565b6122ed565b348015610b7557600080fd5b50d38015610b8257600080fd5b50d28015610b8f57600080fd5b50610bb77f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610309565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b50600154610453907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b348015610c2c57600080fd5b50d38015610c3957600080fd5b50d28015610c4657600080fd5b5061034c610c55366004613cbc565b61233e565b348015610c6657600080fd5b50d38015610c7357600080fd5b50d28015610c8057600080fd5b5061034c610c8f366004613b2b565b612453565b348015610ca057600080fd5b50d38015610cad57600080fd5b50d28015610cba57600080fd5b506104b6610cc936600461416d565b612589565b348015610cda57600080fd5b50d38015610ce757600080fd5b50d28015610cf457600080fd5b5061034c610d033660046141ee565b6125c5565b348015610d1457600080fd5b50d38015610d2157600080fd5b50d28015610d2e57600080fd5b506005546104539067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610d6d8161283a565b610d78848484612844565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610e1157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610e418161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ebf576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610fb28161283a565b8115610fc457610fc0612874565b5050565b610fc06128f3565b63ffffffff811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561104757602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116110185790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff16156110a857506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff16158061111e575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b1561112b57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061118657507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806111b057507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156111f3573033146111ee576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61127d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576111ee7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b611287838361294a565b505050565b60008361129881611053565b6112ce576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a9916113b6918591908a908a9060040161426c565b602060405180830381865afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f79190614339565b98975050505050505050565b30331461143c576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fc08282612a10565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756114a28161283a565b60005b8281101561160d57368484838181106114c0576114c0614352565b905060800201905060405180606001604052808260200160208101906114e69190613f2e565b67ffffffffffffffff1681526020016115056060840160408501614051565b61ffff16815260200161151e60808401606085016143a1565b6fffffffffffffffffffffffffffffffff169052600660006115436020850185613c20565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff90931692909217929092179290921691909117905550611606816143eb565b90506114a5565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161163f929190614423565b60405180910390a1505050565b60008161165881611053565b61168e576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261177792869260040161452f565b602060405180830381865afa158015611794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b89190614339565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756117ed8161283a565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146118a1576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118aa81612c10565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6118d98161283a565b6118e960a0860160808701613c82565b6118f281611053565b611928576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff168152600090602080820190611963908a018a613c20565b63ffffffff16815260200161197e60808a0160608b01613f2e565b67ffffffffffffffff16815260200161199d60a08a0160808b01613c82565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e908390600690600090611a2f908d018d613c20565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b8152600401611a6a949392919061426c565b6020604051808303816000875af1158015611794573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611ab38161283a565b60005b82811015610d785736848483818110611ad157611ad1614352565b9050602002810190611ae39190614605565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016611b196020830183613c20565b63ffffffff1614611b2a5750611d91565b42816060013511611b3b5750611d91565b6000611b74611b4d6020840184613c20565b611b5d6040850160208601613c82565b611b6a6040860186614643565b8660600135612589565b90506000611b8982610ae26080860186614643565b50905080611bcc576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a1505050611d91565b6000611bec611bde6040860186614643565b611be7916146a8565b612d28565b90508015611c855760008381526007602052604090205460ff1615611c4d577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611c3c929190614754565b60405180910390a150505050611d91565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b600080611c986040870160208801613c82565b73ffffffffffffffffffffffffffffffffffffffff16611cbb6040880188614643565b604051611cc992919061481a565b6000604051808303816000865af19150503d8060008114611d06576040519150601f19603f3d011682016040523d82523d6000602084013e611d0b565b606091505b509150915081611d8a578215611d5057600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf8782604051611d8192919061482a565b60405180910390a15b5050505050505b611d9a816143eb565b9050611ab6565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611dcb8161283a565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161185c565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611e7b8161283a565b82611e8581611053565b611ebb576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611fa492869260040161452f565b6020604051808303816000875af1158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe79190614339565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef8460405161201a91815260200190565b60405180910390a1505050949350505050565b60055460009081906120569068010000000000000000900467ffffffffffffffff166041614843565b83146120685750600090506001612241565b60006120c1866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff168110156122355736600088886120f7856041614843565b9061210386600161485a565b61210e906041614843565b9261211b9392919061486d565b915091506000806121628785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612dc392505050565b9092509050600081600481111561217b5761217b6140ab565b1461219457600060019850985050505050505050612241565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16116121db57600060029850985050505050505050612241565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff1661221c57600060039850985050505050505050612241565b50935082915061222d9050816143eb565b9150506120c7565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756122738161283a565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161185c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756123178161283a565b63ffffffff84166000908152600360205260409020612337908484613a4a565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061238c57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806123b657507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156123f9573033146123f4576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612449565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576123f47fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6112878383612e08565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561247d8161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff166124fb576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561256b57600080fd5b505af115801561257f573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016125a4959493929190614897565b60405160208183030381529060405280519060200120905095945050505050565b42816060013511612602576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306126136040830160208401613c82565b73ffffffffffffffffffffffffffffffffffffffff16146126895761263e6040820160208301613c82565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401611274565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166126bd6020830183613c20565b63ffffffff1614612710576126d56020820182613c20565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401611274565b6000612722611b4d6020840184613c20565b9050600061273782610ae26080860186614643565b50905080612771576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156127bd576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401611274565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611287907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061282890860186614643565b8101906128359190613c82565b61294a565b6118aa8133612ecd565b73ffffffffffffffffffffffffffffffffffffffff8316612869576112878282612f85565b61128783838361308b565b61287c6130f9565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6128fb613168565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336128c9565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156129a7575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15612a0657600180546015906129df907501000000000000000000000000000000000000000000900467ffffffffffffffff16614909565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826131d4565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff909116151503612a97576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401611274565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905581612b0957600554612b049060019067ffffffffffffffff16614930565b612b21565b600554612b219067ffffffffffffffff166001614958565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612b8f576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401611274565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610f99565b8067ffffffffffffffff16600003612c54576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff908116908216811015612cb3576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401611274565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a232499060200161185c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610e1157507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612df95760208301516040840151606085015160001a612ded878285856132c4565b94509450505050612e01565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612e64575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612ec35760018054601590612e9c907501000000000000000000000000000000000000000000900467ffffffffffffffff16614979565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826133b3565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc057612f0b8161346a565b612f16836020613489565b604051602001612f279291906149bb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261127491600401614a3c565b73ffffffffffffffffffffffffffffffffffffffff8216612fd2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461302c576040519150601f19603f3d011682016040523d82523d6000602084013e613031565b606091505b5050905080611287576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611274565b73ffffffffffffffffffffffffffffffffffffffff82166130d8576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61128773ffffffffffffffffffffffffffffffffffffffff841683836136d3565b60015460ff1615613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611274565b565b60015460ff16613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611274565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556132663390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156132fb57506000905060036133aa565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561334f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166133a3576000600192509250506133aa565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610e1173ffffffffffffffffffffffffffffffffffffffff831660145b60606000613498836002614843565b6134a390600261485a565b67ffffffffffffffff8111156134bb576134bb614a4f565b6040519080825280601f01601f1916602001820160405280156134e5576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061351c5761351c614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061357f5761357f614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006135bb846002614843565b6135c690600161485a565b90505b6001811115613663577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061360757613607614352565b1a60f81b82828151811061361d5761361d614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361365c81614a7e565b90506135c9565b5083156136cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611274565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526112879286929160009161379e91851690849061384b565b90508051600014806137bf5750808060200190518101906137bf9190614ab3565b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611274565b606061385a8484600085613862565b949350505050565b6060824710156138f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611274565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161391d9190614ad0565b60006040518083038185875af1925050503d806000811461395a576040519150601f19603f3d011682016040523d82523d6000602084013e61395f565b606091505b50915091506117b88783838760608315613a015782516000036139fa5773ffffffffffffffffffffffffffffffffffffffff85163b6139fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611274565b508161385a565b61385a8383815115613a165781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112749190614a3c565b82805482825590600052602060002090601f01602090048101928215613ae35791602002820160005b83821115613ab457833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302613a73565b8015613ae15782816101000a81549060ff0219169055600101602081600001049283019260010302613ab4565b505b50613aef929150613af3565b5090565b5b80821115613aef5760008155600101613af4565b74ffffffffffffffffffffffffffffffffffffffffff811681146118aa57600080fd5b600080600060608486031215613b4057600080fd5b8335613b4b81613b08565b73ffffffffffffffffffffffffffffffffffffffff9081169350602085013590613b7482613b08565b93969316945050506040919091013590565b600060208284031215613b9857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146136cc57600080fd5b80151581146118aa57600080fd5b600060208284031215613be857600080fd5b81356136cc81613bc8565b600060208284031215613c0557600080fd5b5035919050565b803563ffffffff8116811461113357600080fd5b600060208284031215613c3257600080fd5b6136cc82613c0c565b6020808252825182820181905260009190848201906040850190845b81811015613c7657835160ff1683529284019291840191600101613c57565b50909695505050505050565b600060208284031215613c9457600080fd5b8135613c9f81613b08565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b60008060408385031215613ccf57600080fd5b823591506020830135613ce181613b08565b73ffffffffffffffffffffffffffffffffffffffff81169150509250929050565b803567ffffffffffffffff8116811461113357600080fd5b60008083601f840112613d2c57600080fd5b50813567ffffffffffffffff811115613d4457600080fd5b602083019150836020828501011115612e0157600080fd5b600080600080600060808688031215613d7457600080fd5b613d7d86613c0c565b9450613d8b60208701613d02565b93506040860135613d9b81613b08565b73ffffffffffffffffffffffffffffffffffffffff169250606086013567ffffffffffffffff811115613dcd57600080fd5b613dd988828901613d1a565b969995985093965092949392505050565b60008060408385031215613dfd57600080fd5b8235613e0881613b08565b73ffffffffffffffffffffffffffffffffffffffff1691506020830135613e2e81613bc8565b809150509250929050565b60008060208385031215613e4c57600080fd5b823567ffffffffffffffff80821115613e6457600080fd5b818501915085601f830112613e7857600080fd5b813581811115613e8757600080fd5b8660208260071b8501011115613e9c57600080fd5b60209290920196919550909350505050565b803561ffff8116811461113357600080fd5b60008060008060808587031215613ed657600080fd5b613edf85613eae565b9350613eed60208601613eae565b9250613efb60408601613d02565b91506060850135613f0b81613b08565b73ffffffffffffffffffffffffffffffffffffffff811691505092959194509250565b600060208284031215613f4057600080fd5b6136cc82613d02565b600060a08284031215613f5b57600080fd5b50919050565b600080600060408486031215613f7657600080fd5b833567ffffffffffffffff80821115613f8e57600080fd5b613f9a87838801613f49565b94506020860135915080821115613fb057600080fd5b50613fbd86828701613d1a565b9497909650939450505050565b60008083601f840112613fdc57600080fd5b50813567ffffffffffffffff811115613ff457600080fd5b6020830191508360208260051b8501011115612e0157600080fd5b6000806020838503121561402257600080fd5b823567ffffffffffffffff81111561403957600080fd5b61404585828601613fca565b90969095509350505050565b60006020828403121561406357600080fd5b6136cc82613eae565b60008060006040848603121561408157600080fd5b83359250602084013567ffffffffffffffff81111561409f57600080fd5b613fbd86828701613d1a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8215158152604081016004831061411a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b60008060006040848603121561413c57600080fd5b61414584613c0c565b9250602084013567ffffffffffffffff81111561416157600080fd5b613fbd86828701613fca565b60008060008060006080868803121561418557600080fd5b61418e86613c0c565b9450602086013561419e81613b08565b73ffffffffffffffffffffffffffffffffffffffff169350604086013567ffffffffffffffff8111156141d057600080fd5b6141dc88828901613d1a565b96999598509660600135949350505050565b60006020828403121561420057600080fd5b813567ffffffffffffffff81111561421757600080fd5b61385a84828501613f49565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006101406142e4838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b61432560c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526117b88184018587614223565b60006020828403121561434b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff8116811461113357600080fd5b6000602082840312156143b357600080fd5b6136cc82614381565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361441c5761441c6143bc565b5060010190565b6020808252818101839052600090604080840186845b878110156144b45763ffffffff61444f83613c0c565b16835267ffffffffffffffff614466868401613d02565b168584015261ffff614479858401613eae565b168484015260606fffffffffffffffffffffffffffffffff61449c828501614381565b16908401526080928301929190910190600101614439565b5090979650505050505050565b60005b838110156144dc5781810151838201526020016144c4565b50506000910152565b600081518084526144fd8160208601602086016144c1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006101406145a7838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6145e860c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526145fb818401856144e5565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261463957600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261467857600080fd5b83018035915067ffffffffffffffff82111561469357600080fd5b602001915036819003821315612e0157600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156146e85780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472557600080fd5b830160208101925035905067ffffffffffffffff81111561474557600080fd5b803603821315612e0157600080fd5b6040815263ffffffff61476684613c0c565b1660408201526000602084013561477c81613b08565b73ffffffffffffffffffffffffffffffffffffffff1660608301526147a460408501856146f0565b60a060808501526147b960e085018284614223565b915050606085013560a08401526147d360808601866146f0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c0860152614808838284614223565b93505050508260208301529392505050565b8183823760009101908152919050565b82815260406020820152600061385a60408301846144e5565b8082028115828204841417610e1157610e116143bc565b80820180821115610e1157610e116143bc565b6000808585111561487d57600080fd5b8386111561488a57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff808316818103614926576149266143bc565b6001019392505050565b67ffffffffffffffff828116828216039080821115614951576149516143bc565b5092915050565b67ffffffffffffffff818116838216019080821115614951576149516143bc565b600067ffffffffffffffff821680614993576149936143bc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516149f38160178501602088016144c1565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614a308160288401602088016144c1565b01602801949350505050565b6020815260006136cc60208301846144e5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081614a8d57614a8d6143bc565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600060208284031215614ac557600080fd5b81516136cc81613bc8565b600082516146398184602087016144c156fea26474726f6e58221220fb22ae4160c64130aec4defec2ecc1f22121f99c6637ec58710eff8ea979e6ed64736f6c63430008140033",
1429
- "deployedBytecode": "0x60806040526004361061029f5760003560e01c80638585c9451161016e578063c7a823e0116100cb578063d547741f1161007f578063f010cb2311610064578063f010cb2314610c94578063f3b4ebd014610cce578063fd62e75014610d0857600080fd5b8063d547741f14610c20578063dafe0ccc14610c5a57600080fd5b8063cd88b903116100b0578063cd88b90314610b2f578063cf34c76814610b69578063d2ae210414610bcc57600080fd5b8063c7a823e014610aad578063c7b2370b14610af557600080fd5b8063aef18bf711610122578063c358de0a11610107578063c358de0a146109ed578063c416aa5114610a27578063c5e193cd14610a7357600080fd5b8063aef18bf714610969578063b143044b146109b357600080fd5b806395d376d71161015357806395d376d7146108685780639e9449651461087b578063a217fddf1461093a57600080fd5b80638585c945146107c357806391d14854146107fd57600080fd5b80632f2ff15d1161021c5780635553fb8e116101d0578063724e78da116101b5578063724e78da146106d3578063736c0d5b1461070d578063741bef1a1461075757600080fd5b80635553fb8e146106675780635c975abb146106a157600080fd5b806331cb61051161020157806331cb6105146105b957806336568abe146105f357806352d3b8711461062d57600080fd5b80632f2ff15d1461054557806330bb3aac1461057f57600080fd5b806316c38b3c11610273578063248a9ca311610258578063248a9ca31461046c57806326e67a37146104c45780632de113761461050b57600080fd5b806316c38b3c146103d25780631703a0181461040c57600080fd5b8062bf2e80146102a457806301e336671461031257806301ffc9a71461034e5780631095b6d714610398575b600080fd5b3480156102b057600080fd5b50d380156102bd57600080fd5b50d280156102ca57600080fd5b506001546102fa907d010000000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b34801561031e57600080fd5b50d3801561032b57600080fd5b50d2801561033857600080fd5b5061034c610347366004613b2b565b610d43565b005b34801561035a57600080fd5b50d3801561036757600080fd5b50d2801561037457600080fd5b50610388610383366004613b86565b610d7e565b6040519015158152602001610309565b3480156103a457600080fd5b50d380156103b157600080fd5b50d280156103be57600080fd5b5061034c6103cd366004613b2b565b610e17565b3480156103de57600080fd5b50d380156103eb57600080fd5b50d280156103f857600080fd5b5061034c610407366004613bd6565b610fa7565b34801561041857600080fd5b50d3801561042557600080fd5b50d2801561043257600080fd5b506005546104539068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610309565b34801561047857600080fd5b50d3801561048557600080fd5b50d2801561049257600080fd5b506104b66104a1366004613bf3565b60009081526020819052604090206001015490565b604051908152602001610309565b3480156104d057600080fd5b50d380156104dd57600080fd5b50d280156104ea57600080fd5b506104fe6104f9366004613c20565b610fcc565b6040516103099190613c3b565b34801561051757600080fd5b50d3801561052457600080fd5b50d2801561053157600080fd5b50610388610540366004613c82565b611053565b34801561055157600080fd5b50d3801561055e57600080fd5b50d2801561056b57600080fd5b5061034c61057a366004613cbc565b611138565b34801561058b57600080fd5b50d3801561059857600080fd5b50d280156105a557600080fd5b506104b66105b4366004613d5c565b61128c565b3480156105c557600080fd5b50d380156105d257600080fd5b50d280156105df57600080fd5b5061034c6105ee366004613dea565b611403565b3480156105ff57600080fd5b50d3801561060c57600080fd5b50d2801561061957600080fd5b5061034c610628366004613cbc565b611446565b34801561063957600080fd5b50d3801561064657600080fd5b50d2801561065357600080fd5b5061034c610662366004613e39565b611478565b34801561067357600080fd5b50d3801561068057600080fd5b50d2801561068d57600080fd5b506104b661069c366004613ec0565b61164c565b3480156106ad57600080fd5b50d380156106ba57600080fd5b50d280156106c757600080fd5b5060015460ff16610388565b3480156106df57600080fd5b50d380156106ec57600080fd5b50d280156106f957600080fd5b5061034c610708366004613c82565b6117c3565b34801561071957600080fd5b50d3801561072657600080fd5b50d2801561073357600080fd5b50610388610742366004613c82565b60046020526000908152604090205460ff1681565b34801561076357600080fd5b50d3801561077057600080fd5b50d2801561077d57600080fd5b5060025461079e9073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610309565b3480156107cf57600080fd5b50d380156107dc57600080fd5b50d280156107e957600080fd5b5061034c6107f8366004613f2e565b611868565b34801561080957600080fd5b50d3801561081657600080fd5b50d2801561082357600080fd5b50610388610832366004613cbc565b60009182526020828152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b6104b6610876366004613f61565b6118ad565b34801561088757600080fd5b50d3801561089457600080fd5b50d280156108a157600080fd5b506108ff6108b0366004613c20565b60066020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff1690820152606001610309565b34801561094657600080fd5b50d3801561095357600080fd5b50d2801561096057600080fd5b506104b6600081565b34801561097557600080fd5b50d3801561098257600080fd5b50d2801561098f57600080fd5b5061038861099e366004613bf3565b60076020526000908152604090205460ff1681565b3480156109bf57600080fd5b50d380156109cc57600080fd5b50d280156109d957600080fd5b5061034c6109e836600461400f565b611a89565b3480156109f957600080fd5b50d38015610a0657600080fd5b50d28015610a1357600080fd5b5061034c610a22366004614051565b611da1565b348015610a3357600080fd5b50d38015610a4057600080fd5b50d28015610a4d57600080fd5b5060015461079e90610100900473ffffffffffffffffffffffffffffffffffffffff1681565b348015610a7f57600080fd5b50d38015610a8c57600080fd5b50d28015610a9957600080fd5b506104b6610aa8366004613ec0565b611e4f565b348015610ab957600080fd5b50d38015610ac657600080fd5b50d28015610ad357600080fd5b50610ae7610ae236600461406c565b61202d565b6040516103099291906140da565b348015610b0157600080fd5b50d38015610b0e57600080fd5b50d28015610b1b57600080fd5b5061034c610b2a366004613c82565b612249565b348015610b3b57600080fd5b50d38015610b4857600080fd5b50d28015610b5557600080fd5b5061034c610b64366004614127565b6122ed565b348015610b7557600080fd5b50d38015610b8257600080fd5b50d28015610b8f57600080fd5b50610bb77f000000000000000000000000000000000000000000000000000000000000000081565b60405163ffffffff9091168152602001610309565b348015610bd857600080fd5b50d38015610be557600080fd5b50d28015610bf257600080fd5b50600154610453907501000000000000000000000000000000000000000000900467ffffffffffffffff1681565b348015610c2c57600080fd5b50d38015610c3957600080fd5b50d28015610c4657600080fd5b5061034c610c55366004613cbc565b61233e565b348015610c6657600080fd5b50d38015610c7357600080fd5b50d28015610c8057600080fd5b5061034c610c8f366004613b2b565b612453565b348015610ca057600080fd5b50d38015610cad57600080fd5b50d28015610cba57600080fd5b506104b6610cc936600461416d565b612589565b348015610cda57600080fd5b50d38015610ce757600080fd5b50d28015610cf457600080fd5b5061034c610d033660046141ee565b6125c5565b348015610d1457600080fd5b50d38015610d2157600080fd5b50d28015610d2e57600080fd5b506005546104539067ffffffffffffffff1681565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610d6d8161283a565b610d78848484612844565b50505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610e1157507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775610e418161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff16610ebf576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610f2f57600080fd5b505af1158015610f43573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb925060600190505b60405180910390a150505050565b6000610fb28161283a565b8115610fc457610fc0612874565b5050565b610fc06128f3565b63ffffffff811660009081526003602090815260409182902080548351818402810184019094528084526060939283018282801561104757602002820191906000526020600020906000905b825461010083900a900460ff168152602060019283018181049485019490930390920291018084116110185790505b50505050509050919050565b73ffffffffffffffffffffffffffffffffffffffff811660009081527f93c430521711328044ae92d0f1f1286cf040bc4a382f1642bd89984e86630553602052604081205460ff16156110a857506000919050565b6001547501000000000000000000000000000000000000000000900467ffffffffffffffff16158061111e575073ffffffffffffffffffffffffffffffffffffffff821660009081527f4ac82e3087b7dedf7f532cbc6915c722df8c1e31f1388c318a617b52760eaf8b602052604090205460ff165b1561112b57506001919050565b506000919050565b919050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061118657507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806111b057507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156111f3573033146111ee576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61127d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576111ee7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6040517f94fdc372000000000000000000000000000000000000000000000000000000008152600481018290526024015b60405180910390fd5b611287838361294a565b505050565b60008361129881611053565b6112ce576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260055468010000000000000000900416608085015260015461ffff7d01000000000000000000000000000000000000000000000000000000000082041660a0860152600092835260069091529084902093517f7bfa20a9000000000000000000000000000000000000000000000000000000008152929361010090910490911691637bfa20a9916113b6918591908a908a9060040161426c565b602060405180830381865afa1580156113d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113f79190614339565b98975050505050505050565b30331461143c576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610fc08282612a10565b6040517fdec9f03100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756114a28161283a565b60005b8281101561160d57368484838181106114c0576114c0614352565b905060800201905060405180606001604052808260200160208101906114e69190613f2e565b67ffffffffffffffff1681526020016115056060840160408501614051565b61ffff16815260200161151e60808401606085016143a1565b6fffffffffffffffffffffffffffffffff169052600660006115436020850185613c20565b63ffffffff1681526020808201929092526040908101600020835181549385015194909201516fffffffffffffffffffffffffffffffff166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff61ffff90951668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff0000000000000000000090941667ffffffffffffffff90931692909217929092179290921691909117905550611606816143eb565b90506114a5565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0838360405161163f929190614423565b60405180910390a1505050565b60008161165881611053565b61168e576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808a16602080850182905267ffffffffffffffff808b168688015289851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517f7bfa20a9000000000000000000000000000000000000000000000000000000008152939461010090920490921692637bfa20a99261177792869260040161452f565b602060405180830381865afa158015611794573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117b89190614339565b979650505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756117ed8161283a565b600280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020015b60405180910390a15050565b3033146118a1576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6118aa81612c10565b50565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de6118d98161283a565b6118e960a0860160808701613c82565b6118f281611053565b611928576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c0810190915260025473ffffffffffffffffffffffffffffffffffffffff168152600090602080820190611963908a018a613c20565b63ffffffff16815260200161197e60808a0160608b01613f2e565b67ffffffffffffffff16815260200161199d60a08a0160808b01613c82565b73ffffffffffffffffffffffffffffffffffffffff908116825260055468010000000000000000900467ffffffffffffffff166020808401919091526001547d010000000000000000000000000000000000000000000000000000000000810461ffff16604090940193909352929350610100909104169063df2b057e908390600690600090611a2f908d018d613c20565b63ffffffff1663ffffffff16815260200190815260200160002089896040518563ffffffff1660e01b8152600401611a6a949392919061426c565b6020604051808303816000875af1158015611794573d6000803e3d6000fd5b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611ab38161283a565b60005b82811015610d785736848483818110611ad157611ad1614352565b9050602002810190611ae39190614605565b905063ffffffff7f000000000000000000000000000000000000000000000000000000000000000016611b196020830183613c20565b63ffffffff1614611b2a5750611d91565b42816060013511611b3b5750611d91565b6000611b74611b4d6020840184613c20565b611b5d6040850160208601613c82565b611b6a6040860186614643565b8660600135612589565b90506000611b8982610ae26080860186614643565b50905080611bcc576040518481527fd6d90193101048cc1b6edcdc2348f5acf7a4a4a97d3e7b668b74cb7602ab3ebc9060200160405180910390a1505050611d91565b6000611bec611bde6040860186614643565b611be7916146a8565b612d28565b90508015611c855760008381526007602052604090205460ff1615611c4d577f9bb9bddbdf537a2104255307230b323d7982f4512ee8e5bd15df62ddca50ab978484604051611c3c929190614754565b60405180910390a150505050611d91565b600083815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790555b600080611c986040870160208801613c82565b73ffffffffffffffffffffffffffffffffffffffff16611cbb6040880188614643565b604051611cc992919061481a565b6000604051808303816000865af19150503d8060008114611d06576040519150601f19603f3d011682016040523d82523d6000602084013e611d0b565b606091505b509150915081611d8a578215611d5057600085815260076020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690555b7fdc8cdd96296241bbefda4a8e18ad2e0985a8da6495b34d409cfc4c886ee3b0cf8782604051611d8192919061482a565b60405180910390a15b5050505050505b611d9a816143eb565b9050611ab6565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611dcb8161283a565b600180547fff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167d01000000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d9060200161185c565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611e7b8161283a565b82611e8581611053565b611ebb576040517f4ab5ebcd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040805160c08101825260025473ffffffffffffffffffffffffffffffffffffffff908116825261ffff808b16602080850182905267ffffffffffffffff808c16868801528a851660608701526005546801000000000000000090041660808601526001547d010000000000000000000000000000000000000000000000000000000000810490931660a08601526000918252600681528582208651918201875291815294517fdf2b057e00000000000000000000000000000000000000000000000000000000815293946101009092049092169263df2b057e92611fa492869260040161452f565b6020604051808303816000875af1158015611fc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe79190614339565b93507f87e46b0a6199bc734632187269a103c05714ee0adae5b28f30723955724f37ef8460405161201a91815260200190565b60405180910390a1505050949350505050565b60055460009081906120569068010000000000000000900467ffffffffffffffff166041614843565b83146120685750600090506001612241565b60006120c1866040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60055468010000000000000000900467ffffffffffffffff168110156122355736600088886120f7856041614843565b9061210386600161485a565b61210e906041614843565b9261211b9392919061486d565b915091506000806121628785858080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250612dc392505050565b9092509050600081600481111561217b5761217b6140ab565b1461219457600060019850985050505050505050612241565b8573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16116121db57600060029850985050505050505050612241565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205460ff1661221c57600060039850985050505050505050612241565b50935082915061222d9050816143eb565b9150506120c7565b50600160009350935050505b935093915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756122738161283a565b600180547fffffffffffffffffffffff0000000000000000000000000000000000000000ff1661010073ffffffffffffffffffffffffffffffffffffffff8516908102919091179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e09060200161185c565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756123178161283a565b63ffffffff84166000908152600360205260409020612337908484613a4a565b5050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81148061238c57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b806123b657507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b156123f9573033146123f4576040517ffaba723a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612449565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611243576123f47fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561283a565b6112878383612e08565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177561247d8161283a565b73ffffffffffffffffffffffffffffffffffffffff841660009081527f9b50f4667d2d24216ccbf0dce3a90c0f620fa4d895e7b069d80ff6247fd25620602052604090205460ff166124fb576040517f5ee08b9700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6040517f07b18bde00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8481166004830152602482018490528516906307b18bde90604401600060405180830381600087803b15801561256b57600080fd5b505af115801561257f573d6000803e3d6000fd5b5050505050505050565b600085858386866040516020016125a4959493929190614897565b60405160208183030381529060405280519060200120905095945050505050565b42816060013511612602576040517f0bbaf26300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b306126136040830160208401613c82565b73ffffffffffffffffffffffffffffffffffffffff16146126895761263e6040820160208301613c82565b6040517f1ce0bfcd00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401611274565b63ffffffff7f0000000000000000000000000000000000000000000000000000000000000000166126bd6020830183613c20565b63ffffffff1614612710576126d56020820182613c20565b6040517f2697e1c200000000000000000000000000000000000000000000000000000000815263ffffffff9091166004820152602401611274565b6000612722611b4d6020840184613c20565b9050600061273782610ae26080860186614643565b50905080612771576040517f15ecadee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008281526007602052604090205460ff16156127bd576040517f9d6a45a600000000000000000000000000000000000000000000000000000000815260048101839052602401611274565b6000828152600760205260409081902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055611287907fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217759061282890860186614643565b8101906128359190613c82565b61294a565b6118aa8133612ecd565b73ffffffffffffffffffffffffffffffffffffffff8316612869576112878282612f85565b61128783838361308b565b61287c6130f9565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016811790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b6128fb613168565b600180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa336128c9565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca821480156129a7575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b15612a0657600180546015906129df907501000000000000000000000000000000000000000000900467ffffffffffffffff16614909565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826131d4565b73ffffffffffffffffffffffffffffffffffffffff821660009081526004602052604090205481151560ff909116151503612a97576040517f58c8d2a000000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff831660048201528115156024820152604401611274565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260046020526040812080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001683151517905581612b0957600554612b049060019067ffffffffffffffff16614930565b612b21565b600554612b219067ffffffffffffffff166001614958565b60055490915067ffffffffffffffff680100000000000000009091048116908216811115612b8f576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808416600483015282166024820152604401611274565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff84161790556040805173ffffffffffffffffffffffffffffffffffffffff8616815284151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce9101610f99565b8067ffffffffffffffff16600003612c54576040517f5f86e17700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60055467ffffffffffffffff908116908216811015612cb3576040517ff1c582ae00000000000000000000000000000000000000000000000000000000815267ffffffffffffffff808316600483015283166024820152604401611274565b600580547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8516908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a232499060200161185c565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f0223536e0000000000000000000000000000000000000000000000000000000014801590610e1157507fffffffff0000000000000000000000000000000000000000000000000000000082167f704316e500000000000000000000000000000000000000000000000000000000141592915050565b6000808251604103612df95760208301516040840151606085015160001a612ded878285856132c4565b94509450505050612e01565b506000905060025b9250929050565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca82148015612e64575060008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b15612ec35760018054601590612e9c907501000000000000000000000000000000000000000000900467ffffffffffffffff16614979565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505b610fc082826133b3565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc057612f0b8161346a565b612f16836020613489565b604051602001612f279291906149bb565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a000000000000000000000000000000000000000000000000000000000825261127491600401614a3c565b73ffffffffffffffffffffffffffffffffffffffff8216612fd2576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60008273ffffffffffffffffffffffffffffffffffffffff168260405160006040518083038185875af1925050503d806000811461302c576040519150601f19603f3d011682016040523d82523d6000602084013e613031565b606091505b5050905080611287576040517f465bc83400000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8416600482015260248101839052604401611274565b73ffffffffffffffffffffffffffffffffffffffff82166130d8576040517f6b7a931000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61128773ffffffffffffffffffffffffffffffffffffffff841683836136d3565b60015460ff1615613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401611274565b565b60015460ff16613166576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401611274565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556132663390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156132fb57506000905060036133aa565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561334f573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166133a3576000600192509250506133aa565b9150600090505b94509492505050565b60008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610fc05760008281526020818152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b6060610e1173ffffffffffffffffffffffffffffffffffffffff831660145b60606000613498836002614843565b6134a390600261485a565b67ffffffffffffffff8111156134bb576134bb614a4f565b6040519080825280601f01601f1916602001820160405280156134e5576020820181803683370190505b5090507f30000000000000000000000000000000000000000000000000000000000000008160008151811061351c5761351c614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061357f5761357f614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006135bb846002614843565b6135c690600161485a565b90505b6001811115613663577f303132333435363738396162636465660000000000000000000000000000000085600f166010811061360757613607614352565b1a60f81b82828151811061361d5761361d614352565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361365c81614a7e565b90506135c9565b5083156136cc576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401611274565b9392505050565b6040805173ffffffffffffffffffffffffffffffffffffffff848116602483015260448083018590528351808403909101815260649092018352602080830180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905283518085019094528084527f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564908401526112879286929160009161379e91851690849061384b565b90508051600014806137bf5750808060200190518101906137bf9190614ab3565b611287576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401611274565b606061385a8484600085613862565b949350505050565b6060824710156138f4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f416464726573733a20696e73756666696369656e742062616c616e636520666f60448201527f722063616c6c00000000000000000000000000000000000000000000000000006064820152608401611274565b6000808673ffffffffffffffffffffffffffffffffffffffff16858760405161391d9190614ad0565b60006040518083038185875af1925050503d806000811461395a576040519150601f19603f3d011682016040523d82523d6000602084013e61395f565b606091505b50915091506117b88783838760608315613a015782516000036139fa5773ffffffffffffffffffffffffffffffffffffffff85163b6139fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401611274565b508161385a565b61385a8383815115613a165781518083602001fd5b806040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112749190614a3c565b82805482825590600052602060002090601f01602090048101928215613ae35791602002820160005b83821115613ab457833560ff1683826101000a81548160ff021916908360ff1602179055509260200192600101602081600001049283019260010302613a73565b8015613ae15782816101000a81549060ff0219169055600101602081600001049283019260010302613ab4565b505b50613aef929150613af3565b5090565b5b80821115613aef5760008155600101613af4565b74ffffffffffffffffffffffffffffffffffffffffff811681146118aa57600080fd5b600080600060608486031215613b4057600080fd5b8335613b4b81613b08565b73ffffffffffffffffffffffffffffffffffffffff9081169350602085013590613b7482613b08565b93969316945050506040919091013590565b600060208284031215613b9857600080fd5b81357fffffffff00000000000000000000000000000000000000000000000000000000811681146136cc57600080fd5b80151581146118aa57600080fd5b600060208284031215613be857600080fd5b81356136cc81613bc8565b600060208284031215613c0557600080fd5b5035919050565b803563ffffffff8116811461113357600080fd5b600060208284031215613c3257600080fd5b6136cc82613c0c565b6020808252825182820181905260009190848201906040850190845b81811015613c7657835160ff1683529284019291840191600101613c57565b50909695505050505050565b600060208284031215613c9457600080fd5b8135613c9f81613b08565b73ffffffffffffffffffffffffffffffffffffffff169392505050565b60008060408385031215613ccf57600080fd5b823591506020830135613ce181613b08565b73ffffffffffffffffffffffffffffffffffffffff81169150509250929050565b803567ffffffffffffffff8116811461113357600080fd5b60008083601f840112613d2c57600080fd5b50813567ffffffffffffffff811115613d4457600080fd5b602083019150836020828501011115612e0157600080fd5b600080600080600060808688031215613d7457600080fd5b613d7d86613c0c565b9450613d8b60208701613d02565b93506040860135613d9b81613b08565b73ffffffffffffffffffffffffffffffffffffffff169250606086013567ffffffffffffffff811115613dcd57600080fd5b613dd988828901613d1a565b969995985093965092949392505050565b60008060408385031215613dfd57600080fd5b8235613e0881613b08565b73ffffffffffffffffffffffffffffffffffffffff1691506020830135613e2e81613bc8565b809150509250929050565b60008060208385031215613e4c57600080fd5b823567ffffffffffffffff80821115613e6457600080fd5b818501915085601f830112613e7857600080fd5b813581811115613e8757600080fd5b8660208260071b8501011115613e9c57600080fd5b60209290920196919550909350505050565b803561ffff8116811461113357600080fd5b60008060008060808587031215613ed657600080fd5b613edf85613eae565b9350613eed60208601613eae565b9250613efb60408601613d02565b91506060850135613f0b81613b08565b73ffffffffffffffffffffffffffffffffffffffff811691505092959194509250565b600060208284031215613f4057600080fd5b6136cc82613d02565b600060a08284031215613f5b57600080fd5b50919050565b600080600060408486031215613f7657600080fd5b833567ffffffffffffffff80821115613f8e57600080fd5b613f9a87838801613f49565b94506020860135915080821115613fb057600080fd5b50613fbd86828701613d1a565b9497909650939450505050565b60008083601f840112613fdc57600080fd5b50813567ffffffffffffffff811115613ff457600080fd5b6020830191508360208260051b8501011115612e0157600080fd5b6000806020838503121561402257600080fd5b823567ffffffffffffffff81111561403957600080fd5b61404585828601613fca565b90969095509350505050565b60006020828403121561406357600080fd5b6136cc82613eae565b60008060006040848603121561408157600080fd5b83359250602084013567ffffffffffffffff81111561409f57600080fd5b613fbd86828701613d1a565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8215158152604081016004831061411a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b8260208301529392505050565b60008060006040848603121561413c57600080fd5b61414584613c0c565b9250602084013567ffffffffffffffff81111561416157600080fd5b613fbd86828701613fca565b60008060008060006080868803121561418557600080fd5b61418e86613c0c565b9450602086013561419e81613b08565b73ffffffffffffffffffffffffffffffffffffffff169350604086013567ffffffffffffffff8111156141d057600080fd5b6141dc88828901613d1a565b96999598509660600135949350505050565b60006020828403121561420057600080fd5b813567ffffffffffffffff81111561421757600080fd5b61385a84828501613f49565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b60006101406142e4838873ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b61432560c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526117b88184018587614223565b60006020828403121561434b57600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b80356fffffffffffffffffffffffffffffffff8116811461113357600080fd5b6000602082840312156143b357600080fd5b6136cc82614381565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361441c5761441c6143bc565b5060010190565b6020808252818101839052600090604080840186845b878110156144b45763ffffffff61444f83613c0c565b16835267ffffffffffffffff614466868401613d02565b168584015261ffff614479858401613eae565b168484015260606fffffffffffffffffffffffffffffffff61449c828501614381565b16908401526080928301929190910190600101614439565b5090979650505050505050565b60005b838110156144dc5781810151838201526020016144c4565b50506000910152565b600081518084526144fd8160208601602086016144c1565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60006101406145a7838773ffffffffffffffffffffffffffffffffffffffff80825116835263ffffffff6020830151166020840152604082015167ffffffffffffffff808216604086015282606085015116606086015280608085015116608086015250505061ffff60a08201511660a08301525050565b6145e860c08401865467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b806101208401526145fb818401856144e5565b9695505050505050565b600082357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6183360301811261463957600080fd5b9190910192915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261467857600080fd5b83018035915067ffffffffffffffff82111561469357600080fd5b602001915036819003821315612e0157600080fd5b7fffffffff0000000000000000000000000000000000000000000000000000000081358181169160048510156146e85780818660040360031b1b83161692505b505092915050565b60008083357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe184360301811261472557600080fd5b830160208101925035905067ffffffffffffffff81111561474557600080fd5b803603821315612e0157600080fd5b6040815263ffffffff61476684613c0c565b1660408201526000602084013561477c81613b08565b73ffffffffffffffffffffffffffffffffffffffff1660608301526147a460408501856146f0565b60a060808501526147b960e085018284614223565b915050606085013560a08401526147d360808601866146f0565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc08584030160c0860152614808838284614223565b93505050508260208301529392505050565b8183823760009101908152919050565b82815260406020820152600061385a60408301846144e5565b8082028115828204841417610e1157610e116143bc565b80820180821115610e1157610e116143bc565b6000808585111561487d57600080fd5b8386111561488a57600080fd5b5050820193919092039150565b7fffffffff000000000000000000000000000000000000000000000000000000008660e01b1681527fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b1660048201528360188201528183603883013760009101603801908152949350505050565b600067ffffffffffffffff808316818103614926576149266143bc565b6001019392505050565b67ffffffffffffffff828116828216039080821115614951576149516143bc565b5092915050565b67ffffffffffffffff818116838216019080821115614951576149516143bc565b600067ffffffffffffffff821680614993576149936143bc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e74200000000000000000008152600083516149f38160178501602088016144c1565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614a308160288401602088016144c1565b01602801949350505050565b6020815260006136cc60208301846144e5565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081614a8d57614a8d6143bc565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b600060208284031215614ac557600080fd5b81516136cc81613bc8565b600082516146398184602087016144c156fea26474726f6e58221220fb22ae4160c64130aec4defec2ecc1f22121f99c6637ec58710eff8ea979e6ed64736f6c63430008140033",
1430
- "devdoc": {
1431
- "events": {
1432
- "Paused(address)": {
1433
- "details": "Emitted when the pause is triggered by `account`."
1434
- },
1435
- "RoleAdminChanged(bytes32,bytes32,bytes32)": {
1436
- "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._"
1437
- },
1438
- "RoleGranted(bytes32,address,address)": {
1439
- "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}."
1440
- },
1441
- "RoleRevoked(bytes32,address,address)": {
1442
- "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`)"
1443
- },
1444
- "Unpaused(address)": {
1445
- "details": "Emitted when the pause is lifted by `account`."
1446
- }
1447
- },
1448
- "kind": "dev",
1449
- "methods": {
1450
- "assignJob((uint32,bytes,bytes32,uint64,address),bytes)": {
1451
- "details": "for ULN301, ULN302 and more to assign jobdvn network can reject job from _sender by adding/removing them from allowlist/denylist",
1452
- "params": {
1453
- "_options": "dvn options",
1454
- "_param": "assign job param"
1455
- }
1456
- },
1457
- "assignJob(uint16,uint16,uint64,address)": {
1458
- "details": "to support ULNv2dvn network can reject job from _sender by adding/removing them from allowlist/denylist",
1459
- "params": {
1460
- "": "//_outboundProofType outbound proof type",
1461
- "_confirmations": "block confirmations",
1462
- "_dstEid": "destination EndpointId",
1463
- "_sender": "message sender address"
1464
- }
1465
- },
1466
- "constructor": {
1467
- "details": "DVN doesn't have a roleAdmin (address(0x0))Supports all of ULNv2, ULN301, ULN302 and more",
1468
- "params": {
1469
- "_admins": "array of admin addresses that are granted the ADMIN_ROLE",
1470
- "_messageLibs": "array of message lib addresses that are granted the MESSAGE_LIB_ROLE",
1471
- "_priceFeed": "price feed address",
1472
- "_quorum": "quorum for multisig",
1473
- "_signers": "array of signer addresses for multisig",
1474
- "_vid": "unique identifier for this DVN instance"
1475
- }
1476
- },
1477
- "execute((uint32,address,bytes,uint256,bytes)[])": {
1478
- "details": "takes a list of instructions and executes them in orderif any of the instructions fail, it will emit an error event and continue to execute the rest of the instructions",
1479
- "params": {
1480
- "_params": "array of ExecuteParam, includes target, callData, expiration, signatures"
1481
- }
1482
- },
1483
- "getFee(uint16,uint16,uint64,address)": {
1484
- "details": "to support ULNv2getFee can revert if _sender doesn't pass ACL",
1485
- "params": {
1486
- "": "//_outboundProofType outbound proof type",
1487
- "_confirmations": "block confirmations",
1488
- "_dstEid": "destination EndpointId",
1489
- "_sender": "message sender address"
1490
- }
1491
- },
1492
- "getFee(uint32,uint64,address,bytes)": {
1493
- "details": "getFee can revert if _sender doesn't pass ACL",
1494
- "params": {
1495
- "_confirmations": "block confirmations",
1496
- "_dstEid": "destination EndpointId",
1497
- "_options": "dvn options",
1498
- "_sender": "message sender address"
1499
- },
1500
- "returns": {
1501
- "fee": "fee in native amount"
1502
- }
1503
- },
1504
- "getRoleAdmin(bytes32)": {
1505
- "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."
1506
- },
1507
- "grantRole(bytes32,address)": {
1508
- "details": "overrides AccessControl to allow self/admin to grant role'function sig 0x2f2ff15d",
1509
- "params": {
1510
- "_account": "account to grant role to",
1511
- "_role": "role to grant"
1512
- }
1513
- },
1514
- "hasAcl(address)": {
1515
- "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",
1516
- "params": {
1517
- "_sender": "address to check"
1518
- }
1519
- },
1520
- "hasRole(bytes32,address)": {
1521
- "details": "Returns `true` if `account` has been granted `role`."
1522
- },
1523
- "hashCallData(uint32,address,bytes,uint256)": {
1524
- "params": {
1525
- "_callData": "call data",
1526
- "_expiration": "expiration timestamp",
1527
- "_target": "target address"
1528
- },
1529
- "returns": {
1530
- "_0": "hash of above"
1531
- }
1532
- },
1533
- "paused()": {
1534
- "details": "Returns true if the contract is paused, and false otherwise."
1535
- },
1536
- "quorumChangeAdmin((uint32,address,bytes,uint256,bytes))": {
1537
- "details": "calldata in the case is abi.encode new admin address"
1538
- },
1539
- "renounceRole(bytes32,address)": {
1540
- "details": "overrides AccessControl to disable renouncing of roles"
1541
- },
1542
- "revokeRole(bytes32,address)": {
1543
- "details": "overrides AccessControl to allow self/admin to revoke rolefunction sig 0xd547741f",
1544
- "params": {
1545
- "_account": "account to revoke role from",
1546
- "_role": "role to revoke"
1547
- }
1548
- },
1549
- "setDefaultMultiplierBps(uint16)": {
1550
- "params": {
1551
- "_multiplierBps": "default multiplier for worker fee"
1552
- }
1553
- },
1554
- "setDstConfig((uint32,uint64,uint16,uint128)[])": {
1555
- "params": {
1556
- "_params": "array of DstConfigParam"
1557
- }
1558
- },
1559
- "setPaused(bool)": {
1560
- "details": "flag to pause execution of workers (if used with whenNotPaused modifier)",
1561
- "params": {
1562
- "_paused": "true to pause, false to unpause"
1563
- }
1564
- },
1565
- "setPriceFeed(address)": {
1566
- "params": {
1567
- "_priceFeed": "price feed address"
1568
- }
1569
- },
1570
- "setQuorum(uint64)": {
1571
- "details": "set quorum for multisigfunction sig 0x8585c945",
1572
- "params": {
1573
- "_quorum": "to set"
1574
- }
1575
- },
1576
- "setSigner(address,bool)": {
1577
- "details": "set signers for multisigfunction sig 0x31cb6105",
1578
- "params": {
1579
- "_active": "true to add, false to remove",
1580
- "_signer": "signer address"
1581
- }
1582
- },
1583
- "setWorkerFeeLib(address)": {
1584
- "params": {
1585
- "_workerFeeLib": "worker fee lib address"
1586
- }
1587
- },
1588
- "supportsInterface(bytes4)": {
1589
- "details": "See {IERC165-supportsInterface}."
1590
- },
1591
- "withdrawFee(address,address,uint256)": {
1592
- "details": "supports withdrawing fee from ULN301, ULN302 and more",
1593
- "params": {
1594
- "_amount": "amount to withdraw",
1595
- "_lib": "message lib address",
1596
- "_to": "address to withdraw fee to"
1597
- }
1598
- },
1599
- "withdrawFeeFromUlnV2(address,address,uint256)": {
1600
- "details": "to support ULNv2the withdrawFee function for ULN30X is built in the Worker contract",
1601
- "params": {
1602
- "_amount": "amount to withdraw",
1603
- "_lib": "message lib address",
1604
- "_to": "address to withdraw to"
1605
- }
1606
- },
1607
- "withdrawToken(address,address,uint256)": {
1608
- "details": "supports withdrawing token from the contract",
1609
- "params": {
1610
- "_amount": "amount to withdraw",
1611
- "_to": "address to withdraw token to",
1612
- "_token": "token address"
1613
- }
1614
- }
1615
- },
1616
- "version": 1
1617
- },
1618
- "userdoc": {
1619
- "kind": "user",
1620
- "methods": {
1621
- "quorumChangeAdmin((uint32,address,bytes,uint256,bytes))": {
1622
- "notice": "function for quorum to change admin without going through execute function"
1623
- }
1624
- },
1625
- "version": 1
1626
- },
1627
- "storageLayout": {
1628
- "storage": [
1629
- {
1630
- "astId": 7436,
1631
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1632
- "label": "_roles",
1633
- "offset": 0,
1634
- "slot": "0",
1635
- "type": "t_mapping(t_bytes32,t_struct(RoleData)7431_storage)"
1636
- },
1637
- {
1638
- "astId": 8365,
1639
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1640
- "label": "_paused",
1641
- "offset": 0,
1642
- "slot": "1",
1643
- "type": "t_bool"
1644
- },
1645
- {
1646
- "astId": 15838,
1647
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1648
- "label": "workerFeeLib",
1649
- "offset": 1,
1650
- "slot": "1",
1651
- "type": "t_address"
1652
- },
1653
- {
1654
- "astId": 15840,
1655
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1656
- "label": "allowlistSize",
1657
- "offset": 21,
1658
- "slot": "1",
1659
- "type": "t_uint64"
1660
- },
1661
- {
1662
- "astId": 15842,
1663
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1664
- "label": "defaultMultiplierBps",
1665
- "offset": 29,
1666
- "slot": "1",
1667
- "type": "t_uint16"
1668
- },
1669
- {
1670
- "astId": 15844,
1671
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1672
- "label": "priceFeed",
1673
- "offset": 0,
1674
- "slot": "2",
1675
- "type": "t_address"
1676
- },
1677
- {
1678
- "astId": 15849,
1679
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1680
- "label": "supportedOptionTypes",
1681
- "offset": 0,
1682
- "slot": "3",
1683
- "type": "t_mapping(t_uint32,t_array(t_uint8)dyn_storage)"
1684
- },
1685
- {
1686
- "astId": 21555,
1687
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1688
- "label": "signers",
1689
- "offset": 0,
1690
- "slot": "4",
1691
- "type": "t_mapping(t_address,t_bool)"
1692
- },
1693
- {
1694
- "astId": 21557,
1695
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1696
- "label": "signerSize",
1697
- "offset": 0,
1698
- "slot": "5",
1699
- "type": "t_uint64"
1700
- },
1701
- {
1702
- "astId": 21559,
1703
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1704
- "label": "quorum",
1705
- "offset": 8,
1706
- "slot": "5",
1707
- "type": "t_uint64"
1708
- },
1709
- {
1710
- "astId": 20422,
1711
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1712
- "label": "dstConfig",
1713
- "offset": 0,
1714
- "slot": "6",
1715
- "type": "t_mapping(t_uint32,t_struct(DstConfig)24486_storage)"
1716
- },
1717
- {
1718
- "astId": 20426,
1719
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1720
- "label": "usedHashes",
1721
- "offset": 0,
1722
- "slot": "7",
1723
- "type": "t_mapping(t_bytes32,t_bool)"
1724
- }
1725
- ],
1726
- "types": {
1727
- "t_address": {
1728
- "encoding": "inplace",
1729
- "label": "address",
1730
- "numberOfBytes": "20"
1731
- },
1732
- "t_array(t_uint8)dyn_storage": {
1733
- "base": "t_uint8",
1734
- "encoding": "dynamic_array",
1735
- "label": "uint8[]",
1736
- "numberOfBytes": "32"
1737
- },
1738
- "t_bool": {
1739
- "encoding": "inplace",
1740
- "label": "bool",
1741
- "numberOfBytes": "1"
1742
- },
1743
- "t_bytes32": {
1744
- "encoding": "inplace",
1745
- "label": "bytes32",
1746
- "numberOfBytes": "32"
1747
- },
1748
- "t_mapping(t_address,t_bool)": {
1749
- "encoding": "mapping",
1750
- "key": "t_address",
1751
- "label": "mapping(address => bool)",
1752
- "numberOfBytes": "32",
1753
- "value": "t_bool"
1754
- },
1755
- "t_mapping(t_bytes32,t_bool)": {
1756
- "encoding": "mapping",
1757
- "key": "t_bytes32",
1758
- "label": "mapping(bytes32 => bool)",
1759
- "numberOfBytes": "32",
1760
- "value": "t_bool"
1761
- },
1762
- "t_mapping(t_bytes32,t_struct(RoleData)7431_storage)": {
1763
- "encoding": "mapping",
1764
- "key": "t_bytes32",
1765
- "label": "mapping(bytes32 => struct AccessControl.RoleData)",
1766
- "numberOfBytes": "32",
1767
- "value": "t_struct(RoleData)7431_storage"
1768
- },
1769
- "t_mapping(t_uint32,t_array(t_uint8)dyn_storage)": {
1770
- "encoding": "mapping",
1771
- "key": "t_uint32",
1772
- "label": "mapping(uint32 => uint8[])",
1773
- "numberOfBytes": "32",
1774
- "value": "t_array(t_uint8)dyn_storage"
1775
- },
1776
- "t_mapping(t_uint32,t_struct(DstConfig)24486_storage)": {
1777
- "encoding": "mapping",
1778
- "key": "t_uint32",
1779
- "label": "mapping(uint32 => struct IDVN.DstConfig)",
1780
- "numberOfBytes": "32",
1781
- "value": "t_struct(DstConfig)24486_storage"
1782
- },
1783
- "t_struct(DstConfig)24486_storage": {
1784
- "encoding": "inplace",
1785
- "label": "struct IDVN.DstConfig",
1786
- "members": [
1787
- {
1788
- "astId": 24481,
1789
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1790
- "label": "gas",
1791
- "offset": 0,
1792
- "slot": "0",
1793
- "type": "t_uint64"
1794
- },
1795
- {
1796
- "astId": 24483,
1797
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1798
- "label": "multiplierBps",
1799
- "offset": 8,
1800
- "slot": "0",
1801
- "type": "t_uint16"
1802
- },
1803
- {
1804
- "astId": 24485,
1805
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1806
- "label": "floorMarginUSD",
1807
- "offset": 10,
1808
- "slot": "0",
1809
- "type": "t_uint128"
1810
- }
1811
- ],
1812
- "numberOfBytes": "32"
1813
- },
1814
- "t_struct(RoleData)7431_storage": {
1815
- "encoding": "inplace",
1816
- "label": "struct AccessControl.RoleData",
1817
- "members": [
1818
- {
1819
- "astId": 7428,
1820
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1821
- "label": "members",
1822
- "offset": 0,
1823
- "slot": "0",
1824
- "type": "t_mapping(t_address,t_bool)"
1825
- },
1826
- {
1827
- "astId": 7430,
1828
- "contract": "contracts/uln/dvn/DVN.sol:DVN",
1829
- "label": "adminRole",
1830
- "offset": 0,
1831
- "slot": "1",
1832
- "type": "t_bytes32"
1833
- }
1834
- ],
1835
- "numberOfBytes": "64"
1836
- },
1837
- "t_uint128": {
1838
- "encoding": "inplace",
1839
- "label": "uint128",
1840
- "numberOfBytes": "16"
1841
- },
1842
- "t_uint16": {
1843
- "encoding": "inplace",
1844
- "label": "uint16",
1845
- "numberOfBytes": "2"
1846
- },
1847
- "t_uint32": {
1848
- "encoding": "inplace",
1849
- "label": "uint32",
1850
- "numberOfBytes": "4"
1851
- },
1852
- "t_uint64": {
1853
- "encoding": "inplace",
1854
- "label": "uint64",
1855
- "numberOfBytes": "8"
1856
- },
1857
- "t_uint8": {
1858
- "encoding": "inplace",
1859
- "label": "uint8",
1860
- "numberOfBytes": "1"
1861
- }
1862
- }
1863
- }
1864
- }