@polyester/sdk 0.3.1 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -0
- package/README.md +63 -17
- package/dist/account-signer/types.d.ts.map +1 -1
- package/dist/account-signer/types.js +6 -3
- package/dist/account-signer/types.js.map +1 -1
- package/dist/browser-client.d.ts +4 -2
- package/dist/browser-client.d.ts.map +1 -1
- package/dist/browser-client.js +3 -4
- package/dist/browser-client.js.map +1 -1
- package/dist/catalogs/client-catalog.d.ts.map +1 -1
- package/dist/catalogs/client-catalog.js +11 -4
- package/dist/catalogs/client-catalog.js.map +1 -1
- package/dist/catalogs/index.js +1 -1
- package/dist/catalogs/readers.d.ts.map +1 -1
- package/dist/catalogs/readers.js +3 -1
- package/dist/catalogs/readers.js.map +1 -1
- package/dist/catalogs/snapshot-validation.js +132 -0
- package/dist/catalogs/snapshot-validation.js.map +1 -0
- package/dist/catalogs/snapshot.d.ts.map +1 -1
- package/dist/catalogs/snapshot.js +16 -7
- package/dist/catalogs/snapshot.js.map +1 -1
- package/dist/catalogs/zipper-supply.d.ts.map +1 -1
- package/dist/catalogs/zipper-supply.js +10 -7
- package/dist/catalogs/zipper-supply.js.map +1 -1
- package/dist/core-client.d.ts +24 -17
- package/dist/core-client.d.ts.map +1 -1
- package/dist/core-client.js +21 -3
- package/dist/core-client.js.map +1 -1
- package/dist/environment.d.ts.map +1 -1
- package/dist/environment.js +32 -1
- package/dist/environment.js.map +1 -1
- package/dist/index.js +3 -3
- package/dist/realtime/client.js +13 -2
- package/dist/realtime/client.js.map +1 -1
- package/dist/realtime/snapshot-then-stream.js +1 -1
- package/dist/realtime/snapshot-then-stream.js.map +1 -1
- package/dist/realtime/types.d.ts +2 -0
- package/dist/realtime/types.d.ts.map +1 -1
- package/dist/server-client.d.ts +17 -8
- package/dist/server-client.d.ts.map +1 -1
- package/dist/server-client.js +8 -11
- package/dist/server-client.js.map +1 -1
- package/dist/services/accounts/accounts.js +3 -3
- package/dist/services/accounts/accounts.js.map +1 -1
- package/dist/services/address-book/address-book.js +28 -28
- package/dist/services/address-book/address-book.js.map +1 -1
- package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
- package/dist/services/address-book/address-book.schemas.js +2 -1
- package/dist/services/address-book/address-book.schemas.js.map +1 -1
- package/dist/services/api-keys/api-keys.d.ts.map +1 -1
- package/dist/services/api-keys/api-keys.js +12 -12
- package/dist/services/api-keys/api-keys.js.map +1 -1
- package/dist/services/auth/auth.d.ts +9 -3
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +11 -7
- package/dist/services/auth/auth.js.map +1 -1
- package/dist/services/auth/profile/profile.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.js +7 -6
- package/dist/services/auth/profile/profile.js.map +1 -1
- package/dist/services/auth/session.d.ts +1 -1
- package/dist/services/auth/session.d.ts.map +1 -1
- package/dist/services/auth/session.js +6 -2
- package/dist/services/auth/session.js.map +1 -1
- package/dist/services/auth/session.types.d.ts +3 -2
- package/dist/services/auth/session.types.d.ts.map +1 -1
- package/dist/services/balances/balances.d.ts +1 -1
- package/dist/services/balances/balances.d.ts.map +1 -1
- package/dist/services/balances/balances.js +9 -8
- package/dist/services/balances/balances.js.map +1 -1
- package/dist/services/balances/balances.schemas.d.ts +1 -1
- package/dist/services/balances/balances.schemas.d.ts.map +1 -1
- package/dist/services/balances/balances.schemas.js +1 -1
- package/dist/services/balances/balances.schemas.js.map +1 -1
- package/dist/services/candles/candles.d.ts.map +1 -1
- package/dist/services/candles/candles.js +10 -9
- package/dist/services/candles/candles.js.map +1 -1
- package/dist/services/candles/candles.schemas.d.ts +11 -11
- package/dist/services/candles/candles.schemas.d.ts.map +1 -1
- package/dist/services/candles/candles.schemas.js +1 -2
- package/dist/services/candles/candles.schemas.js.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.js +7 -7
- package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
- package/dist/services/deposit/deposit.js +5 -5
- package/dist/services/deposit/deposit.js.map +1 -1
- package/dist/services/guard-signer/guard-signer.js +13 -13
- package/dist/services/guard-signer/guard-signer.js.map +1 -1
- package/dist/services/heatmap/heatmap.d.ts.map +1 -1
- package/dist/services/heatmap/heatmap.js +6 -5
- package/dist/services/heatmap/heatmap.js.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.d.ts +17 -17
- package/dist/services/heatmap/heatmap.schemas.js +1 -1
- package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.js +3 -3
- package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.d.ts.map +1 -1
- package/dist/services/lifecycle/lifecycle.js +9 -8
- package/dist/services/lifecycle/lifecycle.js.map +1 -1
- package/dist/services/market-data/market-data.d.ts.map +1 -1
- package/dist/services/market-data/market-data.js +6 -5
- package/dist/services/market-data/market-data.js.map +1 -1
- package/dist/services/market-data/market-data.schemas.d.ts +2 -2
- package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
- package/dist/services/market-data/market-data.schemas.js +2 -6
- package/dist/services/market-data/market-data.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.js +4 -3
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +3 -3
- package/dist/services/mfa/mfa.js +27 -27
- package/dist/services/mfa/mfa.js.map +1 -1
- package/dist/services/orderbook/orderbook.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.js +5 -4
- package/dist/services/orderbook/orderbook.js.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +14 -14
- package/dist/services/orders/orders-batch.schemas.js +1 -1
- package/dist/services/orders/orders-input.schemas.d.ts +13 -4
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +8 -4
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +22 -3
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +7 -3
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +12 -12
- package/dist/services/orders/orders.d.ts +2 -2
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +44 -31
- package/dist/services/orders/orders.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.js +11 -11
- package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.js +13 -12
- package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
- package/dist/services/social-verification/social-verification.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.js +7 -7
- package/dist/services/social-verification/social-verification.js.map +1 -1
- package/dist/services/subaccount-resolver.js +5 -3
- package/dist/services/subaccount-resolver.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.d.ts +1 -1
- package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.js +34 -33
- package/dist/services/subaccounts/subaccounts.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +2 -2
- package/dist/services/subaccounts/subaccounts.schemas.js +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
- package/dist/services/trades/trades.d.ts.map +1 -1
- package/dist/services/trades/trades.js +5 -4
- package/dist/services/trades/trades.js.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.js +8 -8
- package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
- package/dist/services/transfers/transfers.d.ts +1 -1
- package/dist/services/transfers/transfers.d.ts.map +1 -1
- package/dist/services/transfers/transfers.js +5 -4
- package/dist/services/transfers/transfers.js.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.d.ts +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts +1 -1
- package/dist/services/triggers/triggers.d.ts.map +1 -1
- package/dist/services/triggers/triggers.js +21 -20
- package/dist/services/triggers/triggers.js.map +1 -1
- package/dist/services/whiteboard/whiteboard.js +15 -15
- package/dist/services/whiteboard/whiteboard.js.map +1 -1
- package/dist/services/zipper/zipper.js +3 -3
- package/dist/services/zipper/zipper.js.map +1 -1
- package/dist/shared/connect-error-mapping.d.ts +1 -1
- package/dist/shared/connect-error-mapping.js +27 -1
- package/dist/shared/connect-error-mapping.js.map +1 -1
- package/dist/shared/transports.js +7 -12
- package/dist/shared/transports.js.map +1 -1
- package/dist/shared/types.d.ts +12 -0
- package/dist/shared/types.d.ts.map +1 -1
- package/dist/shared/validation.js +19 -0
- package/dist/shared/validation.js.map +1 -0
- package/dist/utils/cookies.d.ts +8 -3
- package/dist/utils/cookies.d.ts.map +1 -1
- package/dist/utils/cookies.js +7 -1
- package/dist/utils/cookies.js.map +1 -1
- package/dist/utils/event-emitter.d.ts +1 -1
- package/dist/utils/event-emitter.d.ts.map +1 -1
- package/dist/utils/event-emitter.js +4 -2
- package/dist/utils/event-emitter.js.map +1 -1
- package/dist/utils/evm.js +2 -2
- package/dist/utils/evm.js.map +1 -1
- package/dist/utils/jwt.d.ts +2 -2
- package/dist/utils/jwt.d.ts.map +1 -1
- package/dist/utils/jwt.js +2 -2
- package/dist/utils/jwt.js.map +1 -1
- package/package.json +3 -3
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-input.schemas.js","names":["ProtoWrite.MarketIocSchema","ProtoWrite.LimitGtcSchema","ProtoWrite.LimitIocSchema","ProtoWrite.LimitFokSchema"],"sources":["../../../src/services/orders/orders-input.schemas.ts"],"sourcesContent":["import * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { create } from \"@bufbuild/protobuf\";\nimport * as v from \"valibot\";\nimport { SideSchema } from \"../shared.js\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport {\n OptionalPublicIdSchema,\n OptionalTimestampMsSchema,\n PublicIdSchema,\n TimestampMsSchema,\n optionalIdInputSchema,\n optionalUint64DecimalFilterSchema,\n} from \"../../shared/schemas.js\";\nimport {\n positiveDecimalInputToScaled,\n scaledToDecimalOutput,\n type SdkScales,\n} from \"../../shared/decimal-surface.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport {\n FEE_ASSET_VALUES,\n ORDER_STATUS_FILTER_VALUES,\n OrderSideCodec,\n OrderStatusFilterCodec,\n SELF_TRADE_PREVENTION_MODE_VALUES,\n FeeAssetCodec,\n SelfTradePreventionModeCodec,\n} from \"./orders.codecs.js\";\nimport {\n MarketMaxSlippageSchema,\n createRiskPolicyInputSchema,\n parseMarketMaxSlippage,\n} from \"./orders-risk.schemas.js\";\nimport { OptionalClientOrderIdInputSchema } from \"./orders-identifiers.schemas.js\";\nimport { OrderErrorDetailSchema } from \"./order-errors.schemas.js\";\n\nconst OrderStatusSchema = v.picklist(ORDER_STATUS_FILTER_VALUES);\nconst FeeAssetSchema = v.picklist(FEE_ASSET_VALUES);\nconst SelfTradePreventionModeSchema = v.picklist(SELF_TRADE_PREVENTION_MODE_VALUES);\n\nconst BaseOrdersFilterInputEntries = {\n ...AccountScopeInputEntries,\n symbolId: v.optional(v.array(v.number())),\n triggerId: optionalIdInputSchema(\"triggerId\"),\n side: v.pipe(\n v.optional(SideSchema),\n v.transform((v) => (v ? OrderSideCodec.inputToProto[v] : undefined)),\n ),\n limit: v.optional(v.number()),\n pageToken: v.optional(v.pipe(v.string(), v.trim())),\n};\n\nexport const BaseOrdersFilterInputSchema = v.pipe(\n v.strictObject(BaseOrdersFilterInputEntries),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport const OpenOrdersInputSchema = v.pipe(\n v.strictObject({\n ...BaseOrdersFilterInputEntries,\n\n includeAttachedRisk: v.optional(v.boolean(), true),\n includeAttachedRiskState: v.optional(v.boolean(), false),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type OpenOrdersInput = v.InferInput<typeof OpenOrdersInputSchema>;\n\nexport const OrderHistoryInputSchema = v.pipe(\n v.strictObject({\n ...BaseOrdersFilterInputEntries,\n includeAttachedRisk: v.optional(v.boolean(), true),\n includeAttachedRiskState: v.optional(v.boolean(), false),\n status: v.pipe(\n v.optional(OrderStatusSchema),\n v.transform((v) => (v ? OrderStatusFilterCodec.inputToProto[v] : undefined)),\n ),\n startTsNs: optionalUint64DecimalFilterSchema(\"startTsNs\"),\n endTsNs: optionalUint64DecimalFilterSchema(\"endTsNs\"),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type OrderHistoryInput = v.InferInput<typeof OrderHistoryInputSchema>;\n\nconst DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nfunction createOrderIntentBaseEntries(scales: SdkScales) {\n return {\n symbol: v.pipe(v.string(), v.trim(), v.minLength(1)),\n side: v.pipe(\n SideSchema,\n v.transform((v) => OrderSideCodec.inputToProto[v]),\n ),\n execution: createOrderExecutionInputSchema(scales),\n clientOrderId: OptionalClientOrderIdInputSchema,\n feeAsset: v.pipe(\n v.optional(FeeAssetSchema),\n v.transform((v) => (v ? FeeAssetCodec.inputToProto[v] : undefined)),\n ),\n selfTradePreventionMode: v.pipe(\n v.optional(SelfTradePreventionModeSchema),\n v.transform((v) => (v ? SelfTradePreventionModeCodec.inputToProto[v] : undefined)),\n ),\n risk: createRiskPolicyInputSchema(scales),\n };\n}\n\ntype ParsedOrderIntentInput = v.InferOutput<ReturnType<typeof createOrderIntentInputObjectSchema>>;\n\nfunction createOrderIntentInputObjectSchema(scales: SdkScales) {\n const baseEntries = createOrderIntentBaseEntries(scales);\n return v.pipe(\n v.union([\n v.strictObject({\n ...baseEntries,\n qty: DecimalInputStringSchema,\n maxQuoteDebit: v.optional(v.never()),\n }),\n v.strictObject({\n ...baseEntries,\n qty: v.optional(v.never()),\n maxQuoteDebit: DecimalInputStringSchema,\n }),\n ]),\n v.check(\n (input) =>\n input.maxQuoteDebit === undefined ||\n (input.side === ProtoWrite.Side.BUY &&\n (input.execution.case === \"marketIoc\" || input.execution.case === \"limitIoc\")),\n \"maxQuoteDebit is supported only for BUY market IOC and BUY limit IOC orders\",\n ),\n v.check(\n (input) =>\n input.side !== ProtoWrite.Side.SELL ||\n input.feeAsset === undefined ||\n input.feeAsset === ProtoWrite.FeeAsset.QUOTE,\n \"SELL orders must use the quote fee asset\",\n ),\n );\n}\n\nfunction createScopedOrderIntentInputObjectSchema(scales: SdkScales) {\n const baseEntries = {\n ...AccountScopeInputEntries,\n ...createOrderIntentBaseEntries(scales),\n };\n return v.pipe(\n v.union([\n v.strictObject({\n ...baseEntries,\n qty: DecimalInputStringSchema,\n maxQuoteDebit: v.optional(v.never()),\n }),\n v.strictObject({\n ...baseEntries,\n qty: v.optional(v.never()),\n maxQuoteDebit: DecimalInputStringSchema,\n }),\n ]),\n v.check(\n (input) =>\n input.maxQuoteDebit === undefined ||\n (input.side === ProtoWrite.Side.BUY &&\n (input.execution.case === \"marketIoc\" || input.execution.case === \"limitIoc\")),\n \"maxQuoteDebit is supported only for BUY market IOC and BUY limit IOC orders\",\n ),\n v.check(\n (input) =>\n input.side !== ProtoWrite.Side.SELL ||\n input.feeAsset === undefined ||\n input.feeAsset === ProtoWrite.FeeAsset.QUOTE,\n \"SELL orders must use the quote fee asset\",\n ),\n );\n}\n\nfunction toOrderIntent(input: ParsedOrderIntentInput, scales: SdkScales) {\n const { risk, qty, maxQuoteDebit, ...intent } = input;\n const sizing =\n qty !== undefined\n ? ({\n case: \"baseQtyScaled\",\n value: positiveDecimalInputToScaled(\"qty\", qty, scales.baseQty(intent.symbol)),\n } as const)\n : ({\n case: \"maxQuoteDebitScaled\",\n value: positiveDecimalInputToScaled(\n \"maxQuoteDebit\",\n maxQuoteDebit,\n scales.quoteAmount(intent.symbol),\n ),\n } as const);\n return {\n ...intent,\n sizing,\n feeAsset: intent.feeAsset ?? ProtoWrite.FeeAsset.QUOTE,\n attachedRisk: risk,\n };\n}\n\nexport function createOrderIntentInputSchema(scales: SdkScales) {\n return v.pipe(\n createOrderIntentInputObjectSchema(scales),\n v.transform((input) => toOrderIntent(input, scales)),\n );\n}\n\nexport type OrderIntentInput = v.InferInput<ReturnType<typeof createOrderIntentInputSchema>>;\n\nfunction createOrderExecutionInputSchema(scales: SdkScales) {\n const priceToTicks = (fieldName: string, price: string) =>\n positiveDecimalInputToScaled(fieldName, price, scales.price());\n\n return v.variant(\"type\", [\n v.pipe(\n v.strictObject({\n type: v.literal(\"market_ioc\"),\n maxSlippage: v.optional(MarketMaxSlippageSchema),\n clientRefPrice: v.optional(DecimalInputStringSchema),\n }),\n v.transform(({ maxSlippage, clientRefPrice }) => ({\n case: \"marketIoc\" as const,\n value: create(ProtoWrite.MarketIocSchema, {\n maxSlippage: parseMarketMaxSlippage(scales, maxSlippage),\n clientRefPriceTicks:\n clientRefPrice === undefined\n ? 0n\n : priceToTicks(\"execution.clientRefPrice\", clientRefPrice),\n }),\n })),\n ),\n v.pipe(\n v.strictObject({\n type: v.literal(\"limit_gtc\"),\n price: DecimalInputStringSchema,\n postOnly: v.optional(v.boolean(), false),\n }),\n v.transform(({ price, postOnly }) => ({\n case: \"limitGtc\" as const,\n value: create(ProtoWrite.LimitGtcSchema, {\n priceTicks: priceToTicks(\"execution.price\", price),\n postOnly,\n }),\n })),\n ),\n v.pipe(\n v.strictObject({\n type: v.literal(\"limit_ioc\"),\n price: DecimalInputStringSchema,\n }),\n v.transform(({ price }) => ({\n case: \"limitIoc\" as const,\n value: create(ProtoWrite.LimitIocSchema, {\n priceTicks: priceToTicks(\"execution.price\", price),\n }),\n })),\n ),\n v.pipe(\n v.strictObject({\n type: v.literal(\"limit_fok\"),\n price: DecimalInputStringSchema,\n }),\n v.transform(({ price }) => ({\n case: \"limitFok\" as const,\n value: create(ProtoWrite.LimitFokSchema, {\n priceTicks: priceToTicks(\"execution.price\", price),\n }),\n })),\n ),\n ]);\n}\n\nexport function createNewOrderInputSchema(scales: SdkScales) {\n return v.pipe(\n createScopedOrderIntentInputObjectSchema(scales),\n v.transform(({ account, ...input }) => {\n return {\n subaccountId: accountScopeToSubaccountId(account),\n order: toOrderIntent(input, scales),\n };\n }),\n );\n}\n\nexport type NewOrderInput = v.InferInput<ReturnType<typeof createNewOrderInputSchema>>;\n\nconst CancelOrderScopeInputEntries = {\n symbolId: v.optional(v.number()),\n ...AccountScopeInputEntries,\n};\n\nexport const CancelOrderInputSchema = v.pipe(\n v.union([\n v.strictObject({\n ...CancelOrderScopeInputEntries,\n orderId: v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1),\n v.transform((v) => idToBigInt(v, \"orderId\")),\n ),\n clientOrderId: v.optional(v.never()),\n }),\n v.strictObject({\n ...CancelOrderScopeInputEntries,\n orderId: v.optional(v.never()),\n clientOrderId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n }),\n ]),\n v.transform(({ orderId, clientOrderId, account, ...rest }) => {\n const key =\n orderId !== undefined\n ? ({ case: \"orderId\", value: orderId } as const)\n : ({ case: \"clientOrderId\", value: clientOrderId } as const);\n return {\n ...rest,\n subaccountId: accountScopeToSubaccountId(account),\n key,\n };\n }),\n);\n\nexport type CancelOrderInput = v.InferInput<typeof CancelOrderInputSchema>;\n\nexport const CancelOrderResultSchema = v.object({\n status: v.string(),\n orderId: PublicIdSchema,\n tsNs: v.pipe(\n v.bigint(),\n v.transform((v) => tsNsToMs(v)),\n ),\n});\n\nexport type CancelOrderResult = v.InferOutput<typeof CancelOrderResultSchema>;\n\nexport const CancelAllOrdersInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n symbol: v.optional(v.pipe(v.string(), v.trim())),\n side: v.pipe(\n v.optional(SideSchema),\n v.transform((v) => (v ? OrderSideCodec.inputToProto[v] : undefined)),\n ),\n dryRun: v.optional(v.boolean(), false),\n requestId: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(64))),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type CancelAllOrdersInput = v.InferInput<typeof CancelAllOrdersInputSchema>;\n\nexport const CancelAllOrdersResponseSchema = v.pipe(\n v.object({\n status: v.string(),\n matchedOrders: v.number(),\n submittedCancels: v.number(),\n failedCancels: v.number(),\n tsNs: v.bigint(),\n }),\n v.transform((o) => ({\n status: o.status,\n matchedOrders: o.matchedOrders,\n submittedCancels: o.submittedCancels,\n failedCancels: o.failedCancels,\n ts: tsNsToMs(o.tsNs),\n })),\n);\n\nexport type CancelAllOrdersResponse = v.InferOutput<typeof CancelAllOrdersResponseSchema>;\n\nexport const GetOrderDetailsInputSchema = v.pipe(\n v.strictObject({\n orderId: v.optional(v.pipe(v.string(), v.trim())),\n clientOrderId: v.optional(v.pipe(v.string(), v.trim())),\n ...AccountScopeInputEntries,\n includeAttachedRisk: v.optional(v.boolean(), true),\n includeAttachedRiskState: v.optional(v.boolean(), true),\n }),\n v.check((input) => {\n const hasOrderId = (input.orderId ?? \"\").length > 0;\n const hasClientOrderId = (input.clientOrderId ?? \"\").length > 0;\n return hasOrderId !== hasClientOrderId;\n }, \"Provide exactly one of orderId or clientOrderId\"),\n v.transform(({ account, orderId, clientOrderId, ...rest }) => {\n const hasOrderId = (orderId ?? \"\").length > 0;\n const key = hasOrderId\n ? ({ case: \"orderId\", value: idToBigInt(orderId ?? \"\", \"orderId\") } as const)\n : ({ case: \"clientOrderId\", value: clientOrderId ?? \"\" } as const);\n return {\n ...rest,\n subaccountId: accountScopeToSubaccountId(account),\n key,\n };\n }),\n);\n\nexport type GetOrderDetailsInput = v.InferInput<typeof GetOrderDetailsInputSchema>;\n\nexport function createCreateOrderResultSchema(scales: SdkScales, symbol: string) {\n return v.pipe(\n v.object({\n orderId: PublicIdSchema,\n clientOrderId: v.string(),\n acceptedAt: OptionalTimestampMsSchema,\n acceptedAtTsNs: v.bigint(),\n resolvedBaseQtyScaled: v.bigint(),\n submittedMaxQuoteDebitScaled: v.optional(v.bigint()),\n takeProfitTriggerId: OptionalPublicIdSchema,\n stopLossTriggerId: OptionalPublicIdSchema,\n trailingStopTriggerId: OptionalPublicIdSchema,\n }),\n v.transform(\n ({\n acceptedAt,\n acceptedAtTsNs,\n resolvedBaseQtyScaled,\n submittedMaxQuoteDebitScaled,\n ...result\n }) => ({\n ...result,\n acceptedAt: acceptedAt ?? tsNsToMs(acceptedAtTsNs),\n acceptedAtNs: acceptedAtTsNs.toString(),\n resolvedBaseQty: scaledToDecimalOutput(\n resolvedBaseQtyScaled,\n scales.baseQty(symbol),\n ),\n ...(submittedMaxQuoteDebitScaled === undefined\n ? {}\n : {\n submittedMaxQuoteDebit: scaledToDecimalOutput(\n submittedMaxQuoteDebitScaled,\n scales.quoteAmount(symbol),\n ),\n }),\n }),\n ),\n );\n}\n\nexport type CreateOrderResult = v.InferOutput<ReturnType<typeof createCreateOrderResultSchema>>;\n\nexport function createPreviewOrderResultSchema(scales: SdkScales, symbol: string) {\n return v.pipe(\n v.object({\n admissible: v.optional(v.boolean()),\n rejection: v.optional(OrderErrorDetailSchema),\n resolvedBaseQtyScaled: v.optional(v.bigint()),\n protectedPriceBoundTicks: v.optional(v.bigint()),\n evaluatedAt: TimestampMsSchema,\n }),\n v.transform(({ resolvedBaseQtyScaled, protectedPriceBoundTicks, ...result }) => ({\n ...result,\n ...(resolvedBaseQtyScaled === undefined\n ? {}\n : {\n resolvedBaseQty: scaledToDecimalOutput(\n resolvedBaseQtyScaled,\n scales.baseQty(symbol),\n ),\n }),\n ...(protectedPriceBoundTicks === undefined\n ? {}\n : {\n protectedPriceBound: scaledToDecimalOutput(\n protectedPriceBoundTicks,\n scales.price(),\n ),\n }),\n })),\n );\n}\n\nexport type PreviewOrderResult = v.InferOutput<ReturnType<typeof createPreviewOrderResultSchema>>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orders-input.schemas.js","names":["ProtoWrite.MarketIocSchema","ProtoWrite.LimitGtcSchema","ProtoWrite.LimitIocSchema","ProtoWrite.LimitFokSchema"],"sources":["../../../src/services/orders/orders-input.schemas.ts"],"sourcesContent":["import * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { create } from \"@bufbuild/protobuf\";\nimport * as v from \"valibot\";\nimport { SideSchema } from \"../shared.js\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport {\n OptionalPublicIdSchema,\n OptionalTimestampMsSchema,\n PublicIdSchema,\n TimestampMsSchema,\n optionalIdInputSchema,\n optionalUint64DecimalFilterSchema,\n} from \"../../shared/schemas.js\";\nimport {\n positiveDecimalInputToScaled,\n scaledToDecimalOutput,\n type SdkScales,\n} from \"../../shared/decimal-surface.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport {\n FEE_ASSET_VALUES,\n ORDER_STATUS_FILTER_VALUES,\n OrderSideCodec,\n OrderStatusFilterCodec,\n SELF_TRADE_PREVENTION_MODE_VALUES,\n FeeAssetCodec,\n SelfTradePreventionModeCodec,\n} from \"./orders.codecs.js\";\nimport {\n MarketMaxSlippageSchema,\n createRiskPolicyInputSchema,\n parseMarketMaxSlippage,\n} from \"./orders-risk.schemas.js\";\nimport { OptionalClientOrderIdInputSchema } from \"./orders-identifiers.schemas.js\";\nimport { OrderErrorDetailSchema } from \"./order-errors.schemas.js\";\n\nconst OrderStatusSchema = v.picklist(ORDER_STATUS_FILTER_VALUES);\nconst FeeAssetSchema = v.picklist(FEE_ASSET_VALUES);\nconst SelfTradePreventionModeSchema = v.picklist(SELF_TRADE_PREVENTION_MODE_VALUES);\n\nconst BaseOrdersFilterInputEntries = {\n ...AccountScopeInputEntries,\n symbolId: v.optional(v.array(v.number())),\n triggerId: optionalIdInputSchema(\"triggerId\"),\n side: v.pipe(\n v.optional(SideSchema),\n v.transform((v) => (v ? OrderSideCodec.inputToProto[v] : undefined)),\n ),\n limit: v.optional(v.number()),\n pageToken: v.optional(v.pipe(v.string(), v.trim())),\n};\n\nexport const BaseOrdersFilterInputSchema = v.pipe(\n v.strictObject(BaseOrdersFilterInputEntries),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport const OpenOrdersInputSchema = v.pipe(\n v.strictObject({\n ...BaseOrdersFilterInputEntries,\n\n includeAttachedRisk: v.optional(v.boolean(), true),\n includeAttachedRiskState: v.optional(v.boolean(), false),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type OpenOrdersInput = v.InferInput<typeof OpenOrdersInputSchema>;\n\nexport const OrderHistoryInputSchema = v.pipe(\n v.strictObject({\n ...BaseOrdersFilterInputEntries,\n includeAttachedRisk: v.optional(v.boolean(), true),\n includeAttachedRiskState: v.optional(v.boolean(), false),\n status: v.pipe(\n v.optional(OrderStatusSchema),\n v.transform((v) => (v ? OrderStatusFilterCodec.inputToProto[v] : undefined)),\n ),\n startTsNs: optionalUint64DecimalFilterSchema(\"startTsNs\"),\n endTsNs: optionalUint64DecimalFilterSchema(\"endTsNs\"),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type OrderHistoryInput = v.InferInput<typeof OrderHistoryInputSchema>;\n\nconst DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nfunction createOrderIntentBaseEntries(scales: SdkScales) {\n return {\n symbol: v.pipe(v.string(), v.trim(), v.minLength(1)),\n side: v.pipe(\n SideSchema,\n v.transform((v) => OrderSideCodec.inputToProto[v]),\n ),\n execution: createOrderExecutionInputSchema(scales),\n clientOrderId: OptionalClientOrderIdInputSchema,\n feeAsset: v.pipe(\n v.optional(FeeAssetSchema),\n v.transform((v) => (v ? FeeAssetCodec.inputToProto[v] : undefined)),\n ),\n selfTradePreventionMode: v.pipe(\n v.optional(SelfTradePreventionModeSchema),\n v.transform((v) => (v ? SelfTradePreventionModeCodec.inputToProto[v] : undefined)),\n ),\n risk: createRiskPolicyInputSchema(scales),\n };\n}\n\ntype ParsedOrderIntentInput = v.InferOutput<ReturnType<typeof createOrderIntentInputObjectSchema>>;\n\nfunction createOrderIntentInputObjectSchema(scales: SdkScales) {\n const baseEntries = createOrderIntentBaseEntries(scales);\n return v.pipe(\n v.union([\n v.strictObject({\n ...baseEntries,\n qty: DecimalInputStringSchema,\n maxQuoteDebit: v.optional(v.never()),\n }),\n v.strictObject({\n ...baseEntries,\n qty: v.optional(v.never()),\n maxQuoteDebit: DecimalInputStringSchema,\n }),\n ]),\n v.check(\n (input) =>\n input.maxQuoteDebit === undefined ||\n (input.side === ProtoWrite.Side.BUY &&\n (input.execution.case === \"marketIoc\" || input.execution.case === \"limitIoc\")),\n \"maxQuoteDebit is supported only for BUY market IOC and BUY limit IOC orders\",\n ),\n v.check(\n (input) =>\n input.side !== ProtoWrite.Side.SELL ||\n input.feeAsset === undefined ||\n input.feeAsset === ProtoWrite.FeeAsset.QUOTE,\n \"SELL orders must use the quote fee asset\",\n ),\n );\n}\n\nfunction createScopedOrderIntentInputObjectSchema(scales: SdkScales) {\n const baseEntries = {\n ...AccountScopeInputEntries,\n ...createOrderIntentBaseEntries(scales),\n };\n return v.pipe(\n v.union([\n v.strictObject({\n ...baseEntries,\n qty: DecimalInputStringSchema,\n maxQuoteDebit: v.optional(v.never()),\n }),\n v.strictObject({\n ...baseEntries,\n qty: v.optional(v.never()),\n maxQuoteDebit: DecimalInputStringSchema,\n }),\n ]),\n v.check(\n (input) =>\n input.maxQuoteDebit === undefined ||\n (input.side === ProtoWrite.Side.BUY &&\n (input.execution.case === \"marketIoc\" || input.execution.case === \"limitIoc\")),\n \"maxQuoteDebit is supported only for BUY market IOC and BUY limit IOC orders\",\n ),\n v.check(\n (input) =>\n input.side !== ProtoWrite.Side.SELL ||\n input.feeAsset === undefined ||\n input.feeAsset === ProtoWrite.FeeAsset.QUOTE,\n \"SELL orders must use the quote fee asset\",\n ),\n );\n}\n\nfunction toOrderIntent(input: ParsedOrderIntentInput, scales: SdkScales) {\n const { risk, qty, maxQuoteDebit, ...intent } = input;\n const sizing =\n qty !== undefined\n ? ({\n case: \"baseQtyScaled\",\n value: positiveDecimalInputToScaled(\"qty\", qty, scales.baseQty(intent.symbol)),\n } as const)\n : ({\n case: \"maxQuoteDebitScaled\",\n value: positiveDecimalInputToScaled(\n \"maxQuoteDebit\",\n maxQuoteDebit,\n scales.quoteAmount(intent.symbol),\n ),\n } as const);\n return {\n ...intent,\n sizing,\n feeAsset: intent.feeAsset ?? ProtoWrite.FeeAsset.QUOTE,\n attachedRisk: risk,\n };\n}\n\nexport function createOrderIntentInputSchema(scales: SdkScales) {\n return v.pipe(\n createOrderIntentInputObjectSchema(scales),\n v.transform((input) => toOrderIntent(input, scales)),\n );\n}\n\nexport type OrderIntentInput = v.InferInput<ReturnType<typeof createOrderIntentInputSchema>>;\n\nfunction createOrderExecutionInputSchema(scales: SdkScales) {\n const priceToTicks = (fieldName: string, price: string) =>\n positiveDecimalInputToScaled(fieldName, price, scales.price());\n\n return v.variant(\"type\", [\n v.pipe(\n v.strictObject({\n type: v.literal(\"market_ioc\"),\n maxSlippage: v.optional(MarketMaxSlippageSchema),\n clientRefPrice: v.optional(DecimalInputStringSchema),\n }),\n v.transform(({ maxSlippage, clientRefPrice }) => ({\n case: \"marketIoc\" as const,\n value: create(ProtoWrite.MarketIocSchema, {\n maxSlippage: parseMarketMaxSlippage(scales, maxSlippage),\n clientRefPriceTicks:\n clientRefPrice === undefined\n ? 0n\n : priceToTicks(\"execution.clientRefPrice\", clientRefPrice),\n }),\n })),\n ),\n v.pipe(\n v.strictObject({\n type: v.literal(\"limit_gtc\"),\n price: DecimalInputStringSchema,\n postOnly: v.optional(v.boolean(), false),\n }),\n v.transform(({ price, postOnly }) => ({\n case: \"limitGtc\" as const,\n value: create(ProtoWrite.LimitGtcSchema, {\n priceTicks: priceToTicks(\"execution.price\", price),\n postOnly,\n }),\n })),\n ),\n v.pipe(\n v.strictObject({\n type: v.literal(\"limit_ioc\"),\n price: DecimalInputStringSchema,\n }),\n v.transform(({ price }) => ({\n case: \"limitIoc\" as const,\n value: create(ProtoWrite.LimitIocSchema, {\n priceTicks: priceToTicks(\"execution.price\", price),\n }),\n })),\n ),\n v.pipe(\n v.strictObject({\n type: v.literal(\"limit_fok\"),\n price: DecimalInputStringSchema,\n }),\n v.transform(({ price }) => ({\n case: \"limitFok\" as const,\n value: create(ProtoWrite.LimitFokSchema, {\n priceTicks: priceToTicks(\"execution.price\", price),\n }),\n })),\n ),\n ]);\n}\n\nexport function createNewOrderInputSchema(scales: SdkScales) {\n return v.pipe(\n createScopedOrderIntentInputObjectSchema(scales),\n v.transform(({ account, ...input }) => {\n return {\n subaccountId: accountScopeToSubaccountId(account),\n order: toOrderIntent(input, scales),\n };\n }),\n );\n}\n\nexport type NewOrderInput = v.InferInput<ReturnType<typeof createNewOrderInputSchema>>;\n\nconst CancelOrderScopeInputEntries = {\n symbolId: v.optional(v.number()),\n ...AccountScopeInputEntries,\n};\n\nexport const CancelOrderInputSchema = v.pipe(\n v.union([\n v.strictObject({\n ...CancelOrderScopeInputEntries,\n orderId: v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1),\n v.transform((v) => idToBigInt(v, \"orderId\")),\n ),\n clientOrderId: v.optional(v.never()),\n }),\n v.strictObject({\n ...CancelOrderScopeInputEntries,\n orderId: v.optional(v.never()),\n clientOrderId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n }),\n ]),\n v.transform(({ orderId, clientOrderId, account, ...rest }) => {\n const key =\n orderId !== undefined\n ? ({ case: \"orderId\", value: orderId } as const)\n : ({ case: \"clientOrderId\", value: clientOrderId } as const);\n return {\n ...rest,\n subaccountId: accountScopeToSubaccountId(account),\n key,\n };\n }),\n);\n\nexport type CancelOrderInput = v.InferInput<typeof CancelOrderInputSchema>;\n\nexport const CancelOrderResultSchema = v.pipe(\n v.object({\n status: v.string(),\n orderId: PublicIdSchema,\n tsNs: v.bigint(),\n }),\n v.transform(({ tsNs, ...result }) => ({\n ...result,\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n);\n\nexport type CancelOrderResult = v.InferOutput<typeof CancelOrderResultSchema>;\n\nexport const CancelAllOrdersInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n symbol: v.optional(v.pipe(v.string(), v.trim())),\n side: v.pipe(\n v.optional(SideSchema),\n v.transform((v) => (v ? OrderSideCodec.inputToProto[v] : undefined)),\n ),\n dryRun: v.optional(v.boolean(), false),\n requestId: v.optional(v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(64))),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type CancelAllOrdersInput = v.InferInput<typeof CancelAllOrdersInputSchema>;\n\nexport const CancelAllOrdersResponseSchema = v.pipe(\n v.object({\n status: v.string(),\n matchedOrders: v.number(),\n submittedCancels: v.number(),\n failedCancels: v.number(),\n tsNs: v.bigint(),\n }),\n v.transform((o) => ({\n status: o.status,\n matchedOrders: o.matchedOrders,\n submittedCancels: o.submittedCancels,\n failedCancels: o.failedCancels,\n ts: tsNsToMs(o.tsNs),\n })),\n);\n\nexport type CancelAllOrdersResponse = v.InferOutput<typeof CancelAllOrdersResponseSchema>;\n\nexport const GetOrderDetailsInputSchema = v.pipe(\n v.strictObject({\n orderId: v.optional(v.pipe(v.string(), v.trim())),\n clientOrderId: v.optional(v.pipe(v.string(), v.trim())),\n ...AccountScopeInputEntries,\n includeAttachedRisk: v.optional(v.boolean(), true),\n includeAttachedRiskState: v.optional(v.boolean(), true),\n }),\n v.check((input) => {\n const hasOrderId = (input.orderId ?? \"\").length > 0;\n const hasClientOrderId = (input.clientOrderId ?? \"\").length > 0;\n return hasOrderId !== hasClientOrderId;\n }, \"Provide exactly one of orderId or clientOrderId\"),\n v.transform(({ account, orderId, clientOrderId, ...rest }) => {\n const hasOrderId = (orderId ?? \"\").length > 0;\n const key = hasOrderId\n ? ({ case: \"orderId\", value: idToBigInt(orderId ?? \"\", \"orderId\") } as const)\n : ({ case: \"clientOrderId\", value: clientOrderId ?? \"\" } as const);\n return {\n ...rest,\n subaccountId: accountScopeToSubaccountId(account),\n key,\n };\n }),\n);\n\nexport type GetOrderDetailsInput = v.InferInput<typeof GetOrderDetailsInputSchema>;\n\nexport function createCreateOrderResultSchema(scales: SdkScales, symbol: string) {\n return v.pipe(\n v.object({\n orderId: PublicIdSchema,\n clientOrderId: v.string(),\n acceptedAt: OptionalTimestampMsSchema,\n acceptedAtTsNs: v.bigint(),\n resolvedBaseQtyScaled: v.bigint(),\n submittedMaxQuoteDebitScaled: v.optional(v.bigint()),\n takeProfitTriggerId: OptionalPublicIdSchema,\n stopLossTriggerId: OptionalPublicIdSchema,\n trailingStopTriggerId: OptionalPublicIdSchema,\n }),\n v.transform(\n ({\n acceptedAt,\n acceptedAtTsNs,\n resolvedBaseQtyScaled,\n submittedMaxQuoteDebitScaled,\n ...result\n }) => ({\n ...result,\n acceptedAt: acceptedAt ?? tsNsToMs(acceptedAtTsNs),\n acceptedAtNs: acceptedAtTsNs.toString(),\n resolvedBaseQty: scaledToDecimalOutput(\n resolvedBaseQtyScaled,\n scales.baseQty(symbol),\n ),\n ...(submittedMaxQuoteDebitScaled === undefined\n ? {}\n : {\n submittedMaxQuoteDebit: scaledToDecimalOutput(\n submittedMaxQuoteDebitScaled,\n scales.quoteAmount(symbol),\n ),\n }),\n }),\n ),\n );\n}\n\nexport type CreateOrderResult = v.InferOutput<ReturnType<typeof createCreateOrderResultSchema>>;\n\nexport function createPreviewOrderResultSchema(scales: SdkScales, symbol: string) {\n return v.pipe(\n v.object({\n admissible: v.optional(v.boolean()),\n rejection: v.optional(OrderErrorDetailSchema),\n resolvedBaseQtyScaled: v.optional(v.bigint()),\n protectedPriceBoundTicks: v.optional(v.bigint()),\n evaluatedAt: TimestampMsSchema,\n }),\n v.transform(({ resolvedBaseQtyScaled, protectedPriceBoundTicks, ...result }) => ({\n ...result,\n ...(resolvedBaseQtyScaled === undefined\n ? {}\n : {\n resolvedBaseQty: scaledToDecimalOutput(\n resolvedBaseQtyScaled,\n scales.baseQty(symbol),\n ),\n }),\n ...(protectedPriceBoundTicks === undefined\n ? {}\n : {\n protectedPriceBound: scaledToDecimalOutput(\n protectedPriceBoundTicks,\n scales.price(),\n ),\n }),\n })),\n );\n}\n\nexport type PreviewOrderResult = v.InferOutput<ReturnType<typeof createPreviewOrderResultSchema>>;\n"],"mappings":";;;;;;;;;;;;;;;AAwCA,MAAM,oBAAoB,EAAE,SAAS,0BAA0B;AAC/D,MAAM,iBAAiB,EAAE,SAAS,gBAAgB;AAClD,MAAM,gCAAgC,EAAE,SAAS,iCAAiC;AAElF,MAAM,+BAA+B;CACjC,GAAG;CACH,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,WAAW,sBAAsB,WAAW;CAC5C,MAAM,EAAE,KACJ,EAAE,SAAS,UAAU,GACrB,EAAE,WAAW,MAAO,IAAI,eAAe,aAAa,KAAK,KAAA,CAAU,CACvE;CACA,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;CAC5B,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;AACtD;AAE2C,EAAE,KACzC,EAAE,aAAa,4BAA4B,GAC3C,EAAE,WAAW,EAAE,SAAS,GAAG,aAAa;CACpC,GAAG;CACH,cAAc,2BAA2B,OAAO;AACpD,EAAE,CACN;AAEA,MAAa,wBAAwB,EAAE,KACnC,EAAE,aAAa;CACX,GAAG;CAEH,qBAAqB,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI;CACjD,0BAA0B,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK;AAC3D,CAAC,GACD,EAAE,WAAW,EAAE,SAAS,GAAG,aAAa;CACpC,GAAG;CACH,cAAc,2BAA2B,OAAO;AACpD,EAAE,CACN;AAIA,MAAa,0BAA0B,EAAE,KACrC,EAAE,aAAa;CACX,GAAG;CACH,qBAAqB,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI;CACjD,0BAA0B,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK;CACvD,QAAQ,EAAE,KACN,EAAE,SAAS,iBAAiB,GAC5B,EAAE,WAAW,MAAO,IAAI,uBAAuB,aAAa,KAAK,KAAA,CAAU,CAC/E;CACA,WAAW,kCAAkC,WAAW;CACxD,SAAS,kCAAkC,SAAS;AACxD,CAAC,GACD,EAAE,WAAW,EAAE,SAAS,GAAG,aAAa;CACpC,GAAG;CACH,cAAc,2BAA2B,OAAO;AACpD,EAAE,CACN;AAIA,MAAM,2BAA2B,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AAE5E,SAAS,6BAA6B,QAAmB;CACrD,OAAO;EACH,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;EACnD,MAAM,EAAE,KACJ,YACA,EAAE,WAAW,MAAM,eAAe,aAAa,EAAE,CACrD;EACA,WAAW,gCAAgC,MAAM;EACjD,eAAe;EACf,UAAU,EAAE,KACR,EAAE,SAAS,cAAc,GACzB,EAAE,WAAW,MAAO,IAAI,cAAc,aAAa,KAAK,KAAA,CAAU,CACtE;EACA,yBAAyB,EAAE,KACvB,EAAE,SAAS,6BAA6B,GACxC,EAAE,WAAW,MAAO,IAAI,6BAA6B,aAAa,KAAK,KAAA,CAAU,CACrF;EACA,MAAM,4BAA4B,MAAM;CAC5C;AACJ;AAIA,SAAS,mCAAmC,QAAmB;CAC3D,MAAM,cAAc,6BAA6B,MAAM;CACvD,OAAO,EAAE,KACL,EAAE,MAAM,CACJ,EAAE,aAAa;EACX,GAAG;EACH,KAAK;EACL,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;CACvC,CAAC,GACD,EAAE,aAAa;EACX,GAAG;EACH,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;EACzB,eAAe;CACnB,CAAC,CACL,CAAC,GACD,EAAE,OACG,UACG,MAAM,kBAAkB,KAAA,KACvB,MAAM,SAAA,MACF,MAAM,UAAU,SAAS,eAAe,MAAM,UAAU,SAAS,aAC1E,6EACJ,GACA,EAAE,OACG,UACG,MAAM,SAAA,KACN,MAAM,aAAa,KAAA,KACnB,MAAM,aAAA,GACV,0CACJ,CACJ;AACJ;AAEA,SAAS,yCAAyC,QAAmB;CACjE,MAAM,cAAc;EAChB,GAAG;EACH,GAAG,6BAA6B,MAAM;CAC1C;CACA,OAAO,EAAE,KACL,EAAE,MAAM,CACJ,EAAE,aAAa;EACX,GAAG;EACH,KAAK;EACL,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;CACvC,CAAC,GACD,EAAE,aAAa;EACX,GAAG;EACH,KAAK,EAAE,SAAS,EAAE,MAAM,CAAC;EACzB,eAAe;CACnB,CAAC,CACL,CAAC,GACD,EAAE,OACG,UACG,MAAM,kBAAkB,KAAA,KACvB,MAAM,SAAA,MACF,MAAM,UAAU,SAAS,eAAe,MAAM,UAAU,SAAS,aAC1E,6EACJ,GACA,EAAE,OACG,UACG,MAAM,SAAA,KACN,MAAM,aAAa,KAAA,KACnB,MAAM,aAAA,GACV,0CACJ,CACJ;AACJ;AAEA,SAAS,cAAc,OAA+B,QAAmB;CACrE,MAAM,EAAE,MAAM,KAAK,eAAe,GAAG,WAAW;CAChD,MAAM,SACF,QAAQ,KAAA,IACD;EACG,MAAM;EACN,OAAO,6BAA6B,OAAO,KAAK,OAAO,QAAQ,OAAO,MAAM,CAAC;CACjF,IACC;EACG,MAAM;EACN,OAAO,6BACH,iBACA,eACA,OAAO,YAAY,OAAO,MAAM,CACpC;CACJ;CACV,OAAO;EACH,GAAG;EACH;EACA,UAAU,OAAO,YAAA;EACjB,cAAc;CAClB;AACJ;AAEA,SAAgB,6BAA6B,QAAmB;CAC5D,OAAO,EAAE,KACL,mCAAmC,MAAM,GACzC,EAAE,WAAW,UAAU,cAAc,OAAO,MAAM,CAAC,CACvD;AACJ;AAIA,SAAS,gCAAgC,QAAmB;CACxD,MAAM,gBAAgB,WAAmB,UACrC,6BAA6B,WAAW,OAAO,OAAO,MAAM,CAAC;CAEjE,OAAO,EAAE,QAAQ,QAAQ;EACrB,EAAE,KACE,EAAE,aAAa;GACX,MAAM,EAAE,QAAQ,YAAY;GAC5B,aAAa,EAAE,SAAS,uBAAuB;GAC/C,gBAAgB,EAAE,SAAS,wBAAwB;EACvD,CAAC,GACD,EAAE,WAAW,EAAE,aAAa,sBAAsB;GAC9C,MAAM;GACN,OAAO,OAAOA,iBAA4B;IACtC,aAAa,uBAAuB,QAAQ,WAAW;IACvD,qBACI,mBAAmB,KAAA,IACb,KACA,aAAa,4BAA4B,cAAc;GACrE,CAAC;EACL,EAAE,CACN;EACA,EAAE,KACE,EAAE,aAAa;GACX,MAAM,EAAE,QAAQ,WAAW;GAC3B,OAAO;GACP,UAAU,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK;EAC3C,CAAC,GACD,EAAE,WAAW,EAAE,OAAO,gBAAgB;GAClC,MAAM;GACN,OAAO,OAAOC,gBAA2B;IACrC,YAAY,aAAa,mBAAmB,KAAK;IACjD;GACJ,CAAC;EACL,EAAE,CACN;EACA,EAAE,KACE,EAAE,aAAa;GACX,MAAM,EAAE,QAAQ,WAAW;GAC3B,OAAO;EACX,CAAC,GACD,EAAE,WAAW,EAAE,aAAa;GACxB,MAAM;GACN,OAAO,OAAOC,gBAA2B,EACrC,YAAY,aAAa,mBAAmB,KAAK,EACrD,CAAC;EACL,EAAE,CACN;EACA,EAAE,KACE,EAAE,aAAa;GACX,MAAM,EAAE,QAAQ,WAAW;GAC3B,OAAO;EACX,CAAC,GACD,EAAE,WAAW,EAAE,aAAa;GACxB,MAAM;GACN,OAAO,OAAOC,gBAA2B,EACrC,YAAY,aAAa,mBAAmB,KAAK,EACrD,CAAC;EACL,EAAE,CACN;CACJ,CAAC;AACL;AAEA,SAAgB,0BAA0B,QAAmB;CACzD,OAAO,EAAE,KACL,yCAAyC,MAAM,GAC/C,EAAE,WAAW,EAAE,SAAS,GAAG,YAAY;EACnC,OAAO;GACH,cAAc,2BAA2B,OAAO;GAChD,OAAO,cAAc,OAAO,MAAM;EACtC;CACJ,CAAC,CACL;AACJ;AAIA,MAAM,+BAA+B;CACjC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;CAC/B,GAAG;AACP;AAEA,MAAa,yBAAyB,EAAE,KACpC,EAAE,MAAM,CACJ,EAAE,aAAa;CACX,GAAG;CACH,SAAS,EAAE,KACP,EAAE,OAAO,GACT,EAAE,KAAK,GACP,EAAE,UAAU,CAAC,GACb,EAAE,WAAW,MAAM,WAAW,GAAG,SAAS,CAAC,CAC/C;CACA,eAAe,EAAE,SAAS,EAAE,MAAM,CAAC;AACvC,CAAC,GACD,EAAE,aAAa;CACX,GAAG;CACH,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC;CAC7B,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AAC9D,CAAC,CACL,CAAC,GACD,EAAE,WAAW,EAAE,SAAS,eAAe,SAAS,GAAG,WAAW;CAC1D,MAAM,MACF,YAAY,KAAA,IACL;EAAE,MAAM;EAAW,OAAO;CAAQ,IAClC;EAAE,MAAM;EAAiB,OAAO;CAAc;CACzD,OAAO;EACH,GAAG;EACH,cAAc,2BAA2B,OAAO;EAChD;CACJ;AACJ,CAAC,CACL;AAIA,MAAa,0BAA0B,EAAE,KACrC,EAAE,OAAO;CACL,QAAQ,EAAE,OAAO;CACjB,SAAS;CACT,MAAM,EAAE,OAAO;AACnB,CAAC,GACD,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc;CAClC,GAAG;CACH,IAAI,SAAS,IAAI;CACjB,MAAM,KAAK,SAAS;AACxB,EAAE,CACN;AAIA,MAAa,6BAA6B,EAAE,KACxC,EAAE,aAAa;CACX,GAAG;CACH,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;CAC/C,MAAM,EAAE,KACJ,EAAE,SAAS,UAAU,GACrB,EAAE,WAAW,MAAO,IAAI,eAAe,aAAa,KAAK,KAAA,CAAU,CACvE;CACA,QAAQ,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK;CACrC,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,GAAG,EAAE,UAAU,EAAE,CAAC,CAAC;AACvF,CAAC,GACD,EAAE,WAAW,EAAE,SAAS,GAAG,aAAa;CACpC,GAAG;CACH,cAAc,2BAA2B,OAAO;AACpD,EAAE,CACN;AAIA,MAAa,gCAAgC,EAAE,KAC3C,EAAE,OAAO;CACL,QAAQ,EAAE,OAAO;CACjB,eAAe,EAAE,OAAO;CACxB,kBAAkB,EAAE,OAAO;CAC3B,eAAe,EAAE,OAAO;CACxB,MAAM,EAAE,OAAO;AACnB,CAAC,GACD,EAAE,WAAW,OAAO;CAChB,QAAQ,EAAE;CACV,eAAe,EAAE;CACjB,kBAAkB,EAAE;CACpB,eAAe,EAAE;CACjB,IAAI,SAAS,EAAE,IAAI;AACvB,EAAE,CACN;AAIA,MAAa,6BAA6B,EAAE,KACxC,EAAE,aAAa;CACX,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;CAChD,eAAe,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,CAAC;CACtD,GAAG;CACH,qBAAqB,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI;CACjD,0BAA0B,EAAE,SAAS,EAAE,QAAQ,GAAG,IAAI;AAC1D,CAAC,GACD,EAAE,OAAO,UAAU;CAGf,QAFoB,MAAM,WAAW,GAAA,CAAI,SAAS,OACxB,MAAM,iBAAiB,GAAA,CAAI,SAAS;AAElE,GAAG,iDAAiD,GACpD,EAAE,WAAW,EAAE,SAAS,SAAS,eAAe,GAAG,WAAW;CAE1D,MAAM,OADc,WAAW,GAAA,CAAI,SAAS,IAErC;EAAE,MAAM;EAAW,OAAO,WAAW,WAAW,IAAI,SAAS;CAAE,IAC/D;EAAE,MAAM;EAAiB,OAAO,iBAAiB;CAAG;CAC3D,OAAO;EACH,GAAG;EACH,cAAc,2BAA2B,OAAO;EAChD;CACJ;AACJ,CAAC,CACL;AAIA,SAAgB,8BAA8B,QAAmB,QAAgB;CAC7E,OAAO,EAAE,KACL,EAAE,OAAO;EACL,SAAS;EACT,eAAe,EAAE,OAAO;EACxB,YAAY;EACZ,gBAAgB,EAAE,OAAO;EACzB,uBAAuB,EAAE,OAAO;EAChC,8BAA8B,EAAE,SAAS,EAAE,OAAO,CAAC;EACnD,qBAAqB;EACrB,mBAAmB;EACnB,uBAAuB;CAC3B,CAAC,GACD,EAAE,WACG,EACG,YACA,gBACA,uBACA,8BACA,GAAG,cACA;EACH,GAAG;EACH,YAAY,cAAc,SAAS,cAAc;EACjD,cAAc,eAAe,SAAS;EACtC,iBAAiB,sBACb,uBACA,OAAO,QAAQ,MAAM,CACzB;EACA,GAAI,iCAAiC,KAAA,IAC/B,CAAC,IACD,EACI,wBAAwB,sBACpB,8BACA,OAAO,YAAY,MAAM,CAC7B,EACJ;CACV,EACJ,CACJ;AACJ;AAIA,SAAgB,+BAA+B,QAAmB,QAAgB;CAC9E,OAAO,EAAE,KACL,EAAE,OAAO;EACL,YAAY,EAAE,SAAS,EAAE,QAAQ,CAAC;EAClC,WAAW,EAAE,SAAS,sBAAsB;EAC5C,uBAAuB,EAAE,SAAS,EAAE,OAAO,CAAC;EAC5C,0BAA0B,EAAE,SAAS,EAAE,OAAO,CAAC;EAC/C,aAAa;CACjB,CAAC,GACD,EAAE,WAAW,EAAE,uBAAuB,0BAA0B,GAAG,cAAc;EAC7E,GAAG;EACH,GAAI,0BAA0B,KAAA,IACxB,CAAC,IACD,EACI,iBAAiB,sBACb,uBACA,OAAO,QAAQ,MAAM,CACzB,EACJ;EACN,GAAI,6BAA6B,KAAA,IAC3B,CAAC,IACD,EACI,qBAAqB,sBACjB,0BACA,OAAO,MAAM,CACjB,EACJ;CACV,EAAE,CACN;AACJ"}
|
|
@@ -1758,7 +1758,7 @@ declare function createModifyOrderInputSchema(scales: SdkScales): v.SchemaWithPi
|
|
|
1758
1758
|
requestId: string | undefined;
|
|
1759
1759
|
}>]>;
|
|
1760
1760
|
type ModifyOrderInput = v.InferInput<ReturnType<typeof createModifyOrderInputSchema>>;
|
|
1761
|
-
declare const ModifyOrderResultSchema: v.ObjectSchema<{
|
|
1761
|
+
declare const ModifyOrderResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
1762
1762
|
readonly actionTaken: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ModifyActionTaken, undefined>, v.TransformAction<ModifyActionTaken, "unspecified" | "AMENDED" | "REPLACED">]>;
|
|
1763
1763
|
readonly oldOrderId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
1764
1764
|
readonly finalOrderId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
|
|
@@ -1766,8 +1766,27 @@ declare const ModifyOrderResultSchema: v.ObjectSchema<{
|
|
|
1766
1766
|
readonly takeProfitTriggerId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
1767
1767
|
readonly stopLossTriggerId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
1768
1768
|
readonly trailingStopTriggerId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
1769
|
-
readonly tsNs: v.
|
|
1770
|
-
}, undefined
|
|
1769
|
+
readonly tsNs: v.BigintSchema<undefined>;
|
|
1770
|
+
}, undefined>, v.TransformAction<{
|
|
1771
|
+
actionTaken: "unspecified" | "AMENDED" | "REPLACED";
|
|
1772
|
+
oldOrderId: string;
|
|
1773
|
+
finalOrderId: string;
|
|
1774
|
+
code: string;
|
|
1775
|
+
takeProfitTriggerId?: string | undefined;
|
|
1776
|
+
stopLossTriggerId?: string | undefined;
|
|
1777
|
+
trailingStopTriggerId?: string | undefined;
|
|
1778
|
+
tsNs: bigint;
|
|
1779
|
+
}, {
|
|
1780
|
+
ts: number;
|
|
1781
|
+
tsNs: string;
|
|
1782
|
+
actionTaken: "unspecified" | "AMENDED" | "REPLACED";
|
|
1783
|
+
oldOrderId: string;
|
|
1784
|
+
finalOrderId: string;
|
|
1785
|
+
code: string;
|
|
1786
|
+
takeProfitTriggerId?: string | undefined;
|
|
1787
|
+
stopLossTriggerId?: string | undefined;
|
|
1788
|
+
trailingStopTriggerId?: string | undefined;
|
|
1789
|
+
}>]>;
|
|
1771
1790
|
type ModifyOrderResult = v.InferOutput<typeof ModifyOrderResultSchema>;
|
|
1772
1791
|
//#endregion
|
|
1773
1792
|
export { ModifyOrderInput, ModifyOrderResult, ModifyOrderResultSchema, createModifyOrderInputSchema };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-modify.schemas.d.ts","names":[],"sources":["../../../src/services/orders/orders-modify.schemas.ts"],"mappings":";;;;iBA0LgB,6BAA6B,QAAQ,YAAS,EAAA,yBAAA,EAAA,iBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAclD,mBAAmB,EAAE,WAAW,kBAAkB;cAEjD,yBAAuB,EAAA
|
|
1
|
+
{"version":3,"file":"orders-modify.schemas.d.ts","names":[],"sources":["../../../src/services/orders/orders-modify.schemas.ts"],"mappings":";;;;iBA0LgB,6BAA6B,QAAQ,YAAS,EAAA,yBAAA,EAAA,iBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAclD,mBAAmB,EAAE,WAAW,kBAAkB;cAEjD,yBAAuB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4BxB,oBAAoB,EAAE,mBAAmB"}
|
|
@@ -116,7 +116,7 @@ function createModifyOrderInputSchema(scales) {
|
|
|
116
116
|
...toModifyOrderItem(input, scales, 1)
|
|
117
117
|
})));
|
|
118
118
|
}
|
|
119
|
-
const ModifyOrderResultSchema = v.object({
|
|
119
|
+
const ModifyOrderResultSchema = v.pipe(v.object({
|
|
120
120
|
actionTaken: v.pipe(v.enum(ModifyActionTaken), v.transform((v) => requiredEnumLabel(ModifyActionCodec.protoToOutput, v, "ModifyOrderResultSchema", "action taken"))),
|
|
121
121
|
oldOrderId: PublicIdSchema,
|
|
122
122
|
finalOrderId: PublicIdSchema,
|
|
@@ -124,8 +124,12 @@ const ModifyOrderResultSchema = v.object({
|
|
|
124
124
|
takeProfitTriggerId: OptionalPublicIdSchema,
|
|
125
125
|
stopLossTriggerId: OptionalPublicIdSchema,
|
|
126
126
|
trailingStopTriggerId: OptionalPublicIdSchema,
|
|
127
|
-
tsNs: v.
|
|
128
|
-
})
|
|
127
|
+
tsNs: v.bigint()
|
|
128
|
+
}), v.transform(({ tsNs, ...result }) => ({
|
|
129
|
+
...result,
|
|
130
|
+
ts: tsNsToMs(tsNs),
|
|
131
|
+
tsNs: tsNs.toString()
|
|
132
|
+
})));
|
|
129
133
|
//#endregion
|
|
130
134
|
export { ModifyOrderResultSchema, assertKnownModifyOrderInputKeys, createModifyOrderInputSchema };
|
|
131
135
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-modify.schemas.js","names":["ProtoWrite.RiskPolicySchema","ProtoWrite.ModifyActionTaken"],"sources":["../../../src/services/orders/orders-modify.schemas.ts"],"sourcesContent":["import * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { create } from \"@bufbuild/protobuf\";\nimport * as v from \"valibot\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport { OptionalPublicIdSchema, PublicIdSchema } from \"../../shared/schemas.js\";\nimport { positiveDecimalInputToScaled, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { MODIFY_BEHAVIOR_VALUES, ModifyActionCodec, ModifyBehaviorCodec } from \"./orders.codecs.js\";\nimport { createRequiredRiskPolicyInputSchema } from \"./orders-risk.schemas.js\";\nimport {\n ClientOrderIdInputSchema,\n OrderRequestIdInputSchema,\n} from \"./orders-identifiers.schemas.js\";\n\nconst ModifyBehaviorInputSchema = v.picklist(MODIFY_BEHAVIOR_VALUES);\n\nconst ModifyOrderIdInputSchema = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1),\n v.transform((value) => idToBigInt(value, \"orderId\")),\n v.check((value) => value > 0n, \"orderId must be greater than zero\"),\n);\n\nconst DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nconst ModifyOrderItemBaseInputSchema = v.object({\n // Pair symbol of the order being modified; required to resolve the\n // base-quantity wire scale for newQty.\n symbol: v.pipe(v.string(), v.trim(), v.minLength(1)),\n behavior: v.optional(ModifyBehaviorInputSchema),\n newClientOrderId: v.optional(ClientOrderIdInputSchema),\n});\n\nconst ModifyOrderRequestInputSchema = v.object({\n ...AccountScopeInputEntries,\n requestId: v.optional(OrderRequestIdInputSchema),\n});\n\nconst ModifyOrderKeyInputSchema = v.union([\n v.pipe(\n v.object({\n orderId: ModifyOrderIdInputSchema,\n clientOrderId: v.optional(v.never()),\n }),\n v.transform(({ orderId }) => ({\n key: { case: \"orderId\" as const, value: orderId },\n })),\n ),\n v.pipe(\n v.object({\n orderId: v.optional(v.never()),\n clientOrderId: ClientOrderIdInputSchema,\n }),\n v.transform(({ clientOrderId }) => ({\n key: { case: \"clientOrderId\" as const, value: clientOrderId },\n })),\n ),\n]);\n\nconst ModifyOrderPricePatchInputSchema = v.object({\n newPrice: DecimalInputStringSchema,\n newQty: v.optional(DecimalInputStringSchema),\n});\n\nconst ModifyOrderQtyPatchInputSchema = v.object({\n newPrice: v.optional(DecimalInputStringSchema),\n newQty: DecimalInputStringSchema,\n});\n\nconst ModifyOrderNoPriceQtyPatchInputSchema = v.object({\n newPrice: v.optional(v.never()),\n newQty: v.optional(v.never()),\n});\n\nconst ModifyOrderClearRiskPatchInputSchema = v.object({\n risk: v.optional(v.never()),\n clearRisk: v.literal(true),\n});\n\nconst ModifyOrderNoRiskPatchInputSchema = v.object({\n risk: v.optional(v.never()),\n clearRisk: v.optional(v.literal(false)),\n});\n\nconst MODIFY_ORDER_ITEM_INPUT_KEYS = new Set<string>([\n ...Object.keys(ModifyOrderItemBaseInputSchema.entries),\n \"orderId\",\n \"clientOrderId\",\n \"newPrice\",\n \"newQty\",\n \"risk\",\n \"clearRisk\",\n]);\n\nconst MODIFY_ORDER_INPUT_KEYS = new Set<string>([\n ...MODIFY_ORDER_ITEM_INPUT_KEYS,\n ...Object.keys(ModifyOrderRequestInputSchema.entries),\n]);\n\n/**\n * The modify-order input is a v.intersect of partial object schemas, so its\n * members cannot use v.strictObject (each member would reject the other\n * members' keys). Unknown keys are rejected up front instead, matching the\n * strict-input behavior of every other mutating method.\n */\nexport function assertKnownModifyOrderInputKeys(input: object): void {\n for (const key of Object.keys(input)) {\n if (!MODIFY_ORDER_INPUT_KEYS.has(key)) {\n throw new Error(`Unknown key \"${key}\" in modify order input.`);\n }\n }\n}\n\nfunction createModifyOrderPatchInputSchema(scales: SdkScales) {\n const ModifyOrderSetRiskPatchInputSchema = v.object({\n risk: createRequiredRiskPolicyInputSchema(scales),\n clearRisk: v.optional(v.literal(false)),\n });\n\n const ModifyOrderAnyRiskPatchInputSchema = v.union([\n ModifyOrderSetRiskPatchInputSchema,\n ModifyOrderClearRiskPatchInputSchema,\n ModifyOrderNoRiskPatchInputSchema,\n ]);\n\n const ModifyOrderRequiredRiskPatchInputSchema = v.union([\n ModifyOrderSetRiskPatchInputSchema,\n ModifyOrderClearRiskPatchInputSchema,\n ]);\n\n return v.union([\n v.intersect([ModifyOrderPricePatchInputSchema, ModifyOrderAnyRiskPatchInputSchema]),\n v.intersect([ModifyOrderQtyPatchInputSchema, ModifyOrderAnyRiskPatchInputSchema]),\n v.intersect([\n ModifyOrderNoPriceQtyPatchInputSchema,\n ModifyOrderRequiredRiskPatchInputSchema,\n ]),\n ]);\n}\n\nfunction createModifyOrderItemObjectInputSchema(scales: SdkScales) {\n return v.intersect([\n ModifyOrderItemBaseInputSchema,\n ModifyOrderKeyInputSchema,\n createModifyOrderPatchInputSchema(scales),\n ]);\n}\n\ntype ParsedModifyOrderItemInput = v.InferOutput<\n ReturnType<typeof createModifyOrderItemObjectInputSchema>\n>;\n\nfunction toModifyOrderItem(\n input: ParsedModifyOrderItemInput,\n scales: SdkScales,\n defaultBehavior: ProtoWrite.ModifyBehavior,\n) {\n return {\n key: input.key,\n newPriceTicks:\n input.newPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\"newPrice\", input.newPrice, scales.price()),\n newQtyScaled:\n input.newQty === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"newQty\",\n input.newQty,\n scales.baseQty(input.symbol),\n ),\n newAttachedRisk:\n input.clearRisk === true ? create(ProtoWrite.RiskPolicySchema) : input.risk,\n behavior: input.behavior\n ? ModifyBehaviorCodec.inputToProto[input.behavior]\n : defaultBehavior,\n newClientOrderId: input.newClientOrderId ?? \"\",\n };\n}\n\nexport function createModifyOrderInputSchema(scales: SdkScales) {\n return v.pipe(\n v.intersect([\n ModifyOrderRequestInputSchema,\n createModifyOrderItemObjectInputSchema(scales),\n ]),\n v.transform((input) => ({\n subaccountId: accountScopeToSubaccountId(input.account),\n requestId: input.requestId,\n ...toModifyOrderItem(input, scales, ProtoWrite.ModifyBehavior.AMEND_OR_REPLACE),\n })),\n );\n}\n\nexport type ModifyOrderInput = v.InferInput<ReturnType<typeof createModifyOrderInputSchema>>;\n\nexport const ModifyOrderResultSchema = v.object({\n actionTaken: v.pipe(\n v.enum(ProtoWrite.ModifyActionTaken),\n v.transform((v) =>\n requiredEnumLabel(\n ModifyActionCodec.protoToOutput,\n v,\n \"ModifyOrderResultSchema\",\n \"action taken\",\n ),\n ),\n ),\n oldOrderId: PublicIdSchema,\n finalOrderId: PublicIdSchema,\n code: v.string(),\n takeProfitTriggerId: OptionalPublicIdSchema,\n stopLossTriggerId: OptionalPublicIdSchema,\n trailingStopTriggerId: OptionalPublicIdSchema,\n tsNs: v.pipe(\n v.bigint(),\n v.transform((v) => tsNsToMs(v)),\n ),\n});\n\nexport type ModifyOrderResult = v.InferOutput<typeof ModifyOrderResultSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orders-modify.schemas.js","names":["ProtoWrite.RiskPolicySchema","ProtoWrite.ModifyActionTaken"],"sources":["../../../src/services/orders/orders-modify.schemas.ts"],"sourcesContent":["import * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { create } from \"@bufbuild/protobuf\";\nimport * as v from \"valibot\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport { OptionalPublicIdSchema, PublicIdSchema } from \"../../shared/schemas.js\";\nimport { positiveDecimalInputToScaled, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { MODIFY_BEHAVIOR_VALUES, ModifyActionCodec, ModifyBehaviorCodec } from \"./orders.codecs.js\";\nimport { createRequiredRiskPolicyInputSchema } from \"./orders-risk.schemas.js\";\nimport {\n ClientOrderIdInputSchema,\n OrderRequestIdInputSchema,\n} from \"./orders-identifiers.schemas.js\";\n\nconst ModifyBehaviorInputSchema = v.picklist(MODIFY_BEHAVIOR_VALUES);\n\nconst ModifyOrderIdInputSchema = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1),\n v.transform((value) => idToBigInt(value, \"orderId\")),\n v.check((value) => value > 0n, \"orderId must be greater than zero\"),\n);\n\nconst DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nconst ModifyOrderItemBaseInputSchema = v.object({\n // Pair symbol of the order being modified; required to resolve the\n // base-quantity wire scale for newQty.\n symbol: v.pipe(v.string(), v.trim(), v.minLength(1)),\n behavior: v.optional(ModifyBehaviorInputSchema),\n newClientOrderId: v.optional(ClientOrderIdInputSchema),\n});\n\nconst ModifyOrderRequestInputSchema = v.object({\n ...AccountScopeInputEntries,\n requestId: v.optional(OrderRequestIdInputSchema),\n});\n\nconst ModifyOrderKeyInputSchema = v.union([\n v.pipe(\n v.object({\n orderId: ModifyOrderIdInputSchema,\n clientOrderId: v.optional(v.never()),\n }),\n v.transform(({ orderId }) => ({\n key: { case: \"orderId\" as const, value: orderId },\n })),\n ),\n v.pipe(\n v.object({\n orderId: v.optional(v.never()),\n clientOrderId: ClientOrderIdInputSchema,\n }),\n v.transform(({ clientOrderId }) => ({\n key: { case: \"clientOrderId\" as const, value: clientOrderId },\n })),\n ),\n]);\n\nconst ModifyOrderPricePatchInputSchema = v.object({\n newPrice: DecimalInputStringSchema,\n newQty: v.optional(DecimalInputStringSchema),\n});\n\nconst ModifyOrderQtyPatchInputSchema = v.object({\n newPrice: v.optional(DecimalInputStringSchema),\n newQty: DecimalInputStringSchema,\n});\n\nconst ModifyOrderNoPriceQtyPatchInputSchema = v.object({\n newPrice: v.optional(v.never()),\n newQty: v.optional(v.never()),\n});\n\nconst ModifyOrderClearRiskPatchInputSchema = v.object({\n risk: v.optional(v.never()),\n clearRisk: v.literal(true),\n});\n\nconst ModifyOrderNoRiskPatchInputSchema = v.object({\n risk: v.optional(v.never()),\n clearRisk: v.optional(v.literal(false)),\n});\n\nconst MODIFY_ORDER_ITEM_INPUT_KEYS = new Set<string>([\n ...Object.keys(ModifyOrderItemBaseInputSchema.entries),\n \"orderId\",\n \"clientOrderId\",\n \"newPrice\",\n \"newQty\",\n \"risk\",\n \"clearRisk\",\n]);\n\nconst MODIFY_ORDER_INPUT_KEYS = new Set<string>([\n ...MODIFY_ORDER_ITEM_INPUT_KEYS,\n ...Object.keys(ModifyOrderRequestInputSchema.entries),\n]);\n\n/**\n * The modify-order input is a v.intersect of partial object schemas, so its\n * members cannot use v.strictObject (each member would reject the other\n * members' keys). Unknown keys are rejected up front instead, matching the\n * strict-input behavior of every other mutating method.\n */\nexport function assertKnownModifyOrderInputKeys(input: object): void {\n for (const key of Object.keys(input)) {\n if (!MODIFY_ORDER_INPUT_KEYS.has(key)) {\n throw new Error(`Unknown key \"${key}\" in modify order input.`);\n }\n }\n}\n\nfunction createModifyOrderPatchInputSchema(scales: SdkScales) {\n const ModifyOrderSetRiskPatchInputSchema = v.object({\n risk: createRequiredRiskPolicyInputSchema(scales),\n clearRisk: v.optional(v.literal(false)),\n });\n\n const ModifyOrderAnyRiskPatchInputSchema = v.union([\n ModifyOrderSetRiskPatchInputSchema,\n ModifyOrderClearRiskPatchInputSchema,\n ModifyOrderNoRiskPatchInputSchema,\n ]);\n\n const ModifyOrderRequiredRiskPatchInputSchema = v.union([\n ModifyOrderSetRiskPatchInputSchema,\n ModifyOrderClearRiskPatchInputSchema,\n ]);\n\n return v.union([\n v.intersect([ModifyOrderPricePatchInputSchema, ModifyOrderAnyRiskPatchInputSchema]),\n v.intersect([ModifyOrderQtyPatchInputSchema, ModifyOrderAnyRiskPatchInputSchema]),\n v.intersect([\n ModifyOrderNoPriceQtyPatchInputSchema,\n ModifyOrderRequiredRiskPatchInputSchema,\n ]),\n ]);\n}\n\nfunction createModifyOrderItemObjectInputSchema(scales: SdkScales) {\n return v.intersect([\n ModifyOrderItemBaseInputSchema,\n ModifyOrderKeyInputSchema,\n createModifyOrderPatchInputSchema(scales),\n ]);\n}\n\ntype ParsedModifyOrderItemInput = v.InferOutput<\n ReturnType<typeof createModifyOrderItemObjectInputSchema>\n>;\n\nfunction toModifyOrderItem(\n input: ParsedModifyOrderItemInput,\n scales: SdkScales,\n defaultBehavior: ProtoWrite.ModifyBehavior,\n) {\n return {\n key: input.key,\n newPriceTicks:\n input.newPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\"newPrice\", input.newPrice, scales.price()),\n newQtyScaled:\n input.newQty === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"newQty\",\n input.newQty,\n scales.baseQty(input.symbol),\n ),\n newAttachedRisk:\n input.clearRisk === true ? create(ProtoWrite.RiskPolicySchema) : input.risk,\n behavior: input.behavior\n ? ModifyBehaviorCodec.inputToProto[input.behavior]\n : defaultBehavior,\n newClientOrderId: input.newClientOrderId ?? \"\",\n };\n}\n\nexport function createModifyOrderInputSchema(scales: SdkScales) {\n return v.pipe(\n v.intersect([\n ModifyOrderRequestInputSchema,\n createModifyOrderItemObjectInputSchema(scales),\n ]),\n v.transform((input) => ({\n subaccountId: accountScopeToSubaccountId(input.account),\n requestId: input.requestId,\n ...toModifyOrderItem(input, scales, ProtoWrite.ModifyBehavior.AMEND_OR_REPLACE),\n })),\n );\n}\n\nexport type ModifyOrderInput = v.InferInput<ReturnType<typeof createModifyOrderInputSchema>>;\n\nexport const ModifyOrderResultSchema = v.pipe(\n v.object({\n actionTaken: v.pipe(\n v.enum(ProtoWrite.ModifyActionTaken),\n v.transform((v) =>\n requiredEnumLabel(\n ModifyActionCodec.protoToOutput,\n v,\n \"ModifyOrderResultSchema\",\n \"action taken\",\n ),\n ),\n ),\n oldOrderId: PublicIdSchema,\n finalOrderId: PublicIdSchema,\n code: v.string(),\n takeProfitTriggerId: OptionalPublicIdSchema,\n stopLossTriggerId: OptionalPublicIdSchema,\n trailingStopTriggerId: OptionalPublicIdSchema,\n tsNs: v.bigint(),\n }),\n v.transform(({ tsNs, ...result }) => ({\n ...result,\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n);\n\nexport type ModifyOrderResult = v.InferOutput<typeof ModifyOrderResultSchema>;\n"],"mappings":"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"}
|
|
@@ -9,7 +9,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
|
|
|
9
9
|
readonly symbolId: v.NumberSchema<undefined>;
|
|
10
10
|
readonly clientOrderId: v.StringSchema<undefined>;
|
|
11
11
|
readonly side: v.EnumSchema<typeof Side, undefined>;
|
|
12
|
-
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "
|
|
12
|
+
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected">]>;
|
|
13
13
|
readonly orderType: v.NumberSchema<undefined>;
|
|
14
14
|
readonly timeInForce: v.NumberSchema<undefined>;
|
|
15
15
|
readonly selfTradePreventionMode: v.NumberSchema<undefined>;
|
|
@@ -74,7 +74,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
|
|
|
74
74
|
}, undefined>, undefined>;
|
|
75
75
|
readonly origin: v.OptionalSchema<v.ObjectSchema<{
|
|
76
76
|
readonly scope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderOriginScope, undefined>, v.TransformAction<OrderOriginScope, "unspecified" | "direct" | "attached_risk" | "standalone_trigger" | "system">]>;
|
|
77
|
-
readonly triggerType: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderTriggerType, undefined>, v.TransformAction<OrderTriggerType, "unspecified" | "
|
|
77
|
+
readonly triggerType: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderTriggerType, undefined>, v.TransformAction<OrderTriggerType, "unspecified" | "twap" | "ladder" | "stop_loss" | "take_profit" | "trailing_stop">]>;
|
|
78
78
|
readonly triggerId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
79
79
|
readonly parentOrderId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
80
80
|
readonly childSeq: v.NumberSchema<undefined>;
|
|
@@ -90,7 +90,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
|
|
|
90
90
|
symbolId: number;
|
|
91
91
|
clientOrderId: string;
|
|
92
92
|
side: Side;
|
|
93
|
-
status: "unspecified" | "pending" | "canceled" | "
|
|
93
|
+
status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
|
|
94
94
|
orderType: number;
|
|
95
95
|
timeInForce: number;
|
|
96
96
|
selfTradePreventionMode: number;
|
|
@@ -155,7 +155,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
|
|
|
155
155
|
} | undefined;
|
|
156
156
|
origin?: {
|
|
157
157
|
scope: "unspecified" | "direct" | "attached_risk" | "standalone_trigger" | "system";
|
|
158
|
-
triggerType: "unspecified" | "
|
|
158
|
+
triggerType: "unspecified" | "twap" | "ladder" | "stop_loss" | "take_profit" | "trailing_stop";
|
|
159
159
|
triggerId?: string | undefined;
|
|
160
160
|
parentOrderId?: string | undefined;
|
|
161
161
|
childSeq: number;
|
|
@@ -174,7 +174,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
|
|
|
174
174
|
marketClientRefPrice?: string | undefined;
|
|
175
175
|
origin?: {
|
|
176
176
|
scope: "unspecified" | "direct" | "attached_risk" | "standalone_trigger" | "system";
|
|
177
|
-
triggerType: "unspecified" | "
|
|
177
|
+
triggerType: "unspecified" | "twap" | "ladder" | "stop_loss" | "take_profit" | "trailing_stop";
|
|
178
178
|
triggerId?: string | undefined;
|
|
179
179
|
parentOrderId?: string | undefined;
|
|
180
180
|
childSeq: number;
|
|
@@ -182,7 +182,7 @@ declare function createOrderSchema(scales: SdkScales): v.SchemaWithPipe<readonly
|
|
|
182
182
|
orderId: string;
|
|
183
183
|
symbolId: number;
|
|
184
184
|
clientOrderId: string;
|
|
185
|
-
status: "unspecified" | "pending" | "canceled" | "
|
|
185
|
+
status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected" | "partial";
|
|
186
186
|
side: "unspecified" | "buy" | "sell";
|
|
187
187
|
orderType: "unspecified" | "limit" | "market";
|
|
188
188
|
timeInForce: "unspecified" | "GTC" | "IOC" | "FOK";
|
|
@@ -283,7 +283,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
|
|
|
283
283
|
readonly symbolId: v.NumberSchema<undefined>;
|
|
284
284
|
readonly clientOrderId: v.StringSchema<undefined>;
|
|
285
285
|
readonly side: v.EnumSchema<typeof Side, undefined>;
|
|
286
|
-
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "
|
|
286
|
+
readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderStatus, undefined>, v.TransformAction<OrderStatus, "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected">]>;
|
|
287
287
|
readonly orderType: v.NumberSchema<undefined>;
|
|
288
288
|
readonly timeInForce: v.NumberSchema<undefined>;
|
|
289
289
|
readonly selfTradePreventionMode: v.NumberSchema<undefined>;
|
|
@@ -348,7 +348,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
|
|
|
348
348
|
}, undefined>, undefined>;
|
|
349
349
|
readonly origin: v.OptionalSchema<v.ObjectSchema<{
|
|
350
350
|
readonly scope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderOriginScope, undefined>, v.TransformAction<OrderOriginScope, "unspecified" | "direct" | "attached_risk" | "standalone_trigger" | "system">]>;
|
|
351
|
-
readonly triggerType: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderTriggerType, undefined>, v.TransformAction<OrderTriggerType, "unspecified" | "
|
|
351
|
+
readonly triggerType: v.SchemaWithPipe<readonly [v.EnumSchema<typeof OrderTriggerType, undefined>, v.TransformAction<OrderTriggerType, "unspecified" | "twap" | "ladder" | "stop_loss" | "take_profit" | "trailing_stop">]>;
|
|
352
352
|
readonly triggerId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
353
353
|
readonly parentOrderId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
|
|
354
354
|
readonly childSeq: v.NumberSchema<undefined>;
|
|
@@ -364,7 +364,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
|
|
|
364
364
|
symbolId: number;
|
|
365
365
|
clientOrderId: string;
|
|
366
366
|
side: Side;
|
|
367
|
-
status: "unspecified" | "pending" | "canceled" | "
|
|
367
|
+
status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected";
|
|
368
368
|
orderType: number;
|
|
369
369
|
timeInForce: number;
|
|
370
370
|
selfTradePreventionMode: number;
|
|
@@ -429,7 +429,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
|
|
|
429
429
|
} | undefined;
|
|
430
430
|
origin?: {
|
|
431
431
|
scope: "unspecified" | "direct" | "attached_risk" | "standalone_trigger" | "system";
|
|
432
|
-
triggerType: "unspecified" | "
|
|
432
|
+
triggerType: "unspecified" | "twap" | "ladder" | "stop_loss" | "take_profit" | "trailing_stop";
|
|
433
433
|
triggerId?: string | undefined;
|
|
434
434
|
parentOrderId?: string | undefined;
|
|
435
435
|
childSeq: number;
|
|
@@ -448,7 +448,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
|
|
|
448
448
|
marketClientRefPrice?: string | undefined;
|
|
449
449
|
origin?: {
|
|
450
450
|
scope: "unspecified" | "direct" | "attached_risk" | "standalone_trigger" | "system";
|
|
451
|
-
triggerType: "unspecified" | "
|
|
451
|
+
triggerType: "unspecified" | "twap" | "ladder" | "stop_loss" | "take_profit" | "trailing_stop";
|
|
452
452
|
triggerId?: string | undefined;
|
|
453
453
|
parentOrderId?: string | undefined;
|
|
454
454
|
childSeq: number;
|
|
@@ -456,7 +456,7 @@ declare function createOrderDetailsSchema(scales: SdkScales): v.ObjectSchema<{
|
|
|
456
456
|
orderId: string;
|
|
457
457
|
symbolId: number;
|
|
458
458
|
clientOrderId: string;
|
|
459
|
-
status: "unspecified" | "pending" | "canceled" | "
|
|
459
|
+
status: "unspecified" | "pending" | "canceled" | "pending_cancel" | "working" | "filled" | "rejected" | "partial";
|
|
460
460
|
side: "unspecified" | "buy" | "sell";
|
|
461
461
|
orderType: "unspecified" | "limit" | "market";
|
|
462
462
|
timeInForce: "unspecified" | "GTC" | "IOC" | "FOK";
|
|
@@ -47,7 +47,7 @@ declare class OrdersService {
|
|
|
47
47
|
*/
|
|
48
48
|
batchCreate(input: BatchCreateOrdersInput, options?: PolyesterMutationOptions): Promise<BatchCreateOrdersResult>;
|
|
49
49
|
/**
|
|
50
|
-
*
|
|
50
|
+
* Requests cancellation of one order in the resolved account scope by order id or client order id, with optional symbol routing. The response acknowledges the cancellation request, not the order's final lifecycle state; reconcile through order reads or realtime before releasing local state. A missing target remains a {@link ResourceNotFoundError}; callers performing desired-state cleanup may treat that error as success when the order could already have filled or left the book.
|
|
51
51
|
*/
|
|
52
52
|
cancel(input: v.InferInput<typeof CancelOrderInputSchema>, options?: PolyesterMutationOptions): Promise<CancelOrderResult>;
|
|
53
53
|
/**
|
|
@@ -75,7 +75,7 @@ declare class OrdersService {
|
|
|
75
75
|
*/
|
|
76
76
|
cancelAllAfter(input: CancelAllAfterInput, options?: PolyesterMutationOptions): Promise<CancelAllAfterResult>;
|
|
77
77
|
/**
|
|
78
|
-
* Fetches one order by id or client order id and returns its order, trades, and transfer details when found. Returns null when the
|
|
78
|
+
* Fetches one order by id or client order id and returns its order, trades, and transfer details when found. Returns null when the requested order is not found.
|
|
79
79
|
*/
|
|
80
80
|
getDetails(input: v.InferInput<typeof GetOrderDetailsInputSchema>, options?: PolyesterRequestOptions): Promise<OrderDetails | null>;
|
|
81
81
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.d.ts","names":[],"sources":["../../../src/services/orders/orders.ts"],"mappings":";;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"orders.d.ts","names":[],"sources":["../../../src/services/orders/orders.ts"],"mappings":";;;;;;;;;;;;;UAqFU,6BAA6B,mBAAmB;EACtD;;;;;cAqBS;;EAaL,YAAA,WAAW,WACX,UAAU,mBACV,UAAU,gCACV,QAAQ;;;;EAiBN,SACF,QAAO,EAAE,kBAAkB,wBAC3B,UAAU,0BACX;IAAU,QAAQ;IAAS;;;;;EAoBxB,YACF,QAAO,EAAE,kBAAkB,0BAC3B,UAAU,0BACX;IAAU,QAAQ;IAAS;;;;;EAoBxB,QACF,OAAO,eACP,UAAU,0BACX,QAAQ;;;;EAcL,OACF,OAAO,eACP,UAAU,2BACX,QAAQ;;;;EAeL,YACF,OAAO,wBACP,UAAU,2BACX,QAAQ;;;;EAyBL,OACF,OAAO,EAAE,kBAAkB,yBAC3B,UAAU,2BACX,QAAQ;;;;EAmBL,YACF,OAAO,wBACP,UAAU,2BACX,QAAQ;;;;EAkBL,OACF,OAAO,kBACP,UAAU,2BACX,QAAQ;;;;EAkBL,aACF,OAAO,yBACP,UAAU,2BACX,QAAQ;;;;EAyBL,sBACF,OAAO,4BACP,UAAU,0BACX,QAAQ;;;;EAaL,UACF,OAAO,EAAE,kBAAkB,6BAC3B,UAAU,2BACX,QAAQ;;;;EAgBL,eACF,OAAO,qBACP,UAAU,2BACX,QAAQ;;;;EAgBL,WACF,OAAO,EAAE,kBAAkB,6BAC3B,UAAU,0BACX,QAAQ;;;;EAqBX,UAAU,OAAO"}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
1
|
import { OrdersService as OrdersService$1 } from "../../gen/orders/v1/orders_pb.js";
|
|
2
|
+
import { parse } from "../../shared/validation.js";
|
|
2
3
|
import { toConnectCallOptions } from "../../shared/request-options.js";
|
|
3
4
|
import { removeUndefined } from "../../utils/remove-undefined.js";
|
|
4
5
|
import { resolveAccountScopedInput } from "../subaccount-resolver.js";
|
|
5
6
|
import { publicationHandlerErrorContext } from "../../shared/subscription-errors.js";
|
|
6
7
|
import { createReadyGate } from "../../shared/decimal-surface.js";
|
|
8
|
+
import { formatConnectError, isResourceNotFoundError } from "../../utils/errors.js";
|
|
7
9
|
import { OrderSchema, OrdersReadService } from "../../gen/orders/v1/orders_read_pb.js";
|
|
10
|
+
import { getOrderErrorDetail } from "../../utils/connect-order-errors.js";
|
|
8
11
|
import { CancelAllOrdersInputSchema, CancelAllOrdersResponseSchema, CancelOrderInputSchema, CancelOrderResultSchema, GetOrderDetailsInputSchema, OpenOrdersInputSchema, OrderHistoryInputSchema, createCreateOrderResultSchema, createNewOrderInputSchema, createPreviewOrderResultSchema } from "./orders-input.schemas.js";
|
|
9
12
|
import { ModifyOrderResultSchema, assertKnownModifyOrderInputKeys, createModifyOrderInputSchema } from "./orders-modify.schemas.js";
|
|
10
13
|
import { BatchCancelOrdersInputSchema, BatchCancelOrdersResultSchema, BatchReplaceOrdersResultSchema, CancelAllAfterInputSchema, CancelAllAfterResultSchema, GetBatchReplaceStatusInputSchema, GetBatchReplaceStatusResultSchema, assertKnownBatchReplaceOrderItemInputKeys, createBatchCreateOrdersInputSchema, createBatchCreateOrdersResultSchema, createBatchReplaceOrdersInputSchema } from "./orders-batch.schemas.js";
|
|
@@ -20,6 +23,10 @@ function hasKnownOrderSymbol(scales, order) {
|
|
|
20
23
|
return false;
|
|
21
24
|
}
|
|
22
25
|
}
|
|
26
|
+
const MISCLASSIFIED_ORDER_NOT_FOUND_MESSAGE = "order not found";
|
|
27
|
+
function isOrderNotFoundError(error) {
|
|
28
|
+
return isResourceNotFoundError(error) || getOrderErrorDetail(error)?.code === "NOT_FOUND" || formatConnectError(error, "").toLowerCase() === MISCLASSIFIED_ORDER_NOT_FOUND_MESSAGE;
|
|
29
|
+
}
|
|
23
30
|
function createMutationRequestId() {
|
|
24
31
|
return globalThis.crypto?.randomUUID?.() ?? `req_${Date.now()}_${Math.random().toString(16).slice(2)}`;
|
|
25
32
|
}
|
|
@@ -58,10 +65,10 @@ var OrdersService = class {
|
|
|
58
65
|
async listOpen(input = {}, options) {
|
|
59
66
|
await this.#scales.ready();
|
|
60
67
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
61
|
-
const validatedInput =
|
|
68
|
+
const validatedInput = parse(OpenOrdersInputSchema, resolved);
|
|
62
69
|
const res = await this.#readClient.getOpenOrders(removeUndefined(validatedInput), toConnectCallOptions(options));
|
|
63
70
|
return {
|
|
64
|
-
orders:
|
|
71
|
+
orders: parse(v.array(this.#orderSchema), res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order))),
|
|
65
72
|
nextPageToken: res.nextPageToken
|
|
66
73
|
};
|
|
67
74
|
}
|
|
@@ -71,10 +78,10 @@ var OrdersService = class {
|
|
|
71
78
|
async listHistory(input = {}, options) {
|
|
72
79
|
await this.#scales.ready();
|
|
73
80
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
74
|
-
const validatedInput =
|
|
81
|
+
const validatedInput = parse(OrderHistoryInputSchema, resolved);
|
|
75
82
|
const res = await this.#readClient.getOrderHistory(removeUndefined(validatedInput), toConnectCallOptions(options));
|
|
76
83
|
return {
|
|
77
|
-
orders:
|
|
84
|
+
orders: parse(v.array(this.#orderSchema), res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order))),
|
|
78
85
|
nextPageToken: res.nextPageToken
|
|
79
86
|
};
|
|
80
87
|
}
|
|
@@ -84,9 +91,9 @@ var OrdersService = class {
|
|
|
84
91
|
async preview(input, options) {
|
|
85
92
|
await this.#scales.ready();
|
|
86
93
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
87
|
-
const request =
|
|
94
|
+
const request = parse(this.#newOrderInputSchema, resolved);
|
|
88
95
|
const response = await this.#writeClient.previewOrder(removeUndefined(request), toConnectCallOptions(options));
|
|
89
|
-
return
|
|
96
|
+
return parse(createPreviewOrderResultSchema(this.#scales, input.symbol), response);
|
|
90
97
|
}
|
|
91
98
|
/**
|
|
92
99
|
* Places a spot order with an explicit market-IOC, limit-GTC, limit-IOC, or limit-FOK execution policy and optional attached risk controls. clientOrderId is the caller-controlled idempotency key and should be reused only for the same logical order.
|
|
@@ -94,10 +101,10 @@ var OrdersService = class {
|
|
|
94
101
|
async create(input, options) {
|
|
95
102
|
await this.#scales.ready();
|
|
96
103
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
97
|
-
const validatedInput =
|
|
104
|
+
const validatedInput = parse(this.#newOrderInputSchema, resolved);
|
|
98
105
|
const requestPayload = removeUndefined(validatedInput);
|
|
99
106
|
const res = await this.#writeClient.createOrder(requestPayload, toConnectCallOptions(options));
|
|
100
|
-
return
|
|
107
|
+
return parse(createCreateOrderResultSchema(this.#scales, input.symbol), res);
|
|
101
108
|
}
|
|
102
109
|
/**
|
|
103
110
|
* Places 1–20 spot orders in one best-effort request. Results preserve item order and report admission as accepted or rejected; accepted orders still require lifecycle reconciliation. Supply a clientOrderId for each item and a stable requestId when an ambiguous batch may be retried.
|
|
@@ -108,24 +115,24 @@ var OrdersService = class {
|
|
|
108
115
|
...resolveAccountScopedInput(input, this.#resolver),
|
|
109
116
|
requestId: input.requestId ?? createMutationRequestId()
|
|
110
117
|
};
|
|
111
|
-
const request =
|
|
118
|
+
const request = parse(this.#batchCreateOrdersInputSchema, resolved);
|
|
112
119
|
const response = await this.#writeClient.batchCreateOrders(removeUndefined(request), toConnectCallOptions(options));
|
|
113
|
-
const result =
|
|
120
|
+
const result = parse(createBatchCreateOrdersResultSchema(this.#scales, input.items.map((item) => item.symbol)), response);
|
|
114
121
|
assertBatchResultCount("batchCreate", input.items.length, result.results.length);
|
|
115
122
|
return result;
|
|
116
123
|
}
|
|
117
124
|
/**
|
|
118
|
-
*
|
|
125
|
+
* Requests cancellation of one order in the resolved account scope by order id or client order id, with optional symbol routing. The response acknowledges the cancellation request, not the order's final lifecycle state; reconcile through order reads or realtime before releasing local state. A missing target remains a {@link ResourceNotFoundError}; callers performing desired-state cleanup may treat that error as success when the order could already have filled or left the book.
|
|
119
126
|
*/
|
|
120
127
|
async cancel(input, options) {
|
|
121
128
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
122
|
-
const validated =
|
|
129
|
+
const validated = parse(CancelOrderInputSchema, resolved);
|
|
123
130
|
const res = await this.#writeClient.cancelOrder({
|
|
124
131
|
key: validated.key,
|
|
125
132
|
symbolId: validated.symbolId,
|
|
126
133
|
subaccountId: validated.subaccountId
|
|
127
134
|
}, toConnectCallOptions(options));
|
|
128
|
-
return
|
|
135
|
+
return parse(CancelOrderResultSchema, res);
|
|
129
136
|
}
|
|
130
137
|
/**
|
|
131
138
|
* Cancels 1–50 explicit orders in one best-effort request. Results preserve item order and acknowledge cancellation admission rather than final order state. Supply a stable requestId when an ambiguous batch may be retried.
|
|
@@ -135,9 +142,9 @@ var OrdersService = class {
|
|
|
135
142
|
...resolveAccountScopedInput(input, this.#resolver),
|
|
136
143
|
requestId: input.requestId ?? createMutationRequestId()
|
|
137
144
|
};
|
|
138
|
-
const request =
|
|
145
|
+
const request = parse(BatchCancelOrdersInputSchema, resolved);
|
|
139
146
|
const response = await this.#writeClient.batchCancelOrders(removeUndefined(request), toConnectCallOptions(options));
|
|
140
|
-
const result =
|
|
147
|
+
const result = parse(BatchCancelOrdersResultSchema, response);
|
|
141
148
|
assertBatchResultCount("batchCancel", input.items.length, result.results.length);
|
|
142
149
|
return result;
|
|
143
150
|
}
|
|
@@ -151,9 +158,9 @@ var OrdersService = class {
|
|
|
151
158
|
requestId: input.requestId ?? createMutationRequestId()
|
|
152
159
|
};
|
|
153
160
|
assertKnownModifyOrderInputKeys(resolved);
|
|
154
|
-
const validated =
|
|
161
|
+
const validated = parse(this.#modifyOrderInputSchema, resolved);
|
|
155
162
|
const res = await this.#writeClient.modifyOrder(removeUndefined(validated), toConnectCallOptions(options));
|
|
156
|
-
return
|
|
163
|
+
return parse(ModifyOrderResultSchema, res);
|
|
157
164
|
}
|
|
158
165
|
/**
|
|
159
166
|
* Replaces 1–50 same-symbol orders and returns an index-stable durable admission receipt. Reuse requestId only when retrying the same logical batch; use the returned batchRequestId for later status reads.
|
|
@@ -165,9 +172,9 @@ var OrdersService = class {
|
|
|
165
172
|
...resolveAccountScopedInput(input, this.#resolver),
|
|
166
173
|
requestId: input.requestId ?? createMutationRequestId()
|
|
167
174
|
};
|
|
168
|
-
const request =
|
|
175
|
+
const request = parse(createBatchReplaceOrdersInputSchema(this.#scales, input.symbolId), resolved);
|
|
169
176
|
const response = await this.#writeClient.batchReplaceOrders(removeUndefined(request), toConnectCallOptions(options));
|
|
170
|
-
const result =
|
|
177
|
+
const result = parse(BatchReplaceOrdersResultSchema, response);
|
|
171
178
|
assertBatchResultCount("batchReplace", input.items.length, result.results.length);
|
|
172
179
|
return result;
|
|
173
180
|
}
|
|
@@ -176,9 +183,9 @@ var OrdersService = class {
|
|
|
176
183
|
*/
|
|
177
184
|
async getBatchReplaceStatus(input, options) {
|
|
178
185
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
179
|
-
const request =
|
|
186
|
+
const request = parse(GetBatchReplaceStatusInputSchema, resolved);
|
|
180
187
|
const response = await this.#readClient.getBatchReplaceStatus(removeUndefined(request), toConnectCallOptions(options));
|
|
181
|
-
return
|
|
188
|
+
return parse(GetBatchReplaceStatusResultSchema, response);
|
|
182
189
|
}
|
|
183
190
|
/**
|
|
184
191
|
* Cancels all matching open orders for the resolved account scope, optionally narrowed by symbol and side, with dry-run preview. A requestId is generated when omitted; provide a stable value when retrying the same logical bulk cancellation.
|
|
@@ -188,9 +195,9 @@ var OrdersService = class {
|
|
|
188
195
|
...resolveAccountScopedInput(input, this.#resolver),
|
|
189
196
|
requestId: input.requestId ?? createMutationRequestId()
|
|
190
197
|
};
|
|
191
|
-
const validated =
|
|
198
|
+
const validated = parse(CancelAllOrdersInputSchema, resolved);
|
|
192
199
|
const res = await this.#writeClient.cancelAllOrders(removeUndefined(validated), toConnectCallOptions(options));
|
|
193
|
-
return
|
|
200
|
+
return parse(CancelAllOrdersResponseSchema, res);
|
|
194
201
|
}
|
|
195
202
|
/**
|
|
196
203
|
* Arms, refreshes, or disables the account dead-man switch. timeoutSec 0 disables it; 10–120 arms it. Generate a new requestId for each deliberate heartbeat, but reuse the same ID when retrying one ambiguous heartbeat.
|
|
@@ -200,20 +207,26 @@ var OrdersService = class {
|
|
|
200
207
|
...resolveAccountScopedInput(input, this.#resolver),
|
|
201
208
|
requestId: input.requestId ?? createMutationRequestId()
|
|
202
209
|
};
|
|
203
|
-
const request =
|
|
210
|
+
const request = parse(CancelAllAfterInputSchema, resolved);
|
|
204
211
|
const response = await this.#writeClient.cancelAllAfter(removeUndefined(request), toConnectCallOptions(options));
|
|
205
|
-
return
|
|
212
|
+
return parse(CancelAllAfterResultSchema, response);
|
|
206
213
|
}
|
|
207
214
|
/**
|
|
208
|
-
* Fetches one order by id or client order id and returns its order, trades, and transfer details when found. Returns null when the
|
|
215
|
+
* Fetches one order by id or client order id and returns its order, trades, and transfer details when found. Returns null when the requested order is not found.
|
|
209
216
|
*/
|
|
210
217
|
async getDetails(input, options) {
|
|
211
218
|
await this.#scales.ready();
|
|
212
219
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
213
|
-
const validatedInput =
|
|
214
|
-
|
|
220
|
+
const validatedInput = parse(GetOrderDetailsInputSchema, resolved);
|
|
221
|
+
let res;
|
|
222
|
+
try {
|
|
223
|
+
res = await this.#readClient.getOrder(removeUndefined(validatedInput), toConnectCallOptions(options));
|
|
224
|
+
} catch (error) {
|
|
225
|
+
if (isOrderNotFoundError(error)) return null;
|
|
226
|
+
throw error;
|
|
227
|
+
}
|
|
215
228
|
if (!res.order) return null;
|
|
216
|
-
return
|
|
229
|
+
return parse(this.#orderDetailsSchema, res);
|
|
217
230
|
}
|
|
218
231
|
/**
|
|
219
232
|
* Subscribes to private order updates on private:spot:orders:{accountId}:proto and emits parsed order records until the returned unsubscribe function is called.
|
|
@@ -226,13 +239,13 @@ var OrdersService = class {
|
|
|
226
239
|
schema: OrderSchema,
|
|
227
240
|
onPublication: (data) => {
|
|
228
241
|
gate.run(() => {
|
|
229
|
-
const order =
|
|
242
|
+
const order = parse(this.#orderSchema, data);
|
|
230
243
|
input.onEvent(order);
|
|
231
244
|
});
|
|
232
245
|
},
|
|
233
246
|
onConnected: () => input.onOpen?.(),
|
|
234
247
|
onDisconnected: () => input.onClose?.(),
|
|
235
|
-
onError:
|
|
248
|
+
onError: input.onError
|
|
236
249
|
});
|
|
237
250
|
}
|
|
238
251
|
};
|