Skip to content

Commit

Permalink
Merge pull request #81 from QuickSwap/feature/update-farms-performance
Browse files Browse the repository at this point in the history
Farms page update
  • Loading branch information
sameepsi authored Feb 11, 2022
2 parents 6f72146 + a437cfa commit f7ec42e
Show file tree
Hide file tree
Showing 12 changed files with 281 additions and 267 deletions.
29 changes: 12 additions & 17 deletions src/components/FarmDualCard/FarmDualCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ import CircleInfoIcon from 'assets/images/circleinfo.svg';
import FarmDualCardDetails from './FarmDualCardDetails';
import {
getAPYWithFee,
getEarnedUSDDualFarm,
getRewardRate,
getStakedAmountStakingInfo,
getTVLStaking,
Expand Down Expand Up @@ -42,9 +43,8 @@ const useStyles = makeStyles(({ palette }) => ({

const FarmDualCard: React.FC<{
stakingInfo: DualStakingInfo;
dQuicktoQuick: number;
stakingAPY: number;
}> = ({ stakingInfo, dQuicktoQuick, stakingAPY }) => {
}> = ({ stakingInfo, stakingAPY }) => {
const classes = useStyles();
const { palette, breakpoints } = useTheme();
const isMobile = useMediaQuery(breakpoints.down('xs'));
Expand Down Expand Up @@ -78,23 +78,19 @@ const FarmDualCard: React.FC<{
stakedAmounts?.totalStakedBase,
);

const poolRateA = getRewardRate(stakingInfo.totalRewardRateA);
const poolRateB = getRewardRate(stakingInfo.totalRewardRateB);

const earnedUSD =
Number(stakingInfo.earnedAmountA.toSignificant()) *
dQuicktoQuick *
stakingInfo.quickPrice +
Number(stakingInfo.earnedAmountB.toSignificant()) *
Number(stakingInfo.rewardTokenBPrice);
const poolRateA = getRewardRate(
stakingInfo.totalRewardRateA,
stakingInfo.rewardTokenA,
);
const poolRateB = getRewardRate(
stakingInfo.totalRewardRateB,
stakingInfo.rewardTokenB,
);

const earnedUSDStr =
earnedUSD < 0.001 && earnedUSD > 0
? '< $0.001'
: '$' + earnedUSD.toLocaleString();
const earnedUSDStr = getEarnedUSDDualFarm(stakingInfo);

const rewards =
stakingInfo?.rateA * stakingInfo?.quickPrice +
stakingInfo?.rateA * (stakingInfo?.rewardTokenAPrice ?? 0) +
stakingInfo?.rateB * Number(stakingInfo.rewardTokenBPrice);

const renderPool = (width: number) => (
Expand Down Expand Up @@ -200,7 +196,6 @@ const FarmDualCard: React.FC<{
{isExpandCard && (
<FarmDualCardDetails
pair={stakingInfo.stakingTokenPair}
dQuicktoQuick={dQuicktoQuick}
stakingAPY={stakingAPY}
/>
)}
Expand Down
30 changes: 13 additions & 17 deletions src/components/FarmDualCard/FarmDualCardDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ import useTransactionDeadline from 'hooks/useTransactionDeadline';
import { useApproveCallback, ApprovalState } from 'hooks/useApproveCallback';
import {
getAPYWithFee,
getEarnedUSDDualFarm,
getRewardRate,
getStakedAmountStakingInfo,
getTokenAddress,
Expand Down Expand Up @@ -76,9 +77,8 @@ const useStyles = makeStyles(({ palette, breakpoints }) => ({

const FarmDualCardDetails: React.FC<{
pair: Pair | null | undefined;
dQuicktoQuick: number;
stakingAPY: number;
}> = ({ pair, dQuicktoQuick, stakingAPY }) => {
}> = ({ pair, stakingAPY }) => {
const classes = useStyles();
const { palette, breakpoints } = useTheme();
const isMobile = useMediaQuery(breakpoints.down('xs'));
Expand Down Expand Up @@ -259,17 +259,7 @@ const FarmDualCardDetails: React.FC<{
}
};

const earnedUSD =
Number(stakingInfo?.earnedAmountA.toSignificant()) *
dQuicktoQuick *
Number(stakingInfo?.quickPrice) +
Number(stakingInfo?.earnedAmountB.toSignificant()) *
Number(stakingInfo?.maticPrice);

const earnedUSDStr =
earnedUSD < 0.001 && earnedUSD > 0
? '< $0.001'
: '$' + earnedUSD.toLocaleString();
const earnedUSDStr = getEarnedUSDDualFarm(stakingInfo);

const tvl = getTVLStaking(
stakedAmounts?.totalStakedUSD,
Expand All @@ -279,13 +269,19 @@ const FarmDualCardDetails: React.FC<{
const rewards = useMemo(() => {
if (!stakingInfo) return 0;
return (
stakingInfo?.rateA * stakingInfo?.quickPrice +
stakingInfo?.rateB * Number(stakingInfo?.rewardTokenBPrice)
stakingInfo.rateA * stakingInfo.rewardTokenAPrice +
stakingInfo.rateB * Number(stakingInfo.rewardTokenBPrice)
);
}, [stakingInfo]);

const poolRateA = getRewardRate(stakingInfo?.totalRewardRateA);
const poolRateB = getRewardRate(stakingInfo?.totalRewardRateB);
const poolRateA = getRewardRate(
stakingInfo?.totalRewardRateA,
stakingInfo?.rewardTokenA,
);
const poolRateB = getRewardRate(
stakingInfo?.totalRewardRateB,
stakingInfo?.rewardTokenB,
);

return (
<Box
Expand Down
23 changes: 8 additions & 15 deletions src/components/FarmLPCard/FarmLPCard.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ import {
getRewardRate,
getStakedAmountStakingInfo,
getTVLStaking,
getEarnedUSDLPFarm,
} from 'utils';
import { KeyboardArrowDown, KeyboardArrowUp } from '@material-ui/icons';

Expand Down Expand Up @@ -44,9 +45,8 @@ const useStyles = makeStyles(({ palette }) => ({

const FarmLPCard: React.FC<{
stakingInfo: StakingInfo;
dQuicktoQuick: number;
stakingAPY: number;
}> = ({ stakingInfo, dQuicktoQuick, stakingAPY }) => {
}> = ({ stakingInfo, stakingAPY }) => {
const classes = useStyles();
const { palette, breakpoints } = useTheme();
const isMobile = useMediaQuery(breakpoints.down('xs'));
Expand All @@ -57,7 +57,6 @@ const FarmLPCard: React.FC<{

const currency0 = unwrappedToken(token0);
const currency1 = unwrappedToken(token1);
const quickPriceUSD = stakingInfo.quickPrice;

const stakedAmounts = getStakedAmountStakingInfo(stakingInfo);

Expand All @@ -78,19 +77,14 @@ const FarmLPCard: React.FC<{
stakedAmounts?.totalStakedBase,
);

const poolRate = getRewardRate(stakingInfo.totalRewardRate);

const earnedUSD =
Number(stakingInfo.earnedAmount.toSignificant()) *
dQuicktoQuick *
quickPriceUSD;
const poolRate = getRewardRate(
stakingInfo.totalRewardRate,
stakingInfo.rewardToken,
);

const earnedUSDStr =
earnedUSD < 0.001 && earnedUSD > 0
? '< $0.001'
: '$' + earnedUSD.toLocaleString();
const earnedUSDStr = getEarnedUSDLPFarm(stakingInfo);

const rewards = stakingInfo?.dQuickToQuick * stakingInfo?.quickPrice;
const rewards = stakingInfo.rewardTokenPrice * stakingInfo.rate;

const renderPool = (width: number) => (
<Box display='flex' alignItems='center' width={width}>
Expand Down Expand Up @@ -184,7 +178,6 @@ const FarmLPCard: React.FC<{
{isExpandCard && (
<FarmLPCardDetails
pair={stakingInfo.stakingTokenPair}
dQuicktoQuick={dQuicktoQuick}
stakingAPY={stakingAPY}
/>
)}
Expand Down
26 changes: 11 additions & 15 deletions src/components/FarmLPCard/FarmLPCardDetails.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import {
returnTokenFromKey,
getStakedAmountStakingInfo,
getUSDString,
getEarnedUSDLPFarm,
} from 'utils';
import CircleInfoIcon from 'assets/images/circleinfo.svg';

Expand Down Expand Up @@ -74,9 +75,8 @@ const useStyles = makeStyles(({ palette, breakpoints }) => ({

const FarmLPCardDetails: React.FC<{
pair: Pair | null | undefined;
dQuicktoQuick: number;
stakingAPY: number;
}> = ({ pair, dQuicktoQuick, stakingAPY }) => {
}> = ({ pair, stakingAPY }) => {
const classes = useStyles();
const { palette, breakpoints } = useTheme();
const isMobile = useMediaQuery(breakpoints.down('xs'));
Expand Down Expand Up @@ -107,7 +107,6 @@ const FarmLPCardDetails: React.FC<{

const currency0 = token0 ? unwrappedToken(token0) : undefined;
const currency1 = token1 ? unwrappedToken(token1) : undefined;
const quickPriceUSD = stakingInfo?.quickPrice;

const userLiquidityUnstaked = useTokenBalance(
account ?? undefined,
Expand Down Expand Up @@ -258,25 +257,22 @@ const FarmLPCardDetails: React.FC<{
}
};

const earnedUSD =
Number(stakingInfo?.earnedAmount.toSignificant()) *
dQuicktoQuick *
Number(quickPriceUSD);

const earnedUSDStr =
earnedUSD < 0.001 && earnedUSD > 0
? '< $0.001'
: '$' + earnedUSD.toLocaleString();
const earnedUSDStr = getEarnedUSDLPFarm(stakingInfo);

const tvl = getTVLStaking(
stakedAmounts?.totalStakedUSD,
stakedAmounts?.totalStakedBase,
);

const rewards =
(stakingInfo?.dQuickToQuick ?? 0) * (stakingInfo?.quickPrice ?? 0);
const rewards = useMemo(() => {
if (!stakingInfo) return 0;
return stakingInfo.rate * stakingInfo.rewardTokenPrice;
}, [stakingInfo]);

const poolRate = getRewardRate(stakingInfo?.totalRewardRate);
const poolRate = getRewardRate(
stakingInfo?.totalRewardRate,
stakingInfo?.rewardToken,
);

return (
<Box
Expand Down
3 changes: 1 addition & 2 deletions src/components/RewardSlider/RewardSliderItem.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@ import { makeStyles } from '@material-ui/core/styles';
import { StakingInfo } from 'state/stake/hooks';
import { unwrappedToken } from 'utils/wrappedCurrency';
import { DoubleCurrencyLogo } from 'components';
import { GlobalConst } from 'constants/index';
import { ReactComponent as HelpIcon } from 'assets/images/HelpIcon.svg';
import { getAPYWithFee, returnTokenFromKey } from 'utils';

Expand Down Expand Up @@ -103,7 +102,7 @@ const RewardSliderItem: React.FC<RewardSliderItemProps> = ({
valueOfTotalStakedAmountInBaseToken &&
USDPrice?.quote(valueOfTotalStakedAmountInBaseToken);

const rewards = Number(info.rate) * Number(info.quickPrice);
const rewards = info.rate * info.rewardTokenPrice;

let apyWithFee;
if (stakingAPY && stakingAPY > 0) {
Expand Down
88 changes: 66 additions & 22 deletions src/constants/stake.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,49 @@
{
"syrup": [
{
"token": "SOFI",
"stakingRewardAddress": "0x1fE664646804F95F9a8Ad3B6F8EFA639A8a47f58",
"ended": false,
"lp": "",
"name": "",
"baseToken": "USDT",
"rate": 7055.555,
"ending": 1649718660,
"stakingToken": "QUICK"
},
{
"token": "GM",
"stakingRewardAddress": "0xe12F1e8682D3eC384B6d1Ec129e0410875e73601",
"ended": false,
"lp": "",
"name": "",
"baseToken": "MATIC",
"rate": 21083.33333,
"ending": 1649718660,
"stakingToken": "QUICK"
},
{
"token": "BICO",
"stakingRewardAddress": "0x5D474ddBb7da6275eB22fff06f28615F0B457c9d",
"ended": false,
"lp": "",
"name": "",
"baseToken": "ETHER",
"rate": 566.67,
"ending": 1649547250,
"stakingToken": "QUICK"
},
{
"token": "BIOS",
"stakingRewardAddress": "0x1e541d19e3a0aC7e2E93cBC56360B4abE7E241fE",
"ended": false,
"lp": "",
"name": "",
"baseToken": "MATIC",
"rate": 333.33,
"ending": 1649547250,
"stakingToken": "QUICK"
},
{
"token": "SAFLE",
"stakingRewardAddress": "0xDaFee9cafDc99c73d2288a9e2dc2c6A22dFB75fC",
Expand Down Expand Up @@ -220,17 +264,6 @@
"ending": 1645289231,
"stakingToken": "DQUICK"
},
{
"token": "MM",
"stakingRewardAddress": "0xB224d9F687538a2FAF8964DcAabb71bFe627Aee0",
"ended": false,
"lp": "",
"name": "",
"baseToken": "USDC",
"rate": 66.66666667,
"ending": 1644296104,
"stakingToken": "DQUICK"
},
{
"token": "ZIG",
"stakingRewardAddress": "0xfE6174429a963bF4E25a80FE0B72d7Cce7Df6e2f",
Expand All @@ -242,17 +275,6 @@
"ending": 1646888104,
"stakingToken": "DQUICK"
},
{
"token": "TECH",
"stakingRewardAddress": "0xD2C494057f57D845C67bb5825e83B657204875c8",
"ended": false,
"lp": "",
"name": "",
"baseToken": "ETHER",
"rate": 40610.66,
"ending": 1644090690,
"stakingToken": "DQUICK"
},
{
"token": "DERC",
"stakingRewardAddress": "0xE800041A775D269e1cD38261B4500b0D8F0e9916",
Expand Down Expand Up @@ -288,6 +310,28 @@
}
],
"oldsyrup": [
{
"token": "MM",
"stakingRewardAddress": "0xB224d9F687538a2FAF8964DcAabb71bFe627Aee0",
"ended": true,
"lp": "",
"name": "",
"baseToken": "USDC",
"rate": 66.66666667,
"ending": 1644296104,
"stakingToken": "DQUICK"
},
{
"token": "TECH",
"stakingRewardAddress": "0xD2C494057f57D845C67bb5825e83B657204875c8",
"ended": true,
"lp": "",
"name": "",
"baseToken": "ETHER",
"rate": 40610.66,
"ending": 1644090690,
"stakingToken": "DQUICK"
},
{
"token": "CLAM2",
"stakingRewardAddress": "0xb510935f4D67E27a11cD94E81bF0C465ee2a5509",
Expand Down
Loading

0 comments on commit f7ec42e

Please sign in to comment.