@lightconexyz/lightcone-sdk 0.2.0 → 0.2.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 (51) hide show
  1. package/dist/domain/orderbook/wire.d.ts +2 -0
  2. package/dist/domain/orderbook/wire.d.ts.map +1 -1
  3. package/dist/domain/orderbook/wire.js.map +1 -1
  4. package/dist/domain/price_history/wire.d.ts +5 -7
  5. package/dist/domain/price_history/wire.d.ts.map +1 -1
  6. package/dist/domain/price_history/wire.js.map +1 -1
  7. package/dist/prelude.d.ts +4 -4
  8. package/dist/prelude.d.ts.map +1 -1
  9. package/dist/prelude.js.map +1 -1
  10. package/dist/program/accounts.d.ts +2 -4
  11. package/dist/program/accounts.d.ts.map +1 -1
  12. package/dist/program/accounts.js +3 -12
  13. package/dist/program/accounts.js.map +1 -1
  14. package/dist/program/client.d.ts +1 -4
  15. package/dist/program/client.d.ts.map +1 -1
  16. package/dist/program/client.js +1 -6
  17. package/dist/program/client.js.map +1 -1
  18. package/dist/program/constants.d.ts +1 -2
  19. package/dist/program/constants.d.ts.map +1 -1
  20. package/dist/program/constants.js +2 -3
  21. package/dist/program/constants.js.map +1 -1
  22. package/dist/program/index.d.ts +2 -2
  23. package/dist/program/index.d.ts.map +1 -1
  24. package/dist/program/index.js +2 -3
  25. package/dist/program/index.js.map +1 -1
  26. package/dist/program/instructions.d.ts +17 -63
  27. package/dist/program/instructions.d.ts.map +1 -1
  28. package/dist/program/instructions.js +45 -206
  29. package/dist/program/instructions.js.map +1 -1
  30. package/dist/program/types.d.ts +2 -23
  31. package/dist/program/types.d.ts.map +1 -1
  32. package/dist/program/types.js.map +1 -1
  33. package/dist/ws/client.browser.d.ts +46 -0
  34. package/dist/ws/client.browser.d.ts.map +1 -0
  35. package/dist/ws/client.browser.js +245 -0
  36. package/dist/ws/client.browser.js.map +1 -0
  37. package/dist/ws/{client.d.ts → client.node.d.ts} +3 -2
  38. package/dist/ws/client.node.d.ts.map +1 -0
  39. package/dist/ws/{client.js → client.node.js} +1 -1
  40. package/dist/ws/client.node.js.map +1 -0
  41. package/dist/ws/index.d.ts +2 -1
  42. package/dist/ws/index.d.ts.map +1 -1
  43. package/dist/ws/index.js +1 -1
  44. package/dist/ws/index.js.map +1 -1
  45. package/dist/ws/types.d.ts +23 -0
  46. package/dist/ws/types.d.ts.map +1 -0
  47. package/dist/ws/types.js +3 -0
  48. package/dist/ws/types.js.map +1 -0
  49. package/package.json +8 -3
  50. package/dist/ws/client.d.ts.map +0 -1
  51. package/dist/ws/client.js.map +0 -1
@@ -49,6 +49,7 @@ export interface OrderBook {
49
49
  orderbook_id: OrderBookId;
50
50
  is_snapshot?: boolean;
51
51
  seq?: number;
52
+ timestamp?: string;
52
53
  bids: WsBookLevel[];
53
54
  asks: WsBookLevel[];
54
55
  }
@@ -57,5 +58,6 @@ export interface WsTickerData {
57
58
  best_bid?: string;
58
59
  best_ask?: string;
59
60
  mid?: string;
61
+ timestamp?: string;
60
62
  }
61
63
  //# sourceMappingURL=wire.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/orderbook/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AAEtD,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,YAAY,EAAE,WAAW,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,aAAa,EAAE,CAAC;IACtB,IAAI,EAAE,aAAa,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,IAAI,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,WAAW,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,WAAW,EAAE,CAAC;IACpB,IAAI,EAAE,WAAW,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,WAAW,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/orderbook/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, Side } from \"../../shared\";\n\nexport interface OrderbookResponse {\n id: number;\n market_pubkey: string;\n orderbook_id: string;\n base_token: string;\n quote_token: string;\n outcome_index?: number;\n tick_size: number;\n total_bids: number;\n total_asks: number;\n last_trade_price?: string;\n last_trade_time?: string;\n active: boolean;\n created_at: string;\n updated_at: string;\n}\n\nexport interface OrderbooksResponse {\n orderbooks: OrderbookResponse[];\n total: number;\n}\n\nexport interface RestBookLevel {\n price: string;\n size: string;\n orders?: number;\n}\n\nexport interface OrderbookDepthResponse {\n orderbook_id: OrderBookId;\n market_pubkey?: string;\n best_bid?: string;\n best_ask?: string;\n spread?: string;\n tick_size?: string;\n bids: RestBookLevel[];\n asks: RestBookLevel[];\n}\n\nexport interface DecimalsResponse {\n orderbook_id: string;\n base_decimals: number;\n quote_decimals: number;\n price_decimals: number;\n}\n\nexport interface WsBookLevel {\n side: Side;\n price: string;\n size: string;\n}\n\nexport interface OrderBook {\n orderbook_id: OrderBookId;\n is_snapshot?: boolean;\n seq?: number;\n bids: WsBookLevel[];\n asks: WsBookLevel[];\n}\n\nexport interface WsTickerData {\n orderbook_id: OrderBookId;\n best_bid?: string;\n best_ask?: string;\n mid?: string;\n}\n"]}
1
+ {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/orderbook/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, Side } from \"../../shared\";\n\nexport interface OrderbookResponse {\n id: number;\n market_pubkey: string;\n orderbook_id: string;\n base_token: string;\n quote_token: string;\n outcome_index?: number;\n tick_size: number;\n total_bids: number;\n total_asks: number;\n last_trade_price?: string;\n last_trade_time?: string;\n active: boolean;\n created_at: string;\n updated_at: string;\n}\n\nexport interface OrderbooksResponse {\n orderbooks: OrderbookResponse[];\n total: number;\n}\n\nexport interface RestBookLevel {\n price: string;\n size: string;\n orders?: number;\n}\n\nexport interface OrderbookDepthResponse {\n orderbook_id: OrderBookId;\n market_pubkey?: string;\n best_bid?: string;\n best_ask?: string;\n spread?: string;\n tick_size?: string;\n bids: RestBookLevel[];\n asks: RestBookLevel[];\n}\n\nexport interface DecimalsResponse {\n orderbook_id: string;\n base_decimals: number;\n quote_decimals: number;\n price_decimals: number;\n}\n\nexport interface WsBookLevel {\n side: Side;\n price: string;\n size: string;\n}\n\nexport interface OrderBook {\n orderbook_id: OrderBookId;\n is_snapshot?: boolean;\n seq?: number;\n timestamp?: string;\n bids: WsBookLevel[];\n asks: WsBookLevel[];\n}\n\nexport interface WsTickerData {\n orderbook_id: OrderBookId;\n best_bid?: string;\n best_ask?: string;\n mid?: string;\n timestamp?: string;\n}\n"]}
@@ -16,6 +16,7 @@ export interface PriceHistorySnapshot {
16
16
  prices: PriceCandle[];
17
17
  last_timestamp?: number;
18
18
  server_time?: number;
19
+ include_ohlcv?: boolean;
19
20
  }
20
21
  export interface PriceHistoryUpdate {
21
22
  orderbook_id: OrderBookId;
@@ -34,14 +35,11 @@ export interface PriceHistoryHeartbeat {
34
35
  server_time: number;
35
36
  last_processed?: number;
36
37
  }
37
- export type PriceHistory = {
38
+ export type PriceHistory = ({
38
39
  event_type: "snapshot";
39
- payload: PriceHistorySnapshot;
40
- } | {
40
+ } & PriceHistorySnapshot) | ({
41
41
  event_type: "update";
42
- payload: PriceHistoryUpdate;
43
- } | {
42
+ } & PriceHistoryUpdate) | ({
44
43
  event_type: "heartbeat";
45
- payload: PriceHistoryHeartbeat;
46
- };
44
+ } & PriceHistoryHeartbeat);
47
45
  //# sourceMappingURL=wire.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/price_history/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,UAAU,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE,oBAAoB,CAAA;CAAE,GACzD;IAAE,UAAU,EAAE,QAAQ,CAAC;IAAC,OAAO,EAAE,kBAAkB,CAAA;CAAE,GACrD;IAAE,UAAU,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,qBAAqB,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/price_history/wire.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,MAAM,EAAE,WAAW,EAAE,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,YAAY,EAAE,WAAW,CAAC;IAC1B,UAAU,EAAE,UAAU,CAAC;IACvB,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,CAAC,CAAC,EAAE,MAAM,CAAC;IACX,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,qBAAqB;IACpC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,YAAY,GACpB,CAAC;IAAE,UAAU,EAAE,UAAU,CAAA;CAAE,GAAG,oBAAoB,CAAC,GACnD,CAAC;IAAE,UAAU,EAAE,QAAQ,CAAA;CAAE,GAAG,kBAAkB,CAAC,GAC/C,CAAC;IAAE,UAAU,EAAE,WAAW,CAAA;CAAE,GAAG,qBAAqB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/price_history/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, Resolution } from \"../../shared\";\n\nexport interface PriceCandle {\n t: number;\n m?: string;\n o?: string;\n h?: string;\n l?: string;\n c?: string;\n v?: string;\n bb?: string;\n ba?: string;\n}\n\nexport interface PriceHistorySnapshot {\n orderbook_id: OrderBookId;\n resolution: Resolution;\n prices: PriceCandle[];\n last_timestamp?: number;\n server_time?: number;\n}\n\nexport interface PriceHistoryUpdate {\n orderbook_id: OrderBookId;\n resolution: Resolution;\n t: number;\n m?: string;\n o?: string;\n h?: string;\n l?: string;\n c?: string;\n v?: string;\n bb?: string;\n ba?: string;\n}\n\nexport interface PriceHistoryHeartbeat {\n server_time: number;\n last_processed?: number;\n}\n\nexport type PriceHistory =\n | { event_type: \"snapshot\"; payload: PriceHistorySnapshot }\n | { event_type: \"update\"; payload: PriceHistoryUpdate }\n | { event_type: \"heartbeat\"; payload: PriceHistoryHeartbeat };\n"]}
1
+ {"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/price_history/wire.ts"],"names":[],"mappings":"","sourcesContent":["import type { OrderBookId, Resolution } from \"../../shared\";\n\nexport interface PriceCandle {\n t: number;\n m?: string;\n o?: string;\n h?: string;\n l?: string;\n c?: string;\n v?: string;\n bb?: string;\n ba?: string;\n}\n\nexport interface PriceHistorySnapshot {\n orderbook_id: OrderBookId;\n resolution: Resolution;\n prices: PriceCandle[];\n last_timestamp?: number;\n server_time?: number;\n include_ohlcv?: boolean;\n}\n\nexport interface PriceHistoryUpdate {\n orderbook_id: OrderBookId;\n resolution: Resolution;\n t: number;\n m?: string;\n o?: string;\n h?: string;\n l?: string;\n c?: string;\n v?: string;\n bb?: string;\n ba?: string;\n}\n\nexport interface PriceHistoryHeartbeat {\n server_time: number;\n last_processed?: number;\n}\n\nexport type PriceHistory =\n | ({ event_type: \"snapshot\" } & PriceHistorySnapshot)\n | ({ event_type: \"update\" } & PriceHistoryUpdate)\n | ({ event_type: \"heartbeat\" } & PriceHistoryHeartbeat);\n"]}
package/dist/prelude.d.ts CHANGED
@@ -12,22 +12,22 @@ export { Trades } from "./domain/trade";
12
12
  export { PriceHistoryClient } from "./domain/price_history";
13
13
  export { Referrals } from "./domain/referral";
14
14
  export type { Market, Status, Outcome, ConditionalToken, DepositAsset, Token, TokenMetadata, ValidatedTokens, } from "./domain/market";
15
- export type { OrderBookPair, OutcomeImpact, TickerData, } from "./domain/orderbook";
15
+ export type { OrderBook, OrderBookPair, OutcomeImpact, TickerData, WsBookLevel, } from "./domain/orderbook";
16
16
  export { OrderBookValidationError } from "./domain/orderbook";
17
17
  export { OrderbookSnapshot } from "./domain/orderbook/state";
18
18
  export type { CancelAllBody, CancelAllSuccess, CancelBody, CancelSuccess, CancelTriggerBody, CancelTriggerSuccess, ConditionalBalance, FillInfo, Order, OrderEvent, OrderStatus, OrderType, SubmitOrderResponse, TriggerOrder, TriggerOrderResponse, TriggerOrderUpdate, UserSnapshotBalance, UserSnapshotOrder, UserOrdersResponse, } from "./domain/order";
19
19
  export type { UserOpenOrders, UserTriggerOrders } from "./domain/order/state";
20
20
  export type { Portfolio, Position, PositionOutcome, WalletHolding, TokenBalance, TokenBalanceComputedBase, TokenBalanceTokenType, DepositAssetMetadata, DepositTokenBalance, } from "./domain/position";
21
- export type { Trade } from "./domain/trade";
21
+ export type { Trade, WsTrade } from "./domain/trade";
22
22
  export { TradeHistory } from "./domain/trade/state";
23
- export type { LineData } from "./domain/price_history";
23
+ export type { LineData, PriceCandle, PriceHistory, PriceHistorySnapshot, PriceHistoryUpdate, } from "./domain/price_history";
24
24
  export { PriceHistoryState } from "./domain/price_history";
