@lightconexyz/lightcone-sdk 0.8.3-rc.49 → 0.8.3-rc.50

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 (49) hide show
  1. package/README.md +1 -1
  2. package/dist/domain/orderbook/client.d.ts +1 -3
  3. package/dist/domain/orderbook/client.d.ts.map +1 -1
  4. package/dist/domain/orderbook/client.js +0 -7
  5. package/dist/domain/orderbook/client.js.map +1 -1
  6. package/dist/domain/position/builders.d.ts +4 -42
  7. package/dist/domain/position/builders.d.ts.map +1 -1
  8. package/dist/domain/position/builders.js +7 -96
  9. package/dist/domain/position/builders.js.map +1 -1
  10. package/dist/domain/position/client.d.ts +2 -9
  11. package/dist/domain/position/client.d.ts.map +1 -1
  12. package/dist/domain/position/client.js +0 -24
  13. package/dist/domain/position/client.js.map +1 -1
  14. package/dist/prelude.d.ts +1 -1
  15. package/dist/prelude.d.ts.map +1 -1
  16. package/dist/prelude.js +2 -3
  17. package/dist/prelude.js.map +1 -1
  18. package/dist/program/accounts.d.ts +10 -3
  19. package/dist/program/accounts.d.ts.map +1 -1
  20. package/dist/program/accounts.js +44 -9
  21. package/dist/program/accounts.js.map +1 -1
  22. package/dist/program/constants.d.ts +8 -12
  23. package/dist/program/constants.d.ts.map +1 -1
  24. package/dist/program/constants.js +9 -13
  25. package/dist/program/constants.js.map +1 -1
  26. package/dist/program/error.d.ts +7 -5
  27. package/dist/program/error.d.ts.map +1 -1
  28. package/dist/program/error.js +12 -10
  29. package/dist/program/error.js.map +1 -1
  30. package/dist/program/index.d.ts +6 -6
  31. package/dist/program/index.d.ts.map +1 -1
  32. package/dist/program/index.js +9 -18
  33. package/dist/program/index.js.map +1 -1
  34. package/dist/program/instructions.d.ts +52 -187
  35. package/dist/program/instructions.d.ts.map +1 -1
  36. package/dist/program/instructions.js +157 -338
  37. package/dist/program/instructions.js.map +1 -1
  38. package/dist/program/pda.d.ts +0 -14
  39. package/dist/program/pda.d.ts.map +1 -1
  40. package/dist/program/pda.js +0 -20
  41. package/dist/program/pda.js.map +1 -1
  42. package/dist/program/types.d.ts +16 -69
  43. package/dist/program/types.d.ts.map +1 -1
  44. package/dist/program/types.js.map +1 -1
  45. package/dist/program/utils.d.ts +2 -0
  46. package/dist/program/utils.d.ts.map +1 -1
  47. package/dist/program/utils.js +10 -0
  48. package/dist/program/utils.js.map +1 -1
  49. package/package.json +1 -1
package/README.md CHANGED
@@ -485,7 +485,7 @@ All examples are runnable with `npx tsx examples/<name>.ts`. Examples default to
485
485
  |---------|-------------|
486
486
  | [`read_onchain`](examples/read_onchain.ts) | Read exchange state, market state, user nonce, and PDA derivations via RPC |
487
487
  | [`onchain_transactions`](examples/onchain_transactions.ts) | Build, sign, and submit mint/merge complete set and increment nonce on-chain |
488
- | [`global_deposit_withdrawal`](examples/global_deposit_withdrawal.ts) | Init position tokens, deposit to global pool, move capital into a market, extend an existing ALT, withdraw from global, and merge back to keep the run net-neutral |
488
+ | [`global_deposit_withdrawal`](examples/global_deposit_withdrawal.ts) | Deposit to the global pool, move collateral into a market, withdraw from global, and merge the complete set back |
489
489
 
490
490
  Every instruction builder appends the program's event transport trailer (the
491
491
  event-authority PDA, then the program account) automatically, and public
@@ -1,6 +1,6 @@
1
1
  import { Transaction, type PublicKey, type TransactionInstruction } from "@solana/web3.js";
2
2
  import type { ClientContext } from "../../context";
3
- import type { CloseOrderbookAltParams, CloseOrderbookParams, Orderbook as ProgramOrderbook } from "../../program/types";
3
+ import type { CloseOrderbookParams, Orderbook as ProgramOrderbook } from "../../program/types";
4
4
  import { type BookAggregation } from "./aggregation";
5
5
  import type { OrderbookRules } from "../../shared";
6
6
  import { type OrderbookDepthResponse } from "./wire";
