@polyester/sdk 0.0.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 (745) hide show
  1. package/CHANGELOG.md +1 -0
  2. package/LICENSE +7 -0
  3. package/README.md +55 -0
  4. package/SECURITY.md +14 -0
  5. package/dist/_virtual/_rolldown/runtime.js +13 -0
  6. package/dist/account-signer/create-polyester-account-signer.d.ts +28 -0
  7. package/dist/account-signer/create-polyester-account-signer.d.ts.map +1 -0
  8. package/dist/account-signer/create-polyester-account-signer.js +101 -0
  9. package/dist/account-signer/create-polyester-account-signer.js.map +1 -0
  10. package/dist/account-signer/index.d.ts +3 -0
  11. package/dist/account-signer/index.js +3 -0
  12. package/dist/account-signer/predict-safe-address.js +230 -0
  13. package/dist/account-signer/predict-safe-address.js.map +1 -0
  14. package/dist/account-signer/types.d.ts +40 -0
  15. package/dist/account-signer/types.d.ts.map +1 -0
  16. package/dist/account-signer/types.js +29 -0
  17. package/dist/account-signer/types.js.map +1 -0
  18. package/dist/browser-client.d.ts +37 -0
  19. package/dist/browser-client.d.ts.map +1 -0
  20. package/dist/browser-client.js +69 -0
  21. package/dist/browser-client.js.map +1 -0
  22. package/dist/catalogs/client-catalog.d.ts +6 -0
  23. package/dist/catalogs/client-catalog.d.ts.map +1 -0
  24. package/dist/catalogs/client-catalog.js +88 -0
  25. package/dist/catalogs/client-catalog.js.map +1 -0
  26. package/dist/catalogs/decimal.js +92 -0
  27. package/dist/catalogs/decimal.js.map +1 -0
  28. package/dist/catalogs/index.d.ts +10 -0
  29. package/dist/catalogs/index.js +8 -0
  30. package/dist/catalogs/indexes.js +36 -0
  31. package/dist/catalogs/indexes.js.map +1 -0
  32. package/dist/catalogs/market-data-catalog.d.ts +37 -0
  33. package/dist/catalogs/market-data-catalog.d.ts.map +1 -0
  34. package/dist/catalogs/market-data-catalog.js +49 -0
  35. package/dist/catalogs/market-data-catalog.js.map +1 -0
  36. package/dist/catalogs/readers.d.ts +6 -0
  37. package/dist/catalogs/readers.d.ts.map +1 -0
  38. package/dist/catalogs/readers.js +545 -0
  39. package/dist/catalogs/readers.js.map +1 -0
  40. package/dist/catalogs/snapshot.d.ts +18 -0
  41. package/dist/catalogs/snapshot.d.ts.map +1 -0
  42. package/dist/catalogs/snapshot.js +16 -0
  43. package/dist/catalogs/snapshot.js.map +1 -0
  44. package/dist/catalogs/types.d.ts +268 -0
  45. package/dist/catalogs/types.d.ts.map +1 -0
  46. package/dist/catalogs/types.js +48 -0
  47. package/dist/catalogs/types.js.map +1 -0
  48. package/dist/catalogs/unknown-asset.d.ts +27 -0
  49. package/dist/catalogs/unknown-asset.d.ts.map +1 -0
  50. package/dist/catalogs/unknown-asset.js +38 -0
  51. package/dist/catalogs/unknown-asset.js.map +1 -0
  52. package/dist/catalogs/zipper-catalog.d.ts +33 -0
  53. package/dist/catalogs/zipper-catalog.d.ts.map +1 -0
  54. package/dist/catalogs/zipper-catalog.js +54 -0
  55. package/dist/catalogs/zipper-catalog.js.map +1 -0
  56. package/dist/catalogs/zipper-supply.d.ts +10 -0
  57. package/dist/catalogs/zipper-supply.d.ts.map +1 -0
  58. package/dist/catalogs/zipper-supply.js +40 -0
  59. package/dist/catalogs/zipper-supply.js.map +1 -0
  60. package/dist/core-client.d.ts +155 -0
  61. package/dist/core-client.d.ts.map +1 -0
  62. package/dist/core-client.js +266 -0
  63. package/dist/core-client.js.map +1 -0
  64. package/dist/environment.d.ts +57 -0
  65. package/dist/environment.d.ts.map +1 -0
  66. package/dist/environment.js +153 -0
  67. package/dist/environment.js.map +1 -0
  68. package/dist/gen/auth/v1/address_book_pb.d.ts +2012 -0
  69. package/dist/gen/auth/v1/address_book_pb.d.ts.map +1 -0
  70. package/dist/gen/auth/v1/address_book_pb.js +505 -0
  71. package/dist/gen/auth/v1/address_book_pb.js.map +1 -0
  72. package/dist/gen/auth/v1/api_keys_pb.d.ts +496 -0
  73. package/dist/gen/auth/v1/api_keys_pb.d.ts.map +1 -0
  74. package/dist/gen/auth/v1/api_keys_pb.js +137 -0
  75. package/dist/gen/auth/v1/api_keys_pb.js.map +1 -0
  76. package/dist/gen/auth/v1/auth_pb.d.ts +523 -0
  77. package/dist/gen/auth/v1/auth_pb.d.ts.map +1 -0
  78. package/dist/gen/auth/v1/auth_pb.js +313 -0
  79. package/dist/gen/auth/v1/auth_pb.js.map +1 -0
  80. package/dist/gen/auth/v1/mfa_pb.d.ts +1020 -0
  81. package/dist/gen/auth/v1/mfa_pb.d.ts.map +1 -0
  82. package/dist/gen/auth/v1/mfa_pb.js +315 -0
  83. package/dist/gen/auth/v1/mfa_pb.js.map +1 -0
  84. package/dist/gen/auth/v1/policies_pb.d.ts +1410 -0
  85. package/dist/gen/auth/v1/policies_pb.d.ts.map +1 -0
  86. package/dist/gen/auth/v1/policies_pb.js +341 -0
  87. package/dist/gen/auth/v1/policies_pb.js.map +1 -0
  88. package/dist/gen/auth/v1/profile_pb.d.ts +370 -0
  89. package/dist/gen/auth/v1/profile_pb.d.ts.map +1 -0
  90. package/dist/gen/auth/v1/profile_pb.js +114 -0
  91. package/dist/gen/auth/v1/profile_pb.js.map +1 -0
  92. package/dist/gen/auth/v1/resolve_pb.d.ts +174 -0
  93. package/dist/gen/auth/v1/resolve_pb.d.ts.map +1 -0
  94. package/dist/gen/auth/v1/resolve_pb.js +80 -0
  95. package/dist/gen/auth/v1/resolve_pb.js.map +1 -0
  96. package/dist/gen/auth/v1/social_verification_pb.d.ts +408 -0
  97. package/dist/gen/auth/v1/social_verification_pb.d.ts.map +1 -0
  98. package/dist/gen/auth/v1/social_verification_pb.js +196 -0
  99. package/dist/gen/auth/v1/social_verification_pb.js.map +1 -0
  100. package/dist/gen/auth/v1/subaccounts_pb.d.ts +1490 -0
  101. package/dist/gen/auth/v1/subaccounts_pb.d.ts.map +1 -0
  102. package/dist/gen/auth/v1/subaccounts_pb.js +574 -0
  103. package/dist/gen/auth/v1/subaccounts_pb.js.map +1 -0
  104. package/dist/gen/chain/analytics/v1/analytics_read_pb.d.ts +426 -0
  105. package/dist/gen/chain/analytics/v1/analytics_read_pb.d.ts.map +1 -0
  106. package/dist/gen/chain/analytics/v1/analytics_read_pb.js +119 -0
  107. package/dist/gen/chain/analytics/v1/analytics_read_pb.js.map +1 -0
  108. package/dist/gen/chain/deposit/v1/deposit_pb.d.ts +158 -0
  109. package/dist/gen/chain/deposit/v1/deposit_pb.d.ts.map +1 -0
  110. package/dist/gen/chain/deposit/v1/deposit_pb.js +52 -0
  111. package/dist/gen/chain/deposit/v1/deposit_pb.js.map +1 -0
  112. package/dist/gen/chain/guard/v1/guard_signer_pb.d.ts +588 -0
  113. package/dist/gen/chain/guard/v1/guard_signer_pb.d.ts.map +1 -0
  114. package/dist/gen/chain/guard/v1/guard_signer_pb.js +195 -0
  115. package/dist/gen/chain/guard/v1/guard_signer_pb.js.map +1 -0
  116. package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.d.ts +1297 -0
  117. package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.d.ts.map +1 -0
  118. package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.js +408 -0
  119. package/dist/gen/chain/lifecycle/v1/lifecycle_read_pb.js.map +1 -0
  120. package/dist/gen/chain/lifecycle/v1/types_pb.d.ts +359 -0
  121. package/dist/gen/chain/lifecycle/v1/types_pb.d.ts.map +1 -0
  122. package/dist/gen/chain/lifecycle/v1/types_pb.js +322 -0
  123. package/dist/gen/chain/lifecycle/v1/types_pb.js.map +1 -0
  124. package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts +236 -0
  125. package/dist/gen/chain/withdraw/v1/withdraw_pb.d.ts.map +1 -0
  126. package/dist/gen/chain/withdraw/v1/withdraw_pb.js +79 -0
  127. package/dist/gen/chain/withdraw/v1/withdraw_pb.js.map +1 -0
  128. package/dist/gen/chain/zipper/v1/reason_pb.d.ts +349 -0
  129. package/dist/gen/chain/zipper/v1/reason_pb.d.ts.map +1 -0
  130. package/dist/gen/chain/zipper/v1/reason_pb.js +330 -0
  131. package/dist/gen/chain/zipper/v1/reason_pb.js.map +1 -0
  132. package/dist/gen/chain/zipper/v1/zipper_pb.d.ts +396 -0
  133. package/dist/gen/chain/zipper/v1/zipper_pb.d.ts.map +1 -0
  134. package/dist/gen/chain/zipper/v1/zipper_pb.js +70 -0
  135. package/dist/gen/chain/zipper/v1/zipper_pb.js.map +1 -0
  136. package/dist/gen/collab/v1/whiteboard_pb.d.ts +829 -0
  137. package/dist/gen/collab/v1/whiteboard_pb.d.ts.map +1 -0
  138. package/dist/gen/collab/v1/whiteboard_pb.js +250 -0
  139. package/dist/gen/collab/v1/whiteboard_pb.js.map +1 -0
  140. package/dist/gen/index.d.ts +35 -0
  141. package/dist/gen/index.js +35 -0
  142. package/dist/gen/layout/v1/layout_pb.d.ts +1289 -0
  143. package/dist/gen/layout/v1/layout_pb.d.ts.map +1 -0
  144. package/dist/gen/layout/v1/layout_pb.js +313 -0
  145. package/dist/gen/layout/v1/layout_pb.js.map +1 -0
  146. package/dist/gen/ledger/read/v1/ledger_read_pb.d.ts +1000 -0
  147. package/dist/gen/ledger/read/v1/ledger_read_pb.d.ts.map +1 -0
  148. package/dist/gen/ledger/read/v1/ledger_read_pb.js +347 -0
  149. package/dist/gen/ledger/read/v1/ledger_read_pb.js.map +1 -0
  150. package/dist/gen/ledger/v1/catalog_pb.d.ts +129 -0
  151. package/dist/gen/ledger/v1/catalog_pb.d.ts.map +1 -0
  152. package/dist/gen/ledger/v1/catalog_pb.js +138 -0
  153. package/dist/gen/ledger/v1/catalog_pb.js.map +1 -0
  154. package/dist/gen/marketdata/v1/heatmap_pb.d.ts +571 -0
  155. package/dist/gen/marketdata/v1/heatmap_pb.d.ts.map +1 -0
  156. package/dist/gen/marketdata/v1/heatmap_pb.js +194 -0
  157. package/dist/gen/marketdata/v1/heatmap_pb.js.map +1 -0
  158. package/dist/gen/marketdata/v1/marketdata_pb.d.ts +1015 -0
  159. package/dist/gen/marketdata/v1/marketdata_pb.d.ts.map +1 -0
  160. package/dist/gen/marketdata/v1/marketdata_pb.js +274 -0
  161. package/dist/gen/marketdata/v1/marketdata_pb.js.map +1 -0
  162. package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts +419 -0
  163. package/dist/gen/marketoverview/v1/marketoverview_pb.d.ts.map +1 -0
  164. package/dist/gen/marketoverview/v1/marketoverview_pb.js +212 -0
  165. package/dist/gen/marketoverview/v1/marketoverview_pb.js.map +1 -0
  166. package/dist/gen/orderbook/v1/orderbook_pb.d.ts +260 -0
  167. package/dist/gen/orderbook/v1/orderbook_pb.d.ts.map +1 -0
  168. package/dist/gen/orderbook/v1/orderbook_pb.js +119 -0
  169. package/dist/gen/orderbook/v1/orderbook_pb.js.map +1 -0
  170. package/dist/gen/orders/v1/orders_pb.d.ts +2497 -0
  171. package/dist/gen/orders/v1/orders_pb.d.ts.map +1 -0
  172. package/dist/gen/orders/v1/orders_pb.js +1043 -0
  173. package/dist/gen/orders/v1/orders_pb.js.map +1 -0
  174. package/dist/gen/orders/v1/orders_read_pb.d.ts +1322 -0
  175. package/dist/gen/orders/v1/orders_read_pb.d.ts.map +1 -0
  176. package/dist/gen/orders/v1/orders_read_pb.js +408 -0
  177. package/dist/gen/orders/v1/orders_read_pb.js.map +1 -0
  178. package/dist/gen/polychart/events/v1/polychart_events_pb.d.ts +192 -0
  179. package/dist/gen/polychart/events/v1/polychart_events_pb.d.ts.map +1 -0
  180. package/dist/gen/polychart/events/v1/polychart_events_pb.js +57 -0
  181. package/dist/gen/polychart/events/v1/polychart_events_pb.js.map +1 -0
  182. package/dist/gen/polychart/v1/polychart_pb.d.ts +1208 -0
  183. package/dist/gen/polychart/v1/polychart_pb.d.ts.map +1 -0
  184. package/dist/gen/polychart/v1/polychart_pb.js +244 -0
  185. package/dist/gen/polychart/v1/polychart_pb.js.map +1 -0
  186. package/dist/gen/polyester/api/options_pb.d.ts +67 -0
  187. package/dist/gen/polyester/api/options_pb.d.ts.map +1 -0
  188. package/dist/gen/polyester/api/options_pb.js +76 -0
  189. package/dist/gen/polyester/api/options_pb.js.map +1 -0
  190. package/dist/gen/polyester/type/v1/u128_pb.d.ts +42 -0
  191. package/dist/gen/polyester/type/v1/u128_pb.d.ts.map +1 -0
  192. package/dist/gen/polyester/type/v1/u128_pb.js +20 -0
  193. package/dist/gen/polyester/type/v1/u128_pb.js.map +1 -0
  194. package/dist/gen/tradews/v1/trade_ws_pb.d.ts +316 -0
  195. package/dist/gen/tradews/v1/trade_ws_pb.d.ts.map +1 -0
  196. package/dist/gen/tradews/v1/trade_ws_pb.js +63 -0
  197. package/dist/gen/tradews/v1/trade_ws_pb.js.map +1 -0
  198. package/dist/gen/transfer/v1/internal_transfer_pb.d.ts +235 -0
  199. package/dist/gen/transfer/v1/internal_transfer_pb.d.ts.map +1 -0
  200. package/dist/gen/transfer/v1/internal_transfer_pb.js +81 -0
  201. package/dist/gen/transfer/v1/internal_transfer_pb.js.map +1 -0
  202. package/dist/gen/triggers/v1/triggers_pb.d.ts +1731 -0
  203. package/dist/gen/triggers/v1/triggers_pb.d.ts.map +1 -0
  204. package/dist/gen/triggers/v1/triggers_pb.js +413 -0
  205. package/dist/gen/triggers/v1/triggers_pb.js.map +1 -0
  206. package/dist/index.d.ts +100 -0
  207. package/dist/index.js +18 -0
  208. package/dist/realtime/client.d.ts +18 -0
  209. package/dist/realtime/client.d.ts.map +1 -0
  210. package/dist/realtime/client.js +420 -0
  211. package/dist/realtime/client.js.map +1 -0
  212. package/dist/realtime/index.d.ts +3 -0
  213. package/dist/realtime/snapshot-then-stream.js +144 -0
  214. package/dist/realtime/snapshot-then-stream.js.map +1 -0
  215. package/dist/realtime/types.d.ts +41 -0
  216. package/dist/realtime/types.d.ts.map +1 -0
  217. package/dist/server-client.d.ts +73 -0
  218. package/dist/server-client.d.ts.map +1 -0
  219. package/dist/server-client.js +126 -0
  220. package/dist/server-client.js.map +1 -0
  221. package/dist/server-session.d.ts +4 -0
  222. package/dist/server-session.js +3 -0
  223. package/dist/services/accounts/accounts.codecs.js +17 -0
  224. package/dist/services/accounts/accounts.codecs.js.map +1 -0
  225. package/dist/services/accounts/accounts.d.ts +18 -0
  226. package/dist/services/accounts/accounts.d.ts.map +1 -0
  227. package/dist/services/accounts/accounts.js +27 -0
  228. package/dist/services/accounts/accounts.js.map +1 -0
  229. package/dist/services/accounts/accounts.schemas.d.ts +20 -0
  230. package/dist/services/accounts/accounts.schemas.d.ts.map +1 -0
  231. package/dist/services/accounts/accounts.schemas.js +28 -0
  232. package/dist/services/accounts/accounts.schemas.js.map +1 -0
  233. package/dist/services/accounts/accounts.types.d.ts +2 -0
  234. package/dist/services/accounts/index.d.ts +3 -0
  235. package/dist/services/address-book/address-book.codecs.d.ts +1 -0
  236. package/dist/services/address-book/address-book.codecs.js +61 -0
  237. package/dist/services/address-book/address-book.codecs.js.map +1 -0
  238. package/dist/services/address-book/address-book.d.ts +95 -0
  239. package/dist/services/address-book/address-book.d.ts.map +1 -0
  240. package/dist/services/address-book/address-book.js +166 -0
  241. package/dist/services/address-book/address-book.js.map +1 -0
  242. package/dist/services/address-book/address-book.schemas.d.ts +1140 -0
  243. package/dist/services/address-book/address-book.schemas.d.ts.map +1 -0
  244. package/dist/services/address-book/address-book.schemas.js +343 -0
  245. package/dist/services/address-book/address-book.schemas.js.map +1 -0
  246. package/dist/services/address-book/address-book.types.d.ts +2 -0
  247. package/dist/services/address-book/index.d.ts +4 -0
  248. package/dist/services/api-keys/api-keys.codecs.js +24 -0
  249. package/dist/services/api-keys/api-keys.codecs.js.map +1 -0
  250. package/dist/services/api-keys/api-keys.d.ts +62 -0
  251. package/dist/services/api-keys/api-keys.d.ts.map +1 -0
  252. package/dist/services/api-keys/api-keys.js +104 -0
  253. package/dist/services/api-keys/api-keys.js.map +1 -0
  254. package/dist/services/api-keys/api-keys.schemas.d.ts +181 -0
  255. package/dist/services/api-keys/api-keys.schemas.d.ts.map +1 -0
  256. package/dist/services/api-keys/api-keys.schemas.js +111 -0
  257. package/dist/services/api-keys/api-keys.schemas.js.map +1 -0
  258. package/dist/services/api-keys/api-keys.types.d.ts +2 -0
  259. package/dist/services/api-keys/index.d.ts +3 -0
  260. package/dist/services/auth/account-signer-auth.d.ts +131 -0
  261. package/dist/services/auth/account-signer-auth.d.ts.map +1 -0
  262. package/dist/services/auth/account-signer-auth.js +337 -0
  263. package/dist/services/auth/account-signer-auth.js.map +1 -0
  264. package/dist/services/auth/auth.d.ts +91 -0
  265. package/dist/services/auth/auth.d.ts.map +1 -0
  266. package/dist/services/auth/auth.js +71 -0
  267. package/dist/services/auth/auth.js.map +1 -0
  268. package/dist/services/auth/auth.types.d.ts +3 -0
  269. package/dist/services/auth/cookie-constants.d.ts +6 -0
  270. package/dist/services/auth/cookie-constants.d.ts.map +1 -0
  271. package/dist/services/auth/cookie-constants.js +8 -0
  272. package/dist/services/auth/cookie-constants.js.map +1 -0
  273. package/dist/services/auth/profile/profile.d.ts +35 -0
  274. package/dist/services/auth/profile/profile.d.ts.map +1 -0
  275. package/dist/services/auth/profile/profile.js +61 -0
  276. package/dist/services/auth/profile/profile.js.map +1 -0
  277. package/dist/services/auth/profile/profile.schemas.d.ts +58 -0
  278. package/dist/services/auth/profile/profile.schemas.d.ts.map +1 -0
  279. package/dist/services/auth/profile/profile.schemas.js +39 -0
  280. package/dist/services/auth/profile/profile.schemas.js.map +1 -0
  281. package/dist/services/auth/profile/profile.types.d.ts +2 -0
  282. package/dist/services/auth/session-codec.js +22 -0
  283. package/dist/services/auth/session-codec.js.map +1 -0
  284. package/dist/services/auth/session.d.ts +51 -0
  285. package/dist/services/auth/session.d.ts.map +1 -0
  286. package/dist/services/auth/session.js +200 -0
  287. package/dist/services/auth/session.js.map +1 -0
  288. package/dist/services/auth/session.schemas.js +41 -0
  289. package/dist/services/auth/session.schemas.js.map +1 -0
  290. package/dist/services/auth/session.types.d.ts +70 -0
  291. package/dist/services/auth/session.types.d.ts.map +1 -0
  292. package/dist/services/auth/token-storage.d.ts +27 -0
  293. package/dist/services/auth/token-storage.d.ts.map +1 -0
  294. package/dist/services/auth/token-storage.js +61 -0
  295. package/dist/services/auth/token-storage.js.map +1 -0
  296. package/dist/services/balances/balances.codecs.js +29 -0
  297. package/dist/services/balances/balances.codecs.js.map +1 -0
  298. package/dist/services/balances/balances.d.ts +39 -0
  299. package/dist/services/balances/balances.d.ts.map +1 -0
  300. package/dist/services/balances/balances.js +85 -0
  301. package/dist/services/balances/balances.js.map +1 -0
  302. package/dist/services/balances/balances.merge.d.ts +9 -0
  303. package/dist/services/balances/balances.merge.d.ts.map +1 -0
  304. package/dist/services/balances/balances.merge.js +31 -0
  305. package/dist/services/balances/balances.merge.js.map +1 -0
  306. package/dist/services/balances/balances.schemas.d.ts +265 -0
  307. package/dist/services/balances/balances.schemas.d.ts.map +1 -0
  308. package/dist/services/balances/balances.schemas.js +167 -0
  309. package/dist/services/balances/balances.schemas.js.map +1 -0
  310. package/dist/services/balances/balances.types.d.ts +2 -0
  311. package/dist/services/balances/index.d.ts +4 -0
  312. package/dist/services/candles/candles.codecs.js +48 -0
  313. package/dist/services/candles/candles.codecs.js.map +1 -0
  314. package/dist/services/candles/candles.d.ts +45 -0
  315. package/dist/services/candles/candles.d.ts.map +1 -0
  316. package/dist/services/candles/candles.js +108 -0
  317. package/dist/services/candles/candles.js.map +1 -0
  318. package/dist/services/candles/candles.schemas.d.ts +182 -0
  319. package/dist/services/candles/candles.schemas.d.ts.map +1 -0
  320. package/dist/services/candles/candles.schemas.js +154 -0
  321. package/dist/services/candles/candles.schemas.js.map +1 -0
  322. package/dist/services/candles/candles.types.d.ts +2 -0
  323. package/dist/services/candles/index.d.ts +3 -0
  324. package/dist/services/chain-analytics/chain-analytics.codecs.d.ts +1 -0
  325. package/dist/services/chain-analytics/chain-analytics.codecs.js +33 -0
  326. package/dist/services/chain-analytics/chain-analytics.codecs.js.map +1 -0
  327. package/dist/services/chain-analytics/chain-analytics.d.ts +27 -0
  328. package/dist/services/chain-analytics/chain-analytics.d.ts.map +1 -0
  329. package/dist/services/chain-analytics/chain-analytics.js +48 -0
  330. package/dist/services/chain-analytics/chain-analytics.js.map +1 -0
  331. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts +192 -0
  332. package/dist/services/chain-analytics/chain-analytics.schemas.d.ts.map +1 -0
  333. package/dist/services/chain-analytics/chain-analytics.schemas.js +100 -0
  334. package/dist/services/chain-analytics/chain-analytics.schemas.js.map +1 -0
  335. package/dist/services/chain-analytics/chain-analytics.types.d.ts +2 -0
  336. package/dist/services/chain-analytics/index.d.ts +4 -0
  337. package/dist/services/deposit/deposit.d.ts +23 -0
  338. package/dist/services/deposit/deposit.d.ts.map +1 -0
  339. package/dist/services/deposit/deposit.js +42 -0
  340. package/dist/services/deposit/deposit.js.map +1 -0
  341. package/dist/services/deposit/deposit.schemas.d.ts +40 -0
  342. package/dist/services/deposit/deposit.schemas.d.ts.map +1 -0
  343. package/dist/services/deposit/deposit.schemas.js +27 -0
  344. package/dist/services/deposit/deposit.schemas.js.map +1 -0
  345. package/dist/services/deposit/deposit.types.d.ts +2 -0
  346. package/dist/services/deposit/index.d.ts +3 -0
  347. package/dist/services/guard-signer/guard-signer.codecs.d.ts +1 -0
  348. package/dist/services/guard-signer/guard-signer.codecs.js +33 -0
  349. package/dist/services/guard-signer/guard-signer.codecs.js.map +1 -0
  350. package/dist/services/guard-signer/guard-signer.d.ts +40 -0
  351. package/dist/services/guard-signer/guard-signer.d.ts.map +1 -0
  352. package/dist/services/guard-signer/guard-signer.js +85 -0
  353. package/dist/services/guard-signer/guard-signer.js.map +1 -0
  354. package/dist/services/guard-signer/guard-signer.schemas.d.ts +269 -0
  355. package/dist/services/guard-signer/guard-signer.schemas.d.ts.map +1 -0
  356. package/dist/services/guard-signer/guard-signer.schemas.js +93 -0
  357. package/dist/services/guard-signer/guard-signer.schemas.js.map +1 -0
  358. package/dist/services/guard-signer/guard-signer.types.d.ts +2 -0
  359. package/dist/services/guard-signer/index.d.ts +4 -0
  360. package/dist/services/heatmap/heatmap.codecs.d.ts +11 -0
  361. package/dist/services/heatmap/heatmap.codecs.d.ts.map +1 -0
  362. package/dist/services/heatmap/heatmap.codecs.js +76 -0
  363. package/dist/services/heatmap/heatmap.codecs.js.map +1 -0
  364. package/dist/services/heatmap/heatmap.d.ts +33 -0
  365. package/dist/services/heatmap/heatmap.d.ts.map +1 -0
  366. package/dist/services/heatmap/heatmap.js +79 -0
  367. package/dist/services/heatmap/heatmap.js.map +1 -0
  368. package/dist/services/heatmap/heatmap.schemas.d.ts +412 -0
  369. package/dist/services/heatmap/heatmap.schemas.d.ts.map +1 -0
  370. package/dist/services/heatmap/heatmap.schemas.js +174 -0
  371. package/dist/services/heatmap/heatmap.schemas.js.map +1 -0
  372. package/dist/services/heatmap/heatmap.types.d.ts +3 -0
  373. package/dist/services/heatmap/index.d.ts +4 -0
  374. package/dist/services/internal-transfers/index.d.ts +3 -0
  375. package/dist/services/internal-transfers/internal-transfers.codecs.js +10 -0
  376. package/dist/services/internal-transfers/internal-transfers.codecs.js.map +1 -0
  377. package/dist/services/internal-transfers/internal-transfers.d.ts +20 -0
  378. package/dist/services/internal-transfers/internal-transfers.d.ts.map +1 -0
  379. package/dist/services/internal-transfers/internal-transfers.js +39 -0
  380. package/dist/services/internal-transfers/internal-transfers.js.map +1 -0
  381. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts +174 -0
  382. package/dist/services/internal-transfers/internal-transfers.schemas.d.ts.map +1 -0
  383. package/dist/services/internal-transfers/internal-transfers.schemas.js +90 -0
  384. package/dist/services/internal-transfers/internal-transfers.schemas.js.map +1 -0
  385. package/dist/services/internal-transfers/internal-transfers.types.d.ts +2 -0
  386. package/dist/services/lifecycle/index.d.ts +4 -0
  387. package/dist/services/lifecycle/lifecycle.codecs.d.ts +23 -0
  388. package/dist/services/lifecycle/lifecycle.codecs.d.ts.map +1 -0
  389. package/dist/services/lifecycle/lifecycle.codecs.js +171 -0
  390. package/dist/services/lifecycle/lifecycle.codecs.js.map +1 -0
  391. package/dist/services/lifecycle/lifecycle.d.ts +42 -0
  392. package/dist/services/lifecycle/lifecycle.d.ts.map +1 -0
  393. package/dist/services/lifecycle/lifecycle.js +87 -0
  394. package/dist/services/lifecycle/lifecycle.js.map +1 -0
  395. package/dist/services/lifecycle/lifecycle.schemas.d.ts +2107 -0
  396. package/dist/services/lifecycle/lifecycle.schemas.d.ts.map +1 -0
  397. package/dist/services/lifecycle/lifecycle.schemas.js +282 -0
  398. package/dist/services/lifecycle/lifecycle.schemas.js.map +1 -0
  399. package/dist/services/lifecycle/lifecycle.types.d.ts +2 -0
  400. package/dist/services/market-data/index.d.ts +4 -0
  401. package/dist/services/market-data/market-data.codecs.js +18 -0
  402. package/dist/services/market-data/market-data.codecs.js.map +1 -0
  403. package/dist/services/market-data/market-data.d.ts +40 -0
  404. package/dist/services/market-data/market-data.d.ts.map +1 -0
  405. package/dist/services/market-data/market-data.js +75 -0
  406. package/dist/services/market-data/market-data.js.map +1 -0
  407. package/dist/services/market-data/market-data.schemas.d.ts +56 -0
  408. package/dist/services/market-data/market-data.schemas.d.ts.map +1 -0
  409. package/dist/services/market-data/market-data.schemas.js +178 -0
  410. package/dist/services/market-data/market-data.schemas.js.map +1 -0
  411. package/dist/services/market-data/market-data.types.d.ts +3 -0
  412. package/dist/services/market-overview/index.d.ts +4 -0
  413. package/dist/services/market-overview/market-overview.codecs.d.ts +1 -0
  414. package/dist/services/market-overview/market-overview.codecs.js +44 -0
  415. package/dist/services/market-overview/market-overview.codecs.js.map +1 -0
  416. package/dist/services/market-overview/market-overview.d.ts +32 -0
  417. package/dist/services/market-overview/market-overview.d.ts.map +1 -0
  418. package/dist/services/market-overview/market-overview.js +100 -0
  419. package/dist/services/market-overview/market-overview.js.map +1 -0
  420. package/dist/services/market-overview/market-overview.schemas.d.ts +85 -0
  421. package/dist/services/market-overview/market-overview.schemas.d.ts.map +1 -0
  422. package/dist/services/market-overview/market-overview.schemas.js +71 -0
  423. package/dist/services/market-overview/market-overview.schemas.js.map +1 -0
  424. package/dist/services/market-overview/market-overview.types.d.ts +2 -0
  425. package/dist/services/mfa/index.d.ts +4 -0
  426. package/dist/services/mfa/mfa.codecs.d.ts +1 -0
  427. package/dist/services/mfa/mfa.codecs.js +44 -0
  428. package/dist/services/mfa/mfa.codecs.js.map +1 -0
  429. package/dist/services/mfa/mfa.d.ts +74 -0
  430. package/dist/services/mfa/mfa.d.ts.map +1 -0
  431. package/dist/services/mfa/mfa.js +139 -0
  432. package/dist/services/mfa/mfa.js.map +1 -0
  433. package/dist/services/mfa/mfa.schemas.d.ts +392 -0
  434. package/dist/services/mfa/mfa.schemas.d.ts.map +1 -0
  435. package/dist/services/mfa/mfa.schemas.js +132 -0
  436. package/dist/services/mfa/mfa.schemas.js.map +1 -0
  437. package/dist/services/mfa/mfa.types.d.ts +2 -0
  438. package/dist/services/orderbook/index.d.ts +3 -0
  439. package/dist/services/orderbook/orderbook.codecs.js +45 -0
  440. package/dist/services/orderbook/orderbook.codecs.js.map +1 -0
  441. package/dist/services/orderbook/orderbook.d.ts +42 -0
  442. package/dist/services/orderbook/orderbook.d.ts.map +1 -0
  443. package/dist/services/orderbook/orderbook.js +193 -0
  444. package/dist/services/orderbook/orderbook.js.map +1 -0
  445. package/dist/services/orderbook/orderbook.schemas.d.ts +68 -0
  446. package/dist/services/orderbook/orderbook.schemas.d.ts.map +1 -0
  447. package/dist/services/orderbook/orderbook.schemas.js +43 -0
  448. package/dist/services/orderbook/orderbook.schemas.js.map +1 -0
  449. package/dist/services/orderbook/orderbook.types.d.ts +3 -0
  450. package/dist/services/orders/index.d.ts +9 -0
  451. package/dist/services/orders/order-enums.codecs.js +85 -0
  452. package/dist/services/orders/order-enums.codecs.js.map +1 -0
  453. package/dist/services/orders/order-errors.schemas.d.ts +7 -0
  454. package/dist/services/orders/order-errors.schemas.d.ts.map +1 -0
  455. package/dist/services/orders/order-errors.schemas.js +20 -0
  456. package/dist/services/orders/order-errors.schemas.js.map +1 -0
  457. package/dist/services/orders/orders-batch.schemas.d.ts +2979 -0
  458. package/dist/services/orders/orders-batch.schemas.d.ts.map +1 -0
  459. package/dist/services/orders/orders-batch.schemas.js +282 -0
  460. package/dist/services/orders/orders-batch.schemas.js.map +1 -0
  461. package/dist/services/orders/orders-identifiers.schemas.js +11 -0
  462. package/dist/services/orders/orders-identifiers.schemas.js.map +1 -0
  463. package/dist/services/orders/orders-input.schemas.d.ts +3738 -0
  464. package/dist/services/orders/orders-input.schemas.d.ts.map +1 -0
  465. package/dist/services/orders/orders-input.schemas.js +267 -0
  466. package/dist/services/orders/orders-input.schemas.js.map +1 -0
  467. package/dist/services/orders/orders-modify.schemas.d.ts +1774 -0
  468. package/dist/services/orders/orders-modify.schemas.d.ts.map +1 -0
  469. package/dist/services/orders/orders-modify.schemas.js +132 -0
  470. package/dist/services/orders/orders-modify.schemas.js.map +1 -0
  471. package/dist/services/orders/orders-output.schemas.d.ts +598 -0
  472. package/dist/services/orders/orders-output.schemas.d.ts.map +1 -0
  473. package/dist/services/orders/orders-output.schemas.js +139 -0
  474. package/dist/services/orders/orders-output.schemas.js.map +1 -0
  475. package/dist/services/orders/orders-risk.schemas.d.ts +1041 -0
  476. package/dist/services/orders/orders-risk.schemas.d.ts.map +1 -0
  477. package/dist/services/orders/orders-risk.schemas.js +251 -0
  478. package/dist/services/orders/orders-risk.schemas.js.map +1 -0
  479. package/dist/services/orders/orders.codecs.js +75 -0
  480. package/dist/services/orders/orders.codecs.js.map +1 -0
  481. package/dist/services/orders/orders.d.ts +88 -0
  482. package/dist/services/orders/orders.d.ts.map +1 -0
  483. package/dist/services/orders/orders.js +242 -0
  484. package/dist/services/orders/orders.js.map +1 -0
  485. package/dist/services/orders/orders.schemas.d.ts +7 -0
  486. package/dist/services/orders/orders.types.d.ts +8 -0
  487. package/dist/services/policies/api-key-policies/api-key-policies.d.ts +39 -0
  488. package/dist/services/policies/api-key-policies/api-key-policies.d.ts.map +1 -0
  489. package/dist/services/policies/api-key-policies/api-key-policies.js +74 -0
  490. package/dist/services/policies/api-key-policies/api-key-policies.js.map +1 -0
  491. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts +392 -0
  492. package/dist/services/policies/api-key-policies/api-key-policies.schemas.d.ts.map +1 -0
  493. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js +169 -0
  494. package/dist/services/policies/api-key-policies/api-key-policies.schemas.js.map +1 -0
  495. package/dist/services/policies/api-key-policies/api-key-policies.types.d.ts +2 -0
  496. package/dist/services/policies/api-key-policies/index.d.ts +3 -0
  497. package/dist/services/policies/policies.types.d.ts +2 -0
  498. package/dist/services/policies/shared.codecs.js +61 -0
  499. package/dist/services/policies/shared.codecs.js.map +1 -0
  500. package/dist/services/policies/shared.d.ts +10 -0
  501. package/dist/services/policies/shared.d.ts.map +1 -0
  502. package/dist/services/policies/shared.js +33 -0
  503. package/dist/services/policies/shared.js.map +1 -0
  504. package/dist/services/policies/subaccount-policies/index.d.ts +3 -0
  505. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts +50 -0
  506. package/dist/services/policies/subaccount-policies/subaccount-policies.d.ts.map +1 -0
  507. package/dist/services/policies/subaccount-policies/subaccount-policies.js +93 -0
  508. package/dist/services/policies/subaccount-policies/subaccount-policies.js.map +1 -0
  509. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts +429 -0
  510. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.d.ts.map +1 -0
  511. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js +300 -0
  512. package/dist/services/policies/subaccount-policies/subaccount-policies.schemas.js.map +1 -0
  513. package/dist/services/policies/subaccount-policies/subaccount-policies.types.d.ts +2 -0
  514. package/dist/services/shared.js +24 -0
  515. package/dist/services/shared.js.map +1 -0
  516. package/dist/services/social-verification/index.d.ts +3 -0
  517. package/dist/services/social-verification/social-verification.codecs.d.ts +1 -0
  518. package/dist/services/social-verification/social-verification.codecs.js +55 -0
  519. package/dist/services/social-verification/social-verification.codecs.js.map +1 -0
  520. package/dist/services/social-verification/social-verification.d.ts +27 -0
  521. package/dist/services/social-verification/social-verification.d.ts.map +1 -0
  522. package/dist/services/social-verification/social-verification.js +43 -0
  523. package/dist/services/social-verification/social-verification.js.map +1 -0
  524. package/dist/services/social-verification/social-verification.schemas.d.ts +96 -0
  525. package/dist/services/social-verification/social-verification.schemas.d.ts.map +1 -0
  526. package/dist/services/social-verification/social-verification.schemas.js +69 -0
  527. package/dist/services/social-verification/social-verification.schemas.js.map +1 -0
  528. package/dist/services/social-verification/social-verification.types.d.ts +2 -0
  529. package/dist/services/subaccount-resolver.d.ts +14 -0
  530. package/dist/services/subaccount-resolver.d.ts.map +1 -0
  531. package/dist/services/subaccount-resolver.js +33 -0
  532. package/dist/services/subaccount-resolver.js.map +1 -0
  533. package/dist/services/subaccounts/index.d.ts +3 -0
  534. package/dist/services/subaccounts/subaccounts.codecs.js +94 -0
  535. package/dist/services/subaccounts/subaccounts.codecs.js.map +1 -0
  536. package/dist/services/subaccounts/subaccounts.d.ts +102 -0
  537. package/dist/services/subaccounts/subaccounts.d.ts.map +1 -0
  538. package/dist/services/subaccounts/subaccounts.js +196 -0
  539. package/dist/services/subaccounts/subaccounts.js.map +1 -0
  540. package/dist/services/subaccounts/subaccounts.schemas.d.ts +257 -0
  541. package/dist/services/subaccounts/subaccounts.schemas.d.ts.map +1 -0
  542. package/dist/services/subaccounts/subaccounts.schemas.js +178 -0
  543. package/dist/services/subaccounts/subaccounts.schemas.js.map +1 -0
  544. package/dist/services/subaccounts/subaccounts.types.d.ts +2 -0
  545. package/dist/services/trades/index.d.ts +3 -0
  546. package/dist/services/trades/trades.codecs.js +10 -0
  547. package/dist/services/trades/trades.codecs.js.map +1 -0
  548. package/dist/services/trades/trades.d.ts +33 -0
  549. package/dist/services/trades/trades.d.ts.map +1 -0
  550. package/dist/services/trades/trades.js +64 -0
  551. package/dist/services/trades/trades.js.map +1 -0
  552. package/dist/services/trades/trades.schemas.d.ts +80 -0
  553. package/dist/services/trades/trades.schemas.d.ts.map +1 -0
  554. package/dist/services/trades/trades.schemas.js +66 -0
  555. package/dist/services/trades/trades.schemas.js.map +1 -0
  556. package/dist/services/trades/trades.types.d.ts +2 -0
  557. package/dist/services/trading-withdraws/index.d.ts +4 -0
  558. package/dist/services/trading-withdraws/trading-withdraws.codecs.d.ts +1 -0
  559. package/dist/services/trading-withdraws/trading-withdraws.codecs.js +10 -0
  560. package/dist/services/trading-withdraws/trading-withdraws.codecs.js.map +1 -0
  561. package/dist/services/trading-withdraws/trading-withdraws.d.ts +124 -0
  562. package/dist/services/trading-withdraws/trading-withdraws.d.ts.map +1 -0
  563. package/dist/services/trading-withdraws/trading-withdraws.js +218 -0
  564. package/dist/services/trading-withdraws/trading-withdraws.js.map +1 -0
  565. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts +73 -0
  566. package/dist/services/trading-withdraws/trading-withdraws.schemas.d.ts.map +1 -0
  567. package/dist/services/trading-withdraws/trading-withdraws.schemas.js +95 -0
  568. package/dist/services/trading-withdraws/trading-withdraws.schemas.js.map +1 -0
  569. package/dist/services/trading-withdraws/trading-withdraws.types.d.ts +3 -0
  570. package/dist/services/trailing-oneof-inputs.js +49 -0
  571. package/dist/services/trailing-oneof-inputs.js.map +1 -0
  572. package/dist/services/transfers/index.d.ts +4 -0
  573. package/dist/services/transfers/transfers.codecs.d.ts +6 -0
  574. package/dist/services/transfers/transfers.codecs.d.ts.map +1 -0
  575. package/dist/services/transfers/transfers.codecs.js +15 -0
  576. package/dist/services/transfers/transfers.codecs.js.map +1 -0
  577. package/dist/services/transfers/transfers.d.ts +33 -0
  578. package/dist/services/transfers/transfers.d.ts.map +1 -0
  579. package/dist/services/transfers/transfers.js +63 -0
  580. package/dist/services/transfers/transfers.js.map +1 -0
  581. package/dist/services/transfers/transfers.schemas.d.ts +121 -0
  582. package/dist/services/transfers/transfers.schemas.d.ts.map +1 -0
  583. package/dist/services/transfers/transfers.schemas.js +77 -0
  584. package/dist/services/transfers/transfers.schemas.js.map +1 -0
  585. package/dist/services/transfers/transfers.types.d.ts +3 -0
  586. package/dist/services/triggers/index.d.ts +5 -0
  587. package/dist/services/triggers/trigger-child-order.schemas.js +89 -0
  588. package/dist/services/triggers/trigger-child-order.schemas.js.map +1 -0
  589. package/dist/services/triggers/trigger-input.schemas.d.ts +1009 -0
  590. package/dist/services/triggers/trigger-input.schemas.d.ts.map +1 -0
  591. package/dist/services/triggers/trigger-input.schemas.js +270 -0
  592. package/dist/services/triggers/trigger-input.schemas.js.map +1 -0
  593. package/dist/services/triggers/triggers-output.schemas.d.ts +688 -0
  594. package/dist/services/triggers/triggers-output.schemas.d.ts.map +1 -0
  595. package/dist/services/triggers/triggers-output.schemas.js +372 -0
  596. package/dist/services/triggers/triggers-output.schemas.js.map +1 -0
  597. package/dist/services/triggers/triggers.codecs.js +100 -0
  598. package/dist/services/triggers/triggers.codecs.js.map +1 -0
  599. package/dist/services/triggers/triggers.d.ts +71 -0
  600. package/dist/services/triggers/triggers.d.ts.map +1 -0
  601. package/dist/services/triggers/triggers.js +176 -0
  602. package/dist/services/triggers/triggers.js.map +1 -0
  603. package/dist/services/triggers/triggers.schemas.d.ts +3 -0
  604. package/dist/services/triggers/triggers.types.d.ts +5 -0
  605. package/dist/services/whiteboard/index.d.ts +3 -0
  606. package/dist/services/whiteboard/whiteboard.codecs.js +55 -0
  607. package/dist/services/whiteboard/whiteboard.codecs.js.map +1 -0
  608. package/dist/services/whiteboard/whiteboard.d.ts +42 -0
  609. package/dist/services/whiteboard/whiteboard.d.ts.map +1 -0
  610. package/dist/services/whiteboard/whiteboard.js +76 -0
  611. package/dist/services/whiteboard/whiteboard.js.map +1 -0
  612. package/dist/services/whiteboard/whiteboard.schemas.d.ts +771 -0
  613. package/dist/services/whiteboard/whiteboard.schemas.d.ts.map +1 -0
  614. package/dist/services/whiteboard/whiteboard.schemas.js +133 -0
  615. package/dist/services/whiteboard/whiteboard.schemas.js.map +1 -0
  616. package/dist/services/whiteboard/whiteboard.types.d.ts +2 -0
  617. package/dist/services/zipper/index.d.ts +4 -0
  618. package/dist/services/zipper/zipper.d.ts +28 -0
  619. package/dist/services/zipper/zipper.d.ts.map +1 -0
  620. package/dist/services/zipper/zipper.js +84 -0
  621. package/dist/services/zipper/zipper.js.map +1 -0
  622. package/dist/services/zipper/zipper.schemas.d.ts +13 -0
  623. package/dist/services/zipper/zipper.schemas.d.ts.map +1 -0
  624. package/dist/services/zipper/zipper.schemas.js +89 -0
  625. package/dist/services/zipper/zipper.schemas.js.map +1 -0
  626. package/dist/services/zipper/zipper.types.d.ts +4 -0
  627. package/dist/shared/account-scope.d.ts +17 -0
  628. package/dist/shared/account-scope.d.ts.map +1 -0
  629. package/dist/shared/account-scope.js +14 -0
  630. package/dist/shared/account-scope.js.map +1 -0
  631. package/dist/shared/catalog-config.d.ts +95 -0
  632. package/dist/shared/catalog-config.d.ts.map +1 -0
  633. package/dist/shared/catalog-config.js +12 -0
  634. package/dist/shared/catalog-config.js.map +1 -0
  635. package/dist/shared/connect-error-mapping.d.ts +23 -0
  636. package/dist/shared/connect-error-mapping.d.ts.map +1 -0
  637. package/dist/shared/connect-error-mapping.js +147 -0
  638. package/dist/shared/connect-error-mapping.js.map +1 -0
  639. package/dist/shared/decimal-surface.d.ts +18 -0
  640. package/dist/shared/decimal-surface.d.ts.map +1 -0
  641. package/dist/shared/decimal-surface.js +89 -0
  642. package/dist/shared/decimal-surface.js.map +1 -0
  643. package/dist/shared/errors.d.ts +242 -0
  644. package/dist/shared/errors.d.ts.map +1 -0
  645. package/dist/shared/errors.js +271 -0
  646. package/dist/shared/errors.js.map +1 -0
  647. package/dist/shared/ledger-codes.d.ts +9 -0
  648. package/dist/shared/ledger-codes.d.ts.map +1 -0
  649. package/dist/shared/ledger-codes.js +63 -0
  650. package/dist/shared/ledger-codes.js.map +1 -0
  651. package/dist/shared/proto-enum-codec.js +13 -0
  652. package/dist/shared/proto-enum-codec.js.map +1 -0
  653. package/dist/shared/reconciliation.d.ts +14 -0
  654. package/dist/shared/reconciliation.d.ts.map +1 -0
  655. package/dist/shared/reconciliation.js +30 -0
  656. package/dist/shared/reconciliation.js.map +1 -0
  657. package/dist/shared/request-options.d.ts +10 -0
  658. package/dist/shared/request-options.d.ts.map +1 -0
  659. package/dist/shared/request-options.js +22 -0
  660. package/dist/shared/request-options.js.map +1 -0
  661. package/dist/shared/schemas.js +65 -0
  662. package/dist/shared/schemas.js.map +1 -0
  663. package/dist/shared/subscription-errors.d.ts +14 -0
  664. package/dist/shared/subscription-errors.d.ts.map +1 -0
  665. package/dist/shared/subscription-errors.js +49 -0
  666. package/dist/shared/subscription-errors.js.map +1 -0
  667. package/dist/shared/transports.d.ts +28 -0
  668. package/dist/shared/transports.d.ts.map +1 -0
  669. package/dist/shared/transports.js +111 -0
  670. package/dist/shared/transports.js.map +1 -0
  671. package/dist/shared/types.d.ts +11 -0
  672. package/dist/shared/types.d.ts.map +1 -0
  673. package/dist/smart-account/index.d.ts +2 -0
  674. package/dist/smart-account/index.js +2 -0
  675. package/dist/smart-account/smart-account.d.ts +3093 -0
  676. package/dist/smart-account/smart-account.d.ts.map +1 -0
  677. package/dist/smart-account/smart-account.js +94 -0
  678. package/dist/smart-account/smart-account.js.map +1 -0
  679. package/dist/utils/base58-id.js +110 -0
  680. package/dist/utils/base58-id.js.map +1 -0
  681. package/dist/utils/columnar-time.d.ts +11 -0
  682. package/dist/utils/columnar-time.d.ts.map +1 -0
  683. package/dist/utils/columnar-time.js +30 -0
  684. package/dist/utils/columnar-time.js.map +1 -0
  685. package/dist/utils/connect-mfa-errors.d.ts +23 -0
  686. package/dist/utils/connect-mfa-errors.d.ts.map +1 -0
  687. package/dist/utils/connect-mfa-errors.js +34 -0
  688. package/dist/utils/connect-mfa-errors.js.map +1 -0
  689. package/dist/utils/connect-order-errors.d.ts +9 -0
  690. package/dist/utils/connect-order-errors.d.ts.map +1 -0
  691. package/dist/utils/connect-order-errors.js +20 -0
  692. package/dist/utils/connect-order-errors.js.map +1 -0
  693. package/dist/utils/cookie-es/_utils.js +41 -0
  694. package/dist/utils/cookie-es/_utils.js.map +1 -0
  695. package/dist/utils/cookie-es/cookie/parse.js +53 -0
  696. package/dist/utils/cookie-es/cookie/parse.js.map +1 -0
  697. package/dist/utils/cookie-es/cookie/serialize.js +145 -0
  698. package/dist/utils/cookie-es/cookie/serialize.js.map +1 -0
  699. package/dist/utils/cookies.d.ts +7 -0
  700. package/dist/utils/cookies.d.ts.map +1 -0
  701. package/dist/utils/cookies.js +110 -0
  702. package/dist/utils/cookies.js.map +1 -0
  703. package/dist/utils/errors.d.ts +36 -0
  704. package/dist/utils/errors.d.ts.map +1 -0
  705. package/dist/utils/errors.js +111 -0
  706. package/dist/utils/errors.js.map +1 -0
  707. package/dist/utils/event-emitter.d.ts +31 -0
  708. package/dist/utils/event-emitter.d.ts.map +1 -0
  709. package/dist/utils/event-emitter.js +51 -0
  710. package/dist/utils/event-emitter.js.map +1 -0
  711. package/dist/utils/evm.d.ts +33 -0
  712. package/dist/utils/evm.d.ts.map +1 -0
  713. package/dist/utils/evm.js +53 -0
  714. package/dist/utils/evm.js.map +1 -0
  715. package/dist/utils/is-dev.js +57 -0
  716. package/dist/utils/is-dev.js.map +1 -0
  717. package/dist/utils/jwt.d.ts +8 -0
  718. package/dist/utils/jwt.d.ts.map +1 -0
  719. package/dist/utils/jwt.js +74 -0
  720. package/dist/utils/jwt.js.map +1 -0
  721. package/dist/utils/numbers.js +60 -0
  722. package/dist/utils/numbers.js.map +1 -0
  723. package/dist/utils/proto-patch.js +29 -0
  724. package/dist/utils/proto-patch.js.map +1 -0
  725. package/dist/utils/remove-undefined.js +12 -0
  726. package/dist/utils/remove-undefined.js.map +1 -0
  727. package/dist/utils/streams.js +19 -0
  728. package/dist/utils/streams.js.map +1 -0
  729. package/dist/utils/time.d.ts +22 -0
  730. package/dist/utils/time.d.ts.map +1 -0
  731. package/dist/utils/time.js +71 -0
  732. package/dist/utils/time.js.map +1 -0
  733. package/dist/utils/timestamp.js +52 -0
  734. package/dist/utils/timestamp.js.map +1 -0
  735. package/dist/utils/types.d.ts +6 -0
  736. package/dist/utils/types.d.ts.map +1 -0
  737. package/dist/utils/u128.d.ts +8 -0
  738. package/dist/utils/u128.d.ts.map +1 -0
  739. package/dist/utils/u128.js +43 -0
  740. package/dist/utils/u128.js.map +1 -0
  741. package/dist/wired-services.d.ts +15 -0
  742. package/dist/wired-services.d.ts.map +1 -0
  743. package/dist/wired-services.js +67 -0
  744. package/dist/wired-services.js.map +1 -0
  745. package/package.json +117 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"snapshot.js","names":[],"sources":["../../src/catalogs/snapshot.ts"],"sourcesContent":["import { buildMarketCatalogData, type MarketCatalogSeed } from \"./market-data-catalog.js\";\nimport type { CatalogSnapshot } from \"./types.js\";\nimport { buildZipperCatalogData, type ZipperCatalogSeed } from \"./zipper-catalog.js\";\n\nexport type CatalogSnapshotInput = {\n readonly market: MarketCatalogSeed;\n readonly zipper: ZipperCatalogSeed;\n};\n\nexport function buildCatalogSnapshot(params: {\n market: MarketCatalogSeed;\n zipper: ZipperCatalogSeed;\n source?: CatalogSnapshot[\"source\"];\n version?: number;\n tsMs?: number;\n}): CatalogSnapshot {\n return Object.freeze({\n source: params.source ?? \"snapshot\",\n tsMs: params.tsMs ?? Date.now(),\n version: params.version ?? 1,\n market: buildMarketCatalogData(params.market),\n zipper: buildZipperCatalogData(params.zipper),\n });\n}\n"],"mappings":";;;AASA,SAAgB,qBAAqB,QAMjB;CAChB,OAAO,OAAO,OAAO;EACjB,QAAQ,OAAO,UAAU;EACzB,MAAM,OAAO,QAAQ,KAAK,IAAI;EAC9B,SAAS,OAAO,WAAW;EAC3B,QAAQ,uBAAuB,OAAO,MAAM;EAC5C,QAAQ,uBAAuB,OAAO,MAAM;CAChD,CAAC;AACL"}
