fibx 0.2.6 → 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 (55) hide show
  1. package/README.md +38 -195
  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.js +1 -3
  9. package/dist/commands/defi/aave.js.map +1 -1
  10. package/dist/commands/trade/swap.d.ts.map +1 -1
  11. package/dist/commands/trade/swap.js +19 -7
  12. package/dist/commands/trade/swap.js.map +1 -1
  13. package/dist/commands/wallet/list.d.ts +1 -1
  14. package/dist/commands/wallet/list.d.ts.map +1 -1
  15. package/dist/commands/wallet/list.js +18 -26
  16. package/dist/commands/wallet/list.js.map +1 -1
  17. package/dist/commands/wallet/send.d.ts.map +1 -1
  18. package/dist/commands/wallet/send.js +1 -3
  19. package/dist/commands/wallet/send.js.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/lib/config.d.ts +1 -0
  22. package/dist/lib/config.d.ts.map +1 -1
  23. package/dist/lib/config.js +3 -0
  24. package/dist/lib/config.js.map +1 -1
  25. package/dist/services/api/client.d.ts +34 -0
  26. package/dist/services/api/client.d.ts.map +1 -0
  27. package/dist/services/api/client.js +68 -0
  28. package/dist/services/api/client.js.map +1 -0
  29. package/dist/services/chain/client.d.ts +1 -2
  30. package/dist/services/chain/client.d.ts.map +1 -1
  31. package/dist/services/chain/client.js +6 -6
  32. package/dist/services/chain/client.js.map +1 -1
  33. package/dist/services/chain/constants.js +1 -1
  34. package/dist/services/chain/constants.js.map +1 -1
  35. package/dist/services/defi/aave.d.ts +3 -0
  36. package/dist/services/defi/aave.d.ts.map +1 -1
  37. package/dist/services/defi/aave.js +170 -50
  38. package/dist/services/defi/aave.js.map +1 -1
  39. package/dist/services/defi/abi/aave.d.ts +60 -0
  40. package/dist/services/defi/abi/aave.d.ts.map +1 -1
  41. package/dist/services/defi/abi/aave.js +41 -0
  42. package/dist/services/defi/abi/aave.js.map +1 -1
  43. package/dist/services/defi/constants.d.ts +1 -0
  44. package/dist/services/defi/constants.d.ts.map +1 -1
  45. package/dist/services/defi/constants.js +2 -0
  46. package/dist/services/defi/constants.js.map +1 -1
  47. package/dist/services/privy/account.d.ts +5 -2
  48. package/dist/services/privy/account.d.ts.map +1 -1
  49. package/dist/services/privy/account.js +19 -21
  50. package/dist/services/privy/account.js.map +1 -1
  51. package/dist/services/privy/client.d.ts +1 -14
  52. package/dist/services/privy/client.d.ts.map +1 -1
  53. package/dist/services/privy/client.js +6 -62
  54. package/dist/services/privy/client.js.map +1 -1
  55. package/package.json +1 -2
@@ -1,6 +1,6 @@
1
1
  import { createPublicClient, http, parseUnits, formatUnits, maxUint256, erc20Abi, } from "viem";
2
- import { POOL_ADDRESSES_PROVIDER_ABI, POOL_ABI, WETH_ABI } from "./abi/aave.js";
3
- import { AAVE_V3_POOL_ADDRESSES_PROVIDER, InterestRateMode } from "./constants.js";
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";
4
4
  import { NonceManager } from "../chain/nonceManager.js";
5
5
  import { ErrorCode, FibxError } from "../../lib/errors.js";
