@polyester/sdk 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/README.md +63 -17
  3. package/dist/_virtual/_rolldown/runtime.js +15 -1
  4. package/dist/account-signer/types.d.ts.map +1 -1
  5. package/dist/account-signer/types.js +6 -3
  6. package/dist/account-signer/types.js.map +1 -1
  7. package/dist/browser-client.d.ts +4 -2
  8. package/dist/browser-client.d.ts.map +1 -1
  9. package/dist/browser-client.js +3 -4
  10. package/dist/browser-client.js.map +1 -1
  11. package/dist/catalogs/client-catalog.d.ts.map +1 -1
  12. package/dist/catalogs/client-catalog.js +11 -4
  13. package/dist/catalogs/client-catalog.js.map +1 -1
  14. package/dist/catalogs/index.js +1 -1
  15. package/dist/catalogs/readers.d.ts.map +1 -1
  16. package/dist/catalogs/readers.js +3 -1
  17. package/dist/catalogs/readers.js.map +1 -1
  18. package/dist/catalogs/snapshot-validation.js +132 -0
  19. package/dist/catalogs/snapshot-validation.js.map +1 -0
  20. package/dist/catalogs/snapshot.d.ts.map +1 -1
  21. package/dist/catalogs/snapshot.js +16 -7
  22. package/dist/catalogs/snapshot.js.map +1 -1
  23. package/dist/catalogs/zipper-supply.d.ts.map +1 -1
  24. package/dist/catalogs/zipper-supply.js +10 -7
  25. package/dist/catalogs/zipper-supply.js.map +1 -1
  26. package/dist/core-client.d.ts +24 -17
  27. package/dist/core-client.d.ts.map +1 -1
  28. package/dist/core-client.js +21 -3
  29. package/dist/core-client.js.map +1 -1
  30. package/dist/environment.d.ts.map +1 -1
  31. package/dist/environment.js +32 -1
  32. package/dist/environment.js.map +1 -1
  33. package/dist/index.js +3 -3
  34. package/dist/realtime/client.js +13 -2
  35. package/dist/realtime/client.js.map +1 -1
  36. package/dist/realtime/snapshot-then-stream.js +1 -1
  37. package/dist/realtime/snapshot-then-stream.js.map +1 -1
  38. package/dist/realtime/types.d.ts +2 -0
  39. package/dist/realtime/types.d.ts.map +1 -1
  40. package/dist/server-client.d.ts +17 -8
  41. package/dist/server-client.d.ts.map +1 -1
  42. package/dist/server-client.js +8 -11
  43. package/dist/server-client.js.map +1 -1
  44. package/dist/services/accounts/accounts.js +3 -3
  45. package/dist/services/accounts/accounts.js.map +1 -1
  46. package/dist/services/accounts/accounts.schemas.d.ts +13 -13
  47. package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
  48. package/dist/services/accounts/accounts.schemas.js +11 -11
  49. package/dist/services/accounts/accounts.schemas.js.map +1 -1
  50. package/dist/services/address-book/address-book.js +28 -28
  51. package/dist/services/address-book/address-book.js.map +1 -1
  52. package/dist/services/address-book/address-book.schemas.d.ts +751 -751
  53. package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
  54. package/dist/services/address-book/address-book.schemas.js +160 -160
  55. package/dist/services/address-book/address-book.schemas.js.map +1 -1
  56. package/dist/services/api-keys/api-keys.d.ts +6 -6
  57. package/dist/services/api-keys/api-keys.d.ts.map +1 -1
  58. package/dist/services/api-keys/api-keys.js +12 -12
  59. package/dist/services/api-keys/api-keys.js.map +1 -1
  60. package/dist/services/api-keys/api-keys.schemas.d.ts +62 -62
  61. package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
  62. package/dist/services/api-keys/api-keys.schemas.js +34 -34
  63. package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
  64. package/dist/services/auth/auth.d.ts +46 -40
  65. package/dist/services/auth/auth.d.ts.map +1 -1
  66. package/dist/services/auth/auth.js +28 -25
  67. package/dist/services/auth/auth.js.map +1 -1
  68. package/dist/services/auth/profile/profile.d.ts +2 -2
  69. package/dist/services/auth/profile/profile.d.ts.map +1 -1
  70. package/dist/services/auth/profile/profile.js +7 -7
  71. package/dist/services/auth/profile/profile.js.map +1 -1
  72. package/dist/services/auth/profile/profile.schemas.d.ts +41 -41
  73. package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
  74. package/dist/services/auth/profile/profile.schemas.js +27 -27
  75. package/dist/services/auth/profile/profile.schemas.js.map +1 -1
  76. package/dist/services/auth/session.d.ts +1 -1
  77. package/dist/services/auth/session.d.ts.map +1 -1
  78. package/dist/services/auth/session.js +6 -2
  79. package/dist/services/auth/session.js.map +1 -1
  80. package/dist/services/auth/session.schemas.js +17 -17
  81. package/dist/services/auth/session.schemas.js.map +1 -1
  82. package/dist/services/auth/session.types.d.ts +3 -2
  83. package/dist/services/auth/session.types.d.ts.map +1 -1
  84. package/dist/services/balances/balances.d.ts +1 -1
  85. package/dist/services/balances/balances.js +9 -9
  86. package/dist/services/balances/balances.js.map +1 -1
  87. package/dist/services/balances/balances.schemas.d.ts +95 -95
  88. package/dist/services/balances/balances.schemas.d.ts.map +1 -1
  89. package/dist/services/balances/balances.schemas.js +61 -61
  90. package/dist/services/balances/balances.schemas.js.map +1 -1
  91. package/dist/services/candles/candles.js +12 -12
  92. package/dist/services/candles/candles.js.map +1 -1
  93. package/dist/services/candles/candles.schemas.d.ts +70 -70
  94. package/dist/services/candles/candles.schemas.d.ts.map +1 -1
  95. package/dist/services/candles/candles.schemas.js +47 -48
  96. package/dist/services/candles/candles.schemas.js.map +1 -1
  97. package/dist/services/chain-analytics/chain-analytics.js +7 -7
  98. package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
  99. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +68 -68
  100. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
  101. package/dist/services/chain-analytics/chain-analytics.schemas.js +29 -29
  102. package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
  103. package/dist/services/deposit/deposit.js +5 -5
  104. package/dist/services/deposit/deposit.js.map +1 -1
  105. package/dist/services/deposit/deposit.schemas.d.ts +17 -17
  106. package/dist/services/deposit/deposit.schemas.d.ts.map +1 -1
  107. package/dist/services/deposit/deposit.schemas.js +11 -11
  108. package/dist/services/deposit/deposit.schemas.js.map +1 -1
  109. package/dist/services/guard-signer/guard-signer.js +13 -13
  110. package/dist/services/guard-signer/guard-signer.js.map +1 -1
  111. package/dist/services/guard-signer/guard-signer.schemas.d.ts +75 -75
  112. package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -1
  113. package/dist/services/guard-signer/guard-signer.schemas.js +42 -42
  114. package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -1
  115. package/dist/services/heatmap/heatmap.js +9 -9
  116. package/dist/services/heatmap/heatmap.js.map +1 -1
  117. package/dist/services/heatmap/heatmap.schemas.d.ts +144 -144
  118. package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
  119. package/dist/services/heatmap/heatmap.schemas.js +47 -47
  120. package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
  121. package/dist/services/internal-transfers/internal-transfers.js +3 -3
  122. package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
  123. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +53 -53
  124. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
  125. package/dist/services/internal-transfers/internal-transfers.schemas.js +27 -27
  126. package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
  127. package/dist/services/lifecycle/lifecycle.js +10 -10
  128. package/dist/services/lifecycle/lifecycle.js.map +1 -1
  129. package/dist/services/lifecycle/lifecycle.schemas.d.ts +614 -614
  130. package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
  131. package/dist/services/lifecycle/lifecycle.schemas.js +146 -146
  132. package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
  133. package/dist/services/market-data/market-data.js +6 -6
  134. package/dist/services/market-data/market-data.js.map +1 -1
  135. package/dist/services/market-data/market-data.schemas.d.ts +20 -20
  136. package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
  137. package/dist/services/market-data/market-data.schemas.js +51 -55
  138. package/dist/services/market-data/market-data.schemas.js.map +1 -1
  139. package/dist/services/market-overview/market-overview.js +4 -4
  140. package/dist/services/market-overview/market-overview.js.map +1 -1
  141. package/dist/services/market-overview/market-overview.schemas.d.ts +38 -38
  142. package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
  143. package/dist/services/market-overview/market-overview.schemas.js +33 -33
  144. package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
  145. package/dist/services/mfa/mfa.js +27 -27
  146. package/dist/services/mfa/mfa.js.map +1 -1
  147. package/dist/services/mfa/mfa.schemas.d.ts +206 -206
  148. package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
  149. package/dist/services/mfa/mfa.schemas.js +83 -83
  150. package/dist/services/mfa/mfa.schemas.js.map +1 -1
  151. package/dist/services/orderbook/orderbook.d.ts +2 -2
  152. package/dist/services/orderbook/orderbook.d.ts.map +1 -1
  153. package/dist/services/orderbook/orderbook.js +5 -5
  154. package/dist/services/orderbook/orderbook.js.map +1 -1
  155. package/dist/services/orderbook/orderbook.schemas.d.ts +22 -22
  156. package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
  157. package/dist/services/orderbook/orderbook.schemas.js +15 -15
  158. package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
  159. package/dist/services/orders/order-errors.schemas.d.ts +18 -18
  160. package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
  161. package/dist/services/orders/order-errors.schemas.js +8 -8
  162. package/dist/services/orders/order-errors.schemas.js.map +1 -1
  163. package/dist/services/orders/orders-batch.schemas.d.ts +492 -492
  164. package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
  165. package/dist/services/orders/orders-batch.schemas.js +118 -118
  166. package/dist/services/orders/orders-batch.schemas.js.map +1 -1
  167. package/dist/services/orders/orders-identifiers.schemas.js +5 -5
  168. package/dist/services/orders/orders-identifiers.schemas.js.map +1 -1
  169. package/dist/services/orders/orders-input.schemas.d.ts +657 -648
  170. package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
  171. package/dist/services/orders/orders-input.schemas.js +100 -96
  172. package/dist/services/orders/orders-input.schemas.js.map +1 -1
  173. package/dist/services/orders/orders-modify.schemas.d.ts +370 -351
  174. package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
  175. package/dist/services/orders/orders-modify.schemas.js +48 -44
  176. package/dist/services/orders/orders-modify.schemas.js.map +1 -1
  177. package/dist/services/orders/orders-output.schemas.d.ts +183 -183
  178. package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
  179. package/dist/services/orders/orders-output.schemas.js +49 -49
  180. package/dist/services/orders/orders-output.schemas.js.map +1 -1
  181. package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
  182. package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
  183. package/dist/services/orders/orders-risk.schemas.js +69 -69
  184. package/dist/services/orders/orders-risk.schemas.js.map +1 -1
  185. package/dist/services/orders/orders.d.ts +8 -8
  186. package/dist/services/orders/orders.d.ts.map +1 -1
  187. package/dist/services/orders/orders.js +44 -32
  188. package/dist/services/orders/orders.js.map +1 -1
  189. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +6 -6
  190. package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
  191. package/dist/services/policies/api-key-policies/api-key-policies.js +11 -11
  192. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
  193. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +105 -105
  194. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
  195. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +49 -49
  196. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
  197. package/dist/services/policies/shared.d.ts +5 -5
  198. package/dist/services/policies/shared.d.ts.map +1 -1
  199. package/dist/services/policies/shared.js +10 -10
  200. package/dist/services/policies/shared.js.map +1 -1
  201. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +6 -6
  202. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
  203. package/dist/services/policies/subaccount-policies/subaccount-policies.js +13 -13
  204. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
  205. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +124 -124
  206. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
  207. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +75 -75
  208. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
  209. package/dist/services/shared.js +11 -11
  210. package/dist/services/shared.js.map +1 -1
  211. package/dist/services/social-verification/social-verification.d.ts +3 -3
  212. package/dist/services/social-verification/social-verification.d.ts.map +1 -1
  213. package/dist/services/social-verification/social-verification.js +7 -7
  214. package/dist/services/social-verification/social-verification.js.map +1 -1
  215. package/dist/services/social-verification/social-verification.schemas.d.ts +54 -54
  216. package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
  217. package/dist/services/social-verification/social-verification.schemas.js +28 -28
  218. package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
  219. package/dist/services/subaccount-resolver.js +5 -3
  220. package/dist/services/subaccount-resolver.js.map +1 -1
  221. package/dist/services/subaccounts/subaccounts.d.ts +15 -15
  222. package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
  223. package/dist/services/subaccounts/subaccounts.js +35 -35
  224. package/dist/services/subaccounts/subaccounts.js.map +1 -1
  225. package/dist/services/subaccounts/subaccounts.schemas.d.ts +135 -135
  226. package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
  227. package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
  228. package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
  229. package/dist/services/trades/trades.d.ts +2 -2
  230. package/dist/services/trades/trades.d.ts.map +1 -1
  231. package/dist/services/trades/trades.js +5 -5
  232. package/dist/services/trades/trades.js.map +1 -1
  233. package/dist/services/trades/trades.schemas.d.ts +31 -31
  234. package/dist/services/trades/trades.schemas.d.ts.map +1 -1
  235. package/dist/services/trades/trades.schemas.js +24 -24
  236. package/dist/services/trades/trades.schemas.js.map +1 -1
  237. package/dist/services/trading-withdraws/trading-withdraws.js +8 -8
  238. package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
  239. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +45 -45
  240. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -1
  241. package/dist/services/trading-withdraws/trading-withdraws.schemas.js +36 -36
  242. package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -1
  243. package/dist/services/transfers/transfers.d.ts +1 -1
  244. package/dist/services/transfers/transfers.d.ts.map +1 -1
  245. package/dist/services/transfers/transfers.js +5 -5
  246. package/dist/services/transfers/transfers.js.map +1 -1
  247. package/dist/services/transfers/transfers.schemas.d.ts +42 -42
  248. package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
  249. package/dist/services/transfers/transfers.schemas.js +30 -30
  250. package/dist/services/transfers/transfers.schemas.js.map +1 -1
  251. package/dist/services/triggers/trigger-child-order.schemas.js +23 -23
  252. package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
  253. package/dist/services/triggers/trigger-input.schemas.d.ts +226 -226
  254. package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
  255. package/dist/services/triggers/trigger-input.schemas.js +53 -53
  256. package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
  257. package/dist/services/triggers/triggers-output.schemas.d.ts +210 -210
  258. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
  259. package/dist/services/triggers/triggers-output.schemas.js +152 -152
  260. package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
  261. package/dist/services/triggers/triggers.js +21 -21
  262. package/dist/services/triggers/triggers.js.map +1 -1
  263. package/dist/services/whiteboard/whiteboard.js +15 -15
  264. package/dist/services/whiteboard/whiteboard.js.map +1 -1
  265. package/dist/services/whiteboard/whiteboard.schemas.d.ts +379 -379
  266. package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
  267. package/dist/services/whiteboard/whiteboard.schemas.js +71 -71
  268. package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
  269. package/dist/services/zipper/zipper.js +3 -3
  270. package/dist/services/zipper/zipper.js.map +1 -1
  271. package/dist/services/zipper/zipper.schemas.d.ts +1 -1
  272. package/dist/services/zipper/zipper.schemas.js +54 -54
  273. package/dist/services/zipper/zipper.schemas.js.map +1 -1
  274. package/dist/shared/account-scope.d.ts +6 -6
  275. package/dist/shared/account-scope.d.ts.map +1 -1
  276. package/dist/shared/account-scope.js +3 -3
  277. package/dist/shared/account-scope.js.map +1 -1
  278. package/dist/shared/connect-error-mapping.d.ts +1 -1
  279. package/dist/shared/connect-error-mapping.js +29 -3
  280. package/dist/shared/connect-error-mapping.js.map +1 -1
  281. package/dist/shared/rate-limit.schemas.d.ts +12 -12
  282. package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
  283. package/dist/shared/rate-limit.schemas.js +7 -7
  284. package/dist/shared/rate-limit.schemas.js.map +1 -1
  285. package/dist/shared/schemas.js +26 -26
  286. package/dist/shared/schemas.js.map +1 -1
  287. package/dist/shared/transports.js +7 -12
  288. package/dist/shared/transports.js.map +1 -1
  289. package/dist/shared/types.d.ts +12 -0
  290. package/dist/shared/types.d.ts.map +1 -1
  291. package/dist/shared/validation.d.ts +14 -0
  292. package/dist/shared/validation.d.ts.map +1 -0
  293. package/dist/shared/validation.js +24 -0
  294. package/dist/shared/validation.js.map +1 -0
  295. package/dist/utils/connect-order-errors.js +2 -2
  296. package/dist/utils/connect-order-errors.js.map +1 -1
  297. package/dist/utils/cookies.d.ts +8 -3
  298. package/dist/utils/cookies.d.ts.map +1 -1
  299. package/dist/utils/cookies.js +7 -1
  300. package/dist/utils/cookies.js.map +1 -1
  301. package/dist/utils/event-emitter.d.ts +1 -1
  302. package/dist/utils/event-emitter.d.ts.map +1 -1
  303. package/dist/utils/event-emitter.js +4 -2
  304. package/dist/utils/event-emitter.js.map +1 -1
  305. package/dist/utils/evm.js +2 -2
  306. package/dist/utils/evm.js.map +1 -1
  307. package/dist/utils/jwt.d.ts +2 -2
  308. package/dist/utils/jwt.d.ts.map +1 -1
  309. package/dist/utils/jwt.js +2 -2
  310. package/dist/utils/jwt.js.map +1 -1
  311. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { validation_exports } from "../../../shared/validation.js";
