@polyester/sdk 0.4.0 → 0.4.2
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 +16 -0
- package/dist/_virtual/_rolldown/runtime.js +1 -15
- package/dist/catalogs/snapshot-validation.js +63 -63
- package/dist/catalogs/snapshot-validation.js.map +1 -1
- package/dist/core-client.d.ts +9 -0
- package/dist/core-client.d.ts.map +1 -1
- package/dist/core-client.js +21 -0
- package/dist/core-client.js.map +1 -1
- package/dist/gen/fees/v1/fees_pb.d.ts +124 -0
- package/dist/gen/fees/v1/fees_pb.d.ts.map +1 -0
- package/dist/gen/fees/v1/fees_pb.js +39 -0
- package/dist/gen/fees/v1/fees_pb.js.map +1 -0
- package/dist/gen/index.d.ts +4 -1
- package/dist/gen/index.js +4 -1
- package/dist/gen/ratelimit/v1/ratelimit_pb.d.ts +223 -0
- package/dist/gen/ratelimit/v1/ratelimit_pb.d.ts.map +1 -0
- package/dist/gen/ratelimit/v1/ratelimit_pb.js +86 -0
- package/dist/gen/ratelimit/v1/ratelimit_pb.js.map +1 -0
- package/dist/gen/vip/v1/vip_pb.d.ts +277 -0
- package/dist/gen/vip/v1/vip_pb.d.ts.map +1 -0
- package/dist/gen/vip/v1/vip_pb.js +60 -0
- package/dist/gen/vip/v1/vip_pb.js.map +1 -0
- package/dist/index.d.ts +8 -1
- package/dist/services/accounts/accounts.js +1 -1
- 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.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 -159
- 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.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 +39 -39
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +19 -18
- 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 +3 -2
- 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.schemas.js +17 -17
- package/dist/services/auth/session.schemas.js.map +1 -1
- package/dist/services/balances/balances.d.ts.map +1 -1
- package/dist/services/balances/balances.js +3 -2
- 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.d.ts.map +1 -1
- package/dist/services/candles/candles.js +5 -4
- package/dist/services/candles/candles.js.map +1 -1
- package/dist/services/candles/candles.schemas.d.ts +64 -64
- package/dist/services/candles/candles.schemas.d.ts.map +1 -1
- package/dist/services/candles/candles.schemas.js +47 -47
- package/dist/services/candles/candles.schemas.js.map +1 -1
- 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.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/fees/fees.d.ts +19 -0
- package/dist/services/fees/fees.d.ts.map +1 -0
- package/dist/services/fees/fees.js +32 -0
- package/dist/services/fees/fees.js.map +1 -0
- package/dist/services/fees/fees.schemas.d.ts +28 -0
- package/dist/services/fees/fees.schemas.d.ts.map +1 -0
- package/dist/services/fees/fees.schemas.js +25 -0
- package/dist/services/fees/fees.schemas.js.map +1 -0
- package/dist/services/fees/fees.types.d.ts +2 -0
- package/dist/services/fees/index.d.ts +3 -0
- 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.d.ts.map +1 -1
- package/dist/services/heatmap/heatmap.js +5 -4
- package/dist/services/heatmap/heatmap.js.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.d.ts +138 -138
- 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.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.d.ts.map +1 -1
- package/dist/services/lifecycle/lifecycle.js +3 -2
- 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.d.ts.map +1 -1
- package/dist/services/market-data/market-data.js +4 -3
- package/dist/services/market-data/market-data.js.map +1 -1
- package/dist/services/market-data/market-data.schemas.d.ts +19 -19
- package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
- package/dist/services/market-data/market-data.schemas.js +50 -50
- package/dist/services/market-data/market-data.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.js +3 -2
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +37 -37
- 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 +1 -1
- 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 +3 -2
- package/dist/services/orderbook/orderbook.js.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +23 -23
- 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 +117 -117
- 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 +648 -648
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +95 -95
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +351 -351
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +44 -44
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +179 -179
- 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 +6 -6
- package/dist/services/orders/orders.d.ts.map +1 -1
- package/dist/services/orders/orders.js +4 -3
- 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.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 +3 -2
- 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/rate-limits/index.d.ts +4 -0
- package/dist/services/rate-limits/rate-limits.codecs.d.ts +6 -0
- package/dist/services/rate-limits/rate-limits.codecs.d.ts.map +1 -0
- package/dist/services/rate-limits/rate-limits.codecs.js +11 -0
- package/dist/services/rate-limits/rate-limits.codecs.js.map +1 -0
- package/dist/services/rate-limits/rate-limits.d.ts +24 -0
- package/dist/services/rate-limits/rate-limits.d.ts.map +1 -0
- package/dist/services/rate-limits/rate-limits.js +40 -0
- package/dist/services/rate-limits/rate-limits.js.map +1 -0
- package/dist/services/rate-limits/rate-limits.schemas.d.ts +58 -0
- package/dist/services/rate-limits/rate-limits.schemas.d.ts.map +1 -0
- package/dist/services/rate-limits/rate-limits.schemas.js +30 -0
- package/dist/services/rate-limits/rate-limits.schemas.js.map +1 -0
- package/dist/services/rate-limits/rate-limits.types.d.ts +3 -0
- 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.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/subaccounts/subaccounts.d.ts +14 -14
- package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.js +9 -8
- package/dist/services/subaccounts/subaccounts.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +137 -137
- 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 +3 -2
- 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 +1 -1
- 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.map +1 -1
- package/dist/services/transfers/transfers.js +3 -2
- 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 +218 -218
- 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.d.ts.map +1 -1
- package/dist/services/triggers/triggers.js +4 -3
- package/dist/services/triggers/triggers.js.map +1 -1
- package/dist/services/vip/index.d.ts +3 -0
- package/dist/services/vip/vip.d.ts +22 -0
- package/dist/services/vip/vip.d.ts.map +1 -0
- package/dist/services/vip/vip.js +35 -0
- package/dist/services/vip/vip.js.map +1 -0
- package/dist/services/vip/vip.schemas.d.ts +90 -0
- package/dist/services/vip/vip.schemas.d.ts.map +1 -0
- package/dist/services/vip/vip.schemas.js +47 -0
- package/dist/services/vip/vip.schemas.js.map +1 -0
- package/dist/services/vip/vip.types.d.ts +2 -0
- 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.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.js +2 -2
- 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/validation.js +1 -6
- package/dist/shared/validation.js.map +1 -1
- package/dist/utils/connect-order-errors.js +2 -2
- package/dist/utils/connect-order-errors.js.map +1 -1
- package/dist/wired-services.d.ts.map +1 -1
- package/dist/wired-services.js +6 -0
- package/dist/wired-services.js.map +1 -1
- package/package.json +3 -3
- package/dist/shared/validation.d.ts +0 -14
- package/dist/shared/validation.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-batch.schemas.d.ts","names":[],"sources":["../../../src/services/orders/orders-batch.schemas.ts"],"mappings":";;;;;;;;cAuDa,2BAAyB,
|
|
1
|
+
{"version":3,"file":"orders-batch.schemas.d.ts","names":[],"sources":["../../../src/services/orders/orders-batch.schemas.ts"],"mappings":";;;;;;;;cAuDa,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;KAc1B,sBAAsB,EAAE,kBAAkB;cAEzC,4BAA0B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;KAgB3B,uBAAuB,EAAE,mBAAmB;iBAExC,mCAAmC,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkBxD,yBAAyB,EAAE,WACnC,kBAAkB;iBA0BN,oCAAoC,QAAQ,WAAW,oBAAiB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAsD5E,0BAA0B,EAAE,YACpC,kBAAkB;KAEV,yBAAyB;KAkIzB;EACR,UAAU,EAAE,kBAAkB,yBAAyB;EACvD;EACA;EACA,OAAO;IACH;IACA;IACA;IACA;IACA,OAAO,EAAE,WAAW,kBAAkB;IACtC;IACA;;;cAIF,iCAA+B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0BzB,4BAA4B,EAAE,mBAAmB;cAEhD,gCAA8B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkC/B,2BAA2B,EAAE,mBAAmB;cAE/C,kCAAgC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;KAcjC,6BAA6B,EAAE,kBAAkB;cAwChD,mCAAiC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqClC,8BAA8B,EAAE,mBAAmB;cAEzD,6BAA2B,EAAA,aAAA,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;KAsBrB,wBAAwB,EAAE,kBAAkB;cAE3C,8BAA4B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgB7B,yBAAyB,EAAE,kBAAkB;cAEnD,8BAA4B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;KAQtB,yBAAyB,EAAE,mBAAmB;cAE7C,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkB9B,0BAA0B,EAAE,mBAAmB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { validation_exports } from "../../shared/validation.js";
|
|
2
1
|
import { BatchReplaceAdmissionStatus, BatchReplaceItemAdmissionStatus, RiskPolicySchema } from "../../gen/orders/v1/orders_pb.js";
|
|
3
2
|
import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
|
|
4
3
|
import { formatId } from "../../utils/base58-id.js";
|
|
@@ -15,29 +14,30 @@ import { createRequiredRiskPolicyInputSchema } from "./orders-risk.schemas.js";
|
|
|
15
14
|
import { ClientOrderIdInputSchema, OrderRequestIdInputSchema } from "./orders-identifiers.schemas.js";
|
|
16
15
|
import { createOrderIntentInputSchema } from "./orders-input.schemas.js";
|
|
17
16
|
import { create } from "@bufbuild/protobuf";
|
|
17
|
+
import * as v from "valibot";
|
|
18
18
|
//#region src/services/orders/orders-batch.schemas.ts
|
|
19
|
-
const BatchCountSchema =
|
|
20
|
-
const BatchItemIndexSchema =
|
|
21
|
-
const PositivePublicIdSchema =
|
|
22
|
-
const OptionalSymbolInputSchema =
|
|
23
|
-
const OptionalSideInputSchema =
|
|
24
|
-
const CancelAllAfterTimeoutInputSchema =
|
|
25
|
-
const CancelAllAfterInputSchema =
|
|
19
|
+
const BatchCountSchema = v.pipe(v.number(), v.integer(), v.minValue(0));
|
|
20
|
+
const BatchItemIndexSchema = v.pipe(v.number(), v.integer(), v.minValue(0));
|
|
21
|
+
const PositivePublicIdSchema = v.pipe(v.bigint(), v.gtValue(0n), v.transform((value) => formatId(value)));
|
|
22
|
+
const OptionalSymbolInputSchema = v.optional(v.pipe(v.string(), v.trim(), v.maxLength(32)));
|
|
23
|
+
const OptionalSideInputSchema = v.pipe(v.optional(SideSchema), v.transform((side) => side ? OrderSideCodec.inputToProto[side] : void 0));
|
|
24
|
+
const CancelAllAfterTimeoutInputSchema = v.pipe(v.number(), v.integer(), v.check((timeoutSec) => timeoutSec === 0 || timeoutSec >= 10 && timeoutSec <= 120, "timeoutSec must be 0 to disable or between 10 and 120 seconds to arm"));
|
|
25
|
+
const CancelAllAfterInputSchema = v.pipe(v.strictObject({
|
|
26
26
|
...AccountScopeInputEntries,
|
|
27
27
|
timeoutSec: CancelAllAfterTimeoutInputSchema,
|
|
28
28
|
symbol: OptionalSymbolInputSchema,
|
|
29
29
|
side: OptionalSideInputSchema,
|
|
30
|
-
requestId:
|
|
31
|
-
}),
|
|
30
|
+
requestId: v.optional(OrderRequestIdInputSchema)
|
|
31
|
+
}), v.transform(({ account, ...input }) => ({
|
|
32
32
|
...input,
|
|
33
33
|
subaccountId: accountScopeToSubaccountId(account)
|
|
34
34
|
})));
|
|
35
|
-
const CancelAllAfterResultSchema =
|
|
36
|
-
status:
|
|
37
|
-
effectiveTimeoutSec:
|
|
38
|
-
expiresAtTsNs:
|
|
39
|
-
tsNs:
|
|
40
|
-
}),
|
|
35
|
+
const CancelAllAfterResultSchema = v.pipe(v.object({
|
|
36
|
+
status: v.picklist(["armed", "disabled"]),
|
|
37
|
+
effectiveTimeoutSec: v.pipe(v.number(), v.integer(), v.minValue(0)),
|
|
38
|
+
expiresAtTsNs: v.bigint(),
|
|
39
|
+
tsNs: v.bigint()
|
|
40
|
+
}), v.transform(({ expiresAtTsNs, tsNs, ...result }) => ({
|
|
41
41
|
...result,
|
|
42
42
|
expiresAt: tsNsToMs(expiresAtTsNs),
|
|
43
43
|
expiresAtNs: expiresAtTsNs.toString(),
|
|
@@ -45,39 +45,39 @@ const CancelAllAfterResultSchema = validation_exports.pipe(validation_exports.ob
|
|
|
45
45
|
tsNs: tsNs.toString()
|
|
46
46
|
})));
|
|
47
47
|
function createBatchCreateOrdersInputSchema(scales) {
|
|
48
|
-
return
|
|
48
|
+
return v.pipe(v.strictObject({
|
|
49
49
|
...AccountScopeInputEntries,
|
|
50
|
-
requestId:
|
|
51
|
-
items:
|
|
52
|
-
}),
|
|
50
|
+
requestId: v.optional(OrderRequestIdInputSchema),
|
|
51
|
+
items: v.pipe(v.array(createOrderIntentInputSchema(scales)), v.minLength(1, "At least one order is required."), v.maxLength(20, "Batch create accepts at most 20 orders."))
|
|
52
|
+
}), v.transform(({ account, ...input }) => ({
|
|
53
53
|
...input,
|
|
54
54
|
subaccountId: accountScopeToSubaccountId(account)
|
|
55
55
|
})));
|
|
56
56
|
}
|
|
57
|
-
const BatchCreateOrderResultRawSchema =
|
|
58
|
-
clientOrderId:
|
|
59
|
-
outcome:
|
|
60
|
-
case:
|
|
61
|
-
value:
|
|
57
|
+
const BatchCreateOrderResultRawSchema = v.object({
|
|
58
|
+
clientOrderId: v.string(),
|
|
59
|
+
outcome: v.variant("case", [v.object({
|
|
60
|
+
case: v.literal("accepted"),
|
|
61
|
+
value: v.object({
|
|
62
62
|
orderId: PublicIdSchema,
|
|
63
63
|
takeProfitTriggerId: OptionalPublicIdSchema,
|
|
64
64
|
stopLossTriggerId: OptionalPublicIdSchema,
|
|
65
65
|
trailingStopTriggerId: OptionalPublicIdSchema,
|
|
66
|
-
resolvedBaseQtyScaled:
|
|
67
|
-
submittedMaxQuoteDebitScaled:
|
|
66
|
+
resolvedBaseQtyScaled: v.bigint(),
|
|
67
|
+
submittedMaxQuoteDebitScaled: v.optional(v.bigint())
|
|
68
68
|
})
|
|
69
|
-
}),
|
|
70
|
-
case:
|
|
71
|
-
value:
|
|
69
|
+
}), v.object({
|
|
70
|
+
case: v.literal("rejected"),
|
|
71
|
+
value: v.object({ error: OrderErrorDetailSchema })
|
|
72
72
|
})])
|
|
73
73
|
});
|
|
74
74
|
function createBatchCreateOrdersResultSchema(scales, symbols) {
|
|
75
|
-
return
|
|
76
|
-
results:
|
|
75
|
+
return v.pipe(v.object({
|
|
76
|
+
results: v.array(BatchCreateOrderResultRawSchema),
|
|
77
77
|
acceptedCount: BatchCountSchema,
|
|
78
78
|
rejectedCount: BatchCountSchema,
|
|
79
|
-
tsNs:
|
|
80
|
-
}),
|
|
79
|
+
tsNs: v.bigint()
|
|
80
|
+
}), v.check((response) => response.acceptedCount + response.rejectedCount === response.results.length, "Batch create result counts do not match the returned results."), v.check((response) => response.results.length === symbols.length, "Batch create result count does not match the submitted item count."), v.transform(({ tsNs, ...response }) => ({
|
|
81
81
|
...response,
|
|
82
82
|
results: response.results.map(({ clientOrderId, outcome }, index) => {
|
|
83
83
|
if (outcome.case === "rejected") return {
|
|
@@ -99,7 +99,7 @@ function createBatchCreateOrdersResultSchema(scales, symbols) {
|
|
|
99
99
|
tsNs: tsNs.toString()
|
|
100
100
|
})));
|
|
101
101
|
}
|
|
102
|
-
const DecimalInputStringSchema =
|
|
102
|
+
const DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));
|
|
103
103
|
const BATCH_REPLACE_ITEM_INPUT_KEYS = /* @__PURE__ */ new Set([
|
|
104
104
|
"orderId",
|
|
105
105
|
"clientOrderId",
|
|
@@ -112,51 +112,51 @@ const BATCH_REPLACE_ITEM_INPUT_KEYS = /* @__PURE__ */ new Set([
|
|
|
112
112
|
function assertKnownBatchReplaceOrderItemInputKeys(input) {
|
|
113
113
|
for (const key of Object.keys(input)) if (!BATCH_REPLACE_ITEM_INPUT_KEYS.has(key)) throw new Error(`Unknown key "${key}" in batch replace order item.`);
|
|
114
114
|
}
|
|
115
|
-
const BatchReplaceTargetInputSchema =
|
|
116
|
-
orderId:
|
|
117
|
-
clientOrderId:
|
|
118
|
-
}),
|
|
115
|
+
const BatchReplaceTargetInputSchema = v.union([v.pipe(v.object({
|
|
116
|
+
orderId: v.pipe(idInputSchema("items.orderId"), v.check((value) => value > 0n, "items.orderId must be greater than zero")),
|
|
117
|
+
clientOrderId: v.optional(v.never())
|
|
118
|
+
}), v.transform(({ orderId }) => ({ key: {
|
|
119
119
|
case: "orderId",
|
|
120
120
|
value: orderId
|
|
121
|
-
} }))),
|
|
122
|
-
orderId:
|
|
121
|
+
} }))), v.pipe(v.object({
|
|
122
|
+
orderId: v.optional(v.never()),
|
|
123
123
|
clientOrderId: ClientOrderIdInputSchema
|
|
124
|
-
}),
|
|
124
|
+
}), v.transform(({ clientOrderId }) => ({ key: {
|
|
125
125
|
case: "clientOrderId",
|
|
126
126
|
value: clientOrderId
|
|
127
127
|
} })))]);
|
|
128
128
|
function createBatchReplaceOrderItemInputSchema(scales, symbolId) {
|
|
129
|
-
const patchSchema =
|
|
130
|
-
|
|
129
|
+
const patchSchema = v.union([
|
|
130
|
+
v.object({
|
|
131
131
|
newPrice: DecimalInputStringSchema,
|
|
132
|
-
newQty:
|
|
133
|
-
risk:
|
|
134
|
-
clearRisk:
|
|
132
|
+
newQty: v.optional(DecimalInputStringSchema),
|
|
133
|
+
risk: v.optional(createRequiredRiskPolicyInputSchema(scales)),
|
|
134
|
+
clearRisk: v.optional(v.literal(false))
|
|
135
135
|
}),
|
|
136
|
-
|
|
137
|
-
newPrice:
|
|
136
|
+
v.object({
|
|
137
|
+
newPrice: v.optional(DecimalInputStringSchema),
|
|
138
138
|
newQty: DecimalInputStringSchema,
|
|
139
|
-
risk:
|
|
140
|
-
clearRisk:
|
|
139
|
+
risk: v.optional(createRequiredRiskPolicyInputSchema(scales)),
|
|
140
|
+
clearRisk: v.optional(v.literal(false))
|
|
141
141
|
}),
|
|
142
|
-
|
|
143
|
-
newPrice:
|
|
144
|
-
newQty:
|
|
142
|
+
v.object({
|
|
143
|
+
newPrice: v.optional(v.never()),
|
|
144
|
+
newQty: v.optional(v.never()),
|
|
145
145
|
risk: createRequiredRiskPolicyInputSchema(scales),
|
|
146
|
-
clearRisk:
|
|
146
|
+
clearRisk: v.optional(v.literal(false))
|
|
147
147
|
}),
|
|
148
|
-
|
|
149
|
-
newPrice:
|
|
150
|
-
newQty:
|
|
151
|
-
risk:
|
|
152
|
-
clearRisk:
|
|
148
|
+
v.object({
|
|
149
|
+
newPrice: v.optional(v.never()),
|
|
150
|
+
newQty: v.optional(v.never()),
|
|
151
|
+
risk: v.optional(v.never()),
|
|
152
|
+
clearRisk: v.literal(true)
|
|
153
153
|
})
|
|
154
154
|
]);
|
|
155
|
-
return
|
|
155
|
+
return v.pipe(v.intersect([
|
|
156
156
|
BatchReplaceTargetInputSchema,
|
|
157
157
|
patchSchema,
|
|
158
|
-
|
|
159
|
-
]),
|
|
158
|
+
v.object({ newClientOrderId: v.optional(ClientOrderIdInputSchema) })
|
|
159
|
+
]), v.transform((input) => ({
|
|
160
160
|
key: input.key,
|
|
161
161
|
newPriceTicks: input.newPrice === void 0 ? void 0 : positiveDecimalInputToScaled("items.newPrice", input.newPrice, scales.price()),
|
|
162
162
|
newQtyScaled: input.newQty === void 0 ? void 0 : positiveDecimalInputToScaled("items.newQty", input.newQty, scales.baseQty(symbolId)),
|
|
@@ -165,115 +165,115 @@ function createBatchReplaceOrderItemInputSchema(scales, symbolId) {
|
|
|
165
165
|
})));
|
|
166
166
|
}
|
|
167
167
|
function createBatchReplaceOrdersInputSchema(scales, symbolId) {
|
|
168
|
-
return
|
|
168
|
+
return v.pipe(v.strictObject({
|
|
169
169
|
...AccountScopeInputEntries,
|
|
170
|
-
symbolId:
|
|
171
|
-
requestId:
|
|
172
|
-
items:
|
|
173
|
-
}),
|
|
170
|
+
symbolId: v.pipe(v.literal(symbolId), v.integer(), v.minValue(1)),
|
|
171
|
+
requestId: v.optional(OrderRequestIdInputSchema),
|
|
172
|
+
items: v.pipe(v.array(createBatchReplaceOrderItemInputSchema(scales, symbolId)), v.minLength(1, "At least one replacement is required."), v.maxLength(50, "Batch replace accepts at most 50 replacements."))
|
|
173
|
+
}), v.check((input) => {
|
|
174
174
|
const targets = input.items.map((item) => `${item.key.case}:${item.key.value.toString()}`);
|
|
175
175
|
return new Set(targets).size === targets.length;
|
|
176
|
-
}, "Each batch replace target must be unique."),
|
|
176
|
+
}, "Each batch replace target must be unique."), v.transform(({ account, ...input }) => ({
|
|
177
177
|
...input,
|
|
178
178
|
subaccountId: accountScopeToSubaccountId(account)
|
|
179
179
|
})));
|
|
180
180
|
}
|
|
181
|
-
const BatchReplaceAdmissionItemSchema =
|
|
181
|
+
const BatchReplaceAdmissionItemSchema = v.pipe(v.object({
|
|
182
182
|
itemIndex: BatchItemIndexSchema,
|
|
183
|
-
status:
|
|
183
|
+
status: v.pipe(v.enum(BatchReplaceItemAdmissionStatus), v.transform((status) => requiredEnumLabel(BatchReplaceItemAdmissionStatusCodec.protoToOutput, status, "BatchReplaceAdmissionItemSchema", "status"))),
|
|
184
184
|
oldOrderId: OptionalPublicIdSchema,
|
|
185
185
|
replacementOrderId: OptionalPublicIdSchema,
|
|
186
|
-
clientOrderId:
|
|
187
|
-
code:
|
|
188
|
-
error:
|
|
189
|
-
}),
|
|
186
|
+
clientOrderId: v.string(),
|
|
187
|
+
code: v.string(),
|
|
188
|
+
error: v.optional(OrderErrorDetailSchema)
|
|
189
|
+
}), v.transform((item) => ({
|
|
190
190
|
...item,
|
|
191
191
|
code: item.code || void 0
|
|
192
192
|
})));
|
|
193
|
-
const BatchReplaceOrdersResultSchema =
|
|
193
|
+
const BatchReplaceOrdersResultSchema = v.pipe(v.object({
|
|
194
194
|
batchRequestId: PositivePublicIdSchema,
|
|
195
|
-
status:
|
|
196
|
-
results:
|
|
195
|
+
status: v.pipe(v.enum(BatchReplaceAdmissionStatus), v.transform((status) => requiredEnumLabel(BatchReplaceAdmissionStatusCodec.protoToOutput, status, "BatchReplaceOrdersResultSchema", "status"))),
|
|
196
|
+
results: v.array(BatchReplaceAdmissionItemSchema),
|
|
197
197
|
acceptedCount: BatchCountSchema,
|
|
198
198
|
rejectedCount: BatchCountSchema,
|
|
199
|
-
acceptedTsNs:
|
|
200
|
-
}),
|
|
199
|
+
acceptedTsNs: v.bigint()
|
|
200
|
+
}), v.check((response) => response.acceptedCount + response.rejectedCount === response.results.length, "Batch replace result counts do not match the returned results."), v.check((response) => response.results.every((item, index) => item.itemIndex === index), "Batch replace results must preserve request item order."), v.transform(({ acceptedTsNs, ...response }) => ({
|
|
201
201
|
...response,
|
|
202
202
|
acceptedTs: tsNsToMs(acceptedTsNs),
|
|
203
203
|
acceptedTsNs: acceptedTsNs.toString()
|
|
204
204
|
})));
|
|
205
|
-
const GetBatchReplaceStatusInputSchema =
|
|
205
|
+
const GetBatchReplaceStatusInputSchema = v.pipe(v.strictObject({
|
|
206
206
|
...AccountScopeInputEntries,
|
|
207
|
-
batchRequestId:
|
|
208
|
-
}),
|
|
207
|
+
batchRequestId: v.pipe(idInputSchema("batchRequestId"), v.check((value) => value > 0n, "batchRequestId must be greater than zero"))
|
|
208
|
+
}), v.transform(({ account, ...input }) => ({
|
|
209
209
|
...input,
|
|
210
210
|
subaccountId: accountScopeToSubaccountId(account)
|
|
211
211
|
})));
|
|
212
|
-
const BatchReplaceStatusItemSchema =
|
|
212
|
+
const BatchReplaceStatusItemSchema = v.pipe(v.object({
|
|
213
213
|
itemIndex: BatchItemIndexSchema,
|
|
214
|
-
phase:
|
|
214
|
+
phase: v.pipe(v.enum(BatchReplacePhase), v.transform((phase) => requiredEnumLabel(BatchReplacePhaseCodec.protoToOutput, phase, "BatchReplaceStatusItemSchema", "phase"))),
|
|
215
215
|
oldOrderId: OptionalPublicIdSchema,
|
|
216
216
|
replacementOrderId: OptionalPublicIdSchema,
|
|
217
|
-
orderStatus:
|
|
218
|
-
code:
|
|
219
|
-
updatedTsNs:
|
|
220
|
-
}),
|
|
217
|
+
orderStatus: v.pipe(v.enum(OrderStatus), v.transform((status) => requiredEnumLabel(OrderStatusCodec.protoToOutput, status, "BatchReplaceStatusItemSchema", "order status"))),
|
|
218
|
+
code: v.string(),
|
|
219
|
+
updatedTsNs: v.bigint()
|
|
220
|
+
}), v.transform(({ updatedTsNs, ...item }) => ({
|
|
221
221
|
...item,
|
|
222
222
|
code: item.code || void 0,
|
|
223
223
|
updatedTs: tsNsToMs(updatedTsNs),
|
|
224
224
|
updatedTsNs: updatedTsNs.toString()
|
|
225
225
|
})));
|
|
226
|
-
const GetBatchReplaceStatusResultSchema =
|
|
226
|
+
const GetBatchReplaceStatusResultSchema = v.pipe(v.object({
|
|
227
227
|
batchRequestId: PositivePublicIdSchema,
|
|
228
|
-
admissionStatus:
|
|
229
|
-
items:
|
|
228
|
+
admissionStatus: v.pipe(v.enum(BatchReplaceAdmissionStatus), v.transform((status) => requiredEnumLabel(BatchReplaceAdmissionStatusCodec.protoToOutput, status, "GetBatchReplaceStatusResultSchema", "admission status"))),
|
|
229
|
+
items: v.array(BatchReplaceStatusItemSchema),
|
|
230
230
|
acceptedCount: BatchCountSchema,
|
|
231
231
|
rejectedCount: BatchCountSchema,
|
|
232
|
-
acceptedTsNs:
|
|
233
|
-
updatedTsNs:
|
|
234
|
-
}),
|
|
232
|
+
acceptedTsNs: v.bigint(),
|
|
233
|
+
updatedTsNs: v.bigint()
|
|
234
|
+
}), v.check((response) => response.acceptedCount + response.rejectedCount === response.items.length, "Batch replace status counts do not match the returned items."), v.check((response) => response.items.every((item, index) => item.itemIndex === index), "Batch replace status items must preserve request item order."), v.transform(({ acceptedTsNs, updatedTsNs, ...response }) => ({
|
|
235
235
|
...response,
|
|
236
236
|
acceptedTs: tsNsToMs(acceptedTsNs),
|
|
237
237
|
acceptedTsNs: acceptedTsNs.toString(),
|
|
238
238
|
updatedTs: tsNsToMs(updatedTsNs),
|
|
239
239
|
updatedTsNs: updatedTsNs.toString()
|
|
240
240
|
})));
|
|
241
|
-
const BatchCancelOrderInputSchema =
|
|
242
|
-
orderId:
|
|
243
|
-
clientOrderId:
|
|
244
|
-
symbolId:
|
|
245
|
-
}),
|
|
241
|
+
const BatchCancelOrderInputSchema = v.union([v.pipe(v.strictObject({
|
|
242
|
+
orderId: v.pipe(idInputSchema("items.orderId"), v.check((value) => value > 0n, "items.orderId must be greater than zero")),
|
|
243
|
+
clientOrderId: v.optional(v.never()),
|
|
244
|
+
symbolId: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1)))
|
|
245
|
+
}), v.transform(({ orderId, symbolId }) => ({
|
|
246
246
|
orderId,
|
|
247
247
|
symbolId
|
|
248
|
-
}))),
|
|
249
|
-
orderId:
|
|
248
|
+
}))), v.pipe(v.strictObject({
|
|
249
|
+
orderId: v.optional(v.never()),
|
|
250
250
|
clientOrderId: ClientOrderIdInputSchema,
|
|
251
|
-
symbolId:
|
|
252
|
-
}),
|
|
251
|
+
symbolId: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1)))
|
|
252
|
+
}), v.transform(({ clientOrderId, symbolId }) => ({
|
|
253
253
|
clientOrderId,
|
|
254
254
|
symbolId
|
|
255
255
|
})))]);
|
|
256
|
-
const BatchCancelOrdersInputSchema =
|
|
256
|
+
const BatchCancelOrdersInputSchema = v.pipe(v.strictObject({
|
|
257
257
|
...AccountScopeInputEntries,
|
|
258
|
-
requestId:
|
|
259
|
-
items:
|
|
260
|
-
}),
|
|
258
|
+
requestId: v.optional(OrderRequestIdInputSchema),
|
|
259
|
+
items: v.pipe(v.array(BatchCancelOrderInputSchema), v.minLength(1, "At least one order is required."), v.maxLength(50, "Batch cancel accepts at most 50 orders."))
|
|
260
|
+
}), v.transform(({ account, ...input }) => ({
|
|
261
261
|
...input,
|
|
262
262
|
subaccountId: accountScopeToSubaccountId(account)
|
|
263
263
|
})));
|
|
264
|
-
const BatchCancelOrderResultSchema =
|
|
265
|
-
status:
|
|
264
|
+
const BatchCancelOrderResultSchema = v.object({
|
|
265
|
+
status: v.picklist(["accepted", "rejected"]),
|
|
266
266
|
orderId: OptionalPublicIdSchema,
|
|
267
|
-
clientOrderId:
|
|
268
|
-
code:
|
|
269
|
-
error:
|
|
267
|
+
clientOrderId: v.string(),
|
|
268
|
+
code: v.string(),
|
|
269
|
+
error: v.optional(OrderErrorDetailSchema)
|
|
270
270
|
});
|
|
271
|
-
const BatchCancelOrdersResultSchema =
|
|
272
|
-
results:
|
|
271
|
+
const BatchCancelOrdersResultSchema = v.pipe(v.object({
|
|
272
|
+
results: v.array(BatchCancelOrderResultSchema),
|
|
273
273
|
acceptedCount: BatchCountSchema,
|
|
274
274
|
rejectedCount: BatchCountSchema,
|
|
275
|
-
tsNs:
|
|
276
|
-
}),
|
|
275
|
+
tsNs: v.bigint()
|
|
276
|
+
}), v.check((response) => response.acceptedCount + response.rejectedCount === response.results.length, "Batch cancel result counts do not match the returned results."), v.transform(({ tsNs, ...response }) => ({
|
|
277
277
|
...response,
|
|
278
278
|
ts: tsNsToMs(tsNs),
|
|
279
279
|
tsNs: tsNs.toString()
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-batch.schemas.js","names":["v","ProtoWrite.RiskPolicySchema","ProtoWrite.BatchReplaceItemAdmissionStatus","ProtoWrite.BatchReplaceAdmissionStatus","ProtoRead.BatchReplacePhase","ProtoRead.OrderStatus"],"sources":["../../../src/services/orders/orders-batch.schemas.ts"],"sourcesContent":["import * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport * as ProtoRead from \"../../gen/orders/v1/orders_read_pb.js\";\nimport { create } from \"@bufbuild/protobuf\";\nimport * as v from \"../../shared/validation.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { OptionalPublicIdSchema, PublicIdSchema, idInputSchema } from \"../../shared/schemas.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport { formatId } from \"../../utils/base58-id.js\";\nimport { SideSchema } from \"../shared.js\";\nimport {\n positiveDecimalInputToScaled,\n scaledToDecimalOutput,\n type SdkScales,\n} from \"../../shared/decimal-surface.js\";\nimport {\n BatchReplaceAdmissionStatusCodec,\n BatchReplaceItemAdmissionStatusCodec,\n BatchReplacePhaseCodec,\n OrderStatusCodec,\n OrderSideCodec,\n} from \"./orders.codecs.js\";\nimport { createOrderIntentInputSchema } from \"./orders-input.schemas.js\";\nimport { createRequiredRiskPolicyInputSchema } from \"./orders-risk.schemas.js\";\nimport {\n ClientOrderIdInputSchema,\n OrderRequestIdInputSchema,\n} from \"./orders-identifiers.schemas.js\";\nimport { OrderErrorDetailSchema } from \"./order-errors.schemas.js\";\n\nconst BatchCountSchema = v.pipe(v.number(), v.integer(), v.minValue(0));\nconst BatchItemIndexSchema = v.pipe(v.number(), v.integer(), v.minValue(0));\nconst PositivePublicIdSchema = v.pipe(\n v.bigint(),\n v.gtValue(0n),\n v.transform((value) => formatId(value)),\n);\nconst OptionalSymbolInputSchema = v.optional(v.pipe(v.string(), v.trim(), v.maxLength(32)));\nconst OptionalSideInputSchema = v.pipe(\n v.optional(SideSchema),\n v.transform((side) => (side ? OrderSideCodec.inputToProto[side] : undefined)),\n);\n\nconst CancelAllAfterTimeoutInputSchema = v.pipe(\n v.number(),\n v.integer(),\n v.check(\n (timeoutSec) => timeoutSec === 0 || (timeoutSec >= 10 && timeoutSec <= 120),\n \"timeoutSec must be 0 to disable or between 10 and 120 seconds to arm\",\n ),\n);\n\nexport const CancelAllAfterInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n timeoutSec: CancelAllAfterTimeoutInputSchema,\n symbol: OptionalSymbolInputSchema,\n side: OptionalSideInputSchema,\n requestId: v.optional(OrderRequestIdInputSchema),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type CancelAllAfterInput = v.InferInput<typeof CancelAllAfterInputSchema>;\n\nexport const CancelAllAfterResultSchema = v.pipe(\n v.object({\n status: v.picklist([\"armed\", \"disabled\"]),\n effectiveTimeoutSec: v.pipe(v.number(), v.integer(), v.minValue(0)),\n expiresAtTsNs: v.bigint(),\n tsNs: v.bigint(),\n }),\n v.transform(({ expiresAtTsNs, tsNs, ...result }) => ({\n ...result,\n expiresAt: tsNsToMs(expiresAtTsNs),\n expiresAtNs: expiresAtTsNs.toString(),\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n);\n\nexport type CancelAllAfterResult = v.InferOutput<typeof CancelAllAfterResultSchema>;\n\nexport function createBatchCreateOrdersInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n requestId: v.optional(OrderRequestIdInputSchema),\n items: v.pipe(\n v.array(createOrderIntentInputSchema(scales)),\n v.minLength(1, \"At least one order is required.\"),\n v.maxLength(20, \"Batch create accepts at most 20 orders.\"),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n );\n}\n\nexport type BatchCreateOrdersInput = v.InferInput<\n ReturnType<typeof createBatchCreateOrdersInputSchema>\n>;\n\nconst BatchCreateOrderResultRawSchema = v.object({\n clientOrderId: v.string(),\n outcome: v.variant(\"case\", [\n v.object({\n case: v.literal(\"accepted\"),\n value: v.object({\n orderId: PublicIdSchema,\n takeProfitTriggerId: OptionalPublicIdSchema,\n stopLossTriggerId: OptionalPublicIdSchema,\n trailingStopTriggerId: OptionalPublicIdSchema,\n resolvedBaseQtyScaled: v.bigint(),\n submittedMaxQuoteDebitScaled: v.optional(v.bigint()),\n }),\n }),\n v.object({\n case: v.literal(\"rejected\"),\n value: v.object({\n error: OrderErrorDetailSchema,\n }),\n }),\n ]),\n});\n\nexport function createBatchCreateOrdersResultSchema(scales: SdkScales, symbols: string[]) {\n return v.pipe(\n v.object({\n results: v.array(BatchCreateOrderResultRawSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n tsNs: v.bigint(),\n }),\n v.check(\n (response) =>\n response.acceptedCount + response.rejectedCount === response.results.length,\n \"Batch create result counts do not match the returned results.\",\n ),\n v.check(\n (response) => response.results.length === symbols.length,\n \"Batch create result count does not match the submitted item count.\",\n ),\n v.transform(({ tsNs, ...response }) => ({\n ...response,\n results: response.results.map(({ clientOrderId, outcome }, index) => {\n if (outcome.case === \"rejected\") {\n return {\n status: \"rejected\" as const,\n clientOrderId,\n error: outcome.value.error,\n };\n }\n const { resolvedBaseQtyScaled, submittedMaxQuoteDebitScaled, ...accepted } =\n outcome.value;\n const symbol = symbols[index]!;\n return {\n status: \"accepted\" as const,\n clientOrderId,\n ...accepted,\n resolvedBaseQty: scaledToDecimalOutput(\n resolvedBaseQtyScaled,\n scales.baseQty(symbol),\n ),\n ...(submittedMaxQuoteDebitScaled === undefined\n ? {}\n : {\n submittedMaxQuoteDebit: scaledToDecimalOutput(\n submittedMaxQuoteDebitScaled,\n scales.quoteAmount(symbol),\n ),\n }),\n };\n }),\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n );\n}\n\nexport type BatchCreateOrdersResult = v.InferOutput<\n ReturnType<typeof createBatchCreateOrdersResultSchema>\n>;\nexport type BatchCreateOrderResult = BatchCreateOrdersResult[\"results\"][number];\n\nconst DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\nconst BATCH_REPLACE_ITEM_INPUT_KEYS = new Set([\n \"orderId\",\n \"clientOrderId\",\n \"newPrice\",\n \"newQty\",\n \"risk\",\n \"clearRisk\",\n \"newClientOrderId\",\n]);\n\nexport function assertKnownBatchReplaceOrderItemInputKeys(input: object): void {\n for (const key of Object.keys(input)) {\n if (!BATCH_REPLACE_ITEM_INPUT_KEYS.has(key)) {\n throw new Error(`Unknown key \"${key}\" in batch replace order item.`);\n }\n }\n}\n\nconst BatchReplaceTargetInputSchema = v.union([\n v.pipe(\n v.object({\n orderId: v.pipe(\n idInputSchema(\"items.orderId\"),\n v.check((value) => value > 0n, \"items.orderId must be greater than zero\"),\n ),\n clientOrderId: v.optional(v.never()),\n }),\n v.transform(({ orderId }) => ({\n key: { case: \"orderId\" as const, value: orderId },\n })),\n ),\n v.pipe(\n v.object({\n orderId: v.optional(v.never()),\n clientOrderId: ClientOrderIdInputSchema,\n }),\n v.transform(({ clientOrderId }) => ({\n key: { case: \"clientOrderId\" as const, value: clientOrderId },\n })),\n ),\n]);\n\nfunction createBatchReplaceOrderItemInputSchema(scales: SdkScales, symbolId: number) {\n const patchSchema = v.union([\n v.object({\n newPrice: DecimalInputStringSchema,\n newQty: v.optional(DecimalInputStringSchema),\n risk: v.optional(createRequiredRiskPolicyInputSchema(scales)),\n clearRisk: v.optional(v.literal(false)),\n }),\n v.object({\n newPrice: v.optional(DecimalInputStringSchema),\n newQty: DecimalInputStringSchema,\n risk: v.optional(createRequiredRiskPolicyInputSchema(scales)),\n clearRisk: v.optional(v.literal(false)),\n }),\n v.object({\n newPrice: v.optional(v.never()),\n newQty: v.optional(v.never()),\n risk: createRequiredRiskPolicyInputSchema(scales),\n clearRisk: v.optional(v.literal(false)),\n }),\n v.object({\n newPrice: v.optional(v.never()),\n newQty: v.optional(v.never()),\n risk: v.optional(v.never()),\n clearRisk: v.literal(true),\n }),\n ]);\n return v.pipe(\n v.intersect([\n BatchReplaceTargetInputSchema,\n patchSchema,\n v.object({\n newClientOrderId: v.optional(ClientOrderIdInputSchema),\n }),\n ]),\n v.transform((input) => ({\n key: input.key,\n newPriceTicks:\n input.newPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"items.newPrice\",\n input.newPrice,\n scales.price(),\n ),\n newQtyScaled:\n input.newQty === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"items.newQty\",\n input.newQty,\n scales.baseQty(symbolId),\n ),\n newAttachedRisk:\n input.clearRisk === true ? create(ProtoWrite.RiskPolicySchema) : input.risk,\n newClientOrderId: input.newClientOrderId ?? \"\",\n })),\n );\n}\n\nexport function createBatchReplaceOrdersInputSchema(scales: SdkScales, symbolId: number) {\n return v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n symbolId: v.pipe(v.literal(symbolId), v.integer(), v.minValue(1)),\n requestId: v.optional(OrderRequestIdInputSchema),\n items: v.pipe(\n v.array(createBatchReplaceOrderItemInputSchema(scales, symbolId)),\n v.minLength(1, \"At least one replacement is required.\"),\n v.maxLength(50, \"Batch replace accepts at most 50 replacements.\"),\n ),\n }),\n v.check((input) => {\n const targets = input.items.map(\n (item) => `${item.key.case}:${item.key.value.toString()}`,\n );\n return new Set(targets).size === targets.length;\n }, \"Each batch replace target must be unique.\"),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n );\n}\n\nexport type BatchReplaceOrdersInput = {\n account?: v.InferInput<typeof AccountScopeInputEntries.account>;\n symbolId: number;\n requestId?: string;\n items: Array<{\n orderId?: string;\n clientOrderId?: string;\n newPrice?: string;\n newQty?: string;\n risk?: v.InferInput<ReturnType<typeof createRequiredRiskPolicyInputSchema>>;\n clearRisk?: boolean;\n newClientOrderId?: string;\n }>;\n};\n\nconst BatchReplaceAdmissionItemSchema = v.pipe(\n v.object({\n itemIndex: BatchItemIndexSchema,\n status: v.pipe(\n v.enum(ProtoWrite.BatchReplaceItemAdmissionStatus),\n v.transform((status) =>\n requiredEnumLabel(\n BatchReplaceItemAdmissionStatusCodec.protoToOutput,\n status,\n \"BatchReplaceAdmissionItemSchema\",\n \"status\",\n ),\n ),\n ),\n oldOrderId: OptionalPublicIdSchema,\n replacementOrderId: OptionalPublicIdSchema,\n clientOrderId: v.string(),\n code: v.string(),\n error: v.optional(OrderErrorDetailSchema),\n }),\n v.transform((item) => ({\n ...item,\n code: item.code || undefined,\n })),\n);\n\nexport type BatchReplaceAdmissionItem = v.InferOutput<typeof BatchReplaceAdmissionItemSchema>;\n\nexport const BatchReplaceOrdersResultSchema = v.pipe(\n v.object({\n batchRequestId: PositivePublicIdSchema,\n status: v.pipe(\n v.enum(ProtoWrite.BatchReplaceAdmissionStatus),\n v.transform((status) =>\n requiredEnumLabel(\n BatchReplaceAdmissionStatusCodec.protoToOutput,\n status,\n \"BatchReplaceOrdersResultSchema\",\n \"status\",\n ),\n ),\n ),\n results: v.array(BatchReplaceAdmissionItemSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n acceptedTsNs: v.bigint(),\n }),\n v.check(\n (response) => response.acceptedCount + response.rejectedCount === response.results.length,\n \"Batch replace result counts do not match the returned results.\",\n ),\n v.check(\n (response) => response.results.every((item, index) => item.itemIndex === index),\n \"Batch replace results must preserve request item order.\",\n ),\n v.transform(({ acceptedTsNs, ...response }) => ({\n ...response,\n acceptedTs: tsNsToMs(acceptedTsNs),\n acceptedTsNs: acceptedTsNs.toString(),\n })),\n);\n\nexport type BatchReplaceOrdersResult = v.InferOutput<typeof BatchReplaceOrdersResultSchema>;\n\nexport const GetBatchReplaceStatusInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n batchRequestId: v.pipe(\n idInputSchema(\"batchRequestId\"),\n v.check((value) => value > 0n, \"batchRequestId must be greater than zero\"),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type GetBatchReplaceStatusInput = v.InferInput<typeof GetBatchReplaceStatusInputSchema>;\n\nconst BatchReplaceStatusItemSchema = v.pipe(\n v.object({\n itemIndex: BatchItemIndexSchema,\n phase: v.pipe(\n v.enum(ProtoRead.BatchReplacePhase),\n v.transform((phase) =>\n requiredEnumLabel(\n BatchReplacePhaseCodec.protoToOutput,\n phase,\n \"BatchReplaceStatusItemSchema\",\n \"phase\",\n ),\n ),\n ),\n oldOrderId: OptionalPublicIdSchema,\n replacementOrderId: OptionalPublicIdSchema,\n orderStatus: v.pipe(\n v.enum(ProtoRead.OrderStatus),\n v.transform((status) =>\n requiredEnumLabel(\n OrderStatusCodec.protoToOutput,\n status,\n \"BatchReplaceStatusItemSchema\",\n \"order status\",\n ),\n ),\n ),\n code: v.string(),\n updatedTsNs: v.bigint(),\n }),\n v.transform(({ updatedTsNs, ...item }) => ({\n ...item,\n code: item.code || undefined,\n updatedTs: tsNsToMs(updatedTsNs),\n updatedTsNs: updatedTsNs.toString(),\n })),\n);\n\nexport const GetBatchReplaceStatusResultSchema = v.pipe(\n v.object({\n batchRequestId: PositivePublicIdSchema,\n admissionStatus: v.pipe(\n v.enum(ProtoWrite.BatchReplaceAdmissionStatus),\n v.transform((status) =>\n requiredEnumLabel(\n BatchReplaceAdmissionStatusCodec.protoToOutput,\n status,\n \"GetBatchReplaceStatusResultSchema\",\n \"admission status\",\n ),\n ),\n ),\n items: v.array(BatchReplaceStatusItemSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n acceptedTsNs: v.bigint(),\n updatedTsNs: v.bigint(),\n }),\n v.check(\n (response) => response.acceptedCount + response.rejectedCount === response.items.length,\n \"Batch replace status counts do not match the returned items.\",\n ),\n v.check(\n (response) => response.items.every((item, index) => item.itemIndex === index),\n \"Batch replace status items must preserve request item order.\",\n ),\n v.transform(({ acceptedTsNs, updatedTsNs, ...response }) => ({\n ...response,\n acceptedTs: tsNsToMs(acceptedTsNs),\n acceptedTsNs: acceptedTsNs.toString(),\n updatedTs: tsNsToMs(updatedTsNs),\n updatedTsNs: updatedTsNs.toString(),\n })),\n);\n\nexport type GetBatchReplaceStatusResult = v.InferOutput<typeof GetBatchReplaceStatusResultSchema>;\n\nconst BatchCancelOrderInputSchema = v.union([\n v.pipe(\n v.strictObject({\n orderId: v.pipe(\n idInputSchema(\"items.orderId\"),\n v.check((value) => value > 0n, \"items.orderId must be greater than zero\"),\n ),\n clientOrderId: v.optional(v.never()),\n symbolId: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),\n }),\n v.transform(({ orderId, symbolId }) => ({ orderId, symbolId })),\n ),\n v.pipe(\n v.strictObject({\n orderId: v.optional(v.never()),\n clientOrderId: ClientOrderIdInputSchema,\n symbolId: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),\n }),\n v.transform(({ clientOrderId, symbolId }) => ({ clientOrderId, symbolId })),\n ),\n]);\n\nexport type BatchCancelOrderInput = v.InferInput<typeof BatchCancelOrderInputSchema>;\n\nexport const BatchCancelOrdersInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n requestId: v.optional(OrderRequestIdInputSchema),\n items: v.pipe(\n v.array(BatchCancelOrderInputSchema),\n v.minLength(1, \"At least one order is required.\"),\n v.maxLength(50, \"Batch cancel accepts at most 50 orders.\"),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type BatchCancelOrdersInput = v.InferInput<typeof BatchCancelOrdersInputSchema>;\n\nconst BatchCancelOrderResultSchema = v.object({\n status: v.picklist([\"accepted\", \"rejected\"]),\n orderId: OptionalPublicIdSchema,\n clientOrderId: v.string(),\n code: v.string(),\n error: v.optional(OrderErrorDetailSchema),\n});\n\nexport type BatchCancelOrderResult = v.InferOutput<typeof BatchCancelOrderResultSchema>;\n\nexport const BatchCancelOrdersResultSchema = v.pipe(\n v.object({\n results: v.array(BatchCancelOrderResultSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n tsNs: v.bigint(),\n }),\n v.check(\n (response) => response.acceptedCount + response.rejectedCount === response.results.length,\n \"Batch cancel result counts do not match the returned results.\",\n ),\n v.transform(({ tsNs, ...response }) => ({\n ...response,\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n);\n\nexport type BatchCancelOrdersResult = v.InferOutput<typeof BatchCancelOrdersResultSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"orders-batch.schemas.js","names":["ProtoWrite.RiskPolicySchema","ProtoWrite.BatchReplaceItemAdmissionStatus","ProtoWrite.BatchReplaceAdmissionStatus","ProtoRead.BatchReplacePhase","ProtoRead.OrderStatus"],"sources":["../../../src/services/orders/orders-batch.schemas.ts"],"sourcesContent":["import * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport * as ProtoRead from \"../../gen/orders/v1/orders_read_pb.js\";\nimport { create } from \"@bufbuild/protobuf\";\nimport * as v from \"valibot\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { OptionalPublicIdSchema, PublicIdSchema, idInputSchema } from \"../../shared/schemas.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport { formatId } from \"../../utils/base58-id.js\";\nimport { SideSchema } from \"../shared.js\";\nimport {\n positiveDecimalInputToScaled,\n scaledToDecimalOutput,\n type SdkScales,\n} from \"../../shared/decimal-surface.js\";\nimport {\n BatchReplaceAdmissionStatusCodec,\n BatchReplaceItemAdmissionStatusCodec,\n BatchReplacePhaseCodec,\n OrderStatusCodec,\n OrderSideCodec,\n} from \"./orders.codecs.js\";\nimport { createOrderIntentInputSchema } from \"./orders-input.schemas.js\";\nimport { createRequiredRiskPolicyInputSchema } from \"./orders-risk.schemas.js\";\nimport {\n ClientOrderIdInputSchema,\n OrderRequestIdInputSchema,\n} from \"./orders-identifiers.schemas.js\";\nimport { OrderErrorDetailSchema } from \"./order-errors.schemas.js\";\n\nconst BatchCountSchema = v.pipe(v.number(), v.integer(), v.minValue(0));\nconst BatchItemIndexSchema = v.pipe(v.number(), v.integer(), v.minValue(0));\nconst PositivePublicIdSchema = v.pipe(\n v.bigint(),\n v.gtValue(0n),\n v.transform((value) => formatId(value)),\n);\nconst OptionalSymbolInputSchema = v.optional(v.pipe(v.string(), v.trim(), v.maxLength(32)));\nconst OptionalSideInputSchema = v.pipe(\n v.optional(SideSchema),\n v.transform((side) => (side ? OrderSideCodec.inputToProto[side] : undefined)),\n);\n\nconst CancelAllAfterTimeoutInputSchema = v.pipe(\n v.number(),\n v.integer(),\n v.check(\n (timeoutSec) => timeoutSec === 0 || (timeoutSec >= 10 && timeoutSec <= 120),\n \"timeoutSec must be 0 to disable or between 10 and 120 seconds to arm\",\n ),\n);\n\nexport const CancelAllAfterInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n timeoutSec: CancelAllAfterTimeoutInputSchema,\n symbol: OptionalSymbolInputSchema,\n side: OptionalSideInputSchema,\n requestId: v.optional(OrderRequestIdInputSchema),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type CancelAllAfterInput = v.InferInput<typeof CancelAllAfterInputSchema>;\n\nexport const CancelAllAfterResultSchema = v.pipe(\n v.object({\n status: v.picklist([\"armed\", \"disabled\"]),\n effectiveTimeoutSec: v.pipe(v.number(), v.integer(), v.minValue(0)),\n expiresAtTsNs: v.bigint(),\n tsNs: v.bigint(),\n }),\n v.transform(({ expiresAtTsNs, tsNs, ...result }) => ({\n ...result,\n expiresAt: tsNsToMs(expiresAtTsNs),\n expiresAtNs: expiresAtTsNs.toString(),\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n);\n\nexport type CancelAllAfterResult = v.InferOutput<typeof CancelAllAfterResultSchema>;\n\nexport function createBatchCreateOrdersInputSchema(scales: SdkScales) {\n return v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n requestId: v.optional(OrderRequestIdInputSchema),\n items: v.pipe(\n v.array(createOrderIntentInputSchema(scales)),\n v.minLength(1, \"At least one order is required.\"),\n v.maxLength(20, \"Batch create accepts at most 20 orders.\"),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n );\n}\n\nexport type BatchCreateOrdersInput = v.InferInput<\n ReturnType<typeof createBatchCreateOrdersInputSchema>\n>;\n\nconst BatchCreateOrderResultRawSchema = v.object({\n clientOrderId: v.string(),\n outcome: v.variant(\"case\", [\n v.object({\n case: v.literal(\"accepted\"),\n value: v.object({\n orderId: PublicIdSchema,\n takeProfitTriggerId: OptionalPublicIdSchema,\n stopLossTriggerId: OptionalPublicIdSchema,\n trailingStopTriggerId: OptionalPublicIdSchema,\n resolvedBaseQtyScaled: v.bigint(),\n submittedMaxQuoteDebitScaled: v.optional(v.bigint()),\n }),\n }),\n v.object({\n case: v.literal(\"rejected\"),\n value: v.object({\n error: OrderErrorDetailSchema,\n }),\n }),\n ]),\n});\n\nexport function createBatchCreateOrdersResultSchema(scales: SdkScales, symbols: string[]) {\n return v.pipe(\n v.object({\n results: v.array(BatchCreateOrderResultRawSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n tsNs: v.bigint(),\n }),\n v.check(\n (response) =>\n response.acceptedCount + response.rejectedCount === response.results.length,\n \"Batch create result counts do not match the returned results.\",\n ),\n v.check(\n (response) => response.results.length === symbols.length,\n \"Batch create result count does not match the submitted item count.\",\n ),\n v.transform(({ tsNs, ...response }) => ({\n ...response,\n results: response.results.map(({ clientOrderId, outcome }, index) => {\n if (outcome.case === \"rejected\") {\n return {\n status: \"rejected\" as const,\n clientOrderId,\n error: outcome.value.error,\n };\n }\n const { resolvedBaseQtyScaled, submittedMaxQuoteDebitScaled, ...accepted } =\n outcome.value;\n const symbol = symbols[index]!;\n return {\n status: \"accepted\" as const,\n clientOrderId,\n ...accepted,\n resolvedBaseQty: scaledToDecimalOutput(\n resolvedBaseQtyScaled,\n scales.baseQty(symbol),\n ),\n ...(submittedMaxQuoteDebitScaled === undefined\n ? {}\n : {\n submittedMaxQuoteDebit: scaledToDecimalOutput(\n submittedMaxQuoteDebitScaled,\n scales.quoteAmount(symbol),\n ),\n }),\n };\n }),\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n );\n}\n\nexport type BatchCreateOrdersResult = v.InferOutput<\n ReturnType<typeof createBatchCreateOrdersResultSchema>\n>;\nexport type BatchCreateOrderResult = BatchCreateOrdersResult[\"results\"][number];\n\nconst DecimalInputStringSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\nconst BATCH_REPLACE_ITEM_INPUT_KEYS = new Set([\n \"orderId\",\n \"clientOrderId\",\n \"newPrice\",\n \"newQty\",\n \"risk\",\n \"clearRisk\",\n \"newClientOrderId\",\n]);\n\nexport function assertKnownBatchReplaceOrderItemInputKeys(input: object): void {\n for (const key of Object.keys(input)) {\n if (!BATCH_REPLACE_ITEM_INPUT_KEYS.has(key)) {\n throw new Error(`Unknown key \"${key}\" in batch replace order item.`);\n }\n }\n}\n\nconst BatchReplaceTargetInputSchema = v.union([\n v.pipe(\n v.object({\n orderId: v.pipe(\n idInputSchema(\"items.orderId\"),\n v.check((value) => value > 0n, \"items.orderId must be greater than zero\"),\n ),\n clientOrderId: v.optional(v.never()),\n }),\n v.transform(({ orderId }) => ({\n key: { case: \"orderId\" as const, value: orderId },\n })),\n ),\n v.pipe(\n v.object({\n orderId: v.optional(v.never()),\n clientOrderId: ClientOrderIdInputSchema,\n }),\n v.transform(({ clientOrderId }) => ({\n key: { case: \"clientOrderId\" as const, value: clientOrderId },\n })),\n ),\n]);\n\nfunction createBatchReplaceOrderItemInputSchema(scales: SdkScales, symbolId: number) {\n const patchSchema = v.union([\n v.object({\n newPrice: DecimalInputStringSchema,\n newQty: v.optional(DecimalInputStringSchema),\n risk: v.optional(createRequiredRiskPolicyInputSchema(scales)),\n clearRisk: v.optional(v.literal(false)),\n }),\n v.object({\n newPrice: v.optional(DecimalInputStringSchema),\n newQty: DecimalInputStringSchema,\n risk: v.optional(createRequiredRiskPolicyInputSchema(scales)),\n clearRisk: v.optional(v.literal(false)),\n }),\n v.object({\n newPrice: v.optional(v.never()),\n newQty: v.optional(v.never()),\n risk: createRequiredRiskPolicyInputSchema(scales),\n clearRisk: v.optional(v.literal(false)),\n }),\n v.object({\n newPrice: v.optional(v.never()),\n newQty: v.optional(v.never()),\n risk: v.optional(v.never()),\n clearRisk: v.literal(true),\n }),\n ]);\n return v.pipe(\n v.intersect([\n BatchReplaceTargetInputSchema,\n patchSchema,\n v.object({\n newClientOrderId: v.optional(ClientOrderIdInputSchema),\n }),\n ]),\n v.transform((input) => ({\n key: input.key,\n newPriceTicks:\n input.newPrice === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"items.newPrice\",\n input.newPrice,\n scales.price(),\n ),\n newQtyScaled:\n input.newQty === undefined\n ? undefined\n : positiveDecimalInputToScaled(\n \"items.newQty\",\n input.newQty,\n scales.baseQty(symbolId),\n ),\n newAttachedRisk:\n input.clearRisk === true ? create(ProtoWrite.RiskPolicySchema) : input.risk,\n newClientOrderId: input.newClientOrderId ?? \"\",\n })),\n );\n}\n\nexport function createBatchReplaceOrdersInputSchema(scales: SdkScales, symbolId: number) {\n return v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n symbolId: v.pipe(v.literal(symbolId), v.integer(), v.minValue(1)),\n requestId: v.optional(OrderRequestIdInputSchema),\n items: v.pipe(\n v.array(createBatchReplaceOrderItemInputSchema(scales, symbolId)),\n v.minLength(1, \"At least one replacement is required.\"),\n v.maxLength(50, \"Batch replace accepts at most 50 replacements.\"),\n ),\n }),\n v.check((input) => {\n const targets = input.items.map(\n (item) => `${item.key.case}:${item.key.value.toString()}`,\n );\n return new Set(targets).size === targets.length;\n }, \"Each batch replace target must be unique.\"),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n );\n}\n\nexport type BatchReplaceOrdersInput = {\n account?: v.InferInput<typeof AccountScopeInputEntries.account>;\n symbolId: number;\n requestId?: string;\n items: Array<{\n orderId?: string;\n clientOrderId?: string;\n newPrice?: string;\n newQty?: string;\n risk?: v.InferInput<ReturnType<typeof createRequiredRiskPolicyInputSchema>>;\n clearRisk?: boolean;\n newClientOrderId?: string;\n }>;\n};\n\nconst BatchReplaceAdmissionItemSchema = v.pipe(\n v.object({\n itemIndex: BatchItemIndexSchema,\n status: v.pipe(\n v.enum(ProtoWrite.BatchReplaceItemAdmissionStatus),\n v.transform((status) =>\n requiredEnumLabel(\n BatchReplaceItemAdmissionStatusCodec.protoToOutput,\n status,\n \"BatchReplaceAdmissionItemSchema\",\n \"status\",\n ),\n ),\n ),\n oldOrderId: OptionalPublicIdSchema,\n replacementOrderId: OptionalPublicIdSchema,\n clientOrderId: v.string(),\n code: v.string(),\n error: v.optional(OrderErrorDetailSchema),\n }),\n v.transform((item) => ({\n ...item,\n code: item.code || undefined,\n })),\n);\n\nexport type BatchReplaceAdmissionItem = v.InferOutput<typeof BatchReplaceAdmissionItemSchema>;\n\nexport const BatchReplaceOrdersResultSchema = v.pipe(\n v.object({\n batchRequestId: PositivePublicIdSchema,\n status: v.pipe(\n v.enum(ProtoWrite.BatchReplaceAdmissionStatus),\n v.transform((status) =>\n requiredEnumLabel(\n BatchReplaceAdmissionStatusCodec.protoToOutput,\n status,\n \"BatchReplaceOrdersResultSchema\",\n \"status\",\n ),\n ),\n ),\n results: v.array(BatchReplaceAdmissionItemSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n acceptedTsNs: v.bigint(),\n }),\n v.check(\n (response) => response.acceptedCount + response.rejectedCount === response.results.length,\n \"Batch replace result counts do not match the returned results.\",\n ),\n v.check(\n (response) => response.results.every((item, index) => item.itemIndex === index),\n \"Batch replace results must preserve request item order.\",\n ),\n v.transform(({ acceptedTsNs, ...response }) => ({\n ...response,\n acceptedTs: tsNsToMs(acceptedTsNs),\n acceptedTsNs: acceptedTsNs.toString(),\n })),\n);\n\nexport type BatchReplaceOrdersResult = v.InferOutput<typeof BatchReplaceOrdersResultSchema>;\n\nexport const GetBatchReplaceStatusInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n batchRequestId: v.pipe(\n idInputSchema(\"batchRequestId\"),\n v.check((value) => value > 0n, \"batchRequestId must be greater than zero\"),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type GetBatchReplaceStatusInput = v.InferInput<typeof GetBatchReplaceStatusInputSchema>;\n\nconst BatchReplaceStatusItemSchema = v.pipe(\n v.object({\n itemIndex: BatchItemIndexSchema,\n phase: v.pipe(\n v.enum(ProtoRead.BatchReplacePhase),\n v.transform((phase) =>\n requiredEnumLabel(\n BatchReplacePhaseCodec.protoToOutput,\n phase,\n \"BatchReplaceStatusItemSchema\",\n \"phase\",\n ),\n ),\n ),\n oldOrderId: OptionalPublicIdSchema,\n replacementOrderId: OptionalPublicIdSchema,\n orderStatus: v.pipe(\n v.enum(ProtoRead.OrderStatus),\n v.transform((status) =>\n requiredEnumLabel(\n OrderStatusCodec.protoToOutput,\n status,\n \"BatchReplaceStatusItemSchema\",\n \"order status\",\n ),\n ),\n ),\n code: v.string(),\n updatedTsNs: v.bigint(),\n }),\n v.transform(({ updatedTsNs, ...item }) => ({\n ...item,\n code: item.code || undefined,\n updatedTs: tsNsToMs(updatedTsNs),\n updatedTsNs: updatedTsNs.toString(),\n })),\n);\n\nexport const GetBatchReplaceStatusResultSchema = v.pipe(\n v.object({\n batchRequestId: PositivePublicIdSchema,\n admissionStatus: v.pipe(\n v.enum(ProtoWrite.BatchReplaceAdmissionStatus),\n v.transform((status) =>\n requiredEnumLabel(\n BatchReplaceAdmissionStatusCodec.protoToOutput,\n status,\n \"GetBatchReplaceStatusResultSchema\",\n \"admission status\",\n ),\n ),\n ),\n items: v.array(BatchReplaceStatusItemSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n acceptedTsNs: v.bigint(),\n updatedTsNs: v.bigint(),\n }),\n v.check(\n (response) => response.acceptedCount + response.rejectedCount === response.items.length,\n \"Batch replace status counts do not match the returned items.\",\n ),\n v.check(\n (response) => response.items.every((item, index) => item.itemIndex === index),\n \"Batch replace status items must preserve request item order.\",\n ),\n v.transform(({ acceptedTsNs, updatedTsNs, ...response }) => ({\n ...response,\n acceptedTs: tsNsToMs(acceptedTsNs),\n acceptedTsNs: acceptedTsNs.toString(),\n updatedTs: tsNsToMs(updatedTsNs),\n updatedTsNs: updatedTsNs.toString(),\n })),\n);\n\nexport type GetBatchReplaceStatusResult = v.InferOutput<typeof GetBatchReplaceStatusResultSchema>;\n\nconst BatchCancelOrderInputSchema = v.union([\n v.pipe(\n v.strictObject({\n orderId: v.pipe(\n idInputSchema(\"items.orderId\"),\n v.check((value) => value > 0n, \"items.orderId must be greater than zero\"),\n ),\n clientOrderId: v.optional(v.never()),\n symbolId: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),\n }),\n v.transform(({ orderId, symbolId }) => ({ orderId, symbolId })),\n ),\n v.pipe(\n v.strictObject({\n orderId: v.optional(v.never()),\n clientOrderId: ClientOrderIdInputSchema,\n symbolId: v.optional(v.pipe(v.number(), v.integer(), v.minValue(1))),\n }),\n v.transform(({ clientOrderId, symbolId }) => ({ clientOrderId, symbolId })),\n ),\n]);\n\nexport type BatchCancelOrderInput = v.InferInput<typeof BatchCancelOrderInputSchema>;\n\nexport const BatchCancelOrdersInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n requestId: v.optional(OrderRequestIdInputSchema),\n items: v.pipe(\n v.array(BatchCancelOrderInputSchema),\n v.minLength(1, \"At least one order is required.\"),\n v.maxLength(50, \"Batch cancel accepts at most 50 orders.\"),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type BatchCancelOrdersInput = v.InferInput<typeof BatchCancelOrdersInputSchema>;\n\nconst BatchCancelOrderResultSchema = v.object({\n status: v.picklist([\"accepted\", \"rejected\"]),\n orderId: OptionalPublicIdSchema,\n clientOrderId: v.string(),\n code: v.string(),\n error: v.optional(OrderErrorDetailSchema),\n});\n\nexport type BatchCancelOrderResult = v.InferOutput<typeof BatchCancelOrderResultSchema>;\n\nexport const BatchCancelOrdersResultSchema = v.pipe(\n v.object({\n results: v.array(BatchCancelOrderResultSchema),\n acceptedCount: BatchCountSchema,\n rejectedCount: BatchCountSchema,\n tsNs: v.bigint(),\n }),\n v.check(\n (response) => response.acceptedCount + response.rejectedCount === response.results.length,\n \"Batch cancel result counts do not match the returned results.\",\n ),\n v.transform(({ tsNs, ...response }) => ({\n ...response,\n ts: tsNsToMs(tsNs),\n tsNs: tsNs.toString(),\n })),\n);\n\nexport type BatchCancelOrdersResult = v.InferOutput<typeof BatchCancelOrdersResultSchema>;\n"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import * as v from "valibot";
|
|
2
2
|
//#region src/services/orders/orders-identifiers.schemas.ts
|
|
3
3
|
const OrderIdempotencyKeyPattern = /^[A-Za-z0-9._:/-]*$/;
|
|
4
|
-
const ClientOrderIdWireInputSchema =
|
|
5
|
-
const ClientOrderIdInputSchema =
|
|
6
|
-
const OptionalClientOrderIdInputSchema =
|
|
7
|
-
const OrderRequestIdInputSchema =
|
|
4
|
+
const ClientOrderIdWireInputSchema = v.pipe(v.string(), v.trim(), v.maxLength(36), v.regex(OrderIdempotencyKeyPattern, "clientOrderId has an invalid format"));
|
|
5
|
+
const ClientOrderIdInputSchema = v.pipe(ClientOrderIdWireInputSchema, v.minLength(1));
|
|
6
|
+
const OptionalClientOrderIdInputSchema = v.optional(ClientOrderIdWireInputSchema);
|
|
7
|
+
const OrderRequestIdInputSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.maxLength(64), v.regex(OrderIdempotencyKeyPattern, "requestId has an invalid format"));
|
|
8
8
|
//#endregion
|
|
9
9
|
export { ClientOrderIdInputSchema, OptionalClientOrderIdInputSchema, OrderRequestIdInputSchema };
|
|
10
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orders-identifiers.schemas.js","names":[
|
|
1
|
+
{"version":3,"file":"orders-identifiers.schemas.js","names":[],"sources":["../../../src/services/orders/orders-identifiers.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nconst OrderIdempotencyKeyPattern = /^[A-Za-z0-9._:/-]*$/;\n\nconst ClientOrderIdWireInputSchema = v.pipe(\n v.string(),\n v.trim(),\n v.maxLength(36),\n v.regex(OrderIdempotencyKeyPattern, \"clientOrderId has an invalid format\"),\n);\n\nexport const ClientOrderIdInputSchema = v.pipe(ClientOrderIdWireInputSchema, v.minLength(1));\n\nexport const OptionalClientOrderIdInputSchema = v.optional(ClientOrderIdWireInputSchema);\n\nexport const OrderRequestIdInputSchema = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1),\n v.maxLength(64),\n v.regex(OrderIdempotencyKeyPattern, \"requestId has an invalid format\"),\n);\n"],"mappings":";;AAEA,MAAM,6BAA6B;AAEnC,MAAM,+BAA+B,EAAE,KACnC,EAAE,OAAO,GACT,EAAE,KAAK,GACP,EAAE,UAAU,EAAE,GACd,EAAE,MAAM,4BAA4B,qCAAqC,CAC7E;AAEA,MAAa,2BAA2B,EAAE,KAAK,8BAA8B,EAAE,UAAU,CAAC,CAAC;AAE3F,MAAa,mCAAmC,EAAE,SAAS,4BAA4B;AAEvF,MAAa,4BAA4B,EAAE,KACvC,EAAE,OAAO,GACT,EAAE,KAAK,GACP,EAAE,UAAU,CAAC,GACb,EAAE,UAAU,EAAE,GACd,EAAE,MAAM,4BAA4B,iCAAiC,CACzE"}
|