@strkfarm/sdk 2.0.0-dev.27 → 2.0.0-dev.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (70) hide show
  1. package/dist/cli.js +190 -36
  2. package/dist/cli.mjs +188 -34
  3. package/dist/index.browser.global.js +79130 -49357
  4. package/dist/index.browser.mjs +18039 -11434
  5. package/dist/index.d.ts +2869 -898
  6. package/dist/index.js +19036 -12210
  7. package/dist/index.mjs +18942 -12161
  8. package/package.json +1 -1
  9. package/src/data/avnu.abi.json +840 -0
  10. package/src/data/ekubo-price-fethcer.abi.json +265 -0
  11. package/src/dataTypes/_bignumber.ts +13 -4
  12. package/src/dataTypes/index.ts +3 -2
  13. package/src/dataTypes/mynumber.ts +141 -0
  14. package/src/global.ts +76 -41
  15. package/src/index.browser.ts +2 -1
  16. package/src/interfaces/common.tsx +167 -2
  17. package/src/modules/ExtendedWrapperSDk/types.ts +26 -4
  18. package/src/modules/ExtendedWrapperSDk/wrapper.ts +110 -67
  19. package/src/modules/apollo-client-config.ts +28 -0
  20. package/src/modules/avnu.ts +4 -4
  21. package/src/modules/ekubo-pricer.ts +79 -0
  22. package/src/modules/ekubo-quoter.ts +46 -30
  23. package/src/modules/erc20.ts +17 -0
  24. package/src/modules/harvests.ts +43 -29
  25. package/src/modules/pragma.ts +23 -8
  26. package/src/modules/pricer-from-api.ts +156 -15
  27. package/src/modules/pricer-lst.ts +1 -1
  28. package/src/modules/pricer.ts +40 -4
  29. package/src/modules/pricerBase.ts +2 -1
  30. package/src/node/deployer.ts +36 -1
  31. package/src/node/pricer-redis.ts +2 -1
  32. package/src/strategies/base-strategy.ts +78 -10
  33. package/src/strategies/ekubo-cl-vault.tsx +906 -347
  34. package/src/strategies/factory.ts +159 -0
  35. package/src/strategies/index.ts +6 -1
  36. package/src/strategies/registry.ts +239 -0
  37. package/src/strategies/sensei.ts +335 -7
  38. package/src/strategies/svk-strategy.ts +97 -27
  39. package/src/strategies/types.ts +4 -0
  40. package/src/strategies/universal-adapters/adapter-utils.ts +2 -1
  41. package/src/strategies/universal-adapters/avnu-adapter.ts +177 -268
  42. package/src/strategies/universal-adapters/baseAdapter.ts +263 -251
  43. package/src/strategies/universal-adapters/common-adapter.ts +206 -203
  44. package/src/strategies/universal-adapters/extended-adapter.ts +155 -336
  45. package/src/strategies/universal-adapters/index.ts +9 -8
  46. package/src/strategies/universal-adapters/token-transfer-adapter.ts +200 -0
  47. package/src/strategies/universal-adapters/usdc<>usdce-adapter.ts +200 -0
  48. package/src/strategies/universal-adapters/vesu-adapter.ts +110 -75
  49. package/src/strategies/universal-adapters/vesu-modify-position-adapter.ts +476 -0
  50. package/src/strategies/universal-adapters/vesu-multiply-adapter.ts +762 -844
  51. package/src/strategies/universal-adapters/vesu-position-common.ts +251 -0
  52. package/src/strategies/universal-adapters/vesu-supply-only-adapter.ts +18 -3
  53. package/src/strategies/universal-lst-muliplier-strategy.tsx +396 -204
  54. package/src/strategies/universal-strategy.tsx +1426 -1178
  55. package/src/strategies/vesu-extended-strategy/services/executionService.ts +2251 -0
  56. package/src/strategies/vesu-extended-strategy/services/extended-vesu-state-manager.ts +2941 -0
  57. package/src/strategies/vesu-extended-strategy/services/operationService.ts +12 -1
  58. package/src/strategies/vesu-extended-strategy/types/transaction-metadata.ts +52 -0
  59. package/src/strategies/vesu-extended-strategy/utils/config.runtime.ts +1 -0
  60. package/src/strategies/vesu-extended-strategy/utils/constants.ts +2 -0
  61. package/src/strategies/vesu-extended-strategy/utils/helper.ts +158 -124
  62. package/src/strategies/vesu-extended-strategy/vesu-extended-strategy.tsx +377 -1788
  63. package/src/strategies/vesu-rebalance.tsx +255 -152
  64. package/src/utils/health-factor-math.ts +4 -1
  65. package/src/utils/index.ts +2 -1
  66. package/src/utils/logger.browser.ts +22 -4
  67. package/src/utils/logger.node.ts +259 -24
  68. package/src/utils/starknet-call-parser.ts +1036 -0
  69. package/src/utils/strategy-utils.ts +61 -0
  70. package/src/strategies/universal-adapters/unused-balance-adapter.ts +0 -109