1
2
  import { idToBigInt } from "../../../utils/base58-id.js";
2
3
  import { bpsToPct, toBigIntOrZero, toBpsOrZero, toIntOrZero } from "../../../utils/numbers.js";
3
4
  import { tsObjToMs, tsObjToNsString } from "../../../utils/time.js";
@@ -7,50 +8,49 @@ import { PolicyActionCodec, PolicyMarketScopeCodec, policyActionLabelFor, policy
7
8
  import { buildProtoPatch, defineProtoPatchFields } from "../../../utils/proto-patch.js";
8
9
  import { toTimestamp } from "../../../utils/timestamp.js";
9
10
  import { AccountScopeInputEntries, accountScopeToSubaccountId } from "../../../shared/account-scope.js";
10
- import * as v from "valibot";
11
11
  //#region src/services/policies/subaccount-policies/subaccount-policies.schemas.ts
12
- const ListSubaccountPoliciesInputSchema = v.pipe(v.strictObject(AccountScopeInputEntries), v.transform(({ account }) => ({ subaccountId: accountScopeToSubaccountId(account) })));
13
- const GetSubaccountPolicyInputSchema = v.pipe(v.strictObject({
14
- policyId: v.pipe(v.string(), v.trim(), v.minLength(1)),
12
+ const ListSubaccountPoliciesInputSchema = validation_exports.pipe(validation_exports.strictObject(AccountScopeInputEntries), validation_exports.transform(({ account }) => ({ subaccountId: accountScopeToSubaccountId(account) })));
13
+ const GetSubaccountPolicyInputSchema = validation_exports.pipe(validation_exports.strictObject({
14
+ policyId: validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1)),
15
15
  ...AccountScopeInputEntries
16
- }), v.transform(({ policyId, account }) => ({
16
+ }), validation_exports.transform(({ policyId, account }) => ({
17
17
  policyId: idToBigInt(policyId, "policyId"),
18
18
  subaccountId: accountScopeToSubaccountId(account)
19
19
  })));
20
20
  /**
21
21
  * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.
22
22
  */
23
- const SubaccountPolicySchema = v.pipe(v.object({
23
+ const SubaccountPolicySchema = validation_exports.pipe(validation_exports.object({
24
24
  id: PublicIdSchema,
25
- name: v.string(),
26
- description: v.string(),
27
- spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),
28
- spotMarketScope: v.pipe(ProtoPolicyMarketScopeEnumSchema, v.transform((v) => policyMarketScopeLabelFor(v))),
29
- perpMarketScope: v.pipe(ProtoPolicyMarketScopeEnumSchema, v.transform((v) => policyMarketScopeLabelFor(v))),
30
- perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),
31
- actions: v.pipe(v.optional(v.array(ProtoPolicyActionEnumSchema), []), v.transform((v) => v.map((action) => policyActionLabelFor(action)))),
32
- isTemplate: v.optional(v.boolean(), false),
25
+ name: validation_exports.string(),
26
+ description: validation_exports.string(),
27
+ spotMarkets: validation_exports.optional(validation_exports.array(SpotMarketRuleSchema), []),
28
+ spotMarketScope: validation_exports.pipe(ProtoPolicyMarketScopeEnumSchema, validation_exports.transform((v) => policyMarketScopeLabelFor(v))),
29
+ perpMarketScope: validation_exports.pipe(ProtoPolicyMarketScopeEnumSchema, validation_exports.transform((v) => policyMarketScopeLabelFor(v))),
30
+ perpMarkets: validation_exports.optional(validation_exports.array(PerpMarketRuleSchema), []),
31
+ actions: validation_exports.pipe(validation_exports.optional(validation_exports.array(ProtoPolicyActionEnumSchema), []), validation_exports.transform((v) => v.map((action) => policyActionLabelFor(action)))),
32
+ isTemplate: validation_exports.optional(validation_exports.boolean(), false),
33
33
  sourceTemplateId: OptionalPublicIdSchema,
34
- globalNotionalCap: v.pipe(v.bigint(), v.transform((v) => Number(v))),
35
- maxOrderNotional: v.pipe(v.bigint(), v.transform((v) => Number(v))),
36
- maxOpenOrders: v.number(),
37
- maxOpenPositions: v.number(),
38
- globalPerpLeverageX: v.number(),
39
- dailyInternalTransferOutLimit: v.pipe(v.bigint(), v.transform((v) => Number(v))),
40
- dailyWithdrawLimit: v.pipe(v.bigint(), v.transform((v) => Number(v))),
41
- internalTransfersOwnOnly: v.boolean(),
42
- enforceWithdrawWhitelist: v.boolean(),
43
- tradingHalted: v.boolean(),
44
- liquidationOnly: v.boolean(),
45
- dailyLossLimit: v.pipe(v.bigint(), v.transform((v) => Number(v))),
46
- intradayDrawdownLimitBps: v.pipe(v.number(), v.transform((v) => bpsToPct(v))),
47
- locked: v.boolean(),
34
+ globalNotionalCap: validation_exports.pipe(validation_exports.bigint(), validation_exports.transform((v) => Number(v))),
35
+ maxOrderNotional: validation_exports.pipe(validation_exports.bigint(), validation_exports.transform((v) => Number(v))),
36
+ maxOpenOrders: validation_exports.number(),
37
+ maxOpenPositions: validation_exports.number(),
38
+ globalPerpLeverageX: validation_exports.number(),
39
+ dailyInternalTransferOutLimit: validation_exports.pipe(validation_exports.bigint(), validation_exports.transform((v) => Number(v))),
40
+ dailyWithdrawLimit: validation_exports.pipe(validation_exports.bigint(), validation_exports.transform((v) => Number(v))),
41
+ internalTransfersOwnOnly: validation_exports.boolean(),
42
+ enforceWithdrawWhitelist: validation_exports.boolean(),
43
+ tradingHalted: validation_exports.boolean(),
44
+ liquidationOnly: validation_exports.boolean(),
45
+ dailyLossLimit: validation_exports.pipe(validation_exports.bigint(), validation_exports.transform((v) => Number(v))),
46
+ intradayDrawdownLimitBps: validation_exports.pipe(validation_exports.number(), validation_exports.transform((v) => bpsToPct(v))),
47
+ locked: validation_exports.boolean(),
48
48
  reviewAt: OptionalTimestampMsSchema,
49
49
  expiresAt: OptionalTimestampMsSchema,
50
50
  createdAt: TimestampMsSchema,
51
51
  updatedAt: TimestampSchema,
52
52
  revision: BigIntStringSchema
53
- }), v.transform(({ maxOrderNotional, globalNotionalCap, intradayDrawdownLimitBps, updatedAt, ...rest }) => ({
53
+ }), validation_exports.transform(({ maxOrderNotional, globalNotionalCap, intradayDrawdownLimitBps, updatedAt, ...rest }) => ({
54
54
  maxOrderSize: maxOrderNotional,
55
55
  globalExposureCap: globalNotionalCap,
56
56
  intradayDrawdownLimitPct: intradayDrawdownLimitBps,
@@ -58,14 +58,14 @@ const SubaccountPolicySchema = v.pipe(v.object({
58
58
  updatedAt: tsObjToMs(updatedAt),
59
59
  updatedAtNs: tsObjToNsString(updatedAt)
60
60
  })));
61
- const SubaccountPolicyInputBaseSchema = v.strictObject({
62
- name: v.string(),
63
- description: v.optional(v.string(), ""),
64
- spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),
65
- perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),
66
- spotMarketScope: v.pipe(PolicyMarketScopeEnumSchema, v.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
67
- perpMarketScope: v.pipe(PolicyMarketScopeEnumSchema, v.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
68
- actions: v.pipe(v.optional(v.array(PolicyActionEnumSchema), ["read-balances", "read-spot"]), v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action]))),
61
+ const SubaccountPolicyInputBaseSchema = validation_exports.strictObject({
62
+ name: validation_exports.string(),
63
+ description: validation_exports.optional(validation_exports.string(), ""),
64
+ spotMarkets: validation_exports.optional(validation_exports.array(SpotMarketRuleSchema), []),
65
+ perpMarkets: validation_exports.optional(validation_exports.array(PerpMarketRuleSchema), []),
66
+ spotMarketScope: validation_exports.pipe(PolicyMarketScopeEnumSchema, validation_exports.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
67
+ perpMarketScope: validation_exports.pipe(PolicyMarketScopeEnumSchema, validation_exports.transform((v) => PolicyMarketScopeCodec.inputToProto[v])),
68
+ actions: validation_exports.pipe(validation_exports.optional(validation_exports.array(PolicyActionEnumSchema), ["read-balances", "read-spot"]), validation_exports.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action]))),
69
69
  globalLeverageCap: OptionalNumberToIntOrZeroSchema,
70
70
  globalExposureCap: OptionalNumberToBigIntOrZeroSchema,
71
71
  maxOrderSize: OptionalNumberToBigIntOrZeroSchema,
@@ -75,13 +75,13 @@ const SubaccountPolicyInputBaseSchema = v.strictObject({
75
75
  dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,
76
76
  dailyLossLimit: OptionalNumberToBigIntOrZeroSchema,
77
77
  intradayDrawdownLimitPct: OptionalNumberToBpsOrZeroSchema,
78
- tradingHalted: v.optional(v.boolean(), false),
79
- liquidationOnly: v.optional(v.boolean(), false),
80
- policyLocked: v.optional(v.boolean(), false),
81
- internalTransfersOwnOnly: v.optional(v.boolean(), true),
82
- enforceWithdrawWhitelist: v.optional(v.boolean(), false),
83
- reviewAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),
84
- expiresAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),
78
+ tradingHalted: validation_exports.optional(validation_exports.boolean(), false),
79
+ liquidationOnly: validation_exports.optional(validation_exports.boolean(), false),
80
+ policyLocked: validation_exports.optional(validation_exports.boolean(), false),
81
+ internalTransfersOwnOnly: validation_exports.optional(validation_exports.boolean(), true),
82
+ enforceWithdrawWhitelist: validation_exports.optional(validation_exports.boolean(), false),
83
+ reviewAt: validation_exports.optional(validation_exports.nullable(validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.minValue(0)))),
84
+ expiresAt: validation_exports.optional(validation_exports.nullable(validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.minValue(0)))),
85
85
  subaccountId: optionalSubaccountIdInputSchema()
86
86
  });
87
87
  function timestampFromMs(value) {
@@ -105,34 +105,34 @@ function createSubaccountPolicyBaseTransform(input) {
105
105
  expiresAt: timestampFromMs(expiresAt)
106
106
  };
107
107
  }
108
- const CreateSubaccountPolicyInputSchema = v.pipe(SubaccountPolicyInputBaseSchema, v.check(({ actions }) => actions.includes(PolicyActionCodec.inputToProto["read-balances"]) && actions.includes(PolicyActionCodec.inputToProto["read-spot"]), "Subaccount policy actions must include read-balances and read-spot"), v.transform((input) => ({
108
+ const CreateSubaccountPolicyInputSchema = validation_exports.pipe(SubaccountPolicyInputBaseSchema, validation_exports.check(({ actions }) => actions.includes(PolicyActionCodec.inputToProto["read-balances"]) && actions.includes(PolicyActionCodec.inputToProto["read-spot"]), "Subaccount policy actions must include read-balances and read-spot"), validation_exports.transform((input) => ({
109
109
  policy: createSubaccountPolicyBaseTransform(input),
110
110
  subaccountId: input.subaccountId
111
111
  })));
112
- const SubaccountPolicyPatchSchema = v.strictObject({
113
- name: v.optional(v.string()),
114
- description: v.optional(v.string()),
115
- spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),
116
- perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),
117
- spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),
118
- perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),
119
- actions: v.optional(v.array(PolicyActionEnumSchema)),
120
- globalLeverageCap: v.optional(v.nullable(v.number())),
121
- globalExposureCap: v.optional(v.nullable(v.number())),
122
- maxOrderSize: v.optional(v.nullable(v.number())),
123
- maxOpenOrders: v.optional(v.nullable(v.number())),
124
- maxOpenPositions: v.optional(v.nullable(v.number())),
125
- dailyInternalTransferLimit: v.optional(v.nullable(v.number())),
126
- dailyWithdrawLimit: v.optional(v.nullable(v.number())),
127
- dailyLossLimit: v.optional(v.nullable(v.number())),
128
- intradayDrawdownLimitPct: v.optional(v.nullable(v.number())),
129
- tradingHalted: v.optional(v.boolean()),
130
- liquidationOnly: v.optional(v.boolean()),
131
- policyLocked: v.optional(v.boolean()),
132
- internalTransfersOwnOnly: v.optional(v.boolean()),
133
- enforceWithdrawWhitelist: v.optional(v.boolean()),
134
- reviewAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),
135
- expiresAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0))))
112
+ const SubaccountPolicyPatchSchema = validation_exports.strictObject({
113
+ name: validation_exports.optional(validation_exports.string()),
114
+ description: validation_exports.optional(validation_exports.string()),
115
+ spotMarkets: validation_exports.optional(validation_exports.array(SpotMarketRuleSchema)),
116
+ perpMarkets: validation_exports.optional(validation_exports.array(PerpMarketRuleSchema)),
117
+ spotMarketScope: validation_exports.optional(PolicyMarketScopeEnumSchema),
118
+ perpMarketScope: validation_exports.optional(PolicyMarketScopeEnumSchema),
119
+ actions: validation_exports.optional(validation_exports.array(PolicyActionEnumSchema)),
120
+ globalLeverageCap: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
121
+ globalExposureCap: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
122
+ maxOrderSize: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
123
+ maxOpenOrders: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
124
+ maxOpenPositions: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
125
+ dailyInternalTransferLimit: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
126
+ dailyWithdrawLimit: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
127
+ dailyLossLimit: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
128
+ intradayDrawdownLimitPct: validation_exports.optional(validation_exports.nullable(validation_exports.number())),
129
+ tradingHalted: validation_exports.optional(validation_exports.boolean()),
130
+ liquidationOnly: validation_exports.optional(validation_exports.boolean()),
131
+ policyLocked: validation_exports.optional(validation_exports.boolean()),
132
+ internalTransfersOwnOnly: validation_exports.optional(validation_exports.boolean()),
133
+ enforceWithdrawWhitelist: validation_exports.optional(validation_exports.boolean()),
134
+ reviewAt: validation_exports.optional(validation_exports.nullable(validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.minValue(0)))),
135
+ expiresAt: validation_exports.optional(validation_exports.nullable(validation_exports.pipe(validation_exports.number(), validation_exports.integer(), validation_exports.minValue(0))))
136
136
  });
