@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,9 +1,8 @@
1
- import { TradingRateLimitClass } from "../../gen/ratelimit/v1/ratelimit_pb.js";
2
- import { TradingRateLimitClass as TradingRateLimitClass$1 } from "./rate-limits.codecs.js";
1
+ import { TradingRateLimitClass } from "./rate-limits.codecs.js";
3
2
  import * as v from "valibot";
4
3
  //#region src/services/rate-limits/rate-limits.schemas.d.ts
5
4
  declare const TradingRateLimitRuleSchema: v.ObjectSchema<{
6
- readonly policyClass: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TradingRateLimitClass, undefined>, v.TransformAction<TradingRateLimitClass, TradingRateLimitClass$1>]>;
5
+ readonly policyClass: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "trading_place" | "trading_cancel">]>;
7
6
  readonly vipTier: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
8
7
  readonly quotaWeight: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
9
8
  readonly periodMs: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
@@ -20,7 +19,7 @@ declare const RateLimitConfigSchema: v.ObjectSchema<{
20
19
  nanos: number;
21
20
  }, number>]>;
22
21
  readonly rules: v.ArraySchema<v.ObjectSchema<{
23
- readonly policyClass: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TradingRateLimitClass, undefined>, v.TransformAction<TradingRateLimitClass, TradingRateLimitClass$1>]>;
22
+ readonly policyClass: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "trading_place" | "trading_cancel">]>;
24
23
  readonly vipTier: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
25
24
  readonly quotaWeight: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
26
25
  readonly periodMs: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
@@ -30,7 +29,7 @@ declare const RateLimitConfigSchema: v.ObjectSchema<{
30
29
  type RateLimitConfig = v.InferOutput<typeof RateLimitConfigSchema>;
31
30
  declare const TradingRateLimitsSchema: v.ObjectSchema<{
32
31
  readonly apiKeyRules: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
33
- readonly policyClass: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TradingRateLimitClass, undefined>, v.TransformAction<TradingRateLimitClass, TradingRateLimitClass$1>]>;
32
+ readonly policyClass: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "trading_place" | "trading_cancel">]>;
34
33
  readonly vipTier: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
35
34
  readonly quotaWeight: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
36
35
  readonly periodMs: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
@@ -45,7 +44,7 @@ declare const TradingRateLimitsSchema: v.ObjectSchema<{
45
44
  nanos: number;
46
45
  }, number>]>;
47
46
  readonly rules: v.ArraySchema<v.ObjectSchema<{
48
- readonly policyClass: v.SchemaWithPipe<readonly [v.EnumSchema<typeof TradingRateLimitClass, undefined>, v.TransformAction<TradingRateLimitClass, TradingRateLimitClass$1>]>;
47
+ readonly policyClass: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "trading_place" | "trading_cancel">]>;
49
48
  readonly vipTier: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 0, undefined>]>;
50
49
  readonly quotaWeight: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
51
50
  readonly periodMs: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
@@ -54,5 +53,5 @@ declare const TradingRateLimitsSchema: v.ObjectSchema<{
54
53
  }, undefined>;
55
54
  type TradingRateLimits = v.InferOutput<typeof TradingRateLimitsSchema>;
56
55
  //#endregion
57
- export { RateLimitConfig, RateLimitConfigSchema, type TradingRateLimitClass$1 as TradingRateLimitClass, TradingRateLimitRule, TradingRateLimitRuleSchema, TradingRateLimits, TradingRateLimitsSchema };
56
+ export { RateLimitConfig, RateLimitConfigSchema, type TradingRateLimitClass, TradingRateLimitRule, TradingRateLimitRuleSchema, TradingRateLimits, TradingRateLimitsSchema };
58
57
  //# sourceMappingURL=rate-limits.schemas.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limits.schemas.d.ts","names":[],"sources":["../../../src/services/rate-limits/rate-limits.schemas.ts"],"mappings":";;;;cA0Ba,4BAA0B,EAAA;;;;;;;KAQ3B,uBAAuB,EAAE,mBAAmB;cAE3C,uBAAqB,EAAA;;;;;;;;;;;;;;;;;KAMtB,kBAAkB,EAAE,mBAAmB;cAWtC,yBAAuB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;KAKxB,oBAAoB,EAAE,mBAAmB"}
1
+ {"version":3,"file":"rate-limits.schemas.d.ts","names":[],"sources":["../../../src/services/rate-limits/rate-limits.schemas.ts"],"mappings":";;;cAca,4BAA0B,EAAA;;;;;;;KAQ3B,uBAAuB,EAAE,mBAAmB;cAE3C,uBAAqB,EAAA;;;;;;;;;;;;;;;;;KAMtB,kBAAkB,EAAE,mBAAmB;cAWtC,yBAAuB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;KAKxB,oBAAoB,EAAE,mBAAmB"}
@@ -1,12 +1,11 @@
1
- import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
1
+ import { enumLabelSchema } from "../../shared/proto-enum-codec.js";
2
2
  import { BigIntStringSchema, TimestampMsSchema } from "../../shared/schemas.js";
3
3
  import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
4
4
  import { VipTierNumberSchema } from "../vip/vip.schemas.js";
5
- import { TradingRateLimitClass } from "../../gen/ratelimit/v1/ratelimit_pb.js";
6
5
  import { TradingRateLimitClassCodec } from "./rate-limits.codecs.js";
7
6
  import * as v from "valibot";
8
7
  //#region src/services/rate-limits/rate-limits.schemas.ts
