@lightconexyz/lightcone-sdk 0.5.1 → 0.6.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 (153) hide show
  1. package/README.md +35 -5
  2. package/dist/client.d.ts +30 -1
  3. package/dist/client.d.ts.map +1 -1
  4. package/dist/client.js +38 -0
  5. package/dist/client.js.map +1 -1
  6. package/dist/domain/admin/client.d.ts +10 -1
  7. package/dist/domain/admin/client.d.ts.map +1 -1
  8. package/dist/domain/admin/client.js +51 -0
  9. package/dist/domain/admin/client.js.map +1 -1
  10. package/dist/domain/admin/wire.d.ts +267 -7
  11. package/dist/domain/admin/wire.d.ts.map +1 -1
  12. package/dist/domain/admin/wire.js.map +1 -1
  13. package/dist/domain/faucet.d.ts +25 -0
  14. package/dist/domain/faucet.d.ts.map +1 -0
  15. package/dist/domain/faucet.js +3 -0
  16. package/dist/domain/faucet.js.map +1 -0
  17. package/dist/domain/index.d.ts +2 -0
  18. package/dist/domain/index.d.ts.map +1 -1
  19. package/dist/domain/index.js +3 -1
  20. package/dist/domain/index.js.map +1 -1
  21. package/dist/domain/market/client.d.ts +23 -2
  22. package/dist/domain/market/client.d.ts.map +1 -1
  23. package/dist/domain/market/client.js +30 -0
  24. package/dist/domain/market/client.js.map +1 -1
  25. package/dist/domain/market/convert.d.ts +10 -0
  26. package/dist/domain/market/convert.d.ts.map +1 -1
  27. package/dist/domain/market/convert.js +43 -4
  28. package/dist/domain/market/convert.js.map +1 -1
  29. package/dist/domain/market/icon.d.ts +17 -0
  30. package/dist/domain/market/icon.d.ts.map +1 -0
  31. package/dist/domain/market/icon.js +25 -0
  32. package/dist/domain/market/icon.js.map +1 -0
  33. package/dist/domain/market/index.d.ts +13 -4
  34. package/dist/domain/market/index.d.ts.map +1 -1
  35. package/dist/domain/market/index.js +3 -1
  36. package/dist/domain/market/index.js.map +1 -1
  37. package/dist/domain/market/outcome.d.ts +3 -1
  38. package/dist/domain/market/outcome.d.ts.map +1 -1
  39. package/dist/domain/market/outcome.js +7 -7
  40. package/dist/domain/market/outcome.js.map +1 -1
  41. package/dist/domain/market/tokens.d.ts +53 -3
  42. package/dist/domain/market/tokens.d.ts.map +1 -1
  43. package/dist/domain/market/tokens.js +99 -8
  44. package/dist/domain/market/tokens.js.map +1 -1
  45. package/dist/domain/market/wire.d.ts +46 -8
  46. package/dist/domain/market/wire.d.ts.map +1 -1
  47. package/dist/domain/market/wire.js.map +1 -1
  48. package/dist/domain/metrics/client.d.ts +66 -0
  49. package/dist/domain/metrics/client.d.ts.map +1 -0
  50. package/dist/domain/metrics/client.js +124 -0
  51. package/dist/domain/metrics/client.js.map +1 -0
  52. package/dist/domain/metrics/index.d.ts +3 -0
  53. package/dist/domain/metrics/index.d.ts.map +1 -0
  54. package/dist/domain/metrics/index.js +19 -0
  55. package/dist/domain/metrics/index.js.map +1 -0
  56. package/dist/domain/metrics/wire.d.ts +342 -0
  57. package/dist/domain/metrics/wire.d.ts.map +1 -0
  58. package/dist/domain/metrics/wire.js +3 -0
  59. package/dist/domain/metrics/wire.js.map +1 -0
  60. package/dist/domain/notification/client.d.ts +6 -0
  61. package/dist/domain/notification/client.d.ts.map +1 -1
  62. package/dist/domain/notification/client.js +10 -0
  63. package/dist/domain/notification/client.js.map +1 -1
  64. package/dist/domain/notification/index.d.ts +3 -1
  65. package/dist/domain/notification/index.d.ts.map +1 -1
  66. package/dist/domain/notification/index.js.map +1 -1
  67. package/dist/domain/order/client.d.ts +28 -2
  68. package/dist/domain/order/client.d.ts.map +1 -1
  69. package/dist/domain/order/client.js +76 -16
  70. package/dist/domain/order/client.js.map +1 -1
  71. package/dist/domain/order/convert.d.ts +5 -5
  72. package/dist/domain/order/convert.d.ts.map +1 -1
  73. package/dist/domain/order/convert.js +1 -1
  74. package/dist/domain/order/convert.js.map +1 -1
  75. package/dist/domain/order/index.d.ts +1 -1
  76. package/dist/domain/order/index.d.ts.map +1 -1
  77. package/dist/domain/order/index.js.map +1 -1
  78. package/dist/domain/order/state.d.ts +9 -7
  79. package/dist/domain/order/state.d.ts.map +1 -1
  80. package/dist/domain/order/state.js +81 -28
  81. package/dist/domain/order/state.js.map +1 -1
  82. package/dist/domain/orderbook/index.d.ts +1 -1
  83. package/dist/domain/orderbook/index.d.ts.map +1 -1
  84. package/dist/domain/orderbook/index.js +3 -8
  85. package/dist/domain/orderbook/index.js.map +1 -1
  86. package/dist/domain/orderbook/state.d.ts +44 -2
  87. package/dist/domain/orderbook/state.d.ts.map +1 -1
  88. package/dist/domain/orderbook/state.js +67 -4
  89. package/dist/domain/orderbook/state.js.map +1 -1
  90. package/dist/domain/orderbook/wire.d.ts +1 -0
  91. package/dist/domain/orderbook/wire.d.ts.map +1 -1
  92. package/dist/domain/orderbook/wire.js.map +1 -1
  93. package/dist/domain/position/client.d.ts +55 -0
  94. package/dist/domain/position/client.d.ts.map +1 -1
  95. package/dist/domain/position/client.js +71 -0
  96. package/dist/domain/position/client.js.map +1 -1
  97. package/dist/domain/position/index.d.ts +3 -2
  98. package/dist/domain/position/index.d.ts.map +1 -1
  99. package/dist/domain/position/index.js.map +1 -1
  100. package/dist/domain/price_history/client.d.ts +12 -1
  101. package/dist/domain/price_history/client.d.ts.map +1 -1
  102. package/dist/domain/price_history/client.js +14 -0
  103. package/dist/domain/price_history/client.js.map +1 -1
  104. package/dist/domain/price_history/wire.d.ts +27 -0
  105. package/dist/domain/price_history/wire.d.ts.map +1 -1
  106. package/dist/domain/price_history/wire.js.map +1 -1
  107. package/dist/domain/referral/client.d.ts +6 -0
  108. package/dist/domain/referral/client.d.ts.map +1 -1
  109. package/dist/domain/referral/client.js +22 -9
  110. package/dist/domain/referral/client.js.map +1 -1
  111. package/dist/domain/trade/convert.d.ts.map +1 -1
  112. package/dist/domain/trade/convert.js +5 -1
  113. package/dist/domain/trade/convert.js.map +1 -1
  114. package/dist/domain/trade/index.d.ts +4 -0
  115. package/dist/domain/trade/index.d.ts.map +1 -1
  116. package/dist/domain/trade/index.js.map +1 -1
  117. package/dist/domain/trade/state.d.ts +7 -0
  118. package/dist/domain/trade/state.d.ts.map +1 -1
  119. package/dist/domain/trade/state.js +36 -1
  120. package/dist/domain/trade/state.js.map +1 -1
  121. package/dist/domain/trade/wire.d.ts +3 -0
  122. package/dist/domain/trade/wire.d.ts.map +1 -1
  123. package/dist/domain/trade/wire.js.map +1 -1
  124. package/dist/http/client.d.ts +9 -0
  125. package/dist/http/client.d.ts.map +1 -1
  126. package/dist/http/client.js +24 -9
  127. package/dist/http/client.js.map +1 -1
  128. package/dist/index.d.ts +1 -1
  129. package/dist/index.d.ts.map +1 -1
  130. package/dist/index.js.map +1 -1
  131. package/dist/prelude.d.ts +13 -5
  132. package/dist/prelude.d.ts.map +1 -1
  133. package/dist/prelude.js +5 -3
  134. package/dist/prelude.js.map +1 -1
  135. package/dist/shared/fmt/decimal.js +4 -4
  136. package/dist/shared/fmt/decimal.js.map +1 -1
  137. package/dist/shared/index.d.ts +1 -1
  138. package/dist/shared/index.d.ts.map +1 -1
  139. package/dist/shared/index.js +2 -1
  140. package/dist/shared/index.js.map +1 -1
  141. package/dist/shared/types.d.ts +5 -2
  142. package/dist/shared/types.d.ts.map +1 -1
  143. package/dist/shared/types.js +21 -0
  144. package/dist/shared/types.js.map +1 -1
  145. package/dist/ws/index.d.ts +12 -1
  146. package/dist/ws/index.d.ts.map +1 -1
  147. package/dist/ws/index.js +20 -0
  148. package/dist/ws/index.js.map +1 -1
  149. package/dist/ws/subscriptions.d.ts +6 -0
  150. package/dist/ws/subscriptions.d.ts.map +1 -1
  151. package/dist/ws/subscriptions.js +4 -0
  152. package/dist/ws/subscriptions.js.map +1 -1
  153. package/package.json +2 -1
package/README.md CHANGED
@@ -216,6 +216,35 @@ const withdrawIx = client.positions().withdraw()
216
216
 
