@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":"session.schemas.js","names":[
|
|
1
|
+
{"version":3,"file":"session.schemas.js","names":[],"sources":["../../../src/services/auth/session.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport type { SessionData } from \"./session.types.js\";\n\nexport const AuthLoginMethodSchema = v.picklist([\n \"google\",\n \"email\",\n \"metamask\",\n \"rabby\",\n \"phantom\",\n \"walletconnect\",\n]);\n\nexport const ActiveAccountInfoSchema = v.object({\n accountId: v.string(),\n isMain: v.boolean(),\n mainAccountId: v.string(),\n smartAccountAddress: v.optional(v.string()),\n label: v.optional(v.string()),\n});\n\nexport const SessionDataSchema = v.object({\n environmentFingerprint: v.string(),\n provider: v.picklist([\"metamask\", \"turnkey\", \"other\"]),\n loginMethod: v.nullable(AuthLoginMethodSchema),\n primaryWallet: v.string(),\n smartAccount: v.string(),\n activeAccount: v.optional(ActiveAccountInfoSchema),\n username: v.optional(v.string()),\n});\n\n/**\n * Parses raw session data into the SDK session shape.\n */\nexport function parseSessionData(value: unknown): SessionData | null {\n const parsed = v.safeParse(SessionDataSchema, value);\n return parsed.success ? parsed.output : null;\n}\n"],"mappings":";;AAGA,MAAa,wBAAwB,EAAE,SAAS;CAC5C;CACA;CACA;CACA;CACA;CACA;AACJ,CAAC;AAED,MAAa,0BAA0B,EAAE,OAAO;CAC5C,WAAW,EAAE,OAAO;CACpB,QAAQ,EAAE,QAAQ;CAClB,eAAe,EAAE,OAAO;CACxB,qBAAqB,EAAE,SAAS,EAAE,OAAO,CAAC;CAC1C,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC;AAChC,CAAC;AAED,MAAa,oBAAoB,EAAE,OAAO;CACtC,wBAAwB,EAAE,OAAO;CACjC,UAAU,EAAE,SAAS;EAAC;EAAY;EAAW;CAAO,CAAC;CACrD,aAAa,EAAE,SAAS,qBAAqB;CAC7C,eAAe,EAAE,OAAO;CACxB,cAAc,EAAE,OAAO;CACvB,eAAe,EAAE,SAAS,uBAAuB;CACjD,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC;AACnC,CAAC;;;;AAKD,SAAgB,iBAAiB,OAAoC;CACjE,MAAM,SAAS,EAAE,UAAU,mBAAmB,KAAK;CACnD,OAAO,OAAO,UAAU,OAAO,SAAS;AAC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances.d.ts","names":[],"sources":["../../../src/services/balances/balances.ts"],"mappings":";;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"balances.d.ts","names":[],"sources":["../../../src/services/balances/balances.ts"],"mappings":";;;;;;;;;;UA4BU,+BAA+B,mBAAmB;EACxD;;;;;cAMS;;EAUL,YAAA,WAAW,WACX,UAAU,mBACV,UAAU,gCACV,QAAQ;;;;EAcN,KACF,QAAO,oBACP,UAAU,0BACX,QAAQ;;;;EAgBL,kBACF,OAAO,qBACP,UAAU,0BACX,QAAQ;;;;EAWL,iBACF,OAAO,oBACP,UAAU,0BACX,QAAQ;;;;EAcX,UAAU,OAAO"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { parse
|
|
1
|
+
import { parse } from "../../shared/validation.js";
|
|
2
2
|
import { toConnectCallOptions } from "../../shared/request-options.js";
|
|
3
3
|
import { resolveAccountScopedInput } from "../subaccount-resolver.js";
|
|
4
4
|
import { accountScopeToSubaccountId } from "../../shared/account-scope.js";
|
|
@@ -7,6 +7,7 @@ import { publicationHandlerErrorContext } from "../../shared/subscription-errors
|
|
|
7
7
|
import { createReadyGate } from "../../shared/decimal-surface.js";
|
|
8
8
|
import { BalanceHistoryInputSchema, BalancesListInputSchema, EquityHistoryInputSchema, createBalanceHistoryResponseSchema, createEquityHistoryResponseSchema, createLedgerBalanceSchema } from "./balances.schemas.js";
|
|
9
9
|
import { createClient } from "@connectrpc/connect";
|
|
10
|
+
import * as v from "valibot";
|
|
10
11
|
//#region src/services/balances/balances.ts
|
|
11
12
|
/**
|
|
12
13
|
* Reads and streams ledger balances plus balance and equity history for the authenticated account scope.
|
|
@@ -36,7 +37,7 @@ var BalancesService = class {
|
|
|
36
37
|
const resolved = resolveAccountScopedInput(input, this.#resolver);
|
|
37
38
|
const validated = parse(BalancesListInputSchema, resolved);
|
|
38
39
|
const res = await this.#client.getBalances({ subaccountId: accountScopeToSubaccountId(validated.account) }, toConnectCallOptions(options));
|
|
39
|
-
return parse(
|
|
40
|
+
return parse(v.array(this.#ledgerBalanceSchema), res.balances);
|
|
40
41
|
}
|
|
41
42
|
/**
|
|
42
43
|
* Returns columnar balance history for the resolved account scope over a selected range, optionally filtered by a non-negative integer ledger asset ID and account buckets. Ledger 0 or omission includes all assets.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balances.js","names":["#client","Proto.LedgerReadService","#realtime","#resolver","#scales","#ledgerBalanceSchema","#balanceHistoryResponseSchema","#equityHistoryResponseSchema","
|
|
1
|
+
{"version":3,"file":"balances.js","names":["#client","Proto.LedgerReadService","#realtime","#resolver","#scales","#ledgerBalanceSchema","#balanceHistoryResponseSchema","#equityHistoryResponseSchema","Proto.AssetBalanceSchema"],"sources":["../../../src/services/balances/balances.ts"],"sourcesContent":["import * as Proto from \"../../gen/ledger/read/v1/ledger_read_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"valibot\";\nimport { parse } from \"../../shared/validation.js\";\nimport type { PolyesterRealtime } from \"../../realtime/index.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport {\n toConnectCallOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport { accountScopeToSubaccountId, type AccountScopedInput } from \"../../shared/account-scope.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n BalanceHistoryInputSchema,\n BalancesListInputSchema,\n EquityHistoryInputSchema,\n createBalanceHistoryResponseSchema,\n createEquityHistoryResponseSchema,\n createLedgerBalanceSchema,\n type LedgerBalance,\n type BalanceHistoryInput,\n type BalanceHistoryResponse,\n type EquityHistoryInput,\n type EquityHistoryResponse,\n} from \"./balances.schemas.js\";\n\ninterface SubscribeBalancesInput extends BaseSubscribeInput<LedgerBalance> {\n accountId: string;\n}\n\n/**\n * Reads and streams ledger balances plus balance and equity history for the authenticated account scope.\n */\nexport class BalancesService {\n #client: Client<typeof Proto.LedgerReadService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #ledgerBalanceSchema: ReturnType<typeof createLedgerBalanceSchema>;\n #balanceHistoryResponseSchema: ReturnType<typeof createBalanceHistoryResponseSchema>;\n #equityHistoryResponseSchema: ReturnType<typeof createEquityHistoryResponseSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#client = createClient(Proto.LedgerReadService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#ledgerBalanceSchema = createLedgerBalanceSchema();\n this.#balanceHistoryResponseSchema = createBalanceHistoryResponseSchema();\n this.#equityHistoryResponseSchema = createEquityHistoryResponseSchema(scales);\n }\n\n /**\n * Returns current asset balances for the resolved root account or subaccount, including trading, funding, reserved, and available amounts as decimal strings.\n */\n async list(\n input: AccountScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<LedgerBalance[]> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(BalancesListInputSchema, resolved);\n const res = await this.#client.getBalances(\n {\n subaccountId: accountScopeToSubaccountId(validated.account),\n },\n toConnectCallOptions(options),\n );\n return parse(v.array(this.#ledgerBalanceSchema), res.balances);\n }\n\n /**\n * Returns columnar balance history for the resolved account scope over a selected range, optionally filtered by a non-negative integer ledger asset ID and account buckets. Ledger 0 or omission includes all assets.\n */\n async getBalanceHistory(\n input: BalanceHistoryInput,\n options?: PolyesterRequestOptions,\n ): Promise<BalanceHistoryResponse> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(BalanceHistoryInputSchema, resolved);\n const res = await this.#client.getBalanceHistory(validated, toConnectCallOptions(options));\n return parse(this.#balanceHistoryResponseSchema, res);\n }\n\n /**\n * Returns equity history series for the resolved account scope over a selected range, optionally grouped by account or asset and filtered by account buckets.\n */\n async getEquityHistory(\n input: EquityHistoryInput,\n options?: PolyesterRequestOptions,\n ): Promise<EquityHistoryResponse> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validated = parse(EquityHistoryInputSchema, resolved);\n const res = await this.#client.getEquityHistorySeries(\n validated,\n toConnectCallOptions(options),\n );\n return parse(this.#equityHistoryResponseSchema, res);\n }\n\n /**\n * Subscribes to private balance updates on private:ledger:balances:{accountId}:proto and emits every balance record as a decimal-string row. Records for assets unknown to the catalog route a CatalogLookupError to onError.\n */\n subscribe(input: SubscribeBalancesInput): () => void {\n const channel = `private:ledger:balances:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.AssetBalanceSchema,\n onPublication: (data) => {\n gate.run(() => {\n const b = parse(this.#ledgerBalanceSchema, data);\n input.onEvent(b);\n });\n },\n onConnected: input.onOpen,\n onDisconnected: input.onClose,\n onError: input.onError,\n });\n }\n}\n"],"mappings":";;;;;;;;;;;;;;AAmCA,IAAa,kBAAb,MAA6B;CACzB;CACA;CACA;CACA;CACA;CACA;CACA;CAEA,YACI,WACA,UACA,UACA,QACF;EACE,KAAKA,UAAU,aAAaC,mBAAyB,SAAS;EAC9D,KAAKC,YAAY;EACjB,KAAKC,YAAY;EACjB,KAAKC,UAAU;EACf,KAAKC,uBAAuB,0BAA0B;EACtD,KAAKC,gCAAgC,mCAAmC;EACxE,KAAKC,+BAA+B,kCAAkC,MAAM;CAChF;;;;CAKA,MAAM,KACF,QAA4B,CAAC,GAC7B,SACwB;EACxB,MAAM,KAAKH,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,YAAY,MAAM,yBAAyB,QAAQ;EACzD,MAAM,MAAM,MAAM,KAAKH,QAAQ,YAC3B,EACI,cAAc,2BAA2B,UAAU,OAAO,EAC9D,GACA,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,EAAE,MAAM,KAAKK,oBAAoB,GAAG,IAAI,QAAQ;CACjE;;;;CAKA,MAAM,kBACF,OACA,SAC+B;EAC/B,MAAM,KAAKD,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,YAAY,MAAM,2BAA2B,QAAQ;EAC3D,MAAM,MAAM,MAAM,KAAKH,QAAQ,kBAAkB,WAAW,qBAAqB,OAAO,CAAC;EACzF,OAAO,MAAM,KAAKM,+BAA+B,GAAG;CACxD;;;;CAKA,MAAM,iBACF,OACA,SAC8B;EAC9B,MAAM,KAAKF,QAAQ,MAAM;EACzB,MAAM,WAAW,0BAA0B,OAAO,KAAKD,SAAS;EAChE,MAAM,YAAY,MAAM,0BAA0B,QAAQ;EAC1D,MAAM,MAAM,MAAM,KAAKH,QAAQ,uBAC3B,WACA,qBAAqB,OAAO,CAChC;EACA,OAAO,MAAM,KAAKO,8BAA8B,GAAG;CACvD;;;;CAKA,UAAU,OAA2C;EACjD,MAAM,UAAU,2BAA2B,MAAM,UAAU;EAC3D,MAAM,OAAO,sBACH,KAAKH,QAAQ,MAAM,IACxB,UAAU,MAAM,UAAU,+BAA+B,SAAS,KAAK,CAAC,CAC7E;EACA,OAAO,KAAKF,UAAU,oBAAoB;GACtC;GACA,QAAQM;GACR,gBAAgB,SAAS;IACrB,KAAK,UAAU;KACX,MAAM,IAAI,MAAM,KAAKH,sBAAsB,IAAI;KAC/C,MAAM,QAAQ,CAAC;IACnB,CAAC;GACL;GACA,aAAa,MAAM;GACnB,gBAAgB,MAAM;GACtB,SAAS,MAAM;EACnB,CAAC;CACL;AACJ"}
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
import { validation_d_exports } from "../../shared/validation.js";
|
|
2
1
|
import { AccountCode } from "../../gen/ledger/v1/catalog_pb.js";
|
|
3
2
|
import { BalanceRange as BalanceRange$1, EquityGroupBy as EquityGroupBy$1 } from "../../gen/ledger/read/v1/ledger_read_pb.js";
|
|
4
3
|
import { DecodedEnum } from "../../utils/types.js";
|
|
5
4
|
import { SdkScales } from "../../shared/decimal-surface.js";
|
|
6
5
|
import { U128Value } from "../../utils/u128.js";
|
|
7
6
|
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(): v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
15
|
+
readonly assetId: v.NumberSchema<undefined>;
|
|
16
|
+
readonly trading: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
17
|
+
readonly hi: v.BigintSchema<undefined>;
|
|
18
|
+
readonly lo: v.BigintSchema<undefined>;
|
|
19
|
+
}, undefined>, undefined>, v.TransformAction<U128Value | undefined, bigint>]>;
|
|
20
|
+
readonly funding: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
21
|
+
readonly hi: v.BigintSchema<undefined>;
|
|
22
|
+
readonly lo: v.BigintSchema<undefined>;
|
|
23
|
+
}, undefined>, undefined>, v.TransformAction<U128Value | undefined, bigint>]>;
|
|
24
|
+
readonly reserved: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
25
|
+
readonly hi: v.BigintSchema<undefined>;
|
|
26
|
+
readonly lo: v.BigintSchema<undefined>;
|
|
27
|
+
}, undefined>, undefined>, v.TransformAction<U128Value | undefined, bigint>]>;
|
|
28
|
+
readonly available: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
29
|
+
readonly hi: v.BigintSchema<undefined>;
|
|
30
|
+
readonly lo: v.BigintSchema<undefined>;
|
|
31
|
+
}, undefined>, undefined>, v.TransformAction<U128Value | undefined, bigint>]>;
|
|
32
|
+
readonly tradingRevision: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, 0n>, v.TransformAction<bigint, string>]>;
|
|
33
|
+
readonly fundingRevision: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, 0n>, v.TransformAction<bigint, string>]>;
|
|
34
|
+
}, undefined>, v.TransformAction<{
|
|
35
35
|
assetId: number;
|
|
36
36
|
trading?: bigint | undefined;
|
|
37
37
|
funding?: bigint | undefined;
|
|
@@ -48,19 +48,19 @@ declare function createLedgerBalanceSchema(): validation_d_exports.SchemaWithPip
|
|
|
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 = v.InferOutput<ReturnType<typeof createLedgerBalanceSchema>>;
|
|
52
|
+
declare const BalanceRangeSchema: v.PicklistSchema<readonly ["1d", "7d", "30d", "90d", "180d", "365d"], undefined>;
|
|
53
|
+
type BalanceRange = v.InferOutput<typeof BalanceRangeSchema>;
|
|
54
|
+
declare const EquityGroupBySchema: v.PicklistSchema<readonly ["account", "asset"], undefined>;
|
|
55
|
+
type EquityGroupBy = v.InferOutput<typeof EquityGroupBySchema>;
|
|
56
|
+
declare const BalanceHistoryInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
|
|
57
|
+
readonly range: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["1d", "7d", "30d", "90d", "180d", "365d"], undefined>, v.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: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>, 0>;
|
|
59
|
+
readonly accountCodes: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["funding", "trading"], undefined>, v.TransformAction<"funding" | "trading", AccountCode.FUNDING | AccountCode.TRADING>]>, undefined>, readonly []>;
|
|
60
|
+
readonly account: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<["active", "main"], undefined>, v.StrictObjectSchema<{
|
|
61
|
+
readonly subaccountId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
62
62
|
}, undefined>], undefined>, undefined>;
|
|
63
|
-
}, undefined>,
|
|
63
|
+
}, undefined>, v.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: validation_d_exports.SchemaWithPipe<rea
|
|
|
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 = v.InferInput<typeof BalanceHistoryInputSchema>;
|
|
77
|
+
declare function createBalanceHistoryResponseSchema(): v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
78
|
+
readonly range: v.SchemaWithPipe<readonly [v.EnumSchema<typeof BalanceRange$1, undefined>, v.TransformAction<BalanceRange$1, "unspecified" | "1d" | "7d" | "30d" | "90d" | "180d" | "365d">]>;
|
|
79
|
+
readonly bucket: v.StringSchema<undefined>;
|
|
80
|
+
readonly startTsSec: v.NumberSchema<undefined>;
|
|
81
|
+
readonly endTsSec: v.NumberSchema<undefined>;
|
|
82
|
+
readonly points: v.NumberSchema<undefined>;
|
|
83
|
+
readonly series: v.ArraySchema<v.ObjectSchema<{
|
|
84
|
+
readonly assetId: v.NumberSchema<undefined>;
|
|
85
|
+
readonly accountCode: v.EnumSchema<{
|
|
86
86
|
funding: AccountCode.FUNDING;
|
|
87
87
|
trading: AccountCode.TRADING;
|
|
88
88
|
}, undefined>;
|
|
89
|
-
readonly balanceQ:
|
|
89
|
+
readonly balanceQ: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
|
|
90
90
|
}, undefined>, undefined>;
|
|
91
|
-
}, undefined>,
|
|
91
|
+
}, undefined>, v.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(): validation_d_exports.Sche
|
|
|
96
96
|
points: number;
|
|
97
97
|
series: {
|
|
98
98
|
assetId: number;
|
|
99
|
-
accountCode:
|
|
99
|
+
accountCode: v.EnumValues<{
|
|
100
100
|
funding: AccountCode.FUNDING;
|
|
101
101
|
trading: AccountCode.TRADING;
|
|
102
102
|
}>;
|
|
@@ -114,15 +114,15 @@ declare function createBalanceHistoryResponseSchema(): validation_d_exports.Sche
|
|
|
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 = v.InferOutput<ReturnType<typeof createBalanceHistoryResponseSchema>>;
|
|
118
|
+
declare const EquityHistoryInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
|
|
119
|
+
readonly range: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["1d", "7d", "30d", "90d", "180d", "365d"], undefined>, v.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: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["funding", "trading"], undefined>, v.TransformAction<"funding" | "trading", AccountCode.FUNDING | AccountCode.TRADING>]>, undefined>, readonly []>;
|
|
121
|
+
readonly groupBy: v.SchemaWithPipe<readonly [v.OptionalSchema<v.PicklistSchema<readonly ["account", "asset"], undefined>, "account">, v.TransformAction<"account" | "asset", EquityGroupBy$1.GROUP_BY_ACCOUNT | EquityGroupBy$1.GROUP_BY_ASSET>]>;
|
|
122
|
+
readonly account: v.OptionalSchema<v.UnionSchema<[v.PicklistSchema<["active", "main"], undefined>, v.StrictObjectSchema<{
|
|
123
|
+
readonly subaccountId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
|
|
124
124
|
}, undefined>], undefined>, undefined>;
|
|
125
|
-
}, undefined>,
|
|
125
|
+
}, undefined>, v.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: validation_d_exports.SchemaWithPipe<read
|
|
|
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 = v.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: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
149
|
+
readonly grouping: v.UnionSchema<[v.ObjectSchema<{
|
|
150
|
+
readonly case: v.LiteralSchema<"account", undefined>;
|
|
151
|
+
readonly value: v.ObjectSchema<{
|
|
152
|
+
readonly accountCode: v.EnumSchema<{
|
|
153
153
|
funding: AccountCode.FUNDING;
|
|
154
154
|
trading: AccountCode.TRADING;
|
|
155
155
|
}, undefined>;
|
|
156
|
-
readonly name:
|
|
156
|
+
readonly name: v.StringSchema<undefined>;
|
|
157
157
|
}, undefined>;
|
|
158
|
-
}, undefined>,
|
|
159
|
-
readonly case:
|
|
160
|
-
readonly value:
|
|
161
|
-
readonly id:
|
|
162
|
-
readonly symbol:
|
|
158
|
+
}, undefined>, v.ObjectSchema<{
|
|
159
|
+
readonly case: v.LiteralSchema<"asset", undefined>;
|
|
160
|
+
readonly value: v.ObjectSchema<{
|
|
161
|
+
readonly id: v.NumberSchema<undefined>;
|
|
162
|
+
readonly symbol: v.StringSchema<undefined>;
|
|
163
163
|
}, undefined>;
|
|
164
164
|
}, undefined>], undefined>;
|
|
165
|
-
readonly equityQ:
|
|
166
|
-
}, undefined>,
|
|
165
|
+
readonly equityQ: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
|
|
166
|
+
}, undefined>, v.TransformAction<{
|
|
167
167
|
grouping: {
|
|
168
168
|
case: "account";
|
|
169
169
|
value: {
|
|
170
|
-
accountCode:
|
|
170
|
+
accountCode: v.EnumValues<{
|
|
171
171
|
funding: AccountCode.FUNDING;
|
|
172
172
|
trading: AccountCode.TRADING;
|
|
173
173
|
}>;
|
|
@@ -185,36 +185,36 @@ declare const EquitySeriesSchema: validation_d_exports.SchemaWithPipe<readonly [
|
|
|
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): v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
189
|
+
readonly range: v.SchemaWithPipe<readonly [v.EnumSchema<typeof BalanceRange$1, undefined>, v.TransformAction<BalanceRange$1, "unspecified" | "1d" | "7d" | "30d" | "90d" | "180d" | "365d">]>;
|
|
190
|
+
readonly bucket: v.StringSchema<undefined>;
|
|
191
|
+
readonly startTsSec: v.NumberSchema<undefined>;
|
|
192
|
+
readonly endTsSec: v.NumberSchema<undefined>;
|
|
193
|
+
readonly quoteAsset: v.StringSchema<undefined>;
|
|
194
|
+
readonly points: v.NumberSchema<undefined>;
|
|
195
|
+
readonly series: v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
196
|
+
readonly grouping: v.UnionSchema<[v.ObjectSchema<{
|
|
197
|
+
readonly case: v.LiteralSchema<"account", undefined>;
|
|
198
|
+
readonly value: v.ObjectSchema<{
|
|
199
|
+
readonly accountCode: v.EnumSchema<{
|
|
200
200
|
funding: AccountCode.FUNDING;
|
|
201
201
|
trading: AccountCode.TRADING;
|
|
202
202
|
}, undefined>;
|
|
203
|
-
readonly name:
|
|
203
|
+
readonly name: v.StringSchema<undefined>;
|
|
204
204
|
}, undefined>;
|
|
205
|
-
}, undefined>,
|
|
206
|
-
readonly case:
|
|
207
|
-
readonly value:
|
|
208
|
-
readonly id:
|
|
209
|
-
readonly symbol:
|
|
205
|
+
}, undefined>, v.ObjectSchema<{
|
|
206
|
+
readonly case: v.LiteralSchema<"asset", undefined>;
|
|
207
|
+
readonly value: v.ObjectSchema<{
|
|
208
|
+
readonly id: v.NumberSchema<undefined>;
|
|
209
|
+
readonly symbol: v.StringSchema<undefined>;
|
|
210
210
|
}, undefined>;
|
|
211
211
|
}, undefined>], undefined>;
|
|
212
|
-
readonly equityQ:
|
|
213
|
-
}, undefined>,
|
|
212
|
+
readonly equityQ: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
|
|
213
|
+
}, undefined>, v.TransformAction<{
|
|
214
214
|
grouping: {
|
|
215
215
|
case: "account";
|
|
216
216
|
value: {
|
|
217
|
-
accountCode:
|
|
217
|
+
accountCode: v.EnumValues<{
|
|
218
218
|
funding: AccountCode.FUNDING;
|
|
219
219
|
trading: AccountCode.TRADING;
|
|
220
220
|
}>;
|
|
@@ -232,8 +232,8 @@ declare function createEquityHistoryResponseSchema(scales: SdkScales): validatio
|
|
|
232
232
|
grouping: EquitySeriesGrouping;
|
|
233
233
|
equity: string[];
|
|
234
234
|
}>]>, undefined>;
|
|
235
|
-
readonly btcPricesQ:
|
|
236
|
-
}, undefined>,
|
|
235
|
+
readonly btcPricesQ: v.OptionalSchema<v.ArraySchema<v.BigintSchema<undefined>, undefined>, readonly []>;
|
|
236
|
+
}, undefined>, v.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): validatio
|
|
|
258
258
|
}[];
|
|
259
259
|
btcPrices: string[];
|
|
260
260
|
}>]>;
|
|
261
|
-
type EquitySeries =
|
|
262
|
-
type EquityHistoryResponse =
|
|
261
|
+
type EquitySeries = v.InferOutput<typeof EquitySeriesSchema>;
|
|
262
|
+
type EquityHistoryResponse = v.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,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA+B7B,gBAAgB,EAAE,YAAY,kBAAkB;cAQ/C,oBAAkB,EAAA;KAEnB,eAAe,EAAE,mBAAmB;cAInC,qBAAmB,EAAA;KAEpB,gBAAgB,EAAE,mBAAmB;cAEpC,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;KA2B1B,sBAAsB,EAAE,kBAAkB;iBAQtC,sCAAkC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0CtC,yBAAyB,EAAE,YACnC,kBAAkB;cAGT,0BAAwB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;KA2BzB,qBAAqB,EAAE,kBAAkB;KAmBzC;EAEF;EACA,aAAa,YAAY;EACzB;;EAGA;EACA;EACA;;cAGG,oBAAkB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAKO,UAAA;EAA8B;;iBA6BpD,kCAAkC,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA7B7B,UAAA;IAA8B;;;;;;;;;;;IAA9B,UAAA;IAA8B;;;;;;;;;;;IAA9B,UAAA;IAA8B;;;;KAiExD,eAAe,EAAE,mBAAmB;KACpC,wBAAwB,EAAE,YAClC,kBAAkB"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { validation_exports } from "../../shared/validation.js";
|
|
2
1
|
import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
|
|
3
2
|
import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
|
|
4
3
|
import { BalanceRange } from "../../gen/ledger/read/v1/ledger_read_pb.js";
|
|
@@ -6,6 +5,7 @@ import { scaledToDecimalOutput } from "../../shared/decimal-surface.js";
|
|
|
6
5
|
import { fromU128 } from "../../utils/u128.js";
|
|
7
6
|
import { ACCOUNT_CODE_VALUES, AccountCodeCodec } from "../../shared/ledger-codes.js";
|
|
8
7
|
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 = v.object({
|
|
21
|
+
hi: v.bigint(),
|
|
22
|
+
lo: v.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 = validation_exports.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 v.pipe(v.object({
|
|
31
|
+
assetId: v.number(),
|
|
32
|
+
trading: v.pipe(v.optional(U128Schema), v.transform(fromU128)),
|
|
33
|
+
funding: v.pipe(v.optional(U128Schema), v.transform(fromU128)),
|
|
34
|
+
reserved: v.pipe(v.optional(U128Schema), v.transform(fromU128)),
|
|
35
|
+
available: v.pipe(v.optional(U128Schema), v.transform(fromU128)),
|
|
36
|
+
tradingRevision: v.pipe(v.optional(v.bigint(), 0n), v.transform((value) => value.toString())),
|
|
37
|
+
fundingRevision: v.pipe(v.optional(v.bigint(), 0n), v.transform((value) => value.toString()))
|
|
38
|
+
}), v.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 = v.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 = v.picklist(BALANCE_RANGES);
|
|
60
60
|
const EQUITY_GROUP_BYS = ["account", "asset"];
|
|
61
|
-
const EquityGroupBySchema =
|
|
62
|
-
const BalanceHistoryInputSchema =
|
|
61
|
+
const EquityGroupBySchema = v.picklist(EQUITY_GROUP_BYS);
|
|
62
|
+
const BalanceHistoryInputSchema = v.pipe(v.strictObject({
|
|
63
63
|
...AccountScopeInputEntries,
|
|
64
|
-
range:
|
|
65
|
-
ledger:
|
|
66
|
-
accountCodes:
|
|
67
|
-
}),
|
|
64
|
+
range: v.pipe(BalanceRangeSchema, v.transform((v) => BalanceRangeCodec.inputToProto[v])),
|
|
65
|
+
ledger: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(4294967295)), 0),
|
|
66
|
+
accountCodes: v.optional(v.array(v.pipe(v.picklist(ACCOUNT_CODE_VALUES), v.transform((value) => AccountCodeCodec.inputToProto[value]))), [])
|
|
67
|
+
}), v.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 = v.object({
|
|
72
|
+
assetId: v.number(),
|
|
73
|
+
accountCode: v.enum(AccountCodeCodec.inputToProto),
|
|
74
|
+
balanceQ: v.array(v.bigint())
|
|
75
75
|
});
|
|
76
76
|
function createBalanceHistoryResponseSchema() {
|
|
77
|
-
return
|
|
78
|
-
range:
|
|
79
|
-
bucket:
|
|
80
|
-
startTsSec:
|
|
81
|
-
endTsSec:
|
|
82
|
-
points:
|
|
83
|
-
series:
|
|
84
|
-
}),
|
|
77
|
+
return v.pipe(v.object({
|
|
78
|
+
range: v.pipe(v.enum(BalanceRange), v.transform((v) => requiredEnumLabel(BalanceRangeCodec.protoToOutput, v, "BalanceHistoryResponseSchema", "range"))),
|
|
79
|
+
bucket: v.string(),
|
|
80
|
+
startTsSec: v.number(),
|
|
81
|
+
endTsSec: v.number(),
|
|
82
|
+
points: v.number(),
|
|
83
|
+
series: v.array(BalanceSeriesSchema)
|
|
84
|
+
}), v.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 = v.pipe(v.strictObject({
|
|
100
100
|
...AccountScopeInputEntries,
|
|
101
|
-
range:
|
|
102
|
-
accountCodes:
|
|
103
|
-
groupBy:
|
|
104
|
-
}),
|
|
101
|
+
range: v.pipe(BalanceRangeSchema, v.transform((v) => BalanceRangeCodec.inputToProto[v])),
|
|
102
|
+
accountCodes: v.optional(v.array(v.pipe(v.picklist(ACCOUNT_CODE_VALUES), v.transform((value) => AccountCodeCodec.inputToProto[value]))), []),
|
|
103
|
+
groupBy: v.pipe(v.optional(EquityGroupBySchema, "account"), v.transform((v) => EquityGroupByCodec.inputToProto[v ?? "account"]))
|
|
104
|
+
}), v.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 = v.union([v.object({
|
|
109
|
+
case: v.literal("account"),
|
|
110
|
+
value: v.object({
|
|
111
|
+
accountCode: v.enum(AccountCodeCodec.inputToProto),
|
|
112
|
+
name: v.string()
|
|
113
113
|
})
|
|
114
|
-
}),
|
|
115
|
-
case:
|
|
116
|
-
value:
|
|
117
|
-
id:
|
|
118
|
-
symbol:
|
|
114
|
+
}), v.object({
|
|
115
|
+
case: v.literal("asset"),
|
|
116
|
+
value: v.object({
|
|
117
|
+
id: v.number(),
|
|
118
|
+
symbol: v.string()
|
|
119
119
|
})
|
|
120
120
|
})]);
|
|
121
|
-
const EquitySeriesSchema =
|
|
121
|
+
const EquitySeriesSchema = v.pipe(v.object({
|
|
122
122
|
grouping: EquitySeriesGroupingSchema,
|
|
123
|
-
equityQ:
|
|
124
|
-
}),
|
|
123
|
+
equityQ: v.array(v.bigint())
|
|
124
|
+
}), v.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 = validation_exports.pipe(validation_exports.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 v.pipe(v.object({
|
|
145
|
+
range: v.pipe(v.enum(BalanceRange), v.transform((v) => requiredEnumLabel(BalanceRangeCodec.protoToOutput, v, "EquityHistoryResponseSchema", "range"))),
|
|
146
|
+
bucket: v.string(),
|
|
147
|
+
startTsSec: v.number(),
|
|
148
|
+
endTsSec: v.number(),
|
|
149
|
+
quoteAsset: v.string(),
|
|
150
|
+
points: v.number(),
|
|
151
|
+
series: v.array(EquitySeriesSchema),
|
|
152
|
+
btcPricesQ: v.optional(v.array(v.bigint()), [])
|
|
153
|
+
}), v.transform((data) => ({
|
|
154
154
|
range: data.range,
|
|
155
155
|
bucket: data.bucket,
|
|
156
156
|
startTsSec: data.startTsSec,
|