@ichidao/ichi-vaults-sdk 0.0.1 → 0.0.3
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 +155 -93
- package/dist/src/__tests__/index.test.js +28 -5
- package/dist/src/__tests__/index.test.js.map +1 -1
- package/dist/src/functions/balances.js +36 -31
- package/dist/src/functions/balances.js.map +1 -1
- package/dist/src/functions/deposit.js +40 -34
- package/dist/src/functions/deposit.js.map +1 -1
- package/dist/src/functions/vault.d.ts +2 -1
- package/dist/src/functions/vault.js +63 -2
- package/dist/src/functions/vault.js.map +1 -1
- package/dist/src/functions/withdraw.js +11 -9
- package/dist/src/functions/withdraw.js.map +1 -1
- package/dist/src/index.cjs.js +2 -1
- 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/vault.d.ts +2 -1
- package/dist/src/src/types/index.d.ts +9 -1
- package/dist/src/src/types/vaultQueryData.d.ts +4 -7
- package/dist/src/types/index.d.ts +9 -1
- package/dist/src/types/index.js +1 -0
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/vaultQueryData.d.ts +4 -7
- package/package.json +1 -1
@@ -46,6 +46,7 @@ var ethers_1 = require("ethers");
|
|
46
46
|
var contracts_1 = require("../contracts");
|
47
47
|
var types_1 = require("../types");
|
48
48
|
var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
|
49
|
+
// eslint-disable-next-line import/no-cycle
|
49
50
|
var vault_1 = require("./vault");
|
50
51
|
function getTokenDecimals(tokenAddress, jsonProvider) {
|
51
52
|
return __awaiter(this, void 0, void 0, function () {
|
@@ -68,19 +69,20 @@ function getUserBalance(accountAddress, vaultAddress, jsonProvider, dex, raw) {
|
|
68
69
|
var chainId, vault, vaultContract, shares;
|
69
70
|
return __generator(this, function (_a) {
|
70
71
|
switch (_a.label) {
|
71
|
-
case 0:
|
72
|
-
|
72
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
73
|
+
case 1:
|
74
|
+
chainId = (_a.sent()).chainId;
|
73
75
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
74
76
|
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
75
77
|
}
|
76
78
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
77
|
-
case
|
79
|
+
case 2:
|
78
80
|
vault = _a.sent();
|
79
81
|
if (!vault)
|
80
82
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
81
83
|
vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
|
82
84
|
return [4 /*yield*/, vaultContract.balanceOf(accountAddress)];
|
83
|
-
case
|
85
|
+
case 3:
|
84
86
|
shares = _a.sent();
|
85
87
|
return [2 /*return*/, raw ? shares : (0, formatBigInt_1.default)(shares, types_1.ichiVaultDecimals)];
|
86
88
|
}
|
@@ -93,26 +95,27 @@ function getTotalAmounts(vaultAddress, jsonProvider, dex, raw) {
|
|
93
95
|
var chainId, vault, vaultContract, totalAmountsBN, token0Decimals, token1Decimals, totalAmounts;
|
94
96
|
return __generator(this, function (_a) {
|
95
97
|
switch (_a.label) {
|
96
|
-
case 0:
|
97
|
-
|
98
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
99
|
+
case 1:
|
100
|
+
chainId = (_a.sent()).chainId;
|
98
101
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
99
102
|
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
100
103
|
}
|
101
104
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
102
|
-
case
|
105
|
+
case 2:
|
103
106
|
vault = _a.sent();
|
104
107
|
if (!vault)
|
105
108
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
106
109
|
vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
|
107
110
|
return [4 /*yield*/, vaultContract.getTotalAmounts()];
|
108
|
-
case
|
111
|
+
case 3:
|
109
112
|
totalAmountsBN = _a.sent();
|
110
|
-
if (!!raw) return [3 /*break*/,
|
113
|
+
if (!!raw) return [3 /*break*/, 6];
|
111
114
|
return [4 /*yield*/, getTokenDecimals(vault.tokenA, jsonProvider)];
|
112
|
-
case
|
115
|
+
case 4:
|
113
116
|
token0Decimals = _a.sent();
|
114
117
|
return [4 /*yield*/, getTokenDecimals(vault.tokenB, jsonProvider)];
|
115
|
-
case
|
118
|
+
case 5:
|
116
119
|
token1Decimals = _a.sent();
|
117
120
|
totalAmounts = {
|
118
121
|
total0: (0, formatBigInt_1.default)(totalAmountsBN.total0, token0Decimals),
|
@@ -121,7 +124,7 @@ function getTotalAmounts(vaultAddress, jsonProvider, dex, raw) {
|
|
121
124
|
1: (0, formatBigInt_1.default)(totalAmountsBN.total1, token1Decimals),
|
122
125
|
};
|
123
126
|
return [2 /*return*/, totalAmounts];
|
124
|
-
case
|
127
|
+
case 6: return [2 /*return*/, totalAmountsBN];
|
125
128
|
}
|
126
129
|
});
|
127
130
|
});
|
@@ -132,19 +135,20 @@ function getTotalSupply(vaultAddress, jsonProvider, dex, raw) {
|
|
132
135
|
var chainId, vault, vaultContract, totalSupply;
|
133
136
|
return __generator(this, function (_a) {
|
134
137
|
switch (_a.label) {
|
135
|
-
case 0:
|
136
|
-
|
138
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
139
|
+
case 1:
|
140
|
+
chainId = (_a.sent()).chainId;
|
137
141
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
138
142
|
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
139
143
|
}
|
140
144
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
141
|
-
case
|
145
|
+
case 2:
|
142
146
|
vault = _a.sent();
|
143
147
|
if (!vault)
|
144
148
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
145
149
|
vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
|
146
150
|
return [4 /*yield*/, vaultContract.totalSupply()];
|
147
|
-
case
|
151
|
+
case 3:
|
148
152
|
totalSupply = _a.sent();
|
149
153
|
return [2 /*return*/, raw ? totalSupply : (0, formatBigInt_1.default)(totalSupply, types_1.ichiVaultDecimals)];
|
150
154
|
}
|
@@ -157,39 +161,40 @@ function getUserAmounts(accountAddress, vaultAddress, jsonProvider, dex, raw) {
|
|
157
161
|
var chainId, vaultContract, vault, totalAmountsBN, totalSupplyBN, userBalanceBN, userAmountsBN, token0Decimals, token1Decimals, userAmounts;
|
158
162
|
return __generator(this, function (_a) {
|
159
163
|
switch (_a.label) {
|
160
|
-
case 0:
|
161
|
-
|
164
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
165
|
+
case 1:
|
166
|
+
chainId = (_a.sent()).chainId;
|
162
167
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
163
168
|
throw new Error("Unsupported chainId: ".concat(chainId));
|
164
169
|
}
|
165
170
|
vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, jsonProvider);
|
166
171
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
167
|
-
case
|
172
|
+
case 2:
|
168
173
|
vault = _a.sent();
|
169
174
|
if (!vault)
|
170
175
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
171
176
|
return [4 /*yield*/, getTotalAmounts(vaultAddress, jsonProvider, dex, true)];
|
172
|
-
case
|
177
|
+
case 3:
|
173
178
|
totalAmountsBN = _a.sent();
|
174
179
|
return [4 /*yield*/, vaultContract.totalSupply()];
|
175
|
-
case
|
180
|
+
case 4:
|
176
181
|
totalSupplyBN = _a.sent();
|
177
182
|
return [4 /*yield*/, getUserBalance(accountAddress, vaultAddress, jsonProvider, dex, true)];
|
178
|
-
case
|
183
|
+
case 5:
|
179
184
|
userBalanceBN = _a.sent();
|
180
|
-
if (!(totalSupplyBN !== ethers_1.BigNumber.from(0))) return [3 /*break*/,
|
185
|
+
if (!(totalSupplyBN !== ethers_1.BigNumber.from(0))) return [3 /*break*/, 10];
|
181
186
|
userAmountsBN = {
|
182
187
|
amount0: userBalanceBN.mul(totalAmountsBN[0]).div(totalSupplyBN),
|
183
188
|
amount1: userBalanceBN.mul(totalAmountsBN[1]).div(totalSupplyBN),
|
184
189
|
0: userBalanceBN.mul(totalAmountsBN[0]).div(totalSupplyBN),
|
185
190
|
1: userBalanceBN.mul(totalAmountsBN[1]).div(totalSupplyBN),
|
186
191
|
};
|
187
|
-
if (!!raw) return [3 /*break*/,
|
192
|
+
if (!!raw) return [3 /*break*/, 8];
|
188
193
|
return [4 /*yield*/, getTokenDecimals(vault.tokenA, jsonProvider)];
|
189
|
-
case
|
194
|
+
case 6:
|
190
195
|
token0Decimals = _a.sent();
|
191
196
|
return [4 /*yield*/, getTokenDecimals(vault.tokenB, jsonProvider)];
|
192
|
-
case
|
197
|
+
case 7:
|
193
198
|
token1Decimals = _a.sent();
|
194
199
|
userAmounts = {
|
195
200
|
amount0: (0, formatBigInt_1.default)(userAmountsBN.amount0, token0Decimals),
|
@@ -198,9 +203,9 @@ function getUserAmounts(accountAddress, vaultAddress, jsonProvider, dex, raw) {
|
|
198
203
|
1: (0, formatBigInt_1.default)(userAmountsBN.amount1, token1Decimals),
|
199
204
|
};
|
200
205
|
return [2 /*return*/, userAmounts];
|
201
|
-
case
|
202
|
-
case
|
203
|
-
case
|
206
|
+
case 8: return [2 /*return*/, userAmountsBN];
|
207
|
+
case 9: return [3 /*break*/, 11];
|
208
|
+
case 10:
|
204
209
|
if (!raw) {
|
205
210
|
return [2 /*return*/, {
|
206
211
|
amount0: '0',
|
@@ -217,8 +222,8 @@ function getUserAmounts(accountAddress, vaultAddress, jsonProvider, dex, raw) {
|
|
217
222
|
1: ethers_1.BigNumber.from(0),
|
218
223
|
}];
|
219
224
|
}
|
220
|
-
_a.label =
|
221
|
-
case
|
225
|
+
_a.label = 11;
|
226
|
+
case 11: return [2 /*return*/];
|
222
227
|
}
|
223
228
|
});
|
224
229
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../src/functions/balances.ts"],"names":[],"mappings":";AAAA,iCAAiC;AACjC,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGjD,iCAAmC;AACnC,0CAAsE;AACtE,kCAQkB;AAClB,uEAAiD;AACjD,iCAA2C;AAE3C,SAAsB,gBAAgB,CAAC,YAAoB,EAAE,YAA6B;;;;;;oBAClF,aAAa,GAAG,IAAA,4BAAgB,EAAC,YAAY,EAAE,YAAY,CAAC,CAAC;oBAC7C,qBAAM,aAAa,CAAC,QAAQ,EAAE,EAAA;;oBAA9C,aAAa,GAAG,SAA8B;oBACpD,sBAAO,aAAa,aAAb,aAAa,cAAb,aAAa,GAAI,EAAE,EAAC;;;;CAC5B;AAJD,4CAIC;AAiBD,SAAsB,cAAc,CAClC,cAAsB,EACtB,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,GAAU
|
1
|
+
{"version":3,"file":"balances.js","sourceRoot":"","sources":["../../../src/functions/balances.ts"],"names":[],"mappings":"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"}
|
@@ -58,6 +58,7 @@ var parseBigInt_1 = __importDefault(require("../utils/parseBigInt"));
|
|
58
58
|
var types_1 = require("../types");
|
59
59
|
var calculateGasMargin_1 = __importDefault(require("../types/calculateGasMargin"));
|
60
60
|
var formatBigInt_1 = __importDefault(require("../utils/formatBigInt"));
|
61
|
+
// eslint-disable-next-line import/no-cycle
|
61
62
|
var vault_1 = require("./vault");
|
62
63
|
var addresses_1 = __importDefault(require("../utils/config/addresses"));
|
63
64
|
function isTokenAllowed(tokenIdx, vaultAddress, jsonProvider, dex) {
|
@@ -65,13 +66,14 @@ function isTokenAllowed(tokenIdx, vaultAddress, jsonProvider, dex) {
|
|
65
66
|
var chainId, vault, tokenAllowed;
|
66
67
|
return __generator(this, function (_a) {
|
67
68
|
switch (_a.label) {
|
68
|
-
case 0:
|
69
|
-
|
69
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
70
|
+
case 1:
|
71
|
+
chainId = (_a.sent()).chainId;
|
70
72
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
71
73
|
throw new Error("Unsupported chainId: ".concat(chainId));
|
72
74
|
}
|
73
75
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
74
|
-
case
|
76
|
+
case 2:
|
75
77
|
vault = _a.sent();
|
76
78
|
if (!vault)
|
77
79
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
@@ -87,24 +89,25 @@ function isDepositTokenApproved(accountAddress, tokenIdx, amount, vaultAddress,
|
|
87
89
|
var chainId, signer, vault, token, tokenContract, currentAllowanceBN, tokenDecimals, currentAllowance;
|
88
90
|
return __generator(this, function (_a) {
|
89
91
|
switch (_a.label) {
|
90
|
-
case 0:
|
91
|
-
|
92
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
93
|
+
case 1:
|
94
|
+
chainId = (_a.sent()).chainId;
|
92
95
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
93
96
|
throw new Error("Unsupported chainId: ".concat(chainId));
|
94
97
|
}
|
95
98
|
signer = jsonProvider.getSigner(accountAddress);
|
96
99
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
97
|
-
case
|
100
|
+
case 2:
|
98
101
|
vault = _a.sent();
|
99
102
|
if (!vault)
|
100
103
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
101
104
|
token = vault[tokenIdx === 0 ? 'tokenA' : 'tokenB'];
|
102
105
|
tokenContract = (0, contracts_1.getERC20Contract)(token, signer);
|
103
106
|
return [4 /*yield*/, tokenContract.allowance(accountAddress, vaultAddress)];
|
104
|
-
case
|
107
|
+
case 3:
|
105
108
|
currentAllowanceBN = _a.sent();
|
106
109
|
return [4 /*yield*/, tokenContract.decimals()];
|
107
|
-
case
|
110
|
+
case 4:
|
108
111
|
tokenDecimals = _a.sent();
|
109
112
|
currentAllowance = +(0, formatBigInt_1.default)(currentAllowanceBN, +tokenDecimals);
|
110
113
|
return [2 /*return*/, currentAllowance !== 0 && currentAllowance >= +(amount !== null && amount !== void 0 ? amount : 0)];
|
@@ -119,21 +122,22 @@ function approveDepositToken(accountAddress, tokenIdx, vaultAddress, jsonProvide
|
|
119
122
|
var chainId, signer, vault, token, tokenContract, tokenDecimals, amountBN, depositGuardAddress, gasLimit, _d, _e;
|
120
123
|
return __generator(this, function (_f) {
|
121
124
|
switch (_f.label) {
|
122
|
-
case 0:
|
123
|
-
|
125
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
126
|
+
case 1:
|
127
|
+
chainId = (_f.sent()).chainId;
|
124
128
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
125
129
|
throw new Error("Unsupported chainId: ".concat(chainId));
|
126
130
|
}
|
127
131
|
signer = jsonProvider.getSigner(accountAddress);
|
128
132
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
129
|
-
case
|
133
|
+
case 2:
|
130
134
|
vault = _f.sent();
|
131
135
|
if (!vault)
|
132
136
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
133
137
|
token = vault[tokenIdx === 0 ? 'tokenA' : 'tokenB'];
|
134
138
|
tokenContract = (0, contracts_1.getERC20Contract)(token, signer);
|
135
139
|
return [4 /*yield*/, tokenContract.decimals()];
|
136
|
-
case
|
140
|
+
case 3:
|
137
141
|
tokenDecimals = _f.sent();
|
138
142
|
amountBN = amount
|
139
143
|
? amount instanceof ethers_1.BigNumber
|
@@ -141,16 +145,16 @@ function approveDepositToken(accountAddress, tokenIdx, vaultAddress, jsonProvide
|
|
141
145
|
: (0, parseBigInt_1.default)(amount, +tokenDecimals || 18)
|
142
146
|
: constants_1.MaxUint256;
|
143
147
|
depositGuardAddress = (_b = (_a = addresses_1.default[chainId][dex]) === null || _a === void 0 ? void 0 : _a.depositGuardAddress) !== null && _b !== void 0 ? _b : '';
|
144
|
-
if (!((_c = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _c !== void 0)) return [3 /*break*/,
|
148
|
+
if (!((_c = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _c !== void 0)) return [3 /*break*/, 4];
|
145
149
|
_d = _c;
|
146
|
-
return [3 /*break*/,
|
147
|
-
case
|
150
|
+
return [3 /*break*/, 6];
|
151
|
+
case 4:
|
148
152
|
_e = calculateGasMargin_1.default;
|
149
153
|
return [4 /*yield*/, tokenContract.estimateGas.approve(depositGuardAddress, amountBN)];
|
150
|
-
case 4:
|
151
|
-
_d = _e.apply(void 0, [_f.sent()]);
|
152
|
-
_f.label = 5;
|
153
154
|
case 5:
|
155
|
+
_d = _e.apply(void 0, [_f.sent()]);
|
156
|
+
_f.label = 6;
|
157
|
+
case 6:
|
154
158
|
gasLimit = _d;
|
155
159
|
return [2 /*return*/, tokenContract.approve(depositGuardAddress, amountBN, { gasLimit: gasLimit })];
|
156
160
|
}
|
@@ -163,13 +167,14 @@ function getMaxDepositAmount(tokenIdx, vaultAddress, jsonProvider, dex) {
|
|
163
167
|
var chainId, vault, vaultContract, maxDepositAmount;
|
164
168
|
return __generator(this, function (_a) {
|
165
169
|
switch (_a.label) {
|
166
|
-
case 0:
|
167
|
-
|
170
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
171
|
+
case 1:
|
172
|
+
chainId = (_a.sent()).chainId;
|
168
173
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
169
174
|
throw new Error("Unsupported chainId: ".concat(chainId));
|
170
175
|
}
|
171
176
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
172
|
-
case
|
177
|
+
case 2:
|
173
178
|
vault = _a.sent();
|
174
179
|
if (!vault)
|
175
180
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
@@ -188,14 +193,15 @@ function deposit(accountAddress, amount0, amount1, vaultAddress, jsonProvider, d
|
|
188
193
|
var chainId, signer, vault, vaultDeployerAddress, token0, token1, isToken0Allowed, isToken1Allowed, token0Contract, token1Contract, token0Decimals, token1Decimals, amount0BN, amount1BN, depositAmount, depositToken, depositGuardAddress, depositGuardContract, lpAmount, gasLimit, _f, _g, tx;
|
189
194
|
return __generator(this, function (_h) {
|
190
195
|
switch (_h.label) {
|
191
|
-
case 0:
|
192
|
-
|
196
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
197
|
+
case 1:
|
198
|
+
chainId = (_h.sent()).chainId;
|
193
199
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
194
200
|
throw new Error("Unsupported chainId: ".concat(chainId));
|
195
201
|
}
|
196
202
|
signer = jsonProvider.getSigner(accountAddress);
|
197
203
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
198
|
-
case
|
204
|
+
case 2:
|
199
205
|
vault = _h.sent();
|
200
206
|
if (!vault)
|
201
207
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
@@ -207,10 +213,10 @@ function deposit(accountAddress, amount0, amount1, vaultAddress, jsonProvider, d
|
|
207
213
|
token0Contract = (0, contracts_1.getERC20Contract)(token0, signer);
|
208
214
|
token1Contract = (0, contracts_1.getERC20Contract)(token1, signer);
|
209
215
|
return [4 /*yield*/, token0Contract.decimals()];
|
210
|
-
case
|
216
|
+
case 3:
|
211
217
|
token0Decimals = _h.sent();
|
212
218
|
return [4 /*yield*/, token1Contract.decimals()];
|
213
|
-
case
|
219
|
+
case 4:
|
214
220
|
token1Decimals = _h.sent();
|
215
221
|
amount0BN = amount0 instanceof ethers_1.BigNumber ? amount0 : (0, parseBigInt_1.default)(amount0, +token0Decimals);
|
216
222
|
amount1BN = amount1 instanceof ethers_1.BigNumber ? amount1 : (0, parseBigInt_1.default)(amount1, +token1Decimals);
|
@@ -229,7 +235,7 @@ function deposit(accountAddress, amount0, amount1, vaultAddress, jsonProvider, d
|
|
229
235
|
depositGuardAddress = (_d = (_c = addresses_1.default[chainId][dex]) === null || _c === void 0 ? void 0 : _c.depositGuardAddress) !== null && _d !== void 0 ? _d : '';
|
230
236
|
depositGuardContract = (0, contracts_1.getDepositGuardContract)(depositGuardAddress, signer);
|
231
237
|
return [4 /*yield*/, depositGuardContract.callStatic.forwardDepositToICHIVault(vaultAddress, vaultDeployerAddress, depositToken, depositAmount, ethers_1.BigNumber.from(0), accountAddress)];
|
232
|
-
case
|
238
|
+
case 5:
|
233
239
|
lpAmount = _h.sent();
|
234
240
|
// reduce the estimated LP amount by an acceptable slippage %, for example 1%
|
235
241
|
if (percentSlippage < 0.01)
|
@@ -237,19 +243,19 @@ function deposit(accountAddress, amount0, amount1, vaultAddress, jsonProvider, d
|
|
237
243
|
if (percentSlippage > 100)
|
238
244
|
throw new Error('Slippage parameter is more than 100%.');
|
239
245
|
lpAmount = lpAmount.mul(Math.floor((100 - percentSlippage) * 1000)).div(100000);
|
240
|
-
if (!((_e = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _e !== void 0)) return [3 /*break*/,
|
246
|
+
if (!((_e = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _e !== void 0)) return [3 /*break*/, 6];
|
241
247
|
_f = _e;
|
242
|
-
return [3 /*break*/,
|
243
|
-
case
|
248
|
+
return [3 /*break*/, 8];
|
249
|
+
case 6:
|
244
250
|
_g = calculateGasMargin_1.default;
|
245
251
|
return [4 /*yield*/, depositGuardContract.estimateGas.forwardDepositToICHIVault(vaultAddress, vaultDeployerAddress, depositToken, depositAmount, lpAmount, accountAddress)];
|
246
|
-
case 6:
|
247
|
-
_f = _g.apply(void 0, [_h.sent()]);
|
248
|
-
_h.label = 7;
|
249
252
|
case 7:
|
253
|
+
_f = _g.apply(void 0, [_h.sent()]);
|
254
|
+
_h.label = 8;
|
255
|
+
case 8:
|
250
256
|
gasLimit = _f;
|
251
257
|
return [4 /*yield*/, depositGuardContract.forwardDepositToICHIVault(vaultAddress, vaultDeployerAddress, depositToken, depositAmount, lpAmount, accountAddress, __assign(__assign({}, overrides), { gasLimit: gasLimit }))];
|
252
|
-
case
|
258
|
+
case 9:
|
253
259
|
tx = _h.sent();
|
254
260
|
return [2 /*return*/, tx];
|
255
261
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/functions/deposit.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,sDAAsD;AACtD,iCAAmC;AACnC,0CAA+F;AAC/F,qEAA+C;AAC/C,kCAA0D;AAC1D,mFAA6D;AAC7D,uEAAiD;AACjD,iCAA2C;AAC3C,wEAAsD;AAEtD,SAAsB,cAAc,CAClC,QAAe,EACf,YAAoB,EACpB,YAA6B,EAC7B,GAAiB
|
1
|
+
{"version":3,"file":"deposit.js","sourceRoot":"","sources":["../../../src/functions/deposit.ts"],"names":[],"mappings":"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"}
|
@@ -1,3 +1,4 @@
|
|
1
1
|
import { SupportedDex, SupportedChainId } from '../types';
|
2
|
-
import { VaultQueryData } from '../types/vaultQueryData';
|
2
|
+
import { VaultQueryData, VaultsByTokensQueryData } from '../types/vaultQueryData';
|
3
3
|
export declare function getIchiVaultInfo(chainId: SupportedChainId, dex: SupportedDex, vaultAddress: string): Promise<VaultQueryData['ichiVault']>;
|
4
|
+
export declare function getVaultsByTokens(chainId: SupportedChainId, dex: SupportedDex, depositTokenAddress: string, pairedTokenAddress: string): Promise<VaultsByTokensQueryData['ichiVaults']>;
|
@@ -39,9 +39,18 @@ var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
39
39
|
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
40
40
|
}
|
41
41
|
};
|
42
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
43
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
44
|
+
if (ar || !(i in from)) {
|
45
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
46
|
+
ar[i] = from[i];
|
47
|
+
}
|
48
|
+
}
|
49
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
50
|
+
};
|
42
51
|
var _a, _b, _c, _d, _e;
|
43
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
44
|
-
exports.getIchiVaultInfo = void 0;
|
53
|
+
exports.getVaultsByTokens = exports.getIchiVaultInfo = void 0;
|
45
54
|
// eslint-disable-next-line import/no-unresolved
|
46
55
|
var graphql_request_1 = require("graphql-request");
|
47
56
|
var types_1 = require("../types");
|
@@ -49,6 +58,7 @@ var promises = {};
|
|
49
58
|
var urls = (_a = {},
|
50
59
|
_a[types_1.SupportedChainId.arbitrum] = (_b = {},
|
51
60
|
_b[types_1.SupportedDex.UniswapV3] = 'https://api.thegraph.com/subgraphs/name/ichi-org/arbitrum-v1',
|
61
|
+
_b[types_1.SupportedDex.Ramses] = 'https://api.thegraph.com/subgraphs/name/ichi-org/arbitrum-v1-ramses',
|
52
62
|
_b),
|
53
63
|
_a[types_1.SupportedChainId.mainnet] = (_c = {},
|
54
64
|
_c[types_1.SupportedDex.UniswapV3] = 'https://api.thegraph.com/subgraphs/name/ichi-org/mainnet-v1',
|
@@ -62,6 +72,7 @@ var urls = (_a = {},
|
|
62
72
|
_e),
|
63
73
|
_a);
|
64
74
|
var vaultQuery = (0, graphql_request_1.gql)(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n"], ["\n query ($vaultAddress: String!) {\n ichiVault(id: $vaultAddress) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n"])));
|
75
|
+
var vaultByTokensQuery = (0, graphql_request_1.gql)(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n query ($addressTokenA: String!, $addressTokenB: String!) {\n ichiVaults(where: { tokenA: $addressTokenA, tokenB: $addressTokenB }) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n"], ["\n query ($addressTokenA: String!, $addressTokenB: String!) {\n ichiVaults(where: { tokenA: $addressTokenA, tokenB: $addressTokenB }) {\n id\n tokenA\n tokenB\n allowTokenA\n allowTokenB\n }\n }\n"])));
|
65
76
|
// eslint-disable-next-line import/prefer-default-export
|
66
77
|
function getIchiVaultInfo(chainId, dex, vaultAddress) {
|
67
78
|
return __awaiter(this, void 0, void 0, function () {
|
@@ -92,5 +103,55 @@ function getIchiVaultInfo(chainId, dex, vaultAddress) {
|
|
92
103
|
});
|
93
104
|
}
|
94
105
|
exports.getIchiVaultInfo = getIchiVaultInfo;
|
95
|
-
|
106
|
+
function getVaultsByTokens(chainId, dex, depositTokenAddress, pairedTokenAddress) {
|
107
|
+
return __awaiter(this, void 0, void 0, function () {
|
108
|
+
var url, addressTokenA, addressTokenB, key1, arrVaults1, key2, arrVaults2;
|
109
|
+
return __generator(this, function (_a) {
|
110
|
+
switch (_a.label) {
|
111
|
+
case 0:
|
112
|
+
url = urls[chainId][dex];
|
113
|
+
if (!url)
|
114
|
+
throw new Error("Unsupported DEX ".concat(dex, " on chain ").concat(chainId));
|
115
|
+
addressTokenA = depositTokenAddress;
|
116
|
+
addressTokenB = pairedTokenAddress;
|
117
|
+
key1 = "".concat(addressTokenA, "-").concat(addressTokenB);
|
118
|
+
if (Object.prototype.hasOwnProperty.call(promises, key1))
|
119
|
+
return [2 /*return*/, promises[key1]];
|
120
|
+
promises[key1] = (0, graphql_request_1.request)(url, vaultByTokensQuery, {
|
121
|
+
addressTokenA: addressTokenA,
|
122
|
+
addressTokenB: addressTokenB,
|
123
|
+
})
|
124
|
+
.then(function (_a) {
|
125
|
+
var ichiVaults = _a.ichiVaults;
|
126
|
+
return ichiVaults;
|
127
|
+
})
|
128
|
+
.finally(function () { return setTimeout(function () { return delete promises[key1]; }, 2 * 60 * 100 /* 2 mins */); });
|
129
|
+
return [4 /*yield*/, promises[key1]];
|
130
|
+
case 1:
|
131
|
+
arrVaults1 = (_a.sent()).filter(function (v) { return v.allowTokenA; });
|
132
|
+
addressTokenA = pairedTokenAddress;
|
133
|
+
addressTokenB = depositTokenAddress;
|
134
|
+
key2 = "".concat(addressTokenA, "-").concat(addressTokenB);
|
135
|
+
if (Object.prototype.hasOwnProperty.call(promises, key2))
|
136
|
+
return [2 /*return*/, promises[key2]];
|
137
|
+
promises[key2] = (0, graphql_request_1.request)(url, vaultByTokensQuery, {
|
138
|
+
addressTokenA: addressTokenA,
|
139
|
+
addressTokenB: addressTokenB,
|
140
|
+
})
|
141
|
+
.then(function (_a) {
|
142
|
+
var ichiVaults = _a.ichiVaults;
|
143
|
+
return ichiVaults;
|
144
|
+
})
|
145
|
+
.finally(function () { return setTimeout(function () { return delete promises[key2]; }, 2 * 60 * 100 /* 2 mins */); });
|
146
|
+
return [4 /*yield*/, promises[key2]];
|
147
|
+
case 2:
|
148
|
+
arrVaults2 = (_a.sent()).filter(function (v) { return v.allowTokenB; });
|
149
|
+
// eslint-disable-next-line no-return-await
|
150
|
+
return [2 /*return*/, __spreadArray(__spreadArray([], arrVaults1, true), arrVaults2, true)];
|
151
|
+
}
|
152
|
+
});
|
153
|
+
});
|
154
|
+
}
|
155
|
+
exports.getVaultsByTokens = getVaultsByTokens;
|
156
|
+
var templateObject_1, templateObject_2;
|
96
157
|
//# sourceMappingURL=vault.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/functions/vault.ts"],"names":[],"mappings":"
|
1
|
+
{"version":3,"file":"vault.js","sourceRoot":"","sources":["../../../src/functions/vault.ts"],"names":[],"mappings":"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"}
|
@@ -57,6 +57,7 @@ var contracts_1 = require("../contracts");
|
|
57
57
|
var parseBigInt_1 = __importDefault(require("../utils/parseBigInt"));
|
58
58
|
var types_1 = require("../types");
|
59
59
|
var calculateGasMargin_1 = __importDefault(require("../types/calculateGasMargin"));
|
60
|
+
// eslint-disable-next-line import/no-cycle
|
60
61
|
var vault_1 = require("./vault");
|
61
62
|
function withdraw(accountAddress, shares, vaultAddress, jsonProvider, dex, overrides) {
|
62
63
|
var _a;
|
@@ -65,15 +66,16 @@ function withdraw(accountAddress, shares, vaultAddress, jsonProvider, dex, overr
|
|
65
66
|
var _d;
|
66
67
|
return __generator(this, function (_e) {
|
67
68
|
switch (_e.label) {
|
68
|
-
case 0:
|
69
|
-
|
69
|
+
case 0: return [4 /*yield*/, jsonProvider.getNetwork()];
|
70
|
+
case 1:
|
71
|
+
chainId = (_e.sent()).chainId;
|
70
72
|
if (!Object.values(types_1.SupportedChainId).includes(chainId)) {
|
71
73
|
throw new Error("Unsupported chainId: ".concat(chainId !== null && chainId !== void 0 ? chainId : 'undefined'));
|
72
74
|
}
|
73
75
|
signer = jsonProvider.getSigner(accountAddress);
|
74
76
|
vaultContract = (0, contracts_1.getIchiVaultContract)(vaultAddress, signer);
|
75
77
|
return [4 /*yield*/, (0, vault_1.getIchiVaultInfo)(chainId, dex, vaultAddress)];
|
76
|
-
case
|
78
|
+
case 2:
|
77
79
|
vault = _e.sent();
|
78
80
|
if (!vault)
|
79
81
|
throw new Error("Vault not found [".concat(chainId, ", ").concat(vaultAddress, "]"));
|
@@ -81,16 +83,16 @@ function withdraw(accountAddress, shares, vaultAddress, jsonProvider, dex, overr
|
|
81
83
|
shares instanceof ethers_1.BigNumber ? shares : (0, parseBigInt_1.default)(shares, 18),
|
82
84
|
accountAddress,
|
83
85
|
];
|
84
|
-
if (!((_a = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _a !== void 0)) return [3 /*break*/,
|
86
|
+
if (!((_a = overrides === null || overrides === void 0 ? void 0 : overrides.gasLimit) !== null && _a !== void 0)) return [3 /*break*/, 3];
|
85
87
|
_b = _a;
|
86
|
-
return [3 /*break*/,
|
87
|
-
case
|
88
|
+
return [3 /*break*/, 5];
|
89
|
+
case 3:
|
88
90
|
_c = calculateGasMargin_1.default;
|
89
91
|
return [4 /*yield*/, (_d = vaultContract.estimateGas).withdraw.apply(_d, params)];
|
90
|
-
case 3:
|
91
|
-
_b = _c.apply(void 0, [_e.sent()]);
|
92
|
-
_e.label = 4;
|
93
92
|
case 4:
|
93
|
+
_b = _c.apply(void 0, [_e.sent()]);
|
94
|
+
_e.label = 5;
|
95
|
+
case 5:
|
94
96
|
gasLimit = _b;
|
95
97
|
params[2] = __assign(__assign({}, overrides), { gasLimit: gasLimit });
|
96
98
|
return [2 /*return*/, vaultContract.withdraw.apply(vaultContract, params)];
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/functions/withdraw.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIjD,iCAAmC;AACnC,0CAAoD;AACpD,qEAA+C;AAC/C,kCAA0D;AAC1D,mFAA6D;AAC7D,iCAA2C;AAE3C,SAAsB,QAAQ,CAC5B,cAAsB,EACtB,MAAmC,EACnC,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,SAAqB
|
1
|
+
{"version":3,"file":"withdraw.js","sourceRoot":"","sources":["../../../src/functions/withdraw.ts"],"names":[],"mappings":";AAAA,iDAAiD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIjD,iCAAmC;AACnC,0CAAoD;AACpD,qEAA+C;AAC/C,kCAA0D;AAC1D,mFAA6D;AAC7D,2CAA2C;AAC3C,iCAA2C;AAE3C,SAAsB,QAAQ,CAC5B,cAAsB,EACtB,MAAmC,EACnC,YAAoB,EACpB,YAA6B,EAC7B,GAAiB,EACjB,SAAqB;;;;;;;wBAED,qBAAM,YAAY,CAAC,UAAU,EAAE,EAAA;;oBAA3C,OAAO,GAAK,CAAA,SAA+B,CAAA,QAApC;oBAEf,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,wBAAgB,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;wBACtD,MAAM,IAAI,KAAK,CAAC,+BAAwB,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,WAAW,CAAE,CAAC,CAAC;qBACnE;oBAEK,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;oBAEhD,aAAa,GAAG,IAAA,gCAAoB,EAAC,YAAY,EAAE,MAAM,CAAC,CAAC;oBACnD,qBAAM,IAAA,wBAAgB,EAAC,OAAO,EAAE,GAAG,EAAE,YAAY,CAAC,EAAA;;oBAA1D,KAAK,GAAG,SAAkD;oBAChE,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,2BAAoB,OAAO,eAAK,YAAY,MAAG,CAAC,CAAC;oBAEvE,MAAM,GAA8C;wBACxD,MAAM,YAAY,kBAAS,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAA,qBAAW,EAAC,MAAM,EAAE,EAAE,CAAC;wBAC9D,cAAc;qBACf,CAAC;gCAEe,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,QAAQ;;;;oBAAI,KAAA,4BAAkB,CAAA;oBAAC,qBAAM,CAAA,KAAA,aAAa,CAAC,WAAW,CAAA,CAAC,QAAQ,WAAI,MAAM,GAAC;;oBAAtE,KAAA,kBAAmB,SAAmD,EAAC,CAAA;;;oBAAzG,QAAQ,KAAiG;oBAE/G,MAAM,CAAC,CAAC,CAAC,yBAAQ,SAAS,KAAE,QAAQ,UAAA,GAAE,CAAC;oBAEvC,sBAAO,aAAa,CAAC,QAAQ,OAAtB,aAAa,EAAa,MAAM,GAAE;;;;CAC1C;AA9BD,4BA8BC"}
|
package/dist/src/index.cjs.js
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
/**
|
3
3
|
* @license
|
4
4
|
* author: ICHI DAO <core@ichi.org>
|
5
|
-
* ichi-vaults-sdk.js v0.0.
|
5
|
+
* ichi-vaults-sdk.js v0.0.3
|
6
6
|
* Released under the MIT license.
|
7
7
|
*/
|
8
8
|
|
@@ -11,6 +11,7 @@
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
12
|
var tslib_1 = require("tslib");
|
13
13
|
/* eslint-disable import/prefer-default-export */
|
14
|
+
// eslint-disable-next-line import/no-cycle
|
14
15
|
tslib_1.__exportStar(require("./functions/balances"), exports);
|
15
16
|
tslib_1.__exportStar(require("./functions/deposit"), exports);
|
16
17
|
tslib_1.__exportStar(require("./functions/withdraw"), exports);
|