@decibeltrade/sdk 0.1.1

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 (294) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/.turbo/turbo-lint$colon$check.log +5 -0
  3. package/.turbo/turbo-lint.log +5 -0
  4. package/decibel_transactions.md +1049 -0
  5. package/dist/abi/abi-manager.d.ts +13 -0
  6. package/dist/abi/abi-manager.d.ts.map +1 -0
  7. package/dist/abi/abi-manager.js +21 -0
  8. package/dist/abi/abis.json +1322 -0
  9. package/dist/abi/bytecode-manager.d.ts +57 -0
  10. package/dist/abi/bytecode-manager.d.ts.map +1 -0
  11. package/dist/abi/bytecode-manager.js +62 -0
  12. package/dist/abi/bytecode.json +24 -0
  13. package/dist/abi/fetch-abis.d.ts +7 -0
  14. package/dist/abi/fetch-abis.d.ts.map +1 -0
  15. package/dist/abi/fetch-abis.js +132 -0
  16. package/dist/abi/fetch-bytecode.d.ts +24 -0
  17. package/dist/abi/fetch-bytecode.d.ts.map +1 -0
  18. package/dist/abi/fetch-bytecode.js +123 -0
  19. package/dist/abi/generate-abis.d.ts +6 -0
  20. package/dist/abi/generate-abis.d.ts.map +1 -0
  21. package/dist/abi/generate-abis.js +170 -0
  22. package/dist/abi/json/netna.json +1323 -0
  23. package/dist/abi/json/testnet.json +1315 -0
  24. package/dist/abi/types.d.ts +22 -0
  25. package/dist/abi/types.d.ts.map +1 -0
  26. package/dist/abi/types.js +2 -0
  27. package/dist/admin.d.ts +29 -0
  28. package/dist/admin.d.ts.map +1 -0
  29. package/dist/admin.js +203 -0
  30. package/dist/base.d.ts +42 -0
  31. package/dist/base.d.ts.map +1 -0
  32. package/dist/base.js +176 -0
  33. package/dist/constants.d.ts +41 -0
  34. package/dist/constants.d.ts.map +1 -0
  35. package/dist/constants.js +78 -0
  36. package/dist/fee-pay.d.ts +11 -0
  37. package/dist/fee-pay.d.ts.map +1 -0
  38. package/dist/fee-pay.js +30 -0
  39. package/dist/gas/gas-price-manager.d.ts +35 -0
  40. package/dist/gas/gas-price-manager.d.ts.map +1 -0
  41. package/dist/gas/gas-price-manager.js +93 -0
  42. package/dist/gas-price-manager.d.ts +31 -0
  43. package/dist/gas-price-manager.d.ts.map +1 -0
  44. package/dist/gas-price-manager.js +84 -0
  45. package/dist/index.d.ts +11 -0
  46. package/dist/index.d.ts.map +1 -0
  47. package/dist/index.js +26 -0
  48. package/dist/order-event.types.d.ts +55 -0
  49. package/dist/order-event.types.d.ts.map +1 -0
  50. package/dist/order-event.types.js +3 -0
  51. package/dist/order-status.d.ts +43 -0
  52. package/dist/order-status.d.ts.map +1 -0
  53. package/dist/order-status.js +86 -0
  54. package/dist/read/account-overview/account-overview.reader.d.ts +37 -0
  55. package/dist/read/account-overview/account-overview.reader.d.ts.map +1 -0
  56. package/dist/read/account-overview/account-overview.reader.js +35 -0
  57. package/dist/read/account-overview/account-overview.types.d.ts +52 -0
  58. package/dist/read/account-overview/account-overview.types.d.ts.map +1 -0
  59. package/dist/read/account-overview/account-overview.types.js +36 -0
  60. package/dist/read/api-wallets/api-wallets.reader.d.ts +17 -0
  61. package/dist/read/api-wallets/api-wallets.reader.d.ts.map +1 -0
  62. package/dist/read/api-wallets/api-wallets.reader.js +27 -0
  63. package/dist/read/api-wallets/api-wallets.types.d.ts +17 -0
  64. package/dist/read/api-wallets/api-wallets.types.d.ts.map +1 -0
  65. package/dist/read/api-wallets/api-wallets.types.js +13 -0
  66. package/dist/read/base-reader.d.ts +22 -0
  67. package/dist/read/base-reader.d.ts.map +1 -0
  68. package/dist/read/base-reader.js +29 -0
  69. package/dist/read/candlesticks/candlesticks.reader.d.ts +31 -0
  70. package/dist/read/candlesticks/candlesticks.reader.d.ts.map +1 -0
  71. package/dist/read/candlesticks/candlesticks.reader.js +43 -0
  72. package/dist/read/candlesticks/candlesticks.types.d.ts +45 -0
  73. package/dist/read/candlesticks/candlesticks.types.d.ts.map +1 -0
  74. package/dist/read/candlesticks/candlesticks.types.js +36 -0
  75. package/dist/read/delegations/delegations.reader.d.ts +15 -0
  76. package/dist/read/delegations/delegations.reader.d.ts.map +1 -0
  77. package/dist/read/delegations/delegations.reader.js +23 -0
  78. package/dist/read/delegations/delegations.types.d.ts +17 -0
  79. package/dist/read/delegations/delegations.types.d.ts.map +1 -0
  80. package/dist/read/delegations/delegations.types.js +13 -0
  81. package/dist/read/index.d.ts +105 -0
  82. package/dist/read/index.d.ts.map +1 -0
  83. package/dist/read/index.js +244 -0
  84. package/dist/read/leaderboard/leaderboard.reader.d.ts +21 -0
  85. package/dist/read/leaderboard/leaderboard.reader.d.ts.map +1 -0
  86. package/dist/read/leaderboard/leaderboard.reader.js +22 -0
  87. package/dist/read/leaderboard/leaderboard.types.d.ts +27 -0
  88. package/dist/read/leaderboard/leaderboard.types.d.ts.map +1 -0
  89. package/dist/read/leaderboard/leaderboard.types.js +14 -0
  90. package/dist/read/market-contexts/market-contexts.reader.d.ts +22 -0
  91. package/dist/read/market-contexts/market-contexts.reader.d.ts.map +1 -0
  92. package/dist/read/market-contexts/market-contexts.reader.js +27 -0
  93. package/dist/read/market-contexts/market-contexts.types.d.ts +26 -0
  94. package/dist/read/market-contexts/market-contexts.types.d.ts.map +1 -0
  95. package/dist/read/market-contexts/market-contexts.types.js +19 -0
  96. package/dist/read/market-depth/market-depth.reader.d.ts +30 -0
  97. package/dist/read/market-depth/market-depth.reader.d.ts.map +1 -0
  98. package/dist/read/market-depth/market-depth.reader.js +46 -0
  99. package/dist/read/market-depth/market-depth.types.d.ts +20 -0
  100. package/dist/read/market-depth/market-depth.types.d.ts.map +1 -0
  101. package/dist/read/market-depth/market-depth.types.js +16 -0
  102. package/dist/read/market-prices/market-prices.reader.d.ts +44 -0
  103. package/dist/read/market-prices/market-prices.reader.d.ts.map +1 -0
  104. package/dist/read/market-prices/market-prices.reader.js +51 -0
  105. package/dist/read/market-prices/market-prices.types.d.ts +48 -0
  106. package/dist/read/market-prices/market-prices.types.d.ts.map +1 -0
  107. package/dist/read/market-prices/market-prices.types.js +26 -0
  108. package/dist/read/market-trades/market-trades.reader.d.ts +33 -0
  109. package/dist/read/market-trades/market-trades.reader.d.ts.map +1 -0
  110. package/dist/read/market-trades/market-trades.reader.js +39 -0
  111. package/dist/read/market-trades/market-trades.types.d.ts +52 -0
  112. package/dist/read/market-trades/market-trades.types.d.ts.map +1 -0
  113. package/dist/read/market-trades/market-trades.types.js +23 -0
  114. package/dist/read/markets/markets.reader.d.ts +38 -0
  115. package/dist/read/markets/markets.reader.d.ts.map +1 -0
  116. package/dist/read/markets/markets.reader.js +80 -0
  117. package/dist/read/markets/markets.types.d.ts +82 -0
  118. package/dist/read/markets/markets.types.d.ts.map +1 -0
  119. package/dist/read/markets/markets.types.js +46 -0
  120. package/dist/read/pagination.types.d.ts +14 -0
  121. package/dist/read/pagination.types.d.ts.map +1 -0
  122. package/dist/read/pagination.types.js +12 -0
  123. package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts +14 -0
  124. package/dist/read/portfolio-chart/portfolio-chart.reader.d.ts.map +1 -0
  125. package/dist/read/portfolio-chart/portfolio-chart.reader.js +21 -0
  126. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts +14 -0
  127. package/dist/read/portfolio-chart/portfolio-chart.types.d.ts.map +1 -0
  128. package/dist/read/portfolio-chart/portfolio-chart.types.js +12 -0
  129. package/dist/read/public-vaults/public-vaults.reader.d.ts +38 -0
  130. package/dist/read/public-vaults/public-vaults.reader.d.ts.map +1 -0
  131. package/dist/read/public-vaults/public-vaults.reader.js +31 -0
  132. package/dist/read/public-vaults/public-vaults.types.d.ts +62 -0
  133. package/dist/read/public-vaults/public-vaults.types.d.ts.map +1 -0
  134. package/dist/read/public-vaults/public-vaults.types.js +33 -0
  135. package/dist/read/types.d.ts +178 -0
  136. package/dist/read/types.d.ts.map +1 -0
  137. package/dist/read/types.js +87 -0
  138. package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts +31 -0
  139. package/dist/read/user-active-twaps/user-active-twaps.reader.d.ts.map +1 -0
  140. package/dist/read/user-active-twaps/user-active-twaps.reader.js +31 -0
  141. package/dist/read/user-active-twaps/user-active-twaps.types.d.ts +49 -0
  142. package/dist/read/user-active-twaps/user-active-twaps.types.d.ts.map +1 -0
  143. package/dist/read/user-active-twaps/user-active-twaps.types.js +25 -0
  144. package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts +31 -0
  145. package/dist/read/user-bulk-orders/user-bulk-orders.reader.d.ts.map +1 -0
  146. package/dist/read/user-bulk-orders/user-bulk-orders.reader.js +32 -0
  147. package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts +46 -0
  148. package/dist/read/user-bulk-orders/user-bulk-orders.types.d.ts.map +1 -0
  149. package/dist/read/user-bulk-orders/user-bulk-orders.types.js +24 -0
  150. package/dist/read/user-funding-history/user-funding-history.reader.d.ts +28 -0
  151. package/dist/read/user-funding-history/user-funding-history.reader.d.ts.map +1 -0
  152. package/dist/read/user-funding-history/user-funding-history.reader.js +32 -0
  153. package/dist/read/user-funding-history/user-funding-history.types.d.ts +37 -0
  154. package/dist/read/user-funding-history/user-funding-history.types.d.ts.map +1 -0
  155. package/dist/read/user-funding-history/user-funding-history.types.js +21 -0
  156. package/dist/read/user-notifications/user-notifications.reader.d.ts +13 -0
  157. package/dist/read/user-notifications/user-notifications.reader.d.ts.map +1 -0
  158. package/dist/read/user-notifications/user-notifications.reader.js +19 -0
  159. package/dist/read/user-notifications/user-notifications.types.d.ts +49 -0
  160. package/dist/read/user-notifications/user-notifications.types.d.ts.map +1 -0
  161. package/dist/read/user-notifications/user-notifications.types.js +18 -0
  162. package/dist/read/user-open-orders/user-open-orders.reader.d.ts +40 -0
  163. package/dist/read/user-open-orders/user-open-orders.reader.d.ts.map +1 -0
  164. package/dist/read/user-open-orders/user-open-orders.reader.js +31 -0
  165. package/dist/read/user-open-orders/user-open-orders.types.d.ts +76 -0
  166. package/dist/read/user-open-orders/user-open-orders.types.d.ts.map +1 -0
  167. package/dist/read/user-open-orders/user-open-orders.types.js +34 -0
  168. package/dist/read/user-order-history/user-order-history.reader.d.ts +40 -0
  169. package/dist/read/user-order-history/user-order-history.reader.d.ts.map +1 -0
  170. package/dist/read/user-order-history/user-order-history.reader.js +28 -0
  171. package/dist/read/user-order-history/user-order-history.types.d.ts +85 -0
  172. package/dist/read/user-order-history/user-order-history.types.d.ts.map +1 -0
  173. package/dist/read/user-order-history/user-order-history.types.js +37 -0
  174. package/dist/read/user-positions/user-positions.reader.d.ts +37 -0
  175. package/dist/read/user-positions/user-positions.reader.d.ts.map +1 -0
  176. package/dist/read/user-positions/user-positions.reader.js +41 -0
  177. package/dist/read/user-positions/user-positions.types.d.ts +2590 -0
  178. package/dist/read/user-positions/user-positions.types.d.ts.map +1 -0
  179. package/dist/read/user-positions/user-positions.types.js +31 -0
  180. package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts +18 -0
  181. package/dist/read/user-subaccounts/user-subaccounts.reader.d.ts.map +1 -0
  182. package/dist/read/user-subaccounts/user-subaccounts.reader.js +28 -0
  183. package/dist/read/user-subaccounts/user-subaccounts.types.d.ts +21 -0
  184. package/dist/read/user-subaccounts/user-subaccounts.types.d.ts.map +1 -0
  185. package/dist/read/user-subaccounts/user-subaccounts.types.js +15 -0
  186. package/dist/read/user-trade-history/user-trade-history.reader.d.ts +33 -0
  187. package/dist/read/user-trade-history/user-trade-history.reader.d.ts.map +1 -0
  188. package/dist/read/user-trade-history/user-trade-history.reader.js +32 -0
  189. package/dist/read/user-trade-history/user-trade-history.types.d.ts +52 -0
  190. package/dist/read/user-trade-history/user-trade-history.types.d.ts.map +1 -0
  191. package/dist/read/user-trade-history/user-trade-history.types.js +26 -0
  192. package/dist/read/user-vaults/user-vaults.reader.d.ts +26 -0
  193. package/dist/read/user-vaults/user-vaults.reader.d.ts.map +1 -0
  194. package/dist/read/user-vaults/user-vaults.reader.js +32 -0
  195. package/dist/read/user-vaults/user-vaults.types.d.ts +39 -0
  196. package/dist/read/user-vaults/user-vaults.types.d.ts.map +1 -0
  197. package/dist/read/user-vaults/user-vaults.types.js +21 -0
  198. package/dist/read/vault/vault.reader.d.ts +95 -0
  199. package/dist/read/vault/vault.reader.d.ts.map +1 -0
  200. package/dist/read/vault/vault.reader.js +168 -0
  201. package/dist/read/vault/vault.types.d.ts +49 -0
  202. package/dist/read/vault/vault.types.d.ts.map +1 -0
  203. package/dist/read/vault/vault.types.js +45 -0
  204. package/dist/read/vaults/vaults.reader.d.ts +72 -0
  205. package/dist/read/vaults/vaults.reader.d.ts.map +1 -0
  206. package/dist/read/vaults/vaults.reader.js +63 -0
  207. package/dist/read/vaults/vaults.types.d.ts +140 -0
  208. package/dist/read/vaults/vaults.types.d.ts.map +1 -0
  209. package/dist/read/vaults/vaults.types.js +71 -0
  210. package/dist/read/ws-subscription.d.ts +21 -0
  211. package/dist/read/ws-subscription.d.ts.map +1 -0
  212. package/dist/read/ws-subscription.js +170 -0
  213. package/dist/subaccount-types.d.ts +24 -0
  214. package/dist/subaccount-types.d.ts.map +1 -0
  215. package/dist/subaccount-types.js +11 -0
  216. package/dist/transaction-builder.d.ts +14 -0
  217. package/dist/transaction-builder.d.ts.map +1 -0
  218. package/dist/transaction-builder.js +40 -0
  219. package/dist/tsconfig.tsbuildinfo +1 -0
  220. package/dist/utils.d.ts +56 -0
  221. package/dist/utils.d.ts.map +1 -0
  222. package/dist/utils.js +164 -0
  223. package/dist/vault-types.d.ts +43 -0
  224. package/dist/vault-types.d.ts.map +1 -0
  225. package/dist/vault-types.js +11 -0
  226. package/dist/write.d.ts +271 -0
  227. package/dist/write.d.ts.map +1 -0
  228. package/dist/write.js +485 -0
  229. package/eslint.config.mjs +25 -0
  230. package/package.json +39 -0
  231. package/readme.md +257 -0
  232. package/sdk_reference.md +876 -0
  233. package/src/abi/generate-abis.ts +164 -0
  234. package/src/abi/json/netna.json +1323 -0
  235. package/src/abi/json/testnet.json +1315 -0
  236. package/src/abi/types.ts +23 -0
  237. package/src/admin.ts +284 -0
  238. package/src/base.ts +218 -0
  239. package/src/constants.ts +118 -0
  240. package/src/fee-pay.ts +39 -0
  241. package/src/gas/gas-price-manager.ts +115 -0
  242. package/src/index.ts +10 -0
  243. package/src/order-event.types.ts +65 -0
  244. package/src/order-status.ts +89 -0
  245. package/src/read/account-overview/account-overview.reader.ts +43 -0
  246. package/src/read/account-overview/account-overview.types.ts +45 -0
  247. package/src/read/base-reader.ts +41 -0
  248. package/src/read/candlesticks/candlesticks.reader.ts +61 -0
  249. package/src/read/candlesticks/candlesticks.types.ts +46 -0
  250. package/src/read/delegations/delegations.reader.ts +22 -0
  251. package/src/read/delegations/delegations.types.ts +19 -0
  252. package/src/read/index.ts +271 -0
  253. package/src/read/leaderboard/leaderboard.reader.ts +21 -0
  254. package/src/read/leaderboard/leaderboard.types.ts +26 -0
  255. package/src/read/market-contexts/market-contexts.reader.ts +26 -0
  256. package/src/read/market-contexts/market-contexts.types.ts +18 -0
  257. package/src/read/market-depth/market-depth.reader.ts +60 -0
  258. package/src/read/market-depth/market-depth.types.ts +24 -0
  259. package/src/read/market-prices/market-prices.reader.ts +61 -0
  260. package/src/read/market-prices/market-prices.types.ts +38 -0
  261. package/src/read/market-trades/market-trades.reader.ts +46 -0
  262. package/src/read/market-trades/market-trades.types.ts +34 -0
  263. package/src/read/markets/markets.reader.ts +82 -0
  264. package/src/read/markets/markets.types.ts +54 -0
  265. package/src/read/pagination.types.ts +18 -0
  266. package/src/read/portfolio-chart/portfolio-chart.reader.ts +20 -0
  267. package/src/read/portfolio-chart/portfolio-chart.types.ts +21 -0
  268. package/src/read/types.ts +129 -0
  269. package/src/read/user-active-twaps/user-active-twaps.reader.ts +36 -0
  270. package/src/read/user-active-twaps/user-active-twaps.types.ts +33 -0
  271. package/src/read/user-bulk-orders/user-bulk-orders.reader.ts +37 -0
  272. package/src/read/user-bulk-orders/user-bulk-orders.types.ts +32 -0
  273. package/src/read/user-funding-history/user-funding-history.reader.ts +38 -0
  274. package/src/read/user-funding-history/user-funding-history.types.ts +29 -0
  275. package/src/read/user-notifications/user-notifications.reader.ts +17 -0
  276. package/src/read/user-notifications/user-notifications.types.ts +61 -0
  277. package/src/read/user-open-orders/user-open-orders.reader.ts +36 -0
  278. package/src/read/user-open-orders/user-open-orders.types.ts +42 -0
  279. package/src/read/user-order-history/user-order-history.reader.ts +34 -0
  280. package/src/read/user-order-history/user-order-history.types.ts +44 -0
  281. package/src/read/user-positions/user-positions.reader.ts +55 -0
  282. package/src/read/user-positions/user-positions.types.ts +43 -0
  283. package/src/read/user-subaccounts/user-subaccounts.reader.ts +30 -0
  284. package/src/read/user-subaccounts/user-subaccounts.types.ts +21 -0
  285. package/src/read/user-trade-history/user-trade-history.reader.ts +38 -0
  286. package/src/read/user-trade-history/user-trade-history.types.ts +33 -0
  287. package/src/read/vaults/vaults.reader.ts +79 -0
  288. package/src/read/vaults/vaults.types.ts +106 -0
  289. package/src/read/ws-subscription.ts +200 -0
  290. package/src/subaccount-types.ts +31 -0
  291. package/src/transaction-builder.ts +75 -0
  292. package/src/utils.ts +255 -0
  293. package/src/write.ts +965 -0
  294. package/tsconfig.json +8 -0
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VaultReader = void 0;
4
+ const MOCK_VAULT_DATA = [
5
+ {
6
+ address: "0x1",
7
+ name: "Vault 1",
8
+ description: "Vault 1 description",
9
+ manager: "0x1",
10
+ status: "active",
11
+ created_at: 1640995200000,
12
+ tvl: 1000000,
13
+ volume: 1000000,
14
+ all_time_return: 1000000,
15
+ past_month_return: 1000000,
16
+ sharpe_ratio: 1000000,
17
+ max_drawdown: 1000000,
18
+ weekly_win_rate_12w: 1000000,
19
+ profit_share: 1000000,
20
+ pnl_90d: 1000000,
21
+ manager_avg_cash: 1000000,
22
+ average_leverage: 1000000,
23
+ depositors: 1000000,
24
+ spot_equity: 1000000,
25
+ perp_equity: 1000000,
26
+ type: "user",
27
+ pnl_history: [
28
+ 900000, 920000, 940000, 950000, 970000, 990000, 1000000, 1010000, 1005000, 1000000, 995000,
29
+ 1002000, 1008000,
30
+ ],
31
+ age: 100,
32
+ socials: {
33
+ x: "decibeltrade",
34
+ website: "www.decibel.trade",
35
+ discord: "nc5NqyzM8V",
36
+ medium: "decibel-trade",
37
+ },
38
+ },
39
+ {
40
+ address: "0x2",
41
+ name: "Vault 2",
42
+ description: "Vault 2 description",
43
+ manager: "0x2",
44
+ status: "active",
45
+ created_at: 1640995200000,
46
+ tvl: 1000000,
47
+ volume: 1000000,
48
+ all_time_return: 1000000,
49
+ past_month_return: 1000000,
50
+ sharpe_ratio: 1000000,
51
+ max_drawdown: 1000000,
52
+ weekly_win_rate_12w: 1000000,
53
+ profit_share: 1000000,
54
+ pnl_90d: 1000000,
55
+ manager_avg_cash: 1000000,
56
+ average_leverage: 1000000,
57
+ depositors: 1000000,
58
+ spot_equity: 1000000,
59
+ perp_equity: 1000000,
60
+ type: "user",
61
+ pnl_history: [
62
+ 900000, 920000, 940000, 950000, 970000, 990000, 1000000, 1010000, 1005000, 1000000, 995000,
63
+ 1002000, 1008000,
64
+ ],
65
+ age: 100,
66
+ socials: {
67
+ x: "decibeltrade",
68
+ website: "www.decibel.trade",
69
+ discord: "nc5NqyzM8V",
70
+ medium: "decibel-trade",
71
+ },
72
+ },
73
+ ];
74
+ const MOCK_VAULT_POSITION_DATA = [
75
+ {
76
+ address: "0x1",
77
+ all_time_pnl: 50000,
78
+ unrealized_pnl: 10000,
79
+ withdrawable_amount: 20000,
80
+ withdrawable_at: 1641081600000, // 1 day after created_at
81
+ },
82
+ ];
83
+ class VaultReader {
84
+ deps;
85
+ constructor(deps) {
86
+ this.deps = deps;
87
+ }
88
+ getVaults() {
89
+ return MOCK_VAULT_DATA;
90
+ }
91
+ getVaultByAddress(vaultAddress) {
92
+ const response = MOCK_VAULT_DATA.find((vault) => vault.address.toLowerCase() === vaultAddress.toLowerCase());
93
+ if (!response) {
94
+ throw new Error("Vault not found");
95
+ }
96
+ return response;
97
+ }
98
+ getVaultPositions() {
99
+ return MOCK_VAULT_POSITION_DATA;
100
+ }
101
+ // ======= VAULT READ FUNCTIONS =======
102
+ /**
103
+ * Get the number of shares for a vault
104
+ */
105
+ async getVaultNumShares(vaultAddress) {
106
+ const response = await this.deps.aptos.view({
107
+ payload: {
108
+ function: `${this.deps.config.deployment.package}::vault::get_vault_num_shares`,
109
+ typeArguments: [],
110
+ functionArguments: [vaultAddress],
111
+ },
112
+ });
113
+ return Number(response[0]);
114
+ }
115
+ /**
116
+ * Get the net asset value for a vault
117
+ */
118
+ async getVaultNetAssetValue(vaultAddress) {
119
+ const response = await this.deps.aptos.view({
120
+ payload: {
121
+ function: `${this.deps.config.deployment.package}::vault::get_vault_net_asset_value`,
122
+ typeArguments: [],
123
+ functionArguments: [vaultAddress],
124
+ },
125
+ });
126
+ return Number(response[0]);
127
+ }
128
+ /**
129
+ * Get the contribution asset type for a vault
130
+ */
131
+ async getVaultContributionAssetType(vaultAddress) {
132
+ const response = await this.deps.aptos.view({
133
+ payload: {
134
+ function: `${this.deps.config.deployment.package}::vault::get_vault_contribution_asset_type`,
135
+ typeArguments: [],
136
+ functionArguments: [vaultAddress],
137
+ },
138
+ });
139
+ return response[0];
140
+ }
141
+ /**
142
+ * Get the share asset type for a vault
143
+ */
144
+ async getVaultShareAssetType(vaultAddress) {
145
+ const response = await this.deps.aptos.view({
146
+ payload: {
147
+ function: `${this.deps.config.deployment.package}::vault::get_vault_share_asset_type`,
148
+ typeArguments: [],
149
+ functionArguments: [vaultAddress],
150
+ },
151
+ });
152
+ return response[0];
153
+ }
154
+ /**
155
+ * Get the admin address for a vault
156
+ */
157
+ async getVaultAdmin(vaultAddress) {
158
+ const response = await this.deps.aptos.view({
159
+ payload: {
160
+ function: `${this.deps.config.deployment.package}::vault::get_vault_admin`,
161
+ typeArguments: [],
162
+ functionArguments: [vaultAddress],
163
+ },
164
+ });
165
+ return response[0];
166
+ }
167
+ }
168
+ exports.VaultReader = VaultReader;
@@ -0,0 +1,49 @@
1
+ import z from "zod/v4";
2
+ import { PageParams } from "../pagination.types";
3
+ export interface GetVaultsArgs extends PageParams {
4
+ address?: string;
5
+ }
6
+ export interface GetVaultPositionsArgs extends PageParams {
7
+ address?: string;
8
+ }
9
+ export declare const VaultSchema: z.ZodObject<{
10
+ address: z.ZodString;
11
+ name: z.ZodString;
12
+ description: z.ZodString;
13
+ manager: z.ZodString;
14
+ status: z.ZodString;
15
+ created_at: z.ZodNumber;
16
+ tvl: z.ZodNumber;
17
+ volume: z.ZodNumber;
18
+ all_time_return: z.ZodNumber;
19
+ past_month_return: z.ZodNumber;
20
+ sharpe_ratio: z.ZodNullable<z.ZodNumber>;
21
+ max_drawdown: z.ZodNullable<z.ZodNumber>;
22
+ weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
23
+ profit_share: z.ZodNumber;
24
+ pnl_90d: z.ZodNumber;
25
+ manager_avg_cash: z.ZodNumber;
26
+ average_leverage: z.ZodNumber;
27
+ depositors: z.ZodNumber;
28
+ spot_equity: z.ZodNumber;
29
+ perp_equity: z.ZodNumber;
30
+ type: z.ZodString;
31
+ pnl_history: z.ZodArray<z.ZodNumber>;
32
+ age: z.ZodNumber;
33
+ socials: z.ZodObject<{
34
+ x: z.ZodString;
35
+ website: z.ZodString;
36
+ discord: z.ZodString;
37
+ medium: z.ZodString;
38
+ }, z.core.$strip>;
39
+ }, z.core.$strip>;
40
+ export declare const VaultPositionSchema: z.ZodObject<{
41
+ address: z.ZodString;
42
+ all_time_pnl: z.ZodNumber;
43
+ unrealized_pnl: z.ZodNumber;
44
+ withdrawable_amount: z.ZodNumber;
45
+ withdrawable_at: z.ZodNumber;
46
+ }, z.core.$strip>;
47
+ export type Vault = z.infer<typeof VaultSchema>;
48
+ export type VaultPosition = z.infer<typeof VaultPositionSchema>;
49
+ //# sourceMappingURL=vault.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vault.types.d.ts","sourceRoot":"","sources":["../../../src/read/vault/vault.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAEvB,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAIjD,MAAM,WAAW,aAAc,SAAQ,UAAU;IAC/C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,qBAAsB,SAAQ,UAAU;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBA8BtB,CAAC;AAEH,eAAO,MAAM,mBAAmB;;;;;;iBAM9B,CAAC;AAEH,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.VaultPositionSchema = exports.VaultSchema = void 0;
7
+ const v4_1 = __importDefault(require("zod/v4"));
8
+ exports.VaultSchema = v4_1.default.object({
9
+ address: v4_1.default.string(),
10
+ name: v4_1.default.string(),
11
+ description: v4_1.default.string(),
12
+ manager: v4_1.default.string(),
13
+ status: v4_1.default.string(),
14
+ created_at: v4_1.default.number(),
15
+ tvl: v4_1.default.number(),
16
+ volume: v4_1.default.number(),
17
+ all_time_return: v4_1.default.number(),
18
+ past_month_return: v4_1.default.number(),
19
+ sharpe_ratio: v4_1.default.number().nullable(),
20
+ max_drawdown: v4_1.default.number().nullable(),
21
+ weekly_win_rate_12w: v4_1.default.number().nullable(),
22
+ profit_share: v4_1.default.number(),
23
+ pnl_90d: v4_1.default.number(),
24
+ manager_avg_cash: v4_1.default.number(),
25
+ average_leverage: v4_1.default.number(),
26
+ depositors: v4_1.default.number(),
27
+ spot_equity: v4_1.default.number(),
28
+ perp_equity: v4_1.default.number(),
29
+ type: v4_1.default.string(),
30
+ pnl_history: v4_1.default.array(v4_1.default.number()),
31
+ age: v4_1.default.number(),
32
+ socials: v4_1.default.object({
33
+ x: v4_1.default.string(),
34
+ website: v4_1.default.string(),
35
+ discord: v4_1.default.string(),
36
+ medium: v4_1.default.string(),
37
+ }),
38
+ });
39
+ exports.VaultPositionSchema = v4_1.default.object({
40
+ address: v4_1.default.string(),
41
+ all_time_pnl: v4_1.default.number(),
42
+ unrealized_pnl: v4_1.default.number(), // could be zero, if has all_time_earned but no current withdrawable amount in the vault
43
+ withdrawable_amount: v4_1.default.number(), // could be zero, if has all_time_earned but no current withdrawable amount in the vault
44
+ withdrawable_at: v4_1.default.number(), // for cooldown
45
+ });
@@ -0,0 +1,72 @@
1
+ import { BaseReader } from "../base-reader";
2
+ import { GetPublicVaultsArgs, GetUserOwnedVaultsArgs, GetUserPerformancesOnVaultsArgs } from "./vaults.types";
3
+ export declare class VaultsReader extends BaseReader {
4
+ /**
5
+ * Get all vaults
6
+ * @returns All vaults
7
+ */
8
+ getVaults(args?: GetPublicVaultsArgs): Promise<{
9
+ items: {
10
+ address: string;
11
+ name: string;
12
+ description: string | null;
13
+ manager: string;
14
+ status: string;
15
+ created_at: number;
16
+ tvl: number | null;
17
+ volume: number | null;
18
+ all_time_return: number | null;
19
+ past_month_return: number | null;
20
+ sharpe_ratio: number | null;
21
+ max_drawdown: number | null;
22
+ weekly_win_rate_12w: number | null;
23
+ profit_share: number | null;
24
+ pnl_90d: number | null;
25
+ manager_avg_cash: number | null;
26
+ average_leverage: number | null;
27
+ depositors: number | null;
28
+ perp_equity: number | null;
29
+ vault_type: string;
30
+ pnl_history: string[] | null;
31
+ social_links: string[] | null;
32
+ }[];
33
+ total_count: number;
34
+ total_value_locked: number;
35
+ total_volume: number;
36
+ }>;
37
+ /**
38
+ * Get vaults by owner address
39
+ * @param user The user address to filter vaults by
40
+ * @returns The vaults for the given owner address
41
+ */
42
+ getUserOwnedVaults(args: GetUserOwnedVaultsArgs): Promise<{
43
+ items: {
44
+ vault_address: string;
45
+ vault_name: string;
46
+ vault_share_symbol: string;
47
+ status: string;
48
+ age_days: number;
49
+ num_managers: number;
50
+ tvl: number | null;
51
+ apr: number | null;
52
+ manager_equity: number | null;
53
+ manager_stake: number | null;
54
+ }[];
55
+ total_count: number;
56
+ }>;
57
+ /**
58
+ * Get user performance
59
+ * @param args The arguments for the user performance
60
+ * @returns The user performance
61
+ */
62
+ getUserPerformancesOnVaults(args: GetUserPerformancesOnVaultsArgs): Promise<{
63
+ vault_address: string;
64
+ user_address: string;
65
+ net_deposits: number | null;
66
+ current_num_shares: number | null;
67
+ current_value_of_shares: number | null;
68
+ all_time_return: number | null;
69
+ unrealized_pnl: number | null;
70
+ }[]>;
71
+ }
72
+ //# sourceMappingURL=vaults.reader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults.reader.d.ts","sourceRoot":"","sources":["../../../src/read/vaults/vaults.reader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,+BAA+B,EAIhC,MAAM,gBAAgB,CAAC;AAExB,qBAAa,YAAa,SAAQ,UAAU;IAC1C;;;OAGG;IACG,SAAS,CAAC,IAAI,CAAC,EAAE,mBAAmB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IAgB1C;;;;OAIG;IACG,kBAAkB,CAAC,IAAI,EAAE,sBAAsB;;;;;;;;;;;;;;;IAkBrD;;;;OAIG;IACG,2BAA2B,CAAC,IAAI,EAAE,+BAA+B;;;;;;;;;CAaxE"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.VaultsReader = void 0;
4
+ const base_reader_1 = require("../base-reader");
5
+ const vaults_types_1 = require("./vaults.types");
6
+ class VaultsReader extends base_reader_1.BaseReader {
7
+ /**
8
+ * Get all vaults
9
+ * @returns All vaults
10
+ */
11
+ async getVaults(args) {
12
+ const queryParams = new URLSearchParams();
13
+ if (args?.vaultType)
14
+ queryParams.set("vault_type", args.vaultType);
15
+ if (args?.limit)
16
+ queryParams.set("limit", args.limit.toString());
17
+ if (args?.offset)
18
+ queryParams.set("offset", args.offset.toString());
19
+ const response = await this.getRequest({
20
+ schema: vaults_types_1.VaultsResponseSchema,
21
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/vaults`,
22
+ queryParams,
23
+ });
24
+ return response.data;
25
+ }
26
+ /**
27
+ * Get vaults by owner address
28
+ * @param user The user address to filter vaults by
29
+ * @returns The vaults for the given owner address
30
+ */
31
+ async getUserOwnedVaults(args) {
32
+ const queryParams = new URLSearchParams({
33
+ user: args.ownerAddr,
34
+ });
35
+ if (args.limit)
36
+ queryParams.set("limit", args.limit.toString());
37
+ if (args.offset)
38
+ queryParams.set("offset", args.offset.toString());
39
+ const response = await this.getRequest({
40
+ schema: vaults_types_1.UserOwnedVaultsResponseSchema,
41
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/user_owned_vaults`,
42
+ queryParams,
43
+ });
44
+ return response.data;
45
+ }
46
+ /**
47
+ * Get user performance
48
+ * @param args The arguments for the user performance
49
+ * @returns The user performance
50
+ */
51
+ async getUserPerformancesOnVaults(args) {
52
+ const queryParams = new URLSearchParams({
53
+ user_address: args.ownerAddr,
54
+ });
55
+ const response = await this.getRequest({
56
+ schema: vaults_types_1.UserPerformancesOnVaultsResponseSchema,
57
+ url: `${this.deps.config.tradingHttpUrl}/api/v1/user_vault_performance`,
58
+ queryParams,
59
+ });
60
+ return response.data;
61
+ }
62
+ }
63
+ exports.VaultsReader = VaultsReader;
@@ -0,0 +1,140 @@
1
+ import z from "zod/v4";
2
+ /**
3
+ * Arguments for fetching vaults owned by a specific user
4
+ */
5
+ export interface GetUserOwnedVaultsArgs {
6
+ ownerAddr: string;
7
+ limit?: number;
8
+ offset?: number;
9
+ }
10
+ export interface GetPublicVaultsArgs {
11
+ limit?: number;
12
+ offset?: number;
13
+ vaultType?: "user" | "protocol";
14
+ address?: string;
15
+ }
16
+ /**
17
+ * Arguments for fetching user performance metrics for a specific subaccount
18
+ */
19
+ export interface GetUserPerformancesOnVaultsArgs {
20
+ ownerAddr: string;
21
+ }
22
+ /**
23
+ * Schema for a vault in the protocol
24
+ * Represents both protocol-wide vaults and user-managed vaults
25
+ */
26
+ export declare const VaultSchema: z.ZodObject<{
27
+ address: z.ZodString;
28
+ name: z.ZodString;
29
+ description: z.ZodNullable<z.ZodString>;
30
+ manager: z.ZodString;
31
+ status: z.ZodString;
32
+ created_at: z.ZodNumber;
33
+ tvl: z.ZodNullable<z.ZodNumber>;
34
+ volume: z.ZodNullable<z.ZodNumber>;
35
+ all_time_return: z.ZodNullable<z.ZodNumber>;
36
+ past_month_return: z.ZodNullable<z.ZodNumber>;
37
+ sharpe_ratio: z.ZodNullable<z.ZodNumber>;
38
+ max_drawdown: z.ZodNullable<z.ZodNumber>;
39
+ weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
40
+ profit_share: z.ZodNullable<z.ZodNumber>;
41
+ pnl_90d: z.ZodNullable<z.ZodNumber>;
42
+ manager_avg_cash: z.ZodNullable<z.ZodNumber>;
43
+ average_leverage: z.ZodNullable<z.ZodNumber>;
44
+ depositors: z.ZodNullable<z.ZodNumber>;
45
+ perp_equity: z.ZodNullable<z.ZodNumber>;
46
+ vault_type: z.ZodString;
47
+ pnl_history: z.ZodNullable<z.ZodArray<z.ZodString>>;
48
+ social_links: z.ZodNullable<z.ZodArray<z.ZodString>>;
49
+ }, z.core.$strip>;
50
+ export declare const VaultsResponseSchema: z.ZodObject<{
51
+ items: z.ZodArray<z.ZodObject<{
52
+ address: z.ZodString;
53
+ name: z.ZodString;
54
+ description: z.ZodNullable<z.ZodString>;
55
+ manager: z.ZodString;
56
+ status: z.ZodString;
57
+ created_at: z.ZodNumber;
58
+ tvl: z.ZodNullable<z.ZodNumber>;
59
+ volume: z.ZodNullable<z.ZodNumber>;
60
+ all_time_return: z.ZodNullable<z.ZodNumber>;
61
+ past_month_return: z.ZodNullable<z.ZodNumber>;
62
+ sharpe_ratio: z.ZodNullable<z.ZodNumber>;
63
+ max_drawdown: z.ZodNullable<z.ZodNumber>;
64
+ weekly_win_rate_12w: z.ZodNullable<z.ZodNumber>;
65
+ profit_share: z.ZodNullable<z.ZodNumber>;
66
+ pnl_90d: z.ZodNullable<z.ZodNumber>;
67
+ manager_avg_cash: z.ZodNullable<z.ZodNumber>;
68
+ average_leverage: z.ZodNullable<z.ZodNumber>;
69
+ depositors: z.ZodNullable<z.ZodNumber>;
70
+ perp_equity: z.ZodNullable<z.ZodNumber>;
71
+ vault_type: z.ZodString;
72
+ pnl_history: z.ZodNullable<z.ZodArray<z.ZodString>>;
73
+ social_links: z.ZodNullable<z.ZodArray<z.ZodString>>;
74
+ }, z.core.$strip>>;
75
+ total_count: z.ZodNumber;
76
+ total_value_locked: z.ZodNumber;
77
+ total_volume: z.ZodNumber;
78
+ }, z.core.$strip>;
79
+ export type VaultsResponse = z.infer<typeof VaultsResponseSchema>;
80
+ export type Vault = z.infer<typeof VaultSchema>;
81
+ export type Vaults = Vault[];
82
+ /**
83
+ * Schema for vaults owned/managed by a specific user
84
+ * Contains summary information about vaults the user manages
85
+ */
86
+ export declare const UserOwnedVaultSchema: z.ZodObject<{
87
+ vault_address: z.ZodString;
88
+ vault_name: z.ZodString;
89
+ vault_share_symbol: z.ZodString;
90
+ status: z.ZodString;
91
+ age_days: z.ZodNumber;
92
+ num_managers: z.ZodNumber;
93
+ tvl: z.ZodNullable<z.ZodNumber>;
94
+ apr: z.ZodNullable<z.ZodNumber>;
95
+ manager_equity: z.ZodNullable<z.ZodNumber>;
96
+ manager_stake: z.ZodNullable<z.ZodNumber>;
97
+ }, z.core.$strip>;
98
+ export declare const UserOwnedVaultsResponseSchema: z.ZodObject<{
99
+ items: z.ZodArray<z.ZodObject<{
100
+ vault_address: z.ZodString;
101
+ vault_name: z.ZodString;
102
+ vault_share_symbol: z.ZodString;
103
+ status: z.ZodString;
104
+ age_days: z.ZodNumber;
105
+ num_managers: z.ZodNumber;
106
+ tvl: z.ZodNullable<z.ZodNumber>;
107
+ apr: z.ZodNullable<z.ZodNumber>;
108
+ manager_equity: z.ZodNullable<z.ZodNumber>;
109
+ manager_stake: z.ZodNullable<z.ZodNumber>;
110
+ }, z.core.$strip>>;
111
+ total_count: z.ZodNumber;
112
+ }, z.core.$strip>;
113
+ export type UserOwnedVaultsResponse = z.infer<typeof UserOwnedVaultsResponseSchema>;
114
+ export type UserOwnedVault = z.infer<typeof UserOwnedVaultSchema>;
115
+ export type UserOwnedVaults = UserOwnedVault[];
116
+ /**
117
+ * Schema for user performance metrics within a vault
118
+ * Tracks a user's deposits, shares, returns, and PnL for a specific vault
119
+ */
120
+ export declare const UserPerformanceOnVaultSchema: z.ZodObject<{
121
+ vault_address: z.ZodString;
122
+ user_address: z.ZodString;
123
+ net_deposits: z.ZodNullable<z.ZodNumber>;
124
+ current_num_shares: z.ZodNullable<z.ZodNumber>;
125
+ current_value_of_shares: z.ZodNullable<z.ZodNumber>;
126
+ all_time_return: z.ZodNullable<z.ZodNumber>;
127
+ unrealized_pnl: z.ZodNullable<z.ZodNumber>;
128
+ }, z.core.$strip>;
129
+ export declare const UserPerformancesOnVaultsResponseSchema: z.ZodArray<z.ZodObject<{
130
+ vault_address: z.ZodString;
131
+ user_address: z.ZodString;
132
+ net_deposits: z.ZodNullable<z.ZodNumber>;
133
+ current_num_shares: z.ZodNullable<z.ZodNumber>;
134
+ current_value_of_shares: z.ZodNullable<z.ZodNumber>;
135
+ all_time_return: z.ZodNullable<z.ZodNumber>;
136
+ unrealized_pnl: z.ZodNullable<z.ZodNumber>;
137
+ }, z.core.$strip>>;
138
+ export type UserPerformanceOnVault = z.infer<typeof UserPerformanceOnVaultSchema>;
139
+ export type UserPerformancesOnVaults = UserPerformanceOnVault[];
140
+ //# sourceMappingURL=vaults.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vaults.types.d.ts","sourceRoot":"","sources":["../../../src/read/vaults/vaults.types.ts"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAC;AAIvB;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,GAAG,UAAU,CAAC;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,+BAA+B;IAC9C,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;GAGG;AACH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;iBAuBtB,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAG/B,CAAC;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,WAAW,CAAC,CAAC;AAChD,MAAM,MAAM,MAAM,GAAG,KAAK,EAAE,CAAC;AAE7B;;;GAGG;AACH,eAAO,MAAM,oBAAoB;;;;;;;;;;;iBAW/B,CAAC;AAEH,eAAO,MAAM,6BAA6B;;;;;;;;;;;;;;iBAAgD,CAAC;AAC3F,MAAM,MAAM,uBAAuB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,6BAA6B,CAAC,CAAC;AACpF,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAClE,MAAM,MAAM,eAAe,GAAG,cAAc,EAAE,CAAC;AAE/C;;;GAGG;AACH,eAAO,MAAM,4BAA4B;;;;;;;;iBAQvC,CAAC;AACH,eAAO,MAAM,sCAAsC;;;;;;;;kBAAwC,CAAC;AAC5F,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAClF,MAAM,MAAM,wBAAwB,GAAG,sBAAsB,EAAE,CAAC"}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.UserPerformancesOnVaultsResponseSchema = exports.UserPerformanceOnVaultSchema = exports.UserOwnedVaultsResponseSchema = exports.UserOwnedVaultSchema = exports.VaultsResponseSchema = exports.VaultSchema = void 0;
7
+ const v4_1 = __importDefault(require("zod/v4"));
8
+ const pagination_types_1 = require("../pagination.types");
9
+ /**
10
+ * Schema for a vault in the protocol
11
+ * Represents both protocol-wide vaults and user-managed vaults
12
+ */
13
+ exports.VaultSchema = v4_1.default.object({
14
+ address: v4_1.default.string(),
15
+ name: v4_1.default.string(),
16
+ description: v4_1.default.string().nullable(),
17
+ manager: v4_1.default.string(),
18
+ status: v4_1.default.string(),
19
+ created_at: v4_1.default.number(),
20
+ tvl: v4_1.default.number().nullable(),
21
+ volume: v4_1.default.number().nullable(),
22
+ all_time_return: v4_1.default.number().nullable(),
23
+ past_month_return: v4_1.default.number().nullable(),
24
+ sharpe_ratio: v4_1.default.number().nullable(),
25
+ max_drawdown: v4_1.default.number().nullable(),
26
+ weekly_win_rate_12w: v4_1.default.number().nullable(),
27
+ profit_share: v4_1.default.number().nullable(),
28
+ pnl_90d: v4_1.default.number().nullable(),
29
+ manager_avg_cash: v4_1.default.number().nullable(),
30
+ average_leverage: v4_1.default.number().nullable(),
31
+ depositors: v4_1.default.number().nullable(),
32
+ perp_equity: v4_1.default.number().nullable(),
33
+ vault_type: v4_1.default.string(),
34
+ pnl_history: v4_1.default.array(v4_1.default.string()).nullable(),
35
+ social_links: v4_1.default.array(v4_1.default.string()).nullable(),
36
+ });
37
+ exports.VaultsResponseSchema = (0, pagination_types_1.PaginatedResponseSchema)(exports.VaultSchema).extend({
38
+ total_value_locked: v4_1.default.number(),
39
+ total_volume: v4_1.default.number(),
40
+ });
41
+ /**
42
+ * Schema for vaults owned/managed by a specific user
43
+ * Contains summary information about vaults the user manages
44
+ */
45
+ exports.UserOwnedVaultSchema = v4_1.default.object({
46
+ vault_address: v4_1.default.string(),
47
+ vault_name: v4_1.default.string(),
48
+ vault_share_symbol: v4_1.default.string(),
49
+ status: v4_1.default.string(),
50
+ age_days: v4_1.default.number(),
51
+ num_managers: v4_1.default.number(),
52
+ tvl: v4_1.default.number().nullable(),
53
+ apr: v4_1.default.number().nullable(),
54
+ manager_equity: v4_1.default.number().nullable(),
55
+ manager_stake: v4_1.default.number().nullable(),
56
+ });
57
+ exports.UserOwnedVaultsResponseSchema = (0, pagination_types_1.PaginatedResponseSchema)(exports.UserOwnedVaultSchema);
58
+ /**
59
+ * Schema for user performance metrics within a vault
60
+ * Tracks a user's deposits, shares, returns, and PnL for a specific vault
61
+ */
62
+ exports.UserPerformanceOnVaultSchema = v4_1.default.object({
63
+ vault_address: v4_1.default.string(),
64
+ user_address: v4_1.default.string(),
65
+ net_deposits: v4_1.default.number().nullable(),
66
+ current_num_shares: v4_1.default.number().nullable(),
67
+ current_value_of_shares: v4_1.default.number().nullable(),
68
+ all_time_return: v4_1.default.number().nullable(),
69
+ unrealized_pnl: v4_1.default.number().nullable(),
70
+ });
71
+ exports.UserPerformancesOnVaultsResponseSchema = v4_1.default.array(exports.UserPerformanceOnVaultSchema);
@@ -0,0 +1,21 @@
1
+ import { ErrorEvent } from "isomorphic-ws";
2
+ import { z } from "zod/v4";
3
+ import { DecibelConfig } from "../constants";
4
+ export declare class DecibelWsSubscription {
5
+ #private;
6
+ readonly config: DecibelConfig;
7
+ readonly onError?: ((error: ErrorEvent) => void) | undefined;
8
+ constructor(config: DecibelConfig, onError?: ((error: ErrorEvent) => void) | undefined);
9
+ subscribe<TMessageData>(topic: string, schema: z.ZodType<TMessageData>, onData: (data: TMessageData) => void | Promise<void>): () => void;
10
+ private unsubscribe;
11
+ /**
12
+ * Removes the specified listener from the set of listeners for the given topic.
13
+ * If no listeners remain for the topic after removal, unsubscribes from the topic.
14
+ * If all subscriptions are removed, closes the WebSocket connection.
15
+ */
16
+ private unsubscribeByListener;
17
+ reset(topic: string): void;
18
+ close(): void;
19
+ readyState(): 0 | 2 | 1 | 3;
20
+ }
21
+ //# sourceMappingURL=ws-subscription.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ws-subscription.d.ts","sourceRoot":"","sources":["../../src/read/ws-subscription.ts"],"names":[],"mappings":"AAAA,OAAkB,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACtD,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAC;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAG7C,qBAAa,qBAAqB;;IAE9B,QAAQ,CAAC,MAAM,EAAE,aAAa;IAC9B,QAAQ,CAAC,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI;gBADrC,MAAM,EAAE,aAAa,EACrB,OAAO,CAAC,GAAE,CAAC,KAAK,EAAE,UAAU,KAAK,IAAI,aAAA;IA+FhD,SAAS,CAAC,YAAY,EACpB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAC/B,MAAM,EAAE,CAAC,IAAI,EAAE,YAAY,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IAgCtD,OAAO,CAAC,WAAW;IAenB;;;;OAIG;IACH,OAAO,CAAC,qBAAqB;IAoB7B,KAAK,CAAC,KAAK,EAAE,MAAM;IAYnB,KAAK;IAKL,UAAU;CAGX"}