@@ -23,9 +23,7 @@ export declare class Orderbooks {
23
23
  decimals(orderbookId: string): Promise<OrderbookRules>;
24
24
  invalidateDecimals(orderbookId: string): void;
25
25
  clearDecimalsCache(): void;
26
- closeOrderbookAltIx(params: CloseOrderbookAltParams): TransactionInstruction;
27
26
  closeOrderbookIx(params: CloseOrderbookParams): TransactionInstruction;
28
- closeOrderbookAltTx(params: CloseOrderbookAltParams): Transaction;
29
27
  closeOrderbookTx(params: CloseOrderbookParams): Transaction;
30
28
  getOnchain(mintA: PublicKey, mintB: PublicKey): Promise<ProgramOrderbook>;
31
29
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAUnD,OAAO,KAAK,EACV,uBAAuB,EACvB,oBAAoB,EACpB,SAAS,IAAI,gBAAgB,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAIL,KAAK,sBAAsB,EAE5B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;gBAErC,MAAM,EAAE,aAAa;IAMlD,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS;IAMlD;;;;;;;;OAQG;IACG,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,eAAgC,GAC5C,OAAO,CAAC,sBAAsB,CAAC;IA2DlC,8EAA8E;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAiB5D,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI7C,kBAAkB,IAAI,IAAI;IAM1B,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,GAAG,sBAAsB;IAI5E,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,sBAAsB;IAItE,mBAAmB,CAAC,MAAM,EAAE,uBAAuB,GAAG,WAAW;IAKjE,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW;IAOrD,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAWhF"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AASnD,OAAO,KAAK,EACV,oBAAoB,EACpB,SAAS,IAAI,gBAAgB,EAC9B,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,eAAe,CAAC;AACvB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAIL,KAAK,sBAAsB,EAE5B,MAAM,QAAQ,CAAC;AAEhB,qBAAa,UAAU;IAGT,OAAO,CAAC,QAAQ,CAAC,MAAM;IAFnC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAuC;gBAErC,MAAM,EAAE,aAAa;IAMlD,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,SAAS;IAMlD;;;;;;;;OAQG;IACG,GAAG,CACP,WAAW,EAAE,MAAM,EACnB,KAAK,CAAC,EAAE,MAAM,EACd,WAAW,GAAE,eAAgC,GAC5C,OAAO,CAAC,sBAAsB,CAAC;IA2DlC,8EAA8E;IACxE,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAiB5D,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI;IAI7C,kBAAkB,IAAI,IAAI;IAM1B,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,sBAAsB;IAItE,gBAAgB,CAAC,MAAM,EAAE,oBAAoB,GAAG,WAAW;IAOrD,UAAU,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,gBAAgB,CAAC;CAWhF"}
@@ -98,16 +98,9 @@ class Orderbooks {
98
98
  this.rulesCache.clear();
99
99
  }
100
100
  // ── On-chain transaction builders ────────────────────────────────────
101
- closeOrderbookAltIx(params) {
102
- return (0, instructions_1.buildCloseOrderbookAltIx)(params, this.client.programId);
103
- }
104
101
  closeOrderbookIx(params) {
105
102
  return (0, instructions_1.buildCloseOrderbookIx)(params, this.client.programId);
106
103
  }
