@augustdigital/sdk 4.0.8-alpha → 4.1.0-alpha

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 (352) hide show
  1. package/lib/abis/AddressResolver.d.ts +28 -0
  2. package/lib/abis/AddressResolver.js +23 -0
  3. package/lib/abis/AddressResolver.js.map +1 -0
  4. package/lib/abis/ChainlinkV3.d.ts +87 -0
  5. package/lib/abis/ChainlinkV3.js +117 -0
  6. package/lib/abis/ChainlinkV3.js.map +1 -0
  7. package/lib/abis/ERC20.d.ts +168 -0
  8. package/lib/abis/ERC20.js +226 -0
  9. package/lib/abis/ERC20.js.map +1 -0
  10. package/lib/abis/ERC20_Bytes32.d.ts +135 -0
  11. package/lib/abis/ERC20_Bytes32.js +192 -0
  12. package/lib/abis/ERC20_Bytes32.js.map +1 -0
  13. package/lib/abis/ERC4626.d.ts +363 -0
  14. package/lib/abis/ERC4626.js +506 -0
  15. package/lib/abis/ERC4626.js.map +1 -0
  16. package/lib/abis/ERC721.d.ts +230 -0
  17. package/lib/abis/ERC721.js +320 -0
  18. package/lib/abis/ERC721.js.map +1 -0
  19. package/lib/abis/FeeOracle.d.ts +120 -0
  20. package/lib/abis/FeeOracle.js +161 -0
  21. package/lib/abis/FeeOracle.js.map +1 -0
  22. package/lib/abis/LendingPool.d.ts +1393 -0
  23. package/lib/abis/LendingPool.js +1806 -0
  24. package/lib/abis/LendingPool.js.map +1 -0
  25. package/lib/abis/LendingPoolV2.d.ts +55 -0
  26. package/lib/abis/LendingPoolV2.js +1832 -0
  27. package/lib/abis/LendingPoolV2.js.map +1 -0
  28. package/lib/abis/LendingPoolV3.d.ts +35 -0
  29. package/lib/abis/LendingPoolV3.js +1160 -0
  30. package/lib/abis/LendingPoolV3.js.map +1 -0
  31. package/lib/abis/Loan.d.ts +837 -0
  32. package/lib/abis/Loan.js +1080 -0
  33. package/lib/abis/Loan.js.map +1 -0
  34. package/lib/abis/Multicall3.d.ts +30 -0
  35. package/lib/abis/Multicall3.js +94 -0
  36. package/lib/abis/Multicall3.js.map +1 -0
  37. package/lib/abis/PoolAdapter.d.ts +76 -0
  38. package/lib/abis/PoolAdapter.js +412 -0
  39. package/lib/abis/PoolAdapter.js.map +1 -0
  40. package/lib/abis/RewardDistributor.d.ts +46 -0
  41. package/lib/abis/RewardDistributor.js +352 -0
  42. package/lib/abis/RewardDistributor.js.map +1 -0
  43. package/lib/abis/SmartAccount.d.ts +16 -0
  44. package/lib/abis/SmartAccount.js +16 -0
  45. package/lib/abis/SmartAccount.js.map +1 -0
  46. package/lib/abis/TextResolver.d.ts +16 -0
  47. package/lib/abis/TextResolver.js +16 -0
  48. package/lib/abis/TextResolver.js.map +1 -0
  49. package/lib/abis/TokenizedVaultV2.d.ts +1354 -0
  50. package/lib/abis/TokenizedVaultV2.js +1028 -0
  51. package/lib/abis/TokenizedVaultV2.js.map +1 -0
  52. package/lib/abis/TokenizedVaultV2Receipt.d.ts +1568 -0
  53. package/lib/abis/TokenizedVaultV2Receipt.js +1061 -0
  54. package/lib/abis/TokenizedVaultV2Receipt.js.map +1 -0
  55. package/lib/abis/TokenizedVaultV2WhitelistedAssets.d.ts +274 -0
  56. package/lib/abis/TokenizedVaultV2WhitelistedAssets.js +167 -0
  57. package/lib/abis/TokenizedVaultV2WhitelistedAssets.js.map +1 -0
  58. package/lib/abis/UniversalResolverResolve.d.ts +69 -0
  59. package/lib/abis/UniversalResolverResolve.js +35 -0
  60. package/lib/abis/UniversalResolverResolve.js.map +1 -0
  61. package/lib/abis/UniversalSignatureValidator.d.ts +17 -0
  62. package/lib/abis/UniversalSignatureValidator.js +27 -0
  63. package/lib/abis/UniversalSignatureValidator.js.map +1 -0
  64. package/lib/abis/WrapperAdapter.d.ts +60 -0
  65. package/lib/abis/WrapperAdapter.js +150 -0
  66. package/lib/abis/WrapperAdapter.js.map +1 -0
  67. package/lib/abis/index.d.ts +19 -0
  68. package/lib/abis/index.js +36 -0
  69. package/lib/abis/index.js.map +1 -0
  70. package/lib/adapters/evm/core.actions.d.ts +9 -0
  71. package/lib/adapters/evm/core.actions.js +51 -0
  72. package/lib/adapters/evm/core.actions.js.map +1 -0
  73. package/lib/adapters/evm/getters.d.ts +4 -0
  74. package/lib/adapters/evm/getters.js +163 -0
  75. package/lib/adapters/evm/getters.js.map +1 -0
  76. package/lib/adapters/evm/index.d.ts +19 -0
  77. package/lib/adapters/evm/index.js +55 -0
  78. package/lib/adapters/evm/index.js.map +1 -0
  79. package/lib/adapters/evm/read.actions.d.ts +3 -0
  80. package/lib/adapters/evm/read.actions.js +39 -0
  81. package/lib/adapters/evm/read.actions.js.map +1 -0
  82. package/lib/adapters/evm/utils.d.ts +28 -0
  83. package/lib/adapters/evm/utils.js +336 -0
  84. package/lib/adapters/evm/utils.js.map +1 -0
  85. package/lib/adapters/evm/vaults.actions.d.ts +10 -0
  86. package/lib/adapters/evm/vaults.actions.js +97 -0
  87. package/lib/adapters/evm/vaults.actions.js.map +1 -0
  88. package/lib/adapters/solana/actions.d.ts +20 -0
  89. package/lib/adapters/solana/actions.js +225 -0
  90. package/lib/adapters/solana/actions.js.map +1 -0
  91. package/lib/adapters/solana/class.d.ts +45 -0
  92. package/lib/adapters/solana/class.js +135 -0
  93. package/lib/adapters/solana/class.js.map +1 -0
  94. package/lib/adapters/solana/constants.d.ts +25 -0
  95. package/lib/adapters/solana/constants.js +32 -0
  96. package/lib/adapters/solana/constants.js.map +1 -0
  97. package/lib/adapters/solana/getters.d.ts +3 -0
  98. package/lib/adapters/solana/getters.js +126 -0
  99. package/lib/adapters/solana/getters.js.map +1 -0
  100. package/lib/adapters/solana/idl/vault-idl.d.ts +338 -0
  101. package/lib/adapters/solana/idl/vault-idl.js +1075 -0
  102. package/lib/adapters/solana/idl/vault-idl.js.map +1 -0
  103. package/lib/adapters/solana/index.d.ts +136 -0
  104. package/lib/adapters/solana/index.js +174 -0
  105. package/lib/adapters/solana/index.js.map +1 -0
  106. package/lib/adapters/solana/types.d.ts +58 -0
  107. package/lib/adapters/solana/types.js +3 -0
  108. package/lib/adapters/solana/types.js.map +1 -0
  109. package/lib/adapters/solana/utils.d.ts +104 -0
  110. package/lib/adapters/solana/utils.js +380 -0
  111. package/lib/adapters/solana/utils.js.map +1 -0
  112. package/lib/adapters/solana/vault-idl.d.ts +338 -0
  113. package/lib/adapters/solana/vault-idl.js +1075 -0
  114. package/lib/adapters/solana/vault-idl.js.map +1 -0
  115. package/lib/adapters/solana/vault.actions.d.ts +18 -0
  116. package/lib/adapters/solana/vault.actions.js +235 -0
  117. package/lib/adapters/solana/vault.actions.js.map +1 -0
  118. package/lib/adapters/sui/index.d.ts +0 -0
  119. package/lib/adapters/sui/index.js +1 -0
  120. package/lib/adapters/sui/index.js.map +1 -0
  121. package/lib/core/auth/index.d.ts +1 -0
  122. package/lib/core/auth/index.js +18 -0
  123. package/lib/core/auth/index.js.map +1 -0
  124. package/lib/core/auth/verify.d.ts +2 -0
  125. package/lib/core/auth/verify.js +21 -0
  126. package/lib/core/auth/verify.js.map +1 -0
  127. package/lib/core/base-class.d.ts +34 -0
  128. package/lib/core/base-class.js +55 -0
  129. package/lib/core/base-class.js.map +1 -0
  130. package/lib/core/base.class.d.ts +34 -0
  131. package/lib/core/base.class.js +61 -0
  132. package/lib/core/base.class.js.map +1 -0
  133. package/lib/core/constants.d.ts +86 -0
  134. package/lib/core/constants.js +146 -0
  135. package/lib/core/constants.js.map +1 -0
  136. package/lib/core/core.helpers.d.ts +23 -0
  137. package/lib/core/core.helpers.js +210 -0
  138. package/lib/core/core.helpers.js.map +1 -0
  139. package/lib/core/fetcher.d.ts +22 -0
  140. package/lib/core/fetcher.js +259 -0
  141. package/lib/core/fetcher.js.map +1 -0
  142. package/lib/core/helpers.core.d.ts +23 -0
  143. package/lib/core/helpers.core.js +210 -0
  144. package/lib/core/helpers.core.js.map +1 -0
  145. package/lib/core/helpers.d.ts +23 -0
  146. package/lib/core/helpers.js +210 -0
  147. package/lib/core/helpers.js.map +1 -0
  148. package/lib/core/helpers.web3.d.ts +26 -0
  149. package/lib/core/helpers.web3.js +315 -0
  150. package/lib/core/helpers.web3.js.map +1 -0
  151. package/lib/core/index.d.ts +9 -0
  152. package/lib/core/index.js +26 -0
  153. package/lib/core/index.js.map +1 -0
  154. package/lib/core/logger/index.d.ts +12 -0
  155. package/lib/core/logger/index.js +51 -0
  156. package/lib/core/logger/index.js.map +1 -0
  157. package/lib/core/logger/slack.d.ts +12 -0
  158. package/lib/core/logger/slack.js +49 -0
  159. package/lib/core/logger/slack.js.map +1 -0
  160. package/lib/core/read.actions.d.ts +3 -0
  161. package/lib/core/read.actions.js +39 -0
  162. package/lib/core/read.actions.js.map +1 -0
  163. package/lib/core/web3.helpers.d.ts +28 -0
  164. package/lib/core/web3.helpers.js +336 -0
  165. package/lib/core/web3.helpers.js.map +1 -0
  166. package/lib/core/write.actions.d.ts +9 -0
  167. package/lib/core/write.actions.js +51 -0
  168. package/lib/core/write.actions.js.map +1 -0
  169. package/lib/modules/vaults/admin-actions.d.ts +0 -0
  170. package/lib/modules/vaults/admin-actions.js +1 -0
  171. package/lib/modules/vaults/admin-actions.js.map +1 -0
  172. package/lib/modules/vaults/constants.d.ts +63 -0
  173. package/lib/modules/vaults/constants.js +190 -0
  174. package/lib/modules/vaults/constants.js.map +1 -0
  175. package/lib/modules/vaults/getters.d.ts +38 -0
  176. package/lib/modules/vaults/getters.js +636 -0
  177. package/lib/modules/vaults/getters.js.map +1 -0
  178. package/lib/modules/vaults/index.d.ts +84 -0
  179. package/lib/modules/vaults/index.js +498 -0
  180. package/lib/modules/vaults/index.js.map +1 -0
  181. package/lib/modules/vaults/main.d.ts +118 -0
  182. package/lib/modules/vaults/main.js +590 -0
  183. package/lib/modules/vaults/main.js.map +1 -0
  184. package/lib/modules/vaults/user-actions.d.ts +19 -0
  185. package/lib/modules/vaults/user-actions.js +172 -0
  186. package/lib/modules/vaults/user-actions.js.map +1 -0
  187. package/lib/modules/vaults/user.actions.d.ts +10 -0
  188. package/lib/modules/vaults/user.actions.js +95 -0
  189. package/lib/modules/vaults/user.actions.js.map +1 -0
  190. package/lib/modules/vaults/utils.d.ts +116 -0
  191. package/lib/modules/vaults/utils.js +395 -0
  192. package/lib/modules/vaults/utils.js.map +1 -0
  193. package/lib/modules/vaults/vault.actions.d.ts +10 -0
  194. package/lib/modules/vaults/vault.actions.js +95 -0
  195. package/lib/modules/vaults/vault.actions.js.map +1 -0
  196. package/lib/services/auth/index.d.ts +1 -0
  197. package/lib/services/auth/index.js +18 -0
  198. package/lib/services/auth/index.js.map +1 -0
  199. package/lib/services/auth/verify.d.ts +2 -0
  200. package/lib/services/auth/verify.js +20 -0
  201. package/lib/services/auth/verify.js.map +1 -0
  202. package/lib/services/coingecko/fetcher.d.ts +1 -0
  203. package/lib/services/coingecko/fetcher.js +36 -0
  204. package/lib/services/coingecko/fetcher.js.map +1 -0
  205. package/lib/services/coingecko/index.d.ts +2 -0
  206. package/lib/services/coingecko/index.js +19 -0
  207. package/lib/services/coingecko/index.js.map +1 -0
  208. package/lib/services/coingecko/utils.d.ts +1 -0
  209. package/lib/services/coingecko/utils.js +24 -0
  210. package/lib/services/coingecko/utils.js.map +1 -0
  211. package/lib/services/debank/fetcher.d.ts +2 -0
  212. package/lib/services/debank/fetcher.js +16 -0
  213. package/lib/services/debank/fetcher.js.map +1 -0
  214. package/lib/services/debank/index.d.ts +2 -0
  215. package/lib/services/debank/index.js +19 -0
  216. package/lib/services/debank/index.js.map +1 -0
  217. package/lib/services/debank/utils.d.ts +32 -0
  218. package/lib/services/debank/utils.js +229 -0
  219. package/lib/services/debank/utils.js.map +1 -0
  220. package/lib/services/index.d.ts +4 -0
  221. package/lib/services/index.js +21 -0
  222. package/lib/services/index.js.map +1 -0
  223. package/lib/services/logger/index.d.ts +12 -0
  224. package/lib/services/logger/index.js +51 -0
  225. package/lib/services/logger/index.js.map +1 -0
  226. package/lib/services/logger/slack.d.ts +12 -0
  227. package/lib/services/logger/slack.js +48 -0
  228. package/lib/services/logger/slack.js.map +1 -0
  229. package/lib/services/solana/actions.d.ts +20 -0
  230. package/lib/services/solana/actions.js +225 -0
  231. package/lib/services/solana/actions.js.map +1 -0
  232. package/lib/services/solana/class.d.ts +45 -0
  233. package/lib/services/solana/class.js +135 -0
  234. package/lib/services/solana/class.js.map +1 -0
  235. package/lib/services/solana/constants.d.ts +25 -0
  236. package/lib/services/solana/constants.js +32 -0
  237. package/lib/services/solana/constants.js.map +1 -0
  238. package/lib/services/solana/index.d.ts +84 -0
  239. package/lib/services/solana/index.js +50 -0
  240. package/lib/services/solana/index.js.map +1 -0
  241. package/lib/services/solana/types.d.ts +58 -0
  242. package/lib/services/solana/types.js +3 -0
  243. package/lib/services/solana/types.js.map +1 -0
  244. package/lib/services/solana/utils.d.ts +96 -0
  245. package/lib/services/solana/utils.js +355 -0
  246. package/lib/services/solana/utils.js.map +1 -0
  247. package/lib/services/solana/vault-idl.d.ts +338 -0
  248. package/lib/services/solana/vault-idl.js +1075 -0
  249. package/lib/services/solana/vault-idl.js.map +1 -0
  250. package/lib/services/subgraph/fetcher.d.ts +2 -0
  251. package/lib/services/subgraph/fetcher.js +58 -0
  252. package/lib/services/subgraph/fetcher.js.map +1 -0
  253. package/lib/services/subgraph/index.d.ts +2 -0
  254. package/lib/services/subgraph/index.js +19 -0
  255. package/lib/services/subgraph/index.js.map +1 -0
  256. package/lib/services/subgraph/vaults.d.ts +10 -0
  257. package/lib/services/subgraph/vaults.js +473 -0
  258. package/lib/services/subgraph/vaults.js.map +1 -0
  259. package/lib/types/index.d.ts +8 -0
  260. package/lib/types/index.js +24 -0
  261. package/lib/types/index.js.map +1 -0
  262. package/lib/types/pools.d.ts +141 -0
  263. package/lib/types/pools.js +3 -0
  264. package/lib/types/pools.js.map +1 -0
  265. package/lib/types/staking.d.ts +28 -0
  266. package/lib/types/staking.js +3 -0
  267. package/lib/types/staking.js.map +1 -0
  268. package/lib/types/subgraph.d.ts +45 -0
  269. package/lib/types/subgraph.js +3 -0
  270. package/lib/types/subgraph.js.map +1 -0
  271. package/lib/types/user.d.ts +1 -0
  272. package/lib/types/user.js +3 -0
  273. package/lib/types/user.js.map +1 -0
  274. package/lib/types/vaults.d.ts +164 -0
  275. package/lib/types/vaults.js +3 -0
  276. package/lib/types/vaults.js.map +1 -0
  277. package/lib/types/web3.d.ts +24 -0
  278. package/lib/types/web3.js +3 -0
  279. package/lib/types/web3.js.map +1 -0
  280. package/lib/types/webserver.d.ts +475 -0
  281. package/lib/types/webserver.js +3 -0
  282. package/lib/types/webserver.js.map +1 -0
  283. package/lib/utils/base-class.d.ts +34 -0
  284. package/lib/utils/base-class.js +55 -0
  285. package/lib/utils/base-class.js.map +1 -0
  286. package/lib/utils/constants/august.d.ts +57 -0
  287. package/lib/utils/constants/august.js +61 -0
  288. package/lib/utils/constants/august.js.map +1 -0
  289. package/lib/utils/constants/fallbacks.d.ts +3 -0
  290. package/lib/utils/constants/fallbacks.js +26 -0
  291. package/lib/utils/constants/fallbacks.js.map +1 -0
  292. package/lib/utils/constants/index.d.ts +3 -0
  293. package/lib/utils/constants/index.js +20 -0
  294. package/lib/utils/constants/index.js.map +1 -0
  295. package/lib/utils/constants/web3.d.ts +32 -0
  296. package/lib/utils/constants/web3.js +101 -0
  297. package/lib/utils/constants/web3.js.map +1 -0
  298. package/lib/utils/fetcher.d.ts +25 -0
  299. package/lib/utils/fetcher.js +334 -0
  300. package/lib/utils/fetcher.js.map +1 -0
  301. package/lib/utils/helpers/array.d.ts +6 -0
  302. package/lib/utils/helpers/array.js +40 -0
  303. package/lib/utils/helpers/array.js.map +1 -0
  304. package/lib/utils/helpers/datetime.d.ts +5 -0
  305. package/lib/utils/helpers/datetime.js +32 -0
  306. package/lib/utils/helpers/datetime.js.map +1 -0
  307. package/lib/utils/helpers/formatters.d.ts +8 -0
  308. package/lib/utils/helpers/formatters.js +113 -0
  309. package/lib/utils/helpers/formatters.js.map +1 -0
  310. package/lib/utils/helpers/index.d.ts +6 -0
  311. package/lib/utils/helpers/index.js +23 -0
  312. package/lib/utils/helpers/index.js.map +1 -0
  313. package/lib/utils/helpers/responses.d.ts +32 -0
  314. package/lib/utils/helpers/responses.js +229 -0
  315. package/lib/utils/helpers/responses.js.map +1 -0
  316. package/lib/utils/helpers/verify-keys.d.ts +2 -0
  317. package/lib/utils/helpers/verify-keys.js +21 -0
  318. package/lib/utils/helpers/verify-keys.js.map +1 -0
  319. package/lib/utils/helpers/web3.d.ts +27 -0
  320. package/lib/utils/helpers/web3.js +339 -0
  321. package/lib/utils/helpers/web3.js.map +1 -0
  322. package/lib/utils/index.d.ts +5 -0
  323. package/lib/utils/index.js +22 -0
  324. package/lib/utils/index.js.map +1 -0
  325. package/lib/utils/vaults.d.ts +53 -0
  326. package/lib/utils/vaults.js +156 -0
  327. package/lib/utils/vaults.js.map +1 -0
  328. package/lib/vaults/admin-actions.d.ts +0 -0
  329. package/lib/vaults/admin-actions.js +1 -0
  330. package/lib/vaults/admin-actions.js.map +1 -0
  331. package/lib/vaults/getters.d.ts +38 -0
  332. package/lib/vaults/getters.js +760 -0
  333. package/lib/vaults/getters.js.map +1 -0
  334. package/lib/vaults/index.d.ts +4 -0
  335. package/lib/vaults/index.js +21 -0
  336. package/lib/vaults/index.js.map +1 -0
  337. package/lib/vaults/main.d.ts +118 -0
  338. package/lib/vaults/main.js +591 -0
  339. package/lib/vaults/main.js.map +1 -0
  340. package/lib/vaults/rpc-config.d.ts +4 -0
  341. package/lib/vaults/rpc-config.js +27 -0
  342. package/lib/vaults/rpc-config.js.map +1 -0
  343. package/lib/vaults/subgraph.d.ts +10 -0
  344. package/lib/vaults/subgraph.js +470 -0
  345. package/lib/vaults/subgraph.js.map +1 -0
  346. package/lib/vaults/user-actions.d.ts +19 -0
  347. package/lib/vaults/user-actions.js +172 -0
  348. package/lib/vaults/user-actions.js.map +1 -0
  349. package/lib/vaults/utils.d.ts +121 -0
  350. package/lib/vaults/utils.js +414 -0
  351. package/lib/vaults/utils.js.map +1 -0
  352. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getters.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/getters.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,84 @@
