@augustdigital/sdk 4.1.0-alpha → 4.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (278) hide show
  1. package/README.md +189 -11
  2. package/lib/abis/Multicall3.js.map +1 -1
  3. package/lib/abis/PoolAdapter.d.ts +36 -76
  4. package/lib/abis/PoolAdapter.js +18 -379
  5. package/lib/abis/PoolAdapter.js.map +1 -1
  6. package/lib/abis/WrapperAdapter.d.ts +71 -60
  7. package/lib/abis/WrapperAdapter.js +41 -114
  8. package/lib/abis/WrapperAdapter.js.map +1 -1
  9. package/lib/abis/index.d.ts +3 -0
  10. package/lib/abis/index.js +3 -0
  11. package/lib/abis/index.js.map +1 -1
  12. package/lib/adapters/evm/getters.d.ts +1 -1
  13. package/lib/adapters/evm/getters.js +26 -37
  14. package/lib/adapters/evm/getters.js.map +1 -1
  15. package/lib/adapters/evm/index.d.ts +8 -6
  16. package/lib/adapters/evm/index.js +27 -21
  17. package/lib/adapters/evm/index.js.map +1 -1
  18. package/lib/adapters/evm/utils.d.ts +2 -28
  19. package/lib/adapters/evm/utils.js +29 -322
  20. package/lib/adapters/evm/utils.js.map +1 -1
  21. package/lib/adapters/solana/getters.js +35 -28
  22. package/lib/adapters/solana/getters.js.map +1 -1
  23. package/lib/adapters/solana/index.d.ts +27 -2
  24. package/lib/adapters/solana/utils.d.ts +15 -2
  25. package/lib/adapters/solana/utils.js +96 -21
  26. package/lib/adapters/solana/utils.js.map +1 -1
  27. package/lib/adapters/solana/vault.actions.js +11 -2
  28. package/lib/adapters/solana/vault.actions.js.map +1 -1
  29. package/lib/adapters/sui/constants.d.ts +13 -0
  30. package/lib/adapters/sui/constants.js +17 -0
  31. package/lib/adapters/sui/constants.js.map +1 -0
  32. package/lib/adapters/sui/getters.d.ts +3 -0
  33. package/lib/adapters/sui/getters.js +53 -0
  34. package/lib/adapters/sui/getters.js.map +1 -0
  35. package/lib/adapters/sui/index.d.ts +30 -0
  36. package/lib/adapters/sui/index.js +83 -0
  37. package/lib/adapters/sui/index.js.map +1 -1
  38. package/lib/adapters/sui/transformer.d.ts +4 -0
  39. package/lib/adapters/sui/transformer.js +87 -0
  40. package/lib/adapters/sui/transformer.js.map +1 -0
  41. package/lib/adapters/sui/types.d.ts +62 -0
  42. package/lib/{services/solana → adapters/sui}/types.js.map +1 -1
  43. package/lib/adapters/sui/utils.d.ts +4 -0
  44. package/lib/adapters/sui/utils.js +27 -0
  45. package/lib/adapters/sui/utils.js.map +1 -0
  46. package/lib/core/auth/verify.js +2 -2
  47. package/lib/core/auth/verify.js.map +1 -1
  48. package/lib/core/base.class.d.ts +1 -2
  49. package/lib/core/base.class.js +11 -6
  50. package/lib/core/base.class.js.map +1 -1
  51. package/lib/core/constants.adapters.d.ts +89 -0
  52. package/lib/core/constants.adapters.js +160 -0
  53. package/lib/core/constants.adapters.js.map +1 -0
  54. package/lib/{utils/constants/august.d.ts → core/constants.core.d.ts} +10 -1
  55. package/lib/{utils/constants/august.js → core/constants.core.js} +11 -2
  56. package/lib/core/constants.core.js.map +1 -0
  57. package/lib/core/constants.vaults.d.ts +19 -0
  58. package/lib/{utils/vaults.js → core/constants.vaults.js} +56 -75
  59. package/lib/core/constants.vaults.js.map +1 -0
  60. package/lib/{utils/constants/web3.d.ts → core/constants.web3.d.ts} +4 -6
  61. package/lib/{utils/constants/web3.js → core/constants.web3.js} +21 -27
  62. package/lib/core/constants.web3.js.map +1 -0
  63. package/lib/core/fetcher.d.ts +1 -1
  64. package/lib/core/fetcher.js +177 -64
  65. package/lib/core/fetcher.js.map +1 -1
  66. package/lib/core/helpers.adapters.d.ts +4 -0
  67. package/lib/core/helpers.adapters.js +28 -0
  68. package/lib/core/helpers.adapters.js.map +1 -0
  69. package/lib/core/helpers.core.d.ts +1 -1
  70. package/lib/core/helpers.core.js +6 -6
  71. package/lib/core/helpers.core.js.map +1 -1
  72. package/lib/core/helpers.signer.d.ts +5 -0
  73. package/lib/core/helpers.signer.js +54 -0
  74. package/lib/core/helpers.signer.js.map +1 -0
  75. package/lib/core/helpers.vaults.d.ts +15 -0
  76. package/lib/core/helpers.vaults.js +123 -0
  77. package/lib/core/helpers.vaults.js.map +1 -0
  78. package/lib/core/helpers.web3.d.ts +5 -2
  79. package/lib/core/helpers.web3.js +84 -26
  80. package/lib/core/helpers.web3.js.map +1 -1
  81. package/lib/core/index.d.ts +9 -5
  82. package/lib/core/index.js +9 -5
  83. package/lib/core/index.js.map +1 -1
  84. package/lib/core/logger/index.d.ts +9 -0
  85. package/lib/core/logger/index.js +29 -0
  86. package/lib/core/logger/index.js.map +1 -1
  87. package/lib/core/logger/slack.js +3 -3
  88. package/lib/index.d.ts +6 -6
  89. package/lib/index.js +14 -7
  90. package/lib/index.js.map +1 -1
  91. package/lib/main.d.ts +90 -14
  92. package/lib/main.js +56 -17
  93. package/lib/main.js.map +1 -1
  94. package/lib/modules/vaults/adapter.helpers.d.ts +46 -0
  95. package/lib/modules/vaults/adapter.helpers.js +149 -0
  96. package/lib/modules/vaults/adapter.helpers.js.map +1 -0
  97. package/lib/{vaults/utils.d.ts → modules/vaults/fetcher.d.ts} +0 -20
  98. package/lib/{vaults/utils.js → modules/vaults/fetcher.js} +19 -176
  99. package/lib/modules/vaults/fetcher.js.map +1 -0
  100. package/lib/modules/vaults/getters.d.ts +32 -3
  101. package/lib/modules/vaults/getters.js +367 -71
  102. package/lib/modules/vaults/getters.js.map +1 -1
  103. package/lib/modules/vaults/index.d.ts +2 -83
  104. package/lib/modules/vaults/index.js +2 -480
  105. package/lib/modules/vaults/index.js.map +1 -1
  106. package/lib/modules/vaults/main.d.ts +29 -47
  107. package/lib/modules/vaults/main.js +142 -201
  108. package/lib/modules/vaults/main.js.map +1 -1
  109. package/lib/modules/vaults/read.actions.d.ts +3 -0
  110. package/lib/{adapters/evm → modules/vaults}/read.actions.js +12 -12
  111. package/lib/modules/vaults/read.actions.js.map +1 -0
  112. package/lib/modules/vaults/utils.d.ts +2 -106
  113. package/lib/modules/vaults/utils.js +139 -337
  114. package/lib/modules/vaults/utils.js.map +1 -1
  115. package/lib/modules/vaults/{vault.actions.d.ts → write.actions.d.ts} +11 -1
  116. package/lib/modules/vaults/write.actions.js +301 -0
  117. package/lib/modules/vaults/write.actions.js.map +1 -0
  118. package/lib/services/debank/utils.js +4 -4
  119. package/lib/services/subgraph/fetcher.js +3 -2
  120. package/lib/services/subgraph/fetcher.js.map +1 -1
  121. package/lib/services/subgraph/vaults.js +25 -27
  122. package/lib/services/subgraph/vaults.js.map +1 -1
  123. package/lib/types/pools.d.ts +1 -1
  124. package/lib/types/vaults.d.ts +21 -1
  125. package/lib/types/webserver.d.ts +15 -1
  126. package/package.json +24 -10
  127. package/lib/adapters/evm/core.actions.d.ts +0 -9
  128. package/lib/adapters/evm/core.actions.js +0 -51
  129. package/lib/adapters/evm/core.actions.js.map +0 -1
  130. package/lib/adapters/evm/read.actions.d.ts +0 -3
  131. package/lib/adapters/evm/read.actions.js.map +0 -1
  132. package/lib/adapters/evm/vaults.actions.d.ts +0 -10
  133. package/lib/adapters/evm/vaults.actions.js +0 -97
  134. package/lib/adapters/evm/vaults.actions.js.map +0 -1
  135. package/lib/adapters/solana/actions.d.ts +0 -20
  136. package/lib/adapters/solana/actions.js +0 -225
  137. package/lib/adapters/solana/actions.js.map +0 -1
  138. package/lib/adapters/solana/class.d.ts +0 -45
  139. package/lib/adapters/solana/class.js +0 -135
  140. package/lib/adapters/solana/class.js.map +0 -1
  141. package/lib/adapters/solana/vault-idl.d.ts +0 -338
  142. package/lib/adapters/solana/vault-idl.js +0 -1075
  143. package/lib/adapters/solana/vault-idl.js.map +0 -1
  144. package/lib/core/base-class.d.ts +0 -34
  145. package/lib/core/base-class.js +0 -55
  146. package/lib/core/base-class.js.map +0 -1
  147. package/lib/core/constants.d.ts +0 -86
  148. package/lib/core/constants.js +0 -146
  149. package/lib/core/constants.js.map +0 -1
  150. package/lib/core/core.helpers.d.ts +0 -23
  151. package/lib/core/core.helpers.js +0 -210
  152. package/lib/core/core.helpers.js.map +0 -1
  153. package/lib/core/helpers.d.ts +0 -23
  154. package/lib/core/helpers.js +0 -210
  155. package/lib/core/helpers.js.map +0 -1
  156. package/lib/core/read.actions.d.ts +0 -3
  157. package/lib/core/read.actions.js +0 -39
  158. package/lib/core/read.actions.js.map +0 -1
  159. package/lib/core/web3.helpers.d.ts +0 -28
  160. package/lib/core/web3.helpers.js +0 -336
  161. package/lib/core/web3.helpers.js.map +0 -1
  162. package/lib/core/write.actions.d.ts +0 -9
  163. package/lib/core/write.actions.js +0 -51
  164. package/lib/core/write.actions.js.map +0 -1
  165. package/lib/modules/vaults/admin-actions.d.ts +0 -0
  166. package/lib/modules/vaults/admin-actions.js +0 -1
  167. package/lib/modules/vaults/admin-actions.js.map +0 -1
  168. package/lib/modules/vaults/constants.d.ts +0 -63
  169. package/lib/modules/vaults/constants.js +0 -190
  170. package/lib/modules/vaults/constants.js.map +0 -1
  171. package/lib/modules/vaults/user-actions.d.ts +0 -19
  172. package/lib/modules/vaults/user-actions.js +0 -172
  173. package/lib/modules/vaults/user-actions.js.map +0 -1
  174. package/lib/modules/vaults/user.actions.d.ts +0 -10
  175. package/lib/modules/vaults/user.actions.js +0 -95
  176. package/lib/modules/vaults/user.actions.js.map +0 -1
  177. package/lib/modules/vaults/vault.actions.js +0 -95
  178. package/lib/modules/vaults/vault.actions.js.map +0 -1
  179. package/lib/services/auth/index.d.ts +0 -1
  180. package/lib/services/auth/index.js +0 -18
  181. package/lib/services/auth/index.js.map +0 -1
  182. package/lib/services/auth/verify.d.ts +0 -2
  183. package/lib/services/auth/verify.js +0 -20
  184. package/lib/services/auth/verify.js.map +0 -1
  185. package/lib/services/index.d.ts +0 -4
  186. package/lib/services/index.js +0 -21
  187. package/lib/services/index.js.map +0 -1
  188. package/lib/services/logger/index.d.ts +0 -12
  189. package/lib/services/logger/index.js +0 -51
  190. package/lib/services/logger/index.js.map +0 -1
  191. package/lib/services/logger/slack.d.ts +0 -12
  192. package/lib/services/logger/slack.js +0 -48
  193. package/lib/services/logger/slack.js.map +0 -1
  194. package/lib/services/solana/actions.d.ts +0 -20
  195. package/lib/services/solana/actions.js +0 -225
  196. package/lib/services/solana/actions.js.map +0 -1
  197. package/lib/services/solana/class.d.ts +0 -45
  198. package/lib/services/solana/class.js +0 -135
  199. package/lib/services/solana/class.js.map +0 -1
  200. package/lib/services/solana/constants.d.ts +0 -25
  201. package/lib/services/solana/constants.js +0 -32
  202. package/lib/services/solana/constants.js.map +0 -1
  203. package/lib/services/solana/index.d.ts +0 -84
  204. package/lib/services/solana/index.js +0 -50
  205. package/lib/services/solana/index.js.map +0 -1
  206. package/lib/services/solana/types.d.ts +0 -58
  207. package/lib/services/solana/utils.d.ts +0 -96
  208. package/lib/services/solana/utils.js +0 -355
  209. package/lib/services/solana/utils.js.map +0 -1
  210. package/lib/services/solana/vault-idl.d.ts +0 -338
  211. package/lib/services/solana/vault-idl.js +0 -1075
  212. package/lib/services/solana/vault-idl.js.map +0 -1
  213. package/lib/utils/base-class.d.ts +0 -34
  214. package/lib/utils/base-class.js +0 -55
  215. package/lib/utils/base-class.js.map +0 -1
  216. package/lib/utils/constants/august.js.map +0 -1
  217. package/lib/utils/constants/fallbacks.d.ts +0 -3
  218. package/lib/utils/constants/fallbacks.js +0 -26
  219. package/lib/utils/constants/fallbacks.js.map +0 -1
  220. package/lib/utils/constants/index.d.ts +0 -3
  221. package/lib/utils/constants/index.js +0 -20
  222. package/lib/utils/constants/index.js.map +0 -1
  223. package/lib/utils/constants/web3.js.map +0 -1
  224. package/lib/utils/fetcher.d.ts +0 -25
  225. package/lib/utils/fetcher.js +0 -334
  226. package/lib/utils/fetcher.js.map +0 -1
  227. package/lib/utils/helpers/array.d.ts +0 -6
  228. package/lib/utils/helpers/array.js +0 -40
  229. package/lib/utils/helpers/array.js.map +0 -1
  230. package/lib/utils/helpers/datetime.d.ts +0 -5
  231. package/lib/utils/helpers/datetime.js +0 -32
  232. package/lib/utils/helpers/datetime.js.map +0 -1
  233. package/lib/utils/helpers/formatters.d.ts +0 -8
  234. package/lib/utils/helpers/formatters.js +0 -113
  235. package/lib/utils/helpers/formatters.js.map +0 -1
  236. package/lib/utils/helpers/index.d.ts +0 -6
  237. package/lib/utils/helpers/index.js +0 -23
  238. package/lib/utils/helpers/index.js.map +0 -1
  239. package/lib/utils/helpers/responses.d.ts +0 -32
  240. package/lib/utils/helpers/responses.js +0 -229
  241. package/lib/utils/helpers/responses.js.map +0 -1
  242. package/lib/utils/helpers/verify-keys.d.ts +0 -2
  243. package/lib/utils/helpers/verify-keys.js +0 -21
  244. package/lib/utils/helpers/verify-keys.js.map +0 -1
  245. package/lib/utils/helpers/web3.d.ts +0 -27
  246. package/lib/utils/helpers/web3.js +0 -339
  247. package/lib/utils/helpers/web3.js.map +0 -1
  248. package/lib/utils/index.d.ts +0 -5
  249. package/lib/utils/index.js +0 -22
  250. package/lib/utils/index.js.map +0 -1
  251. package/lib/utils/vaults.d.ts +0 -53
  252. package/lib/utils/vaults.js.map +0 -1
  253. package/lib/vaults/admin-actions.d.ts +0 -0
  254. package/lib/vaults/admin-actions.js +0 -1
  255. package/lib/vaults/admin-actions.js.map +0 -1
  256. package/lib/vaults/getters.d.ts +0 -38
  257. package/lib/vaults/getters.js +0 -760
  258. package/lib/vaults/getters.js.map +0 -1
  259. package/lib/vaults/index.d.ts +0 -4
  260. package/lib/vaults/index.js +0 -21
  261. package/lib/vaults/index.js.map +0 -1
  262. package/lib/vaults/main.d.ts +0 -118
  263. package/lib/vaults/main.js +0 -591
  264. package/lib/vaults/main.js.map +0 -1
  265. package/lib/vaults/rpc-config.d.ts +0 -4
  266. package/lib/vaults/rpc-config.js +0 -27
  267. package/lib/vaults/rpc-config.js.map +0 -1
  268. package/lib/vaults/subgraph.d.ts +0 -10
  269. package/lib/vaults/subgraph.js +0 -470
  270. package/lib/vaults/subgraph.js.map +0 -1
  271. package/lib/vaults/user-actions.d.ts +0 -19
  272. package/lib/vaults/user-actions.js +0 -172
  273. package/lib/vaults/user-actions.js.map +0 -1
  274. package/lib/vaults/utils.js.map +0 -1
  275. package/lib/verify.d.ts +0 -2
  276. package/lib/verify.js +0 -20
  277. package/lib/verify.js.map +0 -1
  278. /package/lib/{services/solana → adapters/sui}/types.js +0 -0
