Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

chore: avail estimated rewards #1156

Merged
merged 1 commit into from
Jul 25, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { ChainProvider, useChainState } from '../../../../domains/chains'
import { ChainProvider } from '../../../../domains/chains'
import { nominationPoolsEnabledChainsState, type ChainInfo } from '../../../../domains/chains/recoils'
import { useEraEtaFormatter } from '../../../../domains/common/hooks'
import { useApr } from '../../../../domains/staking/substrate/nominationPools'
Expand All @@ -7,19 +7,12 @@ import StakeForm from '../../../recipes/StakeForm/StakeForm'
import ErrorBoundary from '../../ErrorBoundary'
import { AssetSelect, ControlledStakeForm } from './StakeForm'
import { CircularProgressIndicator } from '@talismn/ui'
import { Text } from '@talismn/ui'
import BN from 'bn.js'
import { Suspense, useState, useTransition } from 'react'
import { useSearchParams } from 'react-router-dom'
import { useRecoilValue } from 'recoil'

const Rewards = () => {
const chain = useRecoilValue(useChainState())
const apr = useApr()

if (chain.id === 'avail') return <Text.Body>Coming Soon</Text.Body>
return <>{apr.toLocaleString(undefined, { style: 'percent', maximumFractionDigits: 2 })}</>
}
const Rewards = () => <>{useApr().toLocaleString(undefined, { style: 'percent', maximumFractionDigits: 2 })}</>

const EraEta = () => {
return <>{useEraEtaFormatter()(new BN(1))}</>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -305,13 +305,7 @@ const ExistingPool = (props: NominationPoolsStatisticsSideSheetProps & { pool: D
poolStatus={props.pool.status}
balance={<RedactableBalance>{balance.decimalAmount.toLocaleString()}</RedactableBalance>}
rewards={<RedactableBalance>{last15DaysTotalPayouts.toLocaleString()}</RedactableBalance>}
apr={
chain.id === 'avail' ? (
<Text.Body>Coming Soon</Text.Body>
) : (
stakedReturn.toLocaleString(undefined, { style: 'percent' })
)
}
apr={stakedReturn.toLocaleString(undefined, { style: 'percent' })}
nextEraEta={useEraEtaFormatter()(1)}
unbondings={useMemo(
() =>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,15 +4,13 @@ import { useApr } from '../../../../domains/staking/substrate/nominationPools'
import StakeCalculatorDialogComponent from '../../../recipes/StakeCalculatorDialog'
import ErrorBoundary from '../../ErrorBoundary'
import { AssetSelect } from './StakeForm'
import { Text } from '@talismn/ui'
import BN from 'bn.js'
import { Suspense, useDeferredValue, useMemo, useState, useTransition } from 'react'
import { useRecoilValue } from 'recoil'

type StakeCalculatorDialogProps = { open?: boolean; onRequestDismiss: () => unknown }

const EstimatedYield = (props: { amount: string }) => {
const chain = useRecoilValue(useChainState())
const stakedReturn = useApr()

const amount = useTokenAmount(props.amount)
Expand All @@ -30,16 +28,6 @@ const EstimatedYield = (props: { amount: string }) => {

const dailyYield = useTokenAmountFromPlanck(useMemo(() => bnPlanck?.divn(365), [bnPlanck]))

if (chain.id === 'avail')
return (
<StakeCalculatorDialogComponent.EstimatedYield
annualYield={<Text.Body>Coming Soon</Text.Body>}
monthlyYield={monthlyYield.decimalAmount?.toLocaleString()}
weeklyYield={weeklyYield.decimalAmount?.toLocaleString()}
dailyYield={dailyYield.decimalAmount?.toLocaleString()}
/>
)

return (
<StakeCalculatorDialogComponent.EstimatedYield
annualYield={annualYield.decimalAmount?.toLocaleString()}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@ import { writeableSubstrateAccountsState, type Account } from '../../../../domai
import {
ChainProvider,
assertChain,
useChainState as Chains_useChainState,
nominationPoolsEnabledChainsState,
useChainState as useChainRecoilState,
useNativeTokenDecimalState,
Expand Down Expand Up @@ -37,7 +36,7 @@ import PoolClaimPermissionDialog, {
import UnstakeDialog from './UnstakeDialog'
import type { ApiPromise } from '@polkadot/api'
import { type Decimal } from '@talismn/math'
import { Text, CircularProgressIndicator, Select } from '@talismn/ui'
import { CircularProgressIndicator, Select } from '@talismn/ui'
import BN from 'bn.js'
import {
Suspense,
Expand Down Expand Up @@ -247,17 +246,13 @@ export const AssetSelect = <T extends ChainInfo>(props: {

const EstimatedYield = memo(
(props: { amount: Decimal }) => {
const chain = useRecoilValue(Chains_useChainState())
const stakedReturn = useApr()
const annualReturn = useMemo(
() => new BN(props.amount.planck.toString()).muln(stakedReturn),
[props.amount.planck, stakedReturn]
)
const parsedAnnualReturn = useTokenAmountFromPlanck(annualReturn)

if (chain.id === 'avail')
return <StakeFormComponent.EstimatedYield amount={<Text.Body>Coming Soon</Text.Body>} fiatAmount={null} />

return (
<StakeFormComponent.EstimatedYield
amount={`${parsedAnnualReturn.decimalAmount.toLocaleString()} / Year`}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,19 +9,12 @@ import RedactableBalance from '../../RedactableBalance'
import ErrorBoundaryFallback from '../ErrorBoundaryFallback'
import { Decimal } from '@talismn/math'
import { usePolkadotApiId, useQueryState } from '@talismn/react-polkadot-api'
import { Text } from '@talismn/ui'
import BigNumber from 'bignumber.js'
import { useMemo } from 'react'
import { Link } from 'react-router-dom'
import { useRecoilValue, waitForAll } from 'recoil'

const Apr = () => {
const chain = useRecoilValue(useChainState())
const apr = useApr()

if (chain.id === 'avail') return <Text.BodySmall>Coming Soon</Text.BodySmall>
return <>{apr.toLocaleString(undefined, { style: 'percent', maximumFractionDigits: 2 })}</>
}
const Apr = () => <>{useApr().toLocaleString(undefined, { style: 'percent', maximumFractionDigits: 2 })}</>

const useAvailableBalance = () => {
const apiId = usePolkadotApiId()
Expand Down
Loading