@bulletxyz/bullet-sdk 0.49.3 → 0.49.4

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.
@@ -19,7 +19,7 @@
19
19
  "import { z } from \"zod\";\nimport { AssetId, DecimalSchema } from \".\";\n\n/**\n * Zod 4: WebSocket message schemas with rich metadata\n */\n\nconst Topic = z\n .union([\n z.string().regex(/^orderbook\\.[0-9]+\\.[0-9]+$/),\n z.string().regex(/^trade\\.[0-9]+$/),\n ])\n .describe(\n \"WebSocket subscription topic (orderbook.{marketId}.{assetId} or trade.{assetId})\",\n );\n\nconst MessageType = z\n .enum([\"snapshot\", \"delta\"])\n .describe(\n \"Message type: snapshot (full state) or delta (incremental update)\",\n );\n\nconst WsMessage = <T extends z.ZodTypeAny>(data: T) =>\n z\n .object({\n topic: Topic,\n type: MessageType,\n ts: z.number().describe(\"Server timestamp in milliseconds\"),\n data: data,\n })\n .describe(\"Generic WebSocket message wrapper\");\n\nconst WebSocketResponse = z\n .object({\n success: z.boolean().describe(\"Whether the operation succeeded\"),\n ret_msg: z.string().describe(\"Human-readable response message\"),\n conn_id: z.string().describe(\"Connection identifier\"),\n op: z\n .string()\n .describe(\"Operation type (subscribe, unsubscribe, ping, etc.)\"),\n })\n .describe(\"WebSocket control message response\");\n\nconst OrderbookDelta = z\n .array(z.tuple([z.string(), DecimalSchema]))\n .describe(\"Array of [price, size] tuples representing orderbook levels\");\n\nconst OrderbookUpdate = z\n .object({\n s: AssetId.describe(\"Asset ID for this orderbook\"),\n b: OrderbookDelta.describe(\"Bid side updates\"),\n a: OrderbookDelta.describe(\"Ask side updates\"),\n u: z.number().describe(\"Update sequence number for delta ordering\"),\n })\n .describe(\"Orderbook snapshot or delta update\");\n\nexport const WsResponseSchemas = {\n WebSocketResponse: WebSocketResponse,\n OrderbookResponse: WsMessage(OrderbookUpdate),\n};\n\nexport type WebSocketResponse = z.infer<\n typeof WsResponseSchemas.WebSocketResponse\n>;\nexport type OrderbookResponse = z.infer<\n typeof WsResponseSchemas.OrderbookResponse\n>;\nexport type OrderbookUpdate = z.infer<typeof OrderbookUpdate>;\n",
20
20
  "import Decimal from \"decimal.js\";\nimport { z } from \"zod\";\n\n/**\n * Zod 4: Type-safe numeric bounds with const assertions\n */\nconst I16_MAX = 32767;\nconst I16_MIN = -32768;\nconst I64_MAX = 9223372036854775807n; // 2^63 - 1\nconst I64_MIN = -9223372036854775808n; // -2^63\nconst U8_MAX = 255;\nconst U16_MAX = 65535;\nconst U32_MAX = 4294967295;\nconst U64_MAX = 18446744073709551615n; // 2^64 - 1\nconst U128_MAX = 340282366920938463463374607431768211455n; // 2^128 - 1\n\n/**\n * Zod 4: Primitive integer schemas with rich metadata\n * Using z.pipe() for explicit conversions (14x faster than z.coerce)\n */\nexport const I64Schema = z\n .union([z.string(), z.number(), z.bigint()])\n .transform((val) => BigInt(val))\n .pipe(z.bigint().min(I64_MIN).max(I64_MAX))\n .describe(\"Signed 64-bit integer\");\n\nexport const U8Schema = z\n .union([z.string(), z.number()])\n .transform((val) => Number(val))\n .pipe(z.number().int().min(0).max(U8_MAX))\n .describe(\"Unsigned 8-bit integer (0-255)\");\n\nexport const U16Schema = z\n .union([z.string(), z.number()])\n .transform((val) => Number(val))\n .pipe(z.number().int().min(0).max(U16_MAX))\n .describe(\"Unsigned 16-bit integer (0-65535)\");\n\nexport const I16Schema = z\n .union([z.string(), z.number()])\n .transform((val) => Number(val))\n .pipe(z.number().int().min(I16_MIN).max(I16_MAX))\n .describe(\"Signed 16-bit integer (-32768-32767)\");\n\nexport const U32Schema = z\n .union([z.string(), z.number()])\n .transform((val) => Number(val))\n .pipe(z.number().int().min(0).max(U32_MAX))\n .describe(\"Unsigned 32-bit integer\");\n\nexport const U64Schema = z\n .union([z.string(), z.number(), z.bigint()])\n .transform((val) => BigInt(val))\n .pipe(z.bigint().min(0n).max(U64_MAX))\n .describe(\"Unsigned 64-bit integer\");\n\nexport const U128Schema = z\n .union([z.string(), z.number(), z.bigint()])\n .transform((val) => BigInt(val))\n .pipe(z.bigint().min(0n).max(U128_MAX))\n .describe(\"Unsigned 128-bit integer for large amounts\");\n\n/**\n * Zod 4: High-precision decimal schema\n * Accepts string or number, returns Decimal.js instance\n */\nexport const DecimalSchema = z\n .union([z.string(), z.number()])\n .transform((val, ctx) => {\n try {\n return new Decimal(val);\n } catch (_error) {\n ctx.addIssue({\n code: z.ZodIssueCode.custom,\n message: `Invalid decimal value: ${val}`,\n });\n return z.NEVER;\n }\n })\n .describe(\"High-precision decimal number using Decimal.js\");\n\n/**\n * Zod 4: Solana address validation with rich metadata\n */\nexport const Base58Address = z\n .string()\n .pipe(\n z.string().regex(/^[1-9A-HJ-NP-Za-km-z]{32,44}$/, {\n error: \"Invalid Base58 address format\",\n }),\n )\n .describe(\"Solana Base58-encoded public key address (32-44 characters)\");\n\n/**\n * Zod 4: Domain schemas with descriptive metadata\n * Note: Using type aliases instead of .brand() to maintain backwards compatibility\n * For full type safety, consider using .brand() after migrating existing code\n */\nexport const AssetId = U16Schema.describe(\n \"Unique identifier for a trading asset\",\n);\n\nexport const MarketId = U16Schema.describe(\n \"Unique identifier for a trading market\",\n);\n\nexport const OrderId = U64Schema.describe(\n \"Unique identifier for an order in the system\",\n);\n\nexport const TradeId = U64Schema.describe(\n \"Unique identifier for an executed trade\",\n);\n\nexport const ClientOrderId = U64Schema.describe(\n \"Client-provided order identifier for idempotency\",\n);\n\nexport const TriggerOrderId = U64Schema.describe(\n \"Unique identifier for a trigger/conditional order\",\n);\n\nexport const TwapId = U64Schema.describe(\"Unique identifier for a TWAP order\");\n\nexport const Amount = U128Schema.describe(\n \"Token amount in smallest unit (e.g., lamports for SOL)\",\n);\n\nexport const UnixTimestampMicros = I64Schema.describe(\n \"Unix timestamp in microseconds since epoch\",\n);\n\n/**\n * Zod 4: Type-safe map builder for JSON-serialized Maps\n * Converts object representation to native Map with typed keys\n *\n * @example\n * const MarketMap = createJsonMap(MarketId, MarketInfo);\n * // Type: Map<number & Brand<\"MarketId\">, MarketInfo>\n */\nexport const createJsonMap = <K extends z.ZodTypeAny, V extends z.ZodTypeAny>(\n keySchema: K,\n valueSchema: V,\n options?: {\n description?: string;\n example?: Record<string, unknown>;\n },\n) => {\n const schema = z\n .record(z.string(), valueSchema)\n .transform(\n (obj): Map<z.infer<K>, z.infer<V>> =>\n new Map(Object.entries(obj).map(([k, v]) => [keySchema.parse(k), v])),\n );\n\n if (options?.description) {\n schema.describe(options.description);\n }\n\n return schema;\n};\n\n/**\n * Zod 4: Type-safe set builder for JSON-serialized Sets (BTreeSet)\n * Converts array representation to native Set with typed elements\n *\n * @example\n * const AssetIdSet = createJsonSet(AssetId);\n * // Type: Set<number>\n *\n * const AddressSet = createJsonSet(Base58Address);\n * // Type: Set<string>\n */\nexport const createJsonSet = <V extends z.ZodTypeAny>(\n valueSchema: V,\n options?: {\n description?: string;\n example?: unknown[];\n },\n) => {\n const schema = z\n .array(valueSchema)\n .transform((arr): Set<z.infer<V>> => new Set(arr));\n\n if (options?.description) {\n schema.describe(options.description);\n }\n\n return schema;\n};\n\n/**\n * Zod 4: Schema registry for centralized validation and JSON Schema generation\n * Enables runtime introspection and API documentation generation\n */\nexport const PrimitiveSchemas = {\n I16: I16Schema,\n I64: I64Schema,\n U8: U8Schema,\n U16: U16Schema,\n U32: U32Schema,\n U64: U64Schema,\n U128: U128Schema,\n Decimal: DecimalSchema,\n Base58Address,\n} as const;\n\nexport const DomainSchemas = {\n AssetId,\n MarketId,\n OrderId,\n TradeId,\n ClientOrderId,\n TriggerOrderId,\n TwapId,\n Amount,\n UnixTimestampMicros,\n} as const;\n",
