@augustdigital/sdk 4.0.9-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,590 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AugustVaults = void 0;
4
+ const utils_1 = require("./utils");
5
+ const ethers_1 = require("ethers");
6
+ const getters_1 = require("./getters");
7
+ const vaults_1 = require("../../services/subgraph/vaults");
8
+ const core_1 = require("../../core");
9
+ const solana_1 = require("../../adapters/solana");
10
+ const user_actions_1 = require("./user.actions");
11
+ class AugustVaults extends core_1.AugustBase {
12
+ constructor(baseConfig, solana) {
13
+ super(baseConfig);
14
+ this.solanaService = solana;
15
+ }
16
+ async getVaults(options) {
17
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
18
+ 'x-environment': this.monitoring?.['x-environment'],
19
+ 'x-user-id': this.monitoring?.['x-user-id'],
20
+ });
21
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
22
+ const vaultsPerChainId = options?.chainIds
23
+ ? vaultsPerAvailableProviders.filter((v) => options.chainIds.includes(v.chain))
24
+ : vaultsPerAvailableProviders;
25
+ const vaultFetchResult = await (0, utils_1.fetchVaultsComprehensive)(vaultsPerChainId, async (vault) => {
26
+ const rpcUrl = vault.fallbackRpc || this.providers?.[vault.chain];
27
+ const shouldFetchLoans = !vault.minimal &&
28
+ (typeof options?.loans !== 'undefined' ? options?.loans : true);
29
+ const shouldFetchAllocations = !vault.minimal &&
30
+ (typeof options?.allocations !== 'undefined'
31
+ ? options?.allocations
32
+ : true);
33
+ const isSolana = solana_1.Solana.utils.isSolanaAddress(vault.address)
34
+ ? true
35
+ : false;
36
+ const v = (0, getters_1.getVault)({
37
+ vault: vault.address,
38
+ loans: isSolana ? false : shouldFetchLoans,
39
+ allocations: isSolana ? false : shouldFetchAllocations,
40
+ options: {
41
+ rpcUrl,
42
+ solanaService: this.solanaService,
43
+ env: this.monitoring?.env,
44
+ augustKey: this.keys?.august,
45
+ subgraphKey: this.keys?.graph,
46
+ },
47
+ });
48
+ return v;
49
+ }, {
50
+ maxRetries: 5,
51
+ baseDelay: 2000,
52
+ batchSize: 15,
53
+ parallelLimit: 8,
54
+ includeClosed: true,
55
+ includeInvisible: false,
56
+ timeout: 60000,
57
+ fallbackRpcUrls: {
58
+ 1: (0, core_1.getFallbackRpcUrls)(1),
59
+ 56: (0, core_1.getFallbackRpcUrls)(56),
60
+ 43114: (0, core_1.getFallbackRpcUrls)(43114),
61
+ 8453: (0, core_1.getFallbackRpcUrls)(8453),
62
+ 42161: (0, core_1.getFallbackRpcUrls)(42161),
63
+ 137: (0, core_1.getFallbackRpcUrls)(137),
64
+ },
65
+ });
66
+ console.log(`Vault fetching results:`);
67
+ console.log(`- Total vaults: ${vaultFetchResult.coverageReport.totalVaults}`);
68
+ console.log(`- Successfully fetched: ${vaultFetchResult.coverageReport.successfulVaults}`);
69
+ console.log(`- Failed to fetch: ${vaultFetchResult.coverageReport.failedVaults}`);
70
+ console.log(`- Success rate: ${vaultFetchResult.successRate.toFixed(2)}%`);
71
+ if (vaultFetchResult.coverageReport.failedVaults > 0) {
72
+ console.warn('Failed vaults:', vaultFetchResult.failed.map((f) => ({
73
+ address: f.address,
74
+ chain: f.chain,
75
+ error: f.error.message,
76
+ attempts: f.attempts,
77
+ })));
78
+ }
79
+ const vaultResponses = vaultFetchResult.successful
80
+ .sort((a, b) => a.index - b.index)
81
+ .map((item) => item.data);
82
+ const filteredResults = (0, utils_1.filterVaultsIntelligently)(vaultResponses, {
83
+ includeClosed: true,
84
+ includeInvisible: true,
85
+ minStatus: ['active', 'closed'],
86
+ });
87
+ if (this.monitoring?.env === 'DEV') {
88
+ console.log(`Vault filtering results:`);
89
+ console.log(`- Active vaults: ${filteredResults.summary.active}`);
90
+ console.log(`- Closed vaults: ${filteredResults.summary.closed}`);
91
+ console.log(`- Invisible vaults: ${filteredResults.summary.invisible}`);
92
+ console.log(`- Filtered out: ${filteredResults.summary.failed}`);
93
+ console.log(`- Overall success rate: ${filteredResults.summary.successRate.toFixed(2)}%`);
94
+ }
95
+ const filteredResponses = filteredResults.active;
96
+ if ((options.wallet && (0, ethers_1.isAddress)(options.wallet)) ||
97
+ (options.solanaWallet &&
98
+ solana_1.Solana.utils.isSolanaAddress(options.solanaWallet))) {
99
+ const vaultResponses = await (0, core_1.promiseSettle)(vaultsPerAvailableProviders.map((v) => (0, getters_1.getVaultPositions)({
100
+ vault: v.address,
101
+ wallet: options.wallet,
102
+ solanaWallet: options.solanaWallet,
103
+ options: {
104
+ rpcUrl: this.providers?.[v.chain],
105
+ solanaService: this.solanaService,
106
+ env: this.monitoring?.env,
107
+ augustKey: this.keys?.august,
108
+ subgraphKey: this.keys?.graph,
109
+ },
110
+ })), 5, 2000);
111
+ const positions = vaultResponses
112
+ .flat()
113
+ .filter((v) => v.status !== 'PENDING');
114
+ return filteredResponses.map((r) => ({
115
+ ...r,
116
+ position: positions?.find((pos) => pos.vault?.toLowerCase() === r.address?.toLowerCase()) || null,
117
+ }));
118
+ }
119
+ if (!!options.wallet && !(0, ethers_1.isAddress)(options.wallet))
120
+ console.warn('#getVaults: wallet passed is not of type address');
121
+ return filteredResponses;
122
+ }
123
+ async getVault({ vault, chainId, options, }) {
124
+ if (!vault)
125
+ throw new Error('Vault input parameter is undefined.');
126
+ if (typeof chainId !== 'undefined') {
127
+ if (!this.providers?.[chainId])
128
+ console.error('#getVault:', 'missing rpcUrl in initialization for chainId', chainId);
129
+ }
130
+ const vaultResponse = await (0, getters_1.getVault)({
131
+ vault: vault,
132
+ loans: typeof options?.loans !== 'undefined' ? options?.loans : true,
133
+ allocations: typeof options?.allocations !== 'undefined'
134
+ ? options?.allocations
135
+ : true,
136
+ options: {
137
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
138
+ solanaService: this.solanaService,
139
+ env: this.monitoring?.env,
140
+ augustKey: this.keys?.august,
141
+ subgraphKey: this.keys?.graph,
142
+ headers: {
143
+ 'x-environment': this.monitoring?.['x-environment'],
144
+ 'x-user-id': this.monitoring?.['x-user-id'],
145
+ },
146
+ },
147
+ });
148
+ if ((0, ethers_1.isAddress)(vault) &&
149
+ ((options.wallet && (0, ethers_1.isAddress)(options.wallet)) ||
150
+ (options.solanaWallet &&
151
+ solana_1.Solana.utils.isSolanaAddress(options.solanaWallet)))) {
152
+ const vaultResponses = await (0, getters_1.getVaultPositions)({
153
+ vault: vault,
154
+ solanaWallet: options.solanaWallet,
155
+ wallet: options.wallet,
156
+ options: {
157
+ rpcUrl: chainId
158
+ ? this.providers?.[chainId]
159
+ : this.activeNetwork.rpcUrl,
160
+ solanaService: this.solanaService,
161
+ env: this.monitoring?.env,
162
+ augustKey: this.keys?.august,
163
+ subgraphKey: this.keys?.graph,
164
+ headers: {
165
+ 'x-environment': this.monitoring?.['x-environment'],
166
+ 'x-user-id': this.monitoring?.['x-user-id'],
167
+ },
168
+ },
169
+ });
170
+ const positions = vaultResponses.filter((v) => v.status !== 'PENDING');
171
+ return {
172
+ ...vaultResponse,
173
+ position: positions?.find((pos) => pos.vault?.toLowerCase() === vault?.toLowerCase()) || null,
174
+ };
175
+ }
176
+ if (!!options.wallet && !(0, ethers_1.isAddress)(options.wallet))
177
+ console.warn('#getVaults: wallet passed is not of type address');
178
+ return vaultResponse;
179
+ }
180
+ async getVaultLoans({ vault, chainId, }) {
181
+ if (!vault)
182
+ throw new Error('Vault input parameter is undefined.');
183
+ if (!(0, ethers_1.isAddress)(vault))
184
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
185
+ if (typeof chainId !== 'undefined') {
186
+ if (!this.providers?.[chainId])
187
+ console.error('#getVaultLoans:', 'missing rpcUrl in initialization for chainId', chainId);
188
+ }
189
+ const vaultResponse = await (0, getters_1.getVaultLoans)(vault, {
190
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
191
+ env: this.monitoring?.env,
192
+ augustKey: this.keys?.august,
193
+ subgraphKey: this.keys?.graph,
194
+ chainId: chainId,
195
+ solanaService: this.solanaService,
196
+ headers: {
197
+ 'x-environment': this.monitoring?.['x-environment'],
198
+ 'x-user-id': this.monitoring?.['x-user-id'],
199
+ },
200
+ });
201
+ return vaultResponse;
202
+ }
203
+ async getVaultAllocations({ vault, chainId, }) {
204
+ if (!vault)
205
+ throw new Error('Vault input parameter is undefined.');
206
+ if (!(0, ethers_1.isAddress)(vault))
207
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
208
+ if (typeof chainId !== 'undefined') {
209
+ if (!this.providers?.[chainId])
210
+ console.error('#getVaultAllocations:', 'missing rpcUrl in initialization for chainId', chainId);
211
+ }
212
+ try {
213
+ const vaultResponse = await (0, getters_1.getVaultAllocations)(vault, {
214
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
215
+ solanaService: this.solanaService,
216
+ env: this.monitoring?.env,
217
+ augustKey: this.keys?.august,
218
+ subgraphKey: this.keys?.graph,
219
+ headers: {
220
+ 'x-environment': this.monitoring?.['x-environment'],
221
+ 'x-user-id': this.monitoring?.['x-user-id'],
222
+ },
223
+ });
224
+ return vaultResponse;
225
+ }
226
+ catch (e) {
227
+ const err = e;
228
+ if (err.message.includes('debank')) {
229
+ return {
230
+ status: 400,
231
+ message: 'There was an error fetching from debank',
232
+ };
233
+ }
234
+ return {
235
+ status: 400,
236
+ message: 'There was an error fetching vaults',
237
+ };
238
+ }
239
+ }
240
+ async getVaultApy(vault) {
241
+ if (!vault)
242
+ throw new Error('Vault input parameter is undefined.');
243
+ if (!(0, ethers_1.isAddress)(vault))
244
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
245
+ return await (0, getters_1.getVaultApy)({
246
+ vault,
247
+ options: {
248
+ rpcUrl: this.activeNetwork.rpcUrl,
249
+ subgraphKey: this.keys?.graph,
250
+ headers: {
251
+ 'x-environment': this.monitoring?.['x-environment'],
252
+ 'x-user-id': this.monitoring?.['x-user-id'],
253
+ },
254
+ },
255
+ });
256
+ }
257
+ async getAvailableRedemptions({ vault, chainId, wallet, }) {
258
+ if (!this.authorized)
259
+ throw new Error('Not authorized.');
260
+ if (!vault)
261
+ throw new Error('Vault input parameter is undefined.');
262
+ if (!(0, ethers_1.isAddress)(vault))
263
+ throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
264
+ return await (0, getters_1.getVaultAvailableRedemptions)({
265
+ vault,
266
+ wallet,
267
+ options: {
268
+ rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
269
+ solanaService: this.solanaService,
270
+ env: this.monitoring?.env,
271
+ augustKey: this.keys?.august,
272
+ subgraphKey: this.keys?.graph,
273
+ headers: {
274
+ 'x-environment': this.monitoring?.['x-environment'],
275
+ 'x-user-id': this.monitoring?.['x-user-id'],
276
+ },
277
+ },
278
+ });
279
+ }
280
+ async getPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }) {
281
+ if (!wallet && !solanaWallet) {
282
+ throw new Error('Either wallet (EVM) or solanaWallet parameter must be provided');
283
+ }
284
+ if (wallet && !(0, ethers_1.isAddress)(wallet)) {
285
+ throw new Error(`Wallet parameter is not a valid address: ${String(wallet)}`);
286
+ }
287
+ if (vault) {
288
+ return await (0, getters_1.getVaultPositions)({
289
+ vault,
290
+ wallet,
291
+ solanaWallet: solanaWallet,
292
+ options: {
293
+ rpcUrl: chainId
294
+ ? this.providers?.[chainId]
295
+ : this.activeNetwork.rpcUrl,
296
+ solanaService: this.solanaService,
297
+ env: this.monitoring?.env,
298
+ augustKey: this.keys?.august,
299
+ subgraphKey: this.keys?.graph,
300
+ headers: {
301
+ 'x-environment': this.monitoring?.['x-environment'],
302
+ 'x-user-id': this.monitoring?.['x-user-id'],
303
+ },
304
+ },
305
+ });
306
+ }
307
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
308
+ 'x-environment': this.monitoring?.['x-environment'],
309
+ 'x-user-id': this.monitoring?.['x-user-id'],
310
+ });
311
+ if (chainId) {
312
+ const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
313
+ const vaultResponses = await Promise.all(vaultsPerChain.map((v) => (0, getters_1.getVaultPositions)({
314
+ vault: v.address,
315
+ solanaWallet: solanaWallet,
316
+ wallet,
317
+ options: {
318
+ rpcUrl: this.providers?.[v.chain],
319
+ solanaService: this.solanaService,
320
+ env: this.monitoring?.env,
321
+ augustKey: this.keys?.august,
322
+ subgraphKey: this.keys?.graph,
323
+ headers: {
324
+ 'x-environment': this.monitoring?.['x-environment'],
325
+ 'x-user-id': this.monitoring?.['x-user-id'],
326
+ },
327
+ },
328
+ })));
329
+ const flattened = vaultResponses.flat();
330
+ let final;
331
+ if (showAllVaults)
332
+ final = flattened;
333
+ else
334
+ final = flattened.filter((v) => v?.status !== 'PENDING');
335
+ return final;
336
+ }
337
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
338
+ const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map((v) => (0, getters_1.getVaultPositions)({
339
+ vault: v.address,
340
+ solanaWallet: solanaWallet,
341
+ wallet,
342
+ options: {
343
+ rpcUrl: this.providers?.[v.chain],
344
+ solanaService: this.solanaService,
345
+ env: this.monitoring?.env,
346
+ augustKey: this.keys?.august,
347
+ subgraphKey: this.keys?.graph,
348
+ headers: {
349
+ 'x-environment': this.monitoring?.['x-environment'],
350
+ 'x-user-id': this.monitoring?.['x-user-id'],
351
+ },
352
+ },
353
+ })));
354
+ const flattened = vaultResponses.flat();
355
+ let final;
356
+ if (showAllVaults)
357
+ final = flattened;
358
+ else
359
+ final = flattened.filter((v) => v?.status !== 'PENDING');
360
+ return final;
361
+ }
362
+ async getUserHistory({ wallet, chainId, vault, options, }) {
363
+ if (!(0, ethers_1.isAddress)(wallet))
364
+ throw new Error(`Wallet parameter is not an address: ${String(wallet)}`);
365
+ const _chainId = chainId || this.activeNetwork.chainId;
366
+ let finalArray = [];
367
+ function formatHistory(history) {
368
+ return history.map((h) => ({
369
+ timestamp: Number(h.timestamp_),
370
+ address: h.address,
371
+ amount: (0, core_1.toNormalizedBn)(BigInt(h.amount), h.decimals),
372
+ pool: h.contractId_,
373
+ chainId: _chainId,
374
+ type: h.type,
375
+ transactionHash: h.transactionHash_,
376
+ }));
377
+ }
378
+ if (vault) {
379
+ const provider = (0, core_1.createProvider)(this.providers?.[chainId]);
380
+ const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, vault);
381
+ finalArray = formatHistory(userHistory);
382
+ }
383
+ else {
384
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
385
+ 'x-environment': this.monitoring?.['x-environment'],
386
+ 'x-user-id': this.monitoring?.['x-user-id'],
387
+ });
388
+ if (chainId) {
389
+ const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
390
+ const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
391
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
392
+ const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, v.address);
393
+ return formatHistory(userHistory);
394
+ }));
395
+ const flattened = vaultResponses.flat();
396
+ finalArray = flattened;
397
+ }
398
+ else {
399
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
400
+ const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map(async (v) => {
401
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
402
+ const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, v.address);
403
+ return formatHistory(userHistory);
404
+ }));
405
+ const flattened = vaultResponses.flat();
406
+ finalArray = flattened;
407
+ }
408
+ }
409
+ if (this.monitoring?.env === 'DEV')
410
+ console.log(`#getUserHistory:`, finalArray.slice(0, 1));
411
+ return finalArray;
412
+ }
413
+ async getUserTransfers({ wallet, chainId, vault, options, }) {
414
+ if (!(0, ethers_1.isAddress)(wallet))
415
+ throw new Error(`Wallet parameter is not an address: ${String(wallet)}`);
416
+ let finalArray = [];
417
+ function formatTransfers(transfers) {
418
+ return transfers.map((t) => ({
419
+ id: t.id,
420
+ value: t.value,
421
+ to: t.to,
422
+ from: t.from,
423
+ pool: t.contractId_,
424
+ block: Number(t.block_number),
425
+ timestamp: Number(t.timestamp_),
426
+ transactionHash: t.transactionHash_,
427
+ }));
428
+ }
429
+ if (vault) {
430
+ const provider = (0, core_1.createProvider)(this.providers?.[chainId]);
431
+ const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, vault);
432
+ finalArray = formatTransfers(userHistory);
433
+ }
434
+ else {
435
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
436
+ 'x-environment': this.monitoring?.['x-environment'],
437
+ 'x-user-id': this.monitoring?.['x-user-id'],
438
+ });
439
+ if (chainId) {
440
+ const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
441
+ const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
442
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
443
+ const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, v.address);
444
+ return userHistory;
445
+ }));
446
+ const flattened = vaultResponses.flat();
447
+ finalArray = formatTransfers(flattened);
448
+ }
449
+ else {
450
+ const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
451
+ const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map(async (v) => {
452
+ const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
453
+ const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, v.address);
454
+ return userHistory;
455
+ }));
456
+ const flattened = vaultResponses.flat();
457
+ finalArray = formatTransfers(flattened);
458
+ }
459
+ }
460
+ if (this.monitoring?.env === 'DEV')
461
+ console.log(`#getUserTransfers:`, finalArray.slice(0, 1));
462
+ return finalArray;
463
+ }
464
+ async getStakingPositions(wallet, chainId) {
465
+ if (chainId) {
466
+ const positions = await (0, getters_1.getRewardsStakingPositions)({
467
+ rpcUrl: this.providers?.[chainId] || this.activeNetwork.rpcUrl,
468
+ wallet,
469
+ });
470
+ return positions;
471
+ }
472
+ const positions = await Promise.all(Object.values(this.providers).map((rpcUrl) => {
473
+ return (0, getters_1.getRewardsStakingPositions)({
474
+ rpcUrl: chainId
475
+ ? this.providers?.[chainId]
476
+ : rpcUrl || this.activeNetwork.rpcUrl,
477
+ wallet,
478
+ });
479
+ }));
480
+ return positions.flat();
481
+ }
482
+ getVaultExposure(debankResponse) {
483
+ const borrowing_exposure = [];
484
+ const supplying_exposure = [];
485
+ const wallet_exposure = [];
486
+ const positions = debankResponse?.subaccount?.positions ?? [];
487
+ const tokens = debankResponse?.subaccount?.tokens ?? [];
488
+ for (const position of positions) {
489
+ const portfolioItems = position?.portfolio_item_list ?? [];
490
+ for (const item of portfolioItems) {
491
+ const borrowTokens = item?.detail?.borrow_token_list ?? [];
492
+ const supplyTokens = item?.detail?.supply_token_list ?? [];
493
+ for (const token of tokens) {
494
+ if (token?.symbol && token?.is_core) {
495
+ wallet_exposure.push({
496
+ symbol: token.symbol,
497
+ chain: token.chain,
498
+ amount: token.amount * token.price,
499
+ });
500
+ }
501
+ }
502
+ for (const token of borrowTokens) {
503
+ if (token?.symbol &&
504
+ !token.is_suspicious &&
505
+ !token.is_scam &&
506
+ token?.is_core) {
507
+ borrowing_exposure.push({
508
+ symbol: token.symbol,
509
+ chain: token.chain,
510
+ amount: token.amount * token.price,
511
+ });
512
+ }
513
+ }
514
+ for (const token of supplyTokens) {
515
+ if (token?.symbol &&
516
+ !token.is_suspicious &&
517
+ !token.is_scam &&
518
+ token?.is_core) {
519
+ supplying_exposure.push({
520
+ symbol: token.symbol,
521
+ chain: token.chain,
522
+ amount: token.amount * token.price,
523
+ });
524
+ }
525
+ }
526
+ }
527
+ }
528
+ return { borrowing_exposure, supplying_exposure, wallet_exposure };
529
+ }
530
+ async allowance(pool, signer) {
531
+ if (!(0, ethers_1.isAddress)(pool))
532
+ return;
533
+ const wallet = (await signer.getAddress());
534
+ return await (0, core_1.allowance)(signer, { target: pool, wallet, wait: true });
535
+ }
536
+ async approve(pool, signer, inputParams) {
537
+ if (!(0, ethers_1.isAddress)(pool))
538
+ return;
539
+ const wallet = (await signer.getAddress());
540
+ return await (0, core_1.approve)(signer, {
541
+ target: pool,
542
+ wallet,
543
+ wait: true,
544
+ amount: inputParams.amount,
545
+ });
546
+ }
547
+ async deposit(pool, signer, inputParams, solana) {
548
+ if (solana_1.Solana.utils.isSolanaAddress(pool)) {
549
+ const vaultState = await this.solanaService.getVaultStateReadOnly(pool, solana_1.Solana.constants.vaultIdl);
550
+ const solanaTx = await this.solanaService.handleDeposit(pool, solana_1.Solana.constants.vaultIdl, signer, Number(inputParams.amount), vaultState.vaultState.depositMint, solana?.sendTransaction);
551
+ return solanaTx;
552
+ }
553
+ if (typeof signer === 'string')
554
+ return;
555
+ const wallet = (await signer.getAddress());
556
+ return await (0, user_actions_1.vaultDeposit)(signer, {
557
+ amount: inputParams.amount,
558
+ wallet,
559
+ target: pool,
560
+ wait: true,
561
+ });
562
+ }
563
+ async requestWithdrawal(pool, signer) {
564
+ const wallet = (await signer.getAddress());
565
+ return await (0, user_actions_1.vaultRequestRedeem)(signer, { target: pool, wallet, wait: true });
566
+ }
567
+ async withdraw(pool, signer, inputParams, solana) {
568
+ if (solana_1.Solana.utils.isSolanaAddress(pool)) {
569
+ const vaultState = await this.solanaService.getVaultStateReadOnly(pool, solana_1.Solana.constants.vaultIdl);
570
+ const solanaTx = await this.solanaService.handleRedeem(pool, solana_1.Solana.constants.vaultIdl, signer, Number(inputParams.amount), vaultState.vaultState.depositMint, solana?.sendTransaction);
571
+ return solanaTx;
572
+ }
573
+ if (typeof signer === 'string')
574
+ return;
575
+ if (!(inputParams.day &&
576
+ inputParams.month &&
577
+ inputParams.year &&
578
+ inputParams.receiverIndex))
579
+ return;
580
+ const wallet = (await signer.getAddress());
581
+ return await (0, user_actions_1.vaultRedeem)(signer, {
582
+ wallet,
583
+ pool,
584
+ ...inputParams,
585
+ wait: true,
586
+ });
587
+ }
588
+ }
589
+ exports.AugustVaults = AugustVaults;
590
+ //# sourceMappingURL=main.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { IAddress } from '../../types';
2
+ import { Provider, Signer, Wallet } from 'ethers';
3
+ type IPoolWriteOptions = {
4
+ pool: IAddress;
5
+ wallet: IAddress;
6
+ amount?: string | bigint | number;
7
+ wait?: boolean;
8
+ };
9
+ export declare function allowance(signer: Signer | Wallet | Provider, options: IPoolWriteOptions): Promise<import("../../types").INormalizedNumber>;
10
+ export declare function approve(signer: Signer | Wallet, options: IPoolWriteOptions): Promise<string>;
11
+ export declare function deposit(signer: Signer | Wallet, options: IPoolWriteOptions): Promise<string>;
12
+ export declare function requestRedeem(signer: Signer | Wallet, options: IPoolWriteOptions): Promise<string>;
13
+ export declare function redeem(signer: Signer | Wallet, options: IPoolWriteOptions & {
14
+ year: string;
15
+ month: string;
16
+ day: string;
17
+ receiverIndex: string;
18
+ }): Promise<string>;
19
+ export {};