@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,767 @@
1
+ {
2
+ "address": "6fsnWa9tcKcPiuQgdUbTMsiwUr43MNoxa1FECPFrvSpd",
3
+ "metadata": {
4
+ "name": "oracle_adapter",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0"
7
+ },
8
+ "instructions": [
9
+ {
10
+ "name": "initialize_oracle_config",
11
+ "discriminator": [
12
+ 131,
13
+ 55,
14
+ 232,
15
+ 105,
16
+ 168,
17
+ 248,
18
+ 10,
19
+ 102
20
+ ],
21
+ "accounts": [
22
+ {
23
+ "name": "oracle_config",
24
+ "writable": true,
25
+ "pda": {
26
+ "seeds": [
27
+ {
28
+ "kind": "const",
29
+ "value": [
30
+ 111,
31
+ 114,
32
+ 97,
33
+ 99,
34
+ 108,
35
+ 101,
36
+ 95,
37
+ 99,
38
+ 111,
39
+ 110,
40
+ 102,
41
+ 105,
42
+ 103
43
+ ]
44
+ }
45
+ ]
46
+ }
47
+ },
48
+ {
49
+ "name": "admin",
50
+ "writable": true,
51
+ "signer": true
52
+ },
53
+ {
54
+ "name": "system_program",
55
+ "address": "11111111111111111111111111111111"
56
+ }
57
+ ],
58
+ "args": []
59
+ },
60
+ {
61
+ "name": "migrate_market_oracle_v2",
62
+ "discriminator": [
63
+ 48,
64
+ 200,
65
+ 212,
66
+ 123,
67
+ 169,
68
+ 104,
69
+ 129,
70
+ 183
71
+ ],
72
+ "accounts": [
73
+ {
74
+ "name": "market_oracle",
75
+ "writable": true,
76
+ "pda": {
77
+ "seeds": [
78
+ {
79
+ "kind": "const",
80
+ "value": [
81
+ 111,
82
+ 114,
83
+ 97,
84
+ 99,
85
+ 108,
86
+ 101
87
+ ]
88
+ },
89
+ {
90
+ "kind": "arg",
91
+ "path": "market_id"
92
+ }
93
+ ]
94
+ }
95
+ },
96
+ {
97
+ "name": "admin",
98
+ "writable": true,
99
+ "signer": true
100
+ },
101
+ {
102
+ "name": "system_program",
103
+ "address": "11111111111111111111111111111111"
104
+ }
105
+ ],
106
+ "args": [
107
+ {
108
+ "name": "market_id",
109
+ "type": {
110
+ "array": [
111
+ "u8",
112
+ 32
113
+ ]
114
+ }
115
+ }
116
+ ]
117
+ },
118
+ {
119
+ "name": "register_market_oracle",
120
+ "discriminator": [
121
+ 38,
122
+ 205,
123
+ 145,
124
+ 143,
125
+ 23,
126
+ 230,
127
+ 50,
128
+ 115
129
+ ],
130
+ "accounts": [
131
+ {
132
+ "name": "market_oracle",
133
+ "writable": true
134
+ },
135
+ {
136
+ "name": "admin",
137
+ "writable": true,
138
+ "signer": true,
139
+ "relations": [
140
+ "oracle_config"
141
+ ]
142
+ },
143
+ {
144
+ "name": "system_program",
145
+ "address": "11111111111111111111111111111111"
146
+ },
147
+ {
148
+ "name": "oracle_config"
149
+ }
150
+ ],
151
+ "args": [
152
+ {
153
+ "name": "args",
154
+ "type": {
155
+ "defined": {
156
+ "name": "RegisterMarketOracleArgs"
157
+ }
158
+ }
159
+ }
160
+ ]
161
+ },
162
+ {
163
+ "name": "set_dual_test_bytes",
164
+ "discriminator": [
165
+ 48,
166
+ 76,
167
+ 168,
168
+ 213,
169
+ 185,
170
+ 68,
171
+ 66,
172
+ 139
173
+ ],
174
+ "accounts": [
175
+ {
176
+ "name": "target_account",
177
+ "writable": true
178
+ },
179
+ {
180
+ "name": "admin",
181
+ "signer": true
182
+ }
183
+ ],
184
+ "args": [
185
+ {
186
+ "name": "args",
187
+ "type": {
188
+ "defined": {
189
+ "name": "SetDualTestBytesArgs"
190
+ }
191
+ }
192
+ }
193
+ ]
194
+ },
195
+ {
196
+ "name": "set_test_price",
197
+ "discriminator": [
198
+ 132,
199
+ 240,
200
+ 240,
201
+ 176,
202
+ 155,
203
+ 122,
204
+ 8,
205
+ 176
206
+ ],
207
+ "accounts": [
208
+ {
209
+ "name": "market_oracle"
210
+ },
211
+ {
212
+ "name": "test_price_feed",
213
+ "writable": true,
214
+ "pda": {
215
+ "seeds": [
216
+ {
217
+ "kind": "const",
218
+ "value": [
219
+ 116,
220
+ 101,
221
+ 115,
222
+ 116,
223
+ 95,
224
+ 112,
225
+ 114,
226
+ 105,
227
+ 99,
228
+ 101
229
+ ]
230
+ },
231
+ {
232
+ "kind": "account",
233
+ "path": "market_oracle.market_id",
234
+ "account": "MarketOracle"
235
+ }
236
+ ]
237
+ }
238
+ },
239
+ {
240
+ "name": "admin",
241
+ "writable": true,
242
+ "signer": true,
243
+ "relations": [
244
+ "market_oracle"
245
+ ]
246
+ },
247
+ {
248
+ "name": "system_program",
249
+ "address": "11111111111111111111111111111111"
250
+ }
251
+ ],
252
+ "args": [
253
+ {
254
+ "name": "price",
255
+ "type": "u64"
256
+ },
257
+ {
258
+ "name": "confidence",
259
+ "type": "u64"
260
+ },
261
+ {
262
+ "name": "timestamp",
263
+ "type": "i64"
264
+ }
265
+ ]
266
+ },
267
+ {
268
+ "name": "update_market_oracle_feeds",
269
+ "discriminator": [
270
+ 0,
271
+ 185,
272
+ 113,
273
+ 123,
274
+ 194,
275
+ 47,
276
+ 50,
277
+ 205
278
+ ],
279
+ "accounts": [
280
+ {
281
+ "name": "market_oracle",
282
+ "writable": true
283
+ },
284
+ {
285
+ "name": "admin",
286
+ "signer": true,
287
+ "relations": [
288
+ "market_oracle"
289
+ ]
290
+ }
291
+ ],
292
+ "args": [
293
+ {
294
+ "name": "args",
295
+ "type": {
296
+ "defined": {
297
+ "name": "UpdateMarketOracleFeedsArgs"
298
+ }
299
+ }
300
+ }
301
+ ]
302
+ },
303
+ {
304
+ "name": "update_oracle_config",
305
+ "discriminator": [
306
+ 83,
307
+ 16,
308
+ 11,
309
+ 254,
310
+ 57,
311
+ 99,
312
+ 156,
313
+ 58
314
+ ],
315
+ "accounts": [
316
+ {
317
+ "name": "market_oracle",
318
+ "writable": true
319
+ },
320
+ {
321
+ "name": "admin",
322
+ "signer": true,
323
+ "relations": [
324
+ "market_oracle"
325
+ ]
326
+ }
327
+ ],
328
+ "args": [
329
+ {
330
+ "name": "args",
331
+ "type": {
332
+ "defined": {
333
+ "name": "UpdateOracleConfigArgs"
334
+ }
335
+ }
336
+ }
337
+ ]
338
+ },
339
+ {
340
+ "name": "validate_and_read_price",
341
+ "discriminator": [
342
+ 178,
343
+ 205,
344
+ 56,
345
+ 79,
346
+ 30,
347
+ 142,
348
+ 85,
349
+ 255
350
+ ],
351
+ "accounts": [
352
+ {
353
+ "name": "market_oracle"
354
+ },
355
+ {
356
+ "name": "primary_feed"
357
+ },
358
+ {
359
+ "name": "secondary_feed"
360
+ }
361
+ ],
362
+ "args": []
363
+ }
364
+ ],
365
+ "accounts": [
366
+ {
367
+ "name": "MarketOracle",
368
+ "discriminator": [
369
+ 93,
370
+ 61,
371
+ 163,
372
+ 40,
373
+ 122,
374
+ 52,
375
+ 19,
376
+ 1
377
+ ]
378
+ },
379
+ {
380
+ "name": "OracleConfig",
381
+ "discriminator": [
382
+ 133,
383
+ 196,
384
+ 152,
385
+ 50,
386
+ 27,
387
+ 21,
388
+ 145,
389
+ 254
390
+ ]
391
+ },
392
+ {
393
+ "name": "TestPriceFeed",
394
+ "discriminator": [
395
+ 135,
396
+ 101,
397
+ 188,
398
+ 52,
399
+ 250,
400
+ 215,
401
+ 124,
402
+ 86
403
+ ]
404
+ }
405
+ ],
406
+ "events": [
407
+ {
408
+ "name": "OraclePriceRead",
409
+ "discriminator": [
410
+ 103,
411
+ 112,
412
+ 1,
413
+ 18,
414
+ 62,
415
+ 61,
416
+ 109,
417
+ 85
418
+ ]
419
+ }
420
+ ],
421
+ "errors": [
422
+ {
423
+ "code": 6000,
424
+ "name": "PriceStale",
425
+ "msg": "Price feed is stale"
426
+ },
427
+ {
428
+ "code": 6001,
429
+ "name": "PriceUncertain",
430
+ "msg": "Price confidence interval too wide"
431
+ },
432
+ {
433
+ "code": 6002,
434
+ "name": "FeedMismatch",
435
+ "msg": "Feed account does not match registered address"
436
+ },
437
+ {
438
+ "code": 6003,
439
+ "name": "Unauthorized",
440
+ "msg": "Unauthorized"
441
+ },
442
+ {
443
+ "code": 6004,
444
+ "name": "MathOverflow",
445
+ "msg": "Math overflow in price normalization"
446
+ },
447
+ {
448
+ "code": 6005,
449
+ "name": "InvalidAccountData",
450
+ "msg": "Account data has wrong size or layout (not V1, not V2, or otherwise unexpected)"
451
+ },
452
+ {
453
+ "code": 6006,
454
+ "name": "TestModeNotEnabled",
455
+ "msg": "test-mode feature not compiled in"
456
+ }
457
+ ],
458
+ "types": [
459
+ {
460
+ "name": "MarketOracle",
461
+ "type": {
462
+ "kind": "struct",
463
+ "fields": [
464
+ {
465
+ "name": "market_id",
466
+ "type": {
467
+ "array": [
468
+ "u8",
469
+ 32
470
+ ]
471
+ }
472
+ },
473
+ {
474
+ "name": "admin",
475
+ "type": "pubkey"
476
+ },
477
+ {
478
+ "name": "bump",
479
+ "type": "u8"
480
+ },
481
+ {
482
+ "name": "primary_oracle_type",
483
+ "type": {
484
+ "defined": {
485
+ "name": "OracleType"
486
+ }
487
+ }
488
+ },
489
+ {
490
+ "name": "primary_feed_account",
491
+ "type": "pubkey"
492
+ },
493
+ {
494
+ "name": "primary_max_staleness_secs",
495
+ "type": "u64"
496
+ },
497
+ {
498
+ "name": "secondary_oracle_type",
499
+ "type": {
500
+ "defined": {
501
+ "name": "OracleType"
502
+ }
503
+ }
504
+ },
505
+ {
506
+ "name": "secondary_feed_account",
507
+ "type": "pubkey"
508
+ },
509
+ {
510
+ "name": "secondary_max_staleness_secs",
511
+ "type": "u64"
512
+ },
513
+ {
514
+ "name": "max_confidence_pct",
515
+ "type": "u16"
516
+ },
517
+ {
518
+ "name": "price_decimals",
519
+ "type": "u8"
520
+ }
521
+ ]
522
+ }
523
+ },
524
+ {
525
+ "name": "OracleConfig",
526
+ "type": {
527
+ "kind": "struct",
528
+ "fields": [
529
+ {
530
+ "name": "admin",
531
+ "type": "pubkey"
532
+ },
533
+ {
534
+ "name": "bump",
535
+ "type": "u8"
536
+ }
537
+ ]
538
+ }
539
+ },
540
+ {
541
+ "name": "OraclePriceRead",
542
+ "type": {
543
+ "kind": "struct",
544
+ "fields": [
545
+ {
546
+ "name": "market_id",
547
+ "type": {
548
+ "array": [
549
+ "u8",
550
+ 32
551
+ ]
552
+ }
553
+ },
554
+ {
555
+ "name": "price",
556
+ "type": "u64"
557
+ },
558
+ {
559
+ "name": "confidence",
560
+ "type": "u64"
561
+ },
562
+ {
563
+ "name": "timestamp",
564
+ "type": "i64"
565
+ },
566
+ {
567
+ "name": "source",
568
+ "type": "u8"
569
+ }
570
+ ]
571
+ }
572
+ },
573
+ {
574
+ "name": "OracleType",
575
+ "repr": {
576
+ "kind": "rust"
577
+ },
578
+ "type": {
579
+ "kind": "enum",
580
+ "variants": [
581
+ {
582
+ "name": "Pyth"
583
+ },
584
+ {
585
+ "name": "Switchboard"
586
+ }
587
+ ]
588
+ }
589
+ },
590
+ {
591
+ "name": "RegisterMarketOracleArgs",
592
+ "type": {
593
+ "kind": "struct",
594
+ "fields": [
595
+ {
596
+ "name": "market_id",
597
+ "type": {
598
+ "array": [
599
+ "u8",
600
+ 32
601
+ ]
602
+ }
603
+ },
604
+ {
605
+ "name": "primary_oracle_type",
606
+ "type": {
607
+ "defined": {
608
+ "name": "OracleType"
609
+ }
610
+ }
611
+ },
612
+ {
613
+ "name": "primary_feed_account",
614
+ "type": "pubkey"
615
+ },
616
+ {
617
+ "name": "primary_max_staleness_secs",
618
+ "type": "u64"
619
+ },
620
+ {
621
+ "name": "max_confidence_pct",
622
+ "type": "u16"
623
+ },
624
+ {
625
+ "name": "price_decimals",
626
+ "type": "u8"
627
+ }
628
+ ]
629
+ }
630
+ },
631
+ {
632
+ "name": "SetDualTestBytesArgs",
633
+ "type": {
634
+ "kind": "struct",
635
+ "fields": [
636
+ {
637
+ "name": "kind",
638
+ "type": {
639
+ "defined": {
640
+ "name": "TestFeedKind"
641
+ }
642
+ }
643
+ },
644
+ {
645
+ "name": "price",
646
+ "type": "i64"
647
+ },
648
+ {
649
+ "name": "conf",
650
+ "type": "u64"
651
+ },
652
+ {
653
+ "name": "exponent",
654
+ "type": "i32"
655
+ },
656
+ {
657
+ "name": "publish_time",
658
+ "type": "i64"
659
+ }
660
+ ]
661
+ }
662
+ },
663
+ {
664
+ "name": "TestFeedKind",
665
+ "type": {
666
+ "kind": "enum",
667
+ "variants": [
668
+ {
669
+ "name": "Pyth"
670
+ },
671
+ {
672
+ "name": "Switchboard"
673
+ }
674
+ ]
675
+ }
676
+ },
677
+ {
678
+ "name": "TestPriceFeed",
679
+ "type": {
680
+ "kind": "struct",
681
+ "fields": [
682
+ {
683
+ "name": "market_id",
684
+ "type": {
685
+ "array": [
686
+ "u8",
687
+ 32
688
+ ]
689
+ }
690
+ },
691
+ {
692
+ "name": "price",
693
+ "type": "u64"
694
+ },
695
+ {
696
+ "name": "confidence",
697
+ "type": "u64"
698
+ },
699
+ {
700
+ "name": "timestamp",
701
+ "type": "i64"
702
+ },
703
+ {
704
+ "name": "bump",
705
+ "type": "u8"
706
+ }
707
+ ]
708
+ }
709
+ },
710
+ {
711
+ "name": "UpdateMarketOracleFeedsArgs",
712
+ "type": {
713
+ "kind": "struct",
714
+ "fields": [
715
+ {
716
+ "name": "primary_oracle_type",
717
+ "type": {
718
+ "defined": {
719
+ "name": "OracleType"
720
+ }
721
+ }
722
+ },
723
+ {
724
+ "name": "primary_feed_account",
725
+ "type": "pubkey"
726
+ },
727
+ {
728
+ "name": "primary_max_staleness_secs",
729
+ "type": "u64"
730
+ },
731
+ {
732
+ "name": "secondary_oracle_type",
733
+ "type": {
734
+ "defined": {
735
+ "name": "OracleType"
736
+ }
737
+ }
738
+ },
739
+ {
740
+ "name": "secondary_feed_account",
741
+ "type": "pubkey"
742
+ },
743
+ {
744
+ "name": "secondary_max_staleness_secs",
745
+ "type": "u64"
746
+ }
747
+ ]
748
+ }
749
+ },
750
+ {
751
+ "name": "UpdateOracleConfigArgs",
752
+ "type": {
753
+ "kind": "struct",
754
+ "fields": [
755
+ {
756
+ "name": "max_staleness_secs",
757
+ "type": "u64"
758
+ },
759
+ {
760
+ "name": "max_confidence_pct",
761
+ "type": "u16"
762
+ }
763
+ ]
764
+ }
765
+ }
766
+ ]
767
+ }