@curvefi/api 2.69.13 → 2.69.15
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/constants/abis/factory-v2/DepositZapMetaUsd2Fantom.json +197 -0
- package/lib/constants/abis/fusdt/swap.json +1221 -0
- package/lib/constants/abis/fusdt/zap.json +215 -0
- package/lib/constants/abis/ren-fantom/swap.json +868 -0
- package/lib/constants/abis/tricrypto/swapNoZap.json +1250 -0
- package/lib/constants/coins/ethereum.js +3 -0
- package/lib/constants/coins/fantom.d.ts +5 -0
- package/lib/constants/coins/fantom.js +31 -0
- package/lib/constants/coins/index.d.ts +2 -1
- package/lib/constants/coins/index.js +2 -1
- package/lib/constants/factory/crypto.d.ts +5 -0
- package/lib/constants/factory/crypto.js +8 -0
- package/lib/constants/factory/stable.d.ts +4 -0
- package/lib/constants/factory/stable.js +20 -0
- package/lib/constants/network_constants.js +36 -2
- package/lib/constants/pools/fantom.d.ts +2 -0
- package/lib/constants/pools/fantom.js +185 -0
- package/lib/constants/pools/index.d.ts +2 -1
- package/lib/constants/pools/index.js +2 -1
- package/lib/constants/volumeNetworks.js +1 -1
- package/lib/curve.js +1 -1
- package/lib/pools/utils.js +5 -0
- package/lib/route-graph.worker.js +63 -0
- package/lib/utils.js +2 -0
- package/package.json +1 -1
|
@@ -44,6 +44,7 @@ export const COINS_ETHEREUM = lowerCaseValues({
|
|
|
44
44
|
usdn: "0x674C6Ad92Fd080e4004b2312b45f796a192D27a0", // USDN
|
|
45
45
|
dai: "0x6B175474E89094C44Da98b954EedeAC495271d0F", // DAI
|
|
46
46
|
usdc: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48", // USDC
|
|
47
|
+
syrupusdc: "0x80ac24aA929eaF5013f6436cdA2a7ba190f5Cc0b", // syrupUSDC
|
|
47
48
|
usdt: "0xdAC17F958D2ee523a2206206994597C13D831ec7", // USDT
|
|
48
49
|
susd: "0x57Ab1ec28D129707052df4dF418D58a2D46d5f51", // sUSD
|
|
49
50
|
tusd: "0x0000000000085d4780B73119b644AE5ecd22b376", // TUSD
|
|
@@ -90,6 +91,8 @@ export const COINS_ETHEREUM = lowerCaseValues({
|
|
|
90
91
|
spell: "0x090185f2135308bad17527004364ebcc2d37e5f6", // SPELL
|
|
91
92
|
t: "0xCdF7028ceAB81fA0C6971208e83fa7872994beE5", // T
|
|
92
93
|
xaut: "0x68749665ff8d2d112fa859aa293f07a622782f38", // XAUt
|
|
94
|
+
zchf: "0xB58E61C3098d85632Df34EecfB899A1Ed80921cB", // ZCHF
|
|
95
|
+
svzchf: "0xE5F130253fF137f9917C0107659A4c5262abf6b0", // svZCHF
|
|
93
96
|
});
|
|
94
97
|
export const cTokensEthereum = [
|
|
95
98
|
'0x5d3a536E4D6DbD6114cc1Ead35777bAB948E3643', // cDAI
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { lowerCaseValues } from "../utils.js";
|
|
2
|
+
export const COINS_FANTOM = lowerCaseValues({
|
|
3
|
+
'crv': '0x1E4F97b9f9F913c46F1632781732927B9019C68b',
|
|
4
|
+
// --- USD ---
|
|
5
|
+
'dai': '0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e',
|
|
6
|
+
'usdc': '0x04068da6c83afcfa0e13ba15a6696662335d5b75',
|
|
7
|
+
'fusdt': '0x049d68029688eabf473097a2fc38ef61633a3c7a',
|
|
8
|
+
'idai': '0x04c762a5dF2Fa02FE868F25359E0C259fB811CfE',
|
|
9
|
+
'iusdc': '0x328A7b4d538A2b3942653a9983fdA3C12c571141',
|
|
10
|
+
'ifusdt': '0x70faC71debfD67394D1278D98A29dea79DC6E57A',
|
|
11
|
+
'gdai': '0x07e6332dd090d287d3489245038daf987955dcfb',
|
|
12
|
+
'gusdc': '0xe578c856933d8e1082740bf7661e379aa2a30b26',
|
|
13
|
+
'gfusdt': '0x940f41f0ec9ba1a34cf001cc03347ac092f5f6b5',
|
|
14
|
+
'dai+usdc': '0x27e611fd27b276acbd5ffd632e5eaebec9761e40', // LP token
|
|
15
|
+
'frax': '0xdc301622e621166bd8e82f2ca0a26c13ad0be355',
|
|
16
|
+
// --- BTC ---
|
|
17
|
+
'wbtc': '0x321162Cd933E2Be498Cd2267a90534A804051b11',
|
|
18
|
+
'renbtc': '0xDBf31dF14B66535aF65AaC99C32e9eA844e14501',
|
|
19
|
+
// --- ETH ---
|
|
20
|
+
'eth': '0x74b23882a30290451A17c44f4F05243b6b58C76d',
|
|
21
|
+
});
|
|
22
|
+
export const cTokensFantom = [
|
|
23
|
+
'0x04c762a5dF2Fa02FE868F25359E0C259fB811CfE', // iDAI
|
|
24
|
+
'0x328A7b4d538A2b3942653a9983fdA3C12c571141', // iUSDC
|
|
25
|
+
'0x70faC71debfD67394D1278D98A29dea79DC6E57A', // iFUSDT
|
|
26
|
+
].map((a) => a.toLowerCase());
|
|
27
|
+
export const aTokensFantom = [
|
|
28
|
+
'0x07e6332dd090d287d3489245038daf987955dcfb', // gDAI
|
|
29
|
+
'0xe578c856933d8e1082740bf7661e379aa2a30b26', // gUSDC
|
|
30
|
+
'0x940f41f0ec9ba1a34cf001cc03347ac092f5f6b5', // gfUSDT
|
|
31
|
+
].map((a) => a.toLowerCase());
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum } from "./ethereum.js";
|
|
2
2
|
import { COINS_POLYGON, aTokensPolygon } from "./polygon.js";
|
|
3
|
+
import { COINS_FANTOM, cTokensFantom, aTokensFantom } from "./fantom.js";
|
|
3
4
|
import { COINS_AVALANCHE, aTokensAvalanche } from "./avalanche.js";
|
|
4
5
|
import { COINS_ARBITRUM } from "./arbitrum.js";
|
|
5
6
|
import { COINS_OPTIMISM } from "./optimism.js";
|
|
@@ -16,4 +17,4 @@ import { COINS_XLAYER } from "./xlayer.js";
|
|
|
16
17
|
import { COINS_MANTLE } from "./mantle.js";
|
|
17
18
|
import { COINS_SONIC } from "./sonic.js";
|
|
18
19
|
import { COINS_HYPERLIQUID } from "./hyperliquid.js";
|
|
19
|
-
export { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum, COINS_POLYGON, aTokensPolygon, COINS_AVALANCHE, aTokensAvalanche, COINS_ARBITRUM, COINS_OPTIMISM, COINS_XDAI, COINS_MOONBEAM, COINS_AURORA, COINS_KAVA, COINS_CELO, COINS_ZKSYNC, COINS_BASE, COINS_BSC, COINS_FRAXTAL, COINS_XLAYER, COINS_MANTLE, COINS_SONIC, COINS_HYPERLIQUID, };
|
|
20
|
+
export { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum, COINS_POLYGON, aTokensPolygon, COINS_FANTOM, cTokensFantom, aTokensFantom, COINS_AVALANCHE, aTokensAvalanche, COINS_ARBITRUM, COINS_OPTIMISM, COINS_XDAI, COINS_MOONBEAM, COINS_AURORA, COINS_KAVA, COINS_CELO, COINS_ZKSYNC, COINS_BASE, COINS_BSC, COINS_FRAXTAL, COINS_XLAYER, COINS_MANTLE, COINS_SONIC, COINS_HYPERLIQUID, };
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum } from "./ethereum.js";
|
|
2
2
|
import { COINS_POLYGON, aTokensPolygon } from "./polygon.js";
|
|
3
|
+
import { COINS_FANTOM, cTokensFantom, aTokensFantom } from "./fantom.js";
|
|
3
4
|
import { COINS_AVALANCHE, aTokensAvalanche } from "./avalanche.js";
|
|
4
5
|
import { COINS_ARBITRUM } from "./arbitrum.js";
|
|
5
6
|
import { COINS_OPTIMISM } from "./optimism.js";
|
|
@@ -16,4 +17,4 @@ import { COINS_XLAYER } from "./xlayer.js";
|
|
|
16
17
|
import { COINS_MANTLE } from "./mantle.js";
|
|
17
18
|
import { COINS_SONIC } from "./sonic.js";
|
|
18
19
|
import { COINS_HYPERLIQUID } from "./hyperliquid.js";
|
|
19
|
-
export { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum, COINS_POLYGON, aTokensPolygon, COINS_AVALANCHE, aTokensAvalanche, COINS_ARBITRUM, COINS_OPTIMISM, COINS_XDAI, COINS_MOONBEAM, COINS_AURORA, COINS_KAVA, COINS_CELO, COINS_ZKSYNC, COINS_BASE, COINS_BSC, COINS_FRAXTAL, COINS_XLAYER, COINS_MANTLE, COINS_SONIC, COINS_HYPERLIQUID, };
|
|
20
|
+
export { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum, COINS_POLYGON, aTokensPolygon, COINS_FANTOM, cTokensFantom, aTokensFantom, COINS_AVALANCHE, aTokensAvalanche, COINS_ARBITRUM, COINS_OPTIMISM, COINS_XDAI, COINS_MOONBEAM, COINS_AURORA, COINS_KAVA, COINS_CELO, COINS_ZKSYNC, COINS_BASE, COINS_BSC, COINS_FRAXTAL, COINS_XLAYER, COINS_MANTLE, COINS_SONIC, COINS_HYPERLIQUID, };
|
|
@@ -45,6 +45,11 @@ export declare const tricryptoDeployImplementations: {
|
|
|
45
45
|
amm_native_transfers_enabled: string;
|
|
46
46
|
implementationIdx: number;
|
|
47
47
|
};
|
|
48
|
+
250: {
|
|
49
|
+
amm_native_transfers_disabled: string;
|
|
50
|
+
amm_native_transfers_enabled: string;
|
|
51
|
+
implementationIdx: number;
|
|
52
|
+
};
|
|
48
53
|
252: {
|
|
49
54
|
amm_native_transfers_disabled: string;
|
|
50
55
|
amm_native_transfers_enabled: string;
|
|
@@ -62,6 +62,11 @@ export const tricryptoDeployImplementations = {
|
|
|
62
62
|
amm_native_transfers_enabled: '0x0C9D8c7e486e822C29488Ff51BFf0167B4650953'.toLowerCase(), //0
|
|
63
63
|
implementationIdx: 1,
|
|
64
64
|
},
|
|
65
|
+
250: {
|
|
66
|
+
amm_native_transfers_disabled: '0xd125E7a0cEddF89c6473412d85835450897be6Dc'.toLowerCase(), //1
|
|
67
|
+
amm_native_transfers_enabled: '0x76303e4fDcA0AbF28aB3ee42Ce086E6503431F1D'.toLowerCase(), //0
|
|
68
|
+
implementationIdx: 1,
|
|
69
|
+
},
|
|
65
70
|
252: {
|
|
66
71
|
amm_native_transfers_disabled: '0x1A83348F9cCFD3Fe1A8C0adBa580Ac4e267Fe495'.toLowerCase(), //1
|
|
67
72
|
amm_native_transfers_enabled: '0xd3b17f862956464ae4403ccf829ce69199856e1e'.toLowerCase(), //0
|
|
@@ -144,6 +149,9 @@ export const CRYPTO_FACTORY_CONSTANTS = {
|
|
|
144
149
|
196: {
|
|
145
150
|
tricryptoDeployImplementations: tricryptoDeployImplementations[196],
|
|
146
151
|
},
|
|
152
|
+
250: {
|
|
153
|
+
tricryptoDeployImplementations: tricryptoDeployImplementations[250],
|
|
154
|
+
},
|
|
147
155
|
252: {
|
|
148
156
|
tricryptoDeployImplementations: tricryptoDeployImplementations[252],
|
|
149
157
|
},
|
|
@@ -19,6 +19,10 @@ export declare const basePoolIdZapDictPolygon: IDict<{
|
|
|
19
19
|
address: string;
|
|
20
20
|
ABI: any;
|
|
21
21
|
}>;
|
|
22
|
+
export declare const basePoolIdZapDictFantom: IDict<{
|
|
23
|
+
address: string;
|
|
24
|
+
ABI: any;
|
|
25
|
+
}>;
|
|
22
26
|
export declare const basePoolIdZapDictAvalanche: IDict<{
|
|
23
27
|
address: string;
|
|
24
28
|
ABI: any;
|
|
@@ -30,6 +30,7 @@ import fraxusdcMetaZapABI from "../abis/fraxusdc/meta_zap.json" with { type: 'js
|
|
|
30
30
|
import MetaUsdZapPolygonABI from "../abis/factory-v2/DepositZapMetaUsdPolygon.json" with { type: 'json' };
|
|
31
31
|
import MetaBtcZapPolygonABI from "../abis/factory-v2/DepositZapMetaBtcPolygon.json" with { type: 'json' };
|
|
32
32
|
import MetaZapFantomABI from "../abis/factory-v2/DepositZapFantom.json" with { type: 'json' };
|
|
33
|
+
import MetaGeistUsdZapFantomABI from "../abis/factory-v2/DepositZapMetaUsd2Fantom.json" with { type: 'json' };
|
|
33
34
|
import RenMetaZapABI from "../abis/ren/meta_zap.json" with { type: 'json' };
|
|
34
35
|
import Sbtc2MetaZapABI from "../abis/sbtc2/meta_zap.json" with { type: 'json' };
|
|
35
36
|
import { lowerCaseKeys } from "../utils.js";
|
|
@@ -288,6 +289,20 @@ export const basePoolIdZapDictPolygon = {
|
|
|
288
289
|
ABI: MetaBtcZapPolygonABI,
|
|
289
290
|
},
|
|
290
291
|
};
|
|
292
|
+
export const basePoolIdZapDictFantom = {
|
|
293
|
+
'2pool': {
|
|
294
|
+
address: "0x78D51EB71a62c081550EfcC0a9F9Ea94B2Ef081c".toLowerCase(),
|
|
295
|
+
ABI: MetaZapFantomABI,
|
|
296
|
+
},
|
|
297
|
+
ren: {
|
|
298
|
+
address: "0x001E3BA199B4FF4B5B6e97aCD96daFC0E2e4156e".toLowerCase(),
|
|
299
|
+
ABI: MetaZapFantomABI,
|
|
300
|
+
},
|
|
301
|
+
geist: {
|
|
302
|
+
address: "0x247aEB220E87f24c40C9F86b65d6bd5d3c987B55".toLowerCase(),
|
|
303
|
+
ABI: MetaGeistUsdZapFantomABI,
|
|
304
|
+
},
|
|
305
|
+
};
|
|
291
306
|
export const basePoolIdZapDictAvalanche = {
|
|
292
307
|
aave: {
|
|
293
308
|
address: "0x001E3BA199B4FF4B5B6e97aCD96daFC0E2e4156e".toLowerCase(),
|
|
@@ -360,6 +375,11 @@ export const STABLE_FACTORY_CONSTANTS = {
|
|
|
360
375
|
196: {
|
|
361
376
|
stableNgBasePoolZap: stableNgBasePoolZap,
|
|
362
377
|
},
|
|
378
|
+
250: {
|
|
379
|
+
implementationABIDict: implementationABIDictFantom,
|
|
380
|
+
basePoolIdZapDict: basePoolIdZapDictFantom,
|
|
381
|
+
stableNgBasePoolZap: stableNgBasePoolZap,
|
|
382
|
+
},
|
|
363
383
|
252: {
|
|
364
384
|
stableNgBasePoolZap: stableNgBasePoolZap,
|
|
365
385
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { lowerCaseValues } from "./utils.js";
|
|
2
|
-
import { POOLS_DATA_ETHEREUM, LLAMMAS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, POOLS_DATA_ZKSYNC, POOLS_DATA_BASE, POOLS_DATA_BSC, POOLS_DATA_FRAXTAL, POOLS_DATA_XLAYER, POOLS_DATA_MANTLE, POOLS_DATA_SONIC, POOLS_DATA_HYPERLIQUID, } from './pools/index.js';
|
|
3
|
-
import { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum, COINS_OPTIMISM, COINS_POLYGON, aTokensPolygon, COINS_AVALANCHE, aTokensAvalanche, COINS_ARBITRUM, COINS_XDAI, COINS_MOONBEAM, COINS_AURORA, COINS_KAVA, COINS_CELO, COINS_ZKSYNC, COINS_BASE, COINS_BSC, COINS_FRAXTAL, COINS_XLAYER, COINS_MANTLE, COINS_SONIC, COINS_HYPERLIQUID, } from "./coins/index.js";
|
|
2
|
+
import { POOLS_DATA_ETHEREUM, LLAMMAS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, POOLS_DATA_ZKSYNC, POOLS_DATA_BASE, POOLS_DATA_BSC, POOLS_DATA_FRAXTAL, POOLS_DATA_XLAYER, POOLS_DATA_MANTLE, POOLS_DATA_SONIC, POOLS_DATA_HYPERLIQUID, } from './pools/index.js';
|
|
3
|
+
import { COINS_ETHEREUM, cTokensEthereum, yTokensEthereum, ycTokensEthereum, aTokensEthereum, COINS_OPTIMISM, COINS_POLYGON, aTokensPolygon, COINS_FANTOM, cTokensFantom, aTokensFantom, COINS_AVALANCHE, aTokensAvalanche, COINS_ARBITRUM, COINS_XDAI, COINS_MOONBEAM, COINS_AURORA, COINS_KAVA, COINS_CELO, COINS_ZKSYNC, COINS_BASE, COINS_BSC, COINS_FRAXTAL, COINS_XLAYER, COINS_MANTLE, COINS_SONIC, COINS_HYPERLIQUID, } from "./coins/index.js";
|
|
4
4
|
const ALIASES_ETHEREUM = lowerCaseValues({
|
|
5
5
|
"crv": "0xD533a949740bb3306d119CC777fa900bA034cd52", // <--- CHANGE
|
|
6
6
|
"minter": '0xd061D61a4d941c39E5453435B6345Dc261C2fcE0', // <--- RECOVERED
|
|
@@ -45,6 +45,25 @@ const ALIASES_POLYGON = lowerCaseValues({
|
|
|
45
45
|
"tricrypto_factory": '0xC1b393EfEF38140662b91441C6710Aa704973228',
|
|
46
46
|
"factory_admin": "",
|
|
47
47
|
});
|
|
48
|
+
const ALIASES_FANTOM = lowerCaseValues({
|
|
49
|
+
"crv": "0x1E4F97b9f9F913c46F1632781732927B9019C68b",
|
|
50
|
+
"child_gauge_factory": "0x004A476B5B76738E34c86C7144554B9d34402F13",
|
|
51
|
+
"child_gauge_factory_old": "0xDb205f215f568ADf21b9573b62566f6d9a40bed6",
|
|
52
|
+
"voting_escrow": "0xb75dca485e21a77e1b433ecacb74475fc67e259c",
|
|
53
|
+
"fee_distributor": "0xA464e6DCda8AC41e03616F95f4BC98a13b8922Dc", // <-- DUMMY
|
|
54
|
+
"gauge_controller": "0x2F50D538606Fa9EDD2B11E2446BEb18C9D5846bB",
|
|
55
|
+
"address_provider": "0x0000000022d53366457f9d5e68ec105046fc4383",
|
|
56
|
+
"router": "0x0DCDED3545D565bA3B19E683431381007245d983",
|
|
57
|
+
"deposit_and_stake": "0x37c5ab57AF7100Bdc9B668d766e193CCbF6614FD",
|
|
58
|
+
"stable_calc": "0xCA8d0747B5573D69653C3aC22242e6341C36e4b4",
|
|
59
|
+
"crypto_calc": '0xA72C85C258A81761433B4e8da60505Fe3Dd551CC',
|
|
60
|
+
"factory": "0x686d67265703d1f124c45e33d47d794c566889ba",
|
|
61
|
+
"crypto_factory": "0xE5De15A9C9bBedb4F5EC13B131E61245f2983A69",
|
|
62
|
+
"stable_ng_factory": '0xe61Fb97Ef6eBFBa12B36Ffd7be785c1F5A2DE66b',
|
|
63
|
+
"twocrypto_factory": '0x98EE851a00abeE0d95D08cF4CA2BdCE32aeaAF7F',
|
|
64
|
+
"tricrypto_factory": '0x9AF14D26075f142eb3F292D5065EB3faa646167b',
|
|
65
|
+
"factory_admin": "",
|
|
66
|
+
});
|
|
48
67
|
const ALIASES_AVALANCHE = lowerCaseValues({
|
|
49
68
|
"crv": "0x47536F17F4fF30e64A96a7555826b8f9e66ec468",
|
|
50
69
|
"child_gauge_factory": "0x97aDC08FA1D849D2C48C5dcC1DaB568B169b0267",
|
|
@@ -409,6 +428,20 @@ export const NETWORK_CONSTANTS = {
|
|
|
409
428
|
wrappedAddress: '0xe538905cf8410324e03a5a23c1c177a474d59b2b'.toLowerCase(),
|
|
410
429
|
},
|
|
411
430
|
},
|
|
431
|
+
250: {
|
|
432
|
+
NAME: 'fantom',
|
|
433
|
+
ALIASES: ALIASES_FANTOM,
|
|
434
|
+
POOLS_DATA: POOLS_DATA_FANTOM,
|
|
435
|
+
COINS: COINS_FANTOM,
|
|
436
|
+
NATIVE_COIN: {
|
|
437
|
+
symbol: 'FTM',
|
|
438
|
+
wrappedSymbol: 'WFTM',
|
|
439
|
+
address: "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
|
|
440
|
+
wrappedAddress: '0x21be370D5312f44cB42ce377BC9b8a0cEF1A4C83'.toLowerCase(),
|
|
441
|
+
},
|
|
442
|
+
cTokens: cTokensFantom,
|
|
443
|
+
aTokens: aTokensFantom,
|
|
444
|
+
},
|
|
412
445
|
252: {
|
|
413
446
|
NAME: 'fraxtal',
|
|
414
447
|
ALIASES: ALIASES_FRAXTAL,
|
|
@@ -548,6 +581,7 @@ const registry_exchange_deprecated = {
|
|
|
548
581
|
'10': '0x22d710931f01c1681ca1570ff016ed42eb7b7c2a',
|
|
549
582
|
'100': '0xe6358f6a45b502477e83cc1cda759f540e4459ee',
|
|
550
583
|
'137': '0x2a426b3bb4fa87488387545f15d01d81352732f9',
|
|
584
|
+
'250': '0xfd8c73d35e522648312a43e7ceb85fe12c8c1760',
|
|
551
585
|
'324': '0x0000000000000000000000000000000000000000',
|
|
552
586
|
'1284': '0x6600e98b71dabfD4A8Cac03b302B0189Adb86Afb',
|
|
553
587
|
'2222': '0xcbf451d41f2ba5b0d169740fd01293dcaf9becb9',
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { lowerCasePoolDataAddresses } from "../utils.js";
|
|
2
|
+
import twopoolSwapABI from '../abis/2pool/swap.json' with { type: 'json' };
|
|
3
|
+
import fusdtSwapABI from '../abis/fusdt/swap.json' with { type: 'json' };
|
|
4
|
+
import fusdtZapABI from '../abis/fusdt/zap.json' with { type: 'json' };
|
|
5
|
+
import renSwapABI from '../abis/ren-fantom/swap.json' with { type: 'json' };
|
|
6
|
+
import triCryptoSwapNoZap from '../abis/tricrypto/swapNoZap.json' with { type: 'json' };
|
|
7
|
+
import ibSwapABI from '../abis/ib/swap.json' with { type: 'json' };
|
|
8
|
+
import aaveSwapABI from '../abis/aave/swap.json' with { type: 'json' };
|
|
9
|
+
// import paaveRewardsabi from '../abis/paave/rewards.json' with { type: 'json' };
|
|
10
|
+
import gaugeChildABI from '../abis/gauge_child.json' with { type: 'json' };
|
|
11
|
+
import gaugeRewardsOnlyABI from '../abis/gauge_rewards_only.json' with { type: 'json' };
|
|
12
|
+
import streamerABI from '../abis/streamer.json' with { type: 'json' };
|
|
13
|
+
export const POOLS_DATA_FANTOM = lowerCasePoolDataAddresses({
|
|
14
|
+
'2pool': {
|
|
15
|
+
name: "2pool",
|
|
16
|
+
full_name: "2pool",
|
|
17
|
+
symbol: "2pool",
|
|
18
|
+
reference_asset: "USD",
|
|
19
|
+
swap_address: '0x27e611fd27b276acbd5ffd632e5eaebec9761e40',
|
|
20
|
+
token_address: '0x27e611fd27b276acbd5ffd632e5eaebec9761e40',
|
|
21
|
+
// old_gauge: '0x0a53FaDa2d943057C47A301D25a4D9b3B8e01e8E', // Unused
|
|
22
|
+
// old_gauge: '0x8866414733F22295b7563f9C5299715D2D76CAf4',
|
|
23
|
+
gauge_address: '0x15bB164F9827De760174d3d3dAD6816eF50dE13c',
|
|
24
|
+
is_plain: true,
|
|
25
|
+
underlying_coins: ['DAI', 'USDC'],
|
|
26
|
+
wrapped_coins: ['DAI', 'USDC'],
|
|
27
|
+
underlying_coin_addresses: [
|
|
28
|
+
'0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e',
|
|
29
|
+
'0x04068da6c83afcfa0e13ba15a6696662335d5b75',
|
|
30
|
+
],
|
|
31
|
+
wrapped_coin_addresses: [
|
|
32
|
+
'0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e',
|
|
33
|
+
'0x04068da6c83afcfa0e13ba15a6696662335d5b75',
|
|
34
|
+
],
|
|
35
|
+
underlying_decimals: [18, 6],
|
|
36
|
+
wrapped_decimals: [18, 6],
|
|
37
|
+
swap_abi: twopoolSwapABI,
|
|
38
|
+
gauge_abi: gaugeChildABI,
|
|
39
|
+
},
|
|
40
|
+
fusdt: {
|
|
41
|
+
name: "fusdt",
|
|
42
|
+
full_name: "fusdt",
|
|
43
|
+
symbol: "fusdt",
|
|
44
|
+
reference_asset: "USD",
|
|
45
|
+
swap_address: '0x92d5ebf3593a92888c25c0abef126583d4b5312e',
|
|
46
|
+
token_address: '0x92d5ebf3593a92888c25c0abef126583d4b5312e',
|
|
47
|
+
// old_gauge: '0x4f3E8F405CF5aFC05D68142F3783bDfE13811522', // Unused
|
|
48
|
+
gauge_address: '0x06e3C4da96fd076b97b7ca3Ae23527314b6140dF', // Old non-cross-chain gauge
|
|
49
|
+
deposit_address: '0xa42bd395f183726d1a8774cfa795771f8acfd777',
|
|
50
|
+
sCurveRewards_address: '0xfe1a3dd8b169fb5bf0d5dbfe813d956f39ff6310',
|
|
51
|
+
is_meta: true,
|
|
52
|
+
base_pool: '2pool',
|
|
53
|
+
underlying_coins: ['fUSDT', 'DAI', 'USDC'],
|
|
54
|
+
wrapped_coins: ['fUSDT', 'DAI+USDC'],
|
|
55
|
+
underlying_coin_addresses: [
|
|
56
|
+
'0x049d68029688eabf473097a2fc38ef61633a3c7a',
|
|
57
|
+
'0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e',
|
|
58
|
+
'0x04068da6c83afcfa0e13ba15a6696662335d5b75',
|
|
59
|
+
],
|
|
60
|
+
wrapped_coin_addresses: [
|
|
61
|
+
'0x049d68029688eabf473097a2fc38ef61633a3c7a',
|
|
62
|
+
'0x27e611fd27b276acbd5ffd632e5eaebec9761e40',
|
|
63
|
+
],
|
|
64
|
+
underlying_decimals: [6, 18, 6],
|
|
65
|
+
wrapped_decimals: [6, 18],
|
|
66
|
+
swap_abi: fusdtSwapABI,
|
|
67
|
+
gauge_abi: gaugeRewardsOnlyABI,
|
|
68
|
+
deposit_abi: fusdtZapABI,
|
|
69
|
+
sCurveRewards_abi: streamerABI,
|
|
70
|
+
},
|
|
71
|
+
ren: {
|
|
72
|
+
name: "ren",
|
|
73
|
+
full_name: "ren",
|
|
74
|
+
symbol: "ren",
|
|
75
|
+
reference_asset: "BTC",
|
|
76
|
+
is_plain: true,
|
|
77
|
+
swap_address: '0x3eF6A01A0f81D6046290f3e2A8c5b843e738E604',
|
|
78
|
+
token_address: '0x5B5CFE992AdAC0C9D48E05854B2d91C73a003858',
|
|
79
|
+
// old_gauge: '0x6600e98b71dabfD4A8Cac03b302B0189Adb86Afb',
|
|
80
|
+
// gauge_address: '0xBdFF0C27dd073C119ebcb1299a68A6A92aE607F0',
|
|
81
|
+
gauge_address: '0xbC38bD19227F91424eD4132F630f51C9A42Fa338',
|
|
82
|
+
underlying_coins: ['WBTC', 'renBTC'],
|
|
83
|
+
wrapped_coins: ['WBTC', 'renBTC'],
|
|
84
|
+
underlying_coin_addresses: [
|
|
85
|
+
'0x321162Cd933E2Be498Cd2267a90534A804051b11',
|
|
86
|
+
'0xDBf31dF14B66535aF65AaC99C32e9eA844e14501',
|
|
87
|
+
],
|
|
88
|
+
wrapped_coin_addresses: [
|
|
89
|
+
'0x321162Cd933E2Be498Cd2267a90534A804051b11',
|
|
90
|
+
'0xDBf31dF14B66535aF65AaC99C32e9eA844e14501',
|
|
91
|
+
],
|
|
92
|
+
underlying_decimals: [8, 8],
|
|
93
|
+
wrapped_decimals: [8, 8],
|
|
94
|
+
swap_abi: renSwapABI,
|
|
95
|
+
gauge_abi: gaugeChildABI,
|
|
96
|
+
},
|
|
97
|
+
tricrypto: {
|
|
98
|
+
name: "tricrypto",
|
|
99
|
+
full_name: "tricrypto",
|
|
100
|
+
symbol: "tricrypto",
|
|
101
|
+
reference_asset: "CRYPTO",
|
|
102
|
+
swap_address: '0x3a1659Ddcf2339Be3aeA159cA010979FB49155FF',
|
|
103
|
+
token_address: '0x58e57cA18B7A47112b877E31929798Cd3D703b0f',
|
|
104
|
+
// gauge_address: '0x00702BbDEaD24C40647f235F15971dB0867F6bdB',
|
|
105
|
+
gauge_address: '0x319E268f0A4C85D404734ee7958857F5891506d7',
|
|
106
|
+
is_crypto: true,
|
|
107
|
+
is_plain: true,
|
|
108
|
+
underlying_coins: ['fUSDT', 'WBTC', 'ETH'],
|
|
109
|
+
wrapped_coins: ['fUSDT', 'WBTC', 'ETH'],
|
|
110
|
+
underlying_coin_addresses: [
|
|
111
|
+
'0x049d68029688eAbF473097a2fC38ef61633A3C7A',
|
|
112
|
+
'0x321162Cd933E2Be498Cd2267a90534A804051b11',
|
|
113
|
+
'0x74b23882a30290451A17c44f4F05243b6b58C76d',
|
|
114
|
+
],
|
|
115
|
+
wrapped_coin_addresses: [
|
|
116
|
+
'0x049d68029688eAbF473097a2fC38ef61633A3C7A',
|
|
117
|
+
'0x321162Cd933E2Be498Cd2267a90534A804051b11',
|
|
118
|
+
'0x74b23882a30290451A17c44f4F05243b6b58C76d',
|
|
119
|
+
],
|
|
120
|
+
underlying_decimals: [6, 8, 18],
|
|
121
|
+
wrapped_decimals: [6, 8, 18],
|
|
122
|
+
swap_abi: triCryptoSwapNoZap,
|
|
123
|
+
gauge_abi: gaugeChildABI,
|
|
124
|
+
},
|
|
125
|
+
ib: {
|
|
126
|
+
name: "ironbank",
|
|
127
|
+
full_name: "ironbank",
|
|
128
|
+
symbol: "ib",
|
|
129
|
+
reference_asset: "USD",
|
|
130
|
+
swap_address: '0x4FC8D635c3cB1d0aa123859e2B2587d0FF2707b1',
|
|
131
|
+
token_address: '0xDf38ec60c0eC001142a33eAa039e49E9b84E64ED',
|
|
132
|
+
gauge_address: '0xDee85272EAe1aB4afBc6433F4d819BaBC9c7045A', // Old non-cross-chain gauge
|
|
133
|
+
sCurveRewards_address: '0x92bbf58c2a4514d44343b987d608627eb7d1d24f',
|
|
134
|
+
is_lending: true,
|
|
135
|
+
underlying_coins: ['DAI', 'USDC', 'fUSDT'],
|
|
136
|
+
wrapped_coins: ['iDAI', 'iUSDC', 'iFUSDT'],
|
|
137
|
+
underlying_coin_addresses: [
|
|
138
|
+
'0x8D11eC38a3EB5E956B052f67Da8Bdc9bef8Abf3E',
|
|
139
|
+
'0x04068DA6C83AFCFA0e13ba15A6696662335D5B75',
|
|
140
|
+
'0x049d68029688eAbF473097a2fC38ef61633A3C7A',
|
|
141
|
+
],
|
|
142
|
+
wrapped_coin_addresses: [
|
|
143
|
+
'0x04c762a5dF2Fa02FE868F25359E0C259fB811CfE',
|
|
144
|
+
'0x328A7b4d538A2b3942653a9983fdA3C12c571141',
|
|
145
|
+
'0x70faC71debfD67394D1278D98A29dea79DC6E57A',
|
|
146
|
+
],
|
|
147
|
+
underlying_decimals: [18, 6, 6],
|
|
148
|
+
wrapped_decimals: [8, 8, 8],
|
|
149
|
+
use_lending: [true, true, true],
|
|
150
|
+
swap_abi: ibSwapABI,
|
|
151
|
+
gauge_abi: gaugeRewardsOnlyABI,
|
|
152
|
+
sCurveRewards_abi: streamerABI,
|
|
153
|
+
},
|
|
154
|
+
geist: {
|
|
155
|
+
name: "geist",
|
|
156
|
+
full_name: "geist",
|
|
157
|
+
symbol: "geist",
|
|
158
|
+
reference_asset: "USD",
|
|
159
|
+
swap_address: '0x0fa949783947Bf6c1b171DB13AEACBB488845B3f',
|
|
160
|
+
token_address: '0xD02a30d33153877BC20e5721ee53DeDEE0422B2F',
|
|
161
|
+
// gauge_address: '0xd4F94D0aaa640BBb72b5EEc2D85F6D114D81a88E',
|
|
162
|
+
gauge_address: '0xF7b9c402c4D6c2eDbA04a7a515b53D11B1E9b2cc',
|
|
163
|
+
is_lending: true,
|
|
164
|
+
underlying_coins: ['DAI', 'USDC', 'fUSDT'],
|
|
165
|
+
wrapped_coins: ['gDAI', 'gUSDC', 'gfUSDT'],
|
|
166
|
+
underlying_coin_addresses: [
|
|
167
|
+
'0x8d11ec38a3eb5e956b052f67da8bdc9bef8abf3e',
|
|
168
|
+
'0x04068da6c83afcfa0e13ba15a6696662335d5b75',
|
|
169
|
+
'0x049d68029688eabf473097a2fc38ef61633a3c7a',
|
|
170
|
+
],
|
|
171
|
+
wrapped_coin_addresses: [
|
|
172
|
+
'0x07e6332dd090d287d3489245038daf987955dcfb',
|
|
173
|
+
'0xe578c856933d8e1082740bf7661e379aa2a30b26',
|
|
174
|
+
'0x940f41f0ec9ba1a34cf001cc03347ac092f5f6b5',
|
|
175
|
+
],
|
|
176
|
+
underlying_decimals: [18, 6, 6],
|
|
177
|
+
wrapped_decimals: [18, 6, 6],
|
|
178
|
+
use_lending: [true, true, true],
|
|
179
|
+
swap_abi: aaveSwapABI,
|
|
180
|
+
gauge_abi: gaugeChildABI,
|
|
181
|
+
// sCurveRewards_abi: paaveRewardsabi,
|
|
182
|
+
// sCurveRewards_address: '0xd4f94d0aaa640bbb72b5eec2d85f6d114d81a88e',
|
|
183
|
+
// reward_token: "0xd8321aa83fb0a4ecd6348d4577431310a6e0814d",
|
|
184
|
+
},
|
|
185
|
+
});
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { POOLS_DATA_ETHEREUM } from "./ethereum.js";
|
|
2
2
|
import { LLAMMAS_DATA_ETHEREUM } from "./ethereum.js";
|
|
3
3
|
import { POOLS_DATA_POLYGON } from "./polygon.js";
|
|
4
|
+
import { POOLS_DATA_FANTOM } from "./fantom.js";
|
|
4
5
|
import { POOLS_DATA_AVALANCHE } from "./avalanche.js";
|
|
5
6
|
import { POOLS_DATA_ARBITRUM } from "./arbitrum.js";
|
|
6
7
|
import { POOLS_DATA_OPTIMISM } from "./optimism.js";
|
|
@@ -17,4 +18,4 @@ import { POOLS_DATA_XLAYER } from "./xlayer.js";
|
|
|
17
18
|
import { POOLS_DATA_MANTLE } from "./mantle.js";
|
|
18
19
|
import { POOLS_DATA_SONIC } from "./sonic.js";
|
|
19
20
|
import { POOLS_DATA_HYPERLIQUID } from "./hyperliquid.js";
|
|
20
|
-
export { POOLS_DATA_ETHEREUM, LLAMMAS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, POOLS_DATA_ZKSYNC, POOLS_DATA_BASE, POOLS_DATA_BSC, POOLS_DATA_FRAXTAL, POOLS_DATA_XLAYER, POOLS_DATA_MANTLE, POOLS_DATA_SONIC, POOLS_DATA_HYPERLIQUID, };
|
|
21
|
+
export { POOLS_DATA_ETHEREUM, LLAMMAS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, POOLS_DATA_ZKSYNC, POOLS_DATA_BASE, POOLS_DATA_BSC, POOLS_DATA_FRAXTAL, POOLS_DATA_XLAYER, POOLS_DATA_MANTLE, POOLS_DATA_SONIC, POOLS_DATA_HYPERLIQUID, };
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { POOLS_DATA_ETHEREUM } from "./ethereum.js";
|
|
2
2
|
import { LLAMMAS_DATA_ETHEREUM } from "./ethereum.js";
|
|
3
3
|
import { POOLS_DATA_POLYGON } from "./polygon.js";
|
|
4
|
+
import { POOLS_DATA_FANTOM } from "./fantom.js";
|
|
4
5
|
import { POOLS_DATA_AVALANCHE } from "./avalanche.js";
|
|
5
6
|
import { POOLS_DATA_ARBITRUM } from "./arbitrum.js";
|
|
6
7
|
import { POOLS_DATA_OPTIMISM } from "./optimism.js";
|
|
@@ -17,4 +18,4 @@ import { POOLS_DATA_XLAYER } from "./xlayer.js";
|
|
|
17
18
|
import { POOLS_DATA_MANTLE } from "./mantle.js";
|
|
18
19
|
import { POOLS_DATA_SONIC } from "./sonic.js";
|
|
19
20
|
import { POOLS_DATA_HYPERLIQUID } from "./hyperliquid.js";
|
|
20
|
-
export { POOLS_DATA_ETHEREUM, LLAMMAS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, POOLS_DATA_ZKSYNC, POOLS_DATA_BASE, POOLS_DATA_BSC, POOLS_DATA_FRAXTAL, POOLS_DATA_XLAYER, POOLS_DATA_MANTLE, POOLS_DATA_SONIC, POOLS_DATA_HYPERLIQUID, };
|
|
21
|
+
export { POOLS_DATA_ETHEREUM, LLAMMAS_DATA_ETHEREUM, POOLS_DATA_POLYGON, POOLS_DATA_FANTOM, POOLS_DATA_AVALANCHE, POOLS_DATA_ARBITRUM, POOLS_DATA_OPTIMISM, POOLS_DATA_XDAI, POOLS_DATA_MOONBEAM, POOLS_DATA_AURORA, POOLS_DATA_KAVA, POOLS_DATA_CELO, POOLS_DATA_ZKSYNC, POOLS_DATA_BASE, POOLS_DATA_BSC, POOLS_DATA_FRAXTAL, POOLS_DATA_XLAYER, POOLS_DATA_MANTLE, POOLS_DATA_SONIC, POOLS_DATA_HYPERLIQUID, };
|
package/lib/curve.js
CHANGED
|
@@ -54,7 +54,7 @@ import { L2Networks } from "./constants/L2Networks.js";
|
|
|
54
54
|
import { getTwocryptoFactoryPoolData } from "./factory/factory-twocrypto.js";
|
|
55
55
|
import { applyFeeDataOverride, computeEip1559Fees, computeLegacyOrFallback, fetchFeeHistory, getNetworkConstants, } from "./utils.js";
|
|
56
56
|
import { _setPoolsFromApi } from "./cached.js";
|
|
57
|
-
export const OLD_CHAINS = [1, 10, 56, 100, 137, 1284, 2222, 8453, 42161, 42220, 43114, 1313161554]; // these chains have non-ng pools
|
|
57
|
+
export const OLD_CHAINS = [1, 10, 56, 100, 137, 250, 1284, 2222, 8453, 42161, 42220, 43114, 1313161554]; // these chains have non-ng pools
|
|
58
58
|
export const memoizedContract = () => {
|
|
59
59
|
const cache = {};
|
|
60
60
|
return (address, abi, provider) => {
|
package/lib/pools/utils.js
CHANGED
|
@@ -378,6 +378,11 @@ export const checkVyperVulnerability = (chainId, poolId, implementation) => {
|
|
|
378
378
|
"0xA9134FaE98F92217f457918505375Ae91fdc5e3c",
|
|
379
379
|
"0xf31bcdf0B9a5eCD7AB463eB905551fBc32e51856",
|
|
380
380
|
].map((a) => a.toLowerCase()),
|
|
381
|
+
250: [
|
|
382
|
+
"0xE6358f6a45B502477e83CC1CDa759f540E4459ee",
|
|
383
|
+
"0x5d58Eb45e97B43e471AF05cD2b11CeB4106E1b1a",
|
|
384
|
+
"0xb11Dc44A9f981fAF1669dca6DD40c3cc2554A2ce",
|
|
385
|
+
].map((a) => a.toLowerCase()),
|
|
381
386
|
42161: [
|
|
382
387
|
"0x7DA64233Fefb352f8F501B357c018158ED8aA455",
|
|
383
388
|
"0xAAe75FAebCae43b9d541Fd875622BE48D9B4f5D0",
|
|
@@ -247,6 +247,68 @@ export function routeGraphWorker() {
|
|
|
247
247
|
tvl: Infinity,
|
|
248
248
|
}];
|
|
249
249
|
}
|
|
250
|
+
// svZCHF <-> ZCHF (Ethereum only)
|
|
251
|
+
if (chainId === 1) {
|
|
252
|
+
routerGraph[constants.COINS.zchf] = {};
|
|
253
|
+
routerGraph[constants.COINS.zchf][constants.COINS.svzchf] = [{
|
|
254
|
+
poolId: "svZCHF wrapper",
|
|
255
|
+
swapAddress: constants.COINS.svzchf,
|
|
256
|
+
inputCoinAddress: constants.COINS.zchf,
|
|
257
|
+
outputCoinAddress: constants.COINS.svzchf,
|
|
258
|
+
swapParams: [0, 1, 9, 0, 0],
|
|
259
|
+
poolAddress: constants.ZERO_ADDRESS,
|
|
260
|
+
basePool: constants.ZERO_ADDRESS,
|
|
261
|
+
baseToken: constants.ZERO_ADDRESS,
|
|
262
|
+
secondBasePool: constants.ZERO_ADDRESS,
|
|
263
|
+
secondBaseToken: constants.ZERO_ADDRESS,
|
|
264
|
+
tvl: Infinity,
|
|
265
|
+
}];
|
|
266
|
+
routerGraph[constants.COINS.svzchf] = {};
|
|
267
|
+
routerGraph[constants.COINS.svzchf][constants.COINS.zchf] = [{
|
|
268
|
+
poolId: "svZCHF wrapper",
|
|
269
|
+
swapAddress: constants.COINS.svzchf,
|
|
270
|
+
inputCoinAddress: constants.COINS.svzchf,
|
|
271
|
+
outputCoinAddress: constants.COINS.zchf,
|
|
272
|
+
swapParams: [1, 0, 9, 0, 0],
|
|
273
|
+
poolAddress: constants.ZERO_ADDRESS,
|
|
274
|
+
basePool: constants.ZERO_ADDRESS,
|
|
275
|
+
baseToken: constants.ZERO_ADDRESS,
|
|
276
|
+
secondBasePool: constants.ZERO_ADDRESS,
|
|
277
|
+
secondBaseToken: constants.ZERO_ADDRESS,
|
|
278
|
+
tvl: Infinity,
|
|
279
|
+
}];
|
|
280
|
+
}
|
|
281
|
+
// syrupUSDC <-> USDC (Ethereum only)
|
|
282
|
+
if (chainId === 1) {
|
|
283
|
+
routerGraph[constants.COINS.usdc] = {};
|
|
284
|
+
routerGraph[constants.COINS.usdc][constants.COINS.syrupusdc] = [{
|
|
285
|
+
poolId: "syrupUSDC wrapper",
|
|
286
|
+
swapAddress: constants.COINS.syrupusdc,
|
|
287
|
+
inputCoinAddress: constants.COINS.usdc,
|
|
288
|
+
outputCoinAddress: constants.COINS.syrupusdc,
|
|
289
|
+
swapParams: [0, 1, 9, 0, 0],
|
|
290
|
+
poolAddress: constants.ZERO_ADDRESS,
|
|
291
|
+
basePool: constants.ZERO_ADDRESS,
|
|
292
|
+
baseToken: constants.ZERO_ADDRESS,
|
|
293
|
+
secondBasePool: constants.ZERO_ADDRESS,
|
|
294
|
+
secondBaseToken: constants.ZERO_ADDRESS,
|
|
295
|
+
tvl: Infinity,
|
|
296
|
+
}];
|
|
297
|
+
routerGraph[constants.COINS.syrupusdc] = {};
|
|
298
|
+
routerGraph[constants.COINS.syrupusdc][constants.COINS.usdc] = [{
|
|
299
|
+
poolId: "syrupUSDC wrapper",
|
|
300
|
+
swapAddress: constants.COINS.syrupusdc,
|
|
301
|
+
inputCoinAddress: constants.COINS.syrupusdc,
|
|
302
|
+
outputCoinAddress: constants.COINS.usdc,
|
|
303
|
+
swapParams: [1, 0, 9, 0, 0],
|
|
304
|
+
poolAddress: constants.ZERO_ADDRESS,
|
|
305
|
+
basePool: constants.ZERO_ADDRESS,
|
|
306
|
+
baseToken: constants.ZERO_ADDRESS,
|
|
307
|
+
secondBasePool: constants.ZERO_ADDRESS,
|
|
308
|
+
secondBaseToken: constants.ZERO_ADDRESS,
|
|
309
|
+
tvl: Infinity,
|
|
310
|
+
}];
|
|
311
|
+
}
|
|
250
312
|
// USDe -> sUSDe (Ethereum only)
|
|
251
313
|
if (chainId === 1) {
|
|
252
314
|
routerGraph[constants.COINS.usde] = {};
|
|
@@ -302,6 +364,7 @@ export function routeGraphWorker() {
|
|
|
302
364
|
if (blacklistedPools.has(poolAddress))
|
|
303
365
|
continue;
|
|
304
366
|
const excludedUnderlyingSwaps = (poolId === 'ib' && chainId === 1) ||
|
|
367
|
+
(poolId === 'geist' && chainId === 250) ||
|
|
305
368
|
(poolId === 'saave' && chainId === 1);
|
|
306
369
|
// Wrapped coin <-> LP "swaps" (actually add_liquidity/remove_liquidity_one_coin)
|
|
307
370
|
if (!poolData.is_fake && !poolData.is_llamma && wrappedCoinAddresses.length < 6) {
|
package/lib/utils.js
CHANGED
|
@@ -356,6 +356,7 @@ export function _getUsdRate(assetId) {
|
|
|
356
356
|
137: 'polygon-pos',
|
|
357
357
|
146: 'sonic',
|
|
358
358
|
196: 'x-layer',
|
|
359
|
+
250: 'fantom',
|
|
359
360
|
252: 'fraxtal',
|
|
360
361
|
324: 'zksync',
|
|
361
362
|
999: 'hyperliquid',
|
|
@@ -376,6 +377,7 @@ export function _getUsdRate(assetId) {
|
|
|
376
377
|
137: 'matic-network',
|
|
377
378
|
146: 'sonic-3',
|
|
378
379
|
196: 'okb',
|
|
380
|
+
250: 'fantom',
|
|
379
381
|
252: 'frax-share',
|
|
380
382
|
324: 'ethereum',
|
|
381
383
|
1284: 'moonbeam',
|