@polyester/sdk 0.3.0 → 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 (316) hide show
  1. package/CHANGELOG.md +44 -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/gen/marketoverview/v1/marketoverview_pb.d.ts +7 -0
  34. package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts.map +1 -1
  35. package/dist/gen/marketoverview/v1/marketoverview_pb.js +1 -1
  36. package/dist/gen/marketoverview/v1/marketoverview_pb.js.map +1 -1
  37. package/dist/index.js +3 -3
  38. package/dist/realtime/client.js +13 -2
  39. package/dist/realtime/client.js.map +1 -1
  40. package/dist/realtime/snapshot-then-stream.js +1 -1
  41. package/dist/realtime/snapshot-then-stream.js.map +1 -1
  42. package/dist/realtime/types.d.ts +2 -0
  43. package/dist/realtime/types.d.ts.map +1 -1
  44. package/dist/server-client.d.ts +17 -8
  45. package/dist/server-client.d.ts.map +1 -1
  46. package/dist/server-client.js +8 -11
  47. package/dist/server-client.js.map +1 -1
  48. package/dist/services/accounts/accounts.js +3 -3
  49. package/dist/services/accounts/accounts.js.map +1 -1
  50. package/dist/services/accounts/accounts.schemas.d.ts +13 -13
  51. package/dist/services/accounts/accounts.schemas.d.ts.map +1 -1
  52. package/dist/services/accounts/accounts.schemas.js +11 -11
  53. package/dist/services/accounts/accounts.schemas.js.map +1 -1
  54. package/dist/services/address-book/address-book.js +28 -28
  55. package/dist/services/address-book/address-book.js.map +1 -1
  56. package/dist/services/address-book/address-book.schemas.d.ts +751 -751
  57. package/dist/services/address-book/address-book.schemas.d.ts.map +1 -1
  58. package/dist/services/address-book/address-book.schemas.js +160 -160
  59. package/dist/services/address-book/address-book.schemas.js.map +1 -1
  60. package/dist/services/api-keys/api-keys.d.ts +6 -6
  61. package/dist/services/api-keys/api-keys.d.ts.map +1 -1
  62. package/dist/services/api-keys/api-keys.js +12 -12
  63. package/dist/services/api-keys/api-keys.js.map +1 -1
  64. package/dist/services/api-keys/api-keys.schemas.d.ts +62 -62
  65. package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -1
  66. package/dist/services/api-keys/api-keys.schemas.js +34 -34
  67. package/dist/services/api-keys/api-keys.schemas.js.map +1 -1
  68. package/dist/services/auth/auth.d.ts +46 -40
  69. package/dist/services/auth/auth.d.ts.map +1 -1
  70. package/dist/services/auth/auth.js +28 -25
  71. package/dist/services/auth/auth.js.map +1 -1
  72. package/dist/services/auth/profile/profile.d.ts +2 -2
  73. package/dist/services/auth/profile/profile.d.ts.map +1 -1
  74. package/dist/services/auth/profile/profile.js +7 -7
  75. package/dist/services/auth/profile/profile.js.map +1 -1
  76. package/dist/services/auth/profile/profile.schemas.d.ts +41 -41
  77. package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -1
  78. package/dist/services/auth/profile/profile.schemas.js +27 -27
  79. package/dist/services/auth/profile/profile.schemas.js.map +1 -1
  80. package/dist/services/auth/session.d.ts +1 -1
  81. package/dist/services/auth/session.d.ts.map +1 -1
  82. package/dist/services/auth/session.js +6 -2
  83. package/dist/services/auth/session.js.map +1 -1
  84. package/dist/services/auth/session.schemas.js +17 -17
  85. package/dist/services/auth/session.schemas.js.map +1 -1
  86. package/dist/services/auth/session.types.d.ts +3 -2
  87. package/dist/services/auth/session.types.d.ts.map +1 -1
  88. package/dist/services/balances/balances.d.ts +1 -1
  89. package/dist/services/balances/balances.js +9 -9
  90. package/dist/services/balances/balances.js.map +1 -1
  91. package/dist/services/balances/balances.schemas.d.ts +95 -95
  92. package/dist/services/balances/balances.schemas.d.ts.map +1 -1
  93. package/dist/services/balances/balances.schemas.js +61 -61
  94. package/dist/services/balances/balances.schemas.js.map +1 -1
  95. package/dist/services/candles/candles.js +12 -12
  96. package/dist/services/candles/candles.js.map +1 -1
  97. package/dist/services/candles/candles.schemas.d.ts +64 -64
  98. package/dist/services/candles/candles.schemas.d.ts.map +1 -1
  99. package/dist/services/candles/candles.schemas.js +47 -48
  100. package/dist/services/candles/candles.schemas.js.map +1 -1
  101. package/dist/services/chain-analytics/chain-analytics.js +7 -7
  102. package/dist/services/chain-analytics/chain-analytics.js.map +1 -1
  103. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +68 -68
  104. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -1
  105. package/dist/services/chain-analytics/chain-analytics.schemas.js +29 -29
  106. package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -1
  107. package/dist/services/deposit/deposit.js +5 -5
  108. package/dist/services/deposit/deposit.js.map +1 -1
  109. package/dist/services/deposit/deposit.schemas.d.ts +17 -17
  110. package/dist/services/deposit/deposit.schemas.d.ts.map +1 -1
  111. package/dist/services/deposit/deposit.schemas.js +11 -11
  112. package/dist/services/deposit/deposit.schemas.js.map +1 -1
  113. package/dist/services/guard-signer/guard-signer.js +13 -13
  114. package/dist/services/guard-signer/guard-signer.js.map +1 -1
  115. package/dist/services/guard-signer/guard-signer.schemas.d.ts +75 -75
  116. package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -1
  117. package/dist/services/guard-signer/guard-signer.schemas.js +42 -42
  118. package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -1
  119. package/dist/services/heatmap/heatmap.js +9 -9
  120. package/dist/services/heatmap/heatmap.js.map +1 -1
  121. package/dist/services/heatmap/heatmap.schemas.d.ts +141 -141
  122. package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -1
  123. package/dist/services/heatmap/heatmap.schemas.js +47 -47
  124. package/dist/services/heatmap/heatmap.schemas.js.map +1 -1
  125. package/dist/services/internal-transfers/internal-transfers.js +3 -3
  126. package/dist/services/internal-transfers/internal-transfers.js.map +1 -1
  127. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +53 -53
  128. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -1
  129. package/dist/services/internal-transfers/internal-transfers.schemas.js +27 -27
  130. package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -1
  131. package/dist/services/lifecycle/lifecycle.js +10 -10
  132. package/dist/services/lifecycle/lifecycle.js.map +1 -1
  133. package/dist/services/lifecycle/lifecycle.schemas.d.ts +614 -614
  134. package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -1
  135. package/dist/services/lifecycle/lifecycle.schemas.js +146 -146
  136. package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -1
  137. package/dist/services/market-data/market-data.js +6 -6
  138. package/dist/services/market-data/market-data.js.map +1 -1
  139. package/dist/services/market-data/market-data.schemas.d.ts +20 -20
  140. package/dist/services/market-data/market-data.schemas.d.ts.map +1 -1
  141. package/dist/services/market-data/market-data.schemas.js +51 -55
  142. package/dist/services/market-data/market-data.schemas.js.map +1 -1
  143. package/dist/services/market-overview/market-overview.d.ts +1 -1
  144. package/dist/services/market-overview/market-overview.js +5 -5
  145. package/dist/services/market-overview/market-overview.js.map +1 -1
  146. package/dist/services/market-overview/market-overview.schemas.d.ts +39 -36
  147. package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -1
  148. package/dist/services/market-overview/market-overview.schemas.js +34 -32
  149. package/dist/services/market-overview/market-overview.schemas.js.map +1 -1
  150. package/dist/services/mfa/mfa.js +27 -27
  151. package/dist/services/mfa/mfa.js.map +1 -1
  152. package/dist/services/mfa/mfa.schemas.d.ts +206 -206
  153. package/dist/services/mfa/mfa.schemas.d.ts.map +1 -1
  154. package/dist/services/mfa/mfa.schemas.js +83 -83
  155. package/dist/services/mfa/mfa.schemas.js.map +1 -1
  156. package/dist/services/orderbook/orderbook.d.ts +2 -2
  157. package/dist/services/orderbook/orderbook.d.ts.map +1 -1
  158. package/dist/services/orderbook/orderbook.js +5 -5
  159. package/dist/services/orderbook/orderbook.js.map +1 -1
  160. package/dist/services/orderbook/orderbook.schemas.d.ts +23 -23
  161. package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -1
  162. package/dist/services/orderbook/orderbook.schemas.js +15 -15
  163. package/dist/services/orderbook/orderbook.schemas.js.map +1 -1
  164. package/dist/services/orders/order-errors.schemas.d.ts +18 -18
  165. package/dist/services/orders/order-errors.schemas.d.ts.map +1 -1
  166. package/dist/services/orders/order-errors.schemas.js +8 -8
  167. package/dist/services/orders/order-errors.schemas.js.map +1 -1
  168. package/dist/services/orders/orders-batch.schemas.d.ts +492 -492
  169. package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -1
  170. package/dist/services/orders/orders-batch.schemas.js +118 -118
  171. package/dist/services/orders/orders-batch.schemas.js.map +1 -1
  172. package/dist/services/orders/orders-identifiers.schemas.js +5 -5
  173. package/dist/services/orders/orders-identifiers.schemas.js.map +1 -1
  174. package/dist/services/orders/orders-input.schemas.d.ts +657 -648
  175. package/dist/services/orders/orders-input.schemas.d.ts.map +1 -1
  176. package/dist/services/orders/orders-input.schemas.js +100 -96
  177. package/dist/services/orders/orders-input.schemas.js.map +1 -1
  178. package/dist/services/orders/orders-modify.schemas.d.ts +370 -351
  179. package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -1
  180. package/dist/services/orders/orders-modify.schemas.js +48 -44
  181. package/dist/services/orders/orders-modify.schemas.js.map +1 -1
  182. package/dist/services/orders/orders-output.schemas.d.ts +179 -179
  183. package/dist/services/orders/orders-output.schemas.d.ts.map +1 -1
  184. package/dist/services/orders/orders-output.schemas.js +49 -49
  185. package/dist/services/orders/orders-output.schemas.js.map +1 -1
  186. package/dist/services/orders/orders-risk.schemas.d.ts +226 -226
  187. package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -1
  188. package/dist/services/orders/orders-risk.schemas.js +69 -69
  189. package/dist/services/orders/orders-risk.schemas.js.map +1 -1
  190. package/dist/services/orders/orders.d.ts +8 -8
  191. package/dist/services/orders/orders.d.ts.map +1 -1
  192. package/dist/services/orders/orders.js +44 -32
  193. package/dist/services/orders/orders.js.map +1 -1
  194. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +6 -6
  195. package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -1
  196. package/dist/services/policies/api-key-policies/api-key-policies.js +11 -11
  197. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -1
  198. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +105 -105
  199. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -1
  200. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +49 -49
  201. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -1
  202. package/dist/services/policies/shared.d.ts +5 -5
  203. package/dist/services/policies/shared.d.ts.map +1 -1
  204. package/dist/services/policies/shared.js +10 -10
  205. package/dist/services/policies/shared.js.map +1 -1
  206. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +6 -6
  207. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -1
  208. package/dist/services/policies/subaccount-policies/subaccount-policies.js +13 -13
  209. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -1
  210. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +124 -124
  211. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -1
  212. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +75 -75
  213. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -1
  214. package/dist/services/shared.js +11 -11
  215. package/dist/services/shared.js.map +1 -1
  216. package/dist/services/social-verification/social-verification.d.ts +3 -3
  217. package/dist/services/social-verification/social-verification.d.ts.map +1 -1
  218. package/dist/services/social-verification/social-verification.js +7 -7
  219. package/dist/services/social-verification/social-verification.js.map +1 -1
  220. package/dist/services/social-verification/social-verification.schemas.d.ts +54 -54
  221. package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -1
  222. package/dist/services/social-verification/social-verification.schemas.js +28 -28
  223. package/dist/services/social-verification/social-verification.schemas.js.map +1 -1
  224. package/dist/services/subaccount-resolver.js +5 -3
  225. package/dist/services/subaccount-resolver.js.map +1 -1
  226. package/dist/services/subaccounts/subaccounts.d.ts +15 -15
  227. package/dist/services/subaccounts/subaccounts.d.ts.map +1 -1
  228. package/dist/services/subaccounts/subaccounts.js +35 -35
  229. package/dist/services/subaccounts/subaccounts.js.map +1 -1
  230. package/dist/services/subaccounts/subaccounts.schemas.d.ts +137 -137
  231. package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -1
  232. package/dist/services/subaccounts/subaccounts.schemas.js +72 -72
  233. package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -1
  234. package/dist/services/trades/trades.d.ts +2 -2
  235. package/dist/services/trades/trades.d.ts.map +1 -1
  236. package/dist/services/trades/trades.js +5 -5
  237. package/dist/services/trades/trades.js.map +1 -1
  238. package/dist/services/trades/trades.schemas.d.ts +31 -31
  239. package/dist/services/trades/trades.schemas.d.ts.map +1 -1
  240. package/dist/services/trades/trades.schemas.js +24 -24
  241. package/dist/services/trades/trades.schemas.js.map +1 -1
  242. package/dist/services/trading-withdraws/trading-withdraws.js +8 -8
  243. package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -1
  244. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +45 -45
  245. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -1
  246. package/dist/services/trading-withdraws/trading-withdraws.schemas.js +36 -36
  247. package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -1
  248. package/dist/services/transfers/transfers.d.ts +1 -1
  249. package/dist/services/transfers/transfers.d.ts.map +1 -1
  250. package/dist/services/transfers/transfers.js +5 -5
  251. package/dist/services/transfers/transfers.js.map +1 -1
  252. package/dist/services/transfers/transfers.schemas.d.ts +42 -42
  253. package/dist/services/transfers/transfers.schemas.d.ts.map +1 -1
  254. package/dist/services/transfers/transfers.schemas.js +30 -30
  255. package/dist/services/transfers/transfers.schemas.js.map +1 -1
  256. package/dist/services/triggers/trigger-child-order.schemas.js +23 -23
  257. package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -1
  258. package/dist/services/triggers/trigger-input.schemas.d.ts +226 -226
  259. package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -1
  260. package/dist/services/triggers/trigger-input.schemas.js +53 -53
  261. package/dist/services/triggers/trigger-input.schemas.js.map +1 -1
  262. package/dist/services/triggers/triggers-output.schemas.d.ts +218 -218
  263. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -1
  264. package/dist/services/triggers/triggers-output.schemas.js +152 -152
  265. package/dist/services/triggers/triggers-output.schemas.js.map +1 -1
  266. package/dist/services/triggers/triggers.js +21 -21
  267. package/dist/services/triggers/triggers.js.map +1 -1
  268. package/dist/services/whiteboard/whiteboard.js +15 -15
  269. package/dist/services/whiteboard/whiteboard.js.map +1 -1
  270. package/dist/services/whiteboard/whiteboard.schemas.d.ts +379 -379
  271. package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -1
  272. package/dist/services/whiteboard/whiteboard.schemas.js +71 -71
  273. package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -1
  274. package/dist/services/zipper/zipper.js +3 -3
  275. package/dist/services/zipper/zipper.js.map +1 -1
  276. package/dist/services/zipper/zipper.schemas.d.ts +1 -1
  277. package/dist/services/zipper/zipper.schemas.js +54 -54
  278. package/dist/services/zipper/zipper.schemas.js.map +1 -1
  279. package/dist/shared/account-scope.d.ts +6 -6
  280. package/dist/shared/account-scope.d.ts.map +1 -1
  281. package/dist/shared/account-scope.js +3 -3
  282. package/dist/shared/account-scope.js.map +1 -1
  283. package/dist/shared/connect-error-mapping.d.ts +1 -1
  284. package/dist/shared/connect-error-mapping.js +29 -3
  285. package/dist/shared/connect-error-mapping.js.map +1 -1
  286. package/dist/shared/rate-limit.schemas.d.ts +12 -12
  287. package/dist/shared/rate-limit.schemas.d.ts.map +1 -1
  288. package/dist/shared/rate-limit.schemas.js +7 -7
  289. package/dist/shared/rate-limit.schemas.js.map +1 -1
  290. package/dist/shared/schemas.js +26 -26
  291. package/dist/shared/schemas.js.map +1 -1
  292. package/dist/shared/transports.js +7 -12
  293. package/dist/shared/transports.js.map +1 -1
  294. package/dist/shared/types.d.ts +12 -0
  295. package/dist/shared/types.d.ts.map +1 -1
  296. package/dist/shared/validation.d.ts +14 -0
  297. package/dist/shared/validation.d.ts.map +1 -0
  298. package/dist/shared/validation.js +24 -0
  299. package/dist/shared/validation.js.map +1 -0
  300. package/dist/utils/connect-order-errors.js +2 -2
  301. package/dist/utils/connect-order-errors.js.map +1 -1
  302. package/dist/utils/cookies.d.ts +8 -3
  303. package/dist/utils/cookies.d.ts.map +1 -1
  304. package/dist/utils/cookies.js +7 -1
  305. package/dist/utils/cookies.js.map +1 -1
  306. package/dist/utils/event-emitter.d.ts +1 -1
  307. package/dist/utils/event-emitter.d.ts.map +1 -1
  308. package/dist/utils/event-emitter.js +4 -2
  309. package/dist/utils/event-emitter.js.map +1 -1
  310. package/dist/utils/evm.js +2 -2
  311. package/dist/utils/evm.js.map +1 -1
  312. package/dist/utils/jwt.d.ts +2 -2
  313. package/dist/utils/jwt.d.ts.map +1 -1
  314. package/dist/utils/jwt.js +2 -2
  315. package/dist/utils/jwt.js.map +1 -1
  316. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"orders.js","names":["#readClient","ProtoRead.OrdersReadService","#writeClient","ProtoWrite.OrdersService","#realtime","#resolver","#scales","#orderSchema","#orderDetailsSchema","#newOrderInputSchema","#modifyOrderInputSchema","#batchCreateOrdersInputSchema","ProtoRead.OrderSchema"],"sources":["../../../src/services/orders/orders.ts"],"sourcesContent":["import * as ProtoRead from \"../../gen/orders/v1/orders_read_pb.js\";\nimport * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"valibot\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport {\n OpenOrdersInputSchema,\n OrderHistoryInputSchema,\n type NewOrderInput,\n createNewOrderInputSchema,\n CancelOrderInputSchema,\n CancelOrderResultSchema,\n type CancelOrderResult,\n CancelAllOrdersInputSchema,\n CancelAllOrdersResponseSchema,\n type CancelAllOrdersResponse,\n type Order,\n GetOrderDetailsInputSchema,\n createCreateOrderResultSchema,\n createPreviewOrderResultSchema,\n type PreviewOrderResult,\n type ModifyOrderInput,\n assertKnownModifyOrderInputKeys,\n createModifyOrderInputSchema,\n ModifyOrderResultSchema,\n type CreateOrderResult,\n type ModifyOrderResult,\n type OrderDetails,\n createOrderSchema,\n createOrderDetailsSchema,\n CancelAllAfterInputSchema,\n CancelAllAfterResultSchema,\n type CancelAllAfterInput,\n type CancelAllAfterResult,\n BatchCancelOrdersInputSchema,\n BatchCancelOrdersResultSchema,\n type BatchCancelOrdersInput,\n type BatchCancelOrdersResult,\n createBatchCreateOrdersResultSchema,\n type BatchCreateOrdersInput,\n type BatchCreateOrdersResult,\n BatchReplaceOrdersResultSchema,\n type BatchReplaceOrdersInput,\n type BatchReplaceOrdersResult,\n GetBatchReplaceStatusInputSchema,\n GetBatchReplaceStatusResultSchema,\n type GetBatchReplaceStatusInput,\n type GetBatchReplaceStatusResult,\n assertKnownBatchReplaceOrderItemInputKeys,\n createBatchCreateOrdersInputSchema,\n createBatchReplaceOrdersInputSchema,\n} from \"./orders.schemas.js\";\n\nfunction hasKnownOrderSymbol(scales: SdkScales, order: { symbolId: number }): boolean {\n try {\n scales.baseQty(order.symbolId);\n return true;\n } catch {\n return false;\n }\n}\n\ninterface SubscribeOrdersInput extends BaseSubscribeInput<Order> {\n accountId: string;\n}\n\nfunction createMutationRequestId(): string {\n return (\n globalThis.crypto?.randomUUID?.() ??\n `req_${Date.now()}_${Math.random().toString(16).slice(2)}`\n );\n}\n\nfunction assertBatchResultCount(operation: string, requested: number, returned: number): void {\n if (requested !== returned) {\n throw new Error(\n `${operation} returned ${returned} results for ${requested} requested items.`,\n );\n }\n}\n\n/**\n * Manages account-scoped spot orders across read, write, and realtime order update surfaces.\n */\nexport class OrdersService {\n #readClient: Client<typeof ProtoRead.OrdersReadService>;\n #writeClient: Client<typeof ProtoWrite.OrdersService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #orderSchema: ReturnType<typeof createOrderSchema>;\n #orderDetailsSchema: ReturnType<typeof createOrderDetailsSchema>;\n #newOrderInputSchema: ReturnType<typeof createNewOrderInputSchema>;\n #modifyOrderInputSchema: ReturnType<typeof createModifyOrderInputSchema>;\n #batchCreateOrdersInputSchema: ReturnType<typeof createBatchCreateOrdersInputSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#readClient = createClient(ProtoRead.OrdersReadService, transport);\n this.#writeClient = createClient(ProtoWrite.OrdersService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#orderSchema = createOrderSchema(scales);\n this.#orderDetailsSchema = createOrderDetailsSchema(scales);\n this.#newOrderInputSchema = createNewOrderInputSchema(scales);\n this.#modifyOrderInputSchema = createModifyOrderInputSchema(scales);\n this.#batchCreateOrdersInputSchema = createBatchCreateOrdersInputSchema(scales);\n }\n\n /**\n * Returns open orders for the resolved root account or subaccount, with optional symbol, trigger ID, side, pagination, and attached-risk inclusion filters. Results include the next page token returned by GetOpenOrders.\n */\n async listOpen(\n input: v.InferInput<typeof OpenOrdersInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OpenOrdersInputSchema, resolved);\n const res = await this.#readClient.getOpenOrders(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Returns historical orders for the resolved account scope, supporting symbol, trigger ID, side, status, time range, pagination, and attached-risk filters. Results are paginated with the backend nextPageToken.\n */\n async listHistory(\n input: v.InferInput<typeof OrderHistoryInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OrderHistoryInputSchema, resolved);\n const res = await this.#readClient.getOrderHistory(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Evaluates one complete order intent against current market, policy, risk, and balance state without creating an order, reserving funds, or claiming its client order ID.\n */\n async preview(\n input: NewOrderInput,\n options?: PolyesterRequestOptions,\n ): Promise<PreviewOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(this.#newOrderInputSchema, resolved);\n const response = await this.#writeClient.previewOrder(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(createPreviewOrderResultSchema(this.#scales, input.symbol), response);\n }\n\n /**\n * Places a spot order with an explicit market-IOC, limit-GTC, limit-IOC, or limit-FOK execution policy and optional attached risk controls. clientOrderId is the caller-controlled idempotency key and should be reused only for the same logical order.\n */\n async create(\n input: NewOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(this.#newOrderInputSchema, resolved);\n const requestPayload = removeUndefined(validatedInput);\n const res = await this.#writeClient.createOrder(\n requestPayload,\n toConnectCallOptions(options),\n );\n return v.parse(createCreateOrderResultSchema(this.#scales, input.symbol), res);\n }\n\n /**\n * Places 1–20 spot orders in one best-effort request. Results preserve item order and report admission as accepted or rejected; accepted orders still require lifecycle reconciliation. Supply a clientOrderId for each item and a stable requestId when an ambiguous batch may be retried.\n */\n async batchCreate(\n input: BatchCreateOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCreateOrdersResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(this.#batchCreateOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCreateOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(\n createBatchCreateOrdersResultSchema(\n this.#scales,\n input.items.map((item) => item.symbol),\n ),\n response,\n );\n assertBatchResultCount(\"batchCreate\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Cancels one open order in the resolved account scope by order id or client order id, with optional symbol routing. Returns the backend cancellation status, order id, and server timestamp fields.\n */\n async cancel(\n input: v.InferInput<typeof CancelOrderInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelOrderResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n\n const validated = v.parse(CancelOrderInputSchema, resolved);\n\n const res = await this.#writeClient.cancelOrder(\n {\n key: validated.key,\n symbolId: validated.symbolId,\n subaccountId: validated.subaccountId,\n },\n toConnectCallOptions(options),\n );\n return v.parse(CancelOrderResultSchema, res);\n }\n\n /**\n * Cancels 1–50 explicit orders in one best-effort request. Results preserve item order and acknowledge cancellation admission rather than final order state. Supply a stable requestId when an ambiguous batch may be retried.\n */\n async batchCancel(\n input: BatchCancelOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCancelOrdersResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(BatchCancelOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCancelOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchCancelOrdersResultSchema, response);\n assertBatchResultCount(\"batchCancel\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Applies a price, quantity, client id, or attached-risk patch to one open order using the backend modify behavior policy. A requestId is generated when omitted; provide a stable value when retrying the same logical modification.\n */\n async modify(\n input: ModifyOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<ModifyOrderResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n assertKnownModifyOrderInputKeys(resolved);\n const validated = v.parse(this.#modifyOrderInputSchema, resolved);\n const res = await this.#writeClient.modifyOrder(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(ModifyOrderResultSchema, res);\n }\n\n /**\n * Replaces 1–50 same-symbol orders and returns an index-stable durable admission receipt. Reuse requestId only when retrying the same logical batch; use the returned batchRequestId for later status reads.\n */\n async batchReplace(\n input: BatchReplaceOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchReplaceOrdersResult> {\n await this.#scales.ready();\n for (const item of input.items) {\n assertKnownBatchReplaceOrderItemInputKeys(item);\n }\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(\n createBatchReplaceOrdersInputSchema(this.#scales, input.symbolId),\n resolved,\n );\n const response = await this.#writeClient.batchReplaceOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchReplaceOrdersResultSchema, response);\n assertBatchResultCount(\"batchReplace\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Reads the durable per-item execution status for a batch replacement receipt.\n */\n async getBatchReplaceStatus(\n input: GetBatchReplaceStatusInput,\n options?: PolyesterRequestOptions,\n ): Promise<GetBatchReplaceStatusResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(GetBatchReplaceStatusInputSchema, resolved);\n const response = await this.#readClient.getBatchReplaceStatus(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(GetBatchReplaceStatusResultSchema, response);\n }\n\n /**\n * Cancels all matching open orders for the resolved account scope, optionally narrowed by symbol and side, with dry-run preview. A requestId is generated when omitted; provide a stable value when retrying the same logical bulk cancellation.\n */\n async cancelAll(\n input: v.InferInput<typeof CancelAllOrdersInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllOrdersResponse> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const validated = v.parse(CancelAllOrdersInputSchema, resolved);\n const res = await this.#writeClient.cancelAllOrders(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllOrdersResponseSchema, res);\n }\n\n /**\n * Arms, refreshes, or disables the account dead-man switch. timeoutSec 0 disables it; 10–120 arms it. Generate a new requestId for each deliberate heartbeat, but reuse the same ID when retrying one ambiguous heartbeat.\n */\n async cancelAllAfter(\n input: CancelAllAfterInput,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllAfterResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(CancelAllAfterInputSchema, resolved);\n const response = await this.#writeClient.cancelAllAfter(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllAfterResultSchema, response);\n }\n\n /**\n * Fetches one order by id or client order id and returns its order, trades, and transfer details when found. Returns null when the backend response has no order.\n */\n async getDetails(\n input: v.InferInput<typeof GetOrderDetailsInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<OrderDetails | null> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(GetOrderDetailsInputSchema, resolved);\n const res = await this.#readClient.getOrder(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.order) return null;\n return v.parse(this.#orderDetailsSchema, res);\n }\n\n /**\n * Subscribes to private order updates on private:spot:orders:{accountId}:proto and emits parsed order records until the returned unsubscribe function is called.\n */\n subscribe(input: SubscribeOrdersInput): () => void {\n const channel = `private:spot:orders:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: ProtoRead.OrderSchema,\n onPublication: (data) => {\n gate.run(() => {\n const order = v.parse(this.#orderSchema, data);\n input.onEvent(order);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: (ctx) => input.onError?.(ctx),\n });\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"orders.js","names":["#readClient","ProtoRead.OrdersReadService","#writeClient","ProtoWrite.OrdersService","#realtime","#resolver","#scales","#orderSchema","#orderDetailsSchema","#newOrderInputSchema","#modifyOrderInputSchema","#batchCreateOrdersInputSchema","v.parse","v","ProtoRead.OrderSchema"],"sources":["../../../src/services/orders/orders.ts"],"sourcesContent":["import * as ProtoRead from \"../../gen/orders/v1/orders_read_pb.js\";\nimport * as ProtoWrite from \"../../gen/orders/v1/orders_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport { publicationHandlerErrorContext } from \"../../shared/subscription-errors.js\";\nimport * as v from \"../../shared/validation.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport { removeUndefined } from \"../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../shared/request-options.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.js\";\nimport type { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { createReadyGate, type SdkScales } from \"../../shared/decimal-surface.js\";\nimport { getOrderErrorDetail } from \"../../utils/connect-order-errors.js\";\nimport { formatConnectError, isResourceNotFoundError } from \"../../utils/errors.js\";\nimport {\n OpenOrdersInputSchema,\n OrderHistoryInputSchema,\n type NewOrderInput,\n createNewOrderInputSchema,\n CancelOrderInputSchema,\n CancelOrderResultSchema,\n type CancelOrderResult,\n CancelAllOrdersInputSchema,\n CancelAllOrdersResponseSchema,\n type CancelAllOrdersResponse,\n type Order,\n GetOrderDetailsInputSchema,\n createCreateOrderResultSchema,\n createPreviewOrderResultSchema,\n type PreviewOrderResult,\n type ModifyOrderInput,\n assertKnownModifyOrderInputKeys,\n createModifyOrderInputSchema,\n ModifyOrderResultSchema,\n type CreateOrderResult,\n type ModifyOrderResult,\n type OrderDetails,\n createOrderSchema,\n createOrderDetailsSchema,\n CancelAllAfterInputSchema,\n CancelAllAfterResultSchema,\n type CancelAllAfterInput,\n type CancelAllAfterResult,\n BatchCancelOrdersInputSchema,\n BatchCancelOrdersResultSchema,\n type BatchCancelOrdersInput,\n type BatchCancelOrdersResult,\n createBatchCreateOrdersResultSchema,\n type BatchCreateOrdersInput,\n type BatchCreateOrdersResult,\n BatchReplaceOrdersResultSchema,\n type BatchReplaceOrdersInput,\n type BatchReplaceOrdersResult,\n GetBatchReplaceStatusInputSchema,\n GetBatchReplaceStatusResultSchema,\n type GetBatchReplaceStatusInput,\n type GetBatchReplaceStatusResult,\n assertKnownBatchReplaceOrderItemInputKeys,\n createBatchCreateOrdersInputSchema,\n createBatchReplaceOrdersInputSchema,\n} from \"./orders.schemas.js\";\n\nfunction hasKnownOrderSymbol(scales: SdkScales, order: { symbolId: number }): boolean {\n try {\n scales.baseQty(order.symbolId);\n return true;\n } catch {\n return false;\n }\n}\n\nconst MISCLASSIFIED_ORDER_NOT_FOUND_MESSAGE = \"order not found\";\n\nfunction isOrderNotFoundError(error: unknown): boolean {\n return (\n isResourceNotFoundError(error) ||\n getOrderErrorDetail(error)?.code === \"NOT_FOUND\" ||\n formatConnectError(error, \"\").toLowerCase() === MISCLASSIFIED_ORDER_NOT_FOUND_MESSAGE\n );\n}\n\ninterface SubscribeOrdersInput extends BaseSubscribeInput<Order> {\n accountId: string;\n}\n\nfunction createMutationRequestId(): string {\n return (\n globalThis.crypto?.randomUUID?.() ??\n `req_${Date.now()}_${Math.random().toString(16).slice(2)}`\n );\n}\n\nfunction assertBatchResultCount(operation: string, requested: number, returned: number): void {\n if (requested !== returned) {\n throw new Error(\n `${operation} returned ${returned} results for ${requested} requested items.`,\n );\n }\n}\n\n/**\n * Manages account-scoped spot orders across read, write, and realtime order update surfaces.\n */\nexport class OrdersService {\n #readClient: Client<typeof ProtoRead.OrdersReadService>;\n #writeClient: Client<typeof ProtoWrite.OrdersService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n #scales: SdkScales;\n #orderSchema: ReturnType<typeof createOrderSchema>;\n #orderDetailsSchema: ReturnType<typeof createOrderDetailsSchema>;\n #newOrderInputSchema: ReturnType<typeof createNewOrderInputSchema>;\n #modifyOrderInputSchema: ReturnType<typeof createModifyOrderInputSchema>;\n #batchCreateOrdersInputSchema: ReturnType<typeof createBatchCreateOrdersInputSchema>;\n\n constructor(\n transport: Transport,\n realtime: PolyesterRealtime,\n resolver: SubaccountResolver | undefined,\n scales: SdkScales,\n ) {\n this.#readClient = createClient(ProtoRead.OrdersReadService, transport);\n this.#writeClient = createClient(ProtoWrite.OrdersService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n this.#scales = scales;\n this.#orderSchema = createOrderSchema(scales);\n this.#orderDetailsSchema = createOrderDetailsSchema(scales);\n this.#newOrderInputSchema = createNewOrderInputSchema(scales);\n this.#modifyOrderInputSchema = createModifyOrderInputSchema(scales);\n this.#batchCreateOrdersInputSchema = createBatchCreateOrdersInputSchema(scales);\n }\n\n /**\n * Returns open orders for the resolved root account or subaccount, with optional symbol, trigger ID, side, pagination, and attached-risk inclusion filters. Results include the next page token returned by GetOpenOrders.\n */\n async listOpen(\n input: v.InferInput<typeof OpenOrdersInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OpenOrdersInputSchema, resolved);\n const res = await this.#readClient.getOpenOrders(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Returns historical orders for the resolved account scope, supporting symbol, trigger ID, side, status, time range, pagination, and attached-risk filters. Results are paginated with the backend nextPageToken.\n */\n async listHistory(\n input: v.InferInput<typeof OrderHistoryInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ orders: Order[]; nextPageToken: string }> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(OrderHistoryInputSchema, resolved);\n const res = await this.#readClient.getOrderHistory(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n return {\n orders: v.parse(\n v.array(this.#orderSchema),\n res.orders.filter((order) => hasKnownOrderSymbol(this.#scales, order)),\n ),\n nextPageToken: res.nextPageToken,\n };\n }\n\n /**\n * Evaluates one complete order intent against current market, policy, risk, and balance state without creating an order, reserving funds, or claiming its client order ID.\n */\n async preview(\n input: NewOrderInput,\n options?: PolyesterRequestOptions,\n ): Promise<PreviewOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(this.#newOrderInputSchema, resolved);\n const response = await this.#writeClient.previewOrder(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(createPreviewOrderResultSchema(this.#scales, input.symbol), response);\n }\n\n /**\n * Places a spot order with an explicit market-IOC, limit-GTC, limit-IOC, or limit-FOK execution policy and optional attached risk controls. clientOrderId is the caller-controlled idempotency key and should be reused only for the same logical order.\n */\n async create(\n input: NewOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<CreateOrderResult> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(this.#newOrderInputSchema, resolved);\n const requestPayload = removeUndefined(validatedInput);\n const res = await this.#writeClient.createOrder(\n requestPayload,\n toConnectCallOptions(options),\n );\n return v.parse(createCreateOrderResultSchema(this.#scales, input.symbol), res);\n }\n\n /**\n * Places 1–20 spot orders in one best-effort request. Results preserve item order and report admission as accepted or rejected; accepted orders still require lifecycle reconciliation. Supply a clientOrderId for each item and a stable requestId when an ambiguous batch may be retried.\n */\n async batchCreate(\n input: BatchCreateOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCreateOrdersResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(this.#batchCreateOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCreateOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(\n createBatchCreateOrdersResultSchema(\n this.#scales,\n input.items.map((item) => item.symbol),\n ),\n response,\n );\n assertBatchResultCount(\"batchCreate\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Requests cancellation of one order in the resolved account scope by order id or client order id, with optional symbol routing. The response acknowledges the cancellation request, not the order's final lifecycle state; reconcile through order reads or realtime before releasing local state. A missing target remains a {@link ResourceNotFoundError}; callers performing desired-state cleanup may treat that error as success when the order could already have filled or left the book.\n */\n async cancel(\n input: v.InferInput<typeof CancelOrderInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelOrderResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n\n const validated = v.parse(CancelOrderInputSchema, resolved);\n\n const res = await this.#writeClient.cancelOrder(\n {\n key: validated.key,\n symbolId: validated.symbolId,\n subaccountId: validated.subaccountId,\n },\n toConnectCallOptions(options),\n );\n return v.parse(CancelOrderResultSchema, res);\n }\n\n /**\n * Cancels 1–50 explicit orders in one best-effort request. Results preserve item order and acknowledge cancellation admission rather than final order state. Supply a stable requestId when an ambiguous batch may be retried.\n */\n async batchCancel(\n input: BatchCancelOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchCancelOrdersResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(BatchCancelOrdersInputSchema, resolved);\n const response = await this.#writeClient.batchCancelOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchCancelOrdersResultSchema, response);\n assertBatchResultCount(\"batchCancel\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Applies a price, quantity, client id, or attached-risk patch to one open order using the backend modify behavior policy. A requestId is generated when omitted; provide a stable value when retrying the same logical modification.\n */\n async modify(\n input: ModifyOrderInput,\n options?: PolyesterMutationOptions,\n ): Promise<ModifyOrderResult> {\n await this.#scales.ready();\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n assertKnownModifyOrderInputKeys(resolved);\n const validated = v.parse(this.#modifyOrderInputSchema, resolved);\n const res = await this.#writeClient.modifyOrder(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(ModifyOrderResultSchema, res);\n }\n\n /**\n * Replaces 1–50 same-symbol orders and returns an index-stable durable admission receipt. Reuse requestId only when retrying the same logical batch; use the returned batchRequestId for later status reads.\n */\n async batchReplace(\n input: BatchReplaceOrdersInput,\n options?: PolyesterMutationOptions,\n ): Promise<BatchReplaceOrdersResult> {\n await this.#scales.ready();\n for (const item of input.items) {\n assertKnownBatchReplaceOrderItemInputKeys(item);\n }\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(\n createBatchReplaceOrdersInputSchema(this.#scales, input.symbolId),\n resolved,\n );\n const response = await this.#writeClient.batchReplaceOrders(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n const result = v.parse(BatchReplaceOrdersResultSchema, response);\n assertBatchResultCount(\"batchReplace\", input.items.length, result.results.length);\n return result;\n }\n\n /**\n * Reads the durable per-item execution status for a batch replacement receipt.\n */\n async getBatchReplaceStatus(\n input: GetBatchReplaceStatusInput,\n options?: PolyesterRequestOptions,\n ): Promise<GetBatchReplaceStatusResult> {\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const request = v.parse(GetBatchReplaceStatusInputSchema, resolved);\n const response = await this.#readClient.getBatchReplaceStatus(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(GetBatchReplaceStatusResultSchema, response);\n }\n\n /**\n * Cancels all matching open orders for the resolved account scope, optionally narrowed by symbol and side, with dry-run preview. A requestId is generated when omitted; provide a stable value when retrying the same logical bulk cancellation.\n */\n async cancelAll(\n input: v.InferInput<typeof CancelAllOrdersInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllOrdersResponse> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const validated = v.parse(CancelAllOrdersInputSchema, resolved);\n const res = await this.#writeClient.cancelAllOrders(\n removeUndefined(validated),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllOrdersResponseSchema, res);\n }\n\n /**\n * Arms, refreshes, or disables the account dead-man switch. timeoutSec 0 disables it; 10–120 arms it. Generate a new requestId for each deliberate heartbeat, but reuse the same ID when retrying one ambiguous heartbeat.\n */\n async cancelAllAfter(\n input: CancelAllAfterInput,\n options?: PolyesterMutationOptions,\n ): Promise<CancelAllAfterResult> {\n const resolved = {\n ...resolveAccountScopedInput(input, this.#resolver),\n requestId: input.requestId ?? createMutationRequestId(),\n };\n const request = v.parse(CancelAllAfterInputSchema, resolved);\n const response = await this.#writeClient.cancelAllAfter(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(CancelAllAfterResultSchema, response);\n }\n\n /**\n * Fetches one order by id or client order id and returns its order, trades, and transfer details when found. Returns null when the requested order is not found.\n */\n async getDetails(\n input: v.InferInput<typeof GetOrderDetailsInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<OrderDetails | null> {\n await this.#scales.ready();\n const resolved = resolveAccountScopedInput(input, this.#resolver);\n const validatedInput = v.parse(GetOrderDetailsInputSchema, resolved);\n let res: ProtoRead.GetOrderResponse;\n try {\n res = await this.#readClient.getOrder(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n } catch (error) {\n if (isOrderNotFoundError(error)) return null;\n throw error;\n }\n if (!res.order) return null;\n return v.parse(this.#orderDetailsSchema, res);\n }\n\n /**\n * Subscribes to private order updates on private:spot:orders:{accountId}:proto and emits parsed order records until the returned unsubscribe function is called.\n */\n subscribe(input: SubscribeOrdersInput): () => void {\n const channel = `private:spot:orders:${input.accountId}:proto`;\n const gate = createReadyGate(\n () => this.#scales.ready(),\n (error) => input.onError?.(publicationHandlerErrorContext(channel, error)),\n );\n return this.#realtime.connectProtoChannel({\n channel,\n schema: ProtoRead.OrderSchema,\n onPublication: (data) => {\n gate.run(() => {\n const order = v.parse(this.#orderSchema, data);\n input.onEvent(order);\n });\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n}\n"],"mappings":"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"}
@@ -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 { ApiKeyPolicy, ApplyApiKeyPolicyInputSchema, CreateApiKeyPolicyInputSchema, GetApiKeyPolicyInputSchema, ListApiKeyPoliciesInputSchema, UpdateApiKeyPolicyInputSchema } from "./api-key-policies.schemas.js";
3
4
  import { Transport } from "@connectrpc/connect";
4
- import * as v from "valibot";
5
5
  //#region src/services/policies/api-key-policies/api-key-policies.d.ts
6
6
  /**
7
7
  * Manages reusable API key policy templates and their assignment to API keys.
@@ -12,19 +12,19 @@ declare class ApiKeyPoliciesService {
12
12
  /**
13
13
  * Returns API key policy templates available to the caller.
14
14
  */
15
- list(input?: v.InferInput<typeof ListApiKeyPoliciesInputSchema>, options?: PolyesterRequestOptions): Promise<ApiKeyPolicy[]>;
15
+ list(input?: validation_d_exports.InferInput<typeof ListApiKeyPoliciesInputSchema>, options?: PolyesterRequestOptions): Promise<ApiKeyPolicy[]>;
16
16
  /**
17
17
  * Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.
18
18
  */
19
- get(input: v.InferInput<typeof GetApiKeyPolicyInputSchema>, options?: PolyesterRequestOptions): Promise<ApiKeyPolicy>;
19
+ get(input: validation_d_exports.InferInput<typeof GetApiKeyPolicyInputSchema>, options?: PolyesterRequestOptions): Promise<ApiKeyPolicy>;
20
20
  /**
21
21
  * Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.
22
22
  */
23
- create(input: v.InferInput<typeof CreateApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<ApiKeyPolicy>;
23
+ create(input: validation_d_exports.InferInput<typeof CreateApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<ApiKeyPolicy>;
24
24
  /**
25
25
  * Updates selected API key policy fields using optimistic concurrency.
26
26
  */
27
- update(input: v.InferInput<typeof UpdateApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<ApiKeyPolicy>;
27
+ update(input: validation_d_exports.InferInput<typeof UpdateApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<ApiKeyPolicy>;
28
28
  /**
29
29
  * Deletes an API key policy template when it is not in use.
30
30
  */
@@ -32,7 +32,7 @@ declare class ApiKeyPoliciesService {
32
32
  /**
33
33
  * Attaches a policy to an API key, or clears the key-specific policy when policyId is null.
34
34
  */
35
- apply(input: v.InferInput<typeof ApplyApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<void>;
35
+ apply(input: validation_d_exports.InferInput<typeof ApplyApiKeyPolicyInputSchema>, options?: PolyesterMutationOptions): Promise<void>;
36
36
  }
37
37
  //#endregion
38
38
  export { ApiKeyPoliciesService };
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-policies.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"mappings":";;;;;;;;cAyBa;;EAGG,YAAA,WAAW;;;;EAOjB,KACF,QAAO,EAAE,kBAAkB,gCAC3B,UAAU,0BACX,QAAQ;;;;EAYL,IACF,OAAO,EAAE,kBAAkB,6BAC3B,UAAU,0BACX,QAAQ;;;;EAcL,OACF,OAAO,EAAE,kBAAkB,gCAC3B,UAAU,2BACX,QAAQ;;;;EAaL,OACF,OAAO,EAAE,kBAAkB,gCAC3B,UAAU,2BACX,QAAQ;;;;EAaL,OAAO,kBAAkB,UAAU,2BAA2B;;;;EAW9D,MACF,OAAO,EAAE,kBAAkB,+BAC3B,UAAU,2BACX"}
1
+ {"version":3,"file":"api-key-policies.d.ts","names":[],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"mappings":";;;;;;;;cAyBa;;EAGG,YAAA,WAAW;;;;EAOjB,KACF,QAAO,qBAAE,kBAAkB,gCAC3B,UAAU,0BACX,QAAQ;;;;EAYL,IACF,OAAO,qBAAE,kBAAkB,6BAC3B,UAAU,0BACX,QAAQ;;;;EAcL,OACF,OAAO,qBAAE,kBAAkB,gCAC3B,UAAU,2BACX,QAAQ;;;;EAaL,OACF,OAAO,qBAAE,kBAAkB,gCAC3B,UAAU,2BACX,QAAQ;;;;EAaL,OAAO,kBAAkB,UAAU,2BAA2B;;;;EAW9D,MACF,OAAO,qBAAE,kBAAkB,+BAC3B,UAAU,2BACX"}
@@ -1,10 +1,10 @@
1
+ import { parse } from "../../../shared/validation.js";
1
2
  import { toConnectCallOptions } from "../../../shared/request-options.js";
2
3
  import { removeUndefined } from "../../../utils/remove-undefined.js";
3
4
  import { PolicyService } from "../../../gen/auth/v1/policies_pb.js";
4
5
  import { PolicyIdSchema } from "../shared.js";
5
6
  import { ApiKeyPolicySchema, ApplyApiKeyPolicyInputSchema, CreateApiKeyPolicyInputSchema, DEFAULT_API_KEY_POLICY, GetApiKeyPolicyInputSchema, ListApiKeyPoliciesInputSchema, ListApiKeyPoliciesResponseSchema, UpdateApiKeyPolicyInputSchema } from "./api-key-policies.schemas.js";
6
7
  import { createClient } from "@connectrpc/connect";
7
- import * as v from "valibot";
8
8
  //#region src/services/policies/api-key-policies/api-key-policies.ts
9
9
  /**
10
10
  * Manages reusable API key policy templates and their assignment to API keys.
@@ -18,53 +18,53 @@ var ApiKeyPoliciesService = class {
18
18
  * Returns API key policy templates available to the caller.
19
19
  */
20
20
  async list(input = {}, options) {
21
- const request = v.parse(ListApiKeyPoliciesInputSchema, input);
21
+ const request = parse(ListApiKeyPoliciesInputSchema, input);
22
22
  const res = await this.#client.listApiPolicies(removeUndefined(request), toConnectCallOptions(options));
23
- return v.parse(ListApiKeyPoliciesResponseSchema, res);
23
+ return parse(ListApiKeyPoliciesResponseSchema, res);
24
24
  }
25
25
  /**
26
26
  * Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.
27
27
  */
28
28
  async get(input, options) {
29
- const { policyId, keyId } = v.parse(GetApiKeyPolicyInputSchema, input);
29
+ const { policyId, keyId } = parse(GetApiKeyPolicyInputSchema, input);
30
30
  if (!policyId) return DEFAULT_API_KEY_POLICY;
31
31
  const res = await this.#client.getApiPolicy(removeUndefined({
32
32
  policyId,
33
33
  keyId
34
34
  }), toConnectCallOptions(options));
35
35
  if (!res.policy) return DEFAULT_API_KEY_POLICY;
36
- return v.parse(ApiKeyPolicySchema, res.policy);
36
+ return parse(ApiKeyPolicySchema, res.policy);
37
37
  }
38
38
  /**
39
39
  * Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.
40
40
  */
41
41
  async create(input, options) {
42
- const validatedInput = v.parse(CreateApiKeyPolicyInputSchema, input);
42
+ const validatedInput = parse(CreateApiKeyPolicyInputSchema, input);
43
43
  const res = await this.#client.createApiPolicy(removeUndefined(validatedInput), toConnectCallOptions(options));
44
44
  if (!res.policy) throw new Error("Failed to create API key policy");
45
- return v.parse(ApiKeyPolicySchema, res.policy);
45
+ return parse(ApiKeyPolicySchema, res.policy);
46
46
  }
47
47
  /**
48
48
  * Updates selected API key policy fields using optimistic concurrency.
49
49
  */
50
50
  async update(input, options) {
51
- const validatedInput = v.parse(UpdateApiKeyPolicyInputSchema, input);
51
+ const validatedInput = parse(UpdateApiKeyPolicyInputSchema, input);
52
52
  const res = await this.#client.updateApiPolicy(removeUndefined(validatedInput), toConnectCallOptions(options));
53
53
  if (!res.policy) throw new Error("Failed to update API key policy");
54
- return v.parse(ApiKeyPolicySchema, res.policy);
54
+ return parse(ApiKeyPolicySchema, res.policy);
55
55
  }
56
56
  /**
57
57
  * Deletes an API key policy template when it is not in use.
58
58
  */
59
59
  async delete(policyId, options) {
60
- const validatedPolicyId = v.parse(PolicyIdSchema, policyId);
60
+ const validatedPolicyId = parse(PolicyIdSchema, policyId);
61
61
  await this.#client.deleteApiPolicy({ policyId: validatedPolicyId }, toConnectCallOptions(options));
62
62
  }
63
63
  /**
64
64
  * Attaches a policy to an API key, or clears the key-specific policy when policyId is null.
65
65
  */
66
66
  async apply(input, options) {
67
- const validatedInput = v.parse(ApplyApiKeyPolicyInputSchema, input);
67
+ const validatedInput = parse(ApplyApiKeyPolicyInputSchema, input);
68
68
  await this.#client.setApiKeyPolicy(removeUndefined(validatedInput), toConnectCallOptions(options));
69
69
  }
70
70
  };
@@ -1 +1 @@
1
- {"version":3,"file":"api-key-policies.js","names":["#client","Proto.PolicyService"],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"sourcesContent":["import * as Proto from \"../../../gen/auth/v1/policies_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as v from \"valibot\";\nimport { removeUndefined } from \"../../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../../shared/request-options.js\";\nimport {\n ApiKeyPolicySchema,\n ListApiKeyPoliciesResponseSchema,\n CreateApiKeyPolicyInputSchema,\n UpdateApiKeyPolicyInputSchema,\n ApplyApiKeyPolicyInputSchema,\n DEFAULT_API_KEY_POLICY,\n type ApiKeyPolicy,\n ListApiKeyPoliciesInputSchema,\n GetApiKeyPolicyInputSchema,\n} from \"./api-key-policies.schemas.js\";\nimport { PolicyIdSchema } from \"../shared.js\";\n\n/**\n * Manages reusable API key policy templates and their assignment to API keys.\n */\nexport class ApiKeyPoliciesService {\n #client: Client<typeof Proto.PolicyService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.PolicyService, transport);\n }\n\n /**\n * Returns API key policy templates available to the caller.\n */\n async list(\n input: v.InferInput<typeof ListApiKeyPoliciesInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy[]> {\n const request = v.parse(ListApiKeyPoliciesInputSchema, input);\n const res = await this.#client.listApiPolicies(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(ListApiKeyPoliciesResponseSchema, res);\n }\n\n /**\n * Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.\n */\n async get(\n input: v.InferInput<typeof GetApiKeyPolicyInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy> {\n const { policyId, keyId } = v.parse(GetApiKeyPolicyInputSchema, input);\n if (!policyId) return DEFAULT_API_KEY_POLICY;\n const res = await this.#client.getApiPolicy(\n removeUndefined({ policyId, keyId }),\n toConnectCallOptions(options),\n );\n if (!res.policy) return DEFAULT_API_KEY_POLICY;\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.\n */\n async create(\n input: v.InferInput<typeof CreateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(CreateApiKeyPolicyInputSchema, input);\n const res = await this.#client.createApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to create API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Updates selected API key policy fields using optimistic concurrency.\n */\n async update(\n input: v.InferInput<typeof UpdateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(UpdateApiKeyPolicyInputSchema, input);\n const res = await this.#client.updateApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to update API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Deletes an API key policy template when it is not in use.\n */\n async delete(policyId: string, options?: PolyesterMutationOptions): Promise<void> {\n const validatedPolicyId = v.parse(PolicyIdSchema, policyId);\n await this.#client.deleteApiPolicy(\n { policyId: validatedPolicyId },\n toConnectCallOptions(options),\n );\n }\n\n /**\n * Attaches a policy to an API key, or clears the key-specific policy when policyId is null.\n */\n async apply(\n input: v.InferInput<typeof ApplyApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const validatedInput = v.parse(ApplyApiKeyPolicyInputSchema, input);\n await this.#client.setApiKeyPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAyBA,IAAa,wBAAb,MAAmC;CAC/B;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,eAAqB,SAAS;CAC9D;;;;CAKA,MAAM,KACF,QAA4D,CAAC,GAC7D,SACuB;EACvB,MAAM,UAAU,EAAE,MAAM,+BAA+B,KAAK;EAC5D,MAAM,MAAM,MAAM,KAAKD,QAAQ,gBAC3B,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAO,EAAE,MAAM,kCAAkC,GAAG;CACxD;;;;CAKA,MAAM,IACF,OACA,SACqB;EACrB,MAAM,EAAE,UAAU,UAAU,EAAE,MAAM,4BAA4B,KAAK;EACrE,IAAI,CAAC,UAAU,OAAO;EACtB,MAAM,MAAM,MAAM,KAAKA,QAAQ,aAC3B,gBAAgB;GAAE;GAAU;EAAM,CAAC,GACnC,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,OAAO;EACxB,OAAO,EAAE,MAAM,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiB,EAAE,MAAM,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKA,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAO,EAAE,MAAM,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiB,EAAE,MAAM,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKA,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAO,EAAE,MAAM,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OAAO,UAAkB,SAAmD;EAC9E,MAAM,oBAAoB,EAAE,MAAM,gBAAgB,QAAQ;EAC1D,MAAM,KAAKA,QAAQ,gBACf,EAAE,UAAU,kBAAkB,GAC9B,qBAAqB,OAAO,CAChC;CACJ;;;;CAKA,MAAM,MACF,OACA,SACa;EACb,MAAM,iBAAiB,EAAE,MAAM,8BAA8B,KAAK;EAClE,MAAM,KAAKA,QAAQ,gBACf,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;CACJ;AACJ"}
1
+ {"version":3,"file":"api-key-policies.js","names":["#client","Proto.PolicyService","v.parse"],"sources":["../../../../src/services/policies/api-key-policies/api-key-policies.ts"],"sourcesContent":["import * as Proto from \"../../../gen/auth/v1/policies_pb.js\";\nimport { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as v from \"../../../shared/validation.js\";\nimport { removeUndefined } from \"../../../utils/remove-undefined.js\";\nimport {\n toConnectCallOptions,\n type PolyesterMutationOptions,\n type PolyesterRequestOptions,\n} from \"../../../shared/request-options.js\";\nimport {\n ApiKeyPolicySchema,\n ListApiKeyPoliciesResponseSchema,\n CreateApiKeyPolicyInputSchema,\n UpdateApiKeyPolicyInputSchema,\n ApplyApiKeyPolicyInputSchema,\n DEFAULT_API_KEY_POLICY,\n type ApiKeyPolicy,\n ListApiKeyPoliciesInputSchema,\n GetApiKeyPolicyInputSchema,\n} from \"./api-key-policies.schemas.js\";\nimport { PolicyIdSchema } from \"../shared.js\";\n\n/**\n * Manages reusable API key policy templates and their assignment to API keys.\n */\nexport class ApiKeyPoliciesService {\n #client: Client<typeof Proto.PolicyService>;\n\n constructor(transport: Transport) {\n this.#client = createClient(Proto.PolicyService, transport);\n }\n\n /**\n * Returns API key policy templates available to the caller.\n */\n async list(\n input: v.InferInput<typeof ListApiKeyPoliciesInputSchema> = {},\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy[]> {\n const request = v.parse(ListApiKeyPoliciesInputSchema, input);\n const res = await this.#client.listApiPolicies(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(ListApiKeyPoliciesResponseSchema, res);\n }\n\n /**\n * Fetches an API key policy by base58 policy ID, falling back to the SDK default no-permissions policy when no ID or policy is returned.\n */\n async get(\n input: v.InferInput<typeof GetApiKeyPolicyInputSchema>,\n options?: PolyesterRequestOptions,\n ): Promise<ApiKeyPolicy> {\n const { policyId, keyId } = v.parse(GetApiKeyPolicyInputSchema, input);\n if (!policyId) return DEFAULT_API_KEY_POLICY;\n const res = await this.#client.getApiPolicy(\n removeUndefined({ policyId, keyId }),\n toConnectCallOptions(options),\n );\n if (!res.policy) return DEFAULT_API_KEY_POLICY;\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Creates an API key policy template with market scopes, allowed actions, notional/transfer limits, and optional immediate assignment to a key.\n */\n async create(\n input: v.InferInput<typeof CreateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(CreateApiKeyPolicyInputSchema, input);\n const res = await this.#client.createApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to create API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Updates selected API key policy fields using optimistic concurrency.\n */\n async update(\n input: v.InferInput<typeof UpdateApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<ApiKeyPolicy> {\n const validatedInput = v.parse(UpdateApiKeyPolicyInputSchema, input);\n const res = await this.#client.updateApiPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n if (!res.policy) throw new Error(\"Failed to update API key policy\");\n return v.parse(ApiKeyPolicySchema, res.policy);\n }\n\n /**\n * Deletes an API key policy template when it is not in use.\n */\n async delete(policyId: string, options?: PolyesterMutationOptions): Promise<void> {\n const validatedPolicyId = v.parse(PolicyIdSchema, policyId);\n await this.#client.deleteApiPolicy(\n { policyId: validatedPolicyId },\n toConnectCallOptions(options),\n );\n }\n\n /**\n * Attaches a policy to an API key, or clears the key-specific policy when policyId is null.\n */\n async apply(\n input: v.InferInput<typeof ApplyApiKeyPolicyInputSchema>,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const validatedInput = v.parse(ApplyApiKeyPolicyInputSchema, input);\n await this.#client.setApiKeyPolicy(\n removeUndefined(validatedInput),\n toConnectCallOptions(options),\n );\n }\n}\n"],"mappings":";;;;;;;;;;;AAyBA,IAAa,wBAAb,MAAmC;CAC/B;CAEA,YAAY,WAAsB;EAC9B,KAAKA,UAAU,aAAaC,eAAqB,SAAS;CAC9D;;;;CAKA,MAAM,KACF,QAA4D,CAAC,GAC7D,SACuB;EACvB,MAAM,UAAUC,MAAQ,+BAA+B,KAAK;EAC5D,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,OAAO,GACvB,qBAAqB,OAAO,CAChC;EACA,OAAOE,MAAQ,kCAAkC,GAAG;CACxD;;;;CAKA,MAAM,IACF,OACA,SACqB;EACrB,MAAM,EAAE,UAAU,UAAUA,MAAQ,4BAA4B,KAAK;EACrE,IAAI,CAAC,UAAU,OAAO;EACtB,MAAM,MAAM,MAAM,KAAKF,QAAQ,aAC3B,gBAAgB;GAAE;GAAU;EAAM,CAAC,GACnC,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,OAAO;EACxB,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiBA,MAAQ,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OACF,OACA,SACqB;EACrB,MAAM,iBAAiBA,MAAQ,+BAA+B,KAAK;EACnE,MAAM,MAAM,MAAM,KAAKF,QAAQ,gBAC3B,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;EACA,IAAI,CAAC,IAAI,QAAQ,MAAM,IAAI,MAAM,iCAAiC;EAClE,OAAOE,MAAQ,oBAAoB,IAAI,MAAM;CACjD;;;;CAKA,MAAM,OAAO,UAAkB,SAAmD;EAC9E,MAAM,oBAAoBA,MAAQ,gBAAgB,QAAQ;EAC1D,MAAM,KAAKF,QAAQ,gBACf,EAAE,UAAU,kBAAkB,GAC9B,qBAAqB,OAAO,CAChC;CACJ;;;;CAKA,MAAM,MACF,OACA,SACa;EACb,MAAM,iBAAiBE,MAAQ,8BAA8B,KAAK;EAClE,MAAM,KAAKF,QAAQ,gBACf,gBAAgB,cAAc,GAC9B,qBAAqB,OAAO,CAChC;CACJ;AACJ"}
@@ -1,14 +1,14 @@
1
+ import { validation_d_exports } from "../../../shared/validation.js";
1
2
  import { MarketScope_Value, PolicyAction } from "../../../gen/auth/v1/policies_pb.js";
2
3
  import { DecodedEnum } from "../../../utils/types.js";
3
- import * as v from "valibot";
4
4
  //#region src/services/policies/api-key-policies/api-key-policies.schemas.d.ts
5
- declare const ListApiKeyPoliciesInputSchema: v.StrictObjectSchema<{
6
- readonly keyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
5
+ declare const ListApiKeyPoliciesInputSchema: validation_d_exports.StrictObjectSchema<{
6
+ readonly keyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
7
7
  }, undefined>;
8
- declare const GetApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
9
- readonly policyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>, undefined>;
10
- readonly keyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
11
- }, undefined>, v.TransformAction<{
8
+ declare const GetApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
9
+ readonly policyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>, undefined>;
10
+ readonly keyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, "keyId is required">]>, undefined>;
11
+ }, undefined>, validation_d_exports.TransformAction<{
12
12
  policyId?: string | undefined;
13
13
  keyId?: string | undefined;
14
14
  }, {
@@ -19,38 +19,38 @@ declare const GetApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObj
19
19
  * From the backend format to a usable frontend/UI format, so big ints to numbers, etc.
20
20
  * Shape matches auth.v1.ApiPolicyView.
21
21
  */
22
- declare const ApiKeyPolicySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
23
- readonly id: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
24
- readonly name: v.StringSchema<undefined>;
25
- readonly description: v.StringSchema<undefined>;
26
- readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
27
- readonly symbol: v.StringSchema<undefined>;
22
+ declare const ApiKeyPolicySchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
23
+ readonly id: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
24
+ readonly name: validation_d_exports.StringSchema<undefined>;
25
+ readonly description: validation_d_exports.StringSchema<undefined>;
26
+ readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
27
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
28
28
  }, undefined>, undefined>, readonly []>;
29
- readonly spotMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
30
- readonly perpMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
31
- readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
32
- readonly symbol: v.StringSchema<undefined>;
33
- readonly maxLeverageX: v.NumberSchema<undefined>;
29
+ readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
30
+ readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
31
+ readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
32
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
33
+ readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
34
34
  }, undefined>, undefined>, readonly []>;