@@ -0,0 +1,268 @@
1
+ import { AssetConfig, DepositWithdrawConfig, PairStatus, SpotConfig, ZipperChainConfig, ZipperChainContractConfig } from "../shared/catalog-config.js";
2
+ import { EnrichedPairConfig, MarketCatalogData } from "./market-data-catalog.js";
3
+ import { RequestError, ValidationError } from "../shared/errors.js";
4
+ import { ZipperCatalogData, ZipperContractName, ZipperEnrichedAssetChain, ZipperEnrichedAssetConfig } from "./zipper-catalog.js";
5
+ //#region src/catalogs/types.d.ts
6
+ /** Pair lookup key: symbol, symbolId, or an explicit object form. */
7
+ type PairCatalogKey = string | number | {
8
+ symbol: string;
9
+ } | {
10
+ symbolId: number;
11
+ };
12
+ /** Asset lookup key: symbol, ledger id, or an explicit object form. */
13
+ type AssetCatalogKey = string | number | {
14
+ symbol: string;
15
+ } | {
16
+ ledgerId: number;
17
+ };
18
+ /** Chain lookup key: chain code, chain id, or an explicit object form. */
19
+ type ChainCatalogKey = string | number | {
20
+ code: string;
21
+ } | {
22
+ chainId: number;
23
+ };
24
+ /** Raw scaled integer accepted on the SDK side of catalog conversions. */
25
+ type ScaledIntegerLike = bigint | number | string;
26
+ type CatalogLookupDomain = "market" | "ledger" | "orders" | "zipper";
27
+ type CatalogSnapshotSource = "api" | "snapshot";
28
+ type CatalogStateSource = CatalogSnapshotSource | "empty";
29
+ /** A catalog lookup key (pair, asset, chain, …) did not match any entry. */
30
+ declare class CatalogLookupError extends RequestError {
31
+ readonly domain: CatalogLookupDomain;
32
+ readonly lookup: string;
33
+ readonly value: string | number;
34
+ readonly code = "CATALOG_LOOKUP_MISS";
35
+ constructor(domain: CatalogLookupDomain, lookup: string, value: string | number);
36
+ }
37
+ /** The catalog has no snapshot yet — call `catalog.ensureReady()` first. */
38
+ declare class CatalogNotReadyError extends RequestError {
39
+ readonly code = "CATALOG_NOT_READY";
40
+ constructor();
41
+ }
42
+ /** A decimal/scaled conversion failed (bad input or excess precision). */
43
+ declare class CatalogConversionError extends ValidationError {
44
+ readonly field: string;
45
+ readonly code = "CATALOG_CONVERSION_INVALID";
46
+ constructor(field: string, message: string);
47
+ }
48
+ /** Order input failed validation against pair constraints. */
49
+ declare class CatalogValidationFailedError extends ValidationError {
50
+ readonly errors: readonly CatalogValidationError[];
51
+ readonly code = "CATALOG_VALIDATION_FAILED";
52
+ constructor(errors: readonly CatalogValidationError[]);
53
+ }
54
+ /**
55
+ * Result of a strict decimal-to-SDK conversion. `scaledValue` is the raw
56
+ * JSON-safe integer string for service calls; `decimal` is the exact decimal
57
+ * string; `display` is the display-normalized decimal string.
58
+ */
59
+ interface ParsedCatalogAmount {
60
+ readonly scaledValue: string;
61
+ readonly decimal: string;
62
+ readonly display: string;
63
+ readonly scale: number;
64
+ }
65
+ interface CatalogValidationError {
66
+ readonly field: string;
67
+ readonly rule: string;
68
+ readonly message: string;
69
+ readonly expected?: string;
70
+ readonly actual?: string;
71
+ }
72
+ interface CatalogValidationResult {
73
+ readonly valid: boolean;
74
+ readonly errors: readonly CatalogValidationError[];
75
+ }
76
+ /** Trading constraints for a spot pair, for UI decisions and input validation. */
77
+ interface SpotOrderConstraints {
78
+ readonly symbolId: number;
79
+ readonly symbol: string;
80
+ readonly status: PairStatus;
81
+ readonly tickSize: string;
82
+ readonly stepSize: string;
83
+ readonly minQtyBase: string;
84
+ readonly minNotionalQuote: string;
85
+ readonly priceScale: number;
86
+ readonly quantityScale: number;
87
+ readonly quoteAmountScale: number;
88
+ readonly priceDisplayDecimals: number;
89
+ readonly quantityDisplayDecimals: number;
90
+ readonly quoteAmountDisplayDecimals: number;
91
+ }
92
+ interface SpotOrderDecimalInput {
93
+ readonly pair: PairCatalogKey;
94
+ readonly quantity: string;
95
+ readonly price?: string;
96
+ }
97
+ interface ZipperAssetChainRoute {
98
+ readonly asset: ZipperEnrichedAssetConfig;
99
+ readonly chain: ZipperEnrichedAssetChain;
100
+ }
101
+ interface CatalogReader {
102
+ readonly market: MarketCatalogReader;
103
+ readonly ledger: LedgerCatalogReader;
104
+ readonly orders: OrdersCatalogReader;
105
+ readonly zipper: ZipperCatalogReader;
106
+ snapshot(): CatalogSnapshot;
107
+ }
108
+ interface ClientCatalog extends CatalogReader {
109
+ state(): CatalogState;
110
+ /** Passive: resolves the current snapshot or in-flight refresh; never starts one. */
111
+ ready(): Promise<CatalogSnapshot | null>;
112
+ /** Resolves the current snapshot, starting a refresh when the catalog is empty. */
113
+ ensureReady(): Promise<CatalogSnapshot>;
114
+ refresh(): Promise<CatalogSnapshot>;
115
+ setSnapshot(snapshot: CatalogSnapshot): void;
116
+ }
117
+ interface CatalogSnapshot {
118
+ readonly source: CatalogSnapshotSource;
119
+ readonly tsMs: number;
120
+ readonly version: number;
121
+ readonly market: MarketCatalogData;
122
+ readonly zipper: ZipperCatalogData;
123
+ }
124
+ type CatalogState = {
125
+ status: "empty";
126
+ } | {
127
+ status: "refreshing";
128
+ previousSource: CatalogStateSource;
129
+ } | {
130
+ status: "fresh";
131
+ source: CatalogSnapshotSource;
132
+ } | {
133
+ status: "stale";
134
+ source: CatalogStateSource;
135
+ error: unknown;
136
+ };
137
+ interface CatalogRefreshSource {
138
+ market(): Promise<SpotConfig>;
139
+ zipper(): Promise<DepositWithdrawConfig>;
140
+ }
141
+ /**
142
+ * External storage for the catalog's current snapshot. Injecting a cell lets the host
143
+ * own where the snapshot lives (e.g. a reactive signal) while the catalog keeps owning
144
+ * all logic — refresh, dedup, state, readers. Every reader lookup goes through
145
+ * `get()`, so a host whose `get()` reads a reactive source makes every catalog read
146
+ * reactive by construction.
147
+ */
148
+ interface CatalogSnapshotCell {
149
+ get(): CatalogSnapshot | undefined;
150
+ set(snapshot: CatalogSnapshot): void;
151
+ }
152
+ interface CreatePolyesterCatalogOptions {
153
+ snapshot?: CatalogSnapshot;
154
+ refresh?: false | CatalogRefreshSource;
155
+ /** When provided, the catalog reads/writes its snapshot through this cell. */
156
+ cell?: CatalogSnapshotCell;
157
+ }
158
+ interface MarketCatalogReader {
159
+ listAssets(): readonly AssetConfig[];
160
+ getAsset(asset: AssetCatalogKey): AssetConfig | null;
161
+ requireAsset(asset: AssetCatalogKey): AssetConfig;
162
+ getAssetBySymbol(assetSymbol: string): AssetConfig | null;
163
+ requireAssetBySymbol(assetSymbol: string): AssetConfig;
164
+ getAssetByLedgerId(ledgerAssetId: number): AssetConfig;
165
+ requireAssetByLedgerId(ledgerAssetId: number): AssetConfig;
166
+ listPairs(filter?: {
167
+ listed?: boolean;
168
+ everListed?: boolean;
169
+ atMs?: number;
170
+ }): readonly EnrichedPairConfig[];
171
+ getPair(pair: PairCatalogKey): EnrichedPairConfig | null;
172
+ requirePair(pair: PairCatalogKey): EnrichedPairConfig;
173
+ getPairBySymbol(pairSymbol: string): EnrichedPairConfig | null;
174
+ requirePairBySymbol(pairSymbol: string): EnrichedPairConfig;
175
+ getPairBySymbolId(pairSymbolId: number): EnrichedPairConfig | null;
176
+ requirePairBySymbolId(pairSymbolId: number): EnrichedPairConfig;
177
+ getSymbolIdByPairSymbol(pairSymbol: string): number | null;
178
+ requireSymbolIdByPairSymbol(pairSymbol: string): number;
179
+ getPairSymbolBySymbolId(pairSymbolId: number): string | null;
180
+ requirePairSymbolBySymbolId(pairSymbolId: number): string;
181
+ /** Strictly converts a decimal price into raw price ticks. */
182
+ decimalPriceToTicks(price: string, pair: PairCatalogKey): ParsedCatalogAmount;
183
+ /** Truncates a raw price input to the pair's price precision. */
184
+ normalizePriceInput(price: string, pair: PairCatalogKey): string;
185
+ priceTicksToDecimalString(priceTicks: ScaledIntegerLike, pair: PairCatalogKey): string;
186
+ priceTicksToDisplayString(priceTicks: ScaledIntegerLike, pair: PairCatalogKey): string;
187
+ /** Display-rounds a decimal price string (grouping-free) for UI rendering. */
188
+ formatPrice(price: string, pair: PairCatalogKey): string;
189
+ /** Strictly converts a decimal base quantity into the pair's scaled quantity. */
190
+ decimalQuantityToScaled(quantity: string, pair: PairCatalogKey): ParsedCatalogAmount;
191
+ /** Truncates a raw quantity input to the base asset's quantity scale. */
192
+ normalizeQuantityInput(quantity: string, pair: PairCatalogKey): string;
193
+ quantityScaledToDecimalString(quantityScaled: ScaledIntegerLike, pair: PairCatalogKey): string;
194
+ quantityScaledToDisplayString(quantityScaled: ScaledIntegerLike, pair: PairCatalogKey): string;
195
+ /** Display-rounds a decimal base-quantity string for UI rendering. */
196
+ formatQuantity(quantity: string, pair: PairCatalogKey): string;
197
+ /** Strictly converts a decimal quote amount into the quote asset's scaled amount. */
198
+ decimalQuoteAmountToScaled(amount: string, pair: PairCatalogKey): ParsedCatalogAmount;
199
+ /** Truncates a raw quote amount input to the quote asset's quantity scale. */
200
+ normalizeQuoteAmountInput(amount: string, pair: PairCatalogKey): string;
201
+ quoteAmountScaledToDecimalString(amountScaled: ScaledIntegerLike, pair: PairCatalogKey): string;
202
+ quoteAmountScaledToDisplayString(amountScaled: ScaledIntegerLike, pair: PairCatalogKey): string;
203
+ /** Display-rounds a decimal quote-amount string for UI rendering. */
204
+ formatQuoteAmount(amount: string, pair: PairCatalogKey): string;
205
+ }
206
+ interface LedgerCatalogReader {
207
+ getAssetByLedgerId(ledgerAssetId: number): AssetConfig;
208
+ requireAssetByLedgerId(ledgerAssetId: number): AssetConfig;
209
+ getAssetBySymbol(assetSymbol: string): AssetConfig | null;
210
+ requireAssetBySymbol(assetSymbol: string): AssetConfig;
211
+ getLedgerIdBySymbol(assetSymbol: string): number | null;
212
+ requireLedgerIdBySymbol(assetSymbol: string): number;
213
+ requireSymbolByLedgerId(ledgerAssetId: number): string;
214
+ isKnownAssetId(ledgerAssetId: number): boolean;
215
+ /** Strictly converts a decimal amount into the asset's scaled amount. */
216
+ decimalAmountToScaled(amount: string, asset: AssetCatalogKey): ParsedCatalogAmount;
217
+ /** Truncates a raw amount input to the asset's quantity scale. */
218
+ normalizeAmountInput(amount: string, asset: AssetCatalogKey): string;
219
+ amountScaledToDecimalString(amountScaled: ScaledIntegerLike, asset: AssetCatalogKey): string;
220
+ amountScaledToDisplayString(amountScaled: ScaledIntegerLike, asset: AssetCatalogKey): string;
221
+ /** Display-rounds a decimal ledger-amount string for UI rendering. */
222
+ formatAmount(amount: string, asset: AssetCatalogKey): string;
223
+ }
224
+ interface OrdersCatalogReader {
225
+ getSpotOrderConstraints(pair: PairCatalogKey): SpotOrderConstraints;
226
+ /**
227
+ * Validates decimal order input against pair constraints: parseability,
228
+ * tick size, step size, min quantity, and min notional when a price is
229
+ * present. Pair status is exposed via constraints, not enforced here.
230
+ */
231
+ validateSpotOrderDecimalInput(input: SpotOrderDecimalInput): CatalogValidationResult;
232
+ /** Like {@link validateSpotOrderDecimalInput} but throws {@link CatalogValidationFailedError}. */
233
+ assertSpotOrderDecimalInput(input: SpotOrderDecimalInput): void;
234
+ }
235
+ interface ZipperCatalogReader {
236
+ listChains(): readonly ZipperChainConfig[];
237
+ getChain(chain: ChainCatalogKey): ZipperChainConfig | null;
238
+ requireChain(chain: ChainCatalogKey): ZipperChainConfig;
239
+ getChainByCode(chainCode: string): ZipperChainConfig | null;
240
+ requireChainByCode(chainCode: string): ZipperChainConfig;
241
+ getChainById(chainId: number): ZipperChainConfig | null;
242
+ requireChainById(chainId: number): ZipperChainConfig;
243
+ getChainIdByCode(chainCode: string): number | null;
244
+ requireChainIdByCode(chainCode: string): number;
245
+ listAssets(): readonly ZipperEnrichedAssetConfig[];
246
+ getAsset(asset: AssetCatalogKey): ZipperEnrichedAssetConfig | null;
247
+ requireAsset(asset: AssetCatalogKey): ZipperEnrichedAssetConfig;
248
+ getAssetBySymbol(assetSymbol: string): ZipperEnrichedAssetConfig | null;
249
+ requireAssetBySymbol(assetSymbol: string): ZipperEnrichedAssetConfig;
250
+ getAssetByLedgerId(ledgerAssetId: number): ZipperEnrichedAssetConfig;
251
+ requireAssetByLedgerId(ledgerAssetId: number): ZipperEnrichedAssetConfig;
252
+ getAssetByUAssetId(uAssetId: string): ZipperEnrichedAssetConfig | null;
253
+ requireAssetByUAssetId(uAssetId: string): ZipperEnrichedAssetConfig;
254
+ getAssetChain(asset: AssetCatalogKey, chain: ChainCatalogKey): ZipperAssetChainRoute | null;
255
+ requireAssetChain(asset: AssetCatalogKey, chain: ChainCatalogKey): ZipperAssetChainRoute;
256
+ getAssetChainByZippedAssetId(zippedAssetId: number): ZipperAssetChainRoute | null;
257
+ requireAssetChainByZippedAssetId(zippedAssetId: number): ZipperAssetChainRoute;
258
+ getZippedAssetId(asset: AssetCatalogKey, chain: ChainCatalogKey): number | null;
259
+ requireZippedAssetId(asset: AssetCatalogKey, chain: ChainCatalogKey): number;
260
+ listContracts(): readonly ZipperChainContractConfig[];
261
+ getContract(contractName: ZipperContractName): ZipperChainContractConfig | null;
262
+ requireContract(contractName: ZipperContractName): ZipperChainContractConfig;
263
+ getContractByName(contractName: ZipperContractName): ZipperChainContractConfig | null;
264
+ requireContractByName(contractName: ZipperContractName): ZipperChainContractConfig;
265
+ }
266
+ //#endregion
267
+ export { AssetCatalogKey, CatalogConversionError, CatalogLookupDomain, CatalogLookupError, CatalogNotReadyError, CatalogReader, CatalogRefreshSource, CatalogSnapshot, CatalogSnapshotCell, CatalogSnapshotSource, CatalogState, CatalogStateSource, CatalogValidationError, CatalogValidationFailedError, CatalogValidationResult, ChainCatalogKey, ClientCatalog, CreatePolyesterCatalogOptions, LedgerCatalogReader, MarketCatalogReader, OrdersCatalogReader, PairCatalogKey, ParsedCatalogAmount, ScaledIntegerLike, SpotOrderConstraints, SpotOrderDecimalInput, ZipperAssetChainRoute, ZipperCatalogReader };
268
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","names":[],"sources":["../../src/catalogs/types.ts"],"mappings":";;;;;;KAkBY;EAAqC;;EAAqB;;;KAE1D;EAAsC;;EAAqB;;;KAE3D;EAAsC;;EAAmB;;;KAGzD;KAEA;KACA;KACA,qBAAqB;;cAGpB,2BAA2B;WAIvB,QAAQ;WACR;WACA;WALK;EAGL,YAAA,QAAQ,qBACR,gBACA;;;cAQJ,6BAA6B;WACpB;;;;cAST,+BAA+B;WAI3B;WAHK;EAGL,YAAA,eACT;;;cAQK,qCAAqC;WAGzB,iBAAiB;WAFpB;EAEG,YAAA,iBAAiB;;;;;;;UAezB;WACJ;WACA;WACA;WACA;;UAGI;WACJ;WACA;WACA;WACA;WACA;;UAGI;WACJ;WACA,iBAAiB;;;UAIb;WACJ;WACA;WACA,QAAQ;WACR;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;WACA;;UAGI;WACJ,MAAM;WACN;WACA;;UAGI;WACJ,OAAO;WACP,OAAO;;UAGH;WACJ,QAAQ;WACR,QAAQ;WACR,QAAQ;WACR,QAAQ;EACjB,YAAY;;UAGC,sBAAsB;EACnC,SAAS;;EAET,SAAS,QAAQ;;EAEjB,eAAe,QAAQ;EACvB,WAAW,QAAQ;EACnB,YAAY,UAAU;;UAGT;WACJ,QAAQ;WACR;WACA;WACA,QAAQ;WACR,QAAQ;;KAGT;EACJ;;EACA;EAAsB,gBAAgB;;EACtC;EAAiB,QAAQ;;EACzB;EAAiB,QAAQ;EAAoB;;UAEpC;EACb,UAAU,QAAQ;EAClB,UAAU,QAAQ;;;;;;;;;UAUL;EACb,OAAO;EACP,IAAI,UAAU;;UAGD;EACb,WAAW;EACX,kBAAkB;;EAElB,OAAO;;UAGM;EACb,uBAAuB;EACvB,SAAS,OAAO,kBAAkB;EAClC,aAAa,OAAO,kBAAkB;EACtC,iBAAiB,sBAAsB;EACvC,qBAAqB,sBAAsB;EAC3C,mBAAmB,wBAAwB;EAC3C,uBAAuB,wBAAwB;EAE/C,UAAU;IACN;IACA;IACA;eACS;EACb,QAAQ,MAAM,iBAAiB;EAC/B,YAAY,MAAM,iBAAiB;EACnC,gBAAgB,qBAAqB;EACrC,oBAAoB,qBAAqB;EACzC,kBAAkB,uBAAuB;EACzC,sBAAsB,uBAAuB;EAC7C,wBAAwB;EACxB,4BAA4B;EAC5B,wBAAwB;EACxB,4BAA4B;;EAG5B,oBAAoB,eAAe,MAAM,iBAAiB;;EAE1D,oBAAoB,eAAe,MAAM;EACzC,0BAA0B,YAAY,mBAAmB,MAAM;EAC/D,0BAA0B,YAAY,mBAAmB,MAAM;;EAE/D,YAAY,eAAe,MAAM;;EAGjC,wBAAwB,kBAAkB,MAAM,iBAAiB;;EAEjE,uBAAuB,kBAAkB,MAAM;EAC/C,8BAA8B,gBAAgB,mBAAmB,MAAM;EACvE,8BAA8B,gBAAgB,mBAAmB,MAAM;;EAEvE,eAAe,kBAAkB,MAAM;;EAGvC,2BAA2B,gBAAgB,MAAM,iBAAiB;;EAElE,0BAA0B,gBAAgB,MAAM;EAChD,iCAAiC,cAAc,mBAAmB,MAAM;EACxE,iCAAiC,cAAc,mBAAmB,MAAM;;EAExE,kBAAkB,gBAAgB,MAAM;;UAG3B;EACb,mBAAmB,wBAAwB;EAC3C,uBAAuB,wBAAwB;EAC/C,iBAAiB,sBAAsB;EACvC,qBAAqB,sBAAsB;EAC3C,oBAAoB;EACpB,wBAAwB;EACxB,wBAAwB;EACxB,eAAe;;EAGf,sBAAsB,gBAAgB,OAAO,kBAAkB;;EAE/D,qBAAqB,gBAAgB,OAAO;EAC5C,4BAA4B,cAAc,mBAAmB,OAAO;EACpE,4BAA4B,cAAc,mBAAmB,OAAO;;EAEpE,aAAa,gBAAgB,OAAO;;UAGvB;EACb,wBAAwB,MAAM,iBAAiB;;;;;;EAM/C,8BAA8B,OAAO,wBAAwB;;EAE7D,4BAA4B,OAAO;;UAGtB;EACb,uBAAuB;EACvB,SAAS,OAAO,kBAAkB;EAClC,aAAa,OAAO,kBAAkB;EACtC,eAAe,oBAAoB;EACnC,mBAAmB,oBAAoB;EACvC,aAAa,kBAAkB;EAC/B,iBAAiB,kBAAkB;EACnC,iBAAiB;EACjB,qBAAqB;EAErB,uBAAuB;EACvB,SAAS,OAAO,kBAAkB;EAClC,aAAa,OAAO,kBAAkB;EACtC,iBAAiB,sBAAsB;EACvC,qBAAqB,sBAAsB;EAC3C,mBAAmB,wBAAwB;EAC3C,uBAAuB,wBAAwB;EAC/C,mBAAmB,mBAAmB;EACtC,uBAAuB,mBAAmB;EAE1C,cAAc,OAAO,iBAAiB,OAAO,kBAAkB;EAC/D,kBAAkB,OAAO,iBAAiB,OAAO,kBAAkB;EACnE,6BAA6B,wBAAwB;EACrD,iCAAiC,wBAAwB;EACzD,iBAAiB,OAAO,iBAAiB,OAAO;EAChD,qBAAqB,OAAO,iBAAiB,OAAO;EAEpD,0BAA0B;EAC1B,YAAY,cAAc,qBAAqB;EAC/C,gBAAgB,cAAc,qBAAqB;EACnD,kBAAkB,cAAc,qBAAqB;EACrD,sBAAsB,cAAc,qBAAqB"}
@@ -0,0 +1,48 @@
1
+ import { RequestError, ValidationError } from "../shared/errors.js";
2
+ //#region src/catalogs/types.ts
3
+ /** A catalog lookup key (pair, asset, chain, …) did not match any entry. */
4
+ var CatalogLookupError = class extends RequestError {
5
+ domain;
6
+ lookup;
7
+ value;
8
+ code = "CATALOG_LOOKUP_MISS";
9
+ constructor(domain, lookup, value) {
10
+ super(`[catalog] ${domain} ${lookup} not found: ${String(value)}`);
11
+ this.domain = domain;
12
+ this.lookup = lookup;
13
+ this.value = value;
14
+ this.name = "CatalogLookupError";
15
+ }
16
+ };
17
+ /** The catalog has no snapshot yet — call `catalog.ensureReady()` first. */
18
+ var CatalogNotReadyError = class extends RequestError {
19
+ code = "CATALOG_NOT_READY";
20
+ constructor() {
21
+ super("[catalog] no catalog snapshot has been loaded");
22
+ this.name = "CatalogNotReadyError";
23
+ }
24
+ };
25
+ /** A decimal/scaled conversion failed (bad input or excess precision). */
26
+ var CatalogConversionError = class extends ValidationError {
27
+ field;
28
+ code = "CATALOG_CONVERSION_INVALID";
29
+ constructor(field, message) {
30
+ super(`[catalog] ${message}`);
31
+ this.field = field;
32
+ this.name = "CatalogConversionError";
33
+ }
34
+ };
35
+ /** Order input failed validation against pair constraints. */
36
+ var CatalogValidationFailedError = class extends ValidationError {
37
+ errors;
38
+ code = "CATALOG_VALIDATION_FAILED";
39
+ constructor(errors) {
40
+ super(`[catalog] order input validation failed: ${errors.map((error) => error.message).join("; ")}`);
41
+ this.errors = errors;
42
+ this.name = "CatalogValidationFailedError";
43
+ }
44
+ };
45
+ //#endregion
46
+ export { CatalogConversionError, CatalogLookupError, CatalogNotReadyError, CatalogValidationFailedError };
47
+
48
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../src/catalogs/types.ts"],"sourcesContent":["import type {\n AssetConfig,\n DepositWithdrawConfig,\n PairStatus,\n SpotConfig,\n ZipperChainConfig,\n ZipperChainContractConfig,\n} from \"../shared/catalog-config.js\";\nimport { RequestError, ValidationError } from \"../shared/errors.js\";\nimport type { EnrichedPairConfig, MarketCatalogData } from \"./market-data-catalog.js\";\nimport type {\n ZipperCatalogData,\n ZipperContractName,\n ZipperEnrichedAssetChain,\n ZipperEnrichedAssetConfig,\n} from \"./zipper-catalog.js\";\n\n/** Pair lookup key: symbol, symbolId, or an explicit object form. */\nexport type PairCatalogKey = string | number | { symbol: string } | { symbolId: number };\n/** Asset lookup key: symbol, ledger id, or an explicit object form. */\nexport type AssetCatalogKey = string | number | { symbol: string } | { ledgerId: number };\n/** Chain lookup key: chain code, chain id, or an explicit object form. */\nexport type ChainCatalogKey = string | number | { code: string } | { chainId: number };\n\n/** Raw scaled integer accepted on the SDK side of catalog conversions. */\nexport type ScaledIntegerLike = bigint | number | string;\n\nexport type CatalogLookupDomain = \"market\" | \"ledger\" | \"orders\" | \"zipper\";\nexport type CatalogSnapshotSource = \"api\" | \"snapshot\";\nexport type CatalogStateSource = CatalogSnapshotSource | \"empty\";\n\n/** A catalog lookup key (pair, asset, chain, …) did not match any entry. */\nexport class CatalogLookupError extends RequestError {\n override readonly code = \"CATALOG_LOOKUP_MISS\";\n\n constructor(\n readonly domain: CatalogLookupDomain,\n readonly lookup: string,\n readonly value: string | number,\n ) {\n super(`[catalog] ${domain} ${lookup} not found: ${String(value)}`);\n this.name = \"CatalogLookupError\";\n }\n}\n\n/** The catalog has no snapshot yet — call `catalog.ensureReady()` first. */\nexport class CatalogNotReadyError extends RequestError {\n override readonly code = \"CATALOG_NOT_READY\";\n\n constructor() {\n super(\"[catalog] no catalog snapshot has been loaded\");\n this.name = \"CatalogNotReadyError\";\n }\n}\n\n/** A decimal/scaled conversion failed (bad input or excess precision). */\nexport class CatalogConversionError extends ValidationError {\n override readonly code = \"CATALOG_CONVERSION_INVALID\";\n\n constructor(\n readonly field: string,\n message: string,\n ) {\n super(`[catalog] ${message}`);\n this.name = \"CatalogConversionError\";\n }\n}\n\n/** Order input failed validation against pair constraints. */\nexport class CatalogValidationFailedError extends ValidationError {\n override readonly code = \"CATALOG_VALIDATION_FAILED\";\n\n constructor(readonly errors: readonly CatalogValidationError[]) {\n super(\n `[catalog] order input validation failed: ${errors\n .map((error) => error.message)\n .join(\"; \")}`,\n );\n this.name = \"CatalogValidationFailedError\";\n }\n}\n\n/**\n * Result of a strict decimal-to-SDK conversion. `scaledValue` is the raw\n * JSON-safe integer string for service calls; `decimal` is the exact decimal\n * string; `display` is the display-normalized decimal string.\n */\nexport interface ParsedCatalogAmount {\n readonly scaledValue: string;\n readonly decimal: string;\n readonly display: string;\n readonly scale: number;\n}\n\nexport interface CatalogValidationError {\n readonly field: string;\n readonly rule: string;\n readonly message: string;\n readonly expected?: string;\n readonly actual?: string;\n}\n\nexport interface CatalogValidationResult {\n readonly valid: boolean;\n readonly errors: readonly CatalogValidationError[];\n}\n\n/** Trading constraints for a spot pair, for UI decisions and input validation. */\nexport interface SpotOrderConstraints {\n readonly symbolId: number;\n readonly symbol: string;\n readonly status: PairStatus;\n readonly tickSize: string;\n readonly stepSize: string;\n readonly minQtyBase: string;\n readonly minNotionalQuote: string;\n readonly priceScale: number;\n readonly quantityScale: number;\n readonly quoteAmountScale: number;\n readonly priceDisplayDecimals: number;\n readonly quantityDisplayDecimals: number;\n readonly quoteAmountDisplayDecimals: number;\n}\n\nexport interface SpotOrderDecimalInput {\n readonly pair: PairCatalogKey;\n readonly quantity: string;\n readonly price?: string;\n}\n\nexport interface ZipperAssetChainRoute {\n readonly asset: ZipperEnrichedAssetConfig;\n readonly chain: ZipperEnrichedAssetChain;\n}\n\nexport interface CatalogReader {\n readonly market: MarketCatalogReader;\n readonly ledger: LedgerCatalogReader;\n readonly orders: OrdersCatalogReader;\n readonly zipper: ZipperCatalogReader;\n snapshot(): CatalogSnapshot;\n}\n\nexport interface ClientCatalog extends CatalogReader {\n state(): CatalogState;\n /** Passive: resolves the current snapshot or in-flight refresh; never starts one. */\n ready(): Promise<CatalogSnapshot | null>;\n /** Resolves the current snapshot, starting a refresh when the catalog is empty. */\n ensureReady(): Promise<CatalogSnapshot>;\n refresh(): Promise<CatalogSnapshot>;\n setSnapshot(snapshot: CatalogSnapshot): void;\n}\n\nexport interface CatalogSnapshot {\n readonly source: CatalogSnapshotSource;\n readonly tsMs: number;\n readonly version: number;\n readonly market: MarketCatalogData;\n readonly zipper: ZipperCatalogData;\n}\n\nexport type CatalogState =\n | { status: \"empty\" }\n | { status: \"refreshing\"; previousSource: CatalogStateSource }\n | { status: \"fresh\"; source: CatalogSnapshotSource }\n | { status: \"stale\"; source: CatalogStateSource; error: unknown };\n\nexport interface CatalogRefreshSource {\n market(): Promise<SpotConfig>;\n zipper(): Promise<DepositWithdrawConfig>;\n}\n\n/**\n * External storage for the catalog's current snapshot. Injecting a cell lets the host\n * own where the snapshot lives (e.g. a reactive signal) while the catalog keeps owning\n * all logic — refresh, dedup, state, readers. Every reader lookup goes through\n * `get()`, so a host whose `get()` reads a reactive source makes every catalog read\n * reactive by construction.\n */\nexport interface CatalogSnapshotCell {\n get(): CatalogSnapshot | undefined;\n set(snapshot: CatalogSnapshot): void;\n}\n\nexport interface CreatePolyesterCatalogOptions {\n snapshot?: CatalogSnapshot;\n refresh?: false | CatalogRefreshSource;\n /** When provided, the catalog reads/writes its snapshot through this cell. */\n cell?: CatalogSnapshotCell;\n}\n\nexport interface MarketCatalogReader {\n listAssets(): readonly AssetConfig[];\n getAsset(asset: AssetCatalogKey): AssetConfig | null;\n requireAsset(asset: AssetCatalogKey): AssetConfig;\n getAssetBySymbol(assetSymbol: string): AssetConfig | null;\n requireAssetBySymbol(assetSymbol: string): AssetConfig;\n getAssetByLedgerId(ledgerAssetId: number): AssetConfig;\n requireAssetByLedgerId(ledgerAssetId: number): AssetConfig;\n\n listPairs(filter?: {\n listed?: boolean;\n everListed?: boolean;\n atMs?: number;\n }): readonly EnrichedPairConfig[];\n getPair(pair: PairCatalogKey): EnrichedPairConfig | null;\n requirePair(pair: PairCatalogKey): EnrichedPairConfig;\n getPairBySymbol(pairSymbol: string): EnrichedPairConfig | null;\n requirePairBySymbol(pairSymbol: string): EnrichedPairConfig;\n getPairBySymbolId(pairSymbolId: number): EnrichedPairConfig | null;\n requirePairBySymbolId(pairSymbolId: number): EnrichedPairConfig;\n getSymbolIdByPairSymbol(pairSymbol: string): number | null;\n requireSymbolIdByPairSymbol(pairSymbol: string): number;\n getPairSymbolBySymbolId(pairSymbolId: number): string | null;\n requirePairSymbolBySymbolId(pairSymbolId: number): string;\n\n /** Strictly converts a decimal price into raw price ticks. */\n decimalPriceToTicks(price: string, pair: PairCatalogKey): ParsedCatalogAmount;\n /** Truncates a raw price input to the pair's price precision. */\n normalizePriceInput(price: string, pair: PairCatalogKey): string;\n priceTicksToDecimalString(priceTicks: ScaledIntegerLike, pair: PairCatalogKey): string;\n priceTicksToDisplayString(priceTicks: ScaledIntegerLike, pair: PairCatalogKey): string;\n /** Display-rounds a decimal price string (grouping-free) for UI rendering. */\n formatPrice(price: string, pair: PairCatalogKey): string;\n\n /** Strictly converts a decimal base quantity into the pair's scaled quantity. */\n decimalQuantityToScaled(quantity: string, pair: PairCatalogKey): ParsedCatalogAmount;\n /** Truncates a raw quantity input to the base asset's quantity scale. */\n normalizeQuantityInput(quantity: string, pair: PairCatalogKey): string;\n quantityScaledToDecimalString(quantityScaled: ScaledIntegerLike, pair: PairCatalogKey): string;\n quantityScaledToDisplayString(quantityScaled: ScaledIntegerLike, pair: PairCatalogKey): string;\n /** Display-rounds a decimal base-quantity string for UI rendering. */\n formatQuantity(quantity: string, pair: PairCatalogKey): string;\n\n /** Strictly converts a decimal quote amount into the quote asset's scaled amount. */\n decimalQuoteAmountToScaled(amount: string, pair: PairCatalogKey): ParsedCatalogAmount;\n /** Truncates a raw quote amount input to the quote asset's quantity scale. */\n normalizeQuoteAmountInput(amount: string, pair: PairCatalogKey): string;\n quoteAmountScaledToDecimalString(amountScaled: ScaledIntegerLike, pair: PairCatalogKey): string;\n quoteAmountScaledToDisplayString(amountScaled: ScaledIntegerLike, pair: PairCatalogKey): string;\n /** Display-rounds a decimal quote-amount string for UI rendering. */\n formatQuoteAmount(amount: string, pair: PairCatalogKey): string;\n}\n\nexport interface LedgerCatalogReader {\n getAssetByLedgerId(ledgerAssetId: number): AssetConfig;\n requireAssetByLedgerId(ledgerAssetId: number): AssetConfig;\n getAssetBySymbol(assetSymbol: string): AssetConfig | null;\n requireAssetBySymbol(assetSymbol: string): AssetConfig;\n getLedgerIdBySymbol(assetSymbol: string): number | null;\n requireLedgerIdBySymbol(assetSymbol: string): number;\n requireSymbolByLedgerId(ledgerAssetId: number): string;\n isKnownAssetId(ledgerAssetId: number): boolean;\n\n /** Strictly converts a decimal amount into the asset's scaled amount. */\n decimalAmountToScaled(amount: string, asset: AssetCatalogKey): ParsedCatalogAmount;\n /** Truncates a raw amount input to the asset's quantity scale. */\n normalizeAmountInput(amount: string, asset: AssetCatalogKey): string;\n amountScaledToDecimalString(amountScaled: ScaledIntegerLike, asset: AssetCatalogKey): string;\n amountScaledToDisplayString(amountScaled: ScaledIntegerLike, asset: AssetCatalogKey): string;\n /** Display-rounds a decimal ledger-amount string for UI rendering. */\n formatAmount(amount: string, asset: AssetCatalogKey): string;\n}\n\nexport interface OrdersCatalogReader {\n getSpotOrderConstraints(pair: PairCatalogKey): SpotOrderConstraints;\n /**\n * Validates decimal order input against pair constraints: parseability,\n * tick size, step size, min quantity, and min notional when a price is\n * present. Pair status is exposed via constraints, not enforced here.\n */\n validateSpotOrderDecimalInput(input: SpotOrderDecimalInput): CatalogValidationResult;\n /** Like {@link validateSpotOrderDecimalInput} but throws {@link CatalogValidationFailedError}. */\n assertSpotOrderDecimalInput(input: SpotOrderDecimalInput): void;\n}\n\nexport interface ZipperCatalogReader {\n listChains(): readonly ZipperChainConfig[];\n getChain(chain: ChainCatalogKey): ZipperChainConfig | null;\n requireChain(chain: ChainCatalogKey): ZipperChainConfig;\n getChainByCode(chainCode: string): ZipperChainConfig | null;\n requireChainByCode(chainCode: string): ZipperChainConfig;\n getChainById(chainId: number): ZipperChainConfig | null;\n requireChainById(chainId: number): ZipperChainConfig;\n getChainIdByCode(chainCode: string): number | null;\n requireChainIdByCode(chainCode: string): number;\n\n listAssets(): readonly ZipperEnrichedAssetConfig[];\n getAsset(asset: AssetCatalogKey): ZipperEnrichedAssetConfig | null;\n requireAsset(asset: AssetCatalogKey): ZipperEnrichedAssetConfig;\n getAssetBySymbol(assetSymbol: string): ZipperEnrichedAssetConfig | null;\n requireAssetBySymbol(assetSymbol: string): ZipperEnrichedAssetConfig;\n getAssetByLedgerId(ledgerAssetId: number): ZipperEnrichedAssetConfig;\n requireAssetByLedgerId(ledgerAssetId: number): ZipperEnrichedAssetConfig;\n getAssetByUAssetId(uAssetId: string): ZipperEnrichedAssetConfig | null;\n requireAssetByUAssetId(uAssetId: string): ZipperEnrichedAssetConfig;\n\n getAssetChain(asset: AssetCatalogKey, chain: ChainCatalogKey): ZipperAssetChainRoute | null;\n requireAssetChain(asset: AssetCatalogKey, chain: ChainCatalogKey): ZipperAssetChainRoute;\n getAssetChainByZippedAssetId(zippedAssetId: number): ZipperAssetChainRoute | null;\n requireAssetChainByZippedAssetId(zippedAssetId: number): ZipperAssetChainRoute;\n getZippedAssetId(asset: AssetCatalogKey, chain: ChainCatalogKey): number | null;\n requireZippedAssetId(asset: AssetCatalogKey, chain: ChainCatalogKey): number;\n\n listContracts(): readonly ZipperChainContractConfig[];\n getContract(contractName: ZipperContractName): ZipperChainContractConfig | null;\n requireContract(contractName: ZipperContractName): ZipperChainContractConfig;\n getContractByName(contractName: ZipperContractName): ZipperChainContractConfig | null;\n requireContractByName(contractName: ZipperContractName): ZipperChainContractConfig;\n}\n"],"mappings":";;;AAgCA,IAAa,qBAAb,cAAwC,aAAa;CAIpC;CACA;CACA;CALb,OAAyB;CAEzB,YACI,QACA,QACA,OACF;EACE,MAAM,aAAa,OAAO,GAAG,OAAO,cAAc,OAAO,KAAK,GAAG;EAJxD,KAAA,SAAA;EACA,KAAA,SAAA;EACA,KAAA,QAAA;EAGT,KAAK,OAAO;CAChB;AACJ;;AAGA,IAAa,uBAAb,cAA0C,aAAa;CACnD,OAAyB;CAEzB,cAAc;EACV,MAAM,+CAA+C;EACrD,KAAK,OAAO;CAChB;AACJ;;AAGA,IAAa,yBAAb,cAA4C,gBAAgB;CAI3C;CAHb,OAAyB;CAEzB,YACI,OACA,SACF;EACE,MAAM,aAAa,SAAS;EAHnB,KAAA,QAAA;EAIT,KAAK,OAAO;CAChB;AACJ;;AAGA,IAAa,+BAAb,cAAkD,gBAAgB;CAGzC;CAFrB,OAAyB;CAEzB,YAAY,QAAoD;EAC5D,MACI,4CAA4C,OACvC,KAAK,UAAU,MAAM,OAAO,CAAC,CAC7B,KAAK,IAAI,GAClB;EALiB,KAAA,SAAA;EAMjB,KAAK,OAAO;CAChB;AACJ"}
@@ -0,0 +1,27 @@
1
+ import { AssetConfig } from "../shared/catalog-config.js";
2
+ import { ZipperEnrichedAssetConfig } from "./zipper-catalog.js";
3
+ //#region src/catalogs/unknown-asset.d.ts
4
+ declare const UNKNOWN_ASSET_LABEL = "Unknown asset";
5
+ declare const UNKNOWN_LEDGER_ASSET_ID = 9999;
6
+ declare const unknownLedgerAsset: Readonly<{
7
+ symbol: string;
8
+ ledgerId: number;
9
+ name: string;
10
+ quantityDisplayDecimals: number;
11
+ quantityScale: number;
12
+ }>;
13
+ declare const unknownZipperAsset: Readonly<{
14
+ asset: string;
15
+ ledgerId: number;
16
+ name: string;
17
+ icon: string;
18
+ quantityScale: number;
19
+ quantityDisplayDecimals: number;
20
+ uAssetId: string;
21
+ chains: never[];
22
+ }>;
23
+ declare function isUnknownLedgerAsset(asset: AssetConfig): boolean;
24
+ declare function isUnknownZipperAsset(asset: ZipperEnrichedAssetConfig): boolean;
25
+ //#endregion
26
+ export { UNKNOWN_ASSET_LABEL, UNKNOWN_LEDGER_ASSET_ID, isUnknownLedgerAsset, isUnknownZipperAsset, unknownLedgerAsset, unknownZipperAsset };
27
+ //# sourceMappingURL=unknown-asset.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknown-asset.d.ts","names":[],"sources":["../../src/catalogs/unknown-asset.ts"],"mappings":";;;cAGa;cACA;cAEA,oBAAkB;;;;;;;cAQlB,oBAAkB;;;;;;;;;;iBAWf,qBAAqB,OAAO;iBAI5B,qBAAqB,OAAO"}
@@ -0,0 +1,38 @@
1
+ //#region src/catalogs/unknown-asset.ts
2
+ const UNKNOWN_ASSET_LABEL = "Unknown asset";
3
+ const UNKNOWN_LEDGER_ASSET_ID = 9999;
4
+ const unknownLedgerAsset = Object.freeze({
5
+ symbol: UNKNOWN_ASSET_LABEL,
6
+ ledgerId: UNKNOWN_LEDGER_ASSET_ID,
7
+ name: UNKNOWN_ASSET_LABEL,
8
+ quantityDisplayDecimals: 6,
9
+ quantityScale: 6
10
+ });
11
+ const unknownZipperAsset = Object.freeze({
12
+ asset: UNKNOWN_ASSET_LABEL,
13
+ ledgerId: UNKNOWN_LEDGER_ASSET_ID,
14
+ name: UNKNOWN_ASSET_LABEL,
15
+ icon: "",
16
+ quantityScale: 6,
17
+ quantityDisplayDecimals: 6,
18
+ uAssetId: "",
19
+ chains: []
20
+ });
21
+ function isUnknownLedgerAsset(asset) {
22
+ return asset.ledgerId === UNKNOWN_LEDGER_ASSET_ID;
23
+ }
24
+ function isUnknownZipperAsset(asset) {
25
+ return asset.ledgerId === UNKNOWN_LEDGER_ASSET_ID;
26
+ }
27
+ function resolveLedgerAssetByLedgerId(ledgerAssetId, lookup) {
28
+ if (!Number.isInteger(ledgerAssetId) || ledgerAssetId <= 0) return unknownLedgerAsset;
29
+ return lookup(ledgerAssetId) ?? unknownLedgerAsset;
30
+ }
31
+ function resolveZipperAssetByLedgerId(ledgerAssetId, lookup) {
32
+ if (!Number.isInteger(ledgerAssetId) || ledgerAssetId <= 0) return unknownZipperAsset;
33
+ return lookup(ledgerAssetId) ?? unknownZipperAsset;
34
+ }
35
+ //#endregion
36
+ export { UNKNOWN_ASSET_LABEL, UNKNOWN_LEDGER_ASSET_ID, isUnknownLedgerAsset, isUnknownZipperAsset, resolveLedgerAssetByLedgerId, resolveZipperAssetByLedgerId, unknownLedgerAsset, unknownZipperAsset };
37
+
38
+ //# sourceMappingURL=unknown-asset.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unknown-asset.js","names":[],"sources":["../../src/catalogs/unknown-asset.ts"],"sourcesContent":["import type { AssetConfig } from \"../shared/catalog-config.js\";\nimport type { ZipperEnrichedAssetConfig } from \"./zipper-catalog.js\";\n\nexport const UNKNOWN_ASSET_LABEL = \"Unknown asset\";\nexport const UNKNOWN_LEDGER_ASSET_ID = 9999;\n\nexport const unknownLedgerAsset = Object.freeze({\n symbol: UNKNOWN_ASSET_LABEL,\n ledgerId: UNKNOWN_LEDGER_ASSET_ID,\n name: UNKNOWN_ASSET_LABEL,\n quantityDisplayDecimals: 6,\n quantityScale: 6,\n} satisfies AssetConfig);\n\nexport const unknownZipperAsset = Object.freeze({\n asset: UNKNOWN_ASSET_LABEL,\n ledgerId: UNKNOWN_LEDGER_ASSET_ID,\n name: UNKNOWN_ASSET_LABEL,\n icon: \"\",\n quantityScale: 6,\n quantityDisplayDecimals: 6,\n uAssetId: \"\",\n chains: [],\n} satisfies ZipperEnrichedAssetConfig);\n\nexport function isUnknownLedgerAsset(asset: AssetConfig): boolean {\n return asset.ledgerId === UNKNOWN_LEDGER_ASSET_ID;\n}\n\nexport function isUnknownZipperAsset(asset: ZipperEnrichedAssetConfig): boolean {\n return asset.ledgerId === UNKNOWN_LEDGER_ASSET_ID;\n}\n\nexport function resolveLedgerAssetByLedgerId(\n ledgerAssetId: number,\n lookup: (ledgerAssetId: number) => AssetConfig | null,\n): AssetConfig {\n if (!Number.isInteger(ledgerAssetId) || ledgerAssetId <= 0) return unknownLedgerAsset;\n return lookup(ledgerAssetId) ?? unknownLedgerAsset;\n}\n\nexport function resolveZipperAssetByLedgerId(\n ledgerAssetId: number,\n lookup: (ledgerAssetId: number) => ZipperEnrichedAssetConfig | null,\n): ZipperEnrichedAssetConfig {\n if (!Number.isInteger(ledgerAssetId) || ledgerAssetId <= 0) return unknownZipperAsset;\n return lookup(ledgerAssetId) ?? unknownZipperAsset;\n}\n"],"mappings":";AAGA,MAAa,sBAAsB;AACnC,MAAa,0BAA0B;AAEvC,MAAa,qBAAqB,OAAO,OAAO;CAC5C,QAAQ;CACR,UAAU;CACV,MAAM;CACN,yBAAyB;CACzB,eAAe;AACnB,CAAuB;AAEvB,MAAa,qBAAqB,OAAO,OAAO;CAC5C,OAAO;CACP,UAAU;CACV,MAAM;CACN,MAAM;CACN,eAAe;CACf,yBAAyB;CACzB,UAAU;CACV,QAAQ,CAAC;AACb,CAAqC;AAErC,SAAgB,qBAAqB,OAA6B;CAC9D,OAAO,MAAM,aAAa;AAC9B;AAEA,SAAgB,qBAAqB,OAA2C;CAC5E,OAAO,MAAM,aAAa;AAC9B;AAEA,SAAgB,6BACZ,eACA,QACW;CACX,IAAI,CAAC,OAAO,UAAU,aAAa,KAAK,iBAAiB,GAAG,OAAO;CACnE,OAAO,OAAO,aAAa,KAAK;AACpC;AAEA,SAAgB,6BACZ,eACA,QACyB;CACzB,IAAI,CAAC,OAAO,UAAU,aAAa,KAAK,iBAAiB,GAAG,OAAO;CACnE,OAAO,OAAO,aAAa,KAAK;AACpC"}
@@ -0,0 +1,33 @@
1
+ import { DepositWithdrawConfig, ZipperAssetChainVariant, ZipperAssetConfig, ZipperChainConfig, ZipperChainContractConfig } from "../shared/catalog-config.js";
2
+ //#region src/catalogs/zipper-catalog.d.ts
3
+ /** Known stable contract names plus a string escape hatch for new contracts. */
4
+ type ZipperContractName = "fundingAccount" | "guardRegistry" | "tradingGateway" | (string & {});
5
+ type ZipperEnrichedAssetChain = ZipperChainConfig & {
6
+ zippedAssetId: ZipperAssetChainVariant["zippedAssetId"];
7
+ isNativeAsset: ZipperAssetChainVariant["isNativeAsset"];
8
+ networkFee?: ZipperAssetChainVariant["networkFee"];
9
+ networkFeeTsSec?: ZipperAssetChainVariant["networkFeeTsSec"];
10
+ depositMinAmount?: ZipperAssetChainVariant["depositMinAmount"];
11
+ withdrawMinAmount?: ZipperAssetChainVariant["withdrawMinAmount"];
12
+ supply?: ZipperAssetChainVariant["supply"];
13
+ sourceToken: ZipperAssetChainVariant["sourceToken"];
14
+ zToken: ZipperAssetChainVariant["zToken"];
15
+ };
16
+ type ZipperEnrichedAssetConfig = Omit<ZipperAssetConfig, "variants"> & {
17
+ chains: ZipperEnrichedAssetChain[];
18
+ };
19
+ interface ZipperCatalogData {
20
+ readonly chains: readonly ZipperChainConfig[];
21
+ readonly assets: readonly ZipperEnrichedAssetConfig[];
22
+ readonly contracts: readonly ZipperChainContractConfig[];
23
+ readonly tsMs?: number;
24
+ }
25
+ type ZipperCatalogSeed = DepositWithdrawConfig | {
26
+ readonly chains: readonly ZipperChainConfig[];
27
+ readonly assets: readonly (ZipperAssetConfig | ZipperEnrichedAssetConfig)[];
28
+ readonly contracts?: readonly ZipperChainContractConfig[];
29
+ readonly tsMs?: number;
30
+ };
31
+ //#endregion
32
+ export { type DepositWithdrawConfig, type ZipperAssetConfig, ZipperCatalogData, ZipperCatalogSeed, type ZipperChainConfig, type ZipperChainContractConfig, ZipperContractName, ZipperEnrichedAssetChain, ZipperEnrichedAssetConfig };
33
+ //# sourceMappingURL=zipper-catalog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zipper-catalog.d.ts","names":[],"sources":["../../src/catalogs/zipper-catalog.ts"],"mappings":";;;KASY;KAaA,2BAA2B;EACnC,eAAe;EACf,eAAe;EACf,aAAa;EACb,kBAAkB;EAClB,mBAAmB;EACnB,oBAAoB;EACpB,SAAS;EACT,aAAa;EACb,QAAQ;;KAGA,4BAA4B,KAAK;EACzC,QAAQ;;UAGK;WACJ,iBAAiB;WACjB,iBAAiB;WACjB,oBAAoB;WACpB;;KAGD,oBACN;WAEa,iBAAiB;WACjB,kBAAkB,oBAAoB;WACtC,qBAAqB;WACrB"}
@@ -0,0 +1,54 @@
1
+ //#region src/catalogs/zipper-catalog.ts
2
+ function isEnrichedZipperAsset(asset) {
3
+ return "chains" in asset;
4
+ }
5
+ /**
6
+ * Adds derived display metadata to Zipper asset records.
7
+ */
8
+ function enrichZipperAssets(assets, chains) {
9
+ const chainById = new Map(chains.map((chain) => [chain.chainId, chain]));
10
+ const enrichedAssets = [];
11
+ for (const asset of assets) {
12
+ if (isEnrichedZipperAsset(asset)) {
13
+ enrichedAssets.push(asset);
14
+ continue;
15
+ }
16
+ const { variants, ...rest } = asset;
17
+ const enrichedChains = [];
18
+ for (const variant of variants) {
19
+ const chain = chainById.get(variant.chainId);
20
+ if (!chain) throw new Error(`[catalog] zipper asset ${asset.asset} references unknown chainId: ${variant.chainId}`);
21
+ enrichedChains.push({
22
+ ...chain,
23
+ zippedAssetId: variant.zippedAssetId,
24
+ isNativeAsset: variant.isNativeAsset,
25
+ networkFee: variant.networkFee,
26
+ networkFeeTsSec: variant.networkFeeTsSec,
27
+ depositMinAmount: variant.depositMinAmount,
28
+ withdrawMinAmount: variant.withdrawMinAmount,
29
+ supply: variant.supply,
30
+ sourceToken: variant.sourceToken,
31
+ zToken: variant.zToken
32
+ });
33
+ }
34
+ enrichedAssets.push({
35
+ ...rest,
36
+ chains: enrichedChains
37
+ });
38
+ }
39
+ return enrichedAssets;
40
+ }
41
+ function buildZipperCatalogData(seed) {
42
+ const chains = [...seed.chains];
43
+ const assets = enrichZipperAssets(seed.assets, chains);
44
+ return Object.freeze({
45
+ chains: Object.freeze(chains),
46
+ assets: Object.freeze([...assets]),
47
+ contracts: Object.freeze([...seed.contracts ?? []]),
48
+ tsMs: seed.tsMs
49
+ });
50
+ }
51
+ //#endregion
52
+ export { buildZipperCatalogData, enrichZipperAssets };
53
+
54
+ //# sourceMappingURL=zipper-catalog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zipper-catalog.js","names":[],"sources":["../../src/catalogs/zipper-catalog.ts"],"sourcesContent":["import type {\n DepositWithdrawConfig,\n ZipperAssetChainVariant,\n ZipperAssetConfig,\n ZipperChainConfig,\n ZipperChainContractConfig,\n} from \"../shared/catalog-config.js\";\n\n/** Known stable contract names plus a string escape hatch for new contracts. */\nexport type ZipperContractName =\n | \"fundingAccount\"\n | \"guardRegistry\"\n | \"tradingGateway\"\n | (string & {});\n\nexport type {\n DepositWithdrawConfig,\n ZipperAssetConfig,\n ZipperChainConfig,\n ZipperChainContractConfig,\n};\n\nexport type ZipperEnrichedAssetChain = ZipperChainConfig & {\n zippedAssetId: ZipperAssetChainVariant[\"zippedAssetId\"];\n isNativeAsset: ZipperAssetChainVariant[\"isNativeAsset\"];\n networkFee?: ZipperAssetChainVariant[\"networkFee\"];\n networkFeeTsSec?: ZipperAssetChainVariant[\"networkFeeTsSec\"];\n depositMinAmount?: ZipperAssetChainVariant[\"depositMinAmount\"];\n withdrawMinAmount?: ZipperAssetChainVariant[\"withdrawMinAmount\"];\n supply?: ZipperAssetChainVariant[\"supply\"];\n sourceToken: ZipperAssetChainVariant[\"sourceToken\"];\n zToken: ZipperAssetChainVariant[\"zToken\"];\n};\n\nexport type ZipperEnrichedAssetConfig = Omit<ZipperAssetConfig, \"variants\"> & {\n chains: ZipperEnrichedAssetChain[];\n};\n\nexport interface ZipperCatalogData {\n readonly chains: readonly ZipperChainConfig[];\n readonly assets: readonly ZipperEnrichedAssetConfig[];\n readonly contracts: readonly ZipperChainContractConfig[];\n readonly tsMs?: number;\n}\n\nexport type ZipperCatalogSeed =\n | DepositWithdrawConfig\n | {\n readonly chains: readonly ZipperChainConfig[];\n readonly assets: readonly (ZipperAssetConfig | ZipperEnrichedAssetConfig)[];\n readonly contracts?: readonly ZipperChainContractConfig[];\n readonly tsMs?: number;\n };\n\nfunction isEnrichedZipperAsset(\n asset: ZipperAssetConfig | ZipperEnrichedAssetConfig,\n): asset is ZipperEnrichedAssetConfig {\n return \"chains\" in asset;\n}\n\n/**\n * Adds derived display metadata to Zipper asset records.\n */\nexport function enrichZipperAssets(\n assets: readonly (ZipperAssetConfig | ZipperEnrichedAssetConfig)[],\n chains: readonly ZipperChainConfig[],\n): readonly ZipperEnrichedAssetConfig[] {\n const chainById = new Map(chains.map((chain) => [chain.chainId, chain]));\n const enrichedAssets: ZipperEnrichedAssetConfig[] = [];\n\n for (const asset of assets) {\n if (isEnrichedZipperAsset(asset)) {\n enrichedAssets.push(asset);\n continue;\n }\n\n const { variants, ...rest } = asset;\n const enrichedChains: ZipperEnrichedAssetChain[] = [];\n\n for (const variant of variants) {\n const chain = chainById.get(variant.chainId);\n if (!chain) {\n throw new Error(\n `[catalog] zipper asset ${asset.asset} references unknown chainId: ${variant.chainId}`,\n );\n }\n\n enrichedChains.push({\n ...chain,\n zippedAssetId: variant.zippedAssetId,\n isNativeAsset: variant.isNativeAsset,\n networkFee: variant.networkFee,\n networkFeeTsSec: variant.networkFeeTsSec,\n depositMinAmount: variant.depositMinAmount,\n withdrawMinAmount: variant.withdrawMinAmount,\n supply: variant.supply,\n sourceToken: variant.sourceToken,\n zToken: variant.zToken,\n });\n }\n\n enrichedAssets.push({\n ...rest,\n chains: enrichedChains,\n });\n }\n\n return enrichedAssets;\n}\n\nexport function buildZipperCatalogData(seed: ZipperCatalogSeed): ZipperCatalogData {\n const chains = [...seed.chains];\n const assets = enrichZipperAssets(seed.assets, chains);\n return Object.freeze({\n chains: Object.freeze(chains),\n assets: Object.freeze([...assets]),\n contracts: Object.freeze([...(seed.contracts ?? [])]),\n tsMs: seed.tsMs,\n });\n}\n"],"mappings":";AAsDA,SAAS,sBACL,OACkC;CAClC,OAAO,YAAY;AACvB;;;;AAKA,SAAgB,mBACZ,QACA,QACoC;CACpC,MAAM,YAAY,IAAI,IAAI,OAAO,KAAK,UAAU,CAAC,MAAM,SAAS,KAAK,CAAC,CAAC;CACvE,MAAM,iBAA8C,CAAC;CAErD,KAAK,MAAM,SAAS,QAAQ;EACxB,IAAI,sBAAsB,KAAK,GAAG;GAC9B,eAAe,KAAK,KAAK;GACzB;EACJ;EAEA,MAAM,EAAE,UAAU,GAAG,SAAS;EAC9B,MAAM,iBAA6C,CAAC;EAEpD,KAAK,MAAM,WAAW,UAAU;GAC5B,MAAM,QAAQ,UAAU,IAAI,QAAQ,OAAO;GAC3C,IAAI,CAAC,OACD,MAAM,IAAI,MACN,0BAA0B,MAAM,MAAM,+BAA+B,QAAQ,SACjF;GAGJ,eAAe,KAAK;IAChB,GAAG;IACH,eAAe,QAAQ;IACvB,eAAe,QAAQ;IACvB,YAAY,QAAQ;IACpB,iBAAiB,QAAQ;IACzB,kBAAkB,QAAQ;IAC1B,mBAAmB,QAAQ;IAC3B,QAAQ,QAAQ;IAChB,aAAa,QAAQ;IACrB,QAAQ,QAAQ;GACpB,CAAC;EACL;EAEA,eAAe,KAAK;GAChB,GAAG;GACH,QAAQ;EACZ,CAAC;CACL;CAEA,OAAO;AACX;AAEA,SAAgB,uBAAuB,MAA4C;CAC/E,MAAM,SAAS,CAAC,GAAG,KAAK,MAAM;CAC9B,MAAM,SAAS,mBAAmB,KAAK,QAAQ,MAAM;CACrD,OAAO,OAAO,OAAO;EACjB,QAAQ,OAAO,OAAO,MAAM;EAC5B,QAAQ,OAAO,OAAO,CAAC,GAAG,MAAM,CAAC;EACjC,WAAW,OAAO,OAAO,CAAC,GAAI,KAAK,aAAa,CAAC,CAAE,CAAC;EACpD,MAAM,KAAK;CACf,CAAC;AACL"}
@@ -0,0 +1,10 @@
1
+ import { CatalogSnapshot } from "./types.js";
2
+ //#region src/catalogs/zipper-supply.d.ts
3
+ type ZippedAssetSupplyCatalogUpdate = {
4
+ zippedAssetId: number;
5
+ supply: string;
6
+ };
7
+ declare function patchZipperCatalogSupply(snapshot: CatalogSnapshot, updates: readonly ZippedAssetSupplyCatalogUpdate[]): CatalogSnapshot;
8
+ //#endregion
9
+ export { ZippedAssetSupplyCatalogUpdate, patchZipperCatalogSupply };
10
+ //# sourceMappingURL=zipper-supply.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zipper-supply.d.ts","names":[],"sources":["../../src/catalogs/zipper-supply.ts"],"mappings":";;KAEY;EACR;EACA;;iBAGY,yBACZ,UAAU,iBACV,kBAAkB,mCACnB"}
@@ -0,0 +1,40 @@
1
+ //#region src/catalogs/zipper-supply.ts
2
+ function patchZipperCatalogSupply(snapshot, updates) {
3
+ if (updates.length === 0) return snapshot;
4
+ const supplyByZippedAssetId = /* @__PURE__ */ new Map();
5
+ for (const update of updates) supplyByZippedAssetId.set(update.zippedAssetId, update.supply);
6
+ let changed = false;
7
+ const assets = snapshot.zipper.assets.map((asset) => {
8
+ let assetChanged = false;
9
+ const chains = asset.chains.map((chain) => {
10
+ const supply = supplyByZippedAssetId.get(chain.zippedAssetId);
11
+ if (supply === void 0 || supply === chain.supply) return chain;
12
+ assetChanged = true;
13
+ changed = true;
14
+ return {
15
+ ...chain,
16
+ supply
17
+ };
18
+ });
19
+ return assetChanged ? {
20
+ ...asset,
21
+ chains
22
+ } : asset;
23
+ });
24
+ if (!changed) return snapshot;
25
+ const nowMs = Date.now();
26
+ return {
27
+ ...snapshot,
28
+ tsMs: nowMs,
29
+ version: snapshot.version + 1,
30
+ zipper: {
31
+ ...snapshot.zipper,
32
+ tsMs: nowMs,
33
+ assets
34
+ }
35
+ };
36
+ }
37
+ //#endregion
38
+ export { patchZipperCatalogSupply };
39
+
40
+ //# sourceMappingURL=zipper-supply.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"zipper-supply.js","names":[],"sources":["../../src/catalogs/zipper-supply.ts"],"sourcesContent":["import type { CatalogSnapshot } from \"./types.js\";\n\nexport type ZippedAssetSupplyCatalogUpdate = {\n zippedAssetId: number;\n supply: string;\n};\n\nexport function patchZipperCatalogSupply(\n snapshot: CatalogSnapshot,\n updates: readonly ZippedAssetSupplyCatalogUpdate[],\n): CatalogSnapshot {\n if (updates.length === 0) return snapshot;\n\n const supplyByZippedAssetId = new Map<number, string>();\n for (const update of updates) {\n supplyByZippedAssetId.set(update.zippedAssetId, update.supply);\n }\n\n let changed = false;\n const assets = snapshot.zipper.assets.map((asset) => {\n let assetChanged = false;\n const chains = asset.chains.map((chain) => {\n const supply = supplyByZippedAssetId.get(chain.zippedAssetId);\n if (supply === undefined || supply === chain.supply) return chain;\n assetChanged = true;\n changed = true;\n return { ...chain, supply };\n });\n\n return assetChanged ? { ...asset, chains } : asset;\n });\n\n if (!changed) return snapshot;\n const nowMs = Date.now();\n\n return {\n ...snapshot,\n tsMs: nowMs,\n version: snapshot.version + 1,\n zipper: {\n ...snapshot.zipper,\n tsMs: nowMs,\n assets,\n },\n };\n}\n"],"mappings":";AAOA,SAAgB,yBACZ,UACA,SACe;CACf,IAAI,QAAQ,WAAW,GAAG,OAAO;CAEjC,MAAM,wCAAwB,IAAI,IAAoB;CACtD,KAAK,MAAM,UAAU,SACjB,sBAAsB,IAAI,OAAO,eAAe,OAAO,MAAM;CAGjE,IAAI,UAAU;CACd,MAAM,SAAS,SAAS,OAAO,OAAO,KAAK,UAAU;EACjD,IAAI,eAAe;EACnB,MAAM,SAAS,MAAM,OAAO,KAAK,UAAU;GACvC,MAAM,SAAS,sBAAsB,IAAI,MAAM,aAAa;GAC5D,IAAI,WAAW,KAAA,KAAa,WAAW,MAAM,QAAQ,OAAO;GAC5D,eAAe;GACf,UAAU;GACV,OAAO;IAAE,GAAG;IAAO;GAAO;EAC9B,CAAC;EAED,OAAO,eAAe;GAAE,GAAG;GAAO;EAAO,IAAI;CACjD,CAAC;CAED,IAAI,CAAC,SAAS,OAAO;CACrB,MAAM,QAAQ,KAAK,IAAI;CAEvB,OAAO;EACH,GAAG;EACH,MAAM;EACN,SAAS,SAAS,UAAU;EAC5B,QAAQ;GACJ,GAAG,SAAS;GACZ,MAAM;GACN;EACJ;CACJ;AACJ"}