@@ -0,0 +1,149 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getParaswapQuote = getParaswapQuote;
4
+ exports.buildSwapAndDepositTransaction = buildSwapAndDepositTransaction;
5
+ exports.buildNativeDepositTransaction = buildNativeDepositTransaction;
6
+ exports.previewAdapterDeposit = previewAdapterDeposit;
7
+ const constants_adapters_1 = require("../../core/constants.adapters");
8
+ const abis_1 = require("../../abis");
9
+ const core_1 = require("../../core");
10
+ const PARASWAP_PRICES_API = 'https://api.paraswap.io/prices';
11
+ const PARASWAP_PARTNER = 'august';
12
+ const PARASWAP_PARTNER_ADDRESS = '0xb60ee0FA5B6bA917255A03e744967E0Bda531dD0';
13
+ const PARASWAP_VERSION = '6.2';
14
+ async function getParaswapQuote({ srcToken, destToken, amount, network, srcDecimals, destDecimals, }) {
15
+ const params = new URLSearchParams();
16
+ params.append('network', network);
17
+ params.append('srcToken', srcToken);
18
+ params.append('srcDecimals', srcDecimals.toString());
19
+ params.append('destToken', destToken);
20
+ params.append('destDecimals', destDecimals.toString());
21
+ params.append('amount', amount);
22
+ params.append('partner', PARASWAP_PARTNER);
23
+ params.append('partnerAddress', PARASWAP_PARTNER_ADDRESS);
24
+ params.append('version', PARASWAP_VERSION);
25
+ const priceUrl = `${PARASWAP_PRICES_API}?${params.toString()}`;
26
+ const response = await fetch(priceUrl, {
27
+ method: 'GET',
28
+ headers: {
29
+ 'Content-Type': 'application/json',
30
+ },
31
+ });
32
+ const data = await response.json();
33
+ return data?.priceRoute || {};
34
+ }
35
+ async function buildSwapAndDepositTransaction({ signer, srcToken, srcDecimals, destToken, destDecimals, amount, network, adapterConfig, userAddress, }) {
36
+ const priceRoute = await getParaswapQuote({
37
+ srcToken,
38
+ destToken,
39
+ amount,
40
+ network,
41
+ srcDecimals,
42
+ destDecimals,
43
+ });
44
+ if (!priceRoute || !priceRoute.destAmount) {
45
+ throw new Error('No price route found from Paraswap');
46
+ }
47
+ const adapterContract = (0, core_1.createContract)({
48
+ address: adapterConfig.wrapperAddress,
49
+ provider: signer,
50
+ abi: abis_1.ABI_POOL_ADAPTER,
51
+ });
52
+ return adapterContract;
53
+ }
54
+ async function buildNativeDepositTransaction({ signer, srcToken, amount, poolName, adapterConfig, userAddress, }) {
55
+ const isNative = srcToken === '0x0000000000000000000000000000000000000000';
56
+ const wrapperContract = (0, core_1.createContract)({
57
+ address: adapterConfig.wrapperAddress,
58
+ provider: signer,
59
+ abi: adapterConfig.abi || abis_1.ABI_WRAPPER_ADAPTER,
60
+ });
61
+ if (poolName === constants_adapters_1.POOL_NAMES.ETH_TREEHOUSE_GROWTH) {
62
+ if (isNative) {
63
+ return {
64
+ contract: wrapperContract,
65
+ functionName: 'depositETH',
66
+ args: [adapterConfig.referralId],
67
+ value: BigInt(amount),
68
+ };
69
+ }
70
+ return {
71
+ contract: wrapperContract,
72
+ functionName: 'depositWETH',
73
+ args: [BigInt(amount), adapterConfig.referralId],
74
+ };
75
+ }
76
+ if (poolName === constants_adapters_1.POOL_NAMES.AVAX_AVAX) {
77
+ return {
78
+ contract: wrapperContract,
79
+ functionName: 'depositETH',
80
+ args: [],
81
+ value: BigInt(amount),
82
+ };
83
+ }
84
+ if (poolName === constants_adapters_1.POOL_NAMES.ETH_KELP_TAC_RSETH) {
85
+ if (isNative) {
86
+ return {
87
+ contract: wrapperContract,
88
+ functionName: 'getRSETHWithETH',
89
+ args: [adapterConfig.referralId],
90
+ value: BigInt(amount),
91
+ };
92
+ }
93
+ return {
94
+ contract: wrapperContract,
95
+ functionName: 'getRSETHWithERC20',
96
+ args: [
97
+ adapterConfig.wrappedTokenAddress,
98
+ BigInt(amount),
99
+ adapterConfig.referralId,
100
+ ],
101
+ };
102
+ }
103
+ if (isNative && adapterConfig.isNativeTokenDeposit) {
104
+ return {
105
+ contract: wrapperContract,
106
+ functionName: 'depositETH',
107
+ args: adapterConfig.referralId ? [adapterConfig.referralId] : [],
108
+ value: BigInt(amount),
109
+ };
110
+ }
111
+ throw new Error('Unsupported deposit configuration');
112
+ }
113
+ async function previewAdapterDeposit({ signer, vaultAddress, srcToken, srcAmount, srcDecimals, destToken, destDecimals, adapterConfig, chainId, }) {
114
+ if (adapterConfig.bridgeId === 2) {
115
+ const quote = await getParaswapQuote({
116
+ srcToken,
117
+ destToken,
118
+ amount: srcAmount,
119
+ network: chainId.toString(),
120
+ srcDecimals,
121
+ destDecimals,
122
+ });
123
+ return BigInt(quote.destAmount || 0);
124
+ }
125
+ if (adapterConfig.viewAdapter) {
126
+ const viewContract = (0, core_1.createContract)({
127
+ address: adapterConfig.viewAdapter,
128
+ provider: signer,
129
+ abi: [
130
+ {
131
+ inputs: [
132
+ { internalType: 'address', name: 'asset', type: 'address' },
133
+ { internalType: 'uint256', name: 'depositAmount', type: 'uint256' },
134
+ ],
135
+ name: 'getRsETHAmountToMint',
136
+ outputs: [
137
+ { internalType: 'uint256', name: 'rsETHAmount', type: 'uint256' },
138
+ ],
139
+ stateMutability: 'view',
140
+ type: 'function',
141
+ },
142
+ ],
143
+ });
144
+ const output = await viewContract.getRsETHAmountToMint(srcToken, BigInt(srcAmount));
145
+ return BigInt(output);
146
+ }
147
+ return BigInt(srcAmount);
148
+ }
149
+ //# sourceMappingURL=adapter.helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.helpers.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/adapter.helpers.ts"],"names":[],"mappings":"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"}
@@ -1,23 +1,3 @@
1
- import { IAddress, IContractRunner, INormalizedNumber, IPoolFunctions, ITokenizedVault, IVault } from '../types';
2
- export declare const VAULT_AgoraAUSD = "0x828BC5895b78b2fb591018Ca5bDC2064742D6D0f";
3
- export declare const SUBACCOUNT_CALEB = "0xFff71B0b66f076C60Fa2f176a34a6EA709ccF21B";
4
- export declare const MULTI_ASSET_VAULTS: string[];
5
- export declare function promiseSettle<T>(promises: Promise<T>[], maxRetries?: number, baseDelay?: number): Promise<T[]>;
6
- export declare const filterOutBySize: (usdAmount: number) => boolean;
7
- export declare const determineBlockCutoff: (chain: number) => 120000 | 150000;
8
- export declare const determineBlockSkipInternal: (chain: number) => 8000 | 50000;
9
- export declare const POOL_FUNCTIONS: IPoolFunctions[];
10
- export declare function getVaultRewards(tokenizedVault: ITokenizedVault): {
11
- upshiftPoints: string;
12
- latestUpshiftPointMultiplier: number;
13
- upshiftPointsMultipliers: {
14
- timestamp: number;
15
- multiplier: number;
16
- }[];
17
- additionalPoints: string[];
18
- };
19
- export declare function getIdleAssets(provider: IContractRunner, vaultAddress: IAddress, underlying: IAddress, totalAssets: INormalizedNumber): Promise<bigint>;
20
- export declare function buildFormattedVault(provider: IContractRunner, tokenizedVault: ITokenizedVault, contractCalls: Record<IPoolFunctions, string | number | INormalizedNumber | boolean>): Promise<IVault>;
21
1
  export declare function fetchVaultWithFallback<T>(vaultAddress: string, fetchFn: () => Promise<T>, options?: {
22
2
  maxRetries?: number;
23
3
  baseDelay?: number;
@@ -1,181 +1,14 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.POOL_FUNCTIONS = exports.determineBlockSkipInternal = exports.determineBlockCutoff = exports.filterOutBySize = exports.MULTI_ASSET_VAULTS = exports.SUBACCOUNT_CALEB = exports.VAULT_AgoraAUSD = void 0;
4
- exports.promiseSettle = promiseSettle;
5
- exports.getVaultRewards = getVaultRewards;
6
- exports.getIdleAssets = getIdleAssets;
7
- exports.buildFormattedVault = buildFormattedVault;
8
3
  exports.fetchVaultWithFallback = fetchVaultWithFallback;
9
4
  exports.fetchVaultsBatch = fetchVaultsBatch;
10
5
  exports.fetchVaultsComprehensive = fetchVaultsComprehensive;
11
6
  exports.filterVaultsIntelligently = filterVaultsIntelligently;
12
- const abis_1 = require("../abis");
13
- const utils_1 = require("../utils");
14
- exports.VAULT_AgoraAUSD = '0x828BC5895b78b2fb591018Ca5bDC2064742D6D0f';
15
- exports.SUBACCOUNT_CALEB = '0xFff71B0b66f076C60Fa2f176a34a6EA709ccF21B';
16
- exports.MULTI_ASSET_VAULTS = [
17
- '0x18EE038C114a07f4B08b420fb1E4149a4F357249',
18
- ];
19
- async function promiseSettle(promises, maxRetries = 3, baseDelay = 1000) {
20
- const promisesWithRetry = promises.map((promise, index) => (0, utils_1.withRetry)(async () => {
21
- try {
22
- return await promise;
23
- }
24
- catch (error) {
25
- console.warn(`Promise at index ${index} failed:`, error);
26
- throw error;
27
- }
28
- }, maxRetries, baseDelay));
29
- const results = await Promise.allSettled(promisesWithRetry);
30
- return results.map((result, index) => {
31
- if (result.status === 'fulfilled') {
32
- return result.value;
33
- }
34
- else {
35
- console.warn(`Promise at index ${index} failed after retries:`, result.reason);
36
- return null;
37
- }
38
- });
39
- }
40
- const filterOutBySize = (usdAmount) => usdAmount > 10000;
41
- exports.filterOutBySize = filterOutBySize;
42
- const determineBlockCutoff = (chain) => {
43
- switch (chain) {
44
- case 56:
45
- return 120000;
46
- case 43114:
47
- return 120000;
48
- default:
49
- return 150000;
50
- }
51
- };
52
- exports.determineBlockCutoff = determineBlockCutoff;
53
- const determineBlockSkipInternal = (chain) => {
54
- switch (chain) {
55
- case 43114:
56
- return 8000;
57
- case 56:
58
- return 8000;
59
- default:
60
- return 50000;
61
- }
62
- };
63
- exports.determineBlockSkipInternal = determineBlockSkipInternal;
64
- exports.POOL_FUNCTIONS = [
65
- 'decimals',
66
- 'asset',
67
- 'totalSupply',
68
- 'totalAssets',
69
- 'maxSupply',
70
- 'withdrawalFee',
71
- 'lagDuration',
72
- 'withdrawalsPaused',
73
- ];
74
- function getVaultRewards(tokenizedVault) {
75
- const upshiftPointRewards = tokenizedVault.rewards?.filter((r) => r.text === 'Upshift Points');
76
- const sortedPointsMultipliers = upshiftPointRewards?.sort((a, b) => new Date(b.start_datetime).getTime() -
77
- new Date(a.start_datetime).getTime());
78
- const upshiftPointsMultipliers = sortedPointsMultipliers?.map((r) => ({
79
- timestamp: new Date(r.start_datetime).getTime() / 1000,
80
- multiplier: r.multiplier,
81
- }));
82
- const latestUpshiftPointMultiplier = upshiftPointsMultipliers?.[0]?.multiplier;
83
- const rewards = {
84
- upshiftPoints: !!upshiftPointRewards.length
85
- ? `${latestUpshiftPointMultiplier}x Upshift Points`
86
- : '',
87
- latestUpshiftPointMultiplier,
88
- upshiftPointsMultipliers: upshiftPointsMultipliers,
89
- additionalPoints: tokenizedVault.rewards.map((r) => `${r.multiplier !== 1 ? `${r.multiplier}x` : ''} ${r.text}`),
90
- };
91
- return rewards;
92
- }
93
- async function getIdleAssets(provider, vaultAddress, underlying, totalAssets) {
94
- let idleAssets;
95
- if (utils_1.OLD_LENDING_POOLS.includes(vaultAddress)) {
96
- const globalLoansAmount = await (0, utils_1.createContract)({
97
- provider,
98
- address: vaultAddress,
99
- abi: abis_1.ABI_LENDING_POOLS,
100
- }).globalLoansAmount();
101
- idleAssets = BigInt(totalAssets.raw) - BigInt(globalLoansAmount);
102
- }
103
- else {
104
- idleAssets = await (0, utils_1.createContract)({
105
- provider,
106
- address: underlying,
107
- abi: abis_1.ABI_ERC20,
108
- }).balanceOf(vaultAddress);
109
- }
110
- return idleAssets;
111
- }
112
- async function buildFormattedVault(provider, tokenizedVault, contractCalls) {
113
- const underlying = {
114
- address: contractCalls.asset,
115
- symbol: await (0, utils_1.getSymbol)(provider, contractCalls.asset),
116
- decimals: contractCalls.decimals,
117
- };
118
- if (!tokenizedVault.reported_apy)
119
- console.warn('#buildFormattedVault::reported_apy: no APY found for', tokenizedVault.receipt_token_symbol);
120
- const apy = {
121
- apy: tokenizedVault?.reported_apy?.apy * 100,
122
- explainer: tokenizedVault?.reported_apy?.explainer,
123
- liquidApy: tokenizedVault?.reported_apy?.liquid_apy * 100,
124
- rewardsClaimable: tokenizedVault?.reported_apy?.rewards_claimable,
125
- rewardsCompounded: tokenizedVault?.reported_apy?.rewards_compounded,
126
- underlyingApy: tokenizedVault?.reported_apy?.underlying_apy * 100,
127
- };
128
- const strategists = tokenizedVault.subaccounts.map((s) => ({
129
- address: s.address,
130
- logo: s.strategist?.strategist_logo,
131
- name: s.strategist?.strategist_name,
132
- }));
133
- const platformFee = {
134
- fee: tokenizedVault.platform_fee_override.management_fee,
135
- isWaived: tokenizedVault.platform_fee_override.is_fee_waived,
136
- };
137
- const rewards = getVaultRewards(tokenizedVault);
138
- const idleAssets = await getIdleAssets(provider, tokenizedVault.address, contractCalls.asset, contractCalls.totalAssets);
139
- return {
140
- lagDuration: Number(contractCalls.lagDuration),
141
- address: tokenizedVault.address,
142
- name: tokenizedVault.vault_name,
143
- logoUrl: tokenizedVault.vault_logo_url,
144
- symbol: tokenizedVault.receipt_token_symbol,
145
- description: tokenizedVault.description,
146
- startDatetime: String(tokenizedVault.start_datetime),
147
- publicType: tokenizedVault.public_type,
148
- internalType: tokenizedVault.internal_type,
149
- status: tokenizedVault.status,
150
- tags: [tokenizedVault.public_type],
151
- isFeatured: tokenizedVault.is_featured,
152
- isVisible: tokenizedVault.is_visible,
153
- reserveTarget: tokenizedVault.reserve_target,
154
- reserveTolerance: tokenizedVault.reserve_tolerance,
155
- underlying,
156
- apy: apy.apy,
157
- apyBreakdown: apy,
158
- rewards,
159
- strategists,
160
- weeklyPerformanceFee: tokenizedVault.weekly_performance_fee_bps,
161
- platformFee,
162
- totalAssets: contractCalls.totalAssets,
163
- totalSupply: contractCalls.totalSupply,
164
- loansOperator: contractCalls.loansOperator,
165
- decimals: contractCalls.decimals,
166
- maxSupply: contractCalls.maxSupply,
167
- chainId: tokenizedVault.chain,
168
- maxDailyDrawdown: tokenizedVault.max_daily_drawdown || 0,
169
- risk: tokenizedVault.risk,
170
- isWithdrawalPaused: contractCalls.withdrawalsPaused,
171
- idleAssets: (0, utils_1.toNormalizedBn)(idleAssets, contractCalls.decimals),
172
- isDepositPaused: (0, utils_1.isBadVault)(tokenizedVault.address),
173
- };
174
- }
7
+ const core_1 = require("../../core");
175
8
  async function fetchVaultWithFallback(vaultAddress, fetchFn, options = {}) {
176
9
  const { maxRetries = 3, baseDelay = 1000 } = options;
177
10
  try {
178
- const data = await (0, utils_1.withRetry)(fetchFn, maxRetries * 2, baseDelay * 2);
11
+ const data = await (0, core_1.withRetry)(fetchFn, maxRetries * 2, baseDelay * 2);
179
12
  return { success: true, data, strategy: 'extended-retry' };
180
13
  }
181
14
  catch (error) {
@@ -188,7 +21,7 @@ async function fetchVaultWithFallback(vaultAddress, fetchFn, options = {}) {
188
21
  };
189
22
  }
190
23
  async function fetchVaultsBatch(vaults, options = {}) {
191
- const { maxRetries = 3, baseDelay = 1000, batchSize = 10, parallelLimit = 5, } = options;
24
+ const { maxRetries = 3, baseDelay = 1000, batchSize = 10, parallelLimit: _parallelLimit = 5, } = options;
192
25
  const successful = [];
193
26
  const failed = [];
194
27
  let totalAttempted = 0;
@@ -239,7 +72,7 @@ async function fetchVaultsBatch(vaults, options = {}) {
239
72
  };
240
73
  }
241
74
  async function fetchVaultsComprehensive(vaults, fetchFn, options = {}) {
242
- const { maxRetries = 5, baseDelay = 2000, batchSize = 10, parallelLimit = 5, includeClosed = false, includeInvisible = false, fallbackRpcUrls = {}, timeout = 60000, } = options;
75
+ const { maxRetries = 5, baseDelay = 2000, batchSize = 10, parallelLimit: _parallelLimit = 5, includeClosed: _includeClosed = false, includeInvisible: _includeInvisible = false, fallbackRpcUrls = {}, timeout = 60000, } = options;
243
76
  const successful = [];
244
77
  const failed = [];
245
78
  const rpcFailures = {};
@@ -269,7 +102,7 @@ async function fetchVaultsComprehensive(vaults, fetchFn, options = {}) {
269
102
  lastError = error;
270
103
  if (attempts < maxRetries) {
271
104
  const delay = baseDelay * Math.pow(2, attempts - 1);
272
- console.warn(`Vault ${vault.address} attempt ${attempts} failed, retrying in ${delay}ms:`, error);
105
+ core_1.Logger.log.warn('fetchVaultsComprehensive', `Vault ${vault.address} attempt ${attempts} failed, retrying in ${delay}ms: ${error.message}`);
273
106
  await new Promise((resolve) => setTimeout(resolve, delay));
274
107
  }
275
108
  }
@@ -291,7 +124,11 @@ async function fetchVaultsComprehensive(vaults, fetchFn, options = {}) {
291
124
  return;
292
125
  }
293
126
  catch (error) {
294
- console.warn(`Vault ${vault.address} failed with fallback RPC ${fallbackRpc}:`, error);
127
+ core_1.Logger.log.warn('fetchVault:fallback_rpc_failed', {
128
+ vault: vault.address,
129
+ fallbackRpc,
130
+ error: error instanceof Error ? error.message : String(error),
131
+ });
295
132
  }
296
133
  }
297
134
  }
@@ -309,7 +146,10 @@ async function fetchVaultsComprehensive(vaults, fetchFn, options = {}) {
309
146
  return;
310
147
  }
311
148
  catch (error) {
312
- console.warn(`Vault ${vault.address} failed with minimal data:`, error);
149
+ core_1.Logger.log.warn('fetchVault:minimal_data_failed', {
150
+ vault: vault.address,
151
+ error: error instanceof Error ? error.message : String(error),
152
+ });
313
153
  }
314
154
  try {
315
155
  const extendedDelay = baseDelay * 3;
@@ -327,7 +167,10 @@ async function fetchVaultsComprehensive(vaults, fetchFn, options = {}) {
327
167
  return;
328
168
  }
329
169
  catch (error) {
330
- console.warn(`Vault ${vault.address} failed with extended retry:`, error);
170
+ core_1.Logger.log.warn('fetchVault:extended_retry_failed', {
171
+ vault: vault.address,
172
+ error: error instanceof Error ? error.message : String(error),
173
+ });
331
174
  }
332
175
  failed.push({
333
176
  index: globalIndex,
@@ -411,4 +254,4 @@ function filterVaultsIntelligently(vaults, options = {}) {
411
254
  },
412
255
  };
413
256
  }
414
- //# sourceMappingURL=utils.js.map
257
+ //# sourceMappingURL=fetcher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetcher.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/fetcher.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { IAddress, IVault, IVaultAllocations, IVaultAvailableRedemption, IVaultLoan, IVaultPosition, IVaultRedemptionHistoryItem, IActiveStakingPosition } from '../../types';
1
+ import { IAddress, INormalizedNumber, IVault, IVaultAllocations, IVaultAvailableRedemption, IVaultLoan, IVaultPosition, IVaultRedemptionHistoryItem, IActiveStakingPosition, IVaultHistoricalParams } from '../../types';
2
2
  import { IVaultBaseOptions } from '.';
3
3
  export declare function getVault({ vault, loans, allocations, options, }: {
4
4
  vault: IAddress;
@@ -27,12 +27,41 @@ export declare function getVaultPositions({ vault, wallet, solanaWallet, options
27
27
  solanaWallet?: string;
28
28
  options: IVaultBaseOptions;
29
29
  }): Promise<IVaultPosition[]>;
30
- export declare function getVaultApy({ vault, options, }: {
30
+ export declare function getVaultApy({ vault, options, historical, }: {
31
31
  vault: IAddress;
32
32
  options?: IVaultBaseOptions;
33
- }): Promise<number>;
33
+ historical?: IVaultHistoricalParams;
34
+ }): Promise<{
35
+ value: number;
36
+ timestamp: string;
37
+ }[]>;
34
38
  export declare function getRewardsStakingPositions({ rpcUrl, wallet, coinGeckoKey, }: {
35
39
  wallet?: IAddress;
36
40
  rpcUrl: string;
37
41
  coinGeckoKey?: string;
38
42
  }): Promise<IActiveStakingPosition[]>;
43
+ export declare function getVaultTvl({ vault, options, historical, }: {
44
+ vault: IAddress;
45
+ options: IVaultBaseOptions;
46
+ historical?: IVaultHistoricalParams;
47
+ }): Promise<{
48
+ value: INormalizedNumber;
49
+ timestamp: string;
50
+ }[]>;
51
+ export declare function getVaultBorrowerHealthFactor({ vault, options, }: {
52
+ vault: IAddress;
53
+ options: IVaultBaseOptions;
54
+ }): Promise<{
55
+ borrower: IAddress;
56
+ loan: IAddress;
57
+ health_factor?: {
58
+ datetime: string;
59
+ health_factor: number;
60
+ id: string;
61
+ total_collateral_value: number;
62
+ total_loan_value: number;
63
+ };
64
+ }[]>;
65
+ export declare function getHealthFactorOfBorrowersByVault({ options, }: {
66
+ options: IVaultBaseOptions;
67
+ }): Promise<{}>;