fibx 0.2.1 → 0.2.4

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.
package/README.md CHANGED
@@ -14,6 +14,7 @@ A command-line tool for specialized DeFi operations on **Base, Citrea, HyperEVM,
14
14
  - **Aave V3 Integration**: Supply, borrow, repay, and withdraw assets on Base (DeFi).
15
15
  - **Automated Auth Flow**: One-time email OTP login provisions a persistent server wallet linked to your user profile.
16
16
  - **Private Key Import**: Support for importing existing private keys for local execution.
17
+ - **Automated Simulation**: All transactions (send, swap, Aave) are simulated on-chain before execution to prevent failures.
17
18
  - **JSON Output**: All commands support `--json` for easy integration into scripts and pipelines.
18
19
 
19
20
  ## Requirements
@@ -82,7 +83,15 @@ _This will securely prompt for your private key and store it locally in `session
82
83
 
83
84
  > **Security Note:** Your private key is stored locally on your machine. Ensure your environment is secure.
84
85
 
85
- ### 4. Check Status
86
+ ### 4. Logout
87
+
88
+ If you want to clear your local session:
89
+
90
+ ```bash
91
+ npx fibx auth logout
92
+ ```
93
+
94
+ ### 5. Check Status
86
95
 
87
96
  Verify that you are authenticated and the API is healthy:
88
97
 
@@ -186,8 +195,8 @@ npx fibx aave <action> <amount> <token>
186
195
  - `status`: Check account health (HF, LTV)
187
196
  - `supply`: Deposit assets
188
197
  - `borrow`: Borrow assets (requires collateral)
189
- - `repay`: Repay debt
190
- - `withdraw`: Withdraw assets
198
+ - `repay`: Repay debt (use `max` to repay all)
199
+ - `withdraw`: Withdraw assets (use `max` to withdraw all)
191
200
 
192
201
  **Example:**
193
202
 
@@ -0,0 +1,3 @@
1
+ import { Command } from "commander";
2
+ export declare const logoutCommand: Command;
3
+ //# sourceMappingURL=logout.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.d.ts","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,eAAO,MAAM,aAAa,SAavB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { Command } from "commander";
2
+ import { clearSession } from "../../services/auth/session.js";
3
+ import ora from "ora";
4
+ export const logoutCommand = new Command("logout")
5
+ .description("Log out and clear current session")
6
+ .action(async () => {
7
+ const spinner = ora("Logging out...").start();
8
+ try {
9
+ clearSession();
10
+ spinner.succeed("Logged out successfully. Session cleared.");
11
+ }
12
+ catch (error) {
13
+ spinner.fail("Logout failed.");
14
+ if (error instanceof Error) {
15
+ console.error(error.message);
16
+ }
17
+ }
18
+ });
19
+ //# sourceMappingURL=logout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logout.js","sourceRoot":"","sources":["../../../src/commands/auth/logout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,YAAY,EAAE,MAAM,gCAAgC,CAAC;AAC9D,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAChD,WAAW,CAAC,mCAAmC,CAAC;KAChD,MAAM,CAAC,KAAK,IAAI,EAAE;IAClB,MAAM,OAAO,GAAG,GAAG,CAAC,gBAAgB,CAAC,CAAC,KAAK,EAAE,CAAC;IAC9C,IAAI,CAAC;QACJ,YAAY,EAAE,CAAC;QACf,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAC;IAC9D,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;YAC5B,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC9B,CAAC;IACF,CAAC;AACF,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/commands/trade/swap.ts"],"names":[],"mappings":"AAWA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG,UAAU,YAAa,SAAQ,aAAa;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAmGf"}
1
+ {"version":3,"file":"swap.d.ts","sourceRoot":"","sources":["../../../src/commands/trade/swap.ts"],"names":[],"mappings":"AAWA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG,UAAU,YAAa,SAAQ,aAAa;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,YAAY,GAChB,OAAO,CAAC,IAAI,CAAC,CAsHf"}
@@ -17,10 +17,13 @@ export async function tradeCommand(amount, from, to, opts) {
17
17
  const chain = getChainConfig(chainName);
18
18
  const session = requireSession();
19
19
  const privy = getPrivyClient();
20
+ const walletClient = getWalletClient(privy, session, chain);
21
+ const publicClient = getPublicClient(chain);
20
22
  const wallet = session.walletAddress;
21
23
  const [tokenIn, tokenOut] = await withSpinner(`Resolving tokens on ${chain.name}...`, async () => Promise.all([resolveToken(from, chain), resolveToken(to, chain)]), opts);
22
24
  const amountBaseUnits = parseAmount(amount, tokenIn.decimals);
23
- const isNativeInput = tokenIn.address.toLowerCase() === chain.nativeTokenAddress.toLowerCase();
25
+ const isNativeInput = tokenIn.address.toLowerCase() === chain.nativeTokenAddress.toLowerCase() ||
26
+ tokenIn.symbol.toUpperCase() === "ETH";
24
27
  const routeData = await withSpinner("Finding best route...", async () => {
25
28
  return getRouteAndCallData({
26
29
  amount: amountBaseUnits.toString(),
@@ -31,9 +34,8 @@ export async function tradeCommand(amount, from, to, opts) {
31
34
  }, chain);
32
35
  }, opts);
33
36
  const routerAddress = routeData.router_address;
34
- const walletClient = getWalletClient(privy, session, chain);
35
37
  if (!isNativeInput) {
36
- const currentAllowance = await getAllowance(getPublicClient(chain), tokenIn.address, wallet, routerAddress);
38
+ const currentAllowance = await getAllowance(publicClient, tokenIn.address, wallet, routerAddress);
37
39
  if (currentAllowance < amountBaseUnits) {
38
40
  await withSpinner("Approving token spend...", async () => {
39
41
  const amountToApprove = opts.approveMax
@@ -50,10 +52,24 @@ export async function tradeCommand(amount, from, to, opts) {
50
52
  }
51
53
  const hash = await withSpinner(`Swapping ${amount} ${tokenIn.symbol} → ${tokenOut.symbol}...`, async () => {
52
54
  const swapData = encodeSwapCalldata(routeData.calldata, chain);
55
+ const value = isNativeInput ? amountBaseUnits : 0n;
56
+ // Simulate Swap (using estimateGas as we have raw calldata)
57
+ // We use call/estimateGas to ensure it doesn't revert
58
+ try {
59
+ await publicClient.estimateGas({
60
+ account: wallet,
61
+ to: routerAddress,
62
+ data: swapData,
63
+ value: value,
64
+ });
65
+ }
66
+ catch (error) {
67
+ throw new Error(`Simulation failed: ${error instanceof Error ? error.message : String(error)}`);
68
+ }
53
69
  return walletClient.sendTransaction({
54
70
  to: routerAddress,
55
71
  data: swapData,
56
- value: isNativeInput ? amountBaseUnits : 0n,
72
+ value: value,
57
73
  });
58
74
  }, opts);
59
75
  const outputAmount = formatAmount(BigInt(routeData.route.outputAmount), tokenOut.decimals);
@@ -1 +1 @@
1
- {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/commands/trade/swap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/commands/trade/swap.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/wallet/send.ts"],"names":[],"mappings":"AASA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG,wBAAsB,WAAW,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC,IAAI,CAAC,CA6Df"}
1
+ {"version":3,"file":"send.d.ts","sourceRoot":"","sources":["../../../src/commands/wallet/send.ts"],"names":[],"mappings":"AASA,OAAO,EAA0C,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEjG,wBAAsB,WAAW,CAChC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,EACnB,IAAI,EAAE,aAAa,GACjB,OAAO,CAAC,IAAI,CAAC,CAiFf"}
@@ -1,8 +1,8 @@
1
1
  import { requireSession } from "../../services/auth/session.js";
2
2
  import { getPrivyClient } from "../../services/privy/client.js";
3
- import { getWalletClient } from "../../services/chain/client.js";
3
+ import { getWalletClient, getPublicClient } from "../../services/chain/client.js";
4
4
  import { getChainConfig } from "../../services/chain/constants.js";
5
- import { encodeTransfer } from "../../services/chain/erc20.js";
5
+ import { ERC20_ABI } from "../../services/chain/erc20.js";
6
6
  import { resolveToken } from "../../services/fibrous/tokens.js";
7
7
  import { validateAddress, validateAmount } from "../../lib/validation.js";
8
8
  import { parseAmount } from "../../lib/parseAmount.js";
@@ -17,12 +17,26 @@ export async function sendCommand(amount, recipient, tokenSymbol, opts) {
17
17
  const session = requireSession();
18
18
  const privy = getPrivyClient();
19
19
  const walletClient = getWalletClient(privy, session, chain);
20
+ const publicClient = getPublicClient(chain);
21
+ const wallet = session.walletAddress;
20
22
  let txHash;
21
23
  let amountBigInt;
22
24
  const isEth = tokenSymbol.toUpperCase() === "ETH";
23
25
  if (isEth) {
24
26
  amountBigInt = parseAmount(amount, 18);
25
27
  txHash = await withSpinner(`Sending ${amount} ETH on ${chain.name}...`, async () => {
28
+ // Simulate ETH send (estimateGas)
29
+ try {
30
+ await publicClient.estimateGas({
31
+ account: wallet,
32
+ to: recipient,
33
+ value: amountBigInt,
34
+ data: undefined,
35
+ });
36
+ }
37
+ catch (error) {
38
+ throw new Error(`Simulation failed: ${error instanceof Error ? error.message : String(error)}`);
39
+ }
26
40
  return walletClient.sendTransaction({
27
41
  to: recipient,
28
42
  value: amountBigInt,
@@ -33,13 +47,16 @@ export async function sendCommand(amount, recipient, tokenSymbol, opts) {
33
47
  else {
34
48
  const token = await resolveToken(tokenSymbol, chain);
35
49
  amountBigInt = parseAmount(amount, token.decimals);
36
- const data = encodeTransfer(recipient, amountBigInt);
37
50
  txHash = await withSpinner(`Sending ${amount} ${token.symbol} on ${chain.name}...`, async () => {
38
- return walletClient.sendTransaction({
39
- to: token.address,
40
- data,
41
- value: 0n,
51
+ // Simulate ERC20 Transfer
52
+ const { request } = await publicClient.simulateContract({
53
+ address: token.address,
54
+ abi: ERC20_ABI,
55
+ functionName: "transfer",
56
+ args: [recipient, amountBigInt],
57
+ account: wallet,
42
58
  });
59
+ return walletClient.writeContract(request);
43
60
  }, opts);
44
61
  }
45
62
  outputResult({
@@ -1 +1 @@
1
- {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/wallet/send.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAC1E,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAsB,MAAM,qBAAqB,CAAC;AAEjG,MAAM,CAAC,KAAK,UAAU,WAAW,CAChC,MAAc,EACd,SAAiB,EACjB,WAAmB,EACnB,IAAmB;IAEnB,IAAI,CAAC;QACJ,cAAc,CAAC,MAAM,CAAC,CAAC;QACvB,eAAe,CAAC,SAAS,CAAC,CAAC;QAE3B,MAAM,UAAU,GAAG,IAAqC,CAAC;QACzD,MAAM,SAAS,GAAG,UAAU,CAAC,KAAK,IAAI,MAAM,CAAC;QAC7C,MAAM,KAAK,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QAExC,MAAM,OAAO,GAAG,cAAc,EAAE,CAAC;QACjC,MAAM,KAAK,GAAG,cAAc,EAAE,CAAC;QAC/B,MAAM,YAAY,GAAG,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;QAE5D,IAAI,MAAqB,CAAC;QAC1B,IAAI,YAAoB,CAAC;QACzB,MAAM,KAAK,GAAG,WAAW,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC;QAElD,IAAI,KAAK,EAAE,CAAC;YACX,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;YACvC,MAAM,GAAG,MAAM,WAAW,CACzB,WAAW,MAAM,WAAW,KAAK,CAAC,IAAI,KAAK,EAC3C,KAAK,IAAI,EAAE;gBACV,OAAO,YAAY,CAAC,eAAe,CAAC;oBACnC,EAAE,EAAE,SAAoB;oBACxB,KAAK,EAAE,YAAY;oBACnB,IAAI,EAAE,SAAS;iBACf,CAAC,CAAC;YACJ,CAAC,EACD,IAAI,CACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACP,MAAM,KAAK,GAAG,MAAM,YAAY,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;YACrD,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YACnD,MAAM,IAAI,GAAG,cAAc,CAAC,SAAoB,EAAE,YAAY,CAAC,CAAC;YAEhE,MAAM,GAAG,MAAM,WAAW,CACzB,WAAW,MAAM,IAAI,KAAK,CAAC,MAAM,OAAO,KAAK,CAAC,IAAI,KAAK,EACvD,KAAK,IAAI,EAAE;gBACV,OAAO,YAAY,CAAC,eAAe,CAAC;oBACnC,EAAE,EAAE,KAAK,CAAC,OAAkB;oBAC5B,IAAI;oBACJ,KAAK,EAAE,EAAE;iBACT,CAAC,CAAC;YACJ,CAAC,EACD,IAAI,CACJ,CAAC;QACH,CAAC;QAED,YAAY,CACX;YACC,MAAM;YACN,MAAM;YACN,SAAS;YACT,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,WAAW,EAAE;YAChD,KAAK,EAAE,KAAK,CAAC,IAAI;SACjB,EACD,IAAI,CACJ,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,WAAW,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC1B,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"send.js","sourceRoot":"","sources":["../../../src/commands/wallet/send.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -10,11 +10,12 @@ import { tradeCommand } from "./commands/trade/swap.js";
10
10
  import { walletsCommand } from "./commands/wallet/list.js";
11
11
  import { txStatusCommand } from "./commands/chain/transaction.js";
12
12
  import { aaveCommand } from "./commands/defi/aave.js";
13
+ import { logoutCommand } from "./commands/auth/logout.js";
13
14
  const program = new Command();
14
15
  program
15
16
  .name("fibx")
16
17
  .description("Fibrous DeFi CLI — wallet, transfer, swap")
17
- .version("0.2.1")
18
+ .version("0.2.4")
18
19
  .option("-c, --chain <chain>", "Chain to use (base, citrea, hyperevm, monad)", "base")
19
20
  .option("--json", "Output results as JSON", false);
20
21
  const auth = program.command("auth").description("Authentication commands");
@@ -40,6 +41,7 @@ auth.command("import")
40
41
  const { authImportCommand } = await import("./commands/auth/import.js");
41
42
  await authImportCommand({ json: globalOpts.json });
42
43
  });
44
+ auth.addCommand(logoutCommand);
43
45
  program
44
46
  .command("status")
45
47
  .description("Check auth status and Fibrous health")
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,63 @@
1
1
  import { type Address, type PublicClient } from "viem";
2
+ export declare const ERC20_ABI: readonly [{
3
+ readonly name: "balanceOf";
4
+ readonly type: "function";
5
+ readonly stateMutability: "view";
6
+ readonly inputs: readonly [{
7
+ readonly name: "account";
8
+ readonly type: "address";
9
+ }];
10
+ readonly outputs: readonly [{
11
+ readonly name: "";
12
+ readonly type: "uint256";
13
+ }];
14
+ }, {
15
+ readonly name: "transfer";
16
+ readonly type: "function";
17
+ readonly stateMutability: "nonpayable";
18
+ readonly inputs: readonly [{
19
+ readonly name: "to";
20
+ readonly type: "address";
21
+ }, {
22
+ readonly name: "amount";
23
+ readonly type: "uint256";
24
+ }];
25
+ readonly outputs: readonly [{
26
+ readonly name: "";
27
+ readonly type: "bool";
28
+ }];
29
+ }, {
30
+ readonly name: "approve";
31
+ readonly type: "function";
32
+ readonly stateMutability: "nonpayable";
33
+ readonly inputs: readonly [{
34
+ readonly name: "spender";
35
+ readonly type: "address";
36
+ }, {
37
+ readonly name: "amount";
38
+ readonly type: "uint256";
39
+ }];
40
+ readonly outputs: readonly [{
41
+ readonly name: "";
42
+ readonly type: "bool";
43
+ }];
44
+ }, {
45
+ readonly name: "allowance";
46
+ readonly type: "function";
47
+ readonly stateMutability: "view";
48
+ readonly inputs: readonly [{
49
+ readonly name: "owner";
50
+ readonly type: "address";
51
+ }, {
52
+ readonly name: "spender";
53
+ readonly type: "address";
54
+ }];
55
+ readonly outputs: readonly [{
56
+ readonly name: "";
57
+ readonly type: "uint256";
58
+ }];
59
+ }];
2
60
  export declare function getERC20Balance(client: PublicClient, tokenAddress: Address, walletAddress: Address): Promise<bigint>;
3
- export declare function encodeTransfer(to: Address, amount: bigint): `0x${string}`;
4
61
  export declare function encodeApprove(spender: Address, amount: bigint): `0x${string}`;
5
62
  export declare function getAllowance(client: PublicClient, tokenAddress: Address, owner: Address, spender: Address): Promise<bigint>;
6
63
  //# sourceMappingURL=erc20.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../../src/services/chain/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AA0C3E,wBAAsB,eAAe,CACpC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAMzE;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAM7E;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAOjB"}
1
+ {"version":3,"file":"erc20.d.ts","sourceRoot":"","sources":["../../../src/services/chain/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAE3E,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAsCZ,CAAC;AAEX,wBAAsB,eAAe,CACpC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,OAAO,EACrB,aAAa,EAAE,OAAO,GACpB,OAAO,CAAC,MAAM,CAAC,CAOjB;AAED,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAM7E;AAED,wBAAsB,YAAY,CACjC,MAAM,EAAE,YAAY,EACpB,YAAY,EAAE,OAAO,EACrB,KAAK,EAAE,OAAO,EACd,OAAO,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAOjB"}
@@ -1,5 +1,5 @@
1
1
  import { encodeFunctionData } from "viem";
2
- const ERC20_ABI = [
2
+ export const ERC20_ABI = [
3
3
  {
4
4
  name: "balanceOf",
5
5
  type: "function",
@@ -46,13 +46,6 @@ export async function getERC20Balance(client, tokenAddress, walletAddress) {
46
46
  args: [walletAddress],
47
47
  });
48
48
  }
49
- export function encodeTransfer(to, amount) {
50
- return encodeFunctionData({
51
- abi: ERC20_ABI,
52
- functionName: "transfer",
53
- args: [to, amount],
54
- });
55
- }
56
49
  export function encodeApprove(spender, amount) {
57
50
  return encodeFunctionData({
58
51
  abi: ERC20_ABI,
@@ -1 +1 @@
1
- {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/services/chain/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAmC,MAAM,MAAM,CAAC;AAE3E,MAAM,SAAS,GAAG;IACjB;QACC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACxC;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACnC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACrC;IACD;QACC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACnC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACrC;IACD;QACC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACxC;CACQ,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAoB,EACpB,YAAqB,EACrB,aAAsB;IAEtB,OAAO,MAAM,CAAC,YAAY,CAAC;QAC1B,OAAO,EAAE,YAAY;QACrB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,aAAa,CAAC;KACrB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,EAAW,EAAE,MAAc;IACzD,OAAO,kBAAkB,CAAC;QACzB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,UAAU;QACxB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAc;IAC7D,OAAO,kBAAkB,CAAC;QACzB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAoB,EACpB,YAAqB,EACrB,KAAc,EACd,OAAgB;IAEhB,OAAO,MAAM,CAAC,YAAY,CAAC;QAC1B,OAAO,EAAE,YAAY;QACrB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"erc20.js","sourceRoot":"","sources":["../../../src/services/chain/erc20.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAmC,MAAM,MAAM,CAAC;AAE3E,MAAM,CAAC,MAAM,SAAS,GAAG;IACxB;QACC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QAC9C,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACxC;IACD;QACC,IAAI,EAAE,UAAU;QAChB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE;YAC/B,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACnC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACrC;IACD;QACC,IAAI,EAAE,SAAS;QACf,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,YAAY;QAC7B,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;YACpC,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE;SACnC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;KACrC;IACD;QACC,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,UAAU;QAChB,eAAe,EAAE,MAAM;QACvB,MAAM,EAAE;YACP,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE;YAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;SACpC;QACD,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;KACxC;CACQ,CAAC;AAEX,MAAM,CAAC,KAAK,UAAU,eAAe,CACpC,MAAoB,EACpB,YAAqB,EACrB,aAAsB;IAEtB,OAAO,MAAM,CAAC,YAAY,CAAC;QAC1B,OAAO,EAAE,YAAY;QACrB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,aAAa,CAAC;KACrB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,OAAgB,EAAE,MAAc;IAC7D,OAAO,kBAAkB,CAAC;QACzB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,SAAS;QACvB,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;AACJ,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAoB,EACpB,YAAqB,EACrB,KAAc,EACd,OAAgB;IAEhB,OAAO,MAAM,CAAC,YAAY,CAAC;QAC1B,OAAO,EAAE,YAAY;QACrB,GAAG,EAAE,SAAS;QACd,YAAY,EAAE,WAAW;QACzB,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,CAAC;KACtB,CAAC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"aave.d.ts","sourceRoot":"","sources":["../../../src/services/defi/aave.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,KAAK,OAAO,EACZ,KAAK,IAAI,EAGT,KAAK,YAAY,EAEjB,MAAM,MAAM,CAAC;AAWd,MAAM,WAAW,eAAe;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2BAA2B,EAAE,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,WAAW;IACvB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAU;gBAElB,YAAY,CAAC,EAAE,YAAY;IAWhC,iBAAiB,IAAI,OAAO,GAAG,SAAS;IAIxC,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAIlC,eAAe,CAAC,YAAY,EAAE,YAAY;YASnC,cAAc;IAQf,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBlE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6C/D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAsBzC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqB5C,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA+DjE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD/D,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8C3E,OAAO,CAAC,sBAAsB;YAMhB,gBAAgB;CAO9B"}
1
+ {"version":3,"file":"aave.d.ts","sourceRoot":"","sources":["../../../src/services/defi/aave.ts"],"names":[],"mappings":"AAAA,OAAO,EAKN,KAAK,OAAO,EACZ,KAAK,IAAI,EAGT,KAAK,YAAY,EAEjB,MAAM,MAAM,CAAC;AAYd,MAAM,WAAW,eAAe;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2BAA2B,EAAE,MAAM,CAAC;IACpC,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,WAAW;IACvB,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,YAAY,CAAC,CAAe;IACpC,OAAO,CAAC,OAAO,CAAC,CAAU;IAC1B,OAAO,CAAC,WAAW,CAAC,CAAU;gBAElB,YAAY,CAAC,EAAE,YAAY;IAWhC,iBAAiB,IAAI,OAAO,GAAG,SAAS;IAIxC,iBAAiB,CAAC,OAAO,EAAE,OAAO;IAIlC,eAAe,CAAC,YAAY,EAAE,YAAY;YASnC,cAAc;IAQf,kBAAkB,CAAC,WAAW,EAAE,OAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAoBlE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkD/D,OAAO,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA2BzC,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0B5C,QAAQ,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqEjE,MAAM,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAkD/D,KAAK,CAAC,YAAY,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAyD3E,OAAO,CAAC,sBAAsB;YAMhB,gBAAgB;CAO9B"}
@@ -2,7 +2,7 @@ import { createPublicClient, http, parseUnits, formatUnits, erc20Abi, } from "vi
2
2
  import { base } from "viem/chains";
3
3
  import { RPC_URLS } from "../chain/constants.js";
4
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, } from "./constants.js";
5
+ import { AAVE_V3_POOL_ADDRESSES_PROVIDER, InterestRateMode, WETH_BASE_ADDRESS, MAX_UINT256, } from "./constants.js";
6
6
  import { NonceManager } from "../chain/nonceManager.js";
7
7
  export class AaveService {
8
8
  publicClient;
@@ -82,15 +82,19 @@ export class AaveService {
82
82
  });
83
83
  await this.publicClient.waitForTransactionReceipt({ hash: txApprove });
84
84
  }
85
- // Execute Supply
86
- const nonceSupply = await NonceManager.getInstance().getNextNonce();
87
- const txSupply = await this.walletClient.writeContract({
85
+ // Simulate Supply
86
+ const { request: supplyRequest } = await this.publicClient.simulateContract({
88
87
  address: poolAddress,
89
88
  abi: POOL_ABI,
90
89
  functionName: "supply",
91
90
  args: [tokenAddress, amount, this.account.address, 0],
92
- chain: base,
93
91
  account: this.account,
92
+ chain: base,
93
+ });
94
+ // Execute Supply
95
+ const nonceSupply = await NonceManager.getInstance().getNextNonce();
96
+ const txSupply = await this.walletClient.writeContract({
97
+ ...supplyRequest,
94
98
  nonce: nonceSupply,
95
99
  });
96
100
  await this.publicClient.waitForTransactionReceipt({ hash: txSupply });
@@ -99,15 +103,19 @@ export class AaveService {
99
103
  async wrapETH(amountStr) {
100
104
  this.ensureWalletConnection();
101
105
  const amount = parseUnits(amountStr, 18); // ETH always 18
102
- const nonce = await NonceManager.getInstance().getNextNonce();
103
- const txWrap = await this.walletClient.writeContract({
106
+ // Simulate Deposit
107
+ const { request } = await this.publicClient.simulateContract({
104
108
  address: WETH_BASE_ADDRESS,
105
109
  abi: WETH_ABI,
106
110
  functionName: "deposit",
107
111
  args: [],
108
112
  value: amount,
109
- chain: base,
110
113
  account: this.account,
114
+ chain: base,
115
+ });
116
+ const nonce = await NonceManager.getInstance().getNextNonce();
117
+ const txWrap = await this.walletClient.writeContract({
118
+ ...request,
111
119
  nonce,
112
120
  });
113
121
  await this.publicClient.waitForTransactionReceipt({ hash: txWrap });
@@ -116,14 +124,18 @@ export class AaveService {
116
124
  async unwrapWETH(amountStr) {
117
125
  this.ensureWalletConnection();
118
126
  const amount = parseUnits(amountStr, 18);
119
- const nonce = await NonceManager.getInstance().getNextNonce();
120
- const txUnwrap = await this.walletClient.writeContract({
127
+ // Simulate Withdraw
128
+ const { request } = await this.publicClient.simulateContract({
121
129
  address: WETH_BASE_ADDRESS,
122
130
  abi: WETH_ABI,
123
131
  functionName: "withdraw",
124
132
  args: [amount],
125
- chain: base,
126
133
  account: this.account,
134
+ chain: base,
135
+ });
136
+ const nonce = await NonceManager.getInstance().getNextNonce();
137
+ const txUnwrap = await this.walletClient.writeContract({
138
+ ...request,
127
139
  nonce,
128
140
  });
129
141
  await this.publicClient.waitForTransactionReceipt({ hash: txUnwrap });
@@ -132,26 +144,37 @@ export class AaveService {
132
144
  async withdraw(tokenAddress, amountStr) {
133
145
  this.ensureWalletConnection();
134
146
  const poolAddress = await this.getPoolAddress();
135
- const decimals = await this.getTokenDecimals(tokenAddress);
136
- const amount = parseUnits(amountStr, decimals);
137
147
  const userAddress = this.account.address;
148
+ let amount;
149
+ if (amountStr.toLowerCase() === "max" || amountStr === "-1") {
150
+ amount = MAX_UINT256;
151
+ }
152
+ else {
153
+ const decimals = await this.getTokenDecimals(tokenAddress);
154
+ amount = parseUnits(amountStr, decimals);
155
+ }
138
156
  const nonce = await NonceManager.getInstance().getNextNonce();
139
157
  // Simulate first to catch errors
158
+ let request;
159
+ // Simulate first to catch errors
140
160
  try {
141
- await this.publicClient.simulateContract({
161
+ const result = await this.publicClient.simulateContract({
142
162
  address: poolAddress,
143
163
  abi: POOL_ABI,
144
164
  functionName: "withdraw",
145
165
  args: [tokenAddress, amount, userAddress],
146
166
  account: userAddress,
167
+ chain: base,
147
168
  });
169
+ request = result.request;
148
170
  }
149
171
  catch (error) {
172
+ const err = error;
150
173
  // Smart Error Handling
151
174
  const userData = await this.getUserAccountData(userAddress);
152
175
  const totalDebt = parseFloat(userData.totalDebtUSD);
153
- if (error.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
154
- error.cause?.message?.includes("0x6679996d")) {
176
+ if (err.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
177
+ err.cause?.message?.includes("0x6679996d")) {
155
178
  let details = "This amount would lower your Health Factor below 1.0.";
156
179
  if (totalDebt > 0 && totalDebt < 0.01) {
157
180
  details = `You have tiny "dust" debt ($${totalDebt.toFixed(6)}) preventing full withdrawal.`;
@@ -170,12 +193,7 @@ export class AaveService {
170
193
  throw error;
171
194
  }
172
195
  const txWithdraw = await this.walletClient.writeContract({
173
- address: poolAddress,
174
- abi: POOL_ABI,
175
- functionName: "withdraw",
176
- args: [tokenAddress, amount, userAddress],
177
- chain: base,
178
- account: this.account,
196
+ ...request,
179
197
  nonce,
180
198
  });
181
199
  await this.publicClient.waitForTransactionReceipt({ hash: txWithdraw });
@@ -188,8 +206,10 @@ export class AaveService {
188
206
  const amount = parseUnits(amountStr, decimals);
189
207
  const nonce = await NonceManager.getInstance().getNextNonce();
190
208
  // Simulate first to catch errors
209
+ let request;
210
+ // Simulate first to catch errors
191
211
  try {
192
- await this.publicClient.simulateContract({
212
+ const result = await this.publicClient.simulateContract({
193
213
  address: poolAddress,
194
214
  abi: POOL_ABI,
195
215
  functionName: "borrow",
@@ -203,27 +223,18 @@ export class AaveService {
203
223
  chain: base,
204
224
  account: this.account,
205
225
  });
226
+ request = result.request;
206
227
  }
207
228
  catch (error) {
208
- if (error.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
209
- error.cause?.message?.includes("0x6679996d")) {
229
+ const err = error;
230
+ if (err.message?.includes("HealthFactorLowerThanLiquidationThreshold") ||
231
+ err.cause?.message?.includes("0x6679996d")) {
210
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.");
211
233
  }
212
234
  throw error;
213
235
  }
214
236
  const txBorrow = await this.walletClient.writeContract({
215
- address: poolAddress,
216
- abi: POOL_ABI,
217
- functionName: "borrow",
218
- args: [
219
- tokenAddress,
220
- amount,
221
- BigInt(InterestRateMode.Variable),
222
- 0,
223
- this.account.address,
224
- ],
225
- chain: base,
226
- account: this.account,
237
+ ...request,
227
238
  nonce,
228
239
  });
229
240
  await this.publicClient.waitForTransactionReceipt({ hash: txBorrow });
@@ -232,8 +243,14 @@ export class AaveService {
232
243
  async repay(tokenAddress, amountStr) {
233
244
  this.ensureWalletConnection();
234
245
  const poolAddress = await this.getPoolAddress();
235
- const decimals = await this.getTokenDecimals(tokenAddress);
236
- const amount = parseUnits(amountStr, decimals);
246
+ let amount;
247
+ if (amountStr.toLowerCase() === "max" || amountStr === "-1") {
248
+ amount = MAX_UINT256;
249
+ }
250
+ else {
251
+ const decimals = await this.getTokenDecimals(tokenAddress);
252
+ amount = parseUnits(amountStr, decimals);
253
+ }
237
254
  // Check Allowance & Approve if necessary
238
255
  const allowance = await this.publicClient.readContract({
239
256
  address: tokenAddress,
@@ -247,22 +264,26 @@ export class AaveService {
247
264
  address: tokenAddress,
248
265
  abi: erc20Abi,
249
266
  functionName: "approve",
250
- args: [poolAddress, amount],
267
+ args: [poolAddress, amount], // Approve MAX if MAX requested
251
268
  chain: base,
252
269
  account: this.account,
253
270
  nonce: nonceApprove,
254
271
  });
255
272
  await this.publicClient.waitForTransactionReceipt({ hash: txApprove });
256
273
  }
257
- // Execute Repay
258
- const nonceRepay = await NonceManager.getInstance().getNextNonce();
259
- const txRepay = await this.walletClient.writeContract({
274
+ // Simulate Repay
275
+ const { request: repayRequest } = await this.publicClient.simulateContract({
260
276
  address: poolAddress,
261
277
  abi: POOL_ABI,
262
278
  functionName: "repay",
263
279
  args: [tokenAddress, amount, BigInt(InterestRateMode.Variable), this.account.address],
264
- chain: base,
265
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,
266
287
  nonce: nonceRepay,
267
288
  });
268
289
  await this.publicClient.waitForTransactionReceipt({ hash: txRepay });
@@ -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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"}
@@ -12,4 +12,5 @@ export declare enum InterestRateMode {
12
12
  Stable = 1,
13
13
  Variable = 2
14
14
  }
15
+ export declare const MAX_UINT256 = 115792089237316195423570985008687907853269984665640564039457584007913129639935n;
15
16
  //# 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;AAGzF,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,+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"}
@@ -7,11 +7,11 @@ export const AAVE_V3_POOL_ADDRESSES_PROVIDER = "0xe20fCBdBfFC4Dd138cE8b2E6FBb6CB
7
7
  export const HEALTH_FACTOR_WARNING_THRESHOLD = 1.5;
8
8
  export const HEALTH_FACTOR_CRITICAL_THRESHOLD = 1.1;
9
9
  export const WETH_BASE_ADDRESS = "0x4200000000000000000000000000000000000006";
10
- // Aave Interest Rate Modes
11
10
  export var InterestRateMode;
12
11
  (function (InterestRateMode) {
13
12
  InterestRateMode[InterestRateMode["None"] = 0] = "None";
14
13
  InterestRateMode[InterestRateMode["Stable"] = 1] = "Stable";
15
14
  InterestRateMode[InterestRateMode["Variable"] = 2] = "Variable";
16
15
  })(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,2BAA2B;AAC3B,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,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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fibx",
3
- "version": "0.2.1",
3
+ "version": "0.2.4",
4
4
  "description": "A powerful CLI for DeFi operations on Base, Citrea, HyperEVM, and Monad, powered by Fibrous.",
5
5
  "type": "module",
6
6
  "bin": {