@augustdigital/sdk 4.1.0-alpha → 4.1.0-beta

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 (251) hide show
  1. package/README.md +169 -11
  2. package/lib/__tests__/adapter.e2e.test.d.ts +1 -0
  3. package/lib/__tests__/adapter.e2e.test.js +94 -0
  4. package/lib/__tests__/adapter.e2e.test.js.map +1 -0
  5. package/lib/abis/Multicall3.js.map +1 -1
  6. package/lib/abis/PoolAdapter.d.ts +36 -76
  7. package/lib/abis/PoolAdapter.js +18 -379
  8. package/lib/abis/PoolAdapter.js.map +1 -1
  9. package/lib/abis/WrapperAdapter.d.ts +71 -60
  10. package/lib/abis/WrapperAdapter.js +41 -114
  11. package/lib/abis/WrapperAdapter.js.map +1 -1
  12. package/lib/abis/index.d.ts +3 -0
  13. package/lib/abis/index.js +3 -0
  14. package/lib/abis/index.js.map +1 -1
  15. package/lib/adapters/evm/getters.d.ts +1 -1
  16. package/lib/adapters/evm/getters.js +26 -37
  17. package/lib/adapters/evm/getters.js.map +1 -1
  18. package/lib/adapters/evm/index.d.ts +3 -3
  19. package/lib/adapters/evm/index.js +9 -10
  20. package/lib/adapters/evm/index.js.map +1 -1
  21. package/lib/adapters/evm/utils.d.ts +2 -28
  22. package/lib/adapters/evm/utils.js +29 -322
  23. package/lib/adapters/evm/utils.js.map +1 -1
  24. package/lib/adapters/solana/getters.js +33 -26
  25. package/lib/adapters/solana/getters.js.map +1 -1
  26. package/lib/adapters/solana/index.d.ts +25 -1
  27. package/lib/adapters/solana/utils.d.ts +13 -1
  28. package/lib/adapters/solana/utils.js +65 -16
  29. package/lib/adapters/solana/utils.js.map +1 -1
  30. package/lib/core/auth/verify.js +2 -2
  31. package/lib/core/auth/verify.js.map +1 -1
  32. package/lib/core/base.class.d.ts +1 -2
  33. package/lib/core/base.class.js +11 -6
  34. package/lib/core/base.class.js.map +1 -1
  35. package/lib/core/constants.adapters.d.ts +89 -0
  36. package/lib/core/constants.adapters.js +160 -0
  37. package/lib/core/constants.adapters.js.map +1 -0
  38. package/lib/{utils/constants/august.d.ts → core/constants.core.d.ts} +3 -1
  39. package/lib/{utils/constants/august.js → core/constants.core.js} +4 -2
  40. package/lib/core/constants.core.js.map +1 -0
  41. package/lib/core/constants.d.ts +2 -0
  42. package/lib/core/constants.js +3 -1
  43. package/lib/core/constants.js.map +1 -1
  44. package/lib/core/constants.vaults.d.ts +19 -0
  45. package/lib/{utils/vaults.js → core/constants.vaults.js} +49 -75
  46. package/lib/core/constants.vaults.js.map +1 -0
  47. package/lib/{utils/constants/web3.d.ts → core/constants.web3.d.ts} +4 -6
  48. package/lib/{utils/constants/web3.js → core/constants.web3.js} +15 -27
  49. package/lib/core/constants.web3.js.map +1 -0
  50. package/lib/core/fetcher.d.ts +1 -1
  51. package/lib/core/fetcher.js +177 -64
  52. package/lib/core/fetcher.js.map +1 -1
  53. package/lib/core/helpers.adapters.d.ts +4 -0
  54. package/lib/core/helpers.adapters.js +28 -0
  55. package/lib/core/helpers.adapters.js.map +1 -0
  56. package/lib/core/helpers.core.d.ts +1 -1
  57. package/lib/core/helpers.core.js +6 -6
  58. package/lib/core/helpers.core.js.map +1 -1
  59. package/lib/core/helpers.vaults.d.ts +15 -0
  60. package/lib/core/helpers.vaults.js +120 -0
  61. package/lib/core/helpers.vaults.js.map +1 -0
  62. package/lib/core/helpers.web3.d.ts +5 -2
  63. package/lib/core/helpers.web3.js +75 -25
  64. package/lib/core/helpers.web3.js.map +1 -1
  65. package/lib/core/index.d.ts +8 -5
  66. package/lib/core/index.js +8 -5
  67. package/lib/core/index.js.map +1 -1
  68. package/lib/core/logger/index.d.ts +9 -0
  69. package/lib/core/logger/index.js +29 -0
  70. package/lib/core/logger/index.js.map +1 -1
  71. package/lib/core/logger/slack.js +3 -3
  72. package/lib/core/vault.utils.d.ts +4 -0
  73. package/lib/core/vault.utils.js +35 -0
  74. package/lib/core/vault.utils.js.map +1 -0
  75. package/lib/core/web3.helpers.d.ts +1 -0
  76. package/lib/core/web3.helpers.js +32 -3
  77. package/lib/core/web3.helpers.js.map +1 -1
  78. package/lib/index.d.ts +6 -6
  79. package/lib/index.js +14 -7
  80. package/lib/index.js.map +1 -1
  81. package/lib/main.d.ts +88 -14
  82. package/lib/main.js +54 -17
  83. package/lib/main.js.map +1 -1
  84. package/lib/modules/vaults/adapter.helpers.d.ts +46 -0
  85. package/lib/modules/vaults/adapter.helpers.js +149 -0
  86. package/lib/modules/vaults/adapter.helpers.js.map +1 -0
  87. package/lib/modules/vaults/constants.d.ts +7 -7
  88. package/lib/modules/vaults/constants.js +11 -15
  89. package/lib/modules/vaults/constants.js.map +1 -1
  90. package/lib/{vaults/utils.d.ts → modules/vaults/fetcher.d.ts} +0 -20
  91. package/lib/{vaults/utils.js → modules/vaults/fetcher.js} +19 -176
  92. package/lib/modules/vaults/fetcher.js.map +1 -0
  93. package/lib/modules/vaults/getters.d.ts +32 -3
  94. package/lib/modules/vaults/getters.js +367 -71
  95. package/lib/modules/vaults/getters.js.map +1 -1
  96. package/lib/modules/vaults/index.d.ts +2 -83
  97. package/lib/modules/vaults/index.js +2 -480
  98. package/lib/modules/vaults/index.js.map +1 -1
  99. package/lib/modules/vaults/main.d.ts +27 -47
  100. package/lib/modules/vaults/main.js +127 -198
  101. package/lib/modules/vaults/main.js.map +1 -1
  102. package/lib/modules/vaults/read.actions.d.ts +3 -0
  103. package/lib/{adapters/evm → modules/vaults}/read.actions.js +12 -12
  104. package/lib/modules/vaults/read.actions.js.map +1 -0
  105. package/lib/modules/vaults/utils.d.ts +2 -106
  106. package/lib/modules/vaults/utils.js +132 -337
  107. package/lib/modules/vaults/utils.js.map +1 -1
  108. package/lib/modules/vaults/{user.actions.d.ts → write.actions.d.ts} +12 -2
  109. package/lib/modules/vaults/write.actions.js +291 -0
  110. package/lib/modules/vaults/write.actions.js.map +1 -0
  111. package/lib/services/debank/utils.js +4 -4
  112. package/lib/services/subgraph/fetcher.js +3 -2
  113. package/lib/services/subgraph/fetcher.js.map +1 -1
  114. package/lib/services/subgraph/vaults.js +25 -27
  115. package/lib/services/subgraph/vaults.js.map +1 -1
  116. package/lib/types/pools.d.ts +1 -1
  117. package/lib/types/vaults.d.ts +19 -0
  118. package/lib/types/webserver.d.ts +15 -1
  119. package/package.json +16 -10
  120. package/lib/adapters/evm/core.actions.d.ts +0 -9
  121. package/lib/adapters/evm/core.actions.js +0 -51
  122. package/lib/adapters/evm/core.actions.js.map +0 -1
  123. package/lib/adapters/evm/read.actions.d.ts +0 -3
  124. package/lib/adapters/evm/read.actions.js.map +0 -1
  125. package/lib/adapters/evm/vaults.actions.d.ts +0 -10
  126. package/lib/adapters/evm/vaults.actions.js +0 -97
  127. package/lib/adapters/evm/vaults.actions.js.map +0 -1
  128. package/lib/adapters/solana/actions.d.ts +0 -20
  129. package/lib/adapters/solana/actions.js +0 -225
  130. package/lib/adapters/solana/actions.js.map +0 -1
  131. package/lib/adapters/solana/class.d.ts +0 -45
  132. package/lib/adapters/solana/class.js +0 -135
  133. package/lib/adapters/solana/class.js.map +0 -1
  134. package/lib/adapters/solana/vault-idl.d.ts +0 -338
  135. package/lib/adapters/solana/vault-idl.js +0 -1075
  136. package/lib/adapters/solana/vault-idl.js.map +0 -1
  137. package/lib/core/base-class.d.ts +0 -34
  138. package/lib/core/base-class.js +0 -55
  139. package/lib/core/base-class.js.map +0 -1
  140. package/lib/core/helpers.d.ts +0 -23
  141. package/lib/core/helpers.js +0 -210
  142. package/lib/core/helpers.js.map +0 -1
  143. package/lib/modules/vaults/admin-actions.d.ts +0 -0
  144. package/lib/modules/vaults/admin-actions.js +0 -1
  145. package/lib/modules/vaults/admin-actions.js.map +0 -1
  146. package/lib/modules/vaults/user-actions.d.ts +0 -19
  147. package/lib/modules/vaults/user-actions.js +0 -172
  148. package/lib/modules/vaults/user-actions.js.map +0 -1
  149. package/lib/modules/vaults/user.actions.js +0 -95
  150. package/lib/modules/vaults/user.actions.js.map +0 -1
  151. package/lib/services/auth/index.d.ts +0 -1
  152. package/lib/services/auth/index.js +0 -18
  153. package/lib/services/auth/index.js.map +0 -1
  154. package/lib/services/auth/verify.d.ts +0 -2
  155. package/lib/services/auth/verify.js +0 -20
  156. package/lib/services/auth/verify.js.map +0 -1
  157. package/lib/services/index.d.ts +0 -4
  158. package/lib/services/index.js +0 -21
  159. package/lib/services/index.js.map +0 -1
  160. package/lib/services/logger/index.d.ts +0 -12
  161. package/lib/services/logger/index.js +0 -51
  162. package/lib/services/logger/index.js.map +0 -1
  163. package/lib/services/logger/slack.d.ts +0 -12
  164. package/lib/services/logger/slack.js +0 -48
  165. package/lib/services/logger/slack.js.map +0 -1
  166. package/lib/services/solana/actions.d.ts +0 -20
  167. package/lib/services/solana/actions.js +0 -225
  168. package/lib/services/solana/actions.js.map +0 -1
  169. package/lib/services/solana/class.d.ts +0 -45
  170. package/lib/services/solana/class.js +0 -135
  171. package/lib/services/solana/class.js.map +0 -1
  172. package/lib/services/solana/constants.d.ts +0 -25
  173. package/lib/services/solana/constants.js +0 -32
  174. package/lib/services/solana/constants.js.map +0 -1
  175. package/lib/services/solana/index.d.ts +0 -84
  176. package/lib/services/solana/index.js +0 -50
  177. package/lib/services/solana/index.js.map +0 -1
  178. package/lib/services/solana/types.d.ts +0 -58
  179. package/lib/services/solana/types.js +0 -3
  180. package/lib/services/solana/types.js.map +0 -1
  181. package/lib/services/solana/utils.d.ts +0 -96
  182. package/lib/services/solana/utils.js +0 -355
  183. package/lib/services/solana/utils.js.map +0 -1
  184. package/lib/services/solana/vault-idl.d.ts +0 -338
  185. package/lib/services/solana/vault-idl.js +0 -1075
  186. package/lib/services/solana/vault-idl.js.map +0 -1
  187. package/lib/utils/base-class.d.ts +0 -34
  188. package/lib/utils/base-class.js +0 -55
  189. package/lib/utils/base-class.js.map +0 -1
  190. package/lib/utils/constants/august.js.map +0 -1
  191. package/lib/utils/constants/fallbacks.d.ts +0 -3
  192. package/lib/utils/constants/fallbacks.js +0 -26
  193. package/lib/utils/constants/fallbacks.js.map +0 -1
  194. package/lib/utils/constants/index.d.ts +0 -3
  195. package/lib/utils/constants/index.js +0 -20
  196. package/lib/utils/constants/index.js.map +0 -1
  197. package/lib/utils/constants/web3.js.map +0 -1
  198. package/lib/utils/fetcher.d.ts +0 -25
  199. package/lib/utils/fetcher.js +0 -334
  200. package/lib/utils/fetcher.js.map +0 -1
  201. package/lib/utils/helpers/array.d.ts +0 -6
  202. package/lib/utils/helpers/array.js +0 -40
  203. package/lib/utils/helpers/array.js.map +0 -1
  204. package/lib/utils/helpers/datetime.d.ts +0 -5
  205. package/lib/utils/helpers/datetime.js +0 -32
  206. package/lib/utils/helpers/datetime.js.map +0 -1
  207. package/lib/utils/helpers/formatters.d.ts +0 -8
  208. package/lib/utils/helpers/formatters.js +0 -113
  209. package/lib/utils/helpers/formatters.js.map +0 -1
  210. package/lib/utils/helpers/index.d.ts +0 -6
  211. package/lib/utils/helpers/index.js +0 -23
  212. package/lib/utils/helpers/index.js.map +0 -1
  213. package/lib/utils/helpers/responses.d.ts +0 -32
  214. package/lib/utils/helpers/responses.js +0 -229
  215. package/lib/utils/helpers/responses.js.map +0 -1
  216. package/lib/utils/helpers/verify-keys.d.ts +0 -2
  217. package/lib/utils/helpers/verify-keys.js +0 -21
  218. package/lib/utils/helpers/verify-keys.js.map +0 -1
  219. package/lib/utils/helpers/web3.d.ts +0 -27
  220. package/lib/utils/helpers/web3.js +0 -339
  221. package/lib/utils/helpers/web3.js.map +0 -1
  222. package/lib/utils/index.d.ts +0 -5
  223. package/lib/utils/index.js +0 -22
  224. package/lib/utils/index.js.map +0 -1
  225. package/lib/utils/vaults.d.ts +0 -53
  226. package/lib/utils/vaults.js.map +0 -1
  227. package/lib/vaults/admin-actions.d.ts +0 -0
  228. package/lib/vaults/admin-actions.js +0 -1
  229. package/lib/vaults/admin-actions.js.map +0 -1
  230. package/lib/vaults/getters.d.ts +0 -38
  231. package/lib/vaults/getters.js +0 -760
  232. package/lib/vaults/getters.js.map +0 -1
  233. package/lib/vaults/index.d.ts +0 -4
  234. package/lib/vaults/index.js +0 -21
  235. package/lib/vaults/index.js.map +0 -1
  236. package/lib/vaults/main.d.ts +0 -118
  237. package/lib/vaults/main.js +0 -591
  238. package/lib/vaults/main.js.map +0 -1
  239. package/lib/vaults/rpc-config.d.ts +0 -4
  240. package/lib/vaults/rpc-config.js +0 -27
  241. package/lib/vaults/rpc-config.js.map +0 -1
  242. package/lib/vaults/subgraph.d.ts +0 -10
  243. package/lib/vaults/subgraph.js +0 -470
  244. package/lib/vaults/subgraph.js.map +0 -1
  245. package/lib/vaults/user-actions.d.ts +0 -19
  246. package/lib/vaults/user-actions.js +0 -172
  247. package/lib/vaults/user-actions.js.map +0 -1
  248. package/lib/vaults/utils.js.map +0 -1
  249. package/lib/verify.d.ts +0 -2
  250. package/lib/verify.js +0 -20
  251. package/lib/verify.js.map +0 -1