9
- const TradingRateLimitClassOutputSchema = v.pipe(v.enum(TradingRateLimitClass), v.transform((value) => requiredEnumLabel(TradingRateLimitClassCodec.protoToOutput, value, "TradingRateLimitRuleSchema", "policyClass")));
8
+ const TradingRateLimitClassOutputSchema = enumLabelSchema(TradingRateLimitClassCodec.protoToOutput);
10
9
  const TradingRateLimitRuleSchema = v.object({
11
10
  policyClass: TradingRateLimitClassOutputSchema,
12
11
  vipTier: VipTierNumberSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"rate-limits.schemas.js","names":["Proto.TradingRateLimitClass"],"sources":["../../../src/services/rate-limits/rate-limits.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport * as Proto from \"../../gen/ratelimit/v1/ratelimit_pb.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport { BigIntStringSchema, TimestampMsSchema } from \"../../shared/schemas.js\";\nimport { VipTierNumberSchema } from \"../vip/vip.schemas.js\";\nimport { TradingRateLimitClassCodec, type TradingRateLimitClass } from \"./rate-limits.codecs.js\";\n\nexport type { TradingRateLimitClass } from \"./rate-limits.codecs.js\";\n\nconst TradingRateLimitClassOutputSchema = v.pipe(\n v.enum(Proto.TradingRateLimitClass),\n v.transform(\n (value): TradingRateLimitClass =>\n requiredEnumLabel(\n TradingRateLimitClassCodec.protoToOutput,\n value,\n \"TradingRateLimitRuleSchema\",\n \"policyClass\",\n ),\n ),\n);\n\nexport const TradingRateLimitRuleSchema = v.object({\n policyClass: TradingRateLimitClassOutputSchema,\n vipTier: VipTierNumberSchema,\n quotaWeight: BigIntStringSchema,\n periodMs: BigIntStringSchema,\n burstWeight: BigIntStringSchema,\n});\n\nexport type TradingRateLimitRule = v.InferOutput<typeof TradingRateLimitRuleSchema>;\n\nexport const RateLimitConfigSchema = v.object({\n policyVersion: BigIntStringSchema,\n effectiveFrom: TimestampMsSchema,\n rules: v.array(TradingRateLimitRuleSchema),\n});\n\nexport type RateLimitConfig = v.InferOutput<typeof RateLimitConfigSchema>;\n\nexport const GetTradingRateLimitsInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n }),\n v.transform(({ account }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport const TradingRateLimitsSchema = v.object({\n ...RateLimitConfigSchema.entries,\n apiKeyRules: v.optional(v.array(TradingRateLimitRuleSchema), []),\n});\n\nexport type TradingRateLimits = v.InferOutput<typeof TradingRateLimitsSchema>;\n"],"mappings":";;;;;;;;AAaA,MAAM,oCAAoC,EAAE,KACxC,EAAE,KAAKA,qBAA2B,GAClC,EAAE,WACG,UACG,kBACI,2BAA2B,eAC3B,OACA,8BACA,aACJ,CACR,CACJ;AAEA,MAAa,6BAA6B,EAAE,OAAO;CAC/C,aAAa;CACb,SAAS;CACT,aAAa;CACb,UAAU;CACV,aAAa;AACjB,CAAC;AAID,MAAa,wBAAwB,EAAE,OAAO;CAC1C,eAAe;CACf,eAAe;CACf,OAAO,EAAE,MAAM,0BAA0B;AAC7C,CAAC;AAID,MAAa,kCAAkC,EAAE,KAC7C,EAAE,aAAa,EACX,GAAG,yBACP,CAAC,GACD,EAAE,WAAW,EAAE,eAAe,EAC1B,cAAc,2BAA2B,OAAO,EACpD,EAAE,CACN;AAEA,MAAa,0BAA0B,EAAE,OAAO;CAC5C,GAAG,sBAAsB;CACzB,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACnE,CAAC"}
1
+ {"version":3,"file":"rate-limits.schemas.js","names":[],"sources":["../../../src/services/rate-limits/rate-limits.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../shared/account-scope.js\";\nimport { enumLabelSchema } from \"../../shared/proto-enum-codec.js\";\nimport { BigIntStringSchema, TimestampMsSchema } from \"../../shared/schemas.js\";\nimport { VipTierNumberSchema } from \"../vip/vip.schemas.js\";\nimport { TradingRateLimitClassCodec } from \"./rate-limits.codecs.js\";\n\nexport type { TradingRateLimitClass } from \"./rate-limits.codecs.js\";\n\nconst TradingRateLimitClassOutputSchema = enumLabelSchema(TradingRateLimitClassCodec.protoToOutput);\n\nexport const TradingRateLimitRuleSchema = v.object({\n policyClass: TradingRateLimitClassOutputSchema,\n vipTier: VipTierNumberSchema,\n quotaWeight: BigIntStringSchema,\n periodMs: BigIntStringSchema,\n burstWeight: BigIntStringSchema,\n});\n\nexport type TradingRateLimitRule = v.InferOutput<typeof TradingRateLimitRuleSchema>;\n\nexport const RateLimitConfigSchema = v.object({\n policyVersion: BigIntStringSchema,\n effectiveFrom: TimestampMsSchema,\n rules: v.array(TradingRateLimitRuleSchema),\n});\n\nexport type RateLimitConfig = v.InferOutput<typeof RateLimitConfigSchema>;\n\nexport const GetTradingRateLimitsInputSchema = v.pipe(\n v.strictObject({\n ...AccountScopeInputEntries,\n }),\n v.transform(({ account }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport const TradingRateLimitsSchema = v.object({\n ...RateLimitConfigSchema.entries,\n apiKeyRules: v.optional(v.array(TradingRateLimitRuleSchema), []),\n});\n\nexport type TradingRateLimits = v.InferOutput<typeof TradingRateLimitsSchema>;\n"],"mappings":";;;;;;;AAYA,MAAM,oCAAoC,gBAAgB,2BAA2B,aAAa;AAElG,MAAa,6BAA6B,EAAE,OAAO;CAC/C,aAAa;CACb,SAAS;CACT,aAAa;CACb,UAAU;CACV,aAAa;AACjB,CAAC;AAID,MAAa,wBAAwB,EAAE,OAAO;CAC1C,eAAe;CACf,eAAe;CACf,OAAO,EAAE,MAAM,0BAA0B;AAC7C,CAAC;AAID,MAAa,kCAAkC,EAAE,KAC7C,EAAE,aAAa,EACX,GAAG,yBACP,CAAC,GACD,EAAE,WAAW,EAAE,eAAe,EAC1B,cAAc,2BAA2B,OAAO,EACpD,EAAE,CACN;AAEA,MAAa,0BAA0B,EAAE,OAAO;CAC5C,GAAG,sBAAsB;CACzB,aAAa,EAAE,SAAS,EAAE,MAAM,0BAA0B,GAAG,CAAC,CAAC;AACnE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"social-verification.schemas.d.ts","names":[],"sources":["../../../src/services/social-verification/social-verification.schemas.ts"],"mappings":";;;;;cAoBa,sBAAoB,EAAA;KACrB,iBAAiB,EAAE,kBAAkB;cAEpC,gCAA8B,EAAA;KAC/B,2BAA2B,EAAE,kBAAkB;cAE9C,gCAA8B,EAAA;KAC/B,2BAA2B,EAAE,mBAAmB;cA+C/C,0BAAwB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBhC,yBAAyB,EAAE,mBAAmB;KACvC,qBAAqB,KAAK;EAClC,UAAU,YAAY;EACtB,QAAQ,YAAY;EACpB,QAAQ,YAAY;;cAGX,8BAA4B,EAAA,yBAAA,EAAA,2BAAA,EAAA;;;;;;;;;;;;;;;;;;;KA+B7B,yBAAyB,EAAE,kBAAkB;cAO5C,2BAAyB,EAAA;;;KAI1B,sBAAsB,EAAE,kBAAkB;cAEzC,iCAA+B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;KAahC,4BAA4B,EAAE,mBAAmB;cAEhD,iCAA+B,EAAA,yBAAA,EAAA;;;;;;;KAShC,4BAA4B,EAAE,mBAAmB;cAEhD,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;KAS9B,0BAA0B,EAAE,mBAAmB"}
1
+ {"version":3,"file":"social-verification.schemas.d.ts","names":[],"sources":["../../../src/services/social-verification/social-verification.schemas.ts"],"mappings":";;;;;cAoBa,sBAAoB,EAAA;KACrB,iBAAiB,EAAE,kBAAkB;cAEpC,gCAA8B,EAAA;KAC/B,2BAA2B,EAAE,kBAAkB;cAE9C,gCAA8B,EAAA;KAC/B,2BAA2B,EAAE,mBAAmB;cAgC/C,0BAAwB,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgBhC,yBAAyB,EAAE,mBAAmB;KACvC,qBAAqB,KAAK;EAClC,UAAU,YAAY;EACtB,QAAQ,YAAY;EACpB,QAAQ,YAAY;;cAGX,8BAA4B,EAAA,yBAAA,EAAA,2BAAA,EAAA;;;;;;;;;;;;;;;;;;;KA+B7B,yBAAyB,EAAE,kBAAkB;cAO5C,2BAAyB,EAAA;;;KAI1B,sBAAsB,EAAE,kBAAkB;cAEzC,iCAA+B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;KAahC,4BAA4B,EAAE,mBAAmB;cAEhD,iCAA+B,EAAA,yBAAA,EAAA;;;;;;;KAShC,4BAA4B,EAAE,mBAAmB;cAEhD,+BAA6B,EAAA,yBAAA,EAAA;;;;;;;KAS9B,0BAA0B,EAAE,mBAAmB"}
@@ -1,4 +1,4 @@
1
- import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
1
+ import { enumLabel } from "../../shared/proto-enum-codec.js";
2
2
  import { TimestampSchema } from "../../shared/schemas.js";
3
3
  import "../../gen/auth/v1/social_verification_pb.js";
4
4
  import { SOCIAL_PROVIDER_VALUES, SOCIAL_VERIFICATION_METHOD_VALUES, SOCIAL_VERIFICATION_STATUS_VALUES, SocialProviderCodec, SocialVerificationMethodCodec, SocialVerificationStatusCodec } from "./social-verification.codecs.js";
@@ -18,12 +18,12 @@ function transformVerification(v) {
18
18
  if (!v) return void 0;
19
19
  return {
20
20
  id: v.id,
21
- provider: requiredEnumLabel(SocialProviderCodec.protoToOutput, v.provider, "SocialVerificationSchema", "provider"),
22
- method: requiredEnumLabel(SocialVerificationMethodCodec.protoToOutput, v.method, "SocialVerificationSchema", "method"),
21
+ provider: enumLabel(SocialProviderCodec.protoToOutput, v.provider),
22
+ method: enumLabel(SocialVerificationMethodCodec.protoToOutput, v.method),
23
23
  handle: v.handle,
24
24
  providerUserId: v.providerUserId,
25
25
  challengeCode: v.challengeCode,
26
- status: requiredEnumLabel(SocialVerificationStatusCodec.protoToOutput, v.status, "SocialVerificationSchema", "status"),
26
+ status: enumLabel(SocialVerificationStatusCodec.protoToOutput, v.status),
27
27
  requestedAt: v.requestedAt,
28
28
  expiresAt: v.expiresAt,
29
29
  verifiedAt: v.verifiedAt,
@@ -1 +1 @@
1
- {"version":3,"file":"social-verification.schemas.js","names":[],"sources":["../../../src/services/social-verification/social-verification.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport { TimestampSchema } from \"../../shared/schemas.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport * as Proto from \"../../gen/auth/v1/social_verification_pb.js\";\nimport {\n SOCIAL_PROVIDER_VALUES,\n SOCIAL_VERIFICATION_METHOD_VALUES,\n SOCIAL_VERIFICATION_STATUS_VALUES,\n SocialProviderCodec,\n SocialVerificationMethodCodec,\n SocialVerificationStatusCodec,\n} from \"./social-verification.codecs.js\";\n\nexport {\n SOCIAL_PROVIDER_VALUES,\n SOCIAL_VERIFICATION_METHOD_VALUES,\n SOCIAL_VERIFICATION_STATUS_VALUES,\n} from \"./social-verification.codecs.js\";\n\nexport const SocialProviderSchema = v.picklist(SOCIAL_PROVIDER_VALUES);\nexport type SocialProvider = v.InferInput<typeof SocialProviderSchema>;\n\nexport const SocialVerificationMethodSchema = v.picklist(SOCIAL_VERIFICATION_METHOD_VALUES);\nexport type SocialVerificationMethod = v.InferInput<typeof SocialVerificationMethodSchema>;\n\nexport const SocialVerificationStatusSchema = v.picklist(SOCIAL_VERIFICATION_STATUS_VALUES);\nexport type SocialVerificationStatus = v.InferOutput<typeof SocialVerificationStatusSchema>;\n\nfunction normalizeHandle(input: string): string {\n return (input ?? \"\").trim().replace(/^@+/, \"\");\n}\n\nconst TWITTER_HANDLE_PATTERN = /^[A-Za-z0-9_]{1,15}$/;\n\n/**\n * Normalizes a social verification response into the SDK verification shape.\n */\nexport function transformVerification(\n v: Proto.SocialVerification | undefined,\n): SocialVerification | undefined {\n if (!v) return undefined;\n return {\n id: v.id,\n provider: requiredEnumLabel(\n SocialProviderCodec.protoToOutput,\n v.provider,\n \"SocialVerificationSchema\",\n \"provider\",\n ),\n method: requiredEnumLabel(\n SocialVerificationMethodCodec.protoToOutput,\n v.method,\n \"SocialVerificationSchema\",\n \"method\",\n ),\n handle: v.handle,\n providerUserId: v.providerUserId,\n challengeCode: v.challengeCode,\n status: requiredEnumLabel(\n SocialVerificationStatusCodec.protoToOutput,\n v.status,\n \"SocialVerificationSchema\",\n \"status\",\n ),\n requestedAt: v.requestedAt,\n expiresAt: v.expiresAt,\n verifiedAt: v.verifiedAt,\n attempts: v.attempts,\n lastError: v.lastError,\n updatedAt: v.updatedAt,\n };\n}\n\nexport const SocialVerificationSchema = v.object({\n id: v.bigint(),\n provider: SocialProviderSchema,\n method: SocialVerificationMethodSchema,\n handle: v.string(),\n providerUserId: v.string(),\n challengeCode: v.string(),\n status: SocialVerificationStatusSchema,\n requestedAt: v.optional(TimestampSchema),\n expiresAt: v.optional(TimestampSchema),\n verifiedAt: v.optional(TimestampSchema),\n attempts: v.number(),\n lastError: v.string(),\n updatedAt: v.optional(TimestampSchema),\n});\n\ntype SocialVerificationBase = v.InferOutput<typeof SocialVerificationSchema>;\nexport type SocialVerification = Omit<SocialVerificationBase, \"provider\" | \"method\" | \"status\"> & {\n provider: DecodedEnum<SocialProvider>;\n method: DecodedEnum<SocialVerificationMethod>;\n status: DecodedEnum<SocialVerificationStatus>;\n};\n\nexport const StartVerificationInputSchema = v.pipe(\n v.variant(\"provider\", [\n v.strictObject({\n provider: v.literal(\"twitter\"),\n handle: v.pipe(\n v.string(),\n v.transform(normalizeHandle),\n v.minLength(1),\n v.regex(\n TWITTER_HANDLE_PATTERN,\n \"Twitter handle must be 1-15 letters, digits, or underscores\",\n ),\n ),\n method: v.optional(v.literal(\"profile\")),\n }),\n v.strictObject({\n provider: v.literal(\"discord\"),\n method: v.optional(v.picklist([\"channel\", \"dm\"])),\n }),\n ]),\n v.transform(({ provider, method, ...input }) => ({\n ...input,\n provider: SocialProviderCodec.inputToProto[provider],\n // METHOD_UNSPECIFIED lets the API choose Twitter's profile or Discord's channel default.\n method:\n method === undefined\n ? Proto.SocialVerificationMethod.METHOD_UNSPECIFIED\n : SocialVerificationMethodCodec.inputToProto[method],\n })),\n);\n\nexport type StartVerificationInput = v.InferInput<typeof StartVerificationInputSchema>;\n\nexport const ProviderInputSchema = v.pipe(\n SocialProviderSchema,\n v.transform((v) => SocialProviderCodec.inputToProto[v]),\n);\n\nexport const SocialProviderInputSchema = v.strictObject({\n provider: ProviderInputSchema,\n});\n\nexport type SocialProviderInput = v.InferInput<typeof SocialProviderInputSchema>;\n\nexport const StartVerificationResponseSchema = v.pipe(\n v.object({\n challengeCode: v.string(),\n expiresAt: v.optional(TimestampSchema),\n verification: v.optional(v.custom<Proto.SocialVerification>(() => true)),\n }),\n v.transform((res) => ({\n challengeCode: res.challengeCode,\n expiresAt: res.expiresAt,\n verification: transformVerification(res.verification),\n })),\n);\n\nexport type StartVerificationResponse = v.InferOutput<typeof StartVerificationResponseSchema>;\n\nexport const VerificationReadyResponseSchema = v.pipe(\n v.object({\n verification: v.optional(v.custom<Proto.SocialVerification>(() => true)),\n }),\n v.transform((res) => ({\n verification: transformVerification(res.verification),\n })),\n);\n\nexport type VerificationReadyResponse = v.InferOutput<typeof VerificationReadyResponseSchema>;\n\nexport const GetVerificationResponseSchema = v.pipe(\n v.object({\n verification: v.optional(v.custom<Proto.SocialVerification>(() => true)),\n }),\n v.transform((res) => ({\n verification: transformVerification(res.verification),\n })),\n);\n\nexport type GetVerificationResponse = v.InferOutput<typeof GetVerificationResponseSchema>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"social-verification.schemas.js","names":[],"sources":["../../../src/services/social-verification/social-verification.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport { TimestampSchema } from \"../../shared/schemas.js\";\nimport { enumLabel } from \"../../shared/proto-enum-codec.js\";\nimport type { DecodedEnum } from \"../../utils/types.js\";\nimport * as Proto from \"../../gen/auth/v1/social_verification_pb.js\";\nimport {\n SOCIAL_PROVIDER_VALUES,\n SOCIAL_VERIFICATION_METHOD_VALUES,\n SOCIAL_VERIFICATION_STATUS_VALUES,\n SocialProviderCodec,\n SocialVerificationMethodCodec,\n SocialVerificationStatusCodec,\n} from \"./social-verification.codecs.js\";\n\nexport {\n SOCIAL_PROVIDER_VALUES,\n SOCIAL_VERIFICATION_METHOD_VALUES,\n SOCIAL_VERIFICATION_STATUS_VALUES,\n} from \"./social-verification.codecs.js\";\n\nexport const SocialProviderSchema = v.picklist(SOCIAL_PROVIDER_VALUES);\nexport type SocialProvider = v.InferInput<typeof SocialProviderSchema>;\n\nexport const SocialVerificationMethodSchema = v.picklist(SOCIAL_VERIFICATION_METHOD_VALUES);\nexport type SocialVerificationMethod = v.InferInput<typeof SocialVerificationMethodSchema>;\n\nexport const SocialVerificationStatusSchema = v.picklist(SOCIAL_VERIFICATION_STATUS_VALUES);\nexport type SocialVerificationStatus = v.InferOutput<typeof SocialVerificationStatusSchema>;\n\nfunction normalizeHandle(input: string): string {\n return (input ?? \"\").trim().replace(/^@+/, \"\");\n}\n\nconst TWITTER_HANDLE_PATTERN = /^[A-Za-z0-9_]{1,15}$/;\n\n/**\n * Normalizes a social verification response into the SDK verification shape.\n */\nexport function transformVerification(\n v: Proto.SocialVerification | undefined,\n): SocialVerification | undefined {\n if (!v) return undefined;\n return {\n id: v.id,\n provider: enumLabel(SocialProviderCodec.protoToOutput, v.provider),\n method: enumLabel(SocialVerificationMethodCodec.protoToOutput, v.method),\n handle: v.handle,\n providerUserId: v.providerUserId,\n challengeCode: v.challengeCode,\n status: enumLabel(SocialVerificationStatusCodec.protoToOutput, v.status),\n requestedAt: v.requestedAt,\n expiresAt: v.expiresAt,\n verifiedAt: v.verifiedAt,\n attempts: v.attempts,\n lastError: v.lastError,\n updatedAt: v.updatedAt,\n };\n}\n\nexport const SocialVerificationSchema = v.object({\n id: v.bigint(),\n provider: SocialProviderSchema,\n method: SocialVerificationMethodSchema,\n handle: v.string(),\n providerUserId: v.string(),\n challengeCode: v.string(),\n status: SocialVerificationStatusSchema,\n requestedAt: v.optional(TimestampSchema),\n expiresAt: v.optional(TimestampSchema),\n verifiedAt: v.optional(TimestampSchema),\n attempts: v.number(),\n lastError: v.string(),\n updatedAt: v.optional(TimestampSchema),\n});\n\ntype SocialVerificationBase = v.InferOutput<typeof SocialVerificationSchema>;\nexport type SocialVerification = Omit<SocialVerificationBase, \"provider\" | \"method\" | \"status\"> & {\n provider: DecodedEnum<SocialProvider>;\n method: DecodedEnum<SocialVerificationMethod>;\n status: DecodedEnum<SocialVerificationStatus>;\n};\n\nexport const StartVerificationInputSchema = v.pipe(\n v.variant(\"provider\", [\n v.strictObject({\n provider: v.literal(\"twitter\"),\n handle: v.pipe(\n v.string(),\n v.transform(normalizeHandle),\n v.minLength(1),\n v.regex(\n TWITTER_HANDLE_PATTERN,\n \"Twitter handle must be 1-15 letters, digits, or underscores\",\n ),\n ),\n method: v.optional(v.literal(\"profile\")),\n }),\n v.strictObject({\n provider: v.literal(\"discord\"),\n method: v.optional(v.picklist([\"channel\", \"dm\"])),\n }),\n ]),\n v.transform(({ provider, method, ...input }) => ({\n ...input,\n provider: SocialProviderCodec.inputToProto[provider],\n // METHOD_UNSPECIFIED lets the API choose Twitter's profile or Discord's channel default.\n method:\n method === undefined\n ? Proto.SocialVerificationMethod.METHOD_UNSPECIFIED\n : SocialVerificationMethodCodec.inputToProto[method],\n })),\n);\n\nexport type StartVerificationInput = v.InferInput<typeof StartVerificationInputSchema>;\n\nexport const ProviderInputSchema = v.pipe(\n SocialProviderSchema,\n v.transform((v) => SocialProviderCodec.inputToProto[v]),\n);\n\nexport const SocialProviderInputSchema = v.strictObject({\n provider: ProviderInputSchema,\n});\n\nexport type SocialProviderInput = v.InferInput<typeof SocialProviderInputSchema>;\n\nexport const StartVerificationResponseSchema = v.pipe(\n v.object({\n challengeCode: v.string(),\n expiresAt: v.optional(TimestampSchema),\n verification: v.optional(v.custom<Proto.SocialVerification>(() => true)),\n }),\n v.transform((res) => ({\n challengeCode: res.challengeCode,\n expiresAt: res.expiresAt,\n verification: transformVerification(res.verification),\n })),\n);\n\nexport type StartVerificationResponse = v.InferOutput<typeof StartVerificationResponseSchema>;\n\nexport const VerificationReadyResponseSchema = v.pipe(\n v.object({\n verification: v.optional(v.custom<Proto.SocialVerification>(() => true)),\n }),\n v.transform((res) => ({\n verification: transformVerification(res.verification),\n })),\n);\n\nexport type VerificationReadyResponse = v.InferOutput<typeof VerificationReadyResponseSchema>;\n\nexport const GetVerificationResponseSchema = v.pipe(\n v.object({\n verification: v.optional(v.custom<Proto.SocialVerification>(() => true)),\n }),\n v.transform((res) => ({\n verification: transformVerification(res.verification),\n })),\n);\n\nexport type GetVerificationResponse = v.InferOutput<typeof GetVerificationResponseSchema>;\n"],"mappings":";;;;;;AAoBA,MAAa,uBAAuB,EAAE,SAAS,sBAAsB;AAGrE,MAAa,iCAAiC,EAAE,SAAS,iCAAiC;AAG1F,MAAa,iCAAiC,EAAE,SAAS,iCAAiC;AAG1F,SAAS,gBAAgB,OAAuB;CAC5C,QAAQ,SAAS,GAAA,CAAI,KAAK,CAAC,CAAC,QAAQ,OAAO,EAAE;AACjD;AAEA,MAAM,yBAAyB;;;;AAK/B,SAAgB,sBACZ,GAC8B;CAC9B,IAAI,CAAC,GAAG,OAAO,KAAA;CACf,OAAO;EACH,IAAI,EAAE;EACN,UAAU,UAAU,oBAAoB,eAAe,EAAE,QAAQ;EACjE,QAAQ,UAAU,8BAA8B,eAAe,EAAE,MAAM;EACvE,QAAQ,EAAE;EACV,gBAAgB,EAAE;EAClB,eAAe,EAAE;EACjB,QAAQ,UAAU,8BAA8B,eAAe,EAAE,MAAM;EACvE,aAAa,EAAE;EACf,WAAW,EAAE;EACb,YAAY,EAAE;EACd,UAAU,EAAE;EACZ,WAAW,EAAE;EACb,WAAW,EAAE;CACjB;AACJ;AAEwC,EAAE,OAAO;CAC7C,IAAI,EAAE,OAAO;CACb,UAAU;CACV,QAAQ;CACR,QAAQ,EAAE,OAAO;CACjB,gBAAgB,EAAE,OAAO;CACzB,eAAe,EAAE,OAAO;CACxB,QAAQ;CACR,aAAa,EAAE,SAAS,eAAe;CACvC,WAAW,EAAE,SAAS,eAAe;CACrC,YAAY,EAAE,SAAS,eAAe;CACtC,UAAU,EAAE,OAAO;CACnB,WAAW,EAAE,OAAO;CACpB,WAAW,EAAE,SAAS,eAAe;AACzC,CAAC;AASD,MAAa,+BAA+B,EAAE,KAC1C,EAAE,QAAQ,YAAY,CAClB,EAAE,aAAa;CACX,UAAU,EAAE,QAAQ,SAAS;CAC7B,QAAQ,EAAE,KACN,EAAE,OAAO,GACT,EAAE,UAAU,eAAe,GAC3B,EAAE,UAAU,CAAC,GACb,EAAE,MACE,wBACA,6DACJ,CACJ;CACA,QAAQ,EAAE,SAAS,EAAE,QAAQ,SAAS,CAAC;AAC3C,CAAC,GACD,EAAE,aAAa;CACX,UAAU,EAAE,QAAQ,SAAS;CAC7B,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,WAAW,IAAI,CAAC,CAAC;AACpD,CAAC,CACL,CAAC,GACD,EAAE,WAAW,EAAE,UAAU,QAAQ,GAAG,aAAa;CAC7C,GAAG;CACH,UAAU,oBAAoB,aAAa;CAE3C,QACI,WAAW,KAAA,IAAA,IAEL,8BAA8B,aAAa;AACzD,EAAE,CACN;AAIA,MAAa,sBAAsB,EAAE,KACjC,sBACA,EAAE,WAAW,MAAM,oBAAoB,aAAa,EAAE,CAC1D;AAEA,MAAa,4BAA4B,EAAE,aAAa,EACpD,UAAU,oBACd,CAAC;AAID,MAAa,kCAAkC,EAAE,KAC7C,EAAE,OAAO;CACL,eAAe,EAAE,OAAO;CACxB,WAAW,EAAE,SAAS,eAAe;CACrC,cAAc,EAAE,SAAS,EAAE,aAAuC,IAAI,CAAC;AAC3E,CAAC,GACD,EAAE,WAAW,SAAS;CAClB,eAAe,IAAI;CACnB,WAAW,IAAI;CACf,cAAc,sBAAsB,IAAI,YAAY;AACxD,EAAE,CACN;AAIA,MAAa,kCAAkC,EAAE,KAC7C,EAAE,OAAO,EACL,cAAc,EAAE,SAAS,EAAE,aAAuC,IAAI,CAAC,EAC3E,CAAC,GACD,EAAE,WAAW,SAAS,EAClB,cAAc,sBAAsB,IAAI,YAAY,EACxD,EAAE,CACN;AAIA,MAAa,gCAAgC,EAAE,KAC3C,EAAE,OAAO,EACL,cAAc,EAAE,SAAS,EAAE,aAAuC,IAAI,CAAC,EAC3E,CAAC,GACD,EAAE,WAAW,SAAS,EAClB,cAAc,sBAAsB,IAAI,YAAY,EACxD,EAAE,CACN"}
@@ -1,45 +1,44 @@
1
- import { PolicyAction } from "../../gen/auth/v1/policies_pb.js";
2
- import { ActivityEntityKind, ActivityEventAction, ActivityEventSource, SubaccountInviteAction, SubaccountInviteDirection, SubaccountInviteStatus as SubaccountInviteStatus$1, SubaccountPermission as SubaccountPermission$1, SubaccountRole as SubaccountRole$1, SubaccountStatus as SubaccountStatus$1 } from "../../gen/auth/v1/subaccounts_pb.js";
1
+ import { SubaccountInviteAction, SubaccountInviteDirection, SubaccountRole as SubaccountRole$1, SubaccountStatus as SubaccountStatus$1 } from "../../gen/auth/v1/subaccounts_pb.js";
3
2
  import * as v from "valibot";
4
3
  //#region src/services/subaccounts/subaccounts.schemas.d.ts
5
4
  declare const SubaccountRoleSchema: v.PicklistSchema<readonly ["owner", "admin", "treasury", "leveraged_trader", "trader", "viewer"], undefined>;
6
5
  type SubaccountRole = v.InferOutput<typeof SubaccountRoleSchema>;
7
- declare const ProtoSubaccountPermissionSchema: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountPermission$1, undefined>, v.TransformAction<SubaccountPermission$1, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>;
6
+ declare const ProtoSubaccountPermissionSchema: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>;
8
7
  type SubaccountPermission = v.InferOutput<typeof ProtoSubaccountPermissionSchema>;
9
8
  declare const SubaccountPermissionDefinitionSchema: v.ObjectSchema<{
10
- readonly permission: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountPermission$1, undefined>, v.TransformAction<SubaccountPermission$1, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>;
9
+ readonly permission: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>;
11
10
  readonly displayName: v.OptionalSchema<v.StringSchema<undefined>, "">;
12
11
  readonly description: v.OptionalSchema<v.StringSchema<undefined>, "">;
13
- readonly policyAction: v.SchemaWithPipe<readonly [v.EnumSchema<typeof PolicyAction, undefined>, v.TransformAction<PolicyAction, "unspecified" | "trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">]>;
12
+ readonly policyAction: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">]>;
14
13
  }, undefined>;
15
14
  type SubaccountPermissionDefinition = v.InferOutput<typeof SubaccountPermissionDefinitionSchema>;
16
15
  declare const SubaccountRoleDefinitionSchema: v.ObjectSchema<{
17
- readonly role: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountRole$1, undefined>, v.TransformAction<SubaccountRole$1, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
16
+ readonly role: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
18
17
  readonly displayName: v.OptionalSchema<v.StringSchema<undefined>, "">;
19
18
  readonly description: v.OptionalSchema<v.StringSchema<undefined>, "">;
20
19
  readonly assignable: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
21
- readonly permissions: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountPermission$1, undefined>, v.TransformAction<SubaccountPermission$1, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>, undefined>, readonly []>;
20
+ readonly permissions: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>, undefined>, readonly []>;
22
21
  }, undefined>;
23
22
  type SubaccountRoleDefinition = v.InferOutput<typeof SubaccountRoleDefinitionSchema>;
24
23
  declare const SubaccountRoleCatalogSchema: v.ObjectSchema<{
25
24
  readonly permissions: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
26
- readonly permission: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountPermission$1, undefined>, v.TransformAction<SubaccountPermission$1, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>;
25
+ readonly permission: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>;
27
26
  readonly displayName: v.OptionalSchema<v.StringSchema<undefined>, "">;
28
27
  readonly description: v.OptionalSchema<v.StringSchema<undefined>, "">;
29
- readonly policyAction: v.SchemaWithPipe<readonly [v.EnumSchema<typeof PolicyAction, undefined>, v.TransformAction<PolicyAction, "unspecified" | "trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">]>;
28
+ readonly policyAction: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "trade-spot" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-internal-transfers" | "read-address-book" | "manage-address-book">]>;
30
29
  }, undefined>, undefined>, readonly []>;
31
30
  readonly roles: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
32
- readonly role: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountRole$1, undefined>, v.TransformAction<SubaccountRole$1, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
31
+ readonly role: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
33
32
  readonly displayName: v.OptionalSchema<v.StringSchema<undefined>, "">;
34
33
  readonly description: v.OptionalSchema<v.StringSchema<undefined>, "">;
35
34
  readonly assignable: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
36
- readonly permissions: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountPermission$1, undefined>, v.TransformAction<SubaccountPermission$1, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>, undefined>, readonly []>;
35
+ readonly permissions: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>, undefined>, readonly []>;
37
36
  }, undefined>, undefined>, readonly []>;
38
37
  }, undefined>;
39
38
  type SubaccountRoleCatalog = v.InferOutput<typeof SubaccountRoleCatalogSchema>;
40
39
  declare const EffectiveSubaccountPermissionsSchema: v.ObjectSchema<{
41
- readonly role: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountRole$1, undefined>, v.TransformAction<SubaccountRole$1, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
42
- readonly permissions: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountPermission$1, undefined>, v.TransformAction<SubaccountPermission$1, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>, undefined>, readonly []>;
40
+ readonly role: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
41
+ readonly permissions: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "internal_transfer" | "read_subaccount" | "update_subaccount" | "read_balances" | "read_spot" | "trade_spot" | "read_internal_transfers" | "external_withdraw" | "read_address_book" | "manage_address_book" | "read_members" | "manage_members" | "read_invites" | "manage_invites" | "read_api_keys" | "manage_api_keys" | "read_subaccount_policy" | "manage_subaccount_policy" | "read_activity" | "read_activity_security_details" | "manage_member_mfa_requirement" | "create_deposit_address" | "read_deposit_addresses" | "read_guard_signer_status" | "manage_guard_signer">]>, undefined>, readonly []>;
43
42
  readonly subaccountPolicyId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
44
43
  }, undefined>;
45
44
  type EffectiveSubaccountPermissions = v.InferOutput<typeof EffectiveSubaccountPermissionsSchema>;
@@ -136,15 +135,15 @@ declare const RespondSubaccountInviteInputSchema: v.StrictObjectSchema<{
136
135
  readonly action: v.SchemaWithPipe<readonly [v.PicklistSchema<["accept", "decline", "cancel"], undefined>, v.TransformAction<"accept" | "decline" | "cancel", SubaccountInviteAction.ACCEPT | SubaccountInviteAction.DECLINE | SubaccountInviteAction.CANCEL>]>;
137
136
  }, undefined>;
138
137
  type RespondSubaccountInviteInput = v.InferInput<typeof RespondSubaccountInviteInputSchema>;
139
- declare const ProtoSubaccountStatusSchema: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountStatus$1, undefined>, v.TransformAction<SubaccountStatus$1, "unspecified" | "disabled" | "active">]>;
138
+ declare const ProtoSubaccountStatusSchema: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "disabled" | "active">]>;
140
139
  type SubaccountStatus = v.InferOutput<typeof ProtoSubaccountStatusSchema>;