6
6
  export class AaveService {
@@ -63,7 +63,6 @@ export class AaveService {
63
63
  const poolAddress = await this.getPoolAddress();
64
64
  const decimals = await this.getTokenDecimals(tokenAddress);
65
65
  const amount = parseUnits(amountStr, decimals);
66
- // Check Allowance & Approve if necessary
67
66
  const allowance = await this.publicClient.readContract({
68
67
  address: tokenAddress,
69
68
  abi: erc20Abi,
@@ -82,8 +81,8 @@ export class AaveService {
82
81
  nonce: nonceApprove,
83
82
  });
84
83
  await this.publicClient.waitForTransactionReceipt({ hash: txApprove });
84
+ await this.waitForAllowance(tokenAddress, poolAddress, amount);
85
85
  }
86
- // Simulate Supply
87
86
  const { request: supplyRequest } = await this.publicClient.simulateContract({
88
87
  address: poolAddress,
89
88
  abi: POOL_ABI,
@@ -92,7 +91,6 @@ export class AaveService {
92
91
  account: this.account,
93
92
  chain: this.chainConfig.viemChain,
94
93
  });
95
- // Execute Supply
96
94
  const nonceSupply = await NonceManager.getInstance().getNextNonce();
97
95
  const txSupply = await this.walletClient.writeContract({
98
96
  ...supplyRequest,
@@ -103,8 +101,7 @@ export class AaveService {
103
101
  }
104
102
  async wrapETH(amountStr) {
105
103
  this.ensureWalletConnection();
106
- const amount = parseUnits(amountStr, 18); // ETH always 18
107
- // Simulate Deposit
104
+ const amount = parseUnits(amountStr, 18);
108
105
  const { request } = await this.publicClient.simulateContract({
109
106
  address: this.chainConfig.wrappedNativeAddress,
110
107
  abi: WETH_ABI,
@@ -125,7 +122,6 @@ export class AaveService {
125
122
  async unwrapWETH(amountStr) {
126
123
  this.ensureWalletConnection();
127
124
  const amount = parseUnits(amountStr, 18);
128
- // Simulate Withdraw
129
125
  const { request } = await this.publicClient.simulateContract({
130
126
  address: this.chainConfig.wrappedNativeAddress,
131
127
  abi: WETH_ABI,
@@ -154,7 +150,6 @@ export class AaveService {
154
150
  const decimals = await this.getTokenDecimals(tokenAddress);
155
151
  amount = parseUnits(amountStr, decimals);
156
152
  }
157
- // Simulate first to catch errors
158
153
  let request;
159
154
  try {
160
155
  const result = await this.publicClient.simulateContract({
@@ -168,28 +163,8 @@ export class AaveService {
168
163
  request = result.request;
169
164
  }
170
165
  catch (error) {
171
- const err = error;
172
- // Smart Error Handling
173
- const userData = await this.getUserAccountData(userAddress);
174
- const totalDebt = parseFloat(userData.totalDebtUSD);
175
- if (err.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
176
- err.cause?.message?.includes("0x6679996d")) {
177
- let details = "This amount would lower your Health Factor below 1.0.";
178
- if (totalDebt > 0 && totalDebt < 0.01) {
179
- details = `You have tiny "dust" debt ($${totalDebt.toFixed(6)}) preventing full withdrawal.`;
180
- }
181
- const totalCollateral = parseFloat(userData.totalCollateralUSD);
182
- const lt = parseFloat(userData.currentLiquidationThreshold) / 10000;
183
- if (lt > 0) {
184
- const requiredCollateral = totalDebt / lt;
185
- const maxSafeUSD = Math.max(0, totalCollateral - requiredCollateral);
186
- if (maxSafeUSD < totalCollateral) {
187
- details += ` You need keep ~$${requiredCollateral.toFixed(2)} collateral to cover your debt. Max safe withdraw is approx $${maxSafeUSD.toFixed(2)}.`;
188
- }
189
- }
190
- throw new FibxError(ErrorCode.WALLET_ERROR, `Cannot withdraw: ${details} (Try repaying all debt first)`);
191
- }
192
- throw error;
166
+ await this.handleLiquidationError(error, userAddress);
167
+ throw error; // detailed error thrown by handleLiquidationError, but needed for TS control flow
193
168
  }
194
169
  const nonce = await NonceManager.getInstance().getNextNonce();
195
170
  const txWithdraw = await this.walletClient.writeContract({
@@ -204,7 +179,6 @@ 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
- // Simulate first to catch errors
208
182
  let request;
209
183
  try {
210
184
  const result = await this.publicClient.simulateContract({
@@ -263,30 +237,46 @@ export class AaveService {
263
237
  address: tokenAddress,
264
238
  abi: erc20Abi,
265
239
  functionName: "approve",
266
- args: [poolAddress, amount], // Approve MAX if MAX requested
240
+ args: [poolAddress, amount],
267
241
  chain: this.chainConfig.viemChain,
268
242
  account: this.account,
269
243
  nonce: nonceApprove,
270
244
  });
271
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;
272
279
  }
273
- // Simulate Repay
274
- const { request: repayRequest } = await this.publicClient.simulateContract({
275
- address: poolAddress,
276
- abi: POOL_ABI,
277
- functionName: "repay",
278
- args: [tokenAddress, amount, BigInt(InterestRateMode.Variable), this.account.address],
279
- account: this.account,
280
- chain: this.chainConfig.viemChain,
281
- });
282
- // Execute Repay
283
- const nonceRepay = await NonceManager.getInstance().getNextNonce();
284
- const txRepay = await this.walletClient.writeContract({
285
- ...repayRequest,
286
- nonce: nonceRepay,
287
- });
288
- await this.publicClient.waitForTransactionReceipt({ hash: txRepay });
289
- return txRepay;
290
280
  }
291
281
  ensureWalletConnection() {
292
282
  if (!this.walletClient || !this.account) {
@@ -300,5 +290,135 @@ export class AaveService {
300
290
  functionName: "decimals",
301
291
  });
302
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
+ }
303
423
  }
304
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":"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"}
@@ -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,6 +4,7 @@ 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
10
  export declare enum InterestRateMode {
@@ -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,oBAAY,gBAAgB;IAC3B,IAAI,IAAI;IACR,MAAM,IAAI;IACV,QAAQ,IAAI;CACZ"}
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,6 +3,8 @@
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;
@@ -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,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC3B,uDAAQ,CAAA;IACR,2DAAU,CAAA;IACV,+DAAY,CAAA;AACb,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B"}
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"}
@@ -1,5 +1,8 @@
1
- import { type PrivyClient } from "@privy-io/node";
2
- export declare function toPrivyViemAccount(privy: PrivyClient, walletId: string, address: string): {
1
+ /**
2
+ * Creates a Viem-compatible account adapter that signs via fibx-server backend.
3
+ * Used for Privy server wallet sessions.
4
+ */
5
+ export declare function toPrivyViemAccount(token: string, walletId: string, address: string): {
3
6
  address: `0x${string}`;
4
7
  type: "local";
5
8
  source: "privy";
@@ -1 +1 @@
1
- {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/services/privy/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAGlD,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;aAElE,KAAK,MAAM,EAAE;;;eAGX,KAAK,MAAM,EAAE;iCACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;8BAoCvD;QACF,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;SAAE,GAAG,MAAM,GAAG,UAAU,CAAC;KAC5D;6BAgB8B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAYvD"}
1
+ {"version":3,"file":"account.d.ts","sourceRoot":"","sources":["../../../src/services/privy/account.ts"],"names":[],"mappings":"AAGA;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;aAE7D,KAAK,MAAM,EAAE;;;eAGX,KAAK,MAAM,EAAE;iCACA,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;8BA+BvD;QACF,OAAO,EAAE;YAAE,GAAG,EAAE,MAAM,GAAG,UAAU,CAAA;SAAE,GAAG,MAAM,GAAG,UAAU,CAAC;KAC5D;6BAiB8B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;EAKvD"}
@@ -1,5 +1,10 @@
1
1
  import { toHex } from "viem";
2
- export function toPrivyViemAccount(privy, walletId, address) {
2
+ import { apiSignTransaction, apiSignMessage, apiSignTypedData } from "../api/client.js";
3
+ /**
4
+ * Creates a Viem-compatible account adapter that signs via fibx-server backend.
5
+ * Used for Privy server wallet sessions.
6
+ */
7
+ export function toPrivyViemAccount(token, walletId, address) {
3
8
  return {
4
9
  address: address,
5
10
  type: "local",
@@ -28,36 +33,29 @@ export function toPrivyViemAccount(privy, walletId, address) {
28
33
  if (privyTx[k] === undefined)
29
34
  delete privyTx[k];
30
35
  });
31
- const rpcInput = {
32
- params: { transaction: privyTx },
33
- method: "eth_signTransaction",
34
- };
35
- const response = await privy.wallets().ethereum().signTransaction(walletId, rpcInput);
36
- return response.signed_transaction;
36
+ const result = await apiSignTransaction(walletId, privyTx, token);
37
+ return result.signedTransaction;
37
38
  },
38
39
  async signMessage({ message, }) {
39
40
  let messageContent;
40
41
  if (typeof message === "object" && "raw" in message) {
41
- messageContent = message.raw;
42
+ messageContent =
43
+ typeof message.raw === "string"
44
+ ? message.raw
45
+ : Buffer.from(message.raw).toString("hex");
46
+ }
47
+ else if (message instanceof Uint8Array) {
48
+ messageContent = Buffer.from(message).toString("hex");
42
49
  }
43
50
  else {
44
51
  messageContent = message;
45
52
  }
46
- const rpcInput = {
47
- message: messageContent,
48
- };
49
- const response = await privy.wallets().ethereum().signMessage(walletId, rpcInput);
50
- return response.signature;
53
+ const result = await apiSignMessage(walletId, messageContent, token);
54
+ return result.signature;
51
55
  },
52
56
  async signTypedData(typedData) {
53
- const rpcInput = {
54
- params: {
55
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
56
- typed_data: typedData,
57
- },
58
- };
59
- const response = await privy.wallets().ethereum().signTypedData(walletId, rpcInput);
60
- return response.signature;
57
+ const result = await apiSignTypedData(walletId, typedData, token);
58
+ return result.signature;
61
59
  },
62
60
  };
63
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/services/privy/account.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"account.js","sourceRoot":"","sources":["../../../src/services/privy/account.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AAC7B,OAAO,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAExF;;;GAGG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAa,EAAE,QAAgB,EAAE,OAAe;IAClF,OAAO;QACN,OAAO,EAAE,OAAwB;QACjC,IAAI,EAAE,OAAgB;QACtB,MAAM,EAAE,OAAgB;QACxB,SAAS,EAAE,OAAwB;QACnC,KAAK,CAAC,eAAe,CAAC,WAAoC;YACzD,MAAM,EAAE,OAAO,EAAE,GAAG,QAAQ,EAAE,GAAG,WAAW,CAAC;YAE7C,8DAA8D;YAC9D,MAAM,OAAO,GAAQ;gBACpB,QAAQ,EAAE,KAAK,CAAC,OAAiB,CAAC;gBAClC,EAAE,EAAE,QAAQ,CAAC,EAAE;gBACf,IAAI,EAAE,QAAQ,CAAC,IAAI;gBACnB,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;gBACnE,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAe,CAAC,CAAC,CAAC,CAAC,SAAS;gBACnE,SAAS,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAa,CAAC,CAAC,CAAC,CAAC,SAAS;gBACnE,eAAe,EAAE,QAAQ,CAAC,YAAY;oBACrC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAsB,CAAC;oBACxC,CAAC,CAAC,SAAS;gBACZ,wBAAwB,EAAE,QAAQ,CAAC,oBAAoB;oBACtD,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,oBAA8B,CAAC;oBAChD,CAAC,CAAC,SAAS;gBACZ,IAAI,EAAE,QAAQ,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;aAClF,CAAC;YAEF,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACpC,MAAM,CAAC,GAAG,GAA2B,CAAC;gBACtC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,SAAS;oBAAE,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,iBAAkC,CAAC;QAClD,CAAC;QAED,KAAK,CAAC,WAAW,CAAC,EACjB,OAAO,GAGP;YACA,IAAI,cAAsB,CAAC;YAC3B,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;gBACrD,cAAc;oBACb,OAAO,OAAO,CAAC,GAAG,KAAK,QAAQ;wBAC9B,CAAC,CAAC,OAAO,CAAC,GAAG;wBACb,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAC9C,CAAC;iBAAM,IAAI,OAAO,YAAY,UAAU,EAAE,CAAC;gBAC1C,cAAc,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YACvD,CAAC;iBAAM,CAAC;gBACP,cAAc,GAAG,OAAiB,CAAC;YACpC,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC,SAA0B,CAAC;QAC1C,CAAC;QAED,KAAK,CAAC,aAAa,CAAC,SAAkC;YACrD,MAAM,MAAM,GAAG,MAAM,gBAAgB,CAAC,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;YAClE,OAAO,MAAM,CAAC,SAA0B,CAAC;QAC1C,CAAC;KACD,CAAC;AACH,CAAC"}