107
- closeOrderbookAltTx(params) {
108
- const ix = this.closeOrderbookAltIx(params);
109
- return new web3_js_1.Transaction({ feePayer: params.operator }).add(ix);
110
- }
111
104
  closeOrderbookTx(params) {
112
105
  const ix = this.closeOrderbookIx(params);
113
106
  return new web3_js_1.Transaction({ feePayer: params.operator }).add(ix);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/orderbook/client.ts"],"names":[],"mappings":";;;AAAA,6CAA2F;AAE3F,2CAAkD;AAClD,+CAAsD;AACtD,qCAAyC;AACzC,6DAGoC;AACpC,2CAAoD;AACpD,qDAA6F;AAM7F,+CAIuB;AAEvB,iCAMgB;AAEhB,MAAa,UAAU;IAGQ;IAFZ,UAAU,CAAuC;IAElE,YAA6B,MAAqB;QAArB,WAAM,GAAN,MAAM,CAAe;QAChD,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,mBAAmB,IAAI,IAAI,GAAG,EAAE,CAAC;IAC5D,CAAC;IAED,wEAAwE;IAExE,GAAG,CAAC,KAAgB,EAAE,KAAgB;QACpC,OAAO,IAAA,qBAAe,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACjE,CAAC;IAED,wEAAwE;IAExE;;;;;;;;OAQG;IACH,KAAK,CAAC,GAAG,CACP,WAAmB,EACnB,KAAc,EACd,cAA+B,4BAAc;QAE7C,MAAM,SAAS,GAAG,IAAA,iCAAmB,EAAC,WAAW,CAAC,CAAC;QACnD,MAAM,KAAK,GAAG,IAAI,eAAe,EAAE,CAAC;QACpC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,KAAK,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QACpC,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,IAAI,SAAS,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACrC,KAAK,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,CAAC;QACD,MAAM,WAAW,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,kBAAkB,kBAAkB,CAAC,WAAW,CAAC,GAAG,WAAW,CAAC,CAAC,CAAC,IAAI,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;QACpI,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAQpC,GAAG,EAAE,kBAAW,CAAC,UAAU,CAAC,CAAC;QAC/B,IACE,OAAO,GAAG,CAAC,aAAa,KAAK,QAAQ;YACrC,CAAC,GAAG,CAAC,aAAa;YAClB,CAAC,GAAG,CAAC,QAAQ;YACb,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,CAAC,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxC,GAAG,CAAC,QAAQ,CAAC,KAAK,GAAG,CAAC;YACtB,GAAG,CAAC,QAAQ,CAAC,IAAI,GAAG,CAAC;YACrB,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC;YAC7E,CAAC,GAAG,CAAC,cAAc,KAAK,SAAS,IAAI,OAAO,GAAG,CAAC,cAAc,KAAK,SAAS,CAAC;YAC7E,GAAG,CAAC,QAAQ,KAAK,SAAS;YAC1B,GAAG,CAAC,QAAQ,KAAK,IAAI;YACrB,GAAG,CAAC,cAAc,KAAK,SAAS;YAChC,GAAG,CAAC,cAAc,KAAK,IAAI,EAC3B,CAAC;YACD,MAAM,uBAAe,CAAC,aAAa,CACjC,yEAAyE,CAC1E,CAAC;QACJ,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACtC,MAAM,YAAY,GAAG,MAAM,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QAChD,IAAI,QAAQ,GAAG,EAAE,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;YACvC,MAAM,uBAAe,CAAC,aAAa,CACjC,qEAAqE,CACtE,CAAC;QACJ,CAAC;QACD,OAAO;YACL,GAAG,GAAG;YACN,aAAa,EAAE,IAAA,2BAAoB,EAAC,GAAG,CAAC,aAAa,CAAC;YACtD,QAAQ;YACR,cAAc,EAAE,YAAY;YAC5B,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,KAAK;YAC3C,cAAc,EAAE,GAAG,CAAC,cAAc,IAAI,KAAK;SAC5C,CAAC;IACJ,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,QAAQ,CAAC,WAAmB;QAChC,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC;QAC9B,MAAM,QAAQ,GAAG,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QACxC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI;aAC7B,GAAG,CACF,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,mBAAmB,kBAAkB,CAAC,WAAW,CAAC,WAAW,EAC1F,kBAAW,CAAC,UAAU,CACvB;aACA,IAAI,CAAC,6BAAsB,CAAC,CAAC;QAChC,KAAK,CAAC,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAChC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACjB,IAAI,KAAK,CAAC,GAAG,CAAC,WAAW,CAAC,KAAK,OAAO;gBAAE,KAAK,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;QACpE,CAAC,CAAC,CAAC;QACH,OAAO,OAAO,CAAC;IACjB,CAAC;IAED,kBAAkB,CAAC,WAAmB;QACpC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACtC,CAAC;IAED,kBAAkB;QAChB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,wEAAwE;IAExE,mBAAmB,CAAC,MAA+B;QACjD,OAAO,IAAA,uCAAwB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IACjE,CAAC;IAED,gBAAgB,CAAC,MAA4B;QAC3C,OAAO,IAAA,oCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC9D,CAAC;IAED,mBAAmB,CAAC,MAA+B;QACjD,MAAM,EAAE,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC5C,OAAO,IAAI,qBAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,gBAAgB,CAAC,MAA4B;QAC3C,MAAM,EAAE,GAAG,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAAC;QACzC,OAAO,IAAI,qBAAW,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,uEAAuE;IAEvE,KAAK,CAAC,UAAU,CAAC,KAAgB,EAAE,KAAgB;QACjD,MAAM,UAAU,GAAG,IAAA,2BAAiB,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAClD,MAAM,YAAY,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,MAAM,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QAClE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,uBAAe,CAAC,eAAe,CACnC,iBAAiB,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,CAAC,QAAQ,EAAE,EAAE,CAC1D,CAAC;QACJ,CAAC;QACD,OAAO,IAAA,+BAA2B,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IACjE,CAAC;CACF;AAlJD,gCAkJC","sourcesContent":["import { Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { requireConnection } from \"../../context\";\nimport { ProgramSdkError } from \"../../program/error\";\nimport { RetryPolicy } from \"../../http\";\nimport {\n buildCloseOrderbookAltIx,\n buildCloseOrderbookIx,\n} from \"../../program/instructions\";\nimport { getOrderbookPda } from \"../../program/pda\";\nimport { deserializeOrderbook as deserializeProgramOrderbook } from \"../../program/accounts\";\nimport type {\n CloseOrderbookAltParams,\n CloseOrderbookParams,\n Orderbook as ProgramOrderbook,\n} from \"../../program/types\";\nimport {\n FULL_PRECISION,\n validateAggregation,\n type BookAggregation,\n} from \"./aggregation\";\nimport type { OrderbookRules } from \"../../shared\";\nimport {\n orderbookRulesFromWire,\n tradingRulesFromWire,\n type DecimalsResponse,\n type OrderbookDepthResponse,\n type TradingRulesWire,\n} from \"./wire\";\n\nexport class Orderbooks {\n private readonly rulesCache: Map<string, Promise<OrderbookRules>>;\n\n constructor(private readonly client: ClientContext) {\n this.rulesCache = client.orderbookRulesCache ?? new Map();\n }\n\n // ── PDA helpers ──────────────────────────────────────────────────────\n\n pda(mintA: PublicKey, mintB: PublicKey): PublicKey {\n return getOrderbookPda(mintA, mintB, this.client.programId)[0];\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n /**\n * Get live orderbook depth, optionally aggregated (Hyperliquid-style).\n *\n * `depth` is capped server-side at 20 levels per side (omitted, `0`, or\n * `>20` all serve 20). Invalid aggregation combinations throw client-side\n * before any request is made (the server would 400 with\n * `INVALID_ORDERBOOK_QUERY`), and unknown query params are rejected\n * server-side — only `depth`, `nSigFigs`, and `mantissa` are ever sent.\n */\n async get(\n orderbookId: string,\n depth?: number,\n aggregation: BookAggregation = FULL_PRECISION\n ): Promise<OrderbookDepthResponse> {\n const validated = validateAggregation(aggregation);\n const query = new URLSearchParams();\n if (depth !== undefined) {\n query.set(\"depth\", String(depth));\n }\n if (validated.nSigFigs !== undefined) {\n query.set(\"nSigFigs\", String(validated.nSigFigs));\n }\n if (validated.mantissa !== undefined) {\n query.set(\"mantissa\", String(validated.mantissa));\n }\n const queryString = query.toString();\n const url = `${this.client.http.baseUrl()}/api/orderbook/${encodeURIComponent(orderbookId)}${queryString ? `?${queryString}` : \"\"}`;\n const raw = await this.client.http.get<\n Omit<OrderbookDepthResponse, \"trading_rules\" | \"revision\" | \"captured_at_ms\" | \"bids_truncated\" | \"asks_truncated\"> & {\n trading_rules: TradingRulesWire;\n revision: number | bigint | null;\n captured_at_ms: number | bigint | null;\n bids_truncated?: boolean;\n asks_truncated?: boolean;\n }\n >(url, RetryPolicy.Idempotent);\n if (\n typeof raw.price_quantum !== \"string\" ||\n !raw.trading_rules ||\n !raw.decimals ||\n !Number.isSafeInteger(raw.decimals.price) ||\n !Number.isSafeInteger(raw.decimals.size) ||\n raw.decimals.price < 0 ||\n raw.decimals.size < 0 ||\n (raw.bids_truncated !== undefined && typeof raw.bids_truncated !== \"boolean\") ||\n (raw.asks_truncated !== undefined && typeof raw.asks_truncated !== \"boolean\") ||\n raw.revision === undefined ||\n raw.revision === null ||\n raw.captured_at_ms === undefined ||\n raw.captured_at_ms === null\n ) {\n throw ProgramSdkError.serialization(\n \"orderbook depth is missing required projection or trading-rule metadata\"\n );\n }\n const revision = BigInt(raw.revision);\n const capturedAtMs = BigInt(raw.captured_at_ms);\n if (revision < 0n || capturedAtMs < 0n) {\n throw ProgramSdkError.serialization(\n \"orderbook projection revision and capture time must be non-negative\"\n );\n }\n return {\n ...raw,\n trading_rules: tradingRulesFromWire(raw.trading_rules),\n revision,\n captured_at_ms: capturedAtMs,\n bids_truncated: raw.bids_truncated ?? false,\n asks_truncated: raw.asks_truncated ?? false,\n };\n }\n\n /** Fetch and cache the immutable exact admission rules for an active book. */\n async decimals(orderbookId: string): Promise<OrderbookRules> {\n const cache = this.rulesCache;\n const existing = cache.get(orderbookId);\n if (existing) return existing;\n const request = this.client.http\n .get<DecimalsResponse>(\n `${this.client.http.baseUrl()}/api/orderbooks/${encodeURIComponent(orderbookId)}/decimals`,\n RetryPolicy.Idempotent\n )\n .then(orderbookRulesFromWire);\n cache.set(orderbookId, request);\n request.catch(() => {\n if (cache.get(orderbookId) === request) cache.delete(orderbookId);\n });\n return request;\n }\n\n invalidateDecimals(orderbookId: string): void {\n this.rulesCache.delete(orderbookId);\n }\n\n clearDecimalsCache(): void {\n this.rulesCache.clear();\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n closeOrderbookAltIx(params: CloseOrderbookAltParams): TransactionInstruction {\n return buildCloseOrderbookAltIx(params, this.client.programId);\n }\n\n closeOrderbookIx(params: CloseOrderbookParams): TransactionInstruction {\n return buildCloseOrderbookIx(params, this.client.programId);\n }\n\n closeOrderbookAltTx(params: CloseOrderbookAltParams): Transaction {\n const ix = this.closeOrderbookAltIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n closeOrderbookTx(params: CloseOrderbookParams): Transaction {\n const ix = this.closeOrderbookIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n // ── On-chain account fetchers (require Connection) ──────────────────\n\n async getOnchain(mintA: PublicKey, mintB: PublicKey): Promise<ProgramOrderbook> {\n const connection = requireConnection(this.client);\n const orderbookPda = this.pda(mintA, mintB);\n const accountInfo = await connection.getAccountInfo(orderbookPda);\n if (!accountInfo) {\n throw ProgramSdkError.accountNotFound(\n `Orderbook for ${mintA.toBase58()} / ${mintB.toBase58()}`\n );\n }\n return deserializeProgramOrderbook(accountInfo.data as Buffer);\n }\n}\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/orderbook/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { requireConnection } from \"../../context\";\nimport { ProgramSdkError } from \"../../program/error\";\nimport { RetryPolicy } from \"../../http\";\nimport {\n buildCloseOrderbookIx,\n} from \"../../program/instructions\";\nimport { getOrderbookPda } from \"../../program/pda\";\nimport { deserializeOrderbook as deserializeProgramOrderbook } from \"../../program/accounts\";\nimport type {\n CloseOrderbookParams,\n Orderbook as ProgramOrderbook,\n} from \"../../program/types\";\nimport {\n FULL_PRECISION,\n validateAggregation,\n type BookAggregation,\n} from \"./aggregation\";\nimport type { OrderbookRules } from \"../../shared\";\nimport {\n orderbookRulesFromWire,\n tradingRulesFromWire,\n type DecimalsResponse,\n type OrderbookDepthResponse,\n type TradingRulesWire,\n} from \"./wire\";\n\nexport class Orderbooks {\n private readonly rulesCache: Map<string, Promise<OrderbookRules>>;\n\n constructor(private readonly client: ClientContext) {\n this.rulesCache = client.orderbookRulesCache ?? new Map();\n }\n\n // ── PDA helpers ──────────────────────────────────────────────────────\n\n pda(mintA: PublicKey, mintB: PublicKey): PublicKey {\n return getOrderbookPda(mintA, mintB, this.client.programId)[0];\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n /**\n * Get live orderbook depth, optionally aggregated (Hyperliquid-style).\n *\n * `depth` is capped server-side at 20 levels per side (omitted, `0`, or\n * `>20` all serve 20). Invalid aggregation combinations throw client-side\n * before any request is made (the server would 400 with\n * `INVALID_ORDERBOOK_QUERY`), and unknown query params are rejected\n * server-side — only `depth`, `nSigFigs`, and `mantissa` are ever sent.\n */\n async get(\n orderbookId: string,\n depth?: number,\n aggregation: BookAggregation = FULL_PRECISION\n ): Promise<OrderbookDepthResponse> {\n const validated = validateAggregation(aggregation);\n const query = new URLSearchParams();\n if (depth !== undefined) {\n query.set(\"depth\", String(depth));\n }\n if (validated.nSigFigs !== undefined) {\n query.set(\"nSigFigs\", String(validated.nSigFigs));\n }\n if (validated.mantissa !== undefined) {\n query.set(\"mantissa\", String(validated.mantissa));\n }\n const queryString = query.toString();\n const url = `${this.client.http.baseUrl()}/api/orderbook/${encodeURIComponent(orderbookId)}${queryString ? `?${queryString}` : \"\"}`;\n const raw = await this.client.http.get<\n Omit<OrderbookDepthResponse, \"trading_rules\" | \"revision\" | \"captured_at_ms\" | \"bids_truncated\" | \"asks_truncated\"> & {\n trading_rules: TradingRulesWire;\n revision: number | bigint | null;\n captured_at_ms: number | bigint | null;\n bids_truncated?: boolean;\n asks_truncated?: boolean;\n }\n >(url, RetryPolicy.Idempotent);\n if (\n typeof raw.price_quantum !== \"string\" ||\n !raw.trading_rules ||\n !raw.decimals ||\n !Number.isSafeInteger(raw.decimals.price) ||\n !Number.isSafeInteger(raw.decimals.size) ||\n raw.decimals.price < 0 ||\n raw.decimals.size < 0 ||\n (raw.bids_truncated !== undefined && typeof raw.bids_truncated !== \"boolean\") ||\n (raw.asks_truncated !== undefined && typeof raw.asks_truncated !== \"boolean\") ||\n raw.revision === undefined ||\n raw.revision === null ||\n raw.captured_at_ms === undefined ||\n raw.captured_at_ms === null\n ) {\n throw ProgramSdkError.serialization(\n \"orderbook depth is missing required projection or trading-rule metadata\"\n );\n }\n const revision = BigInt(raw.revision);\n const capturedAtMs = BigInt(raw.captured_at_ms);\n if (revision < 0n || capturedAtMs < 0n) {\n throw ProgramSdkError.serialization(\n \"orderbook projection revision and capture time must be non-negative\"\n );\n }\n return {\n ...raw,\n trading_rules: tradingRulesFromWire(raw.trading_rules),\n revision,\n captured_at_ms: capturedAtMs,\n bids_truncated: raw.bids_truncated ?? false,\n asks_truncated: raw.asks_truncated ?? false,\n };\n }\n\n /** Fetch and cache the immutable exact admission rules for an active book. */\n async decimals(orderbookId: string): Promise<OrderbookRules> {\n const cache = this.rulesCache;\n const existing = cache.get(orderbookId);\n if (existing) return existing;\n const request = this.client.http\n .get<DecimalsResponse>(\n `${this.client.http.baseUrl()}/api/orderbooks/${encodeURIComponent(orderbookId)}/decimals`,\n RetryPolicy.Idempotent\n )\n .then(orderbookRulesFromWire);\n cache.set(orderbookId, request);\n request.catch(() => {\n if (cache.get(orderbookId) === request) cache.delete(orderbookId);\n });\n return request;\n }\n\n invalidateDecimals(orderbookId: string): void {\n this.rulesCache.delete(orderbookId);\n }\n\n clearDecimalsCache(): void {\n this.rulesCache.clear();\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n closeOrderbookIx(params: CloseOrderbookParams): TransactionInstruction {\n return buildCloseOrderbookIx(params, this.client.programId);\n }\n\n closeOrderbookTx(params: CloseOrderbookParams): Transaction {\n const ix = this.closeOrderbookIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n // ── On-chain account fetchers (require Connection) ──────────────────\n\n async getOnchain(mintA: PublicKey, mintB: PublicKey): Promise<ProgramOrderbook> {\n const connection = requireConnection(this.client);\n const orderbookPda = this.pda(mintA, mintB);\n const accountInfo = await connection.getAccountInfo(orderbookPda);\n if (!accountInfo) {\n throw ProgramSdkError.accountNotFound(\n `Orderbook for ${mintA.toBase58()} / ${mintB.toBase58()}`\n );\n }\n return deserializeProgramOrderbook(accountInfo.data as Buffer);\n }\n}\n"]}