141
140
  declare const SubaccountSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
142
141
  readonly id: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
143
- readonly role: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountRole$1, undefined>, v.TransformAction<SubaccountRole$1, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
142
+ readonly role: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
144
143
  readonly label: v.OptionalSchema<v.StringSchema<undefined>, "">;
145
144
  readonly icon: v.OptionalSchema<v.StringSchema<undefined>, "">;
146
145
  readonly color: v.OptionalSchema<v.StringSchema<undefined>, "">;
147
- readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountStatus$1, undefined>, v.TransformAction<SubaccountStatus$1, "unspecified" | "disabled" | "active">]>;
146
+ readonly status: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "disabled" | "active">]>;
148
147
  readonly smartAccountAddress: v.StringSchema<undefined>;
149
148
  readonly smartAccountSaltNonce: v.OptionalSchema<v.NumberSchema<undefined>, undefined>;
150
149
  readonly ownerUsername: v.OptionalSchema<v.StringSchema<undefined>, "">;
@@ -197,7 +196,7 @@ declare const SubaccountSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
197
196
  type Subaccount = v.InferOutput<typeof SubaccountSchema>;
198
197
  declare const SubaccountMemberSchema: v.ObjectSchema<{
199
198
  readonly accountId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
200
- readonly role: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountRole$1, undefined>, v.TransformAction<SubaccountRole$1, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
199
+ readonly role: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
201
200
  readonly username: v.OptionalSchema<v.StringSchema<undefined>, "">;
202
201
  readonly smartAccountAddress: v.StringSchema<undefined>;
203
202
  readonly avatarUrl: v.OptionalSchema<v.StringSchema<undefined>, "">;
@@ -209,8 +208,8 @@ declare const SubaccountInviteSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<
209
208
  readonly subaccountId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
210
209
  readonly granteeAccountId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
211
210
  readonly inviterAccountId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
212
- readonly role: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountRole$1, undefined>, v.TransformAction<SubaccountRole$1, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
213
- readonly status: v.SchemaWithPipe<readonly [v.EnumSchema<typeof SubaccountInviteStatus$1, undefined>, v.TransformAction<SubaccountInviteStatus$1, "unspecified" | "pending" | "accepted" | "declined" | "cancelled">]>;
211
+ readonly role: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer">]>;
212
+ readonly status: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "pending" | "cancelled" | "accepted" | "declined">]>;
214
213
  readonly createdAt: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ObjectSchema<{
215
214
  readonly seconds: v.BigintSchema<undefined>;
216
215
  readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
@@ -237,7 +236,7 @@ declare const SubaccountInviteSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<
237
236
  granteeAccountId: string;
238
237
  inviterAccountId: string;
239
238
  role: "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer";
240
- status: "unspecified" | "pending" | "accepted" | "declined" | "cancelled";
239
+ status: "unspecified" | "pending" | "cancelled" | "accepted" | "declined";
241
240
  createdAt?: number | undefined;
242
241
  respondedAt?: number | undefined;
243
242
  granteeUsername: string;
@@ -255,7 +254,7 @@ declare const SubaccountInviteSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<
255
254
  granteeAccountId: string;
256
255
  inviterAccountId: string;
257
256
  role: "unspecified" | "owner" | "admin" | "treasury" | "leveraged_trader" | "trader" | "viewer";
258
- status: "unspecified" | "pending" | "accepted" | "declined" | "cancelled";
257
+ status: "unspecified" | "pending" | "cancelled" | "accepted" | "declined";
259
258
  createdAt?: number | undefined;
260
259
  respondedAt?: number | undefined;
261
260
  granteeUsername: string;
@@ -277,9 +276,9 @@ declare const SubaccountActivityEventSchema: v.ObjectSchema<{
277
276
  seconds: bigint;
278
277
  nanos: number;
279
278
  } | undefined, number | undefined>]>;
