@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,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 { resolveAccountScopedInput } from "../subaccount-resolver.js";
4
5
  import { AddressBookService as AddressBookService$1, AddressBookViewInvalidatedSchema } from "../../gen/auth/v1/address_book_pb.js";
5
6
  import { AddressBookEntriesSchema, AddressBookEntrySchema, AddressBookSchema, AddressBookTagSchema, AddressBookViewInvalidatedSchema as AddressBookViewInvalidatedSchema$1, AddressBookViewSchema, CopyAddressBookEntryInputSchema, CreateAddressBookEntryInputSchema, CreateAddressBookTagInputSchema, DeleteAddressBookEntryInputSchema, DeleteAddressBookTagInputSchema, GetAddressBookViewInputSchema, InternalTransferWhitelistEntriesSchema, ListAddressBookEntriesInputSchema, ListInternalTransferWhitelistEntriesInputSchema, ListTransferCounterpartiesInputSchema, ListTransferDestinationsInputSchema, SubaccountScopedInputSchema, TransferCounterpartiesSchema, TransferDestinationsSchema, UpdateAddressBookEntryInputSchema, UpdateAddressBookTagInputSchema, WithdrawWhitelistViewSchema } from "./address-book.schemas.js";
6
7
  import { createClient } from "@connectrpc/connect";
7
- import * as v from "valibot";
8
8
  //#region src/services/address-book/address-book.ts
9
9
  /**
10
10
  * Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.
@@ -22,16 +22,16 @@ var AddressBookService = class {
22
22
  * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.
23
23
  */
24
24
  async listBooks(options) {
25
- return (await this.#client.listAddressBooks({}, toConnectCallOptions(options))).books.map((book) => v.parse(AddressBookSchema, book));
25
+ return (await this.#client.listAddressBooks({}, toConnectCallOptions(options))).books.map((book) => parse(AddressBookSchema, book));
26
26
  }
27
27
  /**
28
28
  * Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.
29
29
  */
30
30
  async listEntries(input = {}, options) {
31
- const request = v.parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));
31
+ const request = parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));
32
32
  const response = await this.#client.listAddressBookEntries(removeUndefined(request), toConnectCallOptions(options));
33
33
  return {
34
- entries: v.parse(AddressBookEntriesSchema, response.entries),
34
+ entries: parse(AddressBookEntriesSchema, response.entries),
35
35
  nextPageToken: response.nextPageToken
36
36
  };
37
37
  }
@@ -39,64 +39,64 @@ var AddressBookService = class {
39
39
  * Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.
40
40
  */
41
41
  async createEntry(input, options) {
42
- const request = v.parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));
42
+ const request = parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));
43
43
  const response = await this.#client.createAddressBookEntry(removeUndefined(request), toConnectCallOptions(options));
44
- return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;
44
+ return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;
45
45
  }
46
46
  /**
47
47
  * Updates selected saved-destination metadata using optimistic concurrency.
48
48
  */
49
49
  async updateEntry(input, options) {
50
- const request = v.parse(UpdateAddressBookEntryInputSchema, input);
50
+ const request = parse(UpdateAddressBookEntryInputSchema, input);
51
51
  const response = await this.#client.updateAddressBookEntry(removeUndefined(request), toConnectCallOptions(options));
52
- return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;
52
+ return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;
53
53
  }
54
54
  /**
55
55
  * Deletes one saved destination from the selected address book.
56
56
  */
57
57
  async deleteEntry(input, options) {
58
- const request = v.parse(DeleteAddressBookEntryInputSchema, input);
58
+ const request = parse(DeleteAddressBookEntryInputSchema, input);
59
59
  await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));
60
60
  }
61
61
  /**
62
62
  * Copies a saved destination into another visible root or subaccount address book.
63
63
  */
64
64
  async copyEntry(input, options) {
65
- const request = v.parse(CopyAddressBookEntryInputSchema, input);
65
+ const request = parse(CopyAddressBookEntryInputSchema, input);
66
66
  const response = await this.#client.copyAddressBookEntry(removeUndefined(request), toConnectCallOptions(options));
67
- return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;
67
+ return response.entry ? parse(AddressBookEntrySchema, response.entry) : null;
68
68
  }
69
69
  /**
70
70
  * Creates a tag in the resolved address book scope for organizing saved destinations.
71
71
  */