@@ -96,12 +96,11 @@ export declare class WithdrawFromPositionBuilder {
96
96
  signAndSubmit(): Promise<string>;
97
97
  }
98
98
  /**
99
- * Builder for initializing a user's position accounts and lookup table.
99
+ * Prepare a beneficiary's Position and conditional ATAs with any signing payer.
100
100
  *
101
- * Permissionless and idempotent: any payer may initialize the accounts, and a
102
- * replay with the same recent slot reuses the existing lookup table and skips
103
- * deposit-mint groups already present, so retries must reuse the slot. At most
104
- * MAX_DEPOSIT_MINTS_PER_IX deposit mints per instruction.
101
+ * Initial, repeated, partial, and additional-group calls use the same instruction.
102
+ * Supply 1..8 distinct collateral mints in increasing global registration-index order.
103
+ * The builder preserves the supplied order and does not fetch registration indices.
105
104
  */
106
105
  export declare class InitPositionTokensBuilder {
107
106
  private readonly client;
@@ -109,46 +108,12 @@ export declare class InitPositionTokensBuilder {
109
108
  private userValue?;
110
109
  private marketValue?;
111
110
  private depositMintsValue?;
112
- private recentSlotValue?;
113
111
  private numOutcomesValue?;
114
112
  constructor(client: ClientContext);
115
113
  payer(payer: PublicKey): this;
116
114
  user(user: PublicKey): this;
117
115
  market(market: PublicKey): this;
118
116
  depositMints(mints: PublicKey[]): this;
119
- recentSlot(slot: bigint): this;
120
- numOutcomes(n: number): this;
121
- buildIx(): TransactionInstruction;
122
- buildTx(): Transaction;
123
- signAndSubmit(): Promise<string>;
124
- }
125
- /**
126
- * Builder for extending an existing position ALT after a market adds deposit
127
- * mints.
128
- *
129
- * Permissionless: any payer may extend the table; the position PDA remains the
130
- * table authority. Deposit-mint groups already present are skipped on chain,
131
- * so existing and new mints may be passed together. At most
132
- * MAX_DEPOSIT_MINTS_PER_IX deposit mints per instruction.
133
- */
134
- export declare class ExtendPositionTokensBuilder {
135
- private readonly client;
136
- private payerValue?;
137
- private userValue?;
138
- private marketValue?;
139
- private lookupTableValue?;
140
- private depositMintsValue?;
141
- private numOutcomesValue?;
142
- constructor(client: ClientContext);
143
- payer(payer: PublicKey): this;
144
- /**
145
- * @deprecated ExtendPositionTokens is permissionless; use {@link payer}.
146
- */
147
- operator(operator: PublicKey): this;
148
- user(user: PublicKey): this;
149
- market(market: PublicKey): this;
150
- lookupTable(lookupTable: PublicKey): this;
151
- depositMints(mints: PublicKey[]): this;
152
117
  numOutcomes(n: number): this;
153
118
  buildIx(): TransactionInstruction;
154
119
  buildTx(): Transaction;
@@ -159,13 +124,10 @@ export declare class DepositToGlobalBuilder {
159
124
  private userValue?;
160
125
  private mintValue?;
161
126
  private amountValue?;
162
- private altContextValue?;
163
127
  constructor(client: ClientContext);
164
128
  user(user: PublicKey): this;
165
129
  mint(mint: PublicKey): this;
166
130
  amount(amount: bigint): this;
167
- createAlt(recentSlot: bigint): this;
168
- extendAlt(lookupTable: PublicKey): this;
169
131
  buildIx(): TransactionInstruction;
170
132
  buildTx(): Transaction;
171
133
  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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"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.GlobalToMarketDepositBuilder = exports.WithdrawFromGlobalBuilder = exports.DepositToGlobalBuilder = exports.ExtendPositionTokensBuilder = exports.InitPositionTokensBuilder = exports.WithdrawFromPositionBuilder = exports.RedeemWinningsBuilder = exports.MergeBuilder = exports.WithdrawBuilder = exports.DepositBuilder = void 0;
3
+ exports.GlobalToMarketDepositBuilder = exports.WithdrawFromGlobalBuilder = exports.DepositToGlobalBuilder = exports.InitPositionTokensBuilder = exports.WithdrawFromPositionBuilder = exports.RedeemWinningsBuilder = exports.MergeBuilder = exports.WithdrawBuilder = exports.DepositBuilder = void 0;
4
4
  const web3_js_1 = require("@solana/web3.js");
5
5
  const context_1 = require("../../context");
6
6
  const error_1 = require("../../error");
@@ -327,12 +327,11 @@ class WithdrawFromPositionBuilder {
327
327
  exports.WithdrawFromPositionBuilder = WithdrawFromPositionBuilder;
328
328
  // ─── InitPositionTokensBuilder ──────────────────────────────────────────────
329
329
  /**
330
- * Builder for initializing a user's position accounts and lookup table.
330
+ * Prepare a beneficiary's Position and conditional ATAs with any signing payer.
331
331
  *
332
- * Permissionless and idempotent: any payer may initialize the accounts, and a
333
- * replay with the same recent slot reuses the existing lookup table and skips
334
- * deposit-mint groups already present, so retries must reuse the slot. At most
335
- * MAX_DEPOSIT_MINTS_PER_IX deposit mints per instruction.
332
+ * Initial, repeated, partial, and additional-group calls use the same instruction.
333
+ * Supply 1..8 distinct collateral mints in increasing global registration-index order.
334
+ * The builder preserves the supplied order and does not fetch registration indices.
336
335
  */
337
336
  class InitPositionTokensBuilder {
338
337
  client;
@@ -340,7 +339,6 @@ class InitPositionTokensBuilder {
340
339
  userValue;
341
340
  marketValue;
342
341
  depositMintsValue;
343
- recentSlotValue;
344
342
  numOutcomesValue;
345
343
  constructor(client) {
346
344
  this.client = client;
@@ -361,10 +359,6 @@ class InitPositionTokensBuilder {
361
359
  this.depositMintsValue = mints;
362
360
  return this;
363
361
  }
364
- recentSlot(slot) {
365
- this.recentSlotValue = slot;
366
- return this;
367
- }
368
362
  numOutcomes(n) {
369
363
  this.numOutcomesValue = n;
370
364
  return this;
@@ -374,9 +368,8 @@ class InitPositionTokensBuilder {
374
368
  const user = requireField(this.userValue, "user");
375
369
  const market = requireField(this.marketValue, "market");
376
370
  const depositMints = requireField(this.depositMintsValue, "deposit_mints");
377
- const recentSlot = requireField(this.recentSlotValue, "recent_slot");
378
371
  const numOutcomes = requireField(this.numOutcomesValue, "num_outcomes");
379
- return (0, instructions_1.buildInitPositionTokensIx)({ payer, user, market, depositMints, recentSlot }, numOutcomes, this.client.programId);
372
+ return (0, instructions_1.buildInitPositionTokensIx)({ payer, user, market, depositMints }, numOutcomes, this.client.programId);
380
373
  }
381
374
  buildTx() {
382
375
  const payer = requireField(this.payerValue, "payer");
@@ -389,84 +382,12 @@ class InitPositionTokensBuilder {
389
382
  }
390
383
  }
391
384
  exports.InitPositionTokensBuilder = InitPositionTokensBuilder;
392
- // ─── ExtendPositionTokensBuilder ────────────────────────────────────────────
393
- /**
394
- * Builder for extending an existing position ALT after a market adds deposit
395
- * mints.
396
- *
397
- * Permissionless: any payer may extend the table; the position PDA remains the
398
- * table authority. Deposit-mint groups already present are skipped on chain,
399
- * so existing and new mints may be passed together. At most
400
- * MAX_DEPOSIT_MINTS_PER_IX deposit mints per instruction.
401
- */
402
- class ExtendPositionTokensBuilder {
403
- client;
404
- payerValue;
405
- userValue;
406
- marketValue;
407
- lookupTableValue;
408
- depositMintsValue;
409
- numOutcomesValue;
410
- constructor(client) {
411
- this.client = client;
412
- }
413
- payer(payer) {
414
- this.payerValue = payer;
415
- return this;
416
- }
417
- /**
418
- * @deprecated ExtendPositionTokens is permissionless; use {@link payer}.
419
- */
420
- operator(operator) {
421
- return this.payer(operator);
422
- }
423
- user(user) {
424
- this.userValue = user;
425
- return this;
426
- }
427
- market(market) {
428
- this.marketValue = market;
429
- return this;
430
- }
431
- lookupTable(lookupTable) {
432
- this.lookupTableValue = lookupTable;
433
- return this;
434
- }
435
- depositMints(mints) {
436
- this.depositMintsValue = mints;
437
- return this;
438
- }
439
- numOutcomes(n) {
440
- this.numOutcomesValue = n;
441
- return this;
442
- }
443
- buildIx() {
444
- const payer = requireField(this.payerValue, "payer");
445
- const user = requireField(this.userValue, "user");
446
- const market = requireField(this.marketValue, "market");
447
- const lookupTable = requireField(this.lookupTableValue, "lookup_table");
448
- const depositMints = requireField(this.depositMintsValue, "deposit_mints");
449
- const numOutcomes = requireField(this.numOutcomesValue, "num_outcomes");
450
- return (0, instructions_1.buildExtendPositionTokensIx)({ payer, user, market, lookupTable, depositMints }, numOutcomes, this.client.programId);
451
- }
452
- buildTx() {
453
- const payer = requireField(this.payerValue, "payer");
454
- const ix = this.buildIx();
455
- return new web3_js_1.Transaction({ feePayer: payer }).add(ix);
456
- }
457
- async signAndSubmit() {
458
- const tx = this.buildTx();
459
- return (0, context_1.signAndSubmitTx)(this.client, tx);
460
- }
461
- }
462
- exports.ExtendPositionTokensBuilder = ExtendPositionTokensBuilder;
463
385
  // ─── DepositToGlobalBuilder ─────────────────────────────────────────────────
464
386
  class DepositToGlobalBuilder {
465
387
  client;
466
388
  userValue;
467
389
  mintValue;
468
390
  amountValue;
469
- altContextValue;
470
391
  constructor(client) {
471
392
  this.client = client;
472
393
  }
@@ -482,22 +403,12 @@ class DepositToGlobalBuilder {
482
403
  this.amountValue = amount;
483
404
  return this;
484
405
  }
485
- createAlt(recentSlot) {
486
- this.altContextValue = { kind: "create", recentSlot };
487
- return this;
488
- }
489
- extendAlt(lookupTable) {
490
- this.altContextValue = { kind: "extend", lookupTable };
491
- return this;
492
- }
493
406
  buildIx() {
494
407
  const user = requireField(this.userValue, "user");
495
408
  const mint = requireField(this.mintValue, "mint");
496
409
  const amount = requireField(this.amountValue, "amount");
497
410
  const params = { user, mint, amount };
498
- return this.altContextValue
499
- ? (0, instructions_1.buildDepositToGlobalIxWithAlt)(params, this.altContextValue, this.client.programId)
500
- : (0, instructions_1.buildDepositToGlobalIx)(params, this.client.programId);
411
+ return (0, instructions_1.buildDepositToGlobalIx)(params, this.client.programId);
501
412
  }
502
413
  buildTx() {
503
414
  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 buildDepositToGlobalIxWithAlt,\n buildExtendPositionTokensIx,\n buildGlobalToMarketDepositIx,\n buildMergeIx,\n buildRedeemWinningsIx,\n buildWithdrawFromGlobalIx,\n buildWithdrawConditionalFromPositionIx,\n buildInitPositionTokensIx,\n} from \"../../program/instructions\";\nimport { validateOutcomeIndex, validateOutcomes } from \"../../program/utils\";\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.numOutcomes;\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 depositMint(depositMint: PublicKey): this {\n return this.mint(depositMint);\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 validateOutcomeIndex(outcomeIndex, market.numOutcomes);\n return buildWithdrawConditionalFromPositionIx(\n { user, market: marketPubkey, depositMint: 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.numOutcomes;\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 depositMintValue?: PublicKey;\n private amountValue?: bigint;\n private outcomeIndexValue?: number;\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 depositMint(depositMint: PublicKey): this {\n this.depositMintValue = depositMint;\n return this;\n }\n\n mint(depositMint: PublicKey): this {\n return this.depositMint(depositMint);\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 numOutcomes(numOutcomes: number): this {\n this.numOutcomesValue = numOutcomes;\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.depositMintValue, \"deposit_mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const outcomeIndex = requireField(this.outcomeIndexValue, \"outcome_index\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n validateOutcomes(numOutcomes);\n validateOutcomeIndex(outcomeIndex, numOutcomes);\n\n return buildWithdrawConditionalFromPositionIx(\n { user, market, depositMint, 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\n/**\n * Builder for initializing a user's position accounts and lookup table.\n *\n * Permissionless and idempotent: any payer may initialize the accounts, and a\n * replay with the same recent slot reuses the existing lookup table and skips\n * deposit-mint groups already present, so retries must reuse the slot. At most\n * MAX_DEPOSIT_MINTS_PER_IX deposit mints per instruction.\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 * Builder for extending an existing position ALT after a market adds deposit\n * mints.\n *\n * Permissionless: any payer may extend the table; the position PDA remains the\n * table authority. Deposit-mint groups already present are skipped on chain,\n * so existing and new mints may be passed together. At most\n * MAX_DEPOSIT_MINTS_PER_IX deposit mints per instruction.\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 /**\n * @deprecated ExtendPositionTokens is permissionless; use {@link payer}.\n */\n operator(operator: PublicKey): this {\n return this.payer(operator);\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 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
+ {"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 buildGlobalToMarketDepositIx,\n buildMergeIx,\n buildRedeemWinningsIx,\n buildWithdrawFromGlobalIx,\n buildWithdrawConditionalFromPositionIx,\n buildInitPositionTokensIx,\n} from \"../../program/instructions\";\nimport { validateOutcomeIndex, validateOutcomes } from \"../../program/utils\";\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.numOutcomes;\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 depositMint(depositMint: PublicKey): this {\n return this.mint(depositMint);\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 validateOutcomeIndex(outcomeIndex, market.numOutcomes);\n return buildWithdrawConditionalFromPositionIx(\n { user, market: marketPubkey, depositMint: 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.numOutcomes;\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 depositMintValue?: PublicKey;\n private amountValue?: bigint;\n private outcomeIndexValue?: number;\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 depositMint(depositMint: PublicKey): this {\n this.depositMintValue = depositMint;\n return this;\n }\n\n mint(depositMint: PublicKey): this {\n return this.depositMint(depositMint);\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 numOutcomes(numOutcomes: number): this {\n this.numOutcomesValue = numOutcomes;\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.depositMintValue, \"deposit_mint\");\n const amount = requireField(this.amountValue, \"amount\");\n const outcomeIndex = requireField(this.outcomeIndexValue, \"outcome_index\");\n const numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n validateOutcomes(numOutcomes);\n validateOutcomeIndex(outcomeIndex, numOutcomes);\n\n return buildWithdrawConditionalFromPositionIx(\n { user, market, depositMint, 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\n/**\n * Prepare a beneficiary's Position and conditional ATAs with any signing payer.\n *\n * Initial, repeated, partial, and additional-group calls use the same instruction.\n * Supply 1..8 distinct collateral mints in increasing global registration-index order.\n * The builder preserves the supplied order and does not fetch registration indices.\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 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 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 numOutcomes = requireField(this.numOutcomesValue, \"num_outcomes\");\n\n return buildInitPositionTokensIx(\n { payer, user, market, 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 const params = { user, mint, amount };\n return 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,11 +1,11 @@
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, WithdrawConditionalFromPositionParams, WithdrawFromPositionParams, InitPositionTokensParams, ExtendPositionTokensParams, DepositToGlobalParams, DepositToGlobalAltContext, GlobalToMarketDepositParams, WithdrawFromGlobalParams, ClosePositionAltParams, ClosePositionTokenAccountsParams } from "../../program/types";
3
+ import type { Position as ProgramPosition, RedeemWinningsParams, WithdrawConditionalFromPositionParams, WithdrawFromPositionParams, InitPositionTokensParams, DepositToGlobalParams, GlobalToMarketDepositParams, WithdrawFromGlobalParams, ClosePositionTokenAccountsParams } from "../../program/types";
4
4
  import type { Market } from "../market";
5
5
  import type { DepositTokenBalancesSnapshot } from "./index";
6
6
  import { type SolActionCosts, type SolBalanceAvailability, type WalletDepositBalancesState } from "./state";
7
7
  import type { MarketPositionsResponse, PositionsResponse } from "./wire";
8
- import { DepositBuilder, MergeBuilder, WithdrawBuilder, RedeemWinningsBuilder, WithdrawFromPositionBuilder, InitPositionTokensBuilder, ExtendPositionTokensBuilder, DepositToGlobalBuilder, WithdrawFromGlobalBuilder, GlobalToMarketDepositBuilder } from "./builders";
8
+ import { DepositBuilder, MergeBuilder, WithdrawBuilder, RedeemWinningsBuilder, WithdrawFromPositionBuilder, InitPositionTokensBuilder, DepositToGlobalBuilder, WithdrawFromGlobalBuilder, GlobalToMarketDepositBuilder } from "./builders";
9
9
  /**
10
10
  * Identifies the SOL-aware operation represented by an action plan.
11
11
  *
@@ -223,23 +223,17 @@ export declare class Positions {
223
223
  withdrawConditionalFromPositionIx(params: WithdrawConditionalFromPositionParams): TransactionInstruction;
224
224
  withdrawFromPositionIx(params: WithdrawFromPositionParams): TransactionInstruction;
225
225
  initPositionTokensIx(params: InitPositionTokensParams, numOutcomes: number): TransactionInstruction;
226
- extendPositionTokensIx(params: ExtendPositionTokensParams, numOutcomes: number): TransactionInstruction;
227
226
  depositToGlobalIx(params: DepositToGlobalParams): TransactionInstruction;
228
- depositToGlobalIxWithAlt(params: DepositToGlobalParams, altContext: DepositToGlobalAltContext): TransactionInstruction;
229
227
  globalToMarketDepositIx(params: GlobalToMarketDepositParams, numOutcomes: number): TransactionInstruction;
230
228
  withdrawFromGlobalIx(params: WithdrawFromGlobalParams): TransactionInstruction;
231
- closePositionAltIx(params: ClosePositionAltParams): TransactionInstruction;
232
229
  closePositionTokenAccountsIx(params: ClosePositionTokenAccountsParams, numOutcomes: number): TransactionInstruction;
233
230
  redeemWinningsTx(params: RedeemWinningsParams, outcomeIndex: number): Transaction;
234
231
  withdrawConditionalFromPositionTx(params: WithdrawConditionalFromPositionParams): Transaction;
235
232
  withdrawFromPositionTx(params: WithdrawFromPositionParams): Transaction;
236
233
  initPositionTokensTx(params: InitPositionTokensParams, numOutcomes: number): Transaction;
237
- extendPositionTokensTx(params: ExtendPositionTokensParams, numOutcomes: number): Transaction;
238
234
  depositToGlobalTx(params: DepositToGlobalParams): Transaction;
239
- depositToGlobalTxWithAlt(params: DepositToGlobalParams, altContext: DepositToGlobalAltContext): Transaction;
240
235
  globalToMarketDepositTx(params: GlobalToMarketDepositParams, numOutcomes: number): Transaction;
241
236
  withdrawFromGlobalTx(params: WithdrawFromGlobalParams): Transaction;
242
- closePositionAltTx(params: ClosePositionAltParams): Transaction;
243
237
  closePositionTokenAccountsTx(params: ClosePositionTokenAccountsParams, numOutcomes: number): Transaction;
244
238
  deposit(): DepositBuilder;
245
239
  merge(): MergeBuilder;
@@ -248,7 +242,6 @@ export declare class Positions {
248
242
  withdrawFromPosition(): WithdrawFromPositionBuilder;
249
243
  withdrawConditionalFromPosition(): WithdrawFromPositionBuilder;
250
244
  initPositionTokens(): InitPositionTokensBuilder;
251
- extendPositionTokens(): ExtendPositionTokensBuilder;
252
245
  depositToGlobal(): DepositToGlobalBuilder;
253
246
  withdrawFromGlobal(): WithdrawFromGlobalBuilder;
254
247
  globalToMarketDeposit(): GlobalToMarketDepositBuilder;