280
- readonly entityKind: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEntityKind, undefined>, v.TransformAction<ActivityEntityKind, "unspecified" | "api_key" | "account" | "subaccount" | "destination" | "session" | "member" | "policy" | "invite" | "security">]>;
281
- readonly eventAction: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEventAction, undefined>, v.TransformAction<ActivityEventAction, "unspecified" | "enabled" | "disabled" | "created" | "updated" | "deleted" | "removed" | "role_set" | "received" | "replied" | "failed" | "revoked" | "blocked" | "hold_placed" | "hold_released">]>;
282
- readonly source: v.SchemaWithPipe<readonly [v.EnumSchema<typeof ActivityEventSource, undefined>, v.TransformAction<ActivityEventSource, "unspecified" | "web" | "mobile" | "api">]>;
279
+ readonly entityKind: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "api_key" | "account" | "subaccount" | "destination" | "session" | "policy" | "member" | "invite" | "security">]>;
280
+ readonly eventAction: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "enabled" | "disabled" | "failed" | "created" | "updated" | "deleted" | "removed" | "role_set" | "received" | "replied" | "revoked" | "blocked" | "hold_placed" | "hold_released">]>;
281
+ readonly source: v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.TransformAction<number, "unspecified" | "web" | "mobile" | "api">]>;
283
282
  readonly ip: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
284
283
  readonly userAgent: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
285
284
  readonly actorAccountId: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
