@parqxchange/sdk 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 (65) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +122 -0
  3. package/dist/accounts/marketOracle.d.ts +21 -0
  4. package/dist/accounts/marketOracle.js +114 -0
  5. package/dist/accounts/resolve.d.ts +75 -0
  6. package/dist/accounts/resolve.js +116 -0
  7. package/dist/actions/cranks.d.ts +8 -0
  8. package/dist/actions/cranks.js +10 -0
  9. package/dist/actions/liquidity.d.ts +23 -0
  10. package/dist/actions/liquidity.js +21 -0
  11. package/dist/actions/trading.d.ts +39 -0
  12. package/dist/actions/trading.js +95 -0
  13. package/dist/auth/tradingKey.d.ts +27 -0
  14. package/dist/auth/tradingKey.js +71 -0
  15. package/dist/decode/index.d.ts +39 -0
  16. package/dist/decode/index.js +445 -0
  17. package/dist/events/decoder.d.ts +60 -0
  18. package/dist/events/decoder.js +369 -0
  19. package/dist/events/emitter.d.ts +49 -0
  20. package/dist/events/emitter.js +153 -0
  21. package/dist/index.d.ts +25 -0
  22. package/dist/index.js +93 -0
  23. package/dist/indexer/client.d.ts +13 -0
  24. package/dist/indexer/client.js +36 -0
  25. package/dist/indexer/types.d.ts +9 -0
  26. package/dist/indexer/types.js +2 -0
  27. package/dist/minimal.d.ts +3 -0
  28. package/dist/minimal.js +13 -0
  29. package/dist/node.d.ts +1 -0
  30. package/dist/node.js +5 -0
  31. package/dist/programs/feeDistributor.d.ts +42 -0
  32. package/dist/programs/feeDistributor.js +42 -0
  33. package/dist/programs/oracle.d.ts +31 -0
  34. package/dist/programs/oracle.js +49 -0
  35. package/dist/programs/perp.d.ts +283 -0
  36. package/dist/programs/perp.js +346 -0
  37. package/dist/programs/pool.d.ts +113 -0
  38. package/dist/programs/pool.js +126 -0
  39. package/dist/programs/priceFeed.d.ts +13 -0
  40. package/dist/programs/priceFeed.js +21 -0
  41. package/dist/programs/staking.d.ts +76 -0
  42. package/dist/programs/staking.js +135 -0
  43. package/dist/types/index.d.ts +337 -0
  44. package/dist/types/index.js +9 -0
  45. package/dist/utils/computeBudget.d.ts +5 -0
  46. package/dist/utils/computeBudget.js +14 -0
  47. package/dist/utils/errors.d.ts +56 -0
  48. package/dist/utils/errors.js +138 -0
  49. package/dist/utils/pda.d.ts +28 -0
  50. package/dist/utils/pda.js +131 -0
  51. package/dist/utils/priceMath.d.ts +5 -0
  52. package/dist/utils/priceMath.js +46 -0
  53. package/dist/utils/tokenProgram.d.ts +2 -0
  54. package/dist/utils/tokenProgram.js +16 -0
  55. package/dist/utils/transaction.d.ts +2 -0
  56. package/dist/utils/transaction.js +12 -0
  57. package/dist/utils/version.d.ts +11 -0
  58. package/dist/utils/version.js +29 -0
  59. package/idl/fee_distributor.json +779 -0
  60. package/idl/oracle_adapter.json +767 -0
  61. package/idl/perp_engine.json +3908 -0
  62. package/idl/pool_program.json +2956 -0
  63. package/idl/price_feed.json +478 -0
  64. package/idl/staking.json +1336 -0
  65. package/package.json +98 -0
