@merkl/contracts 1.36.46 → 1.36.48

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.
@@ -4,127 +4,285 @@
4
4
  import { Contract, utils } from "ethers";
5
5
  const _abi = [
6
6
  {
7
- anonymous: false,
7
+ inputs: [],
8
+ stateMutability: "nonpayable",
9
+ type: "constructor",
10
+ },
11
+ {
8
12
  inputs: [
9
13
  {
10
- indexed: true,
11
- internalType: "uint256",
12
- name: "assetId",
13
- type: "uint256",
14
+ internalType: "address",
15
+ name: "authority",
16
+ type: "address",
14
17
  },
18
+ ],
19
+ name: "AccessManagedInvalidAuthority",
20
+ type: "error",
21
+ },
22
+ {
23
+ inputs: [
15
24
  {
16
- indexed: true,
17
25
  internalType: "address",
18
- name: "spoke",
26
+ name: "caller",
19
27
  type: "address",
20
28
  },
21
29
  {
22
- indexed: false,
30
+ internalType: "uint32",
31
+ name: "delay",
32
+ type: "uint32",
33
+ },
34
+ ],
35
+ name: "AccessManagedRequiredDelay",
36
+ type: "error",
37
+ },
38
+ {
39
+ inputs: [
40
+ {
41
+ internalType: "address",
42
+ name: "caller",
43
+ type: "address",
44
+ },
45
+ ],
46
+ name: "AccessManagedUnauthorized",
47
+ type: "error",
48
+ },
49
+ {
50
+ inputs: [
51
+ {
23
52
  internalType: "uint256",
24
- name: "shares",
53
+ name: "addCap",
25
54
  type: "uint256",
26
55
  },
56
+ ],
57
+ name: "AddCapExceeded",
58
+ type: "error",
59
+ },
60
+ {
61
+ inputs: [],
62
+ name: "AssetNotListed",
63
+ type: "error",
64
+ },
65
+ {
66
+ inputs: [
27
67
  {
28
- indexed: false,
29
68
  internalType: "uint256",
30
- name: "amount",
69
+ name: "drawCap",
31
70
  type: "uint256",
32
71
  },
33
72
  ],
34
- name: "Add",
35
- type: "event",
73
+ name: "DrawCapExceeded",
74
+ type: "error",
36
75
  },
37
76
  {
38
- anonymous: false,
39
77
  inputs: [
40
78
  {
41
- indexed: true,
42
79
  internalType: "uint256",
43
- name: "assetId",
80
+ name: "liquidity",
44
81
  type: "uint256",
45
82
  },
83
+ ],
84
+ name: "InsufficientLiquidity",
85
+ type: "error",
86
+ },
87
+ {
88
+ inputs: [
46
89
  {
47
- indexed: true,
48
- internalType: "address",
49
- name: "spoke",
50
- type: "address",
90
+ internalType: "uint256",
91
+ name: "liquidityNeeded",
92
+ type: "uint256",
51
93
  },
52
94
  ],
53
- name: "AddSpoke",
54
- type: "event",
95
+ name: "InsufficientTransferred",
96
+ type: "error",
97
+ },
98
+ {
99
+ inputs: [],
100
+ name: "InvalidAddress",
101
+ type: "error",
102
+ },
103
+ {
104
+ inputs: [],
105
+ name: "InvalidAmount",
106
+ type: "error",
107
+ },
108
+ {
109
+ inputs: [],
110
+ name: "InvalidAssetDecimals",
111
+ type: "error",
112
+ },
113
+ {
114
+ inputs: [],
115
+ name: "InvalidInitialization",
116
+ type: "error",
117
+ },
118
+ {
119
+ inputs: [],
120
+ name: "InvalidInterestRateStrategy",
121
+ type: "error",
122
+ },
123
+ {
124
+ inputs: [],
125
+ name: "InvalidLiquidityFee",
126
+ type: "error",
127
+ },
128
+ {
129
+ inputs: [],
130
+ name: "InvalidPremiumChange",
131
+ type: "error",
132
+ },
133
+ {
134
+ inputs: [],
135
+ name: "InvalidReinvestmentController",
136
+ type: "error",
137
+ },
138
+ {
139
+ inputs: [],
140
+ name: "InvalidShares",
141
+ type: "error",
142
+ },
143
+ {
144
+ inputs: [],
145
+ name: "NotInitializing",
146
+ type: "error",
147
+ },
148
+ {
149
+ inputs: [],
150
+ name: "OnlyReinvestmentController",
151
+ type: "error",
55
152
  },
56
153
  {
57
- anonymous: false,
58
154
  inputs: [
59
155
  {
60
- indexed: true,
156
+ internalType: "uint8",
157
+ name: "bits",
158
+ type: "uint8",
159
+ },
160
+ {
161
+ internalType: "int256",
162
+ name: "value",
163
+ type: "int256",
164
+ },
165
+ ],
166
+ name: "SafeCastOverflowedIntDowncast",
167
+ type: "error",
168
+ },
169
+ {
170
+ inputs: [
171
+ {
172
+ internalType: "int256",
173
+ name: "value",
174
+ type: "int256",
175
+ },
176
+ ],
177
+ name: "SafeCastOverflowedIntToUint",
178
+ type: "error",
179
+ },
180
+ {
181
+ inputs: [
182
+ {
183
+ internalType: "uint8",
184
+ name: "bits",
185
+ type: "uint8",
186
+ },
187
+ {
61
188
  internalType: "uint256",
62
- name: "assetId",
189
+ name: "value",
63
190
  type: "uint256",
64
191
  },
192
+ ],
193
+ name: "SafeCastOverflowedUintDowncast",
194
+ type: "error",
195
+ },
196
+ {
197
+ inputs: [
198
+ {
199
+ internalType: "uint256",
200
+ name: "value",
201
+ type: "uint256",
202
+ },
203
+ ],
204
+ name: "SafeCastOverflowedUintToInt",
205
+ type: "error",
206
+ },
207
+ {
208
+ inputs: [
65
209
  {
66
- indexed: true,
67
210
  internalType: "address",
68
- name: "spoke",
211
+ name: "token",
69
212
  type: "address",
70
213
  },
214
+ ],
215
+ name: "SafeERC20FailedOperation",
216
+ type: "error",
217
+ },
218
+ {
219
+ inputs: [],
220
+ name: "SpokeAlreadyListed",
221
+ type: "error",
222
+ },
223
+ {
224
+ inputs: [],
225
+ name: "SpokeHalted",
226
+ type: "error",
227
+ },
228
+ {
229
+ inputs: [],
230
+ name: "SpokeNotActive",
231
+ type: "error",
232
+ },
233
+ {
234
+ inputs: [],
235
+ name: "SpokeNotListed",
236
+ type: "error",
237
+ },
238
+ {
239
+ inputs: [
71
240
  {
72
- indexed: false,
73
241
  internalType: "uint256",
74
- name: "drawnShares",
242
+ name: "maxAllowedDeficit",
75
243
  type: "uint256",
76
244
  },
245
+ ],
246
+ name: "SurplusDrawnDeficitReported",
247
+ type: "error",
248
+ },
249
+ {
250
+ inputs: [
77
251
  {
78
- indexed: false,
79
252
  internalType: "uint256",
80
- name: "drawnAmount",
253
+ name: "maxAllowedRestore",
81
254
  type: "uint256",
82
255
  },
83
256
  ],
84
- name: "Draw",
85
- type: "event",
257
+ name: "SurplusDrawnRestored",
258
+ type: "error",
86
259
  },
87
260
  {
88
- anonymous: false,
89
261
  inputs: [
90
262
  {
91
- indexed: true,
92
263
  internalType: "uint256",
93
- name: "assetId",
264
+ name: "maxAllowedDeficitRay",
94
265
  type: "uint256",
95
266
  },
267
+ ],
268
+ name: "SurplusPremiumRayDeficitReported",
269
+ type: "error",
270
+ },
271
+ {
272
+ inputs: [
96
273
  {
97
- indexed: true,
98
- internalType: "address",
99
- name: "spoke",
100
- type: "address",
101
- },
102
- {
103
- components: [
104
- {
105
- internalType: "int256",
106
- name: "sharesDelta",
107
- type: "int256",
108
- },
109
- {
110
- internalType: "int256",
111
- name: "offsetRayDelta",
112
- type: "int256",
113
- },
114
- {
115
- internalType: "uint256",
116
- name: "restoredPremiumRay",
117
- type: "uint256",
118
- },
119
- ],
120
- indexed: false,
121
- internalType: "struct IHubBase.PremiumDelta",
122
- name: "premiumDelta",
123
- type: "tuple",
274
+ internalType: "uint256",
275
+ name: "maxAllowedRestoreRay",
276
+ type: "uint256",
124
277
  },
125
278
  ],
126
- name: "RefreshPremium",
127
- type: "event",
279
+ name: "SurplusPremiumRayRestored",
280
+ type: "error",
281
+ },
282
+ {
283
+ inputs: [],
284
+ name: "UnderlyingAlreadyListed",
285
+ type: "error",
128
286
  },
129
287
  {
130
288
  anonymous: false,
@@ -154,7 +312,7 @@ const _abi = [
154
312
  type: "uint256",
155
313
  },
156
314
  ],
157
- name: "Remove",
315
+ name: "Add",
158
316
  type: "event",
159
317
  },