72
72
  async createTag(input, options) {
73
- const request = v.parse(CreateAddressBookTagInputSchema, this.resolveInput(input));
73
+ const request = parse(CreateAddressBookTagInputSchema, this.resolveInput(input));
74
74
  const response = await this.#client.createAddressBookTag(removeUndefined(request), toConnectCallOptions(options));
75
- return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;
75
+ return response.tag ? parse(AddressBookTagSchema, response.tag) : null;
76
76
  }
77
77
  /**
78
78
  * Updates a tag's name and optional color token.
79
79
  */
80
80
  async updateTag(input, options) {
81
- const request = v.parse(UpdateAddressBookTagInputSchema, input);
81
+ const request = parse(UpdateAddressBookTagInputSchema, input);
82
82
  const response = await this.#client.updateAddressBookTag(removeUndefined(request), toConnectCallOptions(options));
83
- return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;
83
+ return response.tag ? parse(AddressBookTagSchema, response.tag) : null;
84
84
  }
85
85
  /**
86
86
  * Deletes a tag and detaches it from any address-book entries.
87
87
  */
88
88
  async deleteTag(input, options) {
89
- const request = v.parse(DeleteAddressBookTagInputSchema, input);
89
+ const request = parse(DeleteAddressBookTagInputSchema, input);
90
90
  await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));
91
91
  }
92
92
  /**
93
93
  * Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.
94
94
  */
95
95
  async listTransferCounterparties(input = {}, options) {
96
- const request = v.parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));
96
+ const request = parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));
97
97
  const response = await this.#client.listTransferCounterparties(removeUndefined(request), toConnectCallOptions(options));
98
98
  return {
99
- counterparties: v.parse(TransferCounterpartiesSchema, response.counterparties),
99
+ counterparties: parse(TransferCounterpartiesSchema, response.counterparties),
100
100
  truncated: response.truncated
101
101
  };
102
102
  }