@@ -0,0 +1,779 @@
1
+ {
2
+ "address": "CHTpVtZQboxjM6N9xk1RR29jZyWqFNV77cmQNJ18RNNL",
3
+ "metadata": {
4
+ "name": "fee_distributor",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0"
7
+ },
8
+ "instructions": [
9
+ {
10
+ "name": "disburse_referral",
11
+ "discriminator": [
12
+ 17,
13
+ 212,
14
+ 53,
15
+ 123,
16
+ 212,
17
+ 35,
18
+ 142,
19
+ 130
20
+ ],
21
+ "accounts": [
22
+ {
23
+ "name": "engine_auth",
24
+ "docs": [
25
+ "Engine auth PDA from perp-engine — must be the signer."
26
+ ],
27
+ "signer": true
28
+ },
29
+ {
30
+ "name": "fee_pool",
31
+ "pda": {
32
+ "seeds": [
33
+ {
34
+ "kind": "const",
35
+ "value": [
36
+ 102,
37
+ 101,
38
+ 101,
39
+ 95,
40
+ 112,
41
+ 111,
42
+ 111,
43
+ 108
44
+ ]
45
+ }
46
+ ]
47
+ }
48
+ },
49
+ {
50
+ "name": "referral_reserve",
51
+ "docs": [
52
+ "Referral reserve USDC token account. Authority must be the fee_pool PDA."
53
+ ],
54
+ "writable": true
55
+ },
56
+ {
57
+ "name": "affiliate_usdc",
58
+ "docs": [
59
+ "Affiliate's USDC token account (destination)."
60
+ ],
61
+ "writable": true
62
+ },
63
+ {
64
+ "name": "token_program",
65
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
66
+ }
67
+ ],
68
+ "args": [
69
+ {
70
+ "name": "args",
71
+ "type": {
72
+ "defined": {
73
+ "name": "DisburseReferralArgs"
74
+ }
75
+ }
76
+ }
77
+ ]
78
+ },
79
+ {
80
+ "name": "distribute_fees",
81
+ "discriminator": [
82
+ 120,
83
+ 56,
84
+ 27,
85
+ 7,
86
+ 53,
87
+ 176,
88
+ 113,
89
+ 186
90
+ ],
91
+ "accounts": [
92
+ {
93
+ "name": "fee_pool",
94
+ "writable": true,
95
+ "pda": {
96
+ "seeds": [
97
+ {
98
+ "kind": "const",
99
+ "value": [
100
+ 102,
101
+ 101,
102
+ 101,
103
+ 95,
104
+ 112,
105
+ 111,
106
+ 111,
107
+ 108
108
+ ]
109
+ }
110
+ ]
111
+ }
112
+ },
113
+ {
114
+ "name": "usdc_account",
115
+ "docs": [
116
+ "USDC token account holding collected fees. Authority must be the fee_pool PDA."
117
+ ],
118
+ "writable": true
119
+ },
120
+ {
121
+ "name": "staking_reward",
122
+ "docs": [
123
+ "Staking reward destination token account."
124
+ ],
125
+ "writable": true
126
+ },
127
+ {
128
+ "name": "treasury",
129
+ "docs": [
130
+ "Treasury destination token account."
131
+ ],
132
+ "writable": true
133
+ },
134
+ {
135
+ "name": "referral_reserve",
136
+ "docs": [
137
+ "Referral reserve destination token account."
138
+ ],
139
+ "writable": true
140
+ },
141
+ {
142
+ "name": "token_program",
143
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
144
+ }
145
+ ],
146
+ "args": []
147
+ },
148
+ {
149
+ "name": "initialize_fee_pool",
150
+ "discriminator": [
151
+ 59,
152
+ 214,
153
+ 181,
154
+ 20,
155
+ 217,
156
+ 48,
157
+ 146,
158
+ 165
159
+ ],
160
+ "accounts": [
161
+ {
162
+ "name": "admin",
163
+ "writable": true,
164
+ "signer": true
165
+ },
166
+ {
167
+ "name": "fee_pool",
168
+ "writable": true,
169
+ "pda": {
170
+ "seeds": [
171
+ {
172
+ "kind": "const",
173
+ "value": [
174
+ 102,
175
+ 101,
176
+ 101,
177
+ 95,
178
+ 112,
179
+ 111,
180
+ 111,
181
+ 108
182
+ ]
183
+ }
184
+ ]
185
+ }
186
+ },
187
+ {
188
+ "name": "system_program",
189
+ "address": "11111111111111111111111111111111"
190
+ }
191
+ ],
192
+ "args": [
193
+ {
194
+ "name": "args",
195
+ "type": {
196
+ "defined": {
197
+ "name": "InitializeFeePoolArgs"
198
+ }
199
+ }
200
+ }
201
+ ]
202
+ },
203
+ {
204
+ "name": "update_fee_pool_accounts",
205
+ "discriminator": [
206
+ 161,
207
+ 231,
208
+ 119,
209
+ 42,
210
+ 88,
211
+ 211,
212
+ 222,
213
+ 138
214
+ ],
215
+ "accounts": [
216
+ {
217
+ "name": "admin",
218
+ "writable": true,
219
+ "signer": true,
220
+ "relations": [
221
+ "fee_pool"
222
+ ]
223
+ },
224
+ {
225
+ "name": "fee_pool",
226
+ "writable": true,
227
+ "pda": {
228
+ "seeds": [
229
+ {
230
+ "kind": "const",
231
+ "value": [
232
+ 102,
233
+ 101,
234
+ 101,
235
+ 95,
236
+ 112,
237
+ 111,
238
+ 111,
239
+ 108
240
+ ]
241
+ }
242
+ ]
243
+ }
244
+ },
245
+ {
246
+ "name": "usdc_mint"
247
+ },
248
+ {
249
+ "name": "usdc_account"
250
+ },
251
+ {
252
+ "name": "staking_reward"
253
+ },
254
+ {
255
+ "name": "treasury"
256
+ },
257
+ {
258
+ "name": "referral_reserve"
259
+ }
260
+ ],
261
+ "args": []
262
+ },
263
+ {
264
+ "name": "update_fee_split",
265
+ "discriminator": [
266
+ 120,
267
+ 149,
268
+ 67,
269
+ 33,
270
+ 63,
271
+ 94,
272
+ 168,
273
+ 245
274
+ ],
275
+ "accounts": [
276
+ {
277
+ "name": "admin",
278
+ "signer": true,
279
+ "relations": [
280
+ "fee_pool"
281
+ ]
282
+ },
283
+ {
284
+ "name": "fee_pool",
285
+ "writable": true,
286
+ "pda": {
287
+ "seeds": [
288
+ {
289
+ "kind": "const",
290
+ "value": [
291
+ 102,
292
+ 101,
293
+ 101,
294
+ 95,
295
+ 112,
296
+ 111,
297
+ 111,
298
+ 108
299
+ ]
300
+ }
301
+ ]
302
+ }
303
+ }
304
+ ],
305
+ "args": [
306
+ {
307
+ "name": "args",
308
+ "type": {
309
+ "defined": {
310
+ "name": "UpdateFeeSplitArgs"
311
+ }
312
+ }
313
+ }
314
+ ]
315
+ },
316
+ {
317
+ "name": "withdraw_treasury",
318
+ "discriminator": [
319
+ 40,
320
+ 63,
321
+ 122,
322
+ 158,
323
+ 144,
324
+ 216,
325
+ 83,
326
+ 96
327
+ ],
328
+ "accounts": [
329
+ {
330
+ "name": "admin",
331
+ "signer": true,
332
+ "relations": [
333
+ "fee_pool"
334
+ ]
335
+ },
336
+ {
337
+ "name": "fee_pool",
338
+ "pda": {
339
+ "seeds": [
340
+ {
341
+ "kind": "const",
342
+ "value": [
343
+ 102,
344
+ 101,
345
+ 101,
346
+ 95,
347
+ 112,
348
+ 111,
349
+ 111,
350
+ 108
351
+ ]
352
+ }
353
+ ]
354
+ }
355
+ },
356
+ {
357
+ "name": "treasury",
358
+ "docs": [
359
+ "Treasury USDC token account. Authority must be the fee_pool PDA."
360
+ ],
361
+ "writable": true
362
+ },
363
+ {
364
+ "name": "destination",
365
+ "docs": [
366
+ "Destination token account for withdrawal.",
367
+ "F-024: explicit mint match — clearer error than the SPL transfer-time",
368
+ "mismatch. Constrained against `treasury.mint` (the treasury is itself",
369
+ "pinned to fee_pool.treasury and PDA-owned, so its mint is trusted)."
370
+ ],
371
+ "writable": true
372
+ },
373
+ {
374
+ "name": "token_program",
375
+ "address": "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
376
+ }
377
+ ],
378
+ "args": [
379
+ {
380
+ "name": "args",
381
+ "type": {
382
+ "defined": {
383
+ "name": "WithdrawTreasuryArgs"
384
+ }
385
+ }
386
+ }
387
+ ]
388
+ }
389
+ ],
390
+ "accounts": [
391
+ {
392
+ "name": "FeePool",
393
+ "discriminator": [
394
+ 172,
395
+ 38,
396
+ 77,
397
+ 146,
398
+ 148,
399
+ 5,
400
+ 51,
401
+ 242
402
+ ]
403
+ }
404
+ ],
405
+ "events": [
406
+ {
407
+ "name": "FeePoolAccountsUpdated",
408
+ "discriminator": [
409
+ 122,
410
+ 253,
411
+ 220,
412
+ 175,
413
+ 197,
414
+ 49,
415
+ 244,
416
+ 249
417
+ ]
418
+ },
419
+ {
420
+ "name": "FeeSplitUpdated",
421
+ "discriminator": [
422
+ 125,
423
+ 91,
424
+ 141,
425
+ 252,
426
+ 205,
427
+ 113,
428
+ 171,
429
+ 92
430
+ ]
431
+ },
432
+ {
433
+ "name": "FeesDistributed",
434
+ "discriminator": [
435
+ 209,
436
+ 24,
437
+ 174,
438
+ 200,
439
+ 236,
440
+ 90,
441
+ 154,
442
+ 55
443
+ ]
444
+ },
445
+ {
446
+ "name": "ReferralDisbursed",
447
+ "discriminator": [
448
+ 153,
449
+ 146,
450
+ 70,
451
+ 118,
452
+ 155,
453
+ 113,
454
+ 145,
455
+ 14
456
+ ]
457
+ },
458
+ {
459
+ "name": "TreasuryWithdrawal",
460
+ "discriminator": [
461
+ 244,
462
+ 117,
463
+ 175,
464
+ 46,
465
+ 187,
466
+ 109,
467
+ 20,
468
+ 16
469
+ ]
470
+ }
471
+ ],
472
+ "errors": [
473
+ {
474
+ "code": 6000,
475
+ "name": "InvalidSplitSum",
476
+ "msg": "Split ratios must sum to 10000"
477
+ },
478
+ {
479
+ "code": 6001,
480
+ "name": "ReferralSplitTooLow",
481
+ "msg": "Referral split must be >= 100 bps"
482
+ },
483
+ {
484
+ "code": 6002,
485
+ "name": "NoFeesToDistribute",
486
+ "msg": "No fees to distribute"
487
+ },
488
+ {
489
+ "code": 6003,
490
+ "name": "Unauthorized",
491
+ "msg": "Unauthorized caller"
492
+ },
493
+ {
494
+ "code": 6004,
495
+ "name": "InsufficientReferralReserve",
496
+ "msg": "Insufficient referral reserve"
497
+ },
498
+ {
499
+ "code": 6005,
500
+ "name": "MathOverflow",
501
+ "msg": "Math overflow"
502
+ },
503
+ {
504
+ "code": 6006,
505
+ "name": "InvalidFeePoolAuthority",
506
+ "msg": "Fee pool USDC account must be owned by the fee_pool PDA"
507
+ },
508
+ {
509
+ "code": 6007,
510
+ "name": "InvalidFeePoolMint",
511
+ "msg": "Fee pool token accounts must use the same USDC mint"
512
+ },
513
+ {
514
+ "code": 6008,
515
+ "name": "WrongAccountOwner",
516
+ "msg": "Fee pool destination token account must be owned by the fee_pool PDA"
517
+ },
518
+ {
519
+ "code": 6009,
520
+ "name": "WrongMint",
521
+ "msg": "Withdraw destination token account must use the USDC mint"
522
+ }
523
+ ],
524
+ "types": [
525
+ {
526
+ "name": "DisburseReferralArgs",
527
+ "type": {
528
+ "kind": "struct",
529
+ "fields": [
530
+ {
531
+ "name": "amount",
532
+ "type": "u64"
533
+ },
534
+ {
535
+ "name": "market_id",
536
+ "type": {
537
+ "array": [
538
+ "u8",
539
+ 32
540
+ ]
541
+ }
542
+ }
543
+ ]
544
+ }
545
+ },
546
+ {
547
+ "name": "FeePool",
548
+ "type": {
549
+ "kind": "struct",
550
+ "fields": [
551
+ {
552
+ "name": "admin",
553
+ "type": "pubkey"
554
+ },
555
+ {
556
+ "name": "perp_engine",
557
+ "type": "pubkey"
558
+ },
559
+ {
560
+ "name": "usdc_account",
561
+ "type": "pubkey"
562
+ },
563
+ {
564
+ "name": "staking_reward",
565
+ "type": "pubkey"
566
+ },
567
+ {
568
+ "name": "treasury",
569
+ "type": "pubkey"
570
+ },
571
+ {
572
+ "name": "referral_reserve",
573
+ "type": "pubkey"
574
+ },
575
+ {
576
+ "name": "staker_split_bps",
577
+ "type": "u16"
578
+ },
579
+ {
580
+ "name": "treasury_split_bps",
581
+ "type": "u16"
582
+ },
583
+ {
584
+ "name": "referral_split_bps",
585
+ "type": "u16"
586
+ },
587
+ {
588
+ "name": "total_distributed",
589
+ "type": "u64"
590
+ },
591
+ {
592
+ "name": "bump",
593
+ "type": "u8"
594
+ }
595
+ ]
596
+ }
597
+ },
598
+ {
599
+ "name": "FeePoolAccountsUpdated",
600
+ "type": {
601
+ "kind": "struct",
602
+ "fields": [
603
+ {
604
+ "name": "admin",
605
+ "type": "pubkey"
606
+ },
607
+ {
608
+ "name": "usdc_mint",
609
+ "type": "pubkey"
610
+ },
611
+ {
612
+ "name": "usdc_account",
613
+ "type": "pubkey"
614
+ },
615
+ {
616
+ "name": "staking_reward",
617
+ "type": "pubkey"
618
+ },
619
+ {
620
+ "name": "treasury",
621
+ "type": "pubkey"
622
+ },
623
+ {
624
+ "name": "referral_reserve",
625
+ "type": "pubkey"
626
+ }
627
+ ]
628
+ }
629
+ },
630
+ {
631
+ "name": "FeeSplitUpdated",
632
+ "type": {
633
+ "kind": "struct",
634
+ "fields": [
635
+ {
636
+ "name": "staker_bps",
637
+ "type": "u16"
638
+ },
639
+ {
640
+ "name": "treasury_bps",
641
+ "type": "u16"
642
+ },
643
+ {
644
+ "name": "referral_bps",
645
+ "type": "u16"
646
+ }
647
+ ]
648
+ }
649
+ },
650
+ {
651
+ "name": "FeesDistributed",
652
+ "type": {
653
+ "kind": "struct",
654
+ "fields": [
655
+ {
656
+ "name": "total",
657
+ "type": "u64"
658
+ },
659
+ {
660
+ "name": "staker_share",
661
+ "type": "u64"
662
+ },
663
+ {
664
+ "name": "treasury_share",
665
+ "type": "u64"
666
+ },
667
+ {
668
+ "name": "referral_share",
669
+ "type": "u64"
670
+ }
671
+ ]
672
+ }
673
+ },
674
+ {
675
+ "name": "InitializeFeePoolArgs",
676
+ "type": {
677
+ "kind": "struct",
678
+ "fields": [
679
+ {
680
+ "name": "perp_engine",
681
+ "type": "pubkey"
682
+ },
683
+ {
684
+ "name": "usdc_account",
685
+ "type": "pubkey"
686
+ },
687
+ {
688
+ "name": "staking_reward",
689
+ "type": "pubkey"
690
+ },
691
+ {
692
+ "name": "treasury",
693
+ "type": "pubkey"
694
+ },
695
+ {
696
+ "name": "referral_reserve",
697
+ "type": "pubkey"
698
+ },
699
+ {
700
+ "name": "staker_split_bps",
701
+ "type": "u16"
702
+ },
703
+ {
704
+ "name": "treasury_split_bps",
705
+ "type": "u16"
706
+ },
707
+ {
708
+ "name": "referral_split_bps",
709
+ "type": "u16"
710
+ }
711
+ ]
712
+ }
713
+ },
714
+ {
715
+ "name": "ReferralDisbursed",
716
+ "type": {
717
+ "kind": "struct",
718
+ "fields": [
719
+ {
720
+ "name": "affiliate",
721
+ "type": "pubkey"
722
+ },
723
+ {
724
+ "name": "amount_usdc",
725
+ "type": "u64"
726
+ }
727
+ ]
728
+ }
729
+ },
730
+ {
731
+ "name": "TreasuryWithdrawal",
732
+ "type": {
733
+ "kind": "struct",
734
+ "fields": [
735
+ {
736
+ "name": "amount",
737
+ "type": "u64"
738
+ },
739
+ {
740
+ "name": "destination",
741
+ "type": "pubkey"
742
+ }
743
+ ]
744
+ }
745
+ },
746
+ {
747
+ "name": "UpdateFeeSplitArgs",
748
+ "type": {
749
+ "kind": "struct",
750
+ "fields": [
751
+ {
752
+ "name": "staker_split_bps",
753
+ "type": "u16"
754
+ },
755
+ {
756
+ "name": "treasury_split_bps",
757
+ "type": "u16"
758
+ },
759
+ {
760
+ "name": "referral_split_bps",
761
+ "type": "u16"
762
+ }
763
+ ]
764
+ }
765
+ },
766
+ {
767
+ "name": "WithdrawTreasuryArgs",
768
+ "type": {
769
+ "kind": "struct",
770
+ "fields": [
771
+ {
772
+ "name": "amount",
773
+ "type": "u64"
774
+ }
775
+ ]
776
+ }
777
+ }
778
+ ]
779
+ }