@curvefi/api 1.25.0 → 2.0.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/README.md +775 -589
- package/docs/v1/README.md +916 -0
- package/lib/boosting.d.ts +12 -12
- package/lib/boosting.js +23 -23
- package/lib/constants/abis/{json/2pool → 2pool}/swap.json +0 -0
- package/lib/constants/abis/{json/3pool → 3pool}/swap.json +0 -0
- package/lib/constants/abis/{json/4pool → 4pool}/swap.json +0 -0
- package/lib/constants/abis/{json/ERC20.json → ERC20.json} +0 -0
- package/lib/constants/abis/{json/aave → aave}/rewards.json +0 -0
- package/lib/constants/abis/{json/aave → aave}/swap.json +0 -0
- package/lib/constants/abis/{json/address_provider.json → address_provider.json} +0 -0
- package/lib/constants/abis/{json/ankreth → ankreth}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/ankreth → ankreth}/swap.json +0 -0
- package/lib/constants/abis/{json/atricrypto3 → atricrypto3}/swap.json +0 -0
- package/lib/constants/abis/{json/atricrypto3 → atricrypto3}/zap.json +0 -0
- package/lib/constants/abis/{json/bbtc → bbtc}/deposit.json +0 -0
- package/lib/constants/abis/{json/bbtc → bbtc}/swap.json +0 -0
- package/lib/constants/abis/{json/busd → busd}/deposit.json +0 -0
- package/lib/constants/abis/{json/busd → busd}/swap.json +0 -0
- package/lib/constants/abis/{json/cERC20.json → cERC20.json} +0 -0
- package/lib/constants/abis/{json/compound → compound}/deposit.json +0 -0
- package/lib/constants/abis/{json/compound → compound}/swap.json +0 -0
- package/lib/constants/abis/{json/crveth → crveth}/swap.json +0 -0
- package/lib/constants/abis/{json/deposit_and_stake.json → deposit_and_stake.json} +0 -0
- package/lib/constants/abis/{json/dusd → dusd}/deposit.json +0 -0
- package/lib/constants/abis/{json/dusd → dusd}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/dusd → dusd}/swap.json +0 -0
- package/lib/constants/abis/{json/eurs → eurs}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/eurs → eurs}/swap.json +0 -0
- package/lib/constants/abis/{json/eursusd → eursusd}/swap.json +0 -0
- package/lib/constants/abis/{json/eurt → eurt}/swap.json +0 -0
- package/lib/constants/abis/{json/eurtusd → eurtusd}/deposit.json +0 -0
- package/lib/constants/abis/{json/eurtusd → eurtusd}/swap.json +0 -0
- package/lib/constants/abis/{json/factory-crypto → factory-crypto}/factory-crypto-pool-2.json +0 -0
- package/lib/constants/abis/{json/factory-crypto.json → factory-crypto.json} +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/DepositZapMetaBtcPolygon.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/DepositZapMetaUsdPolygon.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTC.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTCBalances.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTCBalancesRen.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaBTCRen.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaUSD.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/MetaUSDBalances.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2Balances.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2Basic.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2ETH.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain2Optimized.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3Balances.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3Basic.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3ETH.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain3Optimized.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4Balances.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4Basic.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4ETH.json +0 -0
- package/lib/constants/abis/{json/factory-v2 → factory-v2}/Plain4Optimized.json +0 -0
- package/lib/constants/abis/{json/factory.json → factory.json} +0 -0
- package/lib/constants/abis/{json/factoryPools → factoryPools}/deposit.json +0 -0
- package/lib/constants/abis/{json/factoryPools → factoryPools}/rewards.json +0 -0
- package/lib/constants/abis/{json/factoryPools → factoryPools}/swap.json +0 -0
- package/lib/constants/abis/{json/gauge.json → gauge.json} +0 -0
- package/lib/constants/abis/{json/gauge_factory.json → gauge_factory.json} +0 -0
- package/lib/constants/abis/{json/gauge_rewards_only.json → gauge_rewards_only.json} +0 -0
- package/lib/constants/abis/{json/gauge_synthetix.json → gauge_synthetix.json} +0 -0
- package/lib/constants/abis/{json/gauge_v2.json → gauge_v2.json} +0 -0
- package/lib/constants/abis/{json/gauge_v3.json → gauge_v3.json} +0 -0
- package/lib/constants/abis/{json/gauge_v4.json → gauge_v4.json} +0 -0
- package/lib/constants/abis/{json/gauge_v5.json → gauge_v5.json} +0 -0
- package/lib/constants/abis/{json/gaugecontroller.json → gaugecontroller.json} +0 -0
- package/lib/constants/abis/{json/gusd → gusd}/deposit.json +0 -0
- package/lib/constants/abis/{json/gusd → gusd}/swap.json +0 -0
- package/lib/constants/abis/{json/hbtc → hbtc}/swap.json +0 -0
- package/lib/constants/abis/{json/husd → husd}/deposit.json +0 -0
- package/lib/constants/abis/{json/husd → husd}/swap.json +0 -0
- package/lib/constants/abis/{json/ib → ib}/swap.json +0 -0
- package/lib/constants/abis/{json/iearn → iearn}/deposit.json +0 -0
- package/lib/constants/abis/{json/iearn → iearn}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/iearn → iearn}/swap.json +0 -0
- package/lib/constants/abis/{json/link → link}/swap.json +0 -0
- package/lib/constants/abis/{json/minter.json → minter.json} +0 -0
- package/lib/constants/abis/{json/musd → musd}/deposit.json +0 -0
- package/lib/constants/abis/{json/musd → musd}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/musd → musd}/swap.json +0 -0
- package/lib/constants/abis/{json/obtc → obtc}/deposit.json +0 -0
- package/lib/constants/abis/{json/obtc → obtc}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/obtc → obtc}/swap.json +0 -0
- package/lib/constants/abis/{json/paave → paave}/rewards.json +0 -0
- package/lib/constants/abis/{json/pax → pax}/deposit.json +0 -0
- package/lib/constants/abis/{json/pax → pax}/swap.json +0 -0
- package/lib/constants/abis/{json/pbtc → pbtc}/deposit.json +0 -0
- package/lib/constants/abis/{json/pbtc → pbtc}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/pbtc → pbtc}/swap.json +0 -0
- package/lib/constants/abis/{json/rai → rai}/deposit.json +0 -0
- package/lib/constants/abis/{json/rai → rai}/swap.json +0 -0
- package/lib/constants/abis/{json/registry_exchange.json → registry_exchange.json} +0 -0
- package/lib/constants/abis/{json/ren → ren}/swap.json +0 -0
- package/lib/constants/abis/{json/ren-polygon → ren-polygon}/swap.json +0 -0
- package/lib/constants/abis/{json/reth → reth}/swap.json +0 -0
- package/lib/constants/abis/{json/router.json → router.json} +0 -0
- package/lib/constants/abis/{json/rsv → rsv}/deposit.json +0 -0
- package/lib/constants/abis/{json/rsv → rsv}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/rsv → rsv}/swap.json +0 -0
- package/lib/constants/abis/{json/saave → saave}/swap.json +0 -0
- package/lib/constants/abis/{json/sbtc → sbtc}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/sbtc → sbtc}/swap.json +0 -0
- package/lib/constants/abis/{json/seth → seth}/swap.json +0 -0
- package/lib/constants/abis/{json/steth → steth}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/steth → steth}/swap.json +0 -0
- package/lib/constants/abis/{json/streamer.json → streamer.json} +0 -0
- package/lib/constants/abis/{json/susdv2 → susdv2}/deposit.json +0 -0
- package/lib/constants/abis/{json/susdv2 → susdv2}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/susdv2 → susdv2}/swap.json +0 -0
- package/lib/constants/abis/{json/tbtc → tbtc}/deposit.json +0 -0
- package/lib/constants/abis/{json/tbtc → tbtc}/sCurveRewards.json +0 -0
- package/lib/constants/abis/{json/tbtc → tbtc}/swap.json +0 -0
- package/lib/constants/abis/{json/tricrypto2 → tricrypto2}/deposit.json +0 -0
- package/lib/constants/abis/{json/tricrypto2 → tricrypto2}/swap.json +0 -0
- package/lib/constants/abis/{json/usdk → usdk}/deposit.json +0 -0
- package/lib/constants/abis/{json/usdk → usdk}/swap.json +0 -0
- package/lib/constants/abis/{json/usdn → usdn}/deposit.json +0 -0
- package/lib/constants/abis/{json/usdn → usdn}/swap.json +0 -0
- package/lib/constants/abis/{json/usdp → usdp}/deposit.json +0 -0
- package/lib/constants/abis/{json/usdp → usdp}/swap.json +0 -0
- package/lib/constants/abis/{json/usdt → usdt}/deposit.json +0 -0
- package/lib/constants/abis/{json/usdt → usdt}/swap.json +0 -0
- package/lib/constants/abis/{json/ust → ust}/deposit.json +0 -0
- package/lib/constants/abis/{json/ust → ust}/swap.json +0 -0
- package/lib/constants/abis/{json/votingescrow.json → votingescrow.json} +0 -0
- package/lib/constants/abis/{json/yERC20.json → yERC20.json} +0 -0
- package/lib/constants/aliases.d.ts +2 -24
- package/lib/constants/aliases.js +5 -4
- package/lib/constants/{coins-ethereum.d.ts → coins/ethereum.d.ts} +0 -9
- package/lib/constants/{coins-ethereum.js → coins/ethereum.js} +12 -23
- package/lib/constants/{coins-polygon.d.ts → coins/polygon.d.ts} +0 -12
- package/lib/constants/{coins-polygon.js → coins/polygon.js} +8 -20
- package/lib/constants/pools/ethereum.d.ts +2 -0
- package/lib/constants/{abis/abis-ethereum.js → pools/ethereum.js} +517 -1012
- package/lib/constants/pools/index.d.ts +3 -0
- package/lib/constants/pools/index.js +7 -0
- package/lib/constants/pools/polygon.d.ts +4 -0
- package/lib/constants/{abis/abis-polygon.js → pools/polygon.js} +53 -81
- package/lib/constants/utils.d.ts +5 -0
- package/lib/constants/utils.js +69 -0
- package/lib/curve.d.ts +10 -32
- package/lib/curve.js +189 -232
- package/lib/external-api.d.ts +3 -1
- package/lib/external-api.js +34 -1
- package/lib/factory/constants.d.ts +15 -15
- package/lib/factory/constants.js +19 -19
- package/lib/factory/factory-api.d.ts +2 -2
- package/lib/factory/factory-api.js +52 -45
- package/lib/factory/factory-crypto.d.ts +2 -2
- package/lib/factory/factory-crypto.js +23 -31
- package/lib/factory/factory.d.ts +2 -2
- package/lib/factory/factory.js +53 -66
- package/lib/index.d.ts +36 -53
- package/lib/index.js +27 -35
- package/lib/interfaces.d.ts +35 -72
- package/lib/pools/PoolTemplate.d.ts +210 -0
- package/lib/pools/PoolTemplate.js +2292 -0
- package/lib/pools/index.d.ts +3 -0
- package/lib/pools/index.js +7 -0
- package/lib/pools/mixins/common.d.ts +3 -0
- package/lib/pools/mixins/common.js +77 -0
- package/lib/pools/mixins/depositBalancedAmountsMixins.d.ts +5 -0
- package/lib/pools/mixins/depositBalancedAmountsMixins.js +145 -0
- package/lib/pools/mixins/depositBonusMixins.d.ts +5 -0
- package/lib/pools/mixins/depositBonusMixins.js +164 -0
- package/lib/pools/mixins/depositMixins.d.ts +5 -0
- package/lib/pools/mixins/depositMixins.js +373 -0
- package/lib/pools/mixins/depositWrappedMixins.d.ts +3 -0
- package/lib/pools/mixins/depositWrappedMixins.js +243 -0
- package/lib/pools/mixins/poolBalancesMixin.d.ts +4 -0
- package/lib/pools/mixins/poolBalancesMixin.js +129 -0
- package/lib/pools/mixins/swapMixins.d.ts +4 -0
- package/lib/pools/mixins/swapMixins.js +313 -0
- package/lib/pools/mixins/swapWrappedMixins.d.ts +4 -0
- package/lib/pools/mixins/swapWrappedMixins.js +297 -0
- package/lib/pools/mixins/withdrawExpectedMixins.d.ts +6 -0
- package/lib/pools/mixins/withdrawExpectedMixins.js +164 -0
- package/lib/pools/mixins/withdrawImbalanceMixins.d.ts +5 -0
- package/lib/pools/mixins/withdrawImbalanceMixins.js +348 -0
- package/lib/pools/mixins/withdrawImbalanceWrappedMixins.d.ts +3 -0
- package/lib/pools/mixins/withdrawImbalanceWrappedMixins.js +207 -0
- package/lib/pools/mixins/withdrawMixins.d.ts +5 -0
- package/lib/pools/mixins/withdrawMixins.js +347 -0
- package/lib/pools/mixins/withdrawOneCoinExpectedMixins.d.ts +5 -0
- package/lib/pools/mixins/withdrawOneCoinExpectedMixins.js +104 -0
- package/lib/pools/mixins/withdrawOneCoinMixins.d.ts +5 -0
- package/lib/pools/mixins/withdrawOneCoinMixins.js +347 -0
- package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.d.ts +3 -0
- package/lib/pools/mixins/withdrawOneCoinWrappedExpectedMixins.js +72 -0
- package/lib/pools/mixins/withdrawOneCoinWrappedMixins.d.ts +3 -0
- package/lib/pools/mixins/withdrawOneCoinWrappedMixins.js +205 -0
- package/lib/pools/mixins/withdrawWrappedMixins.d.ts +3 -0
- package/lib/pools/mixins/withdrawWrappedMixins.js +206 -0
- package/lib/pools/poolConstructor.d.ts +2 -0
- package/lib/pools/poolConstructor.js +228 -0
- package/lib/pools/utils.d.ts +4 -0
- package/lib/pools/utils.js +85 -0
- package/lib/router.d.ts +12 -0
- package/lib/router.js +624 -0
- package/lib/utils.d.ts +10 -16
- package/lib/utils.js +43 -130
- package/package.json +1 -1
- package/lib/constants/abis/abis-ethereum.d.ts +0 -4
- package/lib/constants/abis/abis-polygon.d.ts +0 -4
- package/lib/constants/abis/json/aRewards.json +0 -1
- package/lib/constants/abis/json/compound/migration.json +0 -57
- package/lib/constants/abis/json/compound/oldSwap.json +0 -688
- package/lib/constants/abis/json/ren/adapter.json +0 -1
- package/lib/constants/abis/json/sbtc/adapter.json +0 -1
- package/lib/pools.d.ts +0 -267
- package/lib/pools.js +0 -4742
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.POOLS_DATA_POLYGON = exports.POOLS_DATA_ETHEREUM = void 0;
|
|
4
|
+
var ethereum_1 = require("./ethereum");
|
|
5
|
+
Object.defineProperty(exports, "POOLS_DATA_ETHEREUM", { enumerable: true, get: function () { return ethereum_1.POOLS_DATA_ETHEREUM; } });
|
|
6
|
+
var polygon_1 = require("./polygon");
|
|
7
|
+
Object.defineProperty(exports, "POOLS_DATA_POLYGON", { enumerable: true, get: function () { return polygon_1.POOLS_DATA_POLYGON; } });
|
|
@@ -4,77 +4,74 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.POOLS_DATA_POLYGON = void 0;
|
|
7
|
-
var swap_json_1 = __importDefault(require("
|
|
8
|
-
var rewards_json_1 = __importDefault(require("
|
|
9
|
-
var swap_json_2 = __importDefault(require("
|
|
10
|
-
var swap_json_3 = __importDefault(require("
|
|
11
|
-
var zap_json_1 = __importDefault(require("
|
|
12
|
-
var swap_json_4 = __importDefault(require("
|
|
13
|
-
var deposit_json_1 = __importDefault(require("
|
|
14
|
-
var gauge_rewards_only_json_1 = __importDefault(require("
|
|
15
|
-
|
|
7
|
+
var swap_json_1 = __importDefault(require("../abis/aave/swap.json"));
|
|
8
|
+
var rewards_json_1 = __importDefault(require("../abis/paave/rewards.json"));
|
|
9
|
+
var swap_json_2 = __importDefault(require("../abis/ren-polygon/swap.json"));
|
|
10
|
+
var swap_json_3 = __importDefault(require("../abis/atricrypto3/swap.json"));
|
|
11
|
+
var zap_json_1 = __importDefault(require("../abis/atricrypto3/zap.json"));
|
|
12
|
+
var swap_json_4 = __importDefault(require("../abis/eurtusd/swap.json"));
|
|
13
|
+
var deposit_json_1 = __importDefault(require("../abis/eurtusd/deposit.json"));
|
|
14
|
+
var gauge_rewards_only_json_1 = __importDefault(require("../abis/gauge_rewards_only.json"));
|
|
15
|
+
var utils_1 = require("../utils");
|
|
16
|
+
exports.POOLS_DATA_POLYGON = (0, utils_1.lowerCasePoolDataAddresses)({
|
|
16
17
|
aave: {
|
|
17
18
|
name: "aave",
|
|
18
19
|
full_name: "aave",
|
|
19
20
|
symbol: "aave",
|
|
20
21
|
reference_asset: 'USD',
|
|
21
|
-
N_COINS: 3,
|
|
22
|
-
is_aave: true,
|
|
23
|
-
underlying_decimals: [18, 6, 6],
|
|
24
|
-
decimals: [18, 6, 6],
|
|
25
|
-
use_lending: [true, true, true],
|
|
26
|
-
tethered: [false, false, true],
|
|
27
|
-
is_plain: [false, false, false],
|
|
28
22
|
swap_address: '0x445FE580eF8d70FF569aB36e80c647af338db351',
|
|
29
23
|
token_address: '0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
|
|
30
24
|
gauge_address: '0x19793B454D3AfC7b454F206Ffe95aDE26cA6912c',
|
|
25
|
+
sCurveRewards_address: '0xBdFF0C27dd073C119ebcb1299a68A6A92aE607F0',
|
|
26
|
+
reward_contract: "0xC48f4653dd6a9509De44c92beb0604BEA3AEe714",
|
|
27
|
+
is_lending: true,
|
|
31
28
|
underlying_coins: ['DAI', 'USDC', 'USDT'],
|
|
32
|
-
|
|
29
|
+
wrapped_coins: ['amDAI', 'amUSDC', 'amUSDT'],
|
|
33
30
|
underlying_coin_addresses: [
|
|
34
31
|
'0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
|
|
35
32
|
'0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
|
|
36
33
|
'0xc2132d05d31c914a87c6611c10748aeb04b58e8f',
|
|
37
34
|
],
|
|
38
|
-
|
|
35
|
+
wrapped_coin_addresses: [
|
|
39
36
|
'0x27F8D03b3a2196956ED754baDc28D73be8830A6e',
|
|
40
37
|
'0x1a13F4Ca1d028320A707D99520AbFefca3998b7F',
|
|
41
38
|
'0x60D55F02A771d515e077c9C2403a1ef324885CeC',
|
|
42
39
|
],
|
|
40
|
+
underlying_decimals: [18, 6, 6],
|
|
41
|
+
wrapped_decimals: [18, 6, 6],
|
|
42
|
+
use_lending: [true, true, true],
|
|
43
|
+
reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
|
|
44
|
+
reward_decimals: [18],
|
|
43
45
|
swap_abi: swap_json_1.default,
|
|
44
|
-
sCurveRewards_abi: rewards_json_1.default,
|
|
45
|
-
sCurveRewards_address: '0xBdFF0C27dd073C119ebcb1299a68A6A92aE607F0',
|
|
46
|
-
reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af", "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"],
|
|
47
|
-
reward_contract: "0xC48f4653dd6a9509De44c92beb0604BEA3AEe714",
|
|
48
46
|
gauge_abi: gauge_rewards_only_json_1.default,
|
|
47
|
+
sCurveRewards_abi: rewards_json_1.default,
|
|
49
48
|
},
|
|
50
49
|
ren: {
|
|
51
50
|
name: "ren",
|
|
52
51
|
full_name: "ren",
|
|
53
52
|
symbol: "ren",
|
|
54
53
|
reference_asset: 'BTC',
|
|
55
|
-
N_COINS: 2,
|
|
56
|
-
is_aave: true,
|
|
57
|
-
underlying_decimals: [8, 8],
|
|
58
|
-
decimals: [8, 8],
|
|
59
|
-
use_lending: [true, false],
|
|
60
|
-
tethered: [false, false],
|
|
61
|
-
is_plain: [false, true],
|
|
62
54
|
swap_address: '0xC2d95EEF97Ec6C17551d45e77B590dc1F9117C67',
|
|
63
55
|
token_address: '0xf8a57c1d3b9629b77b6726a042ca48990A84Fb49',
|
|
64
56
|
gauge_address: '0xffbACcE0CC7C19d46132f1258FC16CF6871D153c',
|
|
57
|
+
reward_contract: "0x488E6ef919C2bB9de535C634a80afb0114DA8F62",
|
|
58
|
+
is_lending: true,
|
|
65
59
|
underlying_coins: ['WBTC', 'renBTC'],
|
|
66
|
-
|
|
60
|
+
wrapped_coins: ['amWBTC', 'renBTC'],
|
|
67
61
|
underlying_coin_addresses: [
|
|
68
62
|
'0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',
|
|
69
63
|
'0xDBf31dF14B66535aF65AaC99C32e9eA844e14501',
|
|
70
64
|
],
|
|
71
|
-
|
|
65
|
+
wrapped_coin_addresses: [
|
|
72
66
|
'0x5c2ed810328349100A66B82b78a1791B101C9D61',
|
|
73
67
|
'0xDBf31dF14B66535aF65AaC99C32e9eA844e14501',
|
|
74
68
|
],
|
|
69
|
+
underlying_decimals: [8, 8],
|
|
70
|
+
wrapped_decimals: [8, 8],
|
|
71
|
+
use_lending: [true, false],
|
|
72
|
+
reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
|
|
73
|
+
reward_decimals: [18],
|
|
75
74
|
swap_abi: swap_json_2.default,
|
|
76
|
-
reward_contract: "0x488E6ef919C2bB9de535C634a80afb0114DA8F62",
|
|
77
|
-
reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af", "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"],
|
|
78
75
|
gauge_abi: gauge_rewards_only_json_1.default,
|
|
79
76
|
},
|
|
80
77
|
atricrypto3: {
|
|
@@ -82,23 +79,17 @@ exports.POOLS_DATA_POLYGON = {
|
|
|
82
79
|
full_name: "atricrypto3",
|
|
83
80
|
symbol: "atricrypto3",
|
|
84
81
|
reference_asset: 'CRYPTO',
|
|
85
|
-
swap_abi: swap_json_3.default,
|
|
86
|
-
deposit_abi: zap_json_1.default,
|
|
87
|
-
N_COINS: 5,
|
|
88
|
-
underlying_decimals: [18, 6, 6, 8, 18],
|
|
89
|
-
decimals: [18, 8, 18],
|
|
90
|
-
tethered: [false, false, false, false, false],
|
|
91
|
-
use_lending: [false, false, false, false, false],
|
|
92
|
-
is_plain: [true, true, true, true, true],
|
|
93
82
|
swap_address: '0x92215849c439E1f8612b6646060B4E3E5ef822cC',
|
|
94
83
|
token_address: '0xdAD97F7713Ae9437fa9249920eC8507e5FbB23d3',
|
|
95
84
|
gauge_address: '0x3B6B158A76fd8ccc297538F454ce7B4787778c7C',
|
|
96
85
|
deposit_address: '0x1d8b86e3D88cDb2d34688e87E72F388Cb541B7C8',
|
|
86
|
+
reward_contract: "0x060e386eCfBacf42Aa72171Af9EFe17b3993fC4F",
|
|
87
|
+
is_meta: true,
|
|
97
88
|
is_crypto: true,
|
|
98
|
-
base_pool: 'aave',
|
|
99
89
|
is_fake: true,
|
|
90
|
+
base_pool: 'aave',
|
|
100
91
|
underlying_coins: ['DAI', 'USDC', 'USDT', 'WBTC', 'WETH'],
|
|
101
|
-
|
|
92
|
+
wrapped_coins: ['am3CRV', 'amWBTC', 'amWETH'],
|
|
102
93
|
underlying_coin_addresses: [
|
|
103
94
|
'0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
|
|
104
95
|
'0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
|
|
@@ -106,69 +97,50 @@ exports.POOLS_DATA_POLYGON = {
|
|
|
106
97
|
'0x1BFD67037B42Cf73acF2047067bd4F2C47D9BfD6',
|
|
107
98
|
'0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619', // WETH
|
|
108
99
|
],
|
|
109
|
-
|
|
100
|
+
wrapped_coin_addresses: [
|
|
110
101
|
'0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
|
|
111
102
|
'0x5c2ed810328349100A66B82b78a1791B101C9D61',
|
|
112
103
|
'0x28424507fefb6f7f8E9D3860F56504E4e5f5f390', // amWETH
|
|
113
104
|
],
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
],
|
|
120
|
-
reward_contract: "0x060e386eCfBacf42Aa72171Af9EFe17b3993fC4F",
|
|
121
|
-
reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af", "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270"],
|
|
105
|
+
underlying_decimals: [18, 6, 6, 8, 18],
|
|
106
|
+
wrapped_decimals: [18, 8, 18],
|
|
107
|
+
reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
|
|
108
|
+
reward_decimals: [18],
|
|
109
|
+
swap_abi: swap_json_3.default,
|
|
122
110
|
gauge_abi: gauge_rewards_only_json_1.default,
|
|
111
|
+
deposit_abi: zap_json_1.default,
|
|
123
112
|
},
|
|
124
113
|
eurtusd: {
|
|
125
114
|
name: "eurtusd",
|
|
126
115
|
full_name: "eurtusd",
|
|
127
116
|
symbol: "eurtusd",
|
|
128
117
|
reference_asset: 'CRYPTO',
|
|
129
|
-
N_COINS: 2,
|
|
130
|
-
underlying_decimals: [6, 18],
|
|
131
|
-
decimals: [6, 18],
|
|
132
|
-
tethered: [false, false],
|
|
133
|
-
use_lending: [false, false],
|
|
134
|
-
is_plain: [true, true],
|
|
135
118
|
swap_address: '0xB446BF7b8D6D4276d0c75eC0e3ee8dD7Fe15783A',
|
|
136
119
|
token_address: '0x600743B1d8A96438bD46836fD34977a00293f6Aa',
|
|
137
120
|
gauge_address: '0x40c0e9376468b4f257d15F8c47E5D0C646C28880',
|
|
121
|
+
deposit_address: '0x225FB4176f0E20CDb66b4a3DF70CA3063281E855',
|
|
122
|
+
reward_contract: "0xAF78381216a8eCC7Ad5957f3cD12a431500E0B0D",
|
|
123
|
+
is_meta: true,
|
|
138
124
|
is_crypto: true,
|
|
139
125
|
base_pool: 'aave',
|
|
140
126
|
underlying_coins: ['EURT', 'DAI', 'USDC', 'USDT'],
|
|
141
|
-
|
|
127
|
+
wrapped_coins: ['EURT', 'am3CRV'],
|
|
142
128
|
underlying_coin_addresses: [
|
|
143
129
|
'0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f',
|
|
144
|
-
'0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171', // am3CRV
|
|
145
|
-
],
|
|
146
|
-
coin_addresses: [
|
|
147
|
-
'0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f',
|
|
148
|
-
'0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171', // am3CRV
|
|
149
|
-
],
|
|
150
|
-
swap_abi: swap_json_4.default,
|
|
151
|
-
deposit_abi: deposit_json_1.default,
|
|
152
|
-
deposit_address: '0x225FB4176f0E20CDb66b4a3DF70CA3063281E855',
|
|
153
|
-
is_meta: true,
|
|
154
|
-
meta_N: 5,
|
|
155
|
-
meta_decimals: [6, 18, 18, 6, 6],
|
|
156
|
-
meta_coin_decimals: [6, 18, 6, 6],
|
|
157
|
-
meta_wrapped_decimals: [6, 18],
|
|
158
|
-
meta_coin_addresses: [
|
|
159
130
|
'0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
|
|
160
131
|
'0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
|
|
161
132
|
'0xc2132d05d31c914a87c6611c10748aeb04b58e8f', // USDT
|
|
162
133
|
],
|
|
163
|
-
|
|
134
|
+
wrapped_coin_addresses: [
|
|
164
135
|
'0x7BDF330f423Ea880FF95fC41A280fD5eCFD3D09f',
|
|
165
|
-
'0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171',
|
|
166
|
-
'0x8f3cf7ad23cd3cadbd9735aff958023239c6a063',
|
|
167
|
-
'0x2791bca1f2de4661ed88a30c99a7a9449aa84174',
|
|
168
|
-
'0xc2132d05d31c914a87c6611c10748aeb04b58e8f', // USDT
|
|
136
|
+
'0xE7a24EF0C5e95Ffb0f6684b813A78F2a3AD7D171', // am3CRV
|
|
169
137
|
],
|
|
170
|
-
|
|
138
|
+
underlying_decimals: [6, 18, 6, 6],
|
|
139
|
+
wrapped_decimals: [6, 18],
|
|
171
140
|
reward_tokens: ["0x172370d5cd63279efa6d502dab29171933a610af"],
|
|
141
|
+
reward_decimals: [18],
|
|
142
|
+
swap_abi: swap_json_4.default,
|
|
172
143
|
gauge_abi: gauge_rewards_only_json_1.default,
|
|
144
|
+
deposit_abi: deposit_json_1.default,
|
|
173
145
|
},
|
|
174
|
-
};
|
|
146
|
+
});
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { IDict, IPoolData } from "../interfaces";
|
|
2
|
+
export declare const lowerCasePoolDataAddresses: (poolsData: IDict<IPoolData>) => IDict<IPoolData>;
|
|
3
|
+
export declare const extractDecimals: (poolsData: IDict<IPoolData>) => IDict<number>;
|
|
4
|
+
export declare const extractGauges: (poolsData: IDict<IPoolData>) => string[];
|
|
5
|
+
export declare const lowerCaseValues: (dict: IDict<string>) => IDict<string>;
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.lowerCaseValues = exports.extractGauges = exports.extractDecimals = exports.lowerCasePoolDataAddresses = void 0;
|
|
4
|
+
var ethers_1 = require("ethers");
|
|
5
|
+
var lowerCasePoolDataAddresses = function (poolsData) {
|
|
6
|
+
for (var poolId in poolsData) {
|
|
7
|
+
if (!Object.prototype.hasOwnProperty.call(poolsData, poolId))
|
|
8
|
+
continue;
|
|
9
|
+
var poolData = poolsData[poolId];
|
|
10
|
+
poolData.swap_address = poolData.swap_address.toLowerCase();
|
|
11
|
+
poolData.token_address = poolData.token_address.toLowerCase();
|
|
12
|
+
poolData.gauge_address = poolData.gauge_address.toLowerCase();
|
|
13
|
+
if (poolData.deposit_address)
|
|
14
|
+
poolData.deposit_address = poolData.deposit_address.toLowerCase();
|
|
15
|
+
if (poolData.sCurveRewards_address)
|
|
16
|
+
poolData.sCurveRewards_address = poolData.sCurveRewards_address.toLowerCase();
|
|
17
|
+
if (poolData.reward_contract)
|
|
18
|
+
poolData.reward_contract = poolData.reward_contract.toLowerCase();
|
|
19
|
+
poolData.underlying_coin_addresses = poolData.underlying_coin_addresses.map(function (a) { return a.toLowerCase(); });
|
|
20
|
+
poolData.wrapped_coin_addresses = poolData.wrapped_coin_addresses.map(function (a) { return a.toLowerCase(); });
|
|
21
|
+
if (poolData.reward_tokens)
|
|
22
|
+
poolData.reward_tokens = poolData.reward_tokens.map(function (a) { return a.toLowerCase(); });
|
|
23
|
+
}
|
|
24
|
+
return poolsData;
|
|
25
|
+
};
|
|
26
|
+
exports.lowerCasePoolDataAddresses = lowerCasePoolDataAddresses;
|
|
27
|
+
var extractDecimals = function (poolsData) {
|
|
28
|
+
var _a, _b;
|
|
29
|
+
var DECIMALS = {};
|
|
30
|
+
for (var poolId in poolsData) {
|
|
31
|
+
if (!Object.prototype.hasOwnProperty.call(poolsData, poolId))
|
|
32
|
+
continue;
|
|
33
|
+
var poolData = poolsData[poolId];
|
|
34
|
+
// LP token
|
|
35
|
+
DECIMALS[poolData.token_address] = 18;
|
|
36
|
+
// Underlying coins
|
|
37
|
+
for (var i = 0; i < poolData.underlying_coin_addresses.length; i++) {
|
|
38
|
+
DECIMALS[poolData.underlying_coin_addresses[i]] = poolData.underlying_decimals[i];
|
|
39
|
+
}
|
|
40
|
+
// Wrapped coins
|
|
41
|
+
for (var i = 0; i < poolData.wrapped_coin_addresses.length; i++) {
|
|
42
|
+
DECIMALS[poolData.wrapped_coin_addresses[i]] = poolData.wrapped_decimals[i];
|
|
43
|
+
}
|
|
44
|
+
// Wrapped coins
|
|
45
|
+
var rewardTokens = (_a = poolData.reward_tokens) !== null && _a !== void 0 ? _a : [];
|
|
46
|
+
var rewardDecimals = (_b = poolData.reward_decimals) !== null && _b !== void 0 ? _b : [];
|
|
47
|
+
for (var i = 0; i < rewardTokens.length; i++) {
|
|
48
|
+
DECIMALS[rewardTokens[i]] = rewardDecimals[i];
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
return DECIMALS;
|
|
52
|
+
};
|
|
53
|
+
exports.extractDecimals = extractDecimals;
|
|
54
|
+
var extractGauges = function (poolsData) {
|
|
55
|
+
var GAUGES = [];
|
|
56
|
+
for (var _i = 0, _a = Object.values(poolsData); _i < _a.length; _i++) {
|
|
57
|
+
var poolData = _a[_i];
|
|
58
|
+
if (poolData.gauge_address === ethers_1.ethers.constants.AddressZero)
|
|
59
|
+
continue;
|
|
60
|
+
GAUGES.push(poolData.gauge_address);
|
|
61
|
+
}
|
|
62
|
+
return GAUGES;
|
|
63
|
+
};
|
|
64
|
+
exports.extractGauges = extractGauges;
|
|
65
|
+
var lowerCaseValues = function (dict) {
|
|
66
|
+
// @ts-ignore
|
|
67
|
+
return Object.fromEntries(Object.entries(dict).map(function (entry) { return [entry[0], entry[1].toLowerCase()]; }));
|
|
68
|
+
};
|
|
69
|
+
exports.lowerCaseValues = lowerCaseValues;
|
package/lib/curve.d.ts
CHANGED
|
@@ -1,37 +1,7 @@
|
|
|
1
1
|
import { ethers, Contract } from "ethers";
|
|
2
2
|
import { Networkish } from "@ethersproject/networks";
|
|
3
3
|
import { Provider as MulticallProvider, Contract as MulticallContract } from 'ethcall';
|
|
4
|
-
import {
|
|
5
|
-
export declare let POOLS_DATA: {
|
|
6
|
-
[index: string]: PoolDataInterface;
|
|
7
|
-
};
|
|
8
|
-
export declare let LP_TOKENS: string[];
|
|
9
|
-
export declare let GAUGES: string[];
|
|
10
|
-
export declare let BTC_COINS: DictInterface<string>;
|
|
11
|
-
export declare let BTC_COINS_LOWER_CASE: DictInterface<string>;
|
|
12
|
-
export declare let ETH_COINS: DictInterface<string>;
|
|
13
|
-
export declare let ETH_COINS_LOWER_CASE: DictInterface<string>;
|
|
14
|
-
export declare let LINK_COINS: DictInterface<string>;
|
|
15
|
-
export declare let LINK_COINS_LOWER_CASE: DictInterface<string>;
|
|
16
|
-
export declare let EUR_COINS: DictInterface<string>;
|
|
17
|
-
export declare let EUR_COINS_LOWER_CASE: DictInterface<string>;
|
|
18
|
-
export declare let USD_COINS: DictInterface<string>;
|
|
19
|
-
export declare let USD_COINS_LOWER_CASE: DictInterface<string>;
|
|
20
|
-
export declare let COINS: DictInterface<string>;
|
|
21
|
-
export declare let DECIMALS: DictInterface<number>;
|
|
22
|
-
export declare let DECIMALS_LOWER_CASE: DictInterface<number>;
|
|
23
|
-
export declare let ALIASES: {
|
|
24
|
-
crv: string;
|
|
25
|
-
minter: string;
|
|
26
|
-
voting_escrow: string;
|
|
27
|
-
gauge_controller: string;
|
|
28
|
-
address_provider: string;
|
|
29
|
-
router: string;
|
|
30
|
-
deposit_and_stake: string;
|
|
31
|
-
factory: string;
|
|
32
|
-
crypto_factory: string;
|
|
33
|
-
registry_exchange: string;
|
|
34
|
-
};
|
|
4
|
+
import { IPoolData, IDict, ICurve } from "./interfaces";
|
|
35
5
|
declare class Curve implements ICurve {
|
|
36
6
|
provider: ethers.providers.Web3Provider | ethers.providers.JsonRpcProvider;
|
|
37
7
|
multicallProvider: MulticallProvider;
|
|
@@ -57,7 +27,15 @@ declare class Curve implements ICurve {
|
|
|
57
27
|
maxFeePerGas?: number | ethers.BigNumber;
|
|
58
28
|
maxPriorityFeePerGas?: number | ethers.BigNumber;
|
|
59
29
|
};
|
|
60
|
-
constants:
|
|
30
|
+
constants: {
|
|
31
|
+
ALIASES: IDict<string>;
|
|
32
|
+
POOLS_DATA: IDict<IPoolData>;
|
|
33
|
+
FACTORY_POOLS_DATA: IDict<IPoolData>;
|
|
34
|
+
CRYPTO_FACTORY_POOLS_DATA: IDict<IPoolData>;
|
|
35
|
+
COINS: IDict<string>;
|
|
36
|
+
DECIMALS: IDict<number>;
|
|
37
|
+
GAUGES: string[];
|
|
38
|
+
};
|
|
61
39
|
constructor();
|
|
62
40
|
init(providerType: 'JsonRpc' | 'Web3' | 'Infura' | 'Alchemy', providerSettings: {
|
|
63
41
|
url?: string;
|