@lightconexyz/lightcone-sdk 0.8.1-rc.2 → 0.8.1-rc.3
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.
- package/dist/domain/order/client.d.ts +2 -2
- package/dist/domain/order/client.d.ts.map +1 -1
- package/dist/domain/order/client.js.map +1 -1
- package/dist/domain/order/wire.d.ts +41 -24
- package/dist/domain/order/wire.d.ts.map +1 -1
- package/dist/domain/order/wire.js +46 -18
- package/dist/domain/order/wire.js.map +1 -1
- package/dist/prelude.d.ts +1 -1
- package/dist/prelude.d.ts.map +1 -1
- package/dist/prelude.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,7 +3,7 @@ import type { ClientContext } from "../../context";
|
|
|
3
3
|
import type { SignedOrder, CloseOrderStatusParams, BidOrderParams, AskOrderParams, OrderStatus as ProgramOrderStatus } from "../../program/types";
|
|
4
4
|
import { type OrderBookId, type PubkeyStr } from "../../shared";
|
|
5
5
|
import { LimitOrderEnvelope, TriggerOrderEnvelope } from "../../program/envelope";
|
|
6
|
-
import { type
|
|
6
|
+
import { type UserMarketBalance, type UserSnapshotOrder, type UserOrderFillsResponse } from "./wire";
|
|
7
7
|
export interface CancelBody {
|
|
8
8
|
order_hash: string;
|
|
9
9
|
maker: PubkeyStr;
|
|
@@ -63,7 +63,7 @@ export interface CancelTriggerSuccess {
|
|
|
63
63
|
export interface UserOrdersResponse {
|
|
64
64
|
user_pubkey: PubkeyStr;
|
|
65
65
|
orders: UserSnapshotOrder[];
|
|
66
|
-
|
|
66
|
+
market_balances: UserMarketBalance[];
|
|
67
67
|
next_cursor?: string;
|
|
68
68
|
has_more: boolean;
|
|
69
69
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/order/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,KAAK,SAAS,EAAE,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AACpG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAoCnD,OAAO,KAAK,EACV,WAAW,EACX,sBAAsB,EACtB,cAAc,EACd,cAAc,EACd,WAAW,IAAI,kBAAkB,EAClC,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAA8B,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,cAAc,CAAC;AAC5F,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAClF,OAAO,EAEL,KAAK,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../src/domain/order/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/order/client.ts"],"names":[],"mappings":"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","sourcesContent":["import bs58 from \"bs58\";\nimport { Keypair, Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { requireConnection, requireSigningStrategy } from \"../../context\";\nimport { SdkError } from \"../../error\";\nimport { ProgramSdkError } from \"../../program/error\";\nimport { RetryPolicy } from \"../../http\";\nimport { Privy } from \"../../privy\";\nimport { isUserCancellation } from \"../../shared/signing\";\nimport {\n buildCancelOrderIx,\n buildCloseOrderStatusIx,\n buildIncrementNonceIx,\n} from \"../../program/instructions\";\nimport {\n hashOrder as programHashOrder,\n signOrder as programSignOrder,\n signOrderFull,\n createBidOrder as programCreateBidOrder,\n createAskOrder as programCreateAskOrder,\n createSignedBidOrder as programCreateSignedBidOrder,\n createSignedAskOrder as programCreateSignedAskOrder,\n signCancelOrder,\n signCancelTriggerOrder,\n signCancelAll,\n cancelOrderMessage,\n cancelTriggerOrderMessage,\n cancelAllMessage,\n generateCancelAllSalt as programGenerateCancelAllSalt,\n} from \"../../program/orders\";\nimport {\n getOrderStatusPda,\n getUserNoncePda,\n} from \"../../program/pda\";\nimport {\n deserializeOrderStatus,\n deserializeUserNonce,\n} from \"../../program/accounts\";\nimport type {\n SignedOrder,\n CloseOrderStatusParams,\n BidOrderParams,\n AskOrderParams,\n OrderStatus as ProgramOrderStatus,\n} from \"../../program/types\";\nimport { asOrderBookId, asPubkeyStr, type OrderBookId, type PubkeyStr } from \"../../shared\";\nimport { LimitOrderEnvelope, TriggerOrderEnvelope } from \"../../program/envelope\";\nimport {\n normalizeUserOrdersPayload,\n type UserSnapshotBalance,\n type UserSnapshotOrder,\n type UserOrderFillsResponse,\n} from \"./wire\";\n\n// ─── Request types ───────────────────────────────────────────────────────────\n\nexport interface CancelBody {\n order_hash: string;\n maker: PubkeyStr;\n signature: string;\n}\n\nexport function cancelBodyFromBase58(\n orderHash: string,\n maker: PubkeyStr,\n signatureBase58: string\n): CancelBody {\n return {\n order_hash: orderHash,\n maker,\n signature: Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\"),\n };\n}\n\nexport function cancelBodySigned(\n orderHash: string,\n maker: PubkeyStr,\n keypair: Keypair\n): CancelBody {\n const signature = signCancelOrder(orderHash, keypair);\n return { order_hash: orderHash, maker, signature };\n}\n\nexport interface CancelAllBody {\n user_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n signature: string;\n timestamp: number;\n salt: string;\n}\n\nexport function cancelAllBodyFromBase58(\n userPubkey: PubkeyStr,\n orderbookId: OrderBookId,\n timestamp: number,\n salt: string,\n signatureBase58: string\n): CancelAllBody {\n return {\n user_pubkey: userPubkey,\n orderbook_id: orderbookId,\n signature: Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\"),\n timestamp,\n salt,\n };\n}\n\nexport function cancelAllBodySigned(\n userPubkey: PubkeyStr,\n orderbookId: OrderBookId,\n timestamp: number,\n salt: string,\n keypair: Keypair\n): CancelAllBody {\n const signature = signCancelAll(userPubkey, orderbookId, timestamp, salt, keypair);\n return { user_pubkey: userPubkey, orderbook_id: orderbookId, signature, timestamp, salt };\n}\n\nexport interface CancelTriggerBody {\n trigger_order_id: string;\n maker: PubkeyStr;\n signature: string;\n}\n\nexport function cancelTriggerBodyFromBase58(\n triggerOrderId: string,\n maker: PubkeyStr,\n signatureBase58: string\n): CancelTriggerBody {\n return {\n trigger_order_id: triggerOrderId,\n maker,\n signature: Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\"),\n };\n}\n\nexport function cancelTriggerBodySigned(\n triggerOrderId: string,\n maker: PubkeyStr,\n keypair: Keypair\n): CancelTriggerBody {\n const signature = signCancelTriggerOrder(triggerOrderId, keypair);\n return { trigger_order_id: triggerOrderId, maker, signature };\n}\n\n// ─── Response types ──────────────────────────────────────────────────────────\n\nexport interface FillInfo {\n counterparty: PubkeyStr;\n counterparty_order_hash: string;\n fill_amount: string;\n price: string;\n is_maker: boolean;\n}\n\nexport type SubmitOrderStatus = \"accepted\" | \"partial_fill\" | \"filled\";\n\nexport interface SubmitOrderResponse {\n order_hash: string;\n status: SubmitOrderStatus;\n remaining: string;\n filled: string;\n fills: FillInfo[];\n}\n\nexport interface CancelSuccess {\n order_hash: string;\n remaining: string;\n}\n\nexport interface CancelAllSuccess {\n cancelled_order_hashes: string[];\n count: number;\n user_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n message: string;\n}\n\nexport interface TriggerOrderResponse {\n trigger_order_id: string;\n order_hash: string;\n}\n\nexport interface CancelTriggerSuccess {\n trigger_order_id: string;\n}\n\nexport interface UserOrdersResponse {\n user_pubkey: PubkeyStr;\n orders: UserSnapshotOrder[];\n balances: UserSnapshotBalance[];\n next_cursor?: string;\n has_more: boolean;\n}\n\n// ─── Sub-client ──────────────────────────────────────────────────────────────\n\nexport class Orders {\n constructor(private readonly client: ClientContext) {}\n\n // ── PDA helpers ──────────────────────────────────────────────────────\n\n statusPda(orderHash: Buffer): PublicKey {\n return getOrderStatusPda(orderHash, this.client.programId)[0];\n }\n\n noncePda(user: PublicKey): PublicKey {\n return getUserNoncePda(user, this.client.programId)[0];\n }\n\n // ── Envelope factories ────────────────────────────────────────────────\n\n limitOrder(): LimitOrderEnvelope {\n return LimitOrderEnvelope.new().depositSource(this.client.depositSource);\n }\n\n triggerOrder(): TriggerOrderEnvelope {\n return TriggerOrderEnvelope.new().depositSource(this.client.depositSource);\n }\n\n // ── Helpers ──────────────────────────────────────────────────────────\n\n generateCancelAllSalt(): string {\n return programGenerateCancelAllSalt();\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n async submit(request: object): Promise<SubmitOrderResponse> {\n const url = `${this.client.http.baseUrl()}/api/orders/submit`;\n return this.client.http.post<SubmitOrderResponse, object>(url, request, RetryPolicy.None);\n }\n\n async cancel(body: CancelBody): Promise<CancelSuccess> {\n const url = `${this.client.http.baseUrl()}/api/orders/cancel`;\n return this.client.http.post<CancelSuccess, CancelBody>(url, body, RetryPolicy.None);\n }\n\n async cancelAll(body: CancelAllBody): Promise<CancelAllSuccess> {\n const url = `${this.client.http.baseUrl()}/api/orders/cancel-all`;\n return this.client.http.post<CancelAllSuccess, CancelAllBody>(\n url,\n body,\n RetryPolicy.None\n );\n }\n\n async submitTrigger(request: object): Promise<TriggerOrderResponse> {\n const url = `${this.client.http.baseUrl()}/api/orders/submit`;\n return this.client.http.post<TriggerOrderResponse, object>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async cancelTrigger(body: CancelTriggerBody): Promise<CancelTriggerSuccess> {\n const url = `${this.client.http.baseUrl()}/api/orders/cancel`;\n return this.client.http.post<CancelTriggerSuccess, CancelTriggerBody>(\n url,\n body,\n RetryPolicy.None\n );\n }\n\n /**\n * Fetch the authenticated user's open orders. Wallet is resolved\n * server-side from the auth cookie, so no parameter is required.\n */\n async getUserOrders(\n limit?: number,\n cursor?: string\n ): Promise<UserOrdersResponse> {\n const url = buildUserOrdersAuthenticatedUrl(this.client.http.baseUrl(), limit, cursor);\n const response = await this.client.http.get<UserOrdersRawResponse>(url, RetryPolicy.Idempotent);\n return normalizeUserOrdersPayload(response);\n }\n\n /**\n * Same as {@link getUserOrders}, but uses the supplied `cookieHeader` for\n * this call instead of the SDK's process-wide cookie store. For\n * server-side cookie forwarding (SSR / route handlers).\n */\n async getUserOrdersWithCookies(\n limit: number | undefined,\n cursor: string | undefined,\n cookieHeader: string,\n ): Promise<UserOrdersResponse> {\n const url = buildUserOrdersAuthenticatedUrl(this.client.http.baseUrl(), limit, cursor);\n const response = await this.client.http.getWithCookies<UserOrdersRawResponse>(\n url,\n RetryPolicy.Idempotent,\n cookieHeader,\n );\n return normalizeUserOrdersPayload(response);\n }\n\n /**\n * Fetch the authenticated user's filled orders with nested fill events.\n * Wallet is resolved server-side from the auth cookie.\n */\n async getUserOrderFills(\n marketPubkey?: string,\n limit?: number,\n cursor?: string,\n ): Promise<UserOrderFillsResponse> {\n const url = buildUserOrderFillsAuthenticatedUrl(\n this.client.http.baseUrl(),\n marketPubkey,\n limit,\n cursor,\n );\n return this.client.http.get<UserOrderFillsResponse>(url, RetryPolicy.Idempotent);\n }\n\n /**\n * Same as {@link getUserOrderFills}, but uses the supplied `cookieHeader`\n * for this call instead of the SDK's process-wide cookie store. For\n * server-side cookie forwarding (SSR / route handlers).\n */\n async getUserOrderFillsWithCookies(\n marketPubkey: string | undefined,\n limit: number | undefined,\n cursor: string | undefined,\n cookieHeader: string,\n ): Promise<UserOrderFillsResponse> {\n const url = buildUserOrderFillsAuthenticatedUrl(\n this.client.http.baseUrl(),\n marketPubkey,\n limit,\n cursor,\n );\n return this.client.http.getWithCookies<UserOrderFillsResponse>(\n url,\n RetryPolicy.Idempotent,\n cookieHeader,\n );\n }\n\n /**\n * Public variant of {@link getUserOrderFills}. Takes the user's wallet\n * via the URL path (`GET /api/users/{wallet}/order-fills`) and requires\n * no auth.\n */\n async getUserOrderFillsByWallet(\n walletAddress: string,\n marketPubkey?: string,\n limit?: number,\n cursor?: string,\n ): Promise<UserOrderFillsResponse> {\n const url = buildUserOrderFillsByWalletUrl(\n this.client.http.baseUrl(),\n walletAddress,\n marketPubkey,\n limit,\n cursor,\n );\n return this.client.http.get<UserOrderFillsResponse>(url, RetryPolicy.Idempotent);\n }\n\n // ── Unified cancel (dispatches based on client signing strategy) ────\n\n async cancelOrderSigned(\n orderHash: string,\n maker: PubkeyStr\n ): Promise<CancelSuccess> {\n const strategy = requireSigningStrategy(this.client);\n\n switch (strategy.type) {\n case \"native\": {\n const body = cancelBodySigned(orderHash, maker, strategy.keypair);\n return this.cancel(body);\n }\n case \"walletAdapter\": {\n const message = cancelOrderMessage(orderHash);\n const sigBytes = await strategy.signer\n .signMessage(message)\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const sigBs58 = bs58.encode(sigBytes);\n const body = cancelBodyFromBase58(orderHash, maker, sigBs58);\n return this.cancel(body);\n }\n case \"privy\": {\n const privy = new Privy(this.client);\n const result = await privy.signAndCancelOrder(\n strategy.walletId,\n orderHash,\n maker as string\n );\n return {\n order_hash: result.order_hash,\n remaining: result.remaining,\n };\n }\n }\n }\n\n async cancelAllSigned(\n userPubkey: PubkeyStr,\n timestamp: number,\n salt: string,\n orderbookId?: OrderBookId\n ): Promise<CancelAllSuccess> {\n const strategy = requireSigningStrategy(this.client);\n const resolvedOrderbookId = orderbookId ?? (\"\" as OrderBookId);\n\n switch (strategy.type) {\n case \"native\": {\n const body = cancelAllBodySigned(\n userPubkey,\n resolvedOrderbookId,\n timestamp,\n salt,\n strategy.keypair\n );\n return this.cancelAll(body);\n }\n case \"walletAdapter\": {\n const message = cancelAllMessage(\n userPubkey as string,\n resolvedOrderbookId as string,\n timestamp,\n salt\n );\n const sigBytes = await strategy.signer\n .signMessage(new TextEncoder().encode(message))\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const sigBs58 = bs58.encode(sigBytes);\n const body = cancelAllBodyFromBase58(\n userPubkey,\n resolvedOrderbookId,\n timestamp,\n salt,\n sigBs58\n );\n return this.cancelAll(body);\n }\n case \"privy\": {\n const privy = new Privy(this.client);\n const result = await privy.signAndCancelAllOrders(\n strategy.walletId,\n userPubkey as string,\n resolvedOrderbookId as string,\n timestamp,\n salt\n );\n return {\n cancelled_order_hashes: result.cancelled_order_hashes,\n count: result.count,\n user_pubkey: asPubkeyStr(result.user_pubkey),\n orderbook_id: asOrderBookId(result.orderbook_id),\n message: result.message,\n };\n }\n }\n }\n\n async cancelTriggerSigned(\n triggerOrderId: string,\n maker: PubkeyStr\n ): Promise<CancelTriggerSuccess> {\n const strategy = requireSigningStrategy(this.client);\n\n switch (strategy.type) {\n case \"native\": {\n const body = cancelTriggerBodySigned(triggerOrderId, maker, strategy.keypair);\n return this.cancelTrigger(body);\n }\n case \"walletAdapter\": {\n const message = cancelTriggerOrderMessage(triggerOrderId);\n const sigBytes = await strategy.signer\n .signMessage(message)\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const sigBs58 = bs58.encode(sigBytes);\n const body = cancelTriggerBodyFromBase58(triggerOrderId, maker, sigBs58);\n return this.cancelTrigger(body);\n }\n case \"privy\": {\n const privy = new Privy(this.client);\n const result = await privy.signAndCancelTriggerOrder(\n strategy.walletId,\n triggerOrderId,\n maker as string\n );\n return { trigger_order_id: result.trigger_order_id };\n }\n }\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n cancelOrderIx(\n operator: PublicKey,\n market: PublicKey,\n order: SignedOrder\n ): TransactionInstruction {\n return buildCancelOrderIx(operator, market, order, this.client.programId);\n }\n\n incrementNonceIx(user: PublicKey): TransactionInstruction {\n return buildIncrementNonceIx(user, this.client.programId);\n }\n\n closeOrderStatusIx(params: CloseOrderStatusParams): TransactionInstruction {\n return buildCloseOrderStatusIx(params, this.client.programId);\n }\n\n // ── Transaction builders (_tx convenience wrappers) ─────────────────\n\n cancelOrderTx(\n operator: PublicKey,\n market: PublicKey,\n order: SignedOrder\n ): Transaction {\n const ix = this.cancelOrderIx(operator, market, order);\n return new Transaction({ feePayer: operator }).add(ix);\n }\n\n incrementNonceTx(user: PublicKey): Transaction {\n const ix = this.incrementNonceIx(user);\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n closeOrderStatusTx(params: CloseOrderStatusParams): Transaction {\n const ix = this.closeOrderStatusIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n // ── Order helpers ────────────────────────────────────────────────────\n\n createBidOrder(params: BidOrderParams): Omit<SignedOrder, \"signature\"> {\n return programCreateBidOrder(params);\n }\n\n createAskOrder(params: AskOrderParams): Omit<SignedOrder, \"signature\"> {\n return programCreateAskOrder(params);\n }\n\n createSignedBidOrder(params: BidOrderParams, signer: Keypair): SignedOrder {\n return programCreateSignedBidOrder(params, signer);\n }\n\n createSignedAskOrder(params: AskOrderParams, signer: Keypair): SignedOrder {\n return programCreateSignedAskOrder(params, signer);\n }\n\n hashOrder(order: SignedOrder): Buffer {\n return programHashOrder(order);\n }\n\n signOrder(order: SignedOrder, signer: Keypair): Buffer {\n return programSignOrder(order, signer);\n }\n\n signFullOrder(\n order: Omit<SignedOrder, \"signature\">,\n signer: Keypair\n ): SignedOrder {\n return signOrderFull(order, signer);\n }\n\n // ── On-chain account fetchers (require Connection) ──────────────────\n\n async getStatus(orderHash: Buffer): Promise<ProgramOrderStatus | null> {\n const connection = requireConnection(this.client);\n const pda = this.statusPda(orderHash);\n const accountInfo = await connection.getAccountInfo(pda);\n if (!accountInfo) {\n return null;\n }\n return deserializeOrderStatus(accountInfo.data as Buffer);\n }\n\n async getNonce(user: PublicKey): Promise<bigint> {\n const connection = requireConnection(this.client);\n const pda = this.noncePda(user);\n const accountInfo = await connection.getAccountInfo(pda);\n if (!accountInfo) {\n return 0n;\n }\n const userNonce = deserializeUserNonce(accountInfo.data as Buffer);\n return userNonce.nonce;\n }\n\n async currentNonce(user: PublicKey): Promise<number> {\n const nonce = await this.getNonce(user);\n if (nonce > 0xFFFFFFFFn) {\n throw ProgramSdkError.serialization(`Nonce exceeds u32 range: ${nonce}`);\n }\n return Number(nonce);\n }\n}\n\ninterface UserOrdersRawResponse {\n user_pubkey: PubkeyStr;\n orders?: UserSnapshotOrder[];\n balances?: UserSnapshotBalance[];\n next_cursor?: string | null;\n has_more?: boolean;\n}\n\nfunction buildUserOrdersAuthenticatedUrl(\n baseUrl: string,\n limit: number | undefined,\n cursor: string | undefined,\n): string {\n const params = new URLSearchParams();\n if (limit !== undefined) params.set(\"limit\", String(limit));\n if (cursor) params.set(\"cursor\", cursor);\n const qs = params.toString();\n return qs.length === 0\n ? `${baseUrl}/api/users/orders`\n : `${baseUrl}/api/users/orders?${qs}`;\n}\n\nfunction buildUserOrderFillsAuthenticatedUrl(\n baseUrl: string,\n marketPubkey: string | undefined,\n limit: number | undefined,\n cursor: string | undefined,\n): string {\n const params = new URLSearchParams();\n if (marketPubkey) params.set(\"market_pubkey\", marketPubkey);\n if (limit !== undefined) params.set(\"limit\", String(limit));\n if (cursor) params.set(\"cursor\", cursor);\n const qs = params.toString();\n return qs.length === 0\n ? `${baseUrl}/api/users/order-fills`\n : `${baseUrl}/api/users/order-fills?${qs}`;\n}\n\nfunction buildUserOrderFillsByWalletUrl(\n baseUrl: string,\n walletAddress: string,\n marketPubkey: string | undefined,\n limit: number | undefined,\n cursor: string | undefined,\n): string {\n const params = new URLSearchParams();\n if (marketPubkey) params.set(\"market_pubkey\", marketPubkey);\n if (limit !== undefined) params.set(\"limit\", String(limit));\n if (cursor) params.set(\"cursor\", cursor);\n const qs = params.toString();\n const path = `${baseUrl}/api/users/${encodeURIComponent(walletAddress)}/order-fills`;\n return qs.length === 0 ? path : `${path}?${qs}`;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../../src/domain/order/client.ts"],"names":[],"mappings":"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","sourcesContent":["import bs58 from \"bs58\";\nimport { Keypair, Transaction, type PublicKey, type TransactionInstruction } from \"@solana/web3.js\";\nimport type { ClientContext } from \"../../context\";\nimport { requireConnection, requireSigningStrategy } from \"../../context\";\nimport { SdkError } from \"../../error\";\nimport { ProgramSdkError } from \"../../program/error\";\nimport { RetryPolicy } from \"../../http\";\nimport { Privy } from \"../../privy\";\nimport { isUserCancellation } from \"../../shared/signing\";\nimport {\n buildCancelOrderIx,\n buildCloseOrderStatusIx,\n buildIncrementNonceIx,\n} from \"../../program/instructions\";\nimport {\n hashOrder as programHashOrder,\n signOrder as programSignOrder,\n signOrderFull,\n createBidOrder as programCreateBidOrder,\n createAskOrder as programCreateAskOrder,\n createSignedBidOrder as programCreateSignedBidOrder,\n createSignedAskOrder as programCreateSignedAskOrder,\n signCancelOrder,\n signCancelTriggerOrder,\n signCancelAll,\n cancelOrderMessage,\n cancelTriggerOrderMessage,\n cancelAllMessage,\n generateCancelAllSalt as programGenerateCancelAllSalt,\n} from \"../../program/orders\";\nimport {\n getOrderStatusPda,\n getUserNoncePda,\n} from \"../../program/pda\";\nimport {\n deserializeOrderStatus,\n deserializeUserNonce,\n} from \"../../program/accounts\";\nimport type {\n SignedOrder,\n CloseOrderStatusParams,\n BidOrderParams,\n AskOrderParams,\n OrderStatus as ProgramOrderStatus,\n} from \"../../program/types\";\nimport { asOrderBookId, asPubkeyStr, type OrderBookId, type PubkeyStr } from \"../../shared\";\nimport { LimitOrderEnvelope, TriggerOrderEnvelope } from \"../../program/envelope\";\nimport {\n normalizeUserOrdersPayload,\n type UserMarketBalance,\n type UserSnapshotOrder,\n type UserOrderFillsResponse,\n} from \"./wire\";\n\n// ─── Request types ───────────────────────────────────────────────────────────\n\nexport interface CancelBody {\n order_hash: string;\n maker: PubkeyStr;\n signature: string;\n}\n\nexport function cancelBodyFromBase58(\n orderHash: string,\n maker: PubkeyStr,\n signatureBase58: string\n): CancelBody {\n return {\n order_hash: orderHash,\n maker,\n signature: Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\"),\n };\n}\n\nexport function cancelBodySigned(\n orderHash: string,\n maker: PubkeyStr,\n keypair: Keypair\n): CancelBody {\n const signature = signCancelOrder(orderHash, keypair);\n return { order_hash: orderHash, maker, signature };\n}\n\nexport interface CancelAllBody {\n user_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n signature: string;\n timestamp: number;\n salt: string;\n}\n\nexport function cancelAllBodyFromBase58(\n userPubkey: PubkeyStr,\n orderbookId: OrderBookId,\n timestamp: number,\n salt: string,\n signatureBase58: string\n): CancelAllBody {\n return {\n user_pubkey: userPubkey,\n orderbook_id: orderbookId,\n signature: Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\"),\n timestamp,\n salt,\n };\n}\n\nexport function cancelAllBodySigned(\n userPubkey: PubkeyStr,\n orderbookId: OrderBookId,\n timestamp: number,\n salt: string,\n keypair: Keypair\n): CancelAllBody {\n const signature = signCancelAll(userPubkey, orderbookId, timestamp, salt, keypair);\n return { user_pubkey: userPubkey, orderbook_id: orderbookId, signature, timestamp, salt };\n}\n\nexport interface CancelTriggerBody {\n trigger_order_id: string;\n maker: PubkeyStr;\n signature: string;\n}\n\nexport function cancelTriggerBodyFromBase58(\n triggerOrderId: string,\n maker: PubkeyStr,\n signatureBase58: string\n): CancelTriggerBody {\n return {\n trigger_order_id: triggerOrderId,\n maker,\n signature: Buffer.from(bs58.decode(signatureBase58)).toString(\"hex\"),\n };\n}\n\nexport function cancelTriggerBodySigned(\n triggerOrderId: string,\n maker: PubkeyStr,\n keypair: Keypair\n): CancelTriggerBody {\n const signature = signCancelTriggerOrder(triggerOrderId, keypair);\n return { trigger_order_id: triggerOrderId, maker, signature };\n}\n\n// ─── Response types ──────────────────────────────────────────────────────────\n\nexport interface FillInfo {\n counterparty: PubkeyStr;\n counterparty_order_hash: string;\n fill_amount: string;\n price: string;\n is_maker: boolean;\n}\n\nexport type SubmitOrderStatus = \"accepted\" | \"partial_fill\" | \"filled\";\n\nexport interface SubmitOrderResponse {\n order_hash: string;\n status: SubmitOrderStatus;\n remaining: string;\n filled: string;\n fills: FillInfo[];\n}\n\nexport interface CancelSuccess {\n order_hash: string;\n remaining: string;\n}\n\nexport interface CancelAllSuccess {\n cancelled_order_hashes: string[];\n count: number;\n user_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n message: string;\n}\n\nexport interface TriggerOrderResponse {\n trigger_order_id: string;\n order_hash: string;\n}\n\nexport interface CancelTriggerSuccess {\n trigger_order_id: string;\n}\n\nexport interface UserOrdersResponse {\n user_pubkey: PubkeyStr;\n orders: UserSnapshotOrder[];\n market_balances: UserMarketBalance[];\n next_cursor?: string;\n has_more: boolean;\n}\n\n// ─── Sub-client ──────────────────────────────────────────────────────────────\n\nexport class Orders {\n constructor(private readonly client: ClientContext) {}\n\n // ── PDA helpers ──────────────────────────────────────────────────────\n\n statusPda(orderHash: Buffer): PublicKey {\n return getOrderStatusPda(orderHash, this.client.programId)[0];\n }\n\n noncePda(user: PublicKey): PublicKey {\n return getUserNoncePda(user, this.client.programId)[0];\n }\n\n // ── Envelope factories ────────────────────────────────────────────────\n\n limitOrder(): LimitOrderEnvelope {\n return LimitOrderEnvelope.new().depositSource(this.client.depositSource);\n }\n\n triggerOrder(): TriggerOrderEnvelope {\n return TriggerOrderEnvelope.new().depositSource(this.client.depositSource);\n }\n\n // ── Helpers ──────────────────────────────────────────────────────────\n\n generateCancelAllSalt(): string {\n return programGenerateCancelAllSalt();\n }\n\n // ── HTTP methods ─────────────────────────────────────────────────────\n\n async submit(request: object): Promise<SubmitOrderResponse> {\n const url = `${this.client.http.baseUrl()}/api/orders/submit`;\n return this.client.http.post<SubmitOrderResponse, object>(url, request, RetryPolicy.None);\n }\n\n async cancel(body: CancelBody): Promise<CancelSuccess> {\n const url = `${this.client.http.baseUrl()}/api/orders/cancel`;\n return this.client.http.post<CancelSuccess, CancelBody>(url, body, RetryPolicy.None);\n }\n\n async cancelAll(body: CancelAllBody): Promise<CancelAllSuccess> {\n const url = `${this.client.http.baseUrl()}/api/orders/cancel-all`;\n return this.client.http.post<CancelAllSuccess, CancelAllBody>(\n url,\n body,\n RetryPolicy.None\n );\n }\n\n async submitTrigger(request: object): Promise<TriggerOrderResponse> {\n const url = `${this.client.http.baseUrl()}/api/orders/submit`;\n return this.client.http.post<TriggerOrderResponse, object>(\n url,\n request,\n RetryPolicy.None\n );\n }\n\n async cancelTrigger(body: CancelTriggerBody): Promise<CancelTriggerSuccess> {\n const url = `${this.client.http.baseUrl()}/api/orders/cancel`;\n return this.client.http.post<CancelTriggerSuccess, CancelTriggerBody>(\n url,\n body,\n RetryPolicy.None\n );\n }\n\n /**\n * Fetch the authenticated user's open orders. Wallet is resolved\n * server-side from the auth cookie, so no parameter is required.\n */\n async getUserOrders(\n limit?: number,\n cursor?: string\n ): Promise<UserOrdersResponse> {\n const url = buildUserOrdersAuthenticatedUrl(this.client.http.baseUrl(), limit, cursor);\n const response = await this.client.http.get<UserOrdersRawResponse>(url, RetryPolicy.Idempotent);\n return normalizeUserOrdersPayload(response);\n }\n\n /**\n * Same as {@link getUserOrders}, but uses the supplied `cookieHeader` for\n * this call instead of the SDK's process-wide cookie store. For\n * server-side cookie forwarding (SSR / route handlers).\n */\n async getUserOrdersWithCookies(\n limit: number | undefined,\n cursor: string | undefined,\n cookieHeader: string,\n ): Promise<UserOrdersResponse> {\n const url = buildUserOrdersAuthenticatedUrl(this.client.http.baseUrl(), limit, cursor);\n const response = await this.client.http.getWithCookies<UserOrdersRawResponse>(\n url,\n RetryPolicy.Idempotent,\n cookieHeader,\n );\n return normalizeUserOrdersPayload(response);\n }\n\n /**\n * Fetch the authenticated user's filled orders with nested fill events.\n * Wallet is resolved server-side from the auth cookie.\n */\n async getUserOrderFills(\n marketPubkey?: string,\n limit?: number,\n cursor?: string,\n ): Promise<UserOrderFillsResponse> {\n const url = buildUserOrderFillsAuthenticatedUrl(\n this.client.http.baseUrl(),\n marketPubkey,\n limit,\n cursor,\n );\n return this.client.http.get<UserOrderFillsResponse>(url, RetryPolicy.Idempotent);\n }\n\n /**\n * Same as {@link getUserOrderFills}, but uses the supplied `cookieHeader`\n * for this call instead of the SDK's process-wide cookie store. For\n * server-side cookie forwarding (SSR / route handlers).\n */\n async getUserOrderFillsWithCookies(\n marketPubkey: string | undefined,\n limit: number | undefined,\n cursor: string | undefined,\n cookieHeader: string,\n ): Promise<UserOrderFillsResponse> {\n const url = buildUserOrderFillsAuthenticatedUrl(\n this.client.http.baseUrl(),\n marketPubkey,\n limit,\n cursor,\n );\n return this.client.http.getWithCookies<UserOrderFillsResponse>(\n url,\n RetryPolicy.Idempotent,\n cookieHeader,\n );\n }\n\n /**\n * Public variant of {@link getUserOrderFills}. Takes the user's wallet\n * via the URL path (`GET /api/users/{wallet}/order-fills`) and requires\n * no auth.\n */\n async getUserOrderFillsByWallet(\n walletAddress: string,\n marketPubkey?: string,\n limit?: number,\n cursor?: string,\n ): Promise<UserOrderFillsResponse> {\n const url = buildUserOrderFillsByWalletUrl(\n this.client.http.baseUrl(),\n walletAddress,\n marketPubkey,\n limit,\n cursor,\n );\n return this.client.http.get<UserOrderFillsResponse>(url, RetryPolicy.Idempotent);\n }\n\n // ── Unified cancel (dispatches based on client signing strategy) ────\n\n async cancelOrderSigned(\n orderHash: string,\n maker: PubkeyStr\n ): Promise<CancelSuccess> {\n const strategy = requireSigningStrategy(this.client);\n\n switch (strategy.type) {\n case \"native\": {\n const body = cancelBodySigned(orderHash, maker, strategy.keypair);\n return this.cancel(body);\n }\n case \"walletAdapter\": {\n const message = cancelOrderMessage(orderHash);\n const sigBytes = await strategy.signer\n .signMessage(message)\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const sigBs58 = bs58.encode(sigBytes);\n const body = cancelBodyFromBase58(orderHash, maker, sigBs58);\n return this.cancel(body);\n }\n case \"privy\": {\n const privy = new Privy(this.client);\n const result = await privy.signAndCancelOrder(\n strategy.walletId,\n orderHash,\n maker as string\n );\n return {\n order_hash: result.order_hash,\n remaining: result.remaining,\n };\n }\n }\n }\n\n async cancelAllSigned(\n userPubkey: PubkeyStr,\n timestamp: number,\n salt: string,\n orderbookId?: OrderBookId\n ): Promise<CancelAllSuccess> {\n const strategy = requireSigningStrategy(this.client);\n const resolvedOrderbookId = orderbookId ?? (\"\" as OrderBookId);\n\n switch (strategy.type) {\n case \"native\": {\n const body = cancelAllBodySigned(\n userPubkey,\n resolvedOrderbookId,\n timestamp,\n salt,\n strategy.keypair\n );\n return this.cancelAll(body);\n }\n case \"walletAdapter\": {\n const message = cancelAllMessage(\n userPubkey as string,\n resolvedOrderbookId as string,\n timestamp,\n salt\n );\n const sigBytes = await strategy.signer\n .signMessage(new TextEncoder().encode(message))\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const sigBs58 = bs58.encode(sigBytes);\n const body = cancelAllBodyFromBase58(\n userPubkey,\n resolvedOrderbookId,\n timestamp,\n salt,\n sigBs58\n );\n return this.cancelAll(body);\n }\n case \"privy\": {\n const privy = new Privy(this.client);\n const result = await privy.signAndCancelAllOrders(\n strategy.walletId,\n userPubkey as string,\n resolvedOrderbookId as string,\n timestamp,\n salt\n );\n return {\n cancelled_order_hashes: result.cancelled_order_hashes,\n count: result.count,\n user_pubkey: asPubkeyStr(result.user_pubkey),\n orderbook_id: asOrderBookId(result.orderbook_id),\n message: result.message,\n };\n }\n }\n }\n\n async cancelTriggerSigned(\n triggerOrderId: string,\n maker: PubkeyStr\n ): Promise<CancelTriggerSuccess> {\n const strategy = requireSigningStrategy(this.client);\n\n switch (strategy.type) {\n case \"native\": {\n const body = cancelTriggerBodySigned(triggerOrderId, maker, strategy.keypair);\n return this.cancelTrigger(body);\n }\n case \"walletAdapter\": {\n const message = cancelTriggerOrderMessage(triggerOrderId);\n const sigBytes = await strategy.signer\n .signMessage(message)\n .catch((err: unknown) => {\n const msg = err instanceof Error ? err.message : String(err);\n if (isUserCancellation(msg)) throw SdkError.userCancelled();\n throw SdkError.signing(msg);\n });\n const sigBs58 = bs58.encode(sigBytes);\n const body = cancelTriggerBodyFromBase58(triggerOrderId, maker, sigBs58);\n return this.cancelTrigger(body);\n }\n case \"privy\": {\n const privy = new Privy(this.client);\n const result = await privy.signAndCancelTriggerOrder(\n strategy.walletId,\n triggerOrderId,\n maker as string\n );\n return { trigger_order_id: result.trigger_order_id };\n }\n }\n }\n\n // ── On-chain transaction builders ────────────────────────────────────\n\n cancelOrderIx(\n operator: PublicKey,\n market: PublicKey,\n order: SignedOrder\n ): TransactionInstruction {\n return buildCancelOrderIx(operator, market, order, this.client.programId);\n }\n\n incrementNonceIx(user: PublicKey): TransactionInstruction {\n return buildIncrementNonceIx(user, this.client.programId);\n }\n\n closeOrderStatusIx(params: CloseOrderStatusParams): TransactionInstruction {\n return buildCloseOrderStatusIx(params, this.client.programId);\n }\n\n // ── Transaction builders (_tx convenience wrappers) ─────────────────\n\n cancelOrderTx(\n operator: PublicKey,\n market: PublicKey,\n order: SignedOrder\n ): Transaction {\n const ix = this.cancelOrderIx(operator, market, order);\n return new Transaction({ feePayer: operator }).add(ix);\n }\n\n incrementNonceTx(user: PublicKey): Transaction {\n const ix = this.incrementNonceIx(user);\n return new Transaction({ feePayer: user }).add(ix);\n }\n\n closeOrderStatusTx(params: CloseOrderStatusParams): Transaction {\n const ix = this.closeOrderStatusIx(params);\n return new Transaction({ feePayer: params.operator }).add(ix);\n }\n\n // ── Order helpers ────────────────────────────────────────────────────\n\n createBidOrder(params: BidOrderParams): Omit<SignedOrder, \"signature\"> {\n return programCreateBidOrder(params);\n }\n\n createAskOrder(params: AskOrderParams): Omit<SignedOrder, \"signature\"> {\n return programCreateAskOrder(params);\n }\n\n createSignedBidOrder(params: BidOrderParams, signer: Keypair): SignedOrder {\n return programCreateSignedBidOrder(params, signer);\n }\n\n createSignedAskOrder(params: AskOrderParams, signer: Keypair): SignedOrder {\n return programCreateSignedAskOrder(params, signer);\n }\n\n hashOrder(order: SignedOrder): Buffer {\n return programHashOrder(order);\n }\n\n signOrder(order: SignedOrder, signer: Keypair): Buffer {\n return programSignOrder(order, signer);\n }\n\n signFullOrder(\n order: Omit<SignedOrder, \"signature\">,\n signer: Keypair\n ): SignedOrder {\n return signOrderFull(order, signer);\n }\n\n // ── On-chain account fetchers (require Connection) ──────────────────\n\n async getStatus(orderHash: Buffer): Promise<ProgramOrderStatus | null> {\n const connection = requireConnection(this.client);\n const pda = this.statusPda(orderHash);\n const accountInfo = await connection.getAccountInfo(pda);\n if (!accountInfo) {\n return null;\n }\n return deserializeOrderStatus(accountInfo.data as Buffer);\n }\n\n async getNonce(user: PublicKey): Promise<bigint> {\n const connection = requireConnection(this.client);\n const pda = this.noncePda(user);\n const accountInfo = await connection.getAccountInfo(pda);\n if (!accountInfo) {\n return 0n;\n }\n const userNonce = deserializeUserNonce(accountInfo.data as Buffer);\n return userNonce.nonce;\n }\n\n async currentNonce(user: PublicKey): Promise<number> {\n const nonce = await this.getNonce(user);\n if (nonce > 0xFFFFFFFFn) {\n throw ProgramSdkError.serialization(`Nonce exceeds u32 range: ${nonce}`);\n }\n return Number(nonce);\n }\n}\n\ninterface UserOrdersRawResponse {\n user_pubkey: PubkeyStr;\n orders?: UserSnapshotOrder[];\n market_balances: UserMarketBalance[];\n next_cursor?: string | null;\n has_more?: boolean;\n}\n\nfunction buildUserOrdersAuthenticatedUrl(\n baseUrl: string,\n limit: number | undefined,\n cursor: string | undefined,\n): string {\n const params = new URLSearchParams();\n if (limit !== undefined) params.set(\"limit\", String(limit));\n if (cursor) params.set(\"cursor\", cursor);\n const qs = params.toString();\n return qs.length === 0\n ? `${baseUrl}/api/users/orders`\n : `${baseUrl}/api/users/orders?${qs}`;\n}\n\nfunction buildUserOrderFillsAuthenticatedUrl(\n baseUrl: string,\n marketPubkey: string | undefined,\n limit: number | undefined,\n cursor: string | undefined,\n): string {\n const params = new URLSearchParams();\n if (marketPubkey) params.set(\"market_pubkey\", marketPubkey);\n if (limit !== undefined) params.set(\"limit\", String(limit));\n if (cursor) params.set(\"cursor\", cursor);\n const qs = params.toString();\n return qs.length === 0\n ? `${baseUrl}/api/users/order-fills`\n : `${baseUrl}/api/users/order-fills?${qs}`;\n}\n\nfunction buildUserOrderFillsByWalletUrl(\n baseUrl: string,\n walletAddress: string,\n marketPubkey: string | undefined,\n limit: number | undefined,\n cursor: string | undefined,\n): string {\n const params = new URLSearchParams();\n if (marketPubkey) params.set(\"market_pubkey\", marketPubkey);\n if (limit !== undefined) params.set(\"limit\", String(limit));\n if (cursor) params.set(\"cursor\", cursor);\n const qs = params.toString();\n const path = `${baseUrl}/api/users/${encodeURIComponent(walletAddress)}/order-fills`;\n return qs.length === 0 ? path : `${path}?${qs}`;\n}\n"]}
|
|
@@ -4,14 +4,24 @@ import type { Notification } from "../notification";
|
|
|
4
4
|
import type { OrderStatus, TriggerOrder } from "./index";
|
|
5
5
|
export interface ConditionalBalance {
|
|
6
6
|
outcome_index: number;
|
|
7
|
-
|
|
7
|
+
conditional_token: PubkeyStr;
|
|
8
8
|
idle: string;
|
|
9
9
|
on_book: string;
|
|
10
10
|
}
|
|
11
|
-
export interface
|
|
11
|
+
export interface UserMarketBalance {
|
|
12
12
|
market_pubkey: PubkeyStr;
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
deposit_assets: UserDepositAssetBalance[];
|
|
14
|
+
}
|
|
15
|
+
export interface UserDepositAssetBalance {
|
|
16
|
+
deposit_asset: PubkeyStr;
|
|
17
|
+
outcomes: UserOutcomeBalance[];
|
|
18
|
+
}
|
|
19
|
+
export interface UserOutcomeBalance {
|
|
20
|
+
outcome_index: number;
|
|
21
|
+
conditional_token: PubkeyStr;
|
|
22
|
+
balance: string;
|
|
23
|
+
balance_idle: string;
|
|
24
|
+
balance_on_book: string;
|
|
15
25
|
}
|
|
16
26
|
export interface GlobalDepositBalance {
|
|
17
27
|
mint: PubkeyStr;
|
|
@@ -82,7 +92,7 @@ export type UserSnapshotOrder = ({
|
|
|
82
92
|
} & UserSnapshotOrderCommon);
|
|
83
93
|
export interface UserSnapshot {
|
|
84
94
|
orders: UserSnapshotOrder[];
|
|
85
|
-
|
|
95
|
+
market_balances: UserMarketBalance[];
|
|
86
96
|
global_deposits: GlobalDepositBalance[];
|
|
87
97
|
notifications: Notification[];
|
|
88
98
|
nonce?: number;
|
|
@@ -117,10 +127,7 @@ export interface NotificationUpdate {
|
|
|
117
127
|
}
|
|
118
128
|
export interface UserBalanceUpdate {
|
|
119
129
|
market_pubkey: PubkeyStr;
|
|
120
|
-
|
|
121
|
-
balance: {
|
|
122
|
-
outcomes: ConditionalBalance[];
|
|
123
|
-
};
|
|
130
|
+
market_balance: UserMarketBalance;
|
|
124
131
|
timestamp: string;
|
|
125
132
|
}
|
|
126
133
|
export type UserUpdate = ({
|
|
@@ -128,7 +135,7 @@ export type UserUpdate = ({
|
|
|
128
135
|
} & UserSnapshot) | ({
|
|
129
136
|
event_type: "order";
|
|
130
137
|
} & OrderEvent) | ({
|
|
131
|
-
event_type: "
|
|
138
|
+
event_type: "market_balance_update";
|
|
132
139
|
} & UserBalanceUpdate) | ({
|
|
133
140
|
event_type: "global_deposit_update";
|
|
134
141
|
} & GlobalDepositUpdate) | ({
|
|
@@ -172,9 +179,19 @@ export interface UserOrderFillsResponse {
|
|
|
172
179
|
next_cursor?: string;
|
|
173
180
|
has_more: boolean;
|
|
174
181
|
}
|
|
175
|
-
type RawConditionalBalance = Omit<ConditionalBalance, "
|
|
176
|
-
|
|
177
|
-
|
|
182
|
+
type RawConditionalBalance = Omit<ConditionalBalance, "conditional_token"> & {
|
|
183
|
+
conditional_token: string;
|
|
184
|
+
};
|
|
185
|
+
type RawUserOutcomeBalance = Omit<UserOutcomeBalance, "conditional_token"> & {
|
|
186
|
+
conditional_token: string;
|
|
187
|
+
};
|
|
188
|
+
type RawUserDepositAssetBalance = Omit<UserDepositAssetBalance, "deposit_asset" | "outcomes"> & {
|
|
189
|
+
deposit_asset: string;
|
|
190
|
+
outcomes: RawUserOutcomeBalance[];
|
|
191
|
+
};
|
|
192
|
+
type RawUserMarketBalance = Omit<UserMarketBalance, "market_pubkey" | "deposit_assets"> & {
|
|
193
|
+
market_pubkey: string;
|
|
194
|
+
deposit_assets: RawUserDepositAssetBalance[];
|
|
178
195
|
};
|
|
179
196
|
type RawUserOrderUpdateBalance = {
|
|
180
197
|
outcomes: RawConditionalBalance[];
|
|
@@ -201,15 +218,13 @@ type RawUserSnapshotOrder = ({
|
|
|
201
218
|
trigger_type: TriggerType;
|
|
202
219
|
time_in_force?: TimeInForce;
|
|
203
220
|
} & RawUserSnapshotOrderCommon);
|
|
204
|
-
type
|
|
205
|
-
outcomes: RawConditionalBalance[];
|
|
206
|
-
};
|
|
207
|
-
type RawUserSnapshot = Omit<UserSnapshot, "orders" | "balances"> & {
|
|
221
|
+
type RawUserSnapshot = Omit<UserSnapshot, "orders" | "market_balances"> & {
|
|
208
222
|
orders: RawUserSnapshotOrder[];
|
|
209
|
-
|
|
223
|
+
market_balances: RawUserMarketBalance[];
|
|
210
224
|
};
|
|
211
|
-
type RawUserBalanceUpdate = Omit<UserBalanceUpdate, "
|
|
212
|
-
|
|
225
|
+
type RawUserBalanceUpdate = Omit<UserBalanceUpdate, "market_pubkey" | "market_balance"> & {
|
|
226
|
+
market_pubkey: string;
|
|
227
|
+
market_balance: RawUserMarketBalance;
|
|
213
228
|
};
|
|
214
229
|
type RawUserUpdate = ({
|
|
215
230
|
event_type: "snapshot";
|
|
@@ -222,7 +237,7 @@ type RawUserUpdate = ({
|
|
|
222
237
|
} & ({
|
|
223
238
|
order_type: "trigger";
|
|
224
239
|
} & TriggerOrderUpdate)) | ({
|
|
225
|
-
event_type: "
|
|
240
|
+
event_type: "market_balance_update";
|
|
226
241
|
} & RawUserBalanceUpdate) | ({
|
|
227
242
|
event_type: "global_deposit_update";
|
|
228
243
|
} & GlobalDepositUpdate) | ({
|
|
@@ -233,18 +248,20 @@ type RawUserUpdate = ({
|
|
|
233
248
|
type RawUserOrdersPayload = {
|
|
234
249
|
user_pubkey: PubkeyStr;
|
|
235
250
|
orders?: RawUserSnapshotOrder[];
|
|
236
|
-
|
|
251
|
+
market_balances: RawUserMarketBalance[];
|
|
237
252
|
next_cursor?: string | null;
|
|
238
253
|
has_more?: boolean;
|
|
239
254
|
};
|
|
240
255
|
export declare function normalizeConditionalBalance(balance: RawConditionalBalance): ConditionalBalance;
|
|
241
256
|
export declare function normalizeOrderUpdate(update: RawOrderUpdate): OrderUpdate;
|
|
242
257
|
export declare function normalizeUserSnapshotOrder(order: RawUserSnapshotOrder): UserSnapshotOrder;
|
|
243
|
-
export declare function
|
|
258
|
+
export declare function normalizeUserOutcomeBalance(balance: RawUserOutcomeBalance): UserOutcomeBalance;
|
|
259
|
+
export declare function normalizeUserDepositAssetBalance(balance: RawUserDepositAssetBalance): UserDepositAssetBalance;
|
|
260
|
+
export declare function normalizeUserMarketBalance(balance: RawUserMarketBalance): UserMarketBalance;
|
|
244
261
|
export declare function normalizeUserOrdersPayload(response: RawUserOrdersPayload): {
|
|
245
262
|
user_pubkey: PubkeyStr;
|
|
246
263
|
orders: UserSnapshotOrder[];
|
|
247
|
-
|
|
264
|
+
market_balances: UserMarketBalance[];
|
|
248
265
|
next_cursor?: string;
|
|
249
266
|
has_more: boolean;
|
|
250
267
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/order/wire.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,WAAW,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,KAAK,EACV,WAAW,EACX,eAAe,EACf,SAAS,EACT,IAAI,EACJ,mBAAmB,EACnB,aAAa,EACb,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AACpD,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEzD,MAAM,WAAW,kBAAkB;IACjC,aAAa,EAAE,MAAM,CAAC;IACtB,
|
|
1
|
+
{"version":3,"file":"wire.d.ts","sourceRoot":"","sources":["../../../src/domain/order/wire.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,9 @@ exports.triggerUpdateToTriggerOrder = triggerUpdateToTriggerOrder;
|
|
|
4
4
|
exports.normalizeConditionalBalance = normalizeConditionalBalance;
|
|
5
5
|
exports.normalizeOrderUpdate = normalizeOrderUpdate;
|
|
6
6
|
exports.normalizeUserSnapshotOrder = normalizeUserSnapshotOrder;
|
|
7
|
-
exports.
|
|
7
|
+
exports.normalizeUserOutcomeBalance = normalizeUserOutcomeBalance;
|
|
8
|
+
exports.normalizeUserDepositAssetBalance = normalizeUserDepositAssetBalance;
|
|
9
|
+
exports.normalizeUserMarketBalance = normalizeUserMarketBalance;
|
|
8
10
|
exports.normalizeUserOrdersPayload = normalizeUserOrdersPayload;
|
|
9
11
|
exports.normalizeUserUpdate = normalizeUserUpdate;
|
|
10
12
|
const shared_1 = require("../../shared");
|
|
@@ -25,13 +27,12 @@ function triggerUpdateToTriggerOrder(update) {
|
|
|
25
27
|
};
|
|
26
28
|
}
|
|
27
29
|
function normalizeConditionalBalance(balance) {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
throw new Error("Invalid conditional balance: missing mint");
|
|
30
|
+
if (!balance.conditional_token) {
|
|
31
|
+
throw new Error("Invalid conditional balance: missing conditional_token");
|
|
31
32
|
}
|
|
32
33
|
return {
|
|
33
34
|
outcome_index: balance.outcome_index,
|
|
34
|
-
|
|
35
|
+
conditional_token: (0, shared_1.asPubkeyStr)(balance.conditional_token),
|
|
35
36
|
idle: balance.idle,
|
|
36
37
|
on_book: balance.on_book,
|
|
37
38
|
};
|
|
@@ -92,23 +93,47 @@ function normalizeUserSnapshotOrder(order) {
|
|
|
92
93
|
const rawOrderType = order.order_type;
|
|
93
94
|
throw new Error(`Invalid user snapshot order: unsupported order_type "${rawOrderType}"`);
|
|
94
95
|
}
|
|
95
|
-
function
|
|
96
|
+
function requireArray(value, context) {
|
|
97
|
+
if (!Array.isArray(value)) {
|
|
98
|
+
throw new Error(`Invalid ${context}: expected array`);
|
|
99
|
+
}
|
|
100
|
+
return value;
|
|
101
|
+
}
|
|
102
|
+
function normalizeUserOutcomeBalance(balance) {
|
|
103
|
+
if (!balance.conditional_token) {
|
|
104
|
+
throw new Error("Invalid user outcome balance: missing conditional_token");
|
|
105
|
+
}
|
|
96
106
|
return {
|
|
97
|
-
|
|
98
|
-
|
|
107
|
+
outcome_index: balance.outcome_index,
|
|
108
|
+
conditional_token: (0, shared_1.asPubkeyStr)(balance.conditional_token),
|
|
109
|
+
balance: balance.balance,
|
|
110
|
+
balance_idle: balance.balance_idle,
|
|
111
|
+
balance_on_book: balance.balance_on_book,
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
function normalizeUserDepositAssetBalance(balance) {
|
|
115
|
+
if (!balance.deposit_asset) {
|
|
116
|
+
throw new Error("Invalid user deposit asset balance: missing deposit_asset");
|
|
117
|
+
}
|
|
118
|
+
return {
|
|
119
|
+
deposit_asset: (0, shared_1.asPubkeyStr)(balance.deposit_asset),
|
|
120
|
+
outcomes: requireArray(balance.outcomes, "user deposit asset balance outcomes").map(normalizeUserOutcomeBalance),
|
|
99
121
|
};
|
|
100
122
|
}
|
|
101
|
-
function
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
123
|
+
function normalizeUserMarketBalance(balance) {
|
|
124
|
+
if (!balance.market_pubkey) {
|
|
125
|
+
throw new Error("Invalid user market balance: missing market_pubkey");
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
market_pubkey: (0, shared_1.asPubkeyStr)(balance.market_pubkey),
|
|
129
|
+
deposit_assets: requireArray(balance.deposit_assets, "user market balance deposit_assets").map(normalizeUserDepositAssetBalance),
|
|
130
|
+
};
|
|
106
131
|
}
|
|
107
132
|
function normalizeUserOrdersPayload(response) {
|
|
108
133
|
return {
|
|
109
134
|
user_pubkey: response.user_pubkey,
|
|
110
135
|
orders: (response.orders ?? []).map(normalizeUserSnapshotOrder),
|
|
111
|
-
|
|
136
|
+
market_balances: requireArray(response.market_balances, "user orders response market_balances").map(normalizeUserMarketBalance),
|
|
112
137
|
next_cursor: response.next_cursor ?? undefined,
|
|
113
138
|
has_more: response.has_more ?? false,
|
|
114
139
|
};
|
|
@@ -120,7 +145,7 @@ function normalizeUserUpdate(raw) {
|
|
|
120
145
|
...raw,
|
|
121
146
|
event_type: "snapshot",
|
|
122
147
|
orders: raw.orders.map(normalizeUserSnapshotOrder),
|
|
123
|
-
|
|
148
|
+
market_balances: requireArray(raw.market_balances, "user snapshot market_balances").map(normalizeUserMarketBalance),
|
|
124
149
|
global_deposits: raw.global_deposits ?? [],
|
|
125
150
|
notifications: raw.notifications ?? [],
|
|
126
151
|
nonce: raw.nonce ?? 0,
|
|
@@ -141,11 +166,12 @@ function normalizeUserUpdate(raw) {
|
|
|
141
166
|
};
|
|
142
167
|
}
|
|
143
168
|
throw new Error(`Invalid user order event: unsupported order_type "${raw.order_type}"`);
|
|
144
|
-
case "
|
|
169
|
+
case "market_balance_update":
|
|
145
170
|
return {
|
|
146
171
|
...raw,
|
|
147
|
-
event_type: "
|
|
148
|
-
|
|
172
|
+
event_type: "market_balance_update",
|
|
173
|
+
market_pubkey: (0, shared_1.asPubkeyStr)(raw.market_pubkey),
|
|
174
|
+
market_balance: normalizeUserMarketBalance(raw.market_balance),
|
|
149
175
|
};
|
|
150
176
|
case "global_deposit_update":
|
|
151
177
|
return raw;
|
|
@@ -157,6 +183,8 @@ function normalizeUserUpdate(raw) {
|
|
|
157
183
|
};
|
|
158
184
|
case "notification":
|
|
159
185
|
return raw;
|
|
186
|
+
default:
|
|
187
|
+
throw new Error(`Invalid user update event_type "${raw.event_type}"`);
|
|
160
188
|
}
|
|
161
189
|
}
|
|
162
190
|
//# sourceMappingURL=wire.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/order/wire.ts"],"names":[],"mappings":"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","sourcesContent":["import { asPubkeyStr, TimeInForce, TriggerType } from \"../../shared\";\nimport type {\n OrderBookId,\n OrderUpdateType,\n PubkeyStr,\n Side,\n TriggerResultStatus,\n TriggerStatus,\n TriggerUpdateType,\n} from \"../../shared\";\nimport type { Notification } from \"../notification\";\nimport type { OrderStatus, TriggerOrder } from \"./index\";\n\nexport interface ConditionalBalance {\n outcome_index: number;\n mint: PubkeyStr;\n idle: string;\n on_book: string;\n}\n\nexport interface UserSnapshotBalance {\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n outcomes: ConditionalBalance[];\n}\n\nexport interface GlobalDepositBalance {\n mint: PubkeyStr;\n balance: string;\n}\n\nexport interface GlobalDepositUpdate {\n mint: PubkeyStr;\n balance: string;\n timestamp: string;\n}\n\nexport interface NonceUpdate {\n user_pubkey: PubkeyStr;\n new_nonce: number;\n timestamp: string;\n}\n\nexport interface UserOrderUpdateBalance {\n outcomes: ConditionalBalance[];\n}\n\nexport interface WsOrder {\n order_hash: string;\n price: string;\n is_maker: boolean;\n remaining: string;\n filled: string;\n fill_amount: string;\n side: Side;\n created_at: number;\n base_mint: PubkeyStr;\n quote_mint: PubkeyStr;\n outcome_index: number;\n status: OrderStatus;\n balance?: UserOrderUpdateBalance;\n}\n\nexport interface OrderUpdate {\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n timestamp: string;\n tx_signature?: string;\n type?: OrderUpdateType;\n order: WsOrder;\n}\n\nexport interface UserSnapshotOrderCommon {\n order_hash: string;\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n side: Side;\n amount_in: string;\n amount_out: string;\n remaining: string;\n filled: string;\n price: string;\n created_at: number;\n expiration: number;\n base_mint: PubkeyStr;\n quote_mint: PubkeyStr;\n outcome_index: number;\n status: OrderStatus;\n}\n\nexport type UserSnapshotOrder =\n | ({ order_type: \"limit\"; tx_signature?: string } & UserSnapshotOrderCommon)\n | ({\n order_type: \"trigger\";\n trigger_order_id: string;\n trigger_price: string;\n trigger_type: TriggerType;\n time_in_force?: TimeInForce;\n } & UserSnapshotOrderCommon);\n\nexport interface UserSnapshot {\n orders: UserSnapshotOrder[];\n balances: Record<string, UserSnapshotBalance>;\n global_deposits: GlobalDepositBalance[];\n notifications: Notification[];\n nonce?: number;\n}\n\nexport interface TriggerOrderUpdate {\n trigger_order_id: string;\n user_pubkey?: PubkeyStr;\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n trigger_price: string;\n trigger_above: boolean;\n status: TriggerStatus;\n type?: TriggerUpdateType;\n order_hash: string;\n side: Side;\n result_status?: TriggerResultStatus;\n result_filled?: string;\n result_remaining?: string;\n timestamp: string;\n maker_amount?: string;\n taker_amount?: string;\n tif?: TimeInForce;\n}\n\nexport function triggerUpdateToTriggerOrder(update: TriggerOrderUpdate): TriggerOrder {\n const triggerType = update.trigger_above ? TriggerType.TakeProfit : TriggerType.StopLoss;\n return {\n triggerOrderId: update.trigger_order_id,\n orderHash: update.order_hash,\n marketPubkey: update.market_pubkey,\n orderbookId: update.orderbook_id,\n triggerPrice: update.trigger_price,\n triggerType,\n side: update.side,\n amountIn: update.maker_amount ?? \"0\",\n amountOut: update.taker_amount ?? \"0\",\n timeInForce: update.tif ?? TimeInForce.Gtc,\n createdAt: new Date(update.timestamp),\n };\n}\n\nexport type OrderEvent =\n | ({ order_type: \"limit\" } & OrderUpdate)\n | ({ order_type: \"trigger\" } & TriggerOrderUpdate);\n\nexport interface NotificationUpdate {\n notification: Notification;\n}\n\nexport interface UserBalanceUpdate {\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n balance: { outcomes: ConditionalBalance[] };\n timestamp: string;\n}\n\nexport type UserUpdate =\n | ({ event_type: \"snapshot\" } & UserSnapshot)\n | ({ event_type: \"order\" } & OrderEvent)\n | ({ event_type: \"balance_update\" } & UserBalanceUpdate)\n | ({ event_type: \"global_deposit_update\" } & GlobalDepositUpdate)\n | ({ event_type: \"nonce\" } & NonceUpdate)\n | ({ event_type: \"notification\" } & NotificationUpdate);\n\nexport type AuthUpdate =\n | { status: \"authenticated\"; wallet: PubkeyStr }\n | { status: \"anonymous\"; reason?: string };\n\n// ─── User order fills (REST) ────────────────────────────────────────────────\n\nexport type Role = \"maker\" | \"taker\";\n\nexport type FillStatus = \"filled\" | \"cancelled\" | \"partially_filled\";\n\nexport interface OrderFillEvent {\n fill_amount: string;\n tx_signature: string;\n filled_at: number;\n}\n\nexport interface UserOrderFill {\n order_hash: string;\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n side: Side;\n role: Role;\n price: string;\n size: string;\n filled_size: string;\n remaining_size: string;\n base_mint: PubkeyStr;\n quote_mint: PubkeyStr;\n outcome_index: number;\n status: FillStatus;\n created_at: number;\n fills: OrderFillEvent[];\n}\n\nexport interface UserOrderFillsResponse {\n orders: UserOrderFill[];\n next_cursor?: string;\n has_more: boolean;\n}\n\ntype RawConditionalBalance = Omit<ConditionalBalance, \"mint\"> & {\n mint?: string;\n conditional_token?: string;\n};\n\ntype RawUserOrderUpdateBalance = {\n outcomes: RawConditionalBalance[];\n};\n\ntype RawWsOrder = Omit<WsOrder, \"balance\"> & {\n balance?: RawUserOrderUpdateBalance;\n};\n\ntype RawOrderUpdate = Omit<OrderUpdate, \"order\"> & {\n order: RawWsOrder;\n};\n\ntype RawUserSnapshotOrderCommon = Omit<UserSnapshotOrderCommon, \"amount_in\" | \"amount_out\"> & {\n amount_in?: string;\n amount_out?: string;\n maker_amount?: string;\n taker_amount?: string;\n};\n\ntype RawUserSnapshotOrder =\n | ({ order_type: \"limit\"; tx_signature?: string } & RawUserSnapshotOrderCommon)\n | ({\n order_type: \"trigger\";\n trigger_order_id: string;\n trigger_price: string;\n trigger_type: TriggerType;\n time_in_force?: TimeInForce;\n } & RawUserSnapshotOrderCommon);\n\ntype RawUserSnapshotBalance = Omit<UserSnapshotBalance, \"outcomes\"> & {\n outcomes: RawConditionalBalance[];\n};\n\ntype RawUserSnapshot = Omit<UserSnapshot, \"orders\" | \"balances\"> & {\n orders: RawUserSnapshotOrder[];\n balances: Record<string, RawUserSnapshotBalance>;\n};\n\ntype RawUserBalanceUpdate = Omit<UserBalanceUpdate, \"balance\"> & {\n balance: RawUserOrderUpdateBalance;\n};\n\ntype RawUserUpdate =\n | ({ event_type: \"snapshot\" } & RawUserSnapshot)\n | ({ event_type: \"order\" } & ({ order_type: \"limit\" } & RawOrderUpdate))\n | ({ event_type: \"order\" } & ({ order_type: \"trigger\" } & TriggerOrderUpdate))\n | ({ event_type: \"balance_update\" } & RawUserBalanceUpdate)\n | ({ event_type: \"global_deposit_update\" } & GlobalDepositUpdate)\n | ({ event_type: \"nonce\" | \"nonce_update\" } & NonceUpdate)\n | ({ event_type: \"notification\" } & NotificationUpdate);\n\ntype RawUserOrdersPayload = {\n user_pubkey: PubkeyStr;\n orders?: RawUserSnapshotOrder[];\n balances?: RawUserSnapshotBalance[];\n next_cursor?: string | null;\n has_more?: boolean;\n};\n\nexport function normalizeConditionalBalance(balance: RawConditionalBalance): ConditionalBalance {\n const mint = balance.mint ?? balance.conditional_token;\n if (!mint) {\n throw new Error(\"Invalid conditional balance: missing mint\");\n }\n\n return {\n outcome_index: balance.outcome_index,\n mint: asPubkeyStr(mint),\n idle: balance.idle,\n on_book: balance.on_book,\n };\n}\n\nfunction normalizeUserOrderUpdateBalance(\n balance: RawUserOrderUpdateBalance\n): UserOrderUpdateBalance {\n return {\n outcomes: balance.outcomes.map(normalizeConditionalBalance),\n };\n}\n\nfunction normalizeWsOrder(order: RawWsOrder): WsOrder {\n return {\n ...order,\n balance: order.balance\n ? normalizeUserOrderUpdateBalance(order.balance)\n : undefined,\n };\n}\n\nexport function normalizeOrderUpdate(update: RawOrderUpdate): OrderUpdate {\n return {\n ...update,\n order: normalizeWsOrder(update.order),\n };\n}\n\nfunction normalizeUserSnapshotOrderCommon(\n order: RawUserSnapshotOrderCommon\n): UserSnapshotOrderCommon {\n const amountIn = order.amount_in ?? order.maker_amount;\n const amountOut = order.amount_out ?? order.taker_amount;\n\n if (amountIn === undefined) {\n throw new Error(\"Invalid user snapshot order: missing amount_in/maker_amount\");\n }\n if (amountOut === undefined) {\n throw new Error(\"Invalid user snapshot order: missing amount_out/taker_amount\");\n }\n\n return {\n ...order,\n amount_in: amountIn,\n amount_out: amountOut,\n };\n}\n\nexport function normalizeUserSnapshotOrder(\n order: RawUserSnapshotOrder\n): UserSnapshotOrder {\n const common = normalizeUserSnapshotOrderCommon(order);\n\n if (order.order_type === \"limit\") {\n return {\n ...common,\n order_type: \"limit\",\n tx_signature: order.tx_signature,\n };\n }\n\n if (order.order_type === \"trigger\") {\n return {\n ...common,\n order_type: \"trigger\",\n trigger_order_id: order.trigger_order_id,\n trigger_price: order.trigger_price,\n trigger_type: order.trigger_type,\n time_in_force: order.time_in_force,\n };\n }\n\n const rawOrderType = (order as { order_type: string }).order_type;\n throw new Error(`Invalid user snapshot order: unsupported order_type \"${rawOrderType}\"`);\n}\n\nexport function normalizeUserSnapshotBalance(\n balance: RawUserSnapshotBalance\n): UserSnapshotBalance {\n return {\n ...balance,\n outcomes: balance.outcomes.map(normalizeConditionalBalance),\n };\n}\n\nfunction normalizeUserSnapshotBalancesRecord(\n balances: Record<string, RawUserSnapshotBalance>\n): Record<string, UserSnapshotBalance> {\n return Object.fromEntries(\n Object.entries(balances).map(([orderbookId, balance]) => [\n orderbookId,\n normalizeUserSnapshotBalance(balance),\n ])\n );\n}\n\nexport function normalizeUserOrdersPayload(\n response: RawUserOrdersPayload\n): {\n user_pubkey: PubkeyStr;\n orders: UserSnapshotOrder[];\n balances: UserSnapshotBalance[];\n next_cursor?: string;\n has_more: boolean;\n} {\n return {\n user_pubkey: response.user_pubkey,\n orders: (response.orders ?? []).map(normalizeUserSnapshotOrder),\n balances: (response.balances ?? []).map(normalizeUserSnapshotBalance),\n next_cursor: response.next_cursor ?? undefined,\n has_more: response.has_more ?? false,\n };\n}\n\nexport function normalizeUserUpdate(raw: RawUserUpdate): UserUpdate {\n switch (raw.event_type) {\n case \"snapshot\":\n return {\n ...raw,\n event_type: \"snapshot\",\n orders: raw.orders.map(normalizeUserSnapshotOrder),\n balances: normalizeUserSnapshotBalancesRecord(raw.balances),\n global_deposits: raw.global_deposits ?? [],\n notifications: raw.notifications ?? [],\n nonce: raw.nonce ?? 0,\n };\n case \"order\":\n if (raw.order_type === \"limit\") {\n return {\n ...normalizeOrderUpdate(raw),\n event_type: \"order\",\n order_type: \"limit\",\n };\n }\n if (raw.order_type === \"trigger\") {\n return {\n ...raw,\n event_type: \"order\",\n order_type: \"trigger\",\n };\n }\n throw new Error(\n `Invalid user order event: unsupported order_type \"${(raw as { order_type: string }).order_type}\"`\n );\n case \"balance_update\":\n return {\n ...raw,\n event_type: \"balance_update\",\n balance: normalizeUserOrderUpdateBalance(raw.balance),\n };\n case \"global_deposit_update\":\n return raw;\n case \"nonce\":\n case \"nonce_update\":\n return {\n ...raw,\n event_type: \"nonce\",\n };\n case \"notification\":\n return raw;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"wire.js","sourceRoot":"","sources":["../../../src/domain/order/wire.ts"],"names":[],"mappings":";;AA4IA,kEAeC;AA0ID,kEAWC;AAmBD,oDAKC;AAsBD,gEA0BC;AASD,kEAcC;AAED,4EAaC;AAED,gEAcC;AAED,gEAmBC;AAED,kDAuDC;AA5fD,yCAAqE;AA4IrE,SAAgB,2BAA2B,CAAC,MAA0B;IACpE,MAAM,WAAW,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC,CAAC,oBAAW,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAW,CAAC,QAAQ,CAAC;IACzF,OAAO;QACL,cAAc,EAAE,MAAM,CAAC,gBAAgB;QACvC,SAAS,EAAE,MAAM,CAAC,UAAU;QAC5B,YAAY,EAAE,MAAM,CAAC,aAAa;QAClC,WAAW,EAAE,MAAM,CAAC,YAAY;QAChC,YAAY,EAAE,MAAM,CAAC,aAAa;QAClC,WAAW;QACX,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,QAAQ,EAAE,MAAM,CAAC,YAAY,IAAI,GAAG;QACpC,SAAS,EAAE,MAAM,CAAC,YAAY,IAAI,GAAG;QACrC,WAAW,EAAE,MAAM,CAAC,GAAG,IAAI,oBAAW,CAAC,GAAG;QAC1C,SAAS,EAAE,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC;KACtC,CAAC;AACJ,CAAC;AA0ID,SAAgB,2BAA2B,CAAC,OAA8B;IACxE,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,iBAAiB,EAAE,IAAA,oBAAW,EAAC,OAAO,CAAC,iBAAiB,CAAC;QACzD,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;KACzB,CAAC;AACJ,CAAC;AAED,SAAS,+BAA+B,CACtC,OAAkC;IAElC,OAAO;QACL,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,2BAA2B,CAAC;KAC5D,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAiB;IACzC,OAAO;QACL,GAAG,KAAK;QACR,OAAO,EAAE,KAAK,CAAC,OAAO;YACpB,CAAC,CAAC,+BAA+B,CAAC,KAAK,CAAC,OAAO,CAAC;YAChD,CAAC,CAAC,SAAS;KACd,CAAC;AACJ,CAAC;AAED,SAAgB,oBAAoB,CAAC,MAAsB;IACzD,OAAO;QACL,GAAG,MAAM;QACT,KAAK,EAAE,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC;KACtC,CAAC;AACJ,CAAC;AAED,SAAS,gCAAgC,CACvC,KAAiC;IAEjC,MAAM,QAAQ,GAAG,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,YAAY,CAAC;IACvD,MAAM,SAAS,GAAG,KAAK,CAAC,UAAU,IAAI,KAAK,CAAC,YAAY,CAAC;IAEzD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACjF,CAAC;IACD,IAAI,SAAS,KAAK,SAAS,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IAClF,CAAC;IAED,OAAO;QACL,GAAG,KAAK;QACR,SAAS,EAAE,QAAQ;QACnB,UAAU,EAAE,SAAS;KACtB,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CACxC,KAA2B;IAE3B,MAAM,MAAM,GAAG,gCAAgC,CAAC,KAAK,CAAC,CAAC;IAEvD,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;QACjC,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE,OAAO;YACnB,YAAY,EAAE,KAAK,CAAC,YAAY;SACjC,CAAC;IACJ,CAAC;IAED,IAAI,KAAK,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;QACnC,OAAO;YACL,GAAG,MAAM;YACT,UAAU,EAAE,SAAS;YACrB,gBAAgB,EAAE,KAAK,CAAC,gBAAgB;YACxC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,aAAa,EAAE,KAAK,CAAC,aAAa;SACnC,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAI,KAAgC,CAAC,UAAU,CAAC;IAClE,MAAM,IAAI,KAAK,CAAC,wDAAwD,YAAY,GAAG,CAAC,CAAC;AAC3F,CAAC;AAED,SAAS,YAAY,CAAI,KAAsB,EAAE,OAAe;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,KAAK,CAAC,WAAW,OAAO,kBAAkB,CAAC,CAAC;IACxD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAgB,2BAA2B,CACzC,OAA8B;IAE9B,IAAI,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC;QAC/B,MAAM,IAAI,KAAK,CAAC,yDAAyD,CAAC,CAAC;IAC7E,CAAC;IAED,OAAO;QACL,aAAa,EAAE,OAAO,CAAC,aAAa;QACpC,iBAAiB,EAAE,IAAA,oBAAW,EAAC,OAAO,CAAC,iBAAiB,CAAC;QACzD,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,eAAe,EAAE,OAAO,CAAC,eAAe;KACzC,CAAC;AACJ,CAAC;AAED,SAAgB,gCAAgC,CAC9C,OAAmC;IAEnC,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;IAC/E,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAA,oBAAW,EAAC,OAAO,CAAC,aAAa,CAAC;QACjD,QAAQ,EAAE,YAAY,CAAC,OAAO,CAAC,QAAQ,EAAE,qCAAqC,CAAC,CAAC,GAAG,CACjF,2BAA2B,CAC5B;KACF,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CACxC,OAA6B;IAE7B,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;IACxE,CAAC;IAED,OAAO;QACL,aAAa,EAAE,IAAA,oBAAW,EAAC,OAAO,CAAC,aAAa,CAAC;QACjD,cAAc,EAAE,YAAY,CAC1B,OAAO,CAAC,cAAc,EACtB,oCAAoC,CACrC,CAAC,GAAG,CAAC,gCAAgC,CAAC;KACxC,CAAC;AACJ,CAAC;AAED,SAAgB,0BAA0B,CACxC,QAA8B;IAQ9B,OAAO;QACL,WAAW,EAAE,QAAQ,CAAC,WAAW;QACjC,MAAM,EAAE,CAAC,QAAQ,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,0BAA0B,CAAC;QAC/D,eAAe,EAAE,YAAY,CAC3B,QAAQ,CAAC,eAAe,EACxB,sCAAsC,CACvC,CAAC,GAAG,CAAC,0BAA0B,CAAC;QACjC,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,SAAS;QAC9C,QAAQ,EAAE,QAAQ,CAAC,QAAQ,IAAI,KAAK;KACrC,CAAC;AACJ,CAAC;AAED,SAAgB,mBAAmB,CAAC,GAAkB;IACpD,QAAQ,GAAG,CAAC,UAAU,EAAE,CAAC;QACvB,KAAK,UAAU;YACb,OAAO;gBACL,GAAG,GAAG;gBACN,UAAU,EAAE,UAAU;gBACtB,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,0BAA0B,CAAC;gBAClD,eAAe,EAAE,YAAY,CAC3B,GAAG,CAAC,eAAe,EACnB,+BAA+B,CAChC,CAAC,GAAG,CAAC,0BAA0B,CAAC;gBACjC,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,EAAE;gBAC1C,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,EAAE;gBACtC,KAAK,EAAE,GAAG,CAAC,KAAK,IAAI,CAAC;aACtB,CAAC;QACJ,KAAK,OAAO;YACV,IAAI,GAAG,CAAC,UAAU,KAAK,OAAO,EAAE,CAAC;gBAC/B,OAAO;oBACL,GAAG,oBAAoB,CAAC,GAAG,CAAC;oBAC5B,UAAU,EAAE,OAAO;oBACnB,UAAU,EAAE,OAAO;iBACpB,CAAC;YACJ,CAAC;YACD,IAAI,GAAG,CAAC,UAAU,KAAK,SAAS,EAAE,CAAC;gBACjC,OAAO;oBACL,GAAG,GAAG;oBACN,UAAU,EAAE,OAAO;oBACnB,UAAU,EAAE,SAAS;iBACtB,CAAC;YACJ,CAAC;YACD,MAAM,IAAI,KAAK,CACb,qDAAsD,GAA8B,CAAC,UAAU,GAAG,CACnG,CAAC;QACJ,KAAK,uBAAuB;YAC1B,OAAO;gBACL,GAAG,GAAG;gBACN,UAAU,EAAE,uBAAuB;gBACnC,aAAa,EAAE,IAAA,oBAAW,EAAC,GAAG,CAAC,aAAa,CAAC;gBAC7C,cAAc,EAAE,0BAA0B,CAAC,GAAG,CAAC,cAAc,CAAC;aAC/D,CAAC;QACJ,KAAK,uBAAuB;YAC1B,OAAO,GAAG,CAAC;QACb,KAAK,OAAO,CAAC;QACb,KAAK,cAAc;YACjB,OAAO;gBACL,GAAG,GAAG;gBACN,UAAU,EAAE,OAAO;aACpB,CAAC;QACJ,KAAK,cAAc;YACjB,OAAO,GAAG,CAAC;QACb;YACE,MAAM,IAAI,KAAK,CACb,mCAAoC,GAA8B,CAAC,UAAU,GAAG,CACjF,CAAC;IACN,CAAC;AACH,CAAC","sourcesContent":["import { asPubkeyStr, TimeInForce, TriggerType } from \"../../shared\";\nimport type {\n OrderBookId,\n OrderUpdateType,\n PubkeyStr,\n Side,\n TriggerResultStatus,\n TriggerStatus,\n TriggerUpdateType,\n} from \"../../shared\";\nimport type { Notification } from \"../notification\";\nimport type { OrderStatus, TriggerOrder } from \"./index\";\n\nexport interface ConditionalBalance {\n outcome_index: number;\n conditional_token: PubkeyStr;\n idle: string;\n on_book: string;\n}\n\nexport interface UserMarketBalance {\n market_pubkey: PubkeyStr;\n deposit_assets: UserDepositAssetBalance[];\n}\n\nexport interface UserDepositAssetBalance {\n deposit_asset: PubkeyStr;\n outcomes: UserOutcomeBalance[];\n}\n\nexport interface UserOutcomeBalance {\n outcome_index: number;\n conditional_token: PubkeyStr;\n balance: string;\n balance_idle: string;\n balance_on_book: string;\n}\n\nexport interface GlobalDepositBalance {\n mint: PubkeyStr;\n balance: string;\n}\n\nexport interface GlobalDepositUpdate {\n mint: PubkeyStr;\n balance: string;\n timestamp: string;\n}\n\nexport interface NonceUpdate {\n user_pubkey: PubkeyStr;\n new_nonce: number;\n timestamp: string;\n}\n\nexport interface UserOrderUpdateBalance {\n outcomes: ConditionalBalance[];\n}\n\nexport interface WsOrder {\n order_hash: string;\n price: string;\n is_maker: boolean;\n remaining: string;\n filled: string;\n fill_amount: string;\n side: Side;\n created_at: number;\n base_mint: PubkeyStr;\n quote_mint: PubkeyStr;\n outcome_index: number;\n status: OrderStatus;\n balance?: UserOrderUpdateBalance;\n}\n\nexport interface OrderUpdate {\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n timestamp: string;\n tx_signature?: string;\n type?: OrderUpdateType;\n order: WsOrder;\n}\n\nexport interface UserSnapshotOrderCommon {\n order_hash: string;\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n side: Side;\n amount_in: string;\n amount_out: string;\n remaining: string;\n filled: string;\n price: string;\n created_at: number;\n expiration: number;\n base_mint: PubkeyStr;\n quote_mint: PubkeyStr;\n outcome_index: number;\n status: OrderStatus;\n}\n\nexport type UserSnapshotOrder =\n | ({ order_type: \"limit\"; tx_signature?: string } & UserSnapshotOrderCommon)\n | ({\n order_type: \"trigger\";\n trigger_order_id: string;\n trigger_price: string;\n trigger_type: TriggerType;\n time_in_force?: TimeInForce;\n } & UserSnapshotOrderCommon);\n\nexport interface UserSnapshot {\n orders: UserSnapshotOrder[];\n market_balances: UserMarketBalance[];\n global_deposits: GlobalDepositBalance[];\n notifications: Notification[];\n nonce?: number;\n}\n\nexport interface TriggerOrderUpdate {\n trigger_order_id: string;\n user_pubkey?: PubkeyStr;\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n trigger_price: string;\n trigger_above: boolean;\n status: TriggerStatus;\n type?: TriggerUpdateType;\n order_hash: string;\n side: Side;\n result_status?: TriggerResultStatus;\n result_filled?: string;\n result_remaining?: string;\n timestamp: string;\n maker_amount?: string;\n taker_amount?: string;\n tif?: TimeInForce;\n}\n\nexport function triggerUpdateToTriggerOrder(update: TriggerOrderUpdate): TriggerOrder {\n const triggerType = update.trigger_above ? TriggerType.TakeProfit : TriggerType.StopLoss;\n return {\n triggerOrderId: update.trigger_order_id,\n orderHash: update.order_hash,\n marketPubkey: update.market_pubkey,\n orderbookId: update.orderbook_id,\n triggerPrice: update.trigger_price,\n triggerType,\n side: update.side,\n amountIn: update.maker_amount ?? \"0\",\n amountOut: update.taker_amount ?? \"0\",\n timeInForce: update.tif ?? TimeInForce.Gtc,\n createdAt: new Date(update.timestamp),\n };\n}\n\nexport type OrderEvent =\n | ({ order_type: \"limit\" } & OrderUpdate)\n | ({ order_type: \"trigger\" } & TriggerOrderUpdate);\n\nexport interface NotificationUpdate {\n notification: Notification;\n}\n\nexport interface UserBalanceUpdate {\n market_pubkey: PubkeyStr;\n market_balance: UserMarketBalance;\n timestamp: string;\n}\n\nexport type UserUpdate =\n | ({ event_type: \"snapshot\" } & UserSnapshot)\n | ({ event_type: \"order\" } & OrderEvent)\n | ({ event_type: \"market_balance_update\" } & UserBalanceUpdate)\n | ({ event_type: \"global_deposit_update\" } & GlobalDepositUpdate)\n | ({ event_type: \"nonce\" } & NonceUpdate)\n | ({ event_type: \"notification\" } & NotificationUpdate);\n\nexport type AuthUpdate =\n | { status: \"authenticated\"; wallet: PubkeyStr }\n | { status: \"anonymous\"; reason?: string };\n\n// ─── User order fills (REST) ────────────────────────────────────────────────\n\nexport type Role = \"maker\" | \"taker\";\n\nexport type FillStatus = \"filled\" | \"cancelled\" | \"partially_filled\";\n\nexport interface OrderFillEvent {\n fill_amount: string;\n tx_signature: string;\n filled_at: number;\n}\n\nexport interface UserOrderFill {\n order_hash: string;\n market_pubkey: PubkeyStr;\n orderbook_id: OrderBookId;\n side: Side;\n role: Role;\n price: string;\n size: string;\n filled_size: string;\n remaining_size: string;\n base_mint: PubkeyStr;\n quote_mint: PubkeyStr;\n outcome_index: number;\n status: FillStatus;\n created_at: number;\n fills: OrderFillEvent[];\n}\n\nexport interface UserOrderFillsResponse {\n orders: UserOrderFill[];\n next_cursor?: string;\n has_more: boolean;\n}\n\ntype RawConditionalBalance = Omit<ConditionalBalance, \"conditional_token\"> & {\n conditional_token: string;\n};\n\ntype RawUserOutcomeBalance = Omit<UserOutcomeBalance, \"conditional_token\"> & {\n conditional_token: string;\n};\n\ntype RawUserDepositAssetBalance = Omit<UserDepositAssetBalance, \"deposit_asset\" | \"outcomes\"> & {\n deposit_asset: string;\n outcomes: RawUserOutcomeBalance[];\n};\n\ntype RawUserMarketBalance = Omit<UserMarketBalance, \"market_pubkey\" | \"deposit_assets\"> & {\n market_pubkey: string;\n deposit_assets: RawUserDepositAssetBalance[];\n};\n\ntype RawUserOrderUpdateBalance = {\n outcomes: RawConditionalBalance[];\n};\n\ntype RawWsOrder = Omit<WsOrder, \"balance\"> & {\n balance?: RawUserOrderUpdateBalance;\n};\n\ntype RawOrderUpdate = Omit<OrderUpdate, \"order\"> & {\n order: RawWsOrder;\n};\n\ntype RawUserSnapshotOrderCommon = Omit<UserSnapshotOrderCommon, \"amount_in\" | \"amount_out\"> & {\n amount_in?: string;\n amount_out?: string;\n maker_amount?: string;\n taker_amount?: string;\n};\n\ntype RawUserSnapshotOrder =\n | ({ order_type: \"limit\"; tx_signature?: string } & RawUserSnapshotOrderCommon)\n | ({\n order_type: \"trigger\";\n trigger_order_id: string;\n trigger_price: string;\n trigger_type: TriggerType;\n time_in_force?: TimeInForce;\n } & RawUserSnapshotOrderCommon);\n\ntype RawUserSnapshot = Omit<UserSnapshot, \"orders\" | \"market_balances\"> & {\n orders: RawUserSnapshotOrder[];\n market_balances: RawUserMarketBalance[];\n};\n\ntype RawUserBalanceUpdate = Omit<UserBalanceUpdate, \"market_pubkey\" | \"market_balance\"> & {\n market_pubkey: string;\n market_balance: RawUserMarketBalance;\n};\n\ntype RawUserUpdate =\n | ({ event_type: \"snapshot\" } & RawUserSnapshot)\n | ({ event_type: \"order\" } & ({ order_type: \"limit\" } & RawOrderUpdate))\n | ({ event_type: \"order\" } & ({ order_type: \"trigger\" } & TriggerOrderUpdate))\n | ({ event_type: \"market_balance_update\" } & RawUserBalanceUpdate)\n | ({ event_type: \"global_deposit_update\" } & GlobalDepositUpdate)\n | ({ event_type: \"nonce\" | \"nonce_update\" } & NonceUpdate)\n | ({ event_type: \"notification\" } & NotificationUpdate);\n\ntype RawUserOrdersPayload = {\n user_pubkey: PubkeyStr;\n orders?: RawUserSnapshotOrder[];\n market_balances: RawUserMarketBalance[];\n next_cursor?: string | null;\n has_more?: boolean;\n};\n\nexport function normalizeConditionalBalance(balance: RawConditionalBalance): ConditionalBalance {\n if (!balance.conditional_token) {\n throw new Error(\"Invalid conditional balance: missing conditional_token\");\n }\n\n return {\n outcome_index: balance.outcome_index,\n conditional_token: asPubkeyStr(balance.conditional_token),\n idle: balance.idle,\n on_book: balance.on_book,\n };\n}\n\nfunction normalizeUserOrderUpdateBalance(\n balance: RawUserOrderUpdateBalance\n): UserOrderUpdateBalance {\n return {\n outcomes: balance.outcomes.map(normalizeConditionalBalance),\n };\n}\n\nfunction normalizeWsOrder(order: RawWsOrder): WsOrder {\n return {\n ...order,\n balance: order.balance\n ? normalizeUserOrderUpdateBalance(order.balance)\n : undefined,\n };\n}\n\nexport function normalizeOrderUpdate(update: RawOrderUpdate): OrderUpdate {\n return {\n ...update,\n order: normalizeWsOrder(update.order),\n };\n}\n\nfunction normalizeUserSnapshotOrderCommon(\n order: RawUserSnapshotOrderCommon\n): UserSnapshotOrderCommon {\n const amountIn = order.amount_in ?? order.maker_amount;\n const amountOut = order.amount_out ?? order.taker_amount;\n\n if (amountIn === undefined) {\n throw new Error(\"Invalid user snapshot order: missing amount_in/maker_amount\");\n }\n if (amountOut === undefined) {\n throw new Error(\"Invalid user snapshot order: missing amount_out/taker_amount\");\n }\n\n return {\n ...order,\n amount_in: amountIn,\n amount_out: amountOut,\n };\n}\n\nexport function normalizeUserSnapshotOrder(\n order: RawUserSnapshotOrder\n): UserSnapshotOrder {\n const common = normalizeUserSnapshotOrderCommon(order);\n\n if (order.order_type === \"limit\") {\n return {\n ...common,\n order_type: \"limit\",\n tx_signature: order.tx_signature,\n };\n }\n\n if (order.order_type === \"trigger\") {\n return {\n ...common,\n order_type: \"trigger\",\n trigger_order_id: order.trigger_order_id,\n trigger_price: order.trigger_price,\n trigger_type: order.trigger_type,\n time_in_force: order.time_in_force,\n };\n }\n\n const rawOrderType = (order as { order_type: string }).order_type;\n throw new Error(`Invalid user snapshot order: unsupported order_type \"${rawOrderType}\"`);\n}\n\nfunction requireArray<T>(value: T[] | undefined, context: string): T[] {\n if (!Array.isArray(value)) {\n throw new Error(`Invalid ${context}: expected array`);\n }\n return value;\n}\n\nexport function normalizeUserOutcomeBalance(\n balance: RawUserOutcomeBalance\n): UserOutcomeBalance {\n if (!balance.conditional_token) {\n throw new Error(\"Invalid user outcome balance: missing conditional_token\");\n }\n\n return {\n outcome_index: balance.outcome_index,\n conditional_token: asPubkeyStr(balance.conditional_token),\n balance: balance.balance,\n balance_idle: balance.balance_idle,\n balance_on_book: balance.balance_on_book,\n };\n}\n\nexport function normalizeUserDepositAssetBalance(\n balance: RawUserDepositAssetBalance\n): UserDepositAssetBalance {\n if (!balance.deposit_asset) {\n throw new Error(\"Invalid user deposit asset balance: missing deposit_asset\");\n }\n\n return {\n deposit_asset: asPubkeyStr(balance.deposit_asset),\n outcomes: requireArray(balance.outcomes, \"user deposit asset balance outcomes\").map(\n normalizeUserOutcomeBalance\n ),\n };\n}\n\nexport function normalizeUserMarketBalance(\n balance: RawUserMarketBalance\n): UserMarketBalance {\n if (!balance.market_pubkey) {\n throw new Error(\"Invalid user market balance: missing market_pubkey\");\n }\n\n return {\n market_pubkey: asPubkeyStr(balance.market_pubkey),\n deposit_assets: requireArray(\n balance.deposit_assets,\n \"user market balance deposit_assets\"\n ).map(normalizeUserDepositAssetBalance),\n };\n}\n\nexport function normalizeUserOrdersPayload(\n response: RawUserOrdersPayload\n): {\n user_pubkey: PubkeyStr;\n orders: UserSnapshotOrder[];\n market_balances: UserMarketBalance[];\n next_cursor?: string;\n has_more: boolean;\n} {\n return {\n user_pubkey: response.user_pubkey,\n orders: (response.orders ?? []).map(normalizeUserSnapshotOrder),\n market_balances: requireArray(\n response.market_balances,\n \"user orders response market_balances\"\n ).map(normalizeUserMarketBalance),\n next_cursor: response.next_cursor ?? undefined,\n has_more: response.has_more ?? false,\n };\n}\n\nexport function normalizeUserUpdate(raw: RawUserUpdate): UserUpdate {\n switch (raw.event_type) {\n case \"snapshot\":\n return {\n ...raw,\n event_type: \"snapshot\",\n orders: raw.orders.map(normalizeUserSnapshotOrder),\n market_balances: requireArray(\n raw.market_balances,\n \"user snapshot market_balances\"\n ).map(normalizeUserMarketBalance),\n global_deposits: raw.global_deposits ?? [],\n notifications: raw.notifications ?? [],\n nonce: raw.nonce ?? 0,\n };\n case \"order\":\n if (raw.order_type === \"limit\") {\n return {\n ...normalizeOrderUpdate(raw),\n event_type: \"order\",\n order_type: \"limit\",\n };\n }\n if (raw.order_type === \"trigger\") {\n return {\n ...raw,\n event_type: \"order\",\n order_type: \"trigger\",\n };\n }\n throw new Error(\n `Invalid user order event: unsupported order_type \"${(raw as { order_type: string }).order_type}\"`\n );\n case \"market_balance_update\":\n return {\n ...raw,\n event_type: \"market_balance_update\",\n market_pubkey: asPubkeyStr(raw.market_pubkey),\n market_balance: normalizeUserMarketBalance(raw.market_balance),\n };\n case \"global_deposit_update\":\n return raw;\n case \"nonce\":\n case \"nonce_update\":\n return {\n ...raw,\n event_type: \"nonce\",\n };\n case \"notification\":\n return raw;\n default:\n throw new Error(\n `Invalid user update event_type \"${(raw as { event_type: string }).event_type}\"`\n );\n }\n}\n"]}
|
package/dist/prelude.d.ts
CHANGED
|
@@ -25,7 +25,7 @@ export type { BookAggregation } from "./domain/orderbook/aggregation";
|
|
|
25
25
|
export { aggregationFromFrame, aggregationKeySuffix, aggregationsEqual, FULL_PRECISION, isFullPrecision, normalizeAggregation, validateAggregation, } from "./domain/orderbook/aggregation";
|
|
26
26
|
export { OrderbookState } from "./domain/orderbook/state";
|
|
27
27
|
export type { OrderbookApplyResult, OrderbookRefreshReason, } from "./domain/orderbook/state";
|
|
28
|
-
export type { CancelAllBody, CancelAllSuccess, CancelBody, CancelSuccess, ConditionalBalance, FillInfo, GlobalDepositUpdate, NonceUpdate, LimitOrder, OrderEvent, OrderStatus, OrderType, SubmitOrderResponse, SubmitOrderStatus,
|
|
28
|
+
export type { CancelAllBody, CancelAllSuccess, CancelBody, CancelSuccess, ConditionalBalance, FillInfo, GlobalDepositUpdate, NonceUpdate, LimitOrder, OrderEvent, OrderStatus, OrderType, SubmitOrderResponse, SubmitOrderStatus, UserBalanceUpdate, UserDepositAssetBalance, UserMarketBalance, UserOutcomeBalance, UserSnapshotOrder, UserOrdersResponse, UserUpdate, } from "./domain/order";
|
|
29
29
|
export type { UserOpenLimitOrders } from "./domain/order/state";
|
|
30
30
|
export type { Portfolio, Position, PositionOutcome, WalletHolding, TokenBalance, TokenBalanceComputedBase, TokenBalanceTokenType, DepositAssetMetadata, DepositTokenBalance, } from "./domain/position";
|
|
31
31
|
export { DepositBuilder, WithdrawBuilder, RedeemWinningsBuilder, WithdrawFromPositionBuilder, InitPositionTokensBuilder, ExtendPositionTokensBuilder, DepositToGlobalBuilder, WithdrawFromGlobalBuilder, GlobalToMarketDepositBuilder, } from "./domain/position";
|
package/dist/prelude.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/prelude.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":";;;;AAAA,mCAekB;AAdhB,4GAAA,kBAAkB,OAAA;AAClB,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AAOb,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,6BAAuE;AAA9D,mGAAA,YAAY,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,4FAAA,KAAK,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,gGAAA,SAAS,OAAA;AAEvD,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,gHAAA,sBAAsB,OAAA;AAGxB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAGZ,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,0CAA0C;AAAjC,iGAAA,OAAO,OAAA;AAChB,4CAA2C;AAAlC,kGAAA,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,sDAAsD;AAA7C,6GAAA,aAAa,OAAA;AACtB,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAmDlB,0CAMyB;AALvB,gGAAA,MAAM,OAAA;AACN,8GAAA,oBAAoB,OAAA;AACpB,iHAAA,uBAAuB,OAAA;AACvB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AAuBtB,gDAA8D;AAArD,qHAAA,wBAAwB,OAAA;AAEjC,8DAQwC;AAPtC,mHAAA,oBAAoB,OAAA;AACpB,mHAAA,oBAAoB,OAAA;AACpB,gHAAA,iBAAiB,OAAA;AACjB,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,mHAAA,oBAAoB,OAAA;AACpB,kHAAA,mBAAmB,OAAA;AAErB,kDAA0D;AAAjD,uGAAA,cAAc,OAAA;
|
|
1
|
+
{"version":3,"file":"prelude.js","sourceRoot":"","sources":["../src/prelude.ts"],"names":[],"mappings":";;;;AAAA,mCAekB;AAdhB,4GAAA,kBAAkB,OAAA;AAClB,uGAAA,aAAa,OAAA;AACb,uGAAA,aAAa,OAAA;AACb,qGAAA,WAAW,OAAA;AACX,uGAAA,aAAa,OAAA;AACb,2GAAA,iBAAiB,OAAA;AACjB,yGAAA,eAAe,OAAA;AACf,oGAAA,UAAU,OAAA;AACV,8FAAA,IAAI,OAAA;AACJ,qGAAA,WAAW,OAAA;AAOb,iCAAmC;AAA1B,iGAAA,QAAQ,OAAA;AACjB,6BAAuE;AAA9D,mGAAA,YAAY,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,4FAAA,KAAK,OAAA;AAAE,6FAAA,MAAM,OAAA;AAAE,gGAAA,SAAS,OAAA;AAEvD,mCAGkB;AAFhB,yGAAA,eAAe,OAAA;AACf,gHAAA,sBAAsB,OAAA;AAGxB,6BAA4B;AAAnB,0FAAA,GAAG,OAAA;AAGZ,+BAA8B;AAArB,4FAAA,IAAI,OAAA;AACb,0CAA0C;AAAjC,iGAAA,OAAO,OAAA;AAChB,4CAA2C;AAAlC,kGAAA,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,sDAAsD;AAA7C,6GAAA,aAAa,OAAA;AACtB,8CAA8C;AAArC,qGAAA,SAAS,OAAA;AAmDlB,0CAMyB;AALvB,gGAAA,MAAM,OAAA;AACN,8GAAA,oBAAoB,OAAA;AACpB,iHAAA,uBAAuB,OAAA;AACvB,0GAAA,gBAAgB,OAAA;AAChB,8GAAA,oBAAoB,OAAA;AAuBtB,gDAA8D;AAArD,qHAAA,wBAAwB,OAAA;AAEjC,8DAQwC;AAPtC,mHAAA,oBAAoB,OAAA;AACpB,mHAAA,oBAAoB,OAAA;AACpB,gHAAA,iBAAiB,OAAA;AACjB,6GAAA,cAAc,OAAA;AACd,8GAAA,eAAe,OAAA;AACf,mHAAA,oBAAoB,OAAA;AACpB,kHAAA,mBAAmB,OAAA;AAErB,kDAA0D;AAAjD,uGAAA,cAAc,OAAA;AA2CvB,8CAU2B;AATzB,0GAAA,cAAc,OAAA;AACd,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,uHAAA,2BAA2B,OAAA;AAC3B,qHAAA,yBAAyB,OAAA;AACzB,uHAAA,2BAA2B,OAAA;AAC3B,kHAAA,sBAAsB,OAAA;AACtB,qHAAA,yBAAyB,OAAA;AACzB,wHAAA,4BAA4B,OAAA;AAI9B,8CAAoD;AAA3C,qGAAA,YAAY,OAAA;AAyBrB,wDAA8E;AAArE,kHAAA,iBAAiB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAc7C,+BAAsG;AAA7F,iGAAA,SAAS,OAAA;AAAE,mGAAA,WAAW,OAAA;AAAE,oGAAA,YAAY,OAAA;AAAE,qGAAA,aAAa,OAAA;AAAE,iGAAA,SAAS,OAAA;AAAE,oGAAA,YAAY,OAAA;AAErF,qCAImB;AAHjB,6GAAA,kBAAkB,OAAA;AAcpB,4CAI0B;AAHxB,6GAAA,kBAAkB,OAAA;AAKpB,8CAE2B;AADzB,wGAAA,YAAY,OAAA;AAiBd,+BAGgB;AAFd,mGAAA,WAAW,OAAA;AAcb,2BAAwD;AAA/C,oGAAA,cAAc,OAAA;AAAE,sGAAA,gBAAgB,OAAA","sourcesContent":["export {\n ApiRejectedDetails,\n RejectionCode,\n asOrderBookId,\n asPubkeyStr,\n DepositSource,\n deriveOrderbookId,\n OrderUpdateType,\n Resolution,\n Side,\n TimeInForce,\n type ApiResponse,\n type OrderBookId,\n type PubkeyStr,\n type SubmitOrderRequest,\n} from \"./shared\";\n\nexport { SdkError } from \"./error\";\nexport { LightconeEnv, apiUrl, wsUrl, rpcUrl, programId } from \"./env\";\n\nexport {\n LightconeClient,\n LightconeClientBuilder,\n} from \"./client\";\n\nexport { Rpc } from \"./rpc\";\nexport type { ClientContext } from \"./context\";\n\nexport { Auth } from \"./auth\";\nexport { Markets } from \"./domain/market\";\nexport { Metrics } from \"./domain/metrics\";\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 { Notifications } from \"./domain/notification\";\nexport { Referrals } from \"./domain/referral\";\n\nexport type {\n CategoriesMetrics,\n CategoryVolumeMetrics,\n DepositTokenVolumeHistory,\n DepositTokenVolumeHistoryPoint,\n DepositTokenVolumeHistoryPointToken,\n DepositTokenVolumeHistoryQuery,\n DepositTokenVolumeHistoryToken,\n DepositTokenVolumeMetrics,\n DepositTokensMetrics,\n HistoryPoint,\n Leaderboard,\n LeaderboardEntry,\n MarketDetailMetrics,\n MarketOrderbookVolumeMetrics,\n MarketVolumeMetrics,\n MarketsMetrics,\n MetricsHistory,\n MetricsHistoryQuery,\n OpenInterestHistory,\n OpenInterestHistoryDepositAsset,\n OpenInterestHistoryPoint,\n OpenInterestHistoryPointDepositAsset,\n OpenInterestHistoryQuery,\n OrderbookTickerEntry,\n OrderbookTickersResponse,\n OrderbookVolumeMetrics,\n OutcomeVolumeMetrics,\n PlatformMetrics,\n UniqueTradersHistory,\n UniqueTradersHistoryPoint,\n UniqueTradersHistoryQuery,\n UniqueTradersHistoryScope,\n} from \"./domain/metrics\";\n\nexport type {\n FaucetRequest,\n FaucetResponse,\n FaucetToken,\n} from \"./domain/faucet\";\n\nexport type {\n ConditionalTokenResponse,\n DepositAssetResponse,\n DepositMintsResponse,\n MarketResolutionPayout,\n MarketResolutionResponse,\n} from \"./domain/market/wire\";\n\nexport {\n Status,\n MarketResolutionKind,\n hasSingleWinningOutcome,\n isMarketResolved,\n singleWinningOutcome,\n} from \"./domain/market\";\n\nexport type {\n Market,\n MarketResolutionContainer,\n Outcome,\n ConditionalToken,\n DepositAsset,\n GlobalDepositAsset,\n Token,\n TokenMetadata,\n ValidatedTokens,\n} from \"./domain/market\";\n\nexport type {\n OrderBook,\n OrderBookPair,\n OrderbookDepthDecimals,\n OutcomeImpact,\n TickerData,\n WsBookLevel,\n} from \"./domain/orderbook\";\nexport { OrderBookValidationError } from \"./domain/orderbook\";\nexport type { BookAggregation } from \"./domain/orderbook/aggregation\";\nexport {\n aggregationFromFrame,\n aggregationKeySuffix,\n aggregationsEqual,\n FULL_PRECISION,\n isFullPrecision,\n normalizeAggregation,\n validateAggregation,\n} from \"./domain/orderbook/aggregation\";\nexport { OrderbookState } from \"./domain/orderbook/state\";\nexport type {\n OrderbookApplyResult,\n OrderbookRefreshReason,\n} from \"./domain/orderbook/state\";\n\nexport type {\n CancelAllBody,\n CancelAllSuccess,\n CancelBody,\n CancelSuccess,\n ConditionalBalance,\n FillInfo,\n GlobalDepositUpdate,\n NonceUpdate,\n LimitOrder,\n OrderEvent,\n OrderStatus,\n OrderType,\n SubmitOrderResponse,\n SubmitOrderStatus,\n UserBalanceUpdate,\n UserDepositAssetBalance,\n UserMarketBalance,\n UserOutcomeBalance,\n UserSnapshotOrder,\n UserOrdersResponse,\n UserUpdate,\n} from \"./domain/order\";\nexport type { UserOpenLimitOrders } 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 {\n DepositBuilder,\n WithdrawBuilder,\n RedeemWinningsBuilder,\n WithdrawFromPositionBuilder,\n InitPositionTokensBuilder,\n ExtendPositionTokensBuilder,\n DepositToGlobalBuilder,\n WithdrawFromGlobalBuilder,\n GlobalToMarketDepositBuilder,\n} from \"./domain/position\";\n\nexport type { Trade, WsTrade } from \"./domain/trade\";\nexport { TradeHistory } from \"./domain/trade/state\";\nexport type {\n DepositPrice,\n DepositPriceCandleUpdate,\n DepositPriceHistoryQuery,\n DepositPriceKey,\n DepositPriceSnapshot,\n DepositPriceTick,\n DepositTokenCandle,\n DepositTokenPriceHistoryResponse,\n DepositAssetPriceEvent,\n DepositAssetPriceSnapshot,\n DepositAssetPriceTick,\n DepositAssetPricesSnapshotResponse,\n LineData,\n MidpointPriceCandle,\n OhlcvPriceCandle,\n OrderbookPriceHistoryQuery,\n OrderbookPriceHistoryResponse,\n PriceCandle,\n PriceHistory,\n PriceHistoryRestResponse,\n PriceHistorySnapshot,\n PriceHistoryUpdate,\n} from \"./domain/price_history\";\nexport { DepositPriceState, PriceHistoryState } from \"./domain/price_history\";\n\nexport type {\n AuthCredentials,\n AuthMethod,\n ChainType,\n GoogleAccountData,\n PrivyEmbeddedWallet,\n SessionResponse,\n User,\n UserIdentity,\n UserPrivyData,\n XAccountData,\n} from \"./auth\";\nexport { avatarUrl, displayName, identityText, tradingWallet, userPrivy, userXAccount } from \"./auth\";\n\nexport {\n LimitOrderEnvelope,\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 {\n isUserCancellation,\n type ExternalSigner,\n type SigningStrategy,\n} from \"./shared/signing\";\n\nexport {\n MergeBuilder,\n} from \"./domain/position\";\n\nexport type {\n Notification,\n NotificationKind,\n MarketResolvedData,\n OrderFilledData,\n MarketData,\n} from \"./domain/notification\";\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\";\nexport { subscribeBooks, unsubscribeBooks } from \"./ws\";\n\nexport type AuthClient = import(\"./auth\").Auth;\nexport type MarketsClient = import(\"./domain/market\").Markets;\nexport type MarketsResult = import(\"./domain/market\").MarketsResult;\nexport type GlobalDepositAssetsResult = import(\"./domain/market\").GlobalDepositAssetsResult;\nexport type MetricsClient = import(\"./domain/metrics\").Metrics;\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 NotificationsClient = import(\"./domain/notification\").Notifications;\nexport type ReferralsClient = import(\"./domain/referral\").Referrals;\nexport type RpcClient = import(\"./rpc\").Rpc;\n"]}
|