diff --git a/packages/neuron-ui/src/tests/calculation/calculateGlobalAPY/fixtures.ts b/packages/neuron-ui/src/tests/calculation/calculateGlobalAPY/fixtures.ts index 3b0eb42968..8033cbe2d6 100644 --- a/packages/neuron-ui/src/tests/calculation/calculateGlobalAPY/fixtures.ts +++ b/packages/neuron-ui/src/tests/calculation/calculateGlobalAPY/fixtures.ts @@ -7,6 +7,6 @@ export default { 'one period and one handrand days': { currentTime: new Date('2023-04-10').getTime(), genesisTime: new Date('2019-01-01').getTime(), - expectAPY: 0.02369552868619654, + expectAPY: 2.369552868619654, }, } diff --git a/packages/neuron-ui/src/utils/calculateAPY.ts b/packages/neuron-ui/src/utils/calculateAPY.ts index b4bec8fc05..0748ea8c8b 100644 --- a/packages/neuron-ui/src/utils/calculateAPY.ts +++ b/packages/neuron-ui/src/utils/calculateAPY.ts @@ -1,7 +1,7 @@ const YEAR = 365 * 24 * 60 * 60 * 1000 +const BASE = 10000000 export default (interest: string, amount: string, duration: string) => { - const BASE = 10000 - const v = +((BigInt(interest) * BigInt(BASE)) / BigInt(amount)).toString() * (YEAR / +duration) - return `${(v / BASE).toFixed(2)}` + const v = (BigInt(interest) * BigInt(YEAR) * BigInt(BASE)) / (BigInt(amount) * BigInt(duration)) + return `${(Number(v) / (BASE / 100)).toFixed(2)}` } diff --git a/packages/neuron-ui/src/utils/calculateGlobalAPY.ts b/packages/neuron-ui/src/utils/calculateGlobalAPY.ts index 4c189275e5..b80971bec1 100644 --- a/packages/neuron-ui/src/utils/calculateGlobalAPY.ts +++ b/packages/neuron-ui/src/utils/calculateGlobalAPY.ts @@ -44,5 +44,5 @@ export default async (now: number, initialTimestamp: number | undefined = cached realPrimaryOffer += primaryOfferFraction const totalOffer = INITIAL_OFFER + realPrimaryOffer + realSecondaryOffer - return +(Number(SECONDARY_OFFER) / Number(totalOffer)).toFixed(2) + return +(Number(SECONDARY_OFFER) / (Number(totalOffer) / 100)).toFixed(2) }