@knine-sdk/react
Version:
React helpers for Knine Finance projects. Part of Knine JS SDK
18 lines (15 loc) • 748 B
JavaScript
import invariant from 'tiny-invariant';
import { useWrapperSWR } from './useWrapperSWR.js';
import { useSDK } from './useSDK.js';
const useEthereumSWR = (props) => {
var _a;
const { shouldFetch = true, params = [], method, config } = props;
const providerRpcFromSdk = useSDK().providerRpc;
const providerRpc = (_a = props.providerRpc) !== null && _a !== void 0 ? _a : providerRpcFromSdk;
invariant(providerRpc != null, 'RPC Provider is not provided');
invariant(method != null, 'Method is required');
return useWrapperSWR(shouldFetch ? [providerRpc, method, ...params] : null, (providerRpc, method, ...params) => {
return providerRpc[method](...params);
}, config);
};
export { useEthereumSWR };