UNPKG

@knine-sdk/react

Version:

React helpers for Knine Finance projects. Part of Knine JS SDK

23 lines (20 loc) 1.02 kB
import { __awaiter } from '../node_modules/tslib/tslib.es6.js'; import { BigNumber } from '@ethersproject/bignumber'; import { getAggregatorContract } from '@knine-sdk/contracts'; import { getAggregatorAddress, CHAINS } from '@knine-sdk/constants'; import { divide } from '@knine-sdk/helpers'; import { useSDK } from './useSDK.js'; import { useWrapperSWR } from './useWrapperSWR.js'; const useEthPrice = (config) => { const { providerMainnetRpc } = useSDK(); const address = getAggregatorAddress(CHAINS.Mainnet); const aggregatorContract = getAggregatorContract(address, providerMainnetRpc); return useWrapperSWR(['lido-swr:eth-price', aggregatorContract], () => __awaiter(void 0, void 0, void 0, function* () { const [decimals, latestAnswer] = yield Promise.all([ aggregatorContract.decimals(), aggregatorContract.latestAnswer(), ]); return divide(latestAnswer, BigNumber.from(10).pow(decimals)); }), config); }; export { useEthPrice };