217
217
  Authentication is only required for user-specific endpoints. Authentication is session-based using ED25519 signed messages. The flow is: request a nonce, sign it with your wallet, and exchange it for a session cookie.
218
218
 
219
+ ### Cookie handling
220
+
221
+ After login succeeds, the SDK stores the session token internally and attaches it as `Cookie: auth_token=…` on every authenticated request. Behaviour depends on the runtime:
222
+
223
+ - **Node / non-browser**: token is stored on the `LightconeHttp` instance and added as a `Cookie` header per request.
224
+ - **Browser**: requests use `credentials: "include"` and the runtime supplies the cookie automatically — the SDK's internal store is unused.
225
+
226
+ ### Server-side cookie forwarding (`*WithAuth` variants)
227
+
228
+ > **Naming note.** The `WithAuth` suffix does **not** mean other methods are unauthed — most SDK methods that talk to authed endpoints (e.g. `positions().positions()`, `metrics().user()`) read auth from the SDK's process-wide token store / browser cookie automatically; that's the typical client-side path. The `*WithAuth(authToken: string)` siblings exist for **server-side rendering (SSR) and route-handler callers** where the per-request browser cookie can't propagate to the shared client. Those callers extract the token from the incoming request and pass it explicitly. Same wire contract, different credentials path.
229
+
230
+ When the SDK runs on a server (SSR, an Express / Next.js route handler, etc.) and the *user's* `auth_token` cookie arrives on an incoming HTTP request, the SDK's process-wide token store is the wrong place to route it through — the store is shared across all users of that server process.
231
+
232
+ For these cases, authed methods that need per-call forwarding ship a `*WithAuth(authToken)` sibling that injects the cookie just for that one call:
233
+
234
+ ```typescript
235
+ // Inside a server route, after extracting the auth_token cookie
236
+ // from the incoming request:
237
+ const balances = await client
238
+ .positions()
239
+ .depositTokenBalancesWithAuth(authToken);
240
+
241
+ const positions = await client
242
+ .positions()
243
+ .positionsWithAuth(authToken);
244
+ ```
245
+
246
+ In a browser context these methods are equivalent to their non-`WithAuth` counterparts because the runtime is already attaching the cookie via `credentials: "include"`.
247
+
219
248
  ## Environment Configuration
220
249
 
221
250
  The SDK defaults to the **production** environment. Use `LightconeEnv` to target a different deployment:
@@ -251,12 +280,13 @@ All examples are runnable with `npx tsx examples/<name>.ts`. Examples default to
251
280
  | Example | Description |
252
281
  |---------|-------------|
253
282
  | [`login`](examples/login.ts) | Full auth lifecycle: sign message, login, check session, logout |
283
+ | [`with_auth`](examples/with_auth.ts) | Per-call auth-token forwarding for SSR / route-handler consumers — logs in, captures the token via `client.authToken()`, clears the SDK's internal store, and exercises every `*WithAuth` variant |
254
284
 
255
285
  ### Market Discovery & Data
256
286
 
257
287
  | Example | Description |
258
288
  |---------|-------------|
259
- | [`markets`](examples/markets.ts) | Featured markets, paginated listing, fetch by pubkey, search |
289
+ | [`markets`](examples/markets.ts) | Featured markets, paginated listing, fetch by pubkey, search, platform deposit assets via `globalDepositAssets()` |
260
290
  | [`orderbook`](examples/orderbook.ts) | Fetch orderbook depth (bids/asks) and decimal precision metadata |
261
291
  | [`trades`](examples/trades.ts) | Recent trade history with cursor-based pagination |
262
292
  | [`price_history`](examples/price_history.ts) | Historical candlestick data (OHLCV) at various resolutions |
@@ -266,13 +296,13 @@ All examples are runnable with `npx tsx examples/<name>.ts`. Examples default to
266
296
 
267
297
  | Example | Description |
268
298
  |---------|-------------|
269
- | [`submit_order`](examples/submit_order.ts) | Limit order via `client.orders().limitOrder()` with human-readable price/size, auto-scaling, and fill tracking |
299
+ | [`submit_order`](examples/submit_order.ts) | Deposit the quote amount into the global pool, then place a limit order via `client.orders().limitOrder()` with human-readable price/size, auto-scaling, and fill tracking. Companion `cancel_order` cancels it and withdraws to stay net-neutral |
270
300
 
271
301
  ### Cancelling Orders
272
302
 
273
303
  | Example | Description |
274
304
  |---------|-------------|
275
- | [`cancel_order`](examples/cancel_order.ts) | Cancel a single order by hash and cancel all orders in an orderbook |
305
+ | [`cancel_order`](examples/cancel_order.ts) | Cancel a single order by hash, cancel all orders in an orderbook, and withdraw the released collateral from the global pool |
276
306
  | [`user_orders`](examples/user_orders.ts) | Fetch open orders for an authenticated user |
277
307
 
278
308
  ### On-Chain Operations
@@ -281,13 +311,13 @@ All examples are runnable with `npx tsx examples/<name>.ts`. Examples default to
281
311
  |---------|-------------|
282
312
  | [`read_onchain`](examples/read_onchain.ts) | Read exchange state, market state, user nonce, and PDA derivations via RPC |
283
313
  | [`onchain_transactions`](examples/onchain_transactions.ts) | Build, sign, and submit mint/merge complete set and increment nonce on-chain |
284
- | [`global_deposit_withdrawal`](examples/global_deposit_withdrawal.ts) | Init position tokens, deposit to global pool, move capital into a market, extend an existing ALT, and withdraw from global |
314
+ | [`global_deposit_withdrawal`](examples/global_deposit_withdrawal.ts) | Init position tokens, deposit to global pool, move capital into a market, extend an existing ALT, withdraw from global, and merge back to keep the run net-neutral |
285
315
 
286
316
  ### WebSocket Streaming
287
317
 
288
318
  | Example | Description |
289
319
  |---------|-------------|
290
- | [`ws_book_and_trades`](examples/ws_book_and_trades.ts) | Live orderbook depth with `OrderbookSnapshot` state + rolling `TradeHistory` buffer |
320
+ | [`ws_book_and_trades`](examples/ws_book_and_trades.ts) | Live orderbook depth with `OrderbookState` state + rolling `TradeHistory` buffer |
291
321
  | [`ws_ticker_and_prices`](examples/ws_ticker_and_prices.ts) | Best bid/ask ticker + price history candles with `PriceHistoryState` |
292
322
  | [`ws_user_and_market`](examples/ws_user_and_market.ts) | Authenticated user stream (orders, balances) + market lifecycle events |
293
323
 
package/dist/client.d.ts CHANGED
@@ -2,7 +2,9 @@ import { Connection, Keypair, PublicKey, Transaction } from "@solana/web3.js";
2
2
  import { Auth, type AuthCredentials } from "./auth";
3
3
  import type { ClientContext } from "./context";
4
4
  import { Admin } from "./domain/admin";
5
+ import type { FaucetResponse } from "./domain/faucet";
5
6
  import { Markets } from "./domain/market";
7
+ import { Metrics } from "./domain/metrics";
6
8
  import { Notifications } from "./domain/notification";
7
9
  import { Orders } from "./domain/order";
8
10
  import { Orderbooks } from "./domain/orderbook";
@@ -14,7 +16,7 @@ import { LightconeHttp } from "./http";
14
16
  import { LightconeEnv } from "./env";
15
17
  import { Privy } from "./privy";
16
18
  import { Rpc } from "./rpc";
17
- import { DepositSource } from "./shared";
19
+ import { DepositSource, type PubkeyStr } from "./shared";
18
20
  import { type ExternalSigner, type SigningStrategy } from "./shared/signing";
19
21
  import { WsClient, type WsConfig } from "./ws";
