@kasarlabs/ekubo-mcp 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (85) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +54 -0
  3. package/bin/ekubo-mcp.js +2 -0
  4. package/build/index.d.ts +2 -0
  5. package/build/index.js +119 -0
  6. package/build/index.js.map +1 -0
  7. package/build/interfaces/index.d.ts +21 -0
  8. package/build/interfaces/index.js +2 -0
  9. package/build/interfaces/index.js.map +1 -0
  10. package/build/lib/constants/abis/core.d.ts +92 -0
  11. package/build/lib/constants/abis/core.js +1341 -0
  12. package/build/lib/constants/abis/core.js.map +1 -0
  13. package/build/lib/constants/abis/erc20.d.ts +214 -0
  14. package/build/lib/constants/abis/erc20.js +1256 -0
  15. package/build/lib/constants/abis/erc20.js.map +1 -0
  16. package/build/lib/constants/abis/index.d.ts +5 -0
  17. package/build/lib/constants/abis/index.js +6 -0
  18. package/build/lib/constants/abis/index.js.map +1 -0
  19. package/build/lib/constants/abis/nft.d.ts +92 -0
  20. package/build/lib/constants/abis/nft.js +1227 -0
  21. package/build/lib/constants/abis/nft.js.map +1 -0
  22. package/build/lib/constants/abis/positions.d.ts +92 -0
  23. package/build/lib/constants/abis/positions.js +1595 -0
  24. package/build/lib/constants/abis/positions.js.map +1 -0
  25. package/build/lib/constants/abis/router.d.ts +76 -0
  26. package/build/lib/constants/abis/router.js +524 -0
  27. package/build/lib/constants/abis/router.js.map +1 -0
  28. package/build/lib/constants/addresses.d.ts +21 -0
  29. package/build/lib/constants/addresses.js +52 -0
  30. package/build/lib/constants/addresses.js.map +1 -0
  31. package/build/lib/utils/contracts.d.ts +8 -0
  32. package/build/lib/utils/contracts.js +26 -0
  33. package/build/lib/utils/contracts.js.map +1 -0
  34. package/build/lib/utils/events.d.ts +2 -0
  35. package/build/lib/utils/events.js +21 -0
  36. package/build/lib/utils/events.js.map +1 -0
  37. package/build/lib/utils/liquidity.d.ts +14 -0
  38. package/build/lib/utils/liquidity.js +19 -0
  39. package/build/lib/utils/liquidity.js.map +1 -0
  40. package/build/lib/utils/math.d.ts +4 -0
  41. package/build/lib/utils/math.js +25 -0
  42. package/build/lib/utils/math.js.map +1 -0
  43. package/build/lib/utils/pools.d.ts +9 -0
  44. package/build/lib/utils/pools.js +18 -0
  45. package/build/lib/utils/pools.js.map +1 -0
  46. package/build/lib/utils/quote.d.ts +5 -0
  47. package/build/lib/utils/quote.js +17 -0
  48. package/build/lib/utils/quote.js.map +1 -0
  49. package/build/lib/utils/swap.d.ts +13 -0
  50. package/build/lib/utils/swap.js +37 -0
  51. package/build/lib/utils/swap.js.map +1 -0
  52. package/build/lib/utils/token.d.ts +127 -0
  53. package/build/lib/utils/token.js +150 -0
  54. package/build/lib/utils/token.js.map +1 -0
  55. package/build/schemas/index.d.ts +388 -0
  56. package/build/schemas/index.js +119 -0
  57. package/build/schemas/index.js.map +1 -0
  58. package/build/tools/read/getPoolFeesPerLiquidity.d.ts +14 -0
  59. package/build/tools/read/getPoolFeesPerLiquidity.js +31 -0
  60. package/build/tools/read/getPoolFeesPerLiquidity.js.map +1 -0
  61. package/build/tools/read/getPoolInfo.d.ts +22 -0
  62. package/build/tools/read/getPoolInfo.js +45 -0
  63. package/build/tools/read/getPoolInfo.js.map +1 -0
  64. package/build/tools/read/getPoolLiquidity.d.ts +13 -0
  65. package/build/tools/read/getPoolLiquidity.js +30 -0
  66. package/build/tools/read/getPoolLiquidity.js.map +1 -0
  67. package/build/tools/read/getTokenPrice.d.ts +16 -0
  68. package/build/tools/read/getTokenPrice.js +42 -0
  69. package/build/tools/read/getTokenPrice.js.map +1 -0
  70. package/build/tools/write/addLiquidity.d.ts +21 -0
  71. package/build/tools/write/addLiquidity.js +77 -0
  72. package/build/tools/write/addLiquidity.js.map +1 -0
  73. package/build/tools/write/createPosition.d.ts +21 -0
  74. package/build/tools/write/createPosition.js +67 -0
  75. package/build/tools/write/createPosition.js.map +1 -0
  76. package/build/tools/write/swap.d.ts +19 -0
  77. package/build/tools/write/swap.js +76 -0
  78. package/build/tools/write/swap.js.map +1 -0
  79. package/build/tools/write/transferPosition.d.ts +16 -0
  80. package/build/tools/write/transferPosition.js +35 -0
  81. package/build/tools/write/transferPosition.js.map +1 -0
  82. package/build/tools/write/withdrawLiquidity.d.ts +19 -0
  83. package/build/tools/write/withdrawLiquidity.js +65 -0
  84. package/build/tools/write/withdrawLiquidity.js.map +1 -0
  85. package/package.json +42 -0