1
+ export * from './getters';
2
+ export * from './constants';
3
+ import type { IAddress, IChainId, IEnv, IVaultPosition, IVaultUserHistoryItem, IWSMonitorHeaders } from '../../types';
4
+ import SolanaAdapter from '../../adapters/solana';
5
+ import { AugustBase, IAugustBase } from '../../core';
6
+ export interface IVaultBaseOptions {
7
+ rpcUrl: string;
8
+ env?: IEnv;
9
+ augustKey?: string;
10
+ subgraphKey: string;
11
+ chainId?: number;
12
+ solanaService?: SolanaAdapter;
13
+ headers?: IWSMonitorHeaders;
14
+ }
15
+ export interface IVaultCustomOptions {
16
+ loans?: boolean;
17
+ allocations?: boolean;
18
+ wallet?: IAddress;
19
+ solanaWallet?: string;
20
+ }
21
+ declare class AugustVaults extends AugustBase {
22
+ private solanaService;
23
+ constructor(baseConfig: IAugustBase, solana: SolanaAdapter);
24
+ getVaults(options?: {
25
+ chainIds?: number[];
26
+ headers?: IWSMonitorHeaders;
27
+ } & IVaultCustomOptions): Promise<import("../../types").IVault[]>;
28
+ getVault({ vault, chainId, options, }: {
29
+ vault: IAddress;
30
+ chainId?: IChainId;
31
+ options?: IVaultCustomOptions;
32
+ }): Promise<import("../../types").IVault>;
33
+ getVaultLoans({ vault, chainId, }: {
34
+ vault: IAddress;
35
+ chainId?: IChainId;
36
+ }): Promise<import("../../types").IVaultLoan[]>;
37
+ getVaultAllocations({ vault, chainId, }: {
38
+ vault: IAddress;
39
+ chainId?: IChainId;
40
+ }): Promise<import("../../types").IVaultAllocations | {
41
+ status: number;
42
+ message: string;
43
+ }>;
44
+ getVaultApy(vault: IAddress): Promise<number>;
45
+ getAvailableRedemptions({ vault, chainId, wallet, }: {
46
+ vault: IAddress;
47
+ chainId?: number;
48
+ wallet?: IAddress;
49
+ }): Promise<{
50
+ availableRedemptions: import("../../types").IVaultAvailableRedemption[];
51
+ pendingRedemptions: import("../../types").IVaultAvailableRedemption[];
52
+ }>;
53
+ getPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }: {
54
+ vault?: IAddress;
55
+ wallet?: IAddress;
56
+ chainId?: IChainId;
57
+ showAllVaults?: boolean;
58
+ solanaWallet?: string;
59
+ options?: IVaultBaseOptions;
60
+ }): Promise<IVaultPosition[]>;
61
+ getUserHistory({ wallet, chainId, vault, options, }: {
62
+ wallet: IAddress;
63
+ chainId?: IChainId;
64
+ vault?: IAddress;
65
+ options?: IVaultBaseOptions;
66
+ }): Promise<IVaultUserHistoryItem[]>;
67
+ getUserTransfers({ wallet, chainId, vault, options, }: {
68
+ wallet: IAddress;
69
+ chainId?: IChainId;
70
+ vault?: IAddress;
71
+ options?: IVaultBaseOptions;
72
+ }): Promise<{
73
+ id: string;
74
+ value: string;
75
+ to: string;
76
+ from: string;
77
+ pool: string;
78
+ block: number;
79
+ timestamp: number;
80
+ transactionHash: string;
81
+ }[]>;
82
+ getStakingPositions(wallet?: IAddress, chainId?: IChainId): Promise<import("../../types").IActiveStakingPosition[]>;
83
+ }
84
+ export default AugustVaults;
@@ -0,0 +1,498 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./getters"), exports);
18
+ __exportStar(require("./constants"), exports);
19
+ const utils_1 = require("./utils");
20
+ const ethers_1 = require("ethers");
21
+ const getters_1 = require("./getters");
22
+ const vaults_1 = require("../../services/subgraph/vaults");
23
+ const core_1 = require("../../core");
24
+ const solana_1 = require("../../adapters/solana");
25
+ class AugustVaults extends core_1.AugustBase {
26
+ constructor(baseConfig, solana) {
27
+ super(baseConfig);
28
+ this.solanaService = solana;
29
+ }
30
+ async getVaults(options) {
31
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
32
+ 'x-environment': this.monitoring?.['x-environment'],
33
+ 'x-user-id': this.monitoring?.['x-user-id'],
34
+ });
35
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
36
+ const vaultsPerChainId = options?.chainIds
37
+ ? vaultsPerAvailableProviders.filter((v) => options.chainIds.includes(v.chain))
38
+ : vaultsPerAvailableProviders;
39
+ const vaultFetchResult = await (0, utils_1.fetchVaultsComprehensive)(vaultsPerChainId, async (vault) => {
40
+ const rpcUrl = vault.fallbackRpc || this.providers?.[vault.chain];
41
+ const shouldFetchLoans = !vault.minimal &&
42
+ (typeof options?.loans !== 'undefined' ? options?.loans : true);
43
+ const shouldFetchAllocations = !vault.minimal &&
44
+ (typeof options?.allocations !== 'undefined'
45
+ ? options?.allocations
46
+ : true);
47
+ const isSolana = solana_1.Solana.utils.isSolanaAddress(vault.address)
48
+ ? true
49
+ : false;
50
+ const v = (0, getters_1.getVault)({
51
+ vault: vault.address,
52
+ loans: isSolana ? false : shouldFetchLoans,
53
+ allocations: isSolana ? false : shouldFetchAllocations,
54
+ options: {
55
+ rpcUrl,
56
+ solanaService: this.solanaService,
57
+ env: this.monitoring?.env,
58
+ augustKey: this.keys?.august,
59
+ subgraphKey: this.keys?.graph,
60
+ },
61
+ });
62
+ return v;
63
+ }, {
64
+ maxRetries: 5,
65
+ baseDelay: 2000,
66
+ batchSize: 15,
67
+ parallelLimit: 8,
68
+ includeClosed: true,
69
+ includeInvisible: false,
70
+ timeout: 60000,
71
+ fallbackRpcUrls: {
72
+ 1: (0, core_1.getFallbackRpcUrls)(1),
73
+ 56: (0, core_1.getFallbackRpcUrls)(56),
74
+ 43114: (0, core_1.getFallbackRpcUrls)(43114),
75
+ 8453: (0, core_1.getFallbackRpcUrls)(8453),
76
+ 42161: (0, core_1.getFallbackRpcUrls)(42161),
77
+ 137: (0, core_1.getFallbackRpcUrls)(137),
78
+ },
79
+ });
80
+ console.log(`Vault fetching results:`);
81
+ console.log(`- Total vaults: ${vaultFetchResult.coverageReport.totalVaults}`);
82
+ console.log(`- Successfully fetched: ${vaultFetchResult.coverageReport.successfulVaults}`);
83
+ console.log(`- Failed to fetch: ${vaultFetchResult.coverageReport.failedVaults}`);
84
+ console.log(`- Success rate: ${vaultFetchResult.successRate.toFixed(2)}%`);
85
+ if (vaultFetchResult.coverageReport.failedVaults > 0) {
86
+ console.warn('Failed vaults:', vaultFetchResult.failed.map((f) => ({
87
+ address: f.address,
88
+ chain: f.chain,
89
+ error: f.error.message,
90
+ attempts: f.attempts,
91
+ })));
92
+ }
93
+ const vaultResponses = vaultFetchResult.successful
94
+ .sort((a, b) => a.index - b.index)
95
+ .map((item) => item.data);
96
+ const filteredResults = (0, utils_1.filterVaultsIntelligently)(vaultResponses, {
97
+ includeClosed: true,
98
+ includeInvisible: true,
99
+ minStatus: ['active', 'closed'],
100
+ });
101
+ if (this.monitoring?.env === 'DEV') {
102
+ console.log(`Vault filtering results:`);
103
+ console.log(`- Active vaults: ${filteredResults.summary.active}`);
104
+ console.log(`- Closed vaults: ${filteredResults.summary.closed}`);
105
+ console.log(`- Invisible vaults: ${filteredResults.summary.invisible}`);
106
+ console.log(`- Filtered out: ${filteredResults.summary.failed}`);
107
+ console.log(`- Overall success rate: ${filteredResults.summary.successRate.toFixed(2)}%`);
108
+ }
109
+ const filteredResponses = filteredResults.active;
110
+ if ((options.wallet && (0, ethers_1.isAddress)(options.wallet)) ||
111
+ (options.solanaWallet &&
112
+ solana_1.Solana.utils.isSolanaAddress(options.solanaWallet))) {
113
+ const vaultResponses = await (0, core_1.promiseSettle)(vaultsPerAvailableProviders.map((v) => (0, getters_1.getVaultPositions)({
114
+ vault: v.address,
115
+ wallet: options.wallet,
116
+ solanaWallet: options.solanaWallet,
117
+ options: {
118
+ rpcUrl: this.providers?.[v.chain],
119
+ solanaService: this.solanaService,
120
+ env: this.monitoring?.env,
121
+ augustKey: this.keys?.august,
122
+ subgraphKey: this.keys?.graph,
123
+ },
124
+ })), 5, 2000);
125
+ const positions = vaultResponses
126
+ .flat()
127
+ .filter((v) => v.status !== 'PENDING');
128
+ return filteredResponses.map((r) => ({
129
+ ...r,
130
+ position: positions?.find((pos) => pos.vault?.toLowerCase() === r.address?.toLowerCase()) || null,
131
+ }));
132
+ }
133
+ if (!!options.wallet && !(0, ethers_1.isAddress)(options.wallet))
134
+ console.warn('#getVaults: wallet passed is not of type address');
135
+ return filteredResponses;
136
+ }
137
+ async getVault({ vault, chainId, options, }) {
138
+ if (!vault)
139
+ throw new Error('Vault input parameter is undefined.');
140
+ if (typeof chainId !== 'undefined') {
141
+ if (!this.providers?.[chainId])
142
+ console.error('#getVault:', 'missing rpcUrl in initialization for chainId', chainId);
143
+ }
144
+ const vaultResponse = await (0, getters_1.getVault)({
145
+ vault: vault,
146
+ loans: typeof options?.loans !== 'undefined' ? options?.loans : true,
147
+ allocations: typeof options?.allocations !== 'undefined'
148
+ ? options?.allocations
149
+ : true,
150
+ options: {
151
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
152
+ solanaService: this.solanaService,
153
+ env: this.monitoring?.env,
154
+ augustKey: this.keys?.august,
155
+ subgraphKey: this.keys?.graph,
156
+ headers: {
157
+ 'x-environment': this.monitoring?.['x-environment'],
158
+ 'x-user-id': this.monitoring?.['x-user-id'],
159
+ },
160
+ },
161
+ });
162
+ if ((0, ethers_1.isAddress)(vault) &&
163
+ ((options?.wallet && (0, ethers_1.isAddress)(options?.wallet)) ||
164
+ (options?.solanaWallet &&
165
+ solana_1.Solana.utils.isSolanaAddress(options?.solanaWallet)))) {
166
+ const vaultResponses = await (0, getters_1.getVaultPositions)({
167
+ vault: vault,
168
+ solanaWallet: options?.solanaWallet,
169
+ wallet: options?.wallet,
170
+ options: {
171
+ rpcUrl: chainId
172
+ ? this.providers?.[chainId]
173
+ : this.activeNetwork.rpcUrl,
174
+ solanaService: this.solanaService,
175
+ env: this.monitoring?.env,
176
+ augustKey: this.keys?.august,
177
+ subgraphKey: this.keys?.graph,
178
+ headers: {
179
+ 'x-environment': this.monitoring?.['x-environment'],
180
+ 'x-user-id': this.monitoring?.['x-user-id'],
181
+ },
182
+ },
183
+ });
184
+ const positions = vaultResponses.filter((v) => v.status !== 'PENDING');
185
+ return {
186
+ ...vaultResponse,
187
+ position: positions?.find((pos) => pos.vault?.toLowerCase() === vault?.toLowerCase()) || null,
188
+ };
189
+ }
190
+ if (!!options?.wallet && !(0, ethers_1.isAddress)(options?.wallet))
191
+ console.warn('#getVaults: wallet passed is not of type address', options?.wallet);
192
+ return vaultResponse;
193
+ }
194
+ async getVaultLoans({ vault, chainId, }) {
195
+ if (!vault)
196
+ throw new Error('Vault input parameter is undefined.');
197
+ if (!(0, ethers_1.isAddress)(vault))
198
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
199
+ if (typeof chainId !== 'undefined') {
200
+ if (!this.providers?.[chainId])
201
+ console.error('#getVaultLoans:', 'missing rpcUrl in initialization for chainId', chainId);
202
+ }
203
+ const vaultResponse = await (0, getters_1.getVaultLoans)(vault, {
204
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
205
+ env: this.monitoring?.env,
206
+ augustKey: this.keys?.august,
207
+ subgraphKey: this.keys?.graph,
208
+ chainId: chainId,
209
+ solanaService: this.solanaService,
210
+ headers: {
211
+ 'x-environment': this.monitoring?.['x-environment'],
212
+ 'x-user-id': this.monitoring?.['x-user-id'],
213
+ },
214
+ });
215
+ return vaultResponse;
216
+ }
217
+ async getVaultAllocations({ vault, chainId, }) {
218
+ if (!vault)
219
+ throw new Error('Vault input parameter is undefined.');
220
+ if (!(0, ethers_1.isAddress)(vault))
221
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
222
+ if (typeof chainId !== 'undefined') {
223
+ if (!this.providers?.[chainId])
224
+ console.error('#getVaultAllocations:', 'missing rpcUrl in initialization for chainId', chainId);
225
+ }
226
+ try {
227
+ const vaultResponse = await (0, getters_1.getVaultAllocations)(vault, {
228
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
229
+ solanaService: this.solanaService,
230
+ env: this.monitoring?.env,
231
+ augustKey: this.keys?.august,
232
+ subgraphKey: this.keys?.graph,
233
+ headers: {
234
+ 'x-environment': this.monitoring?.['x-environment'],
235
+ 'x-user-id': this.monitoring?.['x-user-id'],
236
+ },
237
+ });
238
+ return vaultResponse;
239
+ }
240
+ catch (e) {
241
+ const err = e;
242
+ if (err.message.includes('debank')) {
243
+ return {
244
+ status: 400,
245
+ message: 'There was an error fetching from debank',
246
+ };
247
+ }
248
+ return {
249
+ status: 400,
250
+ message: 'There was an error fetching vaults',
251
+ };
252
+ }
253
+ }
254
+ async getVaultApy(vault) {
255
+ if (!vault)
256
+ throw new Error('Vault input parameter is undefined.');
257
+ if (!(0, ethers_1.isAddress)(vault))
258
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
259
+ return await (0, getters_1.getVaultApy)({
260
+ vault,
261
+ options: {
262
+ rpcUrl: this.activeNetwork.rpcUrl,
263
+ subgraphKey: this.keys?.graph,
264
+ headers: {
265
+ 'x-environment': this.monitoring?.['x-environment'],
266
+ 'x-user-id': this.monitoring?.['x-user-id'],
267
+ },
268
+ },
269
+ });
270
+ }
271
+ async getAvailableRedemptions({ vault, chainId, wallet, }) {
272
+ if (!this.authorized)
273
+ throw new Error('Not authorized.');
274
+ if (!vault)
275
+ throw new Error('Vault input parameter is undefined.');
276
+ if (!(0, ethers_1.isAddress)(vault))
277
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
278
+ return await (0, getters_1.getVaultAvailableRedemptions)({
279
+ vault,
280
+ wallet,
281
+ options: {
282
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
283
+ solanaService: this.solanaService,
284
+ env: this.monitoring?.env,
285
+ augustKey: this.keys?.august,
286
+ subgraphKey: this.keys?.graph,
287
+ headers: {
288
+ 'x-environment': this.monitoring?.['x-environment'],
289
+ 'x-user-id': this.monitoring?.['x-user-id'],
290
+ },
291
+ },
292
+ });
293
+ }
294
+ async getPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }) {
295
+ if (!wallet && !solanaWallet) {
296
+ throw new Error('Either wallet (EVM) or solanaWallet parameter must be provided');
297
+ }
298
+ if (wallet && !(0, ethers_1.isAddress)(wallet)) {
299
+ throw new Error(`Wallet parameter is not a valid address: ${String(wallet)}`);
300
+ }
301
+ if (vault) {
302
+ return await (0, getters_1.getVaultPositions)({
303
+ vault,
304
+ wallet,
305
+ solanaWallet: solanaWallet,
306
+ options: {
307
+ rpcUrl: chainId
308
+ ? this.providers?.[chainId]
309
+ : this.activeNetwork.rpcUrl,
310
+ solanaService: this.solanaService,
311
+ env: this.monitoring?.env,
312
+ augustKey: this.keys?.august,
313
+ subgraphKey: this.keys?.graph,
314
+ headers: {
315
+ 'x-environment': this.monitoring?.['x-environment'],
316
+ 'x-user-id': this.monitoring?.['x-user-id'],
317
+ },
318
+ },
319
+ });
320
+ }
321
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
322
+ 'x-environment': this.monitoring?.['x-environment'],
323
+ 'x-user-id': this.monitoring?.['x-user-id'],
324
+ });
325
+ if (chainId) {
326
+ const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
327
+ const vaultResponses = await Promise.all(vaultsPerChain.map((v) => (0, getters_1.getVaultPositions)({
328
+ vault: v.address,
329
+ solanaWallet: solanaWallet,
330
+ wallet,
331
+ options: {
332
+ rpcUrl: this.providers?.[v.chain],
333
+ solanaService: this.solanaService,
334
+ env: this.monitoring?.env,
335
+ augustKey: this.keys?.august,
336
+ subgraphKey: this.keys?.graph,
337
+ headers: {
338
+ 'x-environment': this.monitoring?.['x-environment'],
339
+ 'x-user-id': this.monitoring?.['x-user-id'],
340
+ },
341
+ },
342
+ })));
343
+ const flattened = vaultResponses.flat();
344
+ let final;
345
+ if (showAllVaults)
346
+ final = flattened;
347
+ else
348
+ final = flattened.filter((v) => v?.status !== 'PENDING');
349
+ return final;
350
+ }
351
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
352
+ const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map((v) => (0, getters_1.getVaultPositions)({
353
+ vault: v.address,
354
+ solanaWallet: solanaWallet,
355
+ wallet,
356
+ options: {
357
+ rpcUrl: this.providers?.[v.chain],
358
+ solanaService: this.solanaService,
359
+ env: this.monitoring?.env,
360
+ augustKey: this.keys?.august,
361
+ subgraphKey: this.keys?.graph,
362
+ headers: {
363
+ 'x-environment': this.monitoring?.['x-environment'],
364
+ 'x-user-id': this.monitoring?.['x-user-id'],
365
+ },
366
+ },
367
+ })));
368
+ const flattened = vaultResponses.flat();
369
+ let final;
370
+ if (showAllVaults)
371
+ final = flattened;
372
+ else
373
+ final = flattened.filter((v) => v?.status !== 'PENDING');
374
+ return final;
375
+ }
376
+ async getUserHistory({ wallet, chainId, vault, options, }) {
377
+ if (!(0, ethers_1.isAddress)(wallet))
378
+ throw new Error(`Wallet parameter is not an address: ${String(wallet)}`);
379
+ const _chainId = chainId || this.activeNetwork.chainId;
380
+ let finalArray = [];
381
+ function formatHistory(history) {
382
+ return history.map((h) => ({
383
+ timestamp: Number(h.timestamp_),
384
+ address: h.address,
385
+ amount: (0, core_1.toNormalizedBn)(BigInt(h.amount), h.decimals),
386
+ pool: h.contractId_,
387
+ chainId: _chainId,
388
+ type: h.type,
389
+ transactionHash: h.transactionHash_,
390
+ }));
391
+ }
392
+ if (vault) {
393
+ const provider = (0, core_1.createProvider)(this.providers?.[chainId]);
394
+ const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, vault);
395
+ finalArray = formatHistory(userHistory);
396
+ }
397
+ else {
398
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
399
+ 'x-environment': this.monitoring?.['x-environment'],
400
+ 'x-user-id': this.monitoring?.['x-user-id'],
401
+ });
402
+ if (chainId) {
403
+ const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
404
+ const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
405
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
406
+ const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, v.address);
407
+ return formatHistory(userHistory);
408
+ }));
409
+ const flattened = vaultResponses.flat();
410
+ finalArray = flattened;
411
+ }
412
+ else {
413
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
414
+ const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map(async (v) => {
415
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
416
+ const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, v.address);
417
+ return formatHistory(userHistory);
418
+ }));
419
+ const flattened = vaultResponses.flat();
420
+ finalArray = flattened;
421
+ }
422
+ }
423
+ if (this.monitoring?.env === 'DEV')
424
+ console.log(`#getUserHistory:`, finalArray.slice(0, 1));
425
+ return finalArray;
426
+ }
427
+ async getUserTransfers({ wallet, chainId, vault, options, }) {
428
+ if (!(0, ethers_1.isAddress)(wallet))
429
+ throw new Error(`Wallet parameter is not an address: ${String(wallet)}`);
430
+ let finalArray = [];
431
+ function formatTransfers(transfers) {
432
+ return transfers.map((t) => ({
433
+ id: t.id,
434
+ value: t.value,
435
+ to: t.to,
436
+ from: t.from,
437
+ pool: t.contractId_,
438
+ block: Number(t.block_number),
439
+ timestamp: Number(t.timestamp_),
440
+ transactionHash: t.transactionHash_,
441
+ }));
442
+ }
443
+ if (vault) {
444
+ const provider = (0, core_1.createProvider)(this.providers?.[chainId]);
445
+ const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, vault);
446
+ finalArray = formatTransfers(userHistory);
447
+ }
448
+ else {
449
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
450
+ 'x-environment': this.monitoring?.['x-environment'],
451
+ 'x-user-id': this.monitoring?.['x-user-id'],
452
+ });
453
+ if (chainId) {
454
+ const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
455
+ const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
456
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
457
+ const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, v.address);
458
+ return userHistory;
459
+ }));
460
+ const flattened = vaultResponses.flat();
461
+ finalArray = formatTransfers(flattened);
462
+ }
463
+ else {
464
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
465
+ const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map(async (v) => {
466
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
467
+ const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, v.address);
468
+ return userHistory;
469
+ }));
470
+ const flattened = vaultResponses.flat();
471
+ finalArray = formatTransfers(flattened);
472
+ }
473
+ }
474
+ if (this.monitoring?.env === 'DEV')
475
+ console.log(`#getUserTransfers:`, finalArray.slice(0, 1));
476
+ return finalArray;
477
+ }
478
+ async getStakingPositions(wallet, chainId) {
479
+ if (chainId) {
480
+ const positions = await (0, getters_1.getRewardsStakingPositions)({
481
+ rpcUrl: this.providers?.[chainId] || this.activeNetwork.rpcUrl,
482
+ wallet,
483
+ });
484
+ return positions;
485
+ }
486
+ const positions = await Promise.all(Object.values(this.providers).map((rpcUrl) => {
487
+ return (0, getters_1.getRewardsStakingPositions)({
488
+ rpcUrl: chainId
489
+ ? this.providers?.[chainId]
490
+ : rpcUrl || this.activeNetwork.rpcUrl,
491
+ wallet,
492
+ });
493
+ }));
494
+ return positions.flat();
495
+ }
496
+ }
497
+ exports.default = AugustVaults;
498
+ //# sourceMappingURL=index.js.map