fibx 0.2.4 → 0.3.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 (182) hide show
  1. package/README.md +38 -164
  2. package/dist/commands/auth/login.d.ts.map +1 -1
  3. package/dist/commands/auth/login.js +2 -21
  4. package/dist/commands/auth/login.js.map +1 -1
  5. package/dist/commands/auth/verify.d.ts.map +1 -1
  6. package/dist/commands/auth/verify.js +11 -44
  7. package/dist/commands/auth/verify.js.map +1 -1
  8. package/dist/commands/defi/aave.d.ts.map +1 -1
  9. package/dist/commands/defi/aave.js +7 -9
  10. package/dist/commands/defi/aave.js.map +1 -1
  11. package/dist/commands/trade/swap.d.ts.map +1 -1
  12. package/dist/commands/trade/swap.js +20 -9
  13. package/dist/commands/trade/swap.js.map +1 -1
  14. package/dist/commands/wallet/balance.js +1 -1
  15. package/dist/commands/wallet/balance.js.map +1 -1
  16. package/dist/commands/wallet/list.d.ts +1 -1
  17. package/dist/commands/wallet/list.d.ts.map +1 -1
  18. package/dist/commands/wallet/list.js +18 -26
  19. package/dist/commands/wallet/list.js.map +1 -1
  20. package/dist/commands/wallet/send.d.ts.map +1 -1
  21. package/dist/commands/wallet/send.js +6 -7
  22. package/dist/commands/wallet/send.js.map +1 -1
  23. package/dist/index.js +10 -6
  24. package/dist/index.js.map +1 -1
  25. package/dist/lib/config.d.ts +1 -0
  26. package/dist/lib/config.d.ts.map +1 -1
  27. package/dist/lib/config.js +3 -0
  28. package/dist/lib/config.js.map +1 -1
  29. package/dist/lib/errors.d.ts +6 -2
  30. package/dist/lib/errors.d.ts.map +1 -1
  31. package/dist/lib/errors.js +4 -2
  32. package/dist/lib/errors.js.map +1 -1
  33. package/dist/services/api/client.d.ts +34 -0
  34. package/dist/services/api/client.d.ts.map +1 -0
  35. package/dist/services/api/client.js +68 -0
  36. package/dist/services/api/client.js.map +1 -0
  37. package/dist/services/chain/client.d.ts +17 -18
  38. package/dist/services/chain/client.d.ts.map +1 -1
  39. package/dist/services/chain/client.js +6 -6
  40. package/dist/services/chain/client.js.map +1 -1
  41. package/dist/services/chain/constants.d.ts +7 -8
  42. package/dist/services/chain/constants.d.ts.map +1 -1
  43. package/dist/services/chain/constants.js +11 -8
  44. package/dist/services/chain/constants.js.map +1 -1
  45. package/dist/services/chain/nonceManager.d.ts +0 -1
  46. package/dist/services/chain/nonceManager.d.ts.map +1 -1
  47. package/dist/services/chain/nonceManager.js +2 -4
  48. package/dist/services/chain/nonceManager.js.map +1 -1
  49. package/dist/services/defi/aave.d.ts +6 -1
  50. package/dist/services/defi/aave.d.ts.map +1 -1
  51. package/dist/services/defi/aave.js +192 -73
  52. package/dist/services/defi/aave.js.map +1 -1
  53. package/dist/services/defi/abi/aave.d.ts +60 -0
  54. package/dist/services/defi/abi/aave.d.ts.map +1 -1
  55. package/dist/services/defi/abi/aave.js +41 -0
  56. package/dist/services/defi/abi/aave.js.map +1 -1
  57. package/dist/services/defi/constants.d.ts +1 -2
  58. package/dist/services/defi/constants.d.ts.map +1 -1
  59. package/dist/services/defi/constants.js +2 -2
  60. package/dist/services/defi/constants.js.map +1 -1
  61. package/dist/services/fibrous/abi/citrea.d.ts +772 -63
  62. package/dist/services/fibrous/abi/citrea.d.ts.map +1 -1
  63. package/dist/services/fibrous/abi/citrea.js.map +1 -1
  64. package/dist/services/fibrous/abi/hyperevm.d.ts +772 -63
  65. package/dist/services/fibrous/abi/hyperevm.d.ts.map +1 -1
  66. package/dist/services/fibrous/abi/hyperevm.js.map +1 -1
  67. package/dist/services/fibrous/abi/monad.d.ts +772 -63
  68. package/dist/services/fibrous/abi/monad.d.ts.map +1 -1
  69. package/dist/services/fibrous/abi/monad.js.map +1 -1
  70. package/dist/services/privy/account.d.ts +5 -2
  71. package/dist/services/privy/account.d.ts.map +1 -1
  72. package/dist/services/privy/account.js +19 -21
  73. package/dist/services/privy/account.js.map +1 -1
  74. package/dist/services/privy/client.d.ts +1 -14
  75. package/dist/services/privy/client.d.ts.map +1 -1
  76. package/dist/services/privy/client.js +6 -62
  77. package/dist/services/privy/client.js.map +1 -1
  78. package/package.json +1 -2
  79. package/dist/chain/chains.d.ts +0 -14
  80. package/dist/chain/chains.d.ts.map +0 -1
  81. package/dist/chain/chains.js +0 -21
  82. package/dist/chain/chains.js.map +0 -1
  83. package/dist/chain/erc20.d.ts +0 -6
  84. package/dist/chain/erc20.d.ts.map +0 -1
  85. package/dist/chain/erc20.js +0 -72
  86. package/dist/chain/erc20.js.map +0 -1
  87. package/dist/chain/viem.d.ts +0 -24029
  88. package/dist/chain/viem.d.ts.map +0 -1
  89. package/dist/chain/viem.js +0 -74
  90. package/dist/chain/viem.js.map +0 -1
  91. package/dist/cli.d.ts +0 -3
  92. package/dist/cli.d.ts.map +0 -1
  93. package/dist/cli.js +0 -85
  94. package/dist/cli.js.map +0 -1
  95. package/dist/commands/address.d.ts +0 -3
  96. package/dist/commands/address.d.ts.map +0 -1
  97. package/dist/commands/address.js +0 -15
  98. package/dist/commands/address.js.map +0 -1
  99. package/dist/commands/auth-login.d.ts +0 -3
  100. package/dist/commands/auth-login.d.ts.map +0 -1
  101. package/dist/commands/auth-login.js +0 -34
  102. package/dist/commands/auth-login.js.map +0 -1
  103. package/dist/commands/auth-verify.d.ts +0 -3
  104. package/dist/commands/auth-verify.d.ts.map +0 -1
  105. package/dist/commands/auth-verify.js +0 -64
  106. package/dist/commands/auth-verify.js.map +0 -1
  107. package/dist/commands/balance.d.ts +0 -3
  108. package/dist/commands/balance.d.ts.map +0 -1
  109. package/dist/commands/balance.js +0 -55
  110. package/dist/commands/balance.js.map +0 -1
  111. package/dist/commands/send.d.ts +0 -3
  112. package/dist/commands/send.d.ts.map +0 -1
  113. package/dist/commands/send.js +0 -58
  114. package/dist/commands/send.js.map +0 -1
  115. package/dist/commands/status.d.ts +0 -3
  116. package/dist/commands/status.d.ts.map +0 -1
  117. package/dist/commands/status.js +0 -31
  118. package/dist/commands/status.js.map +0 -1
  119. package/dist/commands/trade.d.ts +0 -7
  120. package/dist/commands/trade.d.ts.map +0 -1
  121. package/dist/commands/trade.js +0 -69
  122. package/dist/commands/trade.js.map +0 -1
  123. package/dist/commands/wallets.d.ts +0 -3
  124. package/dist/commands/wallets.d.ts.map +0 -1
  125. package/dist/commands/wallets.js +0 -39
  126. package/dist/commands/wallets.js.map +0 -1
  127. package/dist/fibrous/abi/base.d.ts +0 -768
  128. package/dist/fibrous/abi/base.d.ts.map +0 -1
  129. package/dist/fibrous/abi/base.js +0 -984
  130. package/dist/fibrous/abi/base.js.map +0 -1
  131. package/dist/fibrous/balances.d.ts +0 -14
  132. package/dist/fibrous/balances.d.ts.map +0 -1
  133. package/dist/fibrous/balances.js +0 -26
  134. package/dist/fibrous/balances.js.map +0 -1
  135. package/dist/fibrous/health.d.ts +0 -11
  136. package/dist/fibrous/health.d.ts.map +0 -1
  137. package/dist/fibrous/health.js +0 -18
  138. package/dist/fibrous/health.js.map +0 -1
  139. package/dist/fibrous/route.d.ts +0 -47
  140. package/dist/fibrous/route.d.ts.map +0 -1
  141. package/dist/fibrous/route.js +0 -60
  142. package/dist/fibrous/route.js.map +0 -1
  143. package/dist/fibrous/tokens.d.ts +0 -10
  144. package/dist/fibrous/tokens.d.ts.map +0 -1
  145. package/dist/fibrous/tokens.js +0 -37
  146. package/dist/fibrous/tokens.js.map +0 -1
  147. package/dist/format/output.d.ts +0 -8
  148. package/dist/format/output.d.ts.map +0 -1
  149. package/dist/format/output.js +0 -69
  150. package/dist/format/output.js.map +0 -1
  151. package/dist/utils/cache.d.ts +0 -3
  152. package/dist/utils/cache.d.ts.map +0 -1
  153. package/dist/utils/cache.js +0 -23
  154. package/dist/utils/cache.js.map +0 -1
  155. package/dist/utils/config.d.ts +0 -7
  156. package/dist/utils/config.d.ts.map +0 -1
  157. package/dist/utils/config.js +0 -8
  158. package/dist/utils/config.js.map +0 -1
  159. package/dist/utils/errors.d.ts +0 -22
  160. package/dist/utils/errors.d.ts.map +0 -1
  161. package/dist/utils/errors.js +0 -29
  162. package/dist/utils/errors.js.map +0 -1
  163. package/dist/utils/parseAmount.d.ts +0 -3
  164. package/dist/utils/parseAmount.d.ts.map +0 -1
  165. package/dist/utils/parseAmount.js +0 -10
  166. package/dist/utils/parseAmount.js.map +0 -1
  167. package/dist/utils/validation.d.ts +0 -6
  168. package/dist/utils/validation.d.ts.map +0 -1
  169. package/dist/utils/validation.js +0 -24
  170. package/dist/utils/validation.js.map +0 -1
  171. package/dist/wallet/policy.d.ts +0 -2
  172. package/dist/wallet/policy.d.ts.map +0 -1
  173. package/dist/wallet/policy.js +0 -3
  174. package/dist/wallet/policy.js.map +0 -1
  175. package/dist/wallet/privy.d.ts +0 -15
  176. package/dist/wallet/privy.d.ts.map +0 -1
  177. package/dist/wallet/privy.js +0 -63
  178. package/dist/wallet/privy.js.map +0 -1
  179. package/dist/wallet/session.d.ts +0 -15
  180. package/dist/wallet/session.d.ts.map +0 -1
  181. package/dist/wallet/session.js +0 -47
  182. package/dist/wallet/session.js.map +0 -1
