@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,478 @@
1
+ {
2
+ "address": "Dgorf5LPiMttdTxWcrsiA2j94kWKw55gJLRJm8P4E1Hn",
3
+ "metadata": {
4
+ "name": "price_feed",
5
+ "version": "0.1.0",
6
+ "spec": "0.1.0"
7
+ },
8
+ "instructions": [
9
+ {
10
+ "name": "init_feed",
11
+ "discriminator": [
12
+ 203,
13
+ 50,
14
+ 143,
15
+ 146,
16
+ 170,
17
+ 34,
18
+ 46,
19
+ 93
20
+ ],
21
+ "accounts": [
22
+ {
23
+ "name": "feed",
24
+ "writable": true,
25
+ "pda": {
26
+ "seeds": [
27
+ {
28
+ "kind": "const",
29
+ "value": [
30
+ 102,
31
+ 101,
32
+ 101,
33
+ 100
34
+ ]
35
+ },
36
+ {
37
+ "kind": "arg",
38
+ "path": "market_id"
39
+ }
40
+ ]
41
+ }
42
+ },
43
+ {
44
+ "name": "protocol_config",
45
+ "docs": [
46
+ "Program-level protocol authority. `has_one = admin` enforces that the",
47
+ "signer is the registered admin (F-012)."
48
+ ],
49
+ "pda": {
50
+ "seeds": [
51
+ {
52
+ "kind": "const",
53
+ "value": [
54
+ 112,
55
+ 114,
56
+ 111,
57
+ 116,
58
+ 111,
59
+ 99,
60
+ 111,
61
+ 108,
62
+ 95,
63
+ 99,
64
+ 111,
65
+ 110,
66
+ 102,
67
+ 105,
68
+ 103
69
+ ]
70
+ }
71
+ ]
72
+ }
73
+ },
74
+ {
75
+ "name": "admin",
76
+ "writable": true,
77
+ "signer": true,
78
+ "relations": [
79
+ "protocol_config"
80
+ ]
81
+ },
82
+ {
83
+ "name": "system_program",
84
+ "address": "11111111111111111111111111111111"
85
+ }
86
+ ],
87
+ "args": [
88
+ {
89
+ "name": "market_id",
90
+ "type": {
91
+ "array": [
92
+ "u8",
93
+ 32
94
+ ]
95
+ }
96
+ }
97
+ ]
98
+ },
99
+ {
100
+ "name": "initialize_protocol_config",
101
+ "discriminator": [
102
+ 28,
103
+ 50,
104
+ 43,
105
+ 233,
106
+ 244,
107
+ 98,
108
+ 123,
109
+ 118
110
+ ],
111
+ "accounts": [
112
+ {
113
+ "name": "protocol_config",
114
+ "writable": true,
115
+ "pda": {
116
+ "seeds": [
117
+ {
118
+ "kind": "const",
119
+ "value": [
120
+ 112,
121
+ 114,
122
+ 111,
123
+ 116,
124
+ 111,
125
+ 99,
126
+ 111,
127
+ 108,
128
+ 95,
129
+ 99,
130
+ 111,
131
+ 110,
132
+ 102,
133
+ 105,
134
+ 103
135
+ ]
136
+ }
137
+ ]
138
+ }
139
+ },
140
+ {
141
+ "name": "admin",
142
+ "writable": true,
143
+ "signer": true
144
+ },
145
+ {
146
+ "name": "system_program",
147
+ "address": "11111111111111111111111111111111"
148
+ }
149
+ ],
150
+ "args": []
151
+ },
152
+ {
153
+ "name": "set_admin",
154
+ "docs": [
155
+ "Rotate the per-feed admin pubkey. Signed by the current admin.",
156
+ "Spec: docs/superpowers/specs/2026-05-20-sre-signer-separation.md."
157
+ ],
158
+ "discriminator": [
159
+ 251,
160
+ 163,
161
+ 0,
162
+ 52,
163
+ 91,
164
+ 194,
165
+ 187,
166
+ 92
167
+ ],
168
+ "accounts": [
169
+ {
170
+ "name": "feed",
171
+ "writable": true,
172
+ "pda": {
173
+ "seeds": [
174
+ {
175
+ "kind": "const",
176
+ "value": [
177
+ 102,
178
+ 101,
179
+ 101,
180
+ 100
181
+ ]
182
+ },
183
+ {
184
+ "kind": "account",
185
+ "path": "feed.market_id",
186
+ "account": "PriceFeed"
187
+ }
188
+ ]
189
+ }
190
+ },
191
+ {
192
+ "name": "current_admin",
193
+ "signer": true
194
+ }
195
+ ],
196
+ "args": [
197
+ {
198
+ "name": "new_admin",
199
+ "type": "pubkey"
200
+ }
201
+ ]
202
+ },
203
+ {
204
+ "name": "update_feed_config",
205
+ "discriminator": [
206
+ 149,
207
+ 249,
208
+ 44,
209
+ 150,
210
+ 153,
211
+ 10,
212
+ 139,
213
+ 162
214
+ ],
215
+ "accounts": [
216
+ {
217
+ "name": "feed",
218
+ "writable": true,
219
+ "pda": {
220
+ "seeds": [
221
+ {
222
+ "kind": "const",
223
+ "value": [
224
+ 102,
225
+ 101,
226
+ 101,
227
+ 100
228
+ ]
229
+ },
230
+ {
231
+ "kind": "account",
232
+ "path": "feed.market_id",
233
+ "account": "PriceFeed"
234
+ }
235
+ ]
236
+ }
237
+ },
238
+ {
239
+ "name": "admin",
240
+ "signer": true
241
+ }
242
+ ],
243
+ "args": [
244
+ {
245
+ "name": "max_deviation_bps",
246
+ "type": "u16"
247
+ }
248
+ ]
249
+ },
250
+ {
251
+ "name": "update_price",
252
+ "discriminator": [
253
+ 61,
254
+ 34,
255
+ 117,
256
+ 155,
257
+ 75,
258
+ 34,
259
+ 123,
260
+ 208
261
+ ],
262
+ "accounts": [
263
+ {
264
+ "name": "feed",
265
+ "writable": true,
266
+ "pda": {
267
+ "seeds": [
268
+ {
269
+ "kind": "const",
270
+ "value": [
271
+ 102,
272
+ 101,
273
+ 101,
274
+ 100
275
+ ]
276
+ },
277
+ {
278
+ "kind": "account",
279
+ "path": "feed.market_id",
280
+ "account": "PriceFeed"
281
+ }
282
+ ]
283
+ }
284
+ },
285
+ {
286
+ "name": "admin",
287
+ "signer": true
288
+ }
289
+ ],
290
+ "args": [
291
+ {
292
+ "name": "mantissa",
293
+ "type": "i128"
294
+ },
295
+ {
296
+ "name": "scale",
297
+ "type": "u32"
298
+ },
299
+ {
300
+ "name": "timestamp",
301
+ "type": "i64"
302
+ }
303
+ ]
304
+ }
305
+ ],
306
+ "accounts": [
307
+ {
308
+ "name": "PriceFeed",
309
+ "discriminator": [
310
+ 189,
311
+ 103,
312
+ 252,
313
+ 23,
314
+ 152,
315
+ 35,
316
+ 243,
317
+ 156
318
+ ]
319
+ },
320
+ {
321
+ "name": "ProtocolConfig",
322
+ "discriminator": [
323
+ 207,
324
+ 91,
325
+ 250,
326
+ 28,
327
+ 152,
328
+ 179,
329
+ 215,
330
+ 209
331
+ ]
332
+ }
333
+ ],
334
+ "events": [
335
+ {
336
+ "name": "PriceUpdated",
337
+ "discriminator": [
338
+ 154,
339
+ 72,
340
+ 87,
341
+ 150,
342
+ 246,
343
+ 230,
344
+ 23,
345
+ 217
346
+ ]
347
+ }
348
+ ],
349
+ "errors": [
350
+ {
351
+ "code": 6000,
352
+ "name": "Unauthorized",
353
+ "msg": "Signer is not the feed admin"
354
+ },
355
+ {
356
+ "code": 6001,
357
+ "name": "ReplayRejected",
358
+ "msg": "Timestamp must be strictly greater than the current feed timestamp"
359
+ },
360
+ {
361
+ "code": 6002,
362
+ "name": "PriceDeviationTooLarge",
363
+ "msg": "Price deviation exceeds maximum allowed"
364
+ },
365
+ {
366
+ "code": 6003,
367
+ "name": "InvalidPrice",
368
+ "msg": "Price mantissa must be positive"
369
+ },
370
+ {
371
+ "code": 6004,
372
+ "name": "InvalidScale",
373
+ "msg": "Price scale must be 2"
374
+ }
375
+ ],
376
+ "types": [
377
+ {
378
+ "name": "PriceFeed",
379
+ "type": {
380
+ "kind": "struct",
381
+ "fields": [
382
+ {
383
+ "name": "admin",
384
+ "docs": [
385
+ "Authorized signer for update_price. At account byte offset 8 (after discriminator)."
386
+ ],
387
+ "type": "pubkey"
388
+ },
389
+ {
390
+ "name": "market_id",
391
+ "docs": [
392
+ "Identifies this feed; used in PDA seeds. Account byte offset 40..72."
393
+ ],
394
+ "type": {
395
+ "array": [
396
+ "u8",
397
+ 32
398
+ ]
399
+ }
400
+ },
401
+ {
402
+ "name": "bump",
403
+ "docs": [
404
+ "PDA bump. Account byte offset 72."
405
+ ],
406
+ "type": "u8"
407
+ }
408
+ ]
409
+ }
410
+ },
411
+ {
412
+ "name": "PriceUpdated",
413
+ "docs": [
414
+ "Emitted at the end of `update_price` after the raw byte writes are committed.",
415
+ "Consumed by the keeper's event-driven liquidation trigger (spec",
416
+ "`docs/superpowers/specs/2026-05-20-keeper-event-trigger-design.md`).",
417
+ "Scale is always 2 (enforced above via `require!(scale == 2)`), so consumers",
418
+ "can treat `mantissa` as a scale-2 fixed-point price."
419
+ ],
420
+ "type": {
421
+ "kind": "struct",
422
+ "fields": [
423
+ {
424
+ "name": "market_id",
425
+ "type": {
426
+ "array": [
427
+ "u8",
428
+ 32
429
+ ]
430
+ }
431
+ },
432
+ {
433
+ "name": "mantissa",
434
+ "type": "i128"
435
+ },
436
+ {
437
+ "name": "scale",
438
+ "type": "u32"
439
+ },
440
+ {
441
+ "name": "timestamp",
442
+ "type": "i64"
443
+ }
444
+ ]
445
+ }
446
+ },
447
+ {
448
+ "name": "ProtocolConfig",
449
+ "docs": [
450
+ "Per-program protocol authority. PDA at seeds = [b\"protocol_config\"].",
451
+ "Holds the admin pubkey gating privileged init (init_feed).",
452
+ "Single-key, no two-step handover."
453
+ ],
454
+ "type": {
455
+ "kind": "struct",
456
+ "fields": [
457
+ {
458
+ "name": "admin",
459
+ "type": "pubkey"
460
+ },
461
+ {
462
+ "name": "bump",
463
+ "type": "u8"
464
+ },
465
+ {
466
+ "name": "_reserved",
467
+ "type": {
468
+ "array": [
469
+ "u8",
470
+ 31
471
+ ]
472
+ }
473
+ }
474
+ ]
475
+ }
476
+ }
477
+ ]
478
+ }