20
22
  declare class AuthState {
@@ -52,6 +54,19 @@ export declare class LightconeClient implements ClientContext {
52
54
  orderNonce(): number | undefined;
53
55
  setOrderNonce(nonce: number): void;
54
56
  clearOrderNonce(): void;
57
+ /**
58
+ * Get the current `auth_token` cookie value, if any. Populated by the SDK
59
+ * after a successful login, then attached on every authed request. Useful
60
+ * for forwarding the token through the `*WithAuth` methods, or
61
+ * persisting the session across processes.
62
+ */
63
+ authToken(): Promise<string | undefined>;
64
+ /**
65
+ * Clear the cached `auth_token`. Subsequent authed calls will go out
66
+ * without a `Cookie` header (and 401) unless they use a
67
+ * `*WithAuth` variant.
68
+ */
69
+ clearAuthToken(): Promise<void>;
55
70
  signAndSubmitTx(tx: Transaction): Promise<string>;
56
71
  static builder(): LightconeClientBuilder;
57
72
  markets(): Markets;
@@ -61,6 +76,20 @@ export declare class LightconeClient implements ClientContext {
61
76
  trades(): Trades;
62
77
  priceHistory(): PriceHistoryClient;
63
78
  notifications(): Notifications;
79
+ /**
80
+ * Metrics sub-client — platform / market / orderbook / category / deposit-token
81
+ * volume metrics, market leaderboard, and time-series history.
82
+ */
83
+ metrics(): Metrics;
84
+ /**
85
+ * Request testnet SOL and whitelisted deposit tokens for a wallet.
86
+ *
87
+ * Only active on environments whose backend has the faucet enabled (typically
88
+ * local and staging).
89
+ *
90
+ * `POST /api/claim`
91
+ */
92
+ claim(walletAddress: PubkeyStr): Promise<FaucetResponse>;
64
93
  admin(): Admin;
65
94
  auth(): Auth;
66
95
  privy(): Privy;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js CHANGED
@@ -6,6 +6,7 @@ const auth_1 = require("./auth");
6
6
  const context_1 = require("./context");
7
7
  const admin_1 = require("./domain/admin");
8
8
  const market_1 = require("./domain/market");
9
+ const metrics_1 = require("./domain/metrics");
9
10
  const notification_1 = require("./domain/notification");
10
11
  const order_1 = require("./domain/order");
11
12
  const orderbook_1 = require("./domain/orderbook");
@@ -82,6 +83,24 @@ class LightconeClient {
82
83
  clearOrderNonce() {
83
84
  this.orderNonceValue = undefined;
84
85
  }
86
+ // ── Auth token (cookie) ─────────────────────────────────────────────
87
+ /**
88
+ * Get the current `auth_token` cookie value, if any. Populated by the SDK
89
+ * after a successful login, then attached on every authed request. Useful
90
+ * for forwarding the token through the `*WithAuth` methods, or
91
+ * persisting the session across processes.
92
+ */
93
+ async authToken() {
94
+ return this.http.authTokenRef()();
95
+ }
96
+ /**
97
+ * Clear the cached `auth_token`. Subsequent authed calls will go out
98
+ * without a `Cookie` header (and 401) unless they use a
99
+ * `*WithAuth` variant.
100
+ */
101
+ async clearAuthToken() {
102
+ await this.http.clearAuthToken();
103
+ }
85
104
  // ── Transaction signing + submission ────────────────────────────────
86
105
  async signAndSubmitTx(tx) {
87
106
  return (0, context_1.signAndSubmitTx)(this, tx);
@@ -111,6 +130,25 @@ class LightconeClient {
111
130
  notifications() {
112
131
  return new notification_1.Notifications(this);
113
132
  }
133
+ /**
134
+ * Metrics sub-client — platform / market / orderbook / category / deposit-token
135
+ * volume metrics, market leaderboard, and time-series history.
136
+ */
137
+ metrics() {
138
+ return new metrics_1.Metrics(this);
139
+ }
140
+ /**
141
+ * Request testnet SOL and whitelisted deposit tokens for a wallet.
142
+ *
143
+ * Only active on environments whose backend has the faucet enabled (typically
144
+ * local and staging).
145
+ *
146
+ * `POST /api/claim`
147
+ */
148
+ async claim(walletAddress) {
149
+ const url = `${this.http.baseUrl()}/api/claim`;
150
+ return this.http.post(url, { wallet_address: walletAddress }, http_1.RetryPolicy.None);
151
+ }
114
152
  admin() {
115
153
  return new admin_1.Admin(this);
116
154
  }
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Connection, Keypair, PublicKey, Transaction } from \"@solana/web3.js\";\nimport { Auth, type AuthCredentials } from \"./auth\";\nimport type { ClientContext } from \"./context\";\nimport { signAndSubmitTx as signAndSubmitTxFn } from \"./context\";\nimport { Admin } from \"./domain/admin\";\nimport { Markets } from \"./domain/market\";\nimport { Notifications } from \"./domain/notification\";\nimport { Orders } from \"./domain/order\";\nimport { Orderbooks } from \"./domain/orderbook\";\nimport { Positions } from \"./domain/position\";\nimport { PriceHistoryClient } from \"./domain/price_history\";\nimport { Referrals } from \"./domain/referral\";\nimport { Trades } from \"./domain/trade\";\nimport { LightconeHttp } from \"./http\";\nimport { LightconeEnv, apiUrl, wsUrl, rpcUrl, programId as envProgramId } from \"./env\";\nimport { Privy } from \"./privy\";\nimport { Rpc } from \"./rpc\";\nimport { DepositSource } from \"./shared\";\nimport { type ExternalSigner, type SigningStrategy } from \"./shared/signing\";\nimport { WsClient, type WsConfig } from \"./ws\";\n\nclass AuthState {\n private credentialsValue: AuthCredentials | undefined;\n\n constructor(initial?: AuthCredentials) {\n this.credentialsValue = initial;\n }\n\n getCredentials(): AuthCredentials | undefined {\n return this.credentialsValue;\n }\n\n setCredentials(credentials: AuthCredentials | undefined): void {\n this.credentialsValue = credentials;\n }\n\n async clearCaches(): Promise<void> {\n // No caches to clear — decimals are derived locally from orderbook metadata.\n }\n}\n\nexport class LightconeClient implements ClientContext {\n readonly http: LightconeHttp;\n readonly programId: PublicKey;\n readonly connection?: Connection;\n private depositSourceValue: DepositSource;\n private signingStrategyValue?: SigningStrategy;\n private orderNonceValue: number | undefined;\n private readonly wsConfigValue: WsConfig;\n private readonly authStateStore: AuthState;\n\n constructor(params: {\n http: LightconeHttp;\n wsConfig: WsConfig;\n programId?: PublicKey;\n connection?: Connection;\n depositSource?: DepositSource;\n signingStrategy?: SigningStrategy;\n orderNonce?: number;\n authCredentials?: AuthCredentials;\n authState?: AuthState;\n }) {\n this.http = params.http;\n this.programId = params.programId ?? envProgramId(LightconeEnv.Prod);\n this.connection = params.connection;\n this.depositSourceValue = params.depositSource ?? DepositSource.Global;\n this.signingStrategyValue = params.signingStrategy;\n this.orderNonceValue = params.orderNonce;\n this.wsConfigValue = params.wsConfig;\n this.authStateStore =\n params.authState ??\n new AuthState(params.authCredentials);\n }\n\n // ── Deposit source ──────────────────────────────────────────────────\n\n get depositSource(): DepositSource {\n return this.depositSourceValue;\n }\n\n setDepositSource(source: DepositSource): void {\n this.depositSourceValue = source;\n }\n\n // ── Signing strategy ────────────────────────────────────────────────\n\n get signingStrategy(): SigningStrategy | undefined {\n return this.signingStrategyValue;\n }\n\n setSigningStrategy(strategy: SigningStrategy): void {\n this.signingStrategyValue = strategy;\n }\n\n clearSigningStrategy(): void {\n this.signingStrategyValue = undefined;\n }\n\n // ── Nonce cache ──────────────────────────────────────────────────────\n\n orderNonce(): number | undefined {\n return this.orderNonceValue;\n }\n\n setOrderNonce(nonce: number): void {\n this.orderNonceValue = nonce;\n }\n\n clearOrderNonce(): void {\n this.orderNonceValue = undefined;\n }\n\n // ── Transaction signing + submission ────────────────────────────────\n\n async signAndSubmitTx(tx: Transaction): Promise<string> {\n return signAndSubmitTxFn(this, tx);\n }\n\n static builder(): LightconeClientBuilder {\n return new LightconeClientBuilder();\n }\n\n // ── Sub-client accessors ─────────────────────────────────────────────\n\n markets(): Markets {\n return new Markets(this);\n }\n\n orderbooks(): Orderbooks {\n return new Orderbooks(this);\n }\n\n orders(): Orders {\n return new Orders(this);\n }\n\n positions(): Positions {\n return new Positions(this);\n }\n\n trades(): Trades {\n return new Trades(this);\n }\n\n priceHistory(): PriceHistoryClient {\n return new PriceHistoryClient(this);\n }\n\n notifications(): Notifications {\n return new Notifications(this);\n }\n\n admin(): Admin {\n return new Admin(this);\n }\n\n auth(): Auth {\n return new Auth({\n http: this.http,\n authState: this.authStateStore,\n });\n }\n\n privy(): Privy {\n return new Privy(this);\n }\n\n referrals(): Referrals {\n return new Referrals(this);\n }\n\n rpc(): Rpc {\n return new Rpc(this);\n }\n\n wsConfig(): WsConfig {\n return this.wsConfigValue;\n }\n\n ws(): WsClient {\n return new WsClient(this.wsConfigValue, this.http.authTokenRef());\n }\n\n clone(): LightconeClient {\n return new LightconeClient({\n http: this.http,\n wsConfig: { ...this.wsConfigValue },\n programId: this.programId,\n connection: this.connection\n ? new Connection(this.connection.rpcEndpoint)\n : undefined,\n depositSource: this.depositSourceValue,\n signingStrategy: this.signingStrategyValue,\n orderNonce: this.orderNonceValue,\n authState: this.authStateStore,\n });\n }\n}\n\nexport class LightconeClientBuilder {\n private baseUrlValue: string = apiUrl(LightconeEnv.Prod);\n private wsUrlValue: string = wsUrl(LightconeEnv.Prod);\n private authCredentials?: AuthCredentials;\n private programIdValue: PublicKey = envProgramId(LightconeEnv.Prod);\n private depositSourceValue: DepositSource = DepositSource.Global;\n private signingStrategyValue?: SigningStrategy;\n private rpcUrlValue?: string = rpcUrl(LightconeEnv.Prod);\n\n /**\n * Set the deployment environment. Configures the API URL, WebSocket URL,\n * RPC URL, and program ID for the given environment.\n *\n * Individual URL overrides (e.g. `.baseUrl()`) take precedence when\n * called **after** `.env()`.\n */\n env(environment: LightconeEnv): LightconeClientBuilder {\n this.baseUrlValue = apiUrl(environment);\n this.wsUrlValue = wsUrl(environment);\n this.programIdValue = envProgramId(environment);\n this.rpcUrlValue = rpcUrl(environment);\n return this;\n }\n\n baseUrl(url: string): LightconeClientBuilder {\n return this.withBaseUrl(url);\n }\n\n withBaseUrl(url: string): LightconeClientBuilder {\n this.baseUrlValue = url;\n return this;\n }\n\n wsUrl(url: string): LightconeClientBuilder {\n return this.withWsUrl(url);\n }\n\n withWsUrl(url: string): LightconeClientBuilder {\n this.wsUrlValue = url;\n return this;\n }\n\n auth(credentials: AuthCredentials): LightconeClientBuilder {\n return this.withAuth(credentials);\n }\n\n withAuth(credentials: AuthCredentials): LightconeClientBuilder {\n this.authCredentials = credentials;\n return this;\n }\n\n programId(id: PublicKey): LightconeClientBuilder {\n this.programIdValue = id;\n return this;\n }\n\n depositSource(source: DepositSource): LightconeClientBuilder {\n this.depositSourceValue = source;\n return this;\n }\n\n nativeSigner(keypair: Keypair): LightconeClientBuilder {\n this.signingStrategyValue = { type: \"native\", keypair };\n return this;\n }\n\n externalSigner(signer: ExternalSigner): LightconeClientBuilder {\n this.signingStrategyValue = { type: \"walletAdapter\", signer };\n return this;\n }\n\n privyWalletId(walletId: string): LightconeClientBuilder {\n this.signingStrategyValue = { type: \"privy\", walletId };\n return this;\n }\n\n rpcUrl(url: string): LightconeClientBuilder {\n this.rpcUrlValue = url;\n return this;\n }\n\n build(): LightconeClient {\n return new LightconeClient({\n http: new LightconeHttp(this.baseUrlValue),\n wsConfig: {\n url: this.wsUrlValue,\n reconnect: true,\n maxReconnectAttempts: 10,\n baseReconnectDelayMs: 1_000,\n pingIntervalMs: 30_000,\n pongTimeoutMs: 10_000,\n },\n programId: this.programIdValue,\n depositSource: this.depositSourceValue,\n signingStrategy: this.signingStrategyValue,\n connection: this.rpcUrlValue\n ? new Connection(this.rpcUrlValue)\n : undefined,\n authCredentials: this.authCredentials,\n });\n }\n}\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":";;;AAAA,6CAA8E;AAC9E,iCAAoD;AAEpD,uCAAiE;AACjE,0CAAuC;AAEvC,4CAA0C;AAC1C,8CAA2C;AAC3C,wDAAsD;AACtD,0CAAwC;AACxC,kDAAgD;AAChD,gDAA8C;AAC9C,0DAA4D;AAC5D,gDAA8C;AAC9C,0CAAwC;AACxC,iCAAoD;AACpD,+BAAuF;AACvF,mCAAgC;AAChC,+BAA4B;AAC5B,qCAAyD;AAEzD,6BAA+C;AAE/C,MAAM,SAAS;IACL,gBAAgB,CAA8B;IAEtD,YAAY,OAAyB;QACnC,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC;IAClC,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,CAAC,gBAAgB,CAAC;IAC/B,CAAC;IAED,cAAc,CAAC,WAAwC;QACrD,IAAI,CAAC,gBAAgB,GAAG,WAAW,CAAC;IACtC,CAAC;IAED,KAAK,CAAC,WAAW;QACf,6EAA6E;IAC/E,CAAC;CACF;AAED,MAAa,eAAe;IACjB,IAAI,CAAgB;IACpB,SAAS,CAAY;IACrB,UAAU,CAAc;IACzB,kBAAkB,CAAgB;IAClC,oBAAoB,CAAmB;IACvC,eAAe,CAAqB;IAC3B,aAAa,CAAW;IACxB,cAAc,CAAY;IAE3C,YAAY,MAUX;QACC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,IAAI,IAAA,eAAY,EAAC,kBAAY,CAAC,IAAI,CAAC,CAAC;QACrE,IAAI,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC;QACpC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,aAAa,IAAI,sBAAa,CAAC,MAAM,CAAC;QACvE,IAAI,CAAC,oBAAoB,GAAG,MAAM,CAAC,eAAe,CAAC;QACnD,IAAI,CAAC,eAAe,GAAG,MAAM,CAAC,UAAU,CAAC;QACzC,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC,QAAQ,CAAC;QACrC,IAAI,CAAC,cAAc;YACjB,MAAM,CAAC,SAAS;gBAChB,IAAI,SAAS,CAAC,MAAM,CAAC,eAAe,CAAC,CAAC;IAC1C,CAAC;IAED,uEAAuE;IAEvE,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,kBAAkB,CAAC;IACjC,CAAC;IAED,gBAAgB,CAAC,MAAqB;QACpC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;IACnC,CAAC;IAED,uEAAuE;IAEvE,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,oBAAoB,CAAC;IACnC,CAAC;IAED,kBAAkB,CAAC,QAAyB;QAC1C,IAAI,CAAC,oBAAoB,GAAG,QAAQ,CAAC;IACvC,CAAC;IAED,oBAAoB;QAClB,IAAI,CAAC,oBAAoB,GAAG,SAAS,CAAC;IACxC,CAAC;IAED,wEAAwE;IAExE,UAAU;QACR,OAAO,IAAI,CAAC,eAAe,CAAC;IAC9B,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;IAC/B,CAAC;IAED,eAAe;QACb,IAAI,CAAC,eAAe,GAAG,SAAS,CAAC;IACnC,CAAC;IAED,uEAAuE;IAEvE;;;;;OAKG;IACH,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC;IACpC,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,cAAc;QAClB,MAAM,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,CAAC;IACnC,CAAC;IAED,uEAAuE;IAEvE,KAAK,CAAC,eAAe,CAAC,EAAe;QACnC,OAAO,IAAA,yBAAiB,EAAC,IAAI,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,OAAO,IAAI,sBAAsB,EAAE,CAAC;IACtC,CAAC;IAED,wEAAwE;IAExE,OAAO;QACL,OAAO,IAAI,gBAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED,UAAU;QACR,OAAO,IAAI,sBAAU,CAAC,IAAI,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,cAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,SAAS;QACP,OAAO,IAAI,oBAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,cAAM,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAED,YAAY;QACV,OAAO,IAAI,kCAAkB,CAAC,IAAI,CAAC,CAAC;IACtC,CAAC;IAED,aAAa;QACX,OAAO,IAAI,4BAAa,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;;OAGG;IACH,OAAO;QACL,OAAO,IAAI,iBAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,CAAC,aAAwB;QAClC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC;QAC/C,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CACnB,GAAG,EACH,EAAE,cAAc,EAAE,aAAa,EAAE,EACjC,kBAAW,CAAC,IAAI,CACjB,CAAC;IACJ,CAAC;IAED,KAAK;QACH,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,IAAI;QACF,OAAO,IAAI,WAAI,CAAC;YACd,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,OAAO,IAAI,aAAK,CAAC,IAAI,CAAC,CAAC;IACzB,CAAC;IAED,SAAS;QACP,OAAO,IAAI,oBAAS,CAAC,IAAI,CAAC,CAAC;IAC7B,CAAC;IAED,GAAG;QACD,OAAO,IAAI,SAAG,CAAC,IAAI,CAAC,CAAC;IACvB,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAED,EAAE;QACA,OAAO,IAAI,aAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK;QACH,OAAO,IAAI,eAAe,CAAC;YACzB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,QAAQ,EAAE,EAAE,GAAG,IAAI,CAAC,aAAa,EAAE;YACnC,SAAS,EAAE,IAAI,CAAC,SAAS;YACzB,UAAU,EAAE,IAAI,CAAC,UAAU;gBACzB,CAAC,CAAC,IAAI,oBAAU,CAAC,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC;gBAC7C,CAAC,CAAC,SAAS;YACb,aAAa,EAAE,IAAI,CAAC,kBAAkB;YACtC,eAAe,EAAE,IAAI,CAAC,oBAAoB;YAC1C,UAAU,EAAE,IAAI,CAAC,eAAe;YAChC,SAAS,EAAE,IAAI,CAAC,cAAc;SAC/B,CAAC,CAAC;IACL,CAAC;CACF;AA1MD,0CA0MC;AAED,MAAa,sBAAsB;IACzB,YAAY,GAAW,IAAA,YAAM,EAAC,kBAAY,CAAC,IAAI,CAAC,CAAC;IACjD,UAAU,GAAW,IAAA,WAAK,EAAC,kBAAY,CAAC,IAAI,CAAC,CAAC;IAC9C,eAAe,CAAmB;IAClC,cAAc,GAAc,IAAA,eAAY,EAAC,kBAAY,CAAC,IAAI,CAAC,CAAC;IAC5D,kBAAkB,GAAkB,sBAAa,CAAC,MAAM,CAAC;IACzD,oBAAoB,CAAmB;IACvC,WAAW,GAAY,IAAA,YAAM,EAAC,kBAAY,CAAC,IAAI,CAAC,CAAC;IAEzD;;;;;;OAMG;IACH,GAAG,CAAC,WAAyB;QAC3B,IAAI,CAAC,YAAY,GAAG,IAAA,YAAM,EAAC,WAAW,CAAC,CAAC;QACxC,IAAI,CAAC,UAAU,GAAG,IAAA,WAAK,EAAC,WAAW,CAAC,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,IAAA,eAAY,EAAC,WAAW,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,GAAG,IAAA,YAAM,EAAC,WAAW,CAAC,CAAC;QACvC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,GAAW;QACjB,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED,WAAW,CAAC,GAAW;QACrB,IAAI,CAAC,YAAY,GAAG,GAAG,CAAC;QACxB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAW;QACf,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;IAED,SAAS,CAAC,GAAW;QACnB,IAAI,CAAC,UAAU,GAAG,GAAG,CAAC;QACtB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC,WAA4B;QAC/B,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACpC,CAAC;IAED,QAAQ,CAAC,WAA4B;QACnC,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,CAAC,EAAa;QACrB,IAAI,CAAC,cAAc,GAAG,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,MAAqB;QACjC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,YAAY,CAAC,OAAgB;QAC3B,IAAI,CAAC,oBAAoB,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,cAAc,CAAC,MAAsB;QACnC,IAAI,CAAC,oBAAoB,GAAG,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,EAAE,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,oBAAoB,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,CAAC,GAAW;QAChB,IAAI,CAAC,WAAW,GAAG,GAAG,CAAC;QACvB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK;QACH,OAAO,IAAI,eAAe,CAAC;YACzB,IAAI,EAAE,IAAI,oBAAa,CAAC,IAAI,CAAC,YAAY,CAAC;YAC1C,QAAQ,EAAE;gBACR,GAAG,EAAE,IAAI,CAAC,UAAU;gBACpB,SAAS,EAAE,IAAI;gBACf,oBAAoB,EAAE,EAAE;gBACxB,oBAAoB,EAAE,KAAK;gBAC3B,cAAc,EAAE,MAAM;gBACtB,aAAa,EAAE,MAAM;aACtB;YACD,SAAS,EAAE,IAAI,CAAC,cAAc;YAC9B,aAAa,EAAE,IAAI,CAAC,kBAAkB;YACtC,eAAe,EAAE,IAAI,CAAC,oBAAoB;YAC1C,UAAU,EAAE,IAAI,CAAC,WAAW;gBAC1B,CAAC,CAAC,IAAI,oBAAU,CAAC,IAAI,CAAC,WAAW,CAAC;gBAClC,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,IAAI,CAAC,eAAe;SACtC,CAAC,CAAC;IACL,CAAC;CACF;AArGD,wDAqGC","sourcesContent":["import { Connection, Keypair, PublicKey, Transaction } from \"@solana/web3.js\";\nimport { Auth, type AuthCredentials } from \"./auth\";\nimport type { ClientContext } from \"./context\";\nimport { signAndSubmitTx as signAndSubmitTxFn } from \"./context\";\nimport { Admin } from \"./domain/admin\";\nimport type { FaucetRequest, FaucetResponse } from \"./domain/faucet\";\nimport { Markets } from \"./domain/market\";\nimport { Metrics } from \"./domain/metrics\";\nimport { Notifications } from \"./domain/notification\";\nimport { Orders } from \"./domain/order\";\nimport { Orderbooks } from \"./domain/orderbook\";\nimport { Positions } from \"./domain/position\";\nimport { PriceHistoryClient } from \"./domain/price_history\";\nimport { Referrals } from \"./domain/referral\";\nimport { Trades } from \"./domain/trade\";\nimport { LightconeHttp, RetryPolicy } from \"./http\";\nimport { LightconeEnv, apiUrl, wsUrl, rpcUrl, programId as envProgramId } from \"./env\";\nimport { Privy } from \"./privy\";\nimport { Rpc } from \"./rpc\";\nimport { DepositSource, type PubkeyStr } from \"./shared\";\nimport { type ExternalSigner, type SigningStrategy } from \"./shared/signing\";\nimport { WsClient, type WsConfig } from \"./ws\";\n\nclass AuthState {\n private credentialsValue: AuthCredentials | undefined;\n\n constructor(initial?: AuthCredentials) {\n this.credentialsValue = initial;\n }\n\n getCredentials(): AuthCredentials | undefined {\n return this.credentialsValue;\n }\n\n setCredentials(credentials: AuthCredentials | undefined): void {\n this.credentialsValue = credentials;\n }\n\n async clearCaches(): Promise<void> {\n // No caches to clear — decimals are derived locally from orderbook metadata.\n }\n}\n\nexport class LightconeClient implements ClientContext {\n readonly http: LightconeHttp;\n readonly programId: PublicKey;\n readonly connection?: Connection;\n private depositSourceValue: DepositSource;\n private signingStrategyValue?: SigningStrategy;\n private orderNonceValue: number | undefined;\n private readonly wsConfigValue: WsConfig;\n private readonly authStateStore: AuthState;\n\n constructor(params: {\n http: LightconeHttp;\n wsConfig: WsConfig;\n programId?: PublicKey;\n connection?: Connection;\n depositSource?: DepositSource;\n signingStrategy?: SigningStrategy;\n orderNonce?: number;\n authCredentials?: AuthCredentials;\n authState?: AuthState;\n }) {\n this.http = params.http;\n this.programId = params.programId ?? envProgramId(LightconeEnv.Prod);\n this.connection = params.connection;\n this.depositSourceValue = params.depositSource ?? DepositSource.Global;\n this.signingStrategyValue = params.signingStrategy;\n this.orderNonceValue = params.orderNonce;\n this.wsConfigValue = params.wsConfig;\n this.authStateStore =\n params.authState ??\n new AuthState(params.authCredentials);\n }\n\n // ── Deposit source ──────────────────────────────────────────────────\n\n get depositSource(): DepositSource {\n return this.depositSourceValue;\n }\n\n setDepositSource(source: DepositSource): void {\n this.depositSourceValue = source;\n }\n\n // ── Signing strategy ────────────────────────────────────────────────\n\n get signingStrategy(): SigningStrategy | undefined {\n return this.signingStrategyValue;\n }\n\n setSigningStrategy(strategy: SigningStrategy): void {\n this.signingStrategyValue = strategy;\n }\n\n clearSigningStrategy(): void {\n this.signingStrategyValue = undefined;\n }\n\n // ── Nonce cache ──────────────────────────────────────────────────────\n\n orderNonce(): number | undefined {\n return this.orderNonceValue;\n }\n\n setOrderNonce(nonce: number): void {\n this.orderNonceValue = nonce;\n }\n\n clearOrderNonce(): void {\n this.orderNonceValue = undefined;\n }\n\n // ── Auth token (cookie) ─────────────────────────────────────────────\n\n /**\n * Get the current `auth_token` cookie value, if any. Populated by the SDK\n * after a successful login, then attached on every authed request. Useful\n * for forwarding the token through the `*WithAuth` methods, or\n * persisting the session across processes.\n */\n async authToken(): Promise<string | undefined> {\n return this.http.authTokenRef()();\n }\n\n /**\n * Clear the cached `auth_token`. Subsequent authed calls will go out\n * without a `Cookie` header (and 401) unless they use a\n * `*WithAuth` variant.\n */\n async clearAuthToken(): Promise<void> {\n await this.http.clearAuthToken();\n }\n\n // ── Transaction signing + submission ────────────────────────────────\n\n async signAndSubmitTx(tx: Transaction): Promise<string> {\n return signAndSubmitTxFn(this, tx);\n }\n\n static builder(): LightconeClientBuilder {\n return new LightconeClientBuilder();\n }\n\n // ── Sub-client accessors ─────────────────────────────────────────────\n\n markets(): Markets {\n return new Markets(this);\n }\n\n orderbooks(): Orderbooks {\n return new Orderbooks(this);\n }\n\n orders(): Orders {\n return new Orders(this);\n }\n\n positions(): Positions {\n return new Positions(this);\n }\n\n trades(): Trades {\n return new Trades(this);\n }\n\n priceHistory(): PriceHistoryClient {\n return new PriceHistoryClient(this);\n }\n\n notifications(): Notifications {\n return new Notifications(this);\n }\n\n /**\n * Metrics sub-client — platform / market / orderbook / category / deposit-token\n * volume metrics, market leaderboard, and time-series history.\n */\n metrics(): Metrics {\n return new Metrics(this);\n }\n\n /**\n * Request testnet SOL and whitelisted deposit tokens for a wallet.\n *\n * Only active on environments whose backend has the faucet enabled (typically\n * local and staging).\n *\n * `POST /api/claim`\n */\n async claim(walletAddress: PubkeyStr): Promise<FaucetResponse> {\n const url = `${this.http.baseUrl()}/api/claim`;\n return this.http.post<FaucetResponse, FaucetRequest>(\n url,\n { wallet_address: walletAddress },\n RetryPolicy.None\n );\n }\n\n admin(): Admin {\n return new Admin(this);\n }\n\n auth(): Auth {\n return new Auth({\n http: this.http,\n authState: this.authStateStore,\n });\n }\n\n privy(): Privy {\n return new Privy(this);\n }\n\n referrals(): Referrals {\n return new Referrals(this);\n }\n\n rpc(): Rpc {\n return new Rpc(this);\n }\n\n wsConfig(): WsConfig {\n return this.wsConfigValue;\n }\n\n ws(): WsClient {\n return new WsClient(this.wsConfigValue, this.http.authTokenRef());\n }\n\n clone(): LightconeClient {\n return new LightconeClient({\n http: this.http,\n wsConfig: { ...this.wsConfigValue },\n programId: this.programId,\n connection: this.connection\n ? new Connection(this.connection.rpcEndpoint)\n : undefined,\n depositSource: this.depositSourceValue,\n signingStrategy: this.signingStrategyValue,\n orderNonce: this.orderNonceValue,\n authState: this.authStateStore,\n });\n }\n}\n\nexport class LightconeClientBuilder {\n private baseUrlValue: string = apiUrl(LightconeEnv.Prod);\n private wsUrlValue: string = wsUrl(LightconeEnv.Prod);\n private authCredentials?: AuthCredentials;\n private programIdValue: PublicKey = envProgramId(LightconeEnv.Prod);\n private depositSourceValue: DepositSource = DepositSource.Global;\n private signingStrategyValue?: SigningStrategy;\n private rpcUrlValue?: string = rpcUrl(LightconeEnv.Prod);\n\n /**\n * Set the deployment environment. Configures the API URL, WebSocket URL,\n * RPC URL, and program ID for the given environment.\n *\n * Individual URL overrides (e.g. `.baseUrl()`) take precedence when\n * called **after** `.env()`.\n */\n env(environment: LightconeEnv): LightconeClientBuilder {\n this.baseUrlValue = apiUrl(environment);\n this.wsUrlValue = wsUrl(environment);\n this.programIdValue = envProgramId(environment);\n this.rpcUrlValue = rpcUrl(environment);\n return this;\n }\n\n baseUrl(url: string): LightconeClientBuilder {\n return this.withBaseUrl(url);\n }\n\n withBaseUrl(url: string): LightconeClientBuilder {\n this.baseUrlValue = url;\n return this;\n }\n\n wsUrl(url: string): LightconeClientBuilder {\n return this.withWsUrl(url);\n }\n\n withWsUrl(url: string): LightconeClientBuilder {\n this.wsUrlValue = url;\n return this;\n }\n\n auth(credentials: AuthCredentials): LightconeClientBuilder {\n return this.withAuth(credentials);\n }\n\n withAuth(credentials: AuthCredentials): LightconeClientBuilder {\n this.authCredentials = credentials;\n return this;\n }\n\n programId(id: PublicKey): LightconeClientBuilder {\n this.programIdValue = id;\n return this;\n }\n\n depositSource(source: DepositSource): LightconeClientBuilder {\n this.depositSourceValue = source;\n return this;\n }\n\n nativeSigner(keypair: Keypair): LightconeClientBuilder {\n this.signingStrategyValue = { type: \"native\", keypair };\n return this;\n }\n\n externalSigner(signer: ExternalSigner): LightconeClientBuilder {\n this.signingStrategyValue = { type: \"walletAdapter\", signer };\n return this;\n }\n\n privyWalletId(walletId: string): LightconeClientBuilder {\n this.signingStrategyValue = { type: \"privy\", walletId };\n return this;\n }\n\n rpcUrl(url: string): LightconeClientBuilder {\n this.rpcUrlValue = url;\n return this;\n }\n\n build(): LightconeClient {\n return new LightconeClient({\n http: new LightconeHttp(this.baseUrlValue),\n wsConfig: {\n url: this.wsUrlValue,\n reconnect: true,\n maxReconnectAttempts: 10,\n baseReconnectDelayMs: 1_000,\n pingIntervalMs: 30_000,\n pongTimeoutMs: 10_000,\n },\n programId: this.programIdValue,\n depositSource: this.depositSourceValue,\n signingStrategy: this.signingStrategyValue,\n connection: this.rpcUrlValue\n ? new Connection(this.rpcUrlValue)\n : undefined,\n authCredentials: this.authCredentials,\n });\n }\n}\n"]}
@@ -2,7 +2,7 @@ import { Transaction, type PublicKey, type TransactionInstruction } from "@solan
2
2
  import type { ClientContext } from "../../context";
3
3
  import type { CreateMarketParams, AddDepositMintParams, ActivateMarketParams, SettleMarketParams, SetAuthorityParams, WhitelistDepositTokenParams, CreateOrderbookParams, MatchOrdersMultiParams, DepositAndSwapParams } from "../../program/types";
4
4
  import type { AdminLoginRequest, AdminLoginResponse, AdminNonceResponse } from "./index";
5
- import type { AllocateCodesRequest, AllocateCodesResponse, CreateNotificationRequest, CreateNotificationResponse, DismissNotificationRequest, DismissNotificationResponse, RevokeRequest, RevokeResponse, UnifiedMetadataRequest, UnifiedMetadataResponse, UnrevokeRequest, UnrevokeResponse, WhitelistRequest, WhitelistResponse } from "./wire";
5
+ import type { AdminLogEvent, AdminLogEventsQuery, AdminLogEventsResponse, AdminLogMetricHistoryQuery, AdminLogMetricHistoryResponse, AdminLogMetricsQuery, AdminLogMetricsResponse, AllocateCodesRequest, AllocateCodesResponse, CreateNotificationRequest, CreateNotificationResponse, DismissNotificationRequest, DismissNotificationResponse, ListCodesRequest, ListCodesResponse, ReferralConfig, RevokeRequest, RevokeResponse, UnifiedMetadataRequest, UnifiedMetadataResponse, UnrevokeRequest, UnrevokeResponse, UpdateCodeRequest, UpdateCodeResponse, UpdateConfigRequest, UploadMarketDeploymentAssetsRequest, UploadMarketDeploymentAssetsResponse, WhitelistRequest, WhitelistResponse } from "./wire";
6
6
  export declare class Admin {
7
7
  private readonly client;
8
8
  constructor(client: ClientContext);
@@ -10,12 +10,21 @@ export declare class Admin {
10
10
  adminLogin(request: AdminLoginRequest): Promise<AdminLoginResponse>;
11
11
  adminLogout(): Promise<void>;
12
12
  upsertMetadata(request: UnifiedMetadataRequest): Promise<UnifiedMetadataResponse>;
13
+ uploadMarketDeploymentAssets(request: UploadMarketDeploymentAssetsRequest): Promise<UploadMarketDeploymentAssetsResponse>;
13
14
  allocateCodes(request: AllocateCodesRequest): Promise<AllocateCodesResponse>;
14
15
  whitelist(request: WhitelistRequest): Promise<WhitelistResponse>;
15
16
  revoke(request: RevokeRequest): Promise<RevokeResponse>;
16
17
  unrevoke(request: UnrevokeRequest): Promise<UnrevokeResponse>;
17
18
  createNotification(request: CreateNotificationRequest): Promise<CreateNotificationResponse>;
18
19
  dismissNotification(request: DismissNotificationRequest): Promise<DismissNotificationResponse>;
20
+ getReferralConfig(): Promise<ReferralConfig>;
21
+ updateReferralConfig(request: UpdateConfigRequest): Promise<ReferralConfig>;
22
+ listReferralCodes(request: ListCodesRequest): Promise<ListCodesResponse>;
23
+ updateReferralCode(request: UpdateCodeRequest): Promise<UpdateCodeResponse>;
24
+ listLogEvents(query: AdminLogEventsQuery): Promise<AdminLogEventsResponse>;
25
+ getLogEvent(publicId: string): Promise<AdminLogEvent>;
26
+ logMetrics(query: AdminLogMetricsQuery): Promise<AdminLogMetricsResponse>;
27
+ logMetricHistory(query: AdminLogMetricHistoryQuery): Promise<AdminLogMetricHistoryResponse>;
19
28
  initializeIx(authority: PublicKey): TransactionInstruction;
20
29
  createMarketIx(params: CreateMarketParams, marketId: bigint): TransactionInstruction;
21
30
  addDepositMintIx(params: AddDepositMintParams, market: PublicKey, numOutcomes: number): TransactionInstruction;
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"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"}
@@ -33,6 +33,10 @@ class Admin {
33
33
  const url = `${this.client.http.baseUrl()}/api/admin/metadata`;
34
34
  return this.client.http.adminPost(url, request, http_1.RetryPolicy.None);
35
35
  }
36
+ async uploadMarketDeploymentAssets(request) {
37
+ const url = `${this.client.http.baseUrl()}/api/admin/metadata/upload-market-deployment-assets`;
38
+ return this.client.http.adminPost(url, request, http_1.RetryPolicy.None);
39
+ }
36
40
  async allocateCodes(request) {
37
41
  const url = `${this.client.http.baseUrl()}/api/admin/referral/allocate`;
38
42
  return this.client.http.adminPost(url, request, http_1.RetryPolicy.None);
@@ -57,6 +61,43 @@ class Admin {
57
61
  const url = `${this.client.http.baseUrl()}/api/admin/notifications/dismiss`;
58
62
  return this.client.http.adminPost(url, request, http_1.RetryPolicy.None);
59
63
  }
64
+ // ── Referral config / codes ──────────────────────────────────────────
65
+ async getReferralConfig() {
66
+ const url = `${this.client.http.baseUrl()}/api/admin/referral/config/get`;
67
+ return this.client.http.adminPost(url, {}, http_1.RetryPolicy.None);
68
+ }
69
+ async updateReferralConfig(request) {
70
+ const url = `${this.client.http.baseUrl()}/api/admin/referral/config/update`;
71
+ return this.client.http.adminPost(url, request, http_1.RetryPolicy.None);
72
+ }
73
+ async listReferralCodes(request) {
74
+ const url = `${this.client.http.baseUrl()}/api/admin/referral/codes`;
75
+ return this.client.http.adminPost(url, request, http_1.RetryPolicy.None);
76
+ }
77
+ async updateReferralCode(request) {
78
+ const url = `${this.client.http.baseUrl()}/api/admin/referral/codes/update`;
79
+ return this.client.http.adminPost(url, request, http_1.RetryPolicy.None);
80
+ }
81
+ // ── Admin logs ───────────────────────────────────────────────────────
82
+ async listLogEvents(query) {
83
+ const qs = buildQueryString(query);
84
+ const url = `${this.client.http.baseUrl()}/api/admin/logs/events${qs}`;
85
+ return this.client.http.adminGet(url, http_1.RetryPolicy.Idempotent);
86
+ }
87
+ async getLogEvent(publicId) {
88
+ const url = `${this.client.http.baseUrl()}/api/admin/logs/events/${encodeURIComponent(publicId)}`;
89
+ return this.client.http.adminGet(url, http_1.RetryPolicy.Idempotent);
90
+ }
91
+ async logMetrics(query) {
92
+ const qs = buildQueryString(query);
93
+ const url = `${this.client.http.baseUrl()}/api/admin/logs/metrics${qs}`;
94
+ return this.client.http.adminGet(url, http_1.RetryPolicy.Idempotent);
95
+ }
96
+ async logMetricHistory(query) {
97
+ const qs = buildQueryString(query);
98
+ const url = `${this.client.http.baseUrl()}/api/admin/logs/metrics/history${qs}`;
99
+ return this.client.http.adminGet(url, http_1.RetryPolicy.Idempotent);
100
+ }
60
101
  // ── On-chain transaction builders ────────────────────────────────────
61
102
  initializeIx(authority) {
62
103
  return (0, instructions_1.buildInitializeIx)({ authority }, this.client.programId);
@@ -145,4 +186,14 @@ class Admin {
145
186
  }
146
187
  }
147
188
  exports.Admin = Admin;
189
+ function buildQueryString(query) {
190
+ const params = new URLSearchParams();
191
+ for (const [key, value] of Object.entries(query)) {
192
+ if (value === undefined || value === null)
193
+ continue;
194
+ params.append(key, String(value));
195
+ }
196
+ const qs = params.toString();
197
+ return qs ? `?${qs}` : "";
198
+ }
148
199
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { RetryPolicy } from \"../../http\";\nimport {\n buildInitializeIx,\n buildCreateMarketIx,\n buildAddDepositMintIx,\n buildActivateMarketIx,\n buildSettleMarketIx,\n buildSetPausedIx,\n buildSetOperatorIx,\n buildSetAuthorityIx,\n buildWhitelistDepositTokenIx,\n buildCreateOrderbookIx,\n buildMatchOrdersMultiIx,\n buildDepositAndSwapIx,\n} from \"../../program/instructions\";\nimport type {\n CreateMarketParams,\n AddDepositMintParams,\n ActivateMarketParams,\n SettleMarketParams,\n SetAuthorityParams,\n WhitelistDepositTokenParams,\n CreateOrderbookParams,\n MatchOrdersMultiParams,\n DepositAndSwapParams,\n} from \"../../program/types\";\nimport type {\n AdminLoginRequest,\n AdminLoginResponse,\n AdminNonceResponse,\n} from \"./index\";\nimport type {\n AllocateCodesRequest,\n AllocateCodesResponse,\n CreateNotificationRequest,\n CreateNotificationResponse,\n DismissNotificationRequest,\n DismissNotificationResponse,\n RevokeRequest,\n RevokeResponse,\n UnifiedMetadataRequest,\n UnifiedMetadataResponse,\n UnrevokeRequest,\n UnrevokeResponse,\n WhitelistRequest,\n WhitelistResponse,\n} from \"./wire\";\n\nexport class Admin {\n constructor(private readonly client: ClientContext) {}\n\n // ── Admin auth ───────────────────────────────────────────────────────\n\n async getAdminNonce(): Promise<AdminNonceResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/nonce`;\n return this.client.http.get<AdminNonceResponse>(url, RetryPolicy.None);\n }\n\n async adminLogin(request: AdminLoginRequest): Promise<AdminLoginResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/login`;\n return this.client.http.post<AdminLoginResponse, AdminLoginRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async adminLogout(): Promise<void> {\n const url = `${this.client.http.baseUrl()}/api/admin/logout`;\n try {\n await this.client.http.adminPost(url, {}, RetryPolicy.None);\n } catch {\n // Backend cookie clear can fail in local/dev setups; still clear local state.\n }\n this.client.http.clearAdminToken();\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n async upsertMetadata(\n request: UnifiedMetadataRequest\n ): Promise<UnifiedMetadataResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/metadata`;\n return this.client.http.adminPost<UnifiedMetadataResponse, UnifiedMetadataRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async allocateCodes(\n request: AllocateCodesRequest\n ): Promise<AllocateCodesResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/allocate`;\n return this.client.http.adminPost<AllocateCodesResponse, AllocateCodesRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async whitelist(request: WhitelistRequest): Promise<WhitelistResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/whitelist`;\n return this.client.http.adminPost<WhitelistResponse, WhitelistRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async revoke(request: RevokeRequest): Promise<RevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/revoke`;\n return this.client.http.adminPost<RevokeResponse, RevokeRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async unrevoke(request: UnrevokeRequest): Promise<UnrevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/unrevoke`;\n return this.client.http.adminPost<UnrevokeResponse, UnrevokeRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async createNotification(\n request: CreateNotificationRequest\n ): Promise<CreateNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications`;\n return this.client.http.adminPost<CreateNotificationResponse, CreateNotificationRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async dismissNotification(\n request: DismissNotificationRequest\n ): Promise<DismissNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications/dismiss`;\n return this.client.http.adminPost<DismissNotificationResponse, DismissNotificationRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n initializeIx(authority: PublicKey): TransactionInstruction {\n return buildInitializeIx({ authority }, this.client.programId);\n }\n\n createMarketIx(params: CreateMarketParams, marketId: bigint): TransactionInstruction {\n return buildCreateMarketIx(params, marketId, this.client.programId);\n }\n\n addDepositMintIx(\n params: AddDepositMintParams,\n market: PublicKey,\n numOutcomes: number\n ): TransactionInstruction {\n return buildAddDepositMintIx(params, market, numOutcomes, this.client.programId);\n }\n\n activateMarketIx(params: ActivateMarketParams): TransactionInstruction {\n return buildActivateMarketIx(params, this.client.programId);\n }\n\n settleMarketIx(params: SettleMarketParams): TransactionInstruction {\n return buildSettleMarketIx(params, this.client.programId);\n }\n\n setPausedIx(authority: PublicKey, paused: boolean): TransactionInstruction {\n return buildSetPausedIx(authority, paused, this.client.programId);\n }\n\n setOperatorIx(authority: PublicKey, newOperator: PublicKey): TransactionInstruction {\n return buildSetOperatorIx(authority, newOperator, this.client.programId);\n }\n\n setAuthorityIx(params: SetAuthorityParams): TransactionInstruction {\n return buildSetAuthorityIx(params, this.client.programId);\n }\n\n whitelistDepositTokenIx(params: WhitelistDepositTokenParams): TransactionInstruction {\n return buildWhitelistDepositTokenIx(params, this.client.programId);\n }\n\n createOrderbookIx(params: CreateOrderbookParams): TransactionInstruction {\n return buildCreateOrderbookIx(params, this.client.programId);\n }\n\n matchOrdersMultiIx(params: MatchOrdersMultiParams): TransactionInstruction {\n return buildMatchOrdersMultiIx(params, this.client.programId);\n }\n\n depositAndSwapIx(params: DepositAndSwapParams): TransactionInstruction {\n return buildDepositAndSwapIx(params, this.client.programId);\n }\n\n // ── Transaction builders (_tx convenience wrappers) ─────────────────\n\n initializeTx(authority: PublicKey): Transaction {\n const ix = this.initializeIx(authority);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n createMarketTx(params: CreateMarketParams, marketId: bigint): Transaction {\n const ix = this.createMarketIx(params, marketId);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n addDepositMintTx(\n params: AddDepositMintParams,\n market: PublicKey,\n numOutcomes: number\n ): Transaction {\n const ix = this.addDepositMintIx(params, market, numOutcomes);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n activateMarketTx(params: ActivateMarketParams): Transaction {\n const ix = this.activateMarketIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n settleMarketTx(params: SettleMarketParams): Transaction {\n const ix = this.settleMarketIx(params);\n return new Transaction({ feePayer: params.oracle }).add(ix);\n }\n\n setPausedTx(authority: PublicKey, paused: boolean): Transaction {\n const ix = this.setPausedIx(authority, paused);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n setOperatorTx(authority: PublicKey, newOperator: PublicKey): Transaction {\n const ix = this.setOperatorIx(authority, newOperator);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n setAuthorityTx(params: SetAuthorityParams): Transaction {\n const ix = this.setAuthorityIx(params);\n return new Transaction({ feePayer: params.currentAuthority }).add(ix);\n }\n\n whitelistDepositTokenTx(params: WhitelistDepositTokenParams): Transaction {\n const ix = this.whitelistDepositTokenIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n createOrderbookTx(params: CreateOrderbookParams): Transaction {\n const ix = this.createOrderbookIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n matchOrdersMultiTx(params: MatchOrdersMultiParams): Transaction {\n const ix = this.matchOrdersMultiIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n depositAndSwapTx(params: DepositAndSwapParams): Transaction {\n const ix = this.depositAndSwapIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n}\n"]}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/admin/client.ts"],"names":[],"mappings":"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","sourcesContent":["import { Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { RetryPolicy } from \"../../http\";\nimport {\n buildInitializeIx,\n buildCreateMarketIx,\n buildAddDepositMintIx,\n buildActivateMarketIx,\n buildSettleMarketIx,\n buildSetPausedIx,\n buildSetOperatorIx,\n buildSetAuthorityIx,\n buildWhitelistDepositTokenIx,\n buildCreateOrderbookIx,\n buildMatchOrdersMultiIx,\n buildDepositAndSwapIx,\n} from \"../../program/instructions\";\nimport type {\n CreateMarketParams,\n AddDepositMintParams,\n ActivateMarketParams,\n SettleMarketParams,\n SetAuthorityParams,\n WhitelistDepositTokenParams,\n CreateOrderbookParams,\n MatchOrdersMultiParams,\n DepositAndSwapParams,\n} from \"../../program/types\";\nimport type {\n AdminLoginRequest,\n AdminLoginResponse,\n AdminNonceResponse,\n} from \"./index\";\nimport type {\n AdminLogEvent,\n AdminLogEventsQuery,\n AdminLogEventsResponse,\n AdminLogMetricHistoryQuery,\n AdminLogMetricHistoryResponse,\n AdminLogMetricsQuery,\n AdminLogMetricsResponse,\n AllocateCodesRequest,\n AllocateCodesResponse,\n CreateNotificationRequest,\n CreateNotificationResponse,\n DismissNotificationRequest,\n DismissNotificationResponse,\n ListCodesRequest,\n ListCodesResponse,\n ReferralConfig,\n RevokeRequest,\n RevokeResponse,\n UnifiedMetadataRequest,\n UnifiedMetadataResponse,\n UnrevokeRequest,\n UnrevokeResponse,\n UpdateCodeRequest,\n UpdateCodeResponse,\n UpdateConfigRequest,\n UploadMarketDeploymentAssetsRequest,\n UploadMarketDeploymentAssetsResponse,\n WhitelistRequest,\n WhitelistResponse,\n} from \"./wire\";\n\nexport class Admin {\n constructor(private readonly client: ClientContext) {}\n\n // ── Admin auth ───────────────────────────────────────────────────────\n\n async getAdminNonce(): Promise<AdminNonceResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/nonce`;\n return this.client.http.get<AdminNonceResponse>(url, RetryPolicy.None);\n }\n\n async adminLogin(request: AdminLoginRequest): Promise<AdminLoginResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/login`;\n return this.client.http.post<AdminLoginResponse, AdminLoginRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async adminLogout(): Promise<void> {\n const url = `${this.client.http.baseUrl()}/api/admin/logout`;\n try {\n await this.client.http.adminPost(url, {}, RetryPolicy.None);\n } catch {\n // Backend cookie clear can fail in local/dev setups; still clear local state.\n }\n this.client.http.clearAdminToken();\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n async upsertMetadata(\n request: UnifiedMetadataRequest\n ): Promise<UnifiedMetadataResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/metadata`;\n return this.client.http.adminPost<UnifiedMetadataResponse, UnifiedMetadataRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async uploadMarketDeploymentAssets(\n request: UploadMarketDeploymentAssetsRequest\n ): Promise<UploadMarketDeploymentAssetsResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/metadata/upload-market-deployment-assets`;\n return this.client.http.adminPost<\n UploadMarketDeploymentAssetsResponse,\n UploadMarketDeploymentAssetsRequest\n >(url, request, RetryPolicy.None);\n }\n\n async allocateCodes(\n request: AllocateCodesRequest\n ): Promise<AllocateCodesResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/allocate`;\n return this.client.http.adminPost<AllocateCodesResponse, AllocateCodesRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async whitelist(request: WhitelistRequest): Promise<WhitelistResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/whitelist`;\n return this.client.http.adminPost<WhitelistResponse, WhitelistRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async revoke(request: RevokeRequest): Promise<RevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/revoke`;\n return this.client.http.adminPost<RevokeResponse, RevokeRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async unrevoke(request: UnrevokeRequest): Promise<UnrevokeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/unrevoke`;\n return this.client.http.adminPost<UnrevokeResponse, UnrevokeRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async createNotification(\n request: CreateNotificationRequest\n ): Promise<CreateNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications`;\n return this.client.http.adminPost<CreateNotificationResponse, CreateNotificationRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async dismissNotification(\n request: DismissNotificationRequest\n ): Promise<DismissNotificationResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/notifications/dismiss`;\n return this.client.http.adminPost<DismissNotificationResponse, DismissNotificationRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n // ── Referral config / codes ──────────────────────────────────────────\n\n async getReferralConfig(): Promise<ReferralConfig> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/config/get`;\n return this.client.http.adminPost<ReferralConfig, Record<string, never>>(\n url,\n {},\n RetryPolicy.None\n );\n }\n\n async updateReferralConfig(\n request: UpdateConfigRequest\n ): Promise<ReferralConfig> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/config/update`;\n return this.client.http.adminPost<ReferralConfig, UpdateConfigRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async listReferralCodes(\n request: ListCodesRequest\n ): Promise<ListCodesResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/codes`;\n return this.client.http.adminPost<ListCodesResponse, ListCodesRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async updateReferralCode(\n request: UpdateCodeRequest\n ): Promise<UpdateCodeResponse> {\n const url = `${this.client.http.baseUrl()}/api/admin/referral/codes/update`;\n return this.client.http.adminPost<UpdateCodeResponse, UpdateCodeRequest>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n // ── Admin logs ───────────────────────────────────────────────────────\n\n async listLogEvents(query: AdminLogEventsQuery): Promise<AdminLogEventsResponse> {\n const qs = buildQueryString(query);\n const url = `${this.client.http.baseUrl()}/api/admin/logs/events${qs}`;\n return this.client.http.adminGet<AdminLogEventsResponse>(url, RetryPolicy.Idempotent);\n }\n\n async getLogEvent(publicId: string): Promise<AdminLogEvent> {\n const url = `${this.client.http.baseUrl()}/api/admin/logs/events/${encodeURIComponent(publicId)}`;\n return this.client.http.adminGet<AdminLogEvent>(url, RetryPolicy.Idempotent);\n }\n\n async logMetrics(query: AdminLogMetricsQuery): Promise<AdminLogMetricsResponse> {\n const qs = buildQueryString(query);\n const url = `${this.client.http.baseUrl()}/api/admin/logs/metrics${qs}`;\n return this.client.http.adminGet<AdminLogMetricsResponse>(url, RetryPolicy.Idempotent);\n }\n\n async logMetricHistory(\n query: AdminLogMetricHistoryQuery\n ): Promise<AdminLogMetricHistoryResponse> {\n const qs = buildQueryString(query);\n const url = `${this.client.http.baseUrl()}/api/admin/logs/metrics/history${qs}`;\n return this.client.http.adminGet<AdminLogMetricHistoryResponse>(url, RetryPolicy.Idempotent);\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n initializeIx(authority: PublicKey): TransactionInstruction {\n return buildInitializeIx({ authority }, this.client.programId);\n }\n\n createMarketIx(params: CreateMarketParams, marketId: bigint): TransactionInstruction {\n return buildCreateMarketIx(params, marketId, this.client.programId);\n }\n\n addDepositMintIx(\n params: AddDepositMintParams,\n market: PublicKey,\n numOutcomes: number\n ): TransactionInstruction {\n return buildAddDepositMintIx(params, market, numOutcomes, this.client.programId);\n }\n\n activateMarketIx(params: ActivateMarketParams): TransactionInstruction {\n return buildActivateMarketIx(params, this.client.programId);\n }\n\n settleMarketIx(params: SettleMarketParams): TransactionInstruction {\n return buildSettleMarketIx(params, this.client.programId);\n }\n\n setPausedIx(authority: PublicKey, paused: boolean): TransactionInstruction {\n return buildSetPausedIx(authority, paused, this.client.programId);\n }\n\n setOperatorIx(authority: PublicKey, newOperator: PublicKey): TransactionInstruction {\n return buildSetOperatorIx(authority, newOperator, this.client.programId);\n }\n\n setAuthorityIx(params: SetAuthorityParams): TransactionInstruction {\n return buildSetAuthorityIx(params, this.client.programId);\n }\n\n whitelistDepositTokenIx(params: WhitelistDepositTokenParams): TransactionInstruction {\n return buildWhitelistDepositTokenIx(params, this.client.programId);\n }\n\n createOrderbookIx(params: CreateOrderbookParams): TransactionInstruction {\n return buildCreateOrderbookIx(params, this.client.programId);\n }\n\n matchOrdersMultiIx(params: MatchOrdersMultiParams): TransactionInstruction {\n return buildMatchOrdersMultiIx(params, this.client.programId);\n }\n\n depositAndSwapIx(params: DepositAndSwapParams): TransactionInstruction {\n return buildDepositAndSwapIx(params, this.client.programId);\n }\n\n // ── Transaction builders (_tx convenience wrappers) ─────────────────\n\n initializeTx(authority: PublicKey): Transaction {\n const ix = this.initializeIx(authority);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n createMarketTx(params: CreateMarketParams, marketId: bigint): Transaction {\n const ix = this.createMarketIx(params, marketId);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n addDepositMintTx(\n params: AddDepositMintParams,\n market: PublicKey,\n numOutcomes: number\n ): Transaction {\n const ix = this.addDepositMintIx(params, market, numOutcomes);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n activateMarketTx(params: ActivateMarketParams): Transaction {\n const ix = this.activateMarketIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n settleMarketTx(params: SettleMarketParams): Transaction {\n const ix = this.settleMarketIx(params);\n return new Transaction({ feePayer: params.oracle }).add(ix);\n }\n\n setPausedTx(authority: PublicKey, paused: boolean): Transaction {\n const ix = this.setPausedIx(authority, paused);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n setOperatorTx(authority: PublicKey, newOperator: PublicKey): Transaction {\n const ix = this.setOperatorIx(authority, newOperator);\n return new Transaction({ feePayer: authority }).add(ix);\n }\n\n setAuthorityTx(params: SetAuthorityParams): Transaction {\n const ix = this.setAuthorityIx(params);\n return new Transaction({ feePayer: params.currentAuthority }).add(ix);\n }\n\n whitelistDepositTokenTx(params: WhitelistDepositTokenParams): Transaction {\n const ix = this.whitelistDepositTokenIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n createOrderbookTx(params: CreateOrderbookParams): Transaction {\n const ix = this.createOrderbookIx(params);\n return new Transaction({ feePayer: params.authority }).add(ix);\n }\n\n matchOrdersMultiTx(params: MatchOrdersMultiParams): Transaction {\n const ix = this.matchOrdersMultiIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n depositAndSwapTx(params: DepositAndSwapParams): Transaction {\n const ix = this.depositAndSwapIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n}\n\nfunction buildQueryString(query: object): string {\n const params = new URLSearchParams();\n for (const [key, value] of Object.entries(query)) {\n if (value === undefined || value === null) continue;\n params.append(key, String(value));\n }\n const qs = params.toString();\n return qs ? `?${qs}` : \"\";\n}\n"]}