@@ -0,0 +1,840 @@
1
+ [
2
+ {
3
+ "type": "impl",
4
+ "name": "ExchangeLocker",
5
+ "interface_name": "avnu::interfaces::locker::ILocker"
6
+ },
7
+ {
8
+ "type": "interface",
9
+ "name": "avnu::interfaces::locker::ILocker",
10
+ "items": [
11
+ {
12
+ "type": "function",
13
+ "name": "locked",
14
+ "inputs": [
15
+ {
16
+ "name": "id",
17
+ "type": "core::integer::u32"
18
+ },
19
+ {
20
+ "name": "data",
21
+ "type": "core::array::Array::<core::felt252>"
22
+ }
23
+ ],
24
+ "outputs": [
25
+ {
26
+ "type": "core::array::Array::<core::felt252>"
27
+ }
28
+ ],
29
+ "state_mutability": "external"
30
+ }
31
+ ]
32
+ },
33
+ {
34
+ "type": "impl",
35
+ "name": "Exchange",
36
+ "interface_name": "avnu::exchange::IExchange"
37
+ },
38
+ {
39
+ "type": "enum",
40
+ "name": "core::bool",
41
+ "variants": [
42
+ {
43
+ "name": "False",
44
+ "type": "()"
45
+ },
46
+ {
47
+ "name": "True",
48
+ "type": "()"
49
+ }
50
+ ]
51
+ },
52
+ {
53
+ "type": "struct",
54
+ "name": "core::integer::u256",
55
+ "members": [
56
+ {
57
+ "name": "low",
58
+ "type": "core::integer::u128"
59
+ },
60
+ {
61
+ "name": "high",
62
+ "type": "core::integer::u128"
63
+ }
64
+ ]
65
+ },
66
+ {
67
+ "type": "struct",
68
+ "name": "avnu::models::DirectSwap",
69
+ "members": [
70
+ {
71
+ "name": "exchange_address",
72
+ "type": "core::starknet::contract_address::ContractAddress"
73
+ },
74
+ {
75
+ "name": "percent",
76
+ "type": "core::integer::u128"
77
+ },
78
+ {
79
+ "name": "additional_swap_params",
80
+ "type": "core::array::Array::<core::felt252>"
81
+ }
82
+ ]
83
+ },
84
+ {
85
+ "type": "struct",
86
+ "name": "avnu::models::AlternativeSwap",
87
+ "members": [
88
+ {
89
+ "name": "exchange_address",
90
+ "type": "core::starknet::contract_address::ContractAddress"
91
+ },
92
+ {
93
+ "name": "percent",
94
+ "type": "core::integer::u128"
95
+ },
96
+ {
97
+ "name": "additional_swap_params",
98
+ "type": "core::array::Array::<core::felt252>"
99
+ }
100
+ ]
101
+ },
102
+ {
103
+ "type": "struct",
104
+ "name": "avnu::models::BranchSwap",
105
+ "members": [
106
+ {
107
+ "name": "principal",
108
+ "type": "avnu::models::DirectSwap"
109
+ },
110
+ {
111
+ "name": "alternatives",
112
+ "type": "core::array::Array::<avnu::models::AlternativeSwap>"
113
+ }
114
+ ]
115
+ },
116
+ {
117
+ "type": "enum",
118
+ "name": "avnu::models::RouteSwap",
119
+ "variants": [
120
+ {
121
+ "name": "Direct",
122
+ "type": "avnu::models::DirectSwap"
123
+ },
124
+ {
125
+ "name": "Branch",
126
+ "type": "avnu::models::BranchSwap"
127
+ }
128
+ ]
129
+ },
130
+ {
131
+ "type": "struct",
132
+ "name": "avnu::models::Route",
133
+ "members": [
134
+ {
135
+ "name": "sell_token",
136
+ "type": "core::starknet::contract_address::ContractAddress"
137
+ },
138
+ {
139
+ "name": "buy_token",
140
+ "type": "core::starknet::contract_address::ContractAddress"
141
+ },
142
+ {
143
+ "name": "swap",
144
+ "type": "avnu::models::RouteSwap"
145
+ }
146
+ ]
147
+ },
148
+ {
149
+ "type": "interface",
150
+ "name": "avnu::exchange::IExchange",
151
+ "items": [
152
+ {
153
+ "type": "function",
154
+ "name": "initialize",
155
+ "inputs": [
156
+ {
157
+ "name": "owner",
158
+ "type": "core::starknet::contract_address::ContractAddress"
159
+ },
160
+ {
161
+ "name": "fee_recipient",
162
+ "type": "core::starknet::contract_address::ContractAddress"
163
+ },
164
+ {
165
+ "name": "fees_bps_0",
166
+ "type": "core::integer::u128"
167
+ },
168
+ {
169
+ "name": "fees_bps_1",
170
+ "type": "core::integer::u128"
171
+ },
172
+ {
173
+ "name": "swap_exact_token_to_fees_bps",
174
+ "type": "core::integer::u128"
175
+ }
176
+ ],
177
+ "outputs": [],
178
+ "state_mutability": "external"
179
+ },
180
+ {
181
+ "type": "function",
182
+ "name": "get_adapter_class_hash",
183
+ "inputs": [
184
+ {
185
+ "name": "exchange_address",
186
+ "type": "core::starknet::contract_address::ContractAddress"
187
+ }
188
+ ],
189
+ "outputs": [
190
+ {
191
+ "type": "core::starknet::class_hash::ClassHash"
192
+ }
193
+ ],
194
+ "state_mutability": "view"
195
+ },
196
+ {
197
+ "type": "function",
198
+ "name": "set_adapter_class_hash",
199
+ "inputs": [
200
+ {
201
+ "name": "exchange_address",
202
+ "type": "core::starknet::contract_address::ContractAddress"
203
+ },
204
+ {
205
+ "name": "adapter_class_hash",
206
+ "type": "core::starknet::class_hash::ClassHash"
207
+ }
208
+ ],
209
+ "outputs": [
210
+ {
211
+ "type": "core::bool"
212
+ }
213
+ ],
214
+ "state_mutability": "external"
215
+ },
216
+ {
217
+ "type": "function",
218
+ "name": "get_external_solver_adapter_class_hash",
219
+ "inputs": [
220
+ {
221
+ "name": "external_solver_address",
222
+ "type": "core::starknet::contract_address::ContractAddress"
223
+ }
224
+ ],
225
+ "outputs": [
226
+ {
227
+ "type": "core::starknet::class_hash::ClassHash"
228
+ }
229
+ ],
230
+ "state_mutability": "view"
231
+ },
232
+ {
233
+ "type": "function",
234
+ "name": "set_external_solver_adapter_class_hash",
235
+ "inputs": [
236
+ {
237
+ "name": "external_solver_address",
238
+ "type": "core::starknet::contract_address::ContractAddress"
239
+ },
240
+ {
241
+ "name": "adapter_class_hash",
242
+ "type": "core::starknet::class_hash::ClassHash"
243
+ }
244
+ ],
245
+ "outputs": [
246
+ {
247
+ "type": "core::bool"
248
+ }
249
+ ],
250
+ "state_mutability": "external"
251
+ },
252
+ {
253
+ "type": "function",
254
+ "name": "multi_route_swap",
255
+ "inputs": [
256
+ {
257
+ "name": "sell_token_address",
258
+ "type": "core::starknet::contract_address::ContractAddress"
259
+ },
260
+ {
261
+ "name": "sell_token_amount",
262
+ "type": "core::integer::u256"
263
+ },
264
+ {
265
+ "name": "buy_token_address",
266
+ "type": "core::starknet::contract_address::ContractAddress"
267
+ },
268
+ {
269
+ "name": "buy_token_amount",
270
+ "type": "core::integer::u256"
271
+ },
272
+ {
273
+ "name": "buy_token_min_amount",
274
+ "type": "core::integer::u256"
275
+ },
276
+ {
277
+ "name": "beneficiary",
278
+ "type": "core::starknet::contract_address::ContractAddress"
279
+ },
280
+ {
281
+ "name": "integrator_fee_amount_bps",
282
+ "type": "core::integer::u128"
283
+ },
284
+ {
285
+ "name": "integrator_fee_recipient",
286
+ "type": "core::starknet::contract_address::ContractAddress"
287
+ },
288
+ {
289
+ "name": "routes",
290
+ "type": "core::array::Array::<avnu::models::Route>"
291
+ }
292
+ ],
293
+ "outputs": [
294
+ {
295
+ "type": "core::bool"
296
+ }
297
+ ],
298
+ "state_mutability": "external"
299
+ },
300
+ {
301
+ "type": "function",
302
+ "name": "swap_exact_token_to",
303
+ "inputs": [
304
+ {
305
+ "name": "sell_token_address",
306
+ "type": "core::starknet::contract_address::ContractAddress"
307
+ },
308
+ {
309
+ "name": "sell_token_amount",
310
+ "type": "core::integer::u256"
311
+ },
312
+ {
313
+ "name": "sell_token_max_amount",
314
+ "type": "core::integer::u256"
315
+ },
316
+ {
317
+ "name": "buy_token_address",
318
+ "type": "core::starknet::contract_address::ContractAddress"
319
+ },
320
+ {
321
+ "name": "buy_token_amount",
322
+ "type": "core::integer::u256"
323
+ },
324
+ {
325
+ "name": "beneficiary",
326
+ "type": "core::starknet::contract_address::ContractAddress"
327
+ },
328
+ {
329
+ "name": "integrator_fee_amount_bps",
330
+ "type": "core::integer::u128"
331
+ },
332
+ {
333
+ "name": "integrator_fee_recipient",
334
+ "type": "core::starknet::contract_address::ContractAddress"
335
+ },
336
+ {
337
+ "name": "routes",
338
+ "type": "core::array::Array::<avnu::models::Route>"
339
+ }
340
+ ],
341
+ "outputs": [
342
+ {
343
+ "type": "core::bool"
344
+ }
345
+ ],
346
+ "state_mutability": "external"
347
+ },
348
+ {
349
+ "type": "function",
350
+ "name": "swap_external_solver",
351
+ "inputs": [
352
+ {
353
+ "name": "user_address",
354
+ "type": "core::starknet::contract_address::ContractAddress"
355
+ },
356
+ {
357
+ "name": "sell_token_address",
358
+ "type": "core::starknet::contract_address::ContractAddress"
359
+ },
360
+ {
361
+ "name": "buy_token_address",
362
+ "type": "core::starknet::contract_address::ContractAddress"
363
+ },
364
+ {
365
+ "name": "beneficiary",
366
+ "type": "core::starknet::contract_address::ContractAddress"
367
+ },
368
+ {
369
+ "name": "external_solver_address",
370
+ "type": "core::starknet::contract_address::ContractAddress"
371
+ },
372
+ {
373
+ "name": "external_solver_adapter_calldata",
374
+ "type": "core::array::Array::<core::felt252>"
375
+ }
376
+ ],
377
+ "outputs": [
378
+ {
379
+ "type": "core::bool"
380
+ }
381
+ ],
382
+ "state_mutability": "external"
383
+ }
384
+ ]
385
+ },
386
+ {
387
+ "type": "impl",
388
+ "name": "FeeImpl",
389
+ "interface_name": "avnu::components::fee::IFee"
390
+ },
391
+ {
392
+ "type": "struct",
393
+ "name": "avnu::components::fee::TokenFeeConfig",
394
+ "members": [
395
+ {
396
+ "name": "weight",
397
+ "type": "core::integer::u32"
398
+ }
399
+ ]
400
+ },
401
+ {
402
+ "type": "interface",
403
+ "name": "avnu::components::fee::IFee",
404
+ "items": [
405
+ {
406
+ "type": "function",
407
+ "name": "get_fees_recipient",
408
+ "inputs": [],
409
+ "outputs": [
410
+ {
411
+ "type": "core::starknet::contract_address::ContractAddress"
412
+ }
413
+ ],
414
+ "state_mutability": "view"
415
+ },
416
+ {
417
+ "type": "function",
418
+ "name": "set_fees_recipient",
419
+ "inputs": [
420
+ {
421
+ "name": "fees_recipient",
422
+ "type": "core::starknet::contract_address::ContractAddress"
423
+ }
424
+ ],
425
+ "outputs": [
426
+ {
427
+ "type": "core::bool"
428
+ }
429
+ ],
430
+ "state_mutability": "external"
431
+ },
432
+ {
433
+ "type": "function",
434
+ "name": "get_fees_bps_0",
435
+ "inputs": [],
436
+ "outputs": [
437
+ {
438
+ "type": "core::integer::u128"
439
+ }
440
+ ],
441
+ "state_mutability": "view"
442
+ },
443
+ {
444
+ "type": "function",
445
+ "name": "set_fees_bps_0",
446
+ "inputs": [
447
+ {
448
+ "name": "bps",
449
+ "type": "core::integer::u128"
450
+ }
451
+ ],
452
+ "outputs": [
453
+ {
454
+ "type": "core::bool"
455
+ }
456
+ ],
457
+ "state_mutability": "external"
458
+ },
459
+ {
460
+ "type": "function",
461
+ "name": "get_fees_bps_1",
462
+ "inputs": [],
463
+ "outputs": [
464
+ {
465
+ "type": "core::integer::u128"
466
+ }
467
+ ],
468
+ "state_mutability": "view"
469
+ },
470
+ {
471
+ "type": "function",
472
+ "name": "set_fees_bps_1",
473
+ "inputs": [
474
+ {
475
+ "name": "bps",
476
+ "type": "core::integer::u128"
477
+ }
478
+ ],
479
+ "outputs": [
480
+ {
481
+ "type": "core::bool"
482
+ }
483
+ ],
484
+ "state_mutability": "external"
485
+ },
486
+ {
487
+ "type": "function",
488
+ "name": "get_swap_exact_token_to_fees_bps",
489
+ "inputs": [],
490
+ "outputs": [
491
+ {
492
+ "type": "core::integer::u128"
493
+ }
494
+ ],
495
+ "state_mutability": "view"
496
+ },
497
+ {
498
+ "type": "function",
499
+ "name": "set_swap_exact_token_to_fees_bps",
500
+ "inputs": [
501
+ {
502
+ "name": "bps",
503
+ "type": "core::integer::u128"
504
+ }
505
+ ],
506
+ "outputs": [
507
+ {
508
+ "type": "core::bool"
509
+ }
510
+ ],
511
+ "state_mutability": "external"
512
+ },
513
+ {
514
+ "type": "function",
515
+ "name": "get_token_fee_config",
516
+ "inputs": [
517
+ {
518
+ "name": "token",
519
+ "type": "core::starknet::contract_address::ContractAddress"
520
+ }
521
+ ],
522
+ "outputs": [
523
+ {
524
+ "type": "avnu::components::fee::TokenFeeConfig"
525
+ }
526
+ ],
527
+ "state_mutability": "view"
528
+ },
529
+ {
530
+ "type": "function",
531
+ "name": "set_token_fee_config",
532
+ "inputs": [
533
+ {
534
+ "name": "token",
535
+ "type": "core::starknet::contract_address::ContractAddress"
536
+ },
537
+ {
538
+ "name": "config",
539
+ "type": "avnu::components::fee::TokenFeeConfig"
540
+ }
541
+ ],
542
+ "outputs": [
543
+ {
544
+ "type": "core::bool"
545
+ }
546
+ ],
547
+ "state_mutability": "external"
548
+ },
549
+ {
550
+ "type": "function",
551
+ "name": "is_integrator_whitelisted",
552
+ "inputs": [
553
+ {
554
+ "name": "integrator",
555
+ "type": "core::starknet::contract_address::ContractAddress"
556
+ }
557
+ ],
558
+ "outputs": [
559
+ {
560
+ "type": "core::bool"
561
+ }
562
+ ],
563
+ "state_mutability": "view"
564
+ },
565
+ {
566
+ "type": "function",
567
+ "name": "set_whitelisted_integrator",
568
+ "inputs": [
569
+ {
570
+ "name": "integrator",
571
+ "type": "core::starknet::contract_address::ContractAddress"
572
+ },
573
+ {
574
+ "name": "whitelisted",
575
+ "type": "core::bool"
576
+ }
577
+ ],
578
+ "outputs": [
579
+ {
580
+ "type": "core::bool"
581
+ }
582
+ ],
583
+ "state_mutability": "external"
584
+ }
585
+ ]
586
+ },
587
+ {
588
+ "type": "impl",
589
+ "name": "OwnableImpl",
590
+ "interface_name": "avnu_lib::components::ownable::IOwnable"
591
+ },
592
+ {
593
+ "type": "interface",
594
+ "name": "avnu_lib::components::ownable::IOwnable",
595
+ "items": [
596
+ {
597
+ "type": "function",
598
+ "name": "get_owner",
599
+ "inputs": [],
600
+ "outputs": [
601
+ {
602
+ "type": "core::starknet::contract_address::ContractAddress"
603
+ }
604
+ ],
605
+ "state_mutability": "view"
606
+ },
607
+ {
608
+ "type": "function",
609
+ "name": "transfer_ownership",
610
+ "inputs": [
611
+ {
612
+ "name": "new_owner",
613
+ "type": "core::starknet::contract_address::ContractAddress"
614
+ }
615
+ ],
616
+ "outputs": [],
617
+ "state_mutability": "external"
618
+ }
619
+ ]
620
+ },
621
+ {
622
+ "type": "impl",
623
+ "name": "UpgradableImpl",
624
+ "interface_name": "avnu_lib::components::upgradable::IUpgradable"
625
+ },
626
+ {
627
+ "type": "interface",
628
+ "name": "avnu_lib::components::upgradable::IUpgradable",
629
+ "items": [
630
+ {
631
+ "type": "function",
632
+ "name": "upgrade_class",
633
+ "inputs": [
634
+ {
635
+ "name": "new_class_hash",
636
+ "type": "core::starknet::class_hash::ClassHash"
637
+ }
638
+ ],
639
+ "outputs": [],
640
+ "state_mutability": "external"
641
+ }
642
+ ]
643
+ },
644
+ {
645
+ "type": "constructor",
646
+ "name": "constructor",
647
+ "inputs": [
648
+ {
649
+ "name": "owner",
650
+ "type": "core::starknet::contract_address::ContractAddress"
651
+ },
652
+ {
653
+ "name": "fee_recipient",
654
+ "type": "core::starknet::contract_address::ContractAddress"
655
+ },
656
+ {
657
+ "name": "fees_bps_0",
658
+ "type": "core::integer::u128"
659
+ },
660
+ {
661
+ "name": "fees_bps_1",
662
+ "type": "core::integer::u128"
663
+ },
664
+ {
665
+ "name": "swap_exact_token_to_fees_bps",
666
+ "type": "core::integer::u128"
667
+ }
668
+ ]
669
+ },
670
+ {
671
+ "type": "event",
672
+ "name": "avnu::components::fee::FeeComponent::Event",
673
+ "kind": "enum",
674
+ "variants": []
675
+ },
676
+ {
677
+ "type": "event",
678
+ "name": "avnu_lib::components::ownable::OwnableComponent::OwnershipTransferred",
679
+ "kind": "struct",
680
+ "members": [
681
+ {
682
+ "name": "previous_owner",
683
+ "type": "core::starknet::contract_address::ContractAddress",
684
+ "kind": "key"
685
+ },
686
+ {
687
+ "name": "new_owner",
688
+ "type": "core::starknet::contract_address::ContractAddress",
689
+ "kind": "key"
690
+ }
691
+ ]
692
+ },
693
+ {
694
+ "type": "event",
695
+ "name": "avnu_lib::components::ownable::OwnableComponent::Event",
696
+ "kind": "enum",
697
+ "variants": [
698
+ {
699
+ "name": "OwnershipTransferred",
700
+ "type": "avnu_lib::components::ownable::OwnableComponent::OwnershipTransferred",
701
+ "kind": "nested"
702
+ }
703
+ ]
704
+ },
705
+ {
706
+ "type": "event",
707
+ "name": "avnu_lib::components::upgradable::UpgradableComponent::Upgraded",
708
+ "kind": "struct",
709
+ "members": [
710
+ {
711
+ "name": "class_hash",
712
+ "type": "core::starknet::class_hash::ClassHash",
713
+ "kind": "data"
714
+ }
715
+ ]
716
+ },
717
+ {
718
+ "type": "event",
719
+ "name": "avnu_lib::components::upgradable::UpgradableComponent::Event",
720
+ "kind": "enum",
721
+ "variants": [
722
+ {
723
+ "name": "Upgraded",
724
+ "type": "avnu_lib::components::upgradable::UpgradableComponent::Upgraded",
725
+ "kind": "nested"
726
+ }
727
+ ]
728
+ },
729
+ {
730
+ "type": "event",
731
+ "name": "avnu::exchange::Exchange::Swap",
732
+ "kind": "struct",
733
+ "members": [
734
+ {
735
+ "name": "taker_address",
736
+ "type": "core::starknet::contract_address::ContractAddress",
737
+ "kind": "data"
738
+ },
739
+ {
740
+ "name": "sell_address",
741
+ "type": "core::starknet::contract_address::ContractAddress",
742
+ "kind": "data"
743
+ },
744
+ {
745
+ "name": "sell_amount",
746
+ "type": "core::integer::u256",
747
+ "kind": "data"
748
+ },
749
+ {
750
+ "name": "buy_address",
751
+ "type": "core::starknet::contract_address::ContractAddress",
752
+ "kind": "data"
753
+ },
754
+ {
755
+ "name": "buy_amount",
756
+ "type": "core::integer::u256",
757
+ "kind": "data"
758
+ },
759
+ {
760
+ "name": "beneficiary",
761
+ "type": "core::starknet::contract_address::ContractAddress",
762
+ "kind": "data"
763
+ }
764
+ ]
765
+ },
766
+ {
767
+ "type": "event",
768
+ "name": "avnu::exchange::Exchange::OptimizedSwap",
769
+ "kind": "struct",
770
+ "members": [
771
+ {
772
+ "name": "sell_token",
773
+ "type": "core::starknet::contract_address::ContractAddress",
774
+ "kind": "data"
775
+ },
776
+ {
777
+ "name": "buy_token",
778
+ "type": "core::starknet::contract_address::ContractAddress",
779
+ "kind": "data"
780
+ },
781
+ {
782
+ "name": "principal_price",
783
+ "type": "core::integer::u256",
784
+ "kind": "data"
785
+ },
786
+ {
787
+ "name": "principal_amount_in",
788
+ "type": "core::integer::u256",
789
+ "kind": "data"
790
+ },
791
+ {
792
+ "name": "alternative_price",
793
+ "type": "core::integer::u256",
794
+ "kind": "data"
795
+ },
796
+ {
797
+ "name": "sell_token_amount_optimized",
798
+ "type": "core::integer::u256",
799
+ "kind": "data"
800
+ },
801
+ {
802
+ "name": "buy_token_amount_optimized",
803
+ "type": "core::integer::u256",
804
+ "kind": "data"
805
+ }
806
+ ]
807
+ },
808
+ {
809
+ "type": "event",
810
+ "name": "avnu::exchange::Exchange::Event",
811
+ "kind": "enum",
812
+ "variants": [
813
+ {
814
+ "name": "FeeEvent",
815
+ "type": "avnu::components::fee::FeeComponent::Event",
816
+ "kind": "flat"
817
+ },
818
+ {
819
+ "name": "OwnableEvent",
820
+ "type": "avnu_lib::components::ownable::OwnableComponent::Event",
821
+ "kind": "flat"
822
+ },
823
+ {
824
+ "name": "UpgradableEvent",
825
+ "type": "avnu_lib::components::upgradable::UpgradableComponent::Event",
826
+ "kind": "flat"
827
+ },
828
+ {
829
+ "name": "Swap",
830
+ "type": "avnu::exchange::Exchange::Swap",
831
+ "kind": "nested"
832
+ },
833
+ {
834
+ "name": "OptimizedSwap",
835
+ "type": "avnu::exchange::Exchange::OptimizedSwap",
836
+ "kind": "nested"
837
+ }
838
+ ]
839
+ }
840
+ ]