@kasarlabs/opus-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 (64) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +36 -0
  3. package/bin/opus-mcp.js +14 -0
  4. package/build/index.d.ts +2 -0
  5. package/build/index.js +106 -0
  6. package/build/index.js.map +1 -0
  7. package/build/interfaces/index.d.ts +49 -0
  8. package/build/interfaces/index.js +2 -0
  9. package/build/interfaces/index.js.map +1 -0
  10. package/build/lib/abis/abbotAbi.d.ts +283 -0
  11. package/build/lib/abis/abbotAbi.js +384 -0
  12. package/build/lib/abis/abbotAbi.js.map +1 -0
  13. package/build/lib/abis/erc20Abi.d.ts +197 -0
  14. package/build/lib/abis/erc20Abi.js +273 -0
  15. package/build/lib/abis/erc20Abi.js.map +1 -0
  16. package/build/lib/abis/sentinelAbi.d.ts +476 -0
  17. package/build/lib/abis/sentinelAbi.js +651 -0
  18. package/build/lib/abis/sentinelAbi.js.map +1 -0
  19. package/build/lib/abis/shrineAbi.d.ts +1426 -0
  20. package/build/lib/abis/shrineAbi.js +1937 -0
  21. package/build/lib/abis/shrineAbi.js.map +1 -0
  22. package/build/lib/constant/erc20.d.ts +3 -0
  23. package/build/lib/constant/erc20.js +34 -0
  24. package/build/lib/constant/erc20.js.map +1 -0
  25. package/build/lib/constant/index.d.ts +83 -0
  26. package/build/lib/constant/index.js +38 -0
  27. package/build/lib/constant/index.js.map +1 -0
  28. package/build/lib/dependances/types.d.ts +85 -0
  29. package/build/lib/dependances/types.js +51 -0
  30. package/build/lib/dependances/types.js.map +1 -0
  31. package/build/lib/types/index.d.ts +14 -0
  32. package/build/lib/types/index.js +2 -0
  33. package/build/lib/types/index.js.map +1 -0
  34. package/build/lib/utils/contracts.d.ts +2383 -0
  35. package/build/lib/utils/contracts.js +26 -0
  36. package/build/lib/utils/contracts.js.map +1 -0
  37. package/build/lib/utils/format.d.ts +5 -0
  38. package/build/lib/utils/format.js +11 -0
  39. package/build/lib/utils/format.js.map +1 -0
  40. package/build/lib/utils/troveManager.d.ts +27 -0
  41. package/build/lib/utils/troveManager.js +386 -0
  42. package/build/lib/utils/troveManager.js.map +1 -0
  43. package/build/schemas/index.d.ts +332 -0
  44. package/build/schemas/index.js +73 -0
  45. package/build/schemas/index.js.map +1 -0
  46. package/build/tools/borrowTrove.d.ts +11 -0
  47. package/build/tools/borrowTrove.js +19 -0
  48. package/build/tools/borrowTrove.js.map +1 -0
  49. package/build/tools/depositTrove.d.ts +11 -0
  50. package/build/tools/depositTrove.js +19 -0
  51. package/build/tools/depositTrove.js.map +1 -0
  52. package/build/tools/getters.d.ts +29 -0
  53. package/build/tools/getters.js +53 -0
  54. package/build/tools/getters.js.map +1 -0
  55. package/build/tools/openTrove.d.ts +11 -0
  56. package/build/tools/openTrove.js +19 -0
  57. package/build/tools/openTrove.js.map +1 -0
  58. package/build/tools/repayTrove.d.ts +11 -0
  59. package/build/tools/repayTrove.js +19 -0
  60. package/build/tools/repayTrove.js.map +1 -0
  61. package/build/tools/withdrawTrove.d.ts +11 -0
  62. package/build/tools/withdrawTrove.js +19 -0
  63. package/build/tools/withdrawTrove.js.map +1 -0
  64. package/package.json +44 -0