21
21
  "import { EventEmitter } from \"eventemitter3\";\nimport { AbortError } from \"./error\";\nimport { Orderbook } from \"./orderbook\";\nimport type { MarketId } from \"./types\";\nimport { WsResponseSchemas } from \"./zod-types/ws\";\n\n/**\n * Helper: Convert EventEmitter.once() to Promise with AbortSignal support\n * This follows the standard pattern for async generators with EventEmitter\n * and AbortSignal as recommended in TypeScript/JavaScript best practices.\n */\nfunction onceWithSignal<T>(\n emitter: EventEmitter,\n event: string,\n signal?: AbortSignal,\n): Promise<T> {\n return new Promise<T>((resolve, reject) => {\n if (signal?.aborted) {\n reject(new AbortError());\n return;\n }\n\n let settled = false;\n\n const cleanup = () => {\n // Remove listener (safe even if once() already removed it)\n emitter.removeListener(event, listener);\n // Remove abort handler (safe with { once: true } but ensures cleanup)\n if (signal) {\n signal.removeEventListener(\"abort\", abortHandler);\n }\n };\n\n const listener = (value: T) => {\n if (settled) return; // Guard against race conditions\n settled = true;\n cleanup();\n resolve(value);\n };\n\n const abortHandler = () => {\n if (settled) return; // Guard against race conditions\n settled = true;\n cleanup();\n reject(new AbortError());\n };\n\n emitter.once(event, listener);\n\n if (signal) {\n signal.addEventListener(\"abort\", abortHandler, { once: true });\n }\n });\n}\n\nexport class WebSocketManager {\n private socket: WebSocket | null = null;\n private orderbooks: Map<MarketId, Orderbook> = new Map();\n private isConnected = false;\n private heartbeatInterval: NodeJS.Timeout | null = null;\n private lastUpdateIds: Map<MarketId, number> = new Map();\n private url: string;\n private reconnectAttempts = 0;\n private readonly maxReconnectAttempts = 5;\n private readonly reconnectDelay = 1000;\n private eventEmitter = new EventEmitter();\n private disposed = false;\n\n constructor(url: string) {\n this.url = url;\n }\n\n private async connect(): Promise<void> {\n if (this.disposed) {\n throw new Error(\"WebSocketManager has been disposed\");\n }\n\n if (this.socket?.readyState === WebSocket.OPEN) {\n return;\n }\n\n // Close existing socket if any\n if (this.socket) {\n this.socket.close();\n this.socket = null;\n }\n\n const { promise, resolve, reject } = Promise.withResolvers<void>();\n const timeout = setTimeout(() => {\n this.socket?.close();\n reject(new Error(\"Connection timeout\"));\n }, 10000);\n\n this.socket = new WebSocket(this.url);\n\n this.socket.onopen = () => {\n clearTimeout(timeout);\n this.isConnected = true;\n this.reconnectAttempts = 0;\n this.startHeartbeat();\n resolve();\n };\n\n this.socket.onerror = (err) => {\n clearTimeout(timeout);\n console.error(\"WebSocket error:\", err);\n reject(err);\n };\n\n this.socket.onclose = () => {\n clearTimeout(timeout);\n this.isConnected = false;\n this.stopHeartbeat();\n // Only auto-reconnect if not disposed and not already reconnecting\n if (\n !this.disposed &&\n this.reconnectAttempts < this.maxReconnectAttempts\n ) {\n this.handleReconnect();\n }\n };\n\n this.socket.onmessage = (data) => this.handleMessage(data.data);\n\n return promise;\n }\n\n private async handleReconnect() {\n // Don't reconnect if disposed\n if (this.disposed) {\n return;\n }\n\n if (this.reconnectAttempts >= this.maxReconnectAttempts) {\n console.error(\"Max reconnection attempts reached\");\n return;\n }\n\n this.reconnectAttempts++;\n const delay = this.reconnectDelay * 2 ** (this.reconnectAttempts - 1);\n\n console.info(`Attempting to reconnect in ${delay}ms...`);\n await new Promise((resolve) => setTimeout(resolve, delay));\n\n // Check again after delay (might have been disposed during wait)\n if (this.disposed) {\n return;\n }\n\n try {\n await this.connect();\n // Resubscribe to existing orderbooks\n for (const assetId of this.orderbooks.keys()) {\n this.sendSubscription(assetId);\n }\n } catch (error) {\n console.error(\"Reconnection failed:\", error);\n }\n }\n\n private handleMessage(data: MessageEvent) {\n let jsonData: unknown;\n try {\n jsonData = JSON.parse(data.toString());\n } catch (error) {\n console.error(\"Failed to parse WebSocket message:\", error);\n return;\n }\n\n // Fast path: Check if it's a control message (has 'op' field)\n if (typeof jsonData === \"object\" && jsonData !== null && \"op\" in jsonData) {\n const baseResponse =\n WsResponseSchemas.WebSocketResponse.safeParse(jsonData);\n if (baseResponse.success && !baseResponse.data.success) {\n console.error(\"WebSocket error:\", baseResponse.data.ret_msg);\n }\n return;\n }\n\n // Parse orderbook update\n const orderbookResponse =\n WsResponseSchemas.OrderbookResponse.safeParse(jsonData);\n if (!orderbookResponse.success) {\n console.error(\n \"Failed to parse orderbook message:\",\n jsonData,\n orderbookResponse.error,\n );\n return;\n }\n\n const message = orderbookResponse.data;\n const marketId = message.data.s;\n const updateId = message.data.u;\n const lastUpdateId = this.lastUpdateIds.get(marketId) ?? 0;\n\n // Skip stale updates\n if (updateId <= lastUpdateId) {\n return;\n }\n\n this.lastUpdateIds.set(marketId, updateId);\n\n // Handle snapshot or delta\n if (message.type === \"snapshot\") {\n this.orderbooks.set(marketId, new Orderbook(marketId, message.data));\n } else {\n // Delta update\n let orderbook = this.orderbooks.get(marketId);\n if (!orderbook) {\n orderbook = new Orderbook(marketId);\n this.orderbooks.set(marketId, orderbook);\n }\n orderbook.applyDelta(message.data);\n }\n\n // Update timestamp and emit event\n const orderbook = this.orderbooks.get(marketId);\n if (orderbook) {\n orderbook.setLastUpdated(message.ts);\n this.eventEmitter.emit(`orderbookUpdated-${marketId}`);\n }\n }\n\n private startHeartbeat() {\n this.stopHeartbeat();\n this.heartbeatInterval = setInterval(() => {\n if (this.isConnected) {\n this.sendMessage(JSON.stringify({ op: \"ping\" }));\n }\n }, 30000);\n }\n\n private stopHeartbeat() {\n if (this.heartbeatInterval) {\n clearInterval(this.heartbeatInterval);\n this.heartbeatInterval = null;\n }\n }\n\n private sendSubscription(marketId: MarketId) {\n this.sendMessage(\n JSON.stringify({ op: \"subscribe\", args: [`orderbook.None.${marketId}`] }),\n );\n }\n\n public sendMessage(message: string) {\n if (this.disposed) {\n throw new Error(\"WebSocketManager has been disposed\");\n }\n if (!this.isConnected || !this.socket) {\n throw new Error(\"WebSocket is not connected\");\n }\n this.socket.send(message);\n }\n\n /**\n * Dispose of all resources: close WebSocket, stop heartbeat, remove listeners, clear Maps\n */\n public dispose(): void {\n if (this.disposed) {\n return;\n }\n\n this.disposed = true;\n this.stopHeartbeat();\n\n if (this.socket) {\n // Remove event handlers to prevent reconnection attempts\n this.socket.onopen = null;\n this.socket.onerror = null;\n this.socket.onclose = null;\n this.socket.onmessage = null;\n\n // Close the connection if open or connecting\n if (\n this.socket.readyState === WebSocket.OPEN ||\n this.socket.readyState === WebSocket.CONNECTING\n ) {\n this.socket.close();\n }\n this.socket = null;\n }\n\n this.eventEmitter.removeAllListeners();\n this.orderbooks.clear();\n this.lastUpdateIds.clear();\n this.isConnected = false;\n this.reconnectAttempts = 0;\n }\n\n public async *subscribeOrderbook(\n marketId: MarketId,\n signal?: AbortSignal,\n ): AsyncIterable<Orderbook> {\n if (signal?.aborted) {\n throw new AbortError();\n }\n\n await this.connect();\n this.sendSubscription(marketId);\n\n const eventName = `orderbookUpdated-${marketId}`;\n\n try {\n while (true) {\n // Wait for next orderbook update (with abort support)\n await onceWithSignal(this.eventEmitter, eventName, signal);\n\n // Get the updated orderbook\n const orderbook = this.orderbooks.get(marketId);\n if (!orderbook) {\n throw new Error(`Orderbook for market ${marketId} not found`);\n }\n\n yield orderbook;\n }\n } finally {\n await this.unsubscribeOrderbook(marketId);\n this.eventEmitter.removeAllListeners(eventName);\n }\n }\n\n public async unsubscribeOrderbook(marketId: MarketId): Promise<void> {\n try {\n this.sendMessage(\n JSON.stringify({\n op: \"unsubscribe\",\n args: [`orderbook.None.${marketId}`],\n }),\n );\n } catch (error) {\n // Ignore errors if already disposed or disconnected\n if (this.disposed || !this.isConnected) {\n return;\n }\n throw error;\n }\n }\n}\n",
