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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/deployments/arbitrum-sandbox-local/DVN.json +1896 -0
  2. package/deployments/arbitrum-sandbox-local/DVNFeeLib.json +387 -0
  3. package/deployments/arbitrum-sandbox-local/EndpointV2.json +2955 -0
  4. package/deployments/{ethereum-sandbox-local/Oracle.json → arbitrum-sandbox-local/Executor.json} +656 -398
  5. package/deployments/arbitrum-sandbox-local/ExecutorFeeLib.json +407 -0
  6. package/deployments/arbitrum-sandbox-local/ExecutorProxyAdmin.json +283 -0
  7. package/deployments/arbitrum-sandbox-local/Executor_Implementation.json +1591 -0
  8. package/deployments/{ethereum-sandbox-local/Oracle_Proxy.json → arbitrum-sandbox-local/Executor_Proxy.json} +135 -60
  9. package/deployments/arbitrum-sandbox-local/NonceContractMock.json +163 -0
  10. package/deployments/{polygon-sandbox-local/Relayer.json → arbitrum-sandbox-local/PriceFeed.json} +339 -445
  11. package/deployments/arbitrum-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  12. package/deployments/arbitrum-sandbox-local/PriceFeed_Implementation.json +912 -0
  13. package/deployments/{ethereum-sandbox-local/Relayer_Proxy.json → arbitrum-sandbox-local/PriceFeed_Proxy.json} +33 -64
  14. package/deployments/arbitrum-sandbox-local/ReceiveUln301.json +1264 -0
  15. package/deployments/arbitrum-sandbox-local/ReceiveUln302.json +954 -0
  16. package/deployments/arbitrum-sandbox-local/SendUln301.json +1569 -0
  17. package/deployments/arbitrum-sandbox-local/SendUln302.json +1527 -0
  18. package/deployments/arbitrum-sandbox-local/SimpleMessageLib.json +708 -0
  19. package/deployments/arbitrum-sandbox-local/Treasury.json +412 -0
  20. package/deployments/arbitrum-sandbox-local/TreasuryFeeHandler.json +125 -0
  21. package/deployments/ethereum-sandbox-local/DVN.json +5 -5
  22. package/deployments/ethereum-sandbox-local/DVNFeeLib.json +2 -2
  23. package/deployments/ethereum-sandbox-local/EndpointV2.json +4 -4
  24. package/deployments/ethereum-sandbox-local/Executor.json +14 -14
  25. package/deployments/ethereum-sandbox-local/ExecutorFeeLib.json +2 -2
  26. package/deployments/ethereum-sandbox-local/ExecutorProxyAdmin.json +3 -3
  27. package/deployments/ethereum-sandbox-local/Executor_Implementation.json +1 -1
  28. package/deployments/ethereum-sandbox-local/Executor_Proxy.json +14 -14
  29. package/deployments/ethereum-sandbox-local/NonceContractMock.json +1 -1
  30. package/deployments/ethereum-sandbox-local/PriceFeed.json +5 -5
  31. package/deployments/ethereum-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  32. package/deployments/ethereum-sandbox-local/PriceFeed_Implementation.json +1 -1
  33. package/deployments/ethereum-sandbox-local/PriceFeed_Proxy.json +5 -5
  34. package/deployments/ethereum-sandbox-local/ReceiveUln301.json +2 -2
  35. package/deployments/ethereum-sandbox-local/ReceiveUln302.json +2 -2
  36. package/deployments/ethereum-sandbox-local/SendUln301.json +2 -2
  37. package/deployments/ethereum-sandbox-local/SendUln302.json +2 -2
  38. package/deployments/ethereum-sandbox-local/SimpleMessageLib.json +2 -2
  39. package/deployments/ethereum-sandbox-local/Treasury.json +2 -2
  40. package/deployments/ethereum-sandbox-local/TreasuryFeeHandler.json +1 -1
  41. package/deployments/polygon-sandbox-local/DVN.json +5 -5
  42. package/deployments/polygon-sandbox-local/DVNFeeLib.json +2 -2
  43. package/deployments/polygon-sandbox-local/EndpointV2.json +4 -4
  44. package/deployments/polygon-sandbox-local/Executor.json +14 -14
  45. package/deployments/polygon-sandbox-local/ExecutorFeeLib.json +2 -2
  46. package/deployments/polygon-sandbox-local/ExecutorProxyAdmin.json +3 -3
  47. package/deployments/polygon-sandbox-local/Executor_Implementation.json +1 -1
  48. package/deployments/polygon-sandbox-local/Executor_Proxy.json +14 -14
  49. package/deployments/polygon-sandbox-local/NonceContractMock.json +1 -1
  50. package/deployments/polygon-sandbox-local/PriceFeed.json +5 -5
  51. package/deployments/polygon-sandbox-local/PriceFeedProxyAdmin.json +3 -3
  52. package/deployments/polygon-sandbox-local/PriceFeed_Implementation.json +1 -1
  53. package/deployments/polygon-sandbox-local/PriceFeed_Proxy.json +5 -5
  54. package/deployments/polygon-sandbox-local/ReceiveUln301.json +2 -2
  55. package/deployments/polygon-sandbox-local/ReceiveUln302.json +2 -2
  56. package/deployments/polygon-sandbox-local/SendUln301.json +2 -2
  57. package/deployments/polygon-sandbox-local/SendUln302.json +2 -2
  58. package/deployments/polygon-sandbox-local/SimpleMessageLib.json +2 -2
  59. package/deployments/polygon-sandbox-local/Treasury.json +2 -2
  60. package/deployments/polygon-sandbox-local/TreasuryFeeHandler.json +1 -1
  61. package/deployments/tron-sandbox-local/DVN.json +1896 -0
  62. package/deployments/tron-sandbox-local/DVNFeeLib.json +387 -0
  63. package/deployments/tron-sandbox-local/EndpointV2.json +2955 -0
  64. package/deployments/{polygon-sandbox-local/Oracle.json → tron-sandbox-local/Executor.json} +656 -398
  65. package/deployments/tron-sandbox-local/ExecutorFeeLib.json +407 -0
  66. package/deployments/tron-sandbox-local/ExecutorProxyAdmin.json +283 -0
  67. package/deployments/tron-sandbox-local/Executor_Implementation.json +1591 -0
  68. package/deployments/{polygon-sandbox-local/Oracle_Proxy.json → tron-sandbox-local/Executor_Proxy.json} +135 -60
  69. package/deployments/tron-sandbox-local/NonceContractMock.json +163 -0
  70. package/deployments/{ethereum-sandbox-local/Relayer.json → tron-sandbox-local/PriceFeed.json} +339 -445
  71. package/deployments/tron-sandbox-local/PriceFeedProxyAdmin.json +283 -0
  72. package/deployments/tron-sandbox-local/PriceFeed_Implementation.json +912 -0
  73. package/deployments/{polygon-sandbox-local/Relayer_Proxy.json → tron-sandbox-local/PriceFeed_Proxy.json} +33 -64
  74. package/deployments/tron-sandbox-local/ReceiveUln301.json +1264 -0
  75. package/deployments/tron-sandbox-local/ReceiveUln302.json +954 -0
  76. package/deployments/tron-sandbox-local/SendUln301.json +1569 -0
  77. package/deployments/tron-sandbox-local/SendUln302.json +1527 -0
  78. package/deployments/tron-sandbox-local/SimpleMessageLib.json +708 -0
  79. package/deployments/tron-sandbox-local/Treasury.json +412 -0
  80. package/deployments/tron-sandbox-local/TreasuryFeeHandler.json +125 -0
  81. package/package.json +9 -20
  82. package/deployments/ethereum-sandbox-local/BlockedMessageLib.json +0 -90
  83. package/deployments/ethereum-sandbox-local/Endpoint.json +0 -2355
  84. package/deployments/ethereum-sandbox-local/MultiSigOracle.json +0 -1448
  85. package/deployments/ethereum-sandbox-local/NonceContract.json +0 -158
  86. package/deployments/ethereum-sandbox-local/OmniCounter.json +0 -1133
  87. package/deployments/ethereum-sandbox-local/OmniCounterPreCrime.json +0 -493
  88. package/deployments/ethereum-sandbox-local/OmniCounterPreCrimeView.json +0 -672
  89. package/deployments/ethereum-sandbox-local/OmniCounterViewer.json +0 -214
  90. package/deployments/ethereum-sandbox-local/OmniCounterWithPreCrime.json +0 -1646
  91. package/deployments/ethereum-sandbox-local/OracleFeeLib.json +0 -166
  92. package/deployments/ethereum-sandbox-local/OracleProxyAdmin.json +0 -272
  93. package/deployments/ethereum-sandbox-local/Oracle_Implementation.json +0 -1326
  94. package/deployments/ethereum-sandbox-local/RelayerFeeLib.json +0 -130
  95. package/deployments/ethereum-sandbox-local/RelayerProxyAdmin.json +0 -272
  96. package/deployments/ethereum-sandbox-local/Relayer_Implementation.json +0 -1014
  97. package/deployments/ethereum-sandbox-local/UlnConfig301.json +0 -1003
  98. package/deployments/ethereum-sandbox-local/UlnConfig302.json +0 -1003
  99. package/deployments/ethereum-sandbox-local/UltraLightNodeE302.json +0 -1696
  100. package/deployments/polygon-sandbox-local/BlockedMessageLib.json +0 -90
  101. package/deployments/polygon-sandbox-local/Endpoint.json +0 -2355
  102. package/deployments/polygon-sandbox-local/MultiSigOracle.json +0 -1448
  103. package/deployments/polygon-sandbox-local/NonceContract.json +0 -158
  104. package/deployments/polygon-sandbox-local/OmniCounter.json +0 -1133
  105. package/deployments/polygon-sandbox-local/OmniCounterPreCrime.json +0 -493
  106. package/deployments/polygon-sandbox-local/OmniCounterPreCrimeView.json +0 -672
  107. package/deployments/polygon-sandbox-local/OmniCounterViewer.json +0 -214
  108. package/deployments/polygon-sandbox-local/OmniCounterWithPreCrime.json +0 -1646
  109. package/deployments/polygon-sandbox-local/OracleFeeLib.json +0 -166
  110. package/deployments/polygon-sandbox-local/OracleProxyAdmin.json +0 -272
  111. package/deployments/polygon-sandbox-local/Oracle_Implementation.json +0 -1326
  112. package/deployments/polygon-sandbox-local/RelayerFeeLib.json +0 -130
  113. package/deployments/polygon-sandbox-local/RelayerProxyAdmin.json +0 -272
  114. package/deployments/polygon-sandbox-local/Relayer_Implementation.json +0 -1014
  115. package/deployments/polygon-sandbox-local/UlnConfig301.json +0 -1003
  116. package/deployments/polygon-sandbox-local/UlnConfig302.json +0 -1003
  117. package/deployments/polygon-sandbox-local/UltraLightNodeE302.json +0 -1696
