ghost-dao-interface/src/hooks/prices/index.js
Uncle Fatso c41ea74b60
pricing of LP as valuation through tokenValue on treasury
Signed-off-by: Uncle Fatso <uncle.fatso@ghostchain.io>
2025-06-05 17:40:56 +03:00

41 lines
1.1 KiB
JavaScript

import { useReadContract } from "wagmi";
import { useCurrentIndex } from "../staking";
import { useUniswapV2PairReserves } from "../uniswapv2";
import { DecimalBigNumber } from "../../helpers/DecimalBigNumber";
import { FTSO_DAI_LP_ADDRESSES, DAI_ADDRESSES } from "../../constants/addresses";
export const useDaiPrice = (chainId) => {
const daiPrice = new DecimalBigNumber(1000000000000000000n, 18);
return daiPrice;
};
export const useFtsoPrice = (chainId) => {
const { reserves, refetch } = useUniswapV2PairReserves(
chainId,
FTSO_DAI_LP_ADDRESSES[chainId],
9,
18,
"FTSO",
"GDAI",
);
let price = 0n
if (reserves.reserve0._value > 0n)
price = reserves.reserve1._value / reserves.reserve0._value;
return new DecimalBigNumber(price, 9);
};
export const useStnkPrice = (chainId) => {
const stnkPrice = useFtsoPrice(chainId);
return stnkPrice;
};
export const useGhstPrice = (chainId) => {
const ftsoPrice = useFtsoPrice(chainId);
const { currentIndex } = useCurrentIndex(chainId);
return ftsoPrice.mul(currentIndex);
};