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 +12 -3
- package/dist/commands/auth/logout.d.ts +3 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +19 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/trade/swap.d.ts.map +1 -1
- package/dist/commands/trade/swap.js +20 -4
- package/dist/commands/trade/swap.js.map +1 -1
- package/dist/commands/wallet/send.d.ts.map +1 -1
- package/dist/commands/wallet/send.js +24 -7
- package/dist/commands/wallet/send.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/services/chain/erc20.d.ts +58 -1
- package/dist/services/chain/erc20.d.ts.map +1 -1
- package/dist/services/chain/erc20.js +1 -8
- package/dist/services/chain/erc20.js.map +1 -1
- package/dist/services/defi/aave.d.ts.map +1 -1
- package/dist/services/defi/aave.js +65 -44
- package/dist/services/defi/aave.js.map +1 -1
- package/dist/services/defi/constants.d.ts +1 -0
- package/dist/services/defi/constants.d.ts.map +1 -1
- package/dist/services/defi/constants.js +1 -1
- package/dist/services/defi/constants.js.map +1 -1
- package/package.json +1 -1
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.
|
|
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 @@
|
|
|
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,
|
|
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(
|
|
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:
|
|
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":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAChE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,mCAAmC,CAAC;AACnE,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAC1F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,EAAsB,MAAM,qBAAqB,CAAC;AAOjG,MAAM,CAAC,KAAK,UAAU,YAAY,CACjC,MAAc,EACd,IAAY,EACZ,EAAU,EACV,IAAkB;IAElB,IAAI,CAAC;QACJ,cAAc,CAAC,MAAM,CAAC,CAAC;QAEvB,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,MAAM,GAAG,OAAO,CAAC,aAAwB,CAAC;QAEhD,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,MAAM,WAAW,CAC5C,uBAAuB,KAAK,CAAC,IAAI,KAAK,EACtC,KAAK,IAAI,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,YAAY,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC,CAAC,EAC7E,IAAI,CACJ,CAAC;QAEF,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9D,MAAM,aAAa,GAClB,OAAO,CAAC,OAAO,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,kBAAkB,CAAC,WAAW,EAAE,CAAC;
|
|
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,
|
|
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 {
|
|
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
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
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;
|
|
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.
|
|
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":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAC5D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAC3D,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAE1D,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACL,IAAI,CAAC,MAAM,CAAC;KACZ,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC;KAChB,MAAM,CAAC,qBAAqB,EAAE,8CAA8C,EAAE,MAAM,CAAC;KACrF,MAAM,CAAC,QAAQ,EAAE,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAEpD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;AAE5E,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC;KACnB,WAAW,CAAC,oCAAoC,CAAC;KACjD,QAAQ,CAAC,SAAS,EAAE,6BAA6B,CAAC;KAClD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACnC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,gBAAgB,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;KACpB,WAAW,CAAC,2CAA2C,CAAC;KACxD,QAAQ,CAAC,SAAS,EAAE,sBAAsB,CAAC;KAC3C,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACzC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,iBAAiB,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACjE,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC;KACpB,WAAW,CAAC,+CAA+C,CAAC;KAC5D,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IAC9C,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,2BAA2B,CAAC,CAAC;IACxE,MAAM,iBAAiB,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEJ,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAE/B,OAAO;KACL,OAAO,CAAC,QAAQ,CAAC;KACjB,WAAW,CAAC,sCAAsC,CAAC;KACnD,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,aAAa,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/D,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,WAAW,CAAC;KACpB,WAAW,CAAC,sCAAsC,CAAC;KACnD,QAAQ,CAAC,QAAQ,EAAE,0BAA0B,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAClC,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,eAAe,CAAC,IAAI,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACvE,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,qCAAqC,CAAC;KAClD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;KACzC,MAAM,CAAC,YAAY,EAAE,gBAAgB,CAAC;KACtC,MAAM,CAAC,cAAc,CAAC,CAAC;AAEzB,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,cAAc,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACjD,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,4BAA4B,CAAC;KACzC,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,cAAc,CAAC,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AAChE,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,+BAA+B,CAAC;KAC5C,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACtC,QAAQ,CAAC,aAAa,EAAE,2BAA2B,CAAC;KACpD,QAAQ,CAAC,SAAS,EAAE,yBAAyB,EAAE,KAAK,CAAC;KACrD,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACtD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,WAAW,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACvF,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,yBAAyB,CAAC;KACtC,QAAQ,CAAC,UAAU,EAAE,gBAAgB,CAAC;KACtC,QAAQ,CAAC,QAAQ,EAAE,kCAAkC,CAAC;KACtD,QAAQ,CAAC,MAAM,EAAE,uCAAuC,CAAC;KACzD,MAAM,CAAC,yBAAyB,EAAE,oBAAoB,EAAE,KAAK,CAAC;KAC9D,MAAM,CAAC,eAAe,EAAE,gDAAgD,EAAE,KAAK,CAAC;KAChF,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,YAAY,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE;QACpC,GAAG,UAAU;QACb,IAAI,EAAE,UAAU,CAAC,IAAI;QACrB,QAAQ,EAAE,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC;QACnC,UAAU,EAAE,IAAI,CAAC,UAAU;KAC3B,CAAC,CAAC;AACJ,CAAC,CAAC,CAAC;AAEJ,OAAO;KACL,OAAO,CAAC,MAAM,CAAC;KACf,WAAW,CAAC,gCAAgC,CAAC;KAC7C,QAAQ,CAAC,UAAU,EAAE,iDAAiD,CAAC;KACvE,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC;KAC9B,QAAQ,CAAC,SAAS,EAAE,yBAAyB,CAAC;KAC9C,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;IACnD,MAAM,UAAU,GAAG,GAAG,CAAC,MAAO,CAAC,IAAI,EAAE,CAAC;IACtC,MAAM,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,UAAU,EAAE,IAAI,EAAE,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;AACpF,CAAC,CAAC,CAAC;AAEJ,OAAO,CAAC,UAAU,EAAE,CAAC"}
|
|
@@ -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;
|
|
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;
|
|
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;
|
|
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
|
-
//
|
|
86
|
-
const
|
|
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
|
-
|
|
103
|
-
const
|
|
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
|
-
|
|
120
|
-
const
|
|
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 (
|
|
154
|
-
|
|
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
|
-
|
|
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
|
-
|
|
209
|
-
|
|
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
|
-
|
|
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
|
-
|
|
236
|
-
|
|
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
|
-
//
|
|
258
|
-
const
|
|
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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"}
|
|
@@ -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;
|
|
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,
|
|
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"}
|