@venusprotocol/liquidity-hub 0.0.0

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 (76) hide show
  1. package/LICENSE +98 -0
  2. package/README.md +422 -0
  3. package/contracts/Hub/Hub.sol +1614 -0
  4. package/contracts/Hub/HubStorage.sol +106 -0
  5. package/contracts/Hub/lib/HubAdminLib.sol +292 -0
  6. package/contracts/YieldGroup/YieldGroup.sol +128 -0
  7. package/contracts/YieldGroup/YieldGroupFRV.sol +107 -0
  8. package/contracts/YieldGroup/base/YieldGroupBase.sol +797 -0
  9. package/contracts/YieldGroup/base/YieldGroupBaseStorage.sol +73 -0
  10. package/contracts/adapters/AdapterCoreV1.sol +309 -0
  11. package/contracts/adapters/AdapterFRV.sol +276 -0
  12. package/contracts/adapters/AdapterFlux.sol +173 -0
  13. package/contracts/interfaces/IHub.sol +551 -0
  14. package/contracts/interfaces/IHubRegistry.sol +120 -0
  15. package/contracts/interfaces/IMigrator.sol +134 -0
  16. package/contracts/interfaces/IResourceAdapter.sol +154 -0
  17. package/contracts/interfaces/IYieldGroup.sol +119 -0
  18. package/contracts/interfaces/IYieldGroupBase.sol +507 -0
  19. package/contracts/interfaces/IYieldGroupFRV.sol +61 -0
  20. package/contracts/interfaces/external/IComptroller.sol +57 -0
  21. package/contracts/interfaces/external/IFRVVault.sol +113 -0
  22. package/contracts/interfaces/external/IFToken.sol +46 -0
  23. package/contracts/interfaces/external/IFluidLendingResolver.sol +63 -0
  24. package/contracts/interfaces/external/IVBep20.sol +39 -0
  25. package/contracts/interfaces/external/IVToken.sol +125 -0
  26. package/contracts/interfaces/external/IWBNB.sol +16 -0
  27. package/contracts/migrator/Migrator.sol +182 -0
  28. package/contracts/registry/HubRegistry.sol +179 -0
  29. package/deployments/bscmainnet/AdapterCoreV1.json +336 -0
  30. package/deployments/bscmainnet/AdapterFRV.json +225 -0
  31. package/deployments/bscmainnet/AdapterFlux.json +249 -0
  32. package/deployments/bscmainnet/CoreBeacon.json +110 -0
  33. package/deployments/bscmainnet/CoreSource_U.json +1083 -0
  34. package/deployments/bscmainnet/CoreSource_USDC.json +1083 -0
  35. package/deployments/bscmainnet/CoreSource_USDT.json +1083 -0
  36. package/deployments/bscmainnet/FRVBeacon.json +110 -0
  37. package/deployments/bscmainnet/FRVSource_U.json +978 -0
  38. package/deployments/bscmainnet/FRVSource_USDC.json +978 -0
  39. package/deployments/bscmainnet/FRVSource_USDT.json +978 -0
  40. package/deployments/bscmainnet/FluxBeacon.json +110 -0
  41. package/deployments/bscmainnet/FluxSource_U.json +1083 -0
  42. package/deployments/bscmainnet/FluxSource_USDC.json +1083 -0
  43. package/deployments/bscmainnet/FluxSource_USDT.json +1083 -0
  44. package/deployments/bscmainnet/HubBeacon.json +110 -0
  45. package/deployments/bscmainnet/HubImpl.json +2216 -0
  46. package/deployments/bscmainnet/HubRegistry.json +386 -0
  47. package/deployments/bscmainnet/HubRegistryImpl.json +386 -0
  48. package/deployments/bscmainnet/Hub_U.json +2216 -0
  49. package/deployments/bscmainnet/Hub_USDC.json +2216 -0
  50. package/deployments/bscmainnet/Hub_USDT.json +2216 -0
  51. package/deployments/bscmainnet/Migrator.json +375 -0
  52. package/deployments/bscmainnet/YieldGroupCoreImpl.json +1083 -0
  53. package/deployments/bscmainnet/YieldGroupFRVImpl.json +978 -0
  54. package/deployments/bscmainnet/YieldGroupFluxImpl.json +1083 -0
  55. package/deployments/bscmainnet_addresses.json +32 -0
  56. package/deployments/bsctestnet/AdapterCoreV1.json +336 -0
  57. package/deployments/bsctestnet/AdapterFRV.json +225 -0
  58. package/deployments/bsctestnet/AdapterFlux.json +249 -0
  59. package/deployments/bsctestnet/CoreBeacon.json +110 -0
  60. package/deployments/bsctestnet/CoreSource_USDT.json +1083 -0
  61. package/deployments/bsctestnet/FRVBeacon.json +110 -0
  62. package/deployments/bsctestnet/FRVSource_USDT.json +978 -0
  63. package/deployments/bsctestnet/FluxBeacon.json +110 -0
  64. package/deployments/bsctestnet/FluxSource_USDT.json +1083 -0
  65. package/deployments/bsctestnet/HubBeacon.json +110 -0
  66. package/deployments/bsctestnet/HubImpl.json +2216 -0
  67. package/deployments/bsctestnet/HubRegistry.json +386 -0
  68. package/deployments/bsctestnet/HubRegistryImpl.json +386 -0
  69. package/deployments/bsctestnet/HubRegistryProxyAdmin.json +157 -0
  70. package/deployments/bsctestnet/Hub_USDT.json +2216 -0
  71. package/deployments/bsctestnet/Migrator.json +375 -0
  72. package/deployments/bsctestnet/YieldGroupCoreImpl.json +1083 -0
  73. package/deployments/bsctestnet/YieldGroupFRVImpl.json +978 -0
  74. package/deployments/bsctestnet/YieldGroupFluxImpl.json +1083 -0
  75. package/deployments/bsctestnet_addresses.json +25 -0
  76. package/package.json +46 -0