@@ -1,1326 +0,0 @@
1
- {
2
- "address": "0x10Aeafac83d48E2f9ac4bAAf94311c45fACe1404",
3
- "abi": [
4
- {
5
- "anonymous": false,
6
- "inputs": [
7
- {
8
- "indexed": false,
9
- "internalType": "uint32",
10
- "name": "dstEid",
11
- "type": "uint32"
12
- },
13
- {
14
- "indexed": false,
15
- "internalType": "address",
16
- "name": "oapp",
17
- "type": "address"
18
- },
19
- {
20
- "indexed": false,
21
- "internalType": "uint64",
22
- "name": "confirmations",
23
- "type": "uint64"
24
- },
25
- {
26
- "indexed": false,
27
- "internalType": "uint256",
28
- "name": "totalFee",
29
- "type": "uint256"
30
- }
31
- ],
32
- "name": "AssignJob",
33
- "type": "event"
34
- },
35
- {
36
- "anonymous": false,
37
- "inputs": [
38
- {
39
- "indexed": false,
40
- "internalType": "address",
41
- "name": "_target",
42
- "type": "address"
43
- },
44
- {
45
- "indexed": false,
46
- "internalType": "bytes32",
47
- "name": "_callDataHash",
48
- "type": "bytes32"
49
- },
50
- {
51
- "indexed": false,
52
- "internalType": "bool",
53
- "name": "_success",
54
- "type": "bool"
55
- },
56
- {
57
- "indexed": false,
58
- "internalType": "bytes",
59
- "name": "_data",
60
- "type": "bytes"
61
- }
62
- ],
63
- "name": "Execute",
64
- "type": "event"
65
- },
66
- {
67
- "anonymous": false,
68
- "inputs": [
69
- {
70
- "indexed": false,
71
- "internalType": "uint8",
72
- "name": "version",
73
- "type": "uint8"
74
- }
75
- ],
76
- "name": "Initialized",
77
- "type": "event"
78
- },
79
- {
80
- "anonymous": false,
81
- "inputs": [
82
- {
83
- "indexed": true,
84
- "internalType": "bytes32",
85
- "name": "role",
86
- "type": "bytes32"
87
- },
88
- {
89
- "indexed": true,
90
- "internalType": "bytes32",
91
- "name": "previousAdminRole",
92
- "type": "bytes32"
93
- },
94
- {
95
- "indexed": true,
96
- "internalType": "bytes32",
97
- "name": "newAdminRole",
98
- "type": "bytes32"
99
- }
100
- ],
101
- "name": "RoleAdminChanged",
102
- "type": "event"
103
- },
104
- {
105
- "anonymous": false,
106
- "inputs": [
107
- {
108
- "indexed": true,
109
- "internalType": "bytes32",
110
- "name": "role",
111
- "type": "bytes32"
112
- },
113
- {
114
- "indexed": true,
115
- "internalType": "address",
116
- "name": "account",
117
- "type": "address"
118
- },
119
- {
120
- "indexed": true,
121
- "internalType": "address",
122
- "name": "sender",
123
- "type": "address"
124
- }
125
- ],
126
- "name": "RoleGranted",
127
- "type": "event"
128
- },
129
- {
130
- "anonymous": false,
131
- "inputs": [
132
- {
133
- "indexed": true,
134
- "internalType": "bytes32",
135
- "name": "role",
136
- "type": "bytes32"
137
- },
138
- {
139
- "indexed": true,
140
- "internalType": "address",
141
- "name": "account",
142
- "type": "address"
143
- },
144
- {
145
- "indexed": true,
146
- "internalType": "address",
147
- "name": "sender",
148
- "type": "address"
149
- }
150
- ],
151
- "name": "RoleRevoked",
152
- "type": "event"
153
- },
154
- {
155
- "anonymous": false,
156
- "inputs": [
157
- {
158
- "indexed": false,
159
- "internalType": "uint16",
160
- "name": "multiplierBps",
161
- "type": "uint16"
162
- }
163
- ],
164
- "name": "SetDefaultMultiplierBps",
165
- "type": "event"
166
- },
167
- {
168
- "anonymous": false,
169
- "inputs": [
170
- {
171
- "components": [
172
- {
173
- "internalType": "uint32",
174
- "name": "dstEid",
175
- "type": "uint32"
176
- },
177
- {
178
- "internalType": "uint64",
179
- "name": "gas",
180
- "type": "uint64"
181
- },
182
- {
183
- "internalType": "uint16",
184
- "name": "multiplierBps",
185
- "type": "uint16"
186
- },
187
- {
188
- "internalType": "uint128",
189
- "name": "floorMarginUSD",
190
- "type": "uint128"
191
- }
192
- ],
193
- "indexed": false,
194
- "internalType": "struct IOracle.DstConfigParam[]",
195
- "name": "params",
196
- "type": "tuple[]"
197
- }
198
- ],
199
- "name": "SetDstConfig",
200
- "type": "event"
201
- },
202
- {
203
- "anonymous": false,
204
- "inputs": [
205
- {
206
- "indexed": false,
207
- "internalType": "address",
208
- "name": "priceFeed",
209
- "type": "address"
210
- }
211
- ],
212
- "name": "SetPriceFeed",
213
- "type": "event"
214
- },
215
- {
216
- "anonymous": false,
217
- "inputs": [
218
- {
219
- "indexed": false,
220
- "internalType": "address",
221
- "name": "workerLib",
222
- "type": "address"
223
- }
224
- ],
225
- "name": "SetWorkerLib",
226
- "type": "event"
227
- },
228
- {
229
- "anonymous": false,
230
- "inputs": [
231
- {
232
- "indexed": false,
233
- "internalType": "uint64",
234
- "name": "_quorum",
235
- "type": "uint64"
236
- }
237
- ],
238
- "name": "UpdateQuorum",
239
- "type": "event"
240
- },
241
- {
242
- "anonymous": false,
243
- "inputs": [
244
- {
245
- "indexed": false,
246
- "internalType": "address",
247
- "name": "_signer",
248
- "type": "address"
249
- },
250
- {
251
- "indexed": false,
252
- "internalType": "bool",
253
- "name": "_active",
254
- "type": "bool"
255
- }
256
- ],
257
- "name": "UpdateSigner",
258
- "type": "event"
259
- },
260
- {
261
- "anonymous": false,
262
- "inputs": [
263
- {
264
- "indexed": false,
265
- "internalType": "address",
266
- "name": "lib",
267
- "type": "address"
268
- },
269
- {
270
- "indexed": false,
271
- "internalType": "address",
272
- "name": "to",
273
- "type": "address"
274
- },
275
- {
276
- "indexed": false,
277
- "internalType": "uint256",
278
- "name": "amount",
279
- "type": "uint256"
280
- }
281
- ],
282
- "name": "Withdraw",
283
- "type": "event"
284
- },
285
- {
286
- "inputs": [],
287
- "name": "ADMIN_ROLE",
288
- "outputs": [
289
- {
290
- "internalType": "bytes32",
291
- "name": "",
292
- "type": "bytes32"
293
- }
294
- ],
295
- "stateMutability": "view",
296
- "type": "function"
297
- },
298
- {
299
- "inputs": [],
300
- "name": "ALLOWLIST",
301
- "outputs": [
302
- {
303
- "internalType": "bytes32",
304
- "name": "",
305
- "type": "bytes32"
306
- }
307
- ],
308
- "stateMutability": "view",
309
- "type": "function"
310
- },
311
- {
312
- "inputs": [],
313
- "name": "DEFAULT_ADMIN_ROLE",
314
- "outputs": [
315
- {
316
- "internalType": "bytes32",
317
- "name": "",
318
- "type": "bytes32"
319
- }
320
- ],
321
- "stateMutability": "view",
322
- "type": "function"
323
- },
324
- {
325
- "inputs": [],
326
- "name": "DENYLIST",
327
- "outputs": [
328
- {
329
- "internalType": "bytes32",
330
- "name": "",
331
- "type": "bytes32"
332
- }
333
- ],
334
- "stateMutability": "view",
335
- "type": "function"
336
- },
337
- {
338
- "inputs": [],
339
- "name": "MESSAGE_LIB_ROLE",
340
- "outputs": [
341
- {
342
- "internalType": "bytes32",
343
- "name": "",
344
- "type": "bytes32"
345
- }
346
- ],
347
- "stateMutability": "view",
348
- "type": "function"
349
- },
350
- {
351
- "inputs": [],
352
- "name": "allowlistSize",
353
- "outputs": [
354
- {
355
- "internalType": "uint64",
356
- "name": "",
357
- "type": "uint64"
358
- }
359
- ],
360
- "stateMutability": "view",
361
- "type": "function"
362
- },
363
- {
364
- "inputs": [
365
- {
366
- "internalType": "uint32",
367
- "name": "_dstEid",
368
- "type": "uint32"
369
- },
370
- {
371
- "internalType": "uint64",
372
- "name": "_confirmations",
373
- "type": "uint64"
374
- },
375
- {
376
- "internalType": "address",
377
- "name": "_sender",
378
- "type": "address"
379
- },
380
- {
381
- "internalType": "bytes",
382
- "name": "_options",
383
- "type": "bytes"
384
- }
385
- ],
386
- "name": "assignJob",
387
- "outputs": [
388
- {
389
- "internalType": "uint256",
390
- "name": "totalFee",
391
- "type": "uint256"
392
- }
393
- ],
394
- "stateMutability": "payable",
395
- "type": "function"
396
- },
397
- {
398
- "inputs": [],
399
- "name": "defaultMultiplierBps",
400
- "outputs": [
401
- {
402
- "internalType": "uint16",
403
- "name": "",
404
- "type": "uint16"
405
- }
406
- ],
407
- "stateMutability": "view",
408
- "type": "function"
409
- },
410
- {
411
- "inputs": [
412
- {
413
- "internalType": "uint32",
414
- "name": "dstEid",
415
- "type": "uint32"
416
- }
417
- ],
418
- "name": "dstConfig",
419
- "outputs": [
420
- {
421
- "internalType": "uint64",
422
- "name": "gas",
423
- "type": "uint64"
424
- },
425
- {
426
- "internalType": "uint16",
427
- "name": "multiplierBps",
428
- "type": "uint16"
429
- },
430
- {
431
- "internalType": "uint128",
432
- "name": "floorMarginUSD",
433
- "type": "uint128"
434
- }
435
- ],
436
- "stateMutability": "view",
437
- "type": "function"
438
- },
439
- {
440
- "inputs": [
441
- {
442
- "internalType": "address",
443
- "name": "_target",
444
- "type": "address"
445
- },
446
- {
447
- "internalType": "bytes",
448
- "name": "_callData",
449
- "type": "bytes"
450
- },
451
- {
452
- "internalType": "uint256",
453
- "name": "_expiration",
454
- "type": "uint256"
455
- },
456
- {
457
- "internalType": "bytes",
458
- "name": "_signatures",
459
- "type": "bytes"
460
- },
461
- {
462
- "internalType": "bool",
463
- "name": "_tryDeliver",
464
- "type": "bool"
465
- }
466
- ],
467
- "name": "execute",
468
- "outputs": [],
469
- "stateMutability": "nonpayable",
470
- "type": "function"
471
- },
472
- {
473
- "inputs": [
474
- {
475
- "internalType": "uint32",
476
- "name": "_dstEid",
477
- "type": "uint32"
478
- },
479
- {
480
- "internalType": "uint64",
481
- "name": "_confirmations",
482
- "type": "uint64"
483
- },
484
- {
485
- "internalType": "address",
486
- "name": "_sender",
487
- "type": "address"
488
- },
489
- {
490
- "internalType": "bytes",
491
- "name": "_options",
492
- "type": "bytes"
493
- }
494
- ],
495
- "name": "getFee",
496
- "outputs": [
497
- {
498
- "internalType": "uint256",
499
- "name": "fee",
500
- "type": "uint256"
501
- }
502
- ],
503
- "stateMutability": "view",
504
- "type": "function"
505
- },
506
- {
507
- "inputs": [
508
- {
509
- "internalType": "uint32",
510
- "name": "_dstEid",
511
- "type": "uint32"
512
- }
513
- ],
514
- "name": "getPrice",
515
- "outputs": [
516
- {
517
- "internalType": "uint128",
518
- "name": "",
519
- "type": "uint128"
520
- },
521
- {
522
- "internalType": "uint64",
523
- "name": "",
524
- "type": "uint64"
525
- }
526
- ],
527
- "stateMutability": "view",
528
- "type": "function"
529
- },
530
- {
531
- "inputs": [
532
- {
533
- "internalType": "bytes32",
534
- "name": "role",
535
- "type": "bytes32"
536
- }
537
- ],
538
- "name": "getRoleAdmin",
539
- "outputs": [
540
- {
541
- "internalType": "bytes32",
542
- "name": "",
543
- "type": "bytes32"
544
- }
545
- ],
546
- "stateMutability": "view",
547
- "type": "function"
548
- },
549
- {
550
- "inputs": [
551
- {
552
- "internalType": "bytes32",
553
- "name": "role",
554
- "type": "bytes32"
555
- },
556
- {
557
- "internalType": "address",
558
- "name": "account",
559
- "type": "address"
560
- }
561
- ],
562
- "name": "grantRole",
563
- "outputs": [],
564
- "stateMutability": "nonpayable",
565
- "type": "function"
566
- },
567
- {
568
- "inputs": [
569
- {
570
- "internalType": "bytes32",
571
- "name": "role",
572
- "type": "bytes32"
573
- },
574
- {
575
- "internalType": "address",
576
- "name": "account",
577
- "type": "address"
578
- }
579
- ],
580
- "name": "hasRole",
581
- "outputs": [
582
- {
583
- "internalType": "bool",
584
- "name": "",
585
- "type": "bool"
586
- }
587
- ],
588
- "stateMutability": "view",
589
- "type": "function"
590
- },
591
- {
592
- "inputs": [
593
- {
594
- "internalType": "address",
595
- "name": "_target",
596
- "type": "address"
597
- },
598
- {
599
- "internalType": "bytes",
600
- "name": "_callData",
601
- "type": "bytes"
602
- },
603
- {
604
- "internalType": "uint256",
605
- "name": "_expiration",
606
- "type": "uint256"
607
- }
608
- ],
609
- "name": "hashCallData",
610
- "outputs": [
611
- {
612
- "internalType": "bytes32",
613
- "name": "",
614
- "type": "bytes32"
615
- }
616
- ],
617
- "stateMutability": "pure",
618
- "type": "function"
619
- },
620
- {
621
- "inputs": [
622
- {
623
- "internalType": "address[]",
624
- "name": "_messageLibs",
625
- "type": "address[]"
626
- },
627
- {
628
- "internalType": "address",
629
- "name": "_priceFeed",
630
- "type": "address"
631
- },
632
- {
633
- "internalType": "address[]",
634
- "name": "_signers",
635
- "type": "address[]"
636
- },
637
- {
638
- "internalType": "uint64",
639
- "name": "_quorum",
640
- "type": "uint64"
641
- },
642
- {
643
- "internalType": "address[]",
644
- "name": "_admins",
645
- "type": "address[]"
646
- }
647
- ],
648
- "name": "initialize",
649
- "outputs": [],
650
- "stateMutability": "nonpayable",
651
- "type": "function"
652
- },
653
- {
654
- "inputs": [],
655
- "name": "paused",
656
- "outputs": [
657
- {
658
- "internalType": "bool",
659
- "name": "",
660
- "type": "bool"
661
- }
662
- ],
663
- "stateMutability": "view",
664
- "type": "function"
665
- },
666
- {
667
- "inputs": [],
668
- "name": "priceFeed",
669
- "outputs": [
670
- {
671
- "internalType": "contract ILayerZeroPriceFeed",
672
- "name": "",
673
- "type": "address"
674
- }
675
- ],
676
- "stateMutability": "view",
677
- "type": "function"
678
- },
679
- {
680
- "inputs": [],
681
- "name": "quorum",
682
- "outputs": [
683
- {
684
- "internalType": "uint64",
685
- "name": "",
686
- "type": "uint64"
687
- }
688
- ],
689
- "stateMutability": "view",
690
- "type": "function"
691
- },
692
- {
693
- "inputs": [
694
- {
695
- "internalType": "bytes32",
696
- "name": "",
697
- "type": "bytes32"
698
- },
699
- {
700
- "internalType": "address",
701
- "name": "",
702
- "type": "address"
703
- }
704
- ],
705
- "name": "renounceRole",
706
- "outputs": [],
707
- "stateMutability": "nonpayable",
708
- "type": "function"
709
- },
710
- {
711
- "inputs": [
712
- {
713
- "internalType": "bytes32",
714
- "name": "role",
715
- "type": "bytes32"
716
- },
717
- {
718
- "internalType": "address",
719
- "name": "account",
720
- "type": "address"
721
- }
722
- ],
723
- "name": "revokeRole",
724
- "outputs": [],
725
- "stateMutability": "nonpayable",
726
- "type": "function"
727
- },
728
- {
729
- "inputs": [
730
- {
731
- "internalType": "uint16",
732
- "name": "_multiplierBps",
733
- "type": "uint16"
734
- }
735
- ],
736
- "name": "setDefaultMultiplierBps",
737
- "outputs": [],
738
- "stateMutability": "nonpayable",
739
- "type": "function"
740
- },
741
- {
742
- "inputs": [
743
- {
744
- "components": [
745
- {
746
- "internalType": "uint32",
747
- "name": "dstEid",
748
- "type": "uint32"
749
- },
750
- {
751
- "internalType": "uint64",
752
- "name": "gas",
753
- "type": "uint64"
754
- },
755
- {
756
- "internalType": "uint16",
757
- "name": "multiplierBps",
758
- "type": "uint16"
759
- },
760
- {
761
- "internalType": "uint128",
762
- "name": "floorMarginUSD",
763
- "type": "uint128"
764
- }
765
- ],
766
- "internalType": "struct IOracle.DstConfigParam[]",
767
- "name": "_params",
768
- "type": "tuple[]"
769
- }
770
- ],
771
- "name": "setDstConfig",
772
- "outputs": [],
773
- "stateMutability": "nonpayable",
774
- "type": "function"
775
- },
776
- {
777
- "inputs": [
778
- {
779
- "internalType": "bool",
780
- "name": "_paused",
781
- "type": "bool"
782
- }
783
- ],
784
- "name": "setPaused",
785
- "outputs": [],
786
- "stateMutability": "nonpayable",
787
- "type": "function"
788
- },
789
- {
790
- "inputs": [
791
- {
792
- "internalType": "address",
793
- "name": "_priceFeed",
794
- "type": "address"
795
- }
796
- ],
797
- "name": "setPriceFeed",
798
- "outputs": [],
799
- "stateMutability": "nonpayable",
800
- "type": "function"
801
- },
802
- {
803
- "inputs": [
804
- {
805
- "internalType": "uint64",
806
- "name": "_quorum",
807
- "type": "uint64"
808
- }
809
- ],
810
- "name": "setQuorum",
811
- "outputs": [],
812
- "stateMutability": "nonpayable",
813
- "type": "function"
814
- },
815
- {
816
- "inputs": [
817
- {
818
- "internalType": "address",
819
- "name": "_signer",
820
- "type": "address"
821
- },
822
- {
823
- "internalType": "bool",
824
- "name": "_active",
825
- "type": "bool"
826
- }
827
- ],
828
- "name": "setSigner",
829
- "outputs": [],
830
- "stateMutability": "nonpayable",
831
- "type": "function"
832
- },
833
- {
834
- "inputs": [
835
- {
836
- "internalType": "address",
837
- "name": "_workerLib",
838
- "type": "address"
839
- }
840
- ],
841
- "name": "setWorkerLib",
842
- "outputs": [],
843
- "stateMutability": "nonpayable",
844
- "type": "function"
845
- },
846
- {
847
- "inputs": [],
848
- "name": "signerSize",
849
- "outputs": [
850
- {
851
- "internalType": "uint64",
852
- "name": "",
853
- "type": "uint64"
854
- }
855
- ],
856
- "stateMutability": "view",
857
- "type": "function"
858
- },
859
- {
860
- "inputs": [
861
- {
862
- "internalType": "address",
863
- "name": "signer",
864
- "type": "address"
865
- }
866
- ],
867
- "name": "signers",
868
- "outputs": [
869
- {
870
- "internalType": "bool",
871
- "name": "active",
872
- "type": "bool"
873
- }
874
- ],
875
- "stateMutability": "view",
876
- "type": "function"
877
- },
878
- {
879
- "inputs": [
880
- {
881
- "internalType": "bytes4",
882
- "name": "interfaceId",
883
- "type": "bytes4"
884
- }
885
- ],
886
- "name": "supportsInterface",
887
- "outputs": [
888
- {
889
- "internalType": "bool",
890
- "name": "",
891
- "type": "bool"
892
- }
893
- ],
894
- "stateMutability": "view",
895
- "type": "function"
896
- },
897
- {
898
- "inputs": [
899
- {
900
- "internalType": "bytes32",
901
- "name": "executableHash",
902
- "type": "bytes32"
903
- }
904
- ],
905
- "name": "usedHashes",
906
- "outputs": [
907
- {
908
- "internalType": "bool",
909
- "name": "used",
910
- "type": "bool"
911
- }
912
- ],
913
- "stateMutability": "view",
914
- "type": "function"
915
- },
916
- {
917
- "inputs": [
918
- {
919
- "internalType": "bytes32",
920
- "name": "_hash",
921
- "type": "bytes32"
922
- },
923
- {
924
- "internalType": "bytes",
925
- "name": "_signatures",
926
- "type": "bytes"
927
- }
928
- ],
929
- "name": "verifySignatures",
930
- "outputs": [],
931
- "stateMutability": "view",
932
- "type": "function"
933
- },
934
- {
935
- "inputs": [
936
- {
937
- "internalType": "address",
938
- "name": "_lib",
939
- "type": "address"
940
- },
941
- {
942
- "internalType": "address payable",
943
- "name": "_to",
944
- "type": "address"
945
- },
946
- {
947
- "internalType": "uint256",
948
- "name": "_amount",
949
- "type": "uint256"
950
- }
951
- ],
952
- "name": "withdrawFee",
953
- "outputs": [],
954
- "stateMutability": "nonpayable",
955
- "type": "function"
956
- },
957
- {
958
- "inputs": [],
959
- "name": "workerLib",
960
- "outputs": [
961
- {
962
- "internalType": "address",
963
- "name": "",
964
- "type": "address"
965
- }
966
- ],
967
- "stateMutability": "view",
968
- "type": "function"
969
- }
970
- ],
971
- "transactionHash": "0x0612aeacbbd11438501dcef1d1bc46d5ea8776e462b5978da448b677b81a2887",
972
- "receipt": {
973
- "to": null,
974
- "from": "0xBcd4042DE499D14e55001CcbB24a551F3b954096",
975
- "contractAddress": "0x10Aeafac83d48E2f9ac4bAAf94311c45fACe1404",
976
- "transactionIndex": 0,
977
- "gasUsed": "3515723",
978
- "logsBloom": "0x00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
979
- "blockHash": "0x41710d5001b13f0b2f071cbeb8c78c9ba6b97ed16a165d67d8893a0e7c426fca",
980
- "transactionHash": "0x0612aeacbbd11438501dcef1d1bc46d5ea8776e462b5978da448b677b81a2887",
981
- "logs": [],
982
- "blockNumber": 228,
983
- "cumulativeGasUsed": "3515723",
984
- "status": 1,
985
- "byzantium": true
986
- },
987
- "args": [],
988
- "numDeployments": 1,
989
- "solcInputHash": "12821035dc6b52fddd2b30f510462795",
990
- "bytecode": "0x608060405234801561001057600080fd5b50613eef806100206000396000f3fe60806040526004361061024e5760003560e01c806375b238fc11610138578063aef18bf7116100b0578063d547741f1161007f578063e4fbd90311610064578063e4fbd903146108b4578063f3ad31f4146108c7578063fd62e750146108e757600080fd5b8063d547741f14610843578063da26663a1461086357600080fd5b8063aef18bf71461079a578063c358de0a146107ca578063c7a823e0146107ea578063d2ae21041461080a57600080fd5b806391d14854116101075780639f32e2a3116100ec5780639f32e2a314610731578063a217fddf14610751578063a98586e11461076657600080fd5b806391d14854146106395780639e9449651461068c57600080fd5b806375b238fc14610598578063770f015f146105cc578063834dfdce146105f95780638585c9451461061957600080fd5b806330bb3aac116101cb578063545f8c6b1161019a578063724e78da1161017f578063724e78da146104f6578063736c0d5b14610516578063741bef1a1461054657600080fd5b8063545f8c6b146104a45780635c975abb146104c457600080fd5b806330bb3aac1461042457806331cb61051461044457806336568abe1461046457806352d3b8711461048457600080fd5b806316c38b3c116102225780631f3a6f04116102075780631f3a6f04146103a0578063248a9ca3146103d45780632f2ff15d1461040457600080fd5b806316c38b3c1461033a5780631703a0181461035a57600080fd5b8062bf2e801461025357806301ffc9a7146102a6578063036c0a2c146102d65780631095b6d714610318575b600080fd5b34801561025f57600080fd5b5060975461028e907c0100000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b3480156102b257600080fd5b506102c66102c1366004613077565b610908565b604051901515815260200161029d565b3480156102e257600080fd5b5061030a7f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481565b60405190815260200161029d565b34801561032457600080fd5b506103386103333660046130db565b6109a1565b005b34801561034657600080fd5b5061033861035536600461312a565b610b4b565b34801561036657600080fd5b5060cb546103879068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161029d565b3480156103ac57600080fd5b5061030a7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81565b3480156103e057600080fd5b5061030a6103ef366004613147565b60009081526065602052604090206001015490565b34801561041057600080fd5b5061033861041f366004613160565b610ba1565b34801561043057600080fd5b5061030a61043f366004613211565b610cb1565b34801561045057600080fd5b5061033861045f36600461328d565b610fa8565b34801561047057600080fd5b5061033861047f366004613160565b611005565b34801561049057600080fd5b5061033861049f3660046133b6565b61104d565b3480156104b057600080fd5b506103386104bf366004613517565b6111d3565b3480156104d057600080fd5b506098546102c69074010000000000000000000000000000000000000000900460ff1681565b34801561050257600080fd5b506103386105113660046135c9565b611408565b34801561052257600080fd5b506102c66105313660046135c9565b60ca6020526000908152604090205460ff1681565b34801561055257600080fd5b506098546105739073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161029d565b3480156105a457600080fd5b5061030a7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b3480156105d857600080fd5b506097546105739073ffffffffffffffffffffffffffffffffffffffff1681565b34801561060557600080fd5b506103386106143660046135e6565b6114a5565b34801561062557600080fd5b50610338610634366004613686565b611956565b34801561064557600080fd5b506102c6610654366004613160565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561069857600080fd5b506106f66106a73660046136a3565b60fd6020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff169082015260600161029d565b34801561073d57600080fd5b5061033861074c3660046135c9565b6119b1565b34801561075d57600080fd5b5061030a600081565b34801561077257600080fd5b5061030a7f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81565b3480156107a657600080fd5b506102c66107b5366004613147565b60fe6020526000908152604090205460ff1681565b3480156107d657600080fd5b506103386107e53660046136c0565b611a57565b3480156107f657600080fd5b506103386108053660046136db565b611b04565b34801561081657600080fd5b506097546103879074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b34801561084f57600080fd5b5061033861085e366004613160565b611e0c565b34801561086f57600080fd5b5061088361087e3660046136a3565b611f17565b604080516fffffffffffffffffffffffffffffffff909316835267ffffffffffffffff90911660208301520161029d565b61030a6108c2366004613211565b611fc7565b3480156108d357600080fd5b5061030a6108e2366004613727565b612079565b3480156108f357600080fd5b5060cb546103879067ffffffffffffffff1681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061099b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756109cb816120b2565b73ffffffffffffffffffffffffffffffffffffffff841660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff16610a645760405162461bcd60e51b815260206004820152601b60248201527f576f726b65723a20496e76616c6964206d657373616765206c6962000000000060448201526064015b60405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610ad457600080fd5b505af1158015610ae8573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b6000610b56816120b2565b506098805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480610bef57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80610c1957507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15610c7257303314610c6d5760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b610ca2565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610ca257610ca2816120b2565b610cac83836120bc565b505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081527f0f6a9529577ef7bf1cbc8fccda1cc3c881f755c7e92e34c7c4deac1fa3c1c7916020526040812054849060ff1615610d485760405162461bcd60e51b815260206004820152601360248201527f576f726b65723a206e6f7420616c6c6f776564000000000000000000000000006044820152606401610a5b565b60975474010000000000000000000000000000000000000000900467ffffffffffffffff161580610dbd575073ffffffffffffffffffffffffffffffffffffffff811660009081527f35c5067391a9036240763c1067bfa438a7b0131204a675a2fe562dd73782ce85602052604090205460ff165b15610f565760985474010000000000000000000000000000000000000000900460ff1615610e2d5760405162461bcd60e51b815260206004820152600e60248201527f576f726b65723a207061757365640000000000000000000000000000000000006044820152606401610a5b565b6040805160c08101825260985473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260cb5468010000000000000000900416608085015260975461ffff7c010000000000000000000000000000000000000000000000000000000082041660a0860152600092835260fd9091529084902093517f7bfa20a90000000000000000000000000000000000000000000000000000000081529293911691637bfa20a991610f0d918591908a908a906004016137cc565b602060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190613890565b925050610f9e565b60405162461bcd60e51b815260206004820152601360248201527f576f726b65723a206e6f7420616c6c6f776564000000000000000000000000006044820152606401610a5b565b5095945050505050565b303314610ff75760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b6110018282612184565b5050565b60405162461bcd60e51b815260206004820152601c60248201527f576f726b65723a2063616e6e6f742072656e6f756e636520726f6c65000000006044820152606401610a5b565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611077816120b2565b60005b8251811015611197576000838281518110611097576110976138a9565b60209081029190910181015160408051606080820183528385015167ffffffffffffffff90811683528385015161ffff908116848801908152928601516fffffffffffffffffffffffffffffffff908116858701908152965163ffffffff16600090815260fd9098529490962092518354925195519094166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff9590961668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff000000000000000000009092169316929092179190911791909116919091179055508061118f81613907565b91505061107a565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0826040516111c7919061393f565b60405180910390a15050565b60006111fd7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166112565773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611278565b3373ffffffffffffffffffffffffffffffffffffffff82161461127857600080fd5b600054610100900460ff16158080156112985750600054600160ff909116105b806112b25750303b1580156112b2575060005460ff166001145b6113245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a5b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561138257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113928787612ee06000876123ba565b61139c858561244b565b80156113ff57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611432816120b2565b609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020016111c7565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756114cf816120b2565b73ffffffffffffffffffffffffffffffffffffffff881660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff1680611537575073ffffffffffffffffffffffffffffffffffffffff881630145b6115a95760405162461bcd60e51b815260206004820152602960248201527f4f7261636c653a20746172676574206d757374206265206d6573736167656c6960448201527f62206f722073656c6600000000000000000000000000000000000000000000006064820152608401610a5b565b4285116115f85760405162461bcd60e51b815260206004820152601960248201527f4f7261636c653a2063616c6c20646174612065787069726564000000000000006044820152606401610a5b565b600061160689898989612079565b600081815260fe602052604090205490915060ff161561168e5760405162461bcd60e51b815260206004820152602260248201527f4f7261636c653a2063616c6c206461746120616c72656164792065786563757460448201527f65640000000000000000000000000000000000000000000000000000000000006064820152608401610a5b565b600081815260fe6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556116d0818686611b04565b6000808a73ffffffffffffffffffffffffffffffffffffffff168a8a6040516116fa9291906139c9565b6000604051808303816000865af19150503d8060008114611737576040519150601f19603f3d011682016040523d82523d6000602084013e61173c565b606091505b50915091507f293e3a2153dc5c8d3667cbd6ede71a71674b2381e5dc4b40c91ad0e813447c0f8b8484846040516117769493929190613a47565b60405180910390a18480156117885750815b80156117de57507f7e09a8d6000000000000000000000000000000000000000000000000000000006117ba8a8c613a8e565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b156119495760008b90506000808c8c60049080926117fe93929190613ad6565b81019061180b9190613b00565b50909250905060016040517f7c0cf76300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690637c0cf763906118679086908690600401613bfc565b602060405180830381865afa158015611884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a89190613c1e565b60038111156118b9576118b9613bcd565b03611945576040517f5ed31c5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690635ed31c59906119129085908590600401613bfc565b600060405180830381600087803b15801561192c57600080fd5b505af1158015611940573d6000803e3d6000fd5b505050505b5050505b5050505050505050505050565b3033146119a55760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b6119ae816124d2565b50565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119db816120b2565b6119e4826125c3565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e0906020016111c7565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611a81816120b2565b609780547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d906020016111c7565b60cb54611b289068010000000000000000900467ffffffffffffffff166041613c3f565b811015611b775760405162461bcd60e51b815260206004820152601e60248201527f4d756c74695369673a207369676e61747572657320746f6f2073686f727400006044820152606401610a5b565b6000611bd0846040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60cb5468010000000000000000900467ffffffffffffffff16811015611e04576000806000611c3c88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892506126e3915050565b925092509250600060018785858560405160008152602001604052604051611c80949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611ca2573d6000803e3d6000fd5b5050506020604051035190508573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611d4f5760405162461bcd60e51b815260206004820152602f60248201527f4d756c74695369673a207369676e617475726573206d75737420626520696e2060448201527f617363656e64696e67206f7264657200000000000000000000000000000000006064820152608401610a5b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260ca602052604090205460ff16611dea5760405162461bcd60e51b815260206004820152602860248201527f4d756c74695369673a207369676e6174757265206973206e6f742066726f6d2060448201527f61207369676e65720000000000000000000000000000000000000000000000006064820152608401610a5b565b809550505050508080611dfc90613907565b915050611bd6565b505050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480611e5a57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80611e8457507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15611edd57303314611ed85760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b611f0d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611f0d57611f0d816120b2565b610cac8383612701565b6098546040517fda26663a00000000000000000000000000000000000000000000000000000000815263ffffffff831660048201526000918291829173ffffffffffffffffffffffffffffffffffffffff169063da26663a90602401606060405180830381865afa158015611f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb49190613c56565b8051602090910151909590945092505050565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611ff3816120b2565b6120008787878787610cb1565b6040805163ffffffff8a16815273ffffffffffffffffffffffffffffffffffffffff8816602082015267ffffffffffffffff8916818301526060810183905290519193507f2fc4e514b16a8f0f9f15009b848663b25939a33de41fa2b98a534b3ac4d5a572919081900360800190a15095945050505050565b6000848285856040516020016120929493929190613cc8565b604051602081830303815290604052805190602001209050949350505050565b6119ae81336127c8565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561211b5750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561217a576097805474010000000000000000000000000000000000000000900467ffffffffffffffff1690601461215283613d0e565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b6110018282612868565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260ca602052604090205481151560ff9091161515036122275760405162461bcd60e51b815260206004820152602660248201527f4d756c74695369673a207369676e657220616c726561647920696e207468617460448201527f20737461746500000000000000000000000000000000000000000000000000006064820152608401610a5b565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260ca6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016821515179055806122995760cb546122949060019067ffffffffffffffff16613d35565b6122b1565b60cb546122b19067ffffffffffffffff166001613d5d565b60cb80547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9283169081179182905568010000000000000000909104909116111561236d5760405162461bcd60e51b8152602060048201526024808201527f4d756c74695369673a20636f6d6d69747465652073697a65203c20746872657360448201527f686f6c64000000000000000000000000000000000000000000000000000000006064820152608401610a5b565b6040805173ffffffffffffffffffffffffffffffffffffffff8416815282151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce91016111c7565b600054610100900460ff166124375760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b612444858585858561295c565b5050505050565b600054610100900460ff166124c85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b6110018282612b27565b60cb5467ffffffffffffffff908116908216118015906124fc575060008167ffffffffffffffff16115b6125485760405162461bcd60e51b815260206004820152601860248201527f4d756c74695369673a20696e76616c69642071756f72756d00000000000000006044820152606401610a5b565b60cb80547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8416908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a232499060200160405180910390a150565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7bfa20a900000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa15801561264d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126719190613d7e565b6119ae5760405162461bcd60e51b815260206004820152602f60248201527f4f7261636c653a20776f726b657220646f6573206e6f7420696d706c656d656e60448201527f7420494f7261636c654665654c696200000000000000000000000000000000006064820152608401610a5b565b60419081029190910160208101516040820151919092015160ff1692565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561275f5750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156127be576097805474010000000000000000000000000000000000000000900467ffffffffffffffff1690601461279683613d9b565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b6110018282612d6d565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166110015761280881612e28565b612813836020612e47565b604051602001612824929190613ddd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b8252610a5b91600401613e5e565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661100157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556128fe3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600054610100900460ff166129d95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b609780547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff861602179055609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055612a716000836120bc565b60005b8551811015612ad257612ac07f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110612ab357612ab36138a9565b60200260200101516120bc565b80612aca81613907565b915050612a74565b5060005b8151811015611e0457612b157fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110612ab357612ab36138a9565b80612b1f81613907565b915050612ad6565b600054610100900460ff16612ba45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b8067ffffffffffffffff16825110158015612bc9575060008167ffffffffffffffff16115b612c155760405162461bcd60e51b815260206004820152601960248201527f4d756c74695369673a207369676e65727320746f6f20666577000000000000006044820152606401610a5b565b6000805b8351811015612d1d576000848281518110612c3657612c366138a9565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611612cbb5760405162461bcd60e51b815260206004820152601c60248201527f4d756c74695369673a207369676e657273206e6f7420736f72746564000000006044820152606401610a5b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260ca6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055915080612d1581613907565b915050612c19565b5050905160cb805467ffffffffffffffff93841668010000000000000000027fffffffffffffffffffffffffffffffff000000000000000000000000000000009091169390921692909217179055565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561100157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b606061099b73ffffffffffffffffffffffffffffffffffffffff831660145b60606000612e56836002613c3f565b612e61906002613e71565b67ffffffffffffffff811115612e7957612e796132bb565b6040519080825280601f01601f191660200182016040528015612ea3576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612eda57612eda6138a9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612f3d57612f3d6138a9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612f79846002613c3f565b612f84906001613e71565b90505b6001811115613021577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612fc557612fc56138a9565b1a60f81b828281518110612fdb57612fdb6138a9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361301a81613e84565b9050612f87565b5083156130705760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a5b565b9392505050565b60006020828403121561308957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461307057600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146119ae57600080fd5b6000806000606084860312156130f057600080fd5b83356130fb816130b9565b9250602084013561310b816130b9565b929592945050506040919091013590565b80151581146119ae57600080fd5b60006020828403121561313c57600080fd5b81356130708161311c565b60006020828403121561315957600080fd5b5035919050565b6000806040838503121561317357600080fd5b823591506020830135613185816130b9565b809150509250929050565b63ffffffff811681146119ae57600080fd5b67ffffffffffffffff811681146119ae57600080fd5b80356131c3816131a2565b919050565b60008083601f8401126131da57600080fd5b50813567ffffffffffffffff8111156131f257600080fd5b60208301915083602082850101111561320a57600080fd5b9250929050565b60008060008060006080868803121561322957600080fd5b853561323481613190565b94506020860135613244816131a2565b93506040860135613254816130b9565b9250606086013567ffffffffffffffff81111561327057600080fd5b61327c888289016131c8565b969995985093965092949392505050565b600080604083850312156132a057600080fd5b82356132ab816130b9565b915060208301356131858161311c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561330d5761330d6132bb565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561335a5761335a6132bb565b604052919050565b600067ffffffffffffffff82111561337c5761337c6132bb565b5060051b60200190565b803561ffff811681146131c357600080fd5b6fffffffffffffffffffffffffffffffff811681146119ae57600080fd5b600060208083850312156133c957600080fd5b823567ffffffffffffffff8111156133e057600080fd5b8301601f810185136133f157600080fd5b80356134046133ff82613362565b613313565b81815260079190911b8201830190838101908783111561342357600080fd5b928401925b8284101561349d57608084890312156134415760008081fd5b6134496132ea565b843561345481613190565b815284860135613463816131a2565b818701526040613474868201613386565b9082015260608581013561348781613398565b9082015282526080939093019290840190613428565b979650505050505050565b600082601f8301126134b957600080fd5b813560206134c96133ff83613362565b82815260059290921b840181019181810190868411156134e857600080fd5b8286015b8481101561350c5780356134ff816130b9565b83529183019183016134ec565b509695505050505050565b600080600080600060a0868803121561352f57600080fd5b853567ffffffffffffffff8082111561354757600080fd5b61355389838a016134a8565b965060208801359150613565826130b9565b9094506040870135908082111561357b57600080fd5b61358789838a016134a8565b945060608801359150613599826131a2565b909250608087013590808211156135af57600080fd5b506135bc888289016134a8565b9150509295509295909350565b6000602082840312156135db57600080fd5b8135613070816130b9565b600080600080600080600060a0888a03121561360157600080fd5b873561360c816130b9565b9650602088013567ffffffffffffffff8082111561362957600080fd5b6136358b838c016131c8565b909850965060408a0135955060608a013591508082111561365557600080fd5b506136628a828b016131c8565b90945092505060808801356136768161311c565b8091505092959891949750929550565b60006020828403121561369857600080fd5b8135613070816131a2565b6000602082840312156136b557600080fd5b813561307081613190565b6000602082840312156136d257600080fd5b61307082613386565b6000806000604084860312156136f057600080fd5b83359250602084013567ffffffffffffffff81111561370e57600080fd5b61371a868287016131c8565b9497909650939450505050565b6000806000806060858703121561373d57600080fd5b8435613748816130b9565b9350602085013567ffffffffffffffff81111561376457600080fd5b613770878288016131c8565b9598909750949560400135949350505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600061014073ffffffffffffffffffffffffffffffffffffffff80885116845263ffffffff6020890151166020850152604088015167ffffffffffffffff80821660408701528260608b01511660608701528060808b015116608087015250505061ffff60a08801511660a084015261387c60c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b8061012084015261349d8184018587613783565b6000602082840312156138a257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613938576139386138d8565b5060010190565b602080825282518282018190526000919060409081850190868401855b828110156139bc578151805163ffffffff1685528681015167ffffffffffffffff16878601528581015161ffff16868601526060908101516fffffffffffffffffffffffffffffffff16908501526080909301929085019060010161395c565b5091979650505050505050565b8183823760009101908152919050565b60005b838110156139f45781810151838201526020016139dc565b50506000910152565b60008151808452613a158160208601602086016139d9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528215156040820152608060608201526000613a8460808301846139fd565b9695505050505050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015613ace5780818660040360031b1b83161692505b505092915050565b60008085851115613ae657600080fd5b83861115613af357600080fd5b5050820193919092039150565b600080600060608486031215613b1557600080fd5b833567ffffffffffffffff80821115613b2d57600080fd5b818601915086601f830112613b4157600080fd5b8135602082821115613b5557613b556132bb565b613b85817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601613313565b92508183528881838601011115613b9b57600080fd5b8181850182850137600081838501015282965080880135955050505050613bc4604085016131b8565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b604081526000613c0f60408301856139fd565b90508260208301529392505050565b600060208284031215613c3057600080fd5b81516004811061307057600080fd5b808202811582820484141761099b5761099b6138d8565b600060608284031215613c6857600080fd5b6040516060810181811067ffffffffffffffff82111715613c8b57613c8b6132bb565b6040528251613c9981613398565b81526020830151613ca9816131a2565b60208201526040830151613cbc81613190565b60408201529392505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16815283601482015281836034830137600091016034019081529392505050565b600067ffffffffffffffff808316818103613d2b57613d2b6138d8565b6001019392505050565b67ffffffffffffffff828116828216039080821115613d5657613d566138d8565b5092915050565b67ffffffffffffffff818116838216019080821115613d5657613d566138d8565b600060208284031215613d9057600080fd5b81516130708161311c565b600067ffffffffffffffff821680613db557613db56138d8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613e158160178501602088016139d9565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613e528160288401602088016139d9565b01602801949350505050565b60208152600061307060208301846139fd565b8082018082111561099b5761099b6138d8565b600081613e9357613e936138d8565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea264697066735822122084eecb57bb92f6d0d5fc98179a7bf67417ee13d33bec8427657c6f79e3f8a2ea64736f6c63430008120033",
991
- "deployedBytecode": "0x60806040526004361061024e5760003560e01c806375b238fc11610138578063aef18bf7116100b0578063d547741f1161007f578063e4fbd90311610064578063e4fbd903146108b4578063f3ad31f4146108c7578063fd62e750146108e757600080fd5b8063d547741f14610843578063da26663a1461086357600080fd5b8063aef18bf71461079a578063c358de0a146107ca578063c7a823e0146107ea578063d2ae21041461080a57600080fd5b806391d14854116101075780639f32e2a3116100ec5780639f32e2a314610731578063a217fddf14610751578063a98586e11461076657600080fd5b806391d14854146106395780639e9449651461068c57600080fd5b806375b238fc14610598578063770f015f146105cc578063834dfdce146105f95780638585c9451461061957600080fd5b806330bb3aac116101cb578063545f8c6b1161019a578063724e78da1161017f578063724e78da146104f6578063736c0d5b14610516578063741bef1a1461054657600080fd5b8063545f8c6b146104a45780635c975abb146104c457600080fd5b806330bb3aac1461042457806331cb61051461044457806336568abe1461046457806352d3b8711461048457600080fd5b806316c38b3c116102225780631f3a6f04116102075780631f3a6f04146103a0578063248a9ca3146103d45780632f2ff15d1461040457600080fd5b806316c38b3c1461033a5780631703a0181461035a57600080fd5b8062bf2e801461025357806301ffc9a7146102a6578063036c0a2c146102d65780631095b6d714610318575b600080fd5b34801561025f57600080fd5b5060975461028e907c0100000000000000000000000000000000000000000000000000000000900461ffff1681565b60405161ffff90911681526020015b60405180910390f35b3480156102b257600080fd5b506102c66102c1366004613077565b610908565b604051901515815260200161029d565b3480156102e257600080fd5b5061030a7f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481565b60405190815260200161029d565b34801561032457600080fd5b506103386103333660046130db565b6109a1565b005b34801561034657600080fd5b5061033861035536600461312a565b610b4b565b34801561036657600080fd5b5060cb546103879068010000000000000000900467ffffffffffffffff1681565b60405167ffffffffffffffff909116815260200161029d565b3480156103ac57600080fd5b5061030a7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca81565b3480156103e057600080fd5b5061030a6103ef366004613147565b60009081526065602052604090206001015490565b34801561041057600080fd5b5061033861041f366004613160565b610ba1565b34801561043057600080fd5b5061030a61043f366004613211565b610cb1565b34801561045057600080fd5b5061033861045f36600461328d565b610fa8565b34801561047057600080fd5b5061033861047f366004613160565b611005565b34801561049057600080fd5b5061033861049f3660046133b6565b61104d565b3480156104b057600080fd5b506103386104bf366004613517565b6111d3565b3480156104d057600080fd5b506098546102c69074010000000000000000000000000000000000000000900460ff1681565b34801561050257600080fd5b506103386105113660046135c9565b611408565b34801561052257600080fd5b506102c66105313660046135c9565b60ca6020526000908152604090205460ff1681565b34801561055257600080fd5b506098546105739073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200161029d565b3480156105a457600080fd5b5061030a7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b3480156105d857600080fd5b506097546105739073ffffffffffffffffffffffffffffffffffffffff1681565b34801561060557600080fd5b506103386106143660046135e6565b6114a5565b34801561062557600080fd5b50610338610634366004613686565b611956565b34801561064557600080fd5b506102c6610654366004613160565b600091825260656020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b34801561069857600080fd5b506106f66106a73660046136a3565b60fd6020526000908152604090205467ffffffffffffffff81169068010000000000000000810461ffff16906a010000000000000000000090046fffffffffffffffffffffffffffffffff1683565b6040805167ffffffffffffffff909416845261ffff90921660208401526fffffffffffffffffffffffffffffffff169082015260600161029d565b34801561073d57600080fd5b5061033861074c3660046135c9565b6119b1565b34801561075d57600080fd5b5061030a600081565b34801561077257600080fd5b5061030a7f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81565b3480156107a657600080fd5b506102c66107b5366004613147565b60fe6020526000908152604090205460ff1681565b3480156107d657600080fd5b506103386107e53660046136c0565b611a57565b3480156107f657600080fd5b506103386108053660046136db565b611b04565b34801561081657600080fd5b506097546103879074010000000000000000000000000000000000000000900467ffffffffffffffff1681565b34801561084f57600080fd5b5061033861085e366004613160565b611e0c565b34801561086f57600080fd5b5061088361087e3660046136a3565b611f17565b604080516fffffffffffffffffffffffffffffffff909316835267ffffffffffffffff90911660208301520161029d565b61030a6108c2366004613211565b611fc7565b3480156108d357600080fd5b5061030a6108e2366004613727565b612079565b3480156108f357600080fd5b5060cb546103879067ffffffffffffffff1681565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061099b57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756109cb816120b2565b73ffffffffffffffffffffffffffffffffffffffff841660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff16610a645760405162461bcd60e51b815260206004820152601b60248201527f576f726b65723a20496e76616c6964206d657373616765206c6962000000000060448201526064015b60405180910390fd5b6040517ffd9be52200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff84811660048301526024820184905285169063fd9be52290604401600060405180830381600087803b158015610ad457600080fd5b505af1158015610ae8573d6000803e3d6000fd5b50506040805173ffffffffffffffffffffffffffffffffffffffff8089168252871660208201529081018590527f9b1bfa7fa9ee420a16e124f794c35ac9f90472acc99140eb2f6447c714cad8eb9250606001905060405180910390a150505050565b6000610b56816120b2565b506098805491151574010000000000000000000000000000000000000000027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480610bef57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80610c1957507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15610c7257303314610c6d5760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b610ca2565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103610ca257610ca2816120b2565b610cac83836120bc565b505050565b73ffffffffffffffffffffffffffffffffffffffff831660009081527f0f6a9529577ef7bf1cbc8fccda1cc3c881f755c7e92e34c7c4deac1fa3c1c7916020526040812054849060ff1615610d485760405162461bcd60e51b815260206004820152601360248201527f576f726b65723a206e6f7420616c6c6f776564000000000000000000000000006044820152606401610a5b565b60975474010000000000000000000000000000000000000000900467ffffffffffffffff161580610dbd575073ffffffffffffffffffffffffffffffffffffffff811660009081527f35c5067391a9036240763c1067bfa438a7b0131204a675a2fe562dd73782ce85602052604090205460ff165b15610f565760985474010000000000000000000000000000000000000000900460ff1615610e2d5760405162461bcd60e51b815260206004820152600e60248201527f576f726b65723a207061757365640000000000000000000000000000000000006044820152606401610a5b565b6040805160c08101825260985473ffffffffffffffffffffffffffffffffffffffff908116825263ffffffff8a16602080840182905267ffffffffffffffff808c16858701528a8416606086015260cb5468010000000000000000900416608085015260975461ffff7c010000000000000000000000000000000000000000000000000000000082041660a0860152600092835260fd9091529084902093517f7bfa20a90000000000000000000000000000000000000000000000000000000081529293911691637bfa20a991610f0d918591908a908a906004016137cc565b602060405180830381865afa158015610f2a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f4e9190613890565b925050610f9e565b60405162461bcd60e51b815260206004820152601360248201527f576f726b65723a206e6f7420616c6c6f776564000000000000000000000000006044820152606401610a5b565b5095945050505050565b303314610ff75760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b6110018282612184565b5050565b60405162461bcd60e51b815260206004820152601c60248201527f576f726b65723a2063616e6e6f742072656e6f756e636520726f6c65000000006044820152606401610a5b565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611077816120b2565b60005b8251811015611197576000838281518110611097576110976138a9565b60209081029190910181015160408051606080820183528385015167ffffffffffffffff90811683528385015161ffff908116848801908152928601516fffffffffffffffffffffffffffffffff908116858701908152965163ffffffff16600090815260fd9098529490962092518354925195519094166a0100000000000000000000027fffffffffffff00000000000000000000000000000000ffffffffffffffffffff9590961668010000000000000000027fffffffffffffffffffffffffffffffffffffffffffff000000000000000000009092169316929092179190911791909116919091179055508061118f81613907565b91505061107a565b507f7dd21e42791b013d1929e86f0c59085e4fca24251f0f1aa81917b3b1611766e0826040516111c7919061393f565b60405180910390a15050565b60006111fd7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d61035490565b905073ffffffffffffffffffffffffffffffffffffffff81166112565773ffffffffffffffffffffffffffffffffffffffff7fb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d610355611278565b3373ffffffffffffffffffffffffffffffffffffffff82161461127857600080fd5b600054610100900460ff16158080156112985750600054600160ff909116105b806112b25750303b1580156112b2575060005460ff166001145b6113245760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610a5b565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561138257600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6113928787612ee06000876123ba565b61139c858561244b565b80156113ff57600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050505050565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611432816120b2565b609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527ff724a45d041687842411f2b977ef22ab8f43c8f1104f4592b42a00f9b34a643d906020016111c7565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756114cf816120b2565b73ffffffffffffffffffffffffffffffffffffffff881660009081527fe3a3b2721d010eec8988605a93cd7c15d969808c0e2b42f6155dc2b4fa13c081602052604090205460ff1680611537575073ffffffffffffffffffffffffffffffffffffffff881630145b6115a95760405162461bcd60e51b815260206004820152602960248201527f4f7261636c653a20746172676574206d757374206265206d6573736167656c6960448201527f62206f722073656c6600000000000000000000000000000000000000000000006064820152608401610a5b565b4285116115f85760405162461bcd60e51b815260206004820152601960248201527f4f7261636c653a2063616c6c20646174612065787069726564000000000000006044820152606401610a5b565b600061160689898989612079565b600081815260fe602052604090205490915060ff161561168e5760405162461bcd60e51b815260206004820152602260248201527f4f7261636c653a2063616c6c206461746120616c72656164792065786563757460448201527f65640000000000000000000000000000000000000000000000000000000000006064820152608401610a5b565b600081815260fe6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556116d0818686611b04565b6000808a73ffffffffffffffffffffffffffffffffffffffff168a8a6040516116fa9291906139c9565b6000604051808303816000865af19150503d8060008114611737576040519150601f19603f3d011682016040523d82523d6000602084013e61173c565b606091505b50915091507f293e3a2153dc5c8d3667cbd6ede71a71674b2381e5dc4b40c91ad0e813447c0f8b8484846040516117769493929190613a47565b60405180910390a18480156117885750815b80156117de57507f7e09a8d6000000000000000000000000000000000000000000000000000000006117ba8a8c613a8e565b7fffffffff0000000000000000000000000000000000000000000000000000000016145b156119495760008b90506000808c8c60049080926117fe93929190613ad6565b81019061180b9190613b00565b50909250905060016040517f7c0cf76300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff851690637c0cf763906118679086908690600401613bfc565b602060405180830381865afa158015611884573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118a89190613c1e565b60038111156118b9576118b9613bcd565b03611945576040517f5ed31c5900000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff841690635ed31c59906119129085908590600401613bfc565b600060405180830381600087803b15801561192c57600080fd5b505af1158015611940573d6000803e3d6000fd5b505050505b5050505b5050505050505050505050565b3033146119a55760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b6119ae816124d2565b50565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756119db816120b2565b6119e4826125c3565b609780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff84169081179091556040519081527f1399be28223800f8669b3ba5f8721d9fc16fc4e8d0bbf98378791c8c5a3015e0906020016111c7565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775611a81816120b2565b609780547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff8516908102919091179091556040519081527f7af0ac740036ffb1c97b03697859d729e80a44ae5030543d64971c313565ab4d906020016111c7565b60cb54611b289068010000000000000000900467ffffffffffffffff166041613c3f565b811015611b775760405162461bcd60e51b815260206004820152601e60248201527f4d756c74695369673a207369676e61747572657320746f6f2073686f727400006044820152606401610a5b565b6000611bd0846040517f19457468657265756d205369676e6564204d6573736167653a0a3332000000006020820152603c8101829052600090605c01604051602081830303815290604052805190602001209050919050565b90506000805b60cb5468010000000000000000900467ffffffffffffffff16811015611e04576000806000611c3c88888080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152508892506126e3915050565b925092509250600060018785858560405160008152602001604052604051611c80949392919093845260ff9290921660208401526040830152606082015260800190565b6020604051602081039080840390855afa158015611ca2573d6000803e3d6000fd5b5050506020604051035190508573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611611d4f5760405162461bcd60e51b815260206004820152602f60248201527f4d756c74695369673a207369676e617475726573206d75737420626520696e2060448201527f617363656e64696e67206f7264657200000000000000000000000000000000006064820152608401610a5b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260ca602052604090205460ff16611dea5760405162461bcd60e51b815260206004820152602860248201527f4d756c74695369673a207369676e6174757265206973206e6f742066726f6d2060448201527f61207369676e65720000000000000000000000000000000000000000000000006064820152608401610a5b565b809550505050508080611dfc90613907565b915050611bd6565b505050505050565b817f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca811480611e5a57507f4270fae16c6d150d00e80b689daca99e8073b1838ff2b6063a37be9d851283e481145b80611e8457507f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de81145b15611edd57303314611ed85760405162461bcd60e51b815260206004820152601b60248201527f4f7261636c653a2063616c6c6572206d7573742062652073656c6600000000006044820152606401610a5b565b611f0d565b7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217758103611f0d57611f0d816120b2565b610cac8383612701565b6098546040517fda26663a00000000000000000000000000000000000000000000000000000000815263ffffffff831660048201526000918291829173ffffffffffffffffffffffffffffffffffffffff169063da26663a90602401606060405180830381865afa158015611f90573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fb49190613c56565b8051602090910151909590945092505050565b60007f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de611ff3816120b2565b6120008787878787610cb1565b6040805163ffffffff8a16815273ffffffffffffffffffffffffffffffffffffffff8816602082015267ffffffffffffffff8916818301526060810183905290519193507f2fc4e514b16a8f0f9f15009b848663b25939a33de41fa2b98a534b3ac4d5a572919081900360800190a15095945050505050565b6000848285856040516020016120929493929190613cc8565b604051602081830303815290604052805190602001209050949350505050565b6119ae81336127c8565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561211b5750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16155b1561217a576097805474010000000000000000000000000000000000000000900467ffffffffffffffff1690601461215283613d0e565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b6110018282612868565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260ca602052604090205481151560ff9091161515036122275760405162461bcd60e51b815260206004820152602660248201527f4d756c74695369673a207369676e657220616c726561647920696e207468617460448201527f20737461746500000000000000000000000000000000000000000000000000006064820152608401610a5b565b73ffffffffffffffffffffffffffffffffffffffff8216600090815260ca6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016821515179055806122995760cb546122949060019067ffffffffffffffff16613d35565b6122b1565b60cb546122b19067ffffffffffffffff166001613d5d565b60cb80547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff9283169081179182905568010000000000000000909104909116111561236d5760405162461bcd60e51b8152602060048201526024808201527f4d756c74695369673a20636f6d6d69747465652073697a65203c20746872657360448201527f686f6c64000000000000000000000000000000000000000000000000000000006064820152608401610a5b565b6040805173ffffffffffffffffffffffffffffffffffffffff8416815282151560208201527f863d338cad74814b108a06288ad5e0e80d56495e0332238b1d2cdcfa0ca8e5ce91016111c7565b600054610100900460ff166124375760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b612444858585858561295c565b5050505050565b600054610100900460ff166124c85760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b6110018282612b27565b60cb5467ffffffffffffffff908116908216118015906124fc575060008167ffffffffffffffff16115b6125485760405162461bcd60e51b815260206004820152601860248201527f4d756c74695369673a20696e76616c69642071756f72756d00000000000000006044820152606401610a5b565b60cb80547fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000067ffffffffffffffff8416908102919091179091556040519081527fb600f3cf7f38a4b49bb0c75f722ef69f7e3e39ef3bb4aa8207fd86e724a232499060200160405180910390a150565b6040517f01ffc9a70000000000000000000000000000000000000000000000000000000081527f7bfa20a900000000000000000000000000000000000000000000000000000000600482015273ffffffffffffffffffffffffffffffffffffffff8216906301ffc9a790602401602060405180830381865afa15801561264d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906126719190613d7e565b6119ae5760405162461bcd60e51b815260206004820152602f60248201527f4f7261636c653a20776f726b657220646f6573206e6f7420696d706c656d656e60448201527f7420494f7261636c654665654c696200000000000000000000000000000000006064820152608401610a5b565b60419081029190910160208101516040820151919092015160ff1692565b7f74845de37cfabd357633214b47fa91ccd19b05b7c5a08ac22c187f811fb62bca8214801561275f5750600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff165b156127be576097805474010000000000000000000000000000000000000000900467ffffffffffffffff1690601461279683613d9b565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff160217905550505b6110018282612d6d565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff166110015761280881612e28565b612813836020612e47565b604051602001612824929190613ddd565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529082905262461bcd60e51b8252610a5b91600401613e5e565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1661100157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556128fe3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b600054610100900460ff166129d95760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b609780547fffff0000ffffffffffffffffffffffffffffffffffffffffffffffffffffffff167c010000000000000000000000000000000000000000000000000000000061ffff861602179055609880547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff8616179055612a716000836120bc565b60005b8551811015612ad257612ac07f724aface199fe5bed93ae8508474576a9adf3dc443b2c451842a2242919f19de878381518110612ab357612ab36138a9565b60200260200101516120bc565b80612aca81613907565b915050612a74565b5060005b8151811015611e0457612b157fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775838381518110612ab357612ab36138a9565b80612b1f81613907565b915050612ad6565b600054610100900460ff16612ba45760405162461bcd60e51b815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610a5b565b8067ffffffffffffffff16825110158015612bc9575060008167ffffffffffffffff16115b612c155760405162461bcd60e51b815260206004820152601960248201527f4d756c74695369673a207369676e65727320746f6f20666577000000000000006044820152606401610a5b565b6000805b8351811015612d1d576000848281518110612c3657612c366138a9565b602002602001015190508273ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1611612cbb5760405162461bcd60e51b815260206004820152601c60248201527f4d756c74695369673a207369676e657273206e6f7420736f72746564000000006044820152606401610a5b565b73ffffffffffffffffffffffffffffffffffffffff8116600090815260ca6020526040902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055915080612d1581613907565b915050612c19565b5050905160cb805467ffffffffffffffff93841668010000000000000000027fffffffffffffffffffffffffffffffff000000000000000000000000000000009091169390921692909217179055565b600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff161561100157600082815260656020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b606061099b73ffffffffffffffffffffffffffffffffffffffff831660145b60606000612e56836002613c3f565b612e61906002613e71565b67ffffffffffffffff811115612e7957612e796132bb565b6040519080825280601f01601f191660200182016040528015612ea3576020820181803683370190505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612eda57612eda6138a9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612f3d57612f3d6138a9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000612f79846002613c3f565b612f84906001613e71565b90505b6001811115613021577f303132333435363738396162636465660000000000000000000000000000000085600f1660108110612fc557612fc56138a9565b1a60f81b828281518110612fdb57612fdb6138a9565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361301a81613e84565b9050612f87565b5083156130705760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610a5b565b9392505050565b60006020828403121561308957600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461307057600080fd5b73ffffffffffffffffffffffffffffffffffffffff811681146119ae57600080fd5b6000806000606084860312156130f057600080fd5b83356130fb816130b9565b9250602084013561310b816130b9565b929592945050506040919091013590565b80151581146119ae57600080fd5b60006020828403121561313c57600080fd5b81356130708161311c565b60006020828403121561315957600080fd5b5035919050565b6000806040838503121561317357600080fd5b823591506020830135613185816130b9565b809150509250929050565b63ffffffff811681146119ae57600080fd5b67ffffffffffffffff811681146119ae57600080fd5b80356131c3816131a2565b919050565b60008083601f8401126131da57600080fd5b50813567ffffffffffffffff8111156131f257600080fd5b60208301915083602082850101111561320a57600080fd5b9250929050565b60008060008060006080868803121561322957600080fd5b853561323481613190565b94506020860135613244816131a2565b93506040860135613254816130b9565b9250606086013567ffffffffffffffff81111561327057600080fd5b61327c888289016131c8565b969995985093965092949392505050565b600080604083850312156132a057600080fd5b82356132ab816130b9565b915060208301356131858161311c565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040516080810167ffffffffffffffff8111828210171561330d5761330d6132bb565b60405290565b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff8111828210171561335a5761335a6132bb565b604052919050565b600067ffffffffffffffff82111561337c5761337c6132bb565b5060051b60200190565b803561ffff811681146131c357600080fd5b6fffffffffffffffffffffffffffffffff811681146119ae57600080fd5b600060208083850312156133c957600080fd5b823567ffffffffffffffff8111156133e057600080fd5b8301601f810185136133f157600080fd5b80356134046133ff82613362565b613313565b81815260079190911b8201830190838101908783111561342357600080fd5b928401925b8284101561349d57608084890312156134415760008081fd5b6134496132ea565b843561345481613190565b815284860135613463816131a2565b818701526040613474868201613386565b9082015260608581013561348781613398565b9082015282526080939093019290840190613428565b979650505050505050565b600082601f8301126134b957600080fd5b813560206134c96133ff83613362565b82815260059290921b840181019181810190868411156134e857600080fd5b8286015b8481101561350c5780356134ff816130b9565b83529183019183016134ec565b509695505050505050565b600080600080600060a0868803121561352f57600080fd5b853567ffffffffffffffff8082111561354757600080fd5b61355389838a016134a8565b965060208801359150613565826130b9565b9094506040870135908082111561357b57600080fd5b61358789838a016134a8565b945060608801359150613599826131a2565b909250608087013590808211156135af57600080fd5b506135bc888289016134a8565b9150509295509295909350565b6000602082840312156135db57600080fd5b8135613070816130b9565b600080600080600080600060a0888a03121561360157600080fd5b873561360c816130b9565b9650602088013567ffffffffffffffff8082111561362957600080fd5b6136358b838c016131c8565b909850965060408a0135955060608a013591508082111561365557600080fd5b506136628a828b016131c8565b90945092505060808801356136768161311c565b8091505092959891949750929550565b60006020828403121561369857600080fd5b8135613070816131a2565b6000602082840312156136b557600080fd5b813561307081613190565b6000602082840312156136d257600080fd5b61307082613386565b6000806000604084860312156136f057600080fd5b83359250602084013567ffffffffffffffff81111561370e57600080fd5b61371a868287016131c8565b9497909650939450505050565b6000806000806060858703121561373d57600080fd5b8435613748816130b9565b9350602085013567ffffffffffffffff81111561376457600080fd5b613770878288016131c8565b9598909750949560400135949350505050565b8183528181602085013750600060208284010152600060207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f840116840101905092915050565b600061014073ffffffffffffffffffffffffffffffffffffffff80885116845263ffffffff6020890151166020850152604088015167ffffffffffffffff80821660408701528260608b01511660608701528060808b015116608087015250505061ffff60a08801511660a084015261387c60c08401875467ffffffffffffffff81168252604081811c61ffff16602084015260509190911c6fffffffffffffffffffffffffffffffff16910152565b8061012084015261349d8184018587613783565b6000602082840312156138a257600080fd5b5051919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613938576139386138d8565b5060010190565b602080825282518282018190526000919060409081850190868401855b828110156139bc578151805163ffffffff1685528681015167ffffffffffffffff16878601528581015161ffff16868601526060908101516fffffffffffffffffffffffffffffffff16908501526080909301929085019060010161395c565b5091979650505050505050565b8183823760009101908152919050565b60005b838110156139f45781810151838201526020016139dc565b50506000910152565b60008151808452613a158160208601602086016139d9565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b73ffffffffffffffffffffffffffffffffffffffff851681528360208201528215156040820152608060608201526000613a8460808301846139fd565b9695505050505050565b7fffffffff000000000000000000000000000000000000000000000000000000008135818116916004851015613ace5780818660040360031b1b83161692505b505092915050565b60008085851115613ae657600080fd5b83861115613af357600080fd5b5050820193919092039150565b600080600060608486031215613b1557600080fd5b833567ffffffffffffffff80821115613b2d57600080fd5b818601915086601f830112613b4157600080fd5b8135602082821115613b5557613b556132bb565b613b85817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f85011601613313565b92508183528881838601011115613b9b57600080fd5b8181850182850137600081838501015282965080880135955050505050613bc4604085016131b8565b90509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b604081526000613c0f60408301856139fd565b90508260208301529392505050565b600060208284031215613c3057600080fd5b81516004811061307057600080fd5b808202811582820484141761099b5761099b6138d8565b600060608284031215613c6857600080fd5b6040516060810181811067ffffffffffffffff82111715613c8b57613c8b6132bb565b6040528251613c9981613398565b81526020830151613ca9816131a2565b60208201526040830151613cbc81613190565b60408201529392505050565b7fffffffffffffffffffffffffffffffffffffffff0000000000000000000000008560601b16815283601482015281836034830137600091016034019081529392505050565b600067ffffffffffffffff808316818103613d2b57613d2b6138d8565b6001019392505050565b67ffffffffffffffff828116828216039080821115613d5657613d566138d8565b5092915050565b67ffffffffffffffff818116838216019080821115613d5657613d566138d8565b600060208284031215613d9057600080fd5b81516130708161311c565b600067ffffffffffffffff821680613db557613db56138d8565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351613e158160178501602088016139d9565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351613e528160288401602088016139d9565b01602801949350505050565b60208152600061307060208301846139fd565b8082018082111561099b5761099b6138d8565b600081613e9357613e936138d8565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff019056fea264697066735822122084eecb57bb92f6d0d5fc98179a7bf67417ee13d33bec8427657c6f79e3f8a2ea64736f6c63430008120033",
992
- "devdoc": {
993
- "events": {
994
- "Initialized(uint8)": {
995
- "details": "Triggered when the contract has been initialized or reinitialized."
996
- },
997
- "RoleAdminChanged(bytes32,bytes32,bytes32)": {
998
- "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._"
999
- },
1000
- "RoleGranted(bytes32,address,address)": {
1001
- "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}."
1002
- },
1003
- "RoleRevoked(bytes32,address,address)": {
1004
- "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`)"
1005
- }
1006
- },
1007
- "kind": "dev",
1008
- "methods": {
1009
- "getRoleAdmin(bytes32)": {
1010
- "details": "Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}."
1011
- },
1012
- "grantRole(bytes32,address)": {
1013
- "details": "Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleGranted} event."
1014
- },
1015
- "hasRole(bytes32,address)": {
1016
- "details": "Returns `true` if `account` has been granted `role`."
1017
- },
1018
- "revokeRole(bytes32,address)": {
1019
- "details": "Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role. May emit a {RoleRevoked} event."
1020
- },
1021
- "supportsInterface(bytes4)": {
1022
- "details": "See {IERC165-supportsInterface}."
1023
- }
1024
- },
1025
- "version": 1
1026
- },
1027
- "userdoc": {
1028
- "kind": "user",
1029
- "methods": {},
1030
- "version": 1
1031
- },
1032
- "storageLayout": {
1033
- "storage": [
1034
- {
1035
- "astId": 3197,
1036
- "contract": "contracts/uln/Oracle.sol:Oracle",
1037
- "label": "_initialized",
1038
- "offset": 0,
1039
- "slot": "0",
1040
- "type": "t_uint8"
1041
- },
1042
- {
1043
- "astId": 3200,
1044
- "contract": "contracts/uln/Oracle.sol:Oracle",
1045
- "label": "_initializing",
1046
- "offset": 1,
1047
- "slot": "0",
1048
- "type": "t_bool"
1049
- },
1050
- {
1051
- "astId": 3814,
1052
- "contract": "contracts/uln/Oracle.sol:Oracle",
1053
- "label": "__gap",
1054
- "offset": 0,
1055
- "slot": "1",
1056
- "type": "t_array(t_uint256)50_storage"
1057
- },
1058
- {
1059
- "astId": 4087,
1060
- "contract": "contracts/uln/Oracle.sol:Oracle",
1061
- "label": "__gap",
1062
- "offset": 0,
1063
- "slot": "51",
1064
- "type": "t_array(t_uint256)50_storage"
1065
- },
1066
- {
1067
- "astId": 2689,
1068
- "contract": "contracts/uln/Oracle.sol:Oracle",
1069
- "label": "_roles",
1070
- "offset": 0,
1071
- "slot": "101",
1072
- "type": "t_mapping(t_bytes32,t_struct(RoleData)2684_storage)"
1073
- },
1074
- {
1075
- "astId": 2984,
1076
- "contract": "contracts/uln/Oracle.sol:Oracle",
1077
- "label": "__gap",
1078
- "offset": 0,
1079
- "slot": "102",
1080
- "type": "t_array(t_uint256)49_storage"
1081
- },
1082
- {
1083
- "astId": 9625,
1084
- "contract": "contracts/uln/Oracle.sol:Oracle",
1085
- "label": "workerLib",
1086
- "offset": 0,
1087
- "slot": "151",
1088
- "type": "t_address"
1089
- },
1090
- {
1091
- "astId": 9627,
1092
- "contract": "contracts/uln/Oracle.sol:Oracle",
1093
- "label": "allowlistSize",
1094
- "offset": 20,
1095
- "slot": "151",
1096
- "type": "t_uint64"
1097
- },
1098
- {
1099
- "astId": 9629,
1100
- "contract": "contracts/uln/Oracle.sol:Oracle",
1101
- "label": "defaultMultiplierBps",
1102
- "offset": 28,
1103
- "slot": "151",
1104
- "type": "t_uint16"
1105
- },
1106
- {
1107
- "astId": 9632,
1108
- "contract": "contracts/uln/Oracle.sol:Oracle",
1109
- "label": "priceFeed",
1110
- "offset": 0,
1111
- "slot": "152",
1112
- "type": "t_contract(ILayerZeroPriceFeed)10191"
1113
- },
1114
- {
1115
- "astId": 9634,
1116
- "contract": "contracts/uln/Oracle.sol:Oracle",
1117
- "label": "paused",
1118
- "offset": 20,
1119
- "slot": "152",
1120
- "type": "t_bool"
1121
- },
1122
- {
1123
- "astId": 9988,
1124
- "contract": "contracts/uln/Oracle.sol:Oracle",
1125
- "label": "__gap",
1126
- "offset": 0,
1127
- "slot": "153",
1128
- "type": "t_array(t_uint256)49_storage"
1129
- },
1130
- {
1131
- "astId": 10578,
1132
- "contract": "contracts/uln/Oracle.sol:Oracle",
1133
- "label": "signers",
1134
- "offset": 0,
1135
- "slot": "202",
1136
- "type": "t_mapping(t_address,t_bool)"
1137
- },
1138
- {
1139
- "astId": 10580,
1140
- "contract": "contracts/uln/Oracle.sol:Oracle",
1141
- "label": "signerSize",
1142
- "offset": 0,
1143
- "slot": "203",
1144
- "type": "t_uint64"
1145
- },
1146
- {
1147
- "astId": 10582,
1148
- "contract": "contracts/uln/Oracle.sol:Oracle",
1149
- "label": "quorum",
1150
- "offset": 8,
1151
- "slot": "203",
1152
- "type": "t_uint64"
1153
- },
1154
- {
1155
- "astId": 10890,
1156
- "contract": "contracts/uln/Oracle.sol:Oracle",
1157
- "label": "__gap",
1158
- "offset": 0,
1159
- "slot": "204",
1160
- "type": "t_array(t_uint256)49_storage"
1161
- },
1162
- {
1163
- "astId": 10913,
1164
- "contract": "contracts/uln/Oracle.sol:Oracle",
1165
- "label": "dstConfig",
1166
- "offset": 0,
1167
- "slot": "253",
1168
- "type": "t_mapping(t_uint32,t_struct(DstConfig)12455_storage)"
1169
- },
1170
- {
1171
- "astId": 10917,
1172
- "contract": "contracts/uln/Oracle.sol:Oracle",
1173
- "label": "usedHashes",
1174
- "offset": 0,
1175
- "slot": "254",
1176
- "type": "t_mapping(t_bytes32,t_bool)"
1177
- }
1178
- ],
1179
- "types": {
1180
- "t_address": {
1181
- "encoding": "inplace",
1182
- "label": "address",
1183
- "numberOfBytes": "20"
1184
- },
1185
- "t_array(t_uint256)49_storage": {
1186
- "base": "t_uint256",
1187
- "encoding": "inplace",
1188
- "label": "uint256[49]",
1189
- "numberOfBytes": "1568"
1190
- },
1191
- "t_array(t_uint256)50_storage": {
1192
- "base": "t_uint256",
1193
- "encoding": "inplace",
1194
- "label": "uint256[50]",
1195
- "numberOfBytes": "1600"
1196
- },
1197
- "t_bool": {
1198
- "encoding": "inplace",
1199
- "label": "bool",
1200
- "numberOfBytes": "1"
1201
- },
1202
- "t_bytes32": {
1203
- "encoding": "inplace",
1204
- "label": "bytes32",
1205
- "numberOfBytes": "32"
1206
- },
1207
- "t_contract(ILayerZeroPriceFeed)10191": {
1208
- "encoding": "inplace",
1209
- "label": "contract ILayerZeroPriceFeed",
1210
- "numberOfBytes": "20"
1211
- },
1212
- "t_mapping(t_address,t_bool)": {
1213
- "encoding": "mapping",
1214
- "key": "t_address",
1215
- "label": "mapping(address => bool)",
1216
- "numberOfBytes": "32",
1217
- "value": "t_bool"
1218
- },
1219
- "t_mapping(t_bytes32,t_bool)": {
1220
- "encoding": "mapping",
1221
- "key": "t_bytes32",
1222
- "label": "mapping(bytes32 => bool)",
1223
- "numberOfBytes": "32",
1224
- "value": "t_bool"
1225
- },
1226
- "t_mapping(t_bytes32,t_struct(RoleData)2684_storage)": {
1227
- "encoding": "mapping",
1228
- "key": "t_bytes32",
1229
- "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)",
1230
- "numberOfBytes": "32",
1231
- "value": "t_struct(RoleData)2684_storage"
1232
- },
1233
- "t_mapping(t_uint32,t_struct(DstConfig)12455_storage)": {
1234
- "encoding": "mapping",
1235
- "key": "t_uint32",
1236
- "label": "mapping(uint32 => struct IOracle.DstConfig)",
1237
- "numberOfBytes": "32",
1238
- "value": "t_struct(DstConfig)12455_storage"
1239
- },
1240
- "t_struct(DstConfig)12455_storage": {
1241
- "encoding": "inplace",
1242
- "label": "struct IOracle.DstConfig",
1243
- "members": [
1244
- {
1245
- "astId": 12450,
1246
- "contract": "contracts/uln/Oracle.sol:Oracle",
1247
- "label": "gas",
1248
- "offset": 0,
1249
- "slot": "0",
1250
- "type": "t_uint64"
1251
- },
1252
- {
1253
- "astId": 12452,
1254
- "contract": "contracts/uln/Oracle.sol:Oracle",
1255
- "label": "multiplierBps",
1256
- "offset": 8,
1257
- "slot": "0",
1258
- "type": "t_uint16"
1259
- },
1260
- {
1261
- "astId": 12454,
1262
- "contract": "contracts/uln/Oracle.sol:Oracle",
1263
- "label": "floorMarginUSD",
1264
- "offset": 10,
1265
- "slot": "0",
1266
- "type": "t_uint128"
1267
- }
1268
- ],
1269
- "numberOfBytes": "32"
1270
- },
1271
- "t_struct(RoleData)2684_storage": {
1272
- "encoding": "inplace",
1273
- "label": "struct AccessControlUpgradeable.RoleData",
1274
- "members": [
1275
- {
1276
- "astId": 2681,
1277
- "contract": "contracts/uln/Oracle.sol:Oracle",
1278
- "label": "members",
1279
- "offset": 0,
1280
- "slot": "0",
1281
- "type": "t_mapping(t_address,t_bool)"
1282
- },
1283
- {
1284
- "astId": 2683,
1285
- "contract": "contracts/uln/Oracle.sol:Oracle",
1286
- "label": "adminRole",
1287
- "offset": 0,
1288
- "slot": "1",
1289
- "type": "t_bytes32"
1290
- }
1291
- ],
1292
- "numberOfBytes": "64"
1293
- },
1294
- "t_uint128": {
1295
- "encoding": "inplace",
1296
- "label": "uint128",
1297
- "numberOfBytes": "16"
1298
- },
1299
- "t_uint16": {
1300
- "encoding": "inplace",
1301
- "label": "uint16",
1302
- "numberOfBytes": "2"
1303
- },
1304
- "t_uint256": {
1305
- "encoding": "inplace",
1306
- "label": "uint256",
1307
- "numberOfBytes": "32"
1308
- },
1309
- "t_uint32": {
1310
- "encoding": "inplace",
1311
- "label": "uint32",
1312
- "numberOfBytes": "4"
1313
- },
1314
- "t_uint64": {
1315
- "encoding": "inplace",
1316
- "label": "uint64",
1317
- "numberOfBytes": "8"
1318
- },
1319
- "t_uint8": {
1320
- "encoding": "inplace",
1321
- "label": "uint8",
1322
- "numberOfBytes": "1"
1323
- }
1324
- }
1325
- }
1326
- }