@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
@@ -1,28 +1,56 @@
1
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
17
+ return (mod && mod.__esModule) ? mod : { "default": mod };
18
+ };
2
19
  Object.defineProperty(exports, "__esModule", { value: true });
3
20
  exports.AugustVaults = void 0;
4
- const utils_1 = require("./utils");
21
+ __exportStar(require("./getters"), exports);
22
+ const fetcher_1 = require("./fetcher");
5
23
  const ethers_1 = require("ethers");
6
24
  const getters_1 = require("./getters");
7
25
  const vaults_1 = require("../../services/subgraph/vaults");
8
26
  const core_1 = require("../../core");
9
27
  const solana_1 = require("../../adapters/solana");
10
- const user_actions_1 = require("./user.actions");
28
+ const sui_1 = __importDefault(require("../../adapters/sui"));
11
29
  class AugustVaults extends core_1.AugustBase {
12
- constructor(baseConfig, solana) {
30
+ constructor(baseConfig, solana, sui) {
13
31
  super(baseConfig);
32
+ this.headers = null;
14
33
  this.solanaService = solana;
15
- }
16
- async getVaults(options) {
17
- const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
34
+ this.suiService = sui || new sui_1.default();
35
+ this.headers = {
18
36
  'x-environment': this.monitoring?.['x-environment'],
19
37
  'x-user-id': this.monitoring?.['x-user-id'],
20
- });
38
+ };
39
+ }
40
+ async getVaults(options) {
41
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, this.headers);
21
42
  const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
22
43
  const vaultsPerChainId = options?.chainIds
23
44
  ? vaultsPerAvailableProviders.filter((v) => options.chainIds.includes(v.chain))
24
45
  : vaultsPerAvailableProviders;