35
- readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
36
- readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
37
- readonly sourceTemplateId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
38
- readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, number | undefined>]>;
39
- readonly dailyInternalTransferOutLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
40
- readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
41
- readonly createdAt: v.SchemaWithPipe<readonly [v.ObjectSchema<{
42
- readonly seconds: v.BigintSchema<undefined>;
43
- readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
44
- }, undefined>, v.TransformAction<{
35
+ readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<validation_d_exports.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
36
+ readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
37
+ readonly sourceTemplateId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
38
+ readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, number | undefined>]>;
39
+ readonly dailyInternalTransferOutLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
40
+ readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
41
+ readonly createdAt: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
42
+ readonly seconds: validation_d_exports.BigintSchema<undefined>;
43
+ readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
44
+ }, undefined>, validation_d_exports.TransformAction<{
45
45
  seconds: bigint;
46
46
  nanos: number;
47
47
  }, number>]>;
48
- readonly updatedAt: v.ObjectSchema<{
49
- readonly seconds: v.BigintSchema<undefined>;
50
- readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
48
+ readonly updatedAt: validation_d_exports.ObjectSchema<{
49
+ readonly seconds: validation_d_exports.BigintSchema<undefined>;
50
+ readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
51
51
  }, undefined>;
52
- readonly revision: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
53
- }, undefined>, v.TransformAction<{
52
+ readonly revision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
53
+ }, undefined>, validation_d_exports.TransformAction<{
54
54
  id: string;
55
55
  name: string;
56
56
  description: string;
@@ -99,40 +99,40 @@ declare const ApiKeyPolicySchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
99
99
  createdAt: number;
100
100
  revision: string;
101
101
  }>]>;