@@ -1,18 +1,19 @@
1
- import { createPublicClient, http, parseUnits, formatUnits, erc20Abi, } from "viem";
2
- import { base } from "viem/chains";
3
- import { RPC_URLS } from "../chain/constants.js";
4
- import { POOL_ADDRESSES_PROVIDER_ABI, POOL_ABI, WETH_ABI } from "./abi/aave.js";
5
- import { AAVE_V3_POOL_ADDRESSES_PROVIDER, InterestRateMode, WETH_BASE_ADDRESS, MAX_UINT256, } from "./constants.js";
1
+ import { createPublicClient, http, parseUnits, formatUnits, maxUint256, erc20Abi, } from "viem";
2
+ import { POOL_ADDRESSES_PROVIDER_ABI, POOL_ABI, POOL_DATA_PROVIDER_ABI, WETH_ABI, } from "./abi/aave.js";
3
+ import { AAVE_V3_POOL_ADDRESSES_PROVIDER, AAVE_V3_POOL_DATA_PROVIDER, InterestRateMode, } from "./constants.js";
6
4
  import { NonceManager } from "../chain/nonceManager.js";
5
+ import { ErrorCode, FibxError } from "../../lib/errors.js";
7
6
  export class AaveService {
8
7
  publicClient;
9
8
  walletClient;
10
9
  account;
11
10
  userAddress;
12
- constructor(walletClient) {
11
+ chainConfig;
12
+ constructor(chainConfig, walletClient) {
13
+ this.chainConfig = chainConfig;
13
14
  this.publicClient = createPublicClient({
14
- chain: base,
15
- transport: http(RPC_URLS.base),
15
+ chain: chainConfig.viemChain,
16
+ transport: http(chainConfig.rpcUrl),
16
17
  });
17
18
  if (walletClient) {
18
19
  this.setWalletClient(walletClient);
@@ -62,7 +63,6 @@ export class AaveService {
62
63
  const poolAddress = await this.getPoolAddress();
63
64
  const decimals = await this.getTokenDecimals(tokenAddress);
64
65
  const amount = parseUnits(amountStr, decimals);
65
- // Check Allowance & Approve if necessary
66
66
  const allowance = await this.publicClient.readContract({
67
67
  address: tokenAddress,
68
68
  abi: erc20Abi,
@@ -76,22 +76,21 @@ export class AaveService {
76
76
  abi: erc20Abi,
77
77
  functionName: "approve",
78
78
  args: [poolAddress, amount],
79
- chain: base,
79
+ chain: this.chainConfig.viemChain,
80
80
  account: this.account,
81
81
  nonce: nonceApprove,
82
82
  });
83
83
  await this.publicClient.waitForTransactionReceipt({ hash: txApprove });
84
+ await this.waitForAllowance(tokenAddress, poolAddress, amount);
84
85
  }
85
- // Simulate Supply
86
86
  const { request: supplyRequest } = await this.publicClient.simulateContract({
87
87
  address: poolAddress,
88
88
  abi: POOL_ABI,
89
89
  functionName: "supply",
90
90
  args: [tokenAddress, amount, this.account.address, 0],
91
91
  account: this.account,
92
- chain: base,
92
+ chain: this.chainConfig.viemChain,
93
93
  });
94
- // Execute Supply
95
94
  const nonceSupply = await NonceManager.getInstance().getNextNonce();
96
95
  const txSupply = await this.walletClient.writeContract({
97
96
  ...supplyRequest,
@@ -102,16 +101,15 @@ export class AaveService {
102
101
  }
103
102
  async wrapETH(amountStr) {
104
103
  this.ensureWalletConnection();
105
- const amount = parseUnits(amountStr, 18); // ETH always 18
106
- // Simulate Deposit
104
+ const amount = parseUnits(amountStr, 18);
107
105
  const { request } = await this.publicClient.simulateContract({
108
- address: WETH_BASE_ADDRESS,
106
+ address: this.chainConfig.wrappedNativeAddress,
109
107
  abi: WETH_ABI,
110
108
  functionName: "deposit",
111
109
  args: [],
112
110
  value: amount,
113
111
  account: this.account,
114
- chain: base,
112
+ chain: this.chainConfig.viemChain,
115
113
  });
116
114
  const nonce = await NonceManager.getInstance().getNextNonce();
117
115
  const txWrap = await this.walletClient.writeContract({
@@ -124,14 +122,13 @@ export class AaveService {
124
122
  async unwrapWETH(amountStr) {
125
123
  this.ensureWalletConnection();
126
124
  const amount = parseUnits(amountStr, 18);
127
- // Simulate Withdraw
128
125
  const { request } = await this.publicClient.simulateContract({
129
- address: WETH_BASE_ADDRESS,
126
+ address: this.chainConfig.wrappedNativeAddress,
130
127
  abi: WETH_ABI,
131
128
  functionName: "withdraw",
132
129
  args: [amount],
133
130
  account: this.account,
134
- chain: base,
131
+ chain: this.chainConfig.viemChain,
135
132
  });
136
133
  const nonce = await NonceManager.getInstance().getNextNonce();
137
134
  const txUnwrap = await this.walletClient.writeContract({
@@ -147,16 +144,13 @@ export class AaveService {
147
144
  const userAddress = this.account.address;
148
145
  let amount;
149
146
  if (amountStr.toLowerCase() === "max" || amountStr === "-1") {
150
- amount = MAX_UINT256;
147
+ amount = maxUint256;
151
148
  }
152
149
  else {
153
150
  const decimals = await this.getTokenDecimals(tokenAddress);
154
151
  amount = parseUnits(amountStr, decimals);
155
152
  }
156
- const nonce = await NonceManager.getInstance().getNextNonce();
157
- // Simulate first to catch errors
158
153
  let request;
159
- // Simulate first to catch errors
160
154
  try {
161
155
  const result = await this.publicClient.simulateContract({
162
156
  address: poolAddress,
@@ -164,34 +158,15 @@ export class AaveService {
164
158
  functionName: "withdraw",
165
159
  args: [tokenAddress, amount, userAddress],
166
160
  account: userAddress,
167
- chain: base,
161
+ chain: this.chainConfig.viemChain,
168
162
  });
169
163
  request = result.request;
170
164
  }
171
165
  catch (error) {
172
- const err = error;
173
- // Smart Error Handling
174
- const userData = await this.getUserAccountData(userAddress);
175
- const totalDebt = parseFloat(userData.totalDebtUSD);
176
- if (err.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
177
- err.cause?.message?.includes("0x6679996d")) {
178
- let details = "This amount would lower your Health Factor below 1.0.";
179
- if (totalDebt > 0 && totalDebt < 0.01) {
180
- details = `You have tiny "dust" debt ($${totalDebt.toFixed(6)}) preventing full withdrawal.`;
181
- }
182
- const totalCollateral = parseFloat(userData.totalCollateralUSD);
183
- const lt = parseFloat(userData.currentLiquidationThreshold) / 10000;
184
- if (lt > 0) {
185
- const requiredCollateral = totalDebt / lt;
186
- const maxSafeUSD = Math.max(0, totalCollateral - requiredCollateral);
187
- if (maxSafeUSD < totalCollateral) {
188
- details += ` You need keep ~$${requiredCollateral.toFixed(2)} collateral to cover your debt. Max safe withdraw is approx $${maxSafeUSD.toFixed(2)}.`;
189
- }
190
- }
191
- throw new Error(`Cannot withdraw: ${details} (Try repaying all debt first)`);
192
- }
193
- throw error;
166
+ await this.handleLiquidationError(error, userAddress);
167
+ throw error; // detailed error thrown by handleLiquidationError, but needed for TS control flow
194
168
  }
169
+ const nonce = await NonceManager.getInstance().getNextNonce();
195
170
  const txWithdraw = await this.walletClient.writeContract({
196
171
  ...request,
197
172
  nonce,
@@ -204,10 +179,7 @@ export class AaveService {
204
179
  const poolAddress = await this.getPoolAddress();
205
180
  const decimals = await this.getTokenDecimals(tokenAddress);
206
181
  const amount = parseUnits(amountStr, decimals);
207
- const nonce = await NonceManager.getInstance().getNextNonce();
208
- // Simulate first to catch errors
209
182
  let request;
210
- // Simulate first to catch errors
211
183
  try {
212
184
  const result = await this.publicClient.simulateContract({
213
185
  address: poolAddress,
@@ -220,7 +192,7 @@ export class AaveService {
220
192
  0,
221
193
  this.account.address,
222
194
  ],
223
- chain: base,
195
+ chain: this.chainConfig.viemChain,
224
196
  account: this.account,
225
197
  });
226
198
  request = result.request;
@@ -229,10 +201,11 @@ export class AaveService {
229
201
  const err = error;
230
202
  if (err.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
231
203
  err.cause?.message?.includes("0x6679996d")) {
232
- throw new Error("Cannot borrow: This amount would lower your Health Factor below 1.0 (Liquidation Threshold). Try borrowing a smaller amount or adding more collateral first.");
204
+ throw new FibxError(ErrorCode.WALLET_ERROR, "Cannot borrow: This amount would lower your Health Factor below 1.0 (Liquidation Threshold). Try borrowing a smaller amount or adding more collateral first.");
233
205
  }
234
206
  throw error;
235
207
  }
208
+ const nonce = await NonceManager.getInstance().getNextNonce();
236
209
  const txBorrow = await this.walletClient.writeContract({
237
210
  ...request,
238
211
  nonce,
@@ -245,7 +218,7 @@ export class AaveService {
245
218
  const poolAddress = await this.getPoolAddress();
246
219
  let amount;
247
220
  if (amountStr.toLowerCase() === "max" || amountStr === "-1") {
248
- amount = MAX_UINT256;
221
+ amount = maxUint256;
249
222
  }
250
223
  else {
251
224
  const decimals = await this.getTokenDecimals(tokenAddress);
@@ -264,34 +237,50 @@ export class AaveService {
264
237
  address: tokenAddress,
265
238
  abi: erc20Abi,
266
239
  functionName: "approve",
267
- args: [poolAddress, amount], // Approve MAX if MAX requested
268
- chain: base,
240
+ args: [poolAddress, amount],
241
+ chain: this.chainConfig.viemChain,
269
242
  account: this.account,
270
243
  nonce: nonceApprove,
271
244
  });
272
245
  await this.publicClient.waitForTransactionReceipt({ hash: txApprove });
246
+ await this.waitForAllowance(tokenAddress, poolAddress, amount);
247
+ }
248
+ try {
249
+ const { request: repayRequest } = await this.publicClient.simulateContract({
250
+ address: poolAddress,
251
+ abi: POOL_ABI,
252
+ functionName: "repay",
253
+ args: [
254
+ tokenAddress,
255
+ amount,
256
+ BigInt(InterestRateMode.Variable),
257
+ this.account.address,
258
+ ],
259
+ account: this.account,
260
+ chain: this.chainConfig.viemChain,
261
+ });
262
+ const nonceRepay = await NonceManager.getInstance().getNextNonce();
263
+ const txRepay = await this.walletClient.writeContract({
264
+ ...repayRequest,
265
+ nonce: nonceRepay,
266
+ });
267
+ await this.publicClient.waitForTransactionReceipt({ hash: txRepay });
268
+ return txRepay;
269
+ }
270
+ catch (error) {
271
+ const err = error;
272
+ // Check for NoDebtOfSelectedType (0xf0788fb2)
273
+ if (err.message?.includes("NoDebtOfSelectedType") ||
274
+ err.cause?.message?.includes("0xf0788fb2")) {
275
+ // This is actually a success state for "repay max" - we are already debt free
276
+ return "0x0"; // Return dummy hash to indicate success without tx
277
+ }
278
+ throw error;
273
279
  }
274
- // Simulate Repay
275
- const { request: repayRequest } = await this.publicClient.simulateContract({
276
- address: poolAddress,
277
- abi: POOL_ABI,
278
- functionName: "repay",
279
- args: [tokenAddress, amount, BigInt(InterestRateMode.Variable), this.account.address],
280
- account: this.account,
281
- chain: base,
282
- });
283
- // Execute Repay
284
- const nonceRepay = await NonceManager.getInstance().getNextNonce();
285
- const txRepay = await this.walletClient.writeContract({
286
- ...repayRequest,
287
- nonce: nonceRepay,
288
- });
289
- await this.publicClient.waitForTransactionReceipt({ hash: txRepay });
290
- return txRepay;
291
280
  }
292
281
  ensureWalletConnection() {
293
282
  if (!this.walletClient || !this.account) {
294
- throw new Error("Wallet not connected. Please login or provide a PRIVATE_KEY.");
283
+ throw new FibxError(ErrorCode.WALLET_ERROR, "Wallet not connected. Please login or provide a PRIVATE_KEY.");
295
284
  }
296
285
  }
297
286
  async getTokenDecimals(tokenAddress) {
@@ -301,5 +290,135 @@ export class AaveService {
301
290
  functionName: "decimals",
302
291
  });
303
292
  }
293
+ async waitForAllowance(tokenAddress, spender, targetAmount) {
294
+ let retries = 0;
295
+ const maxRetries = 15; // 30 seconds
296
+ while (retries < maxRetries) {
297
+ const allowance = await this.publicClient.readContract({
298
+ address: tokenAddress,
299
+ abi: erc20Abi,
300
+ functionName: "allowance",
301
+ args: [this.account.address, spender],
302
+ });
303
+ if (allowance >= targetAmount) {
304
+ break;
305
+ }
306
+ await new Promise((resolve) => setTimeout(resolve, 2000));
307
+ retries++;
308
+ }
309
+ }
310
+ async getDebts(dataProviderAddress, reserves) {
311
+ const debtDetails = [];
312
+ // 1. Batch fetch all reserve data using multicall
313
+ const reserveDataCalls = reserves.map((asset) => ({
314
+ address: dataProviderAddress,
315
+ abi: POOL_DATA_PROVIDER_ABI,
316
+ functionName: "getUserReserveData",
317
+ args: [asset, this.account.address],
318
+ }));
319
+ const results = await this.publicClient.multicall({
320
+ contracts: reserveDataCalls,
321
+ allowFailure: true, // Continue even if some fail
322
+ });
323
+ // 2. Identify assets with debt
324
+ const assetsWithDebt = [];
325
+ const debts = [];
326
+ results.forEach((result, index) => {
327
+ if (result.status === "success" && result.result) {
328
+ const data = result.result;
329
+ const stableDebt = data[1];
330
+ const variableDebt = data[2];
331
+ if (stableDebt > 0n || variableDebt > 0n) {
332
+ assetsWithDebt.push(reserves[index]);
333
+ debts.push(stableDebt + variableDebt);
334
+ }
335
+ }
336
+ });
337
+ // 3. Fetch symbol/decimals for assets with debt using multicall
338
+ if (assetsWithDebt.length > 0) {
339
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
340
+ const detailCalls = [];
341
+ assetsWithDebt.forEach((asset) => {
342
+ detailCalls.push({
343
+ address: asset,
344
+ abi: erc20Abi,
345
+ functionName: "symbol",
346
+ });
347
+ detailCalls.push({
348
+ address: asset,
349
+ abi: erc20Abi,
350
+ functionName: "decimals",
351
+ });
352
+ });
353
+ try {
354
+ const detailResults = await this.publicClient.multicall({
355
+ contracts: detailCalls,
356
+ allowFailure: false, // If these fail, we can't display details properly
357
+ });
358
+ for (let i = 0; i < assetsWithDebt.length; i++) {
359
+ const symbol = detailResults[i * 2];
360
+ const decimals = detailResults[i * 2 + 1];
361
+ const debt = debts[i];
362
+ debtDetails.push(`${symbol}: $${formatUnits(debt, decimals)}`);
363
+ }
364
+ }
365
+ catch (e) {
366
+ console.warn("Failed to fetch debt token details via multicall:", e);
367
+ // Fallback: just list addresses and raw amounts if metadata fails
368
+ assetsWithDebt.forEach((asset, i) => {
369
+ debtDetails.push(`${asset}: raw units ${debts[i]}`);
370
+ });
371
+ }
372
+ }
373
+ return debtDetails;
374
+ }
375
+ async handleLiquidationError(error, userAddress) {
376
+ const err = error;
377
+ const userData = await this.getUserAccountData(userAddress);
378
+ const totalDebt = parseFloat(userData.totalDebtUSD);
379
+ if (err.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
380
+ err.cause?.message?.includes("0x6679996d")) {
381
+ let details = "This amount would lower your Health Factor below 1.0.";
382
+ // Check for cross-asset dust debt
383
+ if (totalDebt > 0) {
384
+ try {
385
+ const poolContract = {
386
+ address: await this.getPoolAddress(),
387
+ abi: POOL_ABI,
388
+ };
389
+ const reserves = await this.publicClient.readContract({
390
+ ...poolContract,
391
+ functionName: "getReservesList",
392
+ });
393
+ const debts = await this.getDebts(AAVE_V3_POOL_DATA_PROVIDER, reserves);
394
+ if (debts.length > 0) {
395
+ details = `You have remaining debt in other assets: ${debts.join(", ")}. You must repay these debts first to withdraw max collateral.`;
396
+ }
397
+ else if (totalDebt < 0.01) {
398
+ // If scanning returned nothing but we have dust debt, show generic message
399
+ details = `You have tiny "dust" debt ($${totalDebt.toFixed(6)}) in an asset (scan failed to identify) preventing full withdrawal.`;
400
+ }
401
+ }
402
+ catch (e) {
403
+ console.error("Error scanning debts:", e);
404
+ // Fallback if scanning fails
405
+ if (totalDebt < 0.01) {
406
+ details = `You have tiny "dust" debt ($${totalDebt.toFixed(6)}) in an asset preventing full withdrawal.`;
407
+ }
408
+ }
409
+ }
410
+ const totalCollateral = parseFloat(userData.totalCollateralUSD);
411
+ const lt = parseFloat(userData.currentLiquidationThreshold) / 10000;
412
+ if (lt > 0) {
413
+ const requiredCollateral = totalDebt / lt;
414
+ const maxSafeUSD = Math.max(0, totalCollateral - requiredCollateral);
415
+ if (maxSafeUSD < totalCollateral) {
416
+ details += ` You need keep ~$${requiredCollateral.toFixed(2)} collateral to cover your debt. Max safe withdraw is approx $${maxSafeUSD.toFixed(2)}.`;
417
+ }
418
+ }
419
+ throw new FibxError(ErrorCode.WALLET_ERROR, `Cannot withdraw: ${details}`);
420
+ }
421
+ throw error;
422
+ }
304
423
  }
305
424
  //# sourceMappingURL=aave.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aave.js","sourceRoot":"","sources":["../../../src/services/defi/aave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aave.js","sourceRoot":"","sources":["../../../src/services/defi/aave.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,kBAAkB,EAClB,IAAI,EACJ,UAAU,EACV,WAAW,EACX,UAAU,EAMV,QAAQ,GACR,MAAM,MAAM,CAAC;AAEd,OAAO,EACN,2BAA2B,EAC3B,QAAQ,EACR,sBAAsB,EACtB,QAAQ,GACR,MAAM,eAAe,CAAC;AACvB,OAAO,EACN,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAuB3D,MAAM,OAAO,WAAW;IACf,YAAY,CAAe;IAC3B,YAAY,CAAgB;IAC5B,OAAO,CAAW;IAClB,WAAW,CAAW;IAEtB,WAAW,CAAc;IAEjC,YAAY,WAAwB,EAAE,YAA2B;QAChE,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,YAAY,GAAG,kBAAkB,CAAC;YACtC,KAAK,EAAE,WAAW,CAAC,SAAS;YAC5B,SAAS,EAAE,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;SACnC,CAAiB,CAAC;QAEnB,IAAI,YAAY,EAAE,CAAC;YAClB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC;IACF,CAAC;IAEM,iBAAiB;QACvB,OAAO,IAAI,CAAC,WAAW,CAAC;IACzB,CAAC;IAEM,iBAAiB,CAAC,OAAgB;QACxC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC;IAC5B,CAAC;IAEM,eAAe,CAAC,YAA0B;QAChD,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,YAAY,CAAC,OAAO,EAAE,CAAC;YAC1B,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,OAAO,CAAC;YACpC,IAAI,CAAC,WAAW,GAAG,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC;YAChD,YAAY,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;QACtE,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,cAAc;QAC3B,OAAO,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC5C,OAAO,EAAE,+BAA+B;YACxC,GAAG,EAAE,2BAA2B;YAChC,YAAY,EAAE,SAAS;SACvB,CAAC,CAAY,CAAC;IAChB,CAAC;IAEM,KAAK,CAAC,kBAAkB,CAAC,WAAoB;QACnD,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACjD,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,oBAAoB;YAClC,IAAI,EAAE,CAAC,WAAW,CAAC;SACnB,CAAC,CAAC;QAEH,+EAA+E;QAC/E,OAAO;YACN,kBAAkB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC3C,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACrC,mBAAmB,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5C,2BAA2B,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACpD,GAAG,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5B,YAAY,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC;SACtC,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,YAAqB,EAAE,SAAiB;QAC3D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE/C,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACtD,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;gBACxD,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAQ;gBACtB,KAAK,EAAE,YAAY;aACnB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,EAAE,OAAO,EAAE,aAAa,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC3E,OAAO,EAAE,WAAW;YACpB,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,QAAQ;YACtB,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,CAAC,CAAC;YACtD,OAAO,EAAE,IAAI,CAAC,OAAQ;YACtB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QACpE,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;YACvD,GAAG,aAAa;YAChB,KAAK,EAAE,WAAW;SAClB,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAAiB;QACrC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC5D,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,oBAA+B;YACzD,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,SAAS;YACvB,IAAI,EAAE,EAAE;YACR,KAAK,EAAE,MAAM;YACb,OAAO,EAAE,IAAI,CAAC,OAAQ;YACtB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QAE9D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;YACrD,GAAG,OAAO;YACV,KAAK;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;QACpE,OAAO,MAAM,CAAC;IACf,CAAC;IAEM,KAAK,CAAC,UAAU,CAAC,SAAiB;QACxC,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QAEzC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;YAC5D,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,oBAA+B;YACzD,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,UAAU;YACxB,IAAI,EAAE,CAAC,MAAM,CAAC;YACd,OAAO,EAAE,IAAI,CAAC,OAAQ;YACtB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;SACjC,CAAC,CAAC;QAEH,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;YACvD,GAAG,OAAO;YACV,KAAK;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,QAAQ,CAAC,YAAqB,EAAE,SAAiB;QAC7D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,WAAW,GAAG,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC;QAC1C,IAAI,MAAc,CAAC;QAEnB,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,UAAU,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC3D,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBACvD,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,UAAU;gBACxB,IAAI,EAAE,CAAC,YAAY,EAAE,MAAM,EAAE,WAAW,CAAC;gBACzC,OAAO,EAAE,WAAW;gBACpB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;aACjC,CAAC,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,IAAI,CAAC,sBAAsB,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC;YACtD,MAAM,KAAK,CAAC,CAAC,kFAAkF;QAChG,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QAE9D,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;YACzD,GAAG,OAAO;YACV,KAAK;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;QACxE,OAAO,UAAU,CAAC;IACnB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,YAAqB,EAAE,SAAiB;QAC3D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAE/C,IAAI,OAAO,CAAC;QACZ,IAAI,CAAC;YACJ,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBACvD,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,QAAQ;gBACtB,IAAI,EAAE;oBACL,YAAY;oBACZ,MAAM;oBACN,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBACjC,CAAC;oBACD,IAAI,CAAC,OAAQ,CAAC,OAAO;iBACrB;gBACD,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAQ;aACtB,CAAC,CAAC;YACH,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC;QAC1B,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,KAAiD,CAAC;YAC9D,IACC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,2CAA2C,CAAC;gBAClE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EACzC,CAAC;gBACF,MAAM,IAAI,SAAS,CAClB,SAAS,CAAC,YAAY,EACtB,8JAA8J,CAC9J,CAAC;YACH,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;QAED,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;QAE9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;YACvD,GAAG,OAAO;YACV,KAAK;SACL,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,CAAC;QACtE,OAAO,QAAQ,CAAC;IACjB,CAAC;IAEM,KAAK,CAAC,KAAK,CAAC,YAAqB,EAAE,SAAiB;QAC1D,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAE9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;QAChD,IAAI,MAAc,CAAC;QAEnB,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YAC7D,MAAM,GAAG,UAAU,CAAC;QACrB,CAAC;aAAM,CAAC;YACP,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,CAAC;YAC3D,MAAM,GAAG,UAAU,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;QAC1C,CAAC;QAED,yCAAyC;QACzC,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YACtD,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,WAAW;YACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,WAAW,CAAC;SAC1C,CAAC,CAAC;QAEH,IAAI,SAAS,GAAG,MAAM,EAAE,CAAC;YACxB,MAAM,YAAY,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YACrE,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;gBACxD,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,SAAS;gBACvB,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;gBAC3B,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;gBACjC,OAAO,EAAE,IAAI,CAAC,OAAQ;gBACtB,KAAK,EAAE,YAAY;aACnB,CAAC,CAAC;YACH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;YACvE,MAAM,IAAI,CAAC,gBAAgB,CAAC,YAAY,EAAE,WAAW,EAAE,MAAM,CAAC,CAAC;QAChE,CAAC;QAED,IAAI,CAAC;YACJ,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC;gBAC1E,OAAO,EAAE,WAAW;gBACpB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,OAAO;gBACrB,IAAI,EAAE;oBACL,YAAY;oBACZ,MAAM;oBACN,MAAM,CAAC,gBAAgB,CAAC,QAAQ,CAAC;oBACjC,IAAI,CAAC,OAAQ,CAAC,OAAO;iBACrB;gBACD,OAAO,EAAE,IAAI,CAAC,OAAQ;gBACtB,KAAK,EAAE,IAAI,CAAC,WAAW,CAAC,SAAS;aACjC,CAAC,CAAC;YAEH,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,CAAC,YAAY,EAAE,CAAC;YAEnE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAa,CAAC,aAAa,CAAC;gBACtD,GAAG,YAAY;gBACf,KAAK,EAAE,UAAU;aACjB,CAAC,CAAC;YAEH,MAAM,IAAI,CAAC,YAAY,CAAC,yBAAyB,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YACrE,OAAO,OAAO,CAAC;QAChB,CAAC;QAAC,OAAO,KAAc,EAAE,CAAC;YACzB,MAAM,GAAG,GAAG,KAAiD,CAAC;YAC9D,8CAA8C;YAC9C,IACC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,sBAAsB,CAAC;gBAC7C,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EACzC,CAAC;gBACF,8EAA8E;gBAC9E,OAAO,KAAa,CAAC,CAAC,mDAAmD;YAC1E,CAAC;YACD,MAAM,KAAK,CAAC;QACb,CAAC;IACF,CAAC;IAEO,sBAAsB;QAC7B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YACzC,MAAM,IAAI,SAAS,CAClB,SAAS,CAAC,YAAY,EACtB,8DAA8D,CAC9D,CAAC;QACH,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAAC,YAAqB;QACnD,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;YAC3C,OAAO,EAAE,YAAY;YACrB,GAAG,EAAE,QAAQ;YACb,YAAY,EAAE,UAAU;SACxB,CAAC,CAAC;IACJ,CAAC;IAEO,KAAK,CAAC,gBAAgB,CAC7B,YAAqB,EACrB,OAAgB,EAChB,YAAoB;QAEpB,IAAI,OAAO,GAAG,CAAC,CAAC;QAChB,MAAM,UAAU,GAAG,EAAE,CAAC,CAAC,aAAa;QACpC,OAAO,OAAO,GAAG,UAAU,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;gBACtD,OAAO,EAAE,YAAY;gBACrB,GAAG,EAAE,QAAQ;gBACb,YAAY,EAAE,WAAW;gBACzB,IAAI,EAAE,CAAC,IAAI,CAAC,OAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;aACtC,CAAC,CAAC;YACH,IAAI,SAAS,IAAI,YAAY,EAAE,CAAC;gBAC/B,MAAM;YACP,CAAC;YACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1D,OAAO,EAAE,CAAC;QACX,CAAC;IACF,CAAC;IAEO,KAAK,CAAC,QAAQ,CACrB,mBAA4B,EAC5B,QAA4B;QAE5B,MAAM,WAAW,GAAa,EAAE,CAAC;QAEjC,kDAAkD;QAClD,MAAM,gBAAgB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;YACjD,OAAO,EAAE,mBAAmB;YAC5B,GAAG,EAAE,sBAAsB;YAC3B,YAAY,EAAE,oBAAoB;YAClC,IAAI,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,OAAQ,CAAC,OAAO,CAAC;SACpC,CAAC,CAAC,CAAC;QAEJ,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;YACjD,SAAS,EAAE,gBAAgB;YAC3B,YAAY,EAAE,IAAI,EAAE,6BAA6B;SACjD,CAAC,CAAC;QAEH,+BAA+B;QAC/B,MAAM,cAAc,GAAc,EAAE,CAAC;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YACjC,IAAI,MAAM,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,EAAE,CAAC;gBAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAiC,CAAC;gBACtD,MAAM,UAAU,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAC3B,MAAM,YAAY,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;gBAE7B,IAAI,UAAU,GAAG,EAAE,IAAI,YAAY,GAAG,EAAE,EAAE,CAAC;oBAC1C,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBACrC,KAAK,CAAC,IAAI,CAAC,UAAU,GAAG,YAAY,CAAC,CAAC;gBACvC,CAAC;YACF,CAAC;QACF,CAAC,CAAC,CAAC;QAEH,gEAAgE;QAChE,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,8DAA8D;YAC9D,MAAM,WAAW,GAAU,EAAE,CAAC;YAC9B,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBAChC,WAAW,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,KAAK;oBACd,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,QAAQ;iBACtB,CAAC,CAAC;gBACH,WAAW,CAAC,IAAI,CAAC;oBAChB,OAAO,EAAE,KAAK;oBACd,GAAG,EAAE,QAAQ;oBACb,YAAY,EAAE,UAAU;iBACxB,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC;gBACJ,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC;oBACvD,SAAS,EAAE,WAAW;oBACtB,YAAY,EAAE,KAAK,EAAE,mDAAmD;iBACxE,CAAC,CAAC;gBAEH,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBAChD,MAAM,MAAM,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,CAAW,CAAC;oBAC9C,MAAM,QAAQ,GAAG,aAAa,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAW,CAAC;oBACpD,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;oBACtB,WAAW,CAAC,IAAI,CAAC,GAAG,MAAM,MAAM,WAAW,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAC;gBAChE,CAAC;YACF,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,CAAC,mDAAmD,EAAE,CAAC,CAAC,CAAC;gBACrE,kEAAkE;gBAClE,cAAc,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;oBACnC,WAAW,CAAC,IAAI,CAAC,GAAG,KAAK,eAAe,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACrD,CAAC,CAAC,CAAC;YACJ,CAAC;QACF,CAAC;QAED,OAAO,WAAW,CAAC;IACpB,CAAC;IAEO,KAAK,CAAC,sBAAsB,CAAC,KAAc,EAAE,WAAoB;QACxE,MAAM,GAAG,GAAG,KAAiD,CAAC;QAC9D,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAC5D,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QAEpD,IACC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,2CAA2C,CAAC;YAClE,GAAG,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,CAAC,YAAY,CAAC,EACzC,CAAC;YACF,IAAI,OAAO,GAAG,uDAAuD,CAAC;YAEtE,kCAAkC;YAClC,IAAI,SAAS,GAAG,CAAC,EAAE,CAAC;gBACnB,IAAI,CAAC;oBACJ,MAAM,YAAY,GAAG;wBACpB,OAAO,EAAE,MAAM,IAAI,CAAC,cAAc,EAAE;wBACpC,GAAG,EAAE,QAAQ;qBACJ,CAAC;oBAEX,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC;wBACrD,GAAG,YAAY;wBACf,YAAY,EAAE,iBAAiB;qBAC/B,CAAC,CAAC;oBAEH,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,QAAQ,CAChC,0BAA0B,EAC1B,QAAyC,CACzC,CAAC;oBAEF,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;wBACtB,OAAO,GAAG,4CAA4C,KAAK,CAAC,IAAI,CAC/D,IAAI,CACJ,gEAAgE,CAAC;oBACnE,CAAC;yBAAM,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;wBAC7B,2EAA2E;wBAC3E,OAAO,GAAG,+BAA+B,SAAS,CAAC,OAAO,CACzD,CAAC,CACD,qEAAqE,CAAC;oBACxE,CAAC;gBACF,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACZ,OAAO,CAAC,KAAK,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC;oBAC1C,6BAA6B;oBAC7B,IAAI,SAAS,GAAG,IAAI,EAAE,CAAC;wBACtB,OAAO,GAAG,+BAA+B,SAAS,CAAC,OAAO,CACzD,CAAC,CACD,2CAA2C,CAAC;oBAC9C,CAAC;gBACF,CAAC;YACF,CAAC;YAED,MAAM,eAAe,GAAG,UAAU,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAC;YAChE,MAAM,EAAE,GAAG,UAAU,CAAC,QAAQ,CAAC,2BAA2B,CAAC,GAAG,KAAK,CAAC;YACpE,IAAI,EAAE,GAAG,CAAC,EAAE,CAAC;gBACZ,MAAM,kBAAkB,GAAG,SAAS,GAAG,EAAE,CAAC;gBAC1C,MAAM,UAAU,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,eAAe,GAAG,kBAAkB,CAAC,CAAC;gBACrE,IAAI,UAAU,GAAG,eAAe,EAAE,CAAC;oBAClC,OAAO,IAAI,oBAAoB,kBAAkB,CAAC,OAAO,CAAC,CAAC,CAAC,gEAAgE,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;gBACtJ,CAAC;YACF,CAAC;YAED,MAAM,IAAI,SAAS,CAAC,SAAS,CAAC,YAAY,EAAE,oBAAoB,OAAO,EAAE,CAAC,CAAC;QAC5E,CAAC;QACD,MAAM,KAAK,CAAC;IACb,CAAC;CACD"}
@@ -6,6 +6,54 @@ export declare const POOL_ADDRESSES_PROVIDER_ABI: readonly [{
6
6
  readonly outputs: readonly [{
7
7
  readonly type: "address";
8
8
  }];
9
+ }, {
10
+ readonly name: "getPoolDataProvider";
11
+ readonly type: "function";
12
+ readonly stateMutability: "view";
13
+ readonly inputs: readonly [];
14
+ readonly outputs: readonly [{
15
+ readonly type: "address";
16
+ }];
17
+ }];
18
+ export declare const POOL_DATA_PROVIDER_ABI: readonly [{
19
+ readonly name: "getUserReserveData";
20
+ readonly type: "function";
21
+ readonly stateMutability: "view";
22
+ readonly inputs: readonly [{
23
+ readonly name: "asset";
24
+ readonly type: "address";
25
+ }, {
26
+ readonly name: "user";
27
+ readonly type: "address";
28
+ }];
29
+ readonly outputs: readonly [{
30
+ readonly name: "currentATokenBalance";
31
+ readonly type: "uint256";
32
+ }, {
33
+ readonly name: "currentStableDebt";
34
+ readonly type: "uint256";
35
+ }, {
36
+ readonly name: "currentVariableDebt";
37
+ readonly type: "uint256";
38
+ }, {
39
+ readonly name: "principalStableDebt";
40
+ readonly type: "uint256";
41
+ }, {
42
+ readonly name: "scaledVariableDebt";
43
+ readonly type: "uint256";
44
+ }, {
45
+ readonly name: "stableBorrowRate";
46
+ readonly type: "uint256";
47
+ }, {
48
+ readonly name: "liquidityRate";
49
+ readonly type: "uint256";
50
+ }, {
51
+ readonly name: "stableRateLastUpdated";
52
+ readonly type: "uint40";
53
+ }, {
54
+ readonly name: "usageAsCollateralEnabled";
55
+ readonly type: "bool";
56
+ }];
9
57
  }];
10
58
  export declare const POOL_ABI: readonly [{
11
59
  readonly name: "supply";
@@ -125,6 +173,18 @@ export declare const POOL_ABI: readonly [{
125
173
  readonly inputs: readonly [];
126
174
  readonly name: "HealthFactorLowerThanLiquidationThreshold";
127
175
  readonly type: "error";
176
+ }, {
177
+ readonly inputs: readonly [];
178
+ readonly name: "NoDebtOfSelectedType";
179
+ readonly type: "error";
180
+ }, {
181
+ readonly name: "getReservesList";
182
+ readonly type: "function";
183
+ readonly stateMutability: "view";
184
+ readonly inputs: readonly [];
185
+ readonly outputs: readonly [{
186
+ readonly type: "address[]";
187
+ }];
128
188
  }];
129
189
  export declare const WETH_ABI: readonly [{
130
190
  readonly name: "deposit";
@@ -1 +1 @@
1
- {"version":3,"file":"aave.d.ts","sourceRoot":"","sources":["../../../../src/services/defi/abi/aave.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;EAQ9B,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAyEX,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;EAeX,CAAC"}
1
+ {"version":3,"file":"aave.d.ts","sourceRoot":"","sources":["../../../../src/services/defi/abi/aave.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;EAe9B,CAAC;AAEX,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBzB,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqFX,CAAC;AAEX,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;EAeX,CAAC"}
@@ -6,6 +6,35 @@ export const POOL_ADDRESSES_PROVIDER_ABI = [
6
6
  inputs: [],
7
7
  outputs: [{ type: "address" }],
8
8
  },
9
+ {
10
+ name: "getPoolDataProvider",
11
+ type: "function",
12
+ stateMutability: "view",
13
+ inputs: [],
14
+ outputs: [{ type: "address" }],
15
+ },
16
+ ];
17
+ export const POOL_DATA_PROVIDER_ABI = [
18
+ {
19
+ name: "getUserReserveData",
20
+ type: "function",
21
+ stateMutability: "view",
22
+ inputs: [
23
+ { name: "asset", type: "address" },
24
+ { name: "user", type: "address" },
25
+ ],
26
+ outputs: [
27
+ { name: "currentATokenBalance", type: "uint256" },
28
+ { name: "currentStableDebt", type: "uint256" },
29
+ { name: "currentVariableDebt", type: "uint256" },
30
+ { name: "principalStableDebt", type: "uint256" },
31
+ { name: "scaledVariableDebt", type: "uint256" },
32
+ { name: "stableBorrowRate", type: "uint256" },
33
+ { name: "liquidityRate", type: "uint256" },
34
+ { name: "stableRateLastUpdated", type: "uint40" },
35
+ { name: "usageAsCollateralEnabled", type: "bool" },
36
+ ],
37
+ },
9
38
  ];
10
39
  export const POOL_ABI = [
11
40
  {
@@ -80,6 +109,18 @@ export const POOL_ABI = [
80
109
  name: "HealthFactorLowerThanLiquidationThreshold",
81
110
  type: "error",
82
111
  },
112
+ {
113
+ inputs: [],
114
+ name: "NoDebtOfSelectedType",
115
+ type: "error",
116
+ },
117
+ {
118
+ name: "getReservesList",
119
+ type: "function",
120
+ stateMutability: "view",
121
+ inputs: [],
122
+ outputs: [{ type: "address[]" }],
123
+ },
83
124
  ];
84
125
  export const WETH_ABI = [
85
126
  {
@@ -1 +1 @@
1
- {"version":3,"file":"aave.js","sourceRoot":"","sources":["../../../../src/services/defi/abi/aave.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aave.js","sourceRoot":"","sources":["../../../../src/services/defi/abi/aave.ts"],"names":[],"mappings":"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"}
@@ -4,13 +4,12 @@ import type { Address } from "viem";
4
4
  * @see https://docs.aave.com/developers/deployed-contracts/v3-mainnet/base
5
5
  */
6
6
  export declare const AAVE_V3_POOL_ADDRESSES_PROVIDER: Address;
7
+ export declare const AAVE_V3_POOL_DATA_PROVIDER: Address;
7
8
  export declare const HEALTH_FACTOR_WARNING_THRESHOLD = 1.5;
8
9
  export declare const HEALTH_FACTOR_CRITICAL_THRESHOLD = 1.1;
9
- export declare const WETH_BASE_ADDRESS: Address;
10
10
  export declare enum InterestRateMode {
11
11
  None = 0,
12
12
  Stable = 1,
13
13
  Variable = 2
14
14
  }
15
- export declare const MAX_UINT256 = 115792089237316195423570985008687907853269984665640564039457584007913129639935n;
16
15
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/services/defi/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EACK,OAAO,CAAC;AAGzD,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD,eAAO,MAAM,iBAAiB,EAAmD,OAAO,CAAC;AAEzF,oBAAY,gBAAgB;IAC3B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,QAAQ,IAAI;CACZ;AAED,eAAO,MAAM,WAAW,kFACwD,CAAC"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/services/defi/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC;;;GAGG;AACH,eAAO,MAAM,+BAA+B,EACK,OAAO,CAAC;AAGzD,eAAO,MAAM,0BAA0B,EAAmD,OAAO,CAAC;AAGlG,eAAO,MAAM,+BAA+B,MAAM,CAAC;AACnD,eAAO,MAAM,gCAAgC,MAAM,CAAC;AAEpD,oBAAY,gBAAgB;IAC3B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,QAAQ,IAAI;CACZ"}
@@ -3,15 +3,15 @@
3
3
  * @see https://docs.aave.com/developers/deployed-contracts/v3-mainnet/base
4
4
  */
5
5
  export const AAVE_V3_POOL_ADDRESSES_PROVIDER = "0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB49777ad64D";
6
+ // Pool Data Provider
7
+ export const AAVE_V3_POOL_DATA_PROVIDER = "0x0F43731EB8d45A581f4a36DD74F5f358bc90C73A";
6
8
  // Health Factor Thresholds for risk assessment.
7
9
  export const HEALTH_FACTOR_WARNING_THRESHOLD = 1.5;
8
10
  export const HEALTH_FACTOR_CRITICAL_THRESHOLD = 1.1;
9
- export const WETH_BASE_ADDRESS = "0x4200000000000000000000000000000000000006";
10
11
  export var InterestRateMode;
11
12
  (function (InterestRateMode) {
12
13
  InterestRateMode[InterestRateMode["None"] = 0] = "None";
13
14
  InterestRateMode[InterestRateMode["Stable"] = 1] = "Stable";
14
15
  InterestRateMode[InterestRateMode["Variable"] = 2] = "Variable";
15
16
  })(InterestRateMode || (InterestRateMode = {}));
16
- export const MAX_UINT256 = 115792089237316195423570985008687907853269984665640564039457584007913129639935n;
17
17
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/defi/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC3C,4CAAuD,CAAC;AAEzD,gDAAgD;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAEpD,MAAM,CAAC,MAAM,iBAAiB,GAAG,4CAAuD,CAAC;AAEzF,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC3B,uDAAQ,CAAA;IACR,2DAAU,CAAA;IACV,+DAAY,CAAA;AACb,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAC,MAAM,WAAW,GACvB,+EAA+E,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../src/services/defi/constants.ts"],"names":[],"mappings":"AAEA;;;GAGG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAC3C,4CAAuD,CAAC;AAEzD,qBAAqB;AACrB,MAAM,CAAC,MAAM,0BAA0B,GAAG,4CAAuD,CAAC;AAElG,gDAAgD;AAChD,MAAM,CAAC,MAAM,+BAA+B,GAAG,GAAG,CAAC;AACnD,MAAM,CAAC,MAAM,gCAAgC,GAAG,GAAG,CAAC;AAEpD,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC3B,uDAAQ,CAAA;IACR,2DAAU,CAAA;IACV,+DAAY,CAAA;AACb,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}