@@ -15,484 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./getters"), exports);
18
- __exportStar(require("./constants"), exports);
19
- const utils_1 = require("./utils");
20
- const ethers_1 = require("ethers");
21
- const getters_1 = require("./getters");
22
- const vaults_1 = require("../../services/subgraph/vaults");
23
- const core_1 = require("../../core");
24
- const solana_1 = require("../../adapters/solana");
25
- class AugustVaults extends core_1.AugustBase {
26
- constructor(baseConfig, solana) {
27
- super(baseConfig);
28
- this.solanaService = solana;
29
- }
30
- async getVaults(options) {
31
- const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
32
- 'x-environment': this.monitoring?.['x-environment'],
33
- 'x-user-id': this.monitoring?.['x-user-id'],
34
- });
35
- const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
36
- const vaultsPerChainId = options?.chainIds
37
- ? vaultsPerAvailableProviders.filter((v) => options.chainIds.includes(v.chain))
38
- : vaultsPerAvailableProviders;
39
- const vaultFetchResult = await (0, utils_1.fetchVaultsComprehensive)(vaultsPerChainId, async (vault) => {
40
- const rpcUrl = vault.fallbackRpc || this.providers?.[vault.chain];
41
- const shouldFetchLoans = !vault.minimal &&
42
- (typeof options?.loans !== 'undefined' ? options?.loans : true);
43
- const shouldFetchAllocations = !vault.minimal &&
44
- (typeof options?.allocations !== 'undefined'
45
- ? options?.allocations
46
- : true);
47
- const isSolana = solana_1.Solana.utils.isSolanaAddress(vault.address)
48
- ? true
49
- : false;
50
- const v = (0, getters_1.getVault)({
51
- vault: vault.address,
52
- loans: isSolana ? false : shouldFetchLoans,
53
- allocations: isSolana ? false : shouldFetchAllocations,
54
- options: {
55
- rpcUrl,
56
- solanaService: this.solanaService,
57
- env: this.monitoring?.env,
58
- augustKey: this.keys?.august,
59
- subgraphKey: this.keys?.graph,
60
- },
61
- });
62
- return v;
63
- }, {
64
- maxRetries: 5,
65
- baseDelay: 2000,
66
- batchSize: 15,
67
- parallelLimit: 8,
68
- includeClosed: true,
69
- includeInvisible: false,
70
- timeout: 60000,
71
- fallbackRpcUrls: {
72
- 1: (0, core_1.getFallbackRpcUrls)(1),
73
- 56: (0, core_1.getFallbackRpcUrls)(56),
74
- 43114: (0, core_1.getFallbackRpcUrls)(43114),
75
- 8453: (0, core_1.getFallbackRpcUrls)(8453),
76
- 42161: (0, core_1.getFallbackRpcUrls)(42161),
77
- 137: (0, core_1.getFallbackRpcUrls)(137),
78
- },
79
- });
80
- console.log(`Vault fetching results:`);
81
- console.log(`- Total vaults: ${vaultFetchResult.coverageReport.totalVaults}`);
82
- console.log(`- Successfully fetched: ${vaultFetchResult.coverageReport.successfulVaults}`);
83
- console.log(`- Failed to fetch: ${vaultFetchResult.coverageReport.failedVaults}`);
84
- console.log(`- Success rate: ${vaultFetchResult.successRate.toFixed(2)}%`);
85
- if (vaultFetchResult.coverageReport.failedVaults > 0) {
86
- console.warn('Failed vaults:', vaultFetchResult.failed.map((f) => ({
87
- address: f.address,
88
- chain: f.chain,
89
- error: f.error.message,
90
- attempts: f.attempts,
91
- })));
92
- }
93
- const vaultResponses = vaultFetchResult.successful
94
- .sort((a, b) => a.index - b.index)
95
- .map((item) => item.data);
96
- const filteredResults = (0, utils_1.filterVaultsIntelligently)(vaultResponses, {
97
- includeClosed: true,
98
- includeInvisible: true,
99
- minStatus: ['active', 'closed'],
100
- });
101
- if (this.monitoring?.env === 'DEV') {
102
- console.log(`Vault filtering results:`);
103
- console.log(`- Active vaults: ${filteredResults.summary.active}`);
104
- console.log(`- Closed vaults: ${filteredResults.summary.closed}`);
105
- console.log(`- Invisible vaults: ${filteredResults.summary.invisible}`);
106
- console.log(`- Filtered out: ${filteredResults.summary.failed}`);
107
- console.log(`- Overall success rate: ${filteredResults.summary.successRate.toFixed(2)}%`);
108
- }
109
- const filteredResponses = filteredResults.active;
110
- if ((options.wallet && (0, ethers_1.isAddress)(options.wallet)) ||
111
- (options.solanaWallet &&
112
- solana_1.Solana.utils.isSolanaAddress(options.solanaWallet))) {
113
- const vaultResponses = await (0, core_1.promiseSettle)(vaultsPerAvailableProviders.map((v) => (0, getters_1.getVaultPositions)({
114
- vault: v.address,
115
- wallet: options.wallet,
116
- solanaWallet: options.solanaWallet,
117
- options: {
118
- rpcUrl: this.providers?.[v.chain],
119
- solanaService: this.solanaService,
120
- env: this.monitoring?.env,
121
- augustKey: this.keys?.august,
122
- subgraphKey: this.keys?.graph,
123
- },
124
- })), 5, 2000);
125
- const positions = vaultResponses
126
- .flat()
127
- .filter((v) => v.status !== 'PENDING');
128
- return filteredResponses.map((r) => ({
129
- ...r,
130
- position: positions?.find((pos) => pos.vault?.toLowerCase() === r.address?.toLowerCase()) || null,
131
- }));
132
- }
133
- if (!!options.wallet && !(0, ethers_1.isAddress)(options.wallet))
134
- console.warn('#getVaults: wallet passed is not of type address');
135
- return filteredResponses;
136
- }
137
- async getVault({ vault, chainId, options, }) {
138
- if (!vault)
139
- throw new Error('Vault input parameter is undefined.');
140
- if (typeof chainId !== 'undefined') {
141
- if (!this.providers?.[chainId])
142
- console.error('#getVault:', 'missing rpcUrl in initialization for chainId', chainId);
143
- }
144
- const vaultResponse = await (0, getters_1.getVault)({
145
- vault: vault,
146
- loans: typeof options?.loans !== 'undefined' ? options?.loans : true,
147
- allocations: typeof options?.allocations !== 'undefined'
148
- ? options?.allocations
149
- : true,
150
- options: {
151
- rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
152
- solanaService: this.solanaService,
153
- env: this.monitoring?.env,
154
- augustKey: this.keys?.august,
155
- subgraphKey: this.keys?.graph,
156
- headers: {
157
- 'x-environment': this.monitoring?.['x-environment'],
158
- 'x-user-id': this.monitoring?.['x-user-id'],
159
- },
160
- },
161
- });
162
- if ((0, ethers_1.isAddress)(vault) &&
163
- ((options?.wallet && (0, ethers_1.isAddress)(options?.wallet)) ||
164
- (options?.solanaWallet &&
165
- solana_1.Solana.utils.isSolanaAddress(options?.solanaWallet)))) {
166
- const vaultResponses = await (0, getters_1.getVaultPositions)({
167
- vault: vault,
168
- solanaWallet: options?.solanaWallet,
169
- wallet: options?.wallet,
170
- options: {
171
- rpcUrl: chainId
172
- ? this.providers?.[chainId]
173
- : this.activeNetwork.rpcUrl,
174
- solanaService: this.solanaService,
175
- env: this.monitoring?.env,
176
- augustKey: this.keys?.august,
177
- subgraphKey: this.keys?.graph,
178
- headers: {
179
- 'x-environment': this.monitoring?.['x-environment'],
180
- 'x-user-id': this.monitoring?.['x-user-id'],
181
- },
182
- },
183
- });
184
- const positions = vaultResponses.filter((v) => v.status !== 'PENDING');
185
- return {
186
- ...vaultResponse,
187
- position: positions?.find((pos) => pos.vault?.toLowerCase() === vault?.toLowerCase()) || null,
188
- };
189
- }
190
- if (!!options?.wallet && !(0, ethers_1.isAddress)(options?.wallet))
191
- console.warn('#getVaults: wallet passed is not of type address', options?.wallet);
192
- return vaultResponse;
193
- }
194
- async getVaultLoans({ vault, chainId, }) {
195
- if (!vault)
196
- throw new Error('Vault input parameter is undefined.');
197
- if (!(0, ethers_1.isAddress)(vault))
198
- throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
199
- if (typeof chainId !== 'undefined') {
200
- if (!this.providers?.[chainId])
201
- console.error('#getVaultLoans:', 'missing rpcUrl in initialization for chainId', chainId);
202
- }
203
- const vaultResponse = await (0, getters_1.getVaultLoans)(vault, {
204
- rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
205
- env: this.monitoring?.env,
206
- augustKey: this.keys?.august,
207
- subgraphKey: this.keys?.graph,
208
- chainId: chainId,
209
- solanaService: this.solanaService,
210
- headers: {
211
- 'x-environment': this.monitoring?.['x-environment'],
212
- 'x-user-id': this.monitoring?.['x-user-id'],
213
- },
214
- });
215
- return vaultResponse;
216
- }
217
- async getVaultAllocations({ vault, chainId, }) {
218
- if (!vault)
219
- throw new Error('Vault input parameter is undefined.');
220
- if (!(0, ethers_1.isAddress)(vault))
221
- throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
222
- if (typeof chainId !== 'undefined') {
223
- if (!this.providers?.[chainId])
224
- console.error('#getVaultAllocations:', 'missing rpcUrl in initialization for chainId', chainId);
225
- }
226
- try {
227
- const vaultResponse = await (0, getters_1.getVaultAllocations)(vault, {
228
- rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
229
- solanaService: this.solanaService,
230
- env: this.monitoring?.env,
231
- augustKey: this.keys?.august,
232
- subgraphKey: this.keys?.graph,
233
- headers: {
234
- 'x-environment': this.monitoring?.['x-environment'],
235
- 'x-user-id': this.monitoring?.['x-user-id'],
236
- },
237
- });
238
- return vaultResponse;
239
- }
240
- catch (e) {
241
- const err = e;
242
- if (err.message.includes('debank')) {
243
- return {
244
- status: 400,
245
- message: 'There was an error fetching from debank',
246
- };
247
- }
248
- return {
249
- status: 400,
250
- message: 'There was an error fetching vaults',
251
- };
252
- }
253
- }
254
- async getVaultApy(vault) {
255
- if (!vault)
256
- throw new Error('Vault input parameter is undefined.');
257
- if (!(0, ethers_1.isAddress)(vault))
258
- throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
259
- return await (0, getters_1.getVaultApy)({
260
- vault,
261
- options: {
262
- rpcUrl: this.activeNetwork.rpcUrl,
263
- subgraphKey: this.keys?.graph,
264
- headers: {
265
- 'x-environment': this.monitoring?.['x-environment'],
266
- 'x-user-id': this.monitoring?.['x-user-id'],
267
- },
268
- },
269
- });
270
- }
271
- async getAvailableRedemptions({ vault, chainId, wallet, }) {
272
- if (!this.authorized)
273
- throw new Error('Not authorized.');
274
- if (!vault)
275
- throw new Error('Vault input parameter is undefined.');
276
- if (!(0, ethers_1.isAddress)(vault))
277
- throw new Error(`Vault input parameter is not an address: ${String(vault)}`);
278
- return await (0, getters_1.getVaultAvailableRedemptions)({
279
- vault,
280
- wallet,
281
- options: {
282
- rpcUrl: chainId ? this.providers?.[chainId] : this.activeNetwork.rpcUrl,
283
- solanaService: this.solanaService,
284
- env: this.monitoring?.env,
285
- augustKey: this.keys?.august,
286
- subgraphKey: this.keys?.graph,
287
- headers: {
288
- 'x-environment': this.monitoring?.['x-environment'],
289
- 'x-user-id': this.monitoring?.['x-user-id'],
290
- },
291
- },
292
- });
293
- }
294
- async getPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }) {
295
- if (!wallet && !solanaWallet) {
296
- throw new Error('Either wallet (EVM) or solanaWallet parameter must be provided');
297
- }
298
- if (wallet && !(0, ethers_1.isAddress)(wallet)) {
299
- throw new Error(`Wallet parameter is not a valid address: ${String(wallet)}`);
300
- }
301
- if (vault) {
302
- return await (0, getters_1.getVaultPositions)({
303
- vault,
304
- wallet,
305
- solanaWallet: solanaWallet,
306
- options: {
307
- rpcUrl: chainId
308
- ? this.providers?.[chainId]
309
- : this.activeNetwork.rpcUrl,
310
- solanaService: this.solanaService,
311
- env: this.monitoring?.env,
312
- augustKey: this.keys?.august,
313
- subgraphKey: this.keys?.graph,
314
- headers: {
315
- 'x-environment': this.monitoring?.['x-environment'],
316
- 'x-user-id': this.monitoring?.['x-user-id'],
317
- },
318
- },
319
- });
320
- }
321
- const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
322
- 'x-environment': this.monitoring?.['x-environment'],
323
- 'x-user-id': this.monitoring?.['x-user-id'],
324
- });
325
- if (chainId) {
326
- const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
327
- const vaultResponses = await Promise.all(vaultsPerChain.map((v) => (0, getters_1.getVaultPositions)({
328
- vault: v.address,
329
- solanaWallet: solanaWallet,
330
- wallet,
331
- options: {
332
- rpcUrl: this.providers?.[v.chain],
333
- solanaService: this.solanaService,
334
- env: this.monitoring?.env,
335
- augustKey: this.keys?.august,
336
- subgraphKey: this.keys?.graph,
337
- headers: {
338
- 'x-environment': this.monitoring?.['x-environment'],
339
- 'x-user-id': this.monitoring?.['x-user-id'],
340
- },
341
- },
342
- })));
343
- const flattened = vaultResponses.flat();
344
- let final;
345
- if (showAllVaults)
346
- final = flattened;
347
- else
348
- final = flattened.filter((v) => v?.status !== 'PENDING');
349
- return final;
350
- }
351
- const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
352
- const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map((v) => (0, getters_1.getVaultPositions)({
353
- vault: v.address,
354
- solanaWallet: solanaWallet,
355
- wallet,
356
- options: {
357
- rpcUrl: this.providers?.[v.chain],
358
- solanaService: this.solanaService,
359
- env: this.monitoring?.env,
360
- augustKey: this.keys?.august,
361
- subgraphKey: this.keys?.graph,
362
- headers: {
363
- 'x-environment': this.monitoring?.['x-environment'],
364
- 'x-user-id': this.monitoring?.['x-user-id'],
365
- },
366
- },
367
- })));
368
- const flattened = vaultResponses.flat();
369
- let final;
370
- if (showAllVaults)
371
- final = flattened;
372
- else
373
- final = flattened.filter((v) => v?.status !== 'PENDING');
374
- return final;
375
- }
376
- async getUserHistory({ wallet, chainId, vault, options, }) {
377
- if (!(0, ethers_1.isAddress)(wallet))
378
- throw new Error(`Wallet parameter is not an address: ${String(wallet)}`);
379
- const _chainId = chainId || this.activeNetwork.chainId;
380
- let finalArray = [];
381
- function formatHistory(history) {
382
- return history.map((h) => ({
383
- timestamp: Number(h.timestamp_),
384
- address: h.address,
385
- amount: (0, core_1.toNormalizedBn)(BigInt(h.amount), h.decimals),
386
- pool: h.contractId_,
387
- chainId: _chainId,
388
- type: h.type,
389
- transactionHash: h.transactionHash_,
390
- }));
391
- }
392
- if (vault) {
393
- const provider = (0, core_1.createProvider)(this.providers?.[chainId]);
394
- const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, vault);
395
- finalArray = formatHistory(userHistory);
396
- }
397
- else {
398
- const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
399
- 'x-environment': this.monitoring?.['x-environment'],
400
- 'x-user-id': this.monitoring?.['x-user-id'],
401
- });
402
- if (chainId) {
403
- const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
404
- const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
405
- const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
406
- const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, v.address);
407
- return formatHistory(userHistory);
408
- }));
409
- const flattened = vaultResponses.flat();
410
- finalArray = flattened;
411
- }
412
- else {
413
- const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
414
- const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map(async (v) => {
415
- const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
416
- const userHistory = await (0, vaults_1.getSubgraphUserHistory)(wallet, provider, v.address);
417
- return formatHistory(userHistory);
418
- }));
419
- const flattened = vaultResponses.flat();
420
- finalArray = flattened;
421
- }
422
- }
423
- if (this.monitoring?.env === 'DEV')
424
- console.log(`#getUserHistory:`, finalArray.slice(0, 1));
425
- return finalArray;
426
- }
427
- async getUserTransfers({ wallet, chainId, vault, options, }) {
428
- if (!(0, ethers_1.isAddress)(wallet))
429
- throw new Error(`Wallet parameter is not an address: ${String(wallet)}`);
430
- let finalArray = [];
431
- function formatTransfers(transfers) {
432
- return transfers.map((t) => ({
433
- id: t.id,
434
- value: t.value,
435
- to: t.to,
436
- from: t.from,
437
- pool: t.contractId_,
438
- block: Number(t.block_number),
439
- timestamp: Number(t.timestamp_),
440
- transactionHash: t.transactionHash_,
441
- }));
442
- }
443
- if (vault) {
444
- const provider = (0, core_1.createProvider)(this.providers?.[chainId]);
445
- const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, vault);
446
- finalArray = formatTransfers(userHistory);
447
- }
448
- else {
449
- const allVaults = await (0, core_1.fetchTokenizedVaults)(undefined, {
450
- 'x-environment': this.monitoring?.['x-environment'],
451
- 'x-user-id': this.monitoring?.['x-user-id'],
452
- });
453
- if (chainId) {
454
- const vaultsPerChain = allVaults.filter((v) => v.chain === chainId);
455
- const vaultResponses = await Promise.all(vaultsPerChain.map(async (v) => {
456
- const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
457
- const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, v.address);
458
- return userHistory;
459
- }));
460
- const flattened = vaultResponses.flat();
461
- finalArray = formatTransfers(flattened);
462
- }
463
- else {
464
- const vaultsPerAvailableProviders = allVaults.filter((v) => !!this.providers?.[v?.chain] ? true : false);
465
- const vaultResponses = await Promise.all(vaultsPerAvailableProviders.map(async (v) => {
466
- const provider = (0, core_1.createProvider)(this.providers?.[v.chain]);
467
- const userHistory = await (0, vaults_1.getSubgraphUserTransfers)(wallet, provider, v.address);
468
- return userHistory;
469
- }));
470
- const flattened = vaultResponses.flat();
471
- finalArray = formatTransfers(flattened);
472
- }
473
- }
474
- if (this.monitoring?.env === 'DEV')
475
- console.log(`#getUserTransfers:`, finalArray.slice(0, 1));
476
- return finalArray;
477
- }
478
- async getStakingPositions(wallet, chainId) {
479
- if (chainId) {
480
- const positions = await (0, getters_1.getRewardsStakingPositions)({
481
- rpcUrl: this.providers?.[chainId] || this.activeNetwork.rpcUrl,
482
- wallet,
483
- });
484
- return positions;
485
- }
486
- const positions = await Promise.all(Object.values(this.providers).map((rpcUrl) => {
487
- return (0, getters_1.getRewardsStakingPositions)({
488
- rpcUrl: chainId
489
- ? this.providers?.[chainId]
490
- : rpcUrl || this.activeNetwork.rpcUrl,
491
- wallet,
492
- });
493
- }));
494
- return positions.flat();
495
- }
496
- }
497
- exports.default = AugustVaults;
18
+ __exportStar(require("./utils"), exports);
19
+ __exportStar(require("./main"), exports);
498
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4CAA0B;AAC1B,8CAA4B;AAK5B,mCAA8E;AAW9E,mCAA2C;AAC3C,uCAQmB;AAEnB,2DAGwC;AACxC,qCAQoB;AACpB,kDAA+C;AAyB/C,MAAM,YAAa,SAAQ,iBAAU;IAEnC,YAAY,UAAuB,EAAE,MAAqB;QACxD,KAAK,CAAC,UAAU,CAAC,CAAC;QAClB,IAAI,CAAC,aAAa,GAAG,MAAM,CAAC;IAC9B,CAAC;IASD,KAAK,CAAC,SAAS,CACb,OAGuB;QAGvB,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAoB,EAAC,SAAS,EAAE;YACtD,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;YACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;SAC5C,CAAC,CAAC;QACH,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAC5C,CAAC;QAKF,MAAM,gBAAgB,GAAG,OAAO,EAAE,QAAQ;YACxC,CAAC,CAAC,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACvC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CACnC;YACH,CAAC,CAAC,2BAA2B,CAAC;QAGhC,MAAM,gBAAgB,GAAG,MAAM,IAAA,gCAAwB,EACrD,gBAAgB,EAChB,KAAK,EAAE,KAAK,EAAE,EAAE;YAEd,MAAM,MAAM,GACT,KAAa,CAAC,WAAW,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAG9D,MAAM,gBAAgB,GACpB,CAAE,KAAa,CAAC,OAAO;gBACvB,CAAC,OAAO,OAAO,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YAClE,MAAM,sBAAsB,GAC1B,CAAE,KAAa,CAAC,OAAO;gBACvB,CAAC,OAAO,OAAO,EAAE,WAAW,KAAK,WAAW;oBAC1C,CAAC,CAAC,OAAO,EAAE,WAAW;oBACtB,CAAC,CAAC,IAAI,CAAC,CAAC;YACZ,MAAM,QAAQ,GAAG,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,KAAK,CAAC,OAAO,CAAC;gBAC1D,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,KAAK,CAAC;YAEV,MAAM,CAAC,GAAG,IAAA,kBAAQ,EAAC;gBACjB,KAAK,EAAE,KAAK,CAAC,OAAmB;gBAChC,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,gBAAgB;gBAC1C,WAAW,EAAE,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,sBAAsB;gBACtD,OAAO,EAAE;oBACP,MAAM;oBACN,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;oBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;oBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;iBAC9B;aACF,CAAC,CAAC;YACH,OAAO,CAAC,CAAC;QACX,CAAC,EACD;YACE,UAAU,EAAE,CAAC;YACb,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,CAAC;YAChB,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,KAAK;YACvB,OAAO,EAAE,KAAK;YACd,eAAe,EAAE;gBAEf,CAAC,EAAE,IAAA,yBAAkB,EAAC,CAAC,CAAC;gBACxB,EAAE,EAAE,IAAA,yBAAkB,EAAC,EAAE,CAAC;gBAC1B,KAAK,EAAE,IAAA,yBAAkB,EAAC,KAAK,CAAC;gBAChC,IAAI,EAAE,IAAA,yBAAkB,EAAC,IAAI,CAAC;gBAC9B,KAAK,EAAE,IAAA,yBAAkB,EAAC,KAAK,CAAC;gBAChC,GAAG,EAAE,IAAA,yBAAkB,EAAC,GAAG,CAAC;aAE7B;SACF,CACF,CAAC;QAGF,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CACT,mBAAmB,gBAAgB,CAAC,cAAc,CAAC,WAAW,EAAE,CACjE,CAAC;QACF,OAAO,CAAC,GAAG,CACT,2BAA2B,gBAAgB,CAAC,cAAc,CAAC,gBAAgB,EAAE,CAC9E,CAAC;QACF,OAAO,CAAC,GAAG,CACT,sBAAsB,gBAAgB,CAAC,cAAc,CAAC,YAAY,EAAE,CACrE,CAAC;QACF,OAAO,CAAC,GAAG,CAAC,mBAAmB,gBAAgB,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;QAE3E,IAAI,gBAAgB,CAAC,cAAc,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YACrD,OAAO,CAAC,IAAI,CACV,gBAAgB,EAChB,gBAAgB,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAClC,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,CAAC,CAAC,QAAQ;aACrB,CAAC,CAAC,CACJ,CAAC;QACJ,CAAC;QAGD,MAAM,cAAc,GAAG,gBAAgB,CAAC,UAAU;aAC/C,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;aACjC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAE5B,MAAM,eAAe,GAAG,IAAA,iCAAyB,EAAC,cAAc,EAAE;YAChE,aAAa,EAAE,IAAI;YACnB,gBAAgB,EAAE,IAAI;YACtB,SAAS,EAAE,CAAC,QAAQ,EAAE,QAAQ,CAAC;SAChC,CAAC,CAAC;QAEH,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,oBAAoB,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,oBAAoB,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YAClE,OAAO,CAAC,GAAG,CAAC,uBAAuB,eAAe,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;YACxE,OAAO,CAAC,GAAG,CAAC,mBAAmB,eAAe,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CACT,2BAA2B,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAC7E,CAAC;QACJ,CAAC;QAED,MAAM,iBAAiB,GAAG,eAAe,CAAC,MAAM,CAAC;QAEjD,IACE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAA,kBAAS,EAAC,OAAO,CAAC,MAAM,CAAC,CAAC;YAC7C,CAAC,OAAO,CAAC,YAAY;gBACnB,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,EACrD,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAA,oBAAa,EACxC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,IAAA,2BAAiB,EAAC;gBAChB,KAAK,EAAE,CAAC,CAAC,OAAmB;gBAC5B,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,YAAY,EAAE,OAAO,CAAC,YAAY;gBAClC,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;oBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;oBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;iBAC9B;aACF,CAAC,CACH,EACD,CAAC,EACD,IAAI,CACL,CAAC;YAEF,MAAM,SAAS,GAAG,cAAc;iBAC7B,IAAI,EAAE;iBACN,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAE,CAAC,CAAC,MAAc,KAAK,SAAS,CAAC,CAAC;YAClD,OAAO,iBAAiB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACnC,GAAG,CAAC;gBACJ,QAAQ,EACN,SAAS,EAAE,IAAI,CACb,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC,OAAO,EAAE,WAAW,EAAE,CAC/D,IAAI,IAAI;aACZ,CAAC,CAAC,CAAC;QACN,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,IAAA,kBAAS,EAAC,OAAO,CAAC,MAAM,CAAC;YAChD,OAAO,CAAC,IAAI,CAAC,kDAAkD,CAAC,CAAC;QAEnE,OAAO,iBAAiB,CAAC;IAC3B,CAAC;IASD,KAAK,CAAC,QAAQ,CAAC,EACb,KAAK,EACL,OAAO,EACP,OAAO,GAKR;QAGC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QAMnE,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;gBAC5B,OAAO,CAAC,KAAK,CACX,YAAY,EACZ,8CAA8C,EAC9C,OAAO,CACR,CAAC;QACN,CAAC;QAGD,MAAM,aAAa,GAAG,MAAM,IAAA,kBAAQ,EAAC;YACnC,KAAK,EAAE,KAAK;YACZ,KAAK,EAAE,OAAO,OAAO,EAAE,KAAK,KAAK,WAAW,CAAC,CAAC,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI;YACpE,WAAW,EACT,OAAO,OAAO,EAAE,WAAW,KAAK,WAAW;gBACzC,CAAC,CAAC,OAAO,EAAE,WAAW;gBACtB,CAAC,CAAC,IAAI;YACV,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;gBACvE,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;gBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;gBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;gBAC7B,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;iBAC5C;aACF;SACF,CAAC,CAAC;QAEH,IACE,IAAA,kBAAS,EAAC,KAAK,CAAC;YAChB,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,IAAA,kBAAS,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;gBAC9C,CAAC,OAAO,EAAE,YAAY;oBACpB,eAAM,CAAC,KAAK,CAAC,eAAe,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,EACzD,CAAC;YAED,MAAM,cAAc,GAAG,MAAM,IAAA,2BAAiB,EAAC;gBAC7C,KAAK,EAAE,KAAiB;gBACxB,YAAY,EAAE,OAAO,EAAE,YAAY;gBACnC,MAAM,EAAE,OAAO,EAAE,MAAM;gBACvB,OAAO,EAAE;oBACP,MAAM,EAAE,OAAO;wBACb,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;wBAC3B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;oBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;oBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;oBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;oBAC7B,OAAO,EAAE;wBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;wBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;qBAC5C;iBACF;aACF,CAAC,CAAC;YAGH,MAAM,SAAS,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;YACvE,OAAO;gBACL,GAAG,aAAa;gBAChB,QAAQ,EACN,SAAS,EAAE,IAAI,CACb,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,KAAK,EAAE,WAAW,EAAE,CAC3D,IAAI,IAAI;aACZ,CAAC;QACJ,CAAC;QACD,IAAI,CAAC,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC,IAAA,kBAAS,EAAC,OAAO,EAAE,MAAM,CAAC;YAClD,OAAO,CAAC,IAAI,CACV,kDAAkD,EAClD,OAAO,EAAE,MAAM,CAChB,CAAC;QAGJ,OAAO,aAAa,CAAC;IACvB,CAAC;IAKD,KAAK,CAAC,aAAa,CAAC,EAClB,KAAK,EACL,OAAO,GAIR;QAGC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;QAEJ,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;gBAC5B,OAAO,CAAC,KAAK,CACX,iBAAiB,EACjB,8CAA8C,EAC9C,OAAO,CACR,CAAC;QACN,CAAC;QAGD,MAAM,aAAa,GAAG,MAAM,IAAA,uBAAa,EAAC,KAAK,EAAE;YAC/C,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;YACvE,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;YACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;YAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;YAC7B,OAAO,EAAE,OAAO;YAChB,aAAa,EAAE,IAAI,CAAC,aAAa;YACjC,OAAO,EAAE;gBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;gBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;aAC5C;SACF,CAAC,CAAC;QACH,OAAO,aAAa,CAAC;IACvB,CAAC;IAKD,KAAK,CAAC,mBAAmB,CAAC,EACxB,KAAK,EACL,OAAO,GAIR;QAGC,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;QAEJ,IAAI,OAAO,OAAO,KAAK,WAAW,EAAE,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;gBAC5B,OAAO,CAAC,KAAK,CACX,uBAAuB,EACvB,8CAA8C,EAC9C,OAAO,CACR,CAAC;QACN,CAAC;QAED,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,MAAM,IAAA,6BAAmB,EAAC,KAAK,EAAE;gBACrD,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;gBACvE,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;gBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;gBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;gBAC7B,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;iBAC5C;aACF,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;QACvB,CAAC;QAAC,OAAO,CAAM,EAAE,CAAC;YAChB,MAAM,GAAG,GAAG,CAAU,CAAC;YACvB,IAAI,GAAG,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACnC,OAAO;oBACL,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,yCAAyC;iBACnD,CAAC;YACJ,CAAC;YACD,OAAO;gBACL,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,oCAAoC;aAC9C,CAAC;QACJ,CAAC;IACH,CAAC;IAKD,KAAK,CAAC,WAAW,CAAC,KAAe;QAE/B,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;QACJ,OAAO,MAAM,IAAA,qBAAW,EAAC;YACvB,KAAK;YACL,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,aAAa,CAAC,MAAM;gBACjC,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;gBAC7B,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;iBAC5C;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,uBAAuB,CAAC,EAC5B,KAAK,EACL,OAAO,EACP,MAAM,GAKP;QACC,IAAI,CAAC,IAAI,CAAC,UAAU;YAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,CAAC,CAAC;QACzD,IAAI,CAAC,KAAK;YAAE,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACnE,IAAI,CAAC,IAAA,kBAAS,EAAC,KAAK,CAAC;YACnB,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,KAAK,CAAC,EAAE,CAC5D,CAAC;QACJ,OAAO,MAAM,IAAA,sCAA4B,EAAC;YACxC,KAAK;YACL,MAAM;YACN,OAAO,EAAE;gBACP,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;gBACvE,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;gBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;gBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;gBAC7B,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;iBAC5C;aACF;SACF,CAAC,CAAC;IACL,CAAC;IAKD,KAAK,CAAC,YAAY,CAAC,EACjB,KAAK,EACL,MAAM,EACN,OAAO,EACP,aAAa,EACb,YAAY,EACZ,OAAO,GAQR;QAGC,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC7B,MAAM,IAAI,KAAK,CACb,gEAAgE,CACjE,CAAC;QACJ,CAAC;QAED,IAAI,MAAM,IAAI,CAAC,IAAA,kBAAS,EAAC,MAAM,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,4CAA4C,MAAM,CAAC,MAAM,CAAC,EAAE,CAC7D,CAAC;QACJ,CAAC;QACD,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,MAAM,IAAA,2BAAiB,EAAC;gBAC7B,KAAK;gBACL,MAAM;gBACN,YAAY,EAAE,YAAY;gBAC1B,OAAO,EAAE;oBACP,MAAM,EAAE,OAAO;wBACb,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;wBAC3B,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM;oBAC7B,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;oBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;oBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;oBAC7B,OAAO,EAAE;wBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;wBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;qBAC5C;iBACF;aACF,CAAC,CAAC;QACL,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAoB,EAAC,SAAS,EAAE;YACtD,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;YACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;SAC5C,CAAC,CAAC;QAEH,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;YACpE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACvB,IAAA,2BAAiB,EAAC;gBAChB,KAAK,EAAE,CAAC,CAAC,OAAmB;gBAC5B,YAAY,EAAE,YAAY;gBAC1B,MAAM;gBACN,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;oBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;oBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;oBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;oBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;oBAC7B,OAAO,EAAE;wBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;wBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;qBAC5C;iBACF;aACF,CAAC,CACH,CACF,CAAC;YACF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,KAAuB,CAAC;YAC5B,IAAI,aAAa;gBAAE,KAAK,GAAG,SAAS,CAAC;;gBAChC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;YAE9D,OAAO,KAAK,CAAC;QACf,CAAC;QAED,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAC5C,CAAC;QACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,2BAA2B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpC,IAAA,2BAAiB,EAAC;YAChB,KAAK,EAAE,CAAC,CAAC,OAAmB;YAC5B,YAAY,EAAE,YAAY;YAC1B,MAAM;YACN,OAAO,EAAE;gBACP,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;gBACjC,aAAa,EAAE,IAAI,CAAC,aAAa;gBACjC,GAAG,EAAE,IAAI,CAAC,UAAU,EAAE,GAAG;gBACzB,SAAS,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM;gBAC5B,WAAW,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK;gBAC7B,OAAO,EAAE;oBACP,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;oBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;iBAC5C;aACF;SACF,CAAC,CACH,CACF,CAAC;QACF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;QACxC,IAAI,KAAuB,CAAC;QAC5B,IAAI,aAAa;YAAE,KAAK,GAAG,SAAS,CAAC;;YAChC,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,SAAS,CAAC,CAAC;QAE9D,OAAO,KAAK,CAAC;IACf,CAAC;IAKD,KAAK,CAAC,cAAc,CAAC,EACnB,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,GAMR;QAGC,IAAI,CAAC,IAAA,kBAAS,EAAC,MAAM,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAG3E,MAAM,QAAQ,GAAG,OAAO,IAAI,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QAGvD,IAAI,UAAU,GAA4B,EAAE,CAAC;QAC7C,SAAS,aAAa,CAAC,OAAmC;YACxD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC/B,OAAO,EAAE,CAAC,CAAC,OAAO;gBAClB,MAAM,EAAE,IAAA,qBAAc,EAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC;gBACpD,IAAI,EAAE,CAAC,CAAC,WAAuB;gBAC/B,OAAO,EAAE,QAAQ;gBACjB,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,eAAe,EAAE,CAAC,CAAC,gBAAgB;aACpC,CAAC,CAAC,CAAC;QACN,CAAC;QAGD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAsB,EAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;YAC1E,UAAU,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;QAC1C,CAAC;aAAM,CAAC;YAEN,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAoB,EAAC,SAAS,EAAE;gBACtD,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;gBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAC;YAGH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;gBACpE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAsB,EAC9C,MAAM,EACN,QAAQ,EACR,CAAC,CAAC,OAAmB,CACtB,CAAC;oBACF,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;gBACpC,CAAC,CAAC,CACH,CAAC;gBACF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACxC,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;iBAAM,CAAC;gBAEN,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAC5C,CAAC;gBACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC1C,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,+BAAsB,EAC9C,MAAM,EACN,QAAQ,EACR,CAAC,CAAC,OAAmB,CACtB,CAAC;oBACF,OAAO,aAAa,CAAC,WAAW,CAAC,CAAC;gBACpC,CAAC,CAAC,CACH,CAAC;gBACF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACxC,UAAU,GAAG,SAAS,CAAC;YACzB,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,KAAK;YAChC,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,OAAO,UAAU,CAAC;IACpB,CAAC;IAKD,KAAK,CAAC,gBAAgB,CAAC,EACrB,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,GAMR;QAGC,IAAI,CAAC,IAAA,kBAAS,EAAC,MAAM,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,uCAAuC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAG3E,IAAI,UAAU,GASR,EAAE,CAAC;QACT,SAAS,eAAe,CAAC,SAA8B;YACrD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBAC3B,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,KAAK,EAAE,CAAC,CAAC,KAAK;gBACd,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,IAAI,EAAE,CAAC,CAAC,WAAW;gBACnB,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC;gBAC7B,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC;gBAC/B,eAAe,EAAE,CAAC,CAAC,gBAAgB;aACpC,CAAC,CAAC,CAAC;QACN,CAAC;QAGD,IAAI,KAAK,EAAE,CAAC;YACV,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;YAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAwB,EAChD,MAAM,EACN,QAAQ,EACR,KAAK,CACN,CAAC;YACF,UAAU,GAAG,eAAe,CAAC,WAAW,CAAC,CAAC;QAC5C,CAAC;aAAM,CAAC;YAEN,MAAM,SAAS,GAAG,MAAM,IAAA,2BAAoB,EAAC,SAAS,EAAE;gBACtD,eAAe,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,eAAe,CAAC;gBACnD,WAAW,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,WAAW,CAAC;aAC5C,CAAC,CAAC;YAGH,IAAI,OAAO,EAAE,CAAC;gBACZ,MAAM,cAAc,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,OAAO,CAAC,CAAC;gBACpE,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,cAAc,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC7B,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAwB,EAChD,MAAM,EACN,QAAQ,EACR,CAAC,CAAC,OAAmB,CACtB,CAAC;oBACF,OAAO,WAAW,CAAC;gBACrB,CAAC,CAAC,CACH,CAAC;gBACF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACxC,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;iBAAM,CAAC;gBAEN,MAAM,2BAA2B,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CACzD,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAC5C,CAAC;gBACF,MAAM,cAAc,GAAG,MAAM,OAAO,CAAC,GAAG,CACtC,2BAA2B,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBAC1C,MAAM,QAAQ,GAAG,IAAA,qBAAc,EAAC,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3D,MAAM,WAAW,GAAG,MAAM,IAAA,iCAAwB,EAChD,MAAM,EACN,QAAQ,EACR,CAAC,CAAC,OAAmB,CACtB,CAAC;oBACF,OAAO,WAAW,CAAC;gBACrB,CAAC,CAAC,CACH,CAAC;gBACF,MAAM,SAAS,GAAG,cAAc,CAAC,IAAI,EAAE,CAAC;gBACxC,UAAU,GAAG,eAAe,CAAC,SAAS,CAAC,CAAC;YAC1C,CAAC;QACH,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,EAAE,GAAG,KAAK,KAAK;YAChC,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC5D,OAAO,UAAU,CAAC;IACpB,CAAC;IAQD,KAAK,CAAC,mBAAmB,CAAC,MAAiB,EAAE,OAAkB;QAC7D,IAAI,OAAO,EAAE,CAAC;YACZ,MAAM,SAAS,GAAG,MAAM,IAAA,oCAA0B,EAAC;gBACjD,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM;gBAC9D,MAAM;aACP,CAAC,CAAC;YAEH,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YAC3C,OAAO,IAAA,oCAA0B,EAAC;gBAChC,MAAM,EAAE,OAAO;oBACb,CAAC,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC,OAAO,CAAC;oBAC3B,CAAC,CAAC,MAAM,IAAI,IAAI,CAAC,aAAa,CAAC,MAAM;gBACvC,MAAM;aACP,CAAC,CAAC;QACL,CAAC,CAAC,CACH,CAAC;QACF,OAAO,SAAS,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;CA4EF;AACD,kBAAe,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src.ts/modules/vaults/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAGA,4CAA0B;AAC1B,0CAAwB;AAKxB,yCAAuB"}
@@ -1,14 +1,14 @@
1
- import type { IAddress, IChainId, IEnv, IVaultPosition, IVaultUserHistoryItem, IWSMonitorHeaders } from '../../types';
2
- import { Signer } from 'ethers';
3
- import SolanaService from '../../adapters/solana/class';
1
+ export * from './getters';
2
+ import type { IAddress, IChainId, IEnv, IVaultHistoricalParams, IVaultPosition, IVaultUserHistoryItem, IWSMonitorHeaders } from '../../types';
3
+ import SolanaAdapter from '../../adapters/solana';
4
4
  import { AugustBase, IAugustBase } from '../../core';