102
- type ApiKeyPolicy = v.InferOutput<typeof ApiKeyPolicySchema>;
103
- declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.ObjectSchema<{
104
- readonly policies: v.OptionalSchema<v.ArraySchema<v.SchemaWithPipe<readonly [v.ObjectSchema<{
105
- readonly id: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
106
- readonly name: v.StringSchema<undefined>;
107
- readonly description: v.StringSchema<undefined>;
108
- readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
109
- readonly symbol: v.StringSchema<undefined>;
102
+ type ApiKeyPolicy = validation_d_exports.InferOutput<typeof ApiKeyPolicySchema>;
103
+ declare const ListApiKeyPoliciesResponseSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
104
+ readonly policies: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
105
+ readonly id: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
106
+ readonly name: validation_d_exports.StringSchema<undefined>;
107
+ readonly description: validation_d_exports.StringSchema<undefined>;
108
+ readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
109
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
110
110
  }, undefined>, undefined>, readonly []>;
111
- readonly spotMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
112
- readonly perpMarketScope: v.SchemaWithPipe<readonly [v.EnumSchema<typeof MarketScope_Value, undefined>, v.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
113
- readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
114
- readonly symbol: v.StringSchema<undefined>;
115
- readonly maxLeverageX: v.NumberSchema<undefined>;
111
+ readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
112
+ readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.EnumSchema<typeof MarketScope_Value, undefined>, validation_d_exports.TransformAction<MarketScope_Value, DecodedEnum<"all" | "allowlist">>]>;
113
+ readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
114
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
115
+ readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
116
116
  }, undefined>, undefined>, readonly []>;
117
- readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, v.TransformAction<v.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
118
- readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
119
- readonly sourceTemplateId: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, string | undefined>]>;
120
- readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.BigintSchema<undefined>, undefined>, v.TransformAction<bigint | undefined, number | undefined>]>;
121
- readonly dailyInternalTransferOutLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
122
- readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, number>]>;
123
- readonly createdAt: v.SchemaWithPipe<readonly [v.ObjectSchema<{
124
- readonly seconds: v.BigintSchema<undefined>;
125
- readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
126
- }, undefined>, v.TransformAction<{
117
+ readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.EnumSchema<typeof PolicyAction, undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<validation_d_exports.EnumValues<typeof PolicyAction>[], DecodedEnum<"trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists">[]>]>;
118
+ readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
119
+ readonly sourceTemplateId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, string | undefined>]>;
120
+ readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.BigintSchema<undefined>, undefined>, validation_d_exports.TransformAction<bigint | undefined, number | undefined>]>;
121
+ readonly dailyInternalTransferOutLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
122
+ readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, number>]>;
123
+ readonly createdAt: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.ObjectSchema<{
124
+ readonly seconds: validation_d_exports.BigintSchema<undefined>;
125
+ readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
126
+ }, undefined>, validation_d_exports.TransformAction<{
127
127
  seconds: bigint;
128
128
  nanos: number;
129
129
  }, number>]>;