25
25
  export type { AuthCredentials, ChainType, EmbeddedWallet, LinkedAccount, LinkedAccountType, User, } from "./auth";
26
26
  export { LimitOrderEnvelope, TriggerOrderEnvelope, type OrderEnvelope, type OrderPayload, } from "./program";
27
27
  export type { ExportWalletRequest, ExportWalletResponse, PrivyOrderEnvelope, SignAndSendOrderRequest, SignAndSendTxRequest, SignAndSendTxResponse, } from "./privy";
28
28
  export type { RedeemResult, ReferralCodeInfo, ReferralStatus, } from "./domain/referral";
29
29
  export { RetryPolicy, type RetryConfig, } from "./http";
30
- export type { Kind, MessageIn, MessageOut, SubscribeParams, UnsubscribeParams, WsEvent, } from "./ws";
30
+ export type { IWsClient, Kind, MessageIn, MessageOut, SubscribeParams, UnsubscribeParams, WsConfig, WsEvent, } from "./ws";
31
31
  export type AuthClient = import("./auth").Auth;
32
32
  export type AdminClient = import("./domain/admin").Admin;
33
33
  export type MarketsClient = import("./domain/market").Markets;
@@ -1 +1 @@
1
- {"version":3,"file":"prelude.d.ts","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prelude.d.ts","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":";;;AAAA,mCAekB;AAdhB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AACnB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AAMnB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAA4D;AAAnD,0GAAA,eAAe,OAAA;AAAE,yGAAA,cAAc,OAAA;AAExC,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,gHAAA,sBAAsB,OAAA;AAGxB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,0CAA0C;AAAjC,iGAAA,OAAO,OAAA;AAChB,gDAAgD;AAAvC,uGAAA,UAAU,OAAA;AACnB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAClB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,wDAA4D;AAAnD,mHAAA,kBAAkB,OAAA;AAC3B,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAkBlB,gDAA8D;AAArD,qHAAA,wBAAwB,OAAA;AACjC,kDAA6D;AAApD,0GAAA,iBAAiB,OAAA;AAsC1B,8CAAoD;AAA3C,qGAAA,YAAY,OAAA;AAErB,wDAA2D;AAAlD,kHAAA,iBAAiB,OAAA;AAW1B,qCAKmB;AAJjB,6GAAA,kBAAkB,OAAA;AAClB,+GAAA,oBAAoB,OAAA;AAoBtB,+BAGgB;AAFd,mGAAA,WAAW,OAAA","sourcesContent":["export {\n asOrderBookId,\n asPubkeyStr,\n deriveOrderbookId,\n OrderUpdateType,\n Resolution,\n Side,\n TimeInForce,\n TriggerResultStatus,\n TriggerStatus,\n TriggerType,\n TriggerUpdateType,\n type OrderBookId,\n type PubkeyStr,\n type SubmitOrderRequest,\n} from \"./shared\";\n\nexport { SdkError } from \"./error\";\nexport { DEFAULT_API_URL, DEFAULT_WS_URL } from \"./network\";\n\nexport {\n LightconeClient,\n LightconeClientBuilder,\n} from \"./client\";\n\nexport { Auth } from \"./auth\";\nexport { Admin } from \"./domain/admin\";\nexport { Markets } from \"./domain/market\";\nexport { Orderbooks } from \"./domain/orderbook\";\nexport { Orders } from \"./domain/order\";\nexport { Positions } from \"./domain/position\";\nexport { Trades } from \"./domain/trade\";\nexport { PriceHistoryClient } from \"./domain/price_history\";\nexport { Referrals } from \"./domain/referral\";\n\nexport type {\n Market,\n Status,\n Outcome,\n ConditionalToken,\n DepositAsset,\n Token,\n TokenMetadata,\n ValidatedTokens,\n} from \"./domain/market\";\n\nexport type {\n OrderBookPair,\n OutcomeImpact,\n TickerData,\n} from \"./domain/orderbook\";\nexport { OrderBookValidationError } from \"./domain/orderbook\";\nexport { OrderbookSnapshot } from \"./domain/orderbook/state\";\n\nexport type {\n CancelAllBody,\n CancelAllSuccess,\n CancelBody,\n CancelSuccess,\n CancelTriggerBody,\n CancelTriggerSuccess,\n ConditionalBalance,\n FillInfo,\n Order,\n OrderEvent,\n OrderStatus,\n OrderType,\n SubmitOrderResponse,\n TriggerOrder,\n TriggerOrderResponse,\n TriggerOrderUpdate,\n UserSnapshotBalance,\n UserSnapshotOrder,\n UserOrdersResponse,\n} from \"./domain/order\";\nexport type { UserOpenOrders, UserTriggerOrders } from \"./domain/order/state\";\n\nexport type {\n Portfolio,\n Position,\n PositionOutcome,\n WalletHolding,\n TokenBalance,\n TokenBalanceComputedBase,\n TokenBalanceTokenType,\n DepositAssetMetadata,\n DepositTokenBalance,\n} from \"./domain/position\";\n\nexport type { Trade } from \"./domain/trade\";\nexport { TradeHistory } from \"./domain/trade/state\";\nexport type { LineData } from \"./domain/price_history\";\nexport { PriceHistoryState } from \"./domain/price_history\";\n\nexport type {\n AuthCredentials,\n ChainType,\n EmbeddedWallet,\n LinkedAccount,\n LinkedAccountType,\n User,\n} from \"./auth\";\n\nexport {\n LimitOrderEnvelope,\n TriggerOrderEnvelope,\n type OrderEnvelope,\n type OrderPayload,\n} from \"./program\";\n\nexport type {\n ExportWalletRequest,\n ExportWalletResponse,\n PrivyOrderEnvelope,\n SignAndSendOrderRequest,\n SignAndSendTxRequest,\n SignAndSendTxResponse,\n} from \"./privy\";\n\nexport type {\n RedeemResult,\n ReferralCodeInfo,\n ReferralStatus,\n} from \"./domain/referral\";\n\nexport {\n RetryPolicy,\n type RetryConfig,\n} from \"./http\";\n\nexport type {\n Kind,\n MessageIn,\n MessageOut,\n SubscribeParams,\n UnsubscribeParams,\n WsEvent,\n} from \"./ws\";\n\nexport type AuthClient = import(\"./auth\").Auth;\nexport type AdminClient = import(\"./domain/admin\").Admin;\nexport type MarketsClient = import(\"./domain/market\").Markets;\nexport type MarketsResult = import(\"./domain/market\").MarketsResult;\nexport type OrderbooksClient = import(\"./domain/orderbook\").Orderbooks;\nexport type OrdersClient = import(\"./domain/order\").Orders;\nexport type PositionsClient = import(\"./domain/position\").Positions;\nexport type TradesClient = import(\"./domain/trade\").Trades;\nexport type PriceHistorySubClient = import(\"./domain/price_history\").PriceHistoryClient;\nexport type ReferralsClient = import(\"./domain/referral\").Referrals;\n"]}
1
+ {"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":";;;AAAA,mCAekB;AAdhB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AACX,6GAAA,mBAAmB,OAAA;AACnB,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AAMnB,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,qCAA4D;AAAnD,0GAAA,eAAe,OAAA;AAAE,yGAAA,cAAc,OAAA;AAExC,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,gHAAA,sBAAsB,OAAA;AAGxB,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,wCAAuC;AAA9B,8FAAA,KAAK,OAAA;AACd,0CAA0C;AAAjC,iGAAA,OAAO,OAAA;AAChB,gDAAgD;AAAvC,uGAAA,UAAU,OAAA;AACnB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAClB,wCAAwC;AAA/B,+FAAA,MAAM,OAAA;AACf,wDAA4D;AAAnD,mHAAA,kBAAkB,OAAA;AAC3B,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAoBlB,gDAA8D;AAArD,qHAAA,wBAAwB,OAAA;AACjC,kDAA6D;AAApD,0GAAA,iBAAiB,OAAA;AAsC1B,8CAAoD;AAA3C,qGAAA,YAAY,OAAA;AAQrB,wDAA2D;AAAlD,kHAAA,iBAAiB,OAAA;AAW1B,qCAKmB;AAJjB,6GAAA,kBAAkB,OAAA;AAClB,+GAAA,oBAAoB,OAAA;AAoBtB,+BAGgB;AAFd,mGAAA,WAAW,OAAA","sourcesContent":["export {\n asOrderBookId,\n asPubkeyStr,\n deriveOrderbookId,\n OrderUpdateType,\n Resolution,\n Side,\n TimeInForce,\n TriggerResultStatus,\n TriggerStatus,\n TriggerType,\n TriggerUpdateType,\n type OrderBookId,\n type PubkeyStr,\n type SubmitOrderRequest,\n} from \"./shared\";\n\nexport { SdkError } from \"./error\";\nexport { DEFAULT_API_URL, DEFAULT_WS_URL } from \"./network\";\n\nexport {\n LightconeClient,\n LightconeClientBuilder,\n} from \"./client\";\n\nexport { Auth } from \"./auth\";\nexport { Admin } from \"./domain/admin\";\nexport { Markets } from \"./domain/market\";\nexport { Orderbooks } from \"./domain/orderbook\";\nexport { Orders } from \"./domain/order\";\nexport { Positions } from \"./domain/position\";\nexport { Trades } from \"./domain/trade\";\nexport { PriceHistoryClient } from \"./domain/price_history\";\nexport { Referrals } from \"./domain/referral\";\n\nexport type {\n Market,\n Status,\n Outcome,\n ConditionalToken,\n DepositAsset,\n Token,\n TokenMetadata,\n ValidatedTokens,\n} from \"./domain/market\";\n\nexport type {\n OrderBook,\n OrderBookPair,\n OutcomeImpact,\n TickerData,\n WsBookLevel,\n} from \"./domain/orderbook\";\nexport { OrderBookValidationError } from \"./domain/orderbook\";\nexport { OrderbookSnapshot } from \"./domain/orderbook/state\";\n\nexport type {\n CancelAllBody,\n CancelAllSuccess,\n CancelBody,\n CancelSuccess,\n CancelTriggerBody,\n CancelTriggerSuccess,\n ConditionalBalance,\n FillInfo,\n Order,\n OrderEvent,\n OrderStatus,\n OrderType,\n SubmitOrderResponse,\n TriggerOrder,\n TriggerOrderResponse,\n TriggerOrderUpdate,\n UserSnapshotBalance,\n UserSnapshotOrder,\n UserOrdersResponse,\n} from \"./domain/order\";\nexport type { UserOpenOrders, UserTriggerOrders } from \"./domain/order/state\";\n\nexport type {\n Portfolio,\n Position,\n PositionOutcome,\n WalletHolding,\n TokenBalance,\n TokenBalanceComputedBase,\n TokenBalanceTokenType,\n DepositAssetMetadata,\n DepositTokenBalance,\n} from \"./domain/position\";\n\nexport type { Trade, WsTrade } from \"./domain/trade\";\nexport { TradeHistory } from \"./domain/trade/state\";\nexport type {\n LineData,\n PriceCandle,\n PriceHistory,\n PriceHistorySnapshot,\n PriceHistoryUpdate,\n} from \"./domain/price_history\";\nexport { PriceHistoryState } from \"./domain/price_history\";\n\nexport type {\n AuthCredentials,\n ChainType,\n EmbeddedWallet,\n LinkedAccount,\n LinkedAccountType,\n User,\n} from \"./auth\";\n\nexport {\n LimitOrderEnvelope,\n TriggerOrderEnvelope,\n type OrderEnvelope,\n type OrderPayload,\n} from \"./program\";\n\nexport type {\n ExportWalletRequest,\n ExportWalletResponse,\n PrivyOrderEnvelope,\n SignAndSendOrderRequest,\n SignAndSendTxRequest,\n SignAndSendTxResponse,\n} from \"./privy\";\n\nexport type {\n RedeemResult,\n ReferralCodeInfo,\n ReferralStatus,\n} from \"./domain/referral\";\n\nexport {\n RetryPolicy,\n type RetryConfig,\n} from \"./http\";\n\nexport type {\n IWsClient,\n Kind,\n MessageIn,\n MessageOut,\n SubscribeParams,\n UnsubscribeParams,\n WsConfig,\n WsEvent,\n} from \"./ws\";\n\nexport type AuthClient = import(\"./auth\").Auth;\nexport type AdminClient = import(\"./domain/admin\").Admin;\nexport type MarketsClient = import(\"./domain/market\").Markets;\nexport type MarketsResult = import(\"./domain/market\").MarketsResult;\nexport type OrderbooksClient = import(\"./domain/orderbook\").Orderbooks;\nexport type OrdersClient = import(\"./domain/order\").Orders;\nexport type PositionsClient = import(\"./domain/position\").Positions;\nexport type TradesClient = import(\"./domain/trade\").Trades;\nexport type PriceHistorySubClient = import(\"./domain/price_history\").PriceHistoryClient;\nexport type ReferralsClient = import(\"./domain/referral\").Referrals;\n"]}
@@ -37,8 +37,7 @@ export declare function isGlobalDepositTokenAccount(data: Buffer): boolean;
37
37
  * - market_count: u64 (8 bytes)
38
38
  * - paused: u8 (1 byte)
39
39
  * - bump: u8 (1 byte)
40
- * - deposit_token_count: u16 (2 bytes)
41
- * - _padding: [u8; 4]
40
+ * - _padding: [u8; 6]
42
41
  */
43
42
  export declare function deserializeExchange(data: Buffer): Exchange;