@@ -0,0 +1,1227 @@
1
+ export const NFT_POSITIONS_CONTRACT_ABI = [
2
+ {
3
+ type: 'impl',
4
+ name: 'OwnedNFTHasInterface',
5
+ interface_name: 'ekubo::components::upgradeable::IHasInterface',
6
+ },
7
+ {
8
+ type: 'interface',
9
+ name: 'ekubo::components::upgradeable::IHasInterface',
10
+ items: [
11
+ {
12
+ type: 'function',
13
+ name: 'get_primary_interface_id',
14
+ inputs: [],
15
+ outputs: [
16
+ {
17
+ type: 'core::felt252',
18
+ },
19
+ ],
20
+ state_mutability: 'view',
21
+ },
22
+ ],
23
+ },
24
+ {
25
+ type: 'impl',
26
+ name: 'ERC721Impl',
27
+ interface_name: 'ekubo::interfaces::erc721::IERC721',
28
+ },
29
+ {
30
+ type: 'struct',
31
+ name: 'core::integer::u256',
32
+ members: [
33
+ {
34
+ name: 'low',
35
+ type: 'core::integer::u128',
36
+ },
37
+ {
38
+ name: 'high',
39
+ type: 'core::integer::u128',
40
+ },
41
+ ],
42
+ },
43
+ {
44
+ type: 'enum',
45
+ name: 'core::bool',
46
+ variants: [
47
+ {
48
+ name: 'False',
49
+ type: '()',
50
+ },
51
+ {
52
+ name: 'True',
53
+ type: '()',
54
+ },
55
+ ],
56
+ },
57
+ {
58
+ type: 'interface',
59
+ name: 'ekubo::interfaces::erc721::IERC721',
60
+ items: [
61
+ {
62
+ type: 'function',
63
+ name: 'name',
64
+ inputs: [],
65
+ outputs: [
66
+ {
67
+ type: 'core::felt252',
68
+ },
69
+ ],
70
+ state_mutability: 'view',
71
+ },
72
+ {
73
+ type: 'function',
74
+ name: 'symbol',
75
+ inputs: [],
76
+ outputs: [
77
+ {
78
+ type: 'core::felt252',
79
+ },
80
+ ],
81
+ state_mutability: 'view',
82
+ },
83
+ {
84
+ type: 'function',
85
+ name: 'approve',
86
+ inputs: [
87
+ {
88
+ name: 'to',
89
+ type: 'core::starknet::contract_address::ContractAddress',
90
+ },
91
+ {
92
+ name: 'token_id',
93
+ type: 'core::integer::u256',
94
+ },
95
+ ],
96
+ outputs: [],
97
+ state_mutability: 'external',
98
+ },
99
+ {
100
+ type: 'function',
101
+ name: 'balanceOf',
102
+ inputs: [
103
+ {
104
+ name: 'account',
105
+ type: 'core::starknet::contract_address::ContractAddress',
106
+ },
107
+ ],
108
+ outputs: [
109
+ {
110
+ type: 'core::integer::u256',
111
+ },
112
+ ],
113
+ state_mutability: 'view',
114
+ },
115
+ {
116
+ type: 'function',
117
+ name: 'ownerOf',
118
+ inputs: [
119
+ {
120
+ name: 'token_id',
121
+ type: 'core::integer::u256',
122
+ },
123
+ ],
124
+ outputs: [
125
+ {
126
+ type: 'core::starknet::contract_address::ContractAddress',
127
+ },
128
+ ],
129
+ state_mutability: 'view',
130
+ },
131
+ {
132
+ type: 'function',
133
+ name: 'transferFrom',
134
+ inputs: [
135
+ {
136
+ name: 'from',
137
+ type: 'core::starknet::contract_address::ContractAddress',
138
+ },
139
+ {
140
+ name: 'to',
141
+ type: 'core::starknet::contract_address::ContractAddress',
142
+ },
143
+ {
144
+ name: 'token_id',
145
+ type: 'core::integer::u256',
146
+ },
147
+ ],
148
+ outputs: [],
149
+ state_mutability: 'external',
150
+ },
151
+ {
152
+ type: 'function',
153
+ name: 'setApprovalForAll',
154
+ inputs: [
155
+ {
156
+ name: 'operator',
157
+ type: 'core::starknet::contract_address::ContractAddress',
158
+ },
159
+ {
160
+ name: 'approved',
161
+ type: 'core::bool',
162
+ },
163
+ ],
164
+ outputs: [],
165
+ state_mutability: 'external',
166
+ },
167
+ {
168
+ type: 'function',
169
+ name: 'getApproved',
170
+ inputs: [
171
+ {
172
+ name: 'token_id',
173
+ type: 'core::integer::u256',
174
+ },
175
+ ],
176
+ outputs: [
177
+ {
178
+ type: 'core::starknet::contract_address::ContractAddress',
179
+ },
180
+ ],
181
+ state_mutability: 'view',
182
+ },
183
+ {
184
+ type: 'function',
185
+ name: 'isApprovedForAll',
186
+ inputs: [
187
+ {
188
+ name: 'owner',
189
+ type: 'core::starknet::contract_address::ContractAddress',
190
+ },
191
+ {
192
+ name: 'operator',
193
+ type: 'core::starknet::contract_address::ContractAddress',
194
+ },
195
+ ],
196
+ outputs: [
197
+ {
198
+ type: 'core::bool',
199
+ },
200
+ ],
201
+ state_mutability: 'view',
202
+ },
203
+ {
204
+ type: 'function',
205
+ name: 'tokenURI',
206
+ inputs: [
207
+ {
208
+ name: 'token_id',
209
+ type: 'core::integer::u256',
210
+ },
211
+ ],
212
+ outputs: [
213
+ {
214
+ type: 'core::array::Array::<core::felt252>',
215
+ },
216
+ ],
217
+ state_mutability: 'view',
218
+ },
219
+ {
220
+ type: 'function',
221
+ name: 'balance_of',
222
+ inputs: [
223
+ {
224
+ name: 'account',
225
+ type: 'core::starknet::contract_address::ContractAddress',
226
+ },
227
+ ],
228
+ outputs: [
229
+ {
230
+ type: 'core::integer::u256',
231
+ },
232
+ ],
233
+ state_mutability: 'view',
234
+ },
235
+ {
236
+ type: 'function',
237
+ name: 'owner_of',
238
+ inputs: [
239
+ {
240
+ name: 'token_id',
241
+ type: 'core::integer::u256',
242
+ },
243
+ ],
244
+ outputs: [
245
+ {
246
+ type: 'core::starknet::contract_address::ContractAddress',
247
+ },
248
+ ],
249
+ state_mutability: 'view',
250
+ },
251
+ {
252
+ type: 'function',
253
+ name: 'transfer_from',
254
+ inputs: [
255
+ {
256
+ name: 'from',
257
+ type: 'core::starknet::contract_address::ContractAddress',
258
+ },
259
+ {
260
+ name: 'to',
261
+ type: 'core::starknet::contract_address::ContractAddress',
262
+ },
263
+ {
264
+ name: 'token_id',
265
+ type: 'core::integer::u256',
266
+ },
267
+ ],
268
+ outputs: [],
269
+ state_mutability: 'external',
270
+ },
271
+ {
272
+ type: 'function',
273
+ name: 'set_approval_for_all',
274
+ inputs: [
275
+ {
276
+ name: 'operator',
277
+ type: 'core::starknet::contract_address::ContractAddress',
278
+ },
279
+ {
280
+ name: 'approved',
281
+ type: 'core::bool',
282
+ },
283
+ ],
284
+ outputs: [],
285
+ state_mutability: 'external',
286
+ },
287
+ {
288
+ type: 'function',
289
+ name: 'get_approved',
290
+ inputs: [
291
+ {
292
+ name: 'token_id',
293
+ type: 'core::integer::u256',
294
+ },
295
+ ],
296
+ outputs: [
297
+ {
298
+ type: 'core::starknet::contract_address::ContractAddress',
299
+ },
300
+ ],
301
+ state_mutability: 'view',
302
+ },
303
+ {
304
+ type: 'function',
305
+ name: 'is_approved_for_all',
306
+ inputs: [
307
+ {
308
+ name: 'owner',
309
+ type: 'core::starknet::contract_address::ContractAddress',
310
+ },
311
+ {
312
+ name: 'operator',
313
+ type: 'core::starknet::contract_address::ContractAddress',
314
+ },
315
+ ],
316
+ outputs: [
317
+ {
318
+ type: 'core::bool',
319
+ },
320
+ ],
321
+ state_mutability: 'view',
322
+ },
323
+ {
324
+ type: 'function',
325
+ name: 'token_uri',
326
+ inputs: [
327
+ {
328
+ name: 'token_id',
329
+ type: 'core::integer::u256',
330
+ },
331
+ ],
332
+ outputs: [
333
+ {
334
+ type: 'core::array::Array::<core::felt252>',
335
+ },
336
+ ],
337
+ state_mutability: 'view',
338
+ },
339
+ ],
340
+ },
341
+ {
342
+ type: 'impl',
343
+ name: 'SRC5Impl',
344
+ interface_name: 'ekubo::interfaces::src5::ISRC5',
345
+ },
346
+ {
347
+ type: 'interface',
348
+ name: 'ekubo::interfaces::src5::ISRC5',
349
+ items: [
350
+ {
351
+ type: 'function',
352
+ name: 'supportsInterface',
353
+ inputs: [
354
+ {
355
+ name: 'interfaceId',
356
+ type: 'core::felt252',
357
+ },
358
+ ],
359
+ outputs: [
360
+ {
361
+ type: 'core::bool',
362
+ },
363
+ ],
364
+ state_mutability: 'view',
365
+ },
366
+ {
367
+ type: 'function',
368
+ name: 'supports_interface',
369
+ inputs: [
370
+ {
371
+ name: 'interface_id',
372
+ type: 'core::felt252',
373
+ },
374
+ ],
375
+ outputs: [
376
+ {
377
+ type: 'core::bool',
378
+ },
379
+ ],
380
+ state_mutability: 'view',
381
+ },
382
+ ],
383
+ },
384
+ {
385
+ type: 'impl',
386
+ name: 'OwnedNFTImpl',
387
+ interface_name: 'ekubo::owned_nft::IOwnedNFT',
388
+ },
389
+ {
390
+ type: 'interface',
391
+ name: 'ekubo::owned_nft::IOwnedNFT',
392
+ items: [
393
+ {
394
+ type: 'function',
395
+ name: 'mint',
396
+ inputs: [
397
+ {
398
+ name: 'owner',
399
+ type: 'core::starknet::contract_address::ContractAddress',
400
+ },
401
+ ],
402
+ outputs: [
403
+ {
404
+ type: 'core::integer::u64',
405
+ },
406
+ ],
407
+ state_mutability: 'external',
408
+ },
409
+ {
410
+ type: 'function',
411
+ name: 'burn',
412
+ inputs: [
413
+ {
414
+ name: 'id',
415
+ type: 'core::integer::u64',
416
+ },
417
+ ],
418
+ outputs: [],
419
+ state_mutability: 'external',
420
+ },
421
+ {
422
+ type: 'function',
423
+ name: 'is_account_authorized',
424
+ inputs: [
425
+ {
426
+ name: 'id',
427
+ type: 'core::integer::u64',
428
+ },
429
+ {
430
+ name: 'account',
431
+ type: 'core::starknet::contract_address::ContractAddress',
432
+ },
433
+ ],
434
+ outputs: [
435
+ {
436
+ type: 'core::bool',
437
+ },
438
+ ],
439
+ state_mutability: 'view',
440
+ },
441
+ {
442
+ type: 'function',
443
+ name: 'get_next_token_id',
444
+ inputs: [],
445
+ outputs: [
446
+ {
447
+ type: 'core::integer::u64',
448
+ },
449
+ ],
450
+ state_mutability: 'view',
451
+ },
452
+ {
453
+ type: 'function',
454
+ name: 'set_metadata',
455
+ inputs: [
456
+ {
457
+ name: 'name',
458
+ type: 'core::felt252',
459
+ },
460
+ {
461
+ name: 'symbol',
462
+ type: 'core::felt252',
463
+ },
464
+ {
465
+ name: 'token_uri_base',
466
+ type: 'core::felt252',
467
+ },
468
+ ],
469
+ outputs: [],
470
+ state_mutability: 'external',
471
+ },
472
+ ],
473
+ },
474
+ {
475
+ type: 'impl',
476
+ name: 'Owned',
477
+ interface_name: 'ekubo::components::owned::IOwned',
478
+ },
479
+ {
480
+ type: 'interface',
481
+ name: 'ekubo::components::owned::IOwned',
482
+ items: [
483
+ {
484
+ type: 'function',
485
+ name: 'get_owner',
486
+ inputs: [],
487
+ outputs: [
488
+ {
489
+ type: 'core::starknet::contract_address::ContractAddress',
490
+ },
491
+ ],
492
+ state_mutability: 'view',
493
+ },
494
+ {
495
+ type: 'function',
496
+ name: 'transfer_ownership',
497
+ inputs: [
498
+ {
499
+ name: 'new_owner',
500
+ type: 'core::starknet::contract_address::ContractAddress',
501
+ },
502
+ ],
503
+ outputs: [],
504
+ state_mutability: 'external',
505
+ },
506
+ ],
507
+ },
508
+ {
509
+ type: 'impl',
510
+ name: 'Upgradeable',
511
+ interface_name: 'ekubo::interfaces::upgradeable::IUpgradeable',
512
+ },
513
+ {
514
+ type: 'interface',
515
+ name: 'ekubo::interfaces::upgradeable::IUpgradeable',
516
+ items: [
517
+ {
518
+ type: 'function',
519
+ name: 'replace_class_hash',
520
+ inputs: [
521
+ {
522
+ name: 'class_hash',
523
+ type: 'core::starknet::class_hash::ClassHash',
524
+ },
525
+ ],
526
+ outputs: [],
527
+ state_mutability: 'external',
528
+ },
529
+ ],
530
+ },
531
+ {
532
+ type: 'constructor',
533
+ name: 'constructor',
534
+ inputs: [
535
+ {
536
+ name: 'owner',
537
+ type: 'core::starknet::contract_address::ContractAddress',
538
+ },
539
+ {
540
+ name: 'name',
541
+ type: 'core::felt252',
542
+ },
543
+ {
544
+ name: 'symbol',
545
+ type: 'core::felt252',
546
+ },
547
+ {
548
+ name: 'token_uri_base',
549
+ type: 'core::felt252',
550
+ },
551
+ ],
552
+ },
553
+ {
554
+ type: 'event',
555
+ name: 'ekubo::components::upgradeable::Upgradeable::ClassHashReplaced',
556
+ kind: 'struct',
557
+ members: [
558
+ {
559
+ name: 'new_class_hash',
560
+ type: 'core::starknet::class_hash::ClassHash',
561
+ kind: 'data',
562
+ },
563
+ ],
564
+ },
565
+ {
566
+ type: 'event',
567
+ name: 'ekubo::components::upgradeable::Upgradeable::Event',
568
+ kind: 'enum',
569
+ variants: [
570
+ {
571
+ name: 'ClassHashReplaced',
572
+ type: 'ekubo::components::upgradeable::Upgradeable::ClassHashReplaced',
573
+ kind: 'nested',
574
+ },
575
+ ],
576
+ },
577
+ {
578
+ type: 'event',
579
+ name: 'ekubo::components::owned::Owned::OwnershipTransferred',
580
+ kind: 'struct',
581
+ members: [
582
+ {
583
+ name: 'old_owner',
584
+ type: 'core::starknet::contract_address::ContractAddress',
585
+ kind: 'data',
586
+ },
587
+ {
588
+ name: 'new_owner',
589
+ type: 'core::starknet::contract_address::ContractAddress',
590
+ kind: 'data',
591
+ },
592
+ ],
593
+ },
594
+ {
595
+ type: 'event',
596
+ name: 'ekubo::components::owned::Owned::Event',
597
+ kind: 'enum',
598
+ variants: [
599
+ {
600
+ name: 'OwnershipTransferred',
601
+ type: 'ekubo::components::owned::Owned::OwnershipTransferred',
602
+ kind: 'nested',
603
+ },
604
+ ],
605
+ },
606
+ {
607
+ type: 'event',
608
+ name: 'ekubo::owned_nft::OwnedNFT::Transfer',
609
+ kind: 'struct',
610
+ members: [
611
+ {
612
+ name: 'from',
613
+ type: 'core::starknet::contract_address::ContractAddress',
614
+ kind: 'data',
615
+ },
616
+ {
617
+ name: 'to',
618
+ type: 'core::starknet::contract_address::ContractAddress',
619
+ kind: 'data',
620
+ },
621
+ {
622
+ name: 'token_id',
623
+ type: 'core::integer::u256',
624
+ kind: 'data',
625
+ },
626
+ ],
627
+ },
628
+ {
629
+ type: 'event',
630
+ name: 'ekubo::owned_nft::OwnedNFT::Approval',
631
+ kind: 'struct',
632
+ members: [
633
+ {
634
+ name: 'owner',
635
+ type: 'core::starknet::contract_address::ContractAddress',
636
+ kind: 'data',
637
+ },
638
+ {
639
+ name: 'approved',
640
+ type: 'core::starknet::contract_address::ContractAddress',
641
+ kind: 'data',
642
+ },
643
+ {
644
+ name: 'token_id',
645
+ type: 'core::integer::u256',
646
+ kind: 'data',
647
+ },
648
+ ],
649
+ },
650
+ {
651
+ type: 'event',
652
+ name: 'ekubo::owned_nft::OwnedNFT::ApprovalForAll',
653
+ kind: 'struct',
654
+ members: [
655
+ {
656
+ name: 'owner',
657
+ type: 'core::starknet::contract_address::ContractAddress',
658
+ kind: 'data',
659
+ },
660
+ {
661
+ name: 'operator',
662
+ type: 'core::starknet::contract_address::ContractAddress',
663
+ kind: 'data',
664
+ },
665
+ {
666
+ name: 'approved',
667
+ type: 'core::bool',
668
+ kind: 'data',
669
+ },
670
+ ],
671
+ },
672
+ {
673
+ type: 'event',
674
+ name: 'ekubo::owned_nft::OwnedNFT::Event',
675
+ kind: 'enum',
676
+ variants: [
677
+ {
678
+ name: 'UpgradeableEvent',
679
+ type: 'ekubo::components::upgradeable::Upgradeable::Event',
680
+ kind: 'flat',
681
+ },
682
+ {
683
+ name: 'OwnedEvent',
684
+ type: 'ekubo::components::owned::Owned::Event',
685
+ kind: 'nested',
686
+ },
687
+ {
688
+ name: 'Transfer',
689
+ type: 'ekubo::owned_nft::OwnedNFT::Transfer',
690
+ kind: 'nested',
691
+ },
692
+ {
693
+ name: 'Approval',
694
+ type: 'ekubo::owned_nft::OwnedNFT::Approval',
695
+ kind: 'nested',
696
+ },
697
+ {
698
+ name: 'ApprovalForAll',
699
+ type: 'ekubo::owned_nft::OwnedNFT::ApprovalForAll',
700
+ kind: 'nested',
701
+ },
702
+ ],
703
+ },
704
+ ];
705
+ const ROUTER_ABI = [
706
+ {
707
+ type: 'impl',
708
+ name: 'LockerImpl',
709
+ interface_name: 'ekubo::interfaces::core::ILocker',
710
+ },
711
+ {
712
+ type: 'struct',
713
+ name: 'core::array::Span::<core::felt252>',
714
+ members: [
715
+ {
716
+ name: 'snapshot',
717
+ type: '@core::array::Array::<core::felt252>',
718
+ },
719
+ ],
720
+ },
721
+ {
722
+ type: 'interface',
723
+ name: 'ekubo::interfaces::core::ILocker',
724
+ items: [
725
+ {
726
+ type: 'function',
727
+ name: 'locked',
728
+ inputs: [
729
+ {
730
+ name: 'id',
731
+ type: 'core::integer::u32',
732
+ },
733
+ {
734
+ name: 'data',
735
+ type: 'core::array::Span::<core::felt252>',
736
+ },
737
+ ],
738
+ outputs: [
739
+ {
740
+ type: 'core::array::Span::<core::felt252>',
741
+ },
742
+ ],
743
+ state_mutability: 'external',
744
+ },
745
+ ],
746
+ },
747
+ {
748
+ type: 'impl',
749
+ name: 'RouterImpl',
750
+ interface_name: 'ekubo::router::IRouter',
751
+ },
752
+ {
753
+ type: 'struct',
754
+ name: 'ekubo::types::keys::PoolKey',
755
+ members: [
756
+ {
757
+ name: 'token0',
758
+ type: 'core::starknet::contract_address::ContractAddress',
759
+ },
760
+ {
761
+ name: 'token1',
762
+ type: 'core::starknet::contract_address::ContractAddress',
763
+ },
764
+ {
765
+ name: 'fee',
766
+ type: 'core::integer::u128',
767
+ },
768
+ {
769
+ name: 'tick_spacing',
770
+ type: 'core::integer::u128',
771
+ },
772
+ {
773
+ name: 'extension',
774
+ type: 'core::starknet::contract_address::ContractAddress',
775
+ },
776
+ ],
777
+ },
778
+ {
779
+ type: 'struct',
780
+ name: 'core::integer::u256',
781
+ members: [
782
+ {
783
+ name: 'low',
784
+ type: 'core::integer::u128',
785
+ },
786
+ {
787
+ name: 'high',
788
+ type: 'core::integer::u128',
789
+ },
790
+ ],
791
+ },
792
+ {
793
+ type: 'struct',
794
+ name: 'ekubo::router::RouteNode',
795
+ members: [
796
+ {
797
+ name: 'pool_key',
798
+ type: 'ekubo::types::keys::PoolKey',
799
+ },
800
+ {
801
+ name: 'sqrt_ratio_limit',
802
+ type: 'core::integer::u256',
803
+ },
804
+ {
805
+ name: 'skip_ahead',
806
+ type: 'core::integer::u128',
807
+ },
808
+ ],
809
+ },
810
+ {
811
+ type: 'enum',
812
+ name: 'core::bool',
813
+ variants: [
814
+ {
815
+ name: 'False',
816
+ type: '()',
817
+ },
818
+ {
819
+ name: 'True',
820
+ type: '()',
821
+ },
822
+ ],
823
+ },
824
+ {
825
+ type: 'struct',
826
+ name: 'ekubo::types::i129::i129',
827
+ members: [
828
+ {
829
+ name: 'mag',
830
+ type: 'core::integer::u128',
831
+ },
832
+ {
833
+ name: 'sign',
834
+ type: 'core::bool',
835
+ },
836
+ ],
837
+ },
838
+ {
839
+ type: 'struct',
840
+ name: 'ekubo::router::TokenAmount',
841
+ members: [
842
+ {
843
+ name: 'token',
844
+ type: 'core::starknet::contract_address::ContractAddress',
845
+ },
846
+ {
847
+ name: 'amount',
848
+ type: 'ekubo::types::i129::i129',
849
+ },
850
+ ],
851
+ },
852
+ {
853
+ type: 'struct',
854
+ name: 'ekubo::types::delta::Delta',
855
+ members: [
856
+ {
857
+ name: 'amount0',
858
+ type: 'ekubo::types::i129::i129',
859
+ },
860
+ {
861
+ name: 'amount1',
862
+ type: 'ekubo::types::i129::i129',
863
+ },
864
+ ],
865
+ },
866
+ {
867
+ type: 'struct',
868
+ name: 'ekubo::router::Swap',
869
+ members: [
870
+ {
871
+ name: 'route',
872
+ type: 'core::array::Array::<ekubo::router::RouteNode>',
873
+ },
874
+ {
875
+ name: 'token_amount',
876
+ type: 'ekubo::router::TokenAmount',
877
+ },
878
+ ],
879
+ },
880
+ {
881
+ type: 'struct',
882
+ name: 'ekubo::router::Depth',
883
+ members: [
884
+ {
885
+ name: 'token0',
886
+ type: 'core::integer::u128',
887
+ },
888
+ {
889
+ name: 'token1',
890
+ type: 'core::integer::u128',
891
+ },
892
+ ],
893
+ },
894
+ {
895
+ type: 'interface',
896
+ name: 'ekubo::router::IRouter',
897
+ items: [
898
+ {
899
+ type: 'function',
900
+ name: 'swap',
901
+ inputs: [
902
+ {
903
+ name: 'node',
904
+ type: 'ekubo::router::RouteNode',
905
+ },
906
+ {
907
+ name: 'token_amount',
908
+ type: 'ekubo::router::TokenAmount',
909
+ },
910
+ ],
911
+ outputs: [
912
+ {
913
+ type: 'ekubo::types::delta::Delta',
914
+ },
915
+ ],
916
+ state_mutability: 'external',
917
+ },
918
+ {
919
+ type: 'function',
920
+ name: 'multihop_swap',
921
+ inputs: [
922
+ {
923
+ name: 'route',
924
+ type: 'core::array::Array::<ekubo::router::RouteNode>',
925
+ },
926
+ {
927
+ name: 'token_amount',
928
+ type: 'ekubo::router::TokenAmount',
929
+ },
930
+ ],
931
+ outputs: [
932
+ {
933
+ type: 'core::array::Array::<ekubo::types::delta::Delta>',
934
+ },
935
+ ],
936
+ state_mutability: 'external',
937
+ },
938
+ {
939
+ type: 'function',
940
+ name: 'multi_multihop_swap',
941
+ inputs: [
942
+ {
943
+ name: 'swaps',
944
+ type: 'core::array::Array::<ekubo::router::Swap>',
945
+ },
946
+ ],
947
+ outputs: [
948
+ {
949
+ type: 'core::array::Array::<core::array::Array::<ekubo::types::delta::Delta>>',
950
+ },
951
+ ],
952
+ state_mutability: 'external',
953
+ },
954
+ {
955
+ type: 'function',
956
+ name: 'quote_multi_multihop_swap',
957
+ inputs: [
958
+ {
959
+ name: 'swaps',
960
+ type: 'core::array::Array::<ekubo::router::Swap>',
961
+ },
962
+ ],
963
+ outputs: [
964
+ {
965
+ type: 'core::array::Array::<core::array::Array::<ekubo::types::delta::Delta>>',
966
+ },
967
+ ],
968
+ state_mutability: 'view',
969
+ },
970
+ {
971
+ type: 'function',
972
+ name: 'quote_multihop_swap',
973
+ inputs: [
974
+ {
975
+ name: 'route',
976
+ type: 'core::array::Array::<ekubo::router::RouteNode>',
977
+ },
978
+ {
979
+ name: 'token_amount',
980
+ type: 'ekubo::router::TokenAmount',
981
+ },
982
+ ],
983
+ outputs: [
984
+ {
985
+ type: 'core::array::Array::<ekubo::types::delta::Delta>',
986
+ },
987
+ ],
988
+ state_mutability: 'view',
989
+ },
990
+ {
991
+ type: 'function',
992
+ name: 'quote_swap',
993
+ inputs: [
994
+ {
995
+ name: 'node',
996
+ type: 'ekubo::router::RouteNode',
997
+ },
998
+ {
999
+ name: 'token_amount',
1000
+ type: 'ekubo::router::TokenAmount',
1001
+ },
1002
+ ],
1003
+ outputs: [
1004
+ {
1005
+ type: 'ekubo::types::delta::Delta',
1006
+ },
1007
+ ],
1008
+ state_mutability: 'view',
1009
+ },
1010
+ {
1011
+ type: 'function',
1012
+ name: 'get_delta_to_sqrt_ratio',
1013
+ inputs: [
1014
+ {
1015
+ name: 'pool_key',
1016
+ type: 'ekubo::types::keys::PoolKey',
1017
+ },
1018
+ {
1019
+ name: 'sqrt_ratio',
1020
+ type: 'core::integer::u256',
1021
+ },
1022
+ ],
1023
+ outputs: [
1024
+ {
1025
+ type: 'ekubo::types::delta::Delta',
1026
+ },
1027
+ ],
1028
+ state_mutability: 'view',
1029
+ },
1030
+ {
1031
+ type: 'function',
1032
+ name: 'get_market_depth',
1033
+ inputs: [
1034
+ {
1035
+ name: 'pool_key',
1036
+ type: 'ekubo::types::keys::PoolKey',
1037
+ },
1038
+ {
1039
+ name: 'sqrt_percent',
1040
+ type: 'core::integer::u128',
1041
+ },
1042
+ ],
1043
+ outputs: [
1044
+ {
1045
+ type: 'ekubo::router::Depth',
1046
+ },
1047
+ ],
1048
+ state_mutability: 'view',
1049
+ },
1050
+ {
1051
+ type: 'function',
1052
+ name: 'get_market_depth_v2',
1053
+ inputs: [
1054
+ {
1055
+ name: 'pool_key',
1056
+ type: 'ekubo::types::keys::PoolKey',
1057
+ },
1058
+ {
1059
+ name: 'percent_64x64',
1060
+ type: 'core::integer::u128',
1061
+ },
1062
+ ],
1063
+ outputs: [
1064
+ {
1065
+ type: 'ekubo::router::Depth',
1066
+ },
1067
+ ],
1068
+ state_mutability: 'view',
1069
+ },
1070
+ {
1071
+ type: 'function',
1072
+ name: 'get_market_depth_at_sqrt_ratio',
1073
+ inputs: [
1074
+ {
1075
+ name: 'pool_key',
1076
+ type: 'ekubo::types::keys::PoolKey',
1077
+ },
1078
+ {
1079
+ name: 'sqrt_ratio',
1080
+ type: 'core::integer::u256',
1081
+ },
1082
+ {
1083
+ name: 'percent_64x64',
1084
+ type: 'core::integer::u128',
1085
+ },
1086
+ ],
1087
+ outputs: [
1088
+ {
1089
+ type: 'ekubo::router::Depth',
1090
+ },
1091
+ ],
1092
+ state_mutability: 'view',
1093
+ },
1094
+ ],
1095
+ },
1096
+ {
1097
+ type: 'impl',
1098
+ name: 'Clear',
1099
+ interface_name: 'ekubo::components::clear::IClear',
1100
+ },
1101
+ {
1102
+ type: 'struct',
1103
+ name: 'ekubo::interfaces::erc20::IERC20Dispatcher',
1104
+ members: [
1105
+ {
1106
+ name: 'contract_address',
1107
+ type: 'core::starknet::contract_address::ContractAddress',
1108
+ },
1109
+ ],
1110
+ },
1111
+ {
1112
+ type: 'interface',
1113
+ name: 'ekubo::components::clear::IClear',
1114
+ items: [
1115
+ {
1116
+ type: 'function',
1117
+ name: 'clear',
1118
+ inputs: [
1119
+ {
1120
+ name: 'token',
1121
+ type: 'ekubo::interfaces::erc20::IERC20Dispatcher',
1122
+ },
1123
+ ],
1124
+ outputs: [
1125
+ {
1126
+ type: 'core::integer::u256',
1127
+ },
1128
+ ],
1129
+ state_mutability: 'view',
1130
+ },
1131
+ {
1132
+ type: 'function',
1133
+ name: 'clear_minimum',
1134
+ inputs: [
1135
+ {
1136
+ name: 'token',
1137
+ type: 'ekubo::interfaces::erc20::IERC20Dispatcher',
1138
+ },
1139
+ {
1140
+ name: 'minimum',
1141
+ type: 'core::integer::u256',
1142
+ },
1143
+ ],
1144
+ outputs: [
1145
+ {
1146
+ type: 'core::integer::u256',
1147
+ },
1148
+ ],
1149
+ state_mutability: 'view',
1150
+ },
1151
+ {
1152
+ type: 'function',
1153
+ name: 'clear_minimum_to_recipient',
1154
+ inputs: [
1155
+ {
1156
+ name: 'token',
1157
+ type: 'ekubo::interfaces::erc20::IERC20Dispatcher',
1158
+ },
1159
+ {
1160
+ name: 'minimum',
1161
+ type: 'core::integer::u256',
1162
+ },
1163
+ {
1164
+ name: 'recipient',
1165
+ type: 'core::starknet::contract_address::ContractAddress',
1166
+ },
1167
+ ],
1168
+ outputs: [
1169
+ {
1170
+ type: 'core::integer::u256',
1171
+ },
1172
+ ],
1173
+ state_mutability: 'view',
1174
+ },
1175
+ ],
1176
+ },
1177
+ {
1178
+ type: 'impl',
1179
+ name: 'Expires',
1180
+ interface_name: 'ekubo::components::expires::IExpires',
1181
+ },
1182
+ {
1183
+ type: 'interface',
1184
+ name: 'ekubo::components::expires::IExpires',
1185
+ items: [
1186
+ {
1187
+ type: 'function',
1188
+ name: 'expires',
1189
+ inputs: [
1190
+ {
1191
+ name: 'at',
1192
+ type: 'core::integer::u64',
1193
+ },
1194
+ ],
1195
+ outputs: [],
1196
+ state_mutability: 'view',
1197
+ },
1198
+ ],
1199
+ },
1200
+ {
1201
+ type: 'struct',
1202
+ name: 'ekubo::interfaces::core::ICoreDispatcher',
1203
+ members: [
1204
+ {
1205
+ name: 'contract_address',
1206
+ type: 'core::starknet::contract_address::ContractAddress',
1207
+ },
1208
+ ],
1209
+ },
1210
+ {
1211
+ type: 'constructor',
1212
+ name: 'constructor',
1213
+ inputs: [
1214
+ {
1215
+ name: 'core',
1216
+ type: 'ekubo::interfaces::core::ICoreDispatcher',
1217
+ },
1218
+ ],
1219
+ },
1220
+ {
1221
+ type: 'event',
1222
+ name: 'ekubo::router::Router::Event',
1223
+ kind: 'enum',
1224
+ variants: [],
1225
+ },
1226
+ ];
1227
+ //# sourceMappingURL=nft.js.map