@knine-sdk/react
Version:
React helpers for Knine Finance projects. Part of Knine JS SDK
27 lines (22 loc) • 1.15 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var tslib_es6 = require('../node_modules/tslib/tslib.es6.js');
var bignumber = require('@ethersproject/bignumber');
var contracts = require('@knine-sdk/contracts');
var constants = require('@knine-sdk/constants');
var helpers = require('@knine-sdk/helpers');
var useSDK = require('./useSDK.js');
var useWrapperSWR = require('./useWrapperSWR.js');
const useEthPrice = (config) => {
const { providerMainnetRpc } = useSDK.useSDK();
const address = constants.getAggregatorAddress(constants.CHAINS.Mainnet);
const aggregatorContract = contracts.getAggregatorContract(address, providerMainnetRpc);
return useWrapperSWR.useWrapperSWR(['lido-swr:eth-price', aggregatorContract], () => tslib_es6.__awaiter(void 0, void 0, void 0, function* () {
const [decimals, latestAnswer] = yield Promise.all([
aggregatorContract.decimals(),
aggregatorContract.latestAnswer(),
]);
return helpers.divide(latestAnswer, bignumber.BigNumber.from(10).pow(decimals));
}), config);
};
exports.useEthPrice = useEthPrice;