160
318
  {
@@ -169,46 +327,49 @@ const _abi = [
169
327
  {
170
328
  indexed: true,
171
329
  internalType: "address",
172
- name: "spoke",
330
+ name: "underlying",
173
331
  type: "address",
174
332
  },
175
333
  {
176
334
  indexed: false,
335
+ internalType: "uint8",
336
+ name: "decimals",
337
+ type: "uint8",
338
+ },
339
+ ],
340
+ name: "AddAsset",
341
+ type: "event",
342
+ },
343
+ {
344
+ anonymous: false,
345
+ inputs: [
346
+ {
347
+ indexed: true,
177
348
  internalType: "uint256",
178
- name: "drawnShares",
349
+ name: "assetId",
179
350
  type: "uint256",
180
351
  },
181
352
  {
182
- components: [
183
- {
184
- internalType: "int256",
185
- name: "sharesDelta",
186
- type: "int256",
187
- },
188
- {
189
- internalType: "int256",
190
- name: "offsetRayDelta",
191
- type: "int256",
192
- },
193
- {
194
- internalType: "uint256",
195
- name: "restoredPremiumRay",
196
- type: "uint256",
197
- },
198
- ],
199
- indexed: false,
200
- internalType: "struct IHubBase.PremiumDelta",
201
- name: "premiumDelta",
202
- type: "tuple",
353
+ indexed: true,
354
+ internalType: "address",
355
+ name: "spoke",
356
+ type: "address",
203
357
  },
358
+ ],
359
+ name: "AddSpoke",
360
+ type: "event",
361
+ },
362
+ {
363
+ anonymous: false,
364
+ inputs: [
204
365
  {
205
366
  indexed: false,
206
- internalType: "uint256",
207
- name: "deficitAmountRay",
208
- type: "uint256",
367
+ internalType: "address",
368
+ name: "authority",
369
+ type: "address",
209
370
  },
210
371
  ],
211
- name: "ReportDeficit",
372
+ name: "AuthorityUpdated",
212
373
  type: "event",
213
374
  },
214
375
  {
@@ -232,43 +393,14 @@ const _abi = [
232
393
  name: "drawnShares",
233
394
  type: "uint256",
234
395
  },
235
- {
236
- components: [
237
- {
238
- internalType: "int256",
239
- name: "sharesDelta",
240
- type: "int256",
241
- },
242
- {
243
- internalType: "int256",
244
- name: "offsetRayDelta",
245
- type: "int256",
246
- },
247
- {
248
- internalType: "uint256",
249
- name: "restoredPremiumRay",
250
- type: "uint256",
251
- },
252
- ],
253
- indexed: false,
254
- internalType: "struct IHubBase.PremiumDelta",
255
- name: "premiumDelta",
256
- type: "tuple",
257
- },
258
396
  {
259
397
  indexed: false,
260
398
  internalType: "uint256",
261
399
  name: "drawnAmount",
262
400
  type: "uint256",
263
401
  },
264
- {
265
- indexed: false,
266
- internalType: "uint256",
267
- name: "premiumAmount",
268
- type: "uint256",
269
- },
270
402
  ],
271
- name: "Restore",
403
+ name: "Draw",
272
404
  type: "event",
273
405
  },
274
406
  {
@@ -280,104 +412,397 @@ const _abi = [
280
412
  name: "assetId",
281
413
  type: "uint256",
282
414
  },
415
+ {
416
+ indexed: true,
417
+ internalType: "address",
418
+ name: "callerSpoke",
419
+ type: "address",
420
+ },
421
+ {
422
+ indexed: true,
423
+ internalType: "address",
424
+ name: "coveredSpoke",
425
+ type: "address",
426
+ },
283
427
  {
284
428
  indexed: false,
285
429
  internalType: "uint256",
286
- name: "drawnIndex",
430
+ name: "shares",
287
431
  type: "uint256",
288
432
  },
289
433
  {
290
434
  indexed: false,
291
435
  internalType: "uint256",
292
- name: "drawnRate",
436
+ name: "deficitAmountRay",
293
437
  type: "uint256",
294
438
  },
439
+ ],
440
+ name: "EliminateDeficit",
441
+ type: "event",
442
+ },
443
+ {
444
+ anonymous: false,
445
+ inputs: [
295
446
  {
296
447
  indexed: false,
448
+ internalType: "uint64",
449
+ name: "version",
450
+ type: "uint64",
451
+ },
452
+ ],
453
+ name: "Initialized",
454
+ type: "event",
455
+ },
456
+ {
457
+ anonymous: false,
458
+ inputs: [
459
+ {
460
+ indexed: true,
297
461
  internalType: "uint256",
298
- name: "accruedFees",
462
+ name: "assetId",
463
+ type: "uint256",
464
+ },
465
+ {
466
+ indexed: true,
467
+ internalType: "address",
468
+ name: "feeReceiver",
469
+ type: "address",
470
+ },
471
+ {
472
+ indexed: false,
473
+ internalType: "uint256",
474
+ name: "shares",
475
+ type: "uint256",
476
+ },
477
+ {
478
+ indexed: false,
479
+ internalType: "uint256",
480
+ name: "assets",
299
481
  type: "uint256",
300
482
  },
301
483
  ],
302
- name: "UpdateAsset",
484
+ name: "MintFeeShares",
303
485
  type: "event",
304
486
  },