@@ -1 +1 @@
1
- {"version":3,"file":"subaccounts.schemas.d.ts","names":[],"sources":["../../../src/services/subaccounts/subaccounts.schemas.ts"],"mappings":";;;;cA2Ca,sBAAoB,EAAA;KAErB,iBAAiB,EAAE,mBAAmB;cAS5C,iCAA+B,EAAA,yBAAA,EAAA,kBAAA,oCAAA,EAAA,gBAAA;KAYzB,uBAAuB,EAAE,mBAAmB;cAE3C,sCAAoC,EAAA;;;;;;KAiBrC,iCAAiC,EAAE,mBACpC;cAGE,gCAA8B,EAAA;;;;;;;KAQ/B,2BAA2B,EAAE,mBAAmB;cAE/C,6BAA2B,EAAA;;;;;;;;;;;;;;;KAK5B,wBAAwB,EAAE,mBAAmB;cAE5C,sCAAoC,EAAA;;;;;KAMrC,iCAAiC,EAAE,mBACpC;cAGE,6BAA2B,EAAA;;;;;;;;KAS5B,wBAAwB,EAAE,kBAAkB;cAE3C,yBAAuB,EAAA;;;KAIxB,oBAAoB,EAAE,kBAAkB;cAEvC,8BAA4B,EAAA;;;;;;KAO7B,yBAAyB,EAAE,mBAAmB;cAE7C,gCAA8B,EAAA;KAE/B,2BAA2B,EAAE,mBAAmB;cAmB/C,6BAA2B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4B5B,wBAAwB,EAAE,kBAAkB;cAE3C,mCAAiC,EAAA;;;;;KASlC,8BAA8B,EAAE,kBAAkB;cAEjD,mCAAiC,EAAA;;;;KAKlC,8BAA8B,EAAE,kBAAkB;cAEjD,uCAAqC,EAAA;;;;;KAEtC,kCAAkC,EAAE,kBACrC;cAGE,8CAA4C,EAAA;;;;KAK7C,yCAAyC,EAAE,kBAC5C;cAGE,kCAAgC,EAAA;;;KAOjC,6BAA6B,EAAE,kBAAkB;cAIvD,oBAAkB,EAAA;KAEZ,yBAAyB,EAAE,mBAAmB;cAI7C,oCAAkC,EAAA;;;;KAQnC,+BAA+B,EAAE,kBAAkB;cAEzD,6BAA2B,EAAA,yBAAA,EAAA,kBAAA,gCAAA,EAAA,gBAAA;KAYrB,mBAAmB,EAAE,mBAAmB;cAEvC,kBAAgB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyBjB,aAAa,EAAE,mBAAmB;cAEjC,wBAAsB,EAAA;;;;;;;;KASvB,mBAAmB,EAAE,mBAAmB;cAEvC,wBAAsB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4CvB,mBAAmB,EAAE,mBAAmB;cAEvC,+BAA6B,EAAA;;;;;KAM9B,0BAA0B,EAAE,kBAAkB;cAE7C,+BAA6B,EAAA;;;;;;;;;;;;;;;;KA4C9B,kBAAkB,EAAE,mBAAmB"}
1
+ {"version":3,"file":"subaccounts.schemas.d.ts","names":[],"sources":["../../../src/services/subaccounts/subaccounts.schemas.ts"],"mappings":";;;cAyCa,sBAAoB,EAAA;KAErB,iBAAiB,EAAE,mBAAmB;cAI5C,iCAA+B,EAAA,yBAAA,EAAA,yBAAA,EAAA;KAEzB,uBAAuB,EAAE,mBAAmB;cAE3C,sCAAoC,EAAA;;;;;;KAOrC,iCAAiC,EAAE,mBACpC;cAGE,gCAA8B,EAAA;;;;;;;KAQ/B,2BAA2B,EAAE,mBAAmB;cAE/C,6BAA2B,EAAA;;;;;;;;;;;;;;;KAK5B,wBAAwB,EAAE,mBAAmB;cAE5C,sCAAoC,EAAA;;;;;KAMrC,iCAAiC,EAAE,mBACpC;cAGE,6BAA2B,EAAA;;;;;;;;KAS5B,wBAAwB,EAAE,kBAAkB;cAE3C,yBAAuB,EAAA;;;KAIxB,oBAAoB,EAAE,kBAAkB;cAEvC,8BAA4B,EAAA;;;;;;KAO7B,yBAAyB,EAAE,mBAAmB;cAE7C,gCAA8B,EAAA;KAE/B,2BAA2B,EAAE,mBAAmB;cAmB/C,6BAA2B,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA4B5B,wBAAwB,EAAE,kBAAkB;cAE3C,mCAAiC,EAAA;;;;;KASlC,8BAA8B,EAAE,kBAAkB;cAEjD,mCAAiC,EAAA;;;;KAKlC,8BAA8B,EAAE,kBAAkB;cAEjD,uCAAqC,EAAA;;;;;KAEtC,kCAAkC,EAAE,kBACrC;cAGE,8CAA4C,EAAA;;;;KAK7C,yCAAyC,EAAE,kBAC5C;cAGE,kCAAgC,EAAA;;;KAOjC,6BAA6B,EAAE,kBAAkB;cAIvD,oBAAkB,EAAA;KAEZ,yBAAyB,EAAE,mBAAmB;cAI7C,oCAAkC,EAAA;;;;KAQnC,+BAA+B,EAAE,kBAAkB;cAEzD,6BAA2B,EAAA,yBAAA,EAAA,yBAAA,EAAA;KAErB,mBAAmB,EAAE,mBAAmB;cAEvC,kBAAgB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAyBjB,aAAa,EAAE,mBAAmB;cAEjC,wBAAsB,EAAA;;;;;;;;KASvB,mBAAmB,EAAE,mBAAmB;cAEvC,wBAAsB,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqCvB,mBAAmB,EAAE,mBAAmB;cAEvC,+BAA6B,EAAA;;;;;KAM9B,0BAA0B,EAAE,kBAAkB;cAE7C,+BAA6B,EAAA;;;;;;;;;;;;;;;;KAc9B,kBAAkB,EAAE,mBAAmB"}
@@ -1,11 +1,9 @@
1
- import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
1
+ import { enumLabel, enumLabelSchema } from "../../shared/proto-enum-codec.js";
2
2
  import { tsObjToMs, tsObjToNsString } from "../../utils/time.js";
3
3
  import { BigIntStringSchema, OptionalTimestampMsSchema, PublicIdSchema, TimestampSchema, idInputSchema, positiveBigintStringInputSchema } from "../../shared/schemas.js";
4
- import { PolicyAction } from "../../gen/auth/v1/policies_pb.js";
5
4
  import { PolicyActionCodec } from "../policies/shared.codecs.js";
6
5
  import { buildProtoPatch, defineProtoPatchFields } from "../../utils/proto-patch.js";
7
6
  import { WalletAddressSchema, WalletChallengeMessageSchema, WalletSignatureSchema } from "../auth/wallet-challenge.schemas.js";
8
- import { ActivityEntityKind, ActivityEventAction, ActivityEventSource, SubaccountInviteStatus, SubaccountPermission, SubaccountRole, SubaccountStatus } from "../../gen/auth/v1/subaccounts_pb.js";
9
7
  import { ActivityEntityKindCodec, ActivityEventActionCodec, ActivityEventSourceCodec, InviteActionCodec, InviteStatusCodec, SUBACCOUNT_INVITE_DIRECTION_VALUES, SUBACCOUNT_STATUS_VALUES, SubaccountInviteDirectionCodec, SubaccountPermissionCodec, SubaccountRoleCodec, SubaccountStatusCodec } from "./subaccounts.codecs.js";
10
8
  import * as v from "valibot";
