@polyester/sdk 0.3.1 → 0.4.0
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 +38 -0
- package/README.md +63 -17
- package/dist/_virtual/_rolldown/runtime.js +15 -1
- 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/accounts/accounts.schemas.d.ts +13 -13
- package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
- package/dist/services/accounts/accounts.schemas.js +11 -11
- package/dist/services/accounts/accounts.schemas.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 +751 -751
- package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
- package/dist/services/address-book/address-book.schemas.js +160 -160
- package/dist/services/address-book/address-book.schemas.js.map +1 -1
- package/dist/services/api-keys/api-keys.d.ts +6 -6
- 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/api-keys/api-keys.schemas.d.ts +62 -62
- package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
- package/dist/services/api-keys/api-keys.schemas.js +34 -34
- package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
- package/dist/services/auth/auth.d.ts +46 -40
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +28 -25
- package/dist/services/auth/auth.js.map +1 -1
- package/dist/services/auth/profile/profile.d.ts +2 -2
- package/dist/services/auth/profile/profile.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.js +7 -7
- package/dist/services/auth/profile/profile.js.map +1 -1
- package/dist/services/auth/profile/profile.schemas.d.ts +41 -41
- package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
- package/dist/services/auth/profile/profile.schemas.js +27 -27
- package/dist/services/auth/profile/profile.schemas.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.schemas.js +17 -17
- package/dist/services/auth/session.schemas.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.js +9 -9
- package/dist/services/balances/balances.js.map +1 -1
- package/dist/services/balances/balances.schemas.d.ts +95 -95
- package/dist/services/balances/balances.schemas.d.ts.map +1 -1
- package/dist/services/balances/balances.schemas.js +61 -61
- package/dist/services/balances/balances.schemas.js.map +1 -1
- package/dist/services/candles/candles.js +12 -12
- package/dist/services/candles/candles.js.map +1 -1
- package/dist/services/candles/candles.schemas.d.ts +70 -70
- package/dist/services/candles/candles.schemas.d.ts.map +1 -1
- package/dist/services/candles/candles.schemas.js +47 -48
- 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/chain-analytics/chain-analytics.schemas.d.ts +68 -68
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.schemas.js +29 -29
- package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
- package/dist/services/deposit/deposit.js +5 -5
- package/dist/services/deposit/deposit.js.map +1 -1
- package/dist/services/deposit/deposit.schemas.d.ts +17 -17
- package/dist/services/deposit/deposit.schemas.d.ts.map +1 -1
- package/dist/services/deposit/deposit.schemas.js +11 -11
- package/dist/services/deposit/deposit.schemas.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/guard-signer/guard-signer.schemas.d.ts +75 -75
- package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -1
- package/dist/services/guard-signer/guard-signer.schemas.js +42 -42
- package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -1
- package/dist/services/heatmap/heatmap.js +9 -9
- package/dist/services/heatmap/heatmap.js.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.d.ts +144 -144
- package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.js +47 -47
- 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/internal-transfers/internal-transfers.schemas.d.ts +53 -53
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.js +27 -27
- package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.js +10 -10
- package/dist/services/lifecycle/lifecycle.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.d.ts +614 -614
- package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.js +146 -146
- package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
- package/dist/services/market-data/market-data.js +6 -6
- package/dist/services/market-data/market-data.js.map +1 -1
- package/dist/services/market-data/market-data.schemas.d.ts +20 -20
- package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
- package/dist/services/market-data/market-data.schemas.js +51 -55
- package/dist/services/market-data/market-data.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.js +4 -4
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +38 -38
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +33 -33
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
- package/dist/services/mfa/mfa.js +27 -27
- package/dist/services/mfa/mfa.js.map +1 -1
- package/dist/services/mfa/mfa.schemas.d.ts +206 -206
- package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
- package/dist/services/mfa/mfa.schemas.js +83 -83
- package/dist/services/mfa/mfa.schemas.js.map +1 -1
- package/dist/services/orderbook/orderbook.d.ts +2 -2
- package/dist/services/orderbook/orderbook.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.js +5 -5
- package/dist/services/orderbook/orderbook.js.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +22 -22
- package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.js +15 -15
- package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
- package/dist/services/orders/order-errors.schemas.d.ts +18 -18
- package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
- package/dist/services/orders/order-errors.schemas.js +8 -8
- package/dist/services/orders/order-errors.schemas.js.map +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +492 -492
- package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-batch.schemas.js +118 -118
- package/dist/services/orders/orders-batch.schemas.js.map +1 -1
- package/dist/services/orders/orders-identifiers.schemas.js +5 -5
- package/dist/services/orders/orders-identifiers.schemas.js.map +1 -1
- package/dist/services/orders/orders-input.schemas.d.ts +657 -648
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +100 -96
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +370 -351
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +48 -44
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +183 -183
- package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-output.schemas.js +49 -49
- package/dist/services/orders/orders-output.schemas.js.map +1 -1
- package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
- package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-risk.schemas.js +69 -69
- package/dist/services/orders/orders-risk.schemas.js.map +1 -1
- package/dist/services/orders/orders.d.ts +8 -8
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +44 -32
- package/dist/services/orders/orders.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.d.ts +6 -6
- 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/api-key-policies/api-key-policies.schemas.d.ts +105 -105
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +49 -49
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
- package/dist/services/policies/shared.d.ts +5 -5
- package/dist/services/policies/shared.d.ts.map +1 -1
- package/dist/services/policies/shared.js +10 -10
- package/dist/services/policies/shared.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +6 -6
- package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.js +13 -13
- package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +124 -124
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +75 -75
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
- package/dist/services/shared.js +11 -11
- package/dist/services/shared.js.map +1 -1
- package/dist/services/social-verification/social-verification.d.ts +3 -3
- 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/social-verification/social-verification.schemas.d.ts +54 -54
- package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.js +28 -28
- package/dist/services/social-verification/social-verification.schemas.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 +15 -15
- package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.js +35 -35
- package/dist/services/subaccounts/subaccounts.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +135 -135
- package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
- package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
- package/dist/services/trades/trades.d.ts +2 -2
- package/dist/services/trades/trades.d.ts.map +1 -1
- package/dist/services/trades/trades.js +5 -5
- package/dist/services/trades/trades.js.map +1 -1
- package/dist/services/trades/trades.schemas.d.ts +31 -31
- package/dist/services/trades/trades.schemas.d.ts.map +1 -1
- package/dist/services/trades/trades.schemas.js +24 -24
- package/dist/services/trades/trades.schemas.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/trading-withdraws/trading-withdraws.schemas.d.ts +45 -45
- package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -1
- package/dist/services/trading-withdraws/trading-withdraws.schemas.js +36 -36
- package/dist/services/trading-withdraws/trading-withdraws.schemas.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 -5
- package/dist/services/transfers/transfers.js.map +1 -1
- package/dist/services/transfers/transfers.schemas.d.ts +42 -42
- package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
- package/dist/services/transfers/transfers.schemas.js +30 -30
- package/dist/services/transfers/transfers.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-child-order.schemas.js +23 -23
- package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.d.ts +226 -226
- package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.js +53 -53
- package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.d.ts +210 -210
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.js +152 -152
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
- package/dist/services/triggers/triggers.js +21 -21
- 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/whiteboard/whiteboard.schemas.d.ts +379 -379
- package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
- package/dist/services/whiteboard/whiteboard.schemas.js +71 -71
- package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
- package/dist/services/zipper/zipper.js +3 -3
- package/dist/services/zipper/zipper.js.map +1 -1
- package/dist/services/zipper/zipper.schemas.d.ts +1 -1
- package/dist/services/zipper/zipper.schemas.js +54 -54
- package/dist/services/zipper/zipper.schemas.js.map +1 -1
- package/dist/shared/account-scope.d.ts +6 -6
- package/dist/shared/account-scope.d.ts.map +1 -1
- package/dist/shared/account-scope.js +3 -3
- package/dist/shared/account-scope.js.map +1 -1
- package/dist/shared/connect-error-mapping.d.ts +1 -1
- package/dist/shared/connect-error-mapping.js +29 -3
- package/dist/shared/connect-error-mapping.js.map +1 -1
- package/dist/shared/rate-limit.schemas.d.ts +12 -12
- package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
- package/dist/shared/rate-limit.schemas.js +7 -7
- package/dist/shared/rate-limit.schemas.js.map +1 -1
- package/dist/shared/schemas.js +26 -26
- package/dist/shared/schemas.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.d.ts +14 -0
- package/dist/shared/validation.d.ts.map +1 -0
- package/dist/shared/validation.js +24 -0
- package/dist/shared/validation.js.map +1 -0
- package/dist/utils/connect-order-errors.js +2 -2
- package/dist/utils/connect-order-errors.js.map +1 -1
- 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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders.js","names":["#readClient","ProtoRead.OrdersReadService","#writeClient","ProtoWrite.OrdersService","#realtime","#resolver","#scales","#orderSchema","#orderDetailsSchema","#newOrderInputSchema","#modifyOrderInputSchema","#batchCreateOrdersInputSchema","ProtoRead.OrderSchema"],"sources":["../../../src/services/orders/orders.ts"],"sourcesContent":["import * as ProtoRead from \"../../gen/orders/v1/orders_read_pb.js\";\nimport * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"valibot\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n OpenOrdersInputSchema,\n OrderHistoryInputSchema,\n type NewOrderInput,\n createNewOrderInputSchema,\n CancelOrderInputSchema,\n CancelOrderResultSchema,\n type CancelOrderResult,\n CancelAllOrdersInputSchema,\n CancelAllOrdersResponseSchema,\n type CancelAllOrdersResponse,\n type Order,\n GetOrderDetailsInputSchema,\n createCreateOrderResultSchema,\n createPreviewOrderResultSchema,\n type PreviewOrderResult,\n type ModifyOrderInput,\n assertKnownModifyOrderInputKeys,\n createModifyOrderInputSchema,\n ModifyOrderResultSchema,\n type CreateOrderResult,\n type ModifyOrderResult,\n type OrderDetails,\n createOrderSchema,\n createOrderDetailsSchema,\n CancelAllAfterInputSchema,\n CancelAllAfterResultSchema,\n type CancelAllAfterInput,\n type CancelAllAfterResult,\n BatchCancelOrdersInputSchema,\n BatchCancelOrdersResultSchema,\n type BatchCancelOrdersInput,\n type BatchCancelOrdersResult,\n createBatchCreateOrdersResultSchema,\n type BatchCreateOrdersInput,\n type BatchCreateOrdersResult,\n BatchReplaceOrdersResultSchema,\n type BatchReplaceOrdersInput,\n type BatchReplaceOrdersResult,\n GetBatchReplaceStatusInputSchema,\n GetBatchReplaceStatusResultSchema,\n type GetBatchReplaceStatusInput,\n type GetBatchReplaceStatusResult,\n assertKnownBatchReplaceOrderItemInputKeys,\n createBatchCreateOrdersInputSchema,\n createBatchReplaceOrdersInputSchema,\n} from \"./orders.schemas.js\";\n\nfunction hasKnownOrderSymbol(scales: SdkScales, order: { symbolId: number }): boolean {\n try {\n scales.baseQty(order.symbolId);\n return true;\n } catch {\n return false;\n }\n}\n\ninterface SubscribeOrdersInput extends BaseSubscribeInput<Order> {\n accountId: string;\n}\n\nfunction createMutationRequestId(): string {\n return (\n globalThis.crypto?.randomUUID?.() ??\n `req_${Date.now()}_${Math.random().toString(16).slice(2)}`\n );\n}\n\nfunction assertBatchResultCount(operation: string, requested: number, returned: number): void {\n if (requested !== returned) {\n throw new Error(\n `${operation} returned ${returned} results for ${requested} requested items.`,\n );\n }\n}\n\n/**\n * Manages account-scoped spot orders across read, write, and realtime order update surfaces.\n */\nexport class OrdersService {\n #readClient: Client<typeof ProtoRead.OrdersReadService>;\n #writeClient: Client<typeof ProtoWrite.OrdersService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #orderSchema: ReturnType<typeof createOrderSchema>;\n #orderDetailsSchema: ReturnType<typeof createOrderDetailsSchema>;\n #newOrderInputSchema: ReturnType<typeof createNewOrderInputSchema>;\n #modifyOrderInputSchema: ReturnType<typeof createModifyOrderInputSchema>;\n #batchCreateOrdersInputSchema: ReturnType<typeof createBatchCreateOrdersInputSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#readClient = createClient(ProtoRead.OrdersReadService, transport);\n this.#writeClient = createClient(ProtoWrite.OrdersService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#orderSchema = createOrderSchema(scales);\n this.#orderDetailsSchema = createOrderDetailsSchema(scales);\n this.#newOrderInputSchema = createNewOrderInputSchema(scales);\n this.#modifyOrderInputSchema = createModifyOrderInputSchema(scales);\n this.#batchCreateOrdersInputSchema = createBatchCreateOrdersInputSchema(scales);\n }\n\n /**\n * Returns open orders for the resolved root account or subaccount, with optional symbol, trigger ID, side, pagination, and attached-risk inclusion filters. Results include the next page token returned by GetOpenOrders.\n */\n async listOpen(\n input: v.InferInput<typeof OpenOrdersInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OpenOrdersInputSchema, resolved);\n const res = await this.#readClient.getOpenOrders(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Returns historical orders for the resolved account scope, supporting symbol, trigger ID, side, status, time range, pagination, and attached-risk filters. Results are paginated with the backend nextPageToken.\n */\n async listHistory(\n input: v.InferInput<typeof OrderHistoryInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OrderHistoryInputSchema, resolved);\n const res = await this.#readClient.getOrderHistory(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Evaluates one complete order intent against current market, policy, risk, and balance state without creating an order, reserving funds, or claiming its client order ID.\n */\n async preview(\n input: NewOrderInput,\n options?: PolyesterRequestOptions,\n ): Promise<PreviewOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(this.#newOrderInputSchema, resolved);\n const response = await this.#writeClient.previewOrder(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(createPreviewOrderResultSchema(this.#scales, input.symbol), response);\n }\n\n /**\n * 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.\n */\n async create(\n input: NewOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(this.#newOrderInputSchema, resolved);\n const requestPayload = removeUndefined(validatedInput);\n const res = await this.#writeClient.createOrder(\n requestPayload,\n toConnectCallOptions(options),\n );\n return v.parse(createCreateOrderResultSchema(this.#scales, input.symbol), res);\n }\n\n /**\n * 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.\n */\n async batchCreate(\n input: BatchCreateOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCreateOrdersResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(this.#batchCreateOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCreateOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(\n createBatchCreateOrdersResultSchema(\n this.#scales,\n input.items.map((item) => item.symbol),\n ),\n response,\n );\n assertBatchResultCount(\"batchCreate\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Cancels one open order in the resolved account scope by order id or client order id, with optional symbol routing. Returns the backend cancellation status, order id, and server timestamp fields.\n */\n async cancel(\n input: v.InferInput<typeof CancelOrderInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelOrderResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n\n const validated = v.parse(CancelOrderInputSchema, resolved);\n\n const res = await this.#writeClient.cancelOrder(\n {\n key: validated.key,\n symbolId: validated.symbolId,\n subaccountId: validated.subaccountId,\n },\n toConnectCallOptions(options),\n );\n return v.parse(CancelOrderResultSchema, res);\n }\n\n /**\n * 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.\n */\n async batchCancel(\n input: BatchCancelOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCancelOrdersResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(BatchCancelOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCancelOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchCancelOrdersResultSchema, response);\n assertBatchResultCount(\"batchCancel\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Applies a price, quantity, client id, or attached-risk patch to one open order using the backend modify behavior policy. A requestId is generated when omitted; provide a stable value when retrying the same logical modification.\n */\n async modify(\n input: ModifyOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<ModifyOrderResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n assertKnownModifyOrderInputKeys(resolved);\n const validated = v.parse(this.#modifyOrderInputSchema, resolved);\n const res = await this.#writeClient.modifyOrder(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(ModifyOrderResultSchema, res);\n }\n\n /**\n * 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.\n */\n async batchReplace(\n input: BatchReplaceOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchReplaceOrdersResult> {\n await this.#scales.ready();\n for (const item of input.items) {\n assertKnownBatchReplaceOrderItemInputKeys(item);\n }\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(\n createBatchReplaceOrdersInputSchema(this.#scales, input.symbolId),\n resolved,\n );\n const response = await this.#writeClient.batchReplaceOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchReplaceOrdersResultSchema, response);\n assertBatchResultCount(\"batchReplace\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Reads the durable per-item execution status for a batch replacement receipt.\n */\n async getBatchReplaceStatus(\n input: GetBatchReplaceStatusInput,\n options?: PolyesterRequestOptions,\n ): Promise<GetBatchReplaceStatusResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(GetBatchReplaceStatusInputSchema, resolved);\n const response = await this.#readClient.getBatchReplaceStatus(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(GetBatchReplaceStatusResultSchema, response);\n }\n\n /**\n * 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.\n */\n async cancelAll(\n input: v.InferInput<typeof CancelAllOrdersInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllOrdersResponse> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const validated = v.parse(CancelAllOrdersInputSchema, resolved);\n const res = await this.#writeClient.cancelAllOrders(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllOrdersResponseSchema, res);\n }\n\n /**\n * 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.\n */\n async cancelAllAfter(\n input: CancelAllAfterInput,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllAfterResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(CancelAllAfterInputSchema, resolved);\n const response = await this.#writeClient.cancelAllAfter(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllAfterResultSchema, response);\n }\n\n /**\n * Fetches one order by id or client order id and returns its order, trades, and transfer details when found. Returns null when the backend response has no order.\n */\n async getDetails(\n input: v.InferInput<typeof GetOrderDetailsInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<OrderDetails | null> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(GetOrderDetailsInputSchema, resolved);\n const res = await this.#readClient.getOrder(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.order) return null;\n return v.parse(this.#orderDetailsSchema, res);\n }\n\n /**\n * Subscribes to private order updates on private:spot:orders:{accountId}:proto and emits parsed order records until the returned unsubscribe function is called.\n */\n subscribe(input: SubscribeOrdersInput): () => void {\n const channel = `private:spot:orders:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: ProtoRead.OrderSchema,\n onPublication: (data) => {\n gate.run(() => {\n const order = v.parse(this.#orderSchema, data);\n input.onEvent(order);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: (ctx) => input.onError?.(ctx),\n });\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orders.js","names":["#readClient","ProtoRead.OrdersReadService","#writeClient","ProtoWrite.OrdersService","#realtime","#resolver","#scales","#orderSchema","#orderDetailsSchema","#newOrderInputSchema","#modifyOrderInputSchema","#batchCreateOrdersInputSchema","v.parse","v","ProtoRead.OrderSchema"],"sources":["../../../src/services/orders/orders.ts"],"sourcesContent":["import * as ProtoRead from \"../../gen/orders/v1/orders_read_pb.js\";\nimport * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"../../shared/validation.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { getOrderErrorDetail } from \"../../utils/connect-order-errors.js\";\nimport { formatConnectError, isResourceNotFoundError } from \"../../utils/errors.js\";\nimport {\n OpenOrdersInputSchema,\n OrderHistoryInputSchema,\n type NewOrderInput,\n createNewOrderInputSchema,\n CancelOrderInputSchema,\n CancelOrderResultSchema,\n type CancelOrderResult,\n CancelAllOrdersInputSchema,\n CancelAllOrdersResponseSchema,\n type CancelAllOrdersResponse,\n type Order,\n GetOrderDetailsInputSchema,\n createCreateOrderResultSchema,\n createPreviewOrderResultSchema,\n type PreviewOrderResult,\n type ModifyOrderInput,\n assertKnownModifyOrderInputKeys,\n createModifyOrderInputSchema,\n ModifyOrderResultSchema,\n type CreateOrderResult,\n type ModifyOrderResult,\n type OrderDetails,\n createOrderSchema,\n createOrderDetailsSchema,\n CancelAllAfterInputSchema,\n CancelAllAfterResultSchema,\n type CancelAllAfterInput,\n type CancelAllAfterResult,\n BatchCancelOrdersInputSchema,\n BatchCancelOrdersResultSchema,\n type BatchCancelOrdersInput,\n type BatchCancelOrdersResult,\n createBatchCreateOrdersResultSchema,\n type BatchCreateOrdersInput,\n type BatchCreateOrdersResult,\n BatchReplaceOrdersResultSchema,\n type BatchReplaceOrdersInput,\n type BatchReplaceOrdersResult,\n GetBatchReplaceStatusInputSchema,\n GetBatchReplaceStatusResultSchema,\n type GetBatchReplaceStatusInput,\n type GetBatchReplaceStatusResult,\n assertKnownBatchReplaceOrderItemInputKeys,\n createBatchCreateOrdersInputSchema,\n createBatchReplaceOrdersInputSchema,\n} from \"./orders.schemas.js\";\n\nfunction hasKnownOrderSymbol(scales: SdkScales, order: { symbolId: number }): boolean {\n try {\n scales.baseQty(order.symbolId);\n return true;\n } catch {\n return false;\n }\n}\n\nconst MISCLASSIFIED_ORDER_NOT_FOUND_MESSAGE = \"order not found\";\n\nfunction isOrderNotFoundError(error: unknown): boolean {\n return (\n isResourceNotFoundError(error) ||\n getOrderErrorDetail(error)?.code === \"NOT_FOUND\" ||\n formatConnectError(error, \"\").toLowerCase() === MISCLASSIFIED_ORDER_NOT_FOUND_MESSAGE\n );\n}\n\ninterface SubscribeOrdersInput extends BaseSubscribeInput<Order> {\n accountId: string;\n}\n\nfunction createMutationRequestId(): string {\n return (\n globalThis.crypto?.randomUUID?.() ??\n `req_${Date.now()}_${Math.random().toString(16).slice(2)}`\n );\n}\n\nfunction assertBatchResultCount(operation: string, requested: number, returned: number): void {\n if (requested !== returned) {\n throw new Error(\n `${operation} returned ${returned} results for ${requested} requested items.`,\n );\n }\n}\n\n/**\n * Manages account-scoped spot orders across read, write, and realtime order update surfaces.\n */\nexport class OrdersService {\n #readClient: Client<typeof ProtoRead.OrdersReadService>;\n #writeClient: Client<typeof ProtoWrite.OrdersService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #orderSchema: ReturnType<typeof createOrderSchema>;\n #orderDetailsSchema: ReturnType<typeof createOrderDetailsSchema>;\n #newOrderInputSchema: ReturnType<typeof createNewOrderInputSchema>;\n #modifyOrderInputSchema: ReturnType<typeof createModifyOrderInputSchema>;\n #batchCreateOrdersInputSchema: ReturnType<typeof createBatchCreateOrdersInputSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#readClient = createClient(ProtoRead.OrdersReadService, transport);\n this.#writeClient = createClient(ProtoWrite.OrdersService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#orderSchema = createOrderSchema(scales);\n this.#orderDetailsSchema = createOrderDetailsSchema(scales);\n this.#newOrderInputSchema = createNewOrderInputSchema(scales);\n this.#modifyOrderInputSchema = createModifyOrderInputSchema(scales);\n this.#batchCreateOrdersInputSchema = createBatchCreateOrdersInputSchema(scales);\n }\n\n /**\n * Returns open orders for the resolved root account or subaccount, with optional symbol, trigger ID, side, pagination, and attached-risk inclusion filters. Results include the next page token returned by GetOpenOrders.\n */\n async listOpen(\n input: v.InferInput<typeof OpenOrdersInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OpenOrdersInputSchema, resolved);\n const res = await this.#readClient.getOpenOrders(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Returns historical orders for the resolved account scope, supporting symbol, trigger ID, side, status, time range, pagination, and attached-risk filters. Results are paginated with the backend nextPageToken.\n */\n async listHistory(\n input: v.InferInput<typeof OrderHistoryInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OrderHistoryInputSchema, resolved);\n const res = await this.#readClient.getOrderHistory(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Evaluates one complete order intent against current market, policy, risk, and balance state without creating an order, reserving funds, or claiming its client order ID.\n */\n async preview(\n input: NewOrderInput,\n options?: PolyesterRequestOptions,\n ): Promise<PreviewOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(this.#newOrderInputSchema, resolved);\n const response = await this.#writeClient.previewOrder(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(createPreviewOrderResultSchema(this.#scales, input.symbol), response);\n }\n\n /**\n * 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.\n */\n async create(\n input: NewOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(this.#newOrderInputSchema, resolved);\n const requestPayload = removeUndefined(validatedInput);\n const res = await this.#writeClient.createOrder(\n requestPayload,\n toConnectCallOptions(options),\n );\n return v.parse(createCreateOrderResultSchema(this.#scales, input.symbol), res);\n }\n\n /**\n * 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.\n */\n async batchCreate(\n input: BatchCreateOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCreateOrdersResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(this.#batchCreateOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCreateOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(\n createBatchCreateOrdersResultSchema(\n this.#scales,\n input.items.map((item) => item.symbol),\n ),\n response,\n );\n assertBatchResultCount(\"batchCreate\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * 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.\n */\n async cancel(\n input: v.InferInput<typeof CancelOrderInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelOrderResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n\n const validated = v.parse(CancelOrderInputSchema, resolved);\n\n const res = await this.#writeClient.cancelOrder(\n {\n key: validated.key,\n symbolId: validated.symbolId,\n subaccountId: validated.subaccountId,\n },\n toConnectCallOptions(options),\n );\n return v.parse(CancelOrderResultSchema, res);\n }\n\n /**\n * 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.\n */\n async batchCancel(\n input: BatchCancelOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCancelOrdersResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(BatchCancelOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCancelOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchCancelOrdersResultSchema, response);\n assertBatchResultCount(\"batchCancel\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Applies a price, quantity, client id, or attached-risk patch to one open order using the backend modify behavior policy. A requestId is generated when omitted; provide a stable value when retrying the same logical modification.\n */\n async modify(\n input: ModifyOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<ModifyOrderResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n assertKnownModifyOrderInputKeys(resolved);\n const validated = v.parse(this.#modifyOrderInputSchema, resolved);\n const res = await this.#writeClient.modifyOrder(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(ModifyOrderResultSchema, res);\n }\n\n /**\n * 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.\n */\n async batchReplace(\n input: BatchReplaceOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchReplaceOrdersResult> {\n await this.#scales.ready();\n for (const item of input.items) {\n assertKnownBatchReplaceOrderItemInputKeys(item);\n }\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(\n createBatchReplaceOrdersInputSchema(this.#scales, input.symbolId),\n resolved,\n );\n const response = await this.#writeClient.batchReplaceOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchReplaceOrdersResultSchema, response);\n assertBatchResultCount(\"batchReplace\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Reads the durable per-item execution status for a batch replacement receipt.\n */\n async getBatchReplaceStatus(\n input: GetBatchReplaceStatusInput,\n options?: PolyesterRequestOptions,\n ): Promise<GetBatchReplaceStatusResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(GetBatchReplaceStatusInputSchema, resolved);\n const response = await this.#readClient.getBatchReplaceStatus(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(GetBatchReplaceStatusResultSchema, response);\n }\n\n /**\n * 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.\n */\n async cancelAll(\n input: v.InferInput<typeof CancelAllOrdersInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllOrdersResponse> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const validated = v.parse(CancelAllOrdersInputSchema, resolved);\n const res = await this.#writeClient.cancelAllOrders(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllOrdersResponseSchema, res);\n }\n\n /**\n * 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.\n */\n async cancelAllAfter(\n input: CancelAllAfterInput,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllAfterResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(CancelAllAfterInputSchema, resolved);\n const response = await this.#writeClient.cancelAllAfter(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllAfterResultSchema, response);\n }\n\n /**\n * 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.\n */\n async getDetails(\n input: v.InferInput<typeof GetOrderDetailsInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<OrderDetails | null> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(GetOrderDetailsInputSchema, resolved);\n let res: ProtoRead.GetOrderResponse;\n try {\n res = await this.#readClient.getOrder(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n } catch (error) {\n if (isOrderNotFoundError(error)) return null;\n throw error;\n }\n if (!res.order) return null;\n return v.parse(this.#orderDetailsSchema, res);\n }\n\n /**\n * Subscribes to private order updates on private:spot:orders:{accountId}:proto and emits parsed order records until the returned unsubscribe function is called.\n */\n subscribe(input: SubscribeOrdersInput): () => void {\n const channel = `private:spot:orders:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: ProtoRead.OrderSchema,\n onPublication: (data) => {\n gate.run(() => {\n const order = v.parse(this.#orderSchema, data);\n input.onEvent(order);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;AAiEA,SAAS,oBAAoB,QAAmB,OAAsC;CAClF,IAAI;EACA,OAAO,QAAQ,MAAM,QAAQ;EAC7B,OAAO;CACX,QAAQ;EACJ,OAAO;CACX;AACJ;AAEA,MAAM,wCAAwC;AAE9C,SAAS,qBAAqB,OAAyB;CACnD,OACI,wBAAwB,KAAK,KAC7B,oBAAoB,KAAK,CAAC,EAAE,SAAS,eACrC,mBAAmB,OAAO,EAAE,CAAC,CAAC,YAAY,MAAM;AAExD;AAMA,SAAS,0BAAkC;CACvC,OACI,WAAW,QAAQ,aAAa,KAChC,OAAO,KAAK,IAAI,EAAE,GAAG,KAAK,OAAO,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,MAAM,CAAC;AAE/D;AAEA,SAAS,uBAAuB,WAAmB,WAAmB,UAAwB;CAC1F,IAAI,cAAc,UACd,MAAM,IAAI,MACN,GAAG,UAAU,YAAY,SAAS,eAAe,UAAU,kBAC/D;AAER;;;;AAKA,IAAa,gBAAb,MAA2B;CACvB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YACI,WACA,UACA,UACA,QACF;EACE,KAAKA,cAAc,aAAaC,mBAA6B,SAAS;EACtE,KAAKC,eAAe,aAAaC,iBAA0B,SAAS;EACpE,KAAKC,YAAY;EACjB,KAAKC,YAAY;EACjB,KAAKC,UAAU;EACf,KAAKC,eAAe,kBAAkB,MAAM;EAC5C,KAAKC,sBAAsB,yBAAyB,MAAM;EAC1D,KAAKC,uBAAuB,0BAA0B,MAAM;EAC5D,KAAKC,0BAA0B,6BAA6B,MAAM;EAClE,KAAKC,gCAAgC,mCAAmC,MAAM;CAClF;;;;CAKA,MAAM,SACF,QAAoD,CAAC,GACrD,SACmD;EACnD,MAAM,KAAKL,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,iBAAiBO,MAAQ,uBAAuB,QAAQ;EAC9D,MAAM,MAAM,MAAM,KAAKZ,YAAY,cAC/B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,QAAQY,MACJC,mBAAE,MAAM,KAAKN,YAAY,GACzB,IAAI,OAAO,QAAQ,UAAU,oBAAoB,KAAKD,SAAS,KAAK,CAAC,CACzE;GACA,eAAe,IAAI;EACvB;CACJ;;;;CAKA,MAAM,YACF,QAAsD,CAAC,GACvD,SACmD;EACnD,MAAM,KAAKA,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,iBAAiBO,MAAQ,yBAAyB,QAAQ;EAChE,MAAM,MAAM,MAAM,KAAKZ,YAAY,gBAC/B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,OAAO;GACH,QAAQY,MACJC,mBAAE,MAAM,KAAKN,YAAY,GACzB,IAAI,OAAO,QAAQ,UAAU,oBAAoB,KAAKD,SAAS,KAAK,CAAC,CACzE;GACA,eAAe,IAAI;EACvB;CACJ;;;;CAKA,MAAM,QACF,OACA,SAC2B;EAC3B,MAAM,KAAKA,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,UAAUO,MAAQ,KAAKH,sBAAsB,QAAQ;EAC3D,MAAM,WAAW,MAAM,KAAKP,aAAa,aACrC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAOU,MAAQ,+BAA+B,KAAKN,SAAS,MAAM,MAAM,GAAG,QAAQ;CACvF;;;;CAKA,MAAM,OACF,OACA,SAC0B;EAC1B,MAAM,KAAKA,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,iBAAiBO,MAAQ,KAAKH,sBAAsB,QAAQ;EAClE,MAAM,iBAAiB,gBAAgB,cAAc;EACrD,MAAM,MAAM,MAAM,KAAKP,aAAa,YAChC,gBACA,qBAAqB,OAAO,CAChC;EACA,OAAOU,MAAQ,8BAA8B,KAAKN,SAAS,MAAM,MAAM,GAAG,GAAG;CACjF;;;;CAKA,MAAM,YACF,OACA,SACgC;EAChC,MAAM,KAAKA,QAAQ,MAAM;EACzB,MAAM,WAAW;GACb,GAAG,0BAA0B,OAAO,KAAKD,SAAS;GAClD,WAAW,MAAM,aAAa,wBAAwB;EAC1D;EACA,MAAM,UAAUO,MAAQ,KAAKD,+BAA+B,QAAQ;EACpE,MAAM,WAAW,MAAM,KAAKT,aAAa,kBACrC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,MAAM,SAASU,MACX,oCACI,KAAKN,SACL,MAAM,MAAM,KAAK,SAAS,KAAK,MAAM,CACzC,GACA,QACJ;EACA,uBAAuB,eAAe,MAAM,MAAM,QAAQ,OAAO,QAAQ,MAAM;EAC/E,OAAO;CACX;;;;CAKA,MAAM,OACF,OACA,SAC0B;EAC1B,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAEhE,MAAM,YAAYO,MAAQ,wBAAwB,QAAQ;EAE1D,MAAM,MAAM,MAAM,KAAKV,aAAa,YAChC;GACI,KAAK,UAAU;GACf,UAAU,UAAU;GACpB,cAAc,UAAU;EAC5B,GACA,qBAAqB,OAAO,CAChC;EACA,OAAOU,MAAQ,yBAAyB,GAAG;CAC/C;;;;CAKA,MAAM,YACF,OACA,SACgC;EAChC,MAAM,WAAW;GACb,GAAG,0BAA0B,OAAO,KAAKP,SAAS;GAClD,WAAW,MAAM,aAAa,wBAAwB;EAC1D;EACA,MAAM,UAAUO,MAAQ,8BAA8B,QAAQ;EAC9D,MAAM,WAAW,MAAM,KAAKV,aAAa,kBACrC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,MAAM,SAASU,MAAQ,+BAA+B,QAAQ;EAC9D,uBAAuB,eAAe,MAAM,MAAM,QAAQ,OAAO,QAAQ,MAAM;EAC/E,OAAO;CACX;;;;CAKA,MAAM,OACF,OACA,SAC0B;EAC1B,MAAM,KAAKN,QAAQ,MAAM;EACzB,MAAM,WAAW;GACb,GAAG,0BAA0B,OAAO,KAAKD,SAAS;GAClD,WAAW,MAAM,aAAa,wBAAwB;EAC1D;EACA,gCAAgC,QAAQ;EACxC,MAAM,YAAYO,MAAQ,KAAKF,yBAAyB,QAAQ;EAChE,MAAM,MAAM,MAAM,KAAKR,aAAa,YAChC,gBAAgB,SAAS,GACzB,qBAAqB,OAAO,CAChC;EACA,OAAOU,MAAQ,yBAAyB,GAAG;CAC/C;;;;CAKA,MAAM,aACF,OACA,SACiC;EACjC,MAAM,KAAKN,QAAQ,MAAM;EACzB,KAAK,MAAM,QAAQ,MAAM,OACrB,0CAA0C,IAAI;EAElD,MAAM,WAAW;GACb,GAAG,0BAA0B,OAAO,KAAKD,SAAS;GAClD,WAAW,MAAM,aAAa,wBAAwB;EAC1D;EACA,MAAM,UAAUO,MACZ,oCAAoC,KAAKN,SAAS,MAAM,QAAQ,GAChE,QACJ;EACA,MAAM,WAAW,MAAM,KAAKJ,aAAa,mBACrC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,MAAM,SAASU,MAAQ,gCAAgC,QAAQ;EAC/D,uBAAuB,gBAAgB,MAAM,MAAM,QAAQ,OAAO,QAAQ,MAAM;EAChF,OAAO;CACX;;;;CAKA,MAAM,sBACF,OACA,SACoC;EACpC,MAAM,WAAW,0BAA0B,OAAO,KAAKP,SAAS;EAChE,MAAM,UAAUO,MAAQ,kCAAkC,QAAQ;EAClE,MAAM,WAAW,MAAM,KAAKZ,YAAY,sBACpC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAOY,MAAQ,mCAAmC,QAAQ;CAC9D;;;;CAKA,MAAM,UACF,OACA,SACgC;EAChC,MAAM,WAAW;GACb,GAAG,0BAA0B,OAAO,KAAKP,SAAS;GAClD,WAAW,MAAM,aAAa,wBAAwB;EAC1D;EACA,MAAM,YAAYO,MAAQ,4BAA4B,QAAQ;EAC9D,MAAM,MAAM,MAAM,KAAKV,aAAa,gBAChC,gBAAgB,SAAS,GACzB,qBAAqB,OAAO,CAChC;EACA,OAAOU,MAAQ,+BAA+B,GAAG;CACrD;;;;CAKA,MAAM,eACF,OACA,SAC6B;EAC7B,MAAM,WAAW;GACb,GAAG,0BAA0B,OAAO,KAAKP,SAAS;GAClD,WAAW,MAAM,aAAa,wBAAwB;EAC1D;EACA,MAAM,UAAUO,MAAQ,2BAA2B,QAAQ;EAC3D,MAAM,WAAW,MAAM,KAAKV,aAAa,eACrC,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAOU,MAAQ,4BAA4B,QAAQ;CACvD;;;;CAKA,MAAM,WACF,OACA,SAC4B;EAC5B,MAAM,KAAKN,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,iBAAiBO,MAAQ,4BAA4B,QAAQ;EACnE,IAAI;EACJ,IAAI;GACA,MAAM,MAAM,KAAKZ,YAAY,SACzB,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACJ,SAAS,OAAO;GACZ,IAAI,qBAAqB,KAAK,GAAG,OAAO;GACxC,MAAM;EACV;EACA,IAAI,CAAC,IAAI,OAAO,OAAO;EACvB,OAAOY,MAAQ,KAAKJ,qBAAqB,GAAG;CAChD;;;;CAKA,UAAU,OAAyC;EAC/C,MAAM,UAAU,uBAAuB,MAAM,UAAU;EACvD,MAAM,OAAO,sBACH,KAAKF,QAAQ,MAAM,IACxB,UAAU,MAAM,UAAU,+BAA+B,SAAS,KAAK,CAAC,CAC7E;EACA,OAAO,KAAKF,UAAU,oBAAoB;GACtC;GACA,QAAQU;GACR,gBAAgB,SAAS;IACrB,KAAK,UAAU;KACX,MAAM,QAAQF,MAAQ,KAAKL,cAAc,IAAI;KAC7C,MAAM,QAAQ,KAAK;IACvB,CAAC;GACL;GACA,mBAAmB,MAAM,SAAS;GAClC,sBAAsB,MAAM,UAAU;GACtC,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { validation_d_exports } from "../../../shared/validation.js";
|
|
1
2
|
import { PolyesterMutationOptions, PolyesterRequestOptions } from "../../../shared/request-options.js";
|
|
2
3
|
import { ApiKeyPolicy, ApplyApiKeyPolicyInputSchema, CreateApiKeyPolicyInputSchema, GetApiKeyPolicyInputSchema, ListApiKeyPoliciesInputSchema, UpdateApiKeyPolicyInputSchema } from "./api-key-policies.schemas.js";
|
|
3
4
|
import { Transport } from "@connectrpc/connect";
|
|
4
|
-
import * as v from "valibot";
|
|
5
5
|
//#region src/services/policies/api-key-policies/api-key-policies.d.ts
|
|
6
6
|
/**
|
|
7
7
|
* Manages reusable API key policy templates and their assignment to API keys.
|
|
@@ -12,19 +12,19 @@ declare class ApiKeyPoliciesService {
|
|
|
12
12
|
/**
|
|
13
13
|
* Returns API key policy templates available to the caller.
|
|
14
14
|
*/
|
|
15
|
-
list(input?:
|
|
15
|
+
list(input?: validation_d_exports.InferInput<typeof ListApiKeyPoliciesInputSchema>, options?: PolyesterRequestOptions): Promise<ApiKeyPolicy[]>;
|
|
16
16
|
/**
|
|
17
17
|
* Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.
|
|
18
18
|
*/
|
|
19
|
-
get(input:
|
|
19
|
+
get(input: validation_d_exports.InferInput<typeof GetApiKeyPolicyInputSchema>, options?: PolyesterRequestOptions): Promise<ApiKeyPolicy>;
|
|
20
20
|
/**
|
|
21
21
|
* Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.
|
|
22
22
|
*/
|
|
23
|
-
create(input:
|
|
23
|
+
create(input: validation_d_exports.InferInput<typeof CreateApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<ApiKeyPolicy>;
|
|
24
24
|
/**
|
|
25
25
|
* Updates selected API key policy fields using optimistic concurrency.
|
|
26
26
|
*/
|
|
27
|
-
update(input:
|
|
27
|
+
update(input: validation_d_exports.InferInput<typeof UpdateApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<ApiKeyPolicy>;
|
|
28
28
|
/**
|
|
29
29
|
* Deletes an API key policy template when it is not in use.
|
|
30
30
|
*/
|
|
@@ -32,7 +32,7 @@ declare class ApiKeyPoliciesService {
|
|
|
32
32
|
/**
|
|
33
33
|
* Attaches a policy to an API key, or clears the key-specific policy when policyId is null.
|
|
34
34
|
*/
|
|
35
|
-
apply(input:
|
|
35
|
+
apply(input: validation_d_exports.InferInput<typeof ApplyApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<void>;
|
|
36
36
|
}
|
|
37
37
|
//#endregion
|
|
38
38
|
export { ApiKeyPoliciesService };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-policies.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"mappings":";;;;;;;;cAyBa;;EAGG,YAAA,WAAW;;;;EAOjB,KACF,QAAO,
|
|
1
|
+
{"version":3,"file":"api-key-policies.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"mappings":";;;;;;;;cAyBa;;EAGG,YAAA,WAAW;;;;EAOjB,KACF,QAAO,qBAAE,kBAAkB,gCAC3B,UAAU,0BACX,QAAQ;;;;EAYL,IACF,OAAO,qBAAE,kBAAkB,6BAC3B,UAAU,0BACX,QAAQ;;;;EAcL,OACF,OAAO,qBAAE,kBAAkB,gCAC3B,UAAU,2BACX,QAAQ;;;;EAaL,OACF,OAAO,qBAAE,kBAAkB,gCAC3B,UAAU,2BACX,QAAQ;;;;EAaL,OAAO,kBAAkB,UAAU,2BAA2B;;;;EAW9D,MACF,OAAO,qBAAE,kBAAkB,+BAC3B,UAAU,2BACX"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
+
import { parse } from "../../../shared/validation.js";
|
|
1
2
|
import { toConnectCallOptions } from "../../../shared/request-options.js";
|
|
2
3
|
import { removeUndefined } from "../../../utils/remove-undefined.js";
|
|
3
4
|
import { PolicyService } from "../../../gen/auth/v1/policies_pb.js";
|
|
4
5
|
import { PolicyIdSchema } from "../shared.js";
|
|
5
6
|
import { ApiKeyPolicySchema, ApplyApiKeyPolicyInputSchema, CreateApiKeyPolicyInputSchema, DEFAULT_API_KEY_POLICY, GetApiKeyPolicyInputSchema, ListApiKeyPoliciesInputSchema, ListApiKeyPoliciesResponseSchema, UpdateApiKeyPolicyInputSchema } from "./api-key-policies.schemas.js";
|
|
6
7
|
import { createClient } from "@connectrpc/connect";
|
|
7
|
-
import * as v from "valibot";
|
|
8
8
|
//#region src/services/policies/api-key-policies/api-key-policies.ts
|
|
9
9
|
/**
|
|
10
10
|
* Manages reusable API key policy templates and their assignment to API keys.
|
|
@@ -18,53 +18,53 @@ var ApiKeyPoliciesService = class {
|
|
|
18
18
|
* Returns API key policy templates available to the caller.
|
|
19
19
|
*/
|
|
20
20
|
async list(input = {}, options) {
|
|
21
|
-
const request =
|
|
21
|
+
const request = parse(ListApiKeyPoliciesInputSchema, input);
|
|
22
22
|
const res = await this.#client.listApiPolicies(removeUndefined(request), toConnectCallOptions(options));
|
|
23
|
-
return
|
|
23
|
+
return parse(ListApiKeyPoliciesResponseSchema, res);
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
26
26
|
* Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.
|
|
27
27
|
*/
|
|
28
28
|
async get(input, options) {
|
|
29
|
-
const { policyId, keyId } =
|
|
29
|
+
const { policyId, keyId } = parse(GetApiKeyPolicyInputSchema, input);
|
|
30
30
|
if (!policyId) return DEFAULT_API_KEY_POLICY;
|
|
31
31
|
const res = await this.#client.getApiPolicy(removeUndefined({
|
|
32
32
|
policyId,
|
|
33
33
|
keyId
|
|
34
34
|
}), toConnectCallOptions(options));
|
|
35
35
|
if (!res.policy) return DEFAULT_API_KEY_POLICY;
|
|
36
|
-
return
|
|
36
|
+
return parse(ApiKeyPolicySchema, res.policy);
|
|
37
37
|
}
|
|
38
38
|
/**
|
|
39
39
|
* Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.
|
|
40
40
|
*/
|
|
41
41
|
async create(input, options) {
|
|
42
|
-
const validatedInput =
|
|
42
|
+
const validatedInput = parse(CreateApiKeyPolicyInputSchema, input);
|
|
43
43
|
const res = await this.#client.createApiPolicy(removeUndefined(validatedInput), toConnectCallOptions(options));
|
|
44
44
|
if (!res.policy) throw new Error("Failed to create API key policy");
|
|
45
|
-
return
|
|
45
|
+
return parse(ApiKeyPolicySchema, res.policy);
|
|
46
46
|
}
|
|
47
47
|
/**
|
|
48
48
|
* Updates selected API key policy fields using optimistic concurrency.
|
|
49
49
|
*/
|
|
50
50
|
async update(input, options) {
|
|
51
|
-
const validatedInput =
|
|
51
|
+
const validatedInput = parse(UpdateApiKeyPolicyInputSchema, input);
|
|
52
52
|
const res = await this.#client.updateApiPolicy(removeUndefined(validatedInput), toConnectCallOptions(options));
|
|
53
53
|
if (!res.policy) throw new Error("Failed to update API key policy");
|
|
54
|
-
return
|
|
54
|
+
return parse(ApiKeyPolicySchema, res.policy);
|
|
55
55
|
}
|
|
56
56
|
/**
|
|
57
57
|
* Deletes an API key policy template when it is not in use.
|
|
58
58
|
*/
|
|
59
59
|
async delete(policyId, options) {
|
|
60
|
-
const validatedPolicyId =
|
|
60
|
+
const validatedPolicyId = parse(PolicyIdSchema, policyId);
|
|
61
61
|
await this.#client.deleteApiPolicy({ policyId: validatedPolicyId }, toConnectCallOptions(options));
|
|
62
62
|
}
|
|
63
63
|
/**
|
|
64
64
|
* Attaches a policy to an API key, or clears the key-specific policy when policyId is null.
|
|
65
65
|
*/
|
|
66
66
|
async apply(input, options) {
|
|
67
|
-
const validatedInput =
|
|
67
|
+
const validatedInput = parse(ApplyApiKeyPolicyInputSchema, input);
|
|
68
68
|
await this.#client.setApiKeyPolicy(removeUndefined(validatedInput), toConnectCallOptions(options));
|
|
69
69
|
}
|
|
70
70
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-key-policies.js","names":["#client","Proto.PolicyService"],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"sourcesContent":["import * as Proto from \"../../../gen/auth/v1/policies_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as v from \"
|
|
1
|
+
{"version":3,"file":"api-key-policies.js","names":["#client","Proto.PolicyService","v.parse"],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"sourcesContent":["import * as Proto from \"../../../gen/auth/v1/policies_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as v from \"../../../shared/validation.js\";\nimport { removeUndefined } from \"../../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../../shared/request-options.js\";\nimport {\n ApiKeyPolicySchema,\n ListApiKeyPoliciesResponseSchema,\n CreateApiKeyPolicyInputSchema,\n UpdateApiKeyPolicyInputSchema,\n ApplyApiKeyPolicyInputSchema,\n DEFAULT_API_KEY_POLICY,\n type ApiKeyPolicy,\n ListApiKeyPoliciesInputSchema,\n GetApiKeyPolicyInputSchema,\n} from \"./api-key-policies.schemas.js\";\nimport { PolicyIdSchema } from \"../shared.js\";\n\n/**\n * Manages reusable API key policy templates and their assignment to API keys.\n */\nexport class ApiKeyPoliciesService {\n #client: Client<typeof Proto.PolicyService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.PolicyService, transport);\n }\n\n /**\n * Returns API key policy templates available to the caller.\n */\n async list(\n input: v.InferInput<typeof ListApiKeyPoliciesInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy[]> {\n const request = v.parse(ListApiKeyPoliciesInputSchema, input);\n const res = await this.#client.listApiPolicies(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(ListApiKeyPoliciesResponseSchema, res);\n }\n\n /**\n * Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.\n */\n async get(\n input: v.InferInput<typeof GetApiKeyPolicyInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy> {\n const { policyId, keyId } = v.parse(GetApiKeyPolicyInputSchema, input);\n if (!policyId) return DEFAULT_API_KEY_POLICY;\n const res = await this.#client.getApiPolicy(\n removeUndefined({ policyId, keyId }),\n toConnectCallOptions(options),\n );\n if (!res.policy) return DEFAULT_API_KEY_POLICY;\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.\n */\n async create(\n input: v.InferInput<typeof CreateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(CreateApiKeyPolicyInputSchema, input);\n const res = await this.#client.createApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to create API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Updates selected API key policy fields using optimistic concurrency.\n */\n async update(\n input: v.InferInput<typeof UpdateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(UpdateApiKeyPolicyInputSchema, input);\n const res = await this.#client.updateApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to update API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Deletes an API key policy template when it is not in use.\n */\n async delete(policyId: string, options?: PolyesterMutationOptions): Promise<void> {\n const validatedPolicyId = v.parse(PolicyIdSchema, policyId);\n await this.#client.deleteApiPolicy(\n { policyId: validatedPolicyId },\n toConnectCallOptions(options),\n );\n }\n\n /**\n * Attaches a policy to an API key, or clears the key-specific policy when policyId is null.\n */\n async apply(\n input: v.InferInput<typeof ApplyApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const validatedInput = v.parse(ApplyApiKeyPolicyInputSchema, input);\n await this.#client.setApiKeyPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAyBA,IAAa,wBAAb,MAAmC;CAC/B;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,eAAqB,SAAS;CAC9D;;;;CAKA,MAAM,KACF,QAA4D,CAAC,GAC7D,SACuB;EACvB,MAAM,UAAUC,MAAQ,+BAA+B,KAAK;EAC5D,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,kCAAkC,GAAG;CACxD;;;;CAKA,MAAM,IACF,OACA,SACqB;EACrB,MAAM,EAAE,UAAU,UAAUA,MAAQ,4BAA4B,KAAK;EACrE,IAAI,CAAC,UAAU,OAAO;EACtB,MAAM,MAAM,MAAM,KAAKF,QAAQ,aAC3B,gBAAgB;GAAE;GAAU;EAAM,CAAC,GACnC,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,OAAO;EACxB,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiBA,MAAQ,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiBA,MAAQ,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OAAO,UAAkB,SAAmD;EAC9E,MAAM,oBAAoBA,MAAQ,gBAAgB,QAAQ;EAC1D,MAAM,KAAKF,QAAQ,gBACf,EAAE,UAAU,kBAAkB,GAC9B,qBAAqB,OAAO,CAChC;CACJ;;;;CAKA,MAAM,MACF,OACA,SACa;EACb,MAAM,iBAAiBE,MAAQ,8BAA8B,KAAK;EAClE,MAAM,KAAKF,QAAQ,gBACf,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;CACJ;AACJ"}
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
+
import { validation_d_exports } from "../../../shared/validation.js";
|
|
1
2
|
import { MarketScope_Value, PolicyAction } from "../../../gen/auth/v1/policies_pb.js";
|
|
2
3
|
import { DecodedEnum } from "../../../utils/types.js";
|
|
3
|
-
import * as v from "valibot";
|
|
4
4
|
//#region src/services/policies/api-key-policies/api-key-policies.schemas.d.ts
|
|
5
|
-
declare const ListApiKeyPoliciesInputSchema:
|
|
6
|
-
readonly keyId:
|
|
5
|
+
declare const ListApiKeyPoliciesInputSchema: validation_d_exports.StrictObjectSchema<{
|
|
6
|
+
readonly keyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
|
|
7
7
|
}, undefined>;
|
|
8
|
-
declare const GetApiKeyPolicyInputSchema:
|
|
9
|
-
readonly policyId:
|
|
10
|
-
readonly keyId:
|
|
11
|
-
}, undefined>,
|
|
8
|
+
declare const GetApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
|
|
9
|
+
readonly policyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>, undefined>;
|
|
10
|
+
readonly keyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
|
|
11
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
12
12
|
policyId?: string | undefined;
|
|
13
13
|
keyId?: string | undefined;
|
|
14
14
|
}, {
|
|
@@ -19,38 +19,38 @@ declare const GetApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObj
|
|
|
19
19
|
* From the backend format to a usable frontend/UI format, so big ints to numbers, etc.
|
|
20
20
|
* Shape matches auth.v1.ApiPolicyView.
|
|
21
21
|
*/
|
|
22
|
-
declare const ApiKeyPolicySchema:
|
|
23
|
-
readonly id:
|
|
24
|
-
readonly name:
|
|
25
|
-
readonly description:
|
|
26
|
-
readonly spotMarkets:
|
|
27
|
-
readonly symbol:
|
|
22
|
+
declare const ApiKeyPolicySchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
23
|
+
readonly id: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
|
|
24
|
+
readonly name: validation_d_exports.StringSchema<undefined>;
|
|
25
|
+
readonly description: validation_d_exports.StringSchema<undefined>;
|
|
26
|
+
readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
27
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
28
28
|
}, undefined>, undefined>, readonly []>;
|
|
29
|
-
readonly spotMarketScope:
|
|
30
|
-
readonly perpMarketScope:
|
|
31
|
-
readonly perpMarkets:
|
|
32
|
-
readonly symbol:
|
|
33
|
-
readonly maxLeverageX:
|
|
29
|
+
readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
|
|
30
|
+
readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
|
|
31
|
+
readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
32
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
33
|
+
readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
|
|
34
34
|
}, undefined>, undefined>, readonly []>;
|
|
35
|
-
readonly actions:
|
|
36
|
-
readonly isTemplate:
|
|
37
|
-
readonly sourceTemplateId:
|
|
38
|
-
readonly maxOrderNotional:
|
|
39
|
-
readonly dailyInternalTransferOutLimit:
|
|
40
|
-
readonly dailyWithdrawLimit:
|
|
41
|
-
readonly createdAt:
|
|
42
|
-
readonly seconds:
|
|
43
|
-
readonly nanos:
|
|
44
|
-
}, undefined>,
|
|
35
|
+
readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<validation_d_exports.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
|
|
36
|
+
readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
|
|
37
|
+
readonly sourceTemplateId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
|
|
38
|
+
readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, number | undefined>]>;
|
|
39
|
+
readonly dailyInternalTransferOutLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
|
|
40
|
+
readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
|
|
41
|
+
readonly createdAt: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
42
|
+
readonly seconds: validation_d_exports.BigintSchema<undefined>;
|
|
43
|
+
readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
|
|
44
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
45
45
|
seconds: bigint;
|
|
46
46
|
nanos: number;
|
|
47
47
|
}, number>]>;
|
|
48
|
-
readonly updatedAt:
|
|
49
|
-
readonly seconds:
|
|
50
|
-
readonly nanos:
|
|
48
|
+
readonly updatedAt: validation_d_exports.ObjectSchema<{
|
|
49
|
+
readonly seconds: validation_d_exports.BigintSchema<undefined>;
|
|
50
|
+
readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
|
|
51
51
|
}, undefined>;
|
|
52
|
-
readonly revision:
|
|
53
|
-
}, undefined>,
|
|
52
|
+
readonly revision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
|
|
53
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
54
54
|
id: string;
|
|
55
55
|
name: string;
|
|
56
56
|
description: string;
|
|
@@ -99,40 +99,40 @@ declare const ApiKeyPolicySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
|
99
99
|
createdAt: number;
|
|
100
100
|
revision: string;
|
|
101
101
|
}>]>;
|
|
102
|
-
type ApiKeyPolicy =
|
|
103
|
-
declare const ListApiKeyPoliciesResponseSchema:
|
|
104
|
-
readonly policies:
|
|
105
|
-
readonly id:
|
|
106
|
-
readonly name:
|
|
107
|
-
readonly description:
|
|
108
|
-
readonly spotMarkets:
|
|
109
|
-
readonly symbol:
|
|
102
|
+
type ApiKeyPolicy = validation_d_exports.InferOutput<typeof ApiKeyPolicySchema>;
|
|
103
|
+
declare const ListApiKeyPoliciesResponseSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
104
|
+
readonly policies: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
105
|
+
readonly id: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
|
|
106
|
+
readonly name: validation_d_exports.StringSchema<undefined>;
|
|
107
|
+
readonly description: validation_d_exports.StringSchema<undefined>;
|
|
108
|
+
readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
109
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
110
110
|
}, undefined>, undefined>, readonly []>;
|
|
111
|
-
readonly spotMarketScope:
|
|
112
|
-
readonly perpMarketScope:
|
|
113
|
-
readonly perpMarkets:
|
|
114
|
-
readonly symbol:
|
|
115
|
-
readonly maxLeverageX:
|
|
111
|
+
readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
|
|
112
|
+
readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
|
|
113
|
+
readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
114
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
115
|
+
readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
|
|
116
116
|
}, undefined>, undefined>, readonly []>;
|
|
117
|
-
readonly actions:
|
|
118
|
-
readonly isTemplate:
|
|
119
|
-
readonly sourceTemplateId:
|
|
120
|
-
readonly maxOrderNotional:
|
|
121
|
-
readonly dailyInternalTransferOutLimit:
|
|
122
|
-
readonly dailyWithdrawLimit:
|
|
123
|
-
readonly createdAt:
|
|
124
|
-
readonly seconds:
|
|
125
|
-
readonly nanos:
|
|
126
|
-
}, undefined>,
|
|
117
|
+
readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<validation_d_exports.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
|
|
118
|
+
readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
|
|
119
|
+
readonly sourceTemplateId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
|
|
120
|
+
readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, number | undefined>]>;
|
|
121
|
+
readonly dailyInternalTransferOutLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
|
|
122
|
+
readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
|
|
123
|
+
readonly createdAt: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
124
|
+
readonly seconds: validation_d_exports.BigintSchema<undefined>;
|
|
125
|
+
readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
|
|
126
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
127
127
|
seconds: bigint;
|
|
128
128
|
nanos: number;
|
|
129
129
|
}, number>]>;
|
|
130
|
-
readonly updatedAt:
|
|
131
|
-
readonly seconds:
|
|
132
|
-
readonly nanos:
|
|
130
|
+
readonly updatedAt: validation_d_exports.ObjectSchema<{
|
|
131
|
+
readonly seconds: validation_d_exports.BigintSchema<undefined>;
|
|
132
|
+
readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
|
|
133
133
|
}, undefined>;
|
|
134
|
-
readonly revision:
|
|
135
|
-
}, undefined>,
|
|
134
|
+
readonly revision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
|
|
135
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
136
136
|
id: string;
|
|
137
137
|
name: string;
|
|
138
138
|
description: string;
|
|
@@ -181,7 +181,7 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
181
181
|
createdAt: number;
|
|
182
182
|
revision: string;
|
|
183
183
|
}>]>, undefined>, readonly []>;
|
|
184
|
-
}, undefined>,
|
|
184
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
185
185
|
policies: {
|
|
186
186
|
updatedAt: number;
|
|
187
187
|
updatedAtNs: string;
|
|
@@ -230,26 +230,26 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
230
230
|
createdAt: number;
|
|
231
231
|
revision: string;
|
|
232
232
|
}[]>]>;
|
|
233
|
-
type ListApiKeyPoliciesResponse =
|
|
234
|
-
declare const CreateApiKeyPolicyInputSchema:
|
|
235
|
-
readonly name:
|
|
236
|
-
readonly description:
|
|
237
|
-
readonly spotMarkets:
|
|
238
|
-
readonly symbol:
|
|
233
|
+
type ListApiKeyPoliciesResponse = validation_d_exports.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;
|
|
234
|
+
declare const CreateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
|
|
235
|
+
readonly name: validation_d_exports.StringSchema<undefined>;
|
|
236
|
+
readonly description: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
|
|
237
|
+
readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
238
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
239
239
|
}, undefined>, undefined>, readonly []>;
|
|
240
|
-
readonly perpMarkets:
|
|
241
|
-
readonly symbol:
|
|
242
|
-
readonly maxLeverageX:
|
|
240
|
+
readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
241
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
242
|
+
readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
|
|
243
243
|
}, undefined>, undefined>, readonly []>;
|
|
244
|
-
readonly spotMarketScope:
|
|
245
|
-
readonly perpMarketScope:
|
|
246
|
-
readonly actions:
|
|
247
|
-
readonly maxOrderNotional:
|
|
248
|
-
readonly dailyInternalTransferLimit:
|
|
249
|
-
readonly dailyWithdrawLimit:
|
|
250
|
-
readonly isTemplate:
|
|
251
|
-
readonly assignToKeyId:
|
|
252
|
-
}, undefined>,
|
|
244
|
+
readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, validation_d_exports.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
|
|
245
|
+
readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, validation_d_exports.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
|
|
246
|
+
readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[], (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[]>]>;
|
|
247
|
+
readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
|
|
248
|
+
readonly dailyInternalTransferLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
|
|
249
|
+
readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
|
|
250
|
+
readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
|
|
251
|
+
readonly assignToKeyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, undefined>;
|
|
252
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
253
253
|
name: string;
|
|
254
254
|
description: string;
|
|
255
255
|
spotMarkets: {
|
|
@@ -288,27 +288,27 @@ declare const CreateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
288
288
|
};
|
|
289
289
|
assignToKeyId: string | undefined;
|
|
290
290
|
}>]>;
|
|
291
|
-
type ApiKeyPolicyCreateInput =
|
|
292
|
-
declare const UpdateApiKeyPolicyInputSchema:
|
|
293
|
-
readonly policyId:
|
|
294
|
-
readonly expectedRevision:
|
|
295
|
-
readonly name:
|
|
296
|
-
readonly description:
|
|
297
|
-
readonly spotMarkets:
|
|
298
|
-
readonly symbol:
|
|
291
|
+
type ApiKeyPolicyCreateInput = validation_d_exports.InferInput<typeof CreateApiKeyPolicyInputSchema>;
|
|
292
|
+
declare const UpdateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
|
|
293
|
+
readonly policyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TransformAction<string, bigint>]>;
|
|
294
|
+
readonly expectedRevision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, validation_d_exports.RegexAction<string, `${string} must be a decimal integer`>, validation_d_exports.TransformAction<string, bigint>]>, validation_d_exports.CheckAction<bigint, `${string} must be greater than 0`>]>;
|
|
295
|
+
readonly name: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, undefined>;
|
|
296
|
+
readonly description: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, undefined>;
|
|
297
|
+
readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
298
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
299
299
|
}, undefined>, undefined>, undefined>;
|
|
300
|
-
readonly perpMarkets:
|
|
301
|
-
readonly symbol:
|
|
302
|
-
readonly maxLeverageX:
|
|
300
|
+
readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
301
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
302
|
+
readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
|
|
303
303
|
}, undefined>, undefined>, undefined>;
|
|
304
|
-
readonly spotMarketScope:
|
|
305
|
-
readonly perpMarketScope:
|
|
306
|
-
readonly actions:
|
|
307
|
-
readonly maxOrderNotional:
|
|
308
|
-
readonly dailyInternalTransferLimit:
|
|
309
|
-
readonly dailyWithdrawLimit:
|
|
310
|
-
readonly isTemplate:
|
|
311
|
-
}, undefined>,
|
|
304
|
+
readonly spotMarketScope: validation_d_exports.OptionalSchema<validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
|
|
305
|
+
readonly perpMarketScope: validation_d_exports.OptionalSchema<validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
|
|
306
|
+
readonly actions: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, undefined>;
|
|
307
|
+
readonly maxOrderNotional: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
|
|
308
|
+
readonly dailyInternalTransferLimit: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
|
|
309
|
+
readonly dailyWithdrawLimit: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
|
|
310
|
+
readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, undefined>;
|
|
311
|
+
}, undefined>, validation_d_exports.CheckAction<{
|
|
312
312
|
policyId: bigint;
|
|
313
313
|
expectedRevision: bigint;
|
|
314
314
|
name?: string | undefined;
|
|
@@ -327,7 +327,7 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
327
327
|
dailyInternalTransferLimit?: number | null | undefined;
|
|
328
328
|
dailyWithdrawLimit?: number | null | undefined;
|
|
329
329
|
isTemplate?: boolean | undefined;
|
|
330
|
-
}, "At least one API key policy field must be provided">,
|
|
330
|
+
}, "At least one API key policy field must be provided">, validation_d_exports.TransformAction<{
|
|
331
331
|
policyId: bigint;
|
|
332
332
|
expectedRevision: bigint;
|
|
333
333
|
name?: string | undefined;
|
|
@@ -381,12 +381,12 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
|
|
|
381
381
|
};
|
|
382
382
|
expectedRevision: bigint;
|
|
383
383
|
}>]>;
|
|
384
|
-
type ApiKeyPolicyUpdateInput =
|
|
385
|
-
declare const ApplyApiKeyPolicyInputSchema:
|
|
386
|
-
readonly keyId:
|
|
387
|
-
readonly policyId:
|
|
384
|
+
type ApiKeyPolicyUpdateInput = validation_d_exports.InferInput<typeof UpdateApiKeyPolicyInputSchema>;
|
|
385
|
+
declare const ApplyApiKeyPolicyInputSchema: validation_d_exports.StrictObjectSchema<{
|
|
386
|
+
readonly keyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>;
|
|
387
|
+
readonly policyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NullableSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, undefined>, validation_d_exports.TransformAction<string | null, bigint | undefined>]>;
|
|
388
388
|
}, undefined>;
|
|
389
|
-
type ApiKeyPolicyApplyInput =
|
|
389
|
+
type ApiKeyPolicyApplyInput = validation_d_exports.InferInput<typeof ApplyApiKeyPolicyInputSchema>;
|
|
390
390
|
//#endregion
|
|
391
391
|
export { ApiKeyPolicy, ApiKeyPolicyApplyInput, ApiKeyPolicyCreateInput, ApiKeyPolicySchema, ApiKeyPolicyUpdateInput, ApplyApiKeyPolicyInputSchema, CreateApiKeyPolicyInputSchema, GetApiKeyPolicyInputSchema, ListApiKeyPoliciesInputSchema, ListApiKeyPoliciesResponse, ListApiKeyPoliciesResponseSchema, UpdateApiKeyPolicyInputSchema };
|
|
392
392
|
//# sourceMappingURL=api-key-policies.schemas.d.ts.map
|