@polyester/sdk 0.24.0 → 0.25.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 +20 -0
- package/README.md +18 -12
- package/dist/account-signer/create-polyester-account-signer.d.ts +9 -5
- package/dist/account-signer/create-polyester-account-signer.d.ts.map +1 -1
- package/dist/account-signer/create-polyester-account-signer.js +9 -5
- package/dist/account-signer/create-polyester-account-signer.js.map +1 -1
- package/dist/account-signer/types.d.ts +10 -4
- package/dist/account-signer/types.d.ts.map +1 -1
- package/dist/account-signer/types.js.map +1 -1
- package/dist/core-client.d.ts +3 -0
- package/dist/core-client.d.ts.map +1 -1
- package/dist/core-client.js +23 -45
- package/dist/core-client.js.map +1 -1
- package/dist/gen/auth/v1/auth_pb.d.ts +7 -4
- package/dist/gen/auth/v1/auth_pb.d.ts.map +1 -1
- package/dist/gen/auth/v1/auth_pb.js.map +1 -1
- package/dist/gen/claims/v1/claims_pb.d.ts +313 -0
- package/dist/gen/claims/v1/claims_pb.d.ts.map +1 -0
- package/dist/gen/claims/v1/claims_pb.js +135 -0
- package/dist/gen/claims/v1/claims_pb.js.map +1 -0
- package/dist/gen/index.d.ts +2 -1
- package/dist/gen/index.js +2 -1
- package/dist/gen/orders/v1/orders_pb.d.ts +50 -3
- package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -1
- package/dist/gen/orders/v1/orders_pb.js +55 -43
- package/dist/gen/orders/v1/orders_pb.js.map +1 -1
- package/dist/gen/orders/v1/orders_read_pb.d.ts +10 -0
- package/dist/gen/orders/v1/orders_read_pb.d.ts.map +1 -1
- package/dist/gen/orders/v1/orders_read_pb.js +3 -1
- package/dist/gen/orders/v1/orders_read_pb.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/realtime/client.js +45 -26
- package/dist/realtime/client.js.map +1 -1
- package/dist/services/accounts/accounts.schemas.d.ts +2 -2
- package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
- package/dist/services/accounts/accounts.schemas.js +3 -3
- package/dist/services/accounts/accounts.schemas.js.map +1 -1
- package/dist/services/address-book/address-book.schemas.d.ts +67 -68
- package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
- package/dist/services/address-book/address-book.schemas.js +11 -13
- package/dist/services/address-book/address-book.schemas.js.map +1 -1
- package/dist/services/api-keys/api-keys.schemas.d.ts +1 -2
- package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
- package/dist/services/api-keys/api-keys.schemas.js +4 -9
- package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
- package/dist/services/auth/account-signer-auth.js +1 -1
- package/dist/services/auth/account-signer-auth.js.map +1 -1
- package/dist/services/auth/auth.d.ts +2 -3
- package/dist/services/auth/auth.d.ts.map +1 -1
- package/dist/services/auth/auth.js +4 -2
- package/dist/services/auth/auth.js.map +1 -1
- package/dist/services/balances/balances.schemas.d.ts +3 -3
- package/dist/services/balances/balances.schemas.d.ts.map +1 -1
- package/dist/services/balances/balances.schemas.js +7 -12
- package/dist/services/balances/balances.schemas.js.map +1 -1
- package/dist/services/candles/candles.schemas.d.ts +3 -3
- package/dist/services/candles/candles.schemas.d.ts.map +1 -1
- package/dist/services/candles/candles.schemas.js +5 -6
- package/dist/services/candles/candles.schemas.js.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +3 -3
- package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
- package/dist/services/chain-analytics/chain-analytics.schemas.js +2 -3
- package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
- package/dist/services/claims/claims.codecs.d.ts +8 -0
- package/dist/services/claims/claims.codecs.d.ts.map +1 -0
- package/dist/services/claims/claims.codecs.js +17 -0
- package/dist/services/claims/claims.codecs.js.map +1 -0
- package/dist/services/claims/claims.d.ts +19 -0
- package/dist/services/claims/claims.d.ts.map +1 -0
- package/dist/services/claims/claims.js +30 -0
- package/dist/services/claims/claims.js.map +1 -0
- package/dist/services/claims/claims.schemas.d.ts +122 -0
- package/dist/services/claims/claims.schemas.d.ts.map +1 -0
- package/dist/services/claims/claims.schemas.js +47 -0
- package/dist/services/claims/claims.schemas.js.map +1 -0
- package/dist/services/claims/claims.types.d.ts +3 -0
- package/dist/services/claims/index.d.ts +5 -0
- package/dist/services/heatmap/heatmap.schemas.d.ts +4 -4
- package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
- package/dist/services/heatmap/heatmap.schemas.js +10 -10
- package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
- package/dist/services/internal-transfers/internal-transfers.schemas.js +1 -5
- package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.d.ts +90 -90
- package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
- package/dist/services/lifecycle/lifecycle.schemas.js +10 -11
- package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts +1 -1
- package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
- package/dist/services/market-overview/market-overview.schemas.js +3 -3
- package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
- package/dist/services/mfa/mfa.schemas.d.ts +11 -11
- package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
- package/dist/services/mfa/mfa.schemas.js +4 -5
- package/dist/services/mfa/mfa.schemas.js.map +1 -1
- package/dist/services/orderbook/orderbook.schemas.d.ts +1 -1
- package/dist/services/orders/order-enums.codecs.js +2 -1
- package/dist/services/orders/order-enums.codecs.js.map +1 -1
- package/dist/services/orders/order-errors.schemas.d.ts +4 -5
- package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-batch.schemas.d.ts +110 -32
- package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-batch.schemas.js +9 -10
- package/dist/services/orders/orders-batch.schemas.js.map +1 -1
- package/dist/services/orders/orders-input.schemas.d.ts +111 -8
- package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-input.schemas.js +20 -4
- package/dist/services/orders/orders-input.schemas.js.map +1 -1
- package/dist/services/orders/orders-modify.schemas.d.ts +2 -2
- package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-modify.schemas.js +3 -3
- package/dist/services/orders/orders-modify.schemas.js.map +1 -1
- package/dist/services/orders/orders-output.schemas.d.ts +48 -32
- package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-output.schemas.js +16 -16
- package/dist/services/orders/orders-output.schemas.js.map +1 -1
- package/dist/services/orders/orders-risk.schemas.d.ts +0 -1
- package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
- package/dist/services/orders/orders-risk.schemas.js +4 -4
- package/dist/services/orders/orders-risk.schemas.js.map +1 -1
- package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +4 -4
- package/dist/services/policies/shared.codecs.js +3 -3
- package/dist/services/policies/shared.codecs.js.map +1 -1
- package/dist/services/policies/shared.d.ts +0 -1
- package/dist/services/policies/shared.d.ts.map +1 -1
- package/dist/services/policies/shared.js +2 -3
- package/dist/services/policies/shared.js.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +2 -2
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +2 -5
- package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
- package/dist/services/rate-limits/rate-limits.schemas.d.ts +6 -7
- package/dist/services/rate-limits/rate-limits.schemas.d.ts.map +1 -1
- package/dist/services/rate-limits/rate-limits.schemas.js +2 -3
- package/dist/services/rate-limits/rate-limits.schemas.js.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
- package/dist/services/social-verification/social-verification.schemas.js +4 -4
- package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.d.ts +23 -24
- package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
- package/dist/services/subaccounts/subaccounts.schemas.js +10 -12
- package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
- package/dist/services/trades/trades.schemas.d.ts +1 -1
- package/dist/services/trades/trades.schemas.d.ts.map +1 -1
- package/dist/services/trades/trades.schemas.js +4 -8
- package/dist/services/trades/trades.schemas.js.map +1 -1
- package/dist/services/transfers/transfers.schemas.d.ts +3 -4
- package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
- package/dist/services/transfers/transfers.schemas.js +5 -10
- package/dist/services/transfers/transfers.schemas.js.map +1 -1
- package/dist/services/triggers/trigger-input.schemas.d.ts +2 -2
- package/dist/services/triggers/triggers-output.schemas.d.ts +56 -58
- package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
- package/dist/services/triggers/triggers-output.schemas.js +34 -36
- package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
- package/dist/services/whiteboard/whiteboard.schemas.d.ts +42 -42
- package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
- package/dist/services/whiteboard/whiteboard.schemas.js +9 -10
- package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
- package/dist/shared/proto-enum-codec.js +11 -6
- package/dist/shared/proto-enum-codec.js.map +1 -1
- package/dist/shared/rate-limit.schemas.d.ts +4 -5
- package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
- package/dist/shared/rate-limit.schemas.js +41 -46
- package/dist/shared/rate-limit.schemas.js.map +1 -1
- package/dist/shared/schemas.js +5 -1
- package/dist/shared/schemas.js.map +1 -1
- package/dist/shared/transports.d.ts +5 -1
- package/dist/shared/transports.d.ts.map +1 -1
- package/dist/shared/transports.js.map +1 -1
- package/dist/utils/timestamp.js +8 -1
- package/dist/utils/timestamp.js.map +1 -1
- package/dist/wired-services.d.ts.map +1 -1
- package/dist/wired-services.js +2 -0
- package/dist/wired-services.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.schemas.d.ts","names":[],"sources":["../../../src/services/lifecycle/lifecycle.schemas.ts"],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"lifecycle.schemas.d.ts","names":[],"sources":["../../../src/services/lifecycle/lifecycle.schemas.ts"],"mappings":"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"}
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { enumLabelSchema } from "../../shared/proto-enum-codec.js";
|
|
2
2
|
import { idToBigInt } from "../../utils/base58-id.js";
|
|
3
3
|
import { PublicIdSchema } from "../../shared/schemas.js";
|
|
4
4
|
import { scaledToDecimalOutput } from "../../shared/decimal-surface.js";
|
|
5
|
-
import
|
|
6
|
-
import { FlowStep, FlowStepActivityKind, FlowTimelineStatus } from "../../gen/chain/lifecycle/v1/lifecycle_read_pb.js";
|
|
5
|
+
import "../../gen/chain/lifecycle/v1/types_pb.js";
|
|
7
6
|
import { LIFECYCLE_FLOW_KIND_VALUES, LIFECYCLE_FLOW_STATE_VALUES, LIFECYCLE_LIST_ORDER_BY_VALUES, LIFECYCLE_LIST_SCOPE_VALUES, LIFECYCLE_SORT_VALUES, LIFECYCLE_TX_LOOKUP_KIND_VALUES, LifecycleFlowDomainCodec, LifecycleFlowKindCodec, LifecycleFlowStateCodec, LifecycleFlowStepActivityKindCodec, LifecycleFlowStepCodec, LifecycleFlowTimelineStatusCodec, LifecycleListOrderByCodec, LifecycleListScopeCodec, LifecycleRequestFeeStatusCodec, LifecycleSortCodec, LifecycleSourceCodec, LifecycleTxLookupKindCodec, lifecycleReasonFromCode } from "./lifecycle.codecs.js";
|
|
8
7
|
import { fromU128 } from "../../utils/u128.js";
|
|
9
8
|
import * as v from "valibot";
|
|
@@ -84,13 +83,13 @@ const LifecycleAssetIdsSchema = v.object({
|
|
|
84
83
|
zippedAssetId: v.pipe(v.number(), v.integer(), v.minValue(0)),
|
|
85
84
|
unifiedAssetId: v.pipe(v.number(), v.integer(), v.minValue(0))
|
|
86
85
|
});
|
|
87
|
-
const LifecycleFlowStepEnumSchema =
|
|
88
|
-
const LifecycleSourceEnumSchema =
|
|
89
|
-
const LifecycleFlowKindEnumSchema =
|
|
90
|
-
const LifecycleFlowDomainEnumSchema =
|
|
91
|
-
|
|
92
|
-
const LifecycleFlowStepActivityKindEnumSchema =
|
|
93
|
-
const LifecycleFlowTimelineStatusEnumSchema =
|
|
86
|
+
const LifecycleFlowStepEnumSchema = enumLabelSchema(LifecycleFlowStepCodec.protoToOutput);
|
|
87
|
+
const LifecycleSourceEnumSchema = enumLabelSchema(LifecycleSourceCodec.protoToOutput);
|
|
88
|
+
const LifecycleFlowKindEnumSchema = enumLabelSchema(LifecycleFlowKindCodec.protoToOutput);
|
|
89
|
+
const LifecycleFlowDomainEnumSchema = enumLabelSchema(LifecycleFlowDomainCodec.protoToOutput);
|
|
90
|
+
enumLabelSchema(LifecycleFlowStateCodec.protoToOutput);
|
|
91
|
+
const LifecycleFlowStepActivityKindEnumSchema = enumLabelSchema(LifecycleFlowStepActivityKindCodec.protoToOutput);
|
|
92
|
+
const LifecycleFlowTimelineStatusEnumSchema = enumLabelSchema(LifecycleFlowTimelineStatusCodec.protoToOutput);
|
|
94
93
|
/**
|
|
95
94
|
* `REASON_UNSPECIFIED` (0) is the normal wire value for flows without a
|
|
96
95
|
* notable reason, so this schema accepts zero unlike the other lifecycle enum
|
|
@@ -100,7 +99,7 @@ const LifecycleFlowTimelineStatusEnumSchema = v.pipe(v.enum(FlowTimelineStatus),
|
|
|
100
99
|
* new reason codes.
|
|
101
100
|
*/
|
|
102
101
|
const LifecycleReasonEnumSchema = v.pipe(v.number(), v.integer(), v.minValue(0), v.transform((value) => lifecycleReasonFromCode(value)));
|
|
103
|
-
const LifecycleRequestFeeStatusEnumSchema =
|
|
102
|
+
const LifecycleRequestFeeStatusEnumSchema = enumLabelSchema(LifecycleRequestFeeStatusCodec.protoToOutput);
|
|
104
103
|
const LifecycleMsSchema = v.pipe(v.bigint(), v.transform((v) => Number(v)));
|
|
105
104
|
const LifecycleTxOccurrenceIndexSchema = v.pipe(v.optional(v.bigint()), v.transform((v) => Number(v ?? 0n)));
|
|
106
105
|
const LifecycleLedgerTransferIdSchema = v.optional(v.string(), "");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lifecycle.schemas.js","names":["ProtoRead.FlowStep","Proto.LifecycleSource","Proto.FlowKind","Proto.FlowDomain","Proto.FlowState","ProtoRead.FlowStepActivityKind","ProtoRead.FlowTimelineStatus","Proto.RequestFeeStatus"],"sources":["../../../src/services/lifecycle/lifecycle.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport * as Proto from \"../../gen/chain/lifecycle/v1/types_pb.js\";\nimport * as ProtoRead from \"../../gen/chain/lifecycle/v1/lifecycle_read_pb.js\";\nimport {\n LIFECYCLE_FLOW_KIND_VALUES,\n LIFECYCLE_FLOW_STATE_VALUES,\n LIFECYCLE_LIST_SCOPE_VALUES,\n LIFECYCLE_LIST_ORDER_BY_VALUES,\n LIFECYCLE_SORT_VALUES,\n LIFECYCLE_TX_LOOKUP_KIND_VALUES,\n LifecycleFlowDomainCodec,\n LifecycleFlowKindCodec,\n lifecycleReasonFromCode,\n LifecycleFlowStateCodec,\n LifecycleFlowStepActivityKindCodec,\n LifecycleFlowStepCodec,\n LifecycleFlowTimelineStatusCodec,\n LifecycleListOrderByCodec,\n LifecycleListScopeCodec,\n LifecycleRequestFeeStatusCodec,\n LifecycleSortCodec,\n LifecycleSourceCodec,\n LifecycleTxLookupKindCodec,\n type LifecycleReasonValue,\n type LifecycleListOrderByValue,\n type LifecycleListScopeValue,\n type LifecycleRequestFeeStatusValue,\n type LifecycleSortValue,\n type LifecycleTxLookupKindValue,\n} from \"./lifecycle.codecs.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport { fromU128 } from \"../../utils/u128.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { PublicIdSchema } from \"../../shared/schemas.js\";\nimport { E18_SCALE, scaledToDecimalOutput } from \"../../shared/decimal-surface.js\";\n\nconst FlowKindSchema = v.picklist(LIFECYCLE_FLOW_KIND_VALUES);\nconst FlowStateSchema = v.picklist(LIFECYCLE_FLOW_STATE_VALUES);\n\nconst canonicalTxHashPattern = /^0x[0-9a-fA-F]{64}$/;\nconst chainTxHexPattern = /^[0-9a-fA-F]{64}$/;\nconst chainNativeTxIdPattern = /^[A-Za-z0-9]{8,128}$/;\nconst smartAccountAddressPattern = /^0x[0-9a-fA-F]{40}$/;\nconst maxUint32 = 4_294_967_295;\n\nfunction isChainTxIdentifier(value: string): boolean {\n if (canonicalTxHashPattern.test(value)) return true;\n if (chainTxHexPattern.test(value)) return true;\n return chainNativeTxIdPattern.test(value);\n}\n\nfunction normalizeChainTxIdentifier(value: string): string {\n if (canonicalTxHashPattern.test(value)) return value.toLowerCase();\n // Preserve caller casing — XRP and other chains may be case-sensitive on the API.\n if (chainTxHexPattern.test(value)) return value;\n return value;\n}\n\nconst ChainTxIdentifierSchema = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1, \"txHash is required.\"),\n v.check(isChainTxIdentifier, \"txHash must be a valid EVM hash or chain-native transaction id.\"),\n v.transform(normalizeChainTxIdentifier),\n);\n\nconst AccountSelectorIdSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\nconst SmartAccountAddressSchema = v.pipe(\n v.string(),\n v.trim(),\n v.regex(smartAccountAddressPattern, \"smartAccountAddress must be a canonical 0x address.\"),\n);\n\nconst LifecycleAccountSelectorInputSchema = v.pipe(\n v.variant(\"kind\", [\n v.strictObject({\n kind: v.literal(\"accountId\"),\n accountId: AccountSelectorIdSchema,\n }),\n v.strictObject({\n kind: v.literal(\"ownerAccountId\"),\n ownerAccountId: AccountSelectorIdSchema,\n }),\n v.strictObject({\n kind: v.literal(\"smartAccountAddress\"),\n smartAccountAddress: SmartAccountAddressSchema,\n }),\n ]),\n v.transform((selector) => {\n switch (selector.kind) {\n case \"accountId\":\n return {\n case: \"ownerAccountId\" as const,\n value: idToBigInt(selector.accountId, \"accountId\"),\n };\n case \"ownerAccountId\":\n return {\n case: \"ownerAccountId\" as const,\n value: idToBigInt(selector.ownerAccountId, \"ownerAccountId\"),\n };\n case \"smartAccountAddress\":\n return {\n case: \"smartAccountAddress\" as const,\n value: selector.smartAccountAddress,\n };\n }\n }),\n);\n\nconst Uint32Schema = v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(maxUint32));\n\nconst LifecycleU128RawSchema = v.object({\n hi: v.bigint(),\n lo: v.bigint(),\n});\n\n/**\n * Wire `amount_e18` u128 → public decimal string. On-chain unified-asset\n * amounts are always 18-decimal scaled, so the conversion uses the constant\n * E18 scale and needs no catalog access.\n */\nconst LifecycleAmountSchema = v.pipe(\n LifecycleU128RawSchema,\n v.transform((v) => scaledToDecimalOutput(fromU128(v), E18_SCALE)),\n);\n\n/**\n * Renames the wire `amountE18` key to the public decimal `amount` field.\n * Preserves optional semantics exactly: when the wire field is unset, the\n * output carries no `amount` key.\n */\nfunction renameAmountE18<T extends { amountE18?: string }>(\n value: T,\n): Omit<T, \"amountE18\"> & { amount?: string } {\n const { amountE18, ...rest } = value;\n return amountE18 === undefined ? rest : { ...rest, amount: amountE18 };\n}\n\nconst LifecycleAssetIdsSchema = v.object({\n zippedAssetId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n unifiedAssetId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n});\n\nconst LifecycleFlowStepEnumSchema = v.pipe(\n v.enum(ProtoRead.FlowStep),\n v.transform((v) =>\n requiredEnumLabel(\n LifecycleFlowStepCodec.protoToOutput,\n v,\n \"LifecycleFlowStepSchema\",\n \"step\",\n ),\n ),\n);\nconst LifecycleSourceEnumSchema = v.pipe(\n v.enum(Proto.LifecycleSource),\n v.transform((v) =>\n requiredEnumLabel(LifecycleSourceCodec.protoToOutput, v, \"LifecycleSourceSchema\", \"source\"),\n ),\n);\nconst LifecycleFlowKindEnumSchema = v.pipe(\n v.enum(Proto.FlowKind),\n v.transform((v) =>\n requiredEnumLabel(\n LifecycleFlowKindCodec.protoToOutput,\n v,\n \"LifecycleFlowKindSchema\",\n \"flow kind\",\n ),\n ),\n);\n\nconst LifecycleFlowDomainEnumSchema = v.pipe(\n v.enum(Proto.FlowDomain),\n v.transform((v) =>\n requiredEnumLabel(\n LifecycleFlowDomainCodec.protoToOutput,\n v,\n \"LifecycleFlowDomainSchema\",\n \"flow domain\",\n ),\n ),\n);\nconst LifecycleFlowStateEnumSchema = v.pipe(\n v.enum(Proto.FlowState),\n v.transform((v) =>\n requiredEnumLabel(\n LifecycleFlowStateCodec.protoToOutput,\n v,\n \"LifecycleFlowStateSchema\",\n \"flow state\",\n ),\n ),\n);\nconst LifecycleFlowStepActivityKindEnumSchema = v.pipe(\n v.enum(ProtoRead.FlowStepActivityKind),\n v.transform((v) =>\n requiredEnumLabel(\n LifecycleFlowStepActivityKindCodec.protoToOutput,\n v,\n \"LifecycleFlowStepActivityKindSchema\",\n \"activity kind\",\n ),\n ),\n);\nconst LifecycleFlowTimelineStatusEnumSchema = v.pipe(\n v.enum(ProtoRead.FlowTimelineStatus),\n v.transform((v) =>\n requiredEnumLabel(\n LifecycleFlowTimelineStatusCodec.protoToOutput,\n v,\n \"LifecycleFlowTimelineStatusSchema\",\n \"timeline status\",\n ),\n ),\n);\n/**\n * `REASON_UNSPECIFIED` (0) is the normal wire value for flows without a\n * notable reason, so this schema accepts zero unlike the other lifecycle enum\n * schemas. The catalog also grows on the backend ahead of SDK regeneration, so\n * uncataloged codes decode to `unknown_reason_${code}` instead of rejecting the whole flow —\n * a strict enum here froze failed flows out of the UI when the backend shipped\n * new reason codes.\n */\nconst LifecycleReasonEnumSchema = v.pipe(\n v.number(),\n v.integer(),\n v.minValue(0),\n v.transform((value) => lifecycleReasonFromCode(value)),\n);\nconst LifecycleRequestFeeStatusEnumSchema = v.pipe(\n v.enum(Proto.RequestFeeStatus),\n v.transform((v) =>\n requiredEnumLabel(\n LifecycleRequestFeeStatusCodec.protoToOutput,\n v,\n \"LifecycleRequestFeeStatusSchema\",\n \"request fee status\",\n ),\n ),\n);\nconst LifecycleMsSchema = v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n);\nconst LifecycleTxOccurrenceIndexSchema = v.pipe(\n v.optional(v.bigint()),\n v.transform((v) => Number(v ?? 0n)),\n);\nconst LifecycleLedgerTransferIdSchema = v.optional(v.string(), \"\");\nconst LifecycleZipperReasonSchema = v.object({\n code: v.pipe(v.number(), v.integer(), v.minValue(0)),\n reasonId: v.string(),\n message: v.string(),\n});\n\nexport const ListLifecycleFlowsInputSchema = v.pipe(\n v.strictObject({\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(500)), 100),\n sort: v.pipe(\n v.optional(v.picklist(LIFECYCLE_SORT_VALUES), \"newest\"),\n v.transform((value) => LifecycleSortCodec.inputToProto[value]),\n ),\n flowKind: v.pipe(\n v.optional(FlowKindSchema),\n v.transform((v) =>\n v ? LifecycleFlowKindCodec.inputToProto[v] : Proto.FlowKind.KIND_UNSPECIFIED,\n ),\n ),\n flowState: v.pipe(\n v.optional(FlowStateSchema),\n v.transform((v) =>\n v ? LifecycleFlowStateCodec.inputToProto[v] : Proto.FlowState.STATE_UNSPECIFIED,\n ),\n ),\n txRef: v.optional(ChainTxIdentifierSchema),\n scope: v.pipe(\n v.optional(v.picklist(LIFECYCLE_LIST_SCOPE_VALUES), \"all\"),\n v.transform((v) => LifecycleListScopeCodec.inputToProto[v ?? \"all\"]),\n ),\n accountSelector: v.optional(LifecycleAccountSelectorInputSchema),\n polyesterChainIds: v.optional(v.array(Uint32Schema)),\n zippedAssetIds: v.optional(v.array(Uint32Schema)),\n unifiedAssetIds: v.optional(v.array(Uint32Schema)),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n orderBy: v.pipe(\n v.optional(v.picklist(LIFECYCLE_LIST_ORDER_BY_VALUES), \"last_activity\"),\n v.transform((value) => LifecycleListOrderByCodec.inputToProto[value]),\n ),\n }),\n v.transform((value) => {\n return {\n limit: value.limit,\n sort: value.sort,\n flowKind: value.flowKind,\n flowState: value.flowState,\n txRef: value.txRef,\n scope: value.scope,\n accountSelector: value.accountSelector,\n polyesterChainIds: value.polyesterChainIds,\n zippedAssetIds: value.zippedAssetIds,\n unifiedAssetIds: value.unifiedAssetIds,\n pageToken: value.pageToken,\n orderBy: value.orderBy,\n };\n }),\n);\n\nexport const LifecycleRequestFeeSchema = v.pipe(\n v.object({\n assetIds: v.optional(LifecycleAssetIdsSchema),\n amountE18: v.optional(LifecycleAmountSchema),\n recipientAddress: v.string(),\n status: LifecycleRequestFeeStatusEnumSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleRequestFeeSchema() {\n return LifecycleRequestFeeSchema;\n}\n\nexport const GetLifecycleFlowInputSchema = v.pipe(\n v.strictObject({\n flowId: v.pipe(v.string(), v.trim(), v.minLength(1, \"flowId is required.\")),\n }),\n v.transform((value) => ({\n flowId: value.flowId,\n })),\n);\n\nexport const ListLifecycleFlowsByTxInputSchema = v.strictObject({\n txHash: ChainTxIdentifierSchema,\n lookupKind: v.pipe(\n v.picklist(LIFECYCLE_TX_LOOKUP_KIND_VALUES),\n v.transform((v) => LifecycleTxLookupKindCodec.inputToProto[v]),\n ),\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(500)), 100),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n});\n\nexport const LifecycleFlowStepActivitySchema = v.pipe(\n v.object({\n sequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n txRef: v.string(),\n occurredAtUnixMs: LifecycleMsSchema,\n lifecycleSource: LifecycleSourceEnumSchema,\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n currentConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n approveCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n rejectCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n validatorCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n kind: LifecycleFlowStepActivityKindEnumSchema,\n requiredApprovals: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredRejections: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n ledgerTransferId: LifecycleLedgerTransferIdSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport const LifecycleFlowStepSchema = v.pipe(\n v.object({\n sequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n step: LifecycleFlowStepEnumSchema,\n assetIds: v.optional(LifecycleAssetIdsSchema),\n polyesterChainId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n requestFee: v.optional(LifecycleRequestFeeSchema),\n milestoneTxRef: v.string(),\n lifecycleSource: LifecycleSourceEnumSchema,\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n currentConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n approveCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n rejectCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n validatorCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredApprovals: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredRejections: v.pipe(v.number(), v.integer(), v.minValue(0)),\n occurredAtUnixMs: LifecycleMsSchema,\n blockTimeMovingAverageMs: LifecycleMsSchema,\n activities: v.optional(v.array(LifecycleFlowStepActivitySchema), []),\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleFlowStepSchema() {\n return LifecycleFlowStepSchema;\n}\n\nexport const LifecycleFlowTimelineItemSchema = v.object({\n sequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n step: LifecycleFlowStepEnumSchema,\n status: LifecycleFlowTimelineStatusEnumSchema,\n expectedDurationMs: LifecycleMsSchema,\n});\n\nexport const LifecycleFlowSummaryProgressSchema = v.object({\n currentStepStartedAtUnixMs: LifecycleMsSchema,\n currentStepExpectedDurationMs: LifecycleMsSchema,\n currentConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n approveCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n rejectCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n validatorCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredApprovals: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredRejections: v.pipe(v.number(), v.integer(), v.minValue(0)),\n});\n\nexport const LifecycleFlowSummarySchema = v.pipe(\n v.object({\n ownerAccountId: PublicIdSchema,\n smartAccountAddress: v.string(),\n flowId: v.string(),\n flowKind: LifecycleFlowKindEnumSchema,\n currentStep: LifecycleFlowStepEnumSchema,\n assetIds: v.optional(LifecycleAssetIdsSchema),\n polyesterChainId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n requestFee: v.optional(LifecycleRequestFeeSchema),\n sourceTxHash: v.string(),\n txOccurrenceIndex: LifecycleTxOccurrenceIndexSchema,\n sourceAddress: v.string(),\n destinationAddress: v.string(),\n sourceDomain: LifecycleFlowDomainEnumSchema,\n destinationDomain: LifecycleFlowDomainEnumSchema,\n latestTxRef: v.string(),\n latestLifecycleSource: LifecycleSourceEnumSchema,\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n startedAtUnixMs: LifecycleMsSchema,\n updatedAtUnixMs: LifecycleMsSchema,\n terminalAtUnixMs: LifecycleMsSchema,\n lastActivityAtUnixMs: LifecycleMsSchema,\n isOpen: v.boolean(),\n isTerminal: v.boolean(),\n currentStepSequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n currentProgress: v.optional(LifecycleFlowSummaryProgressSchema),\n progressTimeline: v.optional(v.array(LifecycleFlowTimelineItemSchema), []),\n estimatedCompletionUnixMs: LifecycleMsSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleFlowSummarySchema() {\n return LifecycleFlowSummarySchema;\n}\n\nexport const LifecycleFlowDetailSchema = v.object({\n summary: v.optional(LifecycleFlowSummarySchema),\n observedSteps: v.optional(v.array(LifecycleFlowStepSchema), []),\n fromLiveState: v.boolean(),\n});\n\nexport function createLifecycleFlowDetailSchema() {\n return LifecycleFlowDetailSchema;\n}\n\nexport const ListLifecycleFlowsOutputSchema = v.object({\n flows: v.optional(v.array(LifecycleFlowSummarySchema), []),\n nextPageToken: v.optional(v.string(), \"\"),\n});\n\nexport function createListLifecycleFlowsOutputSchema() {\n return ListLifecycleFlowsOutputSchema;\n}\n\nexport const GetLifecycleFlowOutputSchema = v.object({\n flow: v.optional(LifecycleFlowDetailSchema),\n});\n\nexport function createGetLifecycleFlowOutputSchema() {\n return GetLifecycleFlowOutputSchema;\n}\n\nexport const LifecycleFlowTxMatchSchema = v.pipe(\n v.object({\n ownerAccountId: PublicIdSchema,\n smartAccountAddress: v.string(),\n flowId: v.string(),\n flowKind: LifecycleFlowKindEnumSchema,\n sourceTxHash: v.string(),\n latestTxRef: v.string(),\n txOccurrenceIndex: LifecycleTxOccurrenceIndexSchema,\n sourceDomain: LifecycleFlowDomainEnumSchema,\n destinationDomain: LifecycleFlowDomainEnumSchema,\n currentStep: LifecycleFlowStepEnumSchema,\n isOpen: v.boolean(),\n isTerminal: v.boolean(),\n assetIds: v.optional(LifecycleAssetIdsSchema),\n polyesterChainId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n sourceAddress: v.string(),\n destinationAddress: v.string(),\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n lastActivityAtUnixMs: LifecycleMsSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleFlowTxMatchSchema() {\n return LifecycleFlowTxMatchSchema;\n}\n\nexport const ListLifecycleFlowsByTxOutputSchema = v.object({\n txHash: v.string(),\n matches: v.optional(v.array(LifecycleFlowTxMatchSchema), []),\n nextPageToken: v.optional(v.string(), \"\"),\n});\n\nexport function createListLifecycleFlowsByTxOutputSchema() {\n return ListLifecycleFlowsByTxOutputSchema;\n}\n\nexport type ListLifecycleFlowsInput = v.InferInput<typeof ListLifecycleFlowsInputSchema>;\nexport type ParsedListLifecycleFlowsInput = v.InferOutput<typeof ListLifecycleFlowsInputSchema>;\n\nexport type GetLifecycleFlowInput = v.InferInput<typeof GetLifecycleFlowInputSchema>;\nexport type ParsedGetLifecycleFlowInput = v.InferOutput<typeof GetLifecycleFlowInputSchema>;\n\nexport type ListLifecycleFlowsByTxInput = v.InferInput<typeof ListLifecycleFlowsByTxInputSchema>;\nexport type ParsedListLifecycleFlowsByTxInput = v.InferOutput<\n typeof ListLifecycleFlowsByTxInputSchema\n>;\n\nexport type LifecycleFlowSummary = v.InferOutput<typeof LifecycleFlowSummarySchema>;\nexport type LifecycleFlowStep = v.InferOutput<typeof LifecycleFlowStepSchema>;\nexport type LifecycleFlowStepActivity = v.InferOutput<typeof LifecycleFlowStepActivitySchema>;\nexport type LifecycleFlowTimelineItem = v.InferOutput<typeof LifecycleFlowTimelineItemSchema>;\nexport type LifecycleFlowDetail = v.InferOutput<typeof LifecycleFlowDetailSchema>;\n\nexport type ListLifecycleFlowsOutput = v.InferOutput<typeof ListLifecycleFlowsOutputSchema>;\nexport type GetLifecycleFlowOutput = v.InferOutput<typeof GetLifecycleFlowOutputSchema>;\nexport type ListLifecycleFlowsByTxOutput = v.InferOutput<typeof ListLifecycleFlowsByTxOutputSchema>;\n\nexport type LifecycleAssetIds = v.InferOutput<typeof LifecycleAssetIdsSchema>;\nexport type LifecycleRequestFee = v.InferOutput<typeof LifecycleRequestFeeSchema>;\n\nexport type LifecycleFlowSummaryProgress = v.InferOutput<typeof LifecycleFlowSummaryProgressSchema>;\nexport type LifecycleFlowState = v.InferOutput<typeof LifecycleFlowStateEnumSchema>;\nexport type LifecycleReason = LifecycleReasonValue;\nexport type LifecycleZipperReason = v.InferOutput<typeof LifecycleZipperReasonSchema>;\nexport type LifecycleListOrderBy = LifecycleListOrderByValue;\nexport type LifecycleListScope = LifecycleListScopeValue;\nexport type LifecycleSort = LifecycleSortValue;\nexport type LifecycleTxLookupKind = LifecycleTxLookupKindValue;\nexport type LifecycleRequestFeeStatus = LifecycleRequestFeeStatusValue;\n\nexport type LifecycleFlowTxMatch = v.InferOutput<typeof LifecycleFlowTxMatchSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lifecycle.schemas.js","names":[],"sources":["../../../src/services/lifecycle/lifecycle.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport * as Proto from \"../../gen/chain/lifecycle/v1/types_pb.js\";\nimport {\n LIFECYCLE_FLOW_KIND_VALUES,\n LIFECYCLE_FLOW_STATE_VALUES,\n LIFECYCLE_LIST_SCOPE_VALUES,\n LIFECYCLE_LIST_ORDER_BY_VALUES,\n LIFECYCLE_SORT_VALUES,\n LIFECYCLE_TX_LOOKUP_KIND_VALUES,\n LifecycleFlowDomainCodec,\n LifecycleFlowKindCodec,\n lifecycleReasonFromCode,\n LifecycleFlowStateCodec,\n LifecycleFlowStepActivityKindCodec,\n LifecycleFlowStepCodec,\n LifecycleFlowTimelineStatusCodec,\n LifecycleListOrderByCodec,\n LifecycleListScopeCodec,\n LifecycleRequestFeeStatusCodec,\n LifecycleSortCodec,\n LifecycleSourceCodec,\n LifecycleTxLookupKindCodec,\n type LifecycleReasonValue,\n type LifecycleListOrderByValue,\n type LifecycleListScopeValue,\n type LifecycleRequestFeeStatusValue,\n type LifecycleSortValue,\n type LifecycleTxLookupKindValue,\n} from \"./lifecycle.codecs.js\";\nimport { idToBigInt } from \"../../utils/base58-id.js\";\nimport { fromU128 } from \"../../utils/u128.js\";\nimport { enumLabelSchema } from \"../../shared/proto-enum-codec.js\";\nimport { PublicIdSchema } from \"../../shared/schemas.js\";\nimport { E18_SCALE, scaledToDecimalOutput } from \"../../shared/decimal-surface.js\";\n\nconst FlowKindSchema = v.picklist(LIFECYCLE_FLOW_KIND_VALUES);\nconst FlowStateSchema = v.picklist(LIFECYCLE_FLOW_STATE_VALUES);\n\nconst canonicalTxHashPattern = /^0x[0-9a-fA-F]{64}$/;\nconst chainTxHexPattern = /^[0-9a-fA-F]{64}$/;\nconst chainNativeTxIdPattern = /^[A-Za-z0-9]{8,128}$/;\nconst smartAccountAddressPattern = /^0x[0-9a-fA-F]{40}$/;\nconst maxUint32 = 4_294_967_295;\n\nfunction isChainTxIdentifier(value: string): boolean {\n if (canonicalTxHashPattern.test(value)) return true;\n if (chainTxHexPattern.test(value)) return true;\n return chainNativeTxIdPattern.test(value);\n}\n\nfunction normalizeChainTxIdentifier(value: string): string {\n if (canonicalTxHashPattern.test(value)) return value.toLowerCase();\n // Preserve caller casing — XRP and other chains may be case-sensitive on the API.\n if (chainTxHexPattern.test(value)) return value;\n return value;\n}\n\nconst ChainTxIdentifierSchema = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1, \"txHash is required.\"),\n v.check(isChainTxIdentifier, \"txHash must be a valid EVM hash or chain-native transaction id.\"),\n v.transform(normalizeChainTxIdentifier),\n);\n\nconst AccountSelectorIdSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\nconst SmartAccountAddressSchema = v.pipe(\n v.string(),\n v.trim(),\n v.regex(smartAccountAddressPattern, \"smartAccountAddress must be a canonical 0x address.\"),\n);\n\nconst LifecycleAccountSelectorInputSchema = v.pipe(\n v.variant(\"kind\", [\n v.strictObject({\n kind: v.literal(\"accountId\"),\n accountId: AccountSelectorIdSchema,\n }),\n v.strictObject({\n kind: v.literal(\"ownerAccountId\"),\n ownerAccountId: AccountSelectorIdSchema,\n }),\n v.strictObject({\n kind: v.literal(\"smartAccountAddress\"),\n smartAccountAddress: SmartAccountAddressSchema,\n }),\n ]),\n v.transform((selector) => {\n switch (selector.kind) {\n case \"accountId\":\n return {\n case: \"ownerAccountId\" as const,\n value: idToBigInt(selector.accountId, \"accountId\"),\n };\n case \"ownerAccountId\":\n return {\n case: \"ownerAccountId\" as const,\n value: idToBigInt(selector.ownerAccountId, \"ownerAccountId\"),\n };\n case \"smartAccountAddress\":\n return {\n case: \"smartAccountAddress\" as const,\n value: selector.smartAccountAddress,\n };\n }\n }),\n);\n\nconst Uint32Schema = v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(maxUint32));\n\nconst LifecycleU128RawSchema = v.object({\n hi: v.bigint(),\n lo: v.bigint(),\n});\n\n/**\n * Wire `amount_e18` u128 → public decimal string. On-chain unified-asset\n * amounts are always 18-decimal scaled, so the conversion uses the constant\n * E18 scale and needs no catalog access.\n */\nconst LifecycleAmountSchema = v.pipe(\n LifecycleU128RawSchema,\n v.transform((v) => scaledToDecimalOutput(fromU128(v), E18_SCALE)),\n);\n\n/**\n * Renames the wire `amountE18` key to the public decimal `amount` field.\n * Preserves optional semantics exactly: when the wire field is unset, the\n * output carries no `amount` key.\n */\nfunction renameAmountE18<T extends { amountE18?: string }>(\n value: T,\n): Omit<T, \"amountE18\"> & { amount?: string } {\n const { amountE18, ...rest } = value;\n return amountE18 === undefined ? rest : { ...rest, amount: amountE18 };\n}\n\nconst LifecycleAssetIdsSchema = v.object({\n zippedAssetId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n unifiedAssetId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n});\n\nconst LifecycleFlowStepEnumSchema = enumLabelSchema(LifecycleFlowStepCodec.protoToOutput);\nconst LifecycleSourceEnumSchema = enumLabelSchema(LifecycleSourceCodec.protoToOutput);\nconst LifecycleFlowKindEnumSchema = enumLabelSchema(LifecycleFlowKindCodec.protoToOutput);\n\nconst LifecycleFlowDomainEnumSchema = enumLabelSchema(LifecycleFlowDomainCodec.protoToOutput);\nconst LifecycleFlowStateEnumSchema = enumLabelSchema(LifecycleFlowStateCodec.protoToOutput);\nconst LifecycleFlowStepActivityKindEnumSchema = enumLabelSchema(\n LifecycleFlowStepActivityKindCodec.protoToOutput,\n);\nconst LifecycleFlowTimelineStatusEnumSchema = enumLabelSchema(\n LifecycleFlowTimelineStatusCodec.protoToOutput,\n);\n/**\n * `REASON_UNSPECIFIED` (0) is the normal wire value for flows without a\n * notable reason, so this schema accepts zero unlike the other lifecycle enum\n * schemas. The catalog also grows on the backend ahead of SDK regeneration, so\n * uncataloged codes decode to `unknown_reason_${code}` instead of rejecting the whole flow —\n * a strict enum here froze failed flows out of the UI when the backend shipped\n * new reason codes.\n */\nconst LifecycleReasonEnumSchema = v.pipe(\n v.number(),\n v.integer(),\n v.minValue(0),\n v.transform((value) => lifecycleReasonFromCode(value)),\n);\nconst LifecycleRequestFeeStatusEnumSchema = enumLabelSchema(\n LifecycleRequestFeeStatusCodec.protoToOutput,\n);\nconst LifecycleMsSchema = v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n);\nconst LifecycleTxOccurrenceIndexSchema = v.pipe(\n v.optional(v.bigint()),\n v.transform((v) => Number(v ?? 0n)),\n);\nconst LifecycleLedgerTransferIdSchema = v.optional(v.string(), \"\");\nconst LifecycleZipperReasonSchema = v.object({\n code: v.pipe(v.number(), v.integer(), v.minValue(0)),\n reasonId: v.string(),\n message: v.string(),\n});\n\nexport const ListLifecycleFlowsInputSchema = v.pipe(\n v.strictObject({\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(500)), 100),\n sort: v.pipe(\n v.optional(v.picklist(LIFECYCLE_SORT_VALUES), \"newest\"),\n v.transform((value) => LifecycleSortCodec.inputToProto[value]),\n ),\n flowKind: v.pipe(\n v.optional(FlowKindSchema),\n v.transform((v) =>\n v ? LifecycleFlowKindCodec.inputToProto[v] : Proto.FlowKind.KIND_UNSPECIFIED,\n ),\n ),\n flowState: v.pipe(\n v.optional(FlowStateSchema),\n v.transform((v) =>\n v ? LifecycleFlowStateCodec.inputToProto[v] : Proto.FlowState.STATE_UNSPECIFIED,\n ),\n ),\n txRef: v.optional(ChainTxIdentifierSchema),\n scope: v.pipe(\n v.optional(v.picklist(LIFECYCLE_LIST_SCOPE_VALUES), \"all\"),\n v.transform((v) => LifecycleListScopeCodec.inputToProto[v ?? \"all\"]),\n ),\n accountSelector: v.optional(LifecycleAccountSelectorInputSchema),\n polyesterChainIds: v.optional(v.array(Uint32Schema)),\n zippedAssetIds: v.optional(v.array(Uint32Schema)),\n unifiedAssetIds: v.optional(v.array(Uint32Schema)),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n orderBy: v.pipe(\n v.optional(v.picklist(LIFECYCLE_LIST_ORDER_BY_VALUES), \"last_activity\"),\n v.transform((value) => LifecycleListOrderByCodec.inputToProto[value]),\n ),\n }),\n v.transform((value) => {\n return {\n limit: value.limit,\n sort: value.sort,\n flowKind: value.flowKind,\n flowState: value.flowState,\n txRef: value.txRef,\n scope: value.scope,\n accountSelector: value.accountSelector,\n polyesterChainIds: value.polyesterChainIds,\n zippedAssetIds: value.zippedAssetIds,\n unifiedAssetIds: value.unifiedAssetIds,\n pageToken: value.pageToken,\n orderBy: value.orderBy,\n };\n }),\n);\n\nexport const LifecycleRequestFeeSchema = v.pipe(\n v.object({\n assetIds: v.optional(LifecycleAssetIdsSchema),\n amountE18: v.optional(LifecycleAmountSchema),\n recipientAddress: v.string(),\n status: LifecycleRequestFeeStatusEnumSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleRequestFeeSchema() {\n return LifecycleRequestFeeSchema;\n}\n\nexport const GetLifecycleFlowInputSchema = v.pipe(\n v.strictObject({\n flowId: v.pipe(v.string(), v.trim(), v.minLength(1, \"flowId is required.\")),\n }),\n v.transform((value) => ({\n flowId: value.flowId,\n })),\n);\n\nexport const ListLifecycleFlowsByTxInputSchema = v.strictObject({\n txHash: ChainTxIdentifierSchema,\n lookupKind: v.pipe(\n v.picklist(LIFECYCLE_TX_LOOKUP_KIND_VALUES),\n v.transform((v) => LifecycleTxLookupKindCodec.inputToProto[v]),\n ),\n limit: v.optional(v.pipe(v.number(), v.integer(), v.gtValue(0), v.maxValue(500)), 100),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n});\n\nexport const LifecycleFlowStepActivitySchema = v.pipe(\n v.object({\n sequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n txRef: v.string(),\n occurredAtUnixMs: LifecycleMsSchema,\n lifecycleSource: LifecycleSourceEnumSchema,\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n currentConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n approveCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n rejectCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n validatorCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n kind: LifecycleFlowStepActivityKindEnumSchema,\n requiredApprovals: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredRejections: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n ledgerTransferId: LifecycleLedgerTransferIdSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport const LifecycleFlowStepSchema = v.pipe(\n v.object({\n sequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n step: LifecycleFlowStepEnumSchema,\n assetIds: v.optional(LifecycleAssetIdsSchema),\n polyesterChainId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n requestFee: v.optional(LifecycleRequestFeeSchema),\n milestoneTxRef: v.string(),\n lifecycleSource: LifecycleSourceEnumSchema,\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n currentConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n approveCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n rejectCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n validatorCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredApprovals: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredRejections: v.pipe(v.number(), v.integer(), v.minValue(0)),\n occurredAtUnixMs: LifecycleMsSchema,\n blockTimeMovingAverageMs: LifecycleMsSchema,\n activities: v.optional(v.array(LifecycleFlowStepActivitySchema), []),\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleFlowStepSchema() {\n return LifecycleFlowStepSchema;\n}\n\nexport const LifecycleFlowTimelineItemSchema = v.object({\n sequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n step: LifecycleFlowStepEnumSchema,\n status: LifecycleFlowTimelineStatusEnumSchema,\n expectedDurationMs: LifecycleMsSchema,\n});\n\nexport const LifecycleFlowSummaryProgressSchema = v.object({\n currentStepStartedAtUnixMs: LifecycleMsSchema,\n currentStepExpectedDurationMs: LifecycleMsSchema,\n currentConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredConfirmations: v.pipe(v.number(), v.integer(), v.minValue(0)),\n approveCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n rejectCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n validatorCount: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredApprovals: v.pipe(v.number(), v.integer(), v.minValue(0)),\n requiredRejections: v.pipe(v.number(), v.integer(), v.minValue(0)),\n});\n\nexport const LifecycleFlowSummarySchema = v.pipe(\n v.object({\n ownerAccountId: PublicIdSchema,\n smartAccountAddress: v.string(),\n flowId: v.string(),\n flowKind: LifecycleFlowKindEnumSchema,\n currentStep: LifecycleFlowStepEnumSchema,\n assetIds: v.optional(LifecycleAssetIdsSchema),\n polyesterChainId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n requestFee: v.optional(LifecycleRequestFeeSchema),\n sourceTxHash: v.string(),\n txOccurrenceIndex: LifecycleTxOccurrenceIndexSchema,\n sourceAddress: v.string(),\n destinationAddress: v.string(),\n sourceDomain: LifecycleFlowDomainEnumSchema,\n destinationDomain: LifecycleFlowDomainEnumSchema,\n latestTxRef: v.string(),\n latestLifecycleSource: LifecycleSourceEnumSchema,\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n startedAtUnixMs: LifecycleMsSchema,\n updatedAtUnixMs: LifecycleMsSchema,\n terminalAtUnixMs: LifecycleMsSchema,\n lastActivityAtUnixMs: LifecycleMsSchema,\n isOpen: v.boolean(),\n isTerminal: v.boolean(),\n currentStepSequence: v.pipe(v.number(), v.integer(), v.minValue(0)),\n currentProgress: v.optional(LifecycleFlowSummaryProgressSchema),\n progressTimeline: v.optional(v.array(LifecycleFlowTimelineItemSchema), []),\n estimatedCompletionUnixMs: LifecycleMsSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleFlowSummarySchema() {\n return LifecycleFlowSummarySchema;\n}\n\nexport const LifecycleFlowDetailSchema = v.object({\n summary: v.optional(LifecycleFlowSummarySchema),\n observedSteps: v.optional(v.array(LifecycleFlowStepSchema), []),\n fromLiveState: v.boolean(),\n});\n\nexport function createLifecycleFlowDetailSchema() {\n return LifecycleFlowDetailSchema;\n}\n\nexport const ListLifecycleFlowsOutputSchema = v.object({\n flows: v.optional(v.array(LifecycleFlowSummarySchema), []),\n nextPageToken: v.optional(v.string(), \"\"),\n});\n\nexport function createListLifecycleFlowsOutputSchema() {\n return ListLifecycleFlowsOutputSchema;\n}\n\nexport const GetLifecycleFlowOutputSchema = v.object({\n flow: v.optional(LifecycleFlowDetailSchema),\n});\n\nexport function createGetLifecycleFlowOutputSchema() {\n return GetLifecycleFlowOutputSchema;\n}\n\nexport const LifecycleFlowTxMatchSchema = v.pipe(\n v.object({\n ownerAccountId: PublicIdSchema,\n smartAccountAddress: v.string(),\n flowId: v.string(),\n flowKind: LifecycleFlowKindEnumSchema,\n sourceTxHash: v.string(),\n latestTxRef: v.string(),\n txOccurrenceIndex: LifecycleTxOccurrenceIndexSchema,\n sourceDomain: LifecycleFlowDomainEnumSchema,\n destinationDomain: LifecycleFlowDomainEnumSchema,\n currentStep: LifecycleFlowStepEnumSchema,\n isOpen: v.boolean(),\n isTerminal: v.boolean(),\n assetIds: v.optional(LifecycleAssetIdsSchema),\n polyesterChainId: v.pipe(v.number(), v.integer(), v.minValue(0)),\n amountE18: v.optional(LifecycleAmountSchema),\n sourceAddress: v.string(),\n destinationAddress: v.string(),\n lifecycleReason: LifecycleReasonEnumSchema,\n zipperReason: v.optional(LifecycleZipperReasonSchema),\n lastActivityAtUnixMs: LifecycleMsSchema,\n }),\n v.transform((value) => renameAmountE18(value)),\n);\n\nexport function createLifecycleFlowTxMatchSchema() {\n return LifecycleFlowTxMatchSchema;\n}\n\nexport const ListLifecycleFlowsByTxOutputSchema = v.object({\n txHash: v.string(),\n matches: v.optional(v.array(LifecycleFlowTxMatchSchema), []),\n nextPageToken: v.optional(v.string(), \"\"),\n});\n\nexport function createListLifecycleFlowsByTxOutputSchema() {\n return ListLifecycleFlowsByTxOutputSchema;\n}\n\nexport type ListLifecycleFlowsInput = v.InferInput<typeof ListLifecycleFlowsInputSchema>;\nexport type ParsedListLifecycleFlowsInput = v.InferOutput<typeof ListLifecycleFlowsInputSchema>;\n\nexport type GetLifecycleFlowInput = v.InferInput<typeof GetLifecycleFlowInputSchema>;\nexport type ParsedGetLifecycleFlowInput = v.InferOutput<typeof GetLifecycleFlowInputSchema>;\n\nexport type ListLifecycleFlowsByTxInput = v.InferInput<typeof ListLifecycleFlowsByTxInputSchema>;\nexport type ParsedListLifecycleFlowsByTxInput = v.InferOutput<\n typeof ListLifecycleFlowsByTxInputSchema\n>;\n\nexport type LifecycleFlowSummary = v.InferOutput<typeof LifecycleFlowSummarySchema>;\nexport type LifecycleFlowStep = v.InferOutput<typeof LifecycleFlowStepSchema>;\nexport type LifecycleFlowStepActivity = v.InferOutput<typeof LifecycleFlowStepActivitySchema>;\nexport type LifecycleFlowTimelineItem = v.InferOutput<typeof LifecycleFlowTimelineItemSchema>;\nexport type LifecycleFlowDetail = v.InferOutput<typeof LifecycleFlowDetailSchema>;\n\nexport type ListLifecycleFlowsOutput = v.InferOutput<typeof ListLifecycleFlowsOutputSchema>;\nexport type GetLifecycleFlowOutput = v.InferOutput<typeof GetLifecycleFlowOutputSchema>;\nexport type ListLifecycleFlowsByTxOutput = v.InferOutput<typeof ListLifecycleFlowsByTxOutputSchema>;\n\nexport type LifecycleAssetIds = v.InferOutput<typeof LifecycleAssetIdsSchema>;\nexport type LifecycleRequestFee = v.InferOutput<typeof LifecycleRequestFeeSchema>;\n\nexport type LifecycleFlowSummaryProgress = v.InferOutput<typeof LifecycleFlowSummaryProgressSchema>;\nexport type LifecycleFlowState = v.InferOutput<typeof LifecycleFlowStateEnumSchema>;\nexport type LifecycleReason = LifecycleReasonValue;\nexport type LifecycleZipperReason = v.InferOutput<typeof LifecycleZipperReasonSchema>;\nexport type LifecycleListOrderBy = LifecycleListOrderByValue;\nexport type LifecycleListScope = LifecycleListScopeValue;\nexport type LifecycleSort = LifecycleSortValue;\nexport type LifecycleTxLookupKind = LifecycleTxLookupKindValue;\nexport type LifecycleRequestFeeStatus = LifecycleRequestFeeStatusValue;\n\nexport type LifecycleFlowTxMatch = v.InferOutput<typeof LifecycleFlowTxMatchSchema>;\n"],"mappings":";;;;;;;;;AAmCA,MAAM,iBAAiB,EAAE,SAAS,0BAA0B;AAC5D,MAAM,kBAAkB,EAAE,SAAS,2BAA2B;AAE9D,MAAM,yBAAyB;AAC/B,MAAM,oBAAoB;AAC1B,MAAM,yBAAyB;AAC/B,MAAM,6BAA6B;AACnC,MAAM,YAAY;AAElB,SAAS,oBAAoB,OAAwB;CACjD,IAAI,uBAAuB,KAAK,KAAK,GAAG,OAAO;CAC/C,IAAI,kBAAkB,KAAK,KAAK,GAAG,OAAO;CAC1C,OAAO,uBAAuB,KAAK,KAAK;AAC5C;AAEA,SAAS,2BAA2B,OAAuB;CACvD,IAAI,uBAAuB,KAAK,KAAK,GAAG,OAAO,MAAM,YAAY;CAEjE,IAAI,kBAAkB,KAAK,KAAK,GAAG,OAAO;CAC1C,OAAO;AACX;AAEA,MAAM,0BAA0B,EAAE,KAC9B,EAAE,OAAO,GACT,EAAE,KAAK,GACP,EAAE,UAAU,GAAG,qBAAqB,GACpC,EAAE,MAAM,qBAAqB,iEAAiE,GAC9F,EAAE,UAAU,0BAA0B,CAC1C;AAEA,MAAM,0BAA0B,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AAC3E,MAAM,4BAA4B,EAAE,KAChC,EAAE,OAAO,GACT,EAAE,KAAK,GACP,EAAE,MAAM,4BAA4B,qDAAqD,CAC7F;AAEA,MAAM,sCAAsC,EAAE,KAC1C,EAAE,QAAQ,QAAQ;CACd,EAAE,aAAa;EACX,MAAM,EAAE,QAAQ,WAAW;EAC3B,WAAW;CACf,CAAC;CACD,EAAE,aAAa;EACX,MAAM,EAAE,QAAQ,gBAAgB;EAChC,gBAAgB;CACpB,CAAC;CACD,EAAE,aAAa;EACX,MAAM,EAAE,QAAQ,qBAAqB;EACrC,qBAAqB;CACzB,CAAC;AACL,CAAC,GACD,EAAE,WAAW,aAAa;CACtB,QAAQ,SAAS,MAAjB;EACI,KAAK,aACD,OAAO;GACH,MAAM;GACN,OAAO,WAAW,SAAS,WAAW,WAAW;EACrD;EACJ,KAAK,kBACD,OAAO;GACH,MAAM;GACN,OAAO,WAAW,SAAS,gBAAgB,gBAAgB;EAC/D;EACJ,KAAK,uBACD,OAAO;GACH,MAAM;GACN,OAAO,SAAS;EACpB;CACR;AACJ,CAAC,CACL;AAEA,MAAM,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,SAAS,CAAC;AAExF,MAAM,yBAAyB,EAAE,OAAO;CACpC,IAAI,EAAE,OAAO;CACb,IAAI,EAAE,OAAO;AACjB,CAAC;;;;;;AAOD,MAAM,wBAAwB,EAAE,KAC5B,wBACA,EAAE,WAAW,MAAM,sBAAsB,SAAS,CAAC,GAAA,EAAY,CAAC,CACpE;;;;;;AAOA,SAAS,gBACL,OAC0C;CAC1C,MAAM,EAAE,WAAW,GAAG,SAAS;CAC/B,OAAO,cAAc,KAAA,IAAY,OAAO;EAAE,GAAG;EAAM,QAAQ;CAAU;AACzE;AAEA,MAAM,0BAA0B,EAAE,OAAO;CACrC,eAAe,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC5D,gBAAgB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;AACjE,CAAC;AAED,MAAM,8BAA8B,gBAAgB,uBAAuB,aAAa;AACxF,MAAM,4BAA4B,gBAAgB,qBAAqB,aAAa;AACpF,MAAM,8BAA8B,gBAAgB,uBAAuB,aAAa;AAExF,MAAM,gCAAgC,gBAAgB,yBAAyB,aAAa;AACvD,gBAAgB,wBAAwB,aAAa;AAC1F,MAAM,0CAA0C,gBAC5C,mCAAmC,aACvC;AACA,MAAM,wCAAwC,gBAC1C,iCAAiC,aACrC;;;;;;;;;AASA,MAAM,4BAA4B,EAAE,KAChC,EAAE,OAAO,GACT,EAAE,QAAQ,GACV,EAAE,SAAS,CAAC,GACZ,EAAE,WAAW,UAAU,wBAAwB,KAAK,CAAC,CACzD;AACA,MAAM,sCAAsC,gBACxC,+BAA+B,aACnC;AACA,MAAM,oBAAoB,EAAE,KACxB,EAAE,OAAO,GACT,EAAE,WAAW,MAAM,OAAO,CAAC,CAAC,CAChC;AACA,MAAM,mCAAmC,EAAE,KACvC,EAAE,SAAS,EAAE,OAAO,CAAC,GACrB,EAAE,WAAW,MAAM,OAAO,KAAK,EAAE,CAAC,CACtC;AACA,MAAM,kCAAkC,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;AACjE,MAAM,8BAA8B,EAAE,OAAO;CACzC,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACnD,UAAU,EAAE,OAAO;CACnB,SAAS,EAAE,OAAO;AACtB,CAAC;AAED,MAAa,gCAAgC,EAAE,KAC3C,EAAE,aAAa;CACX,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,GAAG,GAAG;CACrF,MAAM,EAAE,KACJ,EAAE,SAAS,EAAE,SAAS,qBAAqB,GAAG,QAAQ,GACtD,EAAE,WAAW,UAAU,mBAAmB,aAAa,MAAM,CACjE;CACA,UAAU,EAAE,KACR,EAAE,SAAS,cAAc,GACzB,EAAE,WAAW,MACT,IAAI,uBAAuB,aAAa,KAAA,CAC5C,CACJ;CACA,WAAW,EAAE,KACT,EAAE,SAAS,eAAe,GAC1B,EAAE,WAAW,MACT,IAAI,wBAAwB,aAAa,KAAA,CAC7C,CACJ;CACA,OAAO,EAAE,SAAS,uBAAuB;CACzC,OAAO,EAAE,KACL,EAAE,SAAS,EAAE,SAAS,2BAA2B,GAAG,KAAK,GACzD,EAAE,WAAW,MAAM,wBAAwB,aAAa,KAAK,MAAM,CACvE;CACA,iBAAiB,EAAE,SAAS,mCAAmC;CAC/D,mBAAmB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;CACnD,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;CAChD,iBAAiB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;CACjD,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;CACtD,SAAS,EAAE,KACP,EAAE,SAAS,EAAE,SAAS,8BAA8B,GAAG,eAAe,GACtE,EAAE,WAAW,UAAU,0BAA0B,aAAa,MAAM,CACxE;AACJ,CAAC,GACD,EAAE,WAAW,UAAU;CACnB,OAAO;EACH,OAAO,MAAM;EACb,MAAM,MAAM;EACZ,UAAU,MAAM;EAChB,WAAW,MAAM;EACjB,OAAO,MAAM;EACb,OAAO,MAAM;EACb,iBAAiB,MAAM;EACvB,mBAAmB,MAAM;EACzB,gBAAgB,MAAM;EACtB,iBAAiB,MAAM;EACvB,WAAW,MAAM;EACjB,SAAS,MAAM;CACnB;AACJ,CAAC,CACL;AAEA,MAAa,4BAA4B,EAAE,KACvC,EAAE,OAAO;CACL,UAAU,EAAE,SAAS,uBAAuB;CAC5C,WAAW,EAAE,SAAS,qBAAqB;CAC3C,kBAAkB,EAAE,OAAO;CAC3B,QAAQ;AACZ,CAAC,GACD,EAAE,WAAW,UAAU,gBAAgB,KAAK,CAAC,CACjD;AAMA,MAAa,8BAA8B,EAAE,KACzC,EAAE,aAAa,EACX,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,GAAG,qBAAqB,CAAC,EAC9E,CAAC,GACD,EAAE,WAAW,WAAW,EACpB,QAAQ,MAAM,OAClB,EAAE,CACN;AAEA,MAAa,oCAAoC,EAAE,aAAa;CAC5D,QAAQ;CACR,YAAY,EAAE,KACV,EAAE,SAAS,+BAA+B,GAC1C,EAAE,WAAW,MAAM,2BAA2B,aAAa,EAAE,CACjE;CACA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,QAAQ,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,GAAG,GAAG;CACrF,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE;AAC1D,CAAC;AAED,MAAa,kCAAkC,EAAE,KAC7C,EAAE,OAAO;CACL,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACvD,OAAO,EAAE,OAAO;CAChB,kBAAkB;CAClB,iBAAiB;CACjB,iBAAiB;CACjB,cAAc,EAAE,SAAS,2BAA2B;CACpD,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACnE,uBAAuB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACpE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC3D,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC1D,gBAAgB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC7D,MAAM;CACN,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAChE,oBAAoB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACjE,WAAW,EAAE,SAAS,qBAAqB;CAC3C,kBAAkB;AACtB,CAAC,GACD,EAAE,WAAW,UAAU,gBAAgB,KAAK,CAAC,CACjD;AAEA,MAAa,0BAA0B,EAAE,KACrC,EAAE,OAAO;CACL,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACvD,MAAM;CACN,UAAU,EAAE,SAAS,uBAAuB;CAC5C,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC/D,WAAW,EAAE,SAAS,qBAAqB;CAC3C,YAAY,EAAE,SAAS,yBAAyB;CAChD,gBAAgB,EAAE,OAAO;CACzB,iBAAiB;CACjB,iBAAiB;CACjB,cAAc,EAAE,SAAS,2BAA2B;CACpD,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACnE,uBAAuB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACpE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC3D,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC1D,gBAAgB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC7D,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAChE,oBAAoB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACjE,kBAAkB;CAClB,0BAA0B;CAC1B,YAAY,EAAE,SAAS,EAAE,MAAM,+BAA+B,GAAG,CAAC,CAAC;AACvE,CAAC,GACD,EAAE,WAAW,UAAU,gBAAgB,KAAK,CAAC,CACjD;AAMA,MAAa,kCAAkC,EAAE,OAAO;CACpD,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACvD,MAAM;CACN,QAAQ;CACR,oBAAoB;AACxB,CAAC;AAED,MAAa,qCAAqC,EAAE,OAAO;CACvD,4BAA4B;CAC5B,+BAA+B;CAC/B,sBAAsB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACnE,uBAAuB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CACpE,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC3D,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC1D,gBAAgB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC7D,mBAAmB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAChE,oBAAoB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;AACrE,CAAC;AAED,MAAa,6BAA6B,EAAE,KACxC,EAAE,OAAO;CACL,gBAAgB;CAChB,qBAAqB,EAAE,OAAO;CAC9B,QAAQ,EAAE,OAAO;CACjB,UAAU;CACV,aAAa;CACb,UAAU,EAAE,SAAS,uBAAuB;CAC5C,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC/D,WAAW,EAAE,SAAS,qBAAqB;CAC3C,YAAY,EAAE,SAAS,yBAAyB;CAChD,cAAc,EAAE,OAAO;CACvB,mBAAmB;CACnB,eAAe,EAAE,OAAO;CACxB,oBAAoB,EAAE,OAAO;CAC7B,cAAc;CACd,mBAAmB;CACnB,aAAa,EAAE,OAAO;CACtB,uBAAuB;CACvB,iBAAiB;CACjB,cAAc,EAAE,SAAS,2BAA2B;CACpD,iBAAiB;CACjB,iBAAiB;CACjB,kBAAkB;CAClB,sBAAsB;CACtB,QAAQ,EAAE,QAAQ;CAClB,YAAY,EAAE,QAAQ;CACtB,qBAAqB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAClE,iBAAiB,EAAE,SAAS,kCAAkC;CAC9D,kBAAkB,EAAE,SAAS,EAAE,MAAM,+BAA+B,GAAG,CAAC,CAAC;CACzE,2BAA2B;AAC/B,CAAC,GACD,EAAE,WAAW,UAAU,gBAAgB,KAAK,CAAC,CACjD;AAMA,MAAa,4BAA4B,EAAE,OAAO;CAC9C,SAAS,EAAE,SAAS,0BAA0B;CAC9C,eAAe,EAAE,SAAS,EAAE,MAAM,uBAAuB,GAAG,CAAC,CAAC;CAC9D,eAAe,EAAE,QAAQ;AAC7B,CAAC;AAMD,MAAa,iCAAiC,EAAE,OAAO;CACnD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,GAAG,CAAC,CAAC;CACzD,eAAe,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;AAC5C,CAAC;AAMD,MAAa,+BAA+B,EAAE,OAAO,EACjD,MAAM,EAAE,SAAS,yBAAyB,EAC9C,CAAC;AAMD,MAAa,6BAA6B,EAAE,KACxC,EAAE,OAAO;CACL,gBAAgB;CAChB,qBAAqB,EAAE,OAAO;CAC9B,QAAQ,EAAE,OAAO;CACjB,UAAU;CACV,cAAc,EAAE,OAAO;CACvB,aAAa,EAAE,OAAO;CACtB,mBAAmB;CACnB,cAAc;CACd,mBAAmB;CACnB,aAAa;CACb,QAAQ,EAAE,QAAQ;CAClB,YAAY,EAAE,QAAQ;CACtB,UAAU,EAAE,SAAS,uBAAuB;CAC5C,kBAAkB,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,GAAG,EAAE,SAAS,CAAC,CAAC;CAC/D,WAAW,EAAE,SAAS,qBAAqB;CAC3C,eAAe,EAAE,OAAO;CACxB,oBAAoB,EAAE,OAAO;CAC7B,iBAAiB;CACjB,cAAc,EAAE,SAAS,2BAA2B;CACpD,sBAAsB;AAC1B,CAAC,GACD,EAAE,WAAW,UAAU,gBAAgB,KAAK,CAAC,CACjD;AAMA,MAAa,qCAAqC,EAAE,OAAO;CACvD,QAAQ,EAAE,OAAO;CACjB,SAAS,EAAE,SAAS,EAAE,MAAM,0BAA0B,GAAG,CAAC,CAAC;CAC3D,eAAe,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;AAC5C,CAAC"}
|
|
@@ -30,7 +30,7 @@ declare function createMarketOverviewSchema(scales: SdkScales): v.SchemaWithPipe
|
|
|
30
30
|
readonly bestAskTicks: v.BigintSchema<undefined>;
|
|
31
31
|
readonly bestAskQtyScaled: v.BigintSchema<undefined>;
|
|
32
32
|
readonly sparklines: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
|
|
33
|
-
readonly interval: v.SchemaWithPipe<readonly [v.
|
|
33
|
+
readonly interval: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "1m" | "1h" | "1w" | "24h">]>;
|
|
34
34
|
readonly closeTicks: v.ArraySchema<v.BigintSchema<undefined>, undefined>;
|
|
35
35
|
}, undefined>, undefined>, readonly []>;
|
|
36
36
|
readonly indexPriceTicks: v.BigintSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-overview.schemas.d.ts","names":[],"sources":["../../../src/services/market-overview/market-overview.schemas.ts"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"market-overview.schemas.d.ts","names":[],"sources":["../../../src/services/market-overview/market-overview.schemas.ts"],"mappings":";;;;;;cA2Ba,yBAAuB,EAAA;KAExB,wBAAwB,EAAE,mBAAmB;KAO7C;EACR,UAAU,YAAY;EACtB;;cAGS,6BAA2B,EAAA;KAE5B,wBAAwB,EAAE,mBAAmB;cAE5C,0BAAwB,EAAA;KAEzB,qBAAqB,EAAE,mBAAmB;iBA2BtC,2BAA2B,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA6ChD,iBAAiB,EAAE,YAAY,kBAAkB;cAqChD,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;KAwB9B,0BAA0B,EAAE,kBAAkB;cAE7C,8BAA4B,EAAA,yBAAA,EAAA;;;;;;;KAa7B,yBAAyB,EAAE,kBAAkB;cAE5C,4BAA0B,EAAA,yBAAA,EAAA;;;;;;;;;;KAI3B,uBAAuB,EAAE,mBAAmB;cAE3C,iCAA+B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAchC,4BAA4B,EAAE,mBAAmB;cAEhD,wBAAsB,EAAA;;;;;;KAMvB,mBAAmB,EAAE,mBAAmB;cAEvC,gCAA8B,EAAA;;;;;;;;;;;;;;KAI/B,2BAA2B,EAAE,mBAAmB;cAY/C,0BAAwB,EAAA,yBAAA,EAAA;;;;;;;;;;KAIzB,qBAAqB,EAAE,mBAAmB;cAEzC,8BAA4B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQ7B,yBAAyB,EAAE,mBAAmB;cAE7C,gCAA8B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;KAa/B,2BAA2B,EAAE,mBAAmB;cAE/C,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAQ9B,0BAA0B,EAAE,mBAAmB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import
|
|
2
|
-
import {
|
|
1
|
+
import "../../gen/marketoverview/v1/marketoverview_pb.js";
|
|
2
|
+
import { enumLabelSchema } from "../../shared/proto-enum-codec.js";
|
|
3
3
|
import { tsNsToMs } from "../../utils/time.js";
|
|
4
4
|
import { PositiveUint32InputSchema, SymbolIdInputSchema } from "../shared.js";
|
|
5
5
|
import { scaledToDecimalOutput } from "../../shared/decimal-surface.js";
|
|
@@ -8,7 +8,7 @@ import * as v from "valibot";
|
|
|
8
8
|
//#region src/services/market-overview/market-overview.schemas.ts
|
|
9
9
|
const SparklineIntervalSchema = v.picklist(SPARKLINE_INTERVAL_VALUES);
|
|
10
10
|
const MarketOverviewSparklineRawSchema = v.object({
|
|
11
|
-
interval:
|
|
11
|
+
interval: enumLabelSchema(SparklineIntervalCodec.protoToOutput),
|
|
12
12
|
closeTicks: v.array(v.bigint())
|
|
13
13
|
});
|
|
14
14
|
const MarketOverviewOrderBySchema = v.picklist(MARKET_OVERVIEW_ORDER_BY_VALUES);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"market-overview.schemas.js","names":["Proto.SparklineInterval"],"sources":["../../../src/services/market-overview/market-overview.schemas.ts"],"sourcesContent":["import * as Proto from \"../../gen/marketoverview/v1/marketoverview_pb.js\";\nimport * as v from \"valibot\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { scaledToDecimalOutput, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { PositiveUint32InputSchema, SymbolIdInputSchema } from \"../shared.js\";\nimport {\n SPARKLINE_INTERVAL_VALUES,\n MARKET_OVERVIEW_ORDER_BY_VALUES,\n MARKET_OVERVIEW_SORT_VALUES,\n SparklineIntervalCodec,\n MarketOverviewOrderByCodec,\n MarketOverviewSortCodec,\n} from \"./market-overview.codecs.js\";\n\nexport {\n SPARKLINE_INTERVAL_VALUES,\n MARKET_OVERVIEW_ORDER_BY_VALUES,\n MARKET_OVERVIEW_SORT_VALUES,\n} from \"./market-overview.codecs.js\";\n\nexport {\n MarketOrderBy,\n SortDirection,\n SparklineInterval,\n} from \"../../gen/marketoverview/v1/marketoverview_pb.js\";\n\nexport const SparklineIntervalSchema = v.picklist(SPARKLINE_INTERVAL_VALUES);\n\nexport type SparklineIntervalName = v.InferOutput<typeof SparklineIntervalSchema>;\n\nconst MarketOverviewSparklineRawSchema = v.object({\n interval: v.pipe(\n v.enum(Proto.SparklineInterval),\n v.transform((value) =>\n requiredEnumLabel(\n SparklineIntervalCodec.protoToOutput,\n value,\n \"MarketOverviewSparklineSchema\",\n \"interval\",\n ),\n ),\n ),\n closeTicks: v.array(v.bigint()),\n});\n\nexport type MarketOverviewSparkline = {\n interval: DecodedEnum<SparklineIntervalName>;\n close: string[];\n};\n\nexport const MarketOverviewOrderBySchema = v.picklist(MARKET_OVERVIEW_ORDER_BY_VALUES);\n\nexport type MarketOverviewOrderBy = v.InferOutput<typeof MarketOverviewOrderBySchema>;\n\nexport const MarketOverviewSortSchema = v.picklist(MARKET_OVERVIEW_SORT_VALUES);\n\nexport type MarketOverviewSort = v.InferOutput<typeof MarketOverviewSortSchema>;\n\n/** USD amounts are always scaled by 1e6 on the wire. */\nconst UsdVolumeSchema = v.pipe(\n v.bigint(),\n v.transform((value) => scaledToDecimalOutput(value, 6)),\n);\n\nconst MarketOverviewRawSchema = v.object({\n symbolId: v.number(),\n lastPriceTicks: v.bigint(),\n lastTradeTsNs: v.optional(v.bigint(), 0n),\n change24hBps: v.number(),\n high24hTicks: v.bigint(),\n low24hTicks: v.bigint(),\n volume24hBaseScaled: v.optional(v.bigint()),\n volume24hQuoteScaled: v.optional(v.bigint()),\n volume24hUsdScaled: v.optional(UsdVolumeSchema),\n listedTsNs: v.optional(v.bigint(), 0n),\n bestBidTicks: v.bigint(),\n bestBidQtyScaled: v.bigint(),\n bestAskTicks: v.bigint(),\n bestAskQtyScaled: v.bigint(),\n sparklines: v.optional(v.array(MarketOverviewSparklineRawSchema), []),\n indexPriceTicks: v.bigint(),\n});\n\nexport function createMarketOverviewSchema(scales: SdkScales) {\n return v.pipe(\n MarketOverviewRawSchema,\n v.transform((m) => {\n const priceScale = scales.price();\n const baseQtyScale = scales.baseQty(m.symbolId);\n const quoteAmountScale = scales.quoteAmount(m.symbolId);\n return {\n symbolId: m.symbolId,\n lastPrice: scaledToDecimalOutput(m.lastPriceTicks, priceScale),\n lastTradeTsMs: tsNsToMs(m.lastTradeTsNs),\n change24hBps: m.change24hBps,\n high24h: scaledToDecimalOutput(m.high24hTicks, priceScale),\n low24h: scaledToDecimalOutput(m.low24hTicks, priceScale),\n volume24hBase:\n m.volume24hBaseScaled === undefined\n ? undefined\n : scaledToDecimalOutput(m.volume24hBaseScaled, baseQtyScale),\n volume24hQuote:\n m.volume24hQuoteScaled === undefined\n ? undefined\n : scaledToDecimalOutput(m.volume24hQuoteScaled, quoteAmountScale),\n volume24hUsd: m.volume24hUsdScaled,\n listedTsMs: tsNsToMs(m.listedTsNs),\n bestBid: scaledToDecimalOutput(m.bestBidTicks, priceScale),\n bestBidQty: scaledToDecimalOutput(m.bestBidQtyScaled, baseQtyScale),\n bestAsk: scaledToDecimalOutput(m.bestAskTicks, priceScale),\n bestAskQty: scaledToDecimalOutput(m.bestAskQtyScaled, baseQtyScale),\n indexPrice:\n m.indexPriceTicks > 0n\n ? scaledToDecimalOutput(m.indexPriceTicks, priceScale)\n : undefined,\n sparklines: (m.sparklines ?? []).map(\n (s): MarketOverviewSparkline => ({\n interval: s.interval,\n close: s.closeTicks\n .map((tick) => scaledToDecimalOutput(tick, priceScale))\n .reverse(),\n }),\n ),\n };\n }),\n );\n}\n\nexport type MarketOverview = v.InferOutput<ReturnType<typeof createMarketOverviewSchema>>;\n\nconst MS_PER_24H = 86_400_000;\n\nfunction change24hBpsFromSparklineFirstLast(sparklines: MarketOverview[\"sparklines\"]): number {\n const s = sparklines.find((e) => e.interval === \"24h\") ?? sparklines[0];\n if (!s || s.close.length < 2) return 0;\n const first = Number(s.close[0] ?? 0);\n const last = Number(s.close.at(-1) ?? 0);\n if (!Number.isFinite(first) || !Number.isFinite(last)) return 0;\n if (first === 0) return 0;\n return Math.round(((last - first) / first) * 10_000);\n}\n\n/**\n * Formats the 24-hour market change percentage for display.\n */\nexport function getMarketOverview24hChangeDisplay(\n market: Pick<MarketOverview, \"change24hBps\" | \"listedTsMs\" | \"sparklines\">,\n nowMs: number = Date.now(),\n): { change24hBps: number; showNewListingSparklineInfo: boolean } {\n const api = market.change24hBps;\n const newish = api === 0 && market.listedTsMs > 0 && nowMs - market.listedTsMs < MS_PER_24H;\n if (!newish) {\n return { change24hBps: api, showNewListingSparklineInfo: false };\n }\n return {\n change24hBps: change24hBpsFromSparklineFirstLast(market.sparklines),\n showNewListingSparklineInfo: true,\n };\n}\n\nexport type MarketOverviewBatch = {\n markets: MarketOverview[];\n tsNs: bigint;\n};\n\nexport const ListMarketOverviewInputSchema = v.pipe(\n v.strictObject({\n symbolIds: v.optional(v.array(SymbolIdInputSchema), []),\n limit: v.optional(PositiveUint32InputSchema, 500),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n orderBy: v.pipe(\n v.optional(MarketOverviewOrderBySchema, \"volume_24h_usd\"),\n v.transform((v) => MarketOverviewOrderByCodec.inputToProto[v ?? \"volume_24h_usd\"]),\n ),\n sort: v.pipe(\n v.optional(MarketOverviewSortSchema, \"desc\"),\n v.transform((v) => MarketOverviewSortCodec.inputToProto[v ?? \"desc\"]),\n ),\n includeSparklines: v.optional(v.boolean(), true),\n sparklineIntervals: v.pipe(\n v.optional(v.array(SparklineIntervalSchema), [\"24h\"]),\n v.transform((intervals) =>\n (intervals ?? [\"24h\"]).map((v) => SparklineIntervalCodec.inputToProto[v]),\n ),\n ),\n }),\n v.transform(({ symbolIds, ...input }) => ({ symbolId: symbolIds, ...input })),\n);\n\nexport type ListMarketOverviewInput = v.InferInput<typeof ListMarketOverviewInputSchema>;\n\nexport const SpotVolumeHistoryInputSchema = v.pipe(\n v.strictObject({\n symbolIds: v.optional(\n v.pipe(\n v.array(SymbolIdInputSchema),\n v.transform((ids) => [...new Set(ids)]),\n v.maxLength(2000),\n ),\n [],\n ),\n }),\n v.transform(({ symbolIds }) => ({ symbolId: symbolIds })),\n);\nexport type SpotVolumeHistoryInput = v.InferInput<typeof SpotVolumeHistoryInputSchema>;\n\nexport const SpotPairVolumeSeriesSchema = v.pipe(\n v.object({ symbolId: v.number(), volumeUsdScaled: v.array(UsdVolumeSchema) }),\n v.transform(({ symbolId, volumeUsdScaled }) => ({ symbolId, volumeUsd: volumeUsdScaled })),\n);\nexport type SpotPairVolumeSeries = v.InferOutput<typeof SpotPairVolumeSeriesSchema>;\n\nexport const SpotVolumeHistoryResponseSchema = v.pipe(\n v.object({\n bucket: v.string(),\n startTsSec: v.number(),\n endTsSec: v.number(),\n points: v.number(),\n pairs: v.array(SpotPairVolumeSeriesSchema),\n totalVolumeUsdScaled: v.array(UsdVolumeSchema),\n }),\n v.transform(({ totalVolumeUsdScaled, ...response }) => ({\n ...response,\n totalVolumeUsd: totalVolumeUsdScaled,\n })),\n);\nexport type SpotVolumeHistoryResponse = v.InferOutput<typeof SpotVolumeHistoryResponseSchema>;\n\nexport const CurrencyMetadataSchema = v.object({\n code: v.string(),\n defaultEnglishName: v.string(),\n symbol: v.string(),\n fractionDigits: v.number(),\n});\nexport type CurrencyMetadata = v.InferOutput<typeof CurrencyMetadataSchema>;\n\nexport const CurrencyConversionConfigSchema = v.object({\n fiat: v.array(CurrencyMetadataSchema),\n stablecoins: v.array(CurrencyMetadataSchema),\n});\nexport type CurrencyConversionConfig = v.InferOutput<typeof CurrencyConversionConfigSchema>;\n\nconst ConversionRateSchema = v.pipe(\n v.bigint(),\n v.transform((value) => scaledToDecimalOutput(value, 8)),\n);\nconst ConversionTimestampSchema = v.pipe(\n v.bigint(),\n v.transform((value) => Number(value * 1000n)),\n v.safeInteger(),\n);\n\nexport const FiatConversionRateSchema = v.pipe(\n v.object({ code: v.string(), unitsPerUsdE8: ConversionRateSchema }),\n v.transform(({ code, unitsPerUsdE8 }) => ({ code, unitsPerUsd: unitsPerUsdE8 })),\n);\nexport type FiatConversionRate = v.InferOutput<typeof FiatConversionRateSchema>;\n\nexport const FiatConversionSnapshotSchema = v.pipe(\n v.object({\n rates: v.array(FiatConversionRateSchema),\n sourceTsSec: ConversionTimestampSchema,\n stale: v.boolean(),\n }),\n v.transform(({ sourceTsSec, ...snapshot }) => ({ ...snapshot, sourceTsMs: sourceTsSec })),\n);\nexport type FiatConversionSnapshot = v.InferOutput<typeof FiatConversionSnapshotSchema>;\n\nexport const StablecoinConversionRateSchema = v.pipe(\n v.object({\n code: v.string(),\n usdPerUnitE8: ConversionRateSchema,\n sourceTsSec: ConversionTimestampSchema,\n stale: v.boolean(),\n }),\n v.transform(({ usdPerUnitE8, sourceTsSec, ...rate }) => ({\n ...rate,\n usdPerUnit: usdPerUnitE8,\n sourceTsMs: sourceTsSec,\n })),\n);\nexport type StablecoinConversionRate = v.InferOutput<typeof StablecoinConversionRateSchema>;\n\nexport const CurrencyConversionRatesSchema = v.pipe(\n v.object({\n fiat: v.optional(FiatConversionSnapshotSchema),\n stablecoins: v.array(StablecoinConversionRateSchema),\n snapshotTsSec: ConversionTimestampSchema,\n }),\n v.transform(({ snapshotTsSec, ...response }) => ({ ...response, snapshotTsMs: snapshotTsSec })),\n);\nexport type CurrencyConversionRates = v.InferOutput<typeof CurrencyConversionRatesSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"market-overview.schemas.js","names":[],"sources":["../../../src/services/market-overview/market-overview.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport { tsNsToMs } from \"../../utils/time.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport { enumLabelSchema } from \"../../shared/proto-enum-codec.js\";\nimport { scaledToDecimalOutput, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { PositiveUint32InputSchema, SymbolIdInputSchema } from \"../shared.js\";\nimport {\n SPARKLINE_INTERVAL_VALUES,\n MARKET_OVERVIEW_ORDER_BY_VALUES,\n MARKET_OVERVIEW_SORT_VALUES,\n SparklineIntervalCodec,\n MarketOverviewOrderByCodec,\n MarketOverviewSortCodec,\n} from \"./market-overview.codecs.js\";\n\nexport {\n SPARKLINE_INTERVAL_VALUES,\n MARKET_OVERVIEW_ORDER_BY_VALUES,\n MARKET_OVERVIEW_SORT_VALUES,\n} from \"./market-overview.codecs.js\";\n\nexport {\n MarketOrderBy,\n SortDirection,\n SparklineInterval,\n} from \"../../gen/marketoverview/v1/marketoverview_pb.js\";\n\nexport const SparklineIntervalSchema = v.picklist(SPARKLINE_INTERVAL_VALUES);\n\nexport type SparklineIntervalName = v.InferOutput<typeof SparklineIntervalSchema>;\n\nconst MarketOverviewSparklineRawSchema = v.object({\n interval: enumLabelSchema(SparklineIntervalCodec.protoToOutput),\n closeTicks: v.array(v.bigint()),\n});\n\nexport type MarketOverviewSparkline = {\n interval: DecodedEnum<SparklineIntervalName>;\n close: string[];\n};\n\nexport const MarketOverviewOrderBySchema = v.picklist(MARKET_OVERVIEW_ORDER_BY_VALUES);\n\nexport type MarketOverviewOrderBy = v.InferOutput<typeof MarketOverviewOrderBySchema>;\n\nexport const MarketOverviewSortSchema = v.picklist(MARKET_OVERVIEW_SORT_VALUES);\n\nexport type MarketOverviewSort = v.InferOutput<typeof MarketOverviewSortSchema>;\n\n/** USD amounts are always scaled by 1e6 on the wire. */\nconst UsdVolumeSchema = v.pipe(\n v.bigint(),\n v.transform((value) => scaledToDecimalOutput(value, 6)),\n);\n\nconst MarketOverviewRawSchema = v.object({\n symbolId: v.number(),\n lastPriceTicks: v.bigint(),\n lastTradeTsNs: v.optional(v.bigint(), 0n),\n change24hBps: v.number(),\n high24hTicks: v.bigint(),\n low24hTicks: v.bigint(),\n volume24hBaseScaled: v.optional(v.bigint()),\n volume24hQuoteScaled: v.optional(v.bigint()),\n volume24hUsdScaled: v.optional(UsdVolumeSchema),\n listedTsNs: v.optional(v.bigint(), 0n),\n bestBidTicks: v.bigint(),\n bestBidQtyScaled: v.bigint(),\n bestAskTicks: v.bigint(),\n bestAskQtyScaled: v.bigint(),\n sparklines: v.optional(v.array(MarketOverviewSparklineRawSchema), []),\n indexPriceTicks: v.bigint(),\n});\n\nexport function createMarketOverviewSchema(scales: SdkScales) {\n return v.pipe(\n MarketOverviewRawSchema,\n v.transform((m) => {\n const priceScale = scales.price();\n const baseQtyScale = scales.baseQty(m.symbolId);\n const quoteAmountScale = scales.quoteAmount(m.symbolId);\n return {\n symbolId: m.symbolId,\n lastPrice: scaledToDecimalOutput(m.lastPriceTicks, priceScale),\n lastTradeTsMs: tsNsToMs(m.lastTradeTsNs),\n change24hBps: m.change24hBps,\n high24h: scaledToDecimalOutput(m.high24hTicks, priceScale),\n low24h: scaledToDecimalOutput(m.low24hTicks, priceScale),\n volume24hBase:\n m.volume24hBaseScaled === undefined\n ? undefined\n : scaledToDecimalOutput(m.volume24hBaseScaled, baseQtyScale),\n volume24hQuote:\n m.volume24hQuoteScaled === undefined\n ? undefined\n : scaledToDecimalOutput(m.volume24hQuoteScaled, quoteAmountScale),\n volume24hUsd: m.volume24hUsdScaled,\n listedTsMs: tsNsToMs(m.listedTsNs),\n bestBid: scaledToDecimalOutput(m.bestBidTicks, priceScale),\n bestBidQty: scaledToDecimalOutput(m.bestBidQtyScaled, baseQtyScale),\n bestAsk: scaledToDecimalOutput(m.bestAskTicks, priceScale),\n bestAskQty: scaledToDecimalOutput(m.bestAskQtyScaled, baseQtyScale),\n indexPrice:\n m.indexPriceTicks > 0n\n ? scaledToDecimalOutput(m.indexPriceTicks, priceScale)\n : undefined,\n sparklines: (m.sparklines ?? []).map(\n (s): MarketOverviewSparkline => ({\n interval: s.interval,\n close: s.closeTicks\n .map((tick) => scaledToDecimalOutput(tick, priceScale))\n .reverse(),\n }),\n ),\n };\n }),\n );\n}\n\nexport type MarketOverview = v.InferOutput<ReturnType<typeof createMarketOverviewSchema>>;\n\nconst MS_PER_24H = 86_400_000;\n\nfunction change24hBpsFromSparklineFirstLast(sparklines: MarketOverview[\"sparklines\"]): number {\n const s = sparklines.find((e) => e.interval === \"24h\") ?? sparklines[0];\n if (!s || s.close.length < 2) return 0;\n const first = Number(s.close[0] ?? 0);\n const last = Number(s.close.at(-1) ?? 0);\n if (!Number.isFinite(first) || !Number.isFinite(last)) return 0;\n if (first === 0) return 0;\n return Math.round(((last - first) / first) * 10_000);\n}\n\n/**\n * Formats the 24-hour market change percentage for display.\n */\nexport function getMarketOverview24hChangeDisplay(\n market: Pick<MarketOverview, \"change24hBps\" | \"listedTsMs\" | \"sparklines\">,\n nowMs: number = Date.now(),\n): { change24hBps: number; showNewListingSparklineInfo: boolean } {\n const api = market.change24hBps;\n const newish = api === 0 && market.listedTsMs > 0 && nowMs - market.listedTsMs < MS_PER_24H;\n if (!newish) {\n return { change24hBps: api, showNewListingSparklineInfo: false };\n }\n return {\n change24hBps: change24hBpsFromSparklineFirstLast(market.sparklines),\n showNewListingSparklineInfo: true,\n };\n}\n\nexport type MarketOverviewBatch = {\n markets: MarketOverview[];\n tsNs: bigint;\n};\n\nexport const ListMarketOverviewInputSchema = v.pipe(\n v.strictObject({\n symbolIds: v.optional(v.array(SymbolIdInputSchema), []),\n limit: v.optional(PositiveUint32InputSchema, 500),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n orderBy: v.pipe(\n v.optional(MarketOverviewOrderBySchema, \"volume_24h_usd\"),\n v.transform((v) => MarketOverviewOrderByCodec.inputToProto[v ?? \"volume_24h_usd\"]),\n ),\n sort: v.pipe(\n v.optional(MarketOverviewSortSchema, \"desc\"),\n v.transform((v) => MarketOverviewSortCodec.inputToProto[v ?? \"desc\"]),\n ),\n includeSparklines: v.optional(v.boolean(), true),\n sparklineIntervals: v.pipe(\n v.optional(v.array(SparklineIntervalSchema), [\"24h\"]),\n v.transform((intervals) =>\n (intervals ?? [\"24h\"]).map((v) => SparklineIntervalCodec.inputToProto[v]),\n ),\n ),\n }),\n v.transform(({ symbolIds, ...input }) => ({ symbolId: symbolIds, ...input })),\n);\n\nexport type ListMarketOverviewInput = v.InferInput<typeof ListMarketOverviewInputSchema>;\n\nexport const SpotVolumeHistoryInputSchema = v.pipe(\n v.strictObject({\n symbolIds: v.optional(\n v.pipe(\n v.array(SymbolIdInputSchema),\n v.transform((ids) => [...new Set(ids)]),\n v.maxLength(2000),\n ),\n [],\n ),\n }),\n v.transform(({ symbolIds }) => ({ symbolId: symbolIds })),\n);\nexport type SpotVolumeHistoryInput = v.InferInput<typeof SpotVolumeHistoryInputSchema>;\n\nexport const SpotPairVolumeSeriesSchema = v.pipe(\n v.object({ symbolId: v.number(), volumeUsdScaled: v.array(UsdVolumeSchema) }),\n v.transform(({ symbolId, volumeUsdScaled }) => ({ symbolId, volumeUsd: volumeUsdScaled })),\n);\nexport type SpotPairVolumeSeries = v.InferOutput<typeof SpotPairVolumeSeriesSchema>;\n\nexport const SpotVolumeHistoryResponseSchema = v.pipe(\n v.object({\n bucket: v.string(),\n startTsSec: v.number(),\n endTsSec: v.number(),\n points: v.number(),\n pairs: v.array(SpotPairVolumeSeriesSchema),\n totalVolumeUsdScaled: v.array(UsdVolumeSchema),\n }),\n v.transform(({ totalVolumeUsdScaled, ...response }) => ({\n ...response,\n totalVolumeUsd: totalVolumeUsdScaled,\n })),\n);\nexport type SpotVolumeHistoryResponse = v.InferOutput<typeof SpotVolumeHistoryResponseSchema>;\n\nexport const CurrencyMetadataSchema = v.object({\n code: v.string(),\n defaultEnglishName: v.string(),\n symbol: v.string(),\n fractionDigits: v.number(),\n});\nexport type CurrencyMetadata = v.InferOutput<typeof CurrencyMetadataSchema>;\n\nexport const CurrencyConversionConfigSchema = v.object({\n fiat: v.array(CurrencyMetadataSchema),\n stablecoins: v.array(CurrencyMetadataSchema),\n});\nexport type CurrencyConversionConfig = v.InferOutput<typeof CurrencyConversionConfigSchema>;\n\nconst ConversionRateSchema = v.pipe(\n v.bigint(),\n v.transform((value) => scaledToDecimalOutput(value, 8)),\n);\nconst ConversionTimestampSchema = v.pipe(\n v.bigint(),\n v.transform((value) => Number(value * 1000n)),\n v.safeInteger(),\n);\n\nexport const FiatConversionRateSchema = v.pipe(\n v.object({ code: v.string(), unitsPerUsdE8: ConversionRateSchema }),\n v.transform(({ code, unitsPerUsdE8 }) => ({ code, unitsPerUsd: unitsPerUsdE8 })),\n);\nexport type FiatConversionRate = v.InferOutput<typeof FiatConversionRateSchema>;\n\nexport const FiatConversionSnapshotSchema = v.pipe(\n v.object({\n rates: v.array(FiatConversionRateSchema),\n sourceTsSec: ConversionTimestampSchema,\n stale: v.boolean(),\n }),\n v.transform(({ sourceTsSec, ...snapshot }) => ({ ...snapshot, sourceTsMs: sourceTsSec })),\n);\nexport type FiatConversionSnapshot = v.InferOutput<typeof FiatConversionSnapshotSchema>;\n\nexport const StablecoinConversionRateSchema = v.pipe(\n v.object({\n code: v.string(),\n usdPerUnitE8: ConversionRateSchema,\n sourceTsSec: ConversionTimestampSchema,\n stale: v.boolean(),\n }),\n v.transform(({ usdPerUnitE8, sourceTsSec, ...rate }) => ({\n ...rate,\n usdPerUnit: usdPerUnitE8,\n sourceTsMs: sourceTsSec,\n })),\n);\nexport type StablecoinConversionRate = v.InferOutput<typeof StablecoinConversionRateSchema>;\n\nexport const CurrencyConversionRatesSchema = v.pipe(\n v.object({\n fiat: v.optional(FiatConversionSnapshotSchema),\n stablecoins: v.array(StablecoinConversionRateSchema),\n snapshotTsSec: ConversionTimestampSchema,\n }),\n v.transform(({ snapshotTsSec, ...response }) => ({ ...response, snapshotTsMs: snapshotTsSec })),\n);\nexport type CurrencyConversionRates = v.InferOutput<typeof CurrencyConversionRatesSchema>;\n"],"mappings":"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"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { MFAChallengePurpose
|
|
1
|
+
import { MFAChallengePurpose } from "../../gen/auth/v1/mfa_pb.js";
|
|
2
2
|
import * as v from "valibot";
|
|
3
3
|
//#region src/services/mfa/mfa.schemas.d.ts
|
|
4
4
|
declare const MfaSessionInfoSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
5
5
|
readonly sessionId: v.StringSchema<undefined>;
|
|
6
|
-
readonly sessionLevel: v.SchemaWithPipe<readonly [v.
|
|
6
|
+
readonly sessionLevel: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
|
|
7
7
|
readonly authenticationMethods: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
8
8
|
readonly authTime: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
9
9
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -26,7 +26,7 @@ declare const MfaSessionInfoSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
|
26
26
|
type MfaSessionInfo = v.InferOutput<typeof MfaSessionInfoSchema>;
|
|
27
27
|
declare const MfaFactorSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
28
28
|
readonly factorId: v.StringSchema<undefined>;
|
|
29
|
-
readonly factorType: v.SchemaWithPipe<readonly [v.
|
|
29
|
+
readonly factorType: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
|
|
30
30
|
readonly label: v.StringSchema<undefined>;
|
|
31
31
|
readonly createdAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
32
32
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -59,7 +59,7 @@ type MfaFactor = v.InferOutput<typeof MfaFactorSchema>;
|
|
|
59
59
|
declare const ListMfaFactorsResponseSchema: v.ObjectSchema<{
|
|
60
60
|
readonly factors: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
61
61
|
readonly factorId: v.StringSchema<undefined>;
|
|
62
|
-
readonly factorType: v.SchemaWithPipe<readonly [v.
|
|
62
|
+
readonly factorType: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
|
|
63
63
|
readonly label: v.StringSchema<undefined>;
|
|
64
64
|
readonly createdAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
65
65
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -116,7 +116,7 @@ type FinishTotpEnrollmentInput = v.InferInput<typeof FinishTotpEnrollmentInputSc
|
|
|
116
116
|
declare const FinishTotpEnrollmentResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
117
117
|
readonly factor: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
118
118
|
readonly factorId: v.StringSchema<undefined>;
|
|
119
|
-
readonly factorType: v.SchemaWithPipe<readonly [v.
|
|
119
|
+
readonly factorType: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
|
|
120
120
|
readonly label: v.StringSchema<undefined>;
|
|
121
121
|
readonly createdAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
122
122
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -148,7 +148,7 @@ declare const FinishTotpEnrollmentResultSchema: v.SchemaWithPipe<readonly [v.Obj
|
|
|
148
148
|
readonly recoveryCodes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
149
149
|
readonly session: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
150
150
|
readonly sessionId: v.StringSchema<undefined>;
|
|
151
|
-
readonly sessionLevel: v.SchemaWithPipe<readonly [v.
|
|
151
|
+
readonly sessionLevel: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
|
|
152
152
|
readonly authenticationMethods: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
153
153
|
readonly authTime: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
154
154
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -236,7 +236,7 @@ type FinishPasskeyEnrollmentInput = v.InferInput<typeof FinishPasskeyEnrollmentI
|
|
|
236
236
|
declare const FinishPasskeyEnrollmentResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
237
237
|
readonly factor: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
238
238
|
readonly factorId: v.StringSchema<undefined>;
|
|
239
|
-
readonly factorType: v.SchemaWithPipe<readonly [v.
|
|
239
|
+
readonly factorType: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
|
|
240
240
|
readonly label: v.StringSchema<undefined>;
|
|
241
241
|
readonly createdAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
242
242
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -268,7 +268,7 @@ declare const FinishPasskeyEnrollmentResultSchema: v.SchemaWithPipe<readonly [v.
|
|
|
268
268
|
readonly recoveryCodes: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
269
269
|
readonly session: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
270
270
|
readonly sessionId: v.StringSchema<undefined>;
|
|
271
|
-
readonly sessionLevel: v.SchemaWithPipe<readonly [v.
|
|
271
|
+
readonly sessionLevel: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
|
|
272
272
|
readonly authenticationMethods: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
273
273
|
readonly authTime: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
274
274
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -342,7 +342,7 @@ declare const BeginMfaChallengeInputSchema: v.SchemaWithPipe<readonly [v.StrictO
|
|
|
342
342
|
type BeginMfaChallengeInput = v.InferInput<typeof BeginMfaChallengeInputSchema>;
|
|
343
343
|
declare const BeginMfaChallengeResultSchema: v.ObjectSchema<{
|
|
344
344
|
readonly challengeId: v.StringSchema<undefined>;
|
|
345
|
-
readonly allowedFactorTypes: v.SchemaWithPipe<readonly [v.ArraySchema<v.
|
|
345
|
+
readonly allowedFactorTypes: v.SchemaWithPipe<readonly [v.ArraySchema<v.NumberSchema<undefined>, undefined>, v.TransformAction<number[], ("unspecified" | "totp" | "passkey" | "recoveryCode")[]>]>;
|
|
346
346
|
readonly publicKey: v.OptionalSchema<v.CustomSchema<import("@bufbuild/protobuf").JsonObject, undefined>, undefined>;
|
|
347
347
|
readonly expiresAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
348
348
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -371,7 +371,7 @@ type VerifyRecoveryCodeChallengeInput = v.InferInput<typeof VerifyRecoveryCodeCh
|
|
|
371
371
|
declare const CompleteMfaChallengeResultSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
372
372
|
readonly session: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
373
373
|
readonly sessionId: v.StringSchema<undefined>;
|
|
374
|
-
readonly sessionLevel: v.SchemaWithPipe<readonly [v.
|
|
374
|
+
readonly sessionLevel: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
|
|
375
375
|
readonly authenticationMethods: v.OptionalSchema<v.ArraySchema<v.StringSchema<undefined>, undefined>, readonly []>;
|
|
376
376
|
readonly authTime: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
377
377
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -443,7 +443,7 @@ type UpdateMfaFactorInput = v.InferInput<typeof UpdateMfaFactorInputSchema>;
|
|
|
443
443
|
declare const UpdateMfaFactorResultSchema: v.ObjectSchema<{
|
|
444
444
|
readonly factor: v.OptionalSchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
|
|
445
445
|
readonly factorId: v.StringSchema<undefined>;
|
|
446
|
-
readonly factorType: v.SchemaWithPipe<readonly [v.
|
|
446
|
+
readonly factorType: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
|
|
447
447
|
readonly label: v.StringSchema<undefined>;
|
|
448
448
|
readonly createdAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
|
|
449
449
|
readonly seconds: v.BigintSchema<undefined>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfa.schemas.d.ts","names":[],"sources":["../../../src/services/mfa/mfa.schemas.ts"],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mfa.schemas.d.ts","names":[],"sources":["../../../src/services/mfa/mfa.schemas.ts"],"mappings":";;;cAUa,sBAAoB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;KAerB,iBAAiB,EAAE,mBAAmB;cAErC,iBAAe,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiBhB,YAAY,EAAE,mBAAmB;cAEhC,8BAA4B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAK7B,uBAAuB,EAAE,mBAAmB;cAE3C,gCAA8B,EAAA;;;KAI/B,2BAA2B,EAAE,kBAAkB;cAE9C,iCAA+B,EAAA;;;;;;;;;;;;KAOhC,4BAA4B,EAAE,mBAAmB;cAEhD,iCAA+B,EAAA;;;;KAKhC,4BAA4B,EAAE,kBAAkB;cAE/C,kCAAgC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiBjC,6BAA6B,EAAE,mBAAmB;cAEjD,mCAAiC,EAAA;;;KAIlC,8BAA8B,EAAE,kBAAkB;cAEjD,oCAAkC,EAAA;;;;;;;;;;;KAMnC,+BAA+B,EAAE,mBAAmB;cAEnD,oCAAkC,EAAA;;;;KAKnC,+BAA+B,EAAE,kBAAkB;cAElD,qCAAmC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAEpC,gCAAgC,EAAE,mBACnC;cAGE,8BAA4B,EAAA,yBAAA,EAAA;;;;;;;KAS7B,yBAAyB,EAAE,kBAAkB;cAE5C,+BAA6B,EAAA;;;;;;;;;;;;KAU9B,0BAA0B,EAAE,mBAAmB;cAE9C,gCAA8B,EAAA;;;;KAK/B,2BAA2B,EAAE,kBAAkB;cAE9C,mCAAiC,EAAA;;;;KAKlC,8BAA8B,EAAE,kBAAkB;cAEjD,wCAAsC,EAAA;;;;KAKvC,mCAAmC,EAAE,kBACtC;cAGE,kCAAgC,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAiBjC,6BAA6B,EAAE,mBAAmB;cAEjD,4BAA0B,EAAA;;;KAI3B,uBAAuB,EAAE,kBAAkB;cAE1C,4BAA0B,EAAA;;;;KAK3B,uBAAuB,EAAE,kBAAkB;cAE1C,6BAA2B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAI5B,wBAAwB,EAAE,mBAAmB;cAE5C,oCAAkC,EAAA;KAEnC,+BAA+B,EAAE,kBAAkB;cAElD,qCAAmC,EAAA;;;KAIpC,gCAAgC,EAAE,mBACnC;cAGE,6BAA2B,EAAA;;;;;KAM5B,wBAAwB,EAAE,kBAAkB;cAE3C,8BAA4B,EAAA;;;;;;;;;;;KAM7B,yBAAyB,EAAE,mBAAmB;cAE7C,+BAA6B,EAAA;;;;;;;KAQ9B,0BAA0B,EAAE,kBAAkB;cAE7C,+BAA6B,EAAA;;;;;;;;KAS9B,0BAA0B,EAAE,kBAAkB"}
|
|
@@ -1,12 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
|
|
1
|
+
import { enumLabel, enumLabelSchema } from "../../shared/proto-enum-codec.js";
|
|
3
2
|
import { JsonObjectSchema, OptionalTimestampMsSchema } from "../../shared/schemas.js";
|
|
4
3
|
import { MFA_CHALLENGE_PURPOSE_VALUES, MfaChallengePurposeCodec, MfaFactorTypeCodec, SessionLevelCodec } from "./mfa.codecs.js";
|
|
5
4
|
import * as v from "valibot";
|
|
6
5
|
//#region src/services/mfa/mfa.schemas.ts
|
|
7
6
|
const MfaSessionInfoSchema = v.pipe(v.object({
|
|
8
7
|
sessionId: v.string(),
|
|
9
|
-
sessionLevel:
|
|
8
|
+
sessionLevel: enumLabelSchema(SessionLevelCodec.protoToOutput),
|
|
10
9
|
authenticationMethods: v.optional(v.array(v.string()), []),
|
|
11
10
|
authTime: OptionalTimestampMsSchema
|
|
12
11
|
}), v.transform(({ sessionId, sessionLevel, authenticationMethods, authTime }) => ({
|
|
@@ -17,7 +16,7 @@ const MfaSessionInfoSchema = v.pipe(v.object({
|
|
|
17
16
|
})));
|
|
18
17
|
const MfaFactorSchema = v.pipe(v.object({
|
|
19
18
|
factorId: v.string(),
|
|
20
|
-
factorType:
|
|
19
|
+
factorType: enumLabelSchema(MfaFactorTypeCodec.protoToOutput),
|
|
21
20
|
label: v.string(),
|
|
22
21
|
createdAt: OptionalTimestampMsSchema,
|
|
23
22
|
lastUsedAt: OptionalTimestampMsSchema
|
|
@@ -70,7 +69,7 @@ const FinishPasskeyEnrollmentResultSchema = FinishTotpEnrollmentResultSchema;
|
|
|
70
69
|
const BeginMfaChallengeInputSchema = v.pipe(v.strictObject({ purpose: v.picklist(MFA_CHALLENGE_PURPOSE_VALUES) }), v.transform((data) => ({ purpose: MfaChallengePurposeCodec.inputToProto[data.purpose] })));
|
|
71
70
|
const BeginMfaChallengeResultSchema = v.object({
|
|
72
71
|
challengeId: v.string(),
|
|
73
|
-
allowedFactorTypes: v.pipe(v.array(v.
|
|
72
|
+
allowedFactorTypes: v.pipe(v.array(v.number()), v.transform((arr) => arr.map((t) => enumLabel(MfaFactorTypeCodec.protoToOutput, t)))),
|
|
74
73
|
publicKey: v.optional(JsonObjectSchema),
|
|
75
74
|
expiresAt: OptionalTimestampMsSchema
|
|
76
75
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mfa.schemas.js","names":["Proto.SessionLevel","Proto.MFAFactorType"],"sources":["../../../src/services/mfa/mfa.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport * as Proto from \"../../gen/auth/v1/mfa_pb.js\";\nimport { JsonObjectSchema, OptionalTimestampMsSchema } from \"../../shared/schemas.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport {\n MfaChallengePurposeCodec,\n MfaFactorTypeCodec,\n MFA_CHALLENGE_PURPOSE_VALUES,\n SessionLevelCodec,\n} from \"./mfa.codecs.js\";\n\nexport const MfaSessionInfoSchema = v.pipe(\n v.object({\n sessionId: v.string(),\n sessionLevel: v.pipe(\n v.enum(Proto.SessionLevel),\n v.transform((v) =>\n requiredEnumLabel(\n SessionLevelCodec.protoToOutput,\n v,\n \"PolyesterClient.MfaSessionInfoSchema\",\n \"sessionLevel\",\n ),\n ),\n ),\n authenticationMethods: v.optional(v.array(v.string()), []),\n authTime: OptionalTimestampMsSchema,\n }),\n v.transform(({ sessionId, sessionLevel, authenticationMethods, authTime }) => ({\n sessionId,\n sessionLevel,\n authenticationMethods,\n authTimeMs: authTime,\n })),\n);\n\nexport type MfaSessionInfo = v.InferOutput<typeof MfaSessionInfoSchema>;\n\nexport const MfaFactorSchema = v.pipe(\n v.object({\n factorId: v.string(),\n factorType: v.pipe(\n v.enum(Proto.MFAFactorType),\n v.transform((v) =>\n requiredEnumLabel(\n MfaFactorTypeCodec.protoToOutput,\n v,\n \"PolyesterClient.MfaFactorSchema\",\n \"factorType\",\n ),\n ),\n ),\n label: v.string(),\n createdAt: OptionalTimestampMsSchema,\n lastUsedAt: OptionalTimestampMsSchema,\n }),\n v.transform(({ factorId, factorType, label, createdAt, lastUsedAt }) => ({\n factorId,\n factorType,\n label,\n createdAtMs: createdAt,\n lastUsedAtMs: lastUsedAt,\n })),\n);\n\nexport type MfaFactor = v.InferOutput<typeof MfaFactorSchema>;\n\nexport const ListMfaFactorsResponseSchema = v.object({\n factors: v.optional(v.array(MfaFactorSchema), []),\n hasRecoveryCodes: v.optional(v.boolean(), false),\n});\n\nexport type ListMfaFactorsResult = v.InferOutput<typeof ListMfaFactorsResponseSchema>;\n\nexport const BeginTotpEnrollmentInputSchema = v.strictObject({\n label: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type BeginTotpEnrollmentInput = v.InferInput<typeof BeginTotpEnrollmentInputSchema>;\n\nexport const BeginTotpEnrollmentResultSchema = v.object({\n enrollmentId: v.string(),\n secret: v.string(),\n otpauthUri: v.string(),\n expiresAt: OptionalTimestampMsSchema,\n});\n\nexport type BeginTotpEnrollmentResult = v.InferOutput<typeof BeginTotpEnrollmentResultSchema>;\n\nexport const FinishTotpEnrollmentInputSchema = v.strictObject({\n enrollmentId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n code: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type FinishTotpEnrollmentInput = v.InferInput<typeof FinishTotpEnrollmentInputSchema>;\n\nexport const FinishTotpEnrollmentResultSchema = v.pipe(\n v.object({\n factor: v.optional(MfaFactorSchema),\n recoveryCodes: v.optional(v.array(v.string()), []),\n session: v.optional(MfaSessionInfoSchema),\n accessToken: v.optional(v.string(), \"\"),\n accessTokenExpiresAt: OptionalTimestampMsSchema,\n }),\n v.transform(({ factor, recoveryCodes, session, accessToken, accessTokenExpiresAt }) => ({\n factor,\n recoveryCodes,\n session,\n accessToken: accessToken.trim() || undefined,\n accessTokenExpiresAtMs: accessTokenExpiresAt,\n })),\n);\n\nexport type FinishTotpEnrollmentResult = v.InferOutput<typeof FinishTotpEnrollmentResultSchema>;\n\nexport const BeginPasskeyEnrollmentInputSchema = v.strictObject({\n label: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type BeginPasskeyEnrollmentInput = v.InferInput<typeof BeginPasskeyEnrollmentInputSchema>;\n\nexport const BeginPasskeyEnrollmentResultSchema = v.object({\n enrollmentId: v.string(),\n publicKey: v.optional(JsonObjectSchema),\n expiresAt: OptionalTimestampMsSchema,\n});\n\nexport type BeginPasskeyEnrollmentResult = v.InferOutput<typeof BeginPasskeyEnrollmentResultSchema>;\n\nexport const FinishPasskeyEnrollmentInputSchema = v.strictObject({\n enrollmentId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n credential: JsonObjectSchema,\n});\n\nexport type FinishPasskeyEnrollmentInput = v.InferInput<typeof FinishPasskeyEnrollmentInputSchema>;\n\nexport const FinishPasskeyEnrollmentResultSchema = FinishTotpEnrollmentResultSchema;\n\nexport type FinishPasskeyEnrollmentResult = v.InferOutput<\n typeof FinishPasskeyEnrollmentResultSchema\n>;\n\nexport const BeginMfaChallengeInputSchema = v.pipe(\n v.strictObject({\n purpose: v.picklist(MFA_CHALLENGE_PURPOSE_VALUES),\n }),\n v.transform((data) => ({\n purpose: MfaChallengePurposeCodec.inputToProto[data.purpose],\n })),\n);\n\nexport type BeginMfaChallengeInput = v.InferInput<typeof BeginMfaChallengeInputSchema>;\n\nexport const BeginMfaChallengeResultSchema = v.object({\n challengeId: v.string(),\n allowedFactorTypes: v.pipe(\n v.array(v.enum(Proto.MFAFactorType)),\n v.transform((arr) =>\n arr.map((t) =>\n requiredEnumLabel(\n MfaFactorTypeCodec.protoToOutput,\n t,\n \"PolyesterClient.BeginMfaChallengeResultSchema\",\n \"allowed factor type\",\n ),\n ),\n ),\n ),\n publicKey: v.optional(JsonObjectSchema),\n expiresAt: OptionalTimestampMsSchema,\n});\n\nexport type BeginMfaChallengeResult = v.InferOutput<typeof BeginMfaChallengeResultSchema>;\n\nexport const VerifyTotpChallengeInputSchema = v.strictObject({\n challengeId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n code: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type VerifyTotpChallengeInput = v.InferInput<typeof VerifyTotpChallengeInputSchema>;\n\nexport const FinishPasskeyChallengeInputSchema = v.strictObject({\n challengeId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n credential: JsonObjectSchema,\n});\n\nexport type FinishPasskeyChallengeInput = v.InferInput<typeof FinishPasskeyChallengeInputSchema>;\n\nexport const VerifyRecoveryCodeChallengeInputSchema = v.strictObject({\n challengeId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n recoveryCode: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type VerifyRecoveryCodeChallengeInput = v.InferInput<\n typeof VerifyRecoveryCodeChallengeInputSchema\n>;\n\nexport const CompleteMfaChallengeResultSchema = v.pipe(\n v.object({\n session: v.optional(MfaSessionInfoSchema),\n accessToken: v.string(),\n accessTokenExpiresAt: OptionalTimestampMsSchema,\n stepUpToken: v.string(),\n stepUpExpiresAt: OptionalTimestampMsSchema,\n }),\n v.transform(({ session, accessToken, accessTokenExpiresAt, stepUpToken, stepUpExpiresAt }) => ({\n session,\n accessToken: accessToken.trim() || undefined,\n accessTokenExpiresAtMs: accessTokenExpiresAt,\n stepUpToken: stepUpToken.trim() || undefined,\n stepUpExpiresAtMs: stepUpExpiresAt,\n })),\n);\n\nexport type CompleteMfaChallengeResult = v.InferOutput<typeof CompleteMfaChallengeResultSchema>;\n\nexport const DeleteMfaFactorInputSchema = v.strictObject({\n factorId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type DeleteMfaFactorInput = v.InferInput<typeof DeleteMfaFactorInputSchema>;\n\nexport const UpdateMfaFactorInputSchema = v.strictObject({\n factorId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n label: v.pipe(v.string(), v.maxLength(128)),\n});\n\nexport type UpdateMfaFactorInput = v.InferInput<typeof UpdateMfaFactorInputSchema>;\n\nexport const UpdateMfaFactorResultSchema = v.object({\n factor: v.optional(MfaFactorSchema),\n});\n\nexport type UpdateMfaFactorResult = v.InferOutput<typeof UpdateMfaFactorResultSchema>;\n\nexport const RegenerateRecoveryCodesInputSchema = v.strictObject({});\n\nexport type RegenerateRecoveryCodesInput = v.InferInput<typeof RegenerateRecoveryCodesInputSchema>;\n\nexport const RegenerateRecoveryCodesResultSchema = v.object({\n recoveryCodes: v.optional(v.array(v.string()), []),\n});\n\nexport type RegenerateRecoveryCodesResult = v.InferOutput<\n typeof RegenerateRecoveryCodesResultSchema\n>;\n\nexport const ClaimFreshStepUpInputSchema = v.strictObject({\n requestId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n actionType: v.pipe(v.string(), v.trim(), v.minLength(1)),\n subject: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type ClaimFreshStepUpInput = v.InferInput<typeof ClaimFreshStepUpInputSchema>;\n\nexport const ClaimFreshStepUpResultSchema = v.object({\n stepUpId: v.string(),\n claimNonce: v.string(),\n claimExpiresAt: OptionalTimestampMsSchema,\n});\n\nexport type ClaimFreshStepUpResult = v.InferOutput<typeof ClaimFreshStepUpResultSchema>;\n\nexport const ConsumeFreshStepUpInputSchema = v.strictObject({\n stepUpId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n requestId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n actionType: v.pipe(v.string(), v.trim(), v.minLength(1)),\n subject: v.pipe(v.string(), v.trim(), v.minLength(1)),\n claimNonce: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type ConsumeFreshStepUpInput = v.InferInput<typeof ConsumeFreshStepUpInputSchema>;\n\nexport const ReleaseFreshStepUpInputSchema = v.strictObject({\n stepUpId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n requestId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n actionType: v.pipe(v.string(), v.trim(), v.minLength(1)),\n subject: v.pipe(v.string(), v.trim(), v.minLength(1)),\n claimNonce: v.pipe(v.string(), v.trim(), v.minLength(1)),\n reason: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type ReleaseFreshStepUpInput = v.InferInput<typeof ReleaseFreshStepUpInputSchema>;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"mfa.schemas.js","names":[],"sources":["../../../src/services/mfa/mfa.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport { JsonObjectSchema, OptionalTimestampMsSchema } from \"../../shared/schemas.js\";\nimport { enumLabel, enumLabelSchema } from \"../../shared/proto-enum-codec.js\";\nimport {\n MfaChallengePurposeCodec,\n MfaFactorTypeCodec,\n MFA_CHALLENGE_PURPOSE_VALUES,\n SessionLevelCodec,\n} from \"./mfa.codecs.js\";\n\nexport const MfaSessionInfoSchema = v.pipe(\n v.object({\n sessionId: v.string(),\n sessionLevel: enumLabelSchema(SessionLevelCodec.protoToOutput),\n authenticationMethods: v.optional(v.array(v.string()), []),\n authTime: OptionalTimestampMsSchema,\n }),\n v.transform(({ sessionId, sessionLevel, authenticationMethods, authTime }) => ({\n sessionId,\n sessionLevel,\n authenticationMethods,\n authTimeMs: authTime,\n })),\n);\n\nexport type MfaSessionInfo = v.InferOutput<typeof MfaSessionInfoSchema>;\n\nexport const MfaFactorSchema = v.pipe(\n v.object({\n factorId: v.string(),\n factorType: enumLabelSchema(MfaFactorTypeCodec.protoToOutput),\n label: v.string(),\n createdAt: OptionalTimestampMsSchema,\n lastUsedAt: OptionalTimestampMsSchema,\n }),\n v.transform(({ factorId, factorType, label, createdAt, lastUsedAt }) => ({\n factorId,\n factorType,\n label,\n createdAtMs: createdAt,\n lastUsedAtMs: lastUsedAt,\n })),\n);\n\nexport type MfaFactor = v.InferOutput<typeof MfaFactorSchema>;\n\nexport const ListMfaFactorsResponseSchema = v.object({\n factors: v.optional(v.array(MfaFactorSchema), []),\n hasRecoveryCodes: v.optional(v.boolean(), false),\n});\n\nexport type ListMfaFactorsResult = v.InferOutput<typeof ListMfaFactorsResponseSchema>;\n\nexport const BeginTotpEnrollmentInputSchema = v.strictObject({\n label: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type BeginTotpEnrollmentInput = v.InferInput<typeof BeginTotpEnrollmentInputSchema>;\n\nexport const BeginTotpEnrollmentResultSchema = v.object({\n enrollmentId: v.string(),\n secret: v.string(),\n otpauthUri: v.string(),\n expiresAt: OptionalTimestampMsSchema,\n});\n\nexport type BeginTotpEnrollmentResult = v.InferOutput<typeof BeginTotpEnrollmentResultSchema>;\n\nexport const FinishTotpEnrollmentInputSchema = v.strictObject({\n enrollmentId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n code: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type FinishTotpEnrollmentInput = v.InferInput<typeof FinishTotpEnrollmentInputSchema>;\n\nexport const FinishTotpEnrollmentResultSchema = v.pipe(\n v.object({\n factor: v.optional(MfaFactorSchema),\n recoveryCodes: v.optional(v.array(v.string()), []),\n session: v.optional(MfaSessionInfoSchema),\n accessToken: v.optional(v.string(), \"\"),\n accessTokenExpiresAt: OptionalTimestampMsSchema,\n }),\n v.transform(({ factor, recoveryCodes, session, accessToken, accessTokenExpiresAt }) => ({\n factor,\n recoveryCodes,\n session,\n accessToken: accessToken.trim() || undefined,\n accessTokenExpiresAtMs: accessTokenExpiresAt,\n })),\n);\n\nexport type FinishTotpEnrollmentResult = v.InferOutput<typeof FinishTotpEnrollmentResultSchema>;\n\nexport const BeginPasskeyEnrollmentInputSchema = v.strictObject({\n label: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type BeginPasskeyEnrollmentInput = v.InferInput<typeof BeginPasskeyEnrollmentInputSchema>;\n\nexport const BeginPasskeyEnrollmentResultSchema = v.object({\n enrollmentId: v.string(),\n publicKey: v.optional(JsonObjectSchema),\n expiresAt: OptionalTimestampMsSchema,\n});\n\nexport type BeginPasskeyEnrollmentResult = v.InferOutput<typeof BeginPasskeyEnrollmentResultSchema>;\n\nexport const FinishPasskeyEnrollmentInputSchema = v.strictObject({\n enrollmentId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n credential: JsonObjectSchema,\n});\n\nexport type FinishPasskeyEnrollmentInput = v.InferInput<typeof FinishPasskeyEnrollmentInputSchema>;\n\nexport const FinishPasskeyEnrollmentResultSchema = FinishTotpEnrollmentResultSchema;\n\nexport type FinishPasskeyEnrollmentResult = v.InferOutput<\n typeof FinishPasskeyEnrollmentResultSchema\n>;\n\nexport const BeginMfaChallengeInputSchema = v.pipe(\n v.strictObject({\n purpose: v.picklist(MFA_CHALLENGE_PURPOSE_VALUES),\n }),\n v.transform((data) => ({\n purpose: MfaChallengePurposeCodec.inputToProto[data.purpose],\n })),\n);\n\nexport type BeginMfaChallengeInput = v.InferInput<typeof BeginMfaChallengeInputSchema>;\n\nexport const BeginMfaChallengeResultSchema = v.object({\n challengeId: v.string(),\n allowedFactorTypes: v.pipe(\n v.array(v.number()),\n v.transform((arr) => arr.map((t) => enumLabel(MfaFactorTypeCodec.protoToOutput, t))),\n ),\n publicKey: v.optional(JsonObjectSchema),\n expiresAt: OptionalTimestampMsSchema,\n});\n\nexport type BeginMfaChallengeResult = v.InferOutput<typeof BeginMfaChallengeResultSchema>;\n\nexport const VerifyTotpChallengeInputSchema = v.strictObject({\n challengeId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n code: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type VerifyTotpChallengeInput = v.InferInput<typeof VerifyTotpChallengeInputSchema>;\n\nexport const FinishPasskeyChallengeInputSchema = v.strictObject({\n challengeId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n credential: JsonObjectSchema,\n});\n\nexport type FinishPasskeyChallengeInput = v.InferInput<typeof FinishPasskeyChallengeInputSchema>;\n\nexport const VerifyRecoveryCodeChallengeInputSchema = v.strictObject({\n challengeId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n recoveryCode: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type VerifyRecoveryCodeChallengeInput = v.InferInput<\n typeof VerifyRecoveryCodeChallengeInputSchema\n>;\n\nexport const CompleteMfaChallengeResultSchema = v.pipe(\n v.object({\n session: v.optional(MfaSessionInfoSchema),\n accessToken: v.string(),\n accessTokenExpiresAt: OptionalTimestampMsSchema,\n stepUpToken: v.string(),\n stepUpExpiresAt: OptionalTimestampMsSchema,\n }),\n v.transform(({ session, accessToken, accessTokenExpiresAt, stepUpToken, stepUpExpiresAt }) => ({\n session,\n accessToken: accessToken.trim() || undefined,\n accessTokenExpiresAtMs: accessTokenExpiresAt,\n stepUpToken: stepUpToken.trim() || undefined,\n stepUpExpiresAtMs: stepUpExpiresAt,\n })),\n);\n\nexport type CompleteMfaChallengeResult = v.InferOutput<typeof CompleteMfaChallengeResultSchema>;\n\nexport const DeleteMfaFactorInputSchema = v.strictObject({\n factorId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type DeleteMfaFactorInput = v.InferInput<typeof DeleteMfaFactorInputSchema>;\n\nexport const UpdateMfaFactorInputSchema = v.strictObject({\n factorId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n label: v.pipe(v.string(), v.maxLength(128)),\n});\n\nexport type UpdateMfaFactorInput = v.InferInput<typeof UpdateMfaFactorInputSchema>;\n\nexport const UpdateMfaFactorResultSchema = v.object({\n factor: v.optional(MfaFactorSchema),\n});\n\nexport type UpdateMfaFactorResult = v.InferOutput<typeof UpdateMfaFactorResultSchema>;\n\nexport const RegenerateRecoveryCodesInputSchema = v.strictObject({});\n\nexport type RegenerateRecoveryCodesInput = v.InferInput<typeof RegenerateRecoveryCodesInputSchema>;\n\nexport const RegenerateRecoveryCodesResultSchema = v.object({\n recoveryCodes: v.optional(v.array(v.string()), []),\n});\n\nexport type RegenerateRecoveryCodesResult = v.InferOutput<\n typeof RegenerateRecoveryCodesResultSchema\n>;\n\nexport const ClaimFreshStepUpInputSchema = v.strictObject({\n requestId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n actionType: v.pipe(v.string(), v.trim(), v.minLength(1)),\n subject: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type ClaimFreshStepUpInput = v.InferInput<typeof ClaimFreshStepUpInputSchema>;\n\nexport const ClaimFreshStepUpResultSchema = v.object({\n stepUpId: v.string(),\n claimNonce: v.string(),\n claimExpiresAt: OptionalTimestampMsSchema,\n});\n\nexport type ClaimFreshStepUpResult = v.InferOutput<typeof ClaimFreshStepUpResultSchema>;\n\nexport const ConsumeFreshStepUpInputSchema = v.strictObject({\n stepUpId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n requestId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n actionType: v.pipe(v.string(), v.trim(), v.minLength(1)),\n subject: v.pipe(v.string(), v.trim(), v.minLength(1)),\n claimNonce: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type ConsumeFreshStepUpInput = v.InferInput<typeof ConsumeFreshStepUpInputSchema>;\n\nexport const ReleaseFreshStepUpInputSchema = v.strictObject({\n stepUpId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n requestId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n actionType: v.pipe(v.string(), v.trim(), v.minLength(1)),\n subject: v.pipe(v.string(), v.trim(), v.minLength(1)),\n claimNonce: v.pipe(v.string(), v.trim(), v.minLength(1)),\n reason: v.pipe(v.string(), v.trim(), v.minLength(1)),\n});\n\nexport type ReleaseFreshStepUpInput = v.InferInput<typeof ReleaseFreshStepUpInputSchema>;\n"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ declare const GetOrderbookInputSchema: v.SchemaWithPipe<readonly [v.ObjectSchema
|
|
|
10
10
|
depth: number;
|
|
11
11
|
}, {
|
|
12
12
|
symbolId: number;
|
|
13
|
-
depth:
|
|
13
|
+
depth: 1 | 10 | 5 | 20 | 200 | 1000 | 500 | 100 | 50;
|
|
14
14
|
protoDepth: Depth;
|
|
15
15
|
}>]>;
|
|
16
16
|
type GetOrderbookInput = v.InferInput<typeof GetOrderbookInputSchema>;
|