11
9
  const SubaccountRoleSchema = v.picklist([
@@ -16,13 +14,13 @@ const SubaccountRoleSchema = v.picklist([
16
14
  "trader",
17
15
  "viewer"
18
16
  ]);
19
- const ProtoSubaccountRoleSchema = v.pipe(v.enum(SubaccountRole), v.transform((role) => requiredEnumLabel(SubaccountRoleCodec.protoToOutput, role, "SubaccountRoleSchema", "role")));
20
- const ProtoSubaccountPermissionSchema = v.pipe(v.enum(SubaccountPermission), v.transform((permission) => requiredEnumLabel(SubaccountPermissionCodec.protoToOutput, permission, "SubaccountPermissionSchema", "permission")));
17
+ const ProtoSubaccountRoleSchema = enumLabelSchema(SubaccountRoleCodec.protoToOutput);
18
+ const ProtoSubaccountPermissionSchema = enumLabelSchema(SubaccountPermissionCodec.protoToOutput);
21
19
  const SubaccountPermissionDefinitionSchema = v.object({
22
20
  permission: ProtoSubaccountPermissionSchema,
23
21
  displayName: v.optional(v.string(), ""),
24
22
  description: v.optional(v.string(), ""),
25
- policyAction: v.pipe(v.enum(PolicyAction), v.transform((action) => requiredEnumLabel(PolicyActionCodec.protoToOutput, action, "SubaccountPermissionDefinitionSchema", "policy action")))
23
+ policyAction: enumLabelSchema(PolicyActionCodec.protoToOutput)
26
24
  });
27
25
  const SubaccountRoleDefinitionSchema = v.object({
28
26
  role: ProtoSubaccountRoleSchema,
@@ -116,12 +114,12 @@ v.picklist([
116
114
  "declined",
117
115
  "cancelled"
118
116
  ]);
119
- const ProtoInviteStatusSchema = v.enum(SubaccountInviteStatus);
117
+ const ProtoInviteStatusSchema = v.number();
120
118
  const RespondSubaccountInviteInputSchema = v.strictObject({
121
119
  inviteId: idInputSchema("inviteId"),
122
120
  action: v.pipe(InviteActionSchema, v.transform((v) => InviteActionCodec.inputToProto[v]))
123
121
  });
124
- const ProtoSubaccountStatusSchema = v.pipe(v.enum(SubaccountStatus), v.transform((status) => requiredEnumLabel(SubaccountStatusCodec.protoToOutput, status, "SubaccountSchema", "status")));
122
+ const ProtoSubaccountStatusSchema = enumLabelSchema(SubaccountStatusCodec.protoToOutput);
125
123
  const SubaccountSchema = v.pipe(v.object({
126
124
  id: PublicIdSchema,
127
125
  role: ProtoSubaccountRoleSchema,
@@ -157,7 +155,7 @@ const SubaccountInviteSchema = v.pipe(v.object({
157
155
  granteeAccountId: PublicIdSchema,
158
156
  inviterAccountId: PublicIdSchema,
159
157
  role: ProtoSubaccountRoleSchema,
160
- status: v.pipe(ProtoInviteStatusSchema, v.transform((v) => requiredEnumLabel(InviteStatusCodec.protoToOutput, v, "SubaccountInviteSchema", "status"))),
158
+ status: v.pipe(ProtoInviteStatusSchema, v.transform((v) => enumLabel(InviteStatusCodec.protoToOutput, v))),
161
159
  createdAt: OptionalTimestampMsSchema,
162
160
  respondedAt: OptionalTimestampMsSchema,
163
161
  granteeUsername: v.optional(v.string(), ""),
@@ -180,9 +178,9 @@ const SubaccountActivityInputSchema = v.strictObject({
180
178
  });
181
179
  const SubaccountActivityEventSchema = v.object({
182
180
  createdAt: OptionalTimestampMsSchema,
183
- entityKind: v.pipe(v.enum(ActivityEntityKind), v.transform((value) => requiredEnumLabel(ActivityEntityKindCodec.protoToOutput, value, "SubaccountActivityEventSchema", "entity kind"))),
184
- eventAction: v.pipe(v.enum(ActivityEventAction), v.transform((value) => requiredEnumLabel(ActivityEventActionCodec.protoToOutput, value, "SubaccountActivityEventSchema", "event action"))),
185
- source: v.pipe(v.enum(ActivityEventSource), v.transform((value) => requiredEnumLabel(ActivityEventSourceCodec.protoToOutput, value, "SubaccountActivityEventSchema", "source"))),
181
+ entityKind: enumLabelSchema(ActivityEntityKindCodec.protoToOutput),
182
+ eventAction: enumLabelSchema(ActivityEventActionCodec.protoToOutput),
183
+ source: enumLabelSchema(ActivityEventSourceCodec.protoToOutput),
186
184
  ip: v.optional(v.string()),
187
185
  userAgent: v.optional(v.string()),
188
186
  actorAccountId: PublicIdSchema,
@@ -1 +1 @@
1
- {"version":3,"file":"subaccounts.schemas.js","names":["Proto.SubaccountRole","Proto.SubaccountPermission","ProtoPolicies.PolicyAction","Proto.SubaccountInviteStatus","Proto.SubaccountStatus","Proto.ActivityEntityKind","Proto.ActivityEventAction","Proto.ActivityEventSource"],"sources":["../../../src/services/subaccounts/subaccounts.schemas.ts"],"sourcesContent":["import {\n WalletAddressSchema,\n WalletChallengeMessageSchema,\n WalletSignatureSchema,\n} from \"../auth/wallet-challenge.schemas.js\";\nimport * as Proto from \"../../gen/auth/v1/subaccounts_pb.js\";\nimport * as ProtoPolicies from \"../../gen/auth/v1/policies_pb.js\";\nimport * as v from \"valibot\";\nimport {\n BigIntStringSchema,\n OptionalTimestampMsSchema,\n PublicIdSchema,\n TimestampSchema,\n idInputSchema,\n positiveBigintStringInputSchema,\n} from \"../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../utils/time.js\";\nimport { requiredEnumLabel } from \"../../shared/proto-enum-codec.js\";\nimport {\n SubaccountRoleCodec,\n SubaccountPermissionCodec,\n InviteActionCodec,\n InviteStatusCodec,\n SubaccountInviteDirectionCodec,\n SUBACCOUNT_INVITE_DIRECTION_VALUES,\n SubaccountStatusCodec,\n SUBACCOUNT_STATUS_VALUES,\n ActivityEntityKindCodec,\n ActivityEventActionCodec,\n ActivityEventSourceCodec,\n} from \"./subaccounts.codecs.js\";\nimport { PolicyActionCodec } from \"../policies/shared.codecs.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../utils/proto-patch.js\";\n\nconst SUBACCOUNT_ROLE_VALUES = [\n \"owner\",\n \"admin\",\n \"treasury\",\n \"leveraged_trader\",\n \"trader\",\n \"viewer\",\n] as const;\n\nexport const SubaccountRoleSchema = v.picklist(SUBACCOUNT_ROLE_VALUES);\n\nexport type SubaccountRole = v.InferOutput<typeof SubaccountRoleSchema>;\n\nconst ProtoSubaccountRoleSchema = v.pipe(\n v.enum(Proto.SubaccountRole),\n v.transform((role) =>\n requiredEnumLabel(SubaccountRoleCodec.protoToOutput, role, \"SubaccountRoleSchema\", \"role\"),\n ),\n);\n\nconst ProtoSubaccountPermissionSchema = v.pipe(\n v.enum(Proto.SubaccountPermission),\n v.transform((permission) =>\n requiredEnumLabel(\n SubaccountPermissionCodec.protoToOutput,\n permission,\n \"SubaccountPermissionSchema\",\n \"permission\",\n ),\n ),\n);\n\nexport type SubaccountPermission = v.InferOutput<typeof ProtoSubaccountPermissionSchema>;\n\nexport const SubaccountPermissionDefinitionSchema = v.object({\n permission: ProtoSubaccountPermissionSchema,\n displayName: v.optional(v.string(), \"\"),\n description: v.optional(v.string(), \"\"),\n policyAction: v.pipe(\n v.enum(ProtoPolicies.PolicyAction),\n v.transform((action) =>\n requiredEnumLabel(\n PolicyActionCodec.protoToOutput,\n action,\n \"SubaccountPermissionDefinitionSchema\",\n \"policy action\",\n ),\n ),\n ),\n});\n\nexport type SubaccountPermissionDefinition = v.InferOutput<\n typeof SubaccountPermissionDefinitionSchema\n>;\n\nexport const SubaccountRoleDefinitionSchema = v.object({\n role: ProtoSubaccountRoleSchema,\n displayName: v.optional(v.string(), \"\"),\n description: v.optional(v.string(), \"\"),\n assignable: v.optional(v.boolean(), false),\n permissions: v.optional(v.array(ProtoSubaccountPermissionSchema), []),\n});\n\nexport type SubaccountRoleDefinition = v.InferOutput<typeof SubaccountRoleDefinitionSchema>;\n\nexport const SubaccountRoleCatalogSchema = v.object({\n permissions: v.optional(v.array(SubaccountPermissionDefinitionSchema), []),\n roles: v.optional(v.array(SubaccountRoleDefinitionSchema), []),\n});\n\nexport type SubaccountRoleCatalog = v.InferOutput<typeof SubaccountRoleCatalogSchema>;\n\nexport const EffectiveSubaccountPermissionsSchema = v.object({\n role: ProtoSubaccountRoleSchema,\n permissions: v.optional(v.array(ProtoSubaccountPermissionSchema), []),\n subaccountPolicyId: PublicIdSchema,\n});\n\nexport type EffectiveSubaccountPermissions = v.InferOutput<\n typeof EffectiveSubaccountPermissionsSchema\n>;\n\nexport const CreateSubaccountInputSchema = v.strictObject({\n label: v.optional(v.string(), \"\"),\n icon: v.optional(v.string(), \"\"),\n color: v.optional(v.string(), \"\"),\n smartAccountAddress: WalletAddressSchema,\n message: WalletChallengeMessageSchema,\n signature: WalletSignatureSchema,\n});\n\nexport type CreateSubaccountInput = v.InferInput<typeof CreateSubaccountInputSchema>;\n\nexport const SubaccountIdInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n});\n\nexport type SubaccountIdInput = v.InferInput<typeof SubaccountIdInputSchema>;\n\nexport const CreateSubaccountResultSchema = v.object({\n subaccountId: PublicIdSchema,\n totalCreated: v.number(),\n smartAccountSaltNonce: v.number(),\n revision: BigIntStringSchema,\n});\n\nexport type CreateSubaccountResult = v.InferOutput<typeof CreateSubaccountResultSchema>;\n\nexport const SubaccountMutationResultSchema = v.object({});\n\nexport type SubaccountMutationResult = v.InferOutput<typeof SubaccountMutationResultSchema>;\n\ntype SubaccountPatch = {\n label?: string;\n icon?: string;\n color?: string;\n status?: (typeof SUBACCOUNT_STATUS_VALUES)[number];\n};\n\nconst SUBACCOUNT_PATCH_FIELDS = defineProtoPatchFields<SubaccountPatch>()({\n label: { path: \"label\", encode: (label) => ({ label }) },\n icon: { path: \"icon\", encode: (icon) => ({ icon }) },\n color: { path: \"color\", encode: (color) => ({ color }) },\n status: {\n path: \"status\",\n encode: (status) => ({ status: SubaccountStatusCodec.inputToProto[status] }),\n },\n});\n\nexport const UpdateSubaccountInputSchema = v.pipe(\n v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n label: v.optional(v.string()),\n icon: v.optional(v.string()),\n color: v.optional(v.string()),\n status: v.optional(v.picklist(SUBACCOUNT_STATUS_VALUES)),\n }),\n v.check(\n ({ label, icon, color, status }) =>\n label !== undefined ||\n icon !== undefined ||\n color !== undefined ||\n status !== undefined,\n \"At least one subaccount field must be provided\",\n ),\n v.transform(({ subaccountId, expectedRevision, ...input }) => {\n const { patch: subaccount, updateMask } = buildProtoPatch(input, SUBACCOUNT_PATCH_FIELDS);\n return {\n subaccountId,\n subaccount,\n updateMask,\n expectedRevision,\n };\n }),\n);\n\nexport type UpdateSubaccountInput = v.InferInput<typeof UpdateSubaccountInputSchema>;\n\nexport const InviteSubaccountMemberInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n granteeAccountId: idInputSchema(\"granteeAccountId\"),\n role: v.pipe(\n SubaccountRoleSchema,\n v.transform((role) => SubaccountRoleCodec.inputToProto[role]),\n ),\n});\n\nexport type InviteSubaccountMemberInput = v.InferInput<typeof InviteSubaccountMemberInputSchema>;\n\nexport const RemoveSubaccountMemberInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n granteeAccountId: idInputSchema(\"granteeAccountId\"),\n});\n\nexport type RemoveSubaccountMemberInput = v.InferInput<typeof RemoveSubaccountMemberInputSchema>;\n\nexport const UpdateSubaccountMemberRoleInputSchema = InviteSubaccountMemberInputSchema;\n\nexport type UpdateSubaccountMemberRoleInput = v.InferInput<\n typeof UpdateSubaccountMemberRoleInputSchema\n>;\n\nexport const SetSubaccountMemberMfaRequirementInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n requireMemberMfa: v.boolean(),\n});\n\nexport type SetSubaccountMemberMfaRequirementInput = v.InferInput<\n typeof SetSubaccountMemberMfaRequirementInputSchema\n>;\n\nexport const ListSubaccountInvitesInputSchema = v.strictObject({\n direction: v.pipe(\n v.optional(v.picklist(SUBACCOUNT_INVITE_DIRECTION_VALUES), \"\"),\n v.transform((direction) => SubaccountInviteDirectionCodec.inputToProto[direction]),\n ),\n});\n\nexport type ListSubaccountInvitesInput = v.InferInput<typeof ListSubaccountInvitesInputSchema>;\n\nconst InviteActionSchema = v.picklist([\"accept\", \"decline\", \"cancel\"]);\n\nconst InviteStatusSchema = v.picklist([\"pending\", \"accepted\", \"declined\", \"cancelled\"]);\n\nexport type SubaccountInviteStatus = v.InferOutput<typeof InviteStatusSchema>;\n\nconst ProtoInviteStatusSchema = v.enum(Proto.SubaccountInviteStatus);\n\nexport const RespondSubaccountInviteInputSchema = v.strictObject({\n inviteId: idInputSchema(\"inviteId\"),\n action: v.pipe(\n InviteActionSchema,\n v.transform((v) => InviteActionCodec.inputToProto[v]),\n ),\n});\n\nexport type RespondSubaccountInviteInput = v.InferInput<typeof RespondSubaccountInviteInputSchema>;\n\nconst ProtoSubaccountStatusSchema = v.pipe(\n v.enum(Proto.SubaccountStatus),\n v.transform((status) =>\n requiredEnumLabel(\n SubaccountStatusCodec.protoToOutput,\n status,\n \"SubaccountSchema\",\n \"status\",\n ),\n ),\n);\n\nexport type SubaccountStatus = v.InferOutput<typeof ProtoSubaccountStatusSchema>;\n\nexport const SubaccountSchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n role: ProtoSubaccountRoleSchema,\n label: v.optional(v.string(), \"\"),\n icon: v.optional(v.string(), \"\"),\n color: v.optional(v.string(), \"\"),\n status: ProtoSubaccountStatusSchema,\n smartAccountAddress: v.string(),\n smartAccountSaltNonce: v.optional(v.number()),\n ownerUsername: v.optional(v.string(), \"\"),\n ownerAvatarUrl: v.optional(v.string(), \"\"),\n ownerRootSmartAccountAddress: v.string(),\n subaccountPolicyId: PublicIdSchema,\n requireMemberMfa: v.optional(v.boolean(), false),\n updatedAt: v.optional(TimestampSchema),\n revision: BigIntStringSchema,\n }),\n v.transform(({ updatedAt, ...subaccount }) => ({\n ...subaccount,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n })),\n);\n\nexport type Subaccount = v.InferOutput<typeof SubaccountSchema>;\n\nexport const SubaccountMemberSchema = v.object({\n accountId: PublicIdSchema,\n role: ProtoSubaccountRoleSchema,\n username: v.optional(v.string(), \"\"),\n smartAccountAddress: v.string(),\n avatarUrl: v.optional(v.string(), \"\"),\n mfaEnrolled: v.optional(v.boolean(), false),\n});\n\nexport type SubaccountMember = v.InferOutput<typeof SubaccountMemberSchema>;\n\nexport const SubaccountInviteSchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n subaccountId: PublicIdSchema,\n granteeAccountId: PublicIdSchema,\n inviterAccountId: PublicIdSchema,\n role: ProtoSubaccountRoleSchema,\n status: v.pipe(\n ProtoInviteStatusSchema,\n v.transform((v) =>\n requiredEnumLabel(\n InviteStatusCodec.protoToOutput,\n v,\n \"SubaccountInviteSchema\",\n \"status\",\n ),\n ),\n ),\n createdAt: OptionalTimestampMsSchema,\n respondedAt: OptionalTimestampMsSchema,\n granteeUsername: v.optional(v.string(), \"\"),\n inviterUsername: v.optional(v.string(), \"\"),\n subaccountLabel: v.optional(v.string(), \"\"),\n inviterRootSmartAccountAddress: v.string(),\n granteeRootSmartAccountAddress: v.string(),\n requireMemberMfa: v.boolean(),\n }),\n v.transform(\n ({\n subaccountLabel,\n subaccountId,\n inviterRootSmartAccountAddress,\n granteeRootSmartAccountAddress,\n ...rest\n }) => ({\n ...rest,\n subaccountId,\n subaccountLabel,\n inviterSmartAccountAddress: inviterRootSmartAccountAddress,\n granteeSmartAccountAddress: granteeRootSmartAccountAddress,\n }),\n ),\n);\n\nexport type SubaccountInvite = v.InferOutput<typeof SubaccountInviteSchema>;\n\nexport const SubaccountActivityInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(200)), 50),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n});\n\nexport type SubaccountActivityInput = v.InferInput<typeof SubaccountActivityInputSchema>;\n\nexport const SubaccountActivityEventSchema = v.object({\n createdAt: OptionalTimestampMsSchema,\n entityKind: v.pipe(\n v.enum(Proto.ActivityEntityKind),\n v.transform((value) =>\n requiredEnumLabel(\n ActivityEntityKindCodec.protoToOutput,\n value,\n \"SubaccountActivityEventSchema\",\n \"entity kind\",\n ),\n ),\n ),\n eventAction: v.pipe(\n v.enum(Proto.ActivityEventAction),\n v.transform((value) =>\n requiredEnumLabel(\n ActivityEventActionCodec.protoToOutput,\n value,\n \"SubaccountActivityEventSchema\",\n \"event action\",\n ),\n ),\n ),\n source: v.pipe(\n v.enum(Proto.ActivityEventSource),\n v.transform((value) =>\n requiredEnumLabel(\n ActivityEventSourceCodec.protoToOutput,\n value,\n \"SubaccountActivityEventSchema\",\n \"source\",\n ),\n ),\n ),\n ip: v.optional(v.string()),\n userAgent: v.optional(v.string()),\n actorAccountId: PublicIdSchema,\n payloadJson: v.pipe(\n v.string(),\n v.transform((v) => JSON.parse(v)),\n ),\n});\n\nexport type SubaccountEvent = v.InferOutput<typeof SubaccountActivityEventSchema>;\n"],"mappings":"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"}
1
+ {"version":3,"file":"subaccounts.schemas.js","names":[],"sources":["../../../src/services/subaccounts/subaccounts.schemas.ts"],"sourcesContent":["import {\n WalletAddressSchema,\n WalletChallengeMessageSchema,\n WalletSignatureSchema,\n} from \"../auth/wallet-challenge.schemas.js\";\nimport * as v from \"valibot\";\nimport {\n BigIntStringSchema,\n OptionalTimestampMsSchema,\n PublicIdSchema,\n TimestampSchema,\n idInputSchema,\n positiveBigintStringInputSchema,\n} from \"../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../utils/time.js\";\nimport { enumLabel, enumLabelSchema } from \"../../shared/proto-enum-codec.js\";\nimport {\n SubaccountRoleCodec,\n SubaccountPermissionCodec,\n InviteActionCodec,\n InviteStatusCodec,\n SubaccountInviteDirectionCodec,\n SUBACCOUNT_INVITE_DIRECTION_VALUES,\n SubaccountStatusCodec,\n SUBACCOUNT_STATUS_VALUES,\n ActivityEntityKindCodec,\n ActivityEventActionCodec,\n ActivityEventSourceCodec,\n} from \"./subaccounts.codecs.js\";\nimport { PolicyActionCodec } from \"../policies/shared.codecs.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../utils/proto-patch.js\";\n\nconst SUBACCOUNT_ROLE_VALUES = [\n \"owner\",\n \"admin\",\n \"treasury\",\n \"leveraged_trader\",\n \"trader\",\n \"viewer\",\n] as const;\n\nexport const SubaccountRoleSchema = v.picklist(SUBACCOUNT_ROLE_VALUES);\n\nexport type SubaccountRole = v.InferOutput<typeof SubaccountRoleSchema>;\n\nconst ProtoSubaccountRoleSchema = enumLabelSchema(SubaccountRoleCodec.protoToOutput);\n\nconst ProtoSubaccountPermissionSchema = enumLabelSchema(SubaccountPermissionCodec.protoToOutput);\n\nexport type SubaccountPermission = v.InferOutput<typeof ProtoSubaccountPermissionSchema>;\n\nexport const SubaccountPermissionDefinitionSchema = v.object({\n permission: ProtoSubaccountPermissionSchema,\n displayName: v.optional(v.string(), \"\"),\n description: v.optional(v.string(), \"\"),\n policyAction: enumLabelSchema(PolicyActionCodec.protoToOutput),\n});\n\nexport type SubaccountPermissionDefinition = v.InferOutput<\n typeof SubaccountPermissionDefinitionSchema\n>;\n\nexport const SubaccountRoleDefinitionSchema = v.object({\n role: ProtoSubaccountRoleSchema,\n displayName: v.optional(v.string(), \"\"),\n description: v.optional(v.string(), \"\"),\n assignable: v.optional(v.boolean(), false),\n permissions: v.optional(v.array(ProtoSubaccountPermissionSchema), []),\n});\n\nexport type SubaccountRoleDefinition = v.InferOutput<typeof SubaccountRoleDefinitionSchema>;\n\nexport const SubaccountRoleCatalogSchema = v.object({\n permissions: v.optional(v.array(SubaccountPermissionDefinitionSchema), []),\n roles: v.optional(v.array(SubaccountRoleDefinitionSchema), []),\n});\n\nexport type SubaccountRoleCatalog = v.InferOutput<typeof SubaccountRoleCatalogSchema>;\n\nexport const EffectiveSubaccountPermissionsSchema = v.object({\n role: ProtoSubaccountRoleSchema,\n permissions: v.optional(v.array(ProtoSubaccountPermissionSchema), []),\n subaccountPolicyId: PublicIdSchema,\n});\n\nexport type EffectiveSubaccountPermissions = v.InferOutput<\n typeof EffectiveSubaccountPermissionsSchema\n>;\n\nexport const CreateSubaccountInputSchema = v.strictObject({\n label: v.optional(v.string(), \"\"),\n icon: v.optional(v.string(), \"\"),\n color: v.optional(v.string(), \"\"),\n smartAccountAddress: WalletAddressSchema,\n message: WalletChallengeMessageSchema,\n signature: WalletSignatureSchema,\n});\n\nexport type CreateSubaccountInput = v.InferInput<typeof CreateSubaccountInputSchema>;\n\nexport const SubaccountIdInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n});\n\nexport type SubaccountIdInput = v.InferInput<typeof SubaccountIdInputSchema>;\n\nexport const CreateSubaccountResultSchema = v.object({\n subaccountId: PublicIdSchema,\n totalCreated: v.number(),\n smartAccountSaltNonce: v.number(),\n revision: BigIntStringSchema,\n});\n\nexport type CreateSubaccountResult = v.InferOutput<typeof CreateSubaccountResultSchema>;\n\nexport const SubaccountMutationResultSchema = v.object({});\n\nexport type SubaccountMutationResult = v.InferOutput<typeof SubaccountMutationResultSchema>;\n\ntype SubaccountPatch = {\n label?: string;\n icon?: string;\n color?: string;\n status?: (typeof SUBACCOUNT_STATUS_VALUES)[number];\n};\n\nconst SUBACCOUNT_PATCH_FIELDS = defineProtoPatchFields<SubaccountPatch>()({\n label: { path: \"label\", encode: (label) => ({ label }) },\n icon: { path: \"icon\", encode: (icon) => ({ icon }) },\n color: { path: \"color\", encode: (color) => ({ color }) },\n status: {\n path: \"status\",\n encode: (status) => ({ status: SubaccountStatusCodec.inputToProto[status] }),\n },\n});\n\nexport const UpdateSubaccountInputSchema = v.pipe(\n v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n label: v.optional(v.string()),\n icon: v.optional(v.string()),\n color: v.optional(v.string()),\n status: v.optional(v.picklist(SUBACCOUNT_STATUS_VALUES)),\n }),\n v.check(\n ({ label, icon, color, status }) =>\n label !== undefined ||\n icon !== undefined ||\n color !== undefined ||\n status !== undefined,\n \"At least one subaccount field must be provided\",\n ),\n v.transform(({ subaccountId, expectedRevision, ...input }) => {\n const { patch: subaccount, updateMask } = buildProtoPatch(input, SUBACCOUNT_PATCH_FIELDS);\n return {\n subaccountId,\n subaccount,\n updateMask,\n expectedRevision,\n };\n }),\n);\n\nexport type UpdateSubaccountInput = v.InferInput<typeof UpdateSubaccountInputSchema>;\n\nexport const InviteSubaccountMemberInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n granteeAccountId: idInputSchema(\"granteeAccountId\"),\n role: v.pipe(\n SubaccountRoleSchema,\n v.transform((role) => SubaccountRoleCodec.inputToProto[role]),\n ),\n});\n\nexport type InviteSubaccountMemberInput = v.InferInput<typeof InviteSubaccountMemberInputSchema>;\n\nexport const RemoveSubaccountMemberInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n granteeAccountId: idInputSchema(\"granteeAccountId\"),\n});\n\nexport type RemoveSubaccountMemberInput = v.InferInput<typeof RemoveSubaccountMemberInputSchema>;\n\nexport const UpdateSubaccountMemberRoleInputSchema = InviteSubaccountMemberInputSchema;\n\nexport type UpdateSubaccountMemberRoleInput = v.InferInput<\n typeof UpdateSubaccountMemberRoleInputSchema\n>;\n\nexport const SetSubaccountMemberMfaRequirementInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n requireMemberMfa: v.boolean(),\n});\n\nexport type SetSubaccountMemberMfaRequirementInput = v.InferInput<\n typeof SetSubaccountMemberMfaRequirementInputSchema\n>;\n\nexport const ListSubaccountInvitesInputSchema = v.strictObject({\n direction: v.pipe(\n v.optional(v.picklist(SUBACCOUNT_INVITE_DIRECTION_VALUES), \"\"),\n v.transform((direction) => SubaccountInviteDirectionCodec.inputToProto[direction]),\n ),\n});\n\nexport type ListSubaccountInvitesInput = v.InferInput<typeof ListSubaccountInvitesInputSchema>;\n\nconst InviteActionSchema = v.picklist([\"accept\", \"decline\", \"cancel\"]);\n\nconst InviteStatusSchema = v.picklist([\"pending\", \"accepted\", \"declined\", \"cancelled\"]);\n\nexport type SubaccountInviteStatus = v.InferOutput<typeof InviteStatusSchema>;\n\nconst ProtoInviteStatusSchema = v.number();\n\nexport const RespondSubaccountInviteInputSchema = v.strictObject({\n inviteId: idInputSchema(\"inviteId\"),\n action: v.pipe(\n InviteActionSchema,\n v.transform((v) => InviteActionCodec.inputToProto[v]),\n ),\n});\n\nexport type RespondSubaccountInviteInput = v.InferInput<typeof RespondSubaccountInviteInputSchema>;\n\nconst ProtoSubaccountStatusSchema = enumLabelSchema(SubaccountStatusCodec.protoToOutput);\n\nexport type SubaccountStatus = v.InferOutput<typeof ProtoSubaccountStatusSchema>;\n\nexport const SubaccountSchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n role: ProtoSubaccountRoleSchema,\n label: v.optional(v.string(), \"\"),\n icon: v.optional(v.string(), \"\"),\n color: v.optional(v.string(), \"\"),\n status: ProtoSubaccountStatusSchema,\n smartAccountAddress: v.string(),\n smartAccountSaltNonce: v.optional(v.number()),\n ownerUsername: v.optional(v.string(), \"\"),\n ownerAvatarUrl: v.optional(v.string(), \"\"),\n ownerRootSmartAccountAddress: v.string(),\n subaccountPolicyId: PublicIdSchema,\n requireMemberMfa: v.optional(v.boolean(), false),\n updatedAt: v.optional(TimestampSchema),\n revision: BigIntStringSchema,\n }),\n v.transform(({ updatedAt, ...subaccount }) => ({\n ...subaccount,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n })),\n);\n\nexport type Subaccount = v.InferOutput<typeof SubaccountSchema>;\n\nexport const SubaccountMemberSchema = v.object({\n accountId: PublicIdSchema,\n role: ProtoSubaccountRoleSchema,\n username: v.optional(v.string(), \"\"),\n smartAccountAddress: v.string(),\n avatarUrl: v.optional(v.string(), \"\"),\n mfaEnrolled: v.optional(v.boolean(), false),\n});\n\nexport type SubaccountMember = v.InferOutput<typeof SubaccountMemberSchema>;\n\nexport const SubaccountInviteSchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n subaccountId: PublicIdSchema,\n granteeAccountId: PublicIdSchema,\n inviterAccountId: PublicIdSchema,\n role: ProtoSubaccountRoleSchema,\n status: v.pipe(\n ProtoInviteStatusSchema,\n v.transform((v) => enumLabel(InviteStatusCodec.protoToOutput, v)),\n ),\n createdAt: OptionalTimestampMsSchema,\n respondedAt: OptionalTimestampMsSchema,\n granteeUsername: v.optional(v.string(), \"\"),\n inviterUsername: v.optional(v.string(), \"\"),\n subaccountLabel: v.optional(v.string(), \"\"),\n inviterRootSmartAccountAddress: v.string(),\n granteeRootSmartAccountAddress: v.string(),\n requireMemberMfa: v.boolean(),\n }),\n v.transform(\n ({\n subaccountLabel,\n subaccountId,\n inviterRootSmartAccountAddress,\n granteeRootSmartAccountAddress,\n ...rest\n }) => ({\n ...rest,\n subaccountId,\n subaccountLabel,\n inviterSmartAccountAddress: inviterRootSmartAccountAddress,\n granteeSmartAccountAddress: granteeRootSmartAccountAddress,\n }),\n ),\n);\n\nexport type SubaccountInvite = v.InferOutput<typeof SubaccountInviteSchema>;\n\nexport const SubaccountActivityInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n limit: v.optional(v.pipe(v.number(), v.integer(), v.minValue(0), v.maxValue(200)), 50),\n pageToken: v.optional(v.pipe(v.string(), v.trim()), \"\"),\n});\n\nexport type SubaccountActivityInput = v.InferInput<typeof SubaccountActivityInputSchema>;\n\nexport const SubaccountActivityEventSchema = v.object({\n createdAt: OptionalTimestampMsSchema,\n entityKind: enumLabelSchema(ActivityEntityKindCodec.protoToOutput),\n eventAction: enumLabelSchema(ActivityEventActionCodec.protoToOutput),\n source: enumLabelSchema(ActivityEventSourceCodec.protoToOutput),\n ip: v.optional(v.string()),\n userAgent: v.optional(v.string()),\n actorAccountId: PublicIdSchema,\n payloadJson: v.pipe(\n v.string(),\n v.transform((v) => JSON.parse(v)),\n ),\n});\n\nexport type SubaccountEvent = v.InferOutput<typeof SubaccountActivityEventSchema>;\n"],"mappings":"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"}
@@ -168,7 +168,7 @@ declare const GetUserTradesInputSchema: v.SchemaWithPipe<readonly [v.UnionSchema
168
168
  readonly orderId: v.OptionalSchema<v.NeverSchema<undefined>, undefined>;
169
169
  readonly lineageId: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>, v.TransformAction<string, bigint>]>, v.CheckAction<bigint, `${string} must be greater than zero`>]>;
170
170
  readonly throughGeneration: v.OptionalSchema<v.SchemaWithPipe<readonly [v.NumberSchema<undefined>, v.IntegerAction<number, undefined>, v.MinValueAction<number, 1, undefined>, v.MaxValueAction<number, 4294967295, undefined>]>, undefined>;
171
- }, undefined>], undefined>], ({ input }: v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1>> | v.NumberIssue | v.IntegerIssue<number> | v.MaxValueIssue<number, 4294967295> | v.CheckIssue<bigint> | v.BooleanIssue | v.NeverIssue | v.MinValueIssue<number, 1> | v.MaxValueIssue<number, 1000> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1>> | v.NumberIssue | v.IntegerIssue<number> | v.MaxValueIssue<number, 4294967295> | v.CheckIssue<bigint> | v.BooleanIssue | v.NeverIssue | v.MinValueIssue<number, 1> | v.MaxValueIssue<number, 1000>> | v.CheckIssue<number> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1>> | v.NumberIssue | v.IntegerIssue<number> | v.MaxValueIssue<number, 4294967295> | v.CheckIssue<bigint> | v.BooleanIssue | v.NeverIssue | v.MinValueIssue<number, 1> | v.MaxValueIssue<number, 1000> | v.CheckIssue<number>>>) => "symbolId is required when afterMatchId is set" | "Provide at most one of orderId or lineageId">, v.TransformAction<{
171
+ }, undefined>], undefined>], ({ input }: v.UnionIssue<v.NumberIssue | v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1>> | v.IntegerIssue<number> | v.MaxValueIssue<number, 4294967295> | v.CheckIssue<bigint> | v.BooleanIssue | v.NeverIssue | v.MinValueIssue<number, 1> | v.MaxValueIssue<number, 1000> | v.UnionIssue<v.NumberIssue | v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1>> | v.IntegerIssue<number> | v.MaxValueIssue<number, 4294967295> | v.CheckIssue<bigint> | v.BooleanIssue | v.NeverIssue | v.MinValueIssue<number, 1> | v.MaxValueIssue<number, 1000>> | v.CheckIssue<number> | v.UnionIssue<v.NumberIssue | v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1> | v.UnionIssue<v.StringIssue | v.PicklistIssue | v.StrictObjectIssue | v.MinLengthIssue<string, 1>> | v.IntegerIssue<number> | v.MaxValueIssue<number, 4294967295> | v.CheckIssue<bigint> | v.BooleanIssue | v.NeverIssue | v.MinValueIssue<number, 1> | v.MaxValueIssue<number, 1000> | v.CheckIssue<number>>>) => "symbolId is required when afterMatchId is set" | "Provide at most one of orderId or lineageId">, v.TransformAction<{
172
172
  symbolId?: number | undefined;
173
173
  afterMatchId?: undefined;
174
174
  side?: Side.BUY | Side.SELL | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"trades.schemas.d.ts","names":[],"sources":["../../../src/services/trades/trades.schemas.ts"],"mappings":";;;;;iBAyBgB,sBAAsB,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA0D3C,QAAQ,EAAE,YAAY,kBAAkB;;cAmFvC,0BAAwB,EAAA,yBAAA,EAAA,aAAA,EAAA,sBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8BzB,qBAAqB,EAAE,kBAAkB"}
1
+ {"version":3,"file":"trades.schemas.d.ts","names":[],"sources":["../../../src/services/trades/trades.schemas.ts"],"mappings":";;;;;iBAoBgB,sBAAsB,QAAQ,YAAS,EAAA,yBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAgD3C,QAAQ,EAAE,YAAY,kBAAkB;;cAmFvC,0BAAwB,EAAA,yBAAA,EAAA,aAAA,EAAA,sBAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KA8BzB,qBAAqB,EAAE,kBAAkB"}
@@ -1,9 +1,9 @@
1
- import { requiredEnumLabel } from "../../shared/proto-enum-codec.js";
1
+ import { enumLabel } from "../../shared/proto-enum-codec.js";
2
2
  import { formatId } from "../../utils/base58-id.js";
3
3
  import { parseOptionalUint64DecimalStrict } from "../../utils/numbers.js";
4
4
  import { tsNsToISO, tsNsToMs } from "../../utils/time.js";
5
5
  import { PROTOBUF_UINT32_MAX } from "../../shared/wire-bounds.js";
6
- import { optionalUint64DecimalFilterSchema } from "../../shared/schemas.js";
6
+ import { U128Schema, optionalUint64DecimalFilterSchema } from "../../shared/schemas.js";
7
7
  import { SideSchema } from "../shared.js";
8
8
  import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../shared/account-scope.js";
9
9
  import { scaledToDecimalOutput } from "../../shared/decimal-surface.js";
@@ -14,10 +14,6 @@ import { TradeSideCodec } from "./trades.codecs.js";
14
14
  import { positiveOrderIdInputSchema } from "../orders/orders-identifiers.schemas.js";
15
15
  import * as v from "valibot";
16
16
  //#region src/services/trades/trades.schemas.ts
17
- const U128Schema = v.object({
18
- hi: v.bigint(),
19
- lo: v.bigint()
20
- });
21
17
  /** Parses a generated user-trade fill into the SDK's JSON-safe public shape. */
22
18
  function createUserTradeSchema(scales) {
23
19
  return v.pipe(v.object({
@@ -35,11 +31,11 @@ function createUserTradeSchema(scales) {
35
31
  matchId: v.bigint(),
36
32
  lineage: v.optional(OrderLineageSchema)
37
33
  }), v.transform((t) => {
38
- const feeAsset = requiredEnumLabel(FeeAssetCodec.protoToOutput, t.feeAsset, "UserTradeSchema", "fee asset");
34
+ const feeAsset = enumLabel(FeeAssetCodec.protoToOutput, t.feeAsset);
39
35
  return {
40
36
  orderId: formatId(t.orderId),
41
37
  symbolId: t.symbolId,
42
- sideLabel: requiredEnumLabel(OrderSideCodec.protoToOutput, t.side, "UserTradeSchema", "side"),
38
+ sideLabel: enumLabel(OrderSideCodec.protoToOutput, t.side),
43
39
  liquidityLabel: t.isMaker ? "maker" : "taker",
44
40
  feeAsset,
45
41
  qty: scaledToDecimalOutput(t.qtyScaled, scales.baseQty(t.symbolId)),