305
487
  {
488
+ anonymous: false,
306
489
  inputs: [
307
490
  {
491
+ indexed: true,
308
492
  internalType: "uint256",
309
493
  name: "assetId",
310
494
  type: "uint256",
311
495
  },
496
+ {
497
+ indexed: true,
498
+ internalType: "address",
499
+ name: "reinvestmentController",
500
+ type: "address",
501
+ },
502
+ {
503
+ indexed: false,
504
+ internalType: "uint256",
505
+ name: "amount",
506
+ type: "uint256",
507
+ },
312
508
  ],
313
- name: "getAsset",
314
- outputs: [
509
+ name: "Reclaim",
510
+ type: "event",
511
+ },
512
+ {
513
+ anonymous: false,
514
+ inputs: [
515
+ {
516
+ indexed: true,
517
+ internalType: "uint256",
518
+ name: "assetId",
519
+ type: "uint256",
520
+ },
521
+ {
522
+ indexed: true,
523
+ internalType: "address",
524
+ name: "spoke",
525
+ type: "address",
526
+ },
315
527
  {
316
528
  components: [
317
529
  {
318
- internalType: "uint120",
319
- name: "liquidity",
320
- type: "uint120",
321
- },
322
- {
323
- internalType: "uint120",
324
- name: "realizedFees",
325
- type: "uint120",
326
- },
327
- {
328
- internalType: "uint8",
329
- name: "decimals",
330
- type: "uint8",
331
- },
332
- {
333
- internalType: "uint120",
334
- name: "addedShares",
335
- type: "uint120",
530
+ internalType: "int256",
531
+ name: "sharesDelta",
532
+ type: "int256",
336
533
  },
337
534
  {
338
- internalType: "uint120",
339
- name: "swept",
340
- type: "uint120",
535
+ internalType: "int256",
536
+ name: "offsetRayDelta",
537
+ type: "int256",
341
538
  },
342
539
  {
343
- internalType: "int200",
344
- name: "premiumOffsetRay",
345
- type: "int200",
540
+ internalType: "uint256",
541
+ name: "restoredPremiumRay",
542
+ type: "uint256",
346
543
  },
544
+ ],
545
+ indexed: false,
546
+ internalType: "struct IHubBase.PremiumDelta",
547
+ name: "premiumDelta",
548
+ type: "tuple",
549
+ },
550
+ ],
551
+ name: "RefreshPremium",
552
+ type: "event",
553
+ },
554
+ {
555
+ anonymous: false,
556
+ inputs: [
557
+ {
558
+ indexed: true,
559
+ internalType: "uint256",
560
+ name: "assetId",
561
+ type: "uint256",
562
+ },
563
+ {
564
+ indexed: true,
565
+ internalType: "address",
566
+ name: "spoke",
567
+ type: "address",
568
+ },
569
+ {
570
+ indexed: false,
571
+ internalType: "uint256",
572
+ name: "shares",
573
+ type: "uint256",
574
+ },
575
+ {
576
+ indexed: false,
577
+ internalType: "uint256",
578
+ name: "amount",
579
+ type: "uint256",
580
+ },
581
+ ],
582
+ name: "Remove",
583
+ type: "event",
584
+ },
585
+ {
586
+ anonymous: false,
587
+ inputs: [
588
+ {
589
+ indexed: true,
590
+ internalType: "uint256",
591
+ name: "assetId",
592
+ type: "uint256",
593
+ },
594
+ {
595
+ indexed: true,
596
+ internalType: "address",
597
+ name: "spoke",
598
+ type: "address",
599
+ },
600
+ {
601
+ indexed: false,
602
+ internalType: "uint256",
603
+ name: "drawnShares",
604
+ type: "uint256",
605
+ },
606
+ {
607
+ components: [
347
608
  {
348
- internalType: "uint120",
349
- name: "drawnShares",
350
- type: "uint120",
609
+ internalType: "int256",
610
+ name: "sharesDelta",
611
+ type: "int256",
351
612
  },
352
613
  {
353
- internalType: "uint120",
354
- name: "premiumShares",
355
- type: "uint120",
614
+ internalType: "int256",
615
+ name: "offsetRayDelta",
616
+ type: "int256",
356
617
  },
357
618
  {
358
- internalType: "uint16",
359
- name: "liquidityFee",
360
- type: "uint16",
619
+ internalType: "uint256",
620
+ name: "restoredPremiumRay",
621
+ type: "uint256",
361
622
  },
623
+ ],
624
+ indexed: false,
625
+ internalType: "struct IHubBase.PremiumDelta",
626
+ name: "premiumDelta",
627
+ type: "tuple",
628
+ },
629
+ {
630
+ indexed: false,
631
+ internalType: "uint256",
632
+ name: "deficitAmountRay",
633
+ type: "uint256",
634
+ },
635
+ ],
636
+ name: "ReportDeficit",
637
+ type: "event",
638
+ },
639
+ {
640
+ anonymous: false,
641
+ inputs: [
642
+ {
643
+ indexed: true,
644
+ internalType: "uint256",
645
+ name: "assetId",
646
+ type: "uint256",
647
+ },
648
+ {
649
+ indexed: true,
650
+ internalType: "address",
651
+ name: "spoke",
652
+ type: "address",
653
+ },
654
+ {
655
+ indexed: false,
656
+ internalType: "uint256",
657
+ name: "drawnShares",
658
+ type: "uint256",
659
+ },
660
+ {
661
+ components: [
362
662
  {
363
- internalType: "uint120",
364
- name: "drawnIndex",
365
- type: "uint120",
663
+ internalType: "int256",
664
+ name: "sharesDelta",
665
+ type: "int256",
366
666
  },
367
667
  {
368
- internalType: "uint96",
369
- name: "drawnRate",
370
- type: "uint96",
668
+ internalType: "int256",
669
+ name: "offsetRayDelta",
670
+ type: "int256",
371
671
  },
372
672
  {
373
- internalType: "uint40",
374
- name: "lastUpdateTimestamp",
375
- type: "uint40",
673
+ internalType: "uint256",
674
+ name: "restoredPremiumRay",
675
+ type: "uint256",
376
676
  },
377
- {
378
- internalType: "address",
379
- name: "underlying",
380
- type: "address",
677
+ ],
678
+ indexed: false,
679
+ internalType: "struct IHubBase.PremiumDelta",
680
+ name: "premiumDelta",
681
+ type: "tuple",
682
+ },
683
+ {
684
+ indexed: false,
685
+ internalType: "uint256",
686
+ name: "drawnAmount",
687
+ type: "uint256",
688
+ },
689
+ {
690
+ indexed: false,
691
+ internalType: "uint256",
692
+ name: "premiumAmount",
693
+ type: "uint256",
694
+ },
695
+ ],
696
+ name: "Restore",
697
+ type: "event",
698
+ },
699
+ {
700
+ anonymous: false,
701
+ inputs: [
702
+ {
703
+ indexed: true,
704
+ internalType: "uint256",
705
+ name: "assetId",
706
+ type: "uint256",
707
+ },
708
+ {
709
+ indexed: true,
710
+ internalType: "address",
711
+ name: "reinvestmentController",
712
+ type: "address",
713
+ },
714
+ {
715
+ indexed: false,
716
+ internalType: "uint256",
717
+ name: "amount",
718
+ type: "uint256",
719
+ },
720
+ ],
721
+ name: "Sweep",
722
+ type: "event",
723
+ },
724
+ {
725
+ anonymous: false,
726
+ inputs: [
727
+ {
728
+ indexed: true,
729
+ internalType: "uint256",
730
+ name: "assetId",
731
+ type: "uint256",
732
+ },
733
+ {
734
+ indexed: true,
735
+ internalType: "address",
736
+ name: "sender",
737
+ type: "address",
738
+ },
739
+ {
740
+ indexed: true,
741
+ internalType: "address",
742
+ name: "receiver",
743
+ type: "address",
744
+ },
745
+ {
746
+ indexed: false,
747
+ internalType: "uint256",
748
+ name: "shares",
749
+ type: "uint256",
750
+ },
751
+ ],
752
+ name: "TransferShares",
753
+ type: "event",
754
+ },
755
+ {
756
+ anonymous: false,
757
+ inputs: [
758
+ {
759
+ indexed: true,
760
+ internalType: "uint256",
761
+ name: "assetId",
762
+ type: "uint256",
763
+ },
764
+ {
765
+ indexed: false,
766
+ internalType: "uint256",
767
+ name: "drawnIndex",
768
+ type: "uint256",
769
+ },
770
+ {
771
+ indexed: false,
772
+ internalType: "uint256",
773
+ name: "drawnRate",
774
+ type: "uint256",
775
+ },
776
+ {
777
+ indexed: false,
778
+ internalType: "uint256",
779
+ name: "accruedFees",
780
+ type: "uint256",
781
+ },
782
+ ],
783
+ name: "UpdateAsset",
784
+ type: "event",
785
+ },
786
+ {
787
+ anonymous: false,
788
+ inputs: [
789
+ {
790
+ indexed: true,
791
+ internalType: "uint256",
792
+ name: "assetId",
793
+ type: "uint256",
794
+ },
795
+ {
796
+ components: [
797
+ {
798
+ internalType: "address",
799
+ name: "feeReceiver",
800
+ type: "address",
801
+ },
802
+ {
803
+ internalType: "uint16",
804
+ name: "liquidityFee",
805
+ type: "uint16",
381
806
  },
382
807
  {
383
808
  internalType: "address",
@@ -389,20 +814,1351 @@ const _abi = [
389
814
  name: "reinvestmentController",
390
815
  type: "address",
391
816
  },
817
+ ],
818
+ indexed: false,
819
+ internalType: "struct IHub.AssetConfig",
820
+ name: "config",
821
+ type: "tuple",
822
+ },
823
+ ],
824
+ name: "UpdateAssetConfig",
825
+ type: "event",
826
+ },
827
+ {
828
+ anonymous: false,
829
+ inputs: [
830
+ {
831
+ indexed: true,
832
+ internalType: "uint256",
833
+ name: "assetId",
834
+ type: "uint256",
835
+ },
836
+ {
837
+ indexed: true,
838
+ internalType: "address",
839
+ name: "spoke",
840
+ type: "address",
841
+ },
842
+ {
843
+ components: [
844
+ {
845
+ internalType: "uint40",
846
+ name: "addCap",
847
+ type: "uint40",
848
+ },
392
849
  {
393
- internalType: "address",
394
- name: "feeReceiver",
395
- type: "address",
850
+ internalType: "uint40",
851
+ name: "drawCap",
852
+ type: "uint40",
396
853
  },
397
854
  {
398
- internalType: "uint200",
399
- name: "deficitRay",
400
- type: "uint200",
855
+ internalType: "uint24",
856
+ name: "riskPremiumThreshold",
857
+ type: "uint24",
858
+ },
859
+ {
860
+ internalType: "bool",
861
+ name: "active",
862
+ type: "bool",
863
+ },
864
+ {
865
+ internalType: "bool",
866
+ name: "halted",
867
+ type: "bool",
401
868
  },
402
869
  ],
403
- internalType: "struct IHub.Asset",
870
+ indexed: false,
871
+ internalType: "struct IHub.SpokeConfig",
872
+ name: "config",
873
+ type: "tuple",
874
+ },
875
+ ],
876
+ name: "UpdateSpokeConfig",
877
+ type: "event",
878
+ },
879
+ {
880
+ inputs: [],
881
+ name: "HUB_REVISION",
882
+ outputs: [
883
+ {
884
+ internalType: "uint64",
885
+ name: "",
886
+ type: "uint64",
887
+ },
888
+ ],
889
+ stateMutability: "view",
890
+ type: "function",
891
+ },
892
+ {
893
+ inputs: [],
894
+ name: "MAX_ALLOWED_SPOKE_CAP",
895
+ outputs: [
896
+ {
897
+ internalType: "uint40",
898
+ name: "",
899
+ type: "uint40",
900
+ },
901
+ ],
902
+ stateMutability: "view",
903
+ type: "function",
904
+ },
905
+ {
906
+ inputs: [],
907
+ name: "MAX_ALLOWED_UNDERLYING_DECIMALS",
908
+ outputs: [
909
+ {
910
+ internalType: "uint8",
911
+ name: "",
912
+ type: "uint8",
913
+ },
914
+ ],
915
+ stateMutability: "view",
916
+ type: "function",
917
+ },
918
+ {
919
+ inputs: [],
920
+ name: "MAX_RISK_PREMIUM_THRESHOLD",
921
+ outputs: [
922
+ {
923
+ internalType: "uint24",
924
+ name: "",
925
+ type: "uint24",
926
+ },
927
+ ],
928
+ stateMutability: "view",
929
+ type: "function",
930
+ },
931
+ {
932
+ inputs: [],
933
+ name: "MIN_ALLOWED_UNDERLYING_DECIMALS",
934
+ outputs: [
935
+ {
936
+ internalType: "uint8",
937
+ name: "",
938
+ type: "uint8",
939
+ },
940
+ ],
941
+ stateMutability: "view",
942
+ type: "function",
943
+ },
944
+ {
945
+ inputs: [
946
+ {
947
+ internalType: "uint256",
948
+ name: "assetId",
949
+ type: "uint256",
950
+ },
951
+ {
952
+ internalType: "uint256",
953
+ name: "amount",
954
+ type: "uint256",
955
+ },
956
+ ],
957
+ name: "add",
958
+ outputs: [
959
+ {
960
+ internalType: "uint256",
961
+ name: "",
962
+ type: "uint256",
963
+ },
964
+ ],
965
+ stateMutability: "nonpayable",
966
+ type: "function",
967
+ },
968
+ {
969
+ inputs: [
970
+ {
971
+ internalType: "address",
972
+ name: "underlying",
973
+ type: "address",
974
+ },
975
+ {
976
+ internalType: "uint8",
977
+ name: "decimals",
978
+ type: "uint8",
979
+ },
980
+ {
981
+ internalType: "address",
982
+ name: "feeReceiver",
983
+ type: "address",
984
+ },
985
+ {
986
+ internalType: "address",
987
+ name: "irStrategy",
988
+ type: "address",
989
+ },
990
+ {
991
+ internalType: "bytes",
992
+ name: "irData",
993
+ type: "bytes",
994
+ },
995
+ ],
996
+ name: "addAsset",
997
+ outputs: [
998
+ {
999
+ internalType: "uint256",
1000
+ name: "",
1001
+ type: "uint256",
1002
+ },
1003
+ ],
1004
+ stateMutability: "nonpayable",
1005
+ type: "function",
1006
+ },
1007
+ {
1008
+ inputs: [
1009
+ {
1010
+ internalType: "uint256",
1011
+ name: "assetId",
1012
+ type: "uint256",
1013
+ },
1014
+ {
1015
+ internalType: "address",
1016
+ name: "spoke",
1017
+ type: "address",
1018
+ },
1019
+ {
1020
+ components: [
1021
+ {
1022
+ internalType: "uint40",
1023
+ name: "addCap",
1024
+ type: "uint40",
1025
+ },
1026
+ {
1027
+ internalType: "uint40",
1028
+ name: "drawCap",
1029
+ type: "uint40",
1030
+ },
1031
+ {
1032
+ internalType: "uint24",
1033
+ name: "riskPremiumThreshold",
1034
+ type: "uint24",
1035
+ },
1036
+ {
1037
+ internalType: "bool",
1038
+ name: "active",
1039
+ type: "bool",
1040
+ },
1041
+ {
1042
+ internalType: "bool",
1043
+ name: "halted",
1044
+ type: "bool",
1045
+ },
1046
+ ],
1047
+ internalType: "struct IHub.SpokeConfig",
1048
+ name: "config",
1049
+ type: "tuple",
1050
+ },
1051
+ ],
1052
+ name: "addSpoke",
1053
+ outputs: [],
1054
+ stateMutability: "nonpayable",
1055
+ type: "function",
1056
+ },
1057
+ {
1058
+ inputs: [],
1059
+ name: "authority",
1060
+ outputs: [
1061
+ {
1062
+ internalType: "address",
1063
+ name: "",
1064
+ type: "address",
1065
+ },
1066
+ ],
1067
+ stateMutability: "view",
1068
+ type: "function",
1069
+ },
1070
+ {
1071
+ inputs: [
1072
+ {
1073
+ internalType: "uint256",
1074
+ name: "assetId",
1075
+ type: "uint256",
1076
+ },
1077
+ {
1078
+ internalType: "uint256",
1079
+ name: "amount",
1080
+ type: "uint256",
1081
+ },
1082
+ {
1083
+ internalType: "address",
1084
+ name: "to",
1085
+ type: "address",
1086
+ },
1087
+ ],
1088
+ name: "draw",
1089
+ outputs: [
1090
+ {
1091
+ internalType: "uint256",
1092
+ name: "",
1093
+ type: "uint256",
1094
+ },
1095
+ ],
1096
+ stateMutability: "nonpayable",
1097
+ type: "function",
1098
+ },
1099
+ {
1100
+ inputs: [
1101
+ {
1102
+ internalType: "uint256",
1103
+ name: "assetId",
1104
+ type: "uint256",
1105
+ },
1106
+ {
1107
+ internalType: "uint256",
1108
+ name: "amount",
1109
+ type: "uint256",
1110
+ },
1111
+ {
1112
+ internalType: "address",
1113
+ name: "spoke",
1114
+ type: "address",
1115
+ },
1116
+ ],
1117
+ name: "eliminateDeficit",
1118
+ outputs: [
1119
+ {
1120
+ internalType: "uint256",
1121
+ name: "",
1122
+ type: "uint256",
1123
+ },
1124
+ {
1125
+ internalType: "uint256",
1126
+ name: "",
1127
+ type: "uint256",
1128
+ },
1129
+ ],
1130
+ stateMutability: "nonpayable",
1131
+ type: "function",
1132
+ },
1133
+ {
1134
+ inputs: [
1135
+ {
1136
+ internalType: "uint256",
1137
+ name: "assetId",
1138
+ type: "uint256",
1139
+ },
1140
+ ],
1141
+ name: "getAddedAssets",
1142
+ outputs: [
1143
+ {
1144
+ internalType: "uint256",
1145
+ name: "",
1146
+ type: "uint256",
1147
+ },
1148
+ ],
1149
+ stateMutability: "view",
1150
+ type: "function",
1151
+ },
1152
+ {
1153
+ inputs: [
1154
+ {
1155
+ internalType: "uint256",
1156
+ name: "assetId",
1157
+ type: "uint256",
1158
+ },
1159
+ ],
1160
+ name: "getAddedShares",
1161
+ outputs: [
1162
+ {
1163
+ internalType: "uint256",
1164
+ name: "",
1165
+ type: "uint256",
1166
+ },
1167
+ ],
1168
+ stateMutability: "view",
1169
+ type: "function",
1170
+ },
1171
+ {
1172
+ inputs: [
1173
+ {
1174
+ internalType: "uint256",
1175
+ name: "assetId",
1176
+ type: "uint256",
1177
+ },
1178
+ ],
1179
+ name: "getAsset",
1180
+ outputs: [
1181
+ {
1182
+ components: [
1183
+ {
1184
+ internalType: "uint120",
1185
+ name: "liquidity",
1186
+ type: "uint120",
1187
+ },
1188
+ {
1189
+ internalType: "uint120",
1190
+ name: "realizedFees",
1191
+ type: "uint120",
1192
+ },
1193
+ {
1194
+ internalType: "uint8",
1195
+ name: "decimals",
1196
+ type: "uint8",
1197
+ },
1198
+ {
1199
+ internalType: "uint120",
1200
+ name: "addedShares",
1201
+ type: "uint120",
1202
+ },
1203
+ {
1204
+ internalType: "uint120",
1205
+ name: "swept",
1206
+ type: "uint120",
1207
+ },
1208
+ {
1209
+ internalType: "int200",
1210
+ name: "premiumOffsetRay",
1211
+ type: "int200",
1212
+ },
1213
+ {
1214
+ internalType: "uint120",
1215
+ name: "drawnShares",
1216
+ type: "uint120",
1217
+ },
1218
+ {
1219
+ internalType: "uint120",
1220
+ name: "premiumShares",
1221
+ type: "uint120",
1222
+ },
1223
+ {
1224
+ internalType: "uint16",
1225
+ name: "liquidityFee",
1226
+ type: "uint16",
1227
+ },
1228
+ {
1229
+ internalType: "uint120",
1230
+ name: "drawnIndex",
1231
+ type: "uint120",
1232
+ },
1233
+ {
1234
+ internalType: "uint96",
1235
+ name: "drawnRate",
1236
+ type: "uint96",
1237
+ },
1238
+ {
1239
+ internalType: "uint40",
1240
+ name: "lastUpdateTimestamp",
1241
+ type: "uint40",
1242
+ },
1243
+ {
1244
+ internalType: "address",
1245
+ name: "underlying",
1246
+ type: "address",
1247
+ },
1248
+ {
1249
+ internalType: "address",
1250
+ name: "irStrategy",
1251
+ type: "address",
1252
+ },
1253
+ {
1254
+ internalType: "address",
1255
+ name: "reinvestmentController",
1256
+ type: "address",
1257
+ },
1258
+ {
1259
+ internalType: "address",
1260
+ name: "feeReceiver",
1261
+ type: "address",
1262
+ },
1263
+ {
1264
+ internalType: "uint200",
1265
+ name: "deficitRay",
1266
+ type: "uint200",
1267
+ },
1268
+ ],
1269
+ internalType: "struct IHub.Asset",
1270
+ name: "",
1271
+ type: "tuple",
1272
+ },
1273
+ ],
1274
+ stateMutability: "view",
1275
+ type: "function",
1276
+ },
1277
+ {
1278
+ inputs: [
1279
+ {
1280
+ internalType: "uint256",
1281
+ name: "assetId",
1282
+ type: "uint256",
1283
+ },
1284
+ ],
1285
+ name: "getAssetAccruedFees",
1286
+ outputs: [
1287
+ {
1288
+ internalType: "uint256",
1289
+ name: "",
1290
+ type: "uint256",
1291
+ },
1292
+ ],
1293
+ stateMutability: "view",
1294
+ type: "function",
1295
+ },
1296
+ {
1297
+ inputs: [
1298
+ {
1299
+ internalType: "uint256",
1300
+ name: "assetId",
1301
+ type: "uint256",
1302
+ },
1303
+ ],
1304
+ name: "getAssetConfig",
1305
+ outputs: [
1306
+ {
1307
+ components: [
1308
+ {
1309
+ internalType: "address",
1310
+ name: "feeReceiver",
1311
+ type: "address",
1312
+ },
1313
+ {
1314
+ internalType: "uint16",
1315
+ name: "liquidityFee",
1316
+ type: "uint16",
1317
+ },
1318
+ {
1319
+ internalType: "address",
1320
+ name: "irStrategy",
1321
+ type: "address",
1322
+ },
1323
+ {
1324
+ internalType: "address",
1325
+ name: "reinvestmentController",
1326
+ type: "address",
1327
+ },
1328
+ ],
1329
+ internalType: "struct IHub.AssetConfig",
1330
+ name: "",
1331
+ type: "tuple",
1332
+ },
1333
+ ],
1334
+ stateMutability: "view",
1335
+ type: "function",
1336
+ },
1337
+ {
1338
+ inputs: [],
1339
+ name: "getAssetCount",
1340
+ outputs: [
1341
+ {
1342
+ internalType: "uint256",
1343
+ name: "",
1344
+ type: "uint256",
1345
+ },
1346
+ ],
1347
+ stateMutability: "view",
1348
+ type: "function",
1349
+ },
1350
+ {
1351
+ inputs: [
1352
+ {
1353
+ internalType: "uint256",
1354
+ name: "assetId",
1355
+ type: "uint256",
1356
+ },
1357
+ ],
1358
+ name: "getAssetDeficitRay",
1359
+ outputs: [
1360
+ {
1361
+ internalType: "uint256",
1362
+ name: "",
1363
+ type: "uint256",
1364
+ },
1365
+ ],
1366
+ stateMutability: "view",
1367
+ type: "function",
1368
+ },
1369
+ {
1370
+ inputs: [
1371
+ {
1372
+ internalType: "uint256",
1373
+ name: "assetId",
1374
+ type: "uint256",
1375
+ },
1376
+ ],
1377
+ name: "getAssetDrawnIndex",
1378
+ outputs: [
1379
+ {
1380
+ internalType: "uint256",
1381
+ name: "",
1382
+ type: "uint256",
1383
+ },
1384
+ ],
1385
+ stateMutability: "view",
1386
+ type: "function",
1387
+ },
1388
+ {
1389
+ inputs: [
1390
+ {
1391
+ internalType: "uint256",
1392
+ name: "assetId",
1393
+ type: "uint256",
1394
+ },
1395
+ ],
1396
+ name: "getAssetDrawnRate",
1397
+ outputs: [
1398
+ {
1399
+ internalType: "uint256",
1400
+ name: "",
1401
+ type: "uint256",
1402
+ },
1403
+ ],
1404
+ stateMutability: "view",
1405
+ type: "function",
1406
+ },
1407
+ {
1408
+ inputs: [
1409
+ {
1410
+ internalType: "uint256",
1411
+ name: "assetId",
1412
+ type: "uint256",
1413
+ },
1414
+ ],
1415
+ name: "getAssetDrawnShares",
1416
+ outputs: [
1417
+ {
1418
+ internalType: "uint256",
1419
+ name: "",
1420
+ type: "uint256",
1421
+ },
1422
+ ],
1423
+ stateMutability: "view",
1424
+ type: "function",
1425
+ },
1426
+ {
1427
+ inputs: [
1428
+ {
1429
+ internalType: "address",
1430
+ name: "underlying",
1431
+ type: "address",
1432
+ },
1433
+ ],
1434
+ name: "getAssetId",
1435
+ outputs: [
1436
+ {
1437
+ internalType: "uint256",
1438
+ name: "",
1439
+ type: "uint256",
1440
+ },
1441
+ ],
1442
+ stateMutability: "view",
1443
+ type: "function",
1444
+ },
1445
+ {
1446
+ inputs: [
1447
+ {
1448
+ internalType: "uint256",
1449
+ name: "assetId",
1450
+ type: "uint256",
1451
+ },
1452
+ ],
1453
+ name: "getAssetLiquidity",
1454
+ outputs: [
1455
+ {
1456
+ internalType: "uint256",
1457
+ name: "",
1458
+ type: "uint256",
1459
+ },
1460
+ ],
1461
+ stateMutability: "view",
1462
+ type: "function",
1463
+ },
1464
+ {
1465
+ inputs: [
1466
+ {
1467
+ internalType: "uint256",
1468
+ name: "assetId",
1469
+ type: "uint256",
1470
+ },
1471
+ ],
1472
+ name: "getAssetOwed",
1473
+ outputs: [
1474
+ {
1475
+ internalType: "uint256",
1476
+ name: "",
1477
+ type: "uint256",
1478
+ },
1479
+ {
1480
+ internalType: "uint256",
1481
+ name: "",
1482
+ type: "uint256",
1483
+ },
1484
+ ],
1485
+ stateMutability: "view",
1486
+ type: "function",
1487
+ },
1488
+ {
1489
+ inputs: [
1490
+ {
1491
+ internalType: "uint256",
1492
+ name: "assetId",
1493
+ type: "uint256",
1494
+ },
1495
+ ],
1496
+ name: "getAssetPremiumData",
1497
+ outputs: [
1498
+ {
1499
+ internalType: "uint256",
1500
+ name: "",
1501
+ type: "uint256",
1502
+ },
1503
+ {
1504
+ internalType: "int256",
1505
+ name: "",
1506
+ type: "int256",
1507
+ },
1508
+ ],
1509
+ stateMutability: "view",
1510
+ type: "function",
1511
+ },
1512
+ {
1513
+ inputs: [
1514
+ {
1515
+ internalType: "uint256",
1516
+ name: "assetId",
1517
+ type: "uint256",
1518
+ },
1519
+ ],
1520
+ name: "getAssetPremiumRay",
1521
+ outputs: [
1522
+ {
1523
+ internalType: "uint256",
1524
+ name: "",
1525
+ type: "uint256",
1526
+ },
1527
+ ],
1528
+ stateMutability: "view",
1529
+ type: "function",
1530
+ },
1531
+ {
1532
+ inputs: [
1533
+ {
1534
+ internalType: "uint256",
1535
+ name: "assetId",
1536
+ type: "uint256",
1537
+ },
1538
+ ],
1539
+ name: "getAssetSwept",
1540
+ outputs: [
1541
+ {
1542
+ internalType: "uint256",
1543
+ name: "",
1544
+ type: "uint256",
1545
+ },
1546
+ ],
1547
+ stateMutability: "view",
1548
+ type: "function",
1549
+ },
1550
+ {
1551
+ inputs: [
1552
+ {
1553
+ internalType: "uint256",
1554
+ name: "assetId",
1555
+ type: "uint256",
1556
+ },
1557
+ ],
1558
+ name: "getAssetTotalOwed",
1559
+ outputs: [
1560
+ {
1561
+ internalType: "uint256",
1562
+ name: "",
1563
+ type: "uint256",
1564
+ },
1565
+ ],
1566
+ stateMutability: "view",
1567
+ type: "function",
1568
+ },
1569
+ {
1570
+ inputs: [
1571
+ {
1572
+ internalType: "uint256",
1573
+ name: "assetId",
1574
+ type: "uint256",
1575
+ },
1576
+ ],
1577
+ name: "getAssetUnderlyingAndDecimals",
1578
+ outputs: [
1579
+ {
1580
+ internalType: "address",
1581
+ name: "",
1582
+ type: "address",
1583
+ },
1584
+ {
1585
+ internalType: "uint8",
1586
+ name: "",
1587
+ type: "uint8",
1588
+ },
1589
+ ],
1590
+ stateMutability: "view",
1591
+ type: "function",
1592
+ },
1593
+ {
1594
+ inputs: [
1595
+ {
1596
+ internalType: "uint256",
1597
+ name: "assetId",
1598
+ type: "uint256",
1599
+ },
1600
+ {
1601
+ internalType: "address",
1602
+ name: "spoke",
1603
+ type: "address",
1604
+ },
1605
+ ],
1606
+ name: "getSpoke",
1607
+ outputs: [
1608
+ {
1609
+ components: [
1610
+ {
1611
+ internalType: "uint120",
1612
+ name: "drawnShares",
1613
+ type: "uint120",
1614
+ },
1615
+ {
1616
+ internalType: "uint120",
1617
+ name: "premiumShares",
1618
+ type: "uint120",
1619
+ },
1620
+ {
1621
+ internalType: "int200",
1622
+ name: "premiumOffsetRay",
1623
+ type: "int200",
1624
+ },
1625
+ {
1626
+ internalType: "uint120",
1627
+ name: "addedShares",
1628
+ type: "uint120",
1629
+ },
1630
+ {
1631
+ internalType: "uint40",
1632
+ name: "addCap",
1633
+ type: "uint40",
1634
+ },
1635
+ {
1636
+ internalType: "uint40",
1637
+ name: "drawCap",
1638
+ type: "uint40",
1639
+ },
1640
+ {
1641
+ internalType: "uint24",
1642
+ name: "riskPremiumThreshold",
1643
+ type: "uint24",
1644
+ },
1645
+ {
1646
+ internalType: "bool",
1647
+ name: "active",
1648
+ type: "bool",
1649
+ },
1650
+ {
1651
+ internalType: "bool",
1652
+ name: "halted",
1653
+ type: "bool",
1654
+ },
1655
+ {
1656
+ internalType: "uint200",
1657
+ name: "deficitRay",
1658
+ type: "uint200",
1659
+ },
1660
+ ],
1661
+ internalType: "struct IHub.SpokeData",
1662
+ name: "",
1663
+ type: "tuple",
1664
+ },
1665
+ ],
1666
+ stateMutability: "view",
1667
+ type: "function",
1668
+ },
1669
+ {
1670
+ inputs: [
1671
+ {
1672
+ internalType: "uint256",
1673
+ name: "assetId",
1674
+ type: "uint256",
1675
+ },
1676
+ {
1677
+ internalType: "address",
1678
+ name: "spoke",
1679
+ type: "address",
1680
+ },
1681
+ ],
1682
+ name: "getSpokeAddedAssets",
1683
+ outputs: [
1684
+ {
1685
+ internalType: "uint256",
1686
+ name: "",
1687
+ type: "uint256",
1688
+ },
1689
+ ],
1690
+ stateMutability: "view",
1691
+ type: "function",
1692
+ },
1693
+ {
1694
+ inputs: [
1695
+ {
1696
+ internalType: "uint256",
1697
+ name: "assetId",
1698
+ type: "uint256",
1699
+ },
1700
+ {
1701
+ internalType: "address",
1702
+ name: "spoke",
1703
+ type: "address",
1704
+ },
1705
+ ],
1706
+ name: "getSpokeAddedShares",
1707
+ outputs: [
1708
+ {
1709
+ internalType: "uint256",
1710
+ name: "",
1711
+ type: "uint256",
1712
+ },
1713
+ ],
1714
+ stateMutability: "view",
1715
+ type: "function",
1716
+ },
1717
+ {
1718
+ inputs: [
1719
+ {
1720
+ internalType: "uint256",
1721
+ name: "assetId",
1722
+ type: "uint256",
1723
+ },
1724
+ {
1725
+ internalType: "uint256",
1726
+ name: "index",
1727
+ type: "uint256",
1728
+ },
1729
+ ],
1730
+ name: "getSpokeAddress",
1731
+ outputs: [
1732
+ {
1733
+ internalType: "address",
1734
+ name: "",
1735
+ type: "address",
1736
+ },
1737
+ ],
1738
+ stateMutability: "view",
1739
+ type: "function",
1740
+ },
1741
+ {
1742
+ inputs: [
1743
+ {
1744
+ internalType: "uint256",
1745
+ name: "assetId",
1746
+ type: "uint256",
1747
+ },
1748
+ {
1749
+ internalType: "address",
1750
+ name: "spoke",
1751
+ type: "address",
1752
+ },
1753
+ ],
1754
+ name: "getSpokeConfig",
1755
+ outputs: [
1756
+ {
1757
+ components: [
1758
+ {
1759
+ internalType: "uint40",
1760
+ name: "addCap",
1761
+ type: "uint40",
1762
+ },
1763
+ {
1764
+ internalType: "uint40",
1765
+ name: "drawCap",
1766
+ type: "uint40",
1767
+ },
1768
+ {
1769
+ internalType: "uint24",
1770
+ name: "riskPremiumThreshold",
1771
+ type: "uint24",
1772
+ },
1773
+ {
1774
+ internalType: "bool",
1775
+ name: "active",
1776
+ type: "bool",
1777
+ },
1778
+ {
1779
+ internalType: "bool",
1780
+ name: "halted",
1781
+ type: "bool",
1782
+ },
1783
+ ],
1784
+ internalType: "struct IHub.SpokeConfig",
1785
+ name: "",
1786
+ type: "tuple",
1787
+ },
1788
+ ],
1789
+ stateMutability: "view",
1790
+ type: "function",
1791
+ },
1792
+ {
1793
+ inputs: [
1794
+ {
1795
+ internalType: "uint256",
1796
+ name: "assetId",
1797
+ type: "uint256",
1798
+ },
1799
+ ],
1800
+ name: "getSpokeCount",
1801
+ outputs: [
1802
+ {
1803
+ internalType: "uint256",
1804
+ name: "",
1805
+ type: "uint256",
1806
+ },
1807
+ ],
1808
+ stateMutability: "view",
1809
+ type: "function",
1810
+ },
1811
+ {
1812
+ inputs: [
1813
+ {
1814
+ internalType: "uint256",
1815
+ name: "assetId",
1816
+ type: "uint256",
1817
+ },
1818
+ {
1819
+ internalType: "address",
1820
+ name: "spoke",
1821
+ type: "address",
1822
+ },
1823
+ ],
1824
+ name: "getSpokeDeficitRay",
1825
+ outputs: [
1826
+ {
1827
+ internalType: "uint256",
1828
+ name: "",
1829
+ type: "uint256",
1830
+ },
1831
+ ],
1832
+ stateMutability: "view",
1833
+ type: "function",
1834
+ },
1835
+ {
1836
+ inputs: [
1837
+ {
1838
+ internalType: "uint256",
1839
+ name: "assetId",
1840
+ type: "uint256",
1841
+ },
1842
+ {
1843
+ internalType: "address",
1844
+ name: "spoke",
1845
+ type: "address",
1846
+ },
1847
+ ],
1848
+ name: "getSpokeDrawnShares",
1849
+ outputs: [
1850
+ {
1851
+ internalType: "uint256",
1852
+ name: "",
1853
+ type: "uint256",
1854
+ },
1855
+ ],
1856
+ stateMutability: "view",
1857
+ type: "function",
1858
+ },
1859
+ {
1860
+ inputs: [
1861
+ {
1862
+ internalType: "uint256",
1863
+ name: "assetId",
1864
+ type: "uint256",
1865
+ },
1866
+ {
1867
+ internalType: "address",
1868
+ name: "spoke",
1869
+ type: "address",
1870
+ },
1871
+ ],
1872
+ name: "getSpokeOwed",
1873
+ outputs: [
1874
+ {
1875
+ internalType: "uint256",
1876
+ name: "",
1877
+ type: "uint256",
1878
+ },
1879
+ {
1880
+ internalType: "uint256",
1881
+ name: "",
1882
+ type: "uint256",
1883
+ },
1884
+ ],
1885
+ stateMutability: "view",
1886
+ type: "function",
1887
+ },
1888
+ {
1889
+ inputs: [
1890
+ {
1891
+ internalType: "uint256",
1892
+ name: "assetId",
1893
+ type: "uint256",
1894
+ },
1895
+ {
1896
+ internalType: "address",
1897
+ name: "spoke",
1898
+ type: "address",
1899
+ },
1900
+ ],
1901
+ name: "getSpokePremiumData",
1902
+ outputs: [
1903
+ {
1904
+ internalType: "uint256",
1905
+ name: "",
1906
+ type: "uint256",
1907
+ },
1908
+ {
1909
+ internalType: "int256",
1910
+ name: "",
1911
+ type: "int256",
1912
+ },
1913
+ ],
1914
+ stateMutability: "view",
1915
+ type: "function",
1916
+ },
1917
+ {
1918
+ inputs: [
1919
+ {
1920
+ internalType: "uint256",
1921
+ name: "assetId",
1922
+ type: "uint256",
1923
+ },
1924
+ {
1925
+ internalType: "address",
1926
+ name: "spoke",
1927
+ type: "address",
1928
+ },
1929
+ ],
1930
+ name: "getSpokePremiumRay",
1931
+ outputs: [
1932
+ {
1933
+ internalType: "uint256",
1934
+ name: "",
1935
+ type: "uint256",
1936
+ },
1937
+ ],
1938
+ stateMutability: "view",
1939
+ type: "function",
1940
+ },
1941
+ {
1942
+ inputs: [
1943
+ {
1944
+ internalType: "uint256",
1945
+ name: "assetId",
1946
+ type: "uint256",
1947
+ },
1948
+ {
1949
+ internalType: "address",
1950
+ name: "spoke",
1951
+ type: "address",
1952
+ },
1953
+ ],
1954
+ name: "getSpokeTotalOwed",
1955
+ outputs: [
1956
+ {
1957
+ internalType: "uint256",
1958
+ name: "",
1959
+ type: "uint256",
1960
+ },
1961
+ ],
1962
+ stateMutability: "view",
1963
+ type: "function",
1964
+ },
1965
+ {
1966
+ inputs: [
1967
+ {
1968
+ internalType: "address",
1969
+ name: "authority",
1970
+ type: "address",
1971
+ },
1972
+ ],
1973
+ name: "initialize",
1974
+ outputs: [],
1975
+ stateMutability: "nonpayable",
1976
+ type: "function",
1977
+ },
1978
+ {
1979
+ inputs: [],
1980
+ name: "isConsumingScheduledOp",
1981
+ outputs: [
1982
+ {
1983
+ internalType: "bytes4",
1984
+ name: "",
1985
+ type: "bytes4",
1986
+ },
1987
+ ],
1988
+ stateMutability: "view",
1989
+ type: "function",
1990
+ },
1991
+ {
1992
+ inputs: [
1993
+ {
1994
+ internalType: "uint256",
1995
+ name: "assetId",
1996
+ type: "uint256",
1997
+ },
1998
+ {
1999
+ internalType: "address",
2000
+ name: "spoke",
2001
+ type: "address",
2002
+ },
2003
+ ],
2004
+ name: "isSpokeListed",
2005
+ outputs: [
2006
+ {
2007
+ internalType: "bool",
2008
+ name: "",
2009
+ type: "bool",
2010
+ },
2011
+ ],
2012
+ stateMutability: "view",
2013
+ type: "function",
2014
+ },
2015
+ {
2016
+ inputs: [
2017
+ {
2018
+ internalType: "address",
2019
+ name: "underlying",
2020
+ type: "address",
2021
+ },
2022
+ ],
2023
+ name: "isUnderlyingListed",
2024
+ outputs: [
2025
+ {
2026
+ internalType: "bool",
2027
+ name: "",
2028
+ type: "bool",
2029
+ },
2030
+ ],
2031
+ stateMutability: "view",
2032
+ type: "function",
2033
+ },
2034
+ {
2035
+ inputs: [
2036
+ {
2037
+ internalType: "uint256",
2038
+ name: "assetId",
2039
+ type: "uint256",
2040
+ },
2041
+ ],
2042
+ name: "mintFeeShares",
2043
+ outputs: [
2044
+ {
2045
+ internalType: "uint256",
2046
+ name: "",
2047
+ type: "uint256",
2048
+ },
2049
+ ],
2050
+ stateMutability: "nonpayable",
2051
+ type: "function",
2052
+ },
2053
+ {
2054
+ inputs: [
2055
+ {
2056
+ internalType: "uint256",
2057
+ name: "assetId",
2058
+ type: "uint256",
2059
+ },
2060
+ {
2061
+ internalType: "uint256",
2062
+ name: "shares",
2063
+ type: "uint256",
2064
+ },
2065
+ ],
2066
+ name: "payFeeShares",
2067
+ outputs: [],
2068
+ stateMutability: "nonpayable",
2069
+ type: "function",
2070
+ },
2071
+ {
2072
+ inputs: [
2073
+ {
2074
+ internalType: "uint256",
2075
+ name: "assetId",
2076
+ type: "uint256",
2077
+ },
2078
+ {
2079
+ internalType: "uint256",
2080
+ name: "assets",
2081
+ type: "uint256",
2082
+ },
2083
+ ],
2084
+ name: "previewAddByAssets",
2085
+ outputs: [
2086
+ {
2087
+ internalType: "uint256",
2088
+ name: "",
2089
+ type: "uint256",
2090
+ },
2091
+ ],
2092
+ stateMutability: "view",
2093
+ type: "function",
2094
+ },
2095
+ {
2096
+ inputs: [
2097
+ {
2098
+ internalType: "uint256",
2099
+ name: "assetId",
2100
+ type: "uint256",
2101
+ },
2102
+ {
2103
+ internalType: "uint256",
2104
+ name: "shares",
2105
+ type: "uint256",
2106
+ },
2107
+ ],
2108
+ name: "previewAddByShares",
2109
+ outputs: [
2110
+ {
2111
+ internalType: "uint256",
2112
+ name: "",
2113
+ type: "uint256",
2114
+ },
2115
+ ],
2116
+ stateMutability: "view",
2117
+ type: "function",
2118
+ },
2119
+ {
2120
+ inputs: [
2121
+ {
2122
+ internalType: "uint256",
2123
+ name: "assetId",
2124
+ type: "uint256",
2125
+ },
2126
+ {
2127
+ internalType: "uint256",
2128
+ name: "assets",
2129
+ type: "uint256",
2130
+ },
2131
+ ],
2132
+ name: "previewDrawByAssets",
2133
+ outputs: [
2134
+ {
2135
+ internalType: "uint256",
2136
+ name: "",
2137
+ type: "uint256",
2138
+ },
2139
+ ],
2140
+ stateMutability: "view",
2141
+ type: "function",
2142
+ },
2143
+ {
2144
+ inputs: [
2145
+ {
2146
+ internalType: "uint256",
2147
+ name: "assetId",
2148
+ type: "uint256",
2149
+ },
2150
+ {
2151
+ internalType: "uint256",
2152
+ name: "shares",
2153
+ type: "uint256",
2154
+ },
2155
+ ],
2156
+ name: "previewDrawByShares",
2157
+ outputs: [
2158
+ {
2159
+ internalType: "uint256",
404
2160
  name: "",
405
- type: "tuple",
2161
+ type: "uint256",
406
2162
  },
407
2163
  ],
408
2164
  stateMutability: "view",
@@ -415,8 +2171,13 @@ const _abi = [
415
2171
  name: "assetId",
416
2172
  type: "uint256",
417
2173
  },
2174
+ {
2175
+ internalType: "uint256",
2176
+ name: "assets",
2177
+ type: "uint256",
2178
+ },
418
2179
  ],
419
- name: "getAssetDrawnIndex",
2180
+ name: "previewRemoveByAssets",
420
2181
  outputs: [
421
2182
  {
422
2183
  internalType: "uint256",
@@ -434,8 +2195,13 @@ const _abi = [
434
2195
  name: "assetId",
435
2196
  type: "uint256",
436
2197
  },
2198
+ {
2199
+ internalType: "uint256",
2200
+ name: "shares",
2201
+ type: "uint256",
2202
+ },
437
2203
  ],
438
- name: "getAssetTotalOwed",
2204
+ name: "previewRemoveByShares",
439
2205
  outputs: [
440
2206
  {
441
2207
  internalType: "uint256",
@@ -454,12 +2220,12 @@ const _abi = [
454
2220
  type: "uint256",
455
2221
  },
456
2222
  {
457
- internalType: "address",
458
- name: "spoke",
459
- type: "address",
2223
+ internalType: "uint256",
2224
+ name: "assets",
2225
+ type: "uint256",
460
2226
  },
461
2227
  ],
462
- name: "getSpokeAddedShares",
2228
+ name: "previewRestoreByAssets",
463
2229
  outputs: [
464
2230
  {
465
2231
  internalType: "uint256",
@@ -478,12 +2244,12 @@ const _abi = [
478
2244
  type: "uint256",
479
2245
  },
480
2246
  {
481
- internalType: "address",
482
- name: "spoke",
483
- type: "address",
2247
+ internalType: "uint256",
2248
+ name: "shares",
2249
+ type: "uint256",
484
2250
  },
485
2251
  ],
486
- name: "getSpokeAddedAssets",
2252
+ name: "previewRestoreByShares",
487
2253
  outputs: [
488
2254
  {
489
2255
  internalType: "uint256",
@@ -501,13 +2267,71 @@ const _abi = [
501
2267
  name: "assetId",
502
2268
  type: "uint256",
503
2269
  },
2270
+ {
2271
+ internalType: "uint256",
2272
+ name: "amount",
2273
+ type: "uint256",
2274
+ },
2275
+ ],
2276
+ name: "reclaim",
2277
+ outputs: [],
2278
+ stateMutability: "nonpayable",
2279
+ type: "function",
2280
+ },
2281
+ {
2282
+ inputs: [
2283
+ {
2284
+ internalType: "uint256",
2285
+ name: "assetId",
2286
+ type: "uint256",
2287
+ },
2288
+ {
2289
+ components: [
2290
+ {
2291
+ internalType: "int256",
2292
+ name: "sharesDelta",
2293
+ type: "int256",
2294
+ },
2295
+ {
2296
+ internalType: "int256",
2297
+ name: "offsetRayDelta",
2298
+ type: "int256",
2299
+ },
2300
+ {
2301
+ internalType: "uint256",
2302
+ name: "restoredPremiumRay",
2303
+ type: "uint256",
2304
+ },
2305
+ ],
2306
+ internalType: "struct IHubBase.PremiumDelta",
2307
+ name: "premiumDelta",
2308
+ type: "tuple",
2309
+ },
2310
+ ],
2311
+ name: "refreshPremium",
2312
+ outputs: [],
2313
+ stateMutability: "nonpayable",
2314
+ type: "function",
2315
+ },
2316
+ {
2317
+ inputs: [
2318
+ {
2319
+ internalType: "uint256",
2320
+ name: "assetId",
2321
+ type: "uint256",
2322
+ },
2323
+ {
2324
+ internalType: "uint256",
2325
+ name: "amount",
2326
+ type: "uint256",
2327
+ },
504
2328
  {
505
2329
  internalType: "address",
506
- name: "spoke",
2330
+ name: "to",
507
2331
  type: "address",
508
2332
  },
509
2333
  ],
510
- name: "getSpokeDrawnShares",
2334
+ name: "remove",
511
2335
  outputs: [
512
2336
  {
513
2337
  internalType: "uint256",
@@ -515,7 +2339,7 @@ const _abi = [
515
2339
  type: "uint256",
516
2340
  },
517
2341
  ],
518
- stateMutability: "view",
2342
+ stateMutability: "nonpayable",
519
2343
  type: "function",
520
2344
  },
521
2345
  {
@@ -526,25 +2350,47 @@ const _abi = [
526
2350
  type: "uint256",
527
2351
  },
528
2352
  {
529
- internalType: "address",
530
- name: "spoke",
531
- type: "address",
2353
+ internalType: "uint256",
2354
+ name: "drawnAmount",
2355
+ type: "uint256",
2356
+ },
2357
+ {
2358
+ components: [
2359
+ {
2360
+ internalType: "int256",
2361
+ name: "sharesDelta",
2362
+ type: "int256",
2363
+ },
2364
+ {
2365
+ internalType: "int256",
2366
+ name: "offsetRayDelta",
2367
+ type: "int256",
2368
+ },
2369
+ {
2370
+ internalType: "uint256",
2371
+ name: "restoredPremiumRay",
2372
+ type: "uint256",
2373
+ },
2374
+ ],
2375
+ internalType: "struct IHubBase.PremiumDelta",
2376
+ name: "premiumDelta",
2377
+ type: "tuple",
532
2378
  },
533
2379
  ],
534
- name: "getSpokeOwed",
2380
+ name: "reportDeficit",
535
2381
  outputs: [
536
2382
  {
537
2383
  internalType: "uint256",
538
- name: "drawnAssets",
2384
+ name: "",
539
2385
  type: "uint256",
540
2386
  },
541
2387
  {
542
2388
  internalType: "uint256",
543
- name: "premiumAssets",
2389
+ name: "",
544
2390
  type: "uint256",
545
2391
  },
546
2392
  ],
547
- stateMutability: "view",
2393
+ stateMutability: "nonpayable",
548
2394
  type: "function",
549
2395
  },
550
2396
  {
@@ -555,12 +2401,34 @@ const _abi = [
555
2401
  type: "uint256",
556
2402
  },
557
2403
  {
558
- internalType: "address",
559
- name: "spoke",
560
- type: "address",
2404
+ internalType: "uint256",
2405
+ name: "drawnAmount",
2406
+ type: "uint256",
2407
+ },
2408
+ {
2409
+ components: [
2410
+ {
2411
+ internalType: "int256",
2412
+ name: "sharesDelta",
2413
+ type: "int256",
2414
+ },
2415
+ {
2416
+ internalType: "int256",
2417
+ name: "offsetRayDelta",
2418
+ type: "int256",
2419
+ },
2420
+ {
2421
+ internalType: "uint256",
2422
+ name: "restoredPremiumRay",
2423
+ type: "uint256",
2424
+ },
2425
+ ],
2426
+ internalType: "struct IHubBase.PremiumDelta",
2427
+ name: "premiumDelta",
2428
+ type: "tuple",
561
2429
  },
562
2430
  ],
563
- name: "getSpokeTotalOwed",
2431
+ name: "restore",
564
2432
  outputs: [
565
2433
  {
566
2434
  internalType: "uint256",
@@ -568,7 +2436,56 @@ const _abi = [
568
2436
  type: "uint256",
569
2437
  },
570
2438
  ],
571
- stateMutability: "view",
2439
+ stateMutability: "nonpayable",
2440
+ type: "function",
2441
+ },
2442
+ {
2443
+ inputs: [
2444
+ {
2445
+ internalType: "address",
2446
+ name: "newAuthority",
2447
+ type: "address",
2448
+ },
2449
+ ],
2450
+ name: "setAuthority",
2451
+ outputs: [],
2452
+ stateMutability: "nonpayable",
2453
+ type: "function",
2454
+ },
2455
+ {
2456
+ inputs: [
2457
+ {
2458
+ internalType: "uint256",
2459
+ name: "assetId",
2460
+ type: "uint256",
2461
+ },
2462
+ {
2463
+ internalType: "bytes",
2464
+ name: "irData",
2465
+ type: "bytes",
2466
+ },
2467
+ ],
2468
+ name: "setInterestRateData",
2469
+ outputs: [],
2470
+ stateMutability: "nonpayable",
2471
+ type: "function",
2472
+ },
2473
+ {
2474
+ inputs: [
2475
+ {
2476
+ internalType: "uint256",
2477
+ name: "assetId",
2478
+ type: "uint256",
2479
+ },
2480
+ {
2481
+ internalType: "uint256",
2482
+ name: "amount",
2483
+ type: "uint256",
2484
+ },
2485
+ ],
2486
+ name: "sweep",
2487
+ outputs: [],
2488
+ stateMutability: "nonpayable",
572
2489
  type: "function",
573
2490
  },
574
2491
  {
@@ -578,36 +2495,81 @@ const _abi = [
578
2495
  name: "assetId",
579
2496
  type: "uint256",
580
2497
  },
2498
+ {
2499
+ internalType: "uint256",
2500
+ name: "shares",
2501
+ type: "uint256",
2502
+ },
581
2503
  {
582
2504
  internalType: "address",
583
- name: "spoke",
2505
+ name: "toSpoke",
584
2506
  type: "address",
585
2507
  },
586
2508
  ],
587
- name: "getSpokeData",
588
- outputs: [
2509
+ name: "transferShares",
2510
+ outputs: [],
2511
+ stateMutability: "nonpayable",
2512
+ type: "function",
2513
+ },
2514
+ {
2515
+ inputs: [
2516
+ {
2517
+ internalType: "uint256",
2518
+ name: "assetId",
2519
+ type: "uint256",
2520
+ },
589
2521
  {
590
2522
  components: [
591
2523
  {
592
- internalType: "uint120",
593
- name: "addedShares",
594
- type: "uint120",
2524
+ internalType: "address",
2525
+ name: "feeReceiver",
2526
+ type: "address",
595
2527
  },
596
2528
  {
597
- internalType: "uint120",
598
- name: "drawnShares",
599
- type: "uint120",
2529
+ internalType: "uint16",
2530
+ name: "liquidityFee",
2531
+ type: "uint16",
600
2532
  },
601
2533
  {
602
- internalType: "uint120",
603
- name: "premiumShares",
604
- type: "uint120",
2534
+ internalType: "address",
2535
+ name: "irStrategy",
2536
+ type: "address",
605
2537
  },
606
2538
  {
607
- internalType: "int200",
608
- name: "premiumOffsetRay",
609
- type: "int200",
2539
+ internalType: "address",
2540
+ name: "reinvestmentController",
2541
+ type: "address",
610
2542
  },
2543
+ ],
2544
+ internalType: "struct IHub.AssetConfig",
2545
+ name: "config",
2546
+ type: "tuple",
2547
+ },
2548
+ {
2549
+ internalType: "bytes",
2550
+ name: "irData",
2551
+ type: "bytes",
2552
+ },
2553
+ ],
2554
+ name: "updateAssetConfig",
2555
+ outputs: [],
2556
+ stateMutability: "nonpayable",
2557
+ type: "function",
2558
+ },
2559
+ {
2560
+ inputs: [
2561
+ {
2562
+ internalType: "uint256",
2563
+ name: "assetId",
2564
+ type: "uint256",
2565
+ },
2566
+ {
2567
+ internalType: "address",
2568
+ name: "spoke",
2569
+ type: "address",
2570
+ },
2571
+ {
2572
+ components: [
611
2573
  {
612
2574
  internalType: "uint40",
613
2575
  name: "addCap",
@@ -630,21 +2592,18 @@ const _abi = [
630
2592
  },
631
2593
  {
632
2594
  internalType: "bool",
633
- name: "paused",
2595
+ name: "halted",
634
2596
  type: "bool",
635
2597
  },
636
- {
637
- internalType: "uint200",
638
- name: "deficitRay",
639
- type: "uint200",
640
- },
641
2598
  ],
642
- internalType: "struct IHub.SpokeData",
643
- name: "",
2599
+ internalType: "struct IHub.SpokeConfig",
2600
+ name: "config",
644
2601
  type: "tuple",
645
2602
  },
646
2603
  ],
647
- stateMutability: "view",
2604
+ name: "updateSpokeConfig",
2605
+ outputs: [],
2606
+ stateMutability: "nonpayable",
648
2607
  type: "function",
649
2608
  },
650
2609
  ];