@polyester/sdk 0.3.0 → 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 +44 -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/gen/marketoverview/v1/marketoverview_pb.d.ts +7 -0
- package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts.map +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.js +1 -1
- package/dist/gen/marketoverview/v1/marketoverview_pb.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 +64 -64
- 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 +141 -141
- 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.d.ts +1 -1
- package/dist/services/market-overview/market-overview.js +5 -5
- package/dist/services/market-overview/market-overview.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +39 -36
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +34 -32
- 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 +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 +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 +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 +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 +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 +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 +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.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,37 +1,37 @@
|
|
|
1
|
+
import { validation_d_exports } from "../../shared/validation.js";
|
|
1
2
|
import { AccountCode } from "../../gen/ledger/v1/catalog_pb.js";
|
|
2
3
|
import { BalanceRange as BalanceRange$1, EquityGroupBy as EquityGroupBy$1 } from "../../gen/ledger/read/v1/ledger_read_pb.js";
|
|
3
4
|
import { DecodedEnum } from "../../utils/types.js";
|
|
4
5
|
import { SdkScales } from "../../shared/decimal-surface.js";
|
|
5
6
|
import { U128Value } from "../../utils/u128.js";
|
|
6
7
|
import { AccountCodeValue } from "../../shared/ledger-codes.js";
|
|
7
|
-
import * as v from "valibot";
|
|
8
8
|
//#region src/services/balances/balances.schemas.d.ts
|
|
9
9
|
/**
|
|
10
10
|
* AssetBalance u128 fields on the ledger wire are always 18-decimal scaled
|
|
11
11
|
* (PolyesterChain base units), independent of per-asset quantityScale used
|
|
12
12
|
* elsewhere for order quantities and transfer inputs.
|
|
13
13
|
*/
|
|
14
|
-
declare function createLedgerBalanceSchema():
|
|
15
|
-
readonly assetId:
|
|
16
|
-
readonly trading:
|
|
17
|
-
readonly hi:
|
|
18
|
-
readonly lo:
|
|
19
|
-
}, undefined>, undefined>,
|
|
20
|
-
readonly funding:
|
|
21
|
-
readonly hi:
|
|
22
|
-
readonly lo:
|
|
23
|
-
}, undefined>, undefined>,
|
|
24
|
-
readonly reserved:
|
|
25
|
-
readonly hi:
|
|
26
|
-
readonly lo:
|
|
27
|
-
}, undefined>, undefined>,
|
|
28
|
-
readonly available:
|
|
29
|
-
readonly hi:
|
|
30
|
-
readonly lo:
|
|
31
|
-
}, undefined>, undefined>,
|
|
32
|
-
readonly tradingRevision:
|
|
33
|
-
readonly fundingRevision:
|
|
34
|
-
}, undefined>,
|
|
14
|
+
declare function createLedgerBalanceSchema(): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
15
|
+
readonly assetId: validation_d_exports.NumberSchema<undefined>;
|
|
16
|
+
readonly trading: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
17
|
+
readonly hi: validation_d_exports.BigintSchema<undefined>;
|
|
18
|
+
readonly lo: validation_d_exports.BigintSchema<undefined>;
|
|
19
|
+
}, undefined>, undefined>, validation_d_exports.TransformAction<U128Value | undefined, bigint>]>;
|
|
20
|
+
readonly funding: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
21
|
+
readonly hi: validation_d_exports.BigintSchema<undefined>;
|
|
22
|
+
readonly lo: validation_d_exports.BigintSchema<undefined>;
|
|
23
|
+
}, undefined>, undefined>, validation_d_exports.TransformAction<U128Value | undefined, bigint>]>;
|
|
24
|
+
readonly reserved: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
25
|
+
readonly hi: validation_d_exports.BigintSchema<undefined>;
|
|
26
|
+
readonly lo: validation_d_exports.BigintSchema<undefined>;
|
|
27
|
+
}, undefined>, undefined>, validation_d_exports.TransformAction<U128Value | undefined, bigint>]>;
|
|
28
|
+
readonly available: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ObjectSchema<{
|
|
29
|
+
readonly hi: validation_d_exports.BigintSchema<undefined>;
|
|
30
|
+
readonly lo: validation_d_exports.BigintSchema<undefined>;
|
|
31
|
+
}, undefined>, undefined>, validation_d_exports.TransformAction<U128Value | undefined, bigint>]>;
|
|
32
|
+
readonly tradingRevision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, 0n>, validation_d_exports.TransformAction<bigint, string>]>;
|
|
33
|
+
readonly fundingRevision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, 0n>, validation_d_exports.TransformAction<bigint, string>]>;
|
|
34
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
35
35
|
assetId: number;
|
|
36
36
|
trading?: bigint | undefined;
|
|
37
37
|
funding?: bigint | undefined;
|
|
@@ -48,19 +48,19 @@ declare function createLedgerBalanceSchema(): v.SchemaWithPipe<readonly [v.Objec
|
|
|
48
48
|
tradingRevision: string;
|
|
49
49
|
fundingRevision: string;
|
|
50
50
|
}>]>;
|
|
51
|
-
type LedgerBalance =
|
|
52
|
-
declare const BalanceRangeSchema:
|
|
53
|
-
type BalanceRange =
|
|
54
|
-
declare const EquityGroupBySchema:
|
|
55
|
-
type EquityGroupBy =
|
|
56
|
-
declare const BalanceHistoryInputSchema:
|
|
57
|
-
readonly range:
|
|
58
|
-
readonly ledger:
|
|
59
|
-
readonly accountCodes:
|
|
60
|
-
readonly account:
|
|
61
|
-
readonly subaccountId:
|
|
51
|
+
type LedgerBalance = validation_d_exports.InferOutput<ReturnType<typeof createLedgerBalanceSchema>>;
|
|
52
|
+
declare const BalanceRangeSchema: validation_d_exports.PicklistSchema<readonly ["1d", "7d", "30d", "90d", "180d", "365d"], undefined>;
|
|
53
|
+
type BalanceRange = validation_d_exports.InferOutput<typeof BalanceRangeSchema>;
|
|
54
|
+
declare const EquityGroupBySchema: validation_d_exports.PicklistSchema<readonly ["account", "asset"], undefined>;
|
|
55
|
+
type EquityGroupBy = validation_d_exports.InferOutput<typeof EquityGroupBySchema>;
|
|
56
|
+
declare const BalanceHistoryInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
|
|
57
|
+
readonly range: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["1d", "7d", "30d", "90d", "180d", "365d"], undefined>, validation_d_exports.TransformAction<"1d" | "7d" | "30d" | "90d" | "180d" | "365d", BalanceRange$1.DAY_1 | BalanceRange$1.DAY_7 | BalanceRange$1.DAY_30 | BalanceRange$1.DAY_90 | BalanceRange$1.DAY_180 | BalanceRange$1.DAY_365>]>;
|
|
58
|
+
readonly ledger: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NumberSchema<undefined>, validation_d_exports.IntegerAction<number, undefined>, validation_d_exports.MinValueAction<number, 0, undefined>, validation_d_exports.MaxValueAction<number, 4294967295, undefined>]>, 0>;
|
|
59
|
+
readonly accountCodes: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["funding", "trading"], undefined>, validation_d_exports.TransformAction<"funding" | "trading", AccountCode.FUNDING | AccountCode.TRADING>]>, undefined>, readonly []>;
|
|
60
|
+
readonly account: validation_d_exports.OptionalSchema<validation_d_exports.UnionSchema<[validation_d_exports.PicklistSchema<["active", "main"], undefined>, validation_d_exports.StrictObjectSchema<{
|
|
61
|
+
readonly subaccountId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>;
|
|
62
62
|
}, undefined>], undefined>, undefined>;
|
|
63
|
-
}, undefined>,
|
|
63
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
64
64
|
range: BalanceRange$1.DAY_1 | BalanceRange$1.DAY_7 | BalanceRange$1.DAY_30 | BalanceRange$1.DAY_90 | BalanceRange$1.DAY_180 | BalanceRange$1.DAY_365;
|
|
65
65
|
ledger: number;
|
|
66
66
|
accountCodes: (AccountCode.FUNDING | AccountCode.TRADING)[];
|
|
@@ -73,22 +73,22 @@ declare const BalanceHistoryInputSchema: v.SchemaWithPipe<readonly [v.StrictObje
|
|
|
73
73
|
ledger: number;
|
|
74
74
|
accountCodes: (AccountCode.FUNDING | AccountCode.TRADING)[];
|
|
75
75
|
}>]>;
|
|
76
|
-
type BalanceHistoryInput =
|
|
77
|
-
declare function createBalanceHistoryResponseSchema():
|
|
78
|
-
readonly range:
|
|
79
|
-
readonly bucket:
|
|
80
|
-
readonly startTsSec:
|
|
81
|
-
readonly endTsSec:
|
|
82
|
-
readonly points:
|
|
83
|
-
readonly series:
|
|
84
|
-
readonly assetId:
|
|
85
|
-
readonly accountCode:
|
|
76
|
+
type BalanceHistoryInput = validation_d_exports.InferInput<typeof BalanceHistoryInputSchema>;
|
|
77
|
+
declare function createBalanceHistoryResponseSchema(): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
78
|
+
readonly range: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof BalanceRange$1, undefined>, validation_d_exports.TransformAction<BalanceRange$1, "unspecified" | "1d" | "7d" | "30d" | "90d" | "180d" | "365d">]>;
|
|
79
|
+
readonly bucket: validation_d_exports.StringSchema<undefined>;
|
|
80
|
+
readonly startTsSec: validation_d_exports.NumberSchema<undefined>;
|
|
81
|
+
readonly endTsSec: validation_d_exports.NumberSchema<undefined>;
|
|
82
|
+
readonly points: validation_d_exports.NumberSchema<undefined>;
|
|
83
|
+
readonly series: validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
|
|
84
|
+
readonly assetId: validation_d_exports.NumberSchema<undefined>;
|
|
85
|
+
readonly accountCode: validation_d_exports.EnumSchema<{
|
|
86
86
|
funding: AccountCode.FUNDING;
|
|
87
87
|
trading: AccountCode.TRADING;
|
|
88
88
|
}, undefined>;
|
|
89
|
-
readonly balanceQ:
|
|
89
|
+
readonly balanceQ: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
|
|
90
90
|
}, undefined>, undefined>;
|
|
91
|
-
}, undefined>,
|
|
91
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
92
92
|
range: "unspecified" | "1d" | "7d" | "30d" | "90d" | "180d" | "365d";
|
|
93
93
|
bucket: string;
|
|
94
94
|
startTsSec: number;
|
|
@@ -96,7 +96,7 @@ declare function createBalanceHistoryResponseSchema(): v.SchemaWithPipe<readonly
|
|
|
96
96
|
points: number;
|
|
97
97
|
series: {
|
|
98
98
|
assetId: number;
|
|
99
|
-
accountCode:
|
|
99
|
+
accountCode: validation_d_exports.EnumValues<{
|
|
100
100
|
funding: AccountCode.FUNDING;
|
|
101
101
|
trading: AccountCode.TRADING;
|
|
102
102
|
}>;
|
|
@@ -114,15 +114,15 @@ declare function createBalanceHistoryResponseSchema(): v.SchemaWithPipe<readonly
|
|
|
114
114
|
balance: string[];
|
|
115
115
|
}[];
|
|
116
116
|
}>]>;
|
|
117
|
-
type BalanceHistoryResponse =
|
|
118
|
-
declare const EquityHistoryInputSchema:
|
|
119
|
-
readonly range:
|
|
120
|
-
readonly accountCodes:
|
|
121
|
-
readonly groupBy:
|
|
122
|
-
readonly account:
|
|
123
|
-
readonly subaccountId:
|
|
117
|
+
type BalanceHistoryResponse = validation_d_exports.InferOutput<ReturnType<typeof createBalanceHistoryResponseSchema>>;
|
|
118
|
+
declare const EquityHistoryInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
|
|
119
|
+
readonly range: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["1d", "7d", "30d", "90d", "180d", "365d"], undefined>, validation_d_exports.TransformAction<"1d" | "7d" | "30d" | "90d" | "180d" | "365d", BalanceRange$1.DAY_1 | BalanceRange$1.DAY_7 | BalanceRange$1.DAY_30 | BalanceRange$1.DAY_90 | BalanceRange$1.DAY_180 | BalanceRange$1.DAY_365>]>;
|
|
120
|
+
readonly accountCodes: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["funding", "trading"], undefined>, validation_d_exports.TransformAction<"funding" | "trading", AccountCode.FUNDING | AccountCode.TRADING>]>, undefined>, readonly []>;
|
|
121
|
+
readonly groupBy: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.PicklistSchema<readonly ["account", "asset"], undefined>, "account">, validation_d_exports.TransformAction<"account" | "asset", EquityGroupBy$1.GROUP_BY_ACCOUNT | EquityGroupBy$1.GROUP_BY_ASSET>]>;
|
|
122
|
+
readonly account: validation_d_exports.OptionalSchema<validation_d_exports.UnionSchema<[validation_d_exports.PicklistSchema<["active", "main"], undefined>, validation_d_exports.StrictObjectSchema<{
|
|
123
|
+
readonly subaccountId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>;
|
|
124
124
|
}, undefined>], undefined>, undefined>;
|
|
125
|
-
}, undefined>,
|
|
125
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
126
126
|
range: BalanceRange$1.DAY_1 | BalanceRange$1.DAY_7 | BalanceRange$1.DAY_30 | BalanceRange$1.DAY_90 | BalanceRange$1.DAY_180 | BalanceRange$1.DAY_365;
|
|
127
127
|
accountCodes: (AccountCode.FUNDING | AccountCode.TRADING)[];
|
|
128
128
|
groupBy: EquityGroupBy$1.GROUP_BY_ACCOUNT | EquityGroupBy$1.GROUP_BY_ASSET;
|
|
@@ -135,7 +135,7 @@ declare const EquityHistoryInputSchema: v.SchemaWithPipe<readonly [v.StrictObjec
|
|
|
135
135
|
accountCodes: (AccountCode.FUNDING | AccountCode.TRADING)[];
|
|
136
136
|
groupBy: EquityGroupBy$1.GROUP_BY_ACCOUNT | EquityGroupBy$1.GROUP_BY_ASSET;
|
|
137
137
|
}>]>;
|
|
138
|
-
type EquityHistoryInput =
|
|
138
|
+
type EquityHistoryInput = validation_d_exports.InferInput<typeof EquityHistoryInputSchema>;
|
|
139
139
|
type EquitySeriesGrouping = {
|
|
140
140
|
type: "account";
|
|
141
141
|
accountCode: DecodedEnum<AccountCodeValue>;
|
|
@@ -145,29 +145,29 @@ type EquitySeriesGrouping = {
|
|
|
145
145
|
assetId: number;
|
|
146
146
|
symbol: string;
|
|
147
147
|
};
|
|
148
|
-
declare const EquitySeriesSchema:
|
|
149
|
-
readonly grouping:
|
|
150
|
-
readonly case:
|
|
151
|
-
readonly value:
|
|
152
|
-
readonly accountCode:
|
|
148
|
+
declare const EquitySeriesSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
149
|
+
readonly grouping: validation_d_exports.UnionSchema<[validation_d_exports.ObjectSchema<{
|
|
150
|
+
readonly case: validation_d_exports.LiteralSchema<"account", undefined>;
|
|
151
|
+
readonly value: validation_d_exports.ObjectSchema<{
|
|
152
|
+
readonly accountCode: validation_d_exports.EnumSchema<{
|
|
153
153
|
funding: AccountCode.FUNDING;
|
|
154
154
|
trading: AccountCode.TRADING;
|
|
155
155
|
}, undefined>;
|
|
156
|
-
readonly name:
|
|
156
|
+
readonly name: validation_d_exports.StringSchema<undefined>;
|
|
157
157
|
}, undefined>;
|
|
158
|
-
}, undefined>,
|
|
159
|
-
readonly case:
|
|
160
|
-
readonly value:
|
|
161
|
-
readonly id:
|
|
162
|
-
readonly symbol:
|
|
158
|
+
}, undefined>, validation_d_exports.ObjectSchema<{
|
|
159
|
+
readonly case: validation_d_exports.LiteralSchema<"asset", undefined>;
|
|
160
|
+
readonly value: validation_d_exports.ObjectSchema<{
|
|
161
|
+
readonly id: validation_d_exports.NumberSchema<undefined>;
|
|
162
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
163
163
|
}, undefined>;
|
|
164
164
|
}, undefined>], undefined>;
|
|
165
|
-
readonly equityQ:
|
|
166
|
-
}, undefined>,
|
|
165
|
+
readonly equityQ: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
|
|
166
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
167
167
|
grouping: {
|
|
168
168
|
case: "account";
|
|
169
169
|
value: {
|
|
170
|
-
accountCode:
|
|
170
|
+
accountCode: validation_d_exports.EnumValues<{
|
|
171
171
|
funding: AccountCode.FUNDING;
|
|
172
172
|
trading: AccountCode.TRADING;
|
|
173
173
|
}>;
|
|
@@ -185,36 +185,36 @@ declare const EquitySeriesSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
|
185
185
|
grouping: EquitySeriesGrouping;
|
|
186
186
|
equity: string[];
|
|
187
187
|
}>]>;
|
|
188
|
-
declare function createEquityHistoryResponseSchema(scales: SdkScales):
|
|
189
|
-
readonly range:
|
|
190
|
-
readonly bucket:
|
|
191
|
-
readonly startTsSec:
|
|
192
|
-
readonly endTsSec:
|
|
193
|
-
readonly quoteAsset:
|
|
194
|
-
readonly points:
|
|
195
|
-
readonly series:
|
|
196
|
-
readonly grouping:
|
|
197
|
-
readonly case:
|
|
198
|
-
readonly value:
|
|
199
|
-
readonly accountCode:
|
|
188
|
+
declare function createEquityHistoryResponseSchema(scales: SdkScales): validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
189
|
+
readonly range: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof BalanceRange$1, undefined>, validation_d_exports.TransformAction<BalanceRange$1, "unspecified" | "1d" | "7d" | "30d" | "90d" | "180d" | "365d">]>;
|
|
190
|
+
readonly bucket: validation_d_exports.StringSchema<undefined>;
|
|
191
|
+
readonly startTsSec: validation_d_exports.NumberSchema<undefined>;
|
|
192
|
+
readonly endTsSec: validation_d_exports.NumberSchema<undefined>;
|
|
193
|
+
readonly quoteAsset: validation_d_exports.StringSchema<undefined>;
|
|
194
|
+
readonly points: validation_d_exports.NumberSchema<undefined>;
|
|
195
|
+
readonly series: validation_d_exports.ArraySchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
|
|
196
|
+
readonly grouping: validation_d_exports.UnionSchema<[validation_d_exports.ObjectSchema<{
|
|
197
|
+
readonly case: validation_d_exports.LiteralSchema<"account", undefined>;
|
|
198
|
+
readonly value: validation_d_exports.ObjectSchema<{
|
|
199
|
+
readonly accountCode: validation_d_exports.EnumSchema<{
|
|
200
200
|
funding: AccountCode.FUNDING;
|
|
201
201
|
trading: AccountCode.TRADING;
|
|
202
202
|
}, undefined>;
|
|
203
|
-
readonly name:
|
|
203
|
+
readonly name: validation_d_exports.StringSchema<undefined>;
|
|
204
204
|
}, undefined>;
|
|
205
|
-
}, undefined>,
|
|
206
|
-
readonly case:
|
|
207
|
-
readonly value:
|
|
208
|
-
readonly id:
|
|
209
|
-
readonly symbol:
|
|
205
|
+
}, undefined>, validation_d_exports.ObjectSchema<{
|
|
206
|
+
readonly case: validation_d_exports.LiteralSchema<"asset", undefined>;
|
|
207
|
+
readonly value: validation_d_exports.ObjectSchema<{
|
|
208
|
+
readonly id: validation_d_exports.NumberSchema<undefined>;
|
|
209
|
+
readonly symbol: validation_d_exports.StringSchema<undefined>;
|
|
210
210
|
}, undefined>;
|
|
211
211
|
}, undefined>], undefined>;
|
|
212
|
-
readonly equityQ:
|
|
213
|
-
}, undefined>,
|
|
212
|
+
readonly equityQ: validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>;
|
|
213
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
214
214
|
grouping: {
|
|
215
215
|
case: "account";
|
|
216
216
|
value: {
|
|
217
|
-
accountCode:
|
|
217
|
+
accountCode: validation_d_exports.EnumValues<{
|
|
218
218
|
funding: AccountCode.FUNDING;
|
|
219
219
|
trading: AccountCode.TRADING;
|
|
220
220
|
}>;
|
|
@@ -232,8 +232,8 @@ declare function createEquityHistoryResponseSchema(scales: SdkScales): v.SchemaW
|
|
|
232
232
|
grouping: EquitySeriesGrouping;
|
|
233
233
|
equity: string[];
|
|
234
234
|
}>]>, undefined>;
|
|
235
|
-
readonly btcPricesQ:
|
|
236
|
-
}, undefined>,
|
|
235
|
+
readonly btcPricesQ: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.BigintSchema<undefined>, undefined>, readonly []>;
|
|
236
|
+
}, undefined>, validation_d_exports.TransformAction<{
|
|
237
237
|
range: "unspecified" | "1d" | "7d" | "30d" | "90d" | "180d" | "365d";
|
|
238
238
|
bucket: string;
|
|
239
239
|
startTsSec: number;
|
|
@@ -258,8 +258,8 @@ declare function createEquityHistoryResponseSchema(scales: SdkScales): v.SchemaW
|
|
|
258
258
|
}[];
|
|
259
259
|
btcPrices: string[];
|
|
260
260
|
}>]>;
|
|
261
|
-
type EquitySeries =
|
|
262
|
-
type EquityHistoryResponse =
|
|
261
|
+
type EquitySeries = validation_d_exports.InferOutput<typeof EquitySeriesSchema>;
|
|
262
|
+
type EquityHistoryResponse = validation_d_exports.InferOutput<ReturnType<typeof createEquityHistoryResponseSchema>>;
|
|
263
263
|
//#endregion
|
|
264
264
|
export { BalanceHistoryInput, BalanceHistoryInputSchema, BalanceHistoryResponse, BalanceRange, BalanceRangeSchema, EquityGroupBy, EquityGroupBySchema, EquityHistoryInput, EquityHistoryInputSchema, EquityHistoryResponse, EquitySeries, EquitySeriesGrouping, EquitySeriesSchema, LedgerBalance, createBalanceHistoryResponseSchema, createEquityHistoryResponseSchema, createLedgerBalanceSchema };
|
|
265
265
|
//# sourceMappingURL=balances.schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances.schemas.d.ts","names":[],"sources":["../../../src/services/balances/balances.schemas.ts"],"mappings":";;;;;;;;;;;;;iBAuCgB,6BAAyB,
|
|
1
|
+
{"version":3,"file":"balances.schemas.d.ts","names":[],"sources":["../../../src/services/balances/balances.schemas.ts"],"mappings":";;;;;;;;;;;;;iBAuCgB,6BAAyB,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+B7B,gBAAgB,qBAAE,YAAY,kBAAkB;cAQ/C,oBAAkB,qBAAA;KAEnB,eAAe,qBAAE,mBAAmB;cAInC,qBAAmB,qBAAA;KAEpB,gBAAgB,qBAAE,mBAAmB;cAEpC,2BAAyB,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;KA2B1B,sBAAsB,qBAAE,kBAAkB;iBAQtC,sCAAkC,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CtC,yBAAyB,qBAAE,YACnC,kBAAkB;cAGT,0BAAwB,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;KA2BzB,qBAAqB,qBAAE,kBAAkB;KAmBzC;EAEF;EACA,aAAa,YAAY;EACzB;;EAGA;EACA;EACA;;cAGG,oBAAkB,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKO,UAAA;EAA8B;;iBA6BpD,kCAAkC,QAAQ,YAAS,qBAAA,yBAAA,qBAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA7B7B,UAAA;IAA8B;;;;;;;;;;;IAA9B,UAAA;IAA8B;;;;;;;;;;;IAA9B,UAAA;IAA8B;;;;KAiExD,eAAe,qBAAE,mBAAmB;KACpC,wBAAwB,qBAAE,YAClC,kBAAkB"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { validation_exports } from "../../shared/validation.js";
|
|
1
2
|
import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
|
|
2
3
|
import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
|
|
3
4
|
import { BalanceRange } from "../../gen/ledger/read/v1/ledger_read_pb.js";
|
|
@@ -5,7 +6,6 @@ import { scaledToDecimalOutput } from "../../shared/decimal-surface.js";
|
|
|
5
6
|
import { fromU128 } from "../../utils/u128.js";
|
|
6
7
|
import { ACCOUNT_CODE_VALUES, AccountCodeCodec } from "../../shared/ledger-codes.js";
|
|
7
8
|
import { BalanceRangeCodec, EquityGroupByCodec } from "./balances.codecs.js";
|
|
8
|
-
import * as v from "valibot";
|
|
9
9
|
//#region src/services/balances/balances.schemas.ts
|
|
10
10
|
/**
|
|
11
11
|
* Equity history values are quoted in the response's quote currency at a fixed
|
|
@@ -17,9 +17,9 @@ const EQUITY_SCALE = 4;
|
|
|
17
17
|
* asset units scaled by 1e7"), unlike live ledger balances which use E18.
|
|
18
18
|
*/
|
|
19
19
|
const BALANCE_HISTORY_SCALE = 7;
|
|
20
|
-
const U128Schema =
|
|
21
|
-
hi:
|
|
22
|
-
lo:
|
|
20
|
+
const U128Schema = validation_exports.object({
|
|
21
|
+
hi: validation_exports.bigint(),
|
|
22
|
+
lo: validation_exports.bigint()
|
|
23
23
|
});
|
|
24
24
|
/**
|
|
25
25
|
* AssetBalance u128 fields on the ledger wire are always 18-decimal scaled
|
|
@@ -27,15 +27,15 @@ const U128Schema = v.object({
|
|
|
27
27
|
* elsewhere for order quantities and transfer inputs.
|
|
28
28
|
*/
|
|
29
29
|
function createLedgerBalanceSchema() {
|
|
30
|
-
return
|
|
31
|
-
assetId:
|
|
32
|
-
trading:
|
|
33
|
-
funding:
|
|
34
|
-
reserved:
|
|
35
|
-
available:
|
|
36
|
-
tradingRevision:
|
|
37
|
-
fundingRevision:
|
|
38
|
-
}),
|
|
30
|
+
return validation_exports.pipe(validation_exports.object({
|
|
31
|
+
assetId: validation_exports.number(),
|
|
32
|
+
trading: validation_exports.pipe(validation_exports.optional(U128Schema), validation_exports.transform(fromU128)),
|
|
33
|
+
funding: validation_exports.pipe(validation_exports.optional(U128Schema), validation_exports.transform(fromU128)),
|
|
34
|
+
reserved: validation_exports.pipe(validation_exports.optional(U128Schema), validation_exports.transform(fromU128)),
|
|
35
|
+
available: validation_exports.pipe(validation_exports.optional(U128Schema), validation_exports.transform(fromU128)),
|
|
36
|
+
tradingRevision: validation_exports.pipe(validation_exports.optional(validation_exports.bigint(), 0n), validation_exports.transform((value) => value.toString())),
|
|
37
|
+
fundingRevision: validation_exports.pipe(validation_exports.optional(validation_exports.bigint(), 0n), validation_exports.transform((value) => value.toString()))
|
|
38
|
+
}), validation_exports.transform((b) => {
|
|
39
39
|
return {
|
|
40
40
|
assetId: b.assetId,
|
|
41
41
|
funding: scaledToDecimalOutput(b.funding ?? 0n, 18),
|
|
@@ -47,7 +47,7 @@ function createLedgerBalanceSchema() {
|
|
|
47
47
|
};
|
|
48
48
|
}));
|
|
49
49
|
}
|
|
50
|
-
const BalancesListInputSchema =
|
|
50
|
+
const BalancesListInputSchema = validation_exports.strictObject(AccountScopeInputEntries);
|
|
51
51
|
const BALANCE_RANGES = [
|
|
52
52
|
"1d",
|
|
53
53
|
"7d",
|
|
@@ -56,32 +56,32 @@ const BALANCE_RANGES = [
|
|
|
56
56
|
"180d",
|
|
57
57
|
"365d"
|
|
58
58
|
];
|
|
59
|
-
const BalanceRangeSchema =
|
|
59
|
+
const BalanceRangeSchema = validation_exports.picklist(BALANCE_RANGES);
|
|
60
60
|
const EQUITY_GROUP_BYS = ["account", "asset"];
|
|
61
|
-
const EquityGroupBySchema =
|
|
62
|
-
const BalanceHistoryInputSchema =
|
|
61
|
+
const EquityGroupBySchema = validation_exports.picklist(EQUITY_GROUP_BYS);
|
|
62
|
+
const BalanceHistoryInputSchema = validation_exports.pipe(validation_exports.strictObject({
|
|
63
63
|
...AccountScopeInputEntries,
|
|
64
|
-
range:
|
|
65
|
-
ledger:
|
|
66
|
-
accountCodes:
|
|
67
|
-
}),
|
|
64
|
+
range: validation_exports.pipe(BalanceRangeSchema, validation_exports.transform((v) => BalanceRangeCodec.inputToProto[v])),
|
|
65
|
+
ledger: validation_exports.optional(validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.minValue(0), validation_exports.maxValue(4294967295)), 0),
|
|
66
|
+
accountCodes: validation_exports.optional(validation_exports.array(validation_exports.pipe(validation_exports.picklist(ACCOUNT_CODE_VALUES), validation_exports.transform((value) => AccountCodeCodec.inputToProto[value]))), [])
|
|
67
|
+
}), validation_exports.transform(({ account, ...input }) => ({
|
|
68
68
|
...input,
|
|
69
69
|
subaccountId: accountScopeToSubaccountId(account)
|
|
70
70
|
})));
|
|
71
|
-
const BalanceSeriesSchema =
|
|
72
|
-
assetId:
|
|
73
|
-
accountCode:
|
|
74
|
-
balanceQ:
|
|
71
|
+
const BalanceSeriesSchema = validation_exports.object({
|
|
72
|
+
assetId: validation_exports.number(),
|
|
73
|
+
accountCode: validation_exports.enum(AccountCodeCodec.inputToProto),
|
|
74
|
+
balanceQ: validation_exports.array(validation_exports.bigint())
|
|
75
75
|
});
|
|
76
76
|
function createBalanceHistoryResponseSchema() {
|
|
77
|
-
return
|
|
78
|
-
range:
|
|
79
|
-
bucket:
|
|
80
|
-
startTsSec:
|
|
81
|
-
endTsSec:
|
|
82
|
-
points:
|
|
83
|
-
series:
|
|
84
|
-
}),
|
|
77
|
+
return validation_exports.pipe(validation_exports.object({
|
|
78
|
+
range: validation_exports.pipe(validation_exports.enum(BalanceRange), validation_exports.transform((v) => requiredEnumLabel(BalanceRangeCodec.protoToOutput, v, "BalanceHistoryResponseSchema", "range"))),
|
|
79
|
+
bucket: validation_exports.string(),
|
|
80
|
+
startTsSec: validation_exports.number(),
|
|
81
|
+
endTsSec: validation_exports.number(),
|
|
82
|
+
points: validation_exports.number(),
|
|
83
|
+
series: validation_exports.array(BalanceSeriesSchema)
|
|
84
|
+
}), validation_exports.transform((data) => ({
|
|
85
85
|
range: data.range,
|
|
86
86
|
bucket: data.bucket,
|
|
87
87
|
startTsSec: data.startTsSec,
|
|
@@ -96,32 +96,32 @@ function createBalanceHistoryResponseSchema() {
|
|
|
96
96
|
})
|
|
97
97
|
})));
|
|
98
98
|
}
|
|
99
|
-
const EquityHistoryInputSchema =
|
|
99
|
+
const EquityHistoryInputSchema = validation_exports.pipe(validation_exports.strictObject({
|
|
100
100
|
...AccountScopeInputEntries,
|
|
101
|
-
range:
|
|
102
|
-
accountCodes:
|
|
103
|
-
groupBy:
|
|
104
|
-
}),
|
|
101
|
+
range: validation_exports.pipe(BalanceRangeSchema, validation_exports.transform((v) => BalanceRangeCodec.inputToProto[v])),
|
|
102
|
+
accountCodes: validation_exports.optional(validation_exports.array(validation_exports.pipe(validation_exports.picklist(ACCOUNT_CODE_VALUES), validation_exports.transform((value) => AccountCodeCodec.inputToProto[value]))), []),
|
|
103
|
+
groupBy: validation_exports.pipe(validation_exports.optional(EquityGroupBySchema, "account"), validation_exports.transform((v) => EquityGroupByCodec.inputToProto[v ?? "account"]))
|
|
104
|
+
}), validation_exports.transform(({ account, ...input }) => ({
|
|
105
105
|
...input,
|
|
106
106
|
subaccountId: accountScopeToSubaccountId(account)
|
|
107
107
|
})));
|
|
108
|
-
const EquitySeriesGroupingSchema =
|
|
109
|
-
case:
|
|
110
|
-
value:
|
|
111
|
-
accountCode:
|
|
112
|
-
name:
|
|
108
|
+
const EquitySeriesGroupingSchema = validation_exports.union([validation_exports.object({
|
|
109
|
+
case: validation_exports.literal("account"),
|
|
110
|
+
value: validation_exports.object({
|
|
111
|
+
accountCode: validation_exports.enum(AccountCodeCodec.inputToProto),
|
|
112
|
+
name: validation_exports.string()
|
|
113
113
|
})
|
|
114
|
-
}),
|
|
115
|
-
case:
|
|
116
|
-
value:
|
|
117
|
-
id:
|
|
118
|
-
symbol:
|
|
114
|
+
}), validation_exports.object({
|
|
115
|
+
case: validation_exports.literal("asset"),
|
|
116
|
+
value: validation_exports.object({
|
|
117
|
+
id: validation_exports.number(),
|
|
118
|
+
symbol: validation_exports.string()
|
|
119
119
|
})
|
|
120
120
|
})]);
|
|
121
|
-
const EquitySeriesSchema =
|
|
121
|
+
const EquitySeriesSchema = validation_exports.pipe(validation_exports.object({
|
|
122
122
|
grouping: EquitySeriesGroupingSchema,
|
|
123
|
-
equityQ:
|
|
124
|
-
}),
|
|
123
|
+
equityQ: validation_exports.array(validation_exports.bigint())
|
|
124
|
+
}), validation_exports.transform((series) => {
|
|
125
125
|
const equity = series.equityQ.map((value) => scaledToDecimalOutput(value, EQUITY_SCALE));
|
|
126
126
|
if (series.grouping.case === "account") return {
|
|
127
127
|
grouping: {
|
|
@@ -141,16 +141,16 @@ const EquitySeriesSchema = v.pipe(v.object({
|
|
|
141
141
|
};
|
|
142
142
|
}));
|
|
143
143
|
function createEquityHistoryResponseSchema(scales) {
|
|
144
|
-
return
|
|
145
|
-
range:
|
|
146
|
-
bucket:
|
|
147
|
-
startTsSec:
|
|
148
|
-
endTsSec:
|
|
149
|
-
quoteAsset:
|
|
150
|
-
points:
|
|
151
|
-
series:
|
|
152
|
-
btcPricesQ:
|
|
153
|
-
}),
|
|
144
|
+
return validation_exports.pipe(validation_exports.object({
|
|
145
|
+
range: validation_exports.pipe(validation_exports.enum(BalanceRange), validation_exports.transform((v) => requiredEnumLabel(BalanceRangeCodec.protoToOutput, v, "EquityHistoryResponseSchema", "range"))),
|
|
146
|
+
bucket: validation_exports.string(),
|
|
147
|
+
startTsSec: validation_exports.number(),
|
|
148
|
+
endTsSec: validation_exports.number(),
|
|
149
|
+
quoteAsset: validation_exports.string(),
|
|
150
|
+
points: validation_exports.number(),
|
|
151
|
+
series: validation_exports.array(EquitySeriesSchema),
|
|
152
|
+
btcPricesQ: validation_exports.optional(validation_exports.array(validation_exports.bigint()), [])
|
|
153
|
+
}), validation_exports.transform((data) => ({
|
|
154
154
|
range: data.range,
|
|
155
155
|
bucket: data.bucket,
|
|
156
156
|
startTsSec: data.startTsSec,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances.schemas.js","names":["Proto.BalanceRange"],"sources":["../../../src/services/balances/balances.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport { fromU128 } from \"../../utils/u128.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport * as Proto from \"../../gen/ledger/read/v1/ledger_read_pb.js\";\nimport {\n AccountCodeCodec,\n ACCOUNT_CODE_VALUES,\n type AccountCodeValue,\n} from \"../../shared/ledger-codes.js\";\nimport { E18_SCALE, scaledToDecimalOutput, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { BalanceRangeCodec, EquityGroupByCodec } from \"./balances.codecs.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\n\n/**\n * Equity history values are quoted in the response's quote currency at a fixed\n * 4-decimal wire scale (proto: \"Equity in quote currency scaled by 1e4\").\n */\nconst EQUITY_SCALE = 4;\n\n/**\n * Balance history buckets use a fixed 7-decimal scale (proto: \"balance in\n * asset units scaled by 1e7\"), unlike live ledger balances which use E18.\n */\nconst BALANCE_HISTORY_SCALE = 7;\n\nconst U128Schema = v.object({\n hi: v.bigint(),\n lo: v.bigint(),\n});\n\n/**\n * AssetBalance u128 fields on the ledger wire are always 18-decimal scaled\n * (PolyesterChain base units), independent of per-asset quantityScale used\n * elsewhere for order quantities and transfer inputs.\n */\nexport function createLedgerBalanceSchema() {\n return v.pipe(\n v.object({\n assetId: v.number(),\n trading: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n funding: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n reserved: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n available: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n tradingRevision: v.pipe(\n v.optional(v.bigint(), 0n),\n v.transform((value) => value.toString()),\n ),\n fundingRevision: v.pipe(\n v.optional(v.bigint(), 0n),\n v.transform((value) => value.toString()),\n ),\n }),\n v.transform((b) => {\n return {\n assetId: b.assetId,\n funding: scaledToDecimalOutput(b.funding ?? 0n, E18_SCALE),\n trading: scaledToDecimalOutput(b.trading ?? 0n, E18_SCALE),\n reserved: scaledToDecimalOutput(b.reserved ?? 0n, E18_SCALE),\n available: scaledToDecimalOutput(b.available ?? 0n, E18_SCALE),\n tradingRevision: b.tradingRevision,\n fundingRevision: b.fundingRevision,\n };\n }),\n );\n}\n\nexport type LedgerBalance = v.InferOutput<ReturnType<typeof createLedgerBalanceSchema>>;\n\nexport const BalancesListInputSchema = v.strictObject(AccountScopeInputEntries);\n\nexport type BalancesListInput = v.InferInput<typeof BalancesListInputSchema>;\n\nexport const BALANCE_RANGES = [\"1d\", \"7d\", \"30d\", \"90d\", \"180d\", \"365d\"] as const;\n\nexport const BalanceRangeSchema = v.picklist(BALANCE_RANGES);\n\nexport type BalanceRange = v.InferOutput<typeof BalanceRangeSchema>;\n\nexport const EQUITY_GROUP_BYS = [\"account\", \"asset\"] as const;\n\nexport const EquityGroupBySchema = v.picklist(EQUITY_GROUP_BYS);\n\nexport type EquityGroupBy = v.InferOutput<typeof EquityGroupBySchema>;\n\nexport const BalanceHistoryInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n range: v.pipe(\n BalanceRangeSchema,\n v.transform((v) => BalanceRangeCodec.inputToProto[v]),\n ),\n ledger: v.optional(v.number(), 0),\n accountCodes: v.optional(\n v.array(\n v.pipe(\n v.picklist(ACCOUNT_CODE_VALUES),\n v.transform((value) => AccountCodeCodec.inputToProto[value]),\n ),\n ),\n [],\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type BalanceHistoryInput = v.InferInput<typeof BalanceHistoryInputSchema>;\n\nconst BalanceSeriesSchema = v.object({\n assetId: v.number(),\n accountCode: v.enum(AccountCodeCodec.inputToProto),\n balanceQ: v.array(v.bigint()),\n});\n\nexport function createBalanceHistoryResponseSchema() {\n return v.pipe(\n v.object({\n range: v.pipe(\n v.enum(Proto.BalanceRange),\n v.transform((v) =>\n requiredEnumLabel(\n BalanceRangeCodec.protoToOutput,\n v,\n \"BalanceHistoryResponseSchema\",\n \"range\",\n ),\n ),\n ),\n bucket: v.string(),\n startTsSec: v.number(),\n endTsSec: v.number(),\n points: v.number(),\n series: v.array(BalanceSeriesSchema),\n }),\n v.transform((data) => ({\n range: data.range,\n bucket: data.bucket,\n startTsSec: data.startTsSec,\n endTsSec: data.endTsSec,\n points: data.points,\n series: data.series.map((s) => {\n return {\n assetId: s.assetId,\n accountCode: requiredEnumLabel(\n AccountCodeCodec.protoToOutput,\n s.accountCode,\n \"BalanceHistoryResponseSchema\",\n \"account code\",\n ),\n balance: s.balanceQ.map((b) => scaledToDecimalOutput(b, BALANCE_HISTORY_SCALE)),\n };\n }),\n })),\n );\n}\n\nexport type BalanceHistoryResponse = v.InferOutput<\n ReturnType<typeof createBalanceHistoryResponseSchema>\n>;\n\nexport const EquityHistoryInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n range: v.pipe(\n BalanceRangeSchema,\n v.transform((v) => BalanceRangeCodec.inputToProto[v]),\n ),\n accountCodes: v.optional(\n v.array(\n v.pipe(\n v.picklist(ACCOUNT_CODE_VALUES),\n v.transform((value) => AccountCodeCodec.inputToProto[value]),\n ),\n ),\n [],\n ),\n groupBy: v.pipe(\n v.optional(EquityGroupBySchema, \"account\"),\n v.transform((v) => EquityGroupByCodec.inputToProto[v ?? \"account\"]),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type EquityHistoryInput = v.InferInput<typeof EquityHistoryInputSchema>;\n\nconst EquitySeriesGroupingSchema = v.union([\n v.object({\n case: v.literal(\"account\"),\n value: v.object({\n accountCode: v.enum(AccountCodeCodec.inputToProto),\n name: v.string(),\n }),\n }),\n v.object({\n case: v.literal(\"asset\"),\n value: v.object({\n id: v.number(),\n symbol: v.string(),\n }),\n }),\n]);\n\nexport type EquitySeriesGrouping =\n | {\n type: \"account\";\n accountCode: DecodedEnum<AccountCodeValue>;\n name: string;\n }\n | {\n type: \"asset\";\n assetId: number;\n symbol: string;\n };\n\nexport const EquitySeriesSchema = v.pipe(\n v.object({\n grouping: EquitySeriesGroupingSchema,\n equityQ: v.array(v.bigint()),\n }),\n v.transform((series): { grouping: EquitySeriesGrouping; equity: string[] } => {\n const equity = series.equityQ.map((value) => scaledToDecimalOutput(value, EQUITY_SCALE));\n if (series.grouping.case === \"account\") {\n return {\n grouping: {\n type: \"account\",\n accountCode: requiredEnumLabel(\n AccountCodeCodec.protoToOutput,\n series.grouping.value.accountCode,\n \"EquitySeriesSchema\",\n \"account code\",\n ),\n name: series.grouping.value.name,\n },\n equity,\n };\n }\n\n return {\n grouping: {\n type: \"asset\",\n assetId: series.grouping.value.id,\n symbol: series.grouping.value.symbol,\n },\n equity,\n };\n }),\n);\n\nexport function createEquityHistoryResponseSchema(scales: SdkScales) {\n return v.pipe(\n v.object({\n range: v.pipe(\n v.enum(Proto.BalanceRange),\n v.transform((v) =>\n requiredEnumLabel(\n BalanceRangeCodec.protoToOutput,\n v,\n \"EquityHistoryResponseSchema\",\n \"range\",\n ),\n ),\n ),\n bucket: v.string(),\n startTsSec: v.number(),\n endTsSec: v.number(),\n quoteAsset: v.string(),\n points: v.number(),\n series: v.array(EquitySeriesSchema),\n btcPricesQ: v.optional(v.array(v.bigint()), []),\n }),\n v.transform((data) => ({\n range: data.range,\n bucket: data.bucket,\n startTsSec: data.startTsSec,\n endTsSec: data.endTsSec,\n quoteAsset: data.quoteAsset,\n points: data.points,\n series: data.series,\n // BTC price in USDT at each timestamp, carried as price ticks on the wire.\n btcPrices: data.btcPricesQ.map((value) => scaledToDecimalOutput(value, scales.price())),\n })),\n );\n}\n\nexport type EquitySeries = v.InferOutput<typeof EquitySeriesSchema>;\nexport type EquityHistoryResponse = v.InferOutput<\n ReturnType<typeof createEquityHistoryResponseSchema>\n>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"balances.schemas.js","names":["v","Proto.BalanceRange"],"sources":["../../../src/services/balances/balances.schemas.ts"],"sourcesContent":["import * as v from \"../../shared/validation.js\";\nimport { fromU128 } from \"../../utils/u128.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport * as Proto from \"../../gen/ledger/read/v1/ledger_read_pb.js\";\nimport {\n AccountCodeCodec,\n ACCOUNT_CODE_VALUES,\n type AccountCodeValue,\n} from \"../../shared/ledger-codes.js\";\nimport { E18_SCALE, scaledToDecimalOutput, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { BalanceRangeCodec, EquityGroupByCodec } from \"./balances.codecs.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\n\n/**\n * Equity history values are quoted in the response's quote currency at a fixed\n * 4-decimal wire scale (proto: \"Equity in quote currency scaled by 1e4\").\n */\nconst EQUITY_SCALE = 4;\n\n/**\n * Balance history buckets use a fixed 7-decimal scale (proto: \"balance in\n * asset units scaled by 1e7\"), unlike live ledger balances which use E18.\n */\nconst BALANCE_HISTORY_SCALE = 7;\n\nconst U128Schema = v.object({\n hi: v.bigint(),\n lo: v.bigint(),\n});\n\n/**\n * AssetBalance u128 fields on the ledger wire are always 18-decimal scaled\n * (PolyesterChain base units), independent of per-asset quantityScale used\n * elsewhere for order quantities and transfer inputs.\n */\nexport function createLedgerBalanceSchema() {\n return v.pipe(\n v.object({\n assetId: v.number(),\n trading: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n funding: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n reserved: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n available: v.pipe(v.optional(U128Schema), v.transform(fromU128)),\n tradingRevision: v.pipe(\n v.optional(v.bigint(), 0n),\n v.transform((value) => value.toString()),\n ),\n fundingRevision: v.pipe(\n v.optional(v.bigint(), 0n),\n v.transform((value) => value.toString()),\n ),\n }),\n v.transform((b) => {\n return {\n assetId: b.assetId,\n funding: scaledToDecimalOutput(b.funding ?? 0n, E18_SCALE),\n trading: scaledToDecimalOutput(b.trading ?? 0n, E18_SCALE),\n reserved: scaledToDecimalOutput(b.reserved ?? 0n, E18_SCALE),\n available: scaledToDecimalOutput(b.available ?? 0n, E18_SCALE),\n tradingRevision: b.tradingRevision,\n fundingRevision: b.fundingRevision,\n };\n }),\n );\n}\n\nexport type LedgerBalance = v.InferOutput<ReturnType<typeof createLedgerBalanceSchema>>;\n\nexport const BalancesListInputSchema = v.strictObject(AccountScopeInputEntries);\n\nexport type BalancesListInput = v.InferInput<typeof BalancesListInputSchema>;\n\nexport const BALANCE_RANGES = [\"1d\", \"7d\", \"30d\", \"90d\", \"180d\", \"365d\"] as const;\n\nexport const BalanceRangeSchema = v.picklist(BALANCE_RANGES);\n\nexport type BalanceRange = v.InferOutput<typeof BalanceRangeSchema>;\n\nexport const EQUITY_GROUP_BYS = [\"account\", \"asset\"] as const;\n\nexport const EquityGroupBySchema = v.picklist(EQUITY_GROUP_BYS);\n\nexport type EquityGroupBy = v.InferOutput<typeof EquityGroupBySchema>;\n\nexport const BalanceHistoryInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n range: v.pipe(\n BalanceRangeSchema,\n v.transform((v) => BalanceRangeCodec.inputToProto[v]),\n ),\n ledger: v.optional(\n v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(4_294_967_295)),\n 0,\n ),\n accountCodes: v.optional(\n v.array(\n v.pipe(\n v.picklist(ACCOUNT_CODE_VALUES),\n v.transform((value) => AccountCodeCodec.inputToProto[value]),\n ),\n ),\n [],\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type BalanceHistoryInput = v.InferInput<typeof BalanceHistoryInputSchema>;\n\nconst BalanceSeriesSchema = v.object({\n assetId: v.number(),\n accountCode: v.enum(AccountCodeCodec.inputToProto),\n balanceQ: v.array(v.bigint()),\n});\n\nexport function createBalanceHistoryResponseSchema() {\n return v.pipe(\n v.object({\n range: v.pipe(\n v.enum(Proto.BalanceRange),\n v.transform((v) =>\n requiredEnumLabel(\n BalanceRangeCodec.protoToOutput,\n v,\n \"BalanceHistoryResponseSchema\",\n \"range\",\n ),\n ),\n ),\n bucket: v.string(),\n startTsSec: v.number(),\n endTsSec: v.number(),\n points: v.number(),\n series: v.array(BalanceSeriesSchema),\n }),\n v.transform((data) => ({\n range: data.range,\n bucket: data.bucket,\n startTsSec: data.startTsSec,\n endTsSec: data.endTsSec,\n points: data.points,\n series: data.series.map((s) => {\n return {\n assetId: s.assetId,\n accountCode: requiredEnumLabel(\n AccountCodeCodec.protoToOutput,\n s.accountCode,\n \"BalanceHistoryResponseSchema\",\n \"account code\",\n ),\n balance: s.balanceQ.map((b) => scaledToDecimalOutput(b, BALANCE_HISTORY_SCALE)),\n };\n }),\n })),\n );\n}\n\nexport type BalanceHistoryResponse = v.InferOutput<\n ReturnType<typeof createBalanceHistoryResponseSchema>\n>;\n\nexport const EquityHistoryInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n range: v.pipe(\n BalanceRangeSchema,\n v.transform((v) => BalanceRangeCodec.inputToProto[v]),\n ),\n accountCodes: v.optional(\n v.array(\n v.pipe(\n v.picklist(ACCOUNT_CODE_VALUES),\n v.transform((value) => AccountCodeCodec.inputToProto[value]),\n ),\n ),\n [],\n ),\n groupBy: v.pipe(\n v.optional(EquityGroupBySchema, \"account\"),\n v.transform((v) => EquityGroupByCodec.inputToProto[v ?? \"account\"]),\n ),\n }),\n v.transform(({ account, ...input }) => ({\n ...input,\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type EquityHistoryInput = v.InferInput<typeof EquityHistoryInputSchema>;\n\nconst EquitySeriesGroupingSchema = v.union([\n v.object({\n case: v.literal(\"account\"),\n value: v.object({\n accountCode: v.enum(AccountCodeCodec.inputToProto),\n name: v.string(),\n }),\n }),\n v.object({\n case: v.literal(\"asset\"),\n value: v.object({\n id: v.number(),\n symbol: v.string(),\n }),\n }),\n]);\n\nexport type EquitySeriesGrouping =\n | {\n type: \"account\";\n accountCode: DecodedEnum<AccountCodeValue>;\n name: string;\n }\n | {\n type: \"asset\";\n assetId: number;\n symbol: string;\n };\n\nexport const EquitySeriesSchema = v.pipe(\n v.object({\n grouping: EquitySeriesGroupingSchema,\n equityQ: v.array(v.bigint()),\n }),\n v.transform((series): { grouping: EquitySeriesGrouping; equity: string[] } => {\n const equity = series.equityQ.map((value) => scaledToDecimalOutput(value, EQUITY_SCALE));\n if (series.grouping.case === \"account\") {\n return {\n grouping: {\n type: \"account\",\n accountCode: requiredEnumLabel(\n AccountCodeCodec.protoToOutput,\n series.grouping.value.accountCode,\n \"EquitySeriesSchema\",\n \"account code\",\n ),\n name: series.grouping.value.name,\n },\n equity,\n };\n }\n\n return {\n grouping: {\n type: \"asset\",\n assetId: series.grouping.value.id,\n symbol: series.grouping.value.symbol,\n },\n equity,\n };\n }),\n);\n\nexport function createEquityHistoryResponseSchema(scales: SdkScales) {\n return v.pipe(\n v.object({\n range: v.pipe(\n v.enum(Proto.BalanceRange),\n v.transform((v) =>\n requiredEnumLabel(\n BalanceRangeCodec.protoToOutput,\n v,\n \"EquityHistoryResponseSchema\",\n \"range\",\n ),\n ),\n ),\n bucket: v.string(),\n startTsSec: v.number(),\n endTsSec: v.number(),\n quoteAsset: v.string(),\n points: v.number(),\n series: v.array(EquitySeriesSchema),\n btcPricesQ: v.optional(v.array(v.bigint()), []),\n }),\n v.transform((data) => ({\n range: data.range,\n bucket: data.bucket,\n startTsSec: data.startTsSec,\n endTsSec: data.endTsSec,\n quoteAsset: data.quoteAsset,\n points: data.points,\n series: data.series,\n // BTC price in USDT at each timestamp, carried as price ticks on the wire.\n btcPrices: data.btcPricesQ.map((value) => scaledToDecimalOutput(value, scales.price())),\n })),\n );\n}\n\nexport type EquitySeries = v.InferOutput<typeof EquitySeriesSchema>;\nexport type EquityHistoryResponse = v.InferOutput<\n ReturnType<typeof createEquityHistoryResponseSchema>\n>;\n"],"mappings":"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"}
|