@lightconexyz/lightcone-sdk 0.5.2 → 0.7.1

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 (228) hide show
  1. package/README.md +39 -5
  2. package/dist/auth/client.d.ts.map +1 -1
  3. package/dist/auth/client.js +2 -0
  4. package/dist/auth/client.js.map +1 -1
  5. package/dist/auth/index.d.ts +15 -0
  6. package/dist/auth/index.d.ts.map +1 -1
  7. package/dist/auth/index.js +10 -1
  8. package/dist/auth/index.js.map +1 -1
  9. package/dist/client.d.ts +43 -4
  10. package/dist/client.d.ts.map +1 -1
  11. package/dist/client.js +70 -9
  12. package/dist/client.js.map +1 -1
  13. package/dist/context.d.ts +7 -1
  14. package/dist/context.d.ts.map +1 -1
  15. package/dist/context.js +60 -6
  16. package/dist/context.js.map +1 -1
  17. package/dist/domain/admin/client.d.ts +21 -2
  18. package/dist/domain/admin/client.d.ts.map +1 -1
  19. package/dist/domain/admin/client.js +90 -4
  20. package/dist/domain/admin/client.js.map +1 -1
  21. package/dist/domain/admin/wire.d.ts +292 -7
  22. package/dist/domain/admin/wire.d.ts.map +1 -1
  23. package/dist/domain/admin/wire.js.map +1 -1
  24. package/dist/domain/faucet.d.ts +25 -0
  25. package/dist/domain/faucet.d.ts.map +1 -0
  26. package/dist/domain/faucet.js +3 -0
  27. package/dist/domain/faucet.js.map +1 -0
  28. package/dist/domain/index.d.ts +2 -0
  29. package/dist/domain/index.d.ts.map +1 -1
  30. package/dist/domain/index.js +3 -1
  31. package/dist/domain/index.js.map +1 -1
  32. package/dist/domain/market/client.d.ts +23 -2
  33. package/dist/domain/market/client.d.ts.map +1 -1
  34. package/dist/domain/market/client.js +31 -1
  35. package/dist/domain/market/client.js.map +1 -1
  36. package/dist/domain/market/convert.d.ts +10 -0
  37. package/dist/domain/market/convert.d.ts.map +1 -1
  38. package/dist/domain/market/convert.js +44 -5
  39. package/dist/domain/market/convert.js.map +1 -1
  40. package/dist/domain/market/icon.d.ts +17 -0
  41. package/dist/domain/market/icon.d.ts.map +1 -0
  42. package/dist/domain/market/icon.js +25 -0
  43. package/dist/domain/market/icon.js.map +1 -0
  44. package/dist/domain/market/index.d.ts +21 -5
  45. package/dist/domain/market/index.d.ts.map +1 -1
  46. package/dist/domain/market/index.js +15 -1
  47. package/dist/domain/market/index.js.map +1 -1
  48. package/dist/domain/market/outcome.d.ts +4 -1
  49. package/dist/domain/market/outcome.d.ts.map +1 -1
  50. package/dist/domain/market/outcome.js +8 -7
  51. package/dist/domain/market/outcome.js.map +1 -1
  52. package/dist/domain/market/tokens.d.ts +55 -3
  53. package/dist/domain/market/tokens.d.ts.map +1 -1
  54. package/dist/domain/market/tokens.js +105 -9
  55. package/dist/domain/market/tokens.js.map +1 -1
  56. package/dist/domain/market/wire.d.ts +69 -10
  57. package/dist/domain/market/wire.d.ts.map +1 -1
  58. package/dist/domain/market/wire.js +5 -0
  59. package/dist/domain/market/wire.js.map +1 -1
  60. package/dist/domain/metrics/client.d.ts +66 -0
  61. package/dist/domain/metrics/client.d.ts.map +1 -0
  62. package/dist/domain/metrics/client.js +124 -0
  63. package/dist/domain/metrics/client.js.map +1 -0
  64. package/dist/domain/metrics/index.d.ts +3 -0
  65. package/dist/domain/metrics/index.d.ts.map +1 -0
  66. package/dist/domain/metrics/index.js +19 -0
  67. package/dist/domain/metrics/index.js.map +1 -0
  68. package/dist/domain/metrics/wire.d.ts +346 -0
  69. package/dist/domain/metrics/wire.d.ts.map +1 -0
  70. package/dist/domain/metrics/wire.js +3 -0
  71. package/dist/domain/metrics/wire.js.map +1 -0
  72. package/dist/domain/notification/client.d.ts +6 -0
  73. package/dist/domain/notification/client.d.ts.map +1 -1
  74. package/dist/domain/notification/client.js +10 -0
  75. package/dist/domain/notification/client.js.map +1 -1
  76. package/dist/domain/notification/index.d.ts +6 -2
  77. package/dist/domain/notification/index.d.ts.map +1 -1
  78. package/dist/domain/notification/index.js.map +1 -1
  79. package/dist/domain/order/client.d.ts +34 -6
  80. package/dist/domain/order/client.d.ts.map +1 -1
  81. package/dist/domain/order/client.js +88 -21
  82. package/dist/domain/order/client.js.map +1 -1
  83. package/dist/domain/order/convert.d.ts +5 -5
  84. package/dist/domain/order/convert.d.ts.map +1 -1
  85. package/dist/domain/order/convert.js +3 -3
  86. package/dist/domain/order/convert.js.map +1 -1
  87. package/dist/domain/order/index.d.ts +3 -2
  88. package/dist/domain/order/index.d.ts.map +1 -1
  89. package/dist/domain/order/index.js +11 -3
  90. package/dist/domain/order/index.js.map +1 -1
  91. package/dist/domain/order/state.d.ts +9 -7
  92. package/dist/domain/order/state.d.ts.map +1 -1
  93. package/dist/domain/order/state.js +81 -28
  94. package/dist/domain/order/state.js.map +1 -1
  95. package/dist/domain/orderbook/client.d.ts +6 -2
  96. package/dist/domain/orderbook/client.d.ts.map +1 -1
  97. package/dist/domain/orderbook/client.js +17 -0
  98. package/dist/domain/orderbook/client.js.map +1 -1
  99. package/dist/domain/orderbook/index.d.ts +1 -1
  100. package/dist/domain/orderbook/index.d.ts.map +1 -1
  101. package/dist/domain/orderbook/index.js +3 -8
  102. package/dist/domain/orderbook/index.js.map +1 -1
  103. package/dist/domain/orderbook/state.d.ts +30 -7
  104. package/dist/domain/orderbook/state.d.ts.map +1 -1
  105. package/dist/domain/orderbook/state.js +41 -12
  106. package/dist/domain/orderbook/state.js.map +1 -1
  107. package/dist/domain/position/builders.d.ts +11 -8
  108. package/dist/domain/position/builders.d.ts.map +1 -1
  109. package/dist/domain/position/builders.js +31 -25
  110. package/dist/domain/position/builders.js.map +1 -1
  111. package/dist/domain/position/client.d.ts +66 -5
  112. package/dist/domain/position/client.d.ts.map +1 -1
  113. package/dist/domain/position/client.js +101 -9
  114. package/dist/domain/position/client.js.map +1 -1
  115. package/dist/domain/position/index.d.ts +3 -2
  116. package/dist/domain/position/index.d.ts.map +1 -1
  117. package/dist/domain/position/index.js.map +1 -1
  118. package/dist/domain/price_history/client.d.ts +12 -1
  119. package/dist/domain/price_history/client.d.ts.map +1 -1
  120. package/dist/domain/price_history/client.js +14 -0
  121. package/dist/domain/price_history/client.js.map +1 -1
  122. package/dist/domain/price_history/wire.d.ts +27 -0
  123. package/dist/domain/price_history/wire.d.ts.map +1 -1
  124. package/dist/domain/price_history/wire.js.map +1 -1
  125. package/dist/domain/referral/client.d.ts +6 -0
  126. package/dist/domain/referral/client.d.ts.map +1 -1
  127. package/dist/domain/referral/client.js +22 -9
  128. package/dist/domain/referral/client.js.map +1 -1
  129. package/dist/domain/trade/client.d.ts +1 -0
  130. package/dist/domain/trade/client.d.ts.map +1 -1
  131. package/dist/domain/trade/client.js +14 -0
  132. package/dist/domain/trade/client.js.map +1 -1
  133. package/dist/domain/trade/wire.d.ts +6 -0
  134. package/dist/domain/trade/wire.d.ts.map +1 -1
  135. package/dist/domain/trade/wire.js.map +1 -1
  136. package/dist/env.d.ts +6 -1
  137. package/dist/env.d.ts.map +1 -1
  138. package/dist/env.js +19 -9
  139. package/dist/env.js.map +1 -1
  140. package/dist/http/client.d.ts +9 -0
  141. package/dist/http/client.d.ts.map +1 -1
  142. package/dist/http/client.js +29 -11
  143. package/dist/http/client.js.map +1 -1
  144. package/dist/index.d.ts +2 -2
  145. package/dist/index.d.ts.map +1 -1
  146. package/dist/index.js.map +1 -1
  147. package/dist/prelude.d.ts +16 -7
  148. package/dist/prelude.d.ts.map +1 -1
  149. package/dist/prelude.js +10 -7
  150. package/dist/prelude.js.map +1 -1
  151. package/dist/privy/index.d.ts +1 -1
  152. package/dist/privy/index.js.map +1 -1
  153. package/dist/program/accounts.d.ts +12 -7
  154. package/dist/program/accounts.d.ts.map +1 -1
  155. package/dist/program/accounts.js +38 -16
  156. package/dist/program/accounts.js.map +1 -1
  157. package/dist/program/builder.d.ts +0 -4
  158. package/dist/program/builder.d.ts.map +1 -1
  159. package/dist/program/builder.js +0 -8
  160. package/dist/program/builder.js.map +1 -1
  161. package/dist/program/constants.d.ts +20 -7
  162. package/dist/program/constants.d.ts.map +1 -1
  163. package/dist/program/constants.js +21 -8
  164. package/dist/program/constants.js.map +1 -1
  165. package/dist/program/error.d.ts +25 -1
  166. package/dist/program/error.d.ts.map +1 -1
  167. package/dist/program/error.js +72 -0
  168. package/dist/program/error.js.map +1 -1
  169. package/dist/program/index.d.ts +7 -7
  170. package/dist/program/index.d.ts.map +1 -1
  171. package/dist/program/index.js +36 -9
  172. package/dist/program/index.js.map +1 -1
  173. package/dist/program/instructions.d.ts +184 -71
  174. package/dist/program/instructions.d.ts.map +1 -1
  175. package/dist/program/instructions.js +573 -140
  176. package/dist/program/instructions.js.map +1 -1
  177. package/dist/program/orders.js +2 -2
  178. package/dist/program/orders.js.map +1 -1
  179. package/dist/program/pda.d.ts +21 -3
  180. package/dist/program/pda.d.ts.map +1 -1
  181. package/dist/program/pda.js +43 -6
  182. package/dist/program/pda.js.map +1 -1
  183. package/dist/program/types.d.ts +139 -21
  184. package/dist/program/types.d.ts.map +1 -1
  185. package/dist/program/types.js.map +1 -1
  186. package/dist/program/utils.d.ts +31 -2
  187. package/dist/program/utils.d.ts.map +1 -1
  188. package/dist/program/utils.js +132 -5
  189. package/dist/program/utils.js.map +1 -1
  190. package/dist/rpc.d.ts +6 -1
  191. package/dist/rpc.d.ts.map +1 -1
  192. package/dist/rpc.js +9 -7
  193. package/dist/rpc.js.map +1 -1
  194. package/dist/rpcFailover.d.ts +22 -0
  195. package/dist/rpcFailover.d.ts.map +1 -0
  196. package/dist/rpcFailover.js +71 -0
  197. package/dist/rpcFailover.js.map +1 -0
  198. package/dist/shared/fmt/constants.d.ts +5 -0
  199. package/dist/shared/fmt/constants.d.ts.map +1 -0
  200. package/dist/shared/fmt/constants.js +25 -0
  201. package/dist/shared/fmt/constants.js.map +1 -0
  202. package/dist/shared/fmt/decimal.d.ts +7 -0
  203. package/dist/shared/fmt/decimal.d.ts.map +1 -1
  204. package/dist/shared/fmt/decimal.js +32 -24
  205. package/dist/shared/fmt/decimal.js.map +1 -1
  206. package/dist/shared/fmt/num.d.ts +7 -0
  207. package/dist/shared/fmt/num.d.ts.map +1 -1
  208. package/dist/shared/fmt/num.js +27 -15
  209. package/dist/shared/fmt/num.js.map +1 -1
  210. package/dist/shared/index.d.ts +1 -1
  211. package/dist/shared/index.d.ts.map +1 -1
  212. package/dist/shared/index.js +2 -1
  213. package/dist/shared/index.js.map +1 -1
  214. package/dist/shared/types.d.ts +1 -0
  215. package/dist/shared/types.d.ts.map +1 -1
  216. package/dist/shared/types.js +19 -0
  217. package/dist/shared/types.js.map +1 -1
  218. package/dist/ws/client.node.js +1 -1
  219. package/dist/ws/client.node.js.map +1 -1
  220. package/dist/ws/index.d.ts +12 -1
  221. package/dist/ws/index.d.ts.map +1 -1
  222. package/dist/ws/index.js +20 -0
  223. package/dist/ws/index.js.map +1 -1
  224. package/dist/ws/subscriptions.d.ts +6 -0
  225. package/dist/ws/subscriptions.d.ts.map +1 -1
  226. package/dist/ws/subscriptions.js +4 -0
  227. package/dist/ws/subscriptions.js.map +1 -1
  228. package/package.json +1 -1
@@ -20,42 +20,48 @@ export declare enum OrderSide {
20
20
  /**
21
21
  * Exchange account - singleton central state
22
22
  * PDA: ["central_state"]
23
- * Size: 88 bytes
23
+ * Size: 212 bytes
24
24
  */
25
25
  export interface Exchange {
26
26
  discriminator: Buffer;
27
27
  authority: PublicKey;
28
28
  operator: PublicKey;
29
+ manager: PublicKey;
29
30
  marketCount: bigint;
30
31
  paused: boolean;
31
32
  bump: number;
32
33
  depositTokenCount: number;
34
+ feeReceiver: PublicKey;
33
35
  }
34
36
  /**
35
37
  * Market account
36
38
  * PDA: ["market", market_id (u64)]
37
- * Size: 120 bytes
39
+ * Size: 212 bytes
38
40
  */
39
41
  export interface Market {
40
42
  discriminator: Buffer;
41
43
  marketId: bigint;
42
44
  numOutcomes: number;
43
45
  status: MarketStatus;
44
- winningOutcome: number;
45
- hasWinningOutcome: boolean;
46
46
  bump: number;
47
+ makerFeeBps: number;
48
+ takerFeeBps: number;
47
49
  oracle: PublicKey;
48
50
  questionId: Buffer;
49
51
  conditionId: Buffer;
52
+ payoutNumerators: PayoutNumerators;
53
+ payoutDenominator: number;
50
54
  }
55
+ export type PayoutNumerators = [number, number, number, number, number, number];
51
56
  /**
52
57
  * Order status account - tracks partial fills and cancellations
53
58
  * PDA: ["order_status", order_hash (32 bytes)]
54
- * Size: 24 bytes
59
+ * Size: 32 bytes
55
60
  */
56
61
  export interface OrderStatus {
57
62
  discriminator: Buffer;
58
63
  remaining: bigint;
64
+ baseRemaining: bigint;
59
65
  isCancelled: boolean;
60
66
  }
61
67
  /**
@@ -147,26 +153,19 @@ export interface InitializeParams {
147
153
  * Parameters for createMarket instruction
148
154
  */
149
155
  export interface CreateMarketParams {
150
- authority: PublicKey;
156
+ manager: PublicKey;
151
157
  numOutcomes: number;
152
158
  oracle: PublicKey;
153
159
  questionId: Buffer;
154
- }
155
- /**
156
- * Metadata for a single outcome token
157
- */
158
- export interface OutcomeMetadata {
159
- name: string;
160
- symbol: string;
161
- uri: string;
160
+ makerFeeBps: number;
161
+ takerFeeBps: number;
162
162
  }
163
163
  /**
164
164
  * Parameters for addDepositMint instruction
165
165
  */
166
166
  export interface AddDepositMintParams {
167
- authority: PublicKey;
167
+ manager: PublicKey;
168
168
  depositMint: PublicKey;
169
- outcomeMetadata: OutcomeMetadata[];
170
169
  }
171
170
  /**
172
171
  * Parameters for deposit (mint complete set) instruction.
@@ -190,7 +189,8 @@ export interface BuildMergeParams {
190
189
  * Parameters for cancelOrder instruction
191
190
  */
192
191
  export interface CancelOrderParams {
193
- maker: PublicKey;
192
+ operator: PublicKey;
193
+ market: PublicKey;
194
194
  order: SignedOrder;
195
195
  }
196
196
  /**
@@ -205,7 +205,18 @@ export interface IncrementNonceParams {
205
205
  export interface SettleMarketParams {
206
206
  oracle: PublicKey;
207
207
  marketId: bigint;
208
- winningOutcome: number;
208
+ payoutNumerators: number[];
209
+ }
210
+ /**
211
+ * Integer fixed-point metadata for two-sided scalar settlement.
212
+ */
213
+ export interface ScalarResolutionParams {
214
+ minValue: bigint;
215
+ maxValue: bigint;
216
+ resolvedValue: bigint;
217
+ lowerOutcomeIndex: number;
218
+ upperOutcomeIndex: number;
219
+ numOutcomes: number;
209
220
  }
210
221
  /**
211
222
  * Parameters for redeemWinnings instruction
@@ -244,7 +255,7 @@ export interface WithdrawFromPositionParams {
244
255
  * Parameters for activateMarket instruction
245
256
  */
246
257
  export interface ActivateMarketParams {
247
- authority: PublicKey;
258
+ manager: PublicKey;
248
259
  marketId: bigint;
249
260
  }
250
261
  /**
@@ -255,6 +266,7 @@ export interface MatchOrdersMultiParams {
255
266
  market: PublicKey;
256
267
  baseMint: PublicKey;
257
268
  quoteMint: PublicKey;
269
+ feeReceiver: PublicKey;
258
270
  takerOrder: SignedOrder;
259
271
  makerOrders: SignedOrder[];
260
272
  makerFillAmounts: bigint[];
@@ -272,12 +284,58 @@ export interface SetAuthorityParams {
272
284
  * Parameters for createOrderbook instruction
273
285
  */
274
286
  export interface CreateOrderbookParams {
275
- authority: PublicKey;
287
+ manager: PublicKey;
276
288
  market: PublicKey;
277
289
  mintA: PublicKey;
278
290
  mintB: PublicKey;
291
+ feeReceiver: PublicKey;
292
+ mintADepositMint: PublicKey;
293
+ mintBDepositMint: PublicKey;
279
294
  recentSlot: bigint;
280
295
  baseIndex: number;
296
+ mintAOutcomeIndex: number;
297
+ mintBOutcomeIndex: number;
298
+ }
299
+ /**
300
+ * Parameters for setManager instruction
301
+ */
302
+ export interface SetManagerParams {
303
+ authority: PublicKey;
304
+ newManager: PublicKey;
305
+ }
306
+ /**
307
+ * One per-market fee update.
308
+ */
309
+ export interface MarketFeeUpdate {
310
+ market: PublicKey;
311
+ makerFeeBps: number;
312
+ takerFeeBps: number;
313
+ }
314
+ /**
315
+ * Parameters for setMarketFees instruction.
316
+ */
317
+ export interface SetMarketFeesParams {
318
+ manager: PublicKey;
319
+ updates: MarketFeeUpdate[];
320
+ }
321
+ /**
322
+ * Parameters for setFeeReceiver instruction.
323
+ */
324
+ export interface SetFeeReceiverParams {
325
+ authority: PublicKey;
326
+ newFeeReceiver: PublicKey;
327
+ }
328
+ /**
329
+ * Parameters for create/update conditional mint metadata instructions.
330
+ */
331
+ export interface ConditionalMetadataParams {
332
+ manager: PublicKey;
333
+ market: PublicKey;
334
+ depositMint: PublicKey;
335
+ outcomeIndex: number;
336
+ name: string;
337
+ symbol: string;
338
+ uri: string;
281
339
  }
282
340
  /**
283
341
  * Parameters for whitelistDepositToken instruction
@@ -294,6 +352,16 @@ export interface DepositToGlobalParams {
294
352
  mint: PublicKey;
295
353
  amount: bigint;
296
354
  }
355
+ /**
356
+ * Optional ALT behavior for depositToGlobal.
357
+ */
358
+ export type DepositToGlobalAltContext = {
359
+ kind: "create";
360
+ recentSlot: bigint;
361
+ } | {
362
+ kind: "extend";
363
+ lookupTable: PublicKey;
364
+ };
297
365
  /**
298
366
  * Parameters for globalToMarketDeposit instruction
299
367
  */
@@ -320,7 +388,7 @@ export interface InitPositionTokensParams {
320
388
  * Parameters for extendPositionTokens instruction
321
389
  */
322
390
  export interface ExtendPositionTokensParams {
323
- payer: PublicKey;
391
+ operator: PublicKey;
324
392
  user: PublicKey;
325
393
  market: PublicKey;
326
394
  lookupTable: PublicKey;
@@ -339,6 +407,7 @@ export interface DepositAndSwapParams {
339
407
  market: PublicKey;
340
408
  baseMint: PublicKey;
341
409
  quoteMint: PublicKey;
410
+ feeReceiver: PublicKey;
342
411
  takerOrder: SignedOrder;
343
412
  takerIsFullFill: boolean;
344
413
  takerIsDeposit: boolean;
@@ -354,6 +423,49 @@ export interface WithdrawFromGlobalParams {
354
423
  mint: PublicKey;
355
424
  amount: bigint;
356
425
  }
426
+ /**
427
+ * Parameters for closePositionAlt instruction.
428
+ */
429
+ export interface ClosePositionAltParams {
430
+ operator: PublicKey;
431
+ position: PublicKey;
432
+ market: PublicKey;
433
+ lookupTable: PublicKey;
434
+ }
435
+ /**
436
+ * Parameters for closeOrderStatus instruction.
437
+ */
438
+ export interface CloseOrderStatusParams {
439
+ operator: PublicKey;
440
+ orderHash: Buffer;
441
+ }
442
+ /**
443
+ * Parameters for closePositionTokenAccounts instruction.
444
+ */
445
+ export interface ClosePositionTokenAccountsParams {
446
+ operator: PublicKey;
447
+ market: PublicKey;
448
+ position: PublicKey;
449
+ depositMints: PublicKey[];
450
+ }
451
+ /**
452
+ * Parameters for closeOrderbookAlt instruction.
453
+ */
454
+ export interface CloseOrderbookAltParams {
455
+ operator: PublicKey;
456
+ orderbook: PublicKey;
457
+ market: PublicKey;
458
+ lookupTable: PublicKey;
459
+ }
460
+ /**
461
+ * Parameters for closeOrderbook instruction.
462
+ */
463
+ export interface CloseOrderbookParams {
464
+ operator: PublicKey;
465
+ orderbook: PublicKey;
466
+ market: PublicKey;
467
+ lookupTable: PublicKey;
468
+ }
357
469
  /**
358
470
  * Result from transaction builders
359
471
  */
@@ -377,14 +489,17 @@ export interface InitializeAccounts {
377
489
  export interface CreateMarketAccounts {
378
490
  exchange: PublicKey;
379
491
  market: PublicKey;
492
+ conditionTombstone: PublicKey;
380
493
  }
381
494
  /**
382
495
  * Accounts returned from addDepositMint
383
496
  */
384
497
  export interface AddDepositMintAccounts {
498
+ exchange: PublicKey;
385
499
  market: PublicKey;
386
500
  vault: PublicKey;
387
501
  mintAuthority: PublicKey;
502
+ globalDepositToken: PublicKey;
388
503
  conditionalMints: PublicKey[];
389
504
  }
390
505
  /**
@@ -407,6 +522,8 @@ export interface MergeCompleteSetAccounts {
407
522
  * Accounts returned from cancelOrder
408
523
  */
409
524
  export interface CancelOrderAccounts {
525
+ exchange: PublicKey;
526
+ market: PublicKey;
410
527
  orderStatus: PublicKey;
411
528
  }
412
529
  /**
@@ -441,6 +558,7 @@ export interface ActivateMarketAccounts {
441
558
  * Accounts returned from matchOrdersMulti
442
559
  */
443
560
  export interface MatchOrdersMultiAccounts {
561
+ orderbook: PublicKey;
444
562
  takerOrderStatus: PublicKey;
445
563
  takerPosition: PublicKey;
446
564
  makerOrderStatuses: PublicKey[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/program/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/program/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/program/types.ts"],"names":[],"mappings":";;;AAEA,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,qDAAW,CAAA;IACX,mDAAU,CAAA;IACV,uDAAY,CAAA;IACZ,yDAAa,CAAA;AACf,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED;;;;GAIG;AACH,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,uCAAO,CAAA;IACP,uCAAO,CAAA;AACT,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB","sourcesContent":["import { PublicKey, Transaction } from \"@solana/web3.js\";\n\n// ============================================================================\n// ENUMS\n// ============================================================================\n\n/**\n * Market status enum matching on-chain representation\n */\nexport enum MarketStatus {\n Pending = 0,\n Active = 1,\n Resolved = 2,\n Cancelled = 3,\n}\n\n/**\n * Order side enum\n * BID = buyer wants base tokens (pays quote)\n * ASK = seller offers base tokens (receives quote)\n */\nexport enum OrderSide {\n BID = 0,\n ASK = 1,\n}\n\n// ============================================================================\n// ACCOUNT TYPES\n// ============================================================================\n\n/**\n * Exchange account - singleton central state\n * PDA: [\"central_state\"]\n * Size: 88 bytes\n */\nexport interface Exchange {\n discriminator: Buffer; // 8 bytes\n authority: PublicKey; // 32 bytes - initial admin\n operator: PublicKey; // 32 bytes - can perform operational tasks\n marketCount: bigint; // u64 - incremented for each market\n paused: boolean; // u8 - 0 = active, 1 = paused\n bump: number; // u8\n depositTokenCount: number; // u16 - number of whitelisted deposit tokens\n}\n\n/**\n * Market account\n * PDA: [\"market\", market_id (u64)]\n * Size: 120 bytes\n */\nexport interface Market {\n discriminator: Buffer; // 8 bytes\n marketId: bigint; // u64 - auto-assigned, sequential\n numOutcomes: number; // u8 - 2-6 outcomes supported\n status: MarketStatus; // u8\n winningOutcome: number; // u8\n hasWinningOutcome: boolean; // u8\n bump: number; // u8\n oracle: PublicKey; // 32 bytes - who can settle the market\n questionId: Buffer; // 32 bytes\n conditionId: Buffer; // 32 bytes - derived from oracle + questionId + numOutcomes\n}\n\n/**\n * Order status account - tracks partial fills and cancellations\n * PDA: [\"order_status\", order_hash (32 bytes)]\n * Size: 24 bytes\n */\nexport interface OrderStatus {\n discriminator: Buffer; // 8 bytes\n remaining: bigint; // u64 - maker_amount not yet filled\n isCancelled: boolean; // u8\n}\n\n/**\n * User nonce account - replay protection\n * PDA: [\"user_nonce\", user_pubkey (32 bytes)]\n * Size: 16 bytes\n */\nexport interface UserNonce {\n discriminator: Buffer; // 8 bytes\n nonce: bigint; // u64 - incremented per order\n}\n\n/**\n * Position account - user's state in a market\n * PDA: [\"position\", owner (32 bytes), market (32 bytes)]\n * Size: 80 bytes\n */\nexport interface Position {\n discriminator: Buffer; // 8 bytes\n owner: PublicKey; // 32 bytes\n market: PublicKey; // 32 bytes\n bump: number; // u8\n}\n\n/**\n * Orderbook account - links market to token pair and lookup table\n * PDA: [\"orderbook\", mint_a (32 bytes), mint_b (32 bytes)]\n * Size: 144 bytes\n */\nexport interface Orderbook {\n discriminator: Buffer; // 8 bytes\n market: PublicKey; // 32 bytes\n mintA: PublicKey; // 32 bytes\n mintB: PublicKey; // 32 bytes\n lookupTable: PublicKey; // 32 bytes\n baseIndex: number; // u8\n bump: number; // u8\n}\n\n/**\n * GlobalDepositToken whitelist account.\n * PDA: [\"global_deposit\", mint]\n * Size: 48 bytes\n */\nexport interface GlobalDepositToken {\n discriminator: Buffer; // 8 bytes\n mint: PublicKey; // 32 bytes\n active: boolean; // u8\n bump: number; // u8\n index: number; // u16 - ALT ordering index\n}\n\n// ============================================================================\n// ORDER TYPES\n// ============================================================================\n\n/**\n * Signed order format (233 bytes)\n * Full order with all fields for submission, cancellation, and hashing\n */\nexport interface SignedOrder {\n nonce: number; // u32 - order ID + replay protection (serialized as u64 LE on wire)\n salt: bigint; // u64 - random salt for order uniqueness\n maker: PublicKey; // 32 bytes - signer\n market: PublicKey; // 32 bytes\n baseMint: PublicKey; // 32 bytes - token being bought/sold\n quoteMint: PublicKey; // 32 bytes - payment token\n side: OrderSide; // u8 - 0=BID, 1=ASK\n amountIn: bigint; // u64 - what maker gives\n amountOut: bigint; // u64 - what maker receives\n expiration: bigint; // i64 - unix timestamp, 0=no expiration\n signature: Buffer; // 64 bytes - Ed25519 signature\n}\n\n/**\n * Alias matching Rust v2 naming.\n */\nexport type OrderPayload = SignedOrder;\n\n/**\n * Compact order format (37 bytes)\n * Transaction-optimized version: nonce is u32, no maker field (derived on-chain from Position PDA)\n */\nexport interface Order {\n nonce: number; // u32 (4 bytes) - truncated from SignedOrder's u64 nonce\n salt: bigint; // u64 - random salt for order uniqueness\n side: OrderSide; // u8\n amountIn: bigint; // u64\n amountOut: bigint; // u64\n expiration: bigint; // i64\n}\n\n// ============================================================================\n// PARAMETER TYPES\n// ============================================================================\n\n/**\n * Parameters for initialize instruction\n */\nexport interface InitializeParams {\n authority: PublicKey;\n}\n\n/**\n * Parameters for createMarket instruction\n */\nexport interface CreateMarketParams {\n authority: PublicKey;\n numOutcomes: number; // 2-6\n oracle: PublicKey;\n questionId: Buffer; // 32 bytes\n}\n\n/**\n * Metadata for a single outcome token\n */\nexport interface OutcomeMetadata {\n name: string;\n symbol: string;\n uri: string;\n}\n\n/**\n * Parameters for addDepositMint instruction\n */\nexport interface AddDepositMintParams {\n authority: PublicKey;\n depositMint: PublicKey;\n outcomeMetadata: OutcomeMetadata[];\n}\n\n/**\n * Parameters for deposit (mint complete set) instruction.\n */\nexport interface BuildDepositParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for merge (merge complete set) instruction.\n */\nexport interface BuildMergeParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for cancelOrder instruction\n */\nexport interface CancelOrderParams {\n maker: PublicKey;\n order: SignedOrder;\n}\n\n/**\n * Parameters for incrementNonce instruction\n */\nexport interface IncrementNonceParams {\n user: PublicKey;\n}\n\n/**\n * Parameters for settleMarket instruction\n */\nexport interface SettleMarketParams {\n oracle: PublicKey;\n marketId: bigint;\n winningOutcome: number;\n}\n\n/**\n * Parameters for redeemWinnings instruction\n */\nexport interface RedeemWinningsParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for setPaused instruction\n */\nexport interface SetPausedParams {\n authority: PublicKey;\n paused: boolean;\n}\n\n/**\n * Parameters for setOperator instruction\n */\nexport interface SetOperatorParams {\n authority: PublicKey;\n newOperator: PublicKey;\n}\n\n/**\n * Parameters for withdrawFromPosition instruction\n */\nexport interface WithdrawFromPositionParams {\n user: PublicKey;\n market: PublicKey;\n mint: PublicKey; // Can be deposit mint or conditional mint\n amount: bigint;\n outcomeIndex: number; // u8 outcome index\n}\n\n/**\n * Parameters for activateMarket instruction\n */\nexport interface ActivateMarketParams {\n authority: PublicKey;\n marketId: bigint;\n}\n\n/**\n * Parameters for matchOrdersMulti instruction\n */\nexport interface MatchOrdersMultiParams {\n operator: PublicKey;\n market: PublicKey;\n baseMint: PublicKey;\n quoteMint: PublicKey;\n takerOrder: SignedOrder;\n makerOrders: SignedOrder[];\n makerFillAmounts: bigint[]; // Per maker - what each maker gives\n takerFillAmounts: bigint[]; // Per maker - what taker gives to each maker\n fullFillBitmask: number; // u8 bitmask: bit 7 = taker, bits 0..n = makers\n}\n\n/**\n * Parameters for setAuthority instruction\n */\nexport interface SetAuthorityParams {\n currentAuthority: PublicKey;\n newAuthority: PublicKey;\n}\n\n/**\n * Parameters for createOrderbook instruction\n */\nexport interface CreateOrderbookParams {\n authority: PublicKey;\n market: PublicKey;\n mintA: PublicKey;\n mintB: PublicKey;\n recentSlot: bigint;\n baseIndex: number;\n}\n\n/**\n * Parameters for whitelistDepositToken instruction\n */\nexport interface WhitelistDepositTokenParams {\n authority: PublicKey;\n mint: PublicKey;\n}\n\n/**\n * Parameters for depositToGlobal instruction\n */\nexport interface DepositToGlobalParams {\n user: PublicKey;\n mint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for globalToMarketDeposit instruction\n */\nexport interface GlobalToMarketDepositParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for initPositionTokens instruction\n */\nexport interface InitPositionTokensParams {\n payer: PublicKey;\n user: PublicKey;\n market: PublicKey;\n depositMints: PublicKey[];\n recentSlot: bigint;\n}\n\n/**\n * Parameters for depositAndSwap instruction\n */\n/**\n * Parameters for extendPositionTokens instruction\n */\nexport interface ExtendPositionTokensParams {\n payer: PublicKey;\n user: PublicKey;\n market: PublicKey;\n lookupTable: PublicKey;\n depositMints: PublicKey[];\n}\n\nexport interface MakerFill {\n order: SignedOrder;\n makerFillAmount: bigint;\n takerFillAmount: bigint;\n isFullFill: boolean;\n isDeposit: boolean;\n depositMint: PublicKey;\n}\n\nexport interface DepositAndSwapParams {\n operator: PublicKey;\n market: PublicKey;\n baseMint: PublicKey;\n quoteMint: PublicKey;\n takerOrder: SignedOrder;\n takerIsFullFill: boolean;\n takerIsDeposit: boolean;\n takerDepositMint: PublicKey;\n numOutcomes: number;\n makers: MakerFill[];\n}\n\n/**\n * Parameters for withdrawFromGlobal instruction\n */\nexport interface WithdrawFromGlobalParams {\n user: PublicKey;\n mint: PublicKey;\n amount: bigint;\n}\n\n// ============================================================================\n// BUILDER RESULT TYPES\n// ============================================================================\n\n/**\n * Result from transaction builders\n */\nexport interface BuildResult<T = Record<string, PublicKey>> {\n /** Unsigned transaction ready for signing */\n transaction: Transaction;\n /** Key accounts involved in the transaction */\n accounts: T;\n /** Serialize transaction to base64 */\n serialize: () => string;\n}\n\n/**\n * Accounts returned from initialize\n */\nexport interface InitializeAccounts {\n exchange: PublicKey;\n}\n\n/**\n * Accounts returned from createMarket\n */\nexport interface CreateMarketAccounts {\n exchange: PublicKey;\n market: PublicKey;\n}\n\n/**\n * Accounts returned from addDepositMint\n */\nexport interface AddDepositMintAccounts {\n market: PublicKey;\n vault: PublicKey;\n mintAuthority: PublicKey;\n conditionalMints: PublicKey[];\n}\n\n/**\n * Accounts returned from mintCompleteSet\n */\nexport interface MintCompleteSetAccounts {\n position: PublicKey;\n vault: PublicKey;\n conditionalMints: PublicKey[];\n}\n\n/**\n * Accounts returned from mergeCompleteSet\n */\nexport interface MergeCompleteSetAccounts {\n position: PublicKey;\n vault: PublicKey;\n conditionalMints: PublicKey[];\n}\n\n/**\n * Accounts returned from cancelOrder\n */\nexport interface CancelOrderAccounts {\n orderStatus: PublicKey;\n}\n\n/**\n * Accounts returned from incrementNonce\n */\nexport interface IncrementNonceAccounts {\n userNonce: PublicKey;\n}\n\n/**\n * Accounts returned from settleMarket\n */\nexport interface SettleMarketAccounts {\n exchange: PublicKey;\n market: PublicKey;\n}\n\n/**\n * Accounts returned from redeemWinnings\n */\nexport interface RedeemWinningsAccounts {\n position: PublicKey;\n vault: PublicKey;\n winningMint: PublicKey;\n}\n\n/**\n * Accounts returned from activateMarket\n */\nexport interface ActivateMarketAccounts {\n exchange: PublicKey;\n market: PublicKey;\n}\n\n/**\n * Accounts returned from matchOrdersMulti\n */\nexport interface MatchOrdersMultiAccounts {\n takerOrderStatus: PublicKey;\n takerPosition: PublicKey;\n makerOrderStatuses: PublicKey[];\n makerPositions: PublicKey[];\n}\n\n// ============================================================================\n// ORDER CREATION TYPES\n// ============================================================================\n\n/**\n * Parameters for creating a bid order\n */\nexport interface BidOrderParams {\n nonce: number;\n salt?: bigint;\n maker: PublicKey;\n market: PublicKey;\n baseMint: PublicKey; // Token to buy\n quoteMint: PublicKey; // Token to pay with\n amountIn: bigint; // Quote tokens to give\n amountOut: bigint; // Base tokens to receive\n expiration?: bigint; // 0 = no expiration\n}\n\n/**\n * Parameters for creating an ask order\n */\nexport interface AskOrderParams {\n nonce: number;\n salt?: bigint;\n maker: PublicKey;\n market: PublicKey;\n baseMint: PublicKey; // Token to sell\n quoteMint: PublicKey; // Token to receive\n amountIn: bigint; // Base tokens to give\n amountOut: bigint; // Quote tokens to receive\n expiration?: bigint; // 0 = no expiration\n}\n"]}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/program/types.ts"],"names":[],"mappings":";;;AAEA,+EAA+E;AAC/E,QAAQ;AACR,+EAA+E;AAE/E;;GAEG;AACH,IAAY,YAKX;AALD,WAAY,YAAY;IACtB,qDAAW,CAAA;IACX,mDAAU,CAAA;IACV,uDAAY,CAAA;IACZ,yDAAa,CAAA;AACf,CAAC,EALW,YAAY,4BAAZ,YAAY,QAKvB;AAED;;;;GAIG;AACH,IAAY,SAGX;AAHD,WAAY,SAAS;IACnB,uCAAO,CAAA;IACP,uCAAO,CAAA;AACT,CAAC,EAHW,SAAS,yBAAT,SAAS,QAGpB","sourcesContent":["import { PublicKey, Transaction } from \"@solana/web3.js\";\n\n// ============================================================================\n// ENUMS\n// ============================================================================\n\n/**\n * Market status enum matching on-chain representation\n */\nexport enum MarketStatus {\n Pending = 0,\n Active = 1,\n Resolved = 2,\n Cancelled = 3,\n}\n\n/**\n * Order side enum\n * BID = buyer wants base tokens (pays quote)\n * ASK = seller offers base tokens (receives quote)\n */\nexport enum OrderSide {\n BID = 0,\n ASK = 1,\n}\n\n// ============================================================================\n// ACCOUNT TYPES\n// ============================================================================\n\n/**\n * Exchange account - singleton central state\n * PDA: [\"central_state\"]\n * Size: 212 bytes\n */\nexport interface Exchange {\n discriminator: Buffer; // 8 bytes\n authority: PublicKey; // 32 bytes - initial admin\n operator: PublicKey; // 32 bytes - can perform operational tasks\n manager: PublicKey; // 32 bytes - can manage market setup\n marketCount: bigint; // u64 - incremented for each market\n paused: boolean; // u8 - 0 = active, 1 = paused\n bump: number; // u8\n depositTokenCount: number; // u16 - number of whitelisted deposit tokens\n feeReceiver: PublicKey; // 32 bytes - quote-leg fee receiver\n}\n\n/**\n * Market account\n * PDA: [\"market\", market_id (u64)]\n * Size: 212 bytes\n */\nexport interface Market {\n discriminator: Buffer; // 8 bytes\n marketId: bigint; // u64 - auto-assigned, sequential\n numOutcomes: number; // u8 - 2-6 outcomes supported\n status: MarketStatus; // u8\n bump: number; // u8\n makerFeeBps: number; // i16\n takerFeeBps: number; // i16\n oracle: PublicKey; // 32 bytes - who can settle the market\n questionId: Buffer; // 32 bytes\n conditionId: Buffer; // 32 bytes - derived from oracle + questionId + numOutcomes\n payoutNumerators: PayoutNumerators; // six u32 values; first numOutcomes are meaningful\n payoutDenominator: number; // u32 sum of meaningful payout numerators\n}\n\nexport type PayoutNumerators = [number, number, number, number, number, number];\n\n/**\n * Order status account - tracks partial fills and cancellations\n * PDA: [\"order_status\", order_hash (32 bytes)]\n * Size: 32 bytes\n */\nexport interface OrderStatus {\n discriminator: Buffer; // 8 bytes\n remaining: bigint; // u64 - maker_amount not yet filled\n baseRemaining: bigint; // u64 - base-side amount not yet filled\n isCancelled: boolean; // u8\n}\n\n/**\n * User nonce account - replay protection\n * PDA: [\"user_nonce\", user_pubkey (32 bytes)]\n * Size: 16 bytes\n */\nexport interface UserNonce {\n discriminator: Buffer; // 8 bytes\n nonce: bigint; // u64 - incremented per order\n}\n\n/**\n * Position account - user's state in a market\n * PDA: [\"position\", owner (32 bytes), market (32 bytes)]\n * Size: 80 bytes\n */\nexport interface Position {\n discriminator: Buffer; // 8 bytes\n owner: PublicKey; // 32 bytes\n market: PublicKey; // 32 bytes\n bump: number; // u8\n}\n\n/**\n * Orderbook account - links market to token pair and lookup table\n * PDA: [\"orderbook\", mint_a (32 bytes), mint_b (32 bytes)]\n * Size: 144 bytes\n */\nexport interface Orderbook {\n discriminator: Buffer; // 8 bytes\n market: PublicKey; // 32 bytes\n mintA: PublicKey; // 32 bytes\n mintB: PublicKey; // 32 bytes\n lookupTable: PublicKey; // 32 bytes\n baseIndex: number; // u8\n bump: number; // u8\n}\n\n/**\n * GlobalDepositToken whitelist account.\n * PDA: [\"global_deposit\", mint]\n * Size: 48 bytes\n */\nexport interface GlobalDepositToken {\n discriminator: Buffer; // 8 bytes\n mint: PublicKey; // 32 bytes\n active: boolean; // u8\n bump: number; // u8\n index: number; // u16 - ALT ordering index\n}\n\n// ============================================================================\n// ORDER TYPES\n// ============================================================================\n\n/**\n * Signed order format (233 bytes)\n * Full order with all fields for submission, cancellation, and hashing\n */\nexport interface SignedOrder {\n nonce: number; // u32 - order ID + replay protection (serialized as u64 LE on wire)\n salt: bigint; // u64 - random salt for order uniqueness\n maker: PublicKey; // 32 bytes - signer\n market: PublicKey; // 32 bytes\n baseMint: PublicKey; // 32 bytes - token being bought/sold\n quoteMint: PublicKey; // 32 bytes - payment token\n side: OrderSide; // u8 - 0=BID, 1=ASK\n amountIn: bigint; // u64 - what maker gives\n amountOut: bigint; // u64 - what maker receives\n expiration: bigint; // i64 - unix timestamp, 0=no expiration\n signature: Buffer; // 64 bytes - Ed25519 signature\n}\n\n/**\n * Alias matching Rust v2 naming.\n */\nexport type OrderPayload = SignedOrder;\n\n/**\n * Compact order format (37 bytes)\n * Transaction-optimized version: nonce is u32, no maker field (derived on-chain from Position PDA)\n */\nexport interface Order {\n nonce: number; // u32 (4 bytes) - truncated from SignedOrder's u64 nonce\n salt: bigint; // u64 - random salt for order uniqueness\n side: OrderSide; // u8\n amountIn: bigint; // u64\n amountOut: bigint; // u64\n expiration: bigint; // i64\n}\n\n// ============================================================================\n// PARAMETER TYPES\n// ============================================================================\n\n/**\n * Parameters for initialize instruction\n */\nexport interface InitializeParams {\n authority: PublicKey;\n}\n\n/**\n * Parameters for createMarket instruction\n */\nexport interface CreateMarketParams {\n manager: PublicKey;\n numOutcomes: number; // 2-6\n oracle: PublicKey;\n questionId: Buffer; // 32 bytes\n makerFeeBps: number;\n takerFeeBps: number;\n}\n\n/**\n * Parameters for addDepositMint instruction\n */\nexport interface AddDepositMintParams {\n manager: PublicKey;\n depositMint: PublicKey;\n}\n\n/**\n * Parameters for deposit (mint complete set) instruction.\n */\nexport interface BuildDepositParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for merge (merge complete set) instruction.\n */\nexport interface BuildMergeParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for cancelOrder instruction\n */\nexport interface CancelOrderParams {\n operator: PublicKey;\n market: PublicKey;\n order: SignedOrder;\n}\n\n/**\n * Parameters for incrementNonce instruction\n */\nexport interface IncrementNonceParams {\n user: PublicKey;\n}\n\n/**\n * Parameters for settleMarket instruction\n */\nexport interface SettleMarketParams {\n oracle: PublicKey;\n marketId: bigint;\n payoutNumerators: number[];\n}\n\n/**\n * Integer fixed-point metadata for two-sided scalar settlement.\n */\nexport interface ScalarResolutionParams {\n minValue: bigint;\n maxValue: bigint;\n resolvedValue: bigint;\n lowerOutcomeIndex: number;\n upperOutcomeIndex: number;\n numOutcomes: number;\n}\n\n/**\n * Parameters for redeemWinnings instruction\n */\nexport interface RedeemWinningsParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for setPaused instruction\n */\nexport interface SetPausedParams {\n authority: PublicKey;\n paused: boolean;\n}\n\n/**\n * Parameters for setOperator instruction\n */\nexport interface SetOperatorParams {\n authority: PublicKey;\n newOperator: PublicKey;\n}\n\n/**\n * Parameters for withdrawFromPosition instruction\n */\nexport interface WithdrawFromPositionParams {\n user: PublicKey;\n market: PublicKey;\n mint: PublicKey; // Can be deposit mint or conditional mint\n amount: bigint;\n outcomeIndex: number; // u8 outcome index\n}\n\n/**\n * Parameters for activateMarket instruction\n */\nexport interface ActivateMarketParams {\n manager: PublicKey;\n marketId: bigint;\n}\n\n/**\n * Parameters for matchOrdersMulti instruction\n */\nexport interface MatchOrdersMultiParams {\n operator: PublicKey;\n market: PublicKey;\n baseMint: PublicKey;\n quoteMint: PublicKey;\n feeReceiver: PublicKey;\n takerOrder: SignedOrder;\n makerOrders: SignedOrder[];\n makerFillAmounts: bigint[]; // Per maker - what each maker gives\n takerFillAmounts: bigint[]; // Per maker - what taker gives to each maker\n fullFillBitmask: number; // u8 bitmask: bit 7 = taker, bits 0..n = makers\n}\n\n/**\n * Parameters for setAuthority instruction\n */\nexport interface SetAuthorityParams {\n currentAuthority: PublicKey;\n newAuthority: PublicKey;\n}\n\n/**\n * Parameters for createOrderbook instruction\n */\nexport interface CreateOrderbookParams {\n manager: PublicKey;\n market: PublicKey;\n mintA: PublicKey;\n mintB: PublicKey;\n feeReceiver: PublicKey;\n mintADepositMint: PublicKey;\n mintBDepositMint: PublicKey;\n recentSlot: bigint;\n baseIndex: number; // Which supplied mint is base: 0 = mintA, 1 = mintB\n mintAOutcomeIndex: number;\n mintBOutcomeIndex: number;\n}\n\n/**\n * Parameters for setManager instruction\n */\nexport interface SetManagerParams {\n authority: PublicKey;\n newManager: PublicKey;\n}\n\n/**\n * One per-market fee update.\n */\nexport interface MarketFeeUpdate {\n market: PublicKey;\n makerFeeBps: number;\n takerFeeBps: number;\n}\n\n/**\n * Parameters for setMarketFees instruction.\n */\nexport interface SetMarketFeesParams {\n manager: PublicKey;\n updates: MarketFeeUpdate[];\n}\n\n/**\n * Parameters for setFeeReceiver instruction.\n */\nexport interface SetFeeReceiverParams {\n authority: PublicKey;\n newFeeReceiver: PublicKey;\n}\n\n/**\n * Parameters for create/update conditional mint metadata instructions.\n */\nexport interface ConditionalMetadataParams {\n manager: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n outcomeIndex: number;\n name: string;\n symbol: string;\n uri: string;\n}\n\n/**\n * Parameters for whitelistDepositToken instruction\n */\nexport interface WhitelistDepositTokenParams {\n authority: PublicKey;\n mint: PublicKey;\n}\n\n/**\n * Parameters for depositToGlobal instruction\n */\nexport interface DepositToGlobalParams {\n user: PublicKey;\n mint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Optional ALT behavior for depositToGlobal.\n */\nexport type DepositToGlobalAltContext =\n | { kind: \"create\"; recentSlot: bigint }\n | { kind: \"extend\"; lookupTable: PublicKey };\n\n/**\n * Parameters for globalToMarketDeposit instruction\n */\nexport interface GlobalToMarketDepositParams {\n user: PublicKey;\n market: PublicKey;\n depositMint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for initPositionTokens instruction\n */\nexport interface InitPositionTokensParams {\n payer: PublicKey;\n user: PublicKey;\n market: PublicKey;\n depositMints: PublicKey[];\n recentSlot: bigint;\n}\n\n/**\n * Parameters for depositAndSwap instruction\n */\n/**\n * Parameters for extendPositionTokens instruction\n */\nexport interface ExtendPositionTokensParams {\n operator: PublicKey;\n user: PublicKey;\n market: PublicKey;\n lookupTable: PublicKey;\n depositMints: PublicKey[];\n}\n\nexport interface MakerFill {\n order: SignedOrder;\n makerFillAmount: bigint;\n takerFillAmount: bigint;\n isFullFill: boolean;\n isDeposit: boolean;\n depositMint: PublicKey;\n}\n\nexport interface DepositAndSwapParams {\n operator: PublicKey;\n market: PublicKey;\n baseMint: PublicKey;\n quoteMint: PublicKey;\n feeReceiver: PublicKey;\n takerOrder: SignedOrder;\n takerIsFullFill: boolean;\n takerIsDeposit: boolean;\n takerDepositMint: PublicKey;\n numOutcomes: number;\n makers: MakerFill[];\n}\n\n/**\n * Parameters for withdrawFromGlobal instruction\n */\nexport interface WithdrawFromGlobalParams {\n user: PublicKey;\n mint: PublicKey;\n amount: bigint;\n}\n\n/**\n * Parameters for closePositionAlt instruction.\n */\nexport interface ClosePositionAltParams {\n operator: PublicKey;\n position: PublicKey;\n market: PublicKey;\n lookupTable: PublicKey;\n}\n\n/**\n * Parameters for closeOrderStatus instruction.\n */\nexport interface CloseOrderStatusParams {\n operator: PublicKey;\n orderHash: Buffer;\n}\n\n/**\n * Parameters for closePositionTokenAccounts instruction.\n */\nexport interface ClosePositionTokenAccountsParams {\n operator: PublicKey;\n market: PublicKey;\n position: PublicKey;\n depositMints: PublicKey[];\n}\n\n/**\n * Parameters for closeOrderbookAlt instruction.\n */\nexport interface CloseOrderbookAltParams {\n operator: PublicKey;\n orderbook: PublicKey;\n market: PublicKey;\n lookupTable: PublicKey;\n}\n\n/**\n * Parameters for closeOrderbook instruction.\n */\nexport interface CloseOrderbookParams {\n operator: PublicKey;\n orderbook: PublicKey;\n market: PublicKey;\n lookupTable: PublicKey;\n}\n\n// ============================================================================\n// BUILDER RESULT TYPES\n// ============================================================================\n\n/**\n * Result from transaction builders\n */\nexport interface BuildResult<T = Record<string, PublicKey>> {\n /** Unsigned transaction ready for signing */\n transaction: Transaction;\n /** Key accounts involved in the transaction */\n accounts: T;\n /** Serialize transaction to base64 */\n serialize: () => string;\n}\n\n/**\n * Accounts returned from initialize\n */\nexport interface InitializeAccounts {\n exchange: PublicKey;\n}\n\n/**\n * Accounts returned from createMarket\n */\nexport interface CreateMarketAccounts {\n exchange: PublicKey;\n market: PublicKey;\n conditionTombstone: PublicKey;\n}\n\n/**\n * Accounts returned from addDepositMint\n */\nexport interface AddDepositMintAccounts {\n exchange: PublicKey;\n market: PublicKey;\n vault: PublicKey;\n mintAuthority: PublicKey;\n globalDepositToken: PublicKey;\n conditionalMints: PublicKey[];\n}\n\n/**\n * Accounts returned from mintCompleteSet\n */\nexport interface MintCompleteSetAccounts {\n position: PublicKey;\n vault: PublicKey;\n conditionalMints: PublicKey[];\n}\n\n/**\n * Accounts returned from mergeCompleteSet\n */\nexport interface MergeCompleteSetAccounts {\n position: PublicKey;\n vault: PublicKey;\n conditionalMints: PublicKey[];\n}\n\n/**\n * Accounts returned from cancelOrder\n */\nexport interface CancelOrderAccounts {\n exchange: PublicKey;\n market: PublicKey;\n orderStatus: PublicKey;\n}\n\n/**\n * Accounts returned from incrementNonce\n */\nexport interface IncrementNonceAccounts {\n userNonce: PublicKey;\n}\n\n/**\n * Accounts returned from settleMarket\n */\nexport interface SettleMarketAccounts {\n exchange: PublicKey;\n market: PublicKey;\n}\n\n/**\n * Accounts returned from redeemWinnings\n */\nexport interface RedeemWinningsAccounts {\n position: PublicKey;\n vault: PublicKey;\n winningMint: PublicKey;\n}\n\n/**\n * Accounts returned from activateMarket\n */\nexport interface ActivateMarketAccounts {\n exchange: PublicKey;\n market: PublicKey;\n}\n\n/**\n * Accounts returned from matchOrdersMulti\n */\nexport interface MatchOrdersMultiAccounts {\n orderbook: PublicKey;\n takerOrderStatus: PublicKey;\n takerPosition: PublicKey;\n makerOrderStatuses: PublicKey[];\n makerPositions: PublicKey[];\n}\n\n// ============================================================================\n// ORDER CREATION TYPES\n// ============================================================================\n\n/**\n * Parameters for creating a bid order\n */\nexport interface BidOrderParams {\n nonce: number;\n salt?: bigint;\n maker: PublicKey;\n market: PublicKey;\n baseMint: PublicKey; // Token to buy\n quoteMint: PublicKey; // Token to pay with\n amountIn: bigint; // Quote tokens to give\n amountOut: bigint; // Base tokens to receive\n expiration?: bigint; // 0 = no expiration\n}\n\n/**\n * Parameters for creating an ask order\n */\nexport interface AskOrderParams {\n nonce: number;\n salt?: bigint;\n maker: PublicKey;\n market: PublicKey;\n baseMint: PublicKey; // Token to sell\n quoteMint: PublicKey; // Token to receive\n amountIn: bigint; // Base tokens to give\n amountOut: bigint; // Quote tokens to receive\n expiration?: bigint; // 0 = no expiration\n}\n"]}
@@ -1,4 +1,5 @@
1
1
  import { PublicKey } from "@solana/web3.js";
2
+ import type { ScalarResolutionParams } from "./types";
2
3
  /**
3
4
  * Convert a bigint to little-endian bytes
4
5
  * @param value - The value to convert
@@ -33,6 +34,10 @@ export declare function toU64Le(value: bigint): Buffer;
33
34
  * Convert a number to u32 little-endian buffer
34
35
  */
35
36
  export declare function toU32Le(value: number): Buffer;
37
+ /**
38
+ * Convert a number to i16 little-endian buffer
39
+ */
40
+ export declare function toI16Le(value: number): Buffer;
36
41
  /**
37
42
  * Convert a bigint to i64 little-endian buffer (signed)
38
43
  */
@@ -56,11 +61,11 @@ export declare function deriveConditionId(oracle: PublicKey, questionId: Buffer,
56
61
  * Derive Associated Token Address
57
62
  * @param mint - The token mint
58
63
  * @param owner - The owner of the ATA
59
- * @param token2022 - Whether to use Token-2022 program
64
+ * @param token2022 - Deprecated. Conditional tokens now use SPL Token.
60
65
  */
61
66
  export declare function getAssociatedTokenAddress(mint: PublicKey, owner: PublicKey, token2022?: boolean): PublicKey;
62
67
  /**
63
- * Get ATA for a conditional token (always Token-2022)
68
+ * Get ATA for a conditional token (SPL Token)
64
69
  */
65
70
  export declare function getConditionalTokenAta(mint: PublicKey, owner: PublicKey): PublicKey;
66
71
  /**
@@ -71,6 +76,14 @@ export declare function getDepositTokenAta(mint: PublicKey, owner: PublicKey): P
71
76
  * Serialize a string with u16 length prefix (little-endian)
72
77
  */
73
78
  export declare function serializeString(str: string): Buffer;
79
+ /**
80
+ * Serialize a string with u32 length prefix (little-endian), enforcing max UTF-8 bytes.
81
+ */
82
+ export declare function serializeStringU32(str: string, maxBytes: number): Buffer;
83
+ /**
84
+ * Serialize conditional metadata instruction strings.
85
+ */
86
+ export declare function serializeConditionalMetadata(name: string, symbol: string, uri: string): Buffer;
74
87
  /**
75
88
  * Deserialize a string with u16 length prefix
76
89
  * @returns [string, bytesConsumed]
@@ -84,8 +97,24 @@ export declare function validateOutcomes(numOutcomes: number): void;
84
97
  * Validate that an outcome index is valid for a market
85
98
  */
86
99
  export declare function validateOutcomeIndex(outcomeIndex: number, numOutcomes: number): void;
100
+ /**
101
+ * Validate a maker/taker fee pair against program rules.
102
+ */
103
+ export declare function validateFeePair(makerFeeBps: number, takerFeeBps: number): void;
87
104
  /**
88
105
  * Validate that a buffer is exactly 32 bytes
89
106
  */
90
107
  export declare function validate32Bytes(buffer: Buffer, name: string): void;
108
+ /**
109
+ * Build a winner-takes-all payout vector for a binary or multi-outcome market.
110
+ */
111
+ export declare function winnerTakesAllPayoutNumerators(winningOutcome: number, numOutcomes: number): number[];
112
+ /**
113
+ * Convert a two-sided scalar resolution into program payout numerators.
114
+ *
115
+ * All values are integer fixed-point BigInts. The resolved value is clamped to
116
+ * [minValue, maxValue], reduced by GCD, and checked against the program's u32
117
+ * payout representation.
118
+ */
119
+ export declare function scalarToPayoutNumerators(params: ScalarResolutionParams): number[];
91
120
  //# sourceMappingURL=utils.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/program/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAa5C;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ9D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ9D;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;GAEG;AACH,wBAAgB,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI1C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE7C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAI7C;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAO7C;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOhD;AAMD;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE9C;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,SAAS,EACjB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAClB,MAAM,CAOR;AAMD;;;;;GAKG;AACH,wBAAgB,yBAAyB,CACvC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,EAChB,SAAS,GAAE,OAAe,GACzB,SAAS,CASX;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,SAAS,CAEX;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,SAAS,CAEX;AAMD;;GAEG;AACH,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,GACb,CAAC,MAAM,EAAE,MAAM,CAAC,CAIlB;AAMD;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,CAI1D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,IAAI,CAIN;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAIlE"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/program/utils.ts"],"names":[],"mappings":"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"}