update pools, fix calculations

This commit is contained in:
dinclas
2021-09-19 18:51:24 -03:00
parent 66d0492e9b
commit 20630ceec0
6 changed files with 1433 additions and 1010 deletions

View File

@@ -25,6 +25,292 @@ export const pools: PoolConfig[] = [
sortOrder: 1,
isFinished: false,
},
{
sousId: 220,
stakingToken: tokens.cake,
earningToken: tokens.chess,
contractAddress: {
97: "",
56: "0x4D1Ec426d0d7fb6bF344Dd372d0502EDD71c8d88",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.0861",
},
{
sousId: 219,
stakingToken: tokens.cake,
earningToken: tokens.tlos,
contractAddress: {
97: "",
56: "0xCB41a72067c227D6Ed7bc7CFAcd13eCe47Dfe5E9",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.3616",
},
{
sousId: 218,
stakingToken: tokens.cake,
earningToken: tokens.stephero,
contractAddress: {
97: "",
56: "0xcecba456fefe5b18d43df23419e7ab755b436655",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.1851",
},
{
sousId: 217,
stakingToken: tokens.cake,
earningToken: tokens.bp,
contractAddress: {
97: "",
56: "0x8ed7acf12b08274d5cdaf03d43d0e54bcbdd487e",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.217",
},
{
sousId: 216,
stakingToken: tokens.cake,
earningToken: tokens.cvp,
contractAddress: {
97: "",
56: "0xC4b15117BC0be030c20754FF36197641477af5d1",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.14",
},
{
sousId: 215,
stakingToken: tokens.cake,
earningToken: tokens.qbt,
contractAddress: {
97: "",
56: "0xB72dEf58D0832f747d6B7197471Fe20AeA7EB463",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "1.412",
},
{
sousId: 214,
stakingToken: tokens.cake,
earningToken: tokens.naos,
contractAddress: {
97: "",
56: "0xb38b78529bCc895dA16CE2978D6cD6C56e8CfFC3",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.1736",
},
{
sousId: 213,
stakingToken: tokens.cake,
earningToken: tokens.pha,
contractAddress: {
97: "",
56: "0x2E101b5F7f910F2609e5AcE5f43bD274b1DE09AA",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.28",
},
{
sousId: 212,
stakingToken: tokens.cake,
earningToken: tokens.bel,
contractAddress: {
97: "",
56: "0x52733Ad7b4D09BF613b0389045e33E2F287afa04",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.101",
},
{
sousId: 211,
stakingToken: tokens.cake,
earningToken: tokens.ramp,
contractAddress: {
97: "",
56: "0x401b9b97bdbc3197c1adfab9652dc78040bd1e13",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.9837",
},
{
sousId: 210,
stakingToken: tokens.cake,
earningToken: tokens.pots,
contractAddress: {
97: "",
56: "0xBeDb490970204cb3CC7B0fea94463BeD67d5364D",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.0868",
},
{
sousId: 209,
stakingToken: tokens.cake,
earningToken: tokens.tusd,
contractAddress: {
97: "",
56: "0xb6e510ae2da1ab4e350f837c70823ab75091780e",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.5787",
},
{
sousId: 208,
stakingToken: tokens.cake,
earningToken: tokens.revv,
contractAddress: {
97: "",
56: "0x8aa5b2c67852ed5334c8a7f0b5eb0ef975106793",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "1.331",
},
{
sousId: 207,
stakingToken: tokens.cake,
earningToken: tokens.btt,
contractAddress: {
97: "",
56: "0x3b804460c3c62f0f565af593984159f13b1ac976",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "263",
},
{
sousId: 206,
stakingToken: tokens.cake,
earningToken: tokens.skill,
contractAddress: {
97: "",
56: "0x455f4d4cc4d6ca15441a93c631e82aaf338ad843",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.00289",
},
{
sousId: 205,
stakingToken: tokens.cake,
earningToken: tokens.win,
contractAddress: {
97: "",
56: "0xde4aef42bb27a2cb45c746acde4e4d8ab711d27c",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "1815.39",
},
{
sousId: 204,
stakingToken: tokens.cake,
earningToken: tokens.if,
contractAddress: {
97: "",
56: "0x57d3524888ded4085d9124a422f13b27c8a43de7",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.02835",
},
{
sousId: 203,
stakingToken: tokens.cake,
earningToken: tokens.sps,
contractAddress: {
97: "",
56: "0xb56299d8fbf46c509014b103a164ad1fc65ea222",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "12.86",
},
{
sousId: 202,
stakingToken: tokens.cake,
earningToken: tokens.c98,
contractAddress: {
97: "",
56: "0x5e49531BA07bE577323e55666D46C6217164119E",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "1.7361",
},
{
sousId: 201,
stakingToken: tokens.cake,
earningToken: tokens.axs,
contractAddress: {
97: "",
56: "0xBB472601B3CB32723d0755094BA80B73F67f2AF3",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.00744",
},
{
sousId: 200,
stakingToken: tokens.axs,
earningToken: tokens.cake,
contractAddress: {
97: "",
56: "0x583A36816F3b8401C4fdf682203E0caDA6997740",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.00992",
},
{
sousId: 199,
stakingToken: tokens.cake,
earningToken: tokens.pmon,
contractAddress: {
97: "",
56: "0x28050e8f024e05f9ddbef5f60dd49f536dba0cf0",
},
poolCategory: PoolCategory.CORE,
harvest: true,
sortOrder: 999,
tokenPerBlock: "0.02696",
},
{
sousId: 198,
stakingToken: tokens.cake,

File diff suppressed because it is too large Load Diff

View File

@@ -39,14 +39,14 @@ export const Pool: FC<PoolProps> = ({ pool, balance }) => {
const aprValue = getApr({
rewardTokenPrice: earningPrice,
stakingTokenPrice: stakingPrice,
tokenPerBlock: parseFloat(pool.tokenPerBlock) / 1e-18,
tokenPerBlock: parseFloat(pool.tokenPerBlock),
totalStaked,
});
if (aprValue) {
setApr({
loading: false,
value: (aprValue - INVESTMENT_FEE_PERCENTAGE).toFixed(2),
value: (aprValue * (1 - INVESTMENT_FEE_PERCENTAGE / 100)).toFixed(2),
});
}
})();
@@ -82,11 +82,11 @@ export const Pool: FC<PoolProps> = ({ pool, balance }) => {
</div>
<div className="mt-4 p-2">
<p>
<span className="font-medium">Investir:</span>
<span className="font-medium mr-1">Investir:</span>
{pool.stakingToken.symbol}
</p>
<p>
<span className="font-medium">Receber:</span>
<span className="font-medium mr-1">Receber:</span>
{pool.earningToken.symbol}
</p>
<div className="flex items-center">

View File

@@ -3,8 +3,8 @@ import BigNumber from "bignumber.js";
import { BLOCKS_PER_YEAR } from "../constants";
type Props = {
stakingTokenPrice: number;
rewardTokenPrice: number;
stakingTokenPrice: BigNumber;
rewardTokenPrice: BigNumber;
totalStaked: number;
tokenPerBlock: number;
};

View File

@@ -1,21 +1,18 @@
import type { Contract } from "ethers";
import { ethers } from "ethers";
import BigNumber from "bignumber.js";
import { tokens } from "../constants/pancake/Tokens";
import type { Token } from "../constants/pancake/Tokens";
import { BIG_TEN } from "./getTotalStaked";
// 1 Wei = 1*10^18 Ether
const ONE_BUSD_IN_WEI = ethers.utils.parseUnits("1", 18);
export const getPriceInBusd = async (router: Contract, token: Token) => {
try {
const result = await router.getAmountsOut(ONE_BUSD_IN_WEI, [
token.address["56"],
tokens.busd.address["56"],
]);
const response = await fetch(
`https://api.pancakeswap.info/api/v2/tokens/${token.address["56"]}`
).then((r) => r.json());
return result[1].toString() / 1e18;
} catch {
return 0;
}
return new BigNumber(response.data.price);
};

View File

@@ -4,6 +4,8 @@ import BigNumber from "bignumber.js";
import erc20 from "../abi/erc20.json";
import type { PoolConfig } from "../types";
export const BIG_TEN = new BigNumber(10);
export const getTotalStaked = async (
provider: ethers.providers.Provider,
pool: PoolConfig
@@ -22,7 +24,9 @@ export const getTotalStaked = async (
try {
const result = await contract.balanceOf(pool.contractAddress["56"]);
return new BigNumber(result.toJSON().hex).toNumber();
return new BigNumber(result.toJSON().hex)
.dividedBy(BIG_TEN.pow(pool.stakingToken.decimals))
.toNumber();
} catch {
return 0;
}