130
- readonly updatedAt: v.ObjectSchema<{
131
- readonly seconds: v.BigintSchema<undefined>;
132
- readonly nanos: v.OptionalSchema<v.NumberSchema<undefined>, 0>;
130
+ readonly updatedAt: validation_d_exports.ObjectSchema<{
131
+ readonly seconds: validation_d_exports.BigintSchema<undefined>;
132
+ readonly nanos: validation_d_exports.OptionalSchema<validation_d_exports.NumberSchema<undefined>, 0>;
133
133
  }, undefined>;
134
- readonly revision: v.SchemaWithPipe<readonly [v.BigintSchema<undefined>, v.TransformAction<bigint, string>]>;
135
- }, undefined>, v.TransformAction<{
134
+ readonly revision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.BigintSchema<undefined>, validation_d_exports.TransformAction<bigint, string>]>;
135
+ }, undefined>, validation_d_exports.TransformAction<{
136
136
  id: string;
137
137
  name: string;
138
138
  description: string;
@@ -181,7 +181,7 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
181
181
  createdAt: number;
182
182
  revision: string;
183
183
  }>]>, undefined>, readonly []>;
184
- }, undefined>, v.TransformAction<{
184
+ }, undefined>, validation_d_exports.TransformAction<{
185
185
  policies: {
186
186
  updatedAt: number;
187
187
  updatedAtNs: string;
@@ -230,26 +230,26 @@ declare const ListApiKeyPoliciesResponseSchema: v.SchemaWithPipe<readonly [v.Obj
230
230
  createdAt: number;
231
231
  revision: string;
232
232
  }[]>]>;
233
- type ListApiKeyPoliciesResponse = v.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;
234
- declare const CreateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
235
- readonly name: v.StringSchema<undefined>;
236
- readonly description: v.OptionalSchema<v.StringSchema<undefined>, "">;
237
- readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
238
- readonly symbol: v.StringSchema<undefined>;
233
+ type ListApiKeyPoliciesResponse = validation_d_exports.InferOutput<typeof ListApiKeyPoliciesResponseSchema>;
234
+ declare const CreateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
235
+ readonly name: validation_d_exports.StringSchema<undefined>;
236
+ readonly description: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, "">;
237
+ readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
238
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
239
239
  }, undefined>, undefined>, readonly []>;
