@curvefi/api 1.11.0 → 1.12.0
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/lib/curve.d.ts +1 -1
- package/lib/curve.js +37 -25
- package/lib/index.d.ts +1 -1
- package/package.json +1 -1
package/lib/curve.d.ts
CHANGED
|
@@ -54,7 +54,7 @@ declare class Curve {
|
|
|
54
54
|
maxPriorityFeePerGas?: number | ethers.BigNumber;
|
|
55
55
|
};
|
|
56
56
|
constructor();
|
|
57
|
-
init(providerType: 'JsonRpc' | 'Web3' | 'Infura', providerSettings: {
|
|
57
|
+
init(providerType: 'JsonRpc' | 'Web3' | 'Infura' | 'Alchemy', providerSettings: {
|
|
58
58
|
url?: string;
|
|
59
59
|
privateKey?: string;
|
|
60
60
|
} | {
|
package/lib/curve.js
CHANGED
|
@@ -103,9 +103,9 @@ var Curve = /** @class */ (function () {
|
|
|
103
103
|
) {
|
|
104
104
|
if (options === void 0) { options = {}; }
|
|
105
105
|
return __awaiter(this, void 0, void 0, function () {
|
|
106
|
-
var cTokens, yTokens, ycTokens, aTokens, network, customAbiTokens,
|
|
107
|
-
return __generator(this, function (
|
|
108
|
-
switch (
|
|
106
|
+
var cTokens, yTokens, ycTokens, aTokens, network, _a, customAbiTokens, _b, _i, _c, pool, _d, _e, coinAddr, _f, _g, coinAddr, _h, _j, coinAddr, addressProviderContract, _k;
|
|
107
|
+
return __generator(this, function (_l) {
|
|
108
|
+
switch (_l.label) {
|
|
109
109
|
case 0:
|
|
110
110
|
// JsonRpc provider
|
|
111
111
|
if (providerType.toLowerCase() === 'JsonRpc'.toLowerCase()) {
|
|
@@ -134,15 +134,24 @@ var Curve = /** @class */ (function () {
|
|
|
134
134
|
providerSettings = providerSettings;
|
|
135
135
|
this.provider = new ethers_1.ethers.providers.InfuraProvider(providerSettings.network, providerSettings.apiKey);
|
|
136
136
|
}
|
|
137
|
+
else if (providerType.toLowerCase() === 'Alchemy'.toLowerCase()) {
|
|
138
|
+
providerSettings = providerSettings;
|
|
139
|
+
this.provider = new ethers_1.ethers.providers.AlchemyProvider(providerSettings.network, providerSettings.apiKey);
|
|
140
|
+
}
|
|
137
141
|
else {
|
|
138
142
|
throw Error('Wrong providerType');
|
|
139
143
|
}
|
|
144
|
+
_a = this.provider.network;
|
|
145
|
+
if (_a) return [3 /*break*/, 2];
|
|
140
146
|
return [4 /*yield*/, this.provider._networkPromise];
|
|
141
147
|
case 1:
|
|
142
|
-
|
|
148
|
+
_a = (_l.sent());
|
|
149
|
+
_l.label = 2;
|
|
150
|
+
case 2:
|
|
151
|
+
network = _a;
|
|
143
152
|
console.log("CURVE-JS IS CONNECTED TO NETWORK:", network);
|
|
144
153
|
this.chainId = network.chainId;
|
|
145
|
-
if (network.chainId === 1) {
|
|
154
|
+
if (network.chainId === 1 || network.chainId === 1337) {
|
|
146
155
|
cTokens = coins_ethereum_1.cTokensEthereum;
|
|
147
156
|
yTokens = coins_ethereum_1.yTokensEthereum;
|
|
148
157
|
ycTokens = coins_ethereum_1.ycTokensEthereum;
|
|
@@ -192,22 +201,25 @@ var Curve = /** @class */ (function () {
|
|
|
192
201
|
customAbiTokens = __spreadArray(__spreadArray(__spreadArray(__spreadArray([], cTokens, true), yTokens, true), ycTokens, true), aTokens, true);
|
|
193
202
|
this.multicallProvider = new ethcall_1.Provider();
|
|
194
203
|
return [4 /*yield*/, this.multicallProvider.init(this.provider)];
|
|
195
|
-
case 2:
|
|
196
|
-
_k.sent();
|
|
197
|
-
if (!this.signer) return [3 /*break*/, 4];
|
|
198
|
-
_a = this;
|
|
199
|
-
return [4 /*yield*/, this.signer.getAddress()];
|
|
200
204
|
case 3:
|
|
201
|
-
|
|
202
|
-
|
|
205
|
+
_l.sent();
|
|
206
|
+
if (!this.signer) return [3 /*break*/, 5];
|
|
207
|
+
_b = this;
|
|
208
|
+
return [4 /*yield*/, this.signer.getAddress()];
|
|
203
209
|
case 4:
|
|
210
|
+
_b.signerAddress = _l.sent();
|
|
211
|
+
return [3 /*break*/, 6];
|
|
212
|
+
case 5:
|
|
213
|
+
this.signerAddress = '';
|
|
214
|
+
_l.label = 6;
|
|
215
|
+
case 6:
|
|
204
216
|
this.feeData = { gasPrice: options.gasPrice, maxFeePerGas: options.maxFeePerGas, maxPriorityFeePerGas: options.maxPriorityFeePerGas };
|
|
205
217
|
return [4 /*yield*/, this.updateFeeData()];
|
|
206
|
-
case
|
|
207
|
-
|
|
218
|
+
case 7:
|
|
219
|
+
_l.sent();
|
|
208
220
|
// TODO delete toLowerCase()
|
|
209
|
-
for (_i = 0,
|
|
210
|
-
pool =
|
|
221
|
+
for (_i = 0, _c = Object.values(exports.POOLS_DATA); _i < _c.length; _i++) {
|
|
222
|
+
pool = _c[_i];
|
|
211
223
|
this.contracts[pool.swap_address] = {
|
|
212
224
|
contract: new ethers_1.Contract(pool.swap_address, pool.swap_abi, this.signer || this.provider),
|
|
213
225
|
multicallContract: new ethcall_1.Contract(pool.swap_address, pool.swap_abi),
|
|
@@ -244,8 +256,8 @@ var Curve = /** @class */ (function () {
|
|
|
244
256
|
multicallContract: new ethcall_1.Contract(pool.deposit_address, pool.deposit_abi),
|
|
245
257
|
};
|
|
246
258
|
}
|
|
247
|
-
for (
|
|
248
|
-
coinAddr = _d
|
|
259
|
+
for (_d = 0, _e = pool.underlying_coin_addresses; _d < _e.length; _d++) {
|
|
260
|
+
coinAddr = _e[_d];
|
|
249
261
|
this.contracts[coinAddr] = {
|
|
250
262
|
contract: new ethers_1.Contract(coinAddr, ERC20_json_1.default, this.signer || this.provider),
|
|
251
263
|
multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
|
|
@@ -255,8 +267,8 @@ var Curve = /** @class */ (function () {
|
|
|
255
267
|
multicallContract: new ethcall_1.Contract(coinAddr, ERC20_json_1.default),
|
|
256
268
|
};
|
|
257
269
|
}
|
|
258
|
-
for (
|
|
259
|
-
coinAddr = _f
|
|
270
|
+
for (_f = 0, _g = pool.coin_addresses; _f < _g.length; _f++) {
|
|
271
|
+
coinAddr = _g[_f];
|
|
260
272
|
if (customAbiTokens.includes(coinAddr))
|
|
261
273
|
continue;
|
|
262
274
|
this.contracts[coinAddr] = {
|
|
@@ -269,8 +281,8 @@ var Curve = /** @class */ (function () {
|
|
|
269
281
|
};
|
|
270
282
|
}
|
|
271
283
|
// TODO add all coins
|
|
272
|
-
for (
|
|
273
|
-
coinAddr = _h
|
|
284
|
+
for (_h = 0, _j = pool.coin_addresses; _h < _j.length; _h++) {
|
|
285
|
+
coinAddr = _j[_h];
|
|
274
286
|
if (cTokens.includes(coinAddr)) {
|
|
275
287
|
this.contracts[coinAddr] = {
|
|
276
288
|
contract: new ethers_1.Contract(coinAddr, cERC20_json_1.default, this.signer || this.provider),
|
|
@@ -328,10 +340,10 @@ var Curve = /** @class */ (function () {
|
|
|
328
340
|
multicallContract: new ethcall_1.Contract(exports.ALIASES.address_provider, address_provider_json_1.default),
|
|
329
341
|
};
|
|
330
342
|
addressProviderContract = this.contracts[exports.ALIASES.address_provider].contract;
|
|
331
|
-
|
|
343
|
+
_k = exports.ALIASES;
|
|
332
344
|
return [4 /*yield*/, addressProviderContract.get_address(2, this.constantOptions)];
|
|
333
|
-
case
|
|
334
|
-
|
|
345
|
+
case 8:
|
|
346
|
+
_k.registry_exchange = _l.sent();
|
|
335
347
|
this.contracts[exports.ALIASES.registry_exchange] = {
|
|
336
348
|
contract: new ethers_1.Contract(exports.ALIASES.registry_exchange, registry_exchange_json_1.default, this.signer || this.provider),
|
|
337
349
|
multicallContract: new ethcall_1.Contract(exports.ALIASES.registry_exchange, registry_exchange_json_1.default),
|
package/lib/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { ethers } from "ethers";
|
|
2
2
|
import { Networkish } from "@ethersproject/networks";
|
|
3
3
|
import { Pool } from "./pools";
|
|
4
|
-
declare function init(providerType: 'JsonRpc' | 'Web3' | 'Infura', providerSettings: {
|
|
4
|
+
declare function init(providerType: 'JsonRpc' | 'Web3' | 'Infura' | 'Alchemy', providerSettings: {
|
|
5
5
|
url?: string;
|
|
6
6
|
privateKey?: string;
|
|
7
7
|
} | {
|