22
- "import { z } from \"zod\";\nimport type {\n MarketKind,\n OrderType,\n Side,\n TriggerDirection,\n TriggerPriceCondition,\n} from \"../types\";\nimport {\n Amount,\n AssetId,\n Base58Address,\n ClientOrderId,\n createJsonMap,\n createJsonSet,\n DecimalSchema,\n I16Schema,\n I64Schema,\n MarketId,\n OrderId,\n TradeId,\n TriggerOrderId,\n TwapId,\n U8Schema,\n U16Schema,\n U32Schema,\n U64Schema,\n UnixTimestampMicros,\n} from \".\";\n\n// Zod 4 Best Practice: Use z.literal() with arrays for cleaner enum definitions\nconst MARKET_KINDS = [\"perp\", \"spot\"] as const satisfies readonly MarketKind[];\nconst SIDES = [\"bid\", \"ask\"] as const satisfies readonly Side[];\nconst TRIGGER_DIRECTIONS = [\n \"greater_than_or_equal\",\n \"less_than_or_equal\",\n] as const satisfies readonly TriggerDirection[];\nconst TRIGGER_PRICE_CONDITIONS = [\n \"mark\",\n \"oracle\",\n \"last_trade\",\n] as const satisfies readonly TriggerPriceCondition[];\nconst ORDER_TYPES = [\n \"limit\",\n \"post_only\",\n \"fill_or_kill\",\n \"immediate_or_cancel\",\n \"post_only_slide\",\n \"post_only_front\",\n] as const satisfies readonly OrderType[];\n\n// Base response schema builder\nconst createBaseResponse = <T extends z.ZodTypeAny>(schema: T) => schema;\n\n// Helper for versioned types with proper type inference\n// Helper for versioned V0 type with discriminated output\nconst VersionedV0 = <V0 extends z.ZodTypeAny>(schema: V0) =>\n z.object({ V0: schema }).transform((d) => ({\n version: \"V0\" as const,\n data: (d as { V0: z.output<V0> }).V0,\n }));\n\nconst VersionedV1 = <V1 extends z.ZodTypeAny>(schema: V1) =>\n z.object({ V1: schema }).transform((d) => ({\n version: \"V1\" as const,\n data: (d as { V1: z.output<V1> }).V1,\n }));\n\n// Helper for versioned types with proper type inference\n// Not needed right now because we've fully migrated ExchangeInfo to V1\nconst _VersionedV1V0 = <\n V0 extends z.ZodTypeAny,\n V1 extends z.ZodTypeAny,\n>(schemas: {\n V0: V0;\n V1: V1;\n}) =>\n z.union([\n z.object({ V0: schemas.V0 }).transform((d) => ({\n version: \"V0\" as const,\n data: (d as { V0: z.output<V0> }).V0,\n })),\n z.object({ V1: schemas.V1 }).transform((d) => ({\n version: \"V1\" as const,\n data: (d as { V1: z.output<V1> }).V1,\n })),\n ]);\n\n// Generic response schemas\nexport const StateResponseSchemas = {\n RollupSchema: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(z.object({ schema: valueSchema })),\n\n StateValue: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(z.object({ value: valueSchema.nullable() })),\n\n CustomRouteValue: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(valueSchema),\n\n StateMapElement: <K extends z.ZodTypeAny, V extends z.ZodTypeAny>(\n keySchema: K,\n valueSchema: V,\n ) =>\n createBaseResponse(\n z.object({\n key: keySchema,\n value: valueSchema.nullable(),\n }),\n ),\n\n StateVecElement: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(\n z.object({\n index: z.number(),\n value: valueSchema.nullable(),\n }),\n ),\n} as const;\n\nexport const BaseResponseSchemas = {\n CoinsResponse: createBaseResponse(\n z.object({\n amount: Amount,\n token_id: z.string(),\n }),\n ),\n BatchSequencerResponse: createBaseResponse(\n z.object({\n da_height: z.number(),\n num_txs: z.number(),\n }),\n ),\n SequencerResponse: createBaseResponse(\n z.object({\n id: z.string(),\n status: z.string(),\n }),\n ),\n} as const;\n\n// Price and size\nconst PriceLevelL2 = z.tuple([DecimalSchema, DecimalSchema]);\n\nconst Position = z.object({\n size: DecimalSchema,\n cost_of_trades: DecimalSchema,\n realized_pnl: DecimalSchema,\n cached_mark_price: DecimalSchema,\n last_accum_funding_applied_per_lot: z.tuple([\n DecimalSchema,\n UnixTimestampMicros,\n ]),\n funding_payments_on_side: DecimalSchema,\n funding_payments_on_position: DecimalSchema,\n});\n\nconst BorrowLendRateConfig = z.object({\n optimal_utilization_rate: DecimalSchema,\n min_borrow_rate: DecimalSchema,\n optimal_borrow_rate: DecimalSchema,\n max_borrow_rate: DecimalSchema,\n});\n\nconst BorrowLendRiskConfig = z.object({\n liquidation_total_reward_ratio: DecimalSchema,\n liability_liquidation_limit_ratio: DecimalSchema,\n asset_weight: DecimalSchema,\n initial_liability_weight: DecimalSchema,\n maintenance_liability_weight: DecimalSchema,\n protocol_reward_ratio: DecimalSchema,\n});\n\nconst PerpLiquidationConfig = z.object({\n liquidation_ioc_buffer: DecimalSchema,\n backstop_liquidation_threshold: DecimalSchema,\n liquidation_fee: DecimalSchema,\n liquidation_protocol_reward_ratio: DecimalSchema,\n});\n\nconst Balance = z.object({\n asset: DecimalSchema,\n liability: DecimalSchema,\n});\n\nconst CrossBalances = z.object({\n balances: createJsonMap(AssetId, Balance),\n unrealized_loss_borrow: DecimalSchema,\n unsettled_perp_profit: DecimalSchema,\n trading_credits: DecimalSchema,\n});\n\nconst Tpsl = z.object({\n order_price: DecimalSchema,\n trigger_price: DecimalSchema,\n price_condition: z.enum(TRIGGER_PRICE_CONDITIONS),\n order_type: z.enum(ORDER_TYPES),\n});\n\nconst TpslPair = z.object({\n tp: Tpsl.nullable(),\n sl: Tpsl.nullable(),\n});\n\nconst PendingTpslPair = z.object({\n tpsl_pair: TpslPair,\n dynamic_size: z.boolean(),\n});\n\nconst PerpOrder = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n order_id: OrderId,\n client_order_id: ClientOrderId.nullable(),\n price: DecimalSchema,\n remaining_size: DecimalSchema,\n reduce_only: z.boolean(),\n filled_size: DecimalSchema,\n filled_cot: DecimalSchema,\n owner: Base58Address,\n reserved_pending_tpsl_pair_ids: z.string().nullable(),\n});\n\nconst SpotOrder = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n order_id: OrderId,\n quote_asset_id: AssetId,\n base_asset_id: AssetId,\n client_order_id: ClientOrderId.nullable(),\n quote_lots: DecimalSchema,\n remaining_base_lots: DecimalSchema,\n filled_base_lots: DecimalSchema,\n filled_cot: DecimalSchema,\n owner: Base58Address,\n});\n\nconst Order = z.union([PerpOrder, SpotOrder]);\n\nconst TriggerOrder = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n trigger_order_id: TriggerOrderId,\n order_price: DecimalSchema,\n trigger_price: DecimalSchema,\n trigger_direction: z.enum(TRIGGER_DIRECTIONS),\n price_condition: z.enum(TRIGGER_PRICE_CONDITIONS),\n size: DecimalSchema.nullable(),\n order_type: z.enum(ORDER_TYPES),\n owner: Base58Address,\n last_update_timestamp: UnixTimestampMicros,\n linked_trigger_order_id: TriggerOrderId.nullable(),\n});\n\nconst RewardVariant = z.enum([\"referral\", \"liquidity\"]);\nconst MarketTradingStatus = z.enum([\"active\", \"halted\", \"cleaning\", \"cleaned\"]);\nconst FeeTier = z.enum([\"tier0\", \"tier1\", \"tier2\", \"tier3\", \"tier4\"]);\nconst TradingMode = z.enum([\"iso\", \"cross\"]);\nconst PerpLedger = z.object({\n trading_mode: TradingMode,\n order_ids: z.array(OrderId),\n trigger_order_ids: z.array(TriggerOrderId),\n position: Position,\n user_selected_max_leverage: U16Schema,\n notional_open_bid_orders: DecimalSchema,\n notional_open_ask_orders: DecimalSchema,\n twap_ids: z.array(TwapId),\n twap_open_bid_lots: DecimalSchema,\n twap_open_ask_lots: DecimalSchema,\n});\n\nconst SpotLedger = z.object({\n order_ids: z.array(OrderId),\n trigger_order_ids: z.array(TriggerOrderId),\n twap_ids: z.array(TwapId),\n});\n\nconst Balances = z.object({\n cross: CrossBalances,\n iso: createJsonMap(MarketId, DecimalSchema),\n spot: createJsonMap(AssetId, DecimalSchema),\n});\n\nconst RewardsInfo = z.object({\n cumulative_amount: DecimalSchema,\n total_claimed_amount: DecimalSchema,\n});\n\nconst Twap = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n twap_id: TwapId,\n total_orders: U32Schema,\n total_size: DecimalSchema,\n total_duration_seconds: U64Schema,\n executed_size: DecimalSchema,\n executed_orders: U32Schema,\n cost_of_trade: DecimalSchema,\n reduce_only: z.boolean(),\n owner: Base58Address,\n});\n\nconst OrdersLedger = z.object({\n client_order_ids: createJsonMap(ClientOrderId, OrderId),\n perp_orders: createJsonMap(OrderId, PerpOrder),\n perp_trigger_orders: createJsonMap(TriggerOrderId, TriggerOrder),\n perp_pending_tpsl_pairs: createJsonMap(z.string(), PendingTpslPair),\n spot_orders: createJsonMap(OrderId, SpotOrder),\n spot_trigger_orders: createJsonMap(TriggerOrderId, TriggerOrder),\n twaps: createJsonMap(TwapId, Twap),\n});\n\nconst TriggerNodesStore = z.object({\n inactive: createJsonMap(\n z.string(),\n createJsonMap(z.string(), z.any()), // TriggerNodesPriceMap<S>\n ),\n active: z.array(z.any()), // VecDeque<TriggerNode<S>>\n});\n\nconst ActiveTwap = z.object({\n twap_id: U64Schema,\n remaining_orders: U32Schema,\n owner: Base58Address,\n});\n\nconst TwapNode = z.object({\n twap_id: U64Schema,\n owner: Base58Address,\n});\n\nconst TwapNodesStore = z.object({\n twaps: z.array(ActiveTwap),\n last_execution_time: I64Schema,\n execution_queue: z.array(TwapNode),\n});\n\nconst PriceLevel = z.object({\n nodes: z.array(\n z.object({\n order_id: OrderId,\n owner: Base58Address,\n }),\n ),\n total_size: DecimalSchema,\n});\n\nconst OraclePrice = z.object({\n price: DecimalSchema,\n last_update_timestamp: UnixTimestampMicros.nullable(),\n});\n\nconst MarkPrice = z.object({\n price: DecimalSchema,\n last_oracle_diff_ema: DecimalSchema,\n last_median_cex_price: DecimalSchema,\n last_update_timestamp: UnixTimestampMicros.nullable(),\n});\n\nconst TimeWeightedPremiumIndex = z.object({\n weighted_premium_sum: DecimalSchema,\n duration_sum: U64Schema,\n last_update_timestamp: UnixTimestampMicros.nullable(),\n});\n\nconst FundingConfig = z.object({\n interest_rate: DecimalSchema,\n min_interest_rate_clamp: DecimalSchema,\n max_interest_rate_clamp: DecimalSchema,\n min_funding_rate_clamp: DecimalSchema,\n max_funding_rate_clamp: DecimalSchema,\n});\n\nconst FundingMeta = z.object({\n rate: DecimalSchema,\n accum_per_lot: DecimalSchema,\n last_update_timestamp: UnixTimestampMicros,\n config: FundingConfig,\n});\n\nconst PerpPrice = z.object({\n market_id: MarketId,\n mark_price: MarkPrice,\n accum_premium_index: TimeWeightedPremiumIndex,\n funding_meta: FundingMeta,\n});\n\nconst PricingEngine = z.object({\n pricing_frequency_seconds: U32Schema,\n relaxed_pricing_frequency_seconds: U32Schema,\n oracle_pricing: createJsonMap(AssetId, OraclePrice),\n perp_pricing: createJsonMap(MarketId, PerpPrice),\n});\n\nconst LeverageTable = z.object({\n tiers: createJsonMap(\n z.string(),\n z.object({\n max_leverage: U16Schema,\n mmr: DecimalSchema,\n maintenance_amount: DecimalSchema,\n }),\n ),\n});\n\nconst MarginConfig = z.object({\n perp_liquidation_config: PerpLiquidationConfig,\n perp_leverage_tables: createJsonMap(MarketId, LeverageTable),\n borrow_lend_risk_configs: createJsonMap(AssetId, BorrowLendRiskConfig),\n});\n\nconst GlobalConfig = z.object({\n max_orders_per_user: U16Schema,\n max_trigger_orders_per_user: U16Schema,\n max_orders_per_batch_msg: U16Schema,\n max_trigger_orders_to_execute_per_msg: U16Schema,\n min_notional_twap_value: DecimalSchema,\n min_notional_twap_value_per_order: DecimalSchema,\n twap_execution_interval_seconds: U64Schema,\n user_deposit_limits_per_asset: createJsonMap(AssetId, DecimalSchema),\n whitelisted_users_for_deposit: createJsonSet(Base58Address),\n});\n\nconst AdminRegistry = z.object({\n protocol: Base58Address,\n funding: Base58Address,\n pricing: Base58Address,\n fee_tier: Base58Address,\n credits: Base58Address,\n referrals: Base58Address,\n});\n\nconst AssetInfo = z.object({\n id: AssetId,\n name: z.string(),\n token_id: z.string().nullable(),\n decimals: U8Schema,\n withdraw_fee: DecimalSchema,\n});\n\nconst MarketInfo = z.object({\n id: MarketId,\n kind: z.enum(MARKET_KINDS),\n base_asset_id: AssetId,\n name: z.string(),\n trading_mode: TradingMode,\n});\n\nconst VaultWithdrawal = z.object({\n user: Base58Address,\n shares: DecimalSchema,\n timestamp: UnixTimestampMicros,\n});\n\nconst VaultInfo = z.object({\n leader: Base58Address,\n name: z.string(),\n description: z.string(),\n deposit_asset_ids: z.array(AssetId),\n withdraw_asset_id: AssetId,\n deposit_limit: DecimalSchema,\n leader_minimum_holding_percentage: U8Schema,\n withdraw_lockup_period_hours: U8Schema,\n profit_share_percentage: U8Schema,\n withdrawal_fee_bps: U8Schema,\n total_shares: DecimalSchema,\n high_watermark: DecimalSchema,\n queued_withdrawals: z.array(VaultWithdrawal),\n whitelist_deposits: z.boolean(),\n whitelisted_depositors: z.array(Base58Address),\n});\n\nconst GlobalVaultConfig = z.object({\n leader_minimum_holding_percentage: U8Schema,\n creation_fee_usdc: DecimalSchema,\n min_deposit_value: DecimalSchema,\n});\n\nconst VaultRegistry = z.object({\n vaults: createJsonMap(Base58Address, VaultInfo),\n config: GlobalVaultConfig,\n depositor_state: createJsonMap(\n Base58Address,\n createJsonMap(Base58Address, DecimalSchema),\n ),\n});\n\nconst UsdcPnlPool = z.object({\n amount: DecimalSchema,\n trading_credits: DecimalSchema,\n orphaned_trading_credits: DecimalSchema,\n external_deposits: createJsonMap(Base58Address, DecimalSchema),\n token_holder: z.string(),\n});\n\nconst UsdcInsuranceFund = z.object({\n amount: DecimalSchema,\n external_deposits: createJsonMap(Base58Address, DecimalSchema),\n minimum_usdc_token_amount: DecimalSchema,\n token_holder: z.string(),\n});\n\nconst BorrowLendPool = z.object({\n asset_id: AssetId,\n is_active: z.boolean(),\n last_update_timestamp: UnixTimestampMicros,\n rate_config: BorrowLendRateConfig,\n deposit_limit: DecimalSchema,\n borrow_limit: DecimalSchema,\n max_utilization_rate: DecimalSchema,\n available_amount: DecimalSchema,\n borrowed_amount: DecimalSchema,\n cumulative_deposit_rate: DecimalSchema,\n cumulative_borrow_rate: DecimalSchema,\n accumulated_protocol_fees: DecimalSchema,\n unclaimed_protocol_fees: DecimalSchema,\n interest_fee_tenth_bps: U16Schema,\n});\n\nconst CrossAssets = z.object({\n usdc_pnl_pool: UsdcPnlPool,\n usdc_insurance_fund: UsdcInsuranceFund,\n borrow_lend_deposit_vault: z.string(),\n borrow_lend_pools: createJsonMap(AssetId, BorrowLendPool),\n});\n\nconst IsoAssets = z.object({\n usdc_deposit_vault: z.string(),\n usdc_insurance_fund: UsdcInsuranceFund,\n});\n\nconst PerpMarketConfig = z.object({\n min_tick_size: DecimalSchema,\n min_lot_size: DecimalSchema,\n max_oi_notional: DecimalSchema,\n impact_margin: DecimalSchema,\n max_orders_per_side: U16Schema,\n max_orders_per_user: U16Schema,\n max_trigger_orders_per_user: U16Schema,\n taker_fees_tenth_bps: z.array(I16Schema),\n maker_fees_tenth_bps: z.array(I16Schema),\n max_order_to_mark_price_deviation_ratio: DecimalSchema,\n max_trigger_to_comparison_price_deviation_ratio: DecimalSchema,\n max_order_to_trigger_price_deviation_ratio: DecimalSchema,\n});\n\nconst SpotMarketConfig = z.object({\n base_min_lot_size: DecimalSchema,\n quote_min_lot_size: DecimalSchema,\n max_orders_per_side: U16Schema,\n max_orders_per_user: U16Schema,\n max_trigger_orders_per_user: U16Schema,\n taker_fees_tenth_bps: z.array(I16Schema),\n maker_fees_tenth_bps: z.array(I16Schema),\n max_order_to_trigger_price_deviation_ratio: DecimalSchema,\n});\n\n// Main schemas\nexport const Schemas = {\n DummyValue: z.number(),\n\n ExchangeInfoV1: z.object({\n global_config: GlobalConfig,\n admins: AdminRegistry,\n assets: createJsonMap(AssetId, AssetInfo),\n markets: createJsonMap(MarketId, MarketInfo),\n vaults: VaultRegistry,\n }),\n\n ExchangeAssetsV0: z.object({\n cross_assets: CrossAssets,\n iso_assets: createJsonMap(MarketId, IsoAssets),\n spot_collateral_vault: z.string(),\n treasury: z.string(),\n }),\n\n OrderbookL2: z.object({\n market_id: MarketId,\n bids: z.array(PriceLevelL2),\n asks: z.array(PriceLevelL2),\n }),\n\n UserAccount: z.object({\n account_variant: z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"master\"),\n sub_account_indices: z.array(U8Schema),\n }),\n z.object({ type: z.literal(\"sub\") }),\n z.object({ type: z.literal(\"vault\") }),\n z.object({ type: z.literal(\"protocol_vault\") }),\n z.object({ type: z.literal(\"master_v1\"), sub_account_mask: U16Schema }),\n ]),\n address: Base58Address,\n fee_tier: FeeTier,\n fee_discount_bps: U16Schema,\n balances: Balances,\n rewards: createJsonMap(AssetId, createJsonMap(RewardVariant, RewardsInfo)),\n perp_ledgers: createJsonMap(MarketId, PerpLedger),\n spot_ledgers: createJsonMap(MarketId, SpotLedger),\n orders_ledger: OrdersLedger,\n }),\n\n UserAccountConfigV0: z.object({\n delegates: createJsonMap(Base58Address, z.string()),\n }),\n\n DelegateContainer: z.object({\n delegator: Base58Address,\n expires_at: UnixTimestampMicros.nullable(),\n flags: U32Schema,\n }),\n\n RiskEngineV0: z.object({\n pricing_engine: PricingEngine,\n margin_config: MarginConfig,\n }),\n\n PerpMarketV0: z.object({\n market_id: MarketId,\n trading_status: MarketTradingStatus,\n config: PerpMarketConfig,\n current_open_interest_lots: DecimalSchema,\n last_trade_price: DecimalSchema.nullable(),\n orderbook: z.object({\n bids: createJsonMap(z.string(), PriceLevel),\n asks: createJsonMap(z.string(), PriceLevel),\n }),\n trigger_nodes_store: TriggerNodesStore,\n twap_nodes_store: TwapNodesStore,\n }),\n\n PerpMarketConfig: PerpMarketConfig,\n\n SpotMarketV0: z.object({\n market_id: MarketId,\n trading_status: MarketTradingStatus,\n base_asset_id: AssetId,\n quote_asset_id: AssetId,\n config: SpotMarketConfig,\n last_trade_price: DecimalSchema.nullable(),\n orderbook: z.object({\n bids: createJsonMap(z.string(), PriceLevel),\n asks: createJsonMap(z.string(), PriceLevel),\n }),\n trigger_nodes_store: TriggerNodesStore,\n }),\n\n SpotMarketConfig: SpotMarketConfig,\n\n ExecutionIdsV0: z.object({\n last_order_id: OrderId,\n last_trigger_order_id: TriggerOrderId,\n last_trade_id: TradeId,\n }),\n AccountAddresses: z.object({\n addresses: z.array(Base58Address),\n total: z.number(),\n next_offset: z.number().nullable(),\n }),\n} as const;\n\n// Response schemas\nexport const ResponseSchemas = {\n DummyValue: StateResponseSchemas.StateValue(Schemas.DummyValue),\n Order: StateResponseSchemas.StateMapElement(OrderId, Order),\n ExchangeInfo: StateResponseSchemas.StateValue(\n VersionedV1(Schemas.ExchangeInfoV1),\n ),\n ExchangeAssets: StateResponseSchemas.StateValue(\n VersionedV0(Schemas.ExchangeAssetsV0),\n ),\n RiskEngine: StateResponseSchemas.StateValue(\n VersionedV0(Schemas.RiskEngineV0),\n ),\n ExecutionIds: StateResponseSchemas.StateValue(\n VersionedV0(Schemas.ExecutionIdsV0),\n ),\n OrderbookL2: createBaseResponse(\n z.object({\n market_id: MarketId,\n orderbook: Schemas.OrderbookL2,\n }),\n ),\n OrderbookL2Bulk: createBaseResponse(\n z.object({\n found: createJsonMap(MarketId, Schemas.OrderbookL2),\n not_found: z.array(MarketId),\n }),\n ),\n UserAccount: createBaseResponse(\n z.object({\n address: Base58Address,\n account: Schemas.UserAccount,\n }),\n ),\n Delegate: createBaseResponse(\n z.object({\n address: Base58Address,\n container: Schemas.DelegateContainer,\n }),\n ),\n UserAccountConfig: StateResponseSchemas.StateMapElement(\n Base58Address,\n VersionedV0(Schemas.UserAccountConfigV0),\n ),\n UserAccountBulk: createBaseResponse(\n z.object({\n found: createJsonMap(Base58Address, Schemas.UserAccount),\n not_found: z.array(Base58Address),\n }),\n ),\n PerpMarket: createBaseResponse(\n z.object({\n market_id: MarketId,\n market: VersionedV0(Schemas.PerpMarketV0),\n }),\n ),\n PerpMarketConfigs: createBaseResponse(\n createJsonMap(MarketId, Schemas.PerpMarketConfig),\n ),\n SpotMarket: createBaseResponse(\n z.object({\n market_id: MarketId,\n market: VersionedV0(Schemas.SpotMarketV0),\n }),\n ),\n SpotMarketConfigs: createBaseResponse(\n createJsonMap(MarketId, Schemas.SpotMarketConfig),\n ),\n AccountAddresses: createBaseResponse(Schemas.AccountAddresses),\n ChainData: StateResponseSchemas.RollupSchema(\n z.object({\n chain_data: z.object({\n chain_id: z.number(),\n chain_name: z.string(),\n }),\n }),\n ),\n} as const;\n\n// Internal scehma types\ntype UserAccountConfigV0 = z.infer<typeof Schemas.UserAccountConfigV0>;\ntype PerpMarketV0 = z.infer<typeof Schemas.PerpMarketV0>;\ntype SpotMarketV0 = z.infer<typeof Schemas.SpotMarketV0>;\ntype RiskEngineV0 = z.infer<typeof Schemas.RiskEngineV0>;\ntype ExchangeInfoV1 = z.infer<typeof Schemas.ExchangeInfoV1>;\ntype ExchangeAssetsV0 = z.infer<typeof Schemas.ExchangeAssetsV0>;\ntype ExecutionIdsV0 = z.infer<typeof Schemas.ExecutionIdsV0>;\n\n// Schema types\nexport type DummyValue = z.infer<typeof Schemas.DummyValue>;\nexport type Order = z.infer<typeof Order>;\nexport type OrderbookL2 = z.infer<typeof Schemas.OrderbookL2>;\nexport type PriceLevelL2 = z.infer<typeof PriceLevelL2>;\nexport type UserAccount = z.infer<typeof Schemas.UserAccount>;\nexport type PerpMarketConfig = z.infer<typeof Schemas.PerpMarketConfig>;\nexport type SpotMarketConfig = z.infer<typeof Schemas.SpotMarketConfig>;\nexport type VersionedUserAccountConfig = {\n version: \"V0\";\n data: UserAccountConfigV0;\n};\nexport type VersionedExchangeAssets = { version: \"V0\"; data: ExchangeAssetsV0 };\nexport type VersionedPerpMarket = { version: \"V0\"; data: PerpMarketV0 };\nexport type VersionedSpotMarket = { version: \"V0\"; data: SpotMarketV0 };\nexport type VersionedExchangeInfo = { version: \"V1\"; data: ExchangeInfoV1 };\nexport type AccountAddresses = z.infer<typeof Schemas.AccountAddresses>;\nexport type VersionedExecutionIds = { version: \"V0\"; data: ExecutionIdsV0 };\nexport type VersionedRiskEngine = { version: \"V0\"; data: RiskEngineV0 };\nexport type BorrowLendPool = z.infer<typeof BorrowLendPool>;\nexport type DelegateContainer = z.infer<typeof Schemas.DelegateContainer>;\n",
22
+ "import { z } from \"zod\";\nimport type {\n MarketKind,\n OrderType,\n Side,\n TriggerDirection,\n TriggerPriceCondition,\n} from \"../types\";\nimport {\n Amount,\n AssetId,\n Base58Address,\n ClientOrderId,\n createJsonMap,\n createJsonSet,\n DecimalSchema,\n I16Schema,\n I64Schema,\n MarketId,\n OrderId,\n TradeId,\n TriggerOrderId,\n TwapId,\n U8Schema,\n U16Schema,\n U32Schema,\n U64Schema,\n UnixTimestampMicros,\n} from \".\";\n\n// Zod 4 Best Practice: Use z.literal() with arrays for cleaner enum definitions\nconst MARKET_KINDS = [\"perp\", \"spot\"] as const satisfies readonly MarketKind[];\nconst SIDES = [\"bid\", \"ask\"] as const satisfies readonly Side[];\nconst TRIGGER_DIRECTIONS = [\n \"greater_than_or_equal\",\n \"less_than_or_equal\",\n] as const satisfies readonly TriggerDirection[];\nconst TRIGGER_PRICE_CONDITIONS = [\n \"mark\",\n \"oracle\",\n \"last_trade\",\n] as const satisfies readonly TriggerPriceCondition[];\nconst ORDER_TYPES = [\n \"limit\",\n \"post_only\",\n \"fill_or_kill\",\n \"immediate_or_cancel\",\n \"post_only_slide\",\n \"post_only_front\",\n] as const satisfies readonly OrderType[];\n\n// Base response schema builder\nconst createBaseResponse = <T extends z.ZodTypeAny>(schema: T) => schema;\n\n// Helper for versioned types with proper type inference\n// Helper for versioned V0 type with discriminated output\nconst VersionedV0 = <V0 extends z.ZodTypeAny>(schema: V0) =>\n z.object({ V0: schema }).transform((d) => ({\n version: \"V0\" as const,\n data: (d as { V0: z.output<V0> }).V0,\n }));\n\nconst VersionedV1 = <V1 extends z.ZodTypeAny>(schema: V1) =>\n z.object({ V1: schema }).transform((d) => ({\n version: \"V1\" as const,\n data: (d as { V1: z.output<V1> }).V1,\n }));\n\n// Helper for versioned types with proper type inference\n// Not needed right now because we've fully migrated ExchangeInfo to V1\nconst _VersionedV1V0 = <\n V0 extends z.ZodTypeAny,\n V1 extends z.ZodTypeAny,\n>(schemas: {\n V0: V0;\n V1: V1;\n}) =>\n z.union([\n z.object({ V0: schemas.V0 }).transform((d) => ({\n version: \"V0\" as const,\n data: (d as { V0: z.output<V0> }).V0,\n })),\n z.object({ V1: schemas.V1 }).transform((d) => ({\n version: \"V1\" as const,\n data: (d as { V1: z.output<V1> }).V1,\n })),\n ]);\n\n// Generic response schemas\nexport const StateResponseSchemas = {\n RollupSchema: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(z.object({ schema: valueSchema })),\n\n StateValue: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(z.object({ value: valueSchema.nullable() })),\n\n CustomRouteValue: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(valueSchema),\n\n StateMapElement: <K extends z.ZodTypeAny, V extends z.ZodTypeAny>(\n keySchema: K,\n valueSchema: V,\n ) =>\n createBaseResponse(\n z.object({\n key: keySchema,\n value: valueSchema.nullable(),\n }),\n ),\n\n StateVecElement: <T extends z.ZodTypeAny>(valueSchema: T) =>\n createBaseResponse(\n z.object({\n index: z.number(),\n value: valueSchema.nullable(),\n }),\n ),\n} as const;\n\nexport const BaseResponseSchemas = {\n CoinsResponse: createBaseResponse(\n z.object({\n amount: Amount,\n token_id: z.string(),\n }),\n ),\n BatchSequencerResponse: createBaseResponse(\n z.object({\n da_height: z.number(),\n num_txs: z.number(),\n }),\n ),\n SequencerResponse: createBaseResponse(\n z.object({\n id: z.string(),\n status: z.string(),\n }),\n ),\n} as const;\n\n// Price and size\nconst PriceLevelL2 = z.tuple([DecimalSchema, DecimalSchema]);\n\nconst Position = z.object({\n size: DecimalSchema,\n cost_of_trades: DecimalSchema,\n realized_pnl: DecimalSchema,\n cached_mark_price: DecimalSchema,\n last_accum_funding_applied_per_lot: z.tuple([\n DecimalSchema,\n UnixTimestampMicros,\n ]),\n funding_payments_on_side: DecimalSchema,\n funding_payments_on_position: DecimalSchema,\n});\n\nconst BorrowLendRateConfig = z.object({\n optimal_utilization_rate: DecimalSchema,\n min_borrow_rate: DecimalSchema,\n optimal_borrow_rate: DecimalSchema,\n max_borrow_rate: DecimalSchema,\n});\n\nconst BorrowLendRiskConfig = z.object({\n liquidation_total_reward_ratio: DecimalSchema,\n liability_liquidation_limit_ratio: DecimalSchema,\n asset_weight: DecimalSchema,\n initial_liability_weight: DecimalSchema,\n maintenance_liability_weight: DecimalSchema,\n protocol_reward_ratio: DecimalSchema,\n});\n\nconst PerpLiquidationConfig = z.object({\n liquidation_ioc_buffer: DecimalSchema,\n backstop_liquidation_threshold: DecimalSchema,\n liquidation_fee: DecimalSchema,\n liquidation_protocol_reward_ratio: DecimalSchema,\n});\n\nconst Balance = z.object({\n asset: DecimalSchema,\n liability: DecimalSchema,\n});\n\nconst CrossBalances = z.object({\n balances: createJsonMap(AssetId, Balance),\n unrealized_loss_borrow: DecimalSchema,\n unsettled_perp_profit: DecimalSchema,\n trading_credits: DecimalSchema,\n});\n\nconst Tpsl = z.object({\n order_price: DecimalSchema,\n trigger_price: DecimalSchema,\n price_condition: z.enum(TRIGGER_PRICE_CONDITIONS),\n order_type: z.enum(ORDER_TYPES),\n});\n\nconst TpslPair = z.object({\n tp: Tpsl.nullable(),\n sl: Tpsl.nullable(),\n});\n\nconst PendingTpslPair = z.object({\n tpsl_pair: TpslPair,\n dynamic_size: z.boolean(),\n});\n\nconst PerpOrder = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n order_id: OrderId,\n client_order_id: ClientOrderId.nullable(),\n price: DecimalSchema,\n remaining_size: DecimalSchema,\n reduce_only: z.boolean(),\n filled_size: DecimalSchema,\n filled_cot: DecimalSchema,\n owner: Base58Address,\n reserved_pending_tpsl_pair_ids: z.string().nullable(),\n});\n\nconst SpotOrder = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n order_id: OrderId,\n quote_asset_id: AssetId,\n base_asset_id: AssetId,\n client_order_id: ClientOrderId.nullable(),\n quote_lots: DecimalSchema,\n remaining_base_lots: DecimalSchema,\n filled_base_lots: DecimalSchema,\n filled_cot: DecimalSchema,\n owner: Base58Address,\n});\n\nconst Order = z.union([PerpOrder, SpotOrder]);\n\nconst TriggerOrder = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n trigger_order_id: TriggerOrderId,\n order_price: DecimalSchema,\n trigger_price: DecimalSchema,\n trigger_direction: z.enum(TRIGGER_DIRECTIONS),\n price_condition: z.enum(TRIGGER_PRICE_CONDITIONS),\n size: DecimalSchema.nullable(),\n order_type: z.enum(ORDER_TYPES),\n owner: Base58Address,\n last_update_timestamp: UnixTimestampMicros,\n linked_trigger_order_id: TriggerOrderId.nullable(),\n});\n\nconst RewardVariant = z.enum([\"referral\", \"liquidity\"]);\nconst MarketTradingStatus = z.enum([\"active\", \"halted\", \"cleaning\", \"cleaned\"]);\nconst FeeTier = z.enum([\"tier0\", \"tier1\", \"tier2\", \"tier3\", \"tier4\"]);\nconst TradingMode = z.enum([\"iso\", \"cross\"]);\nconst PerpLedger = z.object({\n trading_mode: TradingMode,\n order_ids: z.array(OrderId),\n trigger_order_ids: z.array(TriggerOrderId),\n position: Position,\n user_selected_max_leverage: U16Schema,\n notional_open_bid_orders: DecimalSchema,\n notional_open_ask_orders: DecimalSchema,\n twap_ids: z.array(TwapId),\n twap_open_bid_lots: DecimalSchema,\n twap_open_ask_lots: DecimalSchema,\n});\n\nconst SpotLedger = z.object({\n order_ids: z.array(OrderId),\n trigger_order_ids: z.array(TriggerOrderId),\n twap_ids: z.array(TwapId),\n});\n\nconst Balances = z.object({\n cross: CrossBalances,\n iso: createJsonMap(MarketId, DecimalSchema),\n spot: createJsonMap(AssetId, DecimalSchema),\n});\n\nconst RewardsInfo = z.object({\n cumulative_amount: DecimalSchema,\n total_claimed_amount: DecimalSchema,\n});\n\nconst Twap = z.object({\n side: z.enum(SIDES),\n market_id: MarketId,\n twap_id: TwapId,\n total_orders: U32Schema,\n total_size: DecimalSchema,\n total_duration_seconds: U64Schema,\n executed_size: DecimalSchema,\n executed_orders: U32Schema,\n cost_of_trade: DecimalSchema,\n reduce_only: z.boolean(),\n owner: Base58Address,\n});\n\nconst OrdersLedger = z.object({\n client_order_ids: createJsonMap(ClientOrderId, OrderId),\n perp_orders: createJsonMap(OrderId, PerpOrder),\n perp_trigger_orders: createJsonMap(TriggerOrderId, TriggerOrder),\n perp_pending_tpsl_pairs: createJsonMap(z.string(), PendingTpslPair),\n spot_orders: createJsonMap(OrderId, SpotOrder),\n spot_trigger_orders: createJsonMap(TriggerOrderId, TriggerOrder),\n twaps: createJsonMap(TwapId, Twap),\n});\n\nconst TriggerNodesStore = z.object({\n inactive: createJsonMap(\n z.string(),\n createJsonMap(z.string(), z.any()), // TriggerNodesPriceMap<S>\n ),\n active: z.array(z.any()), // VecDeque<TriggerNode<S>>\n});\n\nconst ActiveTwap = z.object({\n twap_id: U64Schema,\n remaining_orders: U32Schema,\n owner: Base58Address,\n});\n\nconst TwapNode = z.object({\n twap_id: U64Schema,\n owner: Base58Address,\n});\n\nconst TwapNodesStore = z.object({\n twaps: z.array(ActiveTwap),\n last_execution_time: I64Schema,\n execution_queue: z.array(TwapNode),\n});\n\nconst PriceLevel = z.object({\n nodes: z.array(\n z.object({\n order_id: OrderId,\n owner: Base58Address,\n }),\n ),\n total_size: DecimalSchema,\n});\n\nconst OraclePrice = z.object({\n price: DecimalSchema,\n last_update_timestamp: UnixTimestampMicros.nullable(),\n});\n\nconst MarkPrice = z.object({\n price: DecimalSchema,\n last_oracle_diff_ema: DecimalSchema,\n last_median_cex_price: DecimalSchema,\n last_update_timestamp: UnixTimestampMicros.nullable(),\n});\n\nconst TimeWeightedPremiumIndex = z.object({\n weighted_premium_sum: DecimalSchema,\n duration_sum: U64Schema,\n last_update_timestamp: UnixTimestampMicros.nullable(),\n});\n\nconst FundingConfig = z.object({\n interest_rate: DecimalSchema,\n min_interest_rate_clamp: DecimalSchema,\n max_interest_rate_clamp: DecimalSchema,\n min_funding_rate_clamp: DecimalSchema,\n max_funding_rate_clamp: DecimalSchema,\n});\n\nconst FundingMeta = z.object({\n rate: DecimalSchema,\n accum_per_lot: DecimalSchema,\n last_update_timestamp: UnixTimestampMicros,\n config: FundingConfig,\n});\n\nconst PerpPrice = z.object({\n market_id: MarketId,\n mark_price: MarkPrice,\n accum_premium_index: TimeWeightedPremiumIndex,\n funding_meta: FundingMeta,\n});\n\nconst PricingEngine = z.object({\n pricing_frequency_seconds: U32Schema,\n relaxed_pricing_frequency_seconds: U32Schema,\n oracle_pricing: createJsonMap(AssetId, OraclePrice),\n perp_pricing: createJsonMap(MarketId, PerpPrice),\n});\n\nconst LeverageTable = z.object({\n tiers: createJsonMap(\n z.string(),\n z.object({\n max_leverage: U16Schema,\n mmr: DecimalSchema,\n maintenance_amount: DecimalSchema,\n }),\n ),\n});\n\nconst MarginConfig = z.object({\n perp_liquidation_config: PerpLiquidationConfig,\n perp_leverage_tables: createJsonMap(MarketId, LeverageTable),\n borrow_lend_risk_configs: createJsonMap(AssetId, BorrowLendRiskConfig),\n});\n\nconst GlobalConfig = z.object({\n max_orders_per_user: U16Schema,\n max_trigger_orders_per_user: U16Schema,\n max_orders_per_batch_msg: U16Schema,\n max_trigger_orders_to_execute_per_msg: U16Schema,\n min_notional_twap_value: DecimalSchema,\n min_notional_twap_value_per_order: DecimalSchema,\n twap_execution_interval_seconds: U64Schema,\n user_deposit_limits_per_asset: createJsonMap(AssetId, DecimalSchema),\n whitelisted_users_for_deposit: createJsonSet(Base58Address),\n});\n\nconst AdminRegistry = z.object({\n protocol: Base58Address,\n funding: Base58Address,\n pricing: Base58Address,\n fee_tier: Base58Address,\n credits: Base58Address,\n referrals: Base58Address,\n});\n\nconst AssetInfo = z.object({\n id: AssetId,\n name: z.string(),\n token_id: z.string().nullable(),\n decimals: U8Schema,\n withdraw_fee: DecimalSchema,\n});\n\nconst MarketInfo = z.object({\n id: MarketId,\n kind: z.enum(MARKET_KINDS),\n base_asset_id: AssetId,\n name: z.string(),\n trading_mode: TradingMode,\n});\n\nconst VaultWithdrawal = z.object({\n user: Base58Address,\n shares: DecimalSchema,\n timestamp: UnixTimestampMicros,\n});\n\nconst VaultInfo = z.object({\n leader: Base58Address,\n name: z.string(),\n description: z.string(),\n deposit_asset_ids: z.array(AssetId),\n withdraw_asset_id: AssetId,\n deposit_limit: DecimalSchema,\n leader_minimum_holding_percentage: U8Schema,\n withdraw_lockup_period_hours: U8Schema,\n profit_share_percentage: U8Schema,\n withdrawal_fee_bps: U8Schema,\n total_shares: DecimalSchema,\n high_watermark: DecimalSchema,\n queued_withdrawals: z.array(VaultWithdrawal),\n whitelist_deposits: z.boolean(),\n whitelisted_depositors: z.array(Base58Address),\n});\n\nconst GlobalVaultConfig = z.object({\n leader_minimum_holding_percentage: U8Schema,\n creation_fee_usdc: DecimalSchema,\n min_deposit_value: DecimalSchema,\n});\n\nconst VaultRegistry = z.object({\n vaults: createJsonMap(Base58Address, VaultInfo),\n config: GlobalVaultConfig,\n depositor_state: createJsonMap(\n Base58Address,\n createJsonMap(Base58Address, DecimalSchema),\n ),\n});\n\nconst UsdcPnlPool = z.object({\n amount: DecimalSchema,\n trading_credits: DecimalSchema,\n orphaned_trading_credits: DecimalSchema,\n external_deposits: createJsonMap(Base58Address, DecimalSchema),\n token_holder: z.string(),\n});\n\nconst UsdcInsuranceFund = z.object({\n amount: DecimalSchema,\n external_deposits: createJsonMap(Base58Address, DecimalSchema),\n minimum_usdc_token_amount: DecimalSchema,\n token_holder: z.string(),\n});\n\nconst BorrowLendPool = z.object({\n asset_id: AssetId,\n is_active: z.boolean(),\n last_update_timestamp: UnixTimestampMicros,\n rate_config: BorrowLendRateConfig,\n deposit_limit: DecimalSchema,\n borrow_limit: DecimalSchema,\n max_utilization_rate: DecimalSchema,\n available_amount: DecimalSchema,\n borrowed_amount: DecimalSchema,\n cumulative_deposit_rate: DecimalSchema,\n cumulative_borrow_rate: DecimalSchema,\n accumulated_protocol_fees: DecimalSchema,\n unclaimed_protocol_fees: DecimalSchema,\n interest_fee_tenth_bps: U16Schema,\n});\n\nconst CrossAssets = z.object({\n usdc_pnl_pool: UsdcPnlPool,\n usdc_insurance_fund: UsdcInsuranceFund,\n borrow_lend_deposit_vault: z.string(),\n borrow_lend_pools: createJsonMap(AssetId, BorrowLendPool),\n});\n\nconst IsoAssets = z.object({\n usdc_deposit_vault: z.string(),\n usdc_insurance_fund: UsdcInsuranceFund,\n});\n\nconst PerpMarketConfig = z.object({\n min_tick_size: DecimalSchema,\n min_lot_size: DecimalSchema,\n max_oi_notional: DecimalSchema,\n impact_margin: DecimalSchema,\n max_orders_per_side: U16Schema,\n max_orders_per_user: U16Schema,\n max_trigger_orders_per_user: U16Schema,\n taker_fees_tenth_bps: z.array(I16Schema),\n maker_fees_tenth_bps: z.array(I16Schema),\n max_order_to_mark_price_deviation_ratio: DecimalSchema,\n max_trigger_to_comparison_price_deviation_ratio: DecimalSchema,\n max_order_to_trigger_price_deviation_ratio: DecimalSchema,\n});\n\nconst SpotMarketConfig = z.object({\n base_min_lot_size: DecimalSchema,\n quote_min_lot_size: DecimalSchema,\n max_orders_per_side: U16Schema,\n max_orders_per_user: U16Schema,\n max_trigger_orders_per_user: U16Schema,\n taker_fees_tenth_bps: z.array(I16Schema),\n maker_fees_tenth_bps: z.array(I16Schema),\n max_order_to_trigger_price_deviation_ratio: DecimalSchema,\n});\n\n// Main schemas\nexport const Schemas = {\n DummyValue: z.number(),\n\n ExchangeInfoV1: z.object({\n global_config: GlobalConfig,\n admins: AdminRegistry,\n assets: createJsonMap(AssetId, AssetInfo),\n markets: createJsonMap(MarketId, MarketInfo),\n vaults: VaultRegistry,\n }),\n\n ExchangeAssetsV0: z.object({\n cross_assets: CrossAssets,\n iso_assets: createJsonMap(MarketId, IsoAssets),\n spot_collateral_vault: z.string(),\n treasury: z.string(),\n }),\n\n OrderbookL2: z.object({\n market_id: MarketId,\n bids: z.array(PriceLevelL2),\n asks: z.array(PriceLevelL2),\n }),\n\n UserAccount: z.object({\n account_variant: z.discriminatedUnion(\"type\", [\n z.object({\n type: z.literal(\"master\"),\n sub_account_indices: z.array(U8Schema),\n }),\n z.object({ type: z.literal(\"sub\") }),\n z.object({ type: z.literal(\"vault\") }),\n z.object({ type: z.literal(\"protocol_vault\") }),\n z.object({ type: z.literal(\"master_v1\"), sub_account_mask: U32Schema }),\n ]),\n address: Base58Address,\n fee_tier: FeeTier,\n fee_discount_bps: U16Schema,\n balances: Balances,\n rewards: createJsonMap(AssetId, createJsonMap(RewardVariant, RewardsInfo)),\n perp_ledgers: createJsonMap(MarketId, PerpLedger),\n spot_ledgers: createJsonMap(MarketId, SpotLedger),\n orders_ledger: OrdersLedger,\n }),\n\n UserAccountConfigV0: z.object({\n delegates: createJsonMap(Base58Address, z.string()),\n }),\n\n DelegateContainer: z.object({\n delegator: Base58Address,\n expires_at: UnixTimestampMicros.nullable(),\n flags: U32Schema,\n }),\n\n RiskEngineV0: z.object({\n pricing_engine: PricingEngine,\n margin_config: MarginConfig,\n }),\n\n PerpMarketV0: z.object({\n market_id: MarketId,\n trading_status: MarketTradingStatus,\n config: PerpMarketConfig,\n current_open_interest_lots: DecimalSchema,\n last_trade_price: DecimalSchema.nullable(),\n orderbook: z.object({\n bids: createJsonMap(z.string(), PriceLevel),\n asks: createJsonMap(z.string(), PriceLevel),\n }),\n trigger_nodes_store: TriggerNodesStore,\n twap_nodes_store: TwapNodesStore,\n }),\n\n PerpMarketConfig: PerpMarketConfig,\n\n SpotMarketV0: z.object({\n market_id: MarketId,\n trading_status: MarketTradingStatus,\n base_asset_id: AssetId,\n quote_asset_id: AssetId,\n config: SpotMarketConfig,\n last_trade_price: DecimalSchema.nullable(),\n orderbook: z.object({\n bids: createJsonMap(z.string(), PriceLevel),\n asks: createJsonMap(z.string(), PriceLevel),\n }),\n trigger_nodes_store: TriggerNodesStore,\n }),\n\n SpotMarketConfig: SpotMarketConfig,\n\n ExecutionIdsV0: z.object({\n last_order_id: OrderId,\n last_trigger_order_id: TriggerOrderId,\n last_trade_id: TradeId,\n }),\n AccountAddresses: z.object({\n addresses: z.array(Base58Address),\n total: z.number(),\n next_offset: z.number().nullable(),\n }),\n} as const;\n\n// Response schemas\nexport const ResponseSchemas = {\n DummyValue: StateResponseSchemas.StateValue(Schemas.DummyValue),\n Order: StateResponseSchemas.StateMapElement(OrderId, Order),\n ExchangeInfo: StateResponseSchemas.StateValue(\n VersionedV1(Schemas.ExchangeInfoV1),\n ),\n ExchangeAssets: StateResponseSchemas.StateValue(\n VersionedV0(Schemas.ExchangeAssetsV0),\n ),\n RiskEngine: StateResponseSchemas.StateValue(\n VersionedV0(Schemas.RiskEngineV0),\n ),\n ExecutionIds: StateResponseSchemas.StateValue(\n VersionedV0(Schemas.ExecutionIdsV0),\n ),\n OrderbookL2: createBaseResponse(\n z.object({\n market_id: MarketId,\n orderbook: Schemas.OrderbookL2,\n }),\n ),\n OrderbookL2Bulk: createBaseResponse(\n z.object({\n found: createJsonMap(MarketId, Schemas.OrderbookL2),\n not_found: z.array(MarketId),\n }),\n ),\n UserAccount: createBaseResponse(\n z.object({\n address: Base58Address,\n account: Schemas.UserAccount,\n }),\n ),\n Delegate: createBaseResponse(\n z.object({\n address: Base58Address,\n container: Schemas.DelegateContainer,\n }),\n ),\n UserAccountConfig: StateResponseSchemas.StateMapElement(\n Base58Address,\n VersionedV0(Schemas.UserAccountConfigV0),\n ),\n UserAccountBulk: createBaseResponse(\n z.object({\n found: createJsonMap(Base58Address, Schemas.UserAccount),\n not_found: z.array(Base58Address),\n }),\n ),\n PerpMarket: createBaseResponse(\n z.object({\n market_id: MarketId,\n market: VersionedV0(Schemas.PerpMarketV0),\n }),\n ),\n PerpMarketConfigs: createBaseResponse(\n createJsonMap(MarketId, Schemas.PerpMarketConfig),\n ),\n SpotMarket: createBaseResponse(\n z.object({\n market_id: MarketId,\n market: VersionedV0(Schemas.SpotMarketV0),\n }),\n ),\n SpotMarketConfigs: createBaseResponse(\n createJsonMap(MarketId, Schemas.SpotMarketConfig),\n ),\n AccountAddresses: createBaseResponse(Schemas.AccountAddresses),\n ChainData: StateResponseSchemas.RollupSchema(\n z.object({\n chain_data: z.object({\n chain_id: z.number(),\n chain_name: z.string(),\n }),\n }),\n ),\n} as const;\n\n// Internal scehma types\ntype UserAccountConfigV0 = z.infer<typeof Schemas.UserAccountConfigV0>;\ntype PerpMarketV0 = z.infer<typeof Schemas.PerpMarketV0>;\ntype SpotMarketV0 = z.infer<typeof Schemas.SpotMarketV0>;\ntype RiskEngineV0 = z.infer<typeof Schemas.RiskEngineV0>;\ntype ExchangeInfoV1 = z.infer<typeof Schemas.ExchangeInfoV1>;\ntype ExchangeAssetsV0 = z.infer<typeof Schemas.ExchangeAssetsV0>;\ntype ExecutionIdsV0 = z.infer<typeof Schemas.ExecutionIdsV0>;\n\n// Schema types\nexport type DummyValue = z.infer<typeof Schemas.DummyValue>;\nexport type Order = z.infer<typeof Order>;\nexport type OrderbookL2 = z.infer<typeof Schemas.OrderbookL2>;\nexport type PriceLevelL2 = z.infer<typeof PriceLevelL2>;\nexport type UserAccount = z.infer<typeof Schemas.UserAccount>;\nexport type PerpMarketConfig = z.infer<typeof Schemas.PerpMarketConfig>;\nexport type SpotMarketConfig = z.infer<typeof Schemas.SpotMarketConfig>;\nexport type VersionedUserAccountConfig = {\n version: \"V0\";\n data: UserAccountConfigV0;\n};\nexport type VersionedExchangeAssets = { version: \"V0\"; data: ExchangeAssetsV0 };\nexport type VersionedPerpMarket = { version: \"V0\"; data: PerpMarketV0 };\nexport type VersionedSpotMarket = { version: \"V0\"; data: SpotMarketV0 };\nexport type VersionedExchangeInfo = { version: \"V1\"; data: ExchangeInfoV1 };\nexport type AccountAddresses = z.infer<typeof Schemas.AccountAddresses>;\nexport type VersionedExecutionIds = { version: \"V0\"; data: ExecutionIdsV0 };\nexport type VersionedRiskEngine = { version: \"V0\"; data: RiskEngineV0 };\nexport type BorrowLendPool = z.infer<typeof BorrowLendPool>;\nexport type DelegateContainer = z.infer<typeof Schemas.DelegateContainer>;\n",
23
23
  "import { z } from \"zod\";\nimport { Base58Address, DecimalSchema, MarketId, U16Schema } from \".\";\n\nexport const WasmResponseSchemas = {\n SimulationResultSchema: z.object({\n current: DecimalSchema,\n updated: DecimalSchema,\n }),\n PositionAdditionalMetadataSchema: z.map(\n // since we use hashmap which serializes to map\n MarketId,\n z.object({\n projected_funding_payment: DecimalSchema,\n unrealized_pnl: DecimalSchema,\n liquidation_price: DecimalSchema,\n liquidation_risk_percentage: DecimalSchema,\n max_leverage_to_use: U16Schema,\n }),\n ),\n BorrowLendMarketAdditionalMetadataSchema: z.object({\n utilization_rate: DecimalSchema,\n current_deposit_rate: DecimalSchema,\n current_borrow_rate: DecimalSchema,\n }),\n AccountSummaryBatchSchema: z.array(\n z.object({\n account_variant: z.string().optional(),\n address: Base58Address,\n equity: DecimalSchema,\n unrealized_pnl: DecimalSchema,\n available_initial_margin: DecimalSchema,\n available_maintenance_margin: DecimalSchema,\n leverage: DecimalSchema,\n }),\n ),\n MarginBalanceSummarySchema: z.object({\n margin_balance: DecimalSchema,\n assets: DecimalSchema,\n liabilities: DecimalSchema,\n upnl: DecimalSchema,\n }),\n};\n\nexport type PositionAdditionalMetadata = z.infer<\n typeof WasmResponseSchemas.PositionAdditionalMetadataSchema\n>;\n",