240
- readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
241
- readonly symbol: v.StringSchema<undefined>;
242
- readonly maxLeverageX: v.NumberSchema<undefined>;
240
+ readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
241
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
242
+ readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
243
243
  }, undefined>, undefined>, readonly []>;
244
- readonly spotMarketScope: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["all", "allowlist"], undefined>, v.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
245
- readonly perpMarketScope: v.SchemaWithPipe<readonly [v.PicklistSchema<readonly ["all", "allowlist"], undefined>, v.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
246
- readonly actions: v.SchemaWithPipe<readonly [v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, readonly []>, v.TransformAction<("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[], (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[]>]>;
247
- readonly maxOrderNotional: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
248
- readonly dailyInternalTransferLimit: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
249
- readonly dailyWithdrawLimit: v.SchemaWithPipe<readonly [v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, null>, v.TransformAction<number | null, bigint>]>;
250
- readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, false>;
251
- readonly assignToKeyId: v.OptionalSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>;
252
- }, undefined>, v.TransformAction<{
244
+ readonly spotMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, validation_d_exports.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
245
+ readonly perpMarketScope: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, validation_d_exports.TransformAction<"all" | "allowlist", MarketScope_Value.ALL | MarketScope_Value.ALLOWLIST>]>;
246
+ readonly actions: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, readonly []>, validation_d_exports.TransformAction<("trade-spot" | "trade-perp" | "internal-transfer" | "external-withdraw" | "read-balances" | "read-spot" | "read-perp" | "read-internal-transfers" | "read-external-withdrawals" | "read-transfer-controls" | "manage-address-book" | "manage-transfer-whitelists")[], (PolicyAction.TRADE_SPOT | PolicyAction.TRADE_PERP | PolicyAction.INTERNAL_TRANSFER | PolicyAction.EXTERNAL_WITHDRAW | PolicyAction.READ_BALANCES | PolicyAction.READ_SPOT | PolicyAction.READ_PERP | PolicyAction.READ_INTERNAL_TRANSFERS | PolicyAction.READ_EXTERNAL_WITHDRAWALS | PolicyAction.READ_TRANSFER_CONTROLS | PolicyAction.MANAGE_ADDRESS_BOOK | PolicyAction.MANAGE_TRANSFER_WHITELISTS)[]>]>;
247
+ readonly maxOrderNotional: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
248
+ readonly dailyInternalTransferLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
249
+ readonly dailyWithdrawLimit: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, null>, validation_d_exports.TransformAction<number | null, bigint>]>;
250
+ readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, false>;
251
+ readonly assignToKeyId: validation_d_exports.OptionalSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, undefined>;
252
+ }, undefined>, validation_d_exports.TransformAction<{
253
253
  name: string;
254
254
  description: string;
255
255
  spotMarkets: {
@@ -288,27 +288,27 @@ declare const CreateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
288
288
  };
289
289
  assignToKeyId: string | undefined;
290
290
  }>]>;
