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

refactor: Remove token name from prediction variables and use generic #10479

Open
wants to merge 3 commits into
base: develop
Choose a base branch
from
Open
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
44 changes: 22 additions & 22 deletions apps/web/src/__tests__/state/predictions/helpers.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -56,15 +56,15 @@ describe('transformUserResponse', () => {

it('transforms user response correctly', () => {
expect(transformUserResponse('BNB', ChainId.BSC)(userResponse)).toEqual({
averageBNB: 0.010175390573688292,
averageToken: 0.010175390573688292,
block: 9316304,
createdAt: 1626767110,
id: '0x54F292760e248cFE64191c7d85260F9DdaA01F2B',
netBNB: 0.05791427760287412,
totalBNB: 0.05087695286844146,
totalBNBBear: 0.05087695286844146,
totalBNBBull: 0,
totalBNBClaimed: 0.11966818333975705,
netToken: 0.05791427760287412,
totalToken: 0.05087695286844146,
totalTokenBear: 0.05087695286844146,
totalTokenBull: 0,
totalTokenClaimed: 0.11966818333975705,
totalBets: 5,
totalBetsBear: 3,
totalBetsBull: 2,
Expand Down Expand Up @@ -117,26 +117,26 @@ describe('transformBetResponse', () => {
block: 9318174,
claimed: false,
claimedAt: null,
claimedBNB: 0,
claimedToken: 0,
claimedBlock: null,
claimedHash: null,
claimedNetBNB: 0,
claimedNetToken: 0,
createdAt: 1626772720,
hash: '0xbf9a414080b76f1139e087a50d79535a5014c472e24850b1bfc767c6d92ac947',
id: '0x1fd3a652f5d078add86e1d6f1c817fe0cd0541f5f3000000',
position: 'Bull',
updatedAt: 1626772720,
user: {
averageBNB: 0.005,
averageToken: 0.005,
block: 9315031,
createdAt: 1626763291,
id: '0x335d6a2c3DD0c04a21f41d30C9ee75e640a87890',
netBNB: -0.0055,
totalBNB: 0.005,
totalBNBBear: 0.005,
totalBNBBull: 0,
netToken: -0.0055,
totalToken: 0.005,
totalTokenBear: 0.005,
totalTokenBull: 0,
totalBets: 1,
totalBNBClaimed: 0.0045,
totalTokenClaimed: 0.0045,
totalBetsBear: 0,
totalBetsBull: 1,
totalBetsClaimed: 1,
Expand Down Expand Up @@ -195,10 +195,10 @@ describe('transformBetResponse', () => {
block: 9318174,
claimed: false,
claimedAt: null,
claimedBNB: 0,
claimedToken: 0,
claimedBlock: null,
claimedHash: null,
claimedNetBNB: 0,
claimedNetToken: 0,
createdAt: 1626772720,
hash: '0xbf9a414080b76f1139e087a50d79535a5014c472e24850b1bfc767c6d92ac947',
id: '0x1fd3a652f5d078add86e1d6f1c817fe0cd0541f5f3000000',
Expand Down Expand Up @@ -231,16 +231,16 @@ describe('transformBetResponse', () => {
bets: [],
},
user: {
averageBNB: 0.005,
averageToken: 0.005,
block: 9315031,
createdAt: 1626763291,
id: '0x335d6a2c3DD0c04a21f41d30C9ee75e640a87890',
netBNB: -0.0055,
totalBNB: 0.005,
totalBNBBear: 0.005,
totalBNBBull: 0,
netToken: -0.0055,
totalToken: 0.005,
totalTokenBear: 0.005,
totalTokenBull: 0,
totalBets: 1,
totalBNBClaimed: 0.0045,
totalTokenClaimed: 0.0045,
totalBetsBear: 0,
totalBetsBull: 1,
totalBetsClaimed: 1,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import { BetPosition } from '@pancakeswap/prediction'
import { formatBnb, formatUsd, getMultiplier, getPayout } from 'views/Predictions/components/History/helpers'
import { formatToken, formatUsd, getMultiplier, getPayout } from 'views/Predictions/components/History/helpers'

describe('formatUsd', () => {
it.each([
Expand All @@ -25,11 +25,11 @@ describe('formatBnb', () => {
[10.8829, '10.8829'],
[10.88296, '10.8830'],
])('format %i BNB correctly with 4 decimals', (value, expected) => {
expect(formatBnb(value, 4)).toEqual(expected)
expect(formatToken(value, 4)).toEqual(expected)
})

it('returns 0 if BNB is undefined', () => {
expect(formatBnb(undefined, 4)).toEqual('0')
expect(formatToken(undefined, 4)).toEqual('0')
})
})

Expand Down
16 changes: 8 additions & 8 deletions apps/web/src/state/predictions/bnbTransformers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ export const transformBetResponseBNB = (betResponse): Bet => {
const baseBet = transformBetResponseToken(betResponse)
const bet = {
...baseBet,
claimedBNB: betResponse.claimedBNB ? parseFloat(betResponse.claimedBNB) : 0,
claimedNetBNB: betResponse.claimedNetBNB ? parseFloat(betResponse.claimedNetBNB) : 0,
claimedToken: betResponse.claimedBNB ? parseFloat(betResponse.claimedBNB) : 0,
claimedNetToken: betResponse.claimedNetBNB ? parseFloat(betResponse.claimedNetBNB) : 0,
} as Bet

if (betResponse.user) {
Expand All @@ -26,11 +26,11 @@ export const transformUserResponseBNB = (userResponse): PredictionUser => {

return {
...baseUserResponse,
totalBNB: totalBNB ? parseFloat(totalBNB) : 0,
totalBNBBull: totalBNBBull ? parseFloat(totalBNBBull) : 0,
totalBNBBear: totalBNBBear ? parseFloat(totalBNBBear) : 0,
totalBNBClaimed: totalBNBClaimed ? parseFloat(totalBNBClaimed) : 0,
averageBNB: averageBNB ? parseFloat(averageBNB) : 0,
netBNB: netBNB ? parseFloat(netBNB) : 0,
totalToken: totalBNB ? parseFloat(totalBNB) : 0,
totalTokenBull: totalBNBBull ? parseFloat(totalBNBBull) : 0,
totalTokenBear: totalBNBBear ? parseFloat(totalBNBBear) : 0,
totalTokenClaimed: totalBNBClaimed ? parseFloat(totalBNBClaimed) : 0,
averageToken: averageBNB ? parseFloat(averageBNB) : 0,
netToken: netBNB ? parseFloat(netBNB) : 0,
}
}
16 changes: 8 additions & 8 deletions apps/web/src/state/predictions/cakeTransformers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ export const transformBetResponseCAKE = (betResponse): Bet => {
const baseBet = transformBetResponseToken(betResponse)
const bet = {
...baseBet,
claimedBNB: betResponse.claimedCAKE ? parseFloat(betResponse.claimedCAKE) : 0,
claimedNetBNB: betResponse.claimedNetCAKE ? parseFloat(betResponse.claimedNetCAKE) : 0,
claimedToken: betResponse.claimedCAKE ? parseFloat(betResponse.claimedCAKE) : 0,
claimedNetToken: betResponse.claimedNetCAKE ? parseFloat(betResponse.claimedNetCAKE) : 0,
} as Bet

if (betResponse.user) {
Expand All @@ -26,11 +26,11 @@ export const transformUserResponseCAKE = (userResponse): PredictionUser => {

return {
...baseUserResponse,
totalBNB: totalCAKE ? parseFloat(totalCAKE) : 0,
totalBNBBull: totalCAKEBull ? parseFloat(totalCAKEBull) : 0,
totalBNBBear: totalCAKEBear ? parseFloat(totalCAKEBear) : 0,
totalBNBClaimed: totalCAKEClaimed ? parseFloat(totalCAKEClaimed) : 0,
averageBNB: averageCAKE ? parseFloat(averageCAKE) : 0,
netBNB: netCAKE ? parseFloat(netCAKE) : 0,
totalToken: totalCAKE ? parseFloat(totalCAKE) : 0,
totalTokenBull: totalCAKEBull ? parseFloat(totalCAKEBull) : 0,
totalTokenBear: totalCAKEBear ? parseFloat(totalCAKEBear) : 0,
totalTokenClaimed: totalCAKEClaimed ? parseFloat(totalCAKEClaimed) : 0,
averageToken: averageCAKE ? parseFloat(averageCAKE) : 0,
netToken: netCAKE ? parseFloat(netCAKE) : 0,
}
}
4 changes: 2 additions & 2 deletions apps/web/src/state/predictions/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -225,8 +225,8 @@ export const fetchNodeHistory = createAsyncThunk<
claimed: ledger.claimed,
claimedAt: null,
claimedHash: null,
claimedBNB: 0,
claimedNetBNB: 0,
claimedToken: 0,
claimedNetToken: 0,
createdAt: null,
updatedAt: null,
block: 0,
Expand Down
12 changes: 6 additions & 6 deletions apps/web/src/state/predictions/newTransformers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -26,11 +26,11 @@ export const newTransformUserResponse = (userResponse): PredictionUser => {

return {
...baseUserResponse,
totalBNB: totalAmount ? parseFloat(totalAmount) : 0,
totalBNBBull: totalBetsBull ? parseFloat(totalBetsBull) : 0,
totalBNBBear: totalBetsBear ? parseFloat(totalBetsBear) : 0,
totalBNBClaimed: totalClaimedAmount ? parseFloat(totalClaimedAmount) : 0,
averageBNB: averageAmount ? parseFloat(averageAmount) : 0,
netBNB: netAmount ? parseFloat(netAmount) : 0,
totalToken: totalAmount ? parseFloat(totalAmount) : 0,
totalTokenBull: totalBetsBull ? parseFloat(totalBetsBull) : 0,
totalTokenBear: totalBetsBear ? parseFloat(totalBetsBear) : 0,
totalTokenClaimed: totalClaimedAmount ? parseFloat(totalClaimedAmount) : 0,
averageToken: averageAmount ? parseFloat(averageAmount) : 0,
netToken: netAmount ? parseFloat(netAmount) : 0,
}
}
16 changes: 8 additions & 8 deletions apps/web/src/state/predictions/tokenTransformers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -94,8 +94,8 @@ export const transformBetResponseToken = (betResponse): Bet => {
claimedHash: betResponse.claimedHash,
createdAt: numberOrNull(betResponse.createdAt),
updatedAt: numberOrNull(betResponse.updatedAt),
claimedNetBNB: betResponse.amount ? parseFloat(betResponse.claimedNetAmount) : 0,
claimedBNB: betResponse.amount ? parseFloat(betResponse.claimedAmount) : 0,
claimedNetToken: betResponse.amount ? parseFloat(betResponse.claimedNetAmount) : 0,
claimedToken: betResponse.amount ? parseFloat(betResponse.claimedAmount) : 0,
} as Bet
}

Expand All @@ -113,11 +113,11 @@ export const transformUserResponseToken = (userResponse): PredictionUser => {
totalBetsBear: numberOrNull(totalBetsBear) ?? 0,
totalBetsClaimed: numberOrNull(totalBetsClaimed) ?? 0,
winRate: winRate ? parseFloat(winRate) : 0,
totalBNB: 0,
totalBNBBull: 0,
totalBNBBear: 0,
totalBNBClaimed: 0,
averageBNB: 0,
netBNB: 0,
totalToken: 0,
totalTokenBull: 0,
totalTokenBear: 0,
totalTokenClaimed: 0,
averageToken: 0,
netToken: 0,
}
}
16 changes: 8 additions & 8 deletions apps/web/src/state/types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -218,8 +218,8 @@ export interface Bet {
claimedAt: number
claimedBlock: number
claimedHash: string
claimedBNB: number
claimedNetBNB: number
claimedToken: number
claimedNetToken: number
createdAt: number
updatedAt: number
user?: PredictionUser
Expand All @@ -234,14 +234,14 @@ export interface PredictionUser {
totalBets: number
totalBetsBull: number
totalBetsBear: number
totalBNB: number
totalBNBBull: number
totalBNBBear: number
totalToken: number
totalTokenBull: number
totalTokenBear: number
totalBetsClaimed: number
totalBNBClaimed: number
totalTokenClaimed: number
winRate: number
averageBNB: number
netBNB: number
averageToken: number
netToken: number
bets?: Bet[]
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ const PreviousBetsTable: React.FC<React.PropsWithChildren<PreviousBetsTableProps
<Td textAlign="right">
<NetWinningsView
token={token}
amount={!isCancelled && isWinner ? bet.claimedNetBNB : bet.amount}
amount={!isCancelled && isWinner ? bet.claimedNetToken : bet.amount}
textPrefix={isCancelled ? '' : isWinner ? '+' : '-'}
textColor={isCancelled ? 'textSubtle' : isWinner ? 'success' : 'failure'}
/>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ const DesktopRow: React.FC<React.PropsWithChildren<DesktopRowProps>> = ({ rank,
<Td>
<NetWinnings
token={token}
amount={user.netBNB}
textPrefix={user.netBNB > 0 ? '+' : ''}
textColor={user.netBNB > 0 ? 'success' : 'failure'}
amount={user.netToken}
textPrefix={user.netToken > 0 ? '+' : ''}
textColor={user.netToken > 0 ? 'success' : 'failure'}
/>
</Td>
<Td textAlign="center">
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ const MobileRow: React.FC<React.PropsWithChildren<MobileRowProps>> = ({ rank, us
{`${user.winRate.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}%`}
</Text>
</Row>
<NetWinningsRow amount={user.netBNB} token={token} />
<NetWinningsRow amount={user.netToken} token={token} />
<Row>
<Text fontSize="12px" color="textSubtle">
{t('Rounds Won')}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ const RankingCard: React.FC<React.PropsWithChildren<RankingCardProps>> = ({ rank
{`${user.winRate.toLocaleString(undefined, { minimumFractionDigits: 0, maximumFractionDigits: 2 })}%`}
</Text>
</Row>
<NetWinningsRow amount={user.netBNB} token={token} />
<NetWinningsRow amount={user.netToken} token={token} />
<Row>
<Text fontSize="12px" color="textSubtle">
{t('Rounds Won')}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,9 +115,9 @@ const WalletStatsModal: React.FC<React.PropsWithChildren<WalletStatsModalProps>>
) : (
<NetWinningsView
token={token}
amount={result?.netBNB}
textPrefix={result?.netBNB > 0 ? '+' : ''}
textColor={result?.netBNB > 0 ? 'success' : 'failure'}
amount={result?.netToken}
textPrefix={result?.netToken > 0 ? '+' : ''}
textColor={result?.netToken > 0 ? 'success' : 'failure'}
alignItems="flex-end"
/>
)}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import useIsRefundable from '../../../hooks/useIsRefundable'
import CollectWinningsButton from '../../CollectWinningsButton'
import ReclaimPositionButton from '../../ReclaimPositionButton'
import { AIPositionTag } from '../../RoundCard/AIPredictions/AIPositionTag'
import { formatBnb, getNetPayout } from '../helpers'
import { formatToken, getNetPayout } from '../helpers'

interface AIBetResultProps {
bet: Bet
Expand Down Expand Up @@ -167,14 +167,14 @@ export const AIBetResult: React.FC<React.PropsWithChildren<AIBetResultProps>> =
</Flex>
<Flex alignItems="center" justifyContent="space-between" mb="16px">
<Text>{t('Your position')}</Text>
<Text>{`${formatBnb(bet.amount, displayedDecimals)} ${tokenSymbol}`}</Text>
<Text>{`${formatToken(bet.amount, displayedDecimals)} ${tokenSymbol}`}</Text>
</Flex>
<Flex alignItems="start" justifyContent="space-between">
<Text bold>{isWinner ? t('Your winnings') : t('Your Result')}:</Text>
<Box style={{ textAlign: 'right' }}>
<Text bold color={resultColor}>
{getRoundPrefix()}
{formatBnb(payout, displayedDecimals)} {tokenSymbol}
{formatToken(payout, displayedDecimals)} {tokenSymbol}
</Text>
<Text fontSize="12px" color="textSubtle">
{`~$${totalPayout.toFixed(2)}`}
Expand All @@ -189,7 +189,7 @@ export const AIBetResult: React.FC<React.PropsWithChildren<AIBetResultProps>> =
{t('Amount to collect')}:
</Text>
<Flex justifyContent="end">
<Text fontSize="14px" color="textSubtle">{`${formatBnb(
<Text fontSize="14px" color="textSubtle">{`${formatToken(
returned,
displayedDecimals,
)} ${tokenSymbol}`}</Text>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ import useIsRefundable from '../../hooks/useIsRefundable'
import CollectWinningsButton from '../CollectWinningsButton'
import PositionTag from '../PositionTag'
import ReclaimPositionButton from '../ReclaimPositionButton'
import { formatBnb, getNetPayout } from './helpers'
import { formatToken, getNetPayout } from './helpers'

interface BetResultProps {
bet: Bet
Expand Down Expand Up @@ -155,12 +155,12 @@ const BetResult: React.FC<React.PropsWithChildren<BetResultProps>> = ({ bet, res
</Flex>
<Flex alignItems="center" justifyContent="space-between" mb="16px">
<Text>{t('Your position')}</Text>
<Text>{`${formatBnb(bet.amount, displayedDecimals)} ${tokenSymbol}`}</Text>
<Text>{`${formatToken(bet.amount, displayedDecimals)} ${tokenSymbol}`}</Text>
</Flex>
<Flex alignItems="start" justifyContent="space-between">
<Text bold>{isWinner ? t('Your winnings') : t('Your Result')}:</Text>
<Box style={{ textAlign: 'right' }}>
<Text bold color={resultColor}>{`${isWinner ? '+' : '-'}${formatBnb(
<Text bold color={resultColor}>{`${isWinner ? '+' : '-'}${formatToken(
payout,
displayedDecimals,
)} ${tokenSymbol}`}</Text>
Expand All @@ -177,7 +177,7 @@ const BetResult: React.FC<React.PropsWithChildren<BetResultProps>> = ({ bet, res
{t('Amount to collect')}:
</Text>
<Flex justifyContent="end">
<Text fontSize="14px" color="textSubtle">{`${formatBnb(
<Text fontSize="14px" color="textSubtle">{`${formatToken(
returned,
displayedDecimals,
)} ${tokenSymbol}`}</Text>
Expand Down
Loading
Loading