From eef983234c78768f005f81bd09673719bbc9cd6b Mon Sep 17 00:00:00 2001 From: KMKoushik Date: Fri, 3 Feb 2023 14:33:37 +1100 Subject: [PATCH] Add review changes --- .../Strategies/Bull/About/ProfitabilityChart.tsx | 6 +++--- .../src/components/Strategies/Bull/About/index.tsx | 8 +++----- .../src/components/Strategies/Crab/About/index.tsx | 6 +++--- packages/frontend/src/utils/strategyPayoff.ts | 10 +++++----- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/packages/frontend/src/components/Strategies/Bull/About/ProfitabilityChart.tsx b/packages/frontend/src/components/Strategies/Bull/About/ProfitabilityChart.tsx index 9289364a15..40c1a8616a 100644 --- a/packages/frontend/src/components/Strategies/Bull/About/ProfitabilityChart.tsx +++ b/packages/frontend/src/components/Strategies/Bull/About/ProfitabilityChart.tsx @@ -24,7 +24,7 @@ import { formatNumber } from '@utils/formatter' import useStyles from '@components/Strategies/styles' import { useBullProfitData } from '@state/bull/hooks' import { getNextHedgeDate } from '@state/crab/utils' -import { getBullProfitDataPoints } from '@utils/strategyPayoff' +import { getBullExcessProfitDataPoints } from '@utils/strategyPayoff' const useTooltipStyles = makeStyles(() => ({ root: { @@ -135,7 +135,7 @@ const getDataPoints = (funding: number, ethPriceAtLastHedge: number, percentRang const Chart: React.FC<{ currentFunding: number }> = ({ currentFunding }) => { const ethPriceAtLastHedgeValue = useAtomValue(ethPriceAtLastHedgeAtomV2) const ethPrice = useOnChainETHPrice() - const { profitData, loading } = useBullProfitData() + const { profitData } = useBullProfitData() const impliedFunding = 2 * currentFunding // for 2 days const ethPriceAtLastHedge = Number(toTokenAmount(ethPriceAtLastHedgeValue, 18)) @@ -150,7 +150,7 @@ const Chart: React.FC<{ currentFunding: number }> = ({ currentFunding }) => { const nextHedgeTime = getNextHedgeDate(new Date(profitData.time * 1000)).getTime() const timeUntilNextHedge = nextHedgeTime - new Date(profitData.time * 1000).getTime() console.log('timeUntilNextHedge', timeUntilNextHedge) - return getBullProfitDataPoints( + return getBullExcessProfitDataPoints( profitData.ethPriceAtHedge, profitData.nf, profitData.shortAmt, diff --git a/packages/frontend/src/components/Strategies/Bull/About/index.tsx b/packages/frontend/src/components/Strategies/Bull/About/index.tsx index 5a501ec1a1..b9373689c1 100644 --- a/packages/frontend/src/components/Strategies/Bull/About/index.tsx +++ b/packages/frontend/src/components/Strategies/Bull/About/index.tsx @@ -12,8 +12,7 @@ import useAmplitude from '@hooks/useAmplitude' import { SITE_EVENTS } from '@utils/amplitude' import { DateTimePicker, MuiPickersUtilsProvider } from '@material-ui/pickers' import DateFnsUtils from '@date-io/date-fns' -import { firstDepositTimeAtom, firstDepositBlockAtom } from '@state/crab/atoms' -import { useSetAtom } from 'jotai' +import { useAtom, useSetAtom } from 'jotai' import { bullFirstDepositBlockAtom, bullFirstDepositTimestampAtom } from '@state/bull/atoms' const useTextFieldStyles = makeStyles((theme) => @@ -96,9 +95,9 @@ const gitBookLink = 'https://opyn.gitbook.io/opyn-strategies/zen-bull/introducti const DepositTimePicker: React.FC = () => { const aboutClasses = useAboutStyles() - const setDepositTime = useSetAtom(bullFirstDepositTimestampAtom) + const [depositTime, setDepositTime] = useAtom(bullFirstDepositTimestampAtom) const setDepositBlock = useSetAtom(bullFirstDepositBlockAtom) - const [date, setDate] = useState(new Date()) + const [date, setDate] = useState(new Date(depositTime ? depositTime * 1000 : Date.now())) const onDepositDateChange = async (date: Date | null) => { if (date) { @@ -106,7 +105,6 @@ const DepositTimePicker: React.FC = () => { setDepositTime(date.getTime() / 1000) const resp = await fetch(`/api/getBlockNumber?timestamp=${date.getTime() / 1000}`) const data = await resp.json() - console.log(data) setDepositBlock(data.blockNumber) } } diff --git a/packages/frontend/src/components/Strategies/Crab/About/index.tsx b/packages/frontend/src/components/Strategies/Crab/About/index.tsx index 8c33c34afb..04964f66d0 100644 --- a/packages/frontend/src/components/Strategies/Crab/About/index.tsx +++ b/packages/frontend/src/components/Strategies/Crab/About/index.tsx @@ -12,7 +12,7 @@ import useAmplitude from '@hooks/useAmplitude' import { SITE_EVENTS } from '@utils/amplitude' import { DateTimePicker, MuiPickersUtilsProvider } from '@material-ui/pickers' import DateFnsUtils from '@date-io/date-fns' -import { useAtomValue, useSetAtom } from 'jotai' +import { useAtom, useAtomValue, useSetAtom } from 'jotai' import { addressAtom } from '@state/wallet/atoms' import { firstDepositBlockAtom, firstDepositTimeAtom } from '@state/crab/atoms' @@ -95,9 +95,9 @@ const gitBookLink = 'https://opyn.gitbook.io/opyn-strategies/crab-strategy/intro const DepositTimePicker: React.FC = () => { const aboutClasses = useAboutStyles() - const setDepositTime = useSetAtom(firstDepositTimeAtom) + const [depositTime, setDepositTime] = useAtom(firstDepositTimeAtom) const setDepositBlock = useSetAtom(firstDepositBlockAtom) - const [date, setDate] = useState(new Date()) + const [date, setDate] = useState(new Date(depositTime ? depositTime * 1000 : Date.now())) const onDepositDateChange = async (date: Date | null) => { if (date) { diff --git a/packages/frontend/src/utils/strategyPayoff.ts b/packages/frontend/src/utils/strategyPayoff.ts index 82f8956dff..1ff2348f6a 100644 --- a/packages/frontend/src/utils/strategyPayoff.ts +++ b/packages/frontend/src/utils/strategyPayoff.ts @@ -101,7 +101,7 @@ export const getCrabProfitDataPoints = ( } } -export const getBullProfitDataPoints = ( +export const getBullExcessProfitDataPoints = ( ethPriceAtHedge: number, nf: number, shortAmt: number, @@ -134,10 +134,10 @@ export const getBullProfitDataPoints = ( const increment = new BigNumber(0.05) const ending = new BigNumber(percentRange) - const ethRate = Math.exp(ethSupplyApy / (365 / time)) - const usdRate = Math.exp(usdcBorrowApy / (365 / time)) - const ethReturns = eulerEth * ethRate - eulerEth - const usdReturns = eulerUsdc * usdRate - eulerUsdc + const ethFutureValue = Math.exp(ethSupplyApy / (365 / time)) + const usdFutureValue = Math.exp(usdcBorrowApy / (365 / time)) + const ethReturns = eulerEth * ethFutureValue - eulerEth + const usdReturns = eulerUsdc * usdFutureValue - eulerUsdc const { thresholdLower, thresholdUpper } = getProfitThresholds( 0.5 * gammaPortfolio,