diff --git a/src/components/ReferendumCard/Referenda.utils.ts b/src/components/ReferendumCard/Referenda.utils.ts index 546756be2..be0e7f351 100644 --- a/src/components/ReferendumCard/Referenda.utils.ts +++ b/src/components/ReferendumCard/Referenda.utils.ts @@ -29,12 +29,11 @@ export const useMinApprovalThreshold = ( return useMemo(() => { if (track && blockNumber) { - const isDecidingSince = - referenda.deciding.unwrapOr(null)?.since.toString() ?? "0" + const decidingSince = referenda.deciding.unwrapOr(null)?.since.toString() const percentage = getDecidingEndPercentage( track.decisionPeriod.toString(), - isDecidingSince.toString(), + decidingSince, blockNumber, ) @@ -94,12 +93,11 @@ export const useSupportThreshold = ( const supportThreshold = useMemo(() => { if (track && blockNumber) { - const isDecidingSince = - referenda.deciding.unwrapOr(null)?.since.toString() ?? "0" + const decidingSince = referenda.deciding.unwrapOr(null)?.since.toString() const percentage = getDecidingEndPercentage( track.decisionPeriod.toString(), - isDecidingSince.toString(), + decidingSince, blockNumber, ) diff --git a/src/utils/opengov.ts b/src/utils/opengov.ts index 242185ebe..e75ad6aa3 100644 --- a/src/utils/opengov.ts +++ b/src/utils/opengov.ts @@ -1,5 +1,6 @@ import BigNumber from "bignumber.js" import { TReferenda } from "api/democracy" +import { BN_0 } from "./constants" export const getCurveData = ( track: TReferenda, @@ -73,9 +74,11 @@ export const makeLinearCurve = ( export const getDecidingEndPercentage = ( decisionPeriod: string, - decidingSince: string, + decidingSince: string | undefined, endHeight: string, ) => { + if (decidingSince === undefined) return BN_0 + const gone = BigNumber(endHeight).minus(decidingSince) return BigNumber.min(gone.div(decisionPeriod), 1)