@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.
Files changed (177) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +18 -12
  3. package/dist/account-signer/create-polyester-account-signer.d.ts +9 -5
  4. package/dist/account-signer/create-polyester-account-signer.d.ts.map +1 -1
  5. package/dist/account-signer/create-polyester-account-signer.js +9 -5
  6. package/dist/account-signer/create-polyester-account-signer.js.map +1 -1
  7. package/dist/account-signer/types.d.ts +10 -4
  8. package/dist/account-signer/types.d.ts.map +1 -1
  9. package/dist/account-signer/types.js.map +1 -1
  10. package/dist/core-client.d.ts +3 -0
  11. package/dist/core-client.d.ts.map +1 -1
  12. package/dist/core-client.js +23 -45
  13. package/dist/core-client.js.map +1 -1
  14. package/dist/gen/auth/v1/auth_pb.d.ts +7 -4
  15. package/dist/gen/auth/v1/auth_pb.d.ts.map +1 -1
  16. package/dist/gen/auth/v1/auth_pb.js.map +1 -1
  17. package/dist/gen/claims/v1/claims_pb.d.ts +313 -0
  18. package/dist/gen/claims/v1/claims_pb.d.ts.map +1 -0
  19. package/dist/gen/claims/v1/claims_pb.js +135 -0
  20. package/dist/gen/claims/v1/claims_pb.js.map +1 -0
  21. package/dist/gen/index.d.ts +2 -1
  22. package/dist/gen/index.js +2 -1
  23. package/dist/gen/orders/v1/orders_pb.d.ts +50 -3
  24. package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -1
  25. package/dist/gen/orders/v1/orders_pb.js +55 -43
  26. package/dist/gen/orders/v1/orders_pb.js.map +1 -1
  27. package/dist/gen/orders/v1/orders_read_pb.d.ts +10 -0
  28. package/dist/gen/orders/v1/orders_read_pb.d.ts.map +1 -1
  29. package/dist/gen/orders/v1/orders_read_pb.js +3 -1
  30. package/dist/gen/orders/v1/orders_read_pb.js.map +1 -1
  31. package/dist/index.d.ts +4 -1
  32. package/dist/realtime/client.js +45 -26
  33. package/dist/realtime/client.js.map +1 -1
  34. package/dist/services/accounts/accounts.schemas.d.ts +2 -2
  35. package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
  36. package/dist/services/accounts/accounts.schemas.js +3 -3
  37. package/dist/services/accounts/accounts.schemas.js.map +1 -1
  38. package/dist/services/address-book/address-book.schemas.d.ts +67 -68
  39. package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
  40. package/dist/services/address-book/address-book.schemas.js +11 -13
  41. package/dist/services/address-book/address-book.schemas.js.map +1 -1
  42. package/dist/services/api-keys/api-keys.schemas.d.ts +1 -2
  43. package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
  44. package/dist/services/api-keys/api-keys.schemas.js +4 -9
  45. package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
  46. package/dist/services/auth/account-signer-auth.js +1 -1
  47. package/dist/services/auth/account-signer-auth.js.map +1 -1
  48. package/dist/services/auth/auth.d.ts +2 -3
  49. package/dist/services/auth/auth.d.ts.map +1 -1
  50. package/dist/services/auth/auth.js +4 -2
  51. package/dist/services/auth/auth.js.map +1 -1
  52. package/dist/services/balances/balances.schemas.d.ts +3 -3
  53. package/dist/services/balances/balances.schemas.d.ts.map +1 -1
  54. package/dist/services/balances/balances.schemas.js +7 -12
  55. package/dist/services/balances/balances.schemas.js.map +1 -1
  56. package/dist/services/candles/candles.schemas.d.ts +3 -3
  57. package/dist/services/candles/candles.schemas.d.ts.map +1 -1
  58. package/dist/services/candles/candles.schemas.js +5 -6
  59. package/dist/services/candles/candles.schemas.js.map +1 -1
  60. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +3 -3
  61. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
  62. package/dist/services/chain-analytics/chain-analytics.schemas.js +2 -3
  63. package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
  64. package/dist/services/claims/claims.codecs.d.ts +8 -0
  65. package/dist/services/claims/claims.codecs.d.ts.map +1 -0
  66. package/dist/services/claims/claims.codecs.js +17 -0
  67. package/dist/services/claims/claims.codecs.js.map +1 -0
  68. package/dist/services/claims/claims.d.ts +19 -0
  69. package/dist/services/claims/claims.d.ts.map +1 -0
  70. package/dist/services/claims/claims.js +30 -0
  71. package/dist/services/claims/claims.js.map +1 -0
  72. package/dist/services/claims/claims.schemas.d.ts +122 -0
  73. package/dist/services/claims/claims.schemas.d.ts.map +1 -0
  74. package/dist/services/claims/claims.schemas.js +47 -0
  75. package/dist/services/claims/claims.schemas.js.map +1 -0
  76. package/dist/services/claims/claims.types.d.ts +3 -0
  77. package/dist/services/claims/index.d.ts +5 -0
  78. package/dist/services/heatmap/heatmap.schemas.d.ts +4 -4
  79. package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
  80. package/dist/services/heatmap/heatmap.schemas.js +10 -10
  81. package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
  82. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
  83. package/dist/services/internal-transfers/internal-transfers.schemas.js +1 -5
  84. package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
  85. package/dist/services/lifecycle/lifecycle.schemas.d.ts +90 -90
  86. package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
  87. package/dist/services/lifecycle/lifecycle.schemas.js +10 -11
  88. package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
  89. package/dist/services/market-overview/market-overview.schemas.d.ts +1 -1
  90. package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
  91. package/dist/services/market-overview/market-overview.schemas.js +3 -3
  92. package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
  93. package/dist/services/mfa/mfa.schemas.d.ts +11 -11
  94. package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
  95. package/dist/services/mfa/mfa.schemas.js +4 -5
  96. package/dist/services/mfa/mfa.schemas.js.map +1 -1
  97. package/dist/services/orderbook/orderbook.schemas.d.ts +1 -1
  98. package/dist/services/orders/order-enums.codecs.js +2 -1
  99. package/dist/services/orders/order-enums.codecs.js.map +1 -1
  100. package/dist/services/orders/order-errors.schemas.d.ts +4 -5
  101. package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
  102. package/dist/services/orders/orders-batch.schemas.d.ts +110 -32
  103. package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
  104. package/dist/services/orders/orders-batch.schemas.js +9 -10
  105. package/dist/services/orders/orders-batch.schemas.js.map +1 -1
  106. package/dist/services/orders/orders-input.schemas.d.ts +111 -8
  107. package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
  108. package/dist/services/orders/orders-input.schemas.js +20 -4
  109. package/dist/services/orders/orders-input.schemas.js.map +1 -1
  110. package/dist/services/orders/orders-modify.schemas.d.ts +2 -2
  111. package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
  112. package/dist/services/orders/orders-modify.schemas.js +3 -3
  113. package/dist/services/orders/orders-modify.schemas.js.map +1 -1
  114. package/dist/services/orders/orders-output.schemas.d.ts +48 -32
  115. package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
  116. package/dist/services/orders/orders-output.schemas.js +16 -16
  117. package/dist/services/orders/orders-output.schemas.js.map +1 -1
  118. package/dist/services/orders/orders-risk.schemas.d.ts +0 -1
  119. package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
  120. package/dist/services/orders/orders-risk.schemas.js +4 -4
  121. package/dist/services/orders/orders-risk.schemas.js.map +1 -1
  122. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +4 -4
  123. package/dist/services/policies/shared.codecs.js +3 -3
  124. package/dist/services/policies/shared.codecs.js.map +1 -1
  125. package/dist/services/policies/shared.d.ts +0 -1
  126. package/dist/services/policies/shared.d.ts.map +1 -1
  127. package/dist/services/policies/shared.js +2 -3
  128. package/dist/services/policies/shared.js.map +1 -1
  129. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +2 -2
  130. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
  131. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +2 -5
  132. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
  133. package/dist/services/rate-limits/rate-limits.schemas.d.ts +6 -7
  134. package/dist/services/rate-limits/rate-limits.schemas.d.ts.map +1 -1
  135. package/dist/services/rate-limits/rate-limits.schemas.js +2 -3
  136. package/dist/services/rate-limits/rate-limits.schemas.js.map +1 -1
  137. package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
  138. package/dist/services/social-verification/social-verification.schemas.js +4 -4
  139. package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
  140. package/dist/services/subaccounts/subaccounts.schemas.d.ts +23 -24
  141. package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
  142. package/dist/services/subaccounts/subaccounts.schemas.js +10 -12
  143. package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
  144. package/dist/services/trades/trades.schemas.d.ts +1 -1
  145. package/dist/services/trades/trades.schemas.d.ts.map +1 -1
  146. package/dist/services/trades/trades.schemas.js +4 -8
  147. package/dist/services/trades/trades.schemas.js.map +1 -1
  148. package/dist/services/transfers/transfers.schemas.d.ts +3 -4
  149. package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
  150. package/dist/services/transfers/transfers.schemas.js +5 -10
  151. package/dist/services/transfers/transfers.schemas.js.map +1 -1
  152. package/dist/services/triggers/trigger-input.schemas.d.ts +2 -2
  153. package/dist/services/triggers/triggers-output.schemas.d.ts +56 -58
  154. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
  155. package/dist/services/triggers/triggers-output.schemas.js +34 -36
  156. package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
  157. package/dist/services/whiteboard/whiteboard.schemas.d.ts +42 -42
  158. package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
  159. package/dist/services/whiteboard/whiteboard.schemas.js +9 -10
  160. package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
  161. package/dist/shared/proto-enum-codec.js +11 -6
  162. package/dist/shared/proto-enum-codec.js.map +1 -1
  163. package/dist/shared/rate-limit.schemas.d.ts +4 -5
  164. package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
  165. package/dist/shared/rate-limit.schemas.js +41 -46
  166. package/dist/shared/rate-limit.schemas.js.map +1 -1
  167. package/dist/shared/schemas.js +5 -1
  168. package/dist/shared/schemas.js.map +1 -1
  169. package/dist/shared/transports.d.ts +5 -1
  170. package/dist/shared/transports.d.ts.map +1 -1
  171. package/dist/shared/transports.js.map +1 -1
  172. package/dist/utils/timestamp.js +8 -1
  173. package/dist/utils/timestamp.js.map +1 -1
  174. package/dist/wired-services.d.ts.map +1 -1
  175. package/dist/wired-services.js +2 -0
  176. package/dist/wired-services.js.map +1 -1
  177. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lifecycle.schemas.d.ts","names":[],"sources":["../../../src/services/lifecycle/lifecycle.schemas.ts"],"mappings":";;;;;cA0IM,yBAAuB,EAAA;;;;cA6CvB,8BAA4B,EAAA,yBAAA,EAAA,kBAAA,uBAAA,EAAA,gBAAA;cAmE5B,6BAA2B,EAAA;;;;;cAMpB,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;cAoD7B,2BAAyB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA/KD;;cA6LxB,6BAA2B,EAAA,yBAAA,EAAA;;;;;;;cAS3B,mCAAiC,EAAA;;;;;;cAUjC,iCAA+B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAhNP;;cAsOxB,yBAAuB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAtOC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;EAAA;;cAoQxB,iCAA+B,EAAA;;;;;;cAO/B,oCAAkC,EAAA;;;;;;;;;;;cAYlC,4BAA0B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAvRF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAAA;;cA8TxB,2BAAyB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA9TD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;IAAA;;;;cAwUxB,gCAA8B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAxUN;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAAA;;;;cAiVxB,8BAA4B,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAjVJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAA;;;;;;;;;;;;;;;;;;;;QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAA;;;;;;;;;;;;;;;;;;;;QAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAA;;;MAAA;;;;;cAyVxB,4BAA0B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAzVF;;cAuXxB,oCAAkC,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAvXV;;;;KAiYzB,0BAA0B,EAAE,kBAAkB;KAG9C,wBAAwB,EAAE,kBAAkB;KAG5C,8BAA8B,EAAE,kBAAkB;KAKlD,uBAAuB,EAAE,mBAAmB;KAC5C,oBAAoB,EAAE,mBAAmB;KACzC,4BAA4B,EAAE,mBAAmB;KACjD,4BAA4B,EAAE,mBAAmB;KACjD,sBAAsB,EAAE,mBAAmB;KAE3C,2BAA2B,EAAE,mBAAmB;KAChD,yBAAyB,EAAE,mBAAmB;KAC9C,+BAA+B,EAAE,mBAAmB;KAEpD,oBAAoB,EAAE,mBAAmB;KACzC,sBAAsB,EAAE,mBAAmB;KAE3C,+BAA+B,EAAE,mBAAmB;KACpD,qBAAqB,EAAE,mBAAmB;KAC1C,kBAAkB;KAClB,wBAAwB,EAAE,mBAAmB;KAC7C,uBAAuB;KACvB,qBAAqB;KACrB,gBAAgB;KAChB,wBAAwB;KACxB,4BAA4B;KAE5B,uBAAuB,EAAE,mBAAmB"}
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 { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
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 { FlowDomain, FlowKind, FlowState, LifecycleSource, RequestFeeStatus } from "../../gen/chain/lifecycle/v1/types_pb.js";
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 = v.pipe(v.enum(FlowStep), v.transform((v) => requiredEnumLabel(LifecycleFlowStepCodec.protoToOutput, v, "LifecycleFlowStepSchema", "step")));
88
- const LifecycleSourceEnumSchema = v.pipe(v.enum(LifecycleSource), v.transform((v) => requiredEnumLabel(LifecycleSourceCodec.protoToOutput, v, "LifecycleSourceSchema", "source")));
89
- const LifecycleFlowKindEnumSchema = v.pipe(v.enum(FlowKind), v.transform((v) => requiredEnumLabel(LifecycleFlowKindCodec.protoToOutput, v, "LifecycleFlowKindSchema", "flow kind")));
90
- const LifecycleFlowDomainEnumSchema = v.pipe(v.enum(FlowDomain), v.transform((v) => requiredEnumLabel(LifecycleFlowDomainCodec.protoToOutput, v, "LifecycleFlowDomainSchema", "flow domain")));
91
- v.pipe(v.enum(FlowState), v.transform((v) => requiredEnumLabel(LifecycleFlowStateCodec.protoToOutput, v, "LifecycleFlowStateSchema", "flow state")));
92
- const LifecycleFlowStepActivityKindEnumSchema = v.pipe(v.enum(FlowStepActivityKind), v.transform((v) => requiredEnumLabel(LifecycleFlowStepActivityKindCodec.protoToOutput, v, "LifecycleFlowStepActivityKindSchema", "activity kind")));
93
- const LifecycleFlowTimelineStatusEnumSchema = v.pipe(v.enum(FlowTimelineStatus), v.transform((v) => requiredEnumLabel(LifecycleFlowTimelineStatusCodec.protoToOutput, v, "LifecycleFlowTimelineStatusSchema", "timeline status")));
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 = v.pipe(v.enum(RequestFeeStatus), v.transform((v) => requiredEnumLabel(LifecycleRequestFeeStatusCodec.protoToOutput, v, "LifecycleRequestFeeStatusSchema", "request fee status")));
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":"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"}
@@ -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.EnumSchema<typeof SparklineInterval, undefined>, v.TransformAction<SparklineInterval, "unspecified" | "1m" | "1h" | "1w" | "24h">]>;
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":";;;;;;cA4Ba,yBAAuB,EAAA;KAExB,wBAAwB,EAAE,mBAAmB;KAiB7C;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
+ {"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 { SparklineInterval } from "../../gen/marketoverview/v1/marketoverview_pb.js";
2
- import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
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: v.pipe(v.enum(SparklineInterval), v.transform((value) => requiredEnumLabel(SparklineIntervalCodec.protoToOutput, value, "MarketOverviewSparklineSchema", "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, MFAFactorType, SessionLevel } from "../../gen/auth/v1/mfa_pb.js";
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.EnumSchema<typeof SessionLevel, undefined>, v.TransformAction<SessionLevel, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
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.EnumSchema<typeof MFAFactorType, undefined>, v.TransformAction<MFAFactorType, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
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.EnumSchema<typeof MFAFactorType, undefined>, v.TransformAction<MFAFactorType, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
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.EnumSchema<typeof MFAFactorType, undefined>, v.TransformAction<MFAFactorType, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
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.EnumSchema<typeof SessionLevel, undefined>, v.TransformAction<SessionLevel, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
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.EnumSchema<typeof MFAFactorType, undefined>, v.TransformAction<MFAFactorType, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
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.EnumSchema<typeof SessionLevel, undefined>, v.TransformAction<SessionLevel, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
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.EnumSchema<typeof MFAFactorType, undefined>, undefined>, v.TransformAction<v.EnumValues<typeof MFAFactorType>[], ("unspecified" | "totp" | "passkey" | "recoveryCode")[]>]>;
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.EnumSchema<typeof SessionLevel, undefined>, v.TransformAction<SessionLevel, "unspecified" | "primaryAuthenticated" | "mfaElevated" | "freshStepUp">]>;
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.EnumSchema<typeof MFAFactorType, undefined>, v.TransformAction<MFAFactorType, "unspecified" | "totp" | "passkey" | "recoveryCode">]>;
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":";;;cAWa,sBAAoB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;KAyBrB,iBAAiB,EAAE,mBAAmB;cAErC,iBAAe,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA2BhB,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;;;;;;;;;;;;KAmB9B,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
+ {"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 { MFAFactorType, SessionLevel } from "../../gen/auth/v1/mfa_pb.js";
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: v.pipe(v.enum(SessionLevel), v.transform((v) => requiredEnumLabel(SessionLevelCodec.protoToOutput, v, "PolyesterClient.MfaSessionInfoSchema", "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: v.pipe(v.enum(MFAFactorType), v.transform((v) => requiredEnumLabel(MfaFactorTypeCodec.protoToOutput, v, "PolyesterClient.MfaFactorSchema", "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.enum(MFAFactorType)), v.transform((arr) => arr.map((t) => requiredEnumLabel(MfaFactorTypeCodec.protoToOutput, t, "PolyesterClient.BeginMfaChallengeResultSchema", "allowed factor type")))),
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":";;;;;;AAWA,MAAa,uBAAuB,EAAE,KAClC,EAAE,OAAO;CACL,WAAW,EAAE,OAAO;CACpB,cAAc,EAAE,KACZ,EAAE,KAAKA,YAAkB,GACzB,EAAE,WAAW,MACT,kBACI,kBAAkB,eAClB,GACA,wCACA,cACJ,CACJ,CACJ;CACA,uBAAuB,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACzD,UAAU;AACd,CAAC,GACD,EAAE,WAAW,EAAE,WAAW,cAAc,uBAAuB,gBAAgB;CAC3E;CACA;CACA;CACA,YAAY;AAChB,EAAE,CACN;AAIA,MAAa,kBAAkB,EAAE,KAC7B,EAAE,OAAO;CACL,UAAU,EAAE,OAAO;CACnB,YAAY,EAAE,KACV,EAAE,KAAKC,aAAmB,GAC1B,EAAE,WAAW,MACT,kBACI,mBAAmB,eACnB,GACA,mCACA,YACJ,CACJ,CACJ;CACA,OAAO,EAAE,OAAO;CAChB,WAAW;CACX,YAAY;AAChB,CAAC,GACD,EAAE,WAAW,EAAE,UAAU,YAAY,OAAO,WAAW,kBAAkB;CACrE;CACA;CACA;CACA,aAAa;CACb,cAAc;AAClB,EAAE,CACN;AAIA,MAAa,+BAA+B,EAAE,OAAO;CACjD,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,GAAG,CAAC,CAAC;CAChD,kBAAkB,EAAE,SAAS,EAAE,QAAQ,GAAG,KAAK;AACnD,CAAC;AAID,MAAa,iCAAiC,EAAE,aAAa,EACzD,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC,EACtD,CAAC;AAID,MAAa,kCAAkC,EAAE,OAAO;CACpD,cAAc,EAAE,OAAO;CACvB,QAAQ,EAAE,OAAO;CACjB,YAAY,EAAE,OAAO;CACrB,WAAW;AACf,CAAC;AAID,MAAa,kCAAkC,EAAE,aAAa;CAC1D,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACzD,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;AAID,MAAa,mCAAmC,EAAE,KAC9C,EAAE,OAAO;CACL,QAAQ,EAAE,SAAS,eAAe;CAClC,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;CACjD,SAAS,EAAE,SAAS,oBAAoB;CACxC,aAAa,EAAE,SAAS,EAAE,OAAO,GAAG,EAAE;CACtC,sBAAsB;AAC1B,CAAC,GACD,EAAE,WAAW,EAAE,QAAQ,eAAe,SAAS,aAAa,4BAA4B;CACpF;CACA;CACA;CACA,aAAa,YAAY,KAAK,KAAK,KAAA;CACnC,wBAAwB;AAC5B,EAAE,CACN;AAIA,MAAa,oCAAoC,EAAE,aAAa,EAC5D,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC,EACtD,CAAC;AAID,MAAa,qCAAqC,EAAE,OAAO;CACvD,cAAc,EAAE,OAAO;CACvB,WAAW,EAAE,SAAS,gBAAgB;CACtC,WAAW;AACf,CAAC;AAID,MAAa,qCAAqC,EAAE,aAAa;CAC7D,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACzD,YAAY;AAChB,CAAC;AAID,MAAa,sCAAsC;AAMnD,MAAa,+BAA+B,EAAE,KAC1C,EAAE,aAAa,EACX,SAAS,EAAE,SAAS,4BAA4B,EACpD,CAAC,GACD,EAAE,WAAW,UAAU,EACnB,SAAS,yBAAyB,aAAa,KAAK,SACxD,EAAE,CACN;AAIA,MAAa,gCAAgC,EAAE,OAAO;CAClD,aAAa,EAAE,OAAO;CACtB,oBAAoB,EAAE,KAClB,EAAE,MAAM,EAAE,KAAKA,aAAmB,CAAC,GACnC,EAAE,WAAW,QACT,IAAI,KAAK,MACL,kBACI,mBAAmB,eACnB,GACA,iDACA,qBACJ,CACJ,CACJ,CACJ;CACA,WAAW,EAAE,SAAS,gBAAgB;CACtC,WAAW;AACf,CAAC;AAID,MAAa,iCAAiC,EAAE,aAAa;CACzD,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACxD,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AACrD,CAAC;AAID,MAAa,oCAAoC,EAAE,aAAa;CAC5D,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACxD,YAAY;AAChB,CAAC;AAID,MAAa,yCAAyC,EAAE,aAAa;CACjE,aAAa,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACxD,cAAc,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AAC7D,CAAC;AAMD,MAAa,mCAAmC,EAAE,KAC9C,EAAE,OAAO;CACL,SAAS,EAAE,SAAS,oBAAoB;CACxC,aAAa,EAAE,OAAO;CACtB,sBAAsB;CACtB,aAAa,EAAE,OAAO;CACtB,iBAAiB;AACrB,CAAC,GACD,EAAE,WAAW,EAAE,SAAS,aAAa,sBAAsB,aAAa,uBAAuB;CAC3F;CACA,aAAa,YAAY,KAAK,KAAK,KAAA;CACnC,wBAAwB;CACxB,aAAa,YAAY,KAAK,KAAK,KAAA;CACnC,mBAAmB;AACvB,EAAE,CACN;AAIA,MAAa,6BAA6B,EAAE,aAAa,EACrD,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC,EACzD,CAAC;AAID,MAAa,6BAA6B,EAAE,aAAa;CACrD,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACrD,OAAO,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,UAAU,GAAG,CAAC;AAC9C,CAAC;AAID,MAAa,8BAA8B,EAAE,OAAO,EAChD,QAAQ,EAAE,SAAS,eAAe,EACtC,CAAC;AAID,MAAa,qCAAqC,EAAE,aAAa,CAAC,CAAC;AAInE,MAAa,sCAAsC,EAAE,OAAO,EACxD,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,EACrD,CAAC;AAMD,MAAa,8BAA8B,EAAE,aAAa;CACtD,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACtD,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACvD,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AACxD,CAAC;AAID,MAAa,+BAA+B,EAAE,OAAO;CACjD,UAAU,EAAE,OAAO;CACnB,YAAY,EAAE,OAAO;CACrB,gBAAgB;AACpB,CAAC;AAID,MAAa,gCAAgC,EAAE,aAAa;CACxD,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACrD,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACtD,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACvD,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACpD,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AAC3D,CAAC;AAID,MAAa,gCAAgC,EAAE,aAAa;CACxD,UAAU,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACrD,WAAW,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACtD,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACvD,SAAS,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACpD,YAAY,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;CACvD,QAAQ,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC"}
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: 5 | 10 | 20 | 1 | 200 | 1000 | 500 | 50 | 100;
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>;
@@ -39,7 +39,8 @@ const TimeInForceCodec = {
39
39
  [0]: "unspecified",
40
40
  [1]: "GTC",
41
41
  [2]: "IOC",
42
- [3]: "FOK"
42
+ [3]: "FOK",
43
+ [4]: "GTD"
43
44
  }
44
45
  };
45
46
  const FeeAssetCodec = {