44
43
  /**
@@ -108,8 +107,7 @@ export declare function deserializeOrderbook(data: Buffer): Orderbook;
108
107
  * - mint: Pubkey (32 bytes)
109
108
  * - active: u8 (1 byte)
110
109
  * - bump: u8 (1 byte)
111
- * - index: u16 (2 bytes) - deterministic ALT ordering
112
- * - _padding: [u8; 4]
110
+ * - _padding: [u8; 6]
113
111
  */
114
112
  export declare function deserializeGlobalDepositToken(data: Buffer): GlobalDepositToken;
115
113
  //# sourceMappingURL=accounts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/program/accounts.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,MAAM,EAEN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACV,MAAM,SAAS,CAAC;AAuBjB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjE;AAMD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA2C1D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2EtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA2BhE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAqB5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA+B1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAuC5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CAkC9E"}
1
+ {"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../src/program/accounts.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,QAAQ,EACR,kBAAkB,EAClB,MAAM,EAEN,WAAW,EACX,SAAS,EACT,QAAQ,EACR,SAAS,EACV,MAAM,SAAS,CAAC;AAuBjB;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGrD;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAG1D;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGvD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGxD;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGjE;AAMD;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CAuC1D;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CA2EtD;AAED;;;;;;;;GAQG;AACH,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,WAAW,CA2BhE;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAqB5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,CA+B1D;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAuC5D;AAED;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,CAAC,IAAI,EAAE,MAAM,GAAG,kBAAkB,CA4B9E"}
@@ -99,8 +99,7 @@ function isGlobalDepositTokenAccount(data) {
99
99
  * - market_count: u64 (8 bytes)
100
100
  * - paused: u8 (1 byte)
101
101
  * - bump: u8 (1 byte)
102
- * - deposit_token_count: u16 (2 bytes)
103
- * - _padding: [u8; 4]
102
+ * - _padding: [u8; 6]
104
103
  */
105
104
  function deserializeExchange(data) {
106
105
  if (data.length < constants_1.ACCOUNT_SIZE.EXCHANGE) {
@@ -120,9 +119,7 @@ function deserializeExchange(data) {
120
119
  offset += 1;
121
120
  const bump = data[offset];
122
121
  offset += 1;
123
- const depositTokenCount = data.readUInt16LE(offset);
124
- offset += 2;
125
- // Skip padding: 4 bytes
122
+ // Skip padding: 6 bytes
126
123
  return {
127
124
  discriminator,
128
125
  authority,
@@ -130,7 +127,6 @@ function deserializeExchange(data) {
130
127
  marketCount,
131
128
  paused,
132
129
  bump,
133
- depositTokenCount,
134
130
  };
135
131
  }
136
132
  /**
@@ -338,8 +334,7 @@ function deserializeOrderbook(data) {
338
334
  * - mint: Pubkey (32 bytes)
339
335
  * - active: u8 (1 byte)
340
336
  * - bump: u8 (1 byte)
341
- * - index: u16 (2 bytes) - deterministic ALT ordering
342
- * - _padding: [u8; 4]
337
+ * - _padding: [u8; 6]
343
338
  */
344
339
  function deserializeGlobalDepositToken(data) {
345
340
  if (data.length < constants_1.ACCOUNT_SIZE.GLOBAL_DEPOSIT_TOKEN) {
@@ -355,15 +350,11 @@ function deserializeGlobalDepositToken(data) {
355
350
  offset += 1;
356
351
  const bump = data[offset];
357
352
  offset += 1;
358
- const index = data.readUInt16LE(offset);
359
- offset += 2;
360
- // Skip padding: 4 bytes
361
353
  return {
362
354
  discriminator,
363
355
  mint,
364
356
  active,
365
357
  bump,
366
- index,
367
358
  };
368
359
  }
369
360
  //# sourceMappingURL=accounts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/program/accounts.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey } from \"@solana/web3.js\";\nimport { DISCRIMINATOR, ACCOUNT_SIZE } from \"./constants\";\nimport {\n Exchange,\n GlobalDepositToken,\n Market,\n MarketStatus,\n OrderStatus,\n UserNonce,\n Position,\n Orderbook,\n} from \"./types\";\nimport { fromLeBytes } from \"./utils\";\n\n// ============================================================================\n// DISCRIMINATOR VALIDATION\n// ============================================================================\n\n/**\n * Validate that a buffer starts with the expected discriminator\n */\nfunction validateDiscriminator(\n data: Buffer,\n expected: Buffer,\n accountType: string\n): void {\n const actual = data.subarray(0, 8);\n if (!actual.equals(expected)) {\n throw new Error(\n `Invalid ${accountType} discriminator. Expected ${expected.toString(\"hex\")}, got ${actual.toString(\"hex\")}`\n );\n }\n}\n\n/**\n * Check if a buffer has a valid Exchange discriminator\n */\nexport function isExchangeAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.EXCHANGE);\n}\n\n/**\n * Check if a buffer has a valid Market discriminator\n */\nexport function isMarketAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.MARKET);\n}\n\n/**\n * Check if a buffer has a valid OrderStatus discriminator\n */\nexport function isOrderStatusAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.ORDER_STATUS);\n}\n\n/**\n * Check if a buffer has a valid UserNonce discriminator\n */\nexport function isUserNonceAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.USER_NONCE);\n}\n\n/**\n * Check if a buffer has a valid Position discriminator\n */\nexport function isPositionAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.POSITION);\n}\n\n/**\n * Check if a buffer has a valid Orderbook discriminator\n */\nexport function isOrderbookAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.ORDERBOOK);\n}\n\n/**\n * Check if a buffer has a valid GlobalDepositToken discriminator\n */\nexport function isGlobalDepositTokenAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.GLOBAL_DEPOSIT_TOKEN);\n}\n\n// ============================================================================\n// ACCOUNT DESERIALIZATION\n// ============================================================================\n\n/**\n * Deserialize Exchange account data\n *\n * Layout (88 bytes):\n * - discriminator: [u8; 8]\n * - authority: Pubkey (32 bytes)\n * - operator: Pubkey (32 bytes)\n * - market_count: u64 (8 bytes)\n * - paused: u8 (1 byte)\n * - bump: u8 (1 byte)\n * - deposit_token_count: u16 (2 bytes)\n * - _padding: [u8; 4]\n */\nexport function deserializeExchange(data: Buffer): Exchange {\n if (data.length < ACCOUNT_SIZE.EXCHANGE) {\n throw new Error(\n `Invalid Exchange data length: ${data.length}, expected ${ACCOUNT_SIZE.EXCHANGE}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.EXCHANGE, \"Exchange\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const authority = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const operator = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const marketCount = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n const paused = data[offset] !== 0;\n offset += 1;\n\n const bump = data[offset];\n offset += 1;\n\n const depositTokenCount = data.readUInt16LE(offset);\n offset += 2;\n\n // Skip padding: 4 bytes\n\n return {\n discriminator,\n authority,\n operator,\n marketCount,\n paused,\n bump,\n depositTokenCount,\n };\n}\n\n/**\n * Deserialize Market account data\n *\n * Layout (120 bytes):\n * - discriminator: [u8; 8]\n * - market_id: u64 (8 bytes)\n * - num_outcomes: u8 (1 byte)\n * - status: u8 (1 byte)\n * - winning_outcome: u8 (1 byte)\n * - has_winning_outcome: u8 (1 byte)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 3]\n * - oracle: Pubkey (32 bytes)\n * - question_id: [u8; 32]\n * - condition_id: [u8; 32]\n */\nexport function deserializeMarket(data: Buffer): Market {\n if (data.length < ACCOUNT_SIZE.MARKET) {\n throw new Error(\n `Invalid Market data length: ${data.length}, expected ${ACCOUNT_SIZE.MARKET}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.MARKET, \"Market\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const marketId = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n const numOutcomes = data[offset];\n offset += 1;\n\n const statusByte = data[offset];\n offset += 1;\n\n const winningOutcome = data[offset];\n offset += 1;\n\n const hasWinningOutcome = data[offset] !== 0;\n offset += 1;\n\n const bump = data[offset];\n offset += 1;\n\n // Skip padding: 3 bytes\n offset += 3;\n\n const oracle = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const questionId = Buffer.from(data.subarray(offset, offset + 32));\n offset += 32;\n\n const conditionId = Buffer.from(data.subarray(offset, offset + 32));\n offset += 32;\n\n // Map status byte to enum\n let status: MarketStatus;\n switch (statusByte) {\n case 0:\n status = MarketStatus.Pending;\n break;\n case 1:\n status = MarketStatus.Active;\n break;\n case 2:\n status = MarketStatus.Resolved;\n break;\n case 3:\n status = MarketStatus.Cancelled;\n break;\n default:\n throw new Error(`Unknown market status: ${statusByte}`);\n }\n\n return {\n discriminator,\n marketId,\n numOutcomes,\n status,\n winningOutcome,\n hasWinningOutcome,\n bump,\n oracle,\n questionId,\n conditionId,\n };\n}\n\n/**\n * Deserialize OrderStatus account data\n *\n * Layout (24 bytes):\n * - discriminator: [u8; 8]\n * - remaining: u64 (8 bytes)\n * - is_cancelled: u8 (1 byte)\n * - _padding: [u8; 7]\n */\nexport function deserializeOrderStatus(data: Buffer): OrderStatus {\n if (data.length < ACCOUNT_SIZE.ORDER_STATUS) {\n throw new Error(\n `Invalid OrderStatus data length: ${data.length}, expected ${ACCOUNT_SIZE.ORDER_STATUS}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.ORDER_STATUS, \"OrderStatus\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const remaining = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n const isCancelled = data[offset] !== 0;\n offset += 1;\n\n // Skip padding: 7 bytes\n\n return {\n discriminator,\n remaining,\n isCancelled,\n };\n}\n\n/**\n * Deserialize UserNonce account data\n *\n * Layout (16 bytes):\n * - discriminator: [u8; 8]\n * - nonce: u64 (8 bytes)\n */\nexport function deserializeUserNonce(data: Buffer): UserNonce {\n if (data.length < ACCOUNT_SIZE.USER_NONCE) {\n throw new Error(\n `Invalid UserNonce data length: ${data.length}, expected ${ACCOUNT_SIZE.USER_NONCE}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.USER_NONCE, \"UserNonce\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const nonce = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n return {\n discriminator,\n nonce,\n };\n}\n\n/**\n * Deserialize Position account data\n *\n * Layout (80 bytes):\n * - discriminator: [u8; 8]\n * - owner: Pubkey (32 bytes)\n * - market: Pubkey (32 bytes)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 7]\n */\nexport function deserializePosition(data: Buffer): Position {\n if (data.length < ACCOUNT_SIZE.POSITION) {\n throw new Error(\n `Invalid Position data length: ${data.length}, expected ${ACCOUNT_SIZE.POSITION}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.POSITION, \"Position\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const owner = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const market = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const bump = data[offset];\n offset += 1;\n\n // Skip padding: 7 bytes\n\n return {\n discriminator,\n owner,\n market,\n bump,\n };\n}\n\n/**\n * Deserialize Orderbook account data\n *\n * Layout (144 bytes):\n * - discriminator: [u8; 8]\n * - market: Pubkey (32 bytes)\n * - mint_a: Pubkey (32 bytes)\n * - mint_b: Pubkey (32 bytes)\n * - lookup_table: Pubkey (32 bytes)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 7]\n */\nexport function deserializeOrderbook(data: Buffer): Orderbook {\n if (data.length < ACCOUNT_SIZE.ORDERBOOK) {\n throw new Error(\n `Invalid Orderbook data length: ${data.length}, expected ${ACCOUNT_SIZE.ORDERBOOK}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.ORDERBOOK, \"Orderbook\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const market = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const mintA = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const mintB = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const lookupTable = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const bump = data[offset];\n offset += 1;\n\n // Skip padding: 7 bytes\n\n return {\n discriminator,\n market,\n mintA,\n mintB,\n lookupTable,\n bump,\n };\n}\n\n/**\n * Deserialize GlobalDepositToken account data\n *\n * Layout (48 bytes):\n * - discriminator: [u8; 8]\n * - mint: Pubkey (32 bytes)\n * - active: u8 (1 byte)\n * - bump: u8 (1 byte)\n * - index: u16 (2 bytes) - deterministic ALT ordering\n * - _padding: [u8; 4]\n */\nexport function deserializeGlobalDepositToken(data: Buffer): GlobalDepositToken {\n if (data.length < ACCOUNT_SIZE.GLOBAL_DEPOSIT_TOKEN) {\n throw new Error(\n `Invalid GlobalDepositToken data length: ${data.length}, expected ${ACCOUNT_SIZE.GLOBAL_DEPOSIT_TOKEN}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.GLOBAL_DEPOSIT_TOKEN, \"GlobalDepositToken\");\n\n let offset = 0;\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const mint = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const active = data[offset] !== 0;\n offset += 1;\n\n const bump = data[offset];\n offset += 1;\n\n const index = data.readUInt16LE(offset);\n offset += 2;\n\n // Skip padding: 4 bytes\n\n return {\n discriminator,\n mint,\n active,\n bump,\n index,\n };\n}\n"]}
1
+ {"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/program/accounts.ts"],"names":[],"mappings":"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","sourcesContent":["import { PublicKey } from \"@solana/web3.js\";\nimport { DISCRIMINATOR, ACCOUNT_SIZE } from \"./constants\";\nimport {\n Exchange,\n GlobalDepositToken,\n Market,\n MarketStatus,\n OrderStatus,\n UserNonce,\n Position,\n Orderbook,\n} from \"./types\";\nimport { fromLeBytes } from \"./utils\";\n\n// ============================================================================\n// DISCRIMINATOR VALIDATION\n// ============================================================================\n\n/**\n * Validate that a buffer starts with the expected discriminator\n */\nfunction validateDiscriminator(\n data: Buffer,\n expected: Buffer,\n accountType: string\n): void {\n const actual = data.subarray(0, 8);\n if (!actual.equals(expected)) {\n throw new Error(\n `Invalid ${accountType} discriminator. Expected ${expected.toString(\"hex\")}, got ${actual.toString(\"hex\")}`\n );\n }\n}\n\n/**\n * Check if a buffer has a valid Exchange discriminator\n */\nexport function isExchangeAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.EXCHANGE);\n}\n\n/**\n * Check if a buffer has a valid Market discriminator\n */\nexport function isMarketAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.MARKET);\n}\n\n/**\n * Check if a buffer has a valid OrderStatus discriminator\n */\nexport function isOrderStatusAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.ORDER_STATUS);\n}\n\n/**\n * Check if a buffer has a valid UserNonce discriminator\n */\nexport function isUserNonceAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.USER_NONCE);\n}\n\n/**\n * Check if a buffer has a valid Position discriminator\n */\nexport function isPositionAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.POSITION);\n}\n\n/**\n * Check if a buffer has a valid Orderbook discriminator\n */\nexport function isOrderbookAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.ORDERBOOK);\n}\n\n/**\n * Check if a buffer has a valid GlobalDepositToken discriminator\n */\nexport function isGlobalDepositTokenAccount(data: Buffer): boolean {\n if (data.length < 8) return false;\n return data.subarray(0, 8).equals(DISCRIMINATOR.GLOBAL_DEPOSIT_TOKEN);\n}\n\n// ============================================================================\n// ACCOUNT DESERIALIZATION\n// ============================================================================\n\n/**\n * Deserialize Exchange account data\n *\n * Layout (88 bytes):\n * - discriminator: [u8; 8]\n * - authority: Pubkey (32 bytes)\n * - operator: Pubkey (32 bytes)\n * - market_count: u64 (8 bytes)\n * - paused: u8 (1 byte)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 6]\n */\nexport function deserializeExchange(data: Buffer): Exchange {\n if (data.length < ACCOUNT_SIZE.EXCHANGE) {\n throw new Error(\n `Invalid Exchange data length: ${data.length}, expected ${ACCOUNT_SIZE.EXCHANGE}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.EXCHANGE, \"Exchange\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const authority = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const operator = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const marketCount = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n const paused = data[offset] !== 0;\n offset += 1;\n\n const bump = data[offset];\n offset += 1;\n\n // Skip padding: 6 bytes\n\n return {\n discriminator,\n authority,\n operator,\n marketCount,\n paused,\n bump,\n };\n}\n\n/**\n * Deserialize Market account data\n *\n * Layout (120 bytes):\n * - discriminator: [u8; 8]\n * - market_id: u64 (8 bytes)\n * - num_outcomes: u8 (1 byte)\n * - status: u8 (1 byte)\n * - winning_outcome: u8 (1 byte)\n * - has_winning_outcome: u8 (1 byte)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 3]\n * - oracle: Pubkey (32 bytes)\n * - question_id: [u8; 32]\n * - condition_id: [u8; 32]\n */\nexport function deserializeMarket(data: Buffer): Market {\n if (data.length < ACCOUNT_SIZE.MARKET) {\n throw new Error(\n `Invalid Market data length: ${data.length}, expected ${ACCOUNT_SIZE.MARKET}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.MARKET, \"Market\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const marketId = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n const numOutcomes = data[offset];\n offset += 1;\n\n const statusByte = data[offset];\n offset += 1;\n\n const winningOutcome = data[offset];\n offset += 1;\n\n const hasWinningOutcome = data[offset] !== 0;\n offset += 1;\n\n const bump = data[offset];\n offset += 1;\n\n // Skip padding: 3 bytes\n offset += 3;\n\n const oracle = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const questionId = Buffer.from(data.subarray(offset, offset + 32));\n offset += 32;\n\n const conditionId = Buffer.from(data.subarray(offset, offset + 32));\n offset += 32;\n\n // Map status byte to enum\n let status: MarketStatus;\n switch (statusByte) {\n case 0:\n status = MarketStatus.Pending;\n break;\n case 1:\n status = MarketStatus.Active;\n break;\n case 2:\n status = MarketStatus.Resolved;\n break;\n case 3:\n status = MarketStatus.Cancelled;\n break;\n default:\n throw new Error(`Unknown market status: ${statusByte}`);\n }\n\n return {\n discriminator,\n marketId,\n numOutcomes,\n status,\n winningOutcome,\n hasWinningOutcome,\n bump,\n oracle,\n questionId,\n conditionId,\n };\n}\n\n/**\n * Deserialize OrderStatus account data\n *\n * Layout (24 bytes):\n * - discriminator: [u8; 8]\n * - remaining: u64 (8 bytes)\n * - is_cancelled: u8 (1 byte)\n * - _padding: [u8; 7]\n */\nexport function deserializeOrderStatus(data: Buffer): OrderStatus {\n if (data.length < ACCOUNT_SIZE.ORDER_STATUS) {\n throw new Error(\n `Invalid OrderStatus data length: ${data.length}, expected ${ACCOUNT_SIZE.ORDER_STATUS}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.ORDER_STATUS, \"OrderStatus\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const remaining = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n const isCancelled = data[offset] !== 0;\n offset += 1;\n\n // Skip padding: 7 bytes\n\n return {\n discriminator,\n remaining,\n isCancelled,\n };\n}\n\n/**\n * Deserialize UserNonce account data\n *\n * Layout (16 bytes):\n * - discriminator: [u8; 8]\n * - nonce: u64 (8 bytes)\n */\nexport function deserializeUserNonce(data: Buffer): UserNonce {\n if (data.length < ACCOUNT_SIZE.USER_NONCE) {\n throw new Error(\n `Invalid UserNonce data length: ${data.length}, expected ${ACCOUNT_SIZE.USER_NONCE}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.USER_NONCE, \"UserNonce\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const nonce = fromLeBytes(data.subarray(offset, offset + 8));\n offset += 8;\n\n return {\n discriminator,\n nonce,\n };\n}\n\n/**\n * Deserialize Position account data\n *\n * Layout (80 bytes):\n * - discriminator: [u8; 8]\n * - owner: Pubkey (32 bytes)\n * - market: Pubkey (32 bytes)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 7]\n */\nexport function deserializePosition(data: Buffer): Position {\n if (data.length < ACCOUNT_SIZE.POSITION) {\n throw new Error(\n `Invalid Position data length: ${data.length}, expected ${ACCOUNT_SIZE.POSITION}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.POSITION, \"Position\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const owner = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const market = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const bump = data[offset];\n offset += 1;\n\n // Skip padding: 7 bytes\n\n return {\n discriminator,\n owner,\n market,\n bump,\n };\n}\n\n/**\n * Deserialize Orderbook account data\n *\n * Layout (144 bytes):\n * - discriminator: [u8; 8]\n * - market: Pubkey (32 bytes)\n * - mint_a: Pubkey (32 bytes)\n * - mint_b: Pubkey (32 bytes)\n * - lookup_table: Pubkey (32 bytes)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 7]\n */\nexport function deserializeOrderbook(data: Buffer): Orderbook {\n if (data.length < ACCOUNT_SIZE.ORDERBOOK) {\n throw new Error(\n `Invalid Orderbook data length: ${data.length}, expected ${ACCOUNT_SIZE.ORDERBOOK}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.ORDERBOOK, \"Orderbook\");\n\n let offset = 0;\n\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const market = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const mintA = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const mintB = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const lookupTable = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const bump = data[offset];\n offset += 1;\n\n // Skip padding: 7 bytes\n\n return {\n discriminator,\n market,\n mintA,\n mintB,\n lookupTable,\n bump,\n };\n}\n\n/**\n * Deserialize GlobalDepositToken account data\n *\n * Layout (48 bytes):\n * - discriminator: [u8; 8]\n * - mint: Pubkey (32 bytes)\n * - active: u8 (1 byte)\n * - bump: u8 (1 byte)\n * - _padding: [u8; 6]\n */\nexport function deserializeGlobalDepositToken(data: Buffer): GlobalDepositToken {\n if (data.length < ACCOUNT_SIZE.GLOBAL_DEPOSIT_TOKEN) {\n throw new Error(\n `Invalid GlobalDepositToken data length: ${data.length}, expected ${ACCOUNT_SIZE.GLOBAL_DEPOSIT_TOKEN}`\n );\n }\n\n validateDiscriminator(data, DISCRIMINATOR.GLOBAL_DEPOSIT_TOKEN, \"GlobalDepositToken\");\n\n let offset = 0;\n const discriminator = data.subarray(offset, offset + 8);\n offset += 8;\n\n const mint = new PublicKey(data.subarray(offset, offset + 32));\n offset += 32;\n\n const active = data[offset] !== 0;\n offset += 1;\n\n const bump = data[offset];\n offset += 1;\n\n return {\n discriminator,\n mint,\n active,\n bump,\n };\n}\n"]}
@@ -1,5 +1,5 @@
1
1
  import { Connection, PublicKey, Keypair } from "@solana/web3.js";
2
- import { Exchange, Market, Position, OrderStatus, Orderbook, GlobalDepositToken, BuildResult, InitializeParams, CreateMarketParams, AddDepositMintParams, MintCompleteSetParams, MergeCompleteSetParams, SettleMarketParams, RedeemWinningsParams, WithdrawFromPositionParams, ActivateMarketParams, MatchOrdersMultiParams, SetAuthorityParams, CreateOrderbookParams, WhitelistDepositTokenParams, DepositToGlobalParams, GlobalToMarketDepositParams, InitPositionTokensParams, DepositAndSwapParams, ExtendPositionTokensParams, SignedOrder, BidOrderParams, AskOrderParams, InitializeAccounts, CreateMarketAccounts, AddDepositMintAccounts, MintCompleteSetAccounts, MergeCompleteSetAccounts, CancelOrderAccounts, IncrementNonceAccounts, SettleMarketAccounts, RedeemWinningsAccounts, ActivateMarketAccounts, MatchOrdersMultiAccounts } from "./types";
2
+ import { Exchange, Market, Position, OrderStatus, Orderbook, GlobalDepositToken, BuildResult, InitializeParams, CreateMarketParams, AddDepositMintParams, MintCompleteSetParams, MergeCompleteSetParams, SettleMarketParams, RedeemWinningsParams, WithdrawFromPositionParams, ActivateMarketParams, MatchOrdersMultiParams, SetAuthorityParams, CreateOrderbookParams, WhitelistDepositTokenParams, DepositToGlobalParams, GlobalToMarketDepositParams, InitPositionTokensParams, DepositAndSwapParams, SignedOrder, BidOrderParams, AskOrderParams, InitializeAccounts, CreateMarketAccounts, AddDepositMintAccounts, MintCompleteSetAccounts, MergeCompleteSetAccounts, CancelOrderAccounts, IncrementNonceAccounts, SettleMarketAccounts, RedeemWinningsAccounts, ActivateMarketAccounts, MatchOrdersMultiAccounts } from "./types";
3
3
  import * as pda from "./pda";
4
4
  /**
5
5
  * LightconePinocchioClient - SDK for interacting with the Lightcone Pinocchio program
@@ -71,9 +71,6 @@ export declare class LightconePinocchioClient {
71
71
  depositAndSwap(params: DepositAndSwapParams, numOutcomes: number): Promise<BuildResult<{
72
72
  takerPosition: PublicKey;
73
73
  }>>;
74
- extendPositionTokens(params: ExtendPositionTokensParams, numOutcomes: number, lookupTable: PublicKey): Promise<BuildResult<{
75
- position: PublicKey;
76
- }>>;
77
74
  createBidOrder(params: BidOrderParams): Omit<SignedOrder, "signature">;
78
75
  createAskOrder(params: AskOrderParams): Omit<SignedOrder, "signature">;
79
76
  createSignedBidOrder(params: BidOrderParams, signer: Keypair): SignedOrder;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/program/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/program/client.ts"],"names":[],"mappings":"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"}
@@ -297,18 +297,13 @@ class LightconePinocchioClient {
297
297
  const [position] = pda.getPositionPda(params.user, params.market, this.programId);
298
298
  const [lookupTable] = pda.getPositionAltPda(position, params.recentSlot);
299
299
  const ix = (0, instructions_1.buildInitPositionTokensIx)(params, numOutcomes, this.programId);
300
- return this.createBuildResult(params.payer, { position, lookupTable }, ix);
300
+ return this.createBuildResult(params.user, { position, lookupTable }, ix);
301
301
  }
302
302
  async depositAndSwap(params, numOutcomes) {
303
303
  const [takerPosition] = pda.getPositionPda(params.takerOrder.maker, params.market, this.programId);
304
304
  const ix = (0, instructions_1.buildDepositAndSwapIx)(params, numOutcomes, this.programId);
305
305
  return this.createBuildResult(params.operator, { takerPosition }, ix);
306
306
  }
307
- async extendPositionTokens(params, numOutcomes, lookupTable) {
308
- const [position] = pda.getPositionPda(params.user, params.market, this.programId);
309
- const ix = (0, instructions_1.buildExtendPositionTokensIx)(params, numOutcomes, lookupTable, this.programId);
310
- return this.createBuildResult(params.payer, { position }, ix);
311
- }
312
307
  // ============================================================================
313
308
  // ORDER HELPERS
314
309
  // ============================================================================
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/program/client.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n Connection,\n PublicKey,\n Transaction,\n Keypair,\n} from \"@solana/web3.js\";\nimport { PROGRAM_ID } from \"./constants\";\nimport {\n Exchange,\n Market,\n Position,\n OrderStatus,\n Orderbook,\n GlobalDepositToken,\n BuildResult,\n InitializeParams,\n CreateMarketParams,\n AddDepositMintParams,\n MintCompleteSetParams,\n MergeCompleteSetParams,\n SettleMarketParams,\n RedeemWinningsParams,\n WithdrawFromPositionParams,\n ActivateMarketParams,\n MatchOrdersMultiParams,\n SetAuthorityParams,\n CreateOrderbookParams,\n WhitelistDepositTokenParams,\n DepositToGlobalParams,\n GlobalToMarketDepositParams,\n InitPositionTokensParams,\n DepositAndSwapParams,\n ExtendPositionTokensParams,\n SignedOrder,\n BidOrderParams,\n AskOrderParams,\n InitializeAccounts,\n CreateMarketAccounts,\n AddDepositMintAccounts,\n MintCompleteSetAccounts,\n MergeCompleteSetAccounts,\n CancelOrderAccounts,\n IncrementNonceAccounts,\n SettleMarketAccounts,\n RedeemWinningsAccounts,\n ActivateMarketAccounts,\n MatchOrdersMultiAccounts,\n} from \"./types\";\nimport * as pda from \"./pda\";\nimport {\n deserializeExchange,\n deserializeGlobalDepositToken,\n deserializeMarket,\n deserializePosition,\n deserializeOrderStatus,\n deserializeUserNonce,\n deserializeOrderbook,\n} from \"./accounts\";\nimport {\n buildInitializeIx,\n buildCreateMarketIx,\n buildAddDepositMintIx,\n buildMintCompleteSetIx,\n buildMergeCompleteSetIx,\n buildCancelOrderIx,\n buildIncrementNonceIx,\n buildSettleMarketIx,\n buildRedeemWinningsIx,\n buildSetPausedIx,\n buildSetOperatorIx,\n buildWithdrawFromPositionIx,\n buildActivateMarketIx,\n buildMatchOrdersMultiIx,\n buildSetAuthorityIx,\n buildCreateOrderbookIx,\n buildWhitelistDepositTokenIx,\n buildDepositToGlobalIx,\n buildGlobalToMarketDepositIx,\n buildInitPositionTokensIx,\n buildDepositAndSwapIx,\n buildExtendPositionTokensIx,\n} from \"./instructions\";\nimport {\n hashOrder,\n signOrder,\n createBidOrder,\n createAskOrder,\n createSignedBidOrder,\n createSignedAskOrder,\n signOrderFull,\n} from \"./orders\";\nimport { deriveConditionId } from \"./utils\";\n\n/**\n * LightconePinocchioClient - SDK for interacting with the Lightcone Pinocchio program\n */\nexport class LightconePinocchioClient {\n readonly connection: Connection;\n readonly programId: PublicKey;\n readonly pda = pda;\n\n constructor(connection: Connection, programId: PublicKey = PROGRAM_ID) {\n this.connection = connection;\n this.programId = programId;\n }\n\n static new(rpcUrl: string): LightconePinocchioClient {\n return new LightconePinocchioClient(new Connection(rpcUrl), PROGRAM_ID);\n }\n\n static withProgramId(rpcUrl: string, programId: PublicKey): LightconePinocchioClient {\n return new LightconePinocchioClient(new Connection(rpcUrl), programId);\n }\n\n static fromConnection(connection: Connection): LightconePinocchioClient {\n return new LightconePinocchioClient(connection, PROGRAM_ID);\n }\n\n // ============================================================================\n // ACCOUNT FETCHERS\n // ============================================================================\n\n async getExchange(): Promise<Exchange> {\n const [exchangePda] = pda.getExchangePda(this.programId);\n const accountInfo = await this.connection.getAccountInfo(exchangePda);\n if (!accountInfo) {\n throw new Error(\"Exchange account not found. Protocol not initialized.\");\n }\n return deserializeExchange(accountInfo.data as Buffer);\n }\n\n async getMarket(marketId: bigint): Promise<Market> {\n const [marketPda] = pda.getMarketPda(marketId, this.programId);\n const accountInfo = await this.connection.getAccountInfo(marketPda);\n if (!accountInfo) {\n throw new Error(`Market ${marketId} not found`);\n }\n return deserializeMarket(accountInfo.data as Buffer);\n }\n\n async getMarketByPubkey(market: PublicKey): Promise<Market> {\n const accountInfo = await this.connection.getAccountInfo(market);\n if (!accountInfo) {\n throw new Error(`Market not found at ${market.toBase58()}`);\n }\n return deserializeMarket(accountInfo.data as Buffer);\n }\n\n async getPosition(\n owner: PublicKey,\n market: PublicKey\n ): Promise<Position | null> {\n const [positionPda] = pda.getPositionPda(owner, market, this.programId);\n const accountInfo = await this.connection.getAccountInfo(positionPda);\n if (!accountInfo) {\n return null;\n }\n return deserializePosition(accountInfo.data as Buffer);\n }\n\n async getOrderStatus(orderHash: Buffer): Promise<OrderStatus | null> {\n const [orderStatusPda] = pda.getOrderStatusPda(orderHash, this.programId);\n const accountInfo = await this.connection.getAccountInfo(orderStatusPda);\n if (!accountInfo) {\n return null;\n }\n return deserializeOrderStatus(accountInfo.data as Buffer);\n }\n\n async getUserNonce(user: PublicKey): Promise<bigint> {\n const [userNoncePda] = pda.getUserNoncePda(user, this.programId);\n const accountInfo = await this.connection.getAccountInfo(userNoncePda);\n if (!accountInfo) {\n return 0n;\n }\n const nonce = deserializeUserNonce(accountInfo.data as Buffer);\n return nonce.nonce;\n }\n\n async getCurrentNonce(user: PublicKey): Promise<number> {\n const nonce = await this.getUserNonce(user);\n if (nonce > 0xFFFFFFFFn) {\n throw new Error(`Nonce exceeds u32 range: ${nonce}`);\n }\n return Number(nonce);\n }\n\n async getNextNonce(user: PublicKey): Promise<number> {\n return this.getCurrentNonce(user);\n }\n\n async getNextMarketId(): Promise<bigint> {\n const exchange = await this.getExchange();\n return exchange.marketCount;\n }\n\n async getOrderbook(\n mintA: PublicKey,\n mintB: PublicKey\n ): Promise<Orderbook | null> {\n const [orderbookPda] = pda.getOrderbookPda(mintA, mintB, this.programId);\n const accountInfo = await this.connection.getAccountInfo(orderbookPda);\n if (!accountInfo) {\n return null;\n }\n return deserializeOrderbook(accountInfo.data as Buffer);\n }\n\n async getGlobalDepositToken(mint: PublicKey): Promise<GlobalDepositToken> {\n const [globalDepositTokenPda] = pda.getGlobalDepositTokenPda(mint, this.programId);\n const accountInfo = await this.connection.getAccountInfo(globalDepositTokenPda);\n if (!accountInfo) {\n throw new Error(`GlobalDepositToken not found for mint ${mint.toBase58()}`);\n }\n return deserializeGlobalDepositToken(accountInfo.data as Buffer);\n }\n\n async getLatestBlockhash() {\n return this.connection.getLatestBlockhash();\n }\n\n // ============================================================================\n // TRANSACTION BUILDERS\n // ============================================================================\n\n private async createBuildResult<T>(\n feePayer: PublicKey,\n accounts: T,\n ...instructions: Parameters<Transaction[\"add\"]>\n ): Promise<BuildResult<T>> {\n const { blockhash, lastValidBlockHeight } =\n await this.connection.getLatestBlockhash();\n\n const transaction = new Transaction({\n feePayer,\n blockhash,\n lastValidBlockHeight,\n });\n\n for (const ix of instructions) {\n transaction.add(ix);\n }\n\n return {\n transaction,\n accounts,\n serialize: () =>\n transaction\n .serialize({ requireAllSignatures: false, verifySignatures: false })\n .toString(\"base64\"),\n };\n }\n\n async initialize(\n params: InitializeParams\n ): Promise<BuildResult<InitializeAccounts>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildInitializeIx(params, this.programId);\n return this.createBuildResult(params.authority, { exchange }, ix);\n }\n\n async createMarket(\n params: CreateMarketParams\n ): Promise<BuildResult<CreateMarketAccounts>> {\n const marketId = await this.getNextMarketId();\n const [exchange] = pda.getExchangePda(this.programId);\n const [market] = pda.getMarketPda(marketId, this.programId);\n const ix = buildCreateMarketIx(params, marketId, this.programId);\n return this.createBuildResult(params.authority, { exchange, market }, ix);\n }\n\n async addDepositMint(\n params: AddDepositMintParams,\n numOutcomes: number\n ): Promise<BuildResult<AddDepositMintAccounts>> {\n const [market] = pda.getMarketPda(params.marketId, this.programId);\n const [vault] = pda.getVaultPda(params.depositMint, market, this.programId);\n const [mintAuthority] = pda.getMintAuthorityPda(market, this.programId);\n const conditionalMints = pda\n .getAllConditionalMintPdas(\n market,\n params.depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n\n const ix = buildAddDepositMintIx(params, market, numOutcomes, this.programId);\n\n return this.createBuildResult(\n params.payer,\n { market, vault, mintAuthority, conditionalMints },\n ix\n );\n }\n\n async mintCompleteSet(\n params: MintCompleteSetParams,\n numOutcomes: number\n ): Promise<BuildResult<MintCompleteSetAccounts>> {\n const [vault] = pda.getVaultPda(\n params.depositMint,\n params.market,\n this.programId\n );\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const conditionalMints = pda\n .getAllConditionalMintPdas(\n params.market,\n params.depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n\n const ix = buildMintCompleteSetIx(params, numOutcomes, this.programId);\n\n return this.createBuildResult(\n params.user,\n { position, vault, conditionalMints },\n ix\n );\n }\n\n async mergeCompleteSet(\n params: MergeCompleteSetParams,\n numOutcomes: number\n ): Promise<BuildResult<MergeCompleteSetAccounts>> {\n const [vault] = pda.getVaultPda(\n params.depositMint,\n params.market,\n this.programId\n );\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const conditionalMints = pda\n .getAllConditionalMintPdas(\n params.market,\n params.depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n\n const ix = buildMergeCompleteSetIx(params, numOutcomes, this.programId);\n\n return this.createBuildResult(\n params.user,\n { position, vault, conditionalMints },\n ix\n );\n }\n\n async cancelOrder(\n maker: PublicKey,\n order: SignedOrder\n ): Promise<BuildResult<CancelOrderAccounts>> {\n const orderHash = hashOrder(order);\n const [orderStatus] = pda.getOrderStatusPda(orderHash, this.programId);\n const ix = buildCancelOrderIx(maker, order, this.programId);\n return this.createBuildResult(maker, { orderStatus }, ix);\n }\n\n async incrementNonce(\n user: PublicKey\n ): Promise<BuildResult<IncrementNonceAccounts>> {\n const [userNonce] = pda.getUserNoncePda(user, this.programId);\n const ix = buildIncrementNonceIx(user, this.programId);\n return this.createBuildResult(user, { userNonce }, ix);\n }\n\n async settleMarket(\n params: SettleMarketParams\n ): Promise<BuildResult<SettleMarketAccounts>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const [market] = pda.getMarketPda(params.marketId, this.programId);\n const ix = buildSettleMarketIx(params, this.programId);\n return this.createBuildResult(params.oracle, { exchange, market }, ix);\n }\n\n async redeemWinnings(\n params: RedeemWinningsParams,\n winningOutcome: number\n ): Promise<BuildResult<RedeemWinningsAccounts>> {\n const [vault] = pda.getVaultPda(\n params.depositMint,\n params.market,\n this.programId\n );\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const [winningMint] = pda.getConditionalMintPda(\n params.market,\n params.depositMint,\n winningOutcome,\n this.programId\n );\n\n const ix = buildRedeemWinningsIx(params, winningOutcome, this.programId);\n\n return this.createBuildResult(\n params.user,\n { position, vault, winningMint },\n ix\n );\n }\n\n async setPaused(\n authority: PublicKey,\n paused: boolean\n ): Promise<BuildResult<{ exchange: PublicKey }>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildSetPausedIx(authority, paused, this.programId);\n return this.createBuildResult(authority, { exchange }, ix);\n }\n\n async setOperator(\n authority: PublicKey,\n newOperator: PublicKey\n ): Promise<BuildResult<{ exchange: PublicKey }>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildSetOperatorIx(authority, newOperator, this.programId);\n return this.createBuildResult(authority, { exchange }, ix);\n }\n\n async withdrawFromPosition(\n params: WithdrawFromPositionParams,\n isToken2022: boolean\n ): Promise<BuildResult<{ position: PublicKey }>> {\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const ix = buildWithdrawFromPositionIx(params, isToken2022, this.programId);\n return this.createBuildResult(params.user, { position }, ix);\n }\n\n async activateMarket(\n params: ActivateMarketParams\n ): Promise<BuildResult<ActivateMarketAccounts>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const [market] = pda.getMarketPda(params.marketId, this.programId);\n const ix = buildActivateMarketIx(params, this.programId);\n return this.createBuildResult(params.authority, { exchange, market }, ix);\n }\n\n async matchOrdersMulti(\n params: MatchOrdersMultiParams\n ): Promise<BuildResult<MatchOrdersMultiAccounts>> {\n const takerOrderHash = hashOrder(params.takerOrder);\n const [takerOrderStatus] = pda.getOrderStatusPda(\n takerOrderHash,\n this.programId\n );\n const [takerPosition] = pda.getPositionPda(\n params.takerOrder.maker,\n params.market,\n this.programId\n );\n\n const makerOrderStatuses: PublicKey[] = [];\n const makerPositions: PublicKey[] = [];\n for (const makerOrder of params.makerOrders) {\n const makerOrderHash = hashOrder(makerOrder);\n const [makerOrderStatus] = pda.getOrderStatusPda(\n makerOrderHash,\n this.programId\n );\n const [makerPosition] = pda.getPositionPda(\n makerOrder.maker,\n params.market,\n this.programId\n );\n makerOrderStatuses.push(makerOrderStatus);\n makerPositions.push(makerPosition);\n }\n\n const ix = buildMatchOrdersMultiIx(params, this.programId);\n\n return this.createBuildResult(\n params.operator,\n { takerOrderStatus, takerPosition, makerOrderStatuses, makerPositions },\n ix\n );\n }\n\n async setAuthority(\n params: SetAuthorityParams\n ): Promise<BuildResult<{ exchange: PublicKey }>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildSetAuthorityIx(params, this.programId);\n return this.createBuildResult(\n params.currentAuthority,\n { exchange },\n ix\n );\n }\n\n async createOrderbook(\n params: CreateOrderbookParams\n ): Promise<BuildResult<{ orderbook: PublicKey }>> {\n const [orderbook] = pda.getOrderbookPda(\n params.mintA,\n params.mintB,\n this.programId\n );\n const ix = buildCreateOrderbookIx(params, this.programId);\n return this.createBuildResult(params.payer, { orderbook }, ix);\n }\n\n async whitelistDepositToken(\n params: WhitelistDepositTokenParams\n ): Promise<BuildResult<{ globalDepositToken: PublicKey }>> {\n const [globalDepositToken] = pda.getGlobalDepositTokenPda(params.mint, this.programId);\n const ix = buildWhitelistDepositTokenIx(params, this.programId);\n return this.createBuildResult(params.authority, { globalDepositToken }, ix);\n }\n\n async depositToGlobal(\n params: DepositToGlobalParams\n ): Promise<BuildResult<{ userGlobalDeposit: PublicKey }>> {\n const [userGlobalDeposit] = pda.getUserGlobalDepositPda(params.user, params.mint, this.programId);\n const ix = buildDepositToGlobalIx(params, this.programId);\n return this.createBuildResult(params.user, { userGlobalDeposit }, ix);\n }\n\n async globalToMarketDeposit(\n params: GlobalToMarketDepositParams,\n numOutcomes: number\n ): Promise<BuildResult<{ position: PublicKey; userGlobalDeposit: PublicKey }>> {\n const [position] = pda.getPositionPda(params.user, params.market, this.programId);\n const [userGlobalDeposit] = pda.getUserGlobalDepositPda(\n params.user,\n params.depositMint,\n this.programId\n );\n const ix = buildGlobalToMarketDepositIx(params, numOutcomes, this.programId);\n return this.createBuildResult(params.user, { position, userGlobalDeposit }, ix);\n }\n\n async initPositionTokens(\n params: InitPositionTokensParams,\n numOutcomes: number\n ): Promise<BuildResult<{ position: PublicKey; lookupTable: PublicKey }>> {\n const [position] = pda.getPositionPda(params.user, params.market, this.programId);\n const [lookupTable] = pda.getPositionAltPda(position, params.recentSlot);\n const ix = buildInitPositionTokensIx(params, numOutcomes, this.programId);\n return this.createBuildResult(params.payer, { position, lookupTable }, ix);\n }\n\n async depositAndSwap(\n params: DepositAndSwapParams,\n numOutcomes: number\n ): Promise<BuildResult<{ takerPosition: PublicKey }>> {\n const [takerPosition] = pda.getPositionPda(\n params.takerOrder.maker,\n params.market,\n this.programId\n );\n const ix = buildDepositAndSwapIx(params, numOutcomes, this.programId);\n return this.createBuildResult(params.operator, { takerPosition }, ix);\n }\n\n async extendPositionTokens(\n params: ExtendPositionTokensParams,\n numOutcomes: number,\n lookupTable: PublicKey\n ): Promise<BuildResult<{ position: PublicKey }>> {\n const [position] = pda.getPositionPda(params.user, params.market, this.programId);\n const ix = buildExtendPositionTokensIx(params, numOutcomes, lookupTable, this.programId);\n return this.createBuildResult(params.payer, { position }, ix);\n }\n\n // ============================================================================\n // ORDER HELPERS\n // ============================================================================\n\n createBidOrder(params: BidOrderParams): Omit<SignedOrder, \"signature\"> {\n return createBidOrder(params);\n }\n\n createAskOrder(params: AskOrderParams): Omit<SignedOrder, \"signature\"> {\n return createAskOrder(params);\n }\n\n createSignedBidOrder(params: BidOrderParams, signer: Keypair): SignedOrder {\n return createSignedBidOrder(params, signer);\n }\n\n createSignedAskOrder(params: AskOrderParams, signer: Keypair): SignedOrder {\n return createSignedAskOrder(params, signer);\n }\n\n hashOrder(order: SignedOrder): Buffer {\n return hashOrder(order);\n }\n\n signOrder(order: SignedOrder, signer: Keypair): Buffer {\n return signOrder(order, signer);\n }\n\n signFullOrder(\n order: Omit<SignedOrder, \"signature\">,\n signer: Keypair\n ): SignedOrder {\n return signOrderFull(order, signer);\n }\n\n // ============================================================================\n // UTILITY METHODS\n // ============================================================================\n\n deriveConditionId(\n oracle: PublicKey,\n questionId: Buffer,\n numOutcomes: number\n ): Buffer {\n return deriveConditionId(oracle, questionId, numOutcomes);\n }\n\n getConditionalMints(\n market: PublicKey,\n depositMint: PublicKey,\n numOutcomes: number\n ): PublicKey[] {\n return pda\n .getAllConditionalMintPdas(\n market,\n depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n }\n\n getExchangePda(): PublicKey {\n return pda.getExchangePda(this.programId)[0];\n }\n\n getMarketPda(marketId: bigint): PublicKey {\n return pda.getMarketPda(marketId, this.programId)[0];\n }\n\n getPositionPda(owner: PublicKey, market: PublicKey): PublicKey {\n return pda.getPositionPda(owner, market, this.programId)[0];\n }\n\n getOrderStatusPda(orderHash: Buffer): PublicKey {\n return pda.getOrderStatusPda(orderHash, this.programId)[0];\n }\n\n getUserNoncePda(user: PublicKey): PublicKey {\n return pda.getUserNoncePda(user, this.programId)[0];\n }\n\n getOrderbookPda(mintA: PublicKey, mintB: PublicKey): PublicKey {\n return pda.getOrderbookPda(mintA, mintB, this.programId)[0];\n }\n\n getGlobalDepositTokenPda(mint: PublicKey): PublicKey {\n return pda.getGlobalDepositTokenPda(mint, this.programId)[0];\n }\n\n getUserGlobalDepositPda(user: PublicKey, mint: PublicKey): PublicKey {\n return pda.getUserGlobalDepositPda(user, mint, this.programId)[0];\n }\n}\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/program/client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,6CAKyB;AACzB,2CAAyC;AAyCzC,2CAA6B;AAC7B,yCAQoB;AACpB,iDAsBwB;AACxB,qCAQkB;AAClB,mCAA4C;AAE5C;;GAEG;AACH,MAAa,wBAAwB;IAC1B,UAAU,CAAa;IACvB,SAAS,CAAY;IACrB,GAAG,GAAG,GAAG,CAAC;IAEnB,YAAY,UAAsB,EAAE,YAAuB,sBAAU;QACnE,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM,CAAC,GAAG,CAAC,MAAc;QACvB,OAAO,IAAI,wBAAwB,CAAC,IAAI,oBAAU,CAAC,MAAM,CAAC,EAAE,sBAAU,CAAC,CAAC;IAC1E,CAAC;IAED,MAAM,CAAC,aAAa,CAAC,MAAc,EAAE,SAAoB;QACvD,OAAO,IAAI,wBAAwB,CAAC,IAAI,oBAAU,CAAC,MAAM,CAAC,EAAE,SAAS,CAAC,CAAC;IACzE,CAAC;IAED,MAAM,CAAC,cAAc,CAAC,UAAsB;QAC1C,OAAO,IAAI,wBAAwB,CAAC,UAAU,EAAE,sBAAU,CAAC,CAAC;IAC9D,CAAC;IAED,+EAA+E;IAC/E,mBAAmB;IACnB,+EAA+E;IAE/E,KAAK,CAAC,WAAW;QACf,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,IAAA,8BAAmB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB;QAC9B,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACpE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,UAAU,QAAQ,YAAY,CAAC,CAAC;QAClD,CAAC;QACD,OAAO,IAAA,4BAAiB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,iBAAiB,CAAC,MAAiB;QACvC,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QACjE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9D,CAAC;QACD,OAAO,IAAA,4BAAiB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IACvD,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAgB,EAChB,MAAiB;QAEjB,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACtE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAA,8BAAmB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,SAAiB;QACpC,MAAM,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC;QACzE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAA,iCAAsB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAe;QAChC,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAG,IAAA,+BAAoB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;QAC/D,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAe;QACnC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;QAC5C,IAAI,KAAK,GAAG,WAAW,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,EAAE,CAAC,CAAC;QACvD,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAe;QAChC,OAAO,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe;QACnB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,CAAC;QAC1C,OAAO,QAAQ,CAAC,WAAW,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,KAAgB,EAChB,KAAgB;QAEhB,MAAM,CAAC,YAAY,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzE,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,YAAY,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,OAAO,IAAI,CAAC;QACd,CAAC;QACD,OAAO,IAAA,+BAAoB,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAe;QACzC,MAAM,CAAC,qBAAqB,CAAC,GAAG,GAAG,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnF,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,qBAAqB,CAAC,CAAC;QAChF,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,yCAAyC,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC9E,CAAC;QACD,OAAO,IAAA,wCAA6B,EAAC,WAAW,CAAC,IAAc,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,kBAAkB;QACtB,OAAO,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;IAC9C,CAAC;IAED,+EAA+E;IAC/E,uBAAuB;IACvB,+EAA+E;IAEvE,KAAK,CAAC,iBAAiB,CAC7B,QAAmB,EACnB,QAAW,EACX,GAAG,YAA4C;QAE/C,MAAM,EAAE,SAAS,EAAE,oBAAoB,EAAE,GACvC,MAAM,IAAI,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC;QAE7C,MAAM,WAAW,GAAG,IAAI,qBAAW,CAAC;YAClC,QAAQ;YACR,SAAS;YACT,oBAAoB;SACrB,CAAC,CAAC;QAEH,KAAK,MAAM,EAAE,IAAI,YAAY,EAAE,CAAC;YAC9B,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACtB,CAAC;QAED,OAAO;YACL,WAAW;YACX,QAAQ;YACR,SAAS,EAAE,GAAG,EAAE,CACd,WAAW;iBACR,SAAS,CAAC,EAAE,oBAAoB,EAAE,KAAK,EAAE,gBAAgB,EAAE,KAAK,EAAE,CAAC;iBACnE,QAAQ,CAAC,QAAQ,CAAC;SACxB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CACd,MAAwB;QAExB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,IAAA,gCAAiB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAA0B;QAE1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,eAAe,EAAE,CAAC;QAC9C,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,MAAM,EAAE,GAAG,IAAA,kCAAmB,EAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACjE,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAA4B,EAC5B,WAAmB;QAEnB,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,WAAW,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,mBAAmB,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACxE,MAAM,gBAAgB,GAAG,GAAG;aACzB,yBAAyB,CACxB,MAAM,EACN,MAAM,CAAC,WAAW,EAClB,WAAW,EACX,IAAI,CAAC,SAAS,CACf;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,IAAA,oCAAqB,EAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE9E,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,KAAK,EACZ,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,EAClD,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA6B,EAC7B,WAAmB;QAEnB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,WAAW,CAC7B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CACnC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG;aACzB,yBAAyB,CACxB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,EAClB,WAAW,EACX,IAAI,CAAC,SAAS,CACf;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,IAAA,qCAAsB,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,IAAI,EACX,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,EACrC,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAA8B,EAC9B,WAAmB;QAEnB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,WAAW,CAC7B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CACnC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,gBAAgB,GAAG,GAAG;aACzB,yBAAyB,CACxB,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,EAClB,WAAW,EACX,IAAI,CAAC,SAAS,CACf;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;QAEzB,MAAM,EAAE,GAAG,IAAA,sCAAuB,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAExE,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,IAAI,EACX,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,EAAE,EACrC,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,WAAW,CACf,KAAgB,EAChB,KAAkB;QAElB,MAAM,SAAS,GAAG,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;QACnC,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvE,MAAM,EAAE,GAAG,IAAA,iCAAkB,EAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5D,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,IAAe;QAEf,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9D,MAAM,EAAE,GAAG,IAAA,oCAAqB,EAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAA0B;QAE1B,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,EAAE,GAAG,IAAA,kCAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IACzE,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAA4B,EAC5B,cAAsB;QAEtB,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,WAAW,CAC7B,MAAM,CAAC,WAAW,EAClB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CACnC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,qBAAqB,CAC7C,MAAM,CAAC,MAAM,EACb,MAAM,CAAC,WAAW,EAClB,cAAc,EACd,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,EAAE,GAAG,IAAA,oCAAqB,EAAC,MAAM,EAAE,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAEzE,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,IAAI,EACX,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,EAChC,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CACb,SAAoB,EACpB,MAAe;QAEf,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,IAAA,+BAAgB,EAAC,SAAS,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC/D,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CACf,SAAoB,EACpB,WAAsB;QAEtB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,IAAA,iCAAkB,EAAC,SAAS,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,oBAAoB,CACxB,MAAkC,EAClC,WAAoB;QAEpB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CACnC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,EAAE,GAAG,IAAA,0CAA2B,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC5E,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,CAAC;IAC/D,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAA4B;QAE5B,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,CAAC,MAAM,CAAC,GAAG,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACnE,MAAM,EAAE,GAAG,IAAA,oCAAqB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACzD,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,MAA8B;QAE9B,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpD,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAC9C,cAAc,EACd,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,cAAc,CACxC,MAAM,CAAC,UAAU,CAAC,KAAK,EACvB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QAEF,MAAM,kBAAkB,GAAgB,EAAE,CAAC;QAC3C,MAAM,cAAc,GAAgB,EAAE,CAAC;QACvC,KAAK,MAAM,UAAU,IAAI,MAAM,CAAC,WAAW,EAAE,CAAC;YAC5C,MAAM,cAAc,GAAG,IAAA,kBAAS,EAAC,UAAU,CAAC,CAAC;YAC7C,MAAM,CAAC,gBAAgB,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAC9C,cAAc,EACd,IAAI,CAAC,SAAS,CACf,CAAC;YACF,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,cAAc,CACxC,UAAU,CAAC,KAAK,EAChB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;YACF,kBAAkB,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;YAC1C,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,EAAE,GAAG,IAAA,sCAAuB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3D,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,QAAQ,EACf,EAAE,gBAAgB,EAAE,aAAa,EAAE,kBAAkB,EAAE,cAAc,EAAE,EACvE,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,MAA0B;QAE1B,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,EAAE,GAAG,IAAA,kCAAmB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,iBAAiB,CAC3B,MAAM,CAAC,gBAAgB,EACvB,EAAE,QAAQ,EAAE,EACZ,EAAE,CACH,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA6B;QAE7B,MAAM,CAAC,SAAS,CAAC,GAAG,GAAG,CAAC,eAAe,CACrC,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,EACZ,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,EAAE,GAAG,IAAA,qCAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAmC;QAEnC,MAAM,CAAC,kBAAkB,CAAC,GAAG,GAAG,CAAC,wBAAwB,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACvF,MAAM,EAAE,GAAG,IAAA,2CAA4B,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAChE,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,MAA6B;QAE7B,MAAM,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,uBAAuB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClG,MAAM,EAAE,GAAG,IAAA,qCAAsB,EAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1D,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,KAAK,CAAC,qBAAqB,CACzB,MAAmC,EACnC,WAAmB;QAEnB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClF,MAAM,CAAC,iBAAiB,CAAC,GAAG,GAAG,CAAC,uBAAuB,CACrD,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,WAAW,EAClB,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,EAAE,GAAG,IAAA,2CAA4B,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,iBAAiB,EAAE,EAAE,EAAE,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,kBAAkB,CACtB,MAAgC,EAChC,WAAmB;QAEnB,MAAM,CAAC,QAAQ,CAAC,GAAG,GAAG,CAAC,cAAc,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAClF,MAAM,CAAC,WAAW,CAAC,GAAG,GAAG,CAAC,iBAAiB,CAAC,QAAQ,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACzE,MAAM,EAAE,GAAG,IAAA,wCAAyB,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5E,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,MAA4B,EAC5B,WAAmB;QAEnB,MAAM,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,cAAc,CACxC,MAAM,CAAC,UAAU,CAAC,KAAK,EACvB,MAAM,CAAC,MAAM,EACb,IAAI,CAAC,SAAS,CACf,CAAC;QACF,MAAM,EAAE,GAAG,IAAA,oCAAqB,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;QACtE,OAAO,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IACxE,CAAC;IAED,+EAA+E;IAC/E,gBAAgB;IAChB,+EAA+E;IAE/E,cAAc,CAAC,MAAsB;QACnC,OAAO,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,cAAc,CAAC,MAAsB;QACnC,OAAO,IAAA,uBAAc,EAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB,CAAC,MAAsB,EAAE,MAAe;QAC1D,OAAO,IAAA,6BAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,oBAAoB,CAAC,MAAsB,EAAE,MAAe;QAC1D,OAAO,IAAA,6BAAoB,EAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,SAAS,CAAC,KAAkB;QAC1B,OAAO,IAAA,kBAAS,EAAC,KAAK,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS,CAAC,KAAkB,EAAE,MAAe;QAC3C,OAAO,IAAA,kBAAS,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAClC,CAAC;IAED,aAAa,CACX,KAAqC,EACrC,MAAe;QAEf,OAAO,IAAA,sBAAa,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAED,+EAA+E;IAC/E,kBAAkB;IAClB,+EAA+E;IAE/E,iBAAiB,CACf,MAAiB,EACjB,UAAkB,EAClB,WAAmB;QAEnB,OAAO,IAAA,yBAAiB,EAAC,MAAM,EAAE,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5D,CAAC;IAED,mBAAmB,CACjB,MAAiB,EACjB,WAAsB,EACtB,WAAmB;QAEnB,OAAO,GAAG;aACP,yBAAyB,CACxB,MAAM,EACN,WAAW,EACX,WAAW,EACX,IAAI,CAAC,SAAS,CACf;aACA,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,cAAc;QACZ,OAAO,GAAG,CAAC,cAAc,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;IAED,YAAY,CAAC,QAAgB;QAC3B,OAAO,GAAG,CAAC,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACvD,CAAC;IAED,cAAc,CAAC,KAAgB,EAAE,MAAiB;QAChD,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,iBAAiB,CAAC,SAAiB;QACjC,OAAO,GAAG,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7D,CAAC;IAED,eAAe,CAAC,IAAe;QAC7B,OAAO,GAAG,CAAC,eAAe,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,eAAe,CAAC,KAAgB,EAAE,KAAgB;QAChD,OAAO,GAAG,CAAC,eAAe,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,wBAAwB,CAAC,IAAe;QACtC,OAAO,GAAG,CAAC,wBAAwB,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/D,CAAC;IAED,uBAAuB,CAAC,IAAe,EAAE,IAAe;QACtD,OAAO,GAAG,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC;IACpE,CAAC;CACF;AA3jBD,4DA2jBC","sourcesContent":["import {\n Connection,\n PublicKey,\n Transaction,\n Keypair,\n} from \"@solana/web3.js\";\nimport { PROGRAM_ID } from \"./constants\";\nimport {\n Exchange,\n Market,\n Position,\n OrderStatus,\n Orderbook,\n GlobalDepositToken,\n BuildResult,\n InitializeParams,\n CreateMarketParams,\n AddDepositMintParams,\n MintCompleteSetParams,\n MergeCompleteSetParams,\n SettleMarketParams,\n RedeemWinningsParams,\n WithdrawFromPositionParams,\n ActivateMarketParams,\n MatchOrdersMultiParams,\n SetAuthorityParams,\n CreateOrderbookParams,\n WhitelistDepositTokenParams,\n DepositToGlobalParams,\n GlobalToMarketDepositParams,\n InitPositionTokensParams,\n DepositAndSwapParams,\n SignedOrder,\n BidOrderParams,\n AskOrderParams,\n InitializeAccounts,\n CreateMarketAccounts,\n AddDepositMintAccounts,\n MintCompleteSetAccounts,\n MergeCompleteSetAccounts,\n CancelOrderAccounts,\n IncrementNonceAccounts,\n SettleMarketAccounts,\n RedeemWinningsAccounts,\n ActivateMarketAccounts,\n MatchOrdersMultiAccounts,\n} from \"./types\";\nimport * as pda from \"./pda\";\nimport {\n deserializeExchange,\n deserializeGlobalDepositToken,\n deserializeMarket,\n deserializePosition,\n deserializeOrderStatus,\n deserializeUserNonce,\n deserializeOrderbook,\n} from \"./accounts\";\nimport {\n buildInitializeIx,\n buildCreateMarketIx,\n buildAddDepositMintIx,\n buildMintCompleteSetIx,\n buildMergeCompleteSetIx,\n buildCancelOrderIx,\n buildIncrementNonceIx,\n buildSettleMarketIx,\n buildRedeemWinningsIx,\n buildSetPausedIx,\n buildSetOperatorIx,\n buildWithdrawFromPositionIx,\n buildActivateMarketIx,\n buildMatchOrdersMultiIx,\n buildSetAuthorityIx,\n buildCreateOrderbookIx,\n buildWhitelistDepositTokenIx,\n buildDepositToGlobalIx,\n buildGlobalToMarketDepositIx,\n buildInitPositionTokensIx,\n buildDepositAndSwapIx,\n} from \"./instructions\";\nimport {\n hashOrder,\n signOrder,\n createBidOrder,\n createAskOrder,\n createSignedBidOrder,\n createSignedAskOrder,\n signOrderFull,\n} from \"./orders\";\nimport { deriveConditionId } from \"./utils\";\n\n/**\n * LightconePinocchioClient - SDK for interacting with the Lightcone Pinocchio program\n */\nexport class LightconePinocchioClient {\n readonly connection: Connection;\n readonly programId: PublicKey;\n readonly pda = pda;\n\n constructor(connection: Connection, programId: PublicKey = PROGRAM_ID) {\n this.connection = connection;\n this.programId = programId;\n }\n\n static new(rpcUrl: string): LightconePinocchioClient {\n return new LightconePinocchioClient(new Connection(rpcUrl), PROGRAM_ID);\n }\n\n static withProgramId(rpcUrl: string, programId: PublicKey): LightconePinocchioClient {\n return new LightconePinocchioClient(new Connection(rpcUrl), programId);\n }\n\n static fromConnection(connection: Connection): LightconePinocchioClient {\n return new LightconePinocchioClient(connection, PROGRAM_ID);\n }\n\n // ============================================================================\n // ACCOUNT FETCHERS\n // ============================================================================\n\n async getExchange(): Promise<Exchange> {\n const [exchangePda] = pda.getExchangePda(this.programId);\n const accountInfo = await this.connection.getAccountInfo(exchangePda);\n if (!accountInfo) {\n throw new Error(\"Exchange account not found. Protocol not initialized.\");\n }\n return deserializeExchange(accountInfo.data as Buffer);\n }\n\n async getMarket(marketId: bigint): Promise<Market> {\n const [marketPda] = pda.getMarketPda(marketId, this.programId);\n const accountInfo = await this.connection.getAccountInfo(marketPda);\n if (!accountInfo) {\n throw new Error(`Market ${marketId} not found`);\n }\n return deserializeMarket(accountInfo.data as Buffer);\n }\n\n async getMarketByPubkey(market: PublicKey): Promise<Market> {\n const accountInfo = await this.connection.getAccountInfo(market);\n if (!accountInfo) {\n throw new Error(`Market not found at ${market.toBase58()}`);\n }\n return deserializeMarket(accountInfo.data as Buffer);\n }\n\n async getPosition(\n owner: PublicKey,\n market: PublicKey\n ): Promise<Position | null> {\n const [positionPda] = pda.getPositionPda(owner, market, this.programId);\n const accountInfo = await this.connection.getAccountInfo(positionPda);\n if (!accountInfo) {\n return null;\n }\n return deserializePosition(accountInfo.data as Buffer);\n }\n\n async getOrderStatus(orderHash: Buffer): Promise<OrderStatus | null> {\n const [orderStatusPda] = pda.getOrderStatusPda(orderHash, this.programId);\n const accountInfo = await this.connection.getAccountInfo(orderStatusPda);\n if (!accountInfo) {\n return null;\n }\n return deserializeOrderStatus(accountInfo.data as Buffer);\n }\n\n async getUserNonce(user: PublicKey): Promise<bigint> {\n const [userNoncePda] = pda.getUserNoncePda(user, this.programId);\n const accountInfo = await this.connection.getAccountInfo(userNoncePda);\n if (!accountInfo) {\n return 0n;\n }\n const nonce = deserializeUserNonce(accountInfo.data as Buffer);\n return nonce.nonce;\n }\n\n async getCurrentNonce(user: PublicKey): Promise<number> {\n const nonce = await this.getUserNonce(user);\n if (nonce > 0xFFFFFFFFn) {\n throw new Error(`Nonce exceeds u32 range: ${nonce}`);\n }\n return Number(nonce);\n }\n\n async getNextNonce(user: PublicKey): Promise<number> {\n return this.getCurrentNonce(user);\n }\n\n async getNextMarketId(): Promise<bigint> {\n const exchange = await this.getExchange();\n return exchange.marketCount;\n }\n\n async getOrderbook(\n mintA: PublicKey,\n mintB: PublicKey\n ): Promise<Orderbook | null> {\n const [orderbookPda] = pda.getOrderbookPda(mintA, mintB, this.programId);\n const accountInfo = await this.connection.getAccountInfo(orderbookPda);\n if (!accountInfo) {\n return null;\n }\n return deserializeOrderbook(accountInfo.data as Buffer);\n }\n\n async getGlobalDepositToken(mint: PublicKey): Promise<GlobalDepositToken> {\n const [globalDepositTokenPda] = pda.getGlobalDepositTokenPda(mint, this.programId);\n const accountInfo = await this.connection.getAccountInfo(globalDepositTokenPda);\n if (!accountInfo) {\n throw new Error(`GlobalDepositToken not found for mint ${mint.toBase58()}`);\n }\n return deserializeGlobalDepositToken(accountInfo.data as Buffer);\n }\n\n async getLatestBlockhash() {\n return this.connection.getLatestBlockhash();\n }\n\n // ============================================================================\n // TRANSACTION BUILDERS\n // ============================================================================\n\n private async createBuildResult<T>(\n feePayer: PublicKey,\n accounts: T,\n ...instructions: Parameters<Transaction[\"add\"]>\n ): Promise<BuildResult<T>> {\n const { blockhash, lastValidBlockHeight } =\n await this.connection.getLatestBlockhash();\n\n const transaction = new Transaction({\n feePayer,\n blockhash,\n lastValidBlockHeight,\n });\n\n for (const ix of instructions) {\n transaction.add(ix);\n }\n\n return {\n transaction,\n accounts,\n serialize: () =>\n transaction\n .serialize({ requireAllSignatures: false, verifySignatures: false })\n .toString(\"base64\"),\n };\n }\n\n async initialize(\n params: InitializeParams\n ): Promise<BuildResult<InitializeAccounts>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildInitializeIx(params, this.programId);\n return this.createBuildResult(params.authority, { exchange }, ix);\n }\n\n async createMarket(\n params: CreateMarketParams\n ): Promise<BuildResult<CreateMarketAccounts>> {\n const marketId = await this.getNextMarketId();\n const [exchange] = pda.getExchangePda(this.programId);\n const [market] = pda.getMarketPda(marketId, this.programId);\n const ix = buildCreateMarketIx(params, marketId, this.programId);\n return this.createBuildResult(params.authority, { exchange, market }, ix);\n }\n\n async addDepositMint(\n params: AddDepositMintParams,\n numOutcomes: number\n ): Promise<BuildResult<AddDepositMintAccounts>> {\n const [market] = pda.getMarketPda(params.marketId, this.programId);\n const [vault] = pda.getVaultPda(params.depositMint, market, this.programId);\n const [mintAuthority] = pda.getMintAuthorityPda(market, this.programId);\n const conditionalMints = pda\n .getAllConditionalMintPdas(\n market,\n params.depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n\n const ix = buildAddDepositMintIx(params, market, numOutcomes, this.programId);\n\n return this.createBuildResult(\n params.payer,\n { market, vault, mintAuthority, conditionalMints },\n ix\n );\n }\n\n async mintCompleteSet(\n params: MintCompleteSetParams,\n numOutcomes: number\n ): Promise<BuildResult<MintCompleteSetAccounts>> {\n const [vault] = pda.getVaultPda(\n params.depositMint,\n params.market,\n this.programId\n );\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const conditionalMints = pda\n .getAllConditionalMintPdas(\n params.market,\n params.depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n\n const ix = buildMintCompleteSetIx(params, numOutcomes, this.programId);\n\n return this.createBuildResult(\n params.user,\n { position, vault, conditionalMints },\n ix\n );\n }\n\n async mergeCompleteSet(\n params: MergeCompleteSetParams,\n numOutcomes: number\n ): Promise<BuildResult<MergeCompleteSetAccounts>> {\n const [vault] = pda.getVaultPda(\n params.depositMint,\n params.market,\n this.programId\n );\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const conditionalMints = pda\n .getAllConditionalMintPdas(\n params.market,\n params.depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n\n const ix = buildMergeCompleteSetIx(params, numOutcomes, this.programId);\n\n return this.createBuildResult(\n params.user,\n { position, vault, conditionalMints },\n ix\n );\n }\n\n async cancelOrder(\n maker: PublicKey,\n order: SignedOrder\n ): Promise<BuildResult<CancelOrderAccounts>> {\n const orderHash = hashOrder(order);\n const [orderStatus] = pda.getOrderStatusPda(orderHash, this.programId);\n const ix = buildCancelOrderIx(maker, order, this.programId);\n return this.createBuildResult(maker, { orderStatus }, ix);\n }\n\n async incrementNonce(\n user: PublicKey\n ): Promise<BuildResult<IncrementNonceAccounts>> {\n const [userNonce] = pda.getUserNoncePda(user, this.programId);\n const ix = buildIncrementNonceIx(user, this.programId);\n return this.createBuildResult(user, { userNonce }, ix);\n }\n\n async settleMarket(\n params: SettleMarketParams\n ): Promise<BuildResult<SettleMarketAccounts>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const [market] = pda.getMarketPda(params.marketId, this.programId);\n const ix = buildSettleMarketIx(params, this.programId);\n return this.createBuildResult(params.oracle, { exchange, market }, ix);\n }\n\n async redeemWinnings(\n params: RedeemWinningsParams,\n winningOutcome: number\n ): Promise<BuildResult<RedeemWinningsAccounts>> {\n const [vault] = pda.getVaultPda(\n params.depositMint,\n params.market,\n this.programId\n );\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const [winningMint] = pda.getConditionalMintPda(\n params.market,\n params.depositMint,\n winningOutcome,\n this.programId\n );\n\n const ix = buildRedeemWinningsIx(params, winningOutcome, this.programId);\n\n return this.createBuildResult(\n params.user,\n { position, vault, winningMint },\n ix\n );\n }\n\n async setPaused(\n authority: PublicKey,\n paused: boolean\n ): Promise<BuildResult<{ exchange: PublicKey }>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildSetPausedIx(authority, paused, this.programId);\n return this.createBuildResult(authority, { exchange }, ix);\n }\n\n async setOperator(\n authority: PublicKey,\n newOperator: PublicKey\n ): Promise<BuildResult<{ exchange: PublicKey }>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildSetOperatorIx(authority, newOperator, this.programId);\n return this.createBuildResult(authority, { exchange }, ix);\n }\n\n async withdrawFromPosition(\n params: WithdrawFromPositionParams,\n isToken2022: boolean\n ): Promise<BuildResult<{ position: PublicKey }>> {\n const [position] = pda.getPositionPda(\n params.user,\n params.market,\n this.programId\n );\n const ix = buildWithdrawFromPositionIx(params, isToken2022, this.programId);\n return this.createBuildResult(params.user, { position }, ix);\n }\n\n async activateMarket(\n params: ActivateMarketParams\n ): Promise<BuildResult<ActivateMarketAccounts>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const [market] = pda.getMarketPda(params.marketId, this.programId);\n const ix = buildActivateMarketIx(params, this.programId);\n return this.createBuildResult(params.authority, { exchange, market }, ix);\n }\n\n async matchOrdersMulti(\n params: MatchOrdersMultiParams\n ): Promise<BuildResult<MatchOrdersMultiAccounts>> {\n const takerOrderHash = hashOrder(params.takerOrder);\n const [takerOrderStatus] = pda.getOrderStatusPda(\n takerOrderHash,\n this.programId\n );\n const [takerPosition] = pda.getPositionPda(\n params.takerOrder.maker,\n params.market,\n this.programId\n );\n\n const makerOrderStatuses: PublicKey[] = [];\n const makerPositions: PublicKey[] = [];\n for (const makerOrder of params.makerOrders) {\n const makerOrderHash = hashOrder(makerOrder);\n const [makerOrderStatus] = pda.getOrderStatusPda(\n makerOrderHash,\n this.programId\n );\n const [makerPosition] = pda.getPositionPda(\n makerOrder.maker,\n params.market,\n this.programId\n );\n makerOrderStatuses.push(makerOrderStatus);\n makerPositions.push(makerPosition);\n }\n\n const ix = buildMatchOrdersMultiIx(params, this.programId);\n\n return this.createBuildResult(\n params.operator,\n { takerOrderStatus, takerPosition, makerOrderStatuses, makerPositions },\n ix\n );\n }\n\n async setAuthority(\n params: SetAuthorityParams\n ): Promise<BuildResult<{ exchange: PublicKey }>> {\n const [exchange] = pda.getExchangePda(this.programId);\n const ix = buildSetAuthorityIx(params, this.programId);\n return this.createBuildResult(\n params.currentAuthority,\n { exchange },\n ix\n );\n }\n\n async createOrderbook(\n params: CreateOrderbookParams\n ): Promise<BuildResult<{ orderbook: PublicKey }>> {\n const [orderbook] = pda.getOrderbookPda(\n params.mintA,\n params.mintB,\n this.programId\n );\n const ix = buildCreateOrderbookIx(params, this.programId);\n return this.createBuildResult(params.payer, { orderbook }, ix);\n }\n\n async whitelistDepositToken(\n params: WhitelistDepositTokenParams\n ): Promise<BuildResult<{ globalDepositToken: PublicKey }>> {\n const [globalDepositToken] = pda.getGlobalDepositTokenPda(params.mint, this.programId);\n const ix = buildWhitelistDepositTokenIx(params, this.programId);\n return this.createBuildResult(params.authority, { globalDepositToken }, ix);\n }\n\n async depositToGlobal(\n params: DepositToGlobalParams\n ): Promise<BuildResult<{ userGlobalDeposit: PublicKey }>> {\n const [userGlobalDeposit] = pda.getUserGlobalDepositPda(params.user, params.mint, this.programId);\n const ix = buildDepositToGlobalIx(params, this.programId);\n return this.createBuildResult(params.user, { userGlobalDeposit }, ix);\n }\n\n async globalToMarketDeposit(\n params: GlobalToMarketDepositParams,\n numOutcomes: number\n ): Promise<BuildResult<{ position: PublicKey; userGlobalDeposit: PublicKey }>> {\n const [position] = pda.getPositionPda(params.user, params.market, this.programId);\n const [userGlobalDeposit] = pda.getUserGlobalDepositPda(\n params.user,\n params.depositMint,\n this.programId\n );\n const ix = buildGlobalToMarketDepositIx(params, numOutcomes, this.programId);\n return this.createBuildResult(params.user, { position, userGlobalDeposit }, ix);\n }\n\n async initPositionTokens(\n params: InitPositionTokensParams,\n numOutcomes: number\n ): Promise<BuildResult<{ position: PublicKey; lookupTable: PublicKey }>> {\n const [position] = pda.getPositionPda(params.user, params.market, this.programId);\n const [lookupTable] = pda.getPositionAltPda(position, params.recentSlot);\n const ix = buildInitPositionTokensIx(params, numOutcomes, this.programId);\n return this.createBuildResult(params.user, { position, lookupTable }, ix);\n }\n\n async depositAndSwap(\n params: DepositAndSwapParams,\n numOutcomes: number\n ): Promise<BuildResult<{ takerPosition: PublicKey }>> {\n const [takerPosition] = pda.getPositionPda(\n params.takerOrder.maker,\n params.market,\n this.programId\n );\n const ix = buildDepositAndSwapIx(params, numOutcomes, this.programId);\n return this.createBuildResult(params.operator, { takerPosition }, ix);\n }\n\n // ============================================================================\n // ORDER HELPERS\n // ============================================================================\n\n createBidOrder(params: BidOrderParams): Omit<SignedOrder, \"signature\"> {\n return createBidOrder(params);\n }\n\n createAskOrder(params: AskOrderParams): Omit<SignedOrder, \"signature\"> {\n return createAskOrder(params);\n }\n\n createSignedBidOrder(params: BidOrderParams, signer: Keypair): SignedOrder {\n return createSignedBidOrder(params, signer);\n }\n\n createSignedAskOrder(params: AskOrderParams, signer: Keypair): SignedOrder {\n return createSignedAskOrder(params, signer);\n }\n\n hashOrder(order: SignedOrder): Buffer {\n return hashOrder(order);\n }\n\n signOrder(order: SignedOrder, signer: Keypair): Buffer {\n return signOrder(order, signer);\n }\n\n signFullOrder(\n order: Omit<SignedOrder, \"signature\">,\n signer: Keypair\n ): SignedOrder {\n return signOrderFull(order, signer);\n }\n\n // ============================================================================\n // UTILITY METHODS\n // ============================================================================\n\n deriveConditionId(\n oracle: PublicKey,\n questionId: Buffer,\n numOutcomes: number\n ): Buffer {\n return deriveConditionId(oracle, questionId, numOutcomes);\n }\n\n getConditionalMints(\n market: PublicKey,\n depositMint: PublicKey,\n numOutcomes: number\n ): PublicKey[] {\n return pda\n .getAllConditionalMintPdas(\n market,\n depositMint,\n numOutcomes,\n this.programId\n )\n .map(([mint]) => mint);\n }\n\n getExchangePda(): PublicKey {\n return pda.getExchangePda(this.programId)[0];\n }\n\n getMarketPda(marketId: bigint): PublicKey {\n return pda.getMarketPda(marketId, this.programId)[0];\n }\n\n getPositionPda(owner: PublicKey, market: PublicKey): PublicKey {\n return pda.getPositionPda(owner, market, this.programId)[0];\n }\n\n getOrderStatusPda(orderHash: Buffer): PublicKey {\n return pda.getOrderStatusPda(orderHash, this.programId)[0];\n }\n\n getUserNoncePda(user: PublicKey): PublicKey {\n return pda.getUserNoncePda(user, this.programId)[0];\n }\n\n getOrderbookPda(mintA: PublicKey, mintB: PublicKey): PublicKey {\n return pda.getOrderbookPda(mintA, mintB, this.programId)[0];\n }\n\n getGlobalDepositTokenPda(mint: PublicKey): PublicKey {\n return pda.getGlobalDepositTokenPda(mint, this.programId)[0];\n }\n\n getUserGlobalDepositPda(user: PublicKey, mint: PublicKey): PublicKey {\n return pda.getUserGlobalDepositPda(user, mint, this.programId)[0];\n }\n}\n"]}