291
- type ApiKeyPolicyCreateInput = v.InferInput<typeof CreateApiKeyPolicyInputSchema>;
292
- declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.StrictObjectSchema<{
293
- readonly policyId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TransformAction<string, bigint>]>;
294
- readonly expectedRevision: v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, v.RegexAction<string, `${string} must be a decimal integer`>, v.TransformAction<string, bigint>]>, v.CheckAction<bigint, `${string} must be greater than 0`>]>;
295
- readonly name: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
296
- readonly description: v.OptionalSchema<v.StringSchema<undefined>, undefined>;
297
- readonly spotMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
298
- readonly symbol: v.StringSchema<undefined>;
291
+ type ApiKeyPolicyCreateInput = validation_d_exports.InferInput<typeof CreateApiKeyPolicyInputSchema>;
292
+ declare const UpdateApiKeyPolicyInputSchema: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StrictObjectSchema<{
293
+ readonly policyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TransformAction<string, bigint>]>;
294
+ readonly expectedRevision: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, validation_d_exports.RegexAction<string, `${string} must be a decimal integer`>, validation_d_exports.TransformAction<string, bigint>]>, validation_d_exports.CheckAction<bigint, `${string} must be greater than 0`>]>;
295
+ readonly name: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, undefined>;
296
+ readonly description: validation_d_exports.OptionalSchema<validation_d_exports.StringSchema<undefined>, undefined>;
297
+ readonly spotMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
298
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
299
299
  }, undefined>, undefined>, undefined>;