@@ -0,0 +1,651 @@
1
+ export const sentinelAbi = [
2
+ {
3
+ type: 'impl',
4
+ name: 'ISentinelImpl',
5
+ interface_name: 'opus::interfaces::ISentinel::ISentinel',
6
+ },
7
+ {
8
+ type: 'enum',
9
+ name: 'core::bool',
10
+ variants: [
11
+ {
12
+ name: 'False',
13
+ type: '()',
14
+ },
15
+ {
16
+ name: 'True',
17
+ type: '()',
18
+ },
19
+ ],
20
+ },
21
+ {
22
+ type: 'struct',
23
+ name: 'core::array::Span::<core::starknet::contract_address::ContractAddress>',
24
+ members: [
25
+ {
26
+ name: 'snapshot',
27
+ type: '@core::array::Array::<core::starknet::contract_address::ContractAddress>',
28
+ },
29
+ ],
30
+ },
31
+ {
32
+ type: 'struct',
33
+ name: 'wadray::wadray::Wad',
34
+ members: [
35
+ {
36
+ name: 'val',
37
+ type: 'core::integer::u128',
38
+ },
39
+ ],
40
+ },
41
+ {
42
+ type: 'struct',
43
+ name: 'wadray::wadray::Ray',
44
+ members: [
45
+ {
46
+ name: 'val',
47
+ type: 'core::integer::u128',
48
+ },
49
+ ],
50
+ },
51
+ {
52
+ type: 'interface',
53
+ name: 'opus::interfaces::ISentinel::ISentinel',
54
+ items: [
55
+ {
56
+ type: 'function',
57
+ name: 'get_gate_address',
58
+ inputs: [
59
+ {
60
+ name: 'yang',
61
+ type: 'core::starknet::contract_address::ContractAddress',
62
+ },
63
+ ],
64
+ outputs: [
65
+ {
66
+ type: 'core::starknet::contract_address::ContractAddress',
67
+ },
68
+ ],
69
+ state_mutability: 'view',
70
+ },
71
+ {
72
+ type: 'function',
73
+ name: 'get_gate_live',
74
+ inputs: [
75
+ {
76
+ name: 'yang',
77
+ type: 'core::starknet::contract_address::ContractAddress',
78
+ },
79
+ ],
80
+ outputs: [
81
+ {
82
+ type: 'core::bool',
83
+ },
84
+ ],
85
+ state_mutability: 'view',
86
+ },
87
+ {
88
+ type: 'function',
89
+ name: 'get_yang_addresses',
90
+ inputs: [],
91
+ outputs: [
92
+ {
93
+ type: 'core::array::Span::<core::starknet::contract_address::ContractAddress>',
94
+ },
95
+ ],
96
+ state_mutability: 'view',
97
+ },
98
+ {
99
+ type: 'function',
100
+ name: 'get_yang_addresses_count',
101
+ inputs: [],
102
+ outputs: [
103
+ {
104
+ type: 'core::integer::u32',
105
+ },
106
+ ],
107
+ state_mutability: 'view',
108
+ },
109
+ {
110
+ type: 'function',
111
+ name: 'get_yang',
112
+ inputs: [
113
+ {
114
+ name: 'idx',
115
+ type: 'core::integer::u32',
116
+ },
117
+ ],
118
+ outputs: [
119
+ {
120
+ type: 'core::starknet::contract_address::ContractAddress',
121
+ },
122
+ ],
123
+ state_mutability: 'view',
124
+ },
125
+ {
126
+ type: 'function',
127
+ name: 'get_yang_asset_max',
128
+ inputs: [
129
+ {
130
+ name: 'yang',
131
+ type: 'core::starknet::contract_address::ContractAddress',
132
+ },
133
+ ],
134
+ outputs: [
135
+ {
136
+ type: 'core::integer::u128',
137
+ },
138
+ ],
139
+ state_mutability: 'view',
140
+ },
141
+ {
142
+ type: 'function',
143
+ name: 'get_asset_amt_per_yang',
144
+ inputs: [
145
+ {
146
+ name: 'yang',
147
+ type: 'core::starknet::contract_address::ContractAddress',
148
+ },
149
+ ],
150
+ outputs: [
151
+ {
152
+ type: 'wadray::wadray::Wad',
153
+ },
154
+ ],
155
+ state_mutability: 'view',
156
+ },
157
+ {
158
+ type: 'function',
159
+ name: 'add_yang',
160
+ inputs: [
161
+ {
162
+ name: 'yang',
163
+ type: 'core::starknet::contract_address::ContractAddress',
164
+ },
165
+ {
166
+ name: 'yang_asset_max',
167
+ type: 'core::integer::u128',
168
+ },
169
+ {
170
+ name: 'yang_threshold',
171
+ type: 'wadray::wadray::Ray',
172
+ },
173
+ {
174
+ name: 'yang_price',
175
+ type: 'wadray::wadray::Wad',
176
+ },
177
+ {
178
+ name: 'yang_rate',
179
+ type: 'wadray::wadray::Ray',
180
+ },
181
+ {
182
+ name: 'gate',
183
+ type: 'core::starknet::contract_address::ContractAddress',
184
+ },
185
+ ],
186
+ outputs: [],
187
+ state_mutability: 'external',
188
+ },
189
+ {
190
+ type: 'function',
191
+ name: 'set_yang_asset_max',
192
+ inputs: [
193
+ {
194
+ name: 'yang',
195
+ type: 'core::starknet::contract_address::ContractAddress',
196
+ },
197
+ {
198
+ name: 'new_asset_max',
199
+ type: 'core::integer::u128',
200
+ },
201
+ ],
202
+ outputs: [],
203
+ state_mutability: 'external',
204
+ },
205
+ {
206
+ type: 'function',
207
+ name: 'enter',
208
+ inputs: [
209
+ {
210
+ name: 'yang',
211
+ type: 'core::starknet::contract_address::ContractAddress',
212
+ },
213
+ {
214
+ name: 'user',
215
+ type: 'core::starknet::contract_address::ContractAddress',
216
+ },
217
+ {
218
+ name: 'asset_amt',
219
+ type: 'core::integer::u128',
220
+ },
221
+ ],
222
+ outputs: [
223
+ {
224
+ type: 'wadray::wadray::Wad',
225
+ },
226
+ ],
227
+ state_mutability: 'external',
228
+ },
229
+ {
230
+ type: 'function',
231
+ name: 'exit',
232
+ inputs: [
233
+ {
234
+ name: 'yang',
235
+ type: 'core::starknet::contract_address::ContractAddress',
236
+ },
237
+ {
238
+ name: 'user',
239
+ type: 'core::starknet::contract_address::ContractAddress',
240
+ },
241
+ {
242
+ name: 'yang_amt',
243
+ type: 'wadray::wadray::Wad',
244
+ },
245
+ ],
246
+ outputs: [
247
+ {
248
+ type: 'core::integer::u128',
249
+ },
250
+ ],
251
+ state_mutability: 'external',
252
+ },
253
+ {
254
+ type: 'function',
255
+ name: 'kill_gate',
256
+ inputs: [
257
+ {
258
+ name: 'yang',
259
+ type: 'core::starknet::contract_address::ContractAddress',
260
+ },
261
+ ],
262
+ outputs: [],
263
+ state_mutability: 'external',
264
+ },
265
+ {
266
+ type: 'function',
267
+ name: 'suspend_yang',
268
+ inputs: [
269
+ {
270
+ name: 'yang',
271
+ type: 'core::starknet::contract_address::ContractAddress',
272
+ },
273
+ ],
274
+ outputs: [],
275
+ state_mutability: 'external',
276
+ },
277
+ {
278
+ type: 'function',
279
+ name: 'unsuspend_yang',
280
+ inputs: [
281
+ {
282
+ name: 'yang',
283
+ type: 'core::starknet::contract_address::ContractAddress',
284
+ },
285
+ ],
286
+ outputs: [],
287
+ state_mutability: 'external',
288
+ },
289
+ {
290
+ type: 'function',
291
+ name: 'convert_to_yang',
292
+ inputs: [
293
+ {
294
+ name: 'yang',
295
+ type: 'core::starknet::contract_address::ContractAddress',
296
+ },
297
+ {
298
+ name: 'asset_amt',
299
+ type: 'core::integer::u128',
300
+ },
301
+ ],
302
+ outputs: [
303
+ {
304
+ type: 'wadray::wadray::Wad',
305
+ },
306
+ ],
307
+ state_mutability: 'view',
308
+ },
309
+ {
310
+ type: 'function',
311
+ name: 'convert_to_assets',
312
+ inputs: [
313
+ {
314
+ name: 'yang',
315
+ type: 'core::starknet::contract_address::ContractAddress',
316
+ },
317
+ {
318
+ name: 'yang_amt',
319
+ type: 'wadray::wadray::Wad',
320
+ },
321
+ ],
322
+ outputs: [
323
+ {
324
+ type: 'core::integer::u128',
325
+ },
326
+ ],
327
+ state_mutability: 'view',
328
+ },
329
+ ],
330
+ },
331
+ {
332
+ type: 'impl',
333
+ name: 'AccessControlPublic',
334
+ interface_name: 'access_control::access_control::IAccessControl',
335
+ },
336
+ {
337
+ type: 'interface',
338
+ name: 'access_control::access_control::IAccessControl',
339
+ items: [
340
+ {
341
+ type: 'function',
342
+ name: 'get_roles',
343
+ inputs: [
344
+ {
345
+ name: 'account',
346
+ type: 'core::starknet::contract_address::ContractAddress',
347
+ },
348
+ ],
349
+ outputs: [
350
+ {
351
+ type: 'core::integer::u128',
352
+ },
353
+ ],
354
+ state_mutability: 'view',
355
+ },
356
+ {
357
+ type: 'function',
358
+ name: 'has_role',
359
+ inputs: [
360
+ {
361
+ name: 'role',
362
+ type: 'core::integer::u128',
363
+ },
364
+ {
365
+ name: 'account',
366
+ type: 'core::starknet::contract_address::ContractAddress',
367
+ },
368
+ ],
369
+ outputs: [
370
+ {
371
+ type: 'core::bool',
372
+ },
373
+ ],
374
+ state_mutability: 'view',
375
+ },
376
+ {
377
+ type: 'function',
378
+ name: 'get_admin',
379
+ inputs: [],
380
+ outputs: [
381
+ {
382
+ type: 'core::starknet::contract_address::ContractAddress',
383
+ },
384
+ ],
385
+ state_mutability: 'view',
386
+ },
387
+ {
388
+ type: 'function',
389
+ name: 'get_pending_admin',
390
+ inputs: [],
391
+ outputs: [
392
+ {
393
+ type: 'core::starknet::contract_address::ContractAddress',
394
+ },
395
+ ],
396
+ state_mutability: 'view',
397
+ },
398
+ {
399
+ type: 'function',
400
+ name: 'grant_role',
401
+ inputs: [
402
+ {
403
+ name: 'role',
404
+ type: 'core::integer::u128',
405
+ },
406
+ {
407
+ name: 'account',
408
+ type: 'core::starknet::contract_address::ContractAddress',
409
+ },
410
+ ],
411
+ outputs: [],
412
+ state_mutability: 'external',
413
+ },
414
+ {
415
+ type: 'function',
416
+ name: 'revoke_role',
417
+ inputs: [
418
+ {
419
+ name: 'role',
420
+ type: 'core::integer::u128',
421
+ },
422
+ {
423
+ name: 'account',
424
+ type: 'core::starknet::contract_address::ContractAddress',
425
+ },
426
+ ],
427
+ outputs: [],
428
+ state_mutability: 'external',
429
+ },
430
+ {
431
+ type: 'function',
432
+ name: 'renounce_role',
433
+ inputs: [
434
+ {
435
+ name: 'role',
436
+ type: 'core::integer::u128',
437
+ },
438
+ ],
439
+ outputs: [],
440
+ state_mutability: 'external',
441
+ },
442
+ {
443
+ type: 'function',
444
+ name: 'set_pending_admin',
445
+ inputs: [
446
+ {
447
+ name: 'new_admin',
448
+ type: 'core::starknet::contract_address::ContractAddress',
449
+ },
450
+ ],
451
+ outputs: [],
452
+ state_mutability: 'external',
453
+ },
454
+ {
455
+ type: 'function',
456
+ name: 'accept_admin',
457
+ inputs: [],
458
+ outputs: [],
459
+ state_mutability: 'external',
460
+ },
461
+ ],
462
+ },
463
+ {
464
+ type: 'constructor',
465
+ name: 'constructor',
466
+ inputs: [
467
+ {
468
+ name: 'admin',
469
+ type: 'core::starknet::contract_address::ContractAddress',
470
+ },
471
+ {
472
+ name: 'shrine',
473
+ type: 'core::starknet::contract_address::ContractAddress',
474
+ },
475
+ ],
476
+ },
477
+ {
478
+ type: 'event',
479
+ name: 'access_control::access_control::access_control_component::AdminChanged',
480
+ kind: 'struct',
481
+ members: [
482
+ {
483
+ name: 'old_admin',
484
+ type: 'core::starknet::contract_address::ContractAddress',
485
+ kind: 'data',
486
+ },
487
+ {
488
+ name: 'new_admin',
489
+ type: 'core::starknet::contract_address::ContractAddress',
490
+ kind: 'data',
491
+ },
492
+ ],
493
+ },
494
+ {
495
+ type: 'event',
496
+ name: 'access_control::access_control::access_control_component::NewPendingAdmin',
497
+ kind: 'struct',
498
+ members: [
499
+ {
500
+ name: 'new_admin',
501
+ type: 'core::starknet::contract_address::ContractAddress',
502
+ kind: 'data',
503
+ },
504
+ ],
505
+ },
506
+ {
507
+ type: 'event',
508
+ name: 'access_control::access_control::access_control_component::RoleGranted',
509
+ kind: 'struct',
510
+ members: [
511
+ {
512
+ name: 'user',
513
+ type: 'core::starknet::contract_address::ContractAddress',
514
+ kind: 'data',
515
+ },
516
+ {
517
+ name: 'role_granted',
518
+ type: 'core::integer::u128',
519
+ kind: 'data',
520
+ },
521
+ ],
522
+ },
523
+ {
524
+ type: 'event',
525
+ name: 'access_control::access_control::access_control_component::RoleRevoked',
526
+ kind: 'struct',
527
+ members: [
528
+ {
529
+ name: 'user',
530
+ type: 'core::starknet::contract_address::ContractAddress',
531
+ kind: 'data',
532
+ },
533
+ {
534
+ name: 'role_revoked',
535
+ type: 'core::integer::u128',
536
+ kind: 'data',
537
+ },
538
+ ],
539
+ },
540
+ {
541
+ type: 'event',
542
+ name: 'access_control::access_control::access_control_component::Event',
543
+ kind: 'enum',
544
+ variants: [
545
+ {
546
+ name: 'AdminChanged',
547
+ type: 'access_control::access_control::access_control_component::AdminChanged',
548
+ kind: 'nested',
549
+ },
550
+ {
551
+ name: 'NewPendingAdmin',
552
+ type: 'access_control::access_control::access_control_component::NewPendingAdmin',
553
+ kind: 'nested',
554
+ },
555
+ {
556
+ name: 'RoleGranted',
557
+ type: 'access_control::access_control::access_control_component::RoleGranted',
558
+ kind: 'nested',
559
+ },
560
+ {
561
+ name: 'RoleRevoked',
562
+ type: 'access_control::access_control::access_control_component::RoleRevoked',
563
+ kind: 'nested',
564
+ },
565
+ ],
566
+ },
567
+ {
568
+ type: 'event',
569
+ name: 'opus::core::sentinel::sentinel::YangAdded',
570
+ kind: 'struct',
571
+ members: [
572
+ {
573
+ name: 'yang',
574
+ type: 'core::starknet::contract_address::ContractAddress',
575
+ kind: 'key',
576
+ },
577
+ {
578
+ name: 'gate',
579
+ type: 'core::starknet::contract_address::ContractAddress',
580
+ kind: 'data',
581
+ },
582
+ ],
583
+ },
584
+ {
585
+ type: 'event',
586
+ name: 'opus::core::sentinel::sentinel::YangAssetMaxUpdated',
587
+ kind: 'struct',
588
+ members: [
589
+ {
590
+ name: 'yang',
591
+ type: 'core::starknet::contract_address::ContractAddress',
592
+ kind: 'key',
593
+ },
594
+ {
595
+ name: 'old_max',
596
+ type: 'core::integer::u128',
597
+ kind: 'data',
598
+ },
599
+ {
600
+ name: 'new_max',
601
+ type: 'core::integer::u128',
602
+ kind: 'data',
603
+ },
604
+ ],
605
+ },
606
+ {
607
+ type: 'event',
608
+ name: 'opus::core::sentinel::sentinel::GateKilled',
609
+ kind: 'struct',
610
+ members: [
611
+ {
612
+ name: 'yang',
613
+ type: 'core::starknet::contract_address::ContractAddress',
614
+ kind: 'key',
615
+ },
616
+ {
617
+ name: 'gate',
618
+ type: 'core::starknet::contract_address::ContractAddress',
619
+ kind: 'data',
620
+ },
621
+ ],
622
+ },
623
+ {
624
+ type: 'event',
625
+ name: 'opus::core::sentinel::sentinel::Event',
626
+ kind: 'enum',
627
+ variants: [
628
+ {
629
+ name: 'AccessControlEvent',
630
+ type: 'access_control::access_control::access_control_component::Event',
631
+ kind: 'nested',
632
+ },
633
+ {
634
+ name: 'YangAdded',
635
+ type: 'opus::core::sentinel::sentinel::YangAdded',
636
+ kind: 'nested',
637
+ },
638
+ {
639
+ name: 'YangAssetMaxUpdated',
640
+ type: 'opus::core::sentinel::sentinel::YangAssetMaxUpdated',
641
+ kind: 'nested',
642
+ },
643
+ {
644
+ name: 'GateKilled',
645
+ type: 'opus::core::sentinel::sentinel::GateKilled',
646
+ kind: 'nested',
647
+ },
648
+ ],
649
+ },
650
+ ];
651
+ //# sourceMappingURL=sentinelAbi.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sentinelAbi.js","sourceRoot":"","sources":["../../../src/lib/abis/sentinelAbi.ts"],"names":[],"mappings":"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"}