24
24
  "/**\n * Encoding utilities for decimal serialization between TypeScript and Rust.\n *\n * SurrogateDecimal format: { flags, hi, lo, mid }\n * - Produced by BulletWasm.convert_rust_decimal_to_json()\n * - Matches rust_decimal's internal struct representation\n * - Used by standard authenticator: SDK → json_to_borsh (client-side WASM) → Borsh bytes → /sequencer/txs\n *\n * AuthenticatedClient.encodeDecimal() selects the correct format automatically:\n * - Standard auth (borsh): SurrogateDecimal { flags, hi, lo, mid }\n * - Solana auth (serde): string (e.g. \"10000\")\n */\n\nimport type Decimal from \"decimal.js\";\nimport { BulletWasm } from \"./bullet-wasm/loader\";\n\n/**\n * Converts a Decimal.js value to SurrogateDecimal format for Borsh serialization.\n * Used by standard authenticator where json_to_borsh parses this format client-side.\n *\n * Requires `initialize()` to have been called first — client factory methods\n * (`fromNetwork`, `fromEndpoints`) handle this automatically.\n *\n * @param d - The Decimal value to convert\n * @returns SurrogateDecimal object { flags, hi, lo, mid } or null\n */\nexport const decimalToSurrogate = (d?: Decimal | null) =>\n d ? BulletWasm.convert_rust_decimal_to_json(d.toFixed()) : null;\n",