300
- readonly perpMarkets: v.OptionalSchema<v.ArraySchema<v.ObjectSchema<{
301
- readonly symbol: v.StringSchema<undefined>;
302
- readonly maxLeverageX: v.NumberSchema<undefined>;
300
+ readonly perpMarkets: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.ObjectSchema<{
301
+ readonly symbol: validation_d_exports.StringSchema<undefined>;
302
+ readonly maxLeverageX: validation_d_exports.NumberSchema<undefined>;
303
303
  }, undefined>, undefined>, undefined>;
304
- readonly spotMarketScope: v.OptionalSchema<v.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
305
- readonly perpMarketScope: v.OptionalSchema<v.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
306
- readonly actions: v.OptionalSchema<v.ArraySchema<v.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, undefined>;
307
- readonly maxOrderNotional: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
308
- readonly dailyInternalTransferLimit: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
309
- readonly dailyWithdrawLimit: v.OptionalSchema<v.NullableSchema<v.NumberSchema<undefined>, undefined>, undefined>;
310
- readonly isTemplate: v.OptionalSchema<v.BooleanSchema<undefined>, undefined>;
311
- }, undefined>, v.CheckAction<{
304
+ readonly spotMarketScope: validation_d_exports.OptionalSchema<validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
305
+ readonly perpMarketScope: validation_d_exports.OptionalSchema<validation_d_exports.PicklistSchema<readonly ["all", "allowlist"], undefined>, undefined>;
306
+ readonly actions: validation_d_exports.OptionalSchema<validation_d_exports.ArraySchema<validation_d_exports.PicklistSchema<readonly ["trade-spot", "trade-perp", "internal-transfer", "external-withdraw", "read-balances", "read-spot", "read-perp", "read-internal-transfers", "read-external-withdrawals", "read-transfer-controls", "manage-address-book", "manage-transfer-whitelists"], undefined>, undefined>, undefined>;
307
+ readonly maxOrderNotional: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
308
+ readonly dailyInternalTransferLimit: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
309
+ readonly dailyWithdrawLimit: validation_d_exports.OptionalSchema<validation_d_exports.NullableSchema<validation_d_exports.NumberSchema<undefined>, undefined>, undefined>;
310
+ readonly isTemplate: validation_d_exports.OptionalSchema<validation_d_exports.BooleanSchema<undefined>, undefined>;
311
+ }, undefined>, validation_d_exports.CheckAction<{
312
312
  policyId: bigint;
313
313
  expectedRevision: bigint;
314
314
  name?: string | undefined;
@@ -327,7 +327,7 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
327
327
  dailyInternalTransferLimit?: number | null | undefined;
328
328
  dailyWithdrawLimit?: number | null | undefined;
329
329
  isTemplate?: boolean | undefined;
330
- }, "At least one API key policy field must be provided">, v.TransformAction<{
330
+ }, "At least one API key policy field must be provided">, validation_d_exports.TransformAction<{
331
331
  policyId: bigint;
332
332
  expectedRevision: bigint;
333
333
  name?: string | undefined;
@@ -381,12 +381,12 @@ declare const UpdateApiKeyPolicyInputSchema: v.SchemaWithPipe<readonly [v.Strict
381
381
  };
382
382
  expectedRevision: bigint;
383
383
  }>]>;