137
137
  const SUBACCOUNT_POLICY_PATCH_FIELDS = defineProtoPatchFields()({
138
138
  name: {
@@ -237,11 +237,11 @@ const SUBACCOUNT_POLICY_PATCH_FIELDS = defineProtoPatchFields()({
237
237
  function hasMandatorySubaccountActions(actions) {
238
238
  return actions === void 0 || actions.includes("read-balances") && actions.includes("read-spot");
239
239
  }
240
- const UpdateSubaccountPolicyInputSchema = v.pipe(v.strictObject({
240
+ const UpdateSubaccountPolicyInputSchema = validation_exports.pipe(validation_exports.strictObject({
241
241
  ...SubaccountPolicyPatchSchema.entries,
242
- policyId: v.pipe(v.string(), v.transform((v) => idToBigInt(v, "policyId"))),
242
+ policyId: validation_exports.pipe(validation_exports.string(), validation_exports.transform((v) => idToBigInt(v, "policyId"))),
243
243
  expectedRevision: positiveBigintStringInputSchema("expectedRevision")
244
- }), v.check(({ actions }) => hasMandatorySubaccountActions(actions), "Subaccount policy actions must include read-balances and read-spot"), v.check(({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) => Object.values(patch).some((value) => value !== void 0), "At least one subaccount policy field must be provided"), v.transform(({ policyId, expectedRevision, ...patch }) => {
244
+ }), validation_exports.check(({ actions }) => hasMandatorySubaccountActions(actions), "Subaccount policy actions must include read-balances and read-spot"), validation_exports.check(({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) => Object.values(patch).some((value) => value !== void 0), "At least one subaccount policy field must be provided"), validation_exports.transform(({ policyId, expectedRevision, ...patch }) => {
245
245
  const { patch: policy, updateMask } = buildProtoPatch(patch, SUBACCOUNT_POLICY_PATCH_FIELDS);
246
246
  return {
247
247
  policyId,
@@ -250,10 +250,10 @@ const UpdateSubaccountPolicyInputSchema = v.pipe(v.strictObject({
250
250
  expectedRevision
251
251
  };
252
252
  }));
253
- const PolicyIdSchema = v.pipe(v.string(), v.trim(), v.minLength(1), v.transform((v) => idToBigInt(v, "policyId")));
254
- const ApplySubaccountPolicyInputSchema = v.strictObject({
253
+ const PolicyIdSchema = validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1), validation_exports.transform((v) => idToBigInt(v, "policyId")));
254
+ const ApplySubaccountPolicyInputSchema = validation_exports.strictObject({
255
255
  subaccountId: idInputSchema("subaccountId"),
256
- policyId: v.pipe(v.nullable(v.pipe(v.string(), v.trim())), v.transform((value) => value ? idToBigInt(value, "policyId") : void 0))
256
+ policyId: validation_exports.pipe(validation_exports.nullable(validation_exports.pipe(validation_exports.string(), validation_exports.trim())), validation_exports.transform((value) => value ? idToBigInt(value, "policyId") : void 0))
257
257
  });
258
258
  const DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT = Date.now();
259
259
  const DEFAULT_SUBACCOUNT_POLICY = {
@@ -1 +1 @@
1
- {"version":3,"file":"subaccount-policies.schemas.js","names":[],"sources":["../../../../src/services/policies/subaccount-policies/subaccount-policies.schemas.ts"],"sourcesContent":["import * as v from \"valibot\";\nimport {\n PerpMarketRuleSchema,\n PolicyActionEnumSchema,\n PolicyMarketScopeEnumSchema,\n ProtoPolicyActionEnumSchema,\n ProtoPolicyMarketScopeEnumSchema,\n SpotMarketRuleSchema,\n} from \"../shared.js\";\nimport {\n PolicyMarketScopeCodec,\n PolicyActionCodec,\n policyMarketScopeLabelFor,\n policyActionLabelFor,\n} from \"../shared.codecs.js\";\nimport { bpsToPct } from \"../../../utils/numbers.js\";\nimport { idToBigInt } from \"../../../utils/base58-id.js\";\nimport {\n OptionalNumberToBigIntOrZeroSchema,\n OptionalNumberToBpsOrZeroSchema,\n OptionalNumberToIntOrZeroSchema,\n OptionalPublicIdSchema,\n OptionalTimestampMsSchema,\n BigIntStringSchema,\n PublicIdSchema,\n TimestampSchema,\n TimestampMsSchema,\n idInputSchema,\n optionalSubaccountIdInputSchema,\n positiveBigintStringInputSchema,\n} from \"../../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../../utils/time.js\";\nimport { toTimestamp } from \"../../../utils/timestamp.js\";\nimport { toBigIntOrZero, toBpsOrZero, toIntOrZero } from \"../../../utils/numbers.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../../shared/account-scope.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../../utils/proto-patch.js\";\n\nexport const ListSubaccountPoliciesInputSchema = v.pipe(\n v.strictObject(AccountScopeInputEntries),\n v.transform(({ account }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type ListSubaccountPoliciesInput = v.InferInput<typeof ListSubaccountPoliciesInputSchema>;\n\nexport const GetSubaccountPolicyInputSchema = v.pipe(\n v.strictObject({\n policyId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n ...AccountScopeInputEntries,\n }),\n v.transform(({ policyId, account }) => ({\n policyId: idToBigInt(policyId, \"policyId\"),\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type GetSubaccountPolicyInput = v.InferInput<typeof GetSubaccountPolicyInputSchema>;\n\n/**\n * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.\n */\nexport const SubaccountPolicySchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n name: v.string(),\n description: v.string(),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n actions: v.pipe(\n v.optional(v.array(ProtoPolicyActionEnumSchema), []),\n v.transform((v) => v.map((action) => policyActionLabelFor(action))),\n ),\n isTemplate: v.optional(v.boolean(), false),\n sourceTemplateId: OptionalPublicIdSchema,\n globalNotionalCap: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n maxOrderNotional: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n maxOpenOrders: v.number(),\n maxOpenPositions: v.number(),\n globalPerpLeverageX: v.number(),\n dailyInternalTransferOutLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n dailyWithdrawLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n internalTransfersOwnOnly: v.boolean(),\n enforceWithdrawWhitelist: v.boolean(),\n tradingHalted: v.boolean(),\n liquidationOnly: v.boolean(),\n dailyLossLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n intradayDrawdownLimitBps: v.pipe(\n v.number(),\n v.transform((v) => bpsToPct(v)),\n ),\n locked: v.boolean(),\n reviewAt: OptionalTimestampMsSchema,\n expiresAt: OptionalTimestampMsSchema,\n createdAt: TimestampMsSchema,\n updatedAt: TimestampSchema,\n revision: BigIntStringSchema,\n }),\n v.transform(\n ({\n maxOrderNotional,\n globalNotionalCap,\n intradayDrawdownLimitBps,\n updatedAt,\n ...rest\n }) => ({\n maxOrderSize: maxOrderNotional,\n globalExposureCap: globalNotionalCap,\n intradayDrawdownLimitPct: intradayDrawdownLimitBps,\n ...rest,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n }),\n ),\n);\n\nexport type SubaccountPolicy = v.InferOutput<typeof SubaccountPolicySchema>;\n\nconst SubaccountPolicyInputBaseSchema = v.strictObject({\n name: v.string(),\n description: v.optional(v.string(), \"\"),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n perpMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n actions: v.pipe(\n v.optional(v.array(PolicyActionEnumSchema), [\"read-balances\", \"read-spot\"]),\n v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action])),\n ),\n globalLeverageCap: OptionalNumberToIntOrZeroSchema,\n globalExposureCap: OptionalNumberToBigIntOrZeroSchema,\n maxOrderSize: OptionalNumberToBigIntOrZeroSchema,\n maxOpenOrders: OptionalNumberToIntOrZeroSchema,\n maxOpenPositions: OptionalNumberToIntOrZeroSchema,\n dailyInternalTransferLimit: OptionalNumberToBigIntOrZeroSchema,\n dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,\n dailyLossLimit: OptionalNumberToBigIntOrZeroSchema,\n intradayDrawdownLimitPct: OptionalNumberToBpsOrZeroSchema,\n tradingHalted: v.optional(v.boolean(), false),\n liquidationOnly: v.optional(v.boolean(), false),\n policyLocked: v.optional(v.boolean(), false),\n internalTransfersOwnOnly: v.optional(v.boolean(), true),\n enforceWithdrawWhitelist: v.optional(v.boolean(), false),\n reviewAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n expiresAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n subaccountId: optionalSubaccountIdInputSchema(),\n});\n\nfunction timestampFromMs(value: number | null | undefined) {\n if (value == null) return undefined;\n return toTimestamp({\n seconds: BigInt(Math.floor(value / 1000)),\n nanos: (value % 1000) * 1_000_000,\n });\n}\n\nfunction createSubaccountPolicyBaseTransform(\n input: v.InferOutput<typeof SubaccountPolicyInputBaseSchema>,\n) {\n const {\n subaccountId: _subaccountId,\n reviewAt,\n expiresAt,\n globalExposureCap,\n maxOrderSize,\n globalLeverageCap,\n dailyInternalTransferLimit,\n intradayDrawdownLimitPct,\n policyLocked,\n ...rest\n } = input;\n return {\n ...rest,\n globalNotionalCap: globalExposureCap,\n maxOrderNotional: maxOrderSize,\n globalPerpLeverageX: globalLeverageCap,\n dailyInternalTransferOutLimit: dailyInternalTransferLimit,\n intradayDrawdownLimitBps: intradayDrawdownLimitPct,\n locked: policyLocked,\n reviewAt: timestampFromMs(reviewAt),\n expiresAt: timestampFromMs(expiresAt),\n };\n}\n\nexport const CreateSubaccountPolicyInputSchema = v.pipe(\n SubaccountPolicyInputBaseSchema,\n v.check(\n ({ actions }) =>\n actions.includes(PolicyActionCodec.inputToProto[\"read-balances\"]) &&\n actions.includes(PolicyActionCodec.inputToProto[\"read-spot\"]),\n \"Subaccount policy actions must include read-balances and read-spot\",\n ),\n v.transform((input) => ({\n policy: createSubaccountPolicyBaseTransform(input),\n subaccountId: input.subaccountId,\n })),\n);\nexport type SubaccountPolicyCreateInput = v.InferInput<typeof CreateSubaccountPolicyInputSchema>;\n\nconst SubaccountPolicyPatchSchema = v.strictObject({\n name: v.optional(v.string()),\n description: v.optional(v.string()),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),\n spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n actions: v.optional(v.array(PolicyActionEnumSchema)),\n globalLeverageCap: v.optional(v.nullable(v.number())),\n globalExposureCap: v.optional(v.nullable(v.number())),\n maxOrderSize: v.optional(v.nullable(v.number())),\n maxOpenOrders: v.optional(v.nullable(v.number())),\n maxOpenPositions: v.optional(v.nullable(v.number())),\n dailyInternalTransferLimit: v.optional(v.nullable(v.number())),\n dailyWithdrawLimit: v.optional(v.nullable(v.number())),\n dailyLossLimit: v.optional(v.nullable(v.number())),\n intradayDrawdownLimitPct: v.optional(v.nullable(v.number())),\n tradingHalted: v.optional(v.boolean()),\n liquidationOnly: v.optional(v.boolean()),\n policyLocked: v.optional(v.boolean()),\n internalTransfersOwnOnly: v.optional(v.boolean()),\n enforceWithdrawWhitelist: v.optional(v.boolean()),\n reviewAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n expiresAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n});\n\ntype SubaccountPolicyPatch = v.InferOutput<typeof SubaccountPolicyPatchSchema>;\n\nconst SUBACCOUNT_POLICY_PATCH_FIELDS = defineProtoPatchFields<SubaccountPolicyPatch>()({\n name: { path: \"name\", encode: (name) => ({ name }) },\n description: { path: \"description\", encode: (description) => ({ description }) },\n spotMarkets: { path: \"spot_markets\", encode: (spotMarkets) => ({ spotMarkets }) },\n perpMarkets: { path: \"perp_markets\", encode: (perpMarkets) => ({ perpMarkets }) },\n spotMarketScope: {\n path: \"spot_market_scope\",\n encode: (scope) => ({ spotMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n perpMarketScope: {\n path: \"perp_market_scope\",\n encode: (scope) => ({ perpMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n actions: {\n path: \"actions\",\n encode: (actions) => ({\n actions: actions.map((action) => PolicyActionCodec.inputToProto[action]),\n }),\n },\n globalExposureCap: {\n path: \"global_notional_cap\",\n encode: (value) => ({ globalNotionalCap: toBigIntOrZero(value) }),\n },\n maxOrderSize: {\n path: \"max_order_notional\",\n encode: (value) => ({ maxOrderNotional: toBigIntOrZero(value) }),\n },\n maxOpenOrders: {\n path: \"max_open_orders\",\n encode: (value) => ({ maxOpenOrders: toIntOrZero(value) }),\n },\n maxOpenPositions: {\n path: \"max_open_positions\",\n encode: (value) => ({ maxOpenPositions: toIntOrZero(value) }),\n },\n globalLeverageCap: {\n path: \"global_perp_leverage_x\",\n encode: (value) => ({ globalPerpLeverageX: toIntOrZero(value) }),\n },\n dailyInternalTransferLimit: {\n path: \"daily_internal_transfer_out_limit\",\n encode: (value) => ({ dailyInternalTransferOutLimit: toBigIntOrZero(value) }),\n },\n dailyWithdrawLimit: {\n path: \"daily_withdraw_limit\",\n encode: (value) => ({ dailyWithdrawLimit: toBigIntOrZero(value) }),\n },\n internalTransfersOwnOnly: {\n path: \"internal_transfers_own_only\",\n encode: (internalTransfersOwnOnly) => ({ internalTransfersOwnOnly }),\n },\n enforceWithdrawWhitelist: {\n path: \"enforce_withdraw_whitelist\",\n encode: (enforceWithdrawWhitelist) => ({ enforceWithdrawWhitelist }),\n },\n tradingHalted: {\n path: \"trading_halted\",\n encode: (tradingHalted) => ({ tradingHalted }),\n },\n liquidationOnly: {\n path: \"liquidation_only\",\n encode: (liquidationOnly) => ({ liquidationOnly }),\n },\n dailyLossLimit: {\n path: \"daily_loss_limit\",\n encode: (value) => ({ dailyLossLimit: toBigIntOrZero(value) }),\n },\n intradayDrawdownLimitPct: {\n path: \"intraday_drawdown_limit_bps\",\n encode: (value) => ({ intradayDrawdownLimitBps: toBpsOrZero(value) }),\n },\n policyLocked: { path: \"locked\", encode: (locked) => ({ locked }) },\n reviewAt: {\n path: \"review_at\",\n encode: (reviewAt) => {\n const timestamp = timestampFromMs(reviewAt);\n return timestamp === undefined ? {} : { reviewAt: timestamp };\n },\n },\n expiresAt: {\n path: \"expires_at\",\n encode: (expiresAt) => {\n const timestamp = timestampFromMs(expiresAt);\n return timestamp === undefined ? {} : { expiresAt: timestamp };\n },\n },\n});\n\nfunction hasMandatorySubaccountActions(actions: readonly string[] | undefined): boolean {\n return (\n actions === undefined ||\n (actions.includes(\"read-balances\") && actions.includes(\"read-spot\"))\n );\n}\n\nexport const UpdateSubaccountPolicyInputSchema = v.pipe(\n v.strictObject({\n ...SubaccountPolicyPatchSchema.entries,\n policyId: v.pipe(\n v.string(),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n ),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n }),\n v.check(\n ({ actions }) => hasMandatorySubaccountActions(actions),\n \"Subaccount policy actions must include read-balances and read-spot\",\n ),\n v.check(\n ({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) =>\n Object.values(patch).some((value) => value !== undefined),\n \"At least one subaccount policy field must be provided\",\n ),\n v.transform(({ policyId, expectedRevision, ...patch }) => {\n const { patch: policy, updateMask } = buildProtoPatch(\n patch,\n SUBACCOUNT_POLICY_PATCH_FIELDS,\n );\n return {\n policyId,\n policy,\n updateMask,\n expectedRevision,\n };\n }),\n);\nexport type SubaccountPolicyUpdateInput = v.InferInput<typeof UpdateSubaccountPolicyInputSchema>;\n\nexport const PolicyIdSchema = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n);\n\nexport const ApplySubaccountPolicyInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n policyId: v.pipe(\n v.nullable(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"policyId\") : undefined)),\n ),\n});\n\nexport type SubaccountPolicyApplyInput = v.InferInput<typeof ApplySubaccountPolicyInputSchema>;\n\nconst DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT = Date.now();\n\nexport const DEFAULT_SUBACCOUNT_POLICY: SubaccountPolicy = {\n id: \"\",\n name: \"Subaccount Policy\",\n description: \"Subaccount Policy description\",\n spotMarkets: [],\n perpMarkets: [],\n spotMarketScope: \"all\",\n perpMarketScope: \"all\",\n actions: [\n \"read-balances\",\n \"read-external-withdrawals\",\n \"read-internal-transfers\",\n \"read-perp\",\n \"read-spot\",\n ],\n globalExposureCap: 0,\n maxOrderSize: 0,\n maxOpenOrders: 0,\n maxOpenPositions: 0,\n globalPerpLeverageX: 0,\n dailyInternalTransferOutLimit: 0,\n dailyWithdrawLimit: 0,\n internalTransfersOwnOnly: true,\n enforceWithdrawWhitelist: false,\n tradingHalted: false,\n liquidationOnly: false,\n dailyLossLimit: 0,\n createdAt: DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT,\n updatedAt: DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT,\n updatedAtNs: (BigInt(DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT) * 1_000_000n).toString(),\n isTemplate: false,\n sourceTemplateId: undefined,\n locked: false,\n reviewAt: undefined,\n expiresAt: undefined,\n intradayDrawdownLimitPct: 0,\n revision: \"0\",\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"subaccount-policies.schemas.js","names":["v"],"sources":["../../../../src/services/policies/subaccount-policies/subaccount-policies.schemas.ts"],"sourcesContent":["import * as v from \"../../../shared/validation.js\";\nimport {\n PerpMarketRuleSchema,\n PolicyActionEnumSchema,\n PolicyMarketScopeEnumSchema,\n ProtoPolicyActionEnumSchema,\n ProtoPolicyMarketScopeEnumSchema,\n SpotMarketRuleSchema,\n} from \"../shared.js\";\nimport {\n PolicyMarketScopeCodec,\n PolicyActionCodec,\n policyMarketScopeLabelFor,\n policyActionLabelFor,\n} from \"../shared.codecs.js\";\nimport { bpsToPct } from \"../../../utils/numbers.js\";\nimport { idToBigInt } from \"../../../utils/base58-id.js\";\nimport {\n OptionalNumberToBigIntOrZeroSchema,\n OptionalNumberToBpsOrZeroSchema,\n OptionalNumberToIntOrZeroSchema,\n OptionalPublicIdSchema,\n OptionalTimestampMsSchema,\n BigIntStringSchema,\n PublicIdSchema,\n TimestampSchema,\n TimestampMsSchema,\n idInputSchema,\n optionalSubaccountIdInputSchema,\n positiveBigintStringInputSchema,\n} from \"../../../shared/schemas.js\";\nimport { tsObjToMs, tsObjToNsString } from \"../../../utils/time.js\";\nimport { toTimestamp } from \"../../../utils/timestamp.js\";\nimport { toBigIntOrZero, toBpsOrZero, toIntOrZero } from \"../../../utils/numbers.js\";\nimport {\n AccountScopeInputEntries,\n accountScopeToSubaccountId,\n} from \"../../../shared/account-scope.js\";\nimport { buildProtoPatch, defineProtoPatchFields } from \"../../../utils/proto-patch.js\";\n\nexport const ListSubaccountPoliciesInputSchema = v.pipe(\n v.strictObject(AccountScopeInputEntries),\n v.transform(({ account }) => ({\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type ListSubaccountPoliciesInput = v.InferInput<typeof ListSubaccountPoliciesInputSchema>;\n\nexport const GetSubaccountPolicyInputSchema = v.pipe(\n v.strictObject({\n policyId: v.pipe(v.string(), v.trim(), v.minLength(1)),\n ...AccountScopeInputEntries,\n }),\n v.transform(({ policyId, account }) => ({\n policyId: idToBigInt(policyId, \"policyId\"),\n subaccountId: accountScopeToSubaccountId(account),\n })),\n);\n\nexport type GetSubaccountPolicyInput = v.InferInput<typeof GetSubaccountPolicyInputSchema>;\n\n/**\n * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.\n */\nexport const SubaccountPolicySchema = v.pipe(\n v.object({\n id: PublicIdSchema,\n name: v.string(),\n description: v.string(),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarketScope: v.pipe(\n ProtoPolicyMarketScopeEnumSchema,\n v.transform((v) => policyMarketScopeLabelFor(v)),\n ),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n actions: v.pipe(\n v.optional(v.array(ProtoPolicyActionEnumSchema), []),\n v.transform((v) => v.map((action) => policyActionLabelFor(action))),\n ),\n isTemplate: v.optional(v.boolean(), false),\n sourceTemplateId: OptionalPublicIdSchema,\n globalNotionalCap: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n maxOrderNotional: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n maxOpenOrders: v.number(),\n maxOpenPositions: v.number(),\n globalPerpLeverageX: v.number(),\n dailyInternalTransferOutLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n dailyWithdrawLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n internalTransfersOwnOnly: v.boolean(),\n enforceWithdrawWhitelist: v.boolean(),\n tradingHalted: v.boolean(),\n liquidationOnly: v.boolean(),\n dailyLossLimit: v.pipe(\n v.bigint(),\n v.transform((v) => Number(v)),\n ),\n intradayDrawdownLimitBps: v.pipe(\n v.number(),\n v.transform((v) => bpsToPct(v)),\n ),\n locked: v.boolean(),\n reviewAt: OptionalTimestampMsSchema,\n expiresAt: OptionalTimestampMsSchema,\n createdAt: TimestampMsSchema,\n updatedAt: TimestampSchema,\n revision: BigIntStringSchema,\n }),\n v.transform(\n ({\n maxOrderNotional,\n globalNotionalCap,\n intradayDrawdownLimitBps,\n updatedAt,\n ...rest\n }) => ({\n maxOrderSize: maxOrderNotional,\n globalExposureCap: globalNotionalCap,\n intradayDrawdownLimitPct: intradayDrawdownLimitBps,\n ...rest,\n updatedAt: tsObjToMs(updatedAt),\n updatedAtNs: tsObjToNsString(updatedAt),\n }),\n ),\n);\n\nexport type SubaccountPolicy = v.InferOutput<typeof SubaccountPolicySchema>;\n\nconst SubaccountPolicyInputBaseSchema = v.strictObject({\n name: v.string(),\n description: v.optional(v.string(), \"\"),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema), []),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema), []),\n spotMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n perpMarketScope: v.pipe(\n PolicyMarketScopeEnumSchema,\n v.transform((v) => PolicyMarketScopeCodec.inputToProto[v]),\n ),\n actions: v.pipe(\n v.optional(v.array(PolicyActionEnumSchema), [\"read-balances\", \"read-spot\"]),\n v.transform((v) => (v ?? []).map((action) => PolicyActionCodec.inputToProto[action])),\n ),\n globalLeverageCap: OptionalNumberToIntOrZeroSchema,\n globalExposureCap: OptionalNumberToBigIntOrZeroSchema,\n maxOrderSize: OptionalNumberToBigIntOrZeroSchema,\n maxOpenOrders: OptionalNumberToIntOrZeroSchema,\n maxOpenPositions: OptionalNumberToIntOrZeroSchema,\n dailyInternalTransferLimit: OptionalNumberToBigIntOrZeroSchema,\n dailyWithdrawLimit: OptionalNumberToBigIntOrZeroSchema,\n dailyLossLimit: OptionalNumberToBigIntOrZeroSchema,\n intradayDrawdownLimitPct: OptionalNumberToBpsOrZeroSchema,\n tradingHalted: v.optional(v.boolean(), false),\n liquidationOnly: v.optional(v.boolean(), false),\n policyLocked: v.optional(v.boolean(), false),\n internalTransfersOwnOnly: v.optional(v.boolean(), true),\n enforceWithdrawWhitelist: v.optional(v.boolean(), false),\n reviewAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n expiresAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n subaccountId: optionalSubaccountIdInputSchema(),\n});\n\nfunction timestampFromMs(value: number | null | undefined) {\n if (value == null) return undefined;\n return toTimestamp({\n seconds: BigInt(Math.floor(value / 1000)),\n nanos: (value % 1000) * 1_000_000,\n });\n}\n\nfunction createSubaccountPolicyBaseTransform(\n input: v.InferOutput<typeof SubaccountPolicyInputBaseSchema>,\n) {\n const {\n subaccountId: _subaccountId,\n reviewAt,\n expiresAt,\n globalExposureCap,\n maxOrderSize,\n globalLeverageCap,\n dailyInternalTransferLimit,\n intradayDrawdownLimitPct,\n policyLocked,\n ...rest\n } = input;\n return {\n ...rest,\n globalNotionalCap: globalExposureCap,\n maxOrderNotional: maxOrderSize,\n globalPerpLeverageX: globalLeverageCap,\n dailyInternalTransferOutLimit: dailyInternalTransferLimit,\n intradayDrawdownLimitBps: intradayDrawdownLimitPct,\n locked: policyLocked,\n reviewAt: timestampFromMs(reviewAt),\n expiresAt: timestampFromMs(expiresAt),\n };\n}\n\nexport const CreateSubaccountPolicyInputSchema = v.pipe(\n SubaccountPolicyInputBaseSchema,\n v.check(\n ({ actions }) =>\n actions.includes(PolicyActionCodec.inputToProto[\"read-balances\"]) &&\n actions.includes(PolicyActionCodec.inputToProto[\"read-spot\"]),\n \"Subaccount policy actions must include read-balances and read-spot\",\n ),\n v.transform((input) => ({\n policy: createSubaccountPolicyBaseTransform(input),\n subaccountId: input.subaccountId,\n })),\n);\nexport type SubaccountPolicyCreateInput = v.InferInput<typeof CreateSubaccountPolicyInputSchema>;\n\nconst SubaccountPolicyPatchSchema = v.strictObject({\n name: v.optional(v.string()),\n description: v.optional(v.string()),\n spotMarkets: v.optional(v.array(SpotMarketRuleSchema)),\n perpMarkets: v.optional(v.array(PerpMarketRuleSchema)),\n spotMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n perpMarketScope: v.optional(PolicyMarketScopeEnumSchema),\n actions: v.optional(v.array(PolicyActionEnumSchema)),\n globalLeverageCap: v.optional(v.nullable(v.number())),\n globalExposureCap: v.optional(v.nullable(v.number())),\n maxOrderSize: v.optional(v.nullable(v.number())),\n maxOpenOrders: v.optional(v.nullable(v.number())),\n maxOpenPositions: v.optional(v.nullable(v.number())),\n dailyInternalTransferLimit: v.optional(v.nullable(v.number())),\n dailyWithdrawLimit: v.optional(v.nullable(v.number())),\n dailyLossLimit: v.optional(v.nullable(v.number())),\n intradayDrawdownLimitPct: v.optional(v.nullable(v.number())),\n tradingHalted: v.optional(v.boolean()),\n liquidationOnly: v.optional(v.boolean()),\n policyLocked: v.optional(v.boolean()),\n internalTransfersOwnOnly: v.optional(v.boolean()),\n enforceWithdrawWhitelist: v.optional(v.boolean()),\n reviewAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n expiresAt: v.optional(v.nullable(v.pipe(v.number(), v.integer(), v.minValue(0)))),\n});\n\ntype SubaccountPolicyPatch = v.InferOutput<typeof SubaccountPolicyPatchSchema>;\n\nconst SUBACCOUNT_POLICY_PATCH_FIELDS = defineProtoPatchFields<SubaccountPolicyPatch>()({\n name: { path: \"name\", encode: (name) => ({ name }) },\n description: { path: \"description\", encode: (description) => ({ description }) },\n spotMarkets: { path: \"spot_markets\", encode: (spotMarkets) => ({ spotMarkets }) },\n perpMarkets: { path: \"perp_markets\", encode: (perpMarkets) => ({ perpMarkets }) },\n spotMarketScope: {\n path: \"spot_market_scope\",\n encode: (scope) => ({ spotMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n perpMarketScope: {\n path: \"perp_market_scope\",\n encode: (scope) => ({ perpMarketScope: PolicyMarketScopeCodec.inputToProto[scope] }),\n },\n actions: {\n path: \"actions\",\n encode: (actions) => ({\n actions: actions.map((action) => PolicyActionCodec.inputToProto[action]),\n }),\n },\n globalExposureCap: {\n path: \"global_notional_cap\",\n encode: (value) => ({ globalNotionalCap: toBigIntOrZero(value) }),\n },\n maxOrderSize: {\n path: \"max_order_notional\",\n encode: (value) => ({ maxOrderNotional: toBigIntOrZero(value) }),\n },\n maxOpenOrders: {\n path: \"max_open_orders\",\n encode: (value) => ({ maxOpenOrders: toIntOrZero(value) }),\n },\n maxOpenPositions: {\n path: \"max_open_positions\",\n encode: (value) => ({ maxOpenPositions: toIntOrZero(value) }),\n },\n globalLeverageCap: {\n path: \"global_perp_leverage_x\",\n encode: (value) => ({ globalPerpLeverageX: toIntOrZero(value) }),\n },\n dailyInternalTransferLimit: {\n path: \"daily_internal_transfer_out_limit\",\n encode: (value) => ({ dailyInternalTransferOutLimit: toBigIntOrZero(value) }),\n },\n dailyWithdrawLimit: {\n path: \"daily_withdraw_limit\",\n encode: (value) => ({ dailyWithdrawLimit: toBigIntOrZero(value) }),\n },\n internalTransfersOwnOnly: {\n path: \"internal_transfers_own_only\",\n encode: (internalTransfersOwnOnly) => ({ internalTransfersOwnOnly }),\n },\n enforceWithdrawWhitelist: {\n path: \"enforce_withdraw_whitelist\",\n encode: (enforceWithdrawWhitelist) => ({ enforceWithdrawWhitelist }),\n },\n tradingHalted: {\n path: \"trading_halted\",\n encode: (tradingHalted) => ({ tradingHalted }),\n },\n liquidationOnly: {\n path: \"liquidation_only\",\n encode: (liquidationOnly) => ({ liquidationOnly }),\n },\n dailyLossLimit: {\n path: \"daily_loss_limit\",\n encode: (value) => ({ dailyLossLimit: toBigIntOrZero(value) }),\n },\n intradayDrawdownLimitPct: {\n path: \"intraday_drawdown_limit_bps\",\n encode: (value) => ({ intradayDrawdownLimitBps: toBpsOrZero(value) }),\n },\n policyLocked: { path: \"locked\", encode: (locked) => ({ locked }) },\n reviewAt: {\n path: \"review_at\",\n encode: (reviewAt) => {\n const timestamp = timestampFromMs(reviewAt);\n return timestamp === undefined ? {} : { reviewAt: timestamp };\n },\n },\n expiresAt: {\n path: \"expires_at\",\n encode: (expiresAt) => {\n const timestamp = timestampFromMs(expiresAt);\n return timestamp === undefined ? {} : { expiresAt: timestamp };\n },\n },\n});\n\nfunction hasMandatorySubaccountActions(actions: readonly string[] | undefined): boolean {\n return (\n actions === undefined ||\n (actions.includes(\"read-balances\") && actions.includes(\"read-spot\"))\n );\n}\n\nexport const UpdateSubaccountPolicyInputSchema = v.pipe(\n v.strictObject({\n ...SubaccountPolicyPatchSchema.entries,\n policyId: v.pipe(\n v.string(),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n ),\n expectedRevision: positiveBigintStringInputSchema(\"expectedRevision\"),\n }),\n v.check(\n ({ actions }) => hasMandatorySubaccountActions(actions),\n \"Subaccount policy actions must include read-balances and read-spot\",\n ),\n v.check(\n ({ policyId: _policyId, expectedRevision: _expectedRevision, ...patch }) =>\n Object.values(patch).some((value) => value !== undefined),\n \"At least one subaccount policy field must be provided\",\n ),\n v.transform(({ policyId, expectedRevision, ...patch }) => {\n const { patch: policy, updateMask } = buildProtoPatch(\n patch,\n SUBACCOUNT_POLICY_PATCH_FIELDS,\n );\n return {\n policyId,\n policy,\n updateMask,\n expectedRevision,\n };\n }),\n);\nexport type SubaccountPolicyUpdateInput = v.InferInput<typeof UpdateSubaccountPolicyInputSchema>;\n\nexport const PolicyIdSchema = v.pipe(\n v.string(),\n v.trim(),\n v.minLength(1),\n v.transform((v) => idToBigInt(v, \"policyId\")),\n);\n\nexport const ApplySubaccountPolicyInputSchema = v.strictObject({\n subaccountId: idInputSchema(\"subaccountId\"),\n policyId: v.pipe(\n v.nullable(v.pipe(v.string(), v.trim())),\n v.transform((value) => (value ? idToBigInt(value, \"policyId\") : undefined)),\n ),\n});\n\nexport type SubaccountPolicyApplyInput = v.InferInput<typeof ApplySubaccountPolicyInputSchema>;\n\nconst DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT = Date.now();\n\nexport const DEFAULT_SUBACCOUNT_POLICY: SubaccountPolicy = {\n id: \"\",\n name: \"Subaccount Policy\",\n description: \"Subaccount Policy description\",\n spotMarkets: [],\n perpMarkets: [],\n spotMarketScope: \"all\",\n perpMarketScope: \"all\",\n actions: [\n \"read-balances\",\n \"read-external-withdrawals\",\n \"read-internal-transfers\",\n \"read-perp\",\n \"read-spot\",\n ],\n globalExposureCap: 0,\n maxOrderSize: 0,\n maxOpenOrders: 0,\n maxOpenPositions: 0,\n globalPerpLeverageX: 0,\n dailyInternalTransferOutLimit: 0,\n dailyWithdrawLimit: 0,\n internalTransfersOwnOnly: true,\n enforceWithdrawWhitelist: false,\n tradingHalted: false,\n liquidationOnly: false,\n dailyLossLimit: 0,\n createdAt: DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT,\n updatedAt: DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT,\n updatedAtNs: (BigInt(DEFAULT_SUBACCOUNT_POLICY_UPDATED_AT) * 1_000_000n).toString(),\n isTemplate: false,\n sourceTemplateId: undefined,\n locked: false,\n reviewAt: undefined,\n expiresAt: undefined,\n intradayDrawdownLimitPct: 0,\n revision: \"0\",\n};\n"],"mappings":"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"}
@@ -1,23 +1,23 @@
1
- import * as v from "valibot";
1
+ import { validation_exports } from "../shared/validation.js";
2
2
  //#region src/services/shared.ts
3
- const SideSchema = v.picklist(["buy", "sell"]);
4
- const PositiveStringInputSchema = v.pipe(v.string(), v.trim(), v.minLength(1));
5
- const PositiveStringOrNumberInputSchema = v.union([PositiveStringInputSchema, v.pipe(v.number(), v.gtValue(0))]);
3
+ const SideSchema = validation_exports.picklist(["buy", "sell"]);
4
+ const PositiveStringInputSchema = validation_exports.pipe(validation_exports.string(), validation_exports.trim(), validation_exports.minLength(1));
5
+ const PositiveStringOrNumberInputSchema = validation_exports.union([PositiveStringInputSchema, validation_exports.pipe(validation_exports.number(), validation_exports.gtValue(0))]);
6
6
  /** Absolute price distance, as a decimal price string (e.g. "0.50"). */
7
- const PriceDistanceInputSchema = v.strictObject({
8
- kind: v.literal("distance"),
7
+ const PriceDistanceInputSchema = validation_exports.strictObject({
8
+ kind: validation_exports.literal("distance"),
9
9
  distance: PositiveStringInputSchema
10
10
  });
11
11
  /** Absolute price slippage, as a decimal price string (e.g. "0.25"). */
12
- const PriceSlippageInputSchema = v.strictObject({
13
- kind: v.literal("slippage"),
12
+ const PriceSlippageInputSchema = validation_exports.strictObject({
13
+ kind: validation_exports.literal("slippage"),
14
14
  slippage: PositiveStringInputSchema
15
15
  });
16
- const BpsStringOrNumberInputSchema = v.strictObject({
17
- kind: v.literal("bps"),
16
+ const BpsStringOrNumberInputSchema = validation_exports.strictObject({
17
+ kind: validation_exports.literal("bps"),
18
18
  bps: PositiveStringOrNumberInputSchema
19
19
  });
20
- const NoneInputSchema = v.strictObject({ kind: v.literal("none") });
20
+ const NoneInputSchema = validation_exports.strictObject({ kind: validation_exports.literal("none") });
21
21
  //#endregion
22
22
  export { BpsStringOrNumberInputSchema, NoneInputSchema, PositiveStringInputSchema, PositiveStringOrNumberInputSchema, PriceDistanceInputSchema, PriceSlippageInputSchema, SideSchema };
23
23
 
@@ -1 +1 @@
1
- {"version":3,"file":"shared.js","names":[],"sources":["../../src/services/shared.ts"],"sourcesContent":["import * as v from \"valibot\";\n\nexport const SideSchema = v.picklist([\"buy\", \"sell\"]);\n\nexport const PositiveStringInputSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nexport const PositiveStringOrNumberInputSchema = v.union([\n PositiveStringInputSchema,\n v.pipe(v.number(), v.gtValue(0)),\n]);\n\n/** Absolute price distance, as a decimal price string (e.g. \"0.50\"). */\nexport const PriceDistanceInputSchema = v.strictObject({\n kind: v.literal(\"distance\"),\n distance: PositiveStringInputSchema,\n});\n\n/** Absolute price slippage, as a decimal price string (e.g. \"0.25\"). */\nexport const PriceSlippageInputSchema = v.strictObject({\n kind: v.literal(\"slippage\"),\n slippage: PositiveStringInputSchema,\n});\n\nexport const BpsStringOrNumberInputSchema = v.strictObject({\n kind: v.literal(\"bps\"),\n bps: PositiveStringOrNumberInputSchema,\n});\n\nexport const NoneInputSchema = v.strictObject({\n kind: v.literal(\"none\"),\n});\n"],"mappings":";;AAEA,MAAa,aAAa,EAAE,SAAS,CAAC,OAAO,MAAM,CAAC;AAEpD,MAAa,4BAA4B,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,KAAK,GAAG,EAAE,UAAU,CAAC,CAAC;AAEpF,MAAa,oCAAoC,EAAE,MAAM,CACrD,2BACA,EAAE,KAAK,EAAE,OAAO,GAAG,EAAE,QAAQ,CAAC,CAAC,CACnC,CAAC;;AAGD,MAAa,2BAA2B,EAAE,aAAa;CACnD,MAAM,EAAE,QAAQ,UAAU;CAC1B,UAAU;AACd,CAAC;;AAGD,MAAa,2BAA2B,EAAE,aAAa;CACnD,MAAM,EAAE,QAAQ,UAAU;CAC1B,UAAU;AACd,CAAC;AAED,MAAa,+BAA+B,EAAE,aAAa;CACvD,MAAM,EAAE,QAAQ,KAAK;CACrB,KAAK;AACT,CAAC;AAED,MAAa,kBAAkB,EAAE,aAAa,EAC1C,MAAM,EAAE,QAAQ,MAAM,EAC1B,CAAC"}
1
+ {"version":3,"file":"shared.js","names":["v"],"sources":["../../src/services/shared.ts"],"sourcesContent":["import * as v from \"../shared/validation.js\";\n\nexport const SideSchema = v.picklist([\"buy\", \"sell\"]);\n\nexport const PositiveStringInputSchema = v.pipe(v.string(), v.trim(), v.minLength(1));\n\nexport const PositiveStringOrNumberInputSchema = v.union([\n PositiveStringInputSchema,\n v.pipe(v.number(), v.gtValue(0)),\n]);\n\n/** Absolute price distance, as a decimal price string (e.g. \"0.50\"). */\nexport const PriceDistanceInputSchema = v.strictObject({\n kind: v.literal(\"distance\"),\n distance: PositiveStringInputSchema,\n});\n\n/** Absolute price slippage, as a decimal price string (e.g. \"0.25\"). */\nexport const PriceSlippageInputSchema = v.strictObject({\n kind: v.literal(\"slippage\"),\n slippage: PositiveStringInputSchema,\n});\n\nexport const BpsStringOrNumberInputSchema = v.strictObject({\n kind: v.literal(\"bps\"),\n bps: PositiveStringOrNumberInputSchema,\n});\n\nexport const NoneInputSchema = v.strictObject({\n kind: v.literal(\"none\"),\n});\n"],"mappings":";;AAEA,MAAa,aAAaA,mBAAE,SAAS,CAAC,OAAO,MAAM,CAAC;AAEpD,MAAa,4BAA4BA,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,KAAK,GAAGA,mBAAE,UAAU,CAAC,CAAC;AAEpF,MAAa,oCAAoCA,mBAAE,MAAM,CACrD,2BACAA,mBAAE,KAAKA,mBAAE,OAAO,GAAGA,mBAAE,QAAQ,CAAC,CAAC,CACnC,CAAC;;AAGD,MAAa,2BAA2BA,mBAAE,aAAa;CACnD,MAAMA,mBAAE,QAAQ,UAAU;CAC1B,UAAU;AACd,CAAC;;AAGD,MAAa,2BAA2BA,mBAAE,aAAa;CACnD,MAAMA,mBAAE,QAAQ,UAAU;CAC1B,UAAU;AACd,CAAC;AAED,MAAa,+BAA+BA,mBAAE,aAAa;CACvD,MAAMA,mBAAE,QAAQ,KAAK;CACrB,KAAK;AACT,CAAC;AAED,MAAa,kBAAkBA,mBAAE,aAAa,EAC1C,MAAMA,mBAAE,QAAQ,MAAM,EAC1B,CAAC"}
@@ -1,7 +1,7 @@
1
+ import { validation_d_exports } from "../../shared/validation.js";
1
2
  import { PolyesterMutationOptions, PolyesterRequestOptions } from "../../shared/request-options.js";
2
3
  import { GetVerificationResponse, SocialProviderInputSchema, StartVerificationInput, StartVerificationResponse, VerificationReadyResponse } from "./social-verification.schemas.js";
3
4
  import { Transport } from "@connectrpc/connect";
4
- import * as v from "valibot";
5
5
  //#region src/services/social-verification/social-verification.d.ts
6
6
  /**
7
7
  * Verifies ownership of external social accounts for the authenticated caller.
@@ -16,11 +16,11 @@ declare class SocialVerificationService {
16
16
  /**
17
17
  * Queues a provider check after the caller has placed the challenge code according to the selected verification method.
18
18
  */
19
- markReady(input: v.InferInput<typeof SocialProviderInputSchema>, options?: PolyesterMutationOptions): Promise<VerificationReadyResponse>;
19
+ markReady(input: validation_d_exports.InferInput<typeof SocialProviderInputSchema>, options?: PolyesterMutationOptions): Promise<VerificationReadyResponse>;
20
20
  /**
21
21
  * Returns the caller's current verification state for a provider, including status, challenge metadata, attempts, last error, and verified timestamp.
22
22
  */
23
- get(input: v.InferInput<typeof SocialProviderInputSchema>, options?: PolyesterRequestOptions): Promise<GetVerificationResponse>;
23
+ get(input: validation_d_exports.InferInput<typeof SocialProviderInputSchema>, options?: PolyesterRequestOptions): Promise<GetVerificationResponse>;
24
24
  }
25
25
  //#endregion
26
26
  export { SocialVerificationService };
@@ -1 +1 @@
1
- {"version":3,"file":"social-verification.d.ts","names":[],"sources":["../../../src/services/social-verification/social-verification.ts"],"mappings":";;;;;;;;cAuBa;;EAGG,YAAA,WAAW;;;;EAOjB,MACF,OAAO,wBACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,EAAE,kBAAkB,4BAC3B,UAAU,2BACX,QAAQ;;;;EAYL,IACF,OAAO,EAAE,kBAAkB,4BAC3B,UAAU,0BACX,QAAQ"}
1
+ {"version":3,"file":"social-verification.d.ts","names":[],"sources":["../../../src/services/social-verification/social-verification.ts"],"mappings":";;;;;;;;cAuBa;;EAGG,YAAA,WAAW;;;;EAOjB,MACF,OAAO,wBACP,UAAU,2BACX,QAAQ;;;;EAYL,UACF,OAAO,qBAAE,kBAAkB,4BAC3B,UAAU,2BACX,QAAQ;;;;EAYL,IACF,OAAO,qBAAE,kBAAkB,4BAC3B,UAAU,0BACX,QAAQ"}
@@ -1,8 +1,8 @@
1
+ import { parse } from "../../shared/validation.js";
1
2
  import { toConnectCallOptions } from "../../shared/request-options.js";
2
3
  import { SocialVerificationService as SocialVerificationService$1 } from "../../gen/auth/v1/social_verification_pb.js";
3
4
  import { GetVerificationResponseSchema, SocialProviderInputSchema, StartVerificationInputSchema, StartVerificationResponseSchema, VerificationReadyResponseSchema } from "./social-verification.schemas.js";
4
5
  import { createClient } from "@connectrpc/connect";
5
- import * as v from "valibot";
6
6
  //#region src/services/social-verification/social-verification.ts
7
7
  /**
8
8
  * Verifies ownership of external social accounts for the authenticated caller.
@@ -16,25 +16,25 @@ var SocialVerificationService = class {
16
16
  * Starts or restarts provider verification for a handle, normalizing leading @, defaulting to profile verification, and returning a poly_... challenge code that expires after about 15 minutes.
17
17
  */
18
18
  async start(input, options) {
19
- const validated = v.parse(StartVerificationInputSchema, input);
19
+ const validated = parse(StartVerificationInputSchema, input);
20
20
  const res = await this.#client.startSocialVerification(validated, toConnectCallOptions(options));
21
- return v.parse(StartVerificationResponseSchema, res);
21
+ return parse(StartVerificationResponseSchema, res);
22
22
  }
23
23
  /**
24
24
  * Queues a provider check after the caller has placed the challenge code according to the selected verification method.
25
25
  */
26
26
  async markReady(input, options) {
27
- const validated = v.parse(SocialProviderInputSchema, input);
27
+ const validated = parse(SocialProviderInputSchema, input);
28
28
  const res = await this.#client.socialVerificationReady(validated, toConnectCallOptions(options));
29
- return v.parse(VerificationReadyResponseSchema, res);
29
+ return parse(VerificationReadyResponseSchema, res);
30
30
  }
31
31
  /**
32
32
  * Returns the caller's current verification state for a provider, including status, challenge metadata, attempts, last error, and verified timestamp.
33
33
  */
34
34
  async get(input, options) {
35
- const validated = v.parse(SocialProviderInputSchema, input);
35
+ const validated = parse(SocialProviderInputSchema, input);
36
36
  const res = await this.#client.getSocialVerification(validated, toConnectCallOptions(options));
37
- return v.parse(GetVerificationResponseSchema, res);
37
+ return parse(GetVerificationResponseSchema, res);
38
38
  }
39
39
  };
40
40
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"social-verification.js","names":["#client","Proto.SocialVerificationService"],"sources":["../../../src/services/social-verification/social-verification.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/social_verification_pb.js\";\nimport * as v from \"valibot\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport {\n StartVerificationInputSchema,\n StartVerificationResponseSchema,\n VerificationReadyResponseSchema,\n GetVerificationResponseSchema,\n SocialProviderInputSchema,\n type StartVerificationInput,\n type StartVerificationResponse,\n type VerificationReadyResponse,\n type GetVerificationResponse,\n} from \"./social-verification.schemas.js\";\n\n/**\n * Verifies ownership of external social accounts for the authenticated caller.\n */\nexport class SocialVerificationService {\n #client: Client<typeof Proto.SocialVerificationService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.SocialVerificationService, transport);\n }\n\n /**\n * Starts or restarts provider verification for a handle, normalizing leading @, defaulting to profile verification, and returning a poly_... challenge code that expires after about 15 minutes.\n */\n async start(\n input: StartVerificationInput,\n options?: PolyesterMutationOptions,\n ): Promise<StartVerificationResponse> {\n const validated = v.parse(StartVerificationInputSchema, input);\n const res = await this.#client.startSocialVerification(\n validated,\n toConnectCallOptions(options),\n );\n return v.parse(StartVerificationResponseSchema, res);\n }\n\n /**\n * Queues a provider check after the caller has placed the challenge code according to the selected verification method.\n */\n async markReady(\n input: v.InferInput<typeof SocialProviderInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<VerificationReadyResponse> {\n const validated = v.parse(SocialProviderInputSchema, input);\n const res = await this.#client.socialVerificationReady(\n validated,\n toConnectCallOptions(options),\n );\n return v.parse(VerificationReadyResponseSchema, res);\n }\n\n /**\n * Returns the caller's current verification state for a provider, including status, challenge metadata, attempts, last error, and verified timestamp.\n */\n async get(\n input: v.InferInput<typeof SocialProviderInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<GetVerificationResponse> {\n const validated = v.parse(SocialProviderInputSchema, input);\n const res = await this.#client.getSocialVerification(\n validated,\n toConnectCallOptions(options),\n );\n return v.parse(GetVerificationResponseSchema, res);\n }\n}\n"],"mappings":";;;;;;;;;AAuBA,IAAa,4BAAb,MAAuC;CACnC;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,6BAAiC,SAAS;CAC1E;;;;CAKA,MAAM,MACF,OACA,SACkC;EAClC,MAAM,YAAY,EAAE,MAAM,8BAA8B,KAAK;EAC7D,MAAM,MAAM,MAAM,KAAKD,QAAQ,wBAC3B,WACA,qBAAqB,OAAO,CAChC;EACA,OAAO,EAAE,MAAM,iCAAiC,GAAG;CACvD;;;;CAKA,MAAM,UACF,OACA,SACkC;EAClC,MAAM,YAAY,EAAE,MAAM,2BAA2B,KAAK;EAC1D,MAAM,MAAM,MAAM,KAAKA,QAAQ,wBAC3B,WACA,qBAAqB,OAAO,CAChC;EACA,OAAO,EAAE,MAAM,iCAAiC,GAAG;CACvD;;;;CAKA,MAAM,IACF,OACA,SACgC;EAChC,MAAM,YAAY,EAAE,MAAM,2BAA2B,KAAK;EAC1D,MAAM,MAAM,MAAM,KAAKA,QAAQ,sBAC3B,WACA,qBAAqB,OAAO,CAChC;EACA,OAAO,EAAE,MAAM,+BAA+B,GAAG;CACrD;AACJ"}
1
+ {"version":3,"file":"social-verification.js","names":["#client","Proto.SocialVerificationService","v.parse"],"sources":["../../../src/services/social-verification/social-verification.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/social_verification_pb.js\";\nimport * as v from \"../../shared/validation.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport {\n StartVerificationInputSchema,\n StartVerificationResponseSchema,\n VerificationReadyResponseSchema,\n GetVerificationResponseSchema,\n SocialProviderInputSchema,\n type StartVerificationInput,\n type StartVerificationResponse,\n type VerificationReadyResponse,\n type GetVerificationResponse,\n} from \"./social-verification.schemas.js\";\n\n/**\n * Verifies ownership of external social accounts for the authenticated caller.\n */\nexport class SocialVerificationService {\n #client: Client<typeof Proto.SocialVerificationService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.SocialVerificationService, transport);\n }\n\n /**\n * Starts or restarts provider verification for a handle, normalizing leading @, defaulting to profile verification, and returning a poly_... challenge code that expires after about 15 minutes.\n */\n async start(\n input: StartVerificationInput,\n options?: PolyesterMutationOptions,\n ): Promise<StartVerificationResponse> {\n const validated = v.parse(StartVerificationInputSchema, input);\n const res = await this.#client.startSocialVerification(\n validated,\n toConnectCallOptions(options),\n );\n return v.parse(StartVerificationResponseSchema, res);\n }\n\n /**\n * Queues a provider check after the caller has placed the challenge code according to the selected verification method.\n */\n async markReady(\n input: v.InferInput<typeof SocialProviderInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<VerificationReadyResponse> {\n const validated = v.parse(SocialProviderInputSchema, input);\n const res = await this.#client.socialVerificationReady(\n validated,\n toConnectCallOptions(options),\n );\n return v.parse(VerificationReadyResponseSchema, res);\n }\n\n /**\n * Returns the caller's current verification state for a provider, including status, challenge metadata, attempts, last error, and verified timestamp.\n */\n async get(\n input: v.InferInput<typeof SocialProviderInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<GetVerificationResponse> {\n const validated = v.parse(SocialProviderInputSchema, input);\n const res = await this.#client.getSocialVerification(\n validated,\n toConnectCallOptions(options),\n );\n return v.parse(GetVerificationResponseSchema, res);\n }\n}\n"],"mappings":";;;;;;;;;AAuBA,IAAa,4BAAb,MAAuC;CACnC;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,6BAAiC,SAAS;CAC1E;;;;CAKA,MAAM,MACF,OACA,SACkC;EAClC,MAAM,YAAYC,MAAQ,8BAA8B,KAAK;EAC7D,MAAM,MAAM,MAAM,KAAKF,QAAQ,wBAC3B,WACA,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,iCAAiC,GAAG;CACvD;;;;CAKA,MAAM,UACF,OACA,SACkC;EAClC,MAAM,YAAYA,MAAQ,2BAA2B,KAAK;EAC1D,MAAM,MAAM,MAAM,KAAKF,QAAQ,wBAC3B,WACA,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,iCAAiC,GAAG;CACvD;;;;CAKA,MAAM,IACF,OACA,SACgC;EAChC,MAAM,YAAYA,MAAQ,2BAA2B,KAAK;EAC1D,MAAM,MAAM,MAAM,KAAKF,QAAQ,sBAC3B,WACA,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,+BAA+B,GAAG;CACrD;AACJ"}