25
- const vaultFetchResult = await (0, utils_1.fetchVaultsComprehensive)(vaultsPerChainId, async (vault) => {
46
+ const emberVaults = await this.suiService.getEmberVaults({
47
+ status: 'active',
48
+ });
49
+ const activeEmberVaults = Array.isArray(emberVaults)
50
+ ? emberVaults.filter((v) => v?.status === 'active')
51
+ : [];
52
+ const transformedVaults = this.suiService.transformEmberVaultsToIVaults(activeEmberVaults);
53
+ const vaultFetchResult = await (0, fetcher_1.fetchVaultsComprehensive)(vaultsPerChainId, async (vault) => {
26
54
  const rpcUrl = vault.fallbackRpc || this.providers?.[vault.chain];
27
55
  const shouldFetchLoans = !vault.minimal &&
28
56
  (typeof options?.loans !== 'undefined' ? options?.loans : true);
@@ -33,7 +61,7 @@ class AugustVaults extends core_1.AugustBase {
33
61
  const isSolana = solana_1.Solana.utils.isSolanaAddress(vault.address)
34
62
  ? true
35
63
  : false;
36
- const v = (0, getters_1.getVault)({
64
+ const v = await (0, getters_1.getVault)({
37
65
  vault: vault.address,
38
66
  loans: isSolana ? false : shouldFetchLoans,
39
67
  allocations: isSolana ? false : shouldFetchAllocations,
@@ -63,13 +91,12 @@ class AugustVaults extends core_1.AugustBase {
63
91
  137: (0, core_1.getFallbackRpcUrls)(137),
64
92
  },
65
93
  });
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)}%`);
94
+ core_1.Logger.log.info('getVaults', `Total: ${vaultFetchResult.coverageReport.totalVaults}, ` +
95
+ `Success: ${vaultFetchResult.coverageReport.successfulVaults}, ` +
96
+ `Failed: ${vaultFetchResult.coverageReport.failedVaults}, ` +
97
+ `Rate: ${vaultFetchResult.successRate.toFixed(2)}%`);
71
98
  if (vaultFetchResult.coverageReport.failedVaults > 0) {
72
- console.warn('Failed vaults:', vaultFetchResult.failed.map((f) => ({
99
+ core_1.Logger.log.warn('getVaults:failed', vaultFetchResult.failed.map((f) => ({
73
100
  address: f.address,
74
101
  chain: f.chain,
75
102
  error: f.error.message,
@@ -79,20 +106,15 @@ class AugustVaults extends core_1.AugustBase {
79
106
  const vaultResponses = vaultFetchResult.successful
80
107
  .sort((a, b) => a.index - b.index)
81
108
  .map((item) => item.data);
82
- const filteredResults = (0, utils_1.filterVaultsIntelligently)(vaultResponses, {
109
+ const filteredResults = (0, fetcher_1.filterVaultsIntelligently)(vaultResponses, {
83
110
  includeClosed: true,
84
111
  includeInvisible: true,
85
112
  minStatus: ['active', 'closed'],
86
113
  });
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;
114
+ const filteredResponses = [
115
+ ...filteredResults.active,
116
+ ...filteredResults.invisible,
117
+ ];
96
118
  if ((options.wallet && (0, ethers_1.isAddress)(options.wallet)) ||
97
119
  (options.solanaWallet &&
98
120
  solana_1.Solana.utils.isSolanaAddress(options.solanaWallet))) {
@@ -116,16 +138,19 @@ class AugustVaults extends core_1.AugustBase {
116
138
  position: positions?.find((pos) => pos.vault?.toLowerCase() === r.address?.toLowerCase()) || null,
117
139
  }));
118
140
  }
119
- if (!!options.wallet && !(0, ethers_1.isAddress)(options.wallet))
120
- console.warn('#getVaults: wallet passed is not of type address');
121
- return filteredResponses;
141
+ if (!!options.wallet && !(0, ethers_1.isAddress)(options.wallet)) {
142
+ core_1.Logger.log.warn('getVaults:invalid_wallet', options.wallet);
143
+ }
144
+ return [...filteredResponses, ...transformedVaults];
122
145
  }
123
146
  async getVault({ vault, chainId, options, }) {
124
147
  if (!vault)
125
148
  throw new Error('Vault input parameter is undefined.');
126
149
  if (typeof chainId !== 'undefined') {
127
- if (!this.providers?.[chainId])
128
- console.error('#getVault:', 'missing rpcUrl in initialization for chainId', chainId);
150
+ if (!this.providers?.[chainId]) {
151
+ const error = new Error(`Missing RPC URL for chainId ${chainId}`);
152
+ core_1.Logger.log.error('getVault:missing_provider', error, { chainId });
153
+ }
129
154
  }
130
155
  const vaultResponse = await (0, getters_1.getVault)({
131
156
  vault: vault,
@@ -139,20 +164,17 @@ class AugustVaults extends core_1.AugustBase {
139
164
  env: this.monitoring?.env,
140
165
  augustKey: this.keys?.august,
141
166
  subgraphKey: this.keys?.graph,
142
- headers: {
143
- 'x-environment': this.monitoring?.['x-environment'],
144
- 'x-user-id': this.monitoring?.['x-user-id'],
145
- },
167
+ headers: this.headers,
146
168
  },
147
169
  });
148
170
  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)))) {
171
+ ((options?.wallet && (0, ethers_1.isAddress)(options?.wallet)) ||
172
+ (options?.solanaWallet &&
173
+ solana_1.Solana.utils.isSolanaAddress(options?.solanaWallet)))) {
152
174
  const vaultResponses = await (0, getters_1.getVaultPositions)({
153
175
  vault: vault,
154
- solanaWallet: options.solanaWallet,
155
- wallet: options.wallet,
176
+ solanaWallet: options?.solanaWallet,
177
+ wallet: options?.wallet,
156
178
  options: {
157
179
  rpcUrl: chainId
158
180
  ? this.providers?.[chainId]
@@ -161,10 +183,7 @@ class AugustVaults extends core_1.AugustBase {
161
183
  env: this.monitoring?.env,
162
184
  augustKey: this.keys?.august,
163
185
  subgraphKey: this.keys?.graph,
164
- headers: {
165
- 'x-environment': this.monitoring?.['x-environment'],
166
- 'x-user-id': this.monitoring?.['x-user-id'],
167
- },
186
+ headers: this.headers,
168
187
  },
169
188
  });
170
189
  const positions = vaultResponses.filter((v) => v.status !== 'PENDING');
@@ -173,8 +192,9 @@ class AugustVaults extends core_1.AugustBase {
173
192
  position: positions?.find((pos) => pos.vault?.toLowerCase() === vault?.toLowerCase()) || null,
174
193
  };
175
194
  }
176
- if (!!options.wallet && !(0, ethers_1.isAddress)(options.wallet))
177
- console.warn('#getVaults: wallet passed is not of type address');
195
+ if (!!options?.wallet && !(0, ethers_1.isAddress)(options?.wallet)) {
196
+ core_1.Logger.log.warn('getVault:invalid_wallet', options?.wallet);
197
+ }
178
198
  return vaultResponse;
179
199
  }
180
200
  async getVaultLoans({ vault, chainId, }) {
@@ -183,8 +203,10 @@ class AugustVaults extends core_1.AugustBase {
183
203
  if (!(0, ethers_1.isAddress)(vault))
184
204
  throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
185
205
  if (typeof chainId !== 'undefined') {
186
- if (!this.providers?.[chainId])
187
- console.error('#getVaultLoans:', 'missing rpcUrl in initialization for chainId', chainId);
206
+ if (!this.providers?.[chainId]) {
207
+ const error = new Error(`Missing RPC URL for chainId ${chainId}`);
208
+ core_1.Logger.log.error('getVaultLoans:missing_provider', error, { chainId });
209
+ }
188
210
  }
189
211
  const vaultResponse = await (0, getters_1.getVaultLoans)(vault, {
190
212
  rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
@@ -193,10 +215,7 @@ class AugustVaults extends core_1.AugustBase {
193
215
  subgraphKey: this.keys?.graph,
194
216
  chainId: chainId,
195
217
  solanaService: this.solanaService,
196
- headers: {
197
- 'x-environment': this.monitoring?.['x-environment'],
198
- 'x-user-id': this.monitoring?.['x-user-id'],
199
- },
218
+ headers: this.headers,
200
219
  });
201
220
  return vaultResponse;
202
221
  }
@@ -206,8 +225,12 @@ class AugustVaults extends core_1.AugustBase {
206
225
  if (!(0, ethers_1.isAddress)(vault))
207
226
  throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
208
227
  if (typeof chainId !== 'undefined') {
209
- if (!this.providers?.[chainId])
210
- console.error('#getVaultAllocations:', 'missing rpcUrl in initialization for chainId', chainId);
228
+ if (!this.providers?.[chainId]) {
229
+ const error = new Error(`Missing RPC URL for chainId ${chainId}`);
230
+ core_1.Logger.log.error('getVaultAllocations:missing_provider', error, {
231
+ chainId,
232
+ });
233
+ }
211
234
  }
212
235
  try {
213
236
  const vaultResponse = await (0, getters_1.getVaultAllocations)(vault, {
@@ -216,10 +239,7 @@ class AugustVaults extends core_1.AugustBase {
216
239
  env: this.monitoring?.env,
217
240
  augustKey: this.keys?.august,
218
241
  subgraphKey: this.keys?.graph,
219
- headers: {
220
- 'x-environment': this.monitoring?.['x-environment'],
221
- 'x-user-id': this.monitoring?.['x-user-id'],
222
- },
242
+ headers: this.headers,
223
243
  });
224
244
  return vaultResponse;
225
245
  }
@@ -237,24 +257,22 @@ class AugustVaults extends core_1.AugustBase {
237
257
  };
238
258
  }
239
259
  }
240
- async getVaultApy(vault) {
260
+ async getVaultApy({ vault, historical, }) {
241
261
  if (!vault)
242
262
  throw new Error('Vault input parameter is undefined.');
243
263
  if (!(0, ethers_1.isAddress)(vault))
244
264
  throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
245
265
  return await (0, getters_1.getVaultApy)({
246
266
  vault,
267
+ historical,
247
268
  options: {
248
269
  rpcUrl: this.activeNetwork.rpcUrl,
249
270
  subgraphKey: this.keys?.graph,
250
- headers: {
251
- 'x-environment': this.monitoring?.['x-environment'],
252
- 'x-user-id': this.monitoring?.['x-user-id'],
253
- },
271
+ headers: this.headers,
254
272
  },
255
273
  });
256
274
  }
257
- async getAvailableRedemptions({ vault, chainId, wallet, }) {
275
+ async getVaultAvailableRedemptions({ vault, chainId, wallet, }) {
258
276
  if (!this.authorized)
259
277
  throw new Error('Not authorized.');
260
278
  if (!vault)
@@ -270,16 +288,13 @@ class AugustVaults extends core_1.AugustBase {
270
288
  env: this.monitoring?.env,
271
289
  augustKey: this.keys?.august,
272
290
  subgraphKey: this.keys?.graph,
273
- headers: {
274
- 'x-environment': this.monitoring?.['x-environment'],
275
- 'x-user-id': this.monitoring?.['x-user-id'],
276
- },
291
+ headers: this.headers,
277
292
  },
278
293
  });
279
294
  }
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');
295
+ async getVaultPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }) {
296
+ if (solanaWallet && !solana_1.Solana.utils.isSolanaAddress(solanaWallet)) {
297
+ throw new Error('Solana wallet parameter must be provided and be a valid Solana address');
283
298
  }
284
299
  if (wallet && !(0, ethers_1.isAddress)(wallet)) {
285
300
  throw new Error(`Wallet parameter is not a valid address: ${String(wallet)}`);
@@ -297,17 +312,11 @@ class AugustVaults extends core_1.AugustBase {
297
312
  env: this.monitoring?.env,
298
313
  augustKey: this.keys?.august,
299
314
  subgraphKey: this.keys?.graph,
300
- headers: {
301
- 'x-environment': this.monitoring?.['x-environment'],
302
- 'x-user-id': this.monitoring?.['x-user-id'],
303
- },
315
+ headers: this.headers,
304
316
  },
305
317
  });
306
318
  }
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
- });
319
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, this.headers);
311
320
  if (chainId) {
312
321
  const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
313
322
  const vaultResponses = await Promise.all(vaultsPerChain.map((v) => (0, getters_1.getVaultPositions)({
@@ -320,10 +329,7 @@ class AugustVaults extends core_1.AugustBase {
320
329
  env: this.monitoring?.env,
321
330
  augustKey: this.keys?.august,
322
331
  subgraphKey: this.keys?.graph,
323
- headers: {
324
- 'x-environment': this.monitoring?.['x-environment'],
325
- 'x-user-id': this.monitoring?.['x-user-id'],
326
- },
332
+ headers: this.headers,
327
333
  },
328
334
  })));
329
335
  const flattened = vaultResponses.flat();
@@ -332,6 +338,7 @@ class AugustVaults extends core_1.AugustBase {
332
338
  final = flattened;
333
339
  else
334
340
  final = flattened.filter((v) => v?.status !== 'PENDING');
341
+ core_1.Logger.log.info(`getPositions::${chainId || 'all'}:`, final.map((v) => v.vault));
335
342
  return final;
336
343
  }
337
344
  const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
@@ -345,10 +352,7 @@ class AugustVaults extends core_1.AugustBase {
345
352
  env: this.monitoring?.env,
346
353
  augustKey: this.keys?.august,
347
354
  subgraphKey: this.keys?.graph,
348
- headers: {
349
- 'x-environment': this.monitoring?.['x-environment'],
350
- 'x-user-id': this.monitoring?.['x-user-id'],
351
- },
355
+ headers: this.headers,
352
356
  },
353
357
  })));
354
358
  const flattened = vaultResponses.flat();
@@ -359,7 +363,7 @@ class AugustVaults extends core_1.AugustBase {
359
363
  final = flattened.filter((v) => v?.status !== 'PENDING');
360
364
  return final;
361
365
  }
362
- async getUserHistory({ wallet, chainId, vault, options, }) {
366
+ async getUserHistory({ wallet, chainId, vault, }) {
363
367
  if (!(0, ethers_1.isAddress)(wallet))
364
368
  throw new Error(`Wallet parameter is not an address: ${String(wallet)}`);
365
369
  const _chainId = chainId || this.activeNetwork.chainId;
@@ -381,10 +385,7 @@ class AugustVaults extends core_1.AugustBase {
381
385
  finalArray = formatHistory(userHistory);
382
386
  }
383
387
  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
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, this.headers);
388
389
  if (chainId) {
389
390
  const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
390
391
  const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
@@ -406,8 +407,7 @@ class AugustVaults extends core_1.AugustBase {
406
407
  finalArray = flattened;
407
408
  }
408
409
  }
409
- if (this.monitoring?.env === 'DEV')
410
- console.log(`#getUserHistory:`, finalArray.slice(0, 1));
410
+ core_1.Logger.log.info('getUserHistory', `${wallet}::${finalArray.length}`);
411
411
  return finalArray;
412
412
  }
413
413
  async getUserTransfers({ wallet, chainId, vault, options, }) {
@@ -432,10 +432,7 @@ class AugustVaults extends core_1.AugustBase {
432
432
  finalArray = formatTransfers(userHistory);
433
433
  }
434
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
- });
435
+ const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, this.headers);
439
436
  if (chainId) {
440
437
  const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
441
438
  const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
@@ -457,8 +454,7 @@ class AugustVaults extends core_1.AugustBase {
457
454
  finalArray = formatTransfers(flattened);
458
455
  }
459
456
  }
460
- if (this.monitoring?.env === 'DEV')
461
- console.log(`#getUserTransfers:`, finalArray.slice(0, 1));
457
+ core_1.Logger.log.info('getUserTransfers', `${wallet}::${finalArray.length}`);
462
458
  return finalArray;
463
459
  }
464
460
  async getStakingPositions(wallet, chainId) {
@@ -479,112 +475,57 @@ class AugustVaults extends core_1.AugustBase {
479
475
  }));