5
5
  export interface IVaultBaseOptions {
6
6
  rpcUrl: string;
7
7
  env?: IEnv;
8
8
  augustKey?: string;
9
- subgraphKey: string;
9
+ subgraphKey?: string;
10
10
  chainId?: number;
11
- solanaService?: SolanaService;
11
+ solanaService?: SolanaAdapter;
12
12
  headers?: IWSMonitorHeaders;
13
13
  }
14
14
  export interface IVaultCustomOptions {
@@ -19,10 +19,10 @@ export interface IVaultCustomOptions {
19
19
  }
20
20
  export declare class AugustVaults extends AugustBase {
21
21
  private solanaService;
22
- constructor(baseConfig: IAugustBase, solana: SolanaService);
22
+ private headers;
23
+ constructor(baseConfig: IAugustBase, solana: SolanaAdapter);
23
24
  getVaults(options?: {
24
25
  chainIds?: number[];
25
- headers?: IWSMonitorHeaders;
26
26
  } & IVaultCustomOptions): Promise<import("../../types").IVault[]>;
27
27
  getVault({ vault, chainId, options, }: {
28
28
  vault: IAddress;
@@ -40,8 +40,14 @@ export declare class AugustVaults extends AugustBase {
40
40
  status: number;
41
41
  message: string;
42
42
  }>;
43
- getVaultApy(vault: IAddress): Promise<number>;
44
- getAvailableRedemptions({ vault, chainId, wallet, }: {
43
+ getVaultApy({ vault, historical, }: {
44
+ vault: IAddress;
45
+ historical?: Partial<IVaultHistoricalParams>;
46
+ }): Promise<{
47
+ value: number;
48
+ timestamp: string;
49
+ }[]>;
50
+ getVaultAvailableRedemptions({ vault, chainId, wallet, }: {
45
51
  vault: IAddress;
46
52
  chainId?: number;
47
53
  wallet?: IAddress;
@@ -49,7 +55,7 @@ export declare class AugustVaults extends AugustBase {
49
55
  availableRedemptions: import("../../types").IVaultAvailableRedemption[];
50
56
  pendingRedemptions: import("../../types").IVaultAvailableRedemption[];
51
57
  }>;
52
- getPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }: {
58
+ getVaultPositions({ vault, wallet, chainId, showAllVaults, solanaWallet, options, }: {
53
59
  vault?: IAddress;
54
60
  wallet?: IAddress;
55
61
  chainId?: IChainId;
@@ -57,7 +63,7 @@ export declare class AugustVaults extends AugustBase {
57
63
  solanaWallet?: string;
58
64
  options?: IVaultBaseOptions;
59
65
  }): Promise<IVaultPosition[]>;
60
- getUserHistory({ wallet, chainId, vault, options, }: {
66
+ getUserHistory({ wallet, chainId, vault, }: {
61
67
  wallet: IAddress;
62
68
  chainId?: IChainId;
63
69
  vault?: IAddress;
@@ -79,40 +85,14 @@ export declare class AugustVaults extends AugustBase {
79
85
  transactionHash: string;
80
86
  }[]>;
81
87
  getStakingPositions(wallet?: IAddress, chainId?: IChainId): Promise<import("../../types").IActiveStakingPosition[]>;
82
- getVaultExposure(debankResponse: any): {
83
- borrowing_exposure: {
84
- symbol: string;
85
- chain: string;
86
- amount: number;
87
- }[];
88
- supplying_exposure: {
89
- symbol: string;
90
- chain: string;
91
- amount: number;
92
- }[];
93
- wallet_exposure: {
94
- symbol: string;
95
- chain: string;
96
- amount: number;
97
- }[];
98
- };
99
- allowance(pool: IAddress, signer: Signer): Promise<import("../../types").INormalizedNumber>;
100
- approve(pool: IAddress, signer: Signer, inputParams: {
101
- amount: string | number | bigint;
102
- }): Promise<string>;
103
- deposit(pool: IAddress, signer: Signer | string, inputParams: {
104
- amount: string | number | bigint;
105
- }, solana?: {
106
- sendTransaction: any;
107
- }): Promise<any>;
108
- requestWithdrawal(pool: IAddress, signer: Signer): Promise<string>;
109
- withdraw(pool: IAddress, signer: Signer | string, inputParams: {
110
- amount: string | bigint | number;
111
- day?: string;
112
- month?: string;
113
- year?: string;
114
- receiverIndex?: string;
115
- }, solana?: {
116
- sendTransaction: any;
117
- }): Promise<any>;
88
+ getVaultTvl({ vault, chainId, historical, }: {
89
+ vault: IAddress;
90
+ chainId?: IChainId;
91
+ historical?: IVaultHistoricalParams;
92
+ }): Promise<{
93
+ value: import("../../types").INormalizedNumber;
94
+ timestamp: string;
95
+ }[]>;
96
+ getVaultBorrowerHealthFactor(chainId?: IChainId): Promise<{}>;
118
97
  }
98
+ export default AugustVaults;