@@ -104,10 +104,10 @@ var AddressBookService = class {
104
104
  * Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.
105
105
  */
106
106
  async listTransferDestinations(input = {}, options) {
107
- const request = v.parse(ListTransferDestinationsInputSchema, this.resolveInput(input));
107
+ const request = parse(ListTransferDestinationsInputSchema, this.resolveInput(input));
108
108
  const response = await this.#client.listTransferDestinations(removeUndefined(request), toConnectCallOptions(options));
109
109
  return {
110
- destinations: v.parse(TransferDestinationsSchema, response.destinations),
110
+ destinations: parse(TransferDestinationsSchema, response.destinations),
111
111
  nextPageToken: response.nextPageToken
112
112
  };
113
113
  }
@@ -115,10 +115,10 @@ var AddressBookService = class {
115
115
  * Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.
116
116
  */
117
117
  async listInternalTransferWhitelistEntries(input = {}, options) {
118
- const request = v.parse(ListInternalTransferWhitelistEntriesInputSchema, this.resolveInput(input));
118
+ const request = parse(ListInternalTransferWhitelistEntriesInputSchema, this.resolveInput(input));
119
119
  const response = await this.#client.listInternalTransferWhitelistEntries(removeUndefined(request), toConnectCallOptions(options));
120
120
  return {
121
- entries: v.parse(InternalTransferWhitelistEntriesSchema, response.entries),
121
+ entries: parse(InternalTransferWhitelistEntriesSchema, response.entries),
122
122
  nextPageToken: response.nextPageToken
123
123
  };
124
124
  }
@@ -126,17 +126,17 @@ var AddressBookService = class {
126
126
  * Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.
127
127
  */
128
128
  async getWithdrawWhitelistView(input = {}, options) {
129
- const request = v.parse(SubaccountScopedInputSchema, this.resolveInput(input));
129
+ const request = parse(SubaccountScopedInputSchema, this.resolveInput(input));
130
130
  const response = await this.#client.getWithdrawWhitelistView(removeUndefined(request), toConnectCallOptions(options));
131
- return response.view ? v.parse(WithdrawWhitelistViewSchema, response.view) : null;
131
+ return response.view ? parse(WithdrawWhitelistViewSchema, response.view) : null;
132
132
  }
133
133
  /**
134
134
  * Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.
135
135
  */
136
136
  async getView(input = {}, options) {
137
- const request = v.parse(GetAddressBookViewInputSchema, this.resolveInput(input));
137
+ const request = parse(GetAddressBookViewInputSchema, this.resolveInput(input));
138
138
  const response = await this.#client.getAddressBookView(removeUndefined(request), toConnectCallOptions(options));
139
- return v.parse(AddressBookViewSchema, response);
139
+ return parse(AddressBookViewSchema, response);
140
140
  }
141
141
  /**
142
142
  * Subscribes to scoped address-book view invalidation signals for a root account.
@@ -149,11 +149,11 @@ var AddressBookService = class {
149
149
  channel,
150
150
  schema: AddressBookViewInvalidatedSchema,
151
151
  onPublication: (data) => {
152
- input.onEvent(v.parse(AddressBookViewInvalidatedSchema$1, data));
152
+ input.onEvent(parse(AddressBookViewInvalidatedSchema$1, data));
153
153
  },
154
154
  onConnected: () => input.onOpen?.(),
155
155
  onDisconnected: () => input.onClose?.(),
156
- onError: (ctx) => input.onError?.(ctx)
156
+ onError: input.onError
157
157
  });
158
158
  }
159
159
  resolveInput(input) {
@@ -1 +1 @@
1
- {"version":3,"file":"address-book.js","names":["#client","Proto.AddressBookService","#realtime","#resolver","Proto.AddressBookViewInvalidatedSchema","AddressBookViewInvalidatedSchema"],"sources":["../../../src/services/address-book/address-book.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/address_book_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.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 { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport type { AccountScopedInput } from \"../../shared/account-scope.js\";\nimport * as v from \"valibot\";\nimport {\n AddressBookEntriesSchema,\n AddressBookEntrySchema,\n AddressBookSchema,\n AddressBookTagSchema,\n AddressBookViewSchema,\n AddressBookViewInvalidatedSchema,\n CopyAddressBookEntryInputSchema,\n CreateAddressBookEntryInputSchema,\n CreateAddressBookTagInputSchema,\n DeleteAddressBookEntryInputSchema,\n DeleteAddressBookTagInputSchema,\n GetAddressBookViewInputSchema,\n InternalTransferWhitelistEntriesSchema,\n ListAddressBookEntriesInputSchema,\n ListInternalTransferWhitelistEntriesInputSchema,\n ListTransferCounterpartiesInputSchema,\n ListTransferDestinationsInputSchema,\n SubaccountScopedInputSchema,\n TransferCounterpartiesSchema,\n TransferDestinationsSchema,\n UpdateAddressBookEntryInputSchema,\n UpdateAddressBookTagInputSchema,\n WithdrawWhitelistViewSchema,\n type AddressBook,\n type AddressBookEntries,\n type AddressBookEntry,\n type AddressBookTag,\n type AddressBookView,\n type AddressBookViewInvalidated,\n type CopyAddressBookEntryInput,\n type CreateAddressBookEntryInput,\n type CreateAddressBookTagInput,\n type DeleteAddressBookEntryInput,\n type DeleteAddressBookTagInput,\n type GetAddressBookViewInput,\n type InternalTransferWhitelistEntries,\n type ListAddressBookEntriesInput,\n type ListInternalTransferWhitelistEntriesInput,\n type ListTransferCounterpartiesInput,\n type ListTransferDestinationsInput,\n type SubaccountScopedInput,\n type TransferCounterparties,\n type TransferDestinations,\n type UpdateAddressBookEntryInput,\n type UpdateAddressBookTagInput,\n type WithdrawWhitelistView,\n} from \"./address-book.schemas.js\";\n\ninterface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBookViewInvalidated> {\n rootAccountPublicId: string;\n}\n\n/**\n * Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.\n */\nexport class AddressBookService {\n #client: Client<typeof Proto.AddressBookService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver) {\n this.#client = createClient(Proto.AddressBookService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.\n */\n async listBooks(options?: PolyesterRequestOptions): Promise<AddressBook[]> {\n const response = await this.#client.listAddressBooks({}, toConnectCallOptions(options));\n return response.books.map((book) => v.parse(AddressBookSchema, book));\n }\n\n /**\n * Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.\n */\n async listEntries(\n input: ListAddressBookEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: AddressBookEntries; nextPageToken: string }> {\n const request = v.parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));\n const response = await this.#client.listAddressBookEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(AddressBookEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.\n */\n async createEntry(\n input: CreateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Updates selected saved-destination metadata using optimistic concurrency.\n */\n async updateEntry(\n input: UpdateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(UpdateAddressBookEntryInputSchema, input);\n const response = await this.#client.updateAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Deletes one saved destination from the selected address book.\n */\n async deleteEntry(\n input: DeleteAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookEntryInputSchema, input);\n await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));\n }\n\n /**\n * Copies a saved destination into another visible root or subaccount address book.\n */\n async copyEntry(\n input: CopyAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CopyAddressBookEntryInputSchema, input);\n const response = await this.#client.copyAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Creates a tag in the resolved address book scope for organizing saved destinations.\n */\n async createTag(\n input: CreateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(CreateAddressBookTagInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Updates a tag's name and optional color token.\n */\n async updateTag(\n input: UpdateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(UpdateAddressBookTagInputSchema, input);\n const response = await this.#client.updateAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Deletes a tag and detaches it from any address-book entries.\n */\n async deleteTag(\n input: DeleteAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookTagInputSchema, input);\n await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));\n }\n\n /**\n * Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.\n */\n async listTransferCounterparties(\n input: ListTransferCounterpartiesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ counterparties: TransferCounterparties; truncated: boolean }> {\n const request = v.parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferCounterparties(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n counterparties: v.parse(TransferCounterpartiesSchema, response.counterparties),\n truncated: response.truncated,\n };\n }\n\n /**\n * Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.\n */\n async listTransferDestinations(\n input: ListTransferDestinationsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ destinations: TransferDestinations; nextPageToken: string }> {\n const request = v.parse(ListTransferDestinationsInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferDestinations(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n destinations: v.parse(TransferDestinationsSchema, response.destinations),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.\n */\n async listInternalTransferWhitelistEntries(\n input: ListInternalTransferWhitelistEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: InternalTransferWhitelistEntries; nextPageToken: string }> {\n const request = v.parse(\n ListInternalTransferWhitelistEntriesInputSchema,\n this.resolveInput(input),\n );\n const response = await this.#client.listInternalTransferWhitelistEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(InternalTransferWhitelistEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.\n */\n async getWithdrawWhitelistView(\n input: SubaccountScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<WithdrawWhitelistView | null> {\n const request = v.parse(SubaccountScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.getWithdrawWhitelistView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.view ? v.parse(WithdrawWhitelistViewSchema, response.view) : null;\n }\n\n /**\n * Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.\n */\n async getView(\n input: GetAddressBookViewInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<AddressBookView> {\n const request = v.parse(GetAddressBookViewInputSchema, this.resolveInput(input));\n const response = await this.#client.getAddressBookView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(AddressBookViewSchema, response);\n }\n\n /**\n * Subscribes to scoped address-book view invalidation signals for a root account.\n *\n * Use `scope` and `invalidatedAt` for diagnostics and ordering, then refetch `getView` for the canonical aggregate (entries, tags, recent destinations, whitelist). Do not patch individual rows from these events.\n */\n subscribeViewInvalidations(input: SubscribeViewInvalidationsInput): () => void {\n const channel = `private:auth:address-books:${input.rootAccountPublicId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.AddressBookViewInvalidatedSchema,\n onPublication: (data) => {\n input.onEvent(v.parse(AddressBookViewInvalidatedSchema, data));\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: (ctx) => input.onError?.(ctx),\n });\n }\n\n private resolveInput<TInput extends AccountScopedInput>(input: TInput): TInput {\n return resolveAccountScopedInput(input, this.#resolver);\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"address-book.js","names":["#client","Proto.AddressBookService","#realtime","#resolver","v.parse","Proto.AddressBookViewInvalidatedSchema","AddressBookViewInvalidatedSchema"],"sources":["../../../src/services/address-book/address-book.ts"],"sourcesContent":["import { createClient, type Client, type Transport } from \"@connectrpc/connect\";\nimport * as Proto from \"../../gen/auth/v1/address_book_pb.js\";\nimport type { PolyesterRealtime } from \"../../realtime/types.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 { BaseSubscribeInput } from \"../../shared/types.js\";\nimport { type SubaccountResolver, resolveAccountScopedInput } from \"../subaccount-resolver.js\";\nimport type { AccountScopedInput } from \"../../shared/account-scope.js\";\nimport * as v from \"../../shared/validation.js\";\nimport {\n AddressBookEntriesSchema,\n AddressBookEntrySchema,\n AddressBookSchema,\n AddressBookTagSchema,\n AddressBookViewSchema,\n AddressBookViewInvalidatedSchema,\n CopyAddressBookEntryInputSchema,\n CreateAddressBookEntryInputSchema,\n CreateAddressBookTagInputSchema,\n DeleteAddressBookEntryInputSchema,\n DeleteAddressBookTagInputSchema,\n GetAddressBookViewInputSchema,\n InternalTransferWhitelistEntriesSchema,\n ListAddressBookEntriesInputSchema,\n ListInternalTransferWhitelistEntriesInputSchema,\n ListTransferCounterpartiesInputSchema,\n ListTransferDestinationsInputSchema,\n SubaccountScopedInputSchema,\n TransferCounterpartiesSchema,\n TransferDestinationsSchema,\n UpdateAddressBookEntryInputSchema,\n UpdateAddressBookTagInputSchema,\n WithdrawWhitelistViewSchema,\n type AddressBook,\n type AddressBookEntries,\n type AddressBookEntry,\n type AddressBookTag,\n type AddressBookView,\n type AddressBookViewInvalidated,\n type CopyAddressBookEntryInput,\n type CreateAddressBookEntryInput,\n type CreateAddressBookTagInput,\n type DeleteAddressBookEntryInput,\n type DeleteAddressBookTagInput,\n type GetAddressBookViewInput,\n type InternalTransferWhitelistEntries,\n type ListAddressBookEntriesInput,\n type ListInternalTransferWhitelistEntriesInput,\n type ListTransferCounterpartiesInput,\n type ListTransferDestinationsInput,\n type SubaccountScopedInput,\n type TransferCounterparties,\n type TransferDestinations,\n type UpdateAddressBookEntryInput,\n type UpdateAddressBookTagInput,\n type WithdrawWhitelistView,\n} from \"./address-book.schemas.js\";\n\ninterface SubscribeViewInvalidationsInput extends BaseSubscribeInput<AddressBookViewInvalidated> {\n rootAccountPublicId: string;\n}\n\n/**\n * Manages saved transfer destinations, tags, whitelist views, and recent counterparties for root or subaccount-scoped address books.\n */\nexport class AddressBookService {\n #client: Client<typeof Proto.AddressBookService>;\n #realtime: PolyesterRealtime;\n #resolver?: SubaccountResolver;\n\n constructor(transport: Transport, realtime: PolyesterRealtime, resolver?: SubaccountResolver) {\n this.#client = createClient(Proto.AddressBookService, transport);\n this.#realtime = realtime;\n this.#resolver = resolver;\n }\n\n /**\n * Returns the root and subaccount address books visible to the caller, including caller role and display metadata.\n */\n async listBooks(options?: PolyesterRequestOptions): Promise<AddressBook[]> {\n const response = await this.#client.listAddressBooks({}, toConnectCallOptions(options));\n return response.books.map((book) => v.parse(AddressBookSchema, book));\n }\n\n /**\n * Returns saved address-book entries for the resolved subaccount scope, optionally filtered by external-chain or internal-account destination kind.\n */\n async listEntries(\n input: ListAddressBookEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: AddressBookEntries; nextPageToken: string }> {\n const request = v.parse(ListAddressBookEntriesInputSchema, this.resolveInput(input));\n const response = await this.#client.listAddressBookEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(AddressBookEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Creates a saved external withdrawal or internal transfer destination in the resolved address book, optionally attaching existing tags and creating new tags in the same request.\n */\n async createEntry(\n input: CreateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CreateAddressBookEntryInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Updates selected saved-destination metadata using optimistic concurrency.\n */\n async updateEntry(\n input: UpdateAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(UpdateAddressBookEntryInputSchema, input);\n const response = await this.#client.updateAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Deletes one saved destination from the selected address book.\n */\n async deleteEntry(\n input: DeleteAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookEntryInputSchema, input);\n await this.#client.deleteAddressBookEntry(request, toConnectCallOptions(options));\n }\n\n /**\n * Copies a saved destination into another visible root or subaccount address book.\n */\n async copyEntry(\n input: CopyAddressBookEntryInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookEntry | null> {\n const request = v.parse(CopyAddressBookEntryInputSchema, input);\n const response = await this.#client.copyAddressBookEntry(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.entry ? v.parse(AddressBookEntrySchema, response.entry) : null;\n }\n\n /**\n * Creates a tag in the resolved address book scope for organizing saved destinations.\n */\n async createTag(\n input: CreateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(CreateAddressBookTagInputSchema, this.resolveInput(input));\n const response = await this.#client.createAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Updates a tag's name and optional color token.\n */\n async updateTag(\n input: UpdateAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<AddressBookTag | null> {\n const request = v.parse(UpdateAddressBookTagInputSchema, input);\n const response = await this.#client.updateAddressBookTag(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.tag ? v.parse(AddressBookTagSchema, response.tag) : null;\n }\n\n /**\n * Deletes a tag and detaches it from any address-book entries.\n */\n async deleteTag(\n input: DeleteAddressBookTagInput,\n options?: PolyesterMutationOptions,\n ): Promise<void> {\n const request = v.parse(DeleteAddressBookTagInputSchema, input);\n await this.#client.deleteAddressBookTag(request, toConnectCallOptions(options));\n }\n\n /**\n * Returns recent transfer counterparties, including unsaved destinations, with direction, kind, use count, and first/last seen timestamps.\n */\n async listTransferCounterparties(\n input: ListTransferCounterpartiesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ counterparties: TransferCounterparties; truncated: boolean }> {\n const request = v.parse(ListTransferCounterpartiesInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferCounterparties(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n counterparties: v.parse(TransferCounterpartiesSchema, response.counterparties),\n truncated: response.truncated,\n };\n }\n\n /**\n * Returns saved and whitelisted destinations available for transfer flows in the resolved address book scope.\n */\n async listTransferDestinations(\n input: ListTransferDestinationsInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ destinations: TransferDestinations; nextPageToken: string }> {\n const request = v.parse(ListTransferDestinationsInputSchema, this.resolveInput(input));\n const response = await this.#client.listTransferDestinations(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n destinations: v.parse(TransferDestinationsSchema, response.destinations),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns internal-transfer whitelist entries for the resolved scope, including target account metadata and resolution status.\n */\n async listInternalTransferWhitelistEntries(\n input: ListInternalTransferWhitelistEntriesInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<{ entries: InternalTransferWhitelistEntries; nextPageToken: string }> {\n const request = v.parse(\n ListInternalTransferWhitelistEntriesInputSchema,\n this.resolveInput(input),\n );\n const response = await this.#client.listInternalTransferWhitelistEntries(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return {\n entries: v.parse(InternalTransferWhitelistEntriesSchema, response.entries),\n nextPageToken: response.nextPageToken,\n };\n }\n\n /**\n * Returns external and internal withdrawal whitelist requirements plus active mirrored external whitelist entries for the resolved scope.\n */\n async getWithdrawWhitelistView(\n input: SubaccountScopedInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<WithdrawWhitelistView | null> {\n const request = v.parse(SubaccountScopedInputSchema, this.resolveInput(input));\n const response = await this.#client.getWithdrawWhitelistView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return response.view ? v.parse(WithdrawWhitelistViewSchema, response.view) : null;\n }\n\n /**\n * Fetches the combined address-book view used by dashboards: books, saved entries, recent destinations, tags, and withdrawal whitelist status.\n */\n async getView(\n input: GetAddressBookViewInput = {},\n options?: PolyesterRequestOptions,\n ): Promise<AddressBookView> {\n const request = v.parse(GetAddressBookViewInputSchema, this.resolveInput(input));\n const response = await this.#client.getAddressBookView(\n removeUndefined(request),\n toConnectCallOptions(options),\n );\n return v.parse(AddressBookViewSchema, response);\n }\n\n /**\n * Subscribes to scoped address-book view invalidation signals for a root account.\n *\n * Use `scope` and `invalidatedAt` for diagnostics and ordering, then refetch `getView` for the canonical aggregate (entries, tags, recent destinations, whitelist). Do not patch individual rows from these events.\n */\n subscribeViewInvalidations(input: SubscribeViewInvalidationsInput): () => void {\n const channel = `private:auth:address-books:${input.rootAccountPublicId}:proto`;\n\n return this.#realtime.connectProtoChannel({\n channel,\n schema: Proto.AddressBookViewInvalidatedSchema,\n onPublication: (data) => {\n input.onEvent(v.parse(AddressBookViewInvalidatedSchema, data));\n },\n onConnected: () => input.onOpen?.(),\n onDisconnected: () => input.onClose?.(),\n onError: input.onError,\n });\n }\n\n private resolveInput<TInput extends AccountScopedInput>(input: TInput): TInput {\n return resolveAccountScopedInput(input, this.#resolver);\n }\n}\n"],"mappings":"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"}