@strkfarm/sdk 1.1.33 → 1.1.35

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.
@@ -0,0 +1,2443 @@
1
+ [
2
+ {
3
+ "type": "impl",
4
+ "name": "DefaultExtensionPOV2Impl",
5
+ "interface_name": "vesu::v2::default_extension_po_v2::IDefaultExtensionPOV2"
6
+ },
7
+ {
8
+ "type": "enum",
9
+ "name": "vesu::vendor::pragma::AggregationMode",
10
+ "variants": [
11
+ {
12
+ "name": "Median",
13
+ "type": "()"
14
+ },
15
+ {
16
+ "name": "Mean",
17
+ "type": "()"
18
+ },
19
+ {
20
+ "name": "Error",
21
+ "type": "()"
22
+ }
23
+ ]
24
+ },
25
+ {
26
+ "type": "struct",
27
+ "name": "vesu::extension::components::pragma_oracle::OracleConfig",
28
+ "members": [
29
+ {
30
+ "name": "pragma_key",
31
+ "type": "core::felt252"
32
+ },
33
+ {
34
+ "name": "timeout",
35
+ "type": "core::integer::u64"
36
+ },
37
+ {
38
+ "name": "number_of_sources",
39
+ "type": "core::integer::u32"
40
+ },
41
+ {
42
+ "name": "start_time_offset",
43
+ "type": "core::integer::u64"
44
+ },
45
+ {
46
+ "name": "time_window",
47
+ "type": "core::integer::u64"
48
+ },
49
+ {
50
+ "name": "aggregation_mode",
51
+ "type": "vesu::vendor::pragma::AggregationMode"
52
+ }
53
+ ]
54
+ },
55
+ {
56
+ "type": "struct",
57
+ "name": "vesu::extension::components::fee_model::FeeConfig",
58
+ "members": [
59
+ {
60
+ "name": "fee_recipient",
61
+ "type": "core::starknet::contract_address::ContractAddress"
62
+ }
63
+ ]
64
+ },
65
+ {
66
+ "type": "struct",
67
+ "name": "core::integer::u256",
68
+ "members": [
69
+ {
70
+ "name": "low",
71
+ "type": "core::integer::u128"
72
+ },
73
+ {
74
+ "name": "high",
75
+ "type": "core::integer::u128"
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ "type": "struct",
81
+ "name": "vesu::extension::components::interest_rate_model::InterestRateConfig",
82
+ "members": [
83
+ {
84
+ "name": "min_target_utilization",
85
+ "type": "core::integer::u256"
86
+ },
87
+ {
88
+ "name": "max_target_utilization",
89
+ "type": "core::integer::u256"
90
+ },
91
+ {
92
+ "name": "target_utilization",
93
+ "type": "core::integer::u256"
94
+ },
95
+ {
96
+ "name": "min_full_utilization_rate",
97
+ "type": "core::integer::u256"
98
+ },
99
+ {
100
+ "name": "max_full_utilization_rate",
101
+ "type": "core::integer::u256"
102
+ },
103
+ {
104
+ "name": "zero_utilization_rate",
105
+ "type": "core::integer::u256"
106
+ },
107
+ {
108
+ "name": "rate_half_life",
109
+ "type": "core::integer::u256"
110
+ },
111
+ {
112
+ "name": "target_rate_percent",
113
+ "type": "core::integer::u256"
114
+ }
115
+ ]
116
+ },
117
+ {
118
+ "type": "struct",
119
+ "name": "vesu::extension::components::position_hooks::LiquidationConfig",
120
+ "members": [
121
+ {
122
+ "name": "liquidation_factor",
123
+ "type": "core::integer::u64"
124
+ }
125
+ ]
126
+ },
127
+ {
128
+ "type": "struct",
129
+ "name": "vesu::extension::components::position_hooks::ShutdownConfig",
130
+ "members": [
131
+ {
132
+ "name": "recovery_period",
133
+ "type": "core::integer::u64"
134
+ },
135
+ {
136
+ "name": "subscription_period",
137
+ "type": "core::integer::u64"
138
+ }
139
+ ]
140
+ },
141
+ {
142
+ "type": "struct",
143
+ "name": "vesu::data_model::LTVConfig",
144
+ "members": [
145
+ {
146
+ "name": "max_ltv",
147
+ "type": "core::integer::u64"
148
+ }
149
+ ]
150
+ },
151
+ {
152
+ "type": "enum",
153
+ "name": "vesu::extension::components::position_hooks::ShutdownMode",
154
+ "variants": [
155
+ {
156
+ "name": "None",
157
+ "type": "()"
158
+ },
159
+ {
160
+ "name": "Recovery",
161
+ "type": "()"
162
+ },
163
+ {
164
+ "name": "Subscription",
165
+ "type": "()"
166
+ },
167
+ {
168
+ "name": "Redemption",
169
+ "type": "()"
170
+ }
171
+ ]
172
+ },
173
+ {
174
+ "type": "enum",
175
+ "name": "core::bool",
176
+ "variants": [
177
+ {
178
+ "name": "False",
179
+ "type": "()"
180
+ },
181
+ {
182
+ "name": "True",
183
+ "type": "()"
184
+ }
185
+ ]
186
+ },
187
+ {
188
+ "type": "struct",
189
+ "name": "vesu::extension::components::position_hooks::ShutdownStatus",
190
+ "members": [
191
+ {
192
+ "name": "shutdown_mode",
193
+ "type": "vesu::extension::components::position_hooks::ShutdownMode"
194
+ },
195
+ {
196
+ "name": "violating",
197
+ "type": "core::bool"
198
+ },
199
+ {
200
+ "name": "previous_violation_timestamp",
201
+ "type": "core::integer::u64"
202
+ },
203
+ {
204
+ "name": "count_at_violation_timestamp",
205
+ "type": "core::integer::u128"
206
+ }
207
+ ]
208
+ },
209
+ {
210
+ "type": "struct",
211
+ "name": "vesu::extension::components::position_hooks::Pair",
212
+ "members": [
213
+ {
214
+ "name": "total_collateral_shares",
215
+ "type": "core::integer::u256"
216
+ },
217
+ {
218
+ "name": "total_nominal_debt",
219
+ "type": "core::integer::u256"
220
+ }
221
+ ]
222
+ },
223
+ {
224
+ "type": "struct",
225
+ "name": "vesu::data_model::AssetParams",
226
+ "members": [
227
+ {
228
+ "name": "asset",
229
+ "type": "core::starknet::contract_address::ContractAddress"
230
+ },
231
+ {
232
+ "name": "floor",
233
+ "type": "core::integer::u256"
234
+ },
235
+ {
236
+ "name": "initial_rate_accumulator",
237
+ "type": "core::integer::u256"
238
+ },
239
+ {
240
+ "name": "initial_full_utilization_rate",
241
+ "type": "core::integer::u256"
242
+ },
243
+ {
244
+ "name": "max_utilization",
245
+ "type": "core::integer::u256"
246
+ },
247
+ {
248
+ "name": "is_legacy",
249
+ "type": "core::bool"
250
+ },
251
+ {
252
+ "name": "fee_rate",
253
+ "type": "core::integer::u256"
254
+ }
255
+ ]
256
+ },
257
+ {
258
+ "type": "struct",
259
+ "name": "core::array::Span::<vesu::data_model::AssetParams>",
260
+ "members": [
261
+ {
262
+ "name": "snapshot",
263
+ "type": "@core::array::Array::<vesu::data_model::AssetParams>"
264
+ }
265
+ ]
266
+ },
267
+ {
268
+ "type": "struct",
269
+ "name": "vesu::extension::default_extension_po::VTokenParams",
270
+ "members": [
271
+ {
272
+ "name": "v_token_name",
273
+ "type": "core::felt252"
274
+ },
275
+ {
276
+ "name": "v_token_symbol",
277
+ "type": "core::felt252"
278
+ }
279
+ ]
280
+ },
281
+ {
282
+ "type": "struct",
283
+ "name": "core::array::Span::<vesu::extension::default_extension_po::VTokenParams>",
284
+ "members": [
285
+ {
286
+ "name": "snapshot",
287
+ "type": "@core::array::Array::<vesu::extension::default_extension_po::VTokenParams>"
288
+ }
289
+ ]
290
+ },
291
+ {
292
+ "type": "struct",
293
+ "name": "vesu::data_model::LTVParams",
294
+ "members": [
295
+ {
296
+ "name": "collateral_asset_index",
297
+ "type": "core::integer::u32"
298
+ },
299
+ {
300
+ "name": "debt_asset_index",
301
+ "type": "core::integer::u32"
302
+ },
303
+ {
304
+ "name": "max_ltv",
305
+ "type": "core::integer::u64"
306
+ }
307
+ ]
308
+ },
309
+ {
310
+ "type": "struct",
311
+ "name": "core::array::Span::<vesu::data_model::LTVParams>",
312
+ "members": [
313
+ {
314
+ "name": "snapshot",
315
+ "type": "@core::array::Array::<vesu::data_model::LTVParams>"
316
+ }
317
+ ]
318
+ },
319
+ {
320
+ "type": "struct",
321
+ "name": "core::array::Span::<vesu::extension::components::interest_rate_model::InterestRateConfig>",
322
+ "members": [
323
+ {
324
+ "name": "snapshot",
325
+ "type": "@core::array::Array::<vesu::extension::components::interest_rate_model::InterestRateConfig>"
326
+ }
327
+ ]
328
+ },
329
+ {
330
+ "type": "struct",
331
+ "name": "vesu::extension::default_extension_po::PragmaOracleParams",
332
+ "members": [
333
+ {
334
+ "name": "pragma_key",
335
+ "type": "core::felt252"
336
+ },
337
+ {
338
+ "name": "timeout",
339
+ "type": "core::integer::u64"
340
+ },
341
+ {
342
+ "name": "number_of_sources",
343
+ "type": "core::integer::u32"
344
+ },
345
+ {
346
+ "name": "start_time_offset",
347
+ "type": "core::integer::u64"
348
+ },
349
+ {
350
+ "name": "time_window",
351
+ "type": "core::integer::u64"
352
+ },
353
+ {
354
+ "name": "aggregation_mode",
355
+ "type": "vesu::vendor::pragma::AggregationMode"
356
+ }
357
+ ]
358
+ },
359
+ {
360
+ "type": "struct",
361
+ "name": "core::array::Span::<vesu::extension::default_extension_po::PragmaOracleParams>",
362
+ "members": [
363
+ {
364
+ "name": "snapshot",
365
+ "type": "@core::array::Array::<vesu::extension::default_extension_po::PragmaOracleParams>"
366
+ }
367
+ ]
368
+ },
369
+ {
370
+ "type": "struct",
371
+ "name": "vesu::extension::default_extension_po::LiquidationParams",
372
+ "members": [
373
+ {
374
+ "name": "collateral_asset_index",
375
+ "type": "core::integer::u32"
376
+ },
377
+ {
378
+ "name": "debt_asset_index",
379
+ "type": "core::integer::u32"
380
+ },
381
+ {
382
+ "name": "liquidation_factor",
383
+ "type": "core::integer::u64"
384
+ }
385
+ ]
386
+ },
387
+ {
388
+ "type": "struct",
389
+ "name": "core::array::Span::<vesu::extension::default_extension_po::LiquidationParams>",
390
+ "members": [
391
+ {
392
+ "name": "snapshot",
393
+ "type": "@core::array::Array::<vesu::extension::default_extension_po::LiquidationParams>"
394
+ }
395
+ ]
396
+ },
397
+ {
398
+ "type": "struct",
399
+ "name": "vesu::data_model::DebtCapParams",
400
+ "members": [
401
+ {
402
+ "name": "collateral_asset_index",
403
+ "type": "core::integer::u32"
404
+ },
405
+ {
406
+ "name": "debt_asset_index",
407
+ "type": "core::integer::u32"
408
+ },
409
+ {
410
+ "name": "debt_cap",
411
+ "type": "core::integer::u256"
412
+ }
413
+ ]
414
+ },
415
+ {
416
+ "type": "struct",
417
+ "name": "core::array::Span::<vesu::data_model::DebtCapParams>",
418
+ "members": [
419
+ {
420
+ "name": "snapshot",
421
+ "type": "@core::array::Array::<vesu::data_model::DebtCapParams>"
422
+ }
423
+ ]
424
+ },
425
+ {
426
+ "type": "struct",
427
+ "name": "vesu::extension::default_extension_po::ShutdownParams",
428
+ "members": [
429
+ {
430
+ "name": "recovery_period",
431
+ "type": "core::integer::u64"
432
+ },
433
+ {
434
+ "name": "subscription_period",
435
+ "type": "core::integer::u64"
436
+ },
437
+ {
438
+ "name": "ltv_params",
439
+ "type": "core::array::Span::<vesu::data_model::LTVParams>"
440
+ }
441
+ ]
442
+ },
443
+ {
444
+ "type": "struct",
445
+ "name": "vesu::extension::default_extension_po::FeeParams",
446
+ "members": [
447
+ {
448
+ "name": "fee_recipient",
449
+ "type": "core::starknet::contract_address::ContractAddress"
450
+ }
451
+ ]
452
+ },
453
+ {
454
+ "type": "struct",
455
+ "name": "core::array::Span::<(core::felt252, core::felt252, core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>",
456
+ "members": [
457
+ {
458
+ "name": "snapshot",
459
+ "type": "@core::array::Array::<(core::felt252, core::felt252, core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>"
460
+ }
461
+ ]
462
+ },
463
+ {
464
+ "type": "struct",
465
+ "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, vesu::extension::components::interest_rate_model::InterestRateConfig)>",
466
+ "members": [
467
+ {
468
+ "name": "snapshot",
469
+ "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, vesu::extension::components::interest_rate_model::InterestRateConfig)>"
470
+ }
471
+ ]
472
+ },
473
+ {
474
+ "type": "struct",
475
+ "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, vesu::extension::components::pragma_oracle::OracleConfig)>",
476
+ "members": [
477
+ {
478
+ "name": "snapshot",
479
+ "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, vesu::extension::components::pragma_oracle::OracleConfig)>"
480
+ }
481
+ ]
482
+ },
483
+ {
484
+ "type": "struct",
485
+ "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::extension::components::position_hooks::LiquidationConfig)>",
486
+ "members": [
487
+ {
488
+ "name": "snapshot",
489
+ "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::extension::components::position_hooks::LiquidationConfig)>"
490
+ }
491
+ ]
492
+ },
493
+ {
494
+ "type": "struct",
495
+ "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::extension::components::position_hooks::Pair)>",
496
+ "members": [
497
+ {
498
+ "name": "snapshot",
499
+ "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::extension::components::position_hooks::Pair)>"
500
+ }
501
+ ]
502
+ },
503
+ {
504
+ "type": "struct",
505
+ "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, core::integer::u256)>",
506
+ "members": [
507
+ {
508
+ "name": "snapshot",
509
+ "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, core::integer::u256)>"
510
+ }
511
+ ]
512
+ },
513
+ {
514
+ "type": "struct",
515
+ "name": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::data_model::LTVConfig)>",
516
+ "members": [
517
+ {
518
+ "name": "snapshot",
519
+ "type": "@core::array::Array::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::data_model::LTVConfig)>"
520
+ }
521
+ ]
522
+ },
523
+ {
524
+ "type": "interface",
525
+ "name": "vesu::v2::default_extension_po_v2::IDefaultExtensionPOV2",
526
+ "items": [
527
+ {
528
+ "type": "function",
529
+ "name": "pool_name",
530
+ "inputs": [
531
+ {
532
+ "name": "pool_id",
533
+ "type": "core::felt252"
534
+ }
535
+ ],
536
+ "outputs": [
537
+ {
538
+ "type": "core::felt252"
539
+ }
540
+ ],
541
+ "state_mutability": "view"
542
+ },
543
+ {
544
+ "type": "function",
545
+ "name": "pool_owner",
546
+ "inputs": [
547
+ {
548
+ "name": "pool_id",
549
+ "type": "core::felt252"
550
+ }
551
+ ],
552
+ "outputs": [
553
+ {
554
+ "type": "core::starknet::contract_address::ContractAddress"
555
+ }
556
+ ],
557
+ "state_mutability": "view"
558
+ },
559
+ {
560
+ "type": "function",
561
+ "name": "shutdown_mode_agent",
562
+ "inputs": [
563
+ {
564
+ "name": "pool_id",
565
+ "type": "core::felt252"
566
+ }
567
+ ],
568
+ "outputs": [
569
+ {
570
+ "type": "core::starknet::contract_address::ContractAddress"
571
+ }
572
+ ],
573
+ "state_mutability": "view"
574
+ },
575
+ {
576
+ "type": "function",
577
+ "name": "pragma_oracle",
578
+ "inputs": [],
579
+ "outputs": [
580
+ {
581
+ "type": "core::starknet::contract_address::ContractAddress"
582
+ }
583
+ ],
584
+ "state_mutability": "view"
585
+ },
586
+ {
587
+ "type": "function",
588
+ "name": "pragma_summary",
589
+ "inputs": [],
590
+ "outputs": [
591
+ {
592
+ "type": "core::starknet::contract_address::ContractAddress"
593
+ }
594
+ ],
595
+ "state_mutability": "view"
596
+ },
597
+ {
598
+ "type": "function",
599
+ "name": "oracle_config",
600
+ "inputs": [
601
+ {
602
+ "name": "pool_id",
603
+ "type": "core::felt252"
604
+ },
605
+ {
606
+ "name": "asset",
607
+ "type": "core::starknet::contract_address::ContractAddress"
608
+ }
609
+ ],
610
+ "outputs": [
611
+ {
612
+ "type": "vesu::extension::components::pragma_oracle::OracleConfig"
613
+ }
614
+ ],
615
+ "state_mutability": "view"
616
+ },
617
+ {
618
+ "type": "function",
619
+ "name": "fee_config",
620
+ "inputs": [
621
+ {
622
+ "name": "pool_id",
623
+ "type": "core::felt252"
624
+ }
625
+ ],
626
+ "outputs": [
627
+ {
628
+ "type": "vesu::extension::components::fee_model::FeeConfig"
629
+ }
630
+ ],
631
+ "state_mutability": "view"
632
+ },
633
+ {
634
+ "type": "function",
635
+ "name": "debt_caps",
636
+ "inputs": [
637
+ {
638
+ "name": "pool_id",
639
+ "type": "core::felt252"
640
+ },
641
+ {
642
+ "name": "collateral_asset",
643
+ "type": "core::starknet::contract_address::ContractAddress"
644
+ },
645
+ {
646
+ "name": "debt_asset",
647
+ "type": "core::starknet::contract_address::ContractAddress"
648
+ }
649
+ ],
650
+ "outputs": [
651
+ {
652
+ "type": "core::integer::u256"
653
+ }
654
+ ],
655
+ "state_mutability": "view"
656
+ },
657
+ {
658
+ "type": "function",
659
+ "name": "interest_rate_config",
660
+ "inputs": [
661
+ {
662
+ "name": "pool_id",
663
+ "type": "core::felt252"
664
+ },
665
+ {
666
+ "name": "asset",
667
+ "type": "core::starknet::contract_address::ContractAddress"
668
+ }
669
+ ],
670
+ "outputs": [
671
+ {
672
+ "type": "vesu::extension::components::interest_rate_model::InterestRateConfig"
673
+ }
674
+ ],
675
+ "state_mutability": "view"
676
+ },
677
+ {
678
+ "type": "function",
679
+ "name": "liquidation_config",
680
+ "inputs": [
681
+ {
682
+ "name": "pool_id",
683
+ "type": "core::felt252"
684
+ },
685
+ {
686
+ "name": "collateral_asset",
687
+ "type": "core::starknet::contract_address::ContractAddress"
688
+ },
689
+ {
690
+ "name": "debt_asset",
691
+ "type": "core::starknet::contract_address::ContractAddress"
692
+ }
693
+ ],
694
+ "outputs": [
695
+ {
696
+ "type": "vesu::extension::components::position_hooks::LiquidationConfig"
697
+ }
698
+ ],
699
+ "state_mutability": "view"
700
+ },
701
+ {
702
+ "type": "function",
703
+ "name": "shutdown_config",
704
+ "inputs": [
705
+ {
706
+ "name": "pool_id",
707
+ "type": "core::felt252"
708
+ }
709
+ ],
710
+ "outputs": [
711
+ {
712
+ "type": "vesu::extension::components::position_hooks::ShutdownConfig"
713
+ }
714
+ ],
715
+ "state_mutability": "view"
716
+ },
717
+ {
718
+ "type": "function",
719
+ "name": "shutdown_ltv_config",
720
+ "inputs": [
721
+ {
722
+ "name": "pool_id",
723
+ "type": "core::felt252"
724
+ },
725
+ {
726
+ "name": "collateral_asset",
727
+ "type": "core::starknet::contract_address::ContractAddress"
728
+ },
729
+ {
730
+ "name": "debt_asset",
731
+ "type": "core::starknet::contract_address::ContractAddress"
732
+ }
733
+ ],
734
+ "outputs": [
735
+ {
736
+ "type": "vesu::data_model::LTVConfig"
737
+ }
738
+ ],
739
+ "state_mutability": "view"
740
+ },
741
+ {
742
+ "type": "function",
743
+ "name": "shutdown_status",
744
+ "inputs": [
745
+ {
746
+ "name": "pool_id",
747
+ "type": "core::felt252"
748
+ },
749
+ {
750
+ "name": "collateral_asset",
751
+ "type": "core::starknet::contract_address::ContractAddress"
752
+ },
753
+ {
754
+ "name": "debt_asset",
755
+ "type": "core::starknet::contract_address::ContractAddress"
756
+ }
757
+ ],
758
+ "outputs": [
759
+ {
760
+ "type": "vesu::extension::components::position_hooks::ShutdownStatus"
761
+ }
762
+ ],
763
+ "state_mutability": "view"
764
+ },
765
+ {
766
+ "type": "function",
767
+ "name": "pairs",
768
+ "inputs": [
769
+ {
770
+ "name": "pool_id",
771
+ "type": "core::felt252"
772
+ },
773
+ {
774
+ "name": "collateral_asset",
775
+ "type": "core::starknet::contract_address::ContractAddress"
776
+ },
777
+ {
778
+ "name": "debt_asset",
779
+ "type": "core::starknet::contract_address::ContractAddress"
780
+ }
781
+ ],
782
+ "outputs": [
783
+ {
784
+ "type": "vesu::extension::components::position_hooks::Pair"
785
+ }
786
+ ],
787
+ "state_mutability": "view"
788
+ },
789
+ {
790
+ "type": "function",
791
+ "name": "violation_timestamp_for_pair",
792
+ "inputs": [
793
+ {
794
+ "name": "pool_id",
795
+ "type": "core::felt252"
796
+ },
797
+ {
798
+ "name": "collateral_asset",
799
+ "type": "core::starknet::contract_address::ContractAddress"
800
+ },
801
+ {
802
+ "name": "debt_asset",
803
+ "type": "core::starknet::contract_address::ContractAddress"
804
+ }
805
+ ],
806
+ "outputs": [
807
+ {
808
+ "type": "core::integer::u64"
809
+ }
810
+ ],
811
+ "state_mutability": "view"
812
+ },
813
+ {
814
+ "type": "function",
815
+ "name": "violation_timestamp_count",
816
+ "inputs": [
817
+ {
818
+ "name": "pool_id",
819
+ "type": "core::felt252"
820
+ },
821
+ {
822
+ "name": "violation_timestamp",
823
+ "type": "core::integer::u64"
824
+ }
825
+ ],
826
+ "outputs": [
827
+ {
828
+ "type": "core::integer::u128"
829
+ }
830
+ ],
831
+ "state_mutability": "view"
832
+ },
833
+ {
834
+ "type": "function",
835
+ "name": "oldest_violation_timestamp",
836
+ "inputs": [
837
+ {
838
+ "name": "pool_id",
839
+ "type": "core::felt252"
840
+ }
841
+ ],
842
+ "outputs": [
843
+ {
844
+ "type": "core::integer::u64"
845
+ }
846
+ ],
847
+ "state_mutability": "view"
848
+ },
849
+ {
850
+ "type": "function",
851
+ "name": "next_violation_timestamp",
852
+ "inputs": [
853
+ {
854
+ "name": "pool_id",
855
+ "type": "core::felt252"
856
+ },
857
+ {
858
+ "name": "violation_timestamp",
859
+ "type": "core::integer::u64"
860
+ }
861
+ ],
862
+ "outputs": [
863
+ {
864
+ "type": "core::integer::u64"
865
+ }
866
+ ],
867
+ "state_mutability": "view"
868
+ },
869
+ {
870
+ "type": "function",
871
+ "name": "v_token_for_collateral_asset",
872
+ "inputs": [
873
+ {
874
+ "name": "pool_id",
875
+ "type": "core::felt252"
876
+ },
877
+ {
878
+ "name": "collateral_asset",
879
+ "type": "core::starknet::contract_address::ContractAddress"
880
+ }
881
+ ],
882
+ "outputs": [
883
+ {
884
+ "type": "core::starknet::contract_address::ContractAddress"
885
+ }
886
+ ],
887
+ "state_mutability": "view"
888
+ },
889
+ {
890
+ "type": "function",
891
+ "name": "collateral_asset_for_v_token",
892
+ "inputs": [
893
+ {
894
+ "name": "pool_id",
895
+ "type": "core::felt252"
896
+ },
897
+ {
898
+ "name": "v_token",
899
+ "type": "core::starknet::contract_address::ContractAddress"
900
+ }
901
+ ],
902
+ "outputs": [
903
+ {
904
+ "type": "core::starknet::contract_address::ContractAddress"
905
+ }
906
+ ],
907
+ "state_mutability": "view"
908
+ },
909
+ {
910
+ "type": "function",
911
+ "name": "create_pool",
912
+ "inputs": [
913
+ {
914
+ "name": "name",
915
+ "type": "core::felt252"
916
+ },
917
+ {
918
+ "name": "asset_params",
919
+ "type": "core::array::Span::<vesu::data_model::AssetParams>"
920
+ },
921
+ {
922
+ "name": "v_token_params",
923
+ "type": "core::array::Span::<vesu::extension::default_extension_po::VTokenParams>"
924
+ },
925
+ {
926
+ "name": "ltv_params",
927
+ "type": "core::array::Span::<vesu::data_model::LTVParams>"
928
+ },
929
+ {
930
+ "name": "interest_rate_configs",
931
+ "type": "core::array::Span::<vesu::extension::components::interest_rate_model::InterestRateConfig>"
932
+ },
933
+ {
934
+ "name": "pragma_oracle_params",
935
+ "type": "core::array::Span::<vesu::extension::default_extension_po::PragmaOracleParams>"
936
+ },
937
+ {
938
+ "name": "liquidation_params",
939
+ "type": "core::array::Span::<vesu::extension::default_extension_po::LiquidationParams>"
940
+ },
941
+ {
942
+ "name": "debt_caps",
943
+ "type": "core::array::Span::<vesu::data_model::DebtCapParams>"
944
+ },
945
+ {
946
+ "name": "shutdown_params",
947
+ "type": "vesu::extension::default_extension_po::ShutdownParams"
948
+ },
949
+ {
950
+ "name": "fee_params",
951
+ "type": "vesu::extension::default_extension_po::FeeParams"
952
+ },
953
+ {
954
+ "name": "owner",
955
+ "type": "core::starknet::contract_address::ContractAddress"
956
+ }
957
+ ],
958
+ "outputs": [
959
+ {
960
+ "type": "core::felt252"
961
+ }
962
+ ],
963
+ "state_mutability": "external"
964
+ },
965
+ {
966
+ "type": "function",
967
+ "name": "add_asset",
968
+ "inputs": [
969
+ {
970
+ "name": "pool_id",
971
+ "type": "core::felt252"
972
+ },
973
+ {
974
+ "name": "asset_params",
975
+ "type": "vesu::data_model::AssetParams"
976
+ },
977
+ {
978
+ "name": "v_token_params",
979
+ "type": "vesu::extension::default_extension_po::VTokenParams"
980
+ },
981
+ {
982
+ "name": "interest_rate_config",
983
+ "type": "vesu::extension::components::interest_rate_model::InterestRateConfig"
984
+ },
985
+ {
986
+ "name": "pragma_oracle_params",
987
+ "type": "vesu::extension::default_extension_po::PragmaOracleParams"
988
+ }
989
+ ],
990
+ "outputs": [],
991
+ "state_mutability": "external"
992
+ },
993
+ {
994
+ "type": "function",
995
+ "name": "set_asset_parameter",
996
+ "inputs": [
997
+ {
998
+ "name": "pool_id",
999
+ "type": "core::felt252"
1000
+ },
1001
+ {
1002
+ "name": "asset",
1003
+ "type": "core::starknet::contract_address::ContractAddress"
1004
+ },
1005
+ {
1006
+ "name": "parameter",
1007
+ "type": "core::felt252"
1008
+ },
1009
+ {
1010
+ "name": "value",
1011
+ "type": "core::integer::u256"
1012
+ }
1013
+ ],
1014
+ "outputs": [],
1015
+ "state_mutability": "external"
1016
+ },
1017
+ {
1018
+ "type": "function",
1019
+ "name": "set_debt_cap",
1020
+ "inputs": [
1021
+ {
1022
+ "name": "pool_id",
1023
+ "type": "core::felt252"
1024
+ },
1025
+ {
1026
+ "name": "collateral_asset",
1027
+ "type": "core::starknet::contract_address::ContractAddress"
1028
+ },
1029
+ {
1030
+ "name": "debt_asset",
1031
+ "type": "core::starknet::contract_address::ContractAddress"
1032
+ },
1033
+ {
1034
+ "name": "debt_cap",
1035
+ "type": "core::integer::u256"
1036
+ }
1037
+ ],
1038
+ "outputs": [],
1039
+ "state_mutability": "external"
1040
+ },
1041
+ {
1042
+ "type": "function",
1043
+ "name": "set_interest_rate_parameter",
1044
+ "inputs": [
1045
+ {
1046
+ "name": "pool_id",
1047
+ "type": "core::felt252"
1048
+ },
1049
+ {
1050
+ "name": "asset",
1051
+ "type": "core::starknet::contract_address::ContractAddress"
1052
+ },
1053
+ {
1054
+ "name": "parameter",
1055
+ "type": "core::felt252"
1056
+ },
1057
+ {
1058
+ "name": "value",
1059
+ "type": "core::integer::u256"
1060
+ }
1061
+ ],
1062
+ "outputs": [],
1063
+ "state_mutability": "external"
1064
+ },
1065
+ {
1066
+ "type": "function",
1067
+ "name": "set_oracle_parameter",
1068
+ "inputs": [
1069
+ {
1070
+ "name": "pool_id",
1071
+ "type": "core::felt252"
1072
+ },
1073
+ {
1074
+ "name": "asset",
1075
+ "type": "core::starknet::contract_address::ContractAddress"
1076
+ },
1077
+ {
1078
+ "name": "parameter",
1079
+ "type": "core::felt252"
1080
+ },
1081
+ {
1082
+ "name": "value",
1083
+ "type": "core::felt252"
1084
+ }
1085
+ ],
1086
+ "outputs": [],
1087
+ "state_mutability": "external"
1088
+ },
1089
+ {
1090
+ "type": "function",
1091
+ "name": "set_liquidation_config",
1092
+ "inputs": [
1093
+ {
1094
+ "name": "pool_id",
1095
+ "type": "core::felt252"
1096
+ },
1097
+ {
1098
+ "name": "collateral_asset",
1099
+ "type": "core::starknet::contract_address::ContractAddress"
1100
+ },
1101
+ {
1102
+ "name": "debt_asset",
1103
+ "type": "core::starknet::contract_address::ContractAddress"
1104
+ },
1105
+ {
1106
+ "name": "liquidation_config",
1107
+ "type": "vesu::extension::components::position_hooks::LiquidationConfig"
1108
+ }
1109
+ ],
1110
+ "outputs": [],
1111
+ "state_mutability": "external"
1112
+ },
1113
+ {
1114
+ "type": "function",
1115
+ "name": "set_ltv_config",
1116
+ "inputs": [
1117
+ {
1118
+ "name": "pool_id",
1119
+ "type": "core::felt252"
1120
+ },
1121
+ {
1122
+ "name": "collateral_asset",
1123
+ "type": "core::starknet::contract_address::ContractAddress"
1124
+ },
1125
+ {
1126
+ "name": "debt_asset",
1127
+ "type": "core::starknet::contract_address::ContractAddress"
1128
+ },
1129
+ {
1130
+ "name": "ltv_config",
1131
+ "type": "vesu::data_model::LTVConfig"
1132
+ }
1133
+ ],
1134
+ "outputs": [],
1135
+ "state_mutability": "external"
1136
+ },
1137
+ {
1138
+ "type": "function",
1139
+ "name": "set_shutdown_config",
1140
+ "inputs": [
1141
+ {
1142
+ "name": "pool_id",
1143
+ "type": "core::felt252"
1144
+ },
1145
+ {
1146
+ "name": "shutdown_config",
1147
+ "type": "vesu::extension::components::position_hooks::ShutdownConfig"
1148
+ }
1149
+ ],
1150
+ "outputs": [],
1151
+ "state_mutability": "external"
1152
+ },
1153
+ {
1154
+ "type": "function",
1155
+ "name": "set_shutdown_ltv_config",
1156
+ "inputs": [
1157
+ {
1158
+ "name": "pool_id",
1159
+ "type": "core::felt252"
1160
+ },
1161
+ {
1162
+ "name": "collateral_asset",
1163
+ "type": "core::starknet::contract_address::ContractAddress"
1164
+ },
1165
+ {
1166
+ "name": "debt_asset",
1167
+ "type": "core::starknet::contract_address::ContractAddress"
1168
+ },
1169
+ {
1170
+ "name": "shutdown_ltv_config",
1171
+ "type": "vesu::data_model::LTVConfig"
1172
+ }
1173
+ ],
1174
+ "outputs": [],
1175
+ "state_mutability": "external"
1176
+ },
1177
+ {
1178
+ "type": "function",
1179
+ "name": "set_shutdown_mode",
1180
+ "inputs": [
1181
+ {
1182
+ "name": "pool_id",
1183
+ "type": "core::felt252"
1184
+ },
1185
+ {
1186
+ "name": "shutdown_mode",
1187
+ "type": "vesu::extension::components::position_hooks::ShutdownMode"
1188
+ }
1189
+ ],
1190
+ "outputs": [],
1191
+ "state_mutability": "external"
1192
+ },
1193
+ {
1194
+ "type": "function",
1195
+ "name": "set_pool_owner",
1196
+ "inputs": [
1197
+ {
1198
+ "name": "pool_id",
1199
+ "type": "core::felt252"
1200
+ },
1201
+ {
1202
+ "name": "owner",
1203
+ "type": "core::starknet::contract_address::ContractAddress"
1204
+ }
1205
+ ],
1206
+ "outputs": [],
1207
+ "state_mutability": "external"
1208
+ },
1209
+ {
1210
+ "type": "function",
1211
+ "name": "set_shutdown_mode_agent",
1212
+ "inputs": [
1213
+ {
1214
+ "name": "pool_id",
1215
+ "type": "core::felt252"
1216
+ },
1217
+ {
1218
+ "name": "shutdown_mode_agent",
1219
+ "type": "core::starknet::contract_address::ContractAddress"
1220
+ }
1221
+ ],
1222
+ "outputs": [],
1223
+ "state_mutability": "external"
1224
+ },
1225
+ {
1226
+ "type": "function",
1227
+ "name": "update_shutdown_status",
1228
+ "inputs": [
1229
+ {
1230
+ "name": "pool_id",
1231
+ "type": "core::felt252"
1232
+ },
1233
+ {
1234
+ "name": "collateral_asset",
1235
+ "type": "core::starknet::contract_address::ContractAddress"
1236
+ },
1237
+ {
1238
+ "name": "debt_asset",
1239
+ "type": "core::starknet::contract_address::ContractAddress"
1240
+ }
1241
+ ],
1242
+ "outputs": [
1243
+ {
1244
+ "type": "vesu::extension::components::position_hooks::ShutdownMode"
1245
+ }
1246
+ ],
1247
+ "state_mutability": "external"
1248
+ },
1249
+ {
1250
+ "type": "function",
1251
+ "name": "set_fee_config",
1252
+ "inputs": [
1253
+ {
1254
+ "name": "pool_id",
1255
+ "type": "core::felt252"
1256
+ },
1257
+ {
1258
+ "name": "fee_config",
1259
+ "type": "vesu::extension::components::fee_model::FeeConfig"
1260
+ }
1261
+ ],
1262
+ "outputs": [],
1263
+ "state_mutability": "external"
1264
+ },
1265
+ {
1266
+ "type": "function",
1267
+ "name": "claim_fees",
1268
+ "inputs": [
1269
+ {
1270
+ "name": "pool_id",
1271
+ "type": "core::felt252"
1272
+ },
1273
+ {
1274
+ "name": "collateral_asset",
1275
+ "type": "core::starknet::contract_address::ContractAddress"
1276
+ }
1277
+ ],
1278
+ "outputs": [],
1279
+ "state_mutability": "external"
1280
+ },
1281
+ {
1282
+ "type": "function",
1283
+ "name": "migrate_pool",
1284
+ "inputs": [
1285
+ {
1286
+ "name": "pool_id",
1287
+ "type": "core::felt252"
1288
+ },
1289
+ {
1290
+ "name": "name",
1291
+ "type": "core::felt252"
1292
+ },
1293
+ {
1294
+ "name": "v_token_configs",
1295
+ "type": "core::array::Span::<(core::felt252, core::felt252, core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress)>"
1296
+ },
1297
+ {
1298
+ "name": "interest_rate_configs",
1299
+ "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, vesu::extension::components::interest_rate_model::InterestRateConfig)>"
1300
+ },
1301
+ {
1302
+ "name": "pragma_oracle_configs",
1303
+ "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, vesu::extension::components::pragma_oracle::OracleConfig)>"
1304
+ },
1305
+ {
1306
+ "name": "liquidation_configs",
1307
+ "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::extension::components::position_hooks::LiquidationConfig)>"
1308
+ },
1309
+ {
1310
+ "name": "pairs",
1311
+ "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::extension::components::position_hooks::Pair)>"
1312
+ },
1313
+ {
1314
+ "name": "debt_caps",
1315
+ "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, core::integer::u256)>"
1316
+ },
1317
+ {
1318
+ "name": "shutdown_ltv_configs",
1319
+ "type": "core::array::Span::<(core::starknet::contract_address::ContractAddress, core::starknet::contract_address::ContractAddress, vesu::data_model::LTVConfig)>"
1320
+ },
1321
+ {
1322
+ "name": "shutdown_config",
1323
+ "type": "vesu::extension::components::position_hooks::ShutdownConfig"
1324
+ },
1325
+ {
1326
+ "name": "fee_config",
1327
+ "type": "vesu::extension::components::fee_model::FeeConfig"
1328
+ },
1329
+ {
1330
+ "name": "owner",
1331
+ "type": "core::starknet::contract_address::ContractAddress"
1332
+ }
1333
+ ],
1334
+ "outputs": [],
1335
+ "state_mutability": "external"
1336
+ },
1337
+ {
1338
+ "type": "function",
1339
+ "name": "set_migrator",
1340
+ "inputs": [
1341
+ {
1342
+ "name": "migrator",
1343
+ "type": "core::starknet::contract_address::ContractAddress"
1344
+ }
1345
+ ],
1346
+ "outputs": [],
1347
+ "state_mutability": "external"
1348
+ },
1349
+ {
1350
+ "type": "function",
1351
+ "name": "set_extension_utils_class_hash",
1352
+ "inputs": [
1353
+ {
1354
+ "name": "extension",
1355
+ "type": "core::felt252"
1356
+ }
1357
+ ],
1358
+ "outputs": [],
1359
+ "state_mutability": "external"
1360
+ },
1361
+ {
1362
+ "type": "function",
1363
+ "name": "upgrade_name",
1364
+ "inputs": [],
1365
+ "outputs": [
1366
+ {
1367
+ "type": "core::felt252"
1368
+ }
1369
+ ],
1370
+ "state_mutability": "view"
1371
+ },
1372
+ {
1373
+ "type": "function",
1374
+ "name": "upgrade",
1375
+ "inputs": [
1376
+ {
1377
+ "name": "new_implementation",
1378
+ "type": "core::starknet::class_hash::ClassHash"
1379
+ }
1380
+ ],
1381
+ "outputs": [],
1382
+ "state_mutability": "external"
1383
+ }
1384
+ ]
1385
+ },
1386
+ {
1387
+ "type": "impl",
1388
+ "name": "ExtensionImpl",
1389
+ "interface_name": "vesu::extension::interface::IExtension"
1390
+ },
1391
+ {
1392
+ "type": "struct",
1393
+ "name": "vesu::data_model::AssetPrice",
1394
+ "members": [
1395
+ {
1396
+ "name": "value",
1397
+ "type": "core::integer::u256"
1398
+ },
1399
+ {
1400
+ "name": "is_valid",
1401
+ "type": "core::bool"
1402
+ }
1403
+ ]
1404
+ },
1405
+ {
1406
+ "type": "struct",
1407
+ "name": "vesu::data_model::AssetConfig",
1408
+ "members": [
1409
+ {
1410
+ "name": "total_collateral_shares",
1411
+ "type": "core::integer::u256"
1412
+ },
1413
+ {
1414
+ "name": "total_nominal_debt",
1415
+ "type": "core::integer::u256"
1416
+ },
1417
+ {
1418
+ "name": "reserve",
1419
+ "type": "core::integer::u256"
1420
+ },
1421
+ {
1422
+ "name": "max_utilization",
1423
+ "type": "core::integer::u256"
1424
+ },
1425
+ {
1426
+ "name": "floor",
1427
+ "type": "core::integer::u256"
1428
+ },
1429
+ {
1430
+ "name": "scale",
1431
+ "type": "core::integer::u256"
1432
+ },
1433
+ {
1434
+ "name": "is_legacy",
1435
+ "type": "core::bool"
1436
+ },
1437
+ {
1438
+ "name": "last_updated",
1439
+ "type": "core::integer::u64"
1440
+ },
1441
+ {
1442
+ "name": "last_rate_accumulator",
1443
+ "type": "core::integer::u256"
1444
+ },
1445
+ {
1446
+ "name": "last_full_utilization_rate",
1447
+ "type": "core::integer::u256"
1448
+ },
1449
+ {
1450
+ "name": "fee_rate",
1451
+ "type": "core::integer::u256"
1452
+ }
1453
+ ]
1454
+ },
1455
+ {
1456
+ "type": "struct",
1457
+ "name": "vesu::data_model::Position",
1458
+ "members": [
1459
+ {
1460
+ "name": "collateral_shares",
1461
+ "type": "core::integer::u256"
1462
+ },
1463
+ {
1464
+ "name": "nominal_debt",
1465
+ "type": "core::integer::u256"
1466
+ }
1467
+ ]
1468
+ },
1469
+ {
1470
+ "type": "struct",
1471
+ "name": "vesu::data_model::Context",
1472
+ "members": [
1473
+ {
1474
+ "name": "pool_id",
1475
+ "type": "core::felt252"
1476
+ },
1477
+ {
1478
+ "name": "extension",
1479
+ "type": "core::starknet::contract_address::ContractAddress"
1480
+ },
1481
+ {
1482
+ "name": "collateral_asset",
1483
+ "type": "core::starknet::contract_address::ContractAddress"
1484
+ },
1485
+ {
1486
+ "name": "debt_asset",
1487
+ "type": "core::starknet::contract_address::ContractAddress"
1488
+ },
1489
+ {
1490
+ "name": "collateral_asset_config",
1491
+ "type": "vesu::data_model::AssetConfig"
1492
+ },
1493
+ {
1494
+ "name": "debt_asset_config",
1495
+ "type": "vesu::data_model::AssetConfig"
1496
+ },
1497
+ {
1498
+ "name": "collateral_asset_price",
1499
+ "type": "vesu::data_model::AssetPrice"
1500
+ },
1501
+ {
1502
+ "name": "debt_asset_price",
1503
+ "type": "vesu::data_model::AssetPrice"
1504
+ },
1505
+ {
1506
+ "name": "collateral_asset_fee_shares",
1507
+ "type": "core::integer::u256"
1508
+ },
1509
+ {
1510
+ "name": "debt_asset_fee_shares",
1511
+ "type": "core::integer::u256"
1512
+ },
1513
+ {
1514
+ "name": "max_ltv",
1515
+ "type": "core::integer::u64"
1516
+ },
1517
+ {
1518
+ "name": "user",
1519
+ "type": "core::starknet::contract_address::ContractAddress"
1520
+ },
1521
+ {
1522
+ "name": "position",
1523
+ "type": "vesu::data_model::Position"
1524
+ }
1525
+ ]
1526
+ },
1527
+ {
1528
+ "type": "enum",
1529
+ "name": "vesu::data_model::AmountType",
1530
+ "variants": [
1531
+ {
1532
+ "name": "Delta",
1533
+ "type": "()"
1534
+ },
1535
+ {
1536
+ "name": "Target",
1537
+ "type": "()"
1538
+ }
1539
+ ]
1540
+ },
1541
+ {
1542
+ "type": "enum",
1543
+ "name": "vesu::data_model::AmountDenomination",
1544
+ "variants": [
1545
+ {
1546
+ "name": "Native",
1547
+ "type": "()"
1548
+ },
1549
+ {
1550
+ "name": "Assets",
1551
+ "type": "()"
1552
+ }
1553
+ ]
1554
+ },
1555
+ {
1556
+ "type": "struct",
1557
+ "name": "alexandria_math::i257::i257",
1558
+ "members": [
1559
+ {
1560
+ "name": "abs",
1561
+ "type": "core::integer::u256"
1562
+ },
1563
+ {
1564
+ "name": "is_negative",
1565
+ "type": "core::bool"
1566
+ }
1567
+ ]
1568
+ },
1569
+ {
1570
+ "type": "struct",
1571
+ "name": "vesu::data_model::Amount",
1572
+ "members": [
1573
+ {
1574
+ "name": "amount_type",
1575
+ "type": "vesu::data_model::AmountType"
1576
+ },
1577
+ {
1578
+ "name": "denomination",
1579
+ "type": "vesu::data_model::AmountDenomination"
1580
+ },
1581
+ {
1582
+ "name": "value",
1583
+ "type": "alexandria_math::i257::i257"
1584
+ }
1585
+ ]
1586
+ },
1587
+ {
1588
+ "type": "struct",
1589
+ "name": "core::array::Span::<core::felt252>",
1590
+ "members": [
1591
+ {
1592
+ "name": "snapshot",
1593
+ "type": "@core::array::Array::<core::felt252>"
1594
+ }
1595
+ ]
1596
+ },
1597
+ {
1598
+ "type": "struct",
1599
+ "name": "vesu::data_model::UnsignedAmount",
1600
+ "members": [
1601
+ {
1602
+ "name": "amount_type",
1603
+ "type": "vesu::data_model::AmountType"
1604
+ },
1605
+ {
1606
+ "name": "denomination",
1607
+ "type": "vesu::data_model::AmountDenomination"
1608
+ },
1609
+ {
1610
+ "name": "value",
1611
+ "type": "core::integer::u256"
1612
+ }
1613
+ ]
1614
+ },
1615
+ {
1616
+ "type": "interface",
1617
+ "name": "vesu::extension::interface::IExtension",
1618
+ "items": [
1619
+ {
1620
+ "type": "function",
1621
+ "name": "singleton",
1622
+ "inputs": [],
1623
+ "outputs": [
1624
+ {
1625
+ "type": "core::starknet::contract_address::ContractAddress"
1626
+ }
1627
+ ],
1628
+ "state_mutability": "view"
1629
+ },
1630
+ {
1631
+ "type": "function",
1632
+ "name": "price",
1633
+ "inputs": [
1634
+ {
1635
+ "name": "pool_id",
1636
+ "type": "core::felt252"
1637
+ },
1638
+ {
1639
+ "name": "asset",
1640
+ "type": "core::starknet::contract_address::ContractAddress"
1641
+ }
1642
+ ],
1643
+ "outputs": [
1644
+ {
1645
+ "type": "vesu::data_model::AssetPrice"
1646
+ }
1647
+ ],
1648
+ "state_mutability": "view"
1649
+ },
1650
+ {
1651
+ "type": "function",
1652
+ "name": "interest_rate",
1653
+ "inputs": [
1654
+ {
1655
+ "name": "pool_id",
1656
+ "type": "core::felt252"
1657
+ },
1658
+ {
1659
+ "name": "asset",
1660
+ "type": "core::starknet::contract_address::ContractAddress"
1661
+ },
1662
+ {
1663
+ "name": "utilization",
1664
+ "type": "core::integer::u256"
1665
+ },
1666
+ {
1667
+ "name": "last_updated",
1668
+ "type": "core::integer::u64"
1669
+ },
1670
+ {
1671
+ "name": "last_full_utilization_rate",
1672
+ "type": "core::integer::u256"
1673
+ }
1674
+ ],
1675
+ "outputs": [
1676
+ {
1677
+ "type": "core::integer::u256"
1678
+ }
1679
+ ],
1680
+ "state_mutability": "view"
1681
+ },
1682
+ {
1683
+ "type": "function",
1684
+ "name": "rate_accumulator",
1685
+ "inputs": [
1686
+ {
1687
+ "name": "pool_id",
1688
+ "type": "core::felt252"
1689
+ },
1690
+ {
1691
+ "name": "asset",
1692
+ "type": "core::starknet::contract_address::ContractAddress"
1693
+ },
1694
+ {
1695
+ "name": "utilization",
1696
+ "type": "core::integer::u256"
1697
+ },
1698
+ {
1699
+ "name": "last_updated",
1700
+ "type": "core::integer::u64"
1701
+ },
1702
+ {
1703
+ "name": "last_rate_accumulator",
1704
+ "type": "core::integer::u256"
1705
+ },
1706
+ {
1707
+ "name": "last_full_utilization_rate",
1708
+ "type": "core::integer::u256"
1709
+ }
1710
+ ],
1711
+ "outputs": [
1712
+ {
1713
+ "type": "(core::integer::u256, core::integer::u256)"
1714
+ }
1715
+ ],
1716
+ "state_mutability": "view"
1717
+ },
1718
+ {
1719
+ "type": "function",
1720
+ "name": "before_modify_position",
1721
+ "inputs": [
1722
+ {
1723
+ "name": "context",
1724
+ "type": "vesu::data_model::Context"
1725
+ },
1726
+ {
1727
+ "name": "collateral",
1728
+ "type": "vesu::data_model::Amount"
1729
+ },
1730
+ {
1731
+ "name": "debt",
1732
+ "type": "vesu::data_model::Amount"
1733
+ },
1734
+ {
1735
+ "name": "data",
1736
+ "type": "core::array::Span::<core::felt252>"
1737
+ },
1738
+ {
1739
+ "name": "caller",
1740
+ "type": "core::starknet::contract_address::ContractAddress"
1741
+ }
1742
+ ],
1743
+ "outputs": [
1744
+ {
1745
+ "type": "(vesu::data_model::Amount, vesu::data_model::Amount)"
1746
+ }
1747
+ ],
1748
+ "state_mutability": "external"
1749
+ },
1750
+ {
1751
+ "type": "function",
1752
+ "name": "after_modify_position",
1753
+ "inputs": [
1754
+ {
1755
+ "name": "context",
1756
+ "type": "vesu::data_model::Context"
1757
+ },
1758
+ {
1759
+ "name": "collateral_delta",
1760
+ "type": "alexandria_math::i257::i257"
1761
+ },
1762
+ {
1763
+ "name": "collateral_shares_delta",
1764
+ "type": "alexandria_math::i257::i257"
1765
+ },
1766
+ {
1767
+ "name": "debt_delta",
1768
+ "type": "alexandria_math::i257::i257"
1769
+ },
1770
+ {
1771
+ "name": "nominal_debt_delta",
1772
+ "type": "alexandria_math::i257::i257"
1773
+ },
1774
+ {
1775
+ "name": "data",
1776
+ "type": "core::array::Span::<core::felt252>"
1777
+ },
1778
+ {
1779
+ "name": "caller",
1780
+ "type": "core::starknet::contract_address::ContractAddress"
1781
+ }
1782
+ ],
1783
+ "outputs": [
1784
+ {
1785
+ "type": "core::bool"
1786
+ }
1787
+ ],
1788
+ "state_mutability": "external"
1789
+ },
1790
+ {
1791
+ "type": "function",
1792
+ "name": "before_transfer_position",
1793
+ "inputs": [
1794
+ {
1795
+ "name": "from_context",
1796
+ "type": "vesu::data_model::Context"
1797
+ },
1798
+ {
1799
+ "name": "to_context",
1800
+ "type": "vesu::data_model::Context"
1801
+ },
1802
+ {
1803
+ "name": "collateral",
1804
+ "type": "vesu::data_model::UnsignedAmount"
1805
+ },
1806
+ {
1807
+ "name": "debt",
1808
+ "type": "vesu::data_model::UnsignedAmount"
1809
+ },
1810
+ {
1811
+ "name": "data",
1812
+ "type": "core::array::Span::<core::felt252>"
1813
+ },
1814
+ {
1815
+ "name": "caller",
1816
+ "type": "core::starknet::contract_address::ContractAddress"
1817
+ }
1818
+ ],
1819
+ "outputs": [
1820
+ {
1821
+ "type": "(vesu::data_model::UnsignedAmount, vesu::data_model::UnsignedAmount)"
1822
+ }
1823
+ ],
1824
+ "state_mutability": "external"
1825
+ },
1826
+ {
1827
+ "type": "function",
1828
+ "name": "after_transfer_position",
1829
+ "inputs": [
1830
+ {
1831
+ "name": "from_context",
1832
+ "type": "vesu::data_model::Context"
1833
+ },
1834
+ {
1835
+ "name": "to_context",
1836
+ "type": "vesu::data_model::Context"
1837
+ },
1838
+ {
1839
+ "name": "collateral_delta",
1840
+ "type": "core::integer::u256"
1841
+ },
1842
+ {
1843
+ "name": "collateral_shares_delta",
1844
+ "type": "core::integer::u256"
1845
+ },
1846
+ {
1847
+ "name": "debt_delta",
1848
+ "type": "core::integer::u256"
1849
+ },
1850
+ {
1851
+ "name": "nominal_debt_delta",
1852
+ "type": "core::integer::u256"
1853
+ },
1854
+ {
1855
+ "name": "data",
1856
+ "type": "core::array::Span::<core::felt252>"
1857
+ },
1858
+ {
1859
+ "name": "caller",
1860
+ "type": "core::starknet::contract_address::ContractAddress"
1861
+ }
1862
+ ],
1863
+ "outputs": [
1864
+ {
1865
+ "type": "core::bool"
1866
+ }
1867
+ ],
1868
+ "state_mutability": "external"
1869
+ },
1870
+ {
1871
+ "type": "function",
1872
+ "name": "before_liquidate_position",
1873
+ "inputs": [
1874
+ {
1875
+ "name": "context",
1876
+ "type": "vesu::data_model::Context"
1877
+ },
1878
+ {
1879
+ "name": "data",
1880
+ "type": "core::array::Span::<core::felt252>"
1881
+ },
1882
+ {
1883
+ "name": "caller",
1884
+ "type": "core::starknet::contract_address::ContractAddress"
1885
+ }
1886
+ ],
1887
+ "outputs": [
1888
+ {
1889
+ "type": "(core::integer::u256, core::integer::u256, core::integer::u256)"
1890
+ }
1891
+ ],
1892
+ "state_mutability": "external"
1893
+ },
1894
+ {
1895
+ "type": "function",
1896
+ "name": "after_liquidate_position",
1897
+ "inputs": [
1898
+ {
1899
+ "name": "context",
1900
+ "type": "vesu::data_model::Context"
1901
+ },
1902
+ {
1903
+ "name": "collateral_delta",
1904
+ "type": "alexandria_math::i257::i257"
1905
+ },
1906
+ {
1907
+ "name": "collateral_shares_delta",
1908
+ "type": "alexandria_math::i257::i257"
1909
+ },
1910
+ {
1911
+ "name": "debt_delta",
1912
+ "type": "alexandria_math::i257::i257"
1913
+ },
1914
+ {
1915
+ "name": "nominal_debt_delta",
1916
+ "type": "alexandria_math::i257::i257"
1917
+ },
1918
+ {
1919
+ "name": "bad_debt",
1920
+ "type": "core::integer::u256"
1921
+ },
1922
+ {
1923
+ "name": "data",
1924
+ "type": "core::array::Span::<core::felt252>"
1925
+ },
1926
+ {
1927
+ "name": "caller",
1928
+ "type": "core::starknet::contract_address::ContractAddress"
1929
+ }
1930
+ ],
1931
+ "outputs": [
1932
+ {
1933
+ "type": "core::bool"
1934
+ }
1935
+ ],
1936
+ "state_mutability": "external"
1937
+ }
1938
+ ]
1939
+ },
1940
+ {
1941
+ "type": "constructor",
1942
+ "name": "constructor",
1943
+ "inputs": [
1944
+ {
1945
+ "name": "singleton",
1946
+ "type": "core::starknet::contract_address::ContractAddress"
1947
+ },
1948
+ {
1949
+ "name": "oracle_address",
1950
+ "type": "core::starknet::contract_address::ContractAddress"
1951
+ },
1952
+ {
1953
+ "name": "summary_address",
1954
+ "type": "core::starknet::contract_address::ContractAddress"
1955
+ },
1956
+ {
1957
+ "name": "v_token_class_hash",
1958
+ "type": "core::felt252"
1959
+ },
1960
+ {
1961
+ "name": "v_token_v2_class_hash",
1962
+ "type": "core::felt252"
1963
+ },
1964
+ {
1965
+ "name": "migrator",
1966
+ "type": "core::starknet::contract_address::ContractAddress"
1967
+ },
1968
+ {
1969
+ "name": "extension_utils_class_hash",
1970
+ "type": "core::felt252"
1971
+ }
1972
+ ]
1973
+ },
1974
+ {
1975
+ "type": "event",
1976
+ "name": "vesu::extension::components::position_hooks::position_hooks_component::SetLiquidationConfig",
1977
+ "kind": "struct",
1978
+ "members": [
1979
+ {
1980
+ "name": "pool_id",
1981
+ "type": "core::felt252",
1982
+ "kind": "key"
1983
+ },
1984
+ {
1985
+ "name": "collateral_asset",
1986
+ "type": "core::starknet::contract_address::ContractAddress",
1987
+ "kind": "key"
1988
+ },
1989
+ {
1990
+ "name": "debt_asset",
1991
+ "type": "core::starknet::contract_address::ContractAddress",
1992
+ "kind": "key"
1993
+ },
1994
+ {
1995
+ "name": "liquidation_config",
1996
+ "type": "vesu::extension::components::position_hooks::LiquidationConfig",
1997
+ "kind": "data"
1998
+ }
1999
+ ]
2000
+ },
2001
+ {
2002
+ "type": "event",
2003
+ "name": "vesu::extension::components::position_hooks::position_hooks_component::SetShutdownConfig",
2004
+ "kind": "struct",
2005
+ "members": [
2006
+ {
2007
+ "name": "pool_id",
2008
+ "type": "core::felt252",
2009
+ "kind": "key"
2010
+ },
2011
+ {
2012
+ "name": "shutdown_config",
2013
+ "type": "vesu::extension::components::position_hooks::ShutdownConfig",
2014
+ "kind": "data"
2015
+ }
2016
+ ]
2017
+ },
2018
+ {
2019
+ "type": "event",
2020
+ "name": "vesu::extension::components::position_hooks::position_hooks_component::SetShutdownLTVConfig",
2021
+ "kind": "struct",
2022
+ "members": [
2023
+ {
2024
+ "name": "pool_id",
2025
+ "type": "core::felt252",
2026
+ "kind": "key"
2027
+ },
2028
+ {
2029
+ "name": "collateral_asset",
2030
+ "type": "core::starknet::contract_address::ContractAddress",
2031
+ "kind": "key"
2032
+ },
2033
+ {
2034
+ "name": "debt_asset",
2035
+ "type": "core::starknet::contract_address::ContractAddress",
2036
+ "kind": "key"
2037
+ },
2038
+ {
2039
+ "name": "shutdown_ltv_config",
2040
+ "type": "vesu::data_model::LTVConfig",
2041
+ "kind": "data"
2042
+ }
2043
+ ]
2044
+ },
2045
+ {
2046
+ "type": "event",
2047
+ "name": "vesu::extension::components::position_hooks::position_hooks_component::SetDebtCap",
2048
+ "kind": "struct",
2049
+ "members": [
2050
+ {
2051
+ "name": "pool_id",
2052
+ "type": "core::felt252",
2053
+ "kind": "key"
2054
+ },
2055
+ {
2056
+ "name": "collateral_asset",
2057
+ "type": "core::starknet::contract_address::ContractAddress",
2058
+ "kind": "key"
2059
+ },
2060
+ {
2061
+ "name": "debt_asset",
2062
+ "type": "core::starknet::contract_address::ContractAddress",
2063
+ "kind": "key"
2064
+ },
2065
+ {
2066
+ "name": "debt_cap",
2067
+ "type": "core::integer::u256",
2068
+ "kind": "data"
2069
+ }
2070
+ ]
2071
+ },
2072
+ {
2073
+ "type": "event",
2074
+ "name": "vesu::extension::components::position_hooks::position_hooks_component::Event",
2075
+ "kind": "enum",
2076
+ "variants": [
2077
+ {
2078
+ "name": "SetLiquidationConfig",
2079
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::SetLiquidationConfig",
2080
+ "kind": "nested"
2081
+ },
2082
+ {
2083
+ "name": "SetShutdownConfig",
2084
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::SetShutdownConfig",
2085
+ "kind": "nested"
2086
+ },
2087
+ {
2088
+ "name": "SetShutdownLTVConfig",
2089
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::SetShutdownLTVConfig",
2090
+ "kind": "nested"
2091
+ },
2092
+ {
2093
+ "name": "SetDebtCap",
2094
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::SetDebtCap",
2095
+ "kind": "nested"
2096
+ }
2097
+ ]
2098
+ },
2099
+ {
2100
+ "type": "event",
2101
+ "name": "vesu::extension::components::interest_rate_model::interest_rate_model_component::SetInterestRateConfig",
2102
+ "kind": "struct",
2103
+ "members": [
2104
+ {
2105
+ "name": "pool_id",
2106
+ "type": "core::felt252",
2107
+ "kind": "data"
2108
+ },
2109
+ {
2110
+ "name": "asset",
2111
+ "type": "core::starknet::contract_address::ContractAddress",
2112
+ "kind": "data"
2113
+ },
2114
+ {
2115
+ "name": "interest_rate_config",
2116
+ "type": "vesu::extension::components::interest_rate_model::InterestRateConfig",
2117
+ "kind": "data"
2118
+ }
2119
+ ]
2120
+ },
2121
+ {
2122
+ "type": "event",
2123
+ "name": "vesu::extension::components::interest_rate_model::interest_rate_model_component::Event",
2124
+ "kind": "enum",
2125
+ "variants": [
2126
+ {
2127
+ "name": "SetInterestRateConfig",
2128
+ "type": "vesu::extension::components::interest_rate_model::interest_rate_model_component::SetInterestRateConfig",
2129
+ "kind": "nested"
2130
+ }
2131
+ ]
2132
+ },
2133
+ {
2134
+ "type": "event",
2135
+ "name": "vesu::extension::components::pragma_oracle::pragma_oracle_component::SetOracleConfig",
2136
+ "kind": "struct",
2137
+ "members": [
2138
+ {
2139
+ "name": "pool_id",
2140
+ "type": "core::felt252",
2141
+ "kind": "data"
2142
+ },
2143
+ {
2144
+ "name": "asset",
2145
+ "type": "core::starknet::contract_address::ContractAddress",
2146
+ "kind": "data"
2147
+ },
2148
+ {
2149
+ "name": "oracle_config",
2150
+ "type": "vesu::extension::components::pragma_oracle::OracleConfig",
2151
+ "kind": "data"
2152
+ }
2153
+ ]
2154
+ },
2155
+ {
2156
+ "type": "event",
2157
+ "name": "vesu::extension::components::pragma_oracle::pragma_oracle_component::SetOracleParameter",
2158
+ "kind": "struct",
2159
+ "members": [
2160
+ {
2161
+ "name": "pool_id",
2162
+ "type": "core::felt252",
2163
+ "kind": "data"
2164
+ },
2165
+ {
2166
+ "name": "asset",
2167
+ "type": "core::starknet::contract_address::ContractAddress",
2168
+ "kind": "data"
2169
+ },
2170
+ {
2171
+ "name": "parameter",
2172
+ "type": "core::felt252",
2173
+ "kind": "data"
2174
+ },
2175
+ {
2176
+ "name": "value",
2177
+ "type": "core::felt252",
2178
+ "kind": "data"
2179
+ }
2180
+ ]
2181
+ },
2182
+ {
2183
+ "type": "event",
2184
+ "name": "vesu::extension::components::pragma_oracle::pragma_oracle_component::Event",
2185
+ "kind": "enum",
2186
+ "variants": [
2187
+ {
2188
+ "name": "SetOracleConfig",
2189
+ "type": "vesu::extension::components::pragma_oracle::pragma_oracle_component::SetOracleConfig",
2190
+ "kind": "nested"
2191
+ },
2192
+ {
2193
+ "name": "SetOracleParameter",
2194
+ "type": "vesu::extension::components::pragma_oracle::pragma_oracle_component::SetOracleParameter",
2195
+ "kind": "nested"
2196
+ }
2197
+ ]
2198
+ },
2199
+ {
2200
+ "type": "event",
2201
+ "name": "vesu::map_list::map_list_component::Event",
2202
+ "kind": "enum",
2203
+ "variants": []
2204
+ },
2205
+ {
2206
+ "type": "event",
2207
+ "name": "vesu::extension::components::fee_model::fee_model_component::SetFeeConfig",
2208
+ "kind": "struct",
2209
+ "members": [
2210
+ {
2211
+ "name": "pool_id",
2212
+ "type": "core::felt252",
2213
+ "kind": "key"
2214
+ },
2215
+ {
2216
+ "name": "fee_config",
2217
+ "type": "vesu::extension::components::fee_model::FeeConfig",
2218
+ "kind": "key"
2219
+ }
2220
+ ]
2221
+ },
2222
+ {
2223
+ "type": "event",
2224
+ "name": "vesu::extension::components::fee_model::fee_model_component::ClaimFees",
2225
+ "kind": "struct",
2226
+ "members": [
2227
+ {
2228
+ "name": "pool_id",
2229
+ "type": "core::felt252",
2230
+ "kind": "key"
2231
+ },
2232
+ {
2233
+ "name": "collateral_asset",
2234
+ "type": "core::starknet::contract_address::ContractAddress",
2235
+ "kind": "data"
2236
+ },
2237
+ {
2238
+ "name": "debt_asset",
2239
+ "type": "core::starknet::contract_address::ContractAddress",
2240
+ "kind": "data"
2241
+ },
2242
+ {
2243
+ "name": "recipient",
2244
+ "type": "core::starknet::contract_address::ContractAddress",
2245
+ "kind": "data"
2246
+ },
2247
+ {
2248
+ "name": "amount",
2249
+ "type": "core::integer::u256",
2250
+ "kind": "data"
2251
+ }
2252
+ ]
2253
+ },
2254
+ {
2255
+ "type": "event",
2256
+ "name": "vesu::extension::components::fee_model::fee_model_component::Event",
2257
+ "kind": "enum",
2258
+ "variants": [
2259
+ {
2260
+ "name": "SetFeeConfig",
2261
+ "type": "vesu::extension::components::fee_model::fee_model_component::SetFeeConfig",
2262
+ "kind": "nested"
2263
+ },
2264
+ {
2265
+ "name": "ClaimFees",
2266
+ "type": "vesu::extension::components::fee_model::fee_model_component::ClaimFees",
2267
+ "kind": "nested"
2268
+ }
2269
+ ]
2270
+ },
2271
+ {
2272
+ "type": "event",
2273
+ "name": "vesu::extension::components::tokenization::tokenization_component::CreateVToken",
2274
+ "kind": "struct",
2275
+ "members": [
2276
+ {
2277
+ "name": "v_token",
2278
+ "type": "core::starknet::contract_address::ContractAddress",
2279
+ "kind": "key"
2280
+ },
2281
+ {
2282
+ "name": "pool_id",
2283
+ "type": "core::felt252",
2284
+ "kind": "key"
2285
+ },
2286
+ {
2287
+ "name": "collateral_asset",
2288
+ "type": "core::starknet::contract_address::ContractAddress",
2289
+ "kind": "key"
2290
+ }
2291
+ ]
2292
+ },
2293
+ {
2294
+ "type": "event",
2295
+ "name": "vesu::extension::components::tokenization::tokenization_component::Event",
2296
+ "kind": "enum",
2297
+ "variants": [
2298
+ {
2299
+ "name": "CreateVToken",
2300
+ "type": "vesu::extension::components::tokenization::tokenization_component::CreateVToken",
2301
+ "kind": "nested"
2302
+ }
2303
+ ]
2304
+ },
2305
+ {
2306
+ "type": "event",
2307
+ "name": "vesu::v2::default_extension_po_v2::DefaultExtensionPOV2::SetAssetParameter",
2308
+ "kind": "struct",
2309
+ "members": [
2310
+ {
2311
+ "name": "pool_id",
2312
+ "type": "core::felt252",
2313
+ "kind": "key"
2314
+ },
2315
+ {
2316
+ "name": "asset",
2317
+ "type": "core::starknet::contract_address::ContractAddress",
2318
+ "kind": "key"
2319
+ },
2320
+ {
2321
+ "name": "parameter",
2322
+ "type": "core::felt252",
2323
+ "kind": "key"
2324
+ },
2325
+ {
2326
+ "name": "value",
2327
+ "type": "core::integer::u256",
2328
+ "kind": "data"
2329
+ }
2330
+ ]
2331
+ },
2332
+ {
2333
+ "type": "event",
2334
+ "name": "vesu::v2::default_extension_po_v2::DefaultExtensionPOV2::SetPoolOwner",
2335
+ "kind": "struct",
2336
+ "members": [
2337
+ {
2338
+ "name": "pool_id",
2339
+ "type": "core::felt252",
2340
+ "kind": "key"
2341
+ },
2342
+ {
2343
+ "name": "owner",
2344
+ "type": "core::starknet::contract_address::ContractAddress",
2345
+ "kind": "key"
2346
+ }
2347
+ ]
2348
+ },
2349
+ {
2350
+ "type": "event",
2351
+ "name": "vesu::v2::default_extension_po_v2::DefaultExtensionPOV2::ContractUpgraded",
2352
+ "kind": "struct",
2353
+ "members": [
2354
+ {
2355
+ "name": "new_implementation",
2356
+ "type": "core::starknet::class_hash::ClassHash",
2357
+ "kind": "data"
2358
+ }
2359
+ ]
2360
+ },
2361
+ {
2362
+ "type": "event",
2363
+ "name": "vesu::v2::default_extension_po_v2::DefaultExtensionPOV2::Event",
2364
+ "kind": "enum",
2365
+ "variants": [
2366
+ {
2367
+ "name": "PositionHooksEvents",
2368
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::Event",
2369
+ "kind": "nested"
2370
+ },
2371
+ {
2372
+ "name": "InterestRateModelEvents",
2373
+ "type": "vesu::extension::components::interest_rate_model::interest_rate_model_component::Event",
2374
+ "kind": "nested"
2375
+ },
2376
+ {
2377
+ "name": "PragmaOracleEvents",
2378
+ "type": "vesu::extension::components::pragma_oracle::pragma_oracle_component::Event",
2379
+ "kind": "nested"
2380
+ },
2381
+ {
2382
+ "name": "MapListEvents",
2383
+ "type": "vesu::map_list::map_list_component::Event",
2384
+ "kind": "nested"
2385
+ },
2386
+ {
2387
+ "name": "FeeModelEvents",
2388
+ "type": "vesu::extension::components::fee_model::fee_model_component::Event",
2389
+ "kind": "nested"
2390
+ },
2391
+ {
2392
+ "name": "TokenizationEvents",
2393
+ "type": "vesu::extension::components::tokenization::tokenization_component::Event",
2394
+ "kind": "nested"
2395
+ },
2396
+ {
2397
+ "name": "SetAssetParameter",
2398
+ "type": "vesu::v2::default_extension_po_v2::DefaultExtensionPOV2::SetAssetParameter",
2399
+ "kind": "nested"
2400
+ },
2401
+ {
2402
+ "name": "SetPoolOwner",
2403
+ "type": "vesu::v2::default_extension_po_v2::DefaultExtensionPOV2::SetPoolOwner",
2404
+ "kind": "nested"
2405
+ },
2406
+ {
2407
+ "name": "CreateVToken",
2408
+ "type": "vesu::extension::components::tokenization::tokenization_component::CreateVToken",
2409
+ "kind": "nested"
2410
+ },
2411
+ {
2412
+ "name": "SetInterestRateConfig",
2413
+ "type": "vesu::extension::components::interest_rate_model::interest_rate_model_component::SetInterestRateConfig",
2414
+ "kind": "nested"
2415
+ },
2416
+ {
2417
+ "name": "SetOracleConfig",
2418
+ "type": "vesu::extension::components::pragma_oracle::pragma_oracle_component::SetOracleConfig",
2419
+ "kind": "nested"
2420
+ },
2421
+ {
2422
+ "name": "SetLiquidationConfig",
2423
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::SetLiquidationConfig",
2424
+ "kind": "nested"
2425
+ },
2426
+ {
2427
+ "name": "SetDebtCap",
2428
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::SetDebtCap",
2429
+ "kind": "nested"
2430
+ },
2431
+ {
2432
+ "name": "SetShutdownLTVConfig",
2433
+ "type": "vesu::extension::components::position_hooks::position_hooks_component::SetShutdownLTVConfig",
2434
+ "kind": "nested"
2435
+ },
2436
+ {
2437
+ "name": "ContractUpgraded",
2438
+ "type": "vesu::v2::default_extension_po_v2::DefaultExtensionPOV2::ContractUpgraded",
2439
+ "kind": "nested"
2440
+ }
2441
+ ]
2442
+ }
2443
+ ]