384
- type ApiKeyPolicyUpdateInput = v.InferInput<typeof UpdateApiKeyPolicyInputSchema>;
385
- declare const ApplyApiKeyPolicyInputSchema: v.StrictObjectSchema<{
386
- readonly keyId: v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction, v.MinLengthAction<string, 1, undefined>]>;
387
- readonly policyId: v.SchemaWithPipe<readonly [v.NullableSchema<v.SchemaWithPipe<readonly [v.StringSchema<undefined>, v.TrimAction]>, undefined>, v.TransformAction<string | null, bigint | undefined>]>;
384
+ type ApiKeyPolicyUpdateInput = validation_d_exports.InferInput<typeof UpdateApiKeyPolicyInputSchema>;
385
+ declare const ApplyApiKeyPolicyInputSchema: validation_d_exports.StrictObjectSchema<{
386
+ readonly keyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction, validation_d_exports.MinLengthAction<string, 1, undefined>]>;
387
+ readonly policyId: validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.NullableSchema<validation_d_exports.SchemaWithPipe<readonly [validation_d_exports.StringSchema<undefined>, validation_d_exports.TrimAction]>, undefined>, validation_d_exports.TransformAction<string | null, bigint | undefined>]>;
388
388
  }, undefined>;
389
- type ApiKeyPolicyApplyInput = v.InferInput<typeof ApplyApiKeyPolicyInputSchema>;
389
+ type ApiKeyPolicyApplyInput = validation_d_exports.InferInput<typeof ApplyApiKeyPolicyInputSchema>;
390
390
  //#endregion
391
391
  export { ApiKeyPolicy, ApiKeyPolicyApplyInput, ApiKeyPolicyCreateInput, ApiKeyPolicySchema, ApiKeyPolicyUpdateInput, ApplyApiKeyPolicyInputSchema, CreateApiKeyPolicyInputSchema, GetApiKeyPolicyInputSchema, ListApiKeyPoliciesInputSchema, ListApiKeyPoliciesResponse, ListApiKeyPoliciesResponseSchema, UpdateApiKeyPolicyInputSchema };
392
392
  //# sourceMappingURL=api-key-policies.schemas.d.ts.map