Files
x-stake/app/javascript/src/utils/apr.ts
2021-08-15 18:02:06 -03:00

30 lines
691 B
TypeScript

import BigNumber from "bignumber.js";
import { BLOCKS_PER_YEAR } from "../constants";
type Props = {
stakingTokenPrice: number;
rewardTokenPrice: number;
totalStaked: number;
tokenPerBlock: number;
};
export const getApr = ({
rewardTokenPrice,
stakingTokenPrice,
tokenPerBlock,
totalStaked,
}: Props) => {
const totalRewardPricePerYear = new BigNumber(rewardTokenPrice)
.times(tokenPerBlock)
.times(BLOCKS_PER_YEAR);
const totalStakingTokenInPool = new BigNumber(stakingTokenPrice).times(
totalStaked
);
const apr = totalRewardPricePerYear.div(totalStakingTokenInPool).times(100);
return apr.isNaN() || !apr.isFinite() ? null : apr.toNumber();
};