@1stdex/first-sdk 1.0.70 → 1.0.72
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/dist/cjs/calls/batch/prepare-withdraw.js +33 -11
- package/dist/cjs/calls/batch/prepare-withdraw.js.map +1 -1
- package/dist/esm/calls/batch/prepare-withdraw.js +36 -14
- package/dist/esm/calls/batch/prepare-withdraw.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/types/calls/batch/prepare-withdraw.d.ts +3 -3
- package/dist/types/calls/batch/prepare-withdraw.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ const addresses_1 = require("../../constants/chain-configs/addresses");
|
|
|
7
7
|
const dex_vault_abi_1 = require("../../constants/abis/core/dex-vault-abi");
|
|
8
8
|
const vault_1 = require("../../views/vault");
|
|
9
9
|
const withdraw_from_vault_1 = require("../vault/withdraw-from-vault");
|
|
10
|
+
const apis_1 = require("../../entities/currency/apis");
|
|
10
11
|
class NotEnoughFundsError extends Error {
|
|
11
12
|
constructor(message, required, available) {
|
|
12
13
|
super(message);
|
|
@@ -33,11 +34,15 @@ const prepareWithdraw = async ({ chainId, userAddress, toAddress, currency, amou
|
|
|
33
34
|
chain: chain_1.CHAIN_MAP[chainId],
|
|
34
35
|
transport: options?.rpcUrl ? (0, viem_1.http)(options.rpcUrl) : (0, viem_1.http)(),
|
|
35
36
|
});
|
|
36
|
-
const vault = await
|
|
37
|
-
chainId,
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
37
|
+
const [currencyInfo, vault] = await Promise.all([
|
|
38
|
+
(0, apis_1.fetchCurrency)(publicClient, chainId, currency),
|
|
39
|
+
(0, vault_1.getVault)({
|
|
40
|
+
chainId,
|
|
41
|
+
tokenAddress: currency,
|
|
42
|
+
...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
|
|
43
|
+
}),
|
|
44
|
+
]);
|
|
45
|
+
const rawAmount = (0, viem_1.parseUnits)(amount, currencyInfo.decimals);
|
|
41
46
|
const results = await publicClient.multicall({
|
|
42
47
|
contracts: [
|
|
43
48
|
{
|
|
@@ -64,25 +69,35 @@ const prepareWithdraw = async ({ chainId, userAddress, toAddress, currency, amou
|
|
|
64
69
|
const vaultBalance = results[1].result || 0n;
|
|
65
70
|
const vaultAllowance = results[2].result || 0n;
|
|
66
71
|
const totalBalance = walletBalance + vaultBalance;
|
|
67
|
-
|
|
68
|
-
|
|
72
|
+
console.log('[prepareWithdraw] Raw amount:', rawAmount);
|
|
73
|
+
console.log('[prepareWithdraw] Wallet balance:', walletBalance);
|
|
74
|
+
console.log('[prepareWithdraw] Vault balance:', vaultBalance);
|
|
75
|
+
console.log('[prepareWithdraw] Vault allowance:', vaultAllowance);
|
|
76
|
+
console.log('[prepareWithdraw] Total balance:', totalBalance);
|
|
77
|
+
if (totalBalance < rawAmount) {
|
|
78
|
+
console.log('[prepareWithdraw] Insufficient funds - throwing error');
|
|
79
|
+
throw new NotEnoughFundsError(`Insufficient funds: need ${rawAmount}, but only have ${totalBalance} (wallet: ${walletBalance}, vault: ${vaultBalance})`, rawAmount, totalBalance);
|
|
69
80
|
}
|
|
70
81
|
const calls = [];
|
|
71
82
|
const maxValue = 2n ** 256n - 1n;
|
|
72
|
-
if (walletBalance >=
|
|
83
|
+
if (walletBalance >= rawAmount) {
|
|
84
|
+
console.log('[prepareWithdraw] Wallet has enough, transferring directly');
|
|
73
85
|
calls.push({
|
|
74
86
|
to: currency,
|
|
75
87
|
data: (0, viem_1.encodeFunctionData)({
|
|
76
88
|
abi: viem_1.erc20Abi,
|
|
77
89
|
functionName: 'transfer',
|
|
78
|
-
args: [toAddress,
|
|
90
|
+
args: [toAddress, rawAmount],
|
|
79
91
|
}),
|
|
80
92
|
value: 0n,
|
|
81
93
|
});
|
|
94
|
+
console.log('[prepareWithdraw] Returning 1 call (transfer)');
|
|
82
95
|
return calls;
|
|
83
96
|
}
|
|
84
|
-
const amountToWithdraw =
|
|
97
|
+
const amountToWithdraw = rawAmount - walletBalance;
|
|
98
|
+
console.log('[prepareWithdraw] Need to withdraw from vault:', amountToWithdraw);
|
|
85
99
|
if (vaultAllowance < amountToWithdraw) {
|
|
100
|
+
console.log('[prepareWithdraw] Adding approval call (allowance insufficient)');
|
|
86
101
|
calls.push({
|
|
87
102
|
to: vault.address,
|
|
88
103
|
data: (0, viem_1.encodeFunctionData)({
|
|
@@ -93,6 +108,10 @@ const prepareWithdraw = async ({ chainId, userAddress, toAddress, currency, amou
|
|
|
93
108
|
value: 0n,
|
|
94
109
|
});
|
|
95
110
|
}
|
|
111
|
+
else {
|
|
112
|
+
console.log('[prepareWithdraw] Approval not needed (sufficient allowance)');
|
|
113
|
+
}
|
|
114
|
+
console.log('[prepareWithdraw] Building withdraw transaction');
|
|
96
115
|
const withdrawTx = await (0, withdraw_from_vault_1.withdrawFromVault)({
|
|
97
116
|
chainId,
|
|
98
117
|
userAddress,
|
|
@@ -108,15 +127,18 @@ const prepareWithdraw = async ({ chainId, userAddress, toAddress, currency, amou
|
|
|
108
127
|
data: withdrawTx.data,
|
|
109
128
|
value: withdrawTx.value,
|
|
110
129
|
});
|
|
130
|
+
console.log('[prepareWithdraw] Added withdraw call');
|
|
111
131
|
calls.push({
|
|
112
132
|
to: currency,
|
|
113
133
|
data: (0, viem_1.encodeFunctionData)({
|
|
114
134
|
abi: viem_1.erc20Abi,
|
|
115
135
|
functionName: 'transfer',
|
|
116
|
-
args: [toAddress,
|
|
136
|
+
args: [toAddress, rawAmount],
|
|
117
137
|
}),
|
|
118
138
|
value: 0n,
|
|
119
139
|
});
|
|
140
|
+
console.log('[prepareWithdraw] Added transfer call');
|
|
141
|
+
console.log('[prepareWithdraw] Returning', calls.length, 'calls');
|
|
120
142
|
return calls;
|
|
121
143
|
};
|
|
122
144
|
exports.prepareWithdraw = prepareWithdraw;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-withdraw.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-withdraw.ts"],"names":[],"mappings":";;;AAAA,+
|
|
1
|
+
{"version":3,"file":"prepare-withdraw.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-withdraw.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
import { createPublicClient, encodeFunctionData, erc20Abi, http } from 'viem';
|
|
1
|
+
import { createPublicClient, encodeFunctionData, erc20Abi, http, parseUnits, } from 'viem';
|
|
2
2
|
import { CHAIN_MAP } from '../../constants/chain-configs/chain';
|
|
3
3
|
import { CONTRACT_ADDRESSES } from '../../constants/chain-configs/addresses';
|
|
4
4
|
import { DEX_VAULT_ABI } from '../../constants/abis/core/dex-vault-abi';
|
|
5
5
|
import { getVault } from '../../views/vault';
|
|
6
6
|
import { withdrawFromVault } from '../vault/withdraw-from-vault';
|
|
7
|
+
import { fetchCurrency } from '../../entities/currency/apis';
|
|
7
8
|
/**
|
|
8
9
|
* Error thrown when there are insufficient funds in wallet and vault combined.
|
|
9
10
|
*/
|
|
@@ -36,7 +37,7 @@ export class NotEnoughFundsError extends Error {
|
|
|
36
37
|
* @param userAddress The user address (wallet and vault owner).
|
|
37
38
|
* @param toAddress The recipient address.
|
|
38
39
|
* @param currency The currency/token address.
|
|
39
|
-
* @param amount The amount to send (
|
|
40
|
+
* @param amount The amount to send (decimal-adjusted string, e.g., '100.5' for 100.5 tokens).
|
|
40
41
|
* @param options Optional parameters.
|
|
41
42
|
* @returns Promise resolving to array of batch calls.
|
|
42
43
|
* @example
|
|
@@ -48,7 +49,7 @@ export class NotEnoughFundsError extends Error {
|
|
|
48
49
|
* userAddress: '0xF8c1869Ecd4df136693C45EcE1b67f85B6bDaE69',
|
|
49
50
|
* toAddress: '0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb',
|
|
50
51
|
* currency: '0x00bfd44e79fb7f6dd5887a9426c8ef85a0cd23e0',
|
|
51
|
-
* amount:
|
|
52
|
+
* amount: '100.5' // 100.5 tokens
|
|
52
53
|
* })
|
|
53
54
|
*
|
|
54
55
|
* // Send all calls in one batched transaction
|
|
@@ -61,11 +62,15 @@ export const prepareWithdraw = async ({ chainId, userAddress, toAddress, currenc
|
|
|
61
62
|
chain: CHAIN_MAP[chainId],
|
|
62
63
|
transport: options?.rpcUrl ? http(options.rpcUrl) : http(),
|
|
63
64
|
});
|
|
64
|
-
const vault = await
|
|
65
|
-
chainId,
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
const [currencyInfo, vault] = await Promise.all([
|
|
66
|
+
fetchCurrency(publicClient, chainId, currency),
|
|
67
|
+
getVault({
|
|
68
|
+
chainId,
|
|
69
|
+
tokenAddress: currency,
|
|
70
|
+
...(options?.rpcUrl && { options: { rpcUrl: options.rpcUrl } }),
|
|
71
|
+
}),
|
|
72
|
+
]);
|
|
73
|
+
const rawAmount = parseUnits(amount, currencyInfo.decimals);
|
|
69
74
|
const results = await publicClient.multicall({
|
|
70
75
|
contracts: [
|
|
71
76
|
{
|
|
@@ -92,28 +97,38 @@ export const prepareWithdraw = async ({ chainId, userAddress, toAddress, currenc
|
|
|
92
97
|
const vaultBalance = results[1].result || 0n;
|
|
93
98
|
const vaultAllowance = results[2].result || 0n;
|
|
94
99
|
const totalBalance = walletBalance + vaultBalance;
|
|
95
|
-
|
|
96
|
-
|
|
100
|
+
console.log('[prepareWithdraw] Raw amount:', rawAmount);
|
|
101
|
+
console.log('[prepareWithdraw] Wallet balance:', walletBalance);
|
|
102
|
+
console.log('[prepareWithdraw] Vault balance:', vaultBalance);
|
|
103
|
+
console.log('[prepareWithdraw] Vault allowance:', vaultAllowance);
|
|
104
|
+
console.log('[prepareWithdraw] Total balance:', totalBalance);
|
|
105
|
+
if (totalBalance < rawAmount) {
|
|
106
|
+
console.log('[prepareWithdraw] Insufficient funds - throwing error');
|
|
107
|
+
throw new NotEnoughFundsError(`Insufficient funds: need ${rawAmount}, but only have ${totalBalance} (wallet: ${walletBalance}, vault: ${vaultBalance})`, rawAmount, totalBalance);
|
|
97
108
|
}
|
|
98
109
|
const calls = [];
|
|
99
110
|
const maxValue = 2n ** 256n - 1n;
|
|
100
111
|
// If wallet has enough, just transfer
|
|
101
|
-
if (walletBalance >=
|
|
112
|
+
if (walletBalance >= rawAmount) {
|
|
113
|
+
console.log('[prepareWithdraw] Wallet has enough, transferring directly');
|
|
102
114
|
calls.push({
|
|
103
115
|
to: currency,
|
|
104
116
|
data: encodeFunctionData({
|
|
105
117
|
abi: erc20Abi,
|
|
106
118
|
functionName: 'transfer',
|
|
107
|
-
args: [toAddress,
|
|
119
|
+
args: [toAddress, rawAmount],
|
|
108
120
|
}),
|
|
109
121
|
value: 0n,
|
|
110
122
|
});
|
|
123
|
+
console.log('[prepareWithdraw] Returning 1 call (transfer)');
|
|
111
124
|
return calls;
|
|
112
125
|
}
|
|
113
126
|
// Need to withdraw from vault - determine how much
|
|
114
|
-
const amountToWithdraw =
|
|
127
|
+
const amountToWithdraw = rawAmount - walletBalance;
|
|
128
|
+
console.log('[prepareWithdraw] Need to withdraw from vault:', amountToWithdraw);
|
|
115
129
|
// Add approval if needed
|
|
116
130
|
if (vaultAllowance < amountToWithdraw) {
|
|
131
|
+
console.log('[prepareWithdraw] Adding approval call (allowance insufficient)');
|
|
117
132
|
calls.push({
|
|
118
133
|
to: vault.address,
|
|
119
134
|
data: encodeFunctionData({
|
|
@@ -124,6 +139,10 @@ export const prepareWithdraw = async ({ chainId, userAddress, toAddress, currenc
|
|
|
124
139
|
value: 0n,
|
|
125
140
|
});
|
|
126
141
|
}
|
|
142
|
+
else {
|
|
143
|
+
console.log('[prepareWithdraw] Approval not needed (sufficient allowance)');
|
|
144
|
+
}
|
|
145
|
+
console.log('[prepareWithdraw] Building withdraw transaction');
|
|
127
146
|
// Withdraw from vault to wallet
|
|
128
147
|
const withdrawTx = await withdrawFromVault({
|
|
129
148
|
chainId,
|
|
@@ -140,16 +159,19 @@ export const prepareWithdraw = async ({ chainId, userAddress, toAddress, currenc
|
|
|
140
159
|
data: withdrawTx.data,
|
|
141
160
|
value: withdrawTx.value,
|
|
142
161
|
});
|
|
162
|
+
console.log('[prepareWithdraw] Added withdraw call');
|
|
143
163
|
// Transfer from wallet to recipient
|
|
144
164
|
calls.push({
|
|
145
165
|
to: currency,
|
|
146
166
|
data: encodeFunctionData({
|
|
147
167
|
abi: erc20Abi,
|
|
148
168
|
functionName: 'transfer',
|
|
149
|
-
args: [toAddress,
|
|
169
|
+
args: [toAddress, rawAmount],
|
|
150
170
|
}),
|
|
151
171
|
value: 0n,
|
|
152
172
|
});
|
|
173
|
+
console.log('[prepareWithdraw] Added transfer call');
|
|
174
|
+
console.log('[prepareWithdraw] Returning', calls.length, 'calls');
|
|
153
175
|
return calls;
|
|
154
176
|
};
|
|
155
177
|
//# sourceMappingURL=prepare-withdraw.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"prepare-withdraw.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-withdraw.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"prepare-withdraw.js","sourceRoot":"","sources":["../../../../src/calls/batch/prepare-withdraw.ts"],"names":[],"mappings":"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"}
|