480
476
  return positions.flat();
481
477
  }
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,
478
+ async getVaultTvl({ vault, chainId, historical, }) {
479
+ if (!this.authorized)
480
+ throw new Error('Not authorized.');
481
+ if (!vault)
482
+ throw new Error('Pool input parameter is undefined.');
483
+ if (!(0, ethers_1.isAddress)(vault))
484
+ throw new Error(`Pool input parameter is not an address: ${String(vault)}`);
485
+ const rpcUrl = chainId
486
+ ? this.providers?.[chainId]
487
+ : this.activeNetwork.rpcUrl;
488
+ return await (0, getters_1.getVaultTvl)({
489
+ vault,
490
+ options: {
491
+ rpcUrl: rpcUrl,
492
+ solanaService: this.solanaService,
493
+ env: this.monitoring?.env,
494
+ augustKey: this.keys?.august,
495
+ subgraphKey: this.keys?.graph,
496
+ headers: this.headers,
497
+ },
498
+ historical: historical,
561
499
  });
562
500
  }
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;
501
+ async getVaultBorrowerHealthFactor(chainId) {
502
+ if (chainId) {
503
+ const health_factors = await (0, getters_1.getHealthFactorOfBorrowersByVault)({
504
+ options: {
505
+ rpcUrl: this.providers?.[chainId] || this.activeNetwork.rpcUrl,
506
+ env: this.monitoring?.env,
507
+ augustKey: this.keys?.august,
508
+ },
509
+ });
510
+ return health_factors;
572
511
  }
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
- });
512
+ const health_factors = await Promise.all(Object.values(this.providers).map((rpcUrl) => {
513
+ return (0, getters_1.getHealthFactorOfBorrowersByVault)({
514
+ options: {
515
+ rpcUrl: chainId
516
+ ? this.providers?.[chainId]
517
+ : rpcUrl || this.activeNetwork.rpcUrl,
518
+ solanaService: this.solanaService,
519
+ env: this.monitoring?.env,
520
+ augustKey: this.keys?.august,
521
+ subgraphKey: this.keys?.graph,
522
+ headers: this.headers,
523
+ },
524
+ });
525
+ }));
526
+ return health_factors.flat();
587
527
  }
588
528
  }
589
529
  exports.AugustVaults = AugustVaults;
530
+ exports.default = AugustVaults;
590
531
  //# sourceMappingURL=main.js.map