@@ -0,0 +1,2216 @@
1
+ {
2
+ "address": "0x7cE6ADF754D0eC81A6CF8ACd9C7454F45077dc61",
3
+ "block": 119459980,
4
+ "chainId": 97,
5
+ "contract": "Hub",
6
+ "abi": [
7
+ {
8
+ "type": "constructor",
9
+ "inputs": [],
10
+ "stateMutability": "nonpayable"
11
+ },
12
+ {
13
+ "type": "function",
14
+ "name": "BPS_DENOMINATOR",
15
+ "inputs": [],
16
+ "outputs": [
17
+ {
18
+ "name": "",
19
+ "type": "uint16",
20
+ "internalType": "uint16"
21
+ }
22
+ ],
23
+ "stateMutability": "view"
24
+ },
25
+ {
26
+ "type": "function",
27
+ "name": "EXP_SCALE",
28
+ "inputs": [],
29
+ "outputs": [
30
+ {
31
+ "name": "",
32
+ "type": "uint256",
33
+ "internalType": "uint256"
34
+ }
35
+ ],
36
+ "stateMutability": "view"
37
+ },
38
+ {
39
+ "type": "function",
40
+ "name": "MAX_DECIMALS_OFFSET",
41
+ "inputs": [],
42
+ "outputs": [
43
+ {
44
+ "name": "",
45
+ "type": "uint8",
46
+ "internalType": "uint8"
47
+ }
48
+ ],
49
+ "stateMutability": "view"
50
+ },
51
+ {
52
+ "type": "function",
53
+ "name": "MAX_FEE_BPS",
54
+ "inputs": [],
55
+ "outputs": [
56
+ {
57
+ "name": "",
58
+ "type": "uint16",
59
+ "internalType": "uint16"
60
+ }
61
+ ],
62
+ "stateMutability": "view"
63
+ },
64
+ {
65
+ "type": "function",
66
+ "name": "MAX_MGMT_FEE_PER_ACCRUAL_BPS",
67
+ "inputs": [],
68
+ "outputs": [
69
+ {
70
+ "name": "",
71
+ "type": "uint16",
72
+ "internalType": "uint16"
73
+ }
74
+ ],
75
+ "stateMutability": "view"
76
+ },
77
+ {
78
+ "type": "function",
79
+ "name": "MAX_REDEEM_FEE_BPS",
80
+ "inputs": [],
81
+ "outputs": [
82
+ {
83
+ "name": "",
84
+ "type": "uint16",
85
+ "internalType": "uint16"
86
+ }
87
+ ],
88
+ "stateMutability": "view"
89
+ },
90
+ {
91
+ "type": "function",
92
+ "name": "SECONDS_PER_YEAR",
93
+ "inputs": [],
94
+ "outputs": [
95
+ {
96
+ "name": "",
97
+ "type": "uint256",
98
+ "internalType": "uint256"
99
+ }
100
+ ],
101
+ "stateMutability": "view"
102
+ },
103
+ {
104
+ "type": "function",
105
+ "name": "acceptOwnership",
106
+ "inputs": [],
107
+ "outputs": [],
108
+ "stateMutability": "nonpayable"
109
+ },
110
+ {
111
+ "type": "function",
112
+ "name": "accessControlManager",
113
+ "inputs": [],
114
+ "outputs": [
115
+ {
116
+ "name": "",
117
+ "type": "address",
118
+ "internalType": "contract IAccessControlManagerV8"
119
+ }
120
+ ],
121
+ "stateMutability": "view"
122
+ },
123
+ {
124
+ "type": "function",
125
+ "name": "accrueFees",
126
+ "inputs": [],
127
+ "outputs": [],
128
+ "stateMutability": "nonpayable"
129
+ },
130
+ {
131
+ "type": "function",
132
+ "name": "addYieldGroup",
133
+ "inputs": [
134
+ {
135
+ "name": "yieldGroup",
136
+ "type": "address",
137
+ "internalType": "address"
138
+ },
139
+ {
140
+ "name": "absoluteCap",
141
+ "type": "uint256",
142
+ "internalType": "uint256"
143
+ },
144
+ {
145
+ "name": "percentageCapBps",
146
+ "type": "uint16",
147
+ "internalType": "uint16"
148
+ }
149
+ ],
150
+ "outputs": [],
151
+ "stateMutability": "nonpayable"
152
+ },
153
+ {
154
+ "type": "function",
155
+ "name": "allowance",
156
+ "inputs": [
157
+ {
158
+ "name": "owner",
159
+ "type": "address",
160
+ "internalType": "address"
161
+ },
162
+ {
163
+ "name": "spender",
164
+ "type": "address",
165
+ "internalType": "address"
166
+ }
167
+ ],
168
+ "outputs": [
169
+ {
170
+ "name": "",
171
+ "type": "uint256",
172
+ "internalType": "uint256"
173
+ }
174
+ ],
175
+ "stateMutability": "view"
176
+ },
177
+ {
178
+ "type": "function",
179
+ "name": "approve",
180
+ "inputs": [
181
+ {
182
+ "name": "spender",
183
+ "type": "address",
184
+ "internalType": "address"
185
+ },
186
+ {
187
+ "name": "amount",
188
+ "type": "uint256",
189
+ "internalType": "uint256"
190
+ }
191
+ ],
192
+ "outputs": [
193
+ {
194
+ "name": "",
195
+ "type": "bool",
196
+ "internalType": "bool"
197
+ }
198
+ ],
199
+ "stateMutability": "nonpayable"
200
+ },
201
+ {
202
+ "type": "function",
203
+ "name": "asset",
204
+ "inputs": [],
205
+ "outputs": [
206
+ {
207
+ "name": "",
208
+ "type": "address",
209
+ "internalType": "address"
210
+ }
211
+ ],
212
+ "stateMutability": "view"
213
+ },
214
+ {
215
+ "type": "function",
216
+ "name": "balanceOf",
217
+ "inputs": [
218
+ {
219
+ "name": "account",
220
+ "type": "address",
221
+ "internalType": "address"
222
+ }
223
+ ],
224
+ "outputs": [
225
+ {
226
+ "name": "",
227
+ "type": "uint256",
228
+ "internalType": "uint256"
229
+ }
230
+ ],
231
+ "stateMutability": "view"
232
+ },
233
+ {
234
+ "type": "function",
235
+ "name": "convertToAssets",
236
+ "inputs": [
237
+ {
238
+ "name": "shares",
239
+ "type": "uint256",
240
+ "internalType": "uint256"
241
+ }
242
+ ],
243
+ "outputs": [
244
+ {
245
+ "name": "",
246
+ "type": "uint256",
247
+ "internalType": "uint256"
248
+ }
249
+ ],
250
+ "stateMutability": "view"
251
+ },
252
+ {
253
+ "type": "function",
254
+ "name": "convertToShares",
255
+ "inputs": [
256
+ {
257
+ "name": "assets",
258
+ "type": "uint256",
259
+ "internalType": "uint256"
260
+ }
261
+ ],
262
+ "outputs": [
263
+ {
264
+ "name": "",
265
+ "type": "uint256",
266
+ "internalType": "uint256"
267
+ }
268
+ ],
269
+ "stateMutability": "view"
270
+ },
271
+ {
272
+ "type": "function",
273
+ "name": "decimals",
274
+ "inputs": [],
275
+ "outputs": [
276
+ {
277
+ "name": "",
278
+ "type": "uint8",
279
+ "internalType": "uint8"
280
+ }
281
+ ],
282
+ "stateMutability": "view"
283
+ },
284
+ {
285
+ "type": "function",
286
+ "name": "decreaseAllowance",
287
+ "inputs": [
288
+ {
289
+ "name": "spender",
290
+ "type": "address",
291
+ "internalType": "address"
292
+ },
293
+ {
294
+ "name": "subtractedValue",
295
+ "type": "uint256",
296
+ "internalType": "uint256"
297
+ }
298
+ ],
299
+ "outputs": [
300
+ {
301
+ "name": "",
302
+ "type": "bool",
303
+ "internalType": "bool"
304
+ }
305
+ ],
306
+ "stateMutability": "nonpayable"
307
+ },
308
+ {
309
+ "type": "function",
310
+ "name": "deposit",
311
+ "inputs": [
312
+ {
313
+ "name": "assets",
314
+ "type": "uint256",
315
+ "internalType": "uint256"
316
+ },
317
+ {
318
+ "name": "receiver",
319
+ "type": "address",
320
+ "internalType": "address"
321
+ }
322
+ ],
323
+ "outputs": [
324
+ {
325
+ "name": "",
326
+ "type": "uint256",
327
+ "internalType": "uint256"
328
+ }
329
+ ],
330
+ "stateMutability": "nonpayable"
331
+ },
332
+ {
333
+ "type": "function",
334
+ "name": "depositWithConsent",
335
+ "inputs": [
336
+ {
337
+ "name": "assets",
338
+ "type": "uint256",
339
+ "internalType": "uint256"
340
+ },
341
+ {
342
+ "name": "receiver",
343
+ "type": "address",
344
+ "internalType": "address"
345
+ },
346
+ {
347
+ "name": "consentHash",
348
+ "type": "bytes32",
349
+ "internalType": "bytes32"
350
+ }
351
+ ],
352
+ "outputs": [
353
+ {
354
+ "name": "shares",
355
+ "type": "uint256",
356
+ "internalType": "uint256"
357
+ }
358
+ ],
359
+ "stateMutability": "nonpayable"
360
+ },
361
+ {
362
+ "type": "function",
363
+ "name": "emergencyReallocate",
364
+ "inputs": [
365
+ {
366
+ "name": "withdraws",
367
+ "type": "tuple[]",
368
+ "internalType": "struct IHub.ReallocateLeg[]",
369
+ "components": [
370
+ {
371
+ "name": "yieldGroup",
372
+ "type": "address",
373
+ "internalType": "address"
374
+ },
375
+ {
376
+ "name": "resource",
377
+ "type": "address",
378
+ "internalType": "address"
379
+ },
380
+ {
381
+ "name": "amount",
382
+ "type": "uint256",
383
+ "internalType": "uint256"
384
+ }
385
+ ]
386
+ },
387
+ {
388
+ "name": "deposits",
389
+ "type": "tuple[]",
390
+ "internalType": "struct IHub.ReallocateLeg[]",
391
+ "components": [
392
+ {
393
+ "name": "yieldGroup",
394
+ "type": "address",
395
+ "internalType": "address"
396
+ },
397
+ {
398
+ "name": "resource",
399
+ "type": "address",
400
+ "internalType": "address"
401
+ },
402
+ {
403
+ "name": "amount",
404
+ "type": "uint256",
405
+ "internalType": "uint256"
406
+ }
407
+ ]
408
+ }
409
+ ],
410
+ "outputs": [],
411
+ "stateMutability": "nonpayable"
412
+ },
413
+ {
414
+ "type": "function",
415
+ "name": "feeBps",
416
+ "inputs": [],
417
+ "outputs": [
418
+ {
419
+ "name": "managementBps",
420
+ "type": "uint16",
421
+ "internalType": "uint16"
422
+ },
423
+ {
424
+ "name": "performanceBps",
425
+ "type": "uint16",
426
+ "internalType": "uint16"
427
+ }
428
+ ],
429
+ "stateMutability": "view"
430
+ },
431
+ {
432
+ "type": "function",
433
+ "name": "feeRecipient",
434
+ "inputs": [],
435
+ "outputs": [
436
+ {
437
+ "name": "",
438
+ "type": "address",
439
+ "internalType": "address"
440
+ }
441
+ ],
442
+ "stateMutability": "view"
443
+ },
444
+ {
445
+ "type": "function",
446
+ "name": "highWaterMarkPerShare",
447
+ "inputs": [],
448
+ "outputs": [
449
+ {
450
+ "name": "",
451
+ "type": "uint256",
452
+ "internalType": "uint256"
453
+ }
454
+ ],
455
+ "stateMutability": "view"
456
+ },
457
+ {
458
+ "type": "function",
459
+ "name": "hubPaused",
460
+ "inputs": [],
461
+ "outputs": [
462
+ {
463
+ "name": "",
464
+ "type": "bool",
465
+ "internalType": "bool"
466
+ }
467
+ ],
468
+ "stateMutability": "view"
469
+ },
470
+ {
471
+ "type": "function",
472
+ "name": "increaseAllowance",
473
+ "inputs": [
474
+ {
475
+ "name": "spender",
476
+ "type": "address",
477
+ "internalType": "address"
478
+ },
479
+ {
480
+ "name": "addedValue",
481
+ "type": "uint256",
482
+ "internalType": "uint256"
483
+ }
484
+ ],
485
+ "outputs": [
486
+ {
487
+ "name": "",
488
+ "type": "bool",
489
+ "internalType": "bool"
490
+ }
491
+ ],
492
+ "stateMutability": "nonpayable"
493
+ },
494
+ {
495
+ "type": "function",
496
+ "name": "initialize",
497
+ "inputs": [
498
+ {
499
+ "name": "asset_",
500
+ "type": "address",
501
+ "internalType": "contract IERC20Upgradeable"
502
+ },
503
+ {
504
+ "name": "name_",
505
+ "type": "string",
506
+ "internalType": "string"
507
+ },
508
+ {
509
+ "name": "symbol_",
510
+ "type": "string",
511
+ "internalType": "string"
512
+ },
513
+ {
514
+ "name": "acm_",
515
+ "type": "address",
516
+ "internalType": "address"
517
+ },
518
+ {
519
+ "name": "decimalsOffset_",
520
+ "type": "uint8",
521
+ "internalType": "uint8"
522
+ },
523
+ {
524
+ "name": "initialMaxWithdrawalSize",
525
+ "type": "uint256",
526
+ "internalType": "uint256"
527
+ },
528
+ {
529
+ "name": "feeRecipient_",
530
+ "type": "address",
531
+ "internalType": "address"
532
+ }
533
+ ],
534
+ "outputs": [],
535
+ "stateMutability": "nonpayable"
536
+ },
537
+ {
538
+ "type": "function",
539
+ "name": "lowerMaxWithdrawalSize",
540
+ "inputs": [
541
+ {
542
+ "name": "newSize",
543
+ "type": "uint256",
544
+ "internalType": "uint256"
545
+ }
546
+ ],
547
+ "outputs": [],
548
+ "stateMutability": "nonpayable"
549
+ },
550
+ {
551
+ "type": "function",
552
+ "name": "lowerYieldGroupCap",
553
+ "inputs": [
554
+ {
555
+ "name": "yieldGroup",
556
+ "type": "address",
557
+ "internalType": "address"
558
+ },
559
+ {
560
+ "name": "absoluteCap",
561
+ "type": "uint256",
562
+ "internalType": "uint256"
563
+ },
564
+ {
565
+ "name": "percentageCapBps",
566
+ "type": "uint16",
567
+ "internalType": "uint16"
568
+ }
569
+ ],
570
+ "outputs": [],
571
+ "stateMutability": "nonpayable"
572
+ },
573
+ {
574
+ "type": "function",
575
+ "name": "maxDeposit",
576
+ "inputs": [
577
+ {
578
+ "name": "",
579
+ "type": "address",
580
+ "internalType": "address"
581
+ }
582
+ ],
583
+ "outputs": [
584
+ {
585
+ "name": "",
586
+ "type": "uint256",
587
+ "internalType": "uint256"
588
+ }
589
+ ],
590
+ "stateMutability": "view"
591
+ },
592
+ {
593
+ "type": "function",
594
+ "name": "maxMint",
595
+ "inputs": [
596
+ {
597
+ "name": "receiver",
598
+ "type": "address",
599
+ "internalType": "address"
600
+ }
601
+ ],
602
+ "outputs": [
603
+ {
604
+ "name": "",
605
+ "type": "uint256",
606
+ "internalType": "uint256"
607
+ }
608
+ ],
609
+ "stateMutability": "view"
610
+ },
611
+ {
612
+ "type": "function",
613
+ "name": "maxRedeem",
614
+ "inputs": [
615
+ {
616
+ "name": "owner",
617
+ "type": "address",
618
+ "internalType": "address"
619
+ }
620
+ ],
621
+ "outputs": [
622
+ {
623
+ "name": "",
624
+ "type": "uint256",
625
+ "internalType": "uint256"
626
+ }
627
+ ],
628
+ "stateMutability": "view"
629
+ },
630
+ {
631
+ "type": "function",
632
+ "name": "maxWithdraw",
633
+ "inputs": [
634
+ {
635
+ "name": "owner",
636
+ "type": "address",
637
+ "internalType": "address"
638
+ }
639
+ ],
640
+ "outputs": [
641
+ {
642
+ "name": "",
643
+ "type": "uint256",
644
+ "internalType": "uint256"
645
+ }
646
+ ],
647
+ "stateMutability": "view"
648
+ },
649
+ {
650
+ "type": "function",
651
+ "name": "maxWithdrawalSize",
652
+ "inputs": [],
653
+ "outputs": [
654
+ {
655
+ "name": "",
656
+ "type": "uint256",
657
+ "internalType": "uint256"
658
+ }
659
+ ],
660
+ "stateMutability": "view"
661
+ },
662
+ {
663
+ "type": "function",
664
+ "name": "mint",
665
+ "inputs": [
666
+ {
667
+ "name": "shares",
668
+ "type": "uint256",
669
+ "internalType": "uint256"
670
+ },
671
+ {
672
+ "name": "receiver",
673
+ "type": "address",
674
+ "internalType": "address"
675
+ }
676
+ ],
677
+ "outputs": [
678
+ {
679
+ "name": "",
680
+ "type": "uint256",
681
+ "internalType": "uint256"
682
+ }
683
+ ],
684
+ "stateMutability": "nonpayable"
685
+ },
686
+ {
687
+ "type": "function",
688
+ "name": "mintWithConsent",
689
+ "inputs": [
690
+ {
691
+ "name": "shares",
692
+ "type": "uint256",
693
+ "internalType": "uint256"
694
+ },
695
+ {
696
+ "name": "receiver",
697
+ "type": "address",
698
+ "internalType": "address"
699
+ },
700
+ {
701
+ "name": "consentHash",
702
+ "type": "bytes32",
703
+ "internalType": "bytes32"
704
+ }
705
+ ],
706
+ "outputs": [
707
+ {
708
+ "name": "assets",
709
+ "type": "uint256",
710
+ "internalType": "uint256"
711
+ }
712
+ ],
713
+ "stateMutability": "nonpayable"
714
+ },
715
+ {
716
+ "type": "function",
717
+ "name": "name",
718
+ "inputs": [],
719
+ "outputs": [
720
+ {
721
+ "name": "",
722
+ "type": "string",
723
+ "internalType": "string"
724
+ }
725
+ ],
726
+ "stateMutability": "view"
727
+ },
728
+ {
729
+ "type": "function",
730
+ "name": "outerDepositQueue",
731
+ "inputs": [],
732
+ "outputs": [
733
+ {
734
+ "name": "",
735
+ "type": "address[]",
736
+ "internalType": "address[]"
737
+ }
738
+ ],
739
+ "stateMutability": "view"
740
+ },
741
+ {
742
+ "type": "function",
743
+ "name": "outerWithdrawQueue",
744
+ "inputs": [],
745
+ "outputs": [
746
+ {
747
+ "name": "",
748
+ "type": "address[]",
749
+ "internalType": "address[]"
750
+ }
751
+ ],
752
+ "stateMutability": "view"
753
+ },
754
+ {
755
+ "type": "function",
756
+ "name": "owner",
757
+ "inputs": [],
758
+ "outputs": [
759
+ {
760
+ "name": "",
761
+ "type": "address",
762
+ "internalType": "address"
763
+ }
764
+ ],
765
+ "stateMutability": "view"
766
+ },
767
+ {
768
+ "type": "function",
769
+ "name": "pauseHub",
770
+ "inputs": [],
771
+ "outputs": [],
772
+ "stateMutability": "nonpayable"
773
+ },
774
+ {
775
+ "type": "function",
776
+ "name": "pauseYieldGroup",
777
+ "inputs": [
778
+ {
779
+ "name": "yieldGroup",
780
+ "type": "address",
781
+ "internalType": "address"
782
+ }
783
+ ],
784
+ "outputs": [],
785
+ "stateMutability": "nonpayable"
786
+ },
787
+ {
788
+ "type": "function",
789
+ "name": "pendingOwner",
790
+ "inputs": [],
791
+ "outputs": [
792
+ {
793
+ "name": "",
794
+ "type": "address",
795
+ "internalType": "address"
796
+ }
797
+ ],
798
+ "stateMutability": "view"
799
+ },
800
+ {
801
+ "type": "function",
802
+ "name": "previewDeposit",
803
+ "inputs": [
804
+ {
805
+ "name": "assets",
806
+ "type": "uint256",
807
+ "internalType": "uint256"
808
+ }
809
+ ],
810
+ "outputs": [
811
+ {
812
+ "name": "",
813
+ "type": "uint256",
814
+ "internalType": "uint256"
815
+ }
816
+ ],
817
+ "stateMutability": "view"
818
+ },
819
+ {
820
+ "type": "function",
821
+ "name": "previewMint",
822
+ "inputs": [
823
+ {
824
+ "name": "shares",
825
+ "type": "uint256",
826
+ "internalType": "uint256"
827
+ }
828
+ ],
829
+ "outputs": [
830
+ {
831
+ "name": "",
832
+ "type": "uint256",
833
+ "internalType": "uint256"
834
+ }
835
+ ],
836
+ "stateMutability": "view"
837
+ },
838
+ {
839
+ "type": "function",
840
+ "name": "previewRedeem",
841
+ "inputs": [
842
+ {
843
+ "name": "shares",
844
+ "type": "uint256",
845
+ "internalType": "uint256"
846
+ }
847
+ ],
848
+ "outputs": [
849
+ {
850
+ "name": "",
851
+ "type": "uint256",
852
+ "internalType": "uint256"
853
+ }
854
+ ],
855
+ "stateMutability": "view"
856
+ },
857
+ {
858
+ "type": "function",
859
+ "name": "previewWithdraw",
860
+ "inputs": [
861
+ {
862
+ "name": "assets",
863
+ "type": "uint256",
864
+ "internalType": "uint256"
865
+ }
866
+ ],
867
+ "outputs": [
868
+ {
869
+ "name": "",
870
+ "type": "uint256",
871
+ "internalType": "uint256"
872
+ }
873
+ ],
874
+ "stateMutability": "view"
875
+ },
876
+ {
877
+ "type": "function",
878
+ "name": "raiseMaxWithdrawalSize",
879
+ "inputs": [
880
+ {
881
+ "name": "newSize",
882
+ "type": "uint256",
883
+ "internalType": "uint256"
884
+ }
885
+ ],
886
+ "outputs": [],
887
+ "stateMutability": "nonpayable"
888
+ },
889
+ {
890
+ "type": "function",
891
+ "name": "raiseYieldGroupCap",
892
+ "inputs": [
893
+ {
894
+ "name": "yieldGroup",
895
+ "type": "address",
896
+ "internalType": "address"
897
+ },
898
+ {
899
+ "name": "absoluteCap",
900
+ "type": "uint256",
901
+ "internalType": "uint256"
902
+ },
903
+ {
904
+ "name": "percentageCapBps",
905
+ "type": "uint16",
906
+ "internalType": "uint16"
907
+ }
908
+ ],
909
+ "outputs": [],
910
+ "stateMutability": "nonpayable"
911
+ },
912
+ {
913
+ "type": "function",
914
+ "name": "reallocate",
915
+ "inputs": [
916
+ {
917
+ "name": "withdraws",
918
+ "type": "tuple[]",
919
+ "internalType": "struct IHub.ReallocateLeg[]",
920
+ "components": [
921
+ {
922
+ "name": "yieldGroup",
923
+ "type": "address",
924
+ "internalType": "address"
925
+ },
926
+ {
927
+ "name": "resource",
928
+ "type": "address",
929
+ "internalType": "address"
930
+ },
931
+ {
932
+ "name": "amount",
933
+ "type": "uint256",
934
+ "internalType": "uint256"
935
+ }
936
+ ]
937
+ },
938
+ {
939
+ "name": "deposits",
940
+ "type": "tuple[]",
941
+ "internalType": "struct IHub.ReallocateLeg[]",
942
+ "components": [
943
+ {
944
+ "name": "yieldGroup",
945
+ "type": "address",
946
+ "internalType": "address"
947
+ },
948
+ {
949
+ "name": "resource",
950
+ "type": "address",
951
+ "internalType": "address"
952
+ },
953
+ {
954
+ "name": "amount",
955
+ "type": "uint256",
956
+ "internalType": "uint256"
957
+ }
958
+ ]
959
+ }
960
+ ],
961
+ "outputs": [],
962
+ "stateMutability": "nonpayable"
963
+ },
964
+ {
965
+ "type": "function",
966
+ "name": "redeem",
967
+ "inputs": [
968
+ {
969
+ "name": "shares",
970
+ "type": "uint256",
971
+ "internalType": "uint256"
972
+ },
973
+ {
974
+ "name": "receiver",
975
+ "type": "address",
976
+ "internalType": "address"
977
+ },
978
+ {
979
+ "name": "owner",
980
+ "type": "address",
981
+ "internalType": "address"
982
+ }
983
+ ],
984
+ "outputs": [
985
+ {
986
+ "name": "",
987
+ "type": "uint256",
988
+ "internalType": "uint256"
989
+ }
990
+ ],
991
+ "stateMutability": "nonpayable"
992
+ },
993
+ {
994
+ "type": "function",
995
+ "name": "redeemFeeBps",
996
+ "inputs": [],
997
+ "outputs": [
998
+ {
999
+ "name": "",
1000
+ "type": "uint16",
1001
+ "internalType": "uint16"
1002
+ }
1003
+ ],
1004
+ "stateMutability": "view"
1005
+ },
1006
+ {
1007
+ "type": "function",
1008
+ "name": "registeredYieldGroups",
1009
+ "inputs": [],
1010
+ "outputs": [
1011
+ {
1012
+ "name": "",
1013
+ "type": "address[]",
1014
+ "internalType": "address[]"
1015
+ }
1016
+ ],
1017
+ "stateMutability": "view"
1018
+ },
1019
+ {
1020
+ "type": "function",
1021
+ "name": "removeYieldGroup",
1022
+ "inputs": [
1023
+ {
1024
+ "name": "yieldGroup",
1025
+ "type": "address",
1026
+ "internalType": "address"
1027
+ }
1028
+ ],
1029
+ "outputs": [],
1030
+ "stateMutability": "nonpayable"
1031
+ },
1032
+ {
1033
+ "type": "function",
1034
+ "name": "renounceOwnership",
1035
+ "inputs": [],
1036
+ "outputs": [],
1037
+ "stateMutability": "nonpayable"
1038
+ },
1039
+ {
1040
+ "type": "function",
1041
+ "name": "setAccessControlManager",
1042
+ "inputs": [
1043
+ {
1044
+ "name": "accessControlManager_",
1045
+ "type": "address",
1046
+ "internalType": "address"
1047
+ }
1048
+ ],
1049
+ "outputs": [],
1050
+ "stateMutability": "nonpayable"
1051
+ },
1052
+ {
1053
+ "type": "function",
1054
+ "name": "setFeeRecipient",
1055
+ "inputs": [
1056
+ {
1057
+ "name": "recipient",
1058
+ "type": "address",
1059
+ "internalType": "address"
1060
+ }
1061
+ ],
1062
+ "outputs": [],
1063
+ "stateMutability": "nonpayable"
1064
+ },
1065
+ {
1066
+ "type": "function",
1067
+ "name": "setManagementFeeBps",
1068
+ "inputs": [
1069
+ {
1070
+ "name": "bps",
1071
+ "type": "uint16",
1072
+ "internalType": "uint16"
1073
+ }
1074
+ ],
1075
+ "outputs": [],
1076
+ "stateMutability": "nonpayable"
1077
+ },
1078
+ {
1079
+ "type": "function",
1080
+ "name": "setOuterDepositQueue",
1081
+ "inputs": [
1082
+ {
1083
+ "name": "queue",
1084
+ "type": "address[]",
1085
+ "internalType": "address[]"
1086
+ }
1087
+ ],
1088
+ "outputs": [],
1089
+ "stateMutability": "nonpayable"
1090
+ },
1091
+ {
1092
+ "type": "function",
1093
+ "name": "setOuterWithdrawQueue",
1094
+ "inputs": [
1095
+ {
1096
+ "name": "queue",
1097
+ "type": "address[]",
1098
+ "internalType": "address[]"
1099
+ }
1100
+ ],
1101
+ "outputs": [],
1102
+ "stateMutability": "nonpayable"
1103
+ },
1104
+ {
1105
+ "type": "function",
1106
+ "name": "setPerformanceFeeBps",
1107
+ "inputs": [
1108
+ {
1109
+ "name": "bps",
1110
+ "type": "uint16",
1111
+ "internalType": "uint16"
1112
+ }
1113
+ ],
1114
+ "outputs": [],
1115
+ "stateMutability": "nonpayable"
1116
+ },
1117
+ {
1118
+ "type": "function",
1119
+ "name": "setRedeemFeeBps",
1120
+ "inputs": [
1121
+ {
1122
+ "name": "bps",
1123
+ "type": "uint16",
1124
+ "internalType": "uint16"
1125
+ }
1126
+ ],
1127
+ "outputs": [],
1128
+ "stateMutability": "nonpayable"
1129
+ },
1130
+ {
1131
+ "type": "function",
1132
+ "name": "sweep",
1133
+ "inputs": [
1134
+ {
1135
+ "name": "token",
1136
+ "type": "address",
1137
+ "internalType": "address"
1138
+ },
1139
+ {
1140
+ "name": "to",
1141
+ "type": "address",
1142
+ "internalType": "address"
1143
+ }
1144
+ ],
1145
+ "outputs": [],
1146
+ "stateMutability": "nonpayable"
1147
+ },
1148
+ {
1149
+ "type": "function",
1150
+ "name": "symbol",
1151
+ "inputs": [],
1152
+ "outputs": [
1153
+ {
1154
+ "name": "",
1155
+ "type": "string",
1156
+ "internalType": "string"
1157
+ }
1158
+ ],
1159
+ "stateMutability": "view"
1160
+ },
1161
+ {
1162
+ "type": "function",
1163
+ "name": "totalAssets",
1164
+ "inputs": [],
1165
+ "outputs": [
1166
+ {
1167
+ "name": "total",
1168
+ "type": "uint256",
1169
+ "internalType": "uint256"
1170
+ }
1171
+ ],
1172
+ "stateMutability": "view"
1173
+ },
1174
+ {
1175
+ "type": "function",
1176
+ "name": "totalSupply",
1177
+ "inputs": [],
1178
+ "outputs": [
1179
+ {
1180
+ "name": "",
1181
+ "type": "uint256",
1182
+ "internalType": "uint256"
1183
+ }
1184
+ ],
1185
+ "stateMutability": "view"
1186
+ },
1187
+ {
1188
+ "type": "function",
1189
+ "name": "transfer",
1190
+ "inputs": [
1191
+ {
1192
+ "name": "to",
1193
+ "type": "address",
1194
+ "internalType": "address"
1195
+ },
1196
+ {
1197
+ "name": "amount",
1198
+ "type": "uint256",
1199
+ "internalType": "uint256"
1200
+ }
1201
+ ],
1202
+ "outputs": [
1203
+ {
1204
+ "name": "",
1205
+ "type": "bool",
1206
+ "internalType": "bool"
1207
+ }
1208
+ ],
1209
+ "stateMutability": "nonpayable"
1210
+ },
1211
+ {
1212
+ "type": "function",
1213
+ "name": "transferFrom",
1214
+ "inputs": [
1215
+ {
1216
+ "name": "from",
1217
+ "type": "address",
1218
+ "internalType": "address"
1219
+ },
1220
+ {
1221
+ "name": "to",
1222
+ "type": "address",
1223
+ "internalType": "address"
1224
+ },
1225
+ {
1226
+ "name": "amount",
1227
+ "type": "uint256",
1228
+ "internalType": "uint256"
1229
+ }
1230
+ ],
1231
+ "outputs": [
1232
+ {
1233
+ "name": "",
1234
+ "type": "bool",
1235
+ "internalType": "bool"
1236
+ }
1237
+ ],
1238
+ "stateMutability": "nonpayable"
1239
+ },
1240
+ {
1241
+ "type": "function",
1242
+ "name": "transferOwnership",
1243
+ "inputs": [
1244
+ {
1245
+ "name": "newOwner",
1246
+ "type": "address",
1247
+ "internalType": "address"
1248
+ }
1249
+ ],
1250
+ "outputs": [],
1251
+ "stateMutability": "nonpayable"
1252
+ },
1253
+ {
1254
+ "type": "function",
1255
+ "name": "unpauseHub",
1256
+ "inputs": [],
1257
+ "outputs": [],
1258
+ "stateMutability": "nonpayable"
1259
+ },
1260
+ {
1261
+ "type": "function",
1262
+ "name": "unpauseYieldGroup",
1263
+ "inputs": [
1264
+ {
1265
+ "name": "yieldGroup",
1266
+ "type": "address",
1267
+ "internalType": "address"
1268
+ }
1269
+ ],
1270
+ "outputs": [],
1271
+ "stateMutability": "nonpayable"
1272
+ },
1273
+ {
1274
+ "type": "function",
1275
+ "name": "withdraw",
1276
+ "inputs": [
1277
+ {
1278
+ "name": "assets",
1279
+ "type": "uint256",
1280
+ "internalType": "uint256"
1281
+ },
1282
+ {
1283
+ "name": "receiver",
1284
+ "type": "address",
1285
+ "internalType": "address"
1286
+ },
1287
+ {
1288
+ "name": "owner",
1289
+ "type": "address",
1290
+ "internalType": "address"
1291
+ }
1292
+ ],
1293
+ "outputs": [
1294
+ {
1295
+ "name": "",
1296
+ "type": "uint256",
1297
+ "internalType": "uint256"
1298
+ }
1299
+ ],
1300
+ "stateMutability": "nonpayable"
1301
+ },
1302
+ {
1303
+ "type": "function",
1304
+ "name": "yieldGroupConfig",
1305
+ "inputs": [
1306
+ {
1307
+ "name": "yieldGroup",
1308
+ "type": "address",
1309
+ "internalType": "address"
1310
+ }
1311
+ ],
1312
+ "outputs": [
1313
+ {
1314
+ "name": "",
1315
+ "type": "tuple",
1316
+ "internalType": "struct IHub.YieldGroupConfig",
1317
+ "components": [
1318
+ {
1319
+ "name": "absoluteCap",
1320
+ "type": "uint256",
1321
+ "internalType": "uint256"
1322
+ },
1323
+ {
1324
+ "name": "percentageCapBps",
1325
+ "type": "uint16",
1326
+ "internalType": "uint16"
1327
+ },
1328
+ {
1329
+ "name": "paused",
1330
+ "type": "bool",
1331
+ "internalType": "bool"
1332
+ },
1333
+ {
1334
+ "name": "registered",
1335
+ "type": "bool",
1336
+ "internalType": "bool"
1337
+ }
1338
+ ]
1339
+ }
1340
+ ],
1341
+ "stateMutability": "view"
1342
+ },
1343
+ {
1344
+ "type": "function",
1345
+ "name": "yieldGroupEffectiveCap",
1346
+ "inputs": [
1347
+ {
1348
+ "name": "yieldGroup",
1349
+ "type": "address",
1350
+ "internalType": "address"
1351
+ }
1352
+ ],
1353
+ "outputs": [
1354
+ {
1355
+ "name": "",
1356
+ "type": "uint256",
1357
+ "internalType": "uint256"
1358
+ }
1359
+ ],
1360
+ "stateMutability": "view"
1361
+ },
1362
+ {
1363
+ "type": "event",
1364
+ "name": "Approval",
1365
+ "inputs": [
1366
+ {
1367
+ "name": "owner",
1368
+ "type": "address",
1369
+ "indexed": true,
1370
+ "internalType": "address"
1371
+ },
1372
+ {
1373
+ "name": "spender",
1374
+ "type": "address",
1375
+ "indexed": true,
1376
+ "internalType": "address"
1377
+ },
1378
+ {
1379
+ "name": "value",
1380
+ "type": "uint256",
1381
+ "indexed": false,
1382
+ "internalType": "uint256"
1383
+ }
1384
+ ],
1385
+ "anonymous": false
1386
+ },
1387
+ {
1388
+ "type": "event",
1389
+ "name": "ConsentRecorded",
1390
+ "inputs": [
1391
+ {
1392
+ "name": "supplier",
1393
+ "type": "address",
1394
+ "indexed": true,
1395
+ "internalType": "address"
1396
+ },
1397
+ {
1398
+ "name": "receiver",
1399
+ "type": "address",
1400
+ "indexed": true,
1401
+ "internalType": "address"
1402
+ },
1403
+ {
1404
+ "name": "consentHash",
1405
+ "type": "bytes32",
1406
+ "indexed": true,
1407
+ "internalType": "bytes32"
1408
+ }
1409
+ ],
1410
+ "anonymous": false
1411
+ },
1412
+ {
1413
+ "type": "event",
1414
+ "name": "Deposit",
1415
+ "inputs": [
1416
+ {
1417
+ "name": "sender",
1418
+ "type": "address",
1419
+ "indexed": true,
1420
+ "internalType": "address"
1421
+ },
1422
+ {
1423
+ "name": "owner",
1424
+ "type": "address",
1425
+ "indexed": true,
1426
+ "internalType": "address"
1427
+ },
1428
+ {
1429
+ "name": "assets",
1430
+ "type": "uint256",
1431
+ "indexed": false,
1432
+ "internalType": "uint256"
1433
+ },
1434
+ {
1435
+ "name": "shares",
1436
+ "type": "uint256",
1437
+ "indexed": false,
1438
+ "internalType": "uint256"
1439
+ }
1440
+ ],
1441
+ "anonymous": false
1442
+ },
1443
+ {
1444
+ "type": "event",
1445
+ "name": "DepositRouted",
1446
+ "inputs": [
1447
+ {
1448
+ "name": "yieldGroup",
1449
+ "type": "address",
1450
+ "indexed": true,
1451
+ "internalType": "address"
1452
+ },
1453
+ {
1454
+ "name": "amount",
1455
+ "type": "uint256",
1456
+ "indexed": false,
1457
+ "internalType": "uint256"
1458
+ }
1459
+ ],
1460
+ "anonymous": false
1461
+ },
1462
+ {
1463
+ "type": "event",
1464
+ "name": "FeeRecipientSet",
1465
+ "inputs": [
1466
+ {
1467
+ "name": "oldRecipient",
1468
+ "type": "address",
1469
+ "indexed": false,
1470
+ "internalType": "address"
1471
+ },
1472
+ {
1473
+ "name": "newRecipient",
1474
+ "type": "address",
1475
+ "indexed": false,
1476
+ "internalType": "address"
1477
+ }
1478
+ ],
1479
+ "anonymous": false
1480
+ },
1481
+ {
1482
+ "type": "event",
1483
+ "name": "FeesAccrued",
1484
+ "inputs": [
1485
+ {
1486
+ "name": "managementShares",
1487
+ "type": "uint256",
1488
+ "indexed": false,
1489
+ "internalType": "uint256"
1490
+ },
1491
+ {
1492
+ "name": "performanceShares",
1493
+ "type": "uint256",
1494
+ "indexed": false,
1495
+ "internalType": "uint256"
1496
+ },
1497
+ {
1498
+ "name": "totalShares",
1499
+ "type": "uint256",
1500
+ "indexed": false,
1501
+ "internalType": "uint256"
1502
+ }
1503
+ ],
1504
+ "anonymous": false
1505
+ },
1506
+ {
1507
+ "type": "event",
1508
+ "name": "HighWaterMarkUpdated",
1509
+ "inputs": [
1510
+ {
1511
+ "name": "oldHwm",
1512
+ "type": "uint256",
1513
+ "indexed": false,
1514
+ "internalType": "uint256"
1515
+ },
1516
+ {
1517
+ "name": "newHwm",
1518
+ "type": "uint256",
1519
+ "indexed": false,
1520
+ "internalType": "uint256"
1521
+ }
1522
+ ],
1523
+ "anonymous": false
1524
+ },
1525
+ {
1526
+ "type": "event",
1527
+ "name": "HubPauseToggled",
1528
+ "inputs": [
1529
+ {
1530
+ "name": "paused",
1531
+ "type": "bool",
1532
+ "indexed": false,
1533
+ "internalType": "bool"
1534
+ }
1535
+ ],
1536
+ "anonymous": false
1537
+ },
1538
+ {
1539
+ "type": "event",
1540
+ "name": "Initialized",
1541
+ "inputs": [
1542
+ {
1543
+ "name": "version",
1544
+ "type": "uint8",
1545
+ "indexed": false,
1546
+ "internalType": "uint8"
1547
+ }
1548
+ ],
1549
+ "anonymous": false
1550
+ },
1551
+ {
1552
+ "type": "event",
1553
+ "name": "ManagementFeeBpsSet",
1554
+ "inputs": [
1555
+ {
1556
+ "name": "oldBps",
1557
+ "type": "uint16",
1558
+ "indexed": false,
1559
+ "internalType": "uint16"
1560
+ },
1561
+ {
1562
+ "name": "newBps",
1563
+ "type": "uint16",
1564
+ "indexed": false,
1565
+ "internalType": "uint16"
1566
+ }
1567
+ ],
1568
+ "anonymous": false
1569
+ },
1570
+ {
1571
+ "type": "event",
1572
+ "name": "MaxWithdrawalSizeLowered",
1573
+ "inputs": [
1574
+ {
1575
+ "name": "oldSize",
1576
+ "type": "uint256",
1577
+ "indexed": false,
1578
+ "internalType": "uint256"
1579
+ },
1580
+ {
1581
+ "name": "newSize",
1582
+ "type": "uint256",
1583
+ "indexed": false,
1584
+ "internalType": "uint256"
1585
+ }
1586
+ ],
1587
+ "anonymous": false
1588
+ },
1589
+ {
1590
+ "type": "event",
1591
+ "name": "MaxWithdrawalSizeRaised",
1592
+ "inputs": [
1593
+ {
1594
+ "name": "oldSize",
1595
+ "type": "uint256",
1596
+ "indexed": false,
1597
+ "internalType": "uint256"
1598
+ },
1599
+ {
1600
+ "name": "newSize",
1601
+ "type": "uint256",
1602
+ "indexed": false,
1603
+ "internalType": "uint256"
1604
+ }
1605
+ ],
1606
+ "anonymous": false
1607
+ },
1608
+ {
1609
+ "type": "event",
1610
+ "name": "NewAccessControlManager",
1611
+ "inputs": [
1612
+ {
1613
+ "name": "oldAccessControlManager",
1614
+ "type": "address",
1615
+ "indexed": false,
1616
+ "internalType": "address"
1617
+ },
1618
+ {
1619
+ "name": "newAccessControlManager",
1620
+ "type": "address",
1621
+ "indexed": false,
1622
+ "internalType": "address"
1623
+ }
1624
+ ],
1625
+ "anonymous": false
1626
+ },
1627
+ {
1628
+ "type": "event",
1629
+ "name": "OuterDepositQueueSet",
1630
+ "inputs": [
1631
+ {
1632
+ "name": "queue",
1633
+ "type": "address[]",
1634
+ "indexed": false,
1635
+ "internalType": "address[]"
1636
+ }
1637
+ ],
1638
+ "anonymous": false
1639
+ },
1640
+ {
1641
+ "type": "event",
1642
+ "name": "OuterWithdrawQueueSet",
1643
+ "inputs": [
1644
+ {
1645
+ "name": "queue",
1646
+ "type": "address[]",
1647
+ "indexed": false,
1648
+ "internalType": "address[]"
1649
+ }
1650
+ ],
1651
+ "anonymous": false
1652
+ },
1653
+ {
1654
+ "type": "event",
1655
+ "name": "OwnershipTransferStarted",
1656
+ "inputs": [
1657
+ {
1658
+ "name": "previousOwner",
1659
+ "type": "address",
1660
+ "indexed": true,
1661
+ "internalType": "address"
1662
+ },
1663
+ {
1664
+ "name": "newOwner",
1665
+ "type": "address",
1666
+ "indexed": true,
1667
+ "internalType": "address"
1668
+ }
1669
+ ],
1670
+ "anonymous": false
1671
+ },
1672
+ {
1673
+ "type": "event",
1674
+ "name": "OwnershipTransferred",
1675
+ "inputs": [
1676
+ {
1677
+ "name": "previousOwner",
1678
+ "type": "address",
1679
+ "indexed": true,
1680
+ "internalType": "address"
1681
+ },
1682
+ {
1683
+ "name": "newOwner",
1684
+ "type": "address",
1685
+ "indexed": true,
1686
+ "internalType": "address"
1687
+ }
1688
+ ],
1689
+ "anonymous": false
1690
+ },
1691
+ {
1692
+ "type": "event",
1693
+ "name": "PerformanceFeeBpsSet",
1694
+ "inputs": [
1695
+ {
1696
+ "name": "oldBps",
1697
+ "type": "uint16",
1698
+ "indexed": false,
1699
+ "internalType": "uint16"
1700
+ },
1701
+ {
1702
+ "name": "newBps",
1703
+ "type": "uint16",
1704
+ "indexed": false,
1705
+ "internalType": "uint16"
1706
+ }
1707
+ ],
1708
+ "anonymous": false
1709
+ },
1710
+ {
1711
+ "type": "event",
1712
+ "name": "RedeemFeeBpsSet",
1713
+ "inputs": [
1714
+ {
1715
+ "name": "oldBps",
1716
+ "type": "uint16",
1717
+ "indexed": false,
1718
+ "internalType": "uint16"
1719
+ },
1720
+ {
1721
+ "name": "newBps",
1722
+ "type": "uint16",
1723
+ "indexed": false,
1724
+ "internalType": "uint16"
1725
+ }
1726
+ ],
1727
+ "anonymous": false
1728
+ },
1729
+ {
1730
+ "type": "event",
1731
+ "name": "Swept",
1732
+ "inputs": [
1733
+ {
1734
+ "name": "token",
1735
+ "type": "address",
1736
+ "indexed": true,
1737
+ "internalType": "address"
1738
+ },
1739
+ {
1740
+ "name": "to",
1741
+ "type": "address",
1742
+ "indexed": true,
1743
+ "internalType": "address"
1744
+ },
1745
+ {
1746
+ "name": "amount",
1747
+ "type": "uint256",
1748
+ "indexed": false,
1749
+ "internalType": "uint256"
1750
+ }
1751
+ ],
1752
+ "anonymous": false
1753
+ },
1754
+ {
1755
+ "type": "event",
1756
+ "name": "Transfer",
1757
+ "inputs": [
1758
+ {
1759
+ "name": "from",
1760
+ "type": "address",
1761
+ "indexed": true,
1762
+ "internalType": "address"
1763
+ },
1764
+ {
1765
+ "name": "to",
1766
+ "type": "address",
1767
+ "indexed": true,
1768
+ "internalType": "address"
1769
+ },
1770
+ {
1771
+ "name": "value",
1772
+ "type": "uint256",
1773
+ "indexed": false,
1774
+ "internalType": "uint256"
1775
+ }
1776
+ ],
1777
+ "anonymous": false
1778
+ },
1779
+ {
1780
+ "type": "event",
1781
+ "name": "Withdraw",
1782
+ "inputs": [
1783
+ {
1784
+ "name": "sender",
1785
+ "type": "address",
1786
+ "indexed": true,
1787
+ "internalType": "address"
1788
+ },
1789
+ {
1790
+ "name": "receiver",
1791
+ "type": "address",
1792
+ "indexed": true,
1793
+ "internalType": "address"
1794
+ },
1795
+ {
1796
+ "name": "owner",
1797
+ "type": "address",
1798
+ "indexed": true,
1799
+ "internalType": "address"
1800
+ },
1801
+ {
1802
+ "name": "assets",
1803
+ "type": "uint256",
1804
+ "indexed": false,
1805
+ "internalType": "uint256"
1806
+ },
1807
+ {
1808
+ "name": "shares",
1809
+ "type": "uint256",
1810
+ "indexed": false,
1811
+ "internalType": "uint256"
1812
+ }
1813
+ ],
1814
+ "anonymous": false
1815
+ },
1816
+ {
1817
+ "type": "event",
1818
+ "name": "WithdrawRouted",
1819
+ "inputs": [
1820
+ {
1821
+ "name": "yieldGroup",
1822
+ "type": "address",
1823
+ "indexed": true,
1824
+ "internalType": "address"
1825
+ },
1826
+ {
1827
+ "name": "amount",
1828
+ "type": "uint256",
1829
+ "indexed": false,
1830
+ "internalType": "uint256"
1831
+ }
1832
+ ],
1833
+ "anonymous": false
1834
+ },
1835
+ {
1836
+ "type": "event",
1837
+ "name": "YieldGroupAdded",
1838
+ "inputs": [
1839
+ {
1840
+ "name": "yieldGroup",
1841
+ "type": "address",
1842
+ "indexed": true,
1843
+ "internalType": "address"
1844
+ },
1845
+ {
1846
+ "name": "absoluteCap",
1847
+ "type": "uint256",
1848
+ "indexed": false,
1849
+ "internalType": "uint256"
1850
+ },
1851
+ {
1852
+ "name": "percentageCapBps",
1853
+ "type": "uint16",
1854
+ "indexed": false,
1855
+ "internalType": "uint16"
1856
+ }
1857
+ ],
1858
+ "anonymous": false
1859
+ },
1860
+ {
1861
+ "type": "event",
1862
+ "name": "YieldGroupCapLowered",
1863
+ "inputs": [
1864
+ {
1865
+ "name": "yieldGroup",
1866
+ "type": "address",
1867
+ "indexed": true,
1868
+ "internalType": "address"
1869
+ },
1870
+ {
1871
+ "name": "absoluteCap",
1872
+ "type": "uint256",
1873
+ "indexed": false,
1874
+ "internalType": "uint256"
1875
+ },
1876
+ {
1877
+ "name": "percentageCapBps",
1878
+ "type": "uint16",
1879
+ "indexed": false,
1880
+ "internalType": "uint16"
1881
+ }
1882
+ ],
1883
+ "anonymous": false
1884
+ },
1885
+ {
1886
+ "type": "event",
1887
+ "name": "YieldGroupCapRaised",
1888
+ "inputs": [
1889
+ {
1890
+ "name": "yieldGroup",
1891
+ "type": "address",
1892
+ "indexed": true,
1893
+ "internalType": "address"
1894
+ },
1895
+ {
1896
+ "name": "absoluteCap",
1897
+ "type": "uint256",
1898
+ "indexed": false,
1899
+ "internalType": "uint256"
1900
+ },
1901
+ {
1902
+ "name": "percentageCapBps",
1903
+ "type": "uint16",
1904
+ "indexed": false,
1905
+ "internalType": "uint16"
1906
+ }
1907
+ ],
1908
+ "anonymous": false
1909
+ },
1910
+ {
1911
+ "type": "event",
1912
+ "name": "YieldGroupPauseToggled",
1913
+ "inputs": [
1914
+ {
1915
+ "name": "yieldGroup",
1916
+ "type": "address",
1917
+ "indexed": true,
1918
+ "internalType": "address"
1919
+ },
1920
+ {
1921
+ "name": "paused",
1922
+ "type": "bool",
1923
+ "indexed": false,
1924
+ "internalType": "bool"
1925
+ }
1926
+ ],
1927
+ "anonymous": false
1928
+ },
1929
+ {
1930
+ "type": "event",
1931
+ "name": "YieldGroupRemoved",
1932
+ "inputs": [
1933
+ {
1934
+ "name": "yieldGroup",
1935
+ "type": "address",
1936
+ "indexed": true,
1937
+ "internalType": "address"
1938
+ }
1939
+ ],
1940
+ "anonymous": false
1941
+ },
1942
+ {
1943
+ "type": "event",
1944
+ "name": "YieldGroupSkipped",
1945
+ "inputs": [
1946
+ {
1947
+ "name": "yieldGroup",
1948
+ "type": "address",
1949
+ "indexed": true,
1950
+ "internalType": "address"
1951
+ },
1952
+ {
1953
+ "name": "isDeposit",
1954
+ "type": "bool",
1955
+ "indexed": false,
1956
+ "internalType": "bool"
1957
+ }
1958
+ ],
1959
+ "anonymous": false
1960
+ },
1961
+ {
1962
+ "type": "error",
1963
+ "name": "HubCapacityExceeded",
1964
+ "inputs": [
1965
+ {
1966
+ "name": "requested",
1967
+ "type": "uint256",
1968
+ "internalType": "uint256"
1969
+ },
1970
+ {
1971
+ "name": "maxAvailable",
1972
+ "type": "uint256",
1973
+ "internalType": "uint256"
1974
+ }
1975
+ ]
1976
+ },
1977
+ {
1978
+ "type": "error",
1979
+ "name": "HubInsufficientLiquidity",
1980
+ "inputs": [
1981
+ {
1982
+ "name": "requested",
1983
+ "type": "uint256",
1984
+ "internalType": "uint256"
1985
+ },
1986
+ {
1987
+ "name": "available",
1988
+ "type": "uint256",
1989
+ "internalType": "uint256"
1990
+ }
1991
+ ]
1992
+ },
1993
+ {
1994
+ "type": "error",
1995
+ "name": "HubPaused",
1996
+ "inputs": []
1997
+ },
1998
+ {
1999
+ "type": "error",
2000
+ "name": "HubWithdrawCapExceeded",
2001
+ "inputs": [
2002
+ {
2003
+ "name": "requested",
2004
+ "type": "uint256",
2005
+ "internalType": "uint256"
2006
+ },
2007
+ {
2008
+ "name": "perRequestCap",
2009
+ "type": "uint256",
2010
+ "internalType": "uint256"
2011
+ }
2012
+ ]
2013
+ },
2014
+ {
2015
+ "type": "error",
2016
+ "name": "InvalidCap",
2017
+ "inputs": [
2018
+ {
2019
+ "name": "absoluteCap",
2020
+ "type": "uint256",
2021
+ "internalType": "uint256"
2022
+ },
2023
+ {
2024
+ "name": "percentageCapBps",
2025
+ "type": "uint16",
2026
+ "internalType": "uint16"
2027
+ }
2028
+ ]
2029
+ },
2030
+ {
2031
+ "type": "error",
2032
+ "name": "InvalidDecimalsOffset",
2033
+ "inputs": []
2034
+ },
2035
+ {
2036
+ "type": "error",
2037
+ "name": "InvalidFeeBps",
2038
+ "inputs": [
2039
+ {
2040
+ "name": "bps",
2041
+ "type": "uint16",
2042
+ "internalType": "uint16"
2043
+ }
2044
+ ]
2045
+ },
2046
+ {
2047
+ "type": "error",
2048
+ "name": "InvalidQueue",
2049
+ "inputs": []
2050
+ },
2051
+ {
2052
+ "type": "error",
2053
+ "name": "NotDecreasing",
2054
+ "inputs": []
2055
+ },
2056
+ {
2057
+ "type": "error",
2058
+ "name": "NotIncreasing",
2059
+ "inputs": []
2060
+ },
2061
+ {
2062
+ "type": "error",
2063
+ "name": "ReallocateImbalanced",
2064
+ "inputs": [
2065
+ {
2066
+ "name": "withdrawSum",
2067
+ "type": "uint256",
2068
+ "internalType": "uint256"
2069
+ },
2070
+ {
2071
+ "name": "depositSum",
2072
+ "type": "uint256",
2073
+ "internalType": "uint256"
2074
+ }
2075
+ ]
2076
+ },
2077
+ {
2078
+ "type": "error",
2079
+ "name": "SweepProtectedAsset",
2080
+ "inputs": []
2081
+ },
2082
+ {
2083
+ "type": "error",
2084
+ "name": "Unauthorized",
2085
+ "inputs": [
2086
+ {
2087
+ "name": "sender",
2088
+ "type": "address",
2089
+ "internalType": "address"
2090
+ },
2091
+ {
2092
+ "name": "calledContract",
2093
+ "type": "address",
2094
+ "internalType": "address"
2095
+ },
2096
+ {
2097
+ "name": "methodSignature",
2098
+ "type": "string",
2099
+ "internalType": "string"
2100
+ }
2101
+ ]
2102
+ },
2103
+ {
2104
+ "type": "error",
2105
+ "name": "WithdrawQueueOmitsFundedYieldGroup",
2106
+ "inputs": [
2107
+ {
2108
+ "name": "yieldGroup",
2109
+ "type": "address",
2110
+ "internalType": "address"
2111
+ }
2112
+ ]
2113
+ },
2114
+ {
2115
+ "type": "error",
2116
+ "name": "YieldGroupAlreadyRegistered",
2117
+ "inputs": [
2118
+ {
2119
+ "name": "yieldGroup",
2120
+ "type": "address",
2121
+ "internalType": "address"
2122
+ }
2123
+ ]
2124
+ },
2125
+ {
2126
+ "type": "error",
2127
+ "name": "YieldGroupAssetMismatch",
2128
+ "inputs": [
2129
+ {
2130
+ "name": "yieldGroup",
2131
+ "type": "address",
2132
+ "internalType": "address"
2133
+ },
2134
+ {
2135
+ "name": "yieldGroupAsset",
2136
+ "type": "address",
2137
+ "internalType": "address"
2138
+ },
2139
+ {
2140
+ "name": "hubAsset",
2141
+ "type": "address",
2142
+ "internalType": "address"
2143
+ }
2144
+ ]
2145
+ },
2146
+ {
2147
+ "type": "error",
2148
+ "name": "YieldGroupHasBalance",
2149
+ "inputs": [
2150
+ {
2151
+ "name": "yieldGroup",
2152
+ "type": "address",
2153
+ "internalType": "address"
2154
+ },
2155
+ {
2156
+ "name": "balance",
2157
+ "type": "uint256",
2158
+ "internalType": "uint256"
2159
+ }
2160
+ ]
2161
+ },
2162
+ {
2163
+ "type": "error",
2164
+ "name": "YieldGroupNotRegistered",
2165
+ "inputs": [
2166
+ {
2167
+ "name": "yieldGroup",
2168
+ "type": "address",
2169
+ "internalType": "address"
2170
+ }
2171
+ ]
2172
+ },
2173
+ {
2174
+ "type": "error",
2175
+ "name": "YieldGroupPaused",
2176
+ "inputs": [
2177
+ {
2178
+ "name": "yieldGroup",
2179
+ "type": "address",
2180
+ "internalType": "address"
2181
+ }
2182
+ ]
2183
+ },
2184
+ {
2185
+ "type": "error",
2186
+ "name": "YieldGroupUnderfilled",
2187
+ "inputs": [
2188
+ {
2189
+ "name": "yieldGroup",
2190
+ "type": "address",
2191
+ "internalType": "address"
2192
+ },
2193
+ {
2194
+ "name": "requested",
2195
+ "type": "uint256",
2196
+ "internalType": "uint256"
2197
+ },
2198
+ {
2199
+ "name": "actual",
2200
+ "type": "uint256",
2201
+ "internalType": "uint256"
2202
+ }
2203
+ ]
2204
+ },
2205
+ {
2206
+ "type": "error",
2207
+ "name": "ZeroAddress",
2208
+ "inputs": []
2209
+ },
2210
+ {
2211
+ "type": "error",
2212
+ "name": "ZeroAmount",
2213
+ "inputs": []
2214
+ }
2215
+ ]
2216
+ }