25
25
  "import type { Signer } from \"@sovereign-sdk/signers\";\nimport type { Address, PublicKey } from \"../types\";\nimport { hexToBase58 } from \"../utils\";\n\nexport abstract class Wallet {\n // For now this is same as pubkey but b58 encoded\n public address: Address;\n public publicKey: PublicKey;\n\n constructor(publicKey: PublicKey) {\n this.publicKey = publicKey;\n this.address = hexToBase58(this.publicKey);\n }\n\n // Abstract method to be implemented by subclasses\n public abstract getSigner(): Signer;\n}\n",
@@ -27,6 +27,6 @@
27
27
  "import { readFileSync } from \"node:fs\";\nimport * as ed from \"@noble/ed25519\";\nimport { Ed25519Signer } from \"@sovereign-sdk/signers\";\nimport type { PrivateKey, PublicKey } from \"../types\";\nimport { bytesToHex } from \"../utils\";\nimport { Wallet } from \"./wallet\";\n\nexport class NodeWallet extends Wallet {\n // All hex strings - may eventually add a class\n private privateKey: PrivateKey;\n\n constructor(privateKey: PrivateKey, publicKey: PublicKey) {\n // Check if running in browser environment\n if (typeof (globalThis as { window?: unknown }).window !== \"undefined\") {\n throw new Error(\"NodeWallet is not supported in browser environments\");\n }\n super(publicKey);\n this.privateKey = privateKey;\n }\n\n static async fromPrivateKeyBytes(\n privateKeyBytes: Uint8Array,\n ): Promise<NodeWallet> {\n const privateKey = bytesToHex(privateKeyBytes.slice(0, 32)).replace(\n /^0x/,\n \"\",\n );\n const publicKeyBytes = await ed.getPublicKeyAsync(privateKey);\n const publicKey = bytesToHex(publicKeyBytes).replace(/^0x/, \"\");\n return new NodeWallet(privateKey, publicKey);\n }\n\n static fromLocalSolanaWallet(\n filePath = \"~/.config/solana/id.json\",\n ): NodeWallet {\n const solanaKeypairBytes = new Uint8Array(\n JSON.parse(readFileSync(filePath, \"utf-8\")),\n );\n const privateKey = bytesToHex(solanaKeypairBytes.slice(0, 32)).replace(\n /^0x/,\n \"\",\n );\n const publicKey = bytesToHex(solanaKeypairBytes.slice(32, 64)).replace(\n /^0x/,\n \"\",\n );\n return new NodeWallet(privateKey, publicKey);\n }\n\n static async fromLocalSovWallet(filePath: string): Promise<NodeWallet> {\n let privateKeyRaw: Uint8Array;\n try {\n const jsonContent = JSON.parse(readFileSync(filePath, \"utf-8\"));\n privateKeyRaw = jsonContent.private_key.key_pair;\n if (!privateKeyRaw) {\n throw new Error(\"Missing private_key.key_pair in JSON\");\n }\n } catch (error) {\n console.error(\n `Error reading keypair file: ${\n error instanceof Error ? error.message : String(error)\n }`,\n );\n throw error;\n }\n return await NodeWallet.fromPrivateKeyBytes(privateKeyRaw);\n }\n\n public getSigner(): Ed25519Signer {\n return new Ed25519Signer(this.privateKey);\n }\n}\n"
28
28
  ],
29
29
  "mappings": "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",
30
- "debugId": "EC531C2A75DC4F1364756E2164756E21",
30
+ "debugId": "2E0D673E246CAE3264756E2164756E21",
31
31
  "names": []
32
32
  }