config#VVS_PER_BLOCK TypeScript Examples
The following examples show how to use
config#VVS_PER_BLOCK.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: VvsAllocation.tsx From vvs-ui with GNU General Public License v3.0 | 5 votes |
VvsAllocation: React.FC<AllocationProps> = ({
poolWeight
}) => {
return <Container>
<AprWrapper>{(poolWeight * VVS_PER_BLOCK).toLocaleString('en-US', { maximumFractionDigits: 2 })}/ Block</AprWrapper>
</Container>
}
Example #2
Source File: AprRow.tsx From vvs-ui with GNU General Public License v3.0 | 5 votes |
AprRow: React.FC<AprRowProps> = ({ pool, stakedBalance, performanceFee = 0 }) => {
const { t } = useTranslation()
const { stakingToken, earningToken, isFinished, apr, earningTokenPrice, stakingTokenPrice, userData, isAutoVault } =
pool
const stakingTokenBalance = userData?.stakingTokenBalance ? new BigNumber(userData.stakingTokenBalance) : BIG_ZERO
const tooltipContent = isBlindMode() ? t('Amount of VVS rewards allocated to the Glitter mine participants issued with each Cronos block (~5-6s/block). We will convert this value to APY/APR value after Pioneer Farming Mode is completed.') : (isAutoVault
? t('APY displayed for auto-compounded deposits.')
: t('APY displayed for non auto-compounded deposits.'))
const { targetRef, tooltip, tooltipVisible } = useTooltip(tooltipContent, { placement: 'bottom-start' })
const { apr: earningsPercentageToDisplay, autoCompoundFrequency } = getAprData(pool, performanceFee)
const apyModalLink = stakingToken.address ? `/swap?outputCurrency=${stakingToken.address}` : '/swap'
const [onPresentApyModal] = useModal(
<RoiCalculatorModal
earningTokenPrice={earningTokenPrice}
stakingTokenPrice={stakingTokenPrice}
apr={apr}
linkLabel={t('Get %symbol%', { symbol: stakingToken.symbol })}
linkHref={apyModalLink}
stakingTokenBalance={stakedBalance.plus(stakingTokenBalance)}
stakingTokenSymbol={stakingToken.symbol}
earningTokenSymbol={earningToken.symbol}
autoCompoundFrequency={autoCompoundFrequency}
performanceFee={performanceFee}
/>,
)
const vvsFarm = useFarmFromPid(0)
return (
isBlindMode() ? <Flex alignItems="center" justifyContent="space-between">
{tooltipVisible && tooltip}
<TooltipText color="textSubtle" small ref={targetRef}>
{`${t('VVS Allocation')}`}
</TooltipText>
<Flex alignItems="center">
{vvsFarm && vvsFarm.poolWeight ? `${(VVS_PER_BLOCK * vvsFarm.poolWeight.toNumber()).toFixed(2)}/ Block` : ''}
</Flex>
</Flex> : <Flex alignItems="center" justifyContent="space-between">
{tooltipVisible && tooltip}
<TooltipText color="textSubtle" small ref={targetRef}>
{isAutoVault ? `${t('APY')}:` : `${t('APR')}:`}
</TooltipText>
{isFinished || !apr ? (
<Skeleton width="82px" height="32px" />
) : (
<ApyLabelContainer alignItems="center" onClick={onPresentApyModal}>
<Balance
fontSize="16px"
isDisabled={isFinished}
value={earningsPercentageToDisplay}
decimals={2}
unit="%"
onClick={onPresentApyModal}
/>
<IconButton variant="text" scale="sm">
<CalculateIcon color="textSubtle" width="18px" />
</IconButton>
</ApyLabelContainer>
)}
</Flex>
)
}
Example #3
Source File: FarmCard.tsx From vvs-ui with GNU General Public License v3.0 | 4 votes |
FarmCard: React.FC<FarmCardProps> = ({ farm, displayApr, removed, vvsPrice, account }) => {
const { t } = useTranslation()
const [showExpandableSection, setShowExpandableSection] = useState(false)
const totalValueFormatted =
farm.liquidity && farm.liquidity.gt(0)
? `$${farm.liquidity.toNumber().toLocaleString(undefined, { maximumFractionDigits: 0 })}`
: ''
// const lpLabel = farm.lpSymbol && farm.lpSymbol.toUpperCase().replace('VVS', '') // FIXME replace ??
const lpLabel = farm.lpSymbol && farm.lpSymbol.toUpperCase()
const earnLabel = farm.dual ? farm.dual.earnLabel : t('VVS + Fees')
const liquidityUrlPathParts = getLiquidityUrlPathParts({
quoteTokenAddress: farm.quoteToken.address,
tokenAddress: farm.token.address,
})
const addLiquidityUrl = `${BASE_ADD_LIQUIDITY_URL}/${liquidityUrlPathParts}`
const lpAddress = getAddress(farm.lpAddresses)
const isPromotedFarm = farm.token.symbol === 'VVS'
return (
<StyledCard isActive={false}>
<FarmCardInnerContainer>
<CardHeading
lpLabel={lpLabel}
multiplier={farm.multiplier}
isCommunityFarm={farm.isCommunity}
token={farm.token}
quoteToken={farm.quoteToken}
/>
{!removed && (
<Flex justifyContent="space-between" alignItems="center">
<Text color="textSubtle">{t(isBlindMode() ? 'VVS Allocation' : 'APR')}:</Text>
<Text style={{ display: 'flex', alignItems: 'center' }}>
{isBlindMode() ? `${(farm.poolWeight.toNumber() * VVS_PER_BLOCK).toLocaleString('en-US', { maximumFractionDigits: 2 })}/ Block` : (farm.apr ? (
<ApyButton
variant="text-and-button"
pid={farm.pid}
lpSymbol={farm.lpSymbol}
multiplier={farm.multiplier}
lpLabel={lpLabel}
addLiquidityUrl={addLiquidityUrl}
vvsPrice={vvsPrice}
apr={farm.apr}
displayApr={displayApr}
/>
) : (
<Skeleton height={24} width={80} />
))}
</Text>
</Flex>
)}
<Flex justifyContent="space-between">
<Text color="textSubtle">{t('Earn')}:</Text>
<Text>{earnLabel}</Text>
</Flex>
<CardActionsContainer
farm={farm}
lpLabel={lpLabel}
account={account}
vvsPrice={vvsPrice}
addLiquidityUrl={addLiquidityUrl}
/>
</FarmCardInnerContainer>
<ExpandingWrapper>
<ExpandableSectionButton
onClick={() => setShowExpandableSection(!showExpandableSection)}
expanded={showExpandableSection}
/>
{showExpandableSection && (
<DetailsSection
removed={removed}
bscScanAddress={getExplorerLink(lpAddress, 'address')}
infoAddress={`/info/farm/${lpAddress}`}
totalValueFormatted={totalValueFormatted}
lpLabel={lpLabel}
addLiquidityUrl={addLiquidityUrl}
/>
)}
</ExpandingWrapper>
</StyledCard>
)
}