@ichidao/ichi-vaults-sdk 0.0.20 → 0.0.22
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 +254 -24
- package/dist/src/functions/calculateDtr.d.ts +3 -0
- package/dist/src/functions/calculateDtr.js +220 -0
- package/dist/src/functions/calculateDtr.js.map +1 -0
- package/dist/src/functions/calculateFees.d.ts +2 -1
- package/dist/src/functions/calculateFees.js +20 -121
- package/dist/src/functions/calculateFees.js.map +1 -1
- package/dist/src/functions/deposit.d.ts +1 -0
- package/dist/src/functions/deposit.js +120 -19
- package/dist/src/functions/deposit.js.map +1 -1
- package/dist/src/functions/priceFromPool.d.ts +7 -0
- package/dist/src/functions/priceFromPool.js +199 -0
- package/dist/src/functions/priceFromPool.js.map +1 -0
- package/dist/src/functions/vaultEvents.d.ts +6 -0
- package/dist/src/functions/{fees.js → vaultEvents.js} +132 -4
- package/dist/src/functions/vaultEvents.js.map +1 -0
- package/dist/src/functions/withdraw.d.ts +4 -0
- package/dist/src/functions/withdraw.js +227 -1
- package/dist/src/functions/withdraw.js.map +1 -1
- package/dist/src/graphql/queries.d.ts +2 -0
- package/dist/src/graphql/queries.js +8 -4
- package/dist/src/graphql/queries.js.map +1 -1
- package/dist/src/index.cjs.js +2 -1
- package/dist/src/index.d.ts +1 -0
- package/dist/src/index.esm.js +2 -1
- package/dist/src/index.js +1 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/src/functions/calculateDtr.d.ts +3 -0
- package/dist/src/src/functions/calculateFees.d.ts +2 -1
- package/dist/src/src/functions/deposit.d.ts +1 -0
- package/dist/src/src/functions/priceFromPool.d.ts +7 -0
- package/dist/src/src/functions/vaultEvents.d.ts +6 -0
- package/dist/src/src/functions/withdraw.d.ts +4 -0
- package/dist/src/src/graphql/queries.d.ts +2 -0
- package/dist/src/src/index.d.ts +1 -0
- package/dist/src/src/types/index.d.ts +19 -0
- package/dist/src/src/types/vaultQueryData.d.ts +7 -1
- package/dist/src/src/utils/amountWithSlippage.d.ts +2 -0
- package/dist/src/types/index.d.ts +19 -0
- package/dist/src/types/vaultQueryData.d.ts +7 -1
- package/dist/src/utils/amountWithSlippage.d.ts +2 -0
- package/dist/src/utils/amountWithSlippage.js +7 -0
- package/dist/src/utils/amountWithSlippage.js.map +1 -0
- package/dist/src/utils/config/addresses.js +3 -3
- package/package.json +1 -1
- package/dist/src/functions/fees.d.ts +0 -4
- package/dist/src/functions/fees.js.map +0 -1
- package/dist/src/src/functions/fees.d.ts +0 -4
@@ -41,27 +41,37 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
41
41
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
42
42
|
};
|
43
43
|
Object.defineProperty(exports, "__esModule", { value: true });
|
44
|
-
exports.getFeesCollectedInfo = exports.getFeesCollected = void 0;
|
44
|
+
exports.getFeesCollectedInfo = exports.getFeesCollected = exports.getTotalAmountsAtFeeCollectionEvent = void 0;
|
45
45
|
var bignumber_1 = require("@ethersproject/bignumber");
|
46
46
|
var types_1 = require("../types");
|
47
47
|
// eslint-disable-next-line import/no-cycle
|
48
48
|
var vault_1 = require("./vault");
|
49
|
-
var
|
49
|
+
var vaultEvents_1 = require("./vaultEvents");
|
50
50
|
var balances_1 = require("./balances");
|
51
51
|
var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
|
52
52
|
var timestamps_1 = __importDefault(require("../utils/timestamps"));
|
53
53
|
var deposit_1 = require("./deposit");
|
54
54
|
var getPrice_1 = __importDefault(require("../utils/getPrice"));
|
55
|
-
var
|
56
|
-
var addresses_1 = __importDefault(require("../utils/config/addresses"));
|
55
|
+
var priceFromPool_1 = require("./priceFromPool");
|
57
56
|
function getCollectedTokenAmountBN(ind, feesDataset) {
|
58
|
-
// const filteredDataset = feesDataset.filter((f) => f.createdAtTimestamp> now-days)
|
59
57
|
var amounts = ind === 0
|
60
58
|
? feesDataset.map(function (r) { return bignumber_1.BigNumber.from(r.feeAmount0); })
|
61
59
|
: feesDataset.map(function (r) { return bignumber_1.BigNumber.from(r.feeAmount1); });
|
62
60
|
var amountBN = amounts.reduce(function (total, curr) { return total.add(curr); }, bignumber_1.BigNumber.from(0));
|
63
61
|
return amountBN;
|
64
62
|
}
|
63
|
+
function getTotalAmountsAtFeeCollectionEvent(objFees, isVaultInverted, token0Decimals, token1Decimals) {
|
64
|
+
var price0 = !isVaultInverted
|
65
|
+
? 1
|
66
|
+
: (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objFees.sqrtPrice), token0Decimals, token1Decimals);
|
67
|
+
var price1 = isVaultInverted
|
68
|
+
? 1
|
69
|
+
: (0, getPrice_1.default)(isVaultInverted, bignumber_1.BigNumber.from(objFees.sqrtPrice), token0Decimals, token1Decimals);
|
70
|
+
var amount0 = Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objFees.totalAmount0), token0Decimals)) * price0;
|
71
|
+
var amount1 = Number((0, formatBigInt_1.default)(bignumber_1.BigNumber.from(objFees.totalAmount1), token1Decimals)) * price1;
|
72
|
+
return [amount0, amount1];
|
73
|
+
}
|
74
|
+
exports.getTotalAmountsAtFeeCollectionEvent = getTotalAmountsAtFeeCollectionEvent;
|
65
75
|
function getFeesAmountInBaseTokens(objFees, isVaultInverted, token0Decimals, token1Decimals) {
|
66
76
|
var price0 = !isVaultInverted
|
67
77
|
? 1
|
@@ -77,117 +87,6 @@ function getTotalFeesAmountInBaseTokens(feesDataset, t0decimals, t1decimals, isI
|
|
77
87
|
var amount = feesDataset.reduce(function (total, curr) { return total + getFeesAmountInBaseTokens(curr, isInverted, t0decimals, t1decimals); }, 0);
|
78
88
|
return amount;
|
79
89
|
}
|
80
|
-
function getSqrtPriceFromPool(vaultAddress, jsonProvider, dex) {
|
81
|
-
var _a;
|
82
|
-
return __awaiter(this, void 0, void 0, function () {
|
83
|
-
var chainId, vault, vaultContract, poolAddress, poolContract, globalState, poolContract, slot0, e_1;
|
84
|
-
return __generator(this, function (_b) {
|
85
|
-
switch (_b.label) {
|
86
|
-
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
87
|
-
case 1:
|
88
|
-
chainId = (_b.sent()).chainId;
|
89
|
-
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
90
|
-
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
91
|
-
}
|
92
|
-
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
|
93
|
-
case 2:
|
94
|
-
vault = _b.sent();
|
95
|
-
if (!vault)
|
96
|
-
throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
|
97
|
-
_b.label = 3;
|
98
|
-
case 3:
|
99
|
-
_b.trys.push([3, 9, , 10]);
|
100
|
-
vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
|
101
|
-
return [4 /*yield*/, vaultContract.pool()];
|
102
|
-
case 4:
|
103
|
-
poolAddress = _b.sent();
|
104
|
-
if (!((_a = addresses_1.default[chainId][dex]) === null || _a === void 0 ? void 0 : _a.isAlgebra)) return [3 /*break*/, 6];
|
105
|
-
poolContract = (0, contracts_1.getAlgebraPoolContract)(poolAddress, jsonProvider);
|
106
|
-
return [4 /*yield*/, poolContract.globalState()];
|
107
|
-
case 5:
|
108
|
-
globalState = _b.sent();
|
109
|
-
return [2 /*return*/, globalState.price];
|
110
|
-
case 6:
|
111
|
-
poolContract = (0, contracts_1.getUniswapV3PoolContract)(poolAddress, jsonProvider);
|
112
|
-
return [4 /*yield*/, poolContract.slot0()];
|
113
|
-
case 7:
|
114
|
-
slot0 = _b.sent();
|
115
|
-
return [2 /*return*/, slot0[0]];
|
116
|
-
case 8: return [3 /*break*/, 10];
|
117
|
-
case 9:
|
118
|
-
e_1 = _b.sent();
|
119
|
-
console.error("Could not get price from vault ".concat(vaultAddress, " "));
|
120
|
-
throw e_1;
|
121
|
-
case 10: return [2 /*return*/];
|
122
|
-
}
|
123
|
-
});
|
124
|
-
});
|
125
|
-
}
|
126
|
-
function getCurrPrice(vaultAddress, jsonProvider, dex, isVaultInverted, token0decimals, token1decimals) {
|
127
|
-
return __awaiter(this, void 0, void 0, function () {
|
128
|
-
var chainId, vault, sqrtPrice, depositTokenDecimals, scarseTokenDecimals, price, e_2;
|
129
|
-
return __generator(this, function (_a) {
|
130
|
-
switch (_a.label) {
|
131
|
-
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
132
|
-
case 1:
|
133
|
-
chainId = (_a.sent()).chainId;
|
134
|
-
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
135
|
-
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
136
|
-
}
|
137
|
-
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
|
138
|
-
case 2:
|
139
|
-
vault = _a.sent();
|
140
|
-
if (!vault)
|
141
|
-
throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
|
142
|
-
_a.label = 3;
|
143
|
-
case 3:
|
144
|
-
_a.trys.push([3, 5, , 6]);
|
145
|
-
return [4 /*yield*/, getSqrtPriceFromPool(vaultAddress, jsonProvider, dex)];
|
146
|
-
case 4:
|
147
|
-
sqrtPrice = _a.sent();
|
148
|
-
depositTokenDecimals = isVaultInverted ? token1decimals : token0decimals;
|
149
|
-
scarseTokenDecimals = isVaultInverted ? token0decimals : token1decimals;
|
150
|
-
price = (0, getPrice_1.default)(isVaultInverted, sqrtPrice, depositTokenDecimals, scarseTokenDecimals, 15);
|
151
|
-
return [2 /*return*/, price];
|
152
|
-
case 5:
|
153
|
-
e_2 = _a.sent();
|
154
|
-
console.error("Could not get price from vault ".concat(vaultAddress, " "));
|
155
|
-
throw e_2;
|
156
|
-
case 6: return [2 /*return*/];
|
157
|
-
}
|
158
|
-
});
|
159
|
-
});
|
160
|
-
}
|
161
|
-
function getVaultTvl(vaultAddress, jsonProvider, dex, isVaultInverted, token0decimals, token1decimals) {
|
162
|
-
return __awaiter(this, void 0, void 0, function () {
|
163
|
-
var chainId, vault, totalAmounts, price, tvl;
|
164
|
-
return __generator(this, function (_a) {
|
165
|
-
switch (_a.label) {
|
166
|
-
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
167
|
-
case 1:
|
168
|
-
chainId = (_a.sent()).chainId;
|
169
|
-
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
170
|
-
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
171
|
-
}
|
172
|
-
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
|
173
|
-
case 2:
|
174
|
-
vault = _a.sent();
|
175
|
-
if (!vault)
|
176
|
-
throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
|
177
|
-
return [4 /*yield*/, (0, balances_1.getTotalAmounts)(vaultAddress, jsonProvider, dex)];
|
178
|
-
case 3:
|
179
|
-
totalAmounts = _a.sent();
|
180
|
-
return [4 /*yield*/, getCurrPrice(vaultAddress, jsonProvider, dex, isVaultInverted, token0decimals, token1decimals)];
|
181
|
-
case 4:
|
182
|
-
price = _a.sent();
|
183
|
-
tvl = !isVaultInverted
|
184
|
-
? Number(totalAmounts.total0) + Number(totalAmounts.total1) * price
|
185
|
-
: Number(totalAmounts.total1) + Number(totalAmounts.total0) * price;
|
186
|
-
return [2 /*return*/, tvl];
|
187
|
-
}
|
188
|
-
});
|
189
|
-
});
|
190
|
-
}
|
191
90
|
function getFeesCollected(vaultAddress, jsonProvider, dex, rawOrDays, days) {
|
192
91
|
return __awaiter(this, void 0, void 0, function () {
|
193
92
|
var chainId, vault, token0Decimals, token1Decimals, numOfDays, rebalances, collectedFees, amount0BN, amount1BN, feeAmountsBN, feeAmounts;
|
@@ -211,12 +110,12 @@ function getFeesCollected(vaultAddress, jsonProvider, dex, rawOrDays, days) {
|
|
211
110
|
case 4:
|
212
111
|
token1Decimals = _a.sent();
|
213
112
|
numOfDays = typeof rawOrDays === 'boolean' ? days : rawOrDays;
|
214
|
-
return [4 /*yield*/, (0,
|
113
|
+
return [4 /*yield*/, (0, vaultEvents_1.getRebalances)(vaultAddress, jsonProvider, dex, numOfDays)];
|
215
114
|
case 5:
|
216
115
|
rebalances = _a.sent();
|
217
116
|
if (!rebalances)
|
218
117
|
throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
|
219
|
-
return [4 /*yield*/, (0,
|
118
|
+
return [4 /*yield*/, (0, vaultEvents_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, numOfDays)];
|
220
119
|
case 6:
|
221
120
|
collectedFees = _a.sent();
|
222
121
|
if (!collectedFees)
|
@@ -269,18 +168,18 @@ function getFeesCollectedInfo(vaultAddress, jsonProvider, dex, forDays) {
|
|
269
168
|
return [4 /*yield*/, (0, deposit_1.isTokenAllowed)(1, vaultAddress, jsonProvider, dex)];
|
270
169
|
case 5:
|
271
170
|
isVaultInverted = _a.sent();
|
272
|
-
return [4 /*yield*/, getVaultTvl(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals)];
|
171
|
+
return [4 /*yield*/, (0, priceFromPool_1.getVaultTvl)(vaultAddress, jsonProvider, dex, isVaultInverted, token0Decimals, token1Decimals)];
|
273
172
|
case 6:
|
274
173
|
tvl = _a.sent();
|
275
174
|
defaultArrayDays = [1, 7, 30];
|
276
175
|
arrayDays = forDays && forDays.length > 0 ? forDays : defaultArrayDays;
|
277
176
|
maxTimePeriod = Math.max.apply(Math, arrayDays);
|
278
|
-
return [4 /*yield*/, (0,
|
177
|
+
return [4 /*yield*/, (0, vaultEvents_1.getRebalances)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
|
279
178
|
case 7:
|
280
179
|
rebalances = _a.sent();
|
281
180
|
if (!rebalances)
|
282
181
|
throw new Error("Error getting vault rebalances on ".concat(chainId, " for ").concat(vaultAddress));
|
283
|
-
return [4 /*yield*/, (0,
|
182
|
+
return [4 /*yield*/, (0, vaultEvents_1.getFeesCollectedEvents)(vaultAddress, jsonProvider, dex, maxTimePeriod)];
|
284
183
|
case 8:
|
285
184
|
collectedFees = _a.sent();
|
286
185
|
if (!collectedFees)
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"calculateFees.js","sourceRoot":"","sources":["../../../src/functions/calculateFees.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,sDAAqD;AACrD,kCAAwG;AACxG,2CAA2C;AAC3C,iCAA2C;AAC3C
|
1
|
+
{"version":3,"file":"calculateFees.js","sourceRoot":"","sources":["../../../src/functions/calculateFees.ts"],"names":[],"mappings":"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"}
|
@@ -7,3 +7,4 @@ export declare function isDepositTokenApproved(accountAddress: string, tokenIdx:
|
|
7
7
|
export declare function approveDepositToken(accountAddress: string, tokenIdx: 0 | 1, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, amount?: string | number | BigNumber, overrides?: Overrides): Promise<ContractTransaction>;
|
8
8
|
export declare function getMaxDepositAmount(tokenIdx: 0 | 1, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<BigNumber>;
|
9
9
|
export declare function deposit(accountAddress: string, amount0: string | number | BigNumber, amount1: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, percentSlippage?: number, overrides?: Overrides): Promise<ContractTransaction>;
|
10
|
+
export declare function depositNativeToken(accountAddress: string, amount0: string | number | BigNumber, amount1: string | number | BigNumber, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, percentSlippage?: number, overrides?: Overrides): Promise<ContractTransaction>;
|
@@ -50,7 +50,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
50
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
51
51
|
};
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
53
|
-
exports.deposit = exports.getMaxDepositAmount = exports.approveDepositToken = exports.isDepositTokenApproved = exports.isTokenAllowed = void 0;
|
53
|
+
exports.depositNativeToken = exports.deposit = exports.getMaxDepositAmount = exports.approveDepositToken = exports.isDepositTokenApproved = exports.isTokenAllowed = void 0;
|
54
54
|
var constants_1 = require("@ethersproject/constants");
|
55
55
|
var ethers_1 = require("ethers");
|
56
56
|
var contracts_1 = require("../contracts");
|
@@ -61,6 +61,7 @@ var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
|
|
61
61
|
// eslint-disable-next-line import/no-cycle
|
62
62
|
var vault_1 = require("./vault");
|
63
63
|
var addresses_1 = __importDefault(require("../utils/config/addresses"));
|
64
|
+
var amountWithSlippage_1 = __importDefault(require("../utils/amountWithSlippage"));
|
64
65
|
function isTokenAllowed(tokenIdx, vaultAddress, jsonProvider, dex) {
|
65
66
|
return __awaiter(this, void 0, void 0, function () {
|
66
67
|
var chainId, vault, tokenAllowed;
|
@@ -189,25 +190,28 @@ function getMaxDepositAmount(tokenIdx, vaultAddress, jsonProvider, dex) {
|
|
189
190
|
}
|
190
191
|
exports.getMaxDepositAmount = getMaxDepositAmount;
|
191
192
|
function deposit(accountAddress, amount0, amount1, vaultAddress, jsonProvider, dex, percentSlippage, overrides) {
|
192
|
-
var _a, _b, _c, _d
|
193
|
+
var _a, _b, _c, _d;
|
193
194
|
if (percentSlippage === void 0) { percentSlippage = 1; }
|
194
195
|
return __awaiter(this, void 0, void 0, function () {
|
195
|
-
var chainId, signer, vault, vaultDeployerAddress, token0, token1, isToken0Allowed, isToken1Allowed, token0Contract, token1Contract, token0Decimals, token1Decimals, amount0BN, amount1BN, depositAmount, depositToken, depositGuardAddress, depositGuardContract, lpAmount, gasLimit,
|
196
|
-
return __generator(this, function (
|
197
|
-
switch (
|
196
|
+
var chainId, signer, vault, vaultDeployerAddress, token0, token1, isToken0Allowed, isToken1Allowed, token0Contract, token1Contract, token0Decimals, token1Decimals, amount0BN, amount1BN, depositAmount, depositToken, depositGuardAddress, depositGuardContract, lpAmount, gasLimit, _e, _f, tx;
|
197
|
+
return __generator(this, function (_g) {
|
198
|
+
switch (_g.label) {
|
198
199
|
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
199
200
|
case 1:
|
200
|
-
chainId = (
|
201
|
+
chainId = (_g.sent()).chainId;
|
201
202
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
202
203
|
throw new Error("Unsupported chainId: ".concat(chainId));
|
203
204
|
}
|
204
205
|
signer = jsonProvider.getSigner(accountAddress);
|
205
206
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
|
206
207
|
case 2:
|
207
|
-
vault =
|
208
|
+
vault = _g.sent();
|
208
209
|
if (!vault)
|
209
210
|
throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
|
210
|
-
vaultDeployerAddress = (
|
211
|
+
vaultDeployerAddress = (_a = addresses_1.default[chainId][dex]) === null || _a === void 0 ? void 0 : _a.vaultDeployerAddress;
|
212
|
+
if (!vaultDeployerAddress) {
|
213
|
+
throw new Error("Vault deployer not found for vault ".concat(vaultAddress, " on chain ").concat(chainId, " and dex ").concat(dex));
|
214
|
+
}
|
211
215
|
token0 = vault.tokenA;
|
212
216
|
token1 = vault.tokenB;
|
213
217
|
isToken0Allowed = vault.allowTokenA;
|
@@ -216,10 +220,10 @@ function deposit(accountAddress, amount0, amount1, vaultAddress, jsonProvider, d
|
|
216
220
|
token1Contract = (0, contracts_1.getERC20Contract)(token1, signer);
|
217
221
|
return [4 /*yield*/, token0Contract.decimals()];
|
218
222
|
case 3:
|
219
|
-
token0Decimals =
|
223
|
+
token0Decimals = _g.sent();
|
220
224
|
return [4 /*yield*/, token1Contract.decimals()];
|
221
225
|
case 4:
|
222
|
-
token1Decimals =
|
226
|
+
token1Decimals = _g.sent();
|
223
227
|
amount0BN = amount0 instanceof ethers_1.BigNumber ? amount0 : (0, parseBigInt_1.default)(amount0, +token0Decimals);
|
224
228
|
amount1BN = amount1 instanceof ethers_1.BigNumber ? amount1 : (0, parseBigInt_1.default)(amount1, +token1Decimals);
|
225
229
|
if (!isToken0Allowed && amount0BN > ethers_1.BigNumber.from(0)) {
|
@@ -234,37 +238,134 @@ function deposit(accountAddress, amount0, amount1, vaultAddress, jsonProvider, d
|
|
234
238
|
depositAmount = amount1BN;
|
235
239
|
depositToken = token1;
|
236
240
|
}
|
237
|
-
depositGuardAddress = (
|
241
|
+
depositGuardAddress = (_c = (_b = addresses_1.default[chainId][dex]) === null || _b === void 0 ? void 0 : _b.depositGuard.address) !== null && _c !== void 0 ? _c : '';
|
238
242
|
depositGuardContract = (0, contracts_1.getDepositGuardContract)(depositGuardAddress, signer);
|
239
243
|
return [4 /*yield*/, depositGuardContract.callStatic.forwardDepositToICHIVault(vaultAddress, vaultDeployerAddress, depositToken, depositAmount, ethers_1.BigNumber.from(0), accountAddress, {
|
240
244
|
gasLimit: 5e6, // the deposit via guard tx should never exceed 5e6
|
241
245
|
})];
|
242
246
|
case 5:
|
243
|
-
lpAmount =
|
247
|
+
lpAmount = _g.sent();
|
244
248
|
// reduce the estimated LP amount by an acceptable slippage %, for example 1%
|
245
249
|
if (percentSlippage < 0.01)
|
246
250
|
throw new Error('Slippage parameter is less than 0.01%.');
|
247
251
|
if (percentSlippage > 100)
|
248
252
|
throw new Error('Slippage parameter is more than 100%.');
|
249
253
|
lpAmount = lpAmount.mul(Math.floor((100 - percentSlippage) * 1000)).div(100000);
|
250
|
-
if (!((
|
251
|
-
|
254
|
+
if (!((_d = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _d !== void 0)) return [3 /*break*/, 6];
|
255
|
+
_e = _d;
|
252
256
|
return [3 /*break*/, 8];
|
253
257
|
case 6:
|
254
|
-
|
258
|
+
_f = calculateGasMargin_1.default;
|
255
259
|
return [4 /*yield*/, depositGuardContract.estimateGas.forwardDepositToICHIVault(vaultAddress, vaultDeployerAddress, depositToken, depositAmount, lpAmount, accountAddress)];
|
256
260
|
case 7:
|
257
|
-
|
258
|
-
|
261
|
+
_e = _f.apply(void 0, [_g.sent()]);
|
262
|
+
_g.label = 8;
|
259
263
|
case 8:
|
260
|
-
gasLimit =
|
264
|
+
gasLimit = _e;
|
261
265
|
return [4 /*yield*/, depositGuardContract.forwardDepositToICHIVault(vaultAddress, vaultDeployerAddress, depositToken, depositAmount, lpAmount, accountAddress, __assign(__assign({}, overrides), { gasLimit: gasLimit }))];
|
262
266
|
case 9:
|
263
|
-
tx =
|
267
|
+
tx = _g.sent();
|
264
268
|
return [2 /*return*/, tx];
|
265
269
|
}
|
266
270
|
});
|
267
271
|
});
|
268
272
|
}
|
269
273
|
exports.deposit = deposit;
|
274
|
+
function depositNativeToken(accountAddress, amount0, amount1, vaultAddress, jsonProvider, dex, percentSlippage, overrides) {
|
275
|
+
var _a, _b, _c, _d;
|
276
|
+
if (percentSlippage === void 0) { percentSlippage = 1; }
|
277
|
+
return __awaiter(this, void 0, void 0, function () {
|
278
|
+
var chainId, signer, vault, vaultDeployerAddress, token0, token1, isToken0Allowed, isToken1Allowed, token0Contract, token1Contract, token0Decimals, token1Decimals, amount0BN, amount1BN, depositAmount, depositToken, depositGuardAddress, depositGuardContract, wrappedNative, lpAmount, gasLimit, _e, _f, tx;
|
279
|
+
return __generator(this, function (_g) {
|
280
|
+
switch (_g.label) {
|
281
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
282
|
+
case 1:
|
283
|
+
chainId = (_g.sent()).chainId;
|
284
|
+
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
285
|
+
throw new Error("Unsupported chainId: ".concat(chainId));
|
286
|
+
}
|
287
|
+
if (((_a = addresses_1.default[chainId][dex]) === null || _a === void 0 ? void 0 : _a.depositGuard.version) !== 2) {
|
288
|
+
throw new Error("Unsupported function for vault ".concat(vaultAddress, " on chain ").concat(chainId, " and dex ").concat(dex));
|
289
|
+
}
|
290
|
+
signer = jsonProvider.getSigner(accountAddress);
|
291
|
+
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress, jsonProvider)];
|
292
|
+
case 2:
|
293
|
+
vault = _g.sent();
|
294
|
+
if (!vault)
|
295
|
+
throw new Error("Vault ".concat(vaultAddress, " not found on chain ").concat(chainId, " and dex ").concat(dex));
|
296
|
+
vaultDeployerAddress = (_b = addresses_1.default[chainId][dex]) === null || _b === void 0 ? void 0 : _b.vaultDeployerAddress;
|
297
|
+
if (!vaultDeployerAddress) {
|
298
|
+
throw new Error("Vault deployer not found for vault ".concat(vaultAddress, " on chain ").concat(chainId, " and dex ").concat(dex));
|
299
|
+
}
|
300
|
+
token0 = vault.tokenA;
|
301
|
+
token1 = vault.tokenB;
|
302
|
+
isToken0Allowed = vault.allowTokenA;
|
303
|
+
isToken1Allowed = vault.allowTokenB;
|
304
|
+
token0Contract = (0, contracts_1.getERC20Contract)(token0, signer);
|
305
|
+
token1Contract = (0, contracts_1.getERC20Contract)(token1, signer);
|
306
|
+
return [4 /*yield*/, token0Contract.decimals()];
|
307
|
+
case 3:
|
308
|
+
token0Decimals = _g.sent();
|
309
|
+
return [4 /*yield*/, token1Contract.decimals()];
|
310
|
+
case 4:
|
311
|
+
token1Decimals = _g.sent();
|
312
|
+
amount0BN = amount0 instanceof ethers_1.BigNumber ? amount0 : (0, parseBigInt_1.default)(amount0, +token0Decimals);
|
313
|
+
amount1BN = amount1 instanceof ethers_1.BigNumber ? amount1 : (0, parseBigInt_1.default)(amount1, +token1Decimals);
|
314
|
+
if (!isToken0Allowed && amount0BN > ethers_1.BigNumber.from(0)) {
|
315
|
+
throw new Error("Deposit of token0 is not allowed: ".concat(chainId, ", ").concat(vaultAddress));
|
316
|
+
}
|
317
|
+
if (!isToken1Allowed && amount1BN > ethers_1.BigNumber.from(0)) {
|
318
|
+
throw new Error("Deposit of token1 is not allowed: ".concat(chainId, ", ").concat(vaultAddress));
|
319
|
+
}
|
320
|
+
depositAmount = amount0BN;
|
321
|
+
depositToken = token0;
|
322
|
+
if (amount1BN > ethers_1.BigNumber.from(0)) {
|
323
|
+
depositAmount = amount1BN;
|
324
|
+
depositToken = token1;
|
325
|
+
}
|
326
|
+
depositGuardAddress = (_c = addresses_1.default[chainId][dex]) === null || _c === void 0 ? void 0 : _c.depositGuard.address;
|
327
|
+
if (!depositGuardAddress) {
|
328
|
+
throw new Error("Deposit Guard not found for vault ".concat(vaultAddress, " on chain ").concat(chainId, " and dex ").concat(dex));
|
329
|
+
}
|
330
|
+
depositGuardContract = (0, contracts_1.getDepositGuardContract)(depositGuardAddress, signer);
|
331
|
+
return [4 /*yield*/, depositGuardContract.WRAPPED_NATIVE()];
|
332
|
+
case 5:
|
333
|
+
wrappedNative = _g.sent();
|
334
|
+
if (wrappedNative !== depositToken) {
|
335
|
+
throw new Error('Deposit token is not wrapped native token');
|
336
|
+
}
|
337
|
+
return [4 /*yield*/, depositGuardContract.callStatic.forwardNativeDepositToICHIVault(vaultAddress, vaultDeployerAddress, ethers_1.BigNumber.from(0), accountAddress, {
|
338
|
+
value: depositAmount,
|
339
|
+
gasLimit: 5e6, // the deposit via guard tx should never exceed 5e6
|
340
|
+
})];
|
341
|
+
case 6:
|
342
|
+
lpAmount = _g.sent();
|
343
|
+
// reduce the estimated LP amount by an acceptable slippage %, for example 1%
|
344
|
+
if (percentSlippage < 0.01)
|
345
|
+
throw new Error('Slippage parameter is less than 0.01%.');
|
346
|
+
if (percentSlippage > 100)
|
347
|
+
throw new Error('Slippage parameter is more than 100%.');
|
348
|
+
lpAmount = (0, amountWithSlippage_1.default)(lpAmount, percentSlippage);
|
349
|
+
if (!((_d = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _d !== void 0)) return [3 /*break*/, 7];
|
350
|
+
_e = _d;
|
351
|
+
return [3 /*break*/, 9];
|
352
|
+
case 7:
|
353
|
+
_f = calculateGasMargin_1.default;
|
354
|
+
return [4 /*yield*/, depositGuardContract.estimateGas.forwardNativeDepositToICHIVault(vaultAddress, vaultDeployerAddress, lpAmount, accountAddress, {
|
355
|
+
value: depositAmount,
|
356
|
+
})];
|
357
|
+
case 8:
|
358
|
+
_e = _f.apply(void 0, [_g.sent()]);
|
359
|
+
_g.label = 9;
|
360
|
+
case 9:
|
361
|
+
gasLimit = _e;
|
362
|
+
return [4 /*yield*/, depositGuardContract.forwardNativeDepositToICHIVault(vaultAddress, vaultDeployerAddress, lpAmount, accountAddress, __assign(__assign({ value: depositAmount }, overrides), { gasLimit: gasLimit }))];
|
363
|
+
case 10:
|
364
|
+
tx = _g.sent();
|
365
|
+
return [2 /*return*/, tx];
|
366
|
+
}
|
367
|
+
});
|
368
|
+
});
|
369
|
+
}
|
370
|
+
exports.depositNativeToken = depositNativeToken;
|
270
371
|
//# sourceMappingURL=deposit.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/functions/deposit.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/functions/deposit.ts"],"names":[],"mappings":"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"}
|
@@ -0,0 +1,7 @@
|
|
1
|
+
import { JsonRpcProvider } from '@ethersproject/providers';
|
2
|
+
import { BigNumber } from '@ethersproject/bignumber';
|
3
|
+
import { SupportedDex } from '../types';
|
4
|
+
export declare function getSqrtPriceFromPool(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<BigNumber>;
|
5
|
+
export declare function getCurrPrice(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, isVaultInverted: boolean, token0decimals: number, token1decimals: number): Promise<number>;
|
6
|
+
export declare function getCurrentDtr(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, isVaultInverted: boolean, token0decimals: number, token1decimals: number): Promise<number>;
|
7
|
+
export declare function getVaultTvl(vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, isVaultInverted: boolean, token0decimals: number, token1decimals: number): Promise<number>;
|