@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
@@ -29,7 +29,6 @@ export declare class WithdrawBuilder {
29
29
  private marketValue?;
30
30
  private depositSourceValue?;
31
31
  private outcomeIndexValue?;
32
- private isToken2022Value;
33
32
  constructor(client: ClientContext, depositSource: DepositSource);
34
33
  user(user: PublicKey): this;
35
34
  mint(mint: PublicKey): this;
@@ -37,7 +36,6 @@ export declare class WithdrawBuilder {
37
36
  market(market: Market): this;
38
37
  depositSource(source: DepositSource): this;
39
38
  outcomeIndex(index: number): this;
40
- token2022(isToken2022: boolean): this;
41
39
  withMarketDepositSource(market: Market): this;
42
40
  withGlobalDepositSource(): this;
43
41
  buildIx(): TransactionInstruction;
@@ -65,13 +63,13 @@ export declare class RedeemWinningsBuilder {
65
63
  private marketValue?;
66
64
  private mintValue?;
67
65
  private amountValue?;
68
- private winningOutcomeValue?;
66
+ private outcomeIndexValue?;
69
67
  constructor(client: ClientContext);
70
68
  user(user: PublicKey): this;
71
69
  market(market: PublicKey): this;
72
70
  mint(mint: PublicKey): this;
73
71
  amount(amount: bigint): this;
74
- winningOutcome(outcome: number): this;
72
+ outcomeIndex(index: number): this;
75
73
  buildIx(): TransactionInstruction;
76
74
  buildTx(): Transaction;
77
75
  signAndSubmit(): Promise<string>;
@@ -83,14 +81,12 @@ export declare class WithdrawFromPositionBuilder {
83
81
  private mintValue?;
84
82
  private amountValue?;
85
83
  private outcomeIndexValue?;
86
- private isToken2022Value;
87
84
  constructor(client: ClientContext);
88
85
  user(user: PublicKey): this;
89
86
  market(market: PublicKey): this;
90
87
  mint(mint: PublicKey): this;
91
88
  amount(amount: bigint): this;
92
89
  outcomeIndex(index: number): this;
93
- token2022(isToken2022: boolean): this;
94
90
  buildIx(): TransactionInstruction;
95
91
  buildTx(): Transaction;
96
92
  signAndSubmit(): Promise<string>;
@@ -114,16 +110,20 @@ export declare class InitPositionTokensBuilder {
114
110
  buildTx(): Transaction;
115
111
  signAndSubmit(): Promise<string>;
116
112
  }
113
+ /**
114
+ * Operator-only builder for extending an existing position ALT after a market
115
+ * adds new deposit mints.
116
+ */
117
117
  export declare class ExtendPositionTokensBuilder {
118
118
  private readonly client;
119
- private payerValue?;
119
+ private operatorValue?;
120
120
  private userValue?;
121
121
  private marketValue?;
122
122
  private lookupTableValue?;
123
123
  private depositMintsValue?;
124
124
  private numOutcomesValue?;
125
125
  constructor(client: ClientContext);
126
- payer(payer: PublicKey): this;
126
+ operator(operator: PublicKey): this;
127
127
  user(user: PublicKey): this;
128
128
  market(market: PublicKey): this;
129
129
  lookupTable(lookupTable: PublicKey): this;
@@ -138,10 +138,13 @@ export declare class DepositToGlobalBuilder {
138
138
  private userValue?;
139
139
  private mintValue?;
140
140
  private amountValue?;
141
+ private altContextValue?;
141
142
  constructor(client: ClientContext);
142
143
  user(user: PublicKey): this;
143
144
  mint(mint: PublicKey): this;
144
145
  amount(amount: bigint): this;
146
+ createAlt(recentSlot: bigint): this;
147
+ extendAlt(lookupTable: PublicKey): this;
145
148
  buildIx(): TransactionInstruction;
146
149
  buildTx(): Transaction;
147
150
  signAndSubmit(): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/domain/position/builders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"builders.d.ts","sourceRoot":"","sources":["../../../src/domain/position/builders.ts"],"names":[],"mappings":"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"}
@@ -93,7 +93,6 @@ class WithdrawBuilder {
93
93
  marketValue;
94
94
  depositSourceValue;
95
95
  outcomeIndexValue;
96
- isToken2022Value = false;
97
96
  constructor(client, depositSource) {
98
97
  this.client = client;
99
98
  this.depositSourceValue = depositSource;
@@ -122,10 +121,6 @@ class WithdrawBuilder {
122
121
  this.outcomeIndexValue = index;
123
122
  return this;
124
123
  }
125
- token2022(isToken2022) {
126
- this.isToken2022Value = isToken2022;
127
- return this;
128
- }
129
124
  withMarketDepositSource(market) {
130
125
  this.depositSourceValue = shared_1.DepositSource.Market;
131
126
  this.marketValue = market;
@@ -150,7 +145,7 @@ class WithdrawBuilder {
150
145
  }
151
146
  const marketPubkey = new web3_js_1.PublicKey(market.pubkey);
152
147
  const outcomeIndex = requireField(this.outcomeIndexValue, "outcome_index");
153
- return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market: marketPubkey, mint, amount, outcomeIndex }, this.isToken2022Value, this.client.programId);
148
+ return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market: marketPubkey, mint, amount, outcomeIndex }, this.client.programId);
154
149
  }
155
150
  }
156
151
  }
@@ -221,7 +216,7 @@ class RedeemWinningsBuilder {
221
216
  marketValue;
222
217
  mintValue;
223
218
  amountValue;
224
- winningOutcomeValue;
219
+ outcomeIndexValue;
225
220
  constructor(client) {
226
221
  this.client = client;
227
222
  }
@@ -241,8 +236,8 @@ class RedeemWinningsBuilder {
241
236
  this.amountValue = amount;
242
237
  return this;
243
238
  }
244
- winningOutcome(outcome) {
245
- this.winningOutcomeValue = outcome;
239
+ outcomeIndex(index) {
240
+ this.outcomeIndexValue = index;
246
241
  return this;
247
242
  }
248
243
  buildIx() {
@@ -250,8 +245,8 @@ class RedeemWinningsBuilder {
250
245
  const market = requireField(this.marketValue, "market");
251
246
  const depositMint = requireField(this.mintValue, "mint");
252
247
  const amount = requireField(this.amountValue, "amount");
253
- const winningOutcome = requireField(this.winningOutcomeValue, "winning_outcome");
254
- return (0, instructions_1.buildRedeemWinningsIx)({ user, market, depositMint, amount }, winningOutcome, this.client.programId);
248
+ const outcomeIndex = requireField(this.outcomeIndexValue, "outcome_index");
249
+ return (0, instructions_1.buildRedeemWinningsIx)({ user, market, depositMint, amount }, outcomeIndex, this.client.programId);
255
250
  }
256
251
  buildTx() {
257
252
  const user = requireField(this.userValue, "user");
@@ -272,7 +267,6 @@ class WithdrawFromPositionBuilder {
272
267
  mintValue;
273
268
  amountValue;
274
269
  outcomeIndexValue;
275
- isToken2022Value = false;
276
270
  constructor(client) {
277
271
  this.client = client;
278
272
  }
@@ -296,17 +290,13 @@ class WithdrawFromPositionBuilder {
296
290
  this.outcomeIndexValue = index;
297
291
  return this;
298
292
  }
299
- token2022(isToken2022) {
300
- this.isToken2022Value = isToken2022;
301
- return this;
302
- }
303
293
  buildIx() {
304
294
  const user = requireField(this.userValue, "user");
305
295
  const market = requireField(this.marketValue, "market");
306
296
  const mint = requireField(this.mintValue, "mint");
307
297
  const amount = requireField(this.amountValue, "amount");
308
298
  const outcomeIndex = requireField(this.outcomeIndexValue, "outcome_index");
309
- return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market, mint, amount, outcomeIndex }, this.isToken2022Value, this.client.programId);
299
+ return (0, instructions_1.buildWithdrawFromPositionIx)({ user, market, mint, amount, outcomeIndex }, this.client.programId);
310
300
  }
311
301
  buildTx() {
312
302
  const user = requireField(this.userValue, "user");
@@ -376,9 +366,13 @@ class InitPositionTokensBuilder {
376
366
  }
377
367
  exports.InitPositionTokensBuilder = InitPositionTokensBuilder;
378
368
  // ─── ExtendPositionTokensBuilder ────────────────────────────────────────────
369
+ /**
370
+ * Operator-only builder for extending an existing position ALT after a market
371
+ * adds new deposit mints.
372
+ */
379
373
  class ExtendPositionTokensBuilder {
380
374
  client;
381
- payerValue;
375
+ operatorValue;
382
376
  userValue;
383
377
  marketValue;
384
378
  lookupTableValue;
@@ -387,8 +381,8 @@ class ExtendPositionTokensBuilder {
387
381
  constructor(client) {
388
382
  this.client = client;
389
383
  }
390
- payer(payer) {
391
- this.payerValue = payer;
384
+ operator(operator) {
385
+ this.operatorValue = operator;
392
386
  return this;
393
387
  }
394
388
  user(user) {
@@ -412,18 +406,18 @@ class ExtendPositionTokensBuilder {
412
406
  return this;
413
407
  }
414
408
  buildIx() {
415
- const payer = requireField(this.payerValue, "payer");
409
+ const operator = requireField(this.operatorValue, "operator");
416
410
  const user = requireField(this.userValue, "user");
417
411
  const market = requireField(this.marketValue, "market");
418
412
  const lookupTable = requireField(this.lookupTableValue, "lookup_table");
419
413
  const depositMints = requireField(this.depositMintsValue, "deposit_mints");
420
414
  const numOutcomes = requireField(this.numOutcomesValue, "num_outcomes");
421
- return (0, instructions_1.buildExtendPositionTokensIx)({ payer, user, market, lookupTable, depositMints }, numOutcomes, this.client.programId);
415
+ return (0, instructions_1.buildExtendPositionTokensIx)({ operator, user, market, lookupTable, depositMints }, numOutcomes, this.client.programId);
422
416
  }
423
417
  buildTx() {
424
- const payer = requireField(this.payerValue, "payer");
418
+ const operator = requireField(this.operatorValue, "operator");
425
419
  const ix = this.buildIx();
426
- return new web3_js_1.Transaction({ feePayer: payer }).add(ix);
420
+ return new web3_js_1.Transaction({ feePayer: operator }).add(ix);
427
421
  }
428
422
  async signAndSubmit() {
429
423
  const tx = this.buildTx();
@@ -437,6 +431,7 @@ class DepositToGlobalBuilder {
437
431
  userValue;
438
432
  mintValue;
439
433
  amountValue;
434
+ altContextValue;
440
435
  constructor(client) {
441
436
  this.client = client;
442
437
  }
@@ -452,11 +447,22 @@ class DepositToGlobalBuilder {
452
447
  this.amountValue = amount;
453
448
  return this;
454
449
  }
450
+ createAlt(recentSlot) {
451
+ this.altContextValue = { kind: "create", recentSlot };
452
+ return this;
453
+ }
454
+ extendAlt(lookupTable) {
455
+ this.altContextValue = { kind: "extend", lookupTable };
456
+ return this;
457
+ }
455
458
  buildIx() {
456
459
  const user = requireField(this.userValue, "user");
457
460
  const mint = requireField(this.mintValue, "mint");
458
461
  const amount = requireField(this.amountValue, "amount");
459
- return (0, instructions_1.buildDepositToGlobalIx)({ user, mint, amount }, this.client.programId);
462
+ const params = { user, mint, amount };
463
+ return this.altContextValue
464
+ ? (0, instructions_1.buildDepositToGlobalIxWithAlt)(params, this.altContextValue, this.client.programId)
465
+ : (0, instructions_1.buildDepositToGlobalIx)(params, this.client.programId);
460
466
  }
461
467
  buildTx() {
462
468
  const user = requireField(this.userValue, "user");
@@ -1 +1 @@
1
- {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/domain/position/builders.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey, Transaction, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { resolveDepositSource, signAndSubmitTx } from \"../../context\";\nimport { SdkError } from \"../../error\";\nimport {\n buildDepositIx,\n buildDepositToGlobalIx,\n buildExtendPositionTokensIx,\n buildGlobalToMarketDepositIx,\n buildMergeIx,\n buildRedeemWinningsIx,\n buildWithdrawFromGlobalIx,\n buildWithdrawFromPositionIx,\n buildInitPositionTokensIx,\n} from \"../../program/instructions\";\nimport { DepositSource } from \"../../shared\";\nimport type { Market } from \"../market\";\n\n// ─── Helpers ────────────────────────────────────────────────────────────────\n\nfunction requireField<T>(value: T | undefined, field: string): T {\n if (value === undefined) {\n throw SdkError.validation(`${field} is required`);\n }\n return value;\n}\n\n// ─── DepositBuilder ─────────────────────────────────────────────────────────\n\nexport class DepositBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private marketValue?: Market;\n private depositSourceValue?: DepositSource;\n\n constructor(client: ClientContext, depositSource: DepositSource) {\n this.client = client;\n this.depositSourceValue = depositSource;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n market(market: Market): this {\n this.marketValue = market;\n return this;\n }\n\n depositSource(source: DepositSource): this {\n this.depositSourceValue = source;\n return this;\n }\n\n withMarketDepositSource(market: Market): this {\n this.depositSourceValue = DepositSource.Market;\n this.marketValue = market;\n return this;\n }\n\n withGlobalDepositSource(): this {\n this.depositSourceValue = DepositSource.Global;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const source = resolveDepositSource(this.client, this.depositSourceValue);\n\n switch (source) {\n case DepositSource.Global:\n return buildDepositToGlobalIx({ user, mint, amount }, this.client.programId);\n case DepositSource.Market: {\n const market = this.marketValue;\n if (!market) {\n throw SdkError.missingMarketContext(\"market is required for Market deposit source\");\n }\n const marketPubkey = new PublicKey(market.pubkey);\n const numOutcomes = market.outcomes.length;\n return buildDepositIx(\n { user, market: marketPubkey, depositMint: mint, amount },\n numOutcomes,\n this.client.programId,\n );\n }\n }\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── WithdrawBuilder ────────────────────────────────────────────────────────\n\nexport class WithdrawBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private marketValue?: Market;\n private depositSourceValue?: DepositSource;\n private outcomeIndexValue?: number;\n private isToken2022Value = false;\n\n constructor(client: ClientContext, depositSource: DepositSource) {\n this.client = client;\n this.depositSourceValue = depositSource;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n market(market: Market): this {\n this.marketValue = market;\n return this;\n }\n\n depositSource(source: DepositSource): this {\n this.depositSourceValue = source;\n return this;\n }\n\n outcomeIndex(index: number): this {\n this.outcomeIndexValue = index;\n return this;\n }\n\n token2022(isToken2022: boolean): this {\n this.isToken2022Value = isToken2022;\n return this;\n }\n\n withMarketDepositSource(market: Market): this {\n this.depositSourceValue = DepositSource.Market;\n this.marketValue = market;\n return this;\n }\n\n withGlobalDepositSource(): this {\n this.depositSourceValue = DepositSource.Global;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const source = resolveDepositSource(this.client, this.depositSourceValue);\n\n switch (source) {\n case DepositSource.Global:\n return buildWithdrawFromGlobalIx({ user, mint, amount }, this.client.programId);\n case DepositSource.Market: {\n const market = this.marketValue;\n if (!market) {\n throw SdkError.missingMarketContext(\"market is required for Market withdrawal\");\n }\n const marketPubkey = new PublicKey(market.pubkey);\n const outcomeIndex = requireField(this.outcomeIndexValue, \"outcome_index\");\n return buildWithdrawFromPositionIx(\n { user, market: marketPubkey, mint, amount, outcomeIndex },\n this.isToken2022Value,\n this.client.programId,\n );\n }\n }\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── MergeBuilder ──────────────────────────────────────────────────────────\n\nexport class MergeBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private marketValue?: Market;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n market(market: Market): this {\n this.marketValue = market;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const market = this.marketValue;\n if (!market) {\n throw SdkError.missingMarketContext(\"market is required for merge\");\n }\n const marketPubkey = new PublicKey(market.pubkey);\n const numOutcomes = market.outcomes.length;\n\n return buildMergeIx(\n { user, market: marketPubkey, depositMint: mint, amount },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── RedeemWinningsBuilder ──────────────────────────────────────────────────\n\nexport class RedeemWinningsBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private winningOutcomeValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n winningOutcome(outcome: number): this {\n this.winningOutcomeValue = outcome;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const depositMint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const winningOutcome = requireField(this.winningOutcomeValue, \"winning_outcome\");\n\n return buildRedeemWinningsIx(\n { user, market, depositMint, amount },\n winningOutcome,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── WithdrawFromPositionBuilder ────────────────────────────────────────────\n\nexport class WithdrawFromPositionBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private outcomeIndexValue?: number;\n private isToken2022Value = false;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n outcomeIndex(index: number): this {\n this.outcomeIndexValue = index;\n return this;\n }\n\n token2022(isToken2022: boolean): this {\n this.isToken2022Value = isToken2022;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const outcomeIndex = requireField(this.outcomeIndexValue, \"outcome_index\");\n\n return buildWithdrawFromPositionIx(\n { user, market, mint, amount, outcomeIndex },\n this.isToken2022Value,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── InitPositionTokensBuilder ──────────────────────────────────────────────\n\nexport class InitPositionTokensBuilder {\n private readonly client: ClientContext;\n private payerValue?: PublicKey;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private depositMintsValue?: PublicKey[];\n private recentSlotValue?: bigint;\n private numOutcomesValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n payer(payer: PublicKey): this {\n this.payerValue = payer;\n return this;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n depositMints(mints: PublicKey[]): this {\n this.depositMintsValue = mints;\n return this;\n }\n\n recentSlot(slot: bigint): this {\n this.recentSlotValue = slot;\n return this;\n }\n\n numOutcomes(n: number): this {\n this.numOutcomesValue = n;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const payer = requireField(this.payerValue, \"payer\");\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const depositMints = requireField(this.depositMintsValue, \"deposit_mints\");\n const recentSlot = requireField(this.recentSlotValue, \"recent_slot\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n\n return buildInitPositionTokensIx(\n { payer, user, market, depositMints, recentSlot },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const payer = requireField(this.payerValue, \"payer\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: payer }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── ExtendPositionTokensBuilder ────────────────────────────────────────────\n\nexport class ExtendPositionTokensBuilder {\n private readonly client: ClientContext;\n private payerValue?: PublicKey;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private lookupTableValue?: PublicKey;\n private depositMintsValue?: PublicKey[];\n private numOutcomesValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n payer(payer: PublicKey): this {\n this.payerValue = payer;\n return this;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n lookupTable(lookupTable: PublicKey): this {\n this.lookupTableValue = lookupTable;\n return this;\n }\n\n depositMints(mints: PublicKey[]): this {\n this.depositMintsValue = mints;\n return this;\n }\n\n numOutcomes(n: number): this {\n this.numOutcomesValue = n;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const payer = requireField(this.payerValue, \"payer\");\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const lookupTable = requireField(this.lookupTableValue, \"lookup_table\");\n const depositMints = requireField(this.depositMintsValue, \"deposit_mints\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n\n return buildExtendPositionTokensIx(\n { payer, user, market, lookupTable, depositMints },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const payer = requireField(this.payerValue, \"payer\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: payer }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── DepositToGlobalBuilder ─────────────────────────────────────────────────\n\nexport class DepositToGlobalBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n\n return buildDepositToGlobalIx({ user, mint, amount }, this.client.programId);\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── WithdrawFromGlobalBuilder ──────────────────────────────────────────────\n\nexport class WithdrawFromGlobalBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n\n return buildWithdrawFromGlobalIx({ user, mint, amount }, this.client.programId);\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── GlobalToMarketDepositBuilder ───────────────────────────────────────────\n\nexport class GlobalToMarketDepositBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private numOutcomesValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n numOutcomes(n: number): this {\n this.numOutcomesValue = n;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const depositMint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n\n return buildGlobalToMarketDepositIx(\n { user, market, depositMint, amount },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n"]}
1
+ {"version":3,"file":"builders.js","sourceRoot":"","sources":["../../../src/domain/position/builders.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey, Transaction, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { resolveDepositSource, signAndSubmitTx } from \"../../context\";\nimport { SdkError } from \"../../error\";\nimport {\n buildDepositIx,\n buildDepositToGlobalIx,\n buildDepositToGlobalIxWithAlt,\n buildExtendPositionTokensIx,\n buildGlobalToMarketDepositIx,\n buildMergeIx,\n buildRedeemWinningsIx,\n buildWithdrawFromGlobalIx,\n buildWithdrawFromPositionIx,\n buildInitPositionTokensIx,\n} from \"../../program/instructions\";\nimport { DepositSource } from \"../../shared\";\nimport type { DepositToGlobalAltContext } from \"../../program/types\";\nimport type { Market } from \"../market\";\n\n// ─── Helpers ────────────────────────────────────────────────────────────────\n\nfunction requireField<T>(value: T | undefined, field: string): T {\n if (value === undefined) {\n throw SdkError.validation(`${field} is required`);\n }\n return value;\n}\n\n// ─── DepositBuilder ─────────────────────────────────────────────────────────\n\nexport class DepositBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private marketValue?: Market;\n private depositSourceValue?: DepositSource;\n\n constructor(client: ClientContext, depositSource: DepositSource) {\n this.client = client;\n this.depositSourceValue = depositSource;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n market(market: Market): this {\n this.marketValue = market;\n return this;\n }\n\n depositSource(source: DepositSource): this {\n this.depositSourceValue = source;\n return this;\n }\n\n withMarketDepositSource(market: Market): this {\n this.depositSourceValue = DepositSource.Market;\n this.marketValue = market;\n return this;\n }\n\n withGlobalDepositSource(): this {\n this.depositSourceValue = DepositSource.Global;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const source = resolveDepositSource(this.client, this.depositSourceValue);\n\n switch (source) {\n case DepositSource.Global:\n return buildDepositToGlobalIx({ user, mint, amount }, this.client.programId);\n case DepositSource.Market: {\n const market = this.marketValue;\n if (!market) {\n throw SdkError.missingMarketContext(\"market is required for Market deposit source\");\n }\n const marketPubkey = new PublicKey(market.pubkey);\n const numOutcomes = market.outcomes.length;\n return buildDepositIx(\n { user, market: marketPubkey, depositMint: mint, amount },\n numOutcomes,\n this.client.programId,\n );\n }\n }\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── WithdrawBuilder ────────────────────────────────────────────────────────\n\nexport class WithdrawBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private marketValue?: Market;\n private depositSourceValue?: DepositSource;\n private outcomeIndexValue?: number;\n\n constructor(client: ClientContext, depositSource: DepositSource) {\n this.client = client;\n this.depositSourceValue = depositSource;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n market(market: Market): this {\n this.marketValue = market;\n return this;\n }\n\n depositSource(source: DepositSource): this {\n this.depositSourceValue = source;\n return this;\n }\n\n outcomeIndex(index: number): this {\n this.outcomeIndexValue = index;\n return this;\n }\n\n withMarketDepositSource(market: Market): this {\n this.depositSourceValue = DepositSource.Market;\n this.marketValue = market;\n return this;\n }\n\n withGlobalDepositSource(): this {\n this.depositSourceValue = DepositSource.Global;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const source = resolveDepositSource(this.client, this.depositSourceValue);\n\n switch (source) {\n case DepositSource.Global:\n return buildWithdrawFromGlobalIx({ user, mint, amount }, this.client.programId);\n case DepositSource.Market: {\n const market = this.marketValue;\n if (!market) {\n throw SdkError.missingMarketContext(\"market is required for Market withdrawal\");\n }\n const marketPubkey = new PublicKey(market.pubkey);\n const outcomeIndex = requireField(this.outcomeIndexValue, \"outcome_index\");\n return buildWithdrawFromPositionIx(\n { user, market: marketPubkey, mint, amount, outcomeIndex },\n this.client.programId,\n );\n }\n }\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── MergeBuilder ──────────────────────────────────────────────────────────\n\nexport class MergeBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private marketValue?: Market;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n market(market: Market): this {\n this.marketValue = market;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const market = this.marketValue;\n if (!market) {\n throw SdkError.missingMarketContext(\"market is required for merge\");\n }\n const marketPubkey = new PublicKey(market.pubkey);\n const numOutcomes = market.outcomes.length;\n\n return buildMergeIx(\n { user, market: marketPubkey, depositMint: mint, amount },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── RedeemWinningsBuilder ──────────────────────────────────────────────────\n\nexport class RedeemWinningsBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private outcomeIndexValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n outcomeIndex(index: number): this {\n this.outcomeIndexValue = index;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const depositMint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const outcomeIndex = requireField(this.outcomeIndexValue, \"outcome_index\");\n\n return buildRedeemWinningsIx(\n { user, market, depositMint, amount },\n outcomeIndex,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── WithdrawFromPositionBuilder ────────────────────────────────────────────\n\nexport class WithdrawFromPositionBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private outcomeIndexValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n outcomeIndex(index: number): this {\n this.outcomeIndexValue = index;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const outcomeIndex = requireField(this.outcomeIndexValue, \"outcome_index\");\n\n return buildWithdrawFromPositionIx(\n { user, market, mint, amount, outcomeIndex },\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── InitPositionTokensBuilder ──────────────────────────────────────────────\n\nexport class InitPositionTokensBuilder {\n private readonly client: ClientContext;\n private payerValue?: PublicKey;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private depositMintsValue?: PublicKey[];\n private recentSlotValue?: bigint;\n private numOutcomesValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n payer(payer: PublicKey): this {\n this.payerValue = payer;\n return this;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n depositMints(mints: PublicKey[]): this {\n this.depositMintsValue = mints;\n return this;\n }\n\n recentSlot(slot: bigint): this {\n this.recentSlotValue = slot;\n return this;\n }\n\n numOutcomes(n: number): this {\n this.numOutcomesValue = n;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const payer = requireField(this.payerValue, \"payer\");\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const depositMints = requireField(this.depositMintsValue, \"deposit_mints\");\n const recentSlot = requireField(this.recentSlotValue, \"recent_slot\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n\n return buildInitPositionTokensIx(\n { payer, user, market, depositMints, recentSlot },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const payer = requireField(this.payerValue, \"payer\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: payer }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── ExtendPositionTokensBuilder ────────────────────────────────────────────\n\n/**\n * Operator-only builder for extending an existing position ALT after a market\n * adds new deposit mints.\n */\nexport class ExtendPositionTokensBuilder {\n private readonly client: ClientContext;\n private operatorValue?: PublicKey;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private lookupTableValue?: PublicKey;\n private depositMintsValue?: PublicKey[];\n private numOutcomesValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n operator(operator: PublicKey): this {\n this.operatorValue = operator;\n return this;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n lookupTable(lookupTable: PublicKey): this {\n this.lookupTableValue = lookupTable;\n return this;\n }\n\n depositMints(mints: PublicKey[]): this {\n this.depositMintsValue = mints;\n return this;\n }\n\n numOutcomes(n: number): this {\n this.numOutcomesValue = n;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const operator = requireField(this.operatorValue, \"operator\");\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const lookupTable = requireField(this.lookupTableValue, \"lookup_table\");\n const depositMints = requireField(this.depositMintsValue, \"deposit_mints\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n\n return buildExtendPositionTokensIx(\n { operator, user, market, lookupTable, depositMints },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const operator = requireField(this.operatorValue, \"operator\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: operator }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── DepositToGlobalBuilder ─────────────────────────────────────────────────\n\nexport class DepositToGlobalBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private altContextValue?: DepositToGlobalAltContext;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n createAlt(recentSlot: bigint): this {\n this.altContextValue = { kind: \"create\", recentSlot };\n return this;\n }\n\n extendAlt(lookupTable: PublicKey): this {\n this.altContextValue = { kind: \"extend\", lookupTable };\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n\n const params = { user, mint, amount };\n return this.altContextValue\n ? buildDepositToGlobalIxWithAlt(params, this.altContextValue, this.client.programId)\n : buildDepositToGlobalIx(params, this.client.programId);\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── WithdrawFromGlobalBuilder ──────────────────────────────────────────────\n\nexport class WithdrawFromGlobalBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const mint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n\n return buildWithdrawFromGlobalIx({ user, mint, amount }, this.client.programId);\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n\n// ─── GlobalToMarketDepositBuilder ───────────────────────────────────────────\n\nexport class GlobalToMarketDepositBuilder {\n private readonly client: ClientContext;\n private userValue?: PublicKey;\n private marketValue?: PublicKey;\n private mintValue?: PublicKey;\n private amountValue?: bigint;\n private numOutcomesValue?: number;\n\n constructor(client: ClientContext) {\n this.client = client;\n }\n\n user(user: PublicKey): this {\n this.userValue = user;\n return this;\n }\n\n market(market: PublicKey): this {\n this.marketValue = market;\n return this;\n }\n\n mint(mint: PublicKey): this {\n this.mintValue = mint;\n return this;\n }\n\n amount(amount: bigint): this {\n this.amountValue = amount;\n return this;\n }\n\n numOutcomes(n: number): this {\n this.numOutcomesValue = n;\n return this;\n }\n\n buildIx(): TransactionInstruction {\n const user = requireField(this.userValue, \"user\");\n const market = requireField(this.marketValue, \"market\");\n const depositMint = requireField(this.mintValue, \"mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n\n return buildGlobalToMarketDepositIx(\n { user, market, depositMint, amount },\n numOutcomes,\n this.client.programId,\n );\n }\n\n buildTx(): Transaction {\n const user = requireField(this.userValue, \"user\");\n const ix = this.buildIx();\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n async signAndSubmit(): Promise<string> {\n const tx = this.buildTx();\n return signAndSubmitTx(this.client, tx);\n }\n}\n"]}
@@ -1,6 +1,8 @@
1
1
  import { PublicKey, Transaction, type TransactionInstruction } from "@solana/web3.js";
2
2
  import type { ClientContext } from "../../context";
3
- import type { Position as ProgramPosition, RedeemWinningsParams, WithdrawFromPositionParams, InitPositionTokensParams, ExtendPositionTokensParams, DepositToGlobalParams, GlobalToMarketDepositParams, WithdrawFromGlobalParams } from "../../program/types";
3
+ import type { Position as ProgramPosition, RedeemWinningsParams, WithdrawFromPositionParams, InitPositionTokensParams, ExtendPositionTokensParams, DepositToGlobalParams, DepositToGlobalAltContext, GlobalToMarketDepositParams, WithdrawFromGlobalParams, ClosePositionAltParams, ClosePositionTokenAccountsParams } from "../../program/types";
4
+ import type { PubkeyStr } from "../../shared";
5
+ import type { DepositTokenBalance } from "./index";
4
6
  import type { MarketPositionsResponse, PositionsResponse } from "./wire";
5
7
  import { DepositBuilder, MergeBuilder, WithdrawBuilder, RedeemWinningsBuilder, WithdrawFromPositionBuilder, InitPositionTokensBuilder, ExtendPositionTokensBuilder, DepositToGlobalBuilder, WithdrawFromGlobalBuilder, GlobalToMarketDepositBuilder } from "./builders";
6
8
  export declare class Positions {
@@ -9,20 +11,79 @@ export declare class Positions {
9
11
  pda(owner: PublicKey, market: PublicKey): PublicKey;
10
12
  get(userPubkey: string): Promise<PositionsResponse>;
11
13
  getForMarket(userPubkey: string, marketPubkey: string): Promise<MarketPositionsResponse>;
12
- redeemWinningsIx(params: RedeemWinningsParams, winningOutcome: number): TransactionInstruction;
13
- withdrawFromPositionIx(params: WithdrawFromPositionParams, isToken2022: boolean): TransactionInstruction;
14
+ /**
15
+ * Get all conditional-token positions for the authenticated user across
16
+ * every market. The wallet is resolved server-side from the auth cookie,
17
+ * so no parameter is required. Same response shape as `get()`.
18
+ *
19
+ * `GET /api/users/positions`
20
+ */
21
+ positions(): Promise<PositionsResponse>;
22
+ /**
23
+ * Same as {@link positions}, but uses the supplied `cookieHeader` for this
24
+ * call instead of the SDK's process-wide cookie store.
25
+ *
26
+ * Intended for server-side cookie forwarding (SSR / server functions)
27
+ * where the per-request browser cookie can't propagate to the shared
28
+ * client. In a browser context this is equivalent to {@link positions}
29
+ * because the runtime is already attaching the cookie via
30
+ * `credentials: "include"`.
31
+ */
32
+ positionsWithCookies(cookieHeader: string): Promise<PositionsResponse>;
33
+ /**
34
+ * Get the authenticated user's positions in a specific market. The wallet
35
+ * is resolved server-side from the auth cookie.
36
+ *
37
+ * `GET /api/users/markets/{market_pubkey}/positions`
38
+ */
39
+ positionsForMarket(marketPubkey: string): Promise<MarketPositionsResponse>;
40
+ /**
41
+ * Same as {@link positionsForMarket}, but uses the supplied `cookieHeader`
42
+ * for this call instead of the SDK's process-wide cookie store. For
43
+ * server-side cookie forwarding (SSR / server functions).
44
+ */
45
+ positionsForMarketWithCookies(marketPubkey: string, cookieHeader: string): Promise<MarketPositionsResponse>;
46
+ /**
47
+ * Get SPL deposit-token balances for the authenticated user.
48
+ *
49
+ * The wallet is resolved server-side from the auth cookie, so no
50
+ * parameter is required. Returns balances keyed by mint pubkey for every
51
+ * deposit token registered in the backend's `deposit_token_metadata`.
52
+ * An empty object means the user has none of the tracked balances — this
53
+ * is not an error.
54
+ */
55
+ depositTokenBalances(): Promise<Record<PubkeyStr, DepositTokenBalance>>;
56
+ /**
57
+ * Same as {@link depositTokenBalances}, but uses the supplied `cookieHeader`
58
+ * for this call instead of the SDK's process-wide cookie store.
59
+ *
60
+ * Intended for server-side cookie forwarding (SSR / server functions)
61
+ * where the per-request browser cookie can't propagate to the shared
62
+ * client. In a browser context this is equivalent to
63
+ * {@link depositTokenBalances} because the runtime is already attaching
64
+ * the cookie via `credentials: "include"`.
65
+ */
66
+ depositTokenBalancesWithCookies(cookieHeader: string): Promise<Record<PubkeyStr, DepositTokenBalance>>;
67
+ redeemWinningsIx(params: RedeemWinningsParams, outcomeIndex: number): TransactionInstruction;
68
+ withdrawFromPositionIx(params: WithdrawFromPositionParams): TransactionInstruction;
14
69
  initPositionTokensIx(params: InitPositionTokensParams, numOutcomes: number): TransactionInstruction;
15
70
  extendPositionTokensIx(params: ExtendPositionTokensParams, numOutcomes: number): TransactionInstruction;
16
71
  depositToGlobalIx(params: DepositToGlobalParams): TransactionInstruction;
72
+ depositToGlobalIxWithAlt(params: DepositToGlobalParams, altContext: DepositToGlobalAltContext): TransactionInstruction;
17
73
  globalToMarketDepositIx(params: GlobalToMarketDepositParams, numOutcomes: number): TransactionInstruction;
18
74
  withdrawFromGlobalIx(params: WithdrawFromGlobalParams): TransactionInstruction;
19
- redeemWinningsTx(params: RedeemWinningsParams, winningOutcome: number): Transaction;
20
- withdrawFromPositionTx(params: WithdrawFromPositionParams, isToken2022: boolean): Transaction;
75
+ closePositionAltIx(params: ClosePositionAltParams): TransactionInstruction;
76
+ closePositionTokenAccountsIx(params: ClosePositionTokenAccountsParams, numOutcomes: number): TransactionInstruction;
77
+ redeemWinningsTx(params: RedeemWinningsParams, outcomeIndex: number): Transaction;
78
+ withdrawFromPositionTx(params: WithdrawFromPositionParams): Transaction;
21
79
  initPositionTokensTx(params: InitPositionTokensParams, numOutcomes: number): Transaction;
22
80
  extendPositionTokensTx(params: ExtendPositionTokensParams, numOutcomes: number): Transaction;
23
81
  depositToGlobalTx(params: DepositToGlobalParams): Transaction;
82
+ depositToGlobalTxWithAlt(params: DepositToGlobalParams, altContext: DepositToGlobalAltContext): Transaction;
24
83
  globalToMarketDepositTx(params: GlobalToMarketDepositParams, numOutcomes: number): Transaction;
25
84
  withdrawFromGlobalTx(params: WithdrawFromGlobalParams): Transaction;
85
+ closePositionAltTx(params: ClosePositionAltParams): Transaction;
86
+ closePositionTokenAccountsTx(params: ClosePositionTokenAccountsParams, numOutcomes: number): Transaction;
26
87
  deposit(): DepositBuilder;
27
88
  merge(): MergeBuilder;
28
89
  withdraw(): WithdrawBuilder;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/position/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACtF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAcnD,OAAO,KAAK,EACV,QAAQ,IAAI,eAAe,EAC3B,oBAAoB,EACpB,0BAA0B,EAC1B,wBAAwB,EACxB,0BAA0B,EAC1B,qBAAqB,EACrB,2BAA2B,EAC3B,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,QAAQ,CAAC;AACzE,OAAO,EACL,cAAc,EACd,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,2BAA2B,EAC3B,yBAAyB,EACzB,2BAA2B,EAC3B,sBAAsB,EACtB,yBAAyB,EACzB,4BAA4B,EAC7B,MAAM,YAAY,CAAC;AAEpB,qBAAa,SAAS;IACR,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,aAAa;IAIlD,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,SAAS;IAM7C,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAKnD,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;IAO9F,gBAAgB,CACd,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,MAAM,GACrB,sBAAsB;IAIzB,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,WAAW,EAAE,OAAO,GACnB,sBAAsB;IAIzB,oBAAoB,CAClB,MAAM,EAAE,wBAAwB,EAChC,WAAW,EAAE,MAAM,GAClB,sBAAsB;IAIzB,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,WAAW,EAAE,MAAM,GAClB,sBAAsB;IAIzB,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,GAAG,sBAAsB;IAIxE,uBAAuB,CACrB,MAAM,EAAE,2BAA2B,EACnC,WAAW,EAAE,MAAM,GAClB,sBAAsB;IAIzB,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,GAAG,sBAAsB;IAM9E,gBAAgB,CACd,MAAM,EAAE,oBAAoB,EAC5B,cAAc,EAAE,MAAM,GACrB,WAAW;IAKd,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,WAAW,EAAE,OAAO,GACnB,WAAW;IAKd,oBAAoB,CAClB,MAAM,EAAE,wBAAwB,EAChC,WAAW,EAAE,MAAM,GAClB,WAAW;IAKd,sBAAsB,CACpB,MAAM,EAAE,0BAA0B,EAClC,WAAW,EAAE,MAAM,GAClB,WAAW;IAKd,iBAAiB,CAAC,MAAM,EAAE,qBAAqB,GAAG,WAAW;IAK7D,uBAAuB,CACrB,MAAM,EAAE,2BAA2B,EACnC,WAAW,EAAE,MAAM,GAClB,WAAW;IAKd,oBAAoB,CAAC,MAAM,EAAE,wBAAwB,GAAG,WAAW;IAOnE,OAAO,IAAI,cAAc;IAIzB,KAAK,IAAI,YAAY;IAIrB,QAAQ,IAAI,eAAe;IAI3B,cAAc,IAAI,qBAAqB;IAIvC,oBAAoB,IAAI,2BAA2B;IAInD,kBAAkB,IAAI,yBAAyB;IAI/C,oBAAoB,IAAI,2BAA2B;IAInD,eAAe,IAAI,sBAAsB;IAIzC,kBAAkB,IAAI,yBAAyB;IAI/C,qBAAqB,IAAI,4BAA4B;IAM/C,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,GAAG,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;CASvF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/position/client.ts"],"names":[],"mappings":"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"}