@strkfarm/sdk 1.0.55 → 1.0.56

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