Skip to content

Commit

Permalink
Cleanup unnecessary changes
Browse files Browse the repository at this point in the history
  • Loading branch information
DanielSchiavini committed Sep 17, 2024
1 parent ad4c099 commit 3219f28
Show file tree
Hide file tree
Showing 6 changed files with 51 additions and 47 deletions.
17 changes: 8 additions & 9 deletions src/curve.ts
Original file line number Diff line number Diff line change
Expand Up @@ -105,7 +105,7 @@ import { COINS_FRAXTAL, cTokensFraxtal, yTokensFraxtal, ycTokensFraxtal, aToken
import { COINS_XLAYER, cTokensXLayer, yTokensXLayer, ycTokensXLayer, aTokensXLayer } from "./constants/coins/xlayer.js";
import { COINS_MANTLE, cTokensMantle, yTokensMantle, ycTokensMantle, aTokensMantle } from "./constants/coins/mantle.js";
import { lowerCasePoolDataAddresses, extractDecimals, extractGauges } from "./constants/utils.js";
import {_getAllPoolsFromApi, _getHiddenPools, _getPoolsDataFromApi} from "./external-api.js";
import { _getHiddenPools } from "./external-api.js";
import { L2Networks } from "./constants/L2Networks.js";
import { getTwocryptoFactoryPoolData } from "./factory/factory-twocrypto.js";

Expand Down Expand Up @@ -528,7 +528,10 @@ class Curve implements ICurve {
this.initMulticallContract = memoizedMulticallContract()

// JsonRpc provider
if (providerType?.toLowerCase() === 'JsonRpc'.toLowerCase()) {
if (!providerType) {
return;
}
if (providerType.toLowerCase() === 'JsonRpc'.toLowerCase()) {
providerSettings = providerSettings as { url: string, privateKey: string, batchMaxCount? : number };

let jsonRpcApiProviderOptions;
Expand Down Expand Up @@ -556,22 +559,20 @@ class Curve implements ICurve {
}
}
// Web3 provider
} else if (providerType?.toLowerCase() === 'Web3'.toLowerCase()) {
} else if (providerType.toLowerCase() === 'Web3'.toLowerCase()) {
providerSettings = providerSettings as { externalProvider: ethers.Eip1193Provider };
this.provider = new ethers.BrowserProvider(providerSettings.externalProvider);
this.signer = await this.provider.getSigner();
// Infura provider
} else if (providerType?.toLowerCase() === 'Infura'.toLowerCase()) {
} else if (providerType.toLowerCase() === 'Infura'.toLowerCase()) {
providerSettings = providerSettings as { network?: Networkish, apiKey?: string };
this.provider = new ethers.InfuraProvider(providerSettings.network, providerSettings.apiKey);
this.signer = null;
// Alchemy provider
} else if (providerType?.toLowerCase() === 'Alchemy'.toLowerCase()) {
} else if (providerType.toLowerCase() === 'Alchemy'.toLowerCase()) {
providerSettings = providerSettings as { network?: Networkish, apiKey?: string };
this.provider = new ethers.AlchemyProvider(providerSettings.network, providerSettings.apiKey);
this.signer = null;
} else if (providerType === undefined) {
return;
} else {
throw Error(`Wrong providerType ${providerType}`);
}
Expand Down Expand Up @@ -1076,8 +1077,6 @@ class Curve implements ICurve {
...this.constants.LLAMMAS_DATA,
});

getPoolsDataFromApi = () => _getPoolsDataFromApi(this.constants.NETWORK_NAME);

getGaugeImplementation = (factoryType: IFactoryPoolType): string => this.constants.FACTORY_GAUGE_IMPLEMENTATIONS[factoryType] || this.constants.ZERO_ADDRESS;

setCustomFeeData(customFeeData: { gasPrice?: number, maxFeePerGas?: number, maxPriorityFeePerGas?: number }): void {
Expand Down
20 changes: 13 additions & 7 deletions src/external-api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,19 @@ export const _getPoolsFromApi = memoize(
}
)

const poolTypes = ['main', 'crypto', 'factory', 'factory-crvusd', 'factory-eywa', 'factory-crypto', 'factory-twocrypto', 'factory-tricrypto', 'factory-stable-ng'] as const;

export const _getAllPoolsFromApi = async (network: INetworkName): Promise<IExtendedPoolDataFromApi[]> =>
await Promise.all(poolTypes.map((poolType) => _getPoolsFromApi(network, poolType)))

export const _getPoolsDataFromApi = async (network: INetworkName): Promise<Record<IPoolType, IExtendedPoolDataFromApi>> =>
Object.fromEntries(await Promise.all(poolTypes.map(async (poolType) => [poolType, await _getPoolsFromApi(network, poolType)])))
export const _getAllPoolsFromApi = async (network: INetworkName): Promise<IExtendedPoolDataFromApi[]> => {
return await Promise.all([
_getPoolsFromApi(network, "main"),
_getPoolsFromApi(network, "crypto"),
_getPoolsFromApi(network, "factory"),
_getPoolsFromApi(network, "factory-crvusd"),
_getPoolsFromApi(network, "factory-eywa"),
_getPoolsFromApi(network, "factory-crypto"),
_getPoolsFromApi(network, "factory-twocrypto"),
_getPoolsFromApi(network, "factory-tricrypto"),
_getPoolsFromApi(network, "factory-stable-ng"),
]);
}

export const _getSubgraphData = memoize(
async (network: INetworkName): Promise<IVolumeAndAPYs> => {
Expand Down
1 change: 0 additions & 1 deletion src/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -162,7 +162,6 @@ const curve = {
setCustomFeeData,
getPoolList: _curve.getPoolList,
getMainPoolList: _curve.getMainPoolList,
getPoolsDataFromApi: _curve.getPoolsDataFromApi,
hasProvider: (): boolean => Boolean(_curve.provider),
getUserPoolListByLiquidity,
getUserPoolListByClaimable,
Expand Down
2 changes: 1 addition & 1 deletion src/interfaces.ts
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ export interface IPoolData {
}

export interface ICurve {
provider: ethers.BrowserProvider | ethers.JsonRpcProvider | null,
provider: ethers.BrowserProvider | ethers.JsonRpcProvider,
multicallProvider: MulticallProvider,
signer: ethers.Signer | null,
signerAddress: string,
Expand Down
56 changes: 28 additions & 28 deletions src/pools/PoolTemplate.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,37 +2,37 @@ import BigNumber from 'bignumber.js';
import memoize from "memoizee";
import {_getAllGaugesFormatted, _getPoolsFromApi} from '../external-api.js';
import {
_cutZeros,
_ensureAllowance,
_get_price_impact,
_get_small_x,
_getAddress,
_getBalances,
_getCoinAddresses,
_getCrvApyFromApi,
_getRewardsFromApi,
_getUsdRate,
_getBalances,
_prepareAddresses,
_setContracts,
BN,
checkNumber,
DIGas,
_ensureAllowance,
_getUsdRate,
hasAllowance,
ensureAllowance,
ensureAllowanceEstimateGas,
findAbiFunction,
fromBN,
BN,
toBN,
toStringFromBN,
parseUnits,
getEthIndex,
getVolumeApiController,
hasAllowance,
fromBN,
_cutZeros,
_setContracts,
_get_small_x,
_get_price_impact,
checkNumber,
_getCrvApyFromApi,
_getRewardsFromApi,
mulBy1_3,
parseUnits,
smartNumber,
toBN,
toStringFromBN,
DIGas,
_getAddress,
findAbiFunction,
getVolumeApiController,
} from '../utils.js';
import {IDict, IPoolType, IProfit, IReward} from '../interfaces';
import {curve} from "../curve.js";
import ERC20Abi from '../constants/abis/ERC20.json' assert {type: 'json'};
import {IDict, IReward, IProfit, IPoolType} from '../interfaces';
import { curve } from "../curve.js";
import ERC20Abi from '../constants/abis/ERC20.json' assert { type: 'json' };
import {GaugePool, IGaugePool} from "./gaugePool.js";


Expand Down Expand Up @@ -387,7 +387,6 @@ export class PoolTemplate {
const stablecoinTvlBN = toBN(_balance_x).minus(toBN(_fee_x));
const collateralTvlBN = toBN(_balance_y).minus(toBN(_fee_y)).times(collateralRate);

// return stablecoinTvlBN.plus(collateralTvlBN).toFixed(8)
return stablecoinTvlBN.plus(collateralTvlBN).toString()
}

Expand All @@ -400,10 +399,11 @@ export class PoolTemplate {
}
const poolsData = (await _getPoolsFromApi(network, poolType as IPoolType)).poolData;

const myAddr = this.address.toLowerCase();
const totalLiquidity = poolsData.find((data) => data.address.toLowerCase() === myAddr)?.usdTotal;
if (totalLiquidity !== undefined) {
return totalLiquidity.toFixed(8)
try {
const totalLiquidity = poolsData.filter((data) => data.address.toLowerCase() === this.address.toLowerCase())[0].usdTotal;
return String(totalLiquidity);
} catch (err) {
console.log(this.id, (err as Error).message);
}
}

Expand Down
2 changes: 1 addition & 1 deletion tsconfig.json
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
// "incremental": true, /* Enable incremental compilation */
"target": "es6", /* Specify ECMAScript target version: 'ES3' (default), 'ES5', 'ES2015', 'ES2016', 'ES2017', 'ES2018', 'ES2019', 'ES2020', or 'ESNEXT'. */
"module": "ESNext", /* Specify module code generation: 'none', 'commonjs', 'amd', 'system', 'umd', 'es2015', 'es2020', or 'ESNext'. */
"lib": ["webworker", "ES2019"], /* Specify library files to be included in the compilation. */
"lib": ["webworker"], /* Specify library files to be included in the compilation. */
// "allowJs": true, /* Allow javascript files to be compiled. */
// "checkJs": true, /* Report errors in .js files. */
// "jsx": "preserve", /* Specify JSX code generation: 'preserve', 'react-native', 'react', 'react-jsx' or 'react-jsxdev'. */
Expand Down

0 comments on commit 3219f28

Please sign in to comment.