@knine-sdk/react
Version:
React helpers for Knine Finance projects. Part of Knine JS SDK
102 lines (97 loc) • 6.93 kB
JavaScript
;
Object.defineProperty(exports, '__esModule', { value: true });
var constants = require('@knine-sdk/constants');
var contracts = require('@knine-sdk/contracts');
var react = require('react');
var useSDK = require('../hooks/useSDK.js');
const contractHooksFactory = (factory, getTokenAddress) => {
const getContract = contracts.createContractGetter(factory);
return {
useContractRPC: (chainId) => {
var _a;
const { chainId: currentChainId, providerRpc: currentProvider, findProviderByChainId, } = useSDK.useSDK();
const chosenChainId = chainId !== null && chainId !== void 0 ? chainId : currentChainId;
const chosenProvider = ((_a = findProviderByChainId(chosenChainId)) === null || _a === void 0 ? void 0 : _a.provider) || currentProvider;
const tokenAddress = getTokenAddress(chosenChainId);
return getContract(tokenAddress, chosenProvider);
},
useContractWeb3: (chainId) => {
const { chainId: currentChainId, providerWeb3 } = useSDK.useSDK();
const tokenAddress = getTokenAddress(chainId !== null && chainId !== void 0 ? chainId : currentChainId);
const signer = react.useMemo(() => {
return providerWeb3 === null || providerWeb3 === void 0 ? void 0 : providerWeb3.getSigner();
}, [providerWeb3]);
if (!signer)
return null;
return getContract(tokenAddress, signer);
},
};
};
const withdrawalQueue = contractHooksFactory(contracts.WithdrawalQueueAbiFactory, (chainId) => constants.getWithdrawalQueueAddress(chainId));
const useWithdrawalQueueContractRPC = withdrawalQueue.useContractRPC;
const useWithdrawalQueueContractWeb3 = withdrawalQueue.useContractWeb3;
// knine
const unstBone = contractHooksFactory(contracts.UnstBoneAbiFactory, (chainId) => constants.getWithdrawalBoneAddress(chainId));
const useUnstBoneContractRPC = unstBone.useContractRPC;
const useUnstBoneContractWeb3 = unstBone.useContractWeb3;
const knBone = contractHooksFactory(contracts.KnBoneFactory, (chainId) => constants.getTokenAddress(chainId, constants.TOKENS.KNBONE));
const useKnBoneContractRPC = knBone.useContractRPC;
const useKnBoneContractWeb3 = knBone.useContractWeb3;
const shibariumKnBone = contractHooksFactory(contracts.ShibariumKnBoneFactory, (chainId) => constants.getTokenAddress(chainId, constants.TOKENS.KNBONE));
const useShibariumKnBoneContractRPC = shibariumKnBone.useContractRPC;
const useShibariumKnBoneContractWeb3 = shibariumKnBone.useContractWeb3;
const stakeManager = contractHooksFactory(contracts.StakeManagerFactory, (chainId) => constants.getStakeManagerAddress(chainId));
const useStakeManagerContractRPC = stakeManager.useContractRPC;
const useStakeManagerContractWeb3 = stakeManager.useContractWeb3;
const realYieldStaking = contractHooksFactory(contracts.RealYieldStakingFactory, (chainId) => constants.getRealYieldStakingAddress(chainId));
const useRealYieldStakingContractRPC = realYieldStaking.useContractRPC;
const useRealYieldStakingContractWeb3 = realYieldStaking.useContractWeb3;
const nodeOperatorRegistry = contractHooksFactory(contracts.NodeOperatorRegistryAbiFactory, (chainId) => constants.getNodeOperatorRegistryAddress(chainId));
const useNodeOperatorRegistryContractRPC = nodeOperatorRegistry.useContractRPC;
const useNodeOperatorRegistryContractWeb3 = nodeOperatorRegistry.useContractWeb3;
const instantPool = contractHooksFactory(contracts.InstantPoolAbiFactory, (chainId) => constants.getInstantPoolAddress(chainId));
const useInstantPoolContractRPC = instantPool.useContractRPC;
const useInstantPoolContractWeb3 = instantPool.useContractWeb3;
const vesting = contractHooksFactory(contracts.VestingAbiFactory, (chainId) => constants.getVestingAddress(chainId));
const useVestingContractRPC = vesting.useContractRPC;
const useVestingContractWeb3 = vesting.useContractWeb3;
const farmingPool = (address) => contractHooksFactory(contracts.FarmingPoolAbiFactory, () => address);
const useFarmingPoolContractRPC = (address, chainId) => farmingPool(address).useContractRPC(chainId);
const useFarmingPoolContractWeb3 = (address, chainId) => farmingPool(address).useContractWeb3(chainId);
const lpToken = (address) => contractHooksFactory(contracts.LpTokenAbiFactory, () => address);
const useLpTokenContractWeb3 = (address, chainId) => lpToken(address).useContractWeb3(chainId);
const useLpTokenContractRPC = (address, chainId) => lpToken(address).useContractRPC(chainId);
const farmingFactory = contractHooksFactory(contracts.FarmingFactory, (chainId) => constants.getFarmingFactoryAddress(chainId));
const useFarmingFactoryContractRPC = farmingFactory.useContractRPC;
const useFarmingFactoryContractWeb3 = farmingFactory.useContractWeb3;
const knineMintable = contractHooksFactory(contracts.KnineMintableFactory, (chainId) => constants.getKnineMintableAddress(chainId));
const useKnineMintableContractRPC = knineMintable.useContractRPC;
const useKnineMintableContractWeb3 = knineMintable.useContractWeb3;
exports.contractHooksFactory = contractHooksFactory;
exports.farmingFactory = farmingFactory;
exports.useFarmingFactoryContractRPC = useFarmingFactoryContractRPC;
exports.useFarmingFactoryContractWeb3 = useFarmingFactoryContractWeb3;
exports.useFarmingPoolContractRPC = useFarmingPoolContractRPC;
exports.useFarmingPoolContractWeb3 = useFarmingPoolContractWeb3;
exports.useInstantPoolContractRPC = useInstantPoolContractRPC;
exports.useInstantPoolContractWeb3 = useInstantPoolContractWeb3;
exports.useKnBoneContractRPC = useKnBoneContractRPC;
exports.useKnBoneContractWeb3 = useKnBoneContractWeb3;
exports.useKnineMintableContractRPC = useKnineMintableContractRPC;
exports.useKnineMintableContractWeb3 = useKnineMintableContractWeb3;
exports.useLpTokenContractRPC = useLpTokenContractRPC;
exports.useLpTokenContractWeb3 = useLpTokenContractWeb3;
exports.useNodeOperatorRegistryContractRPC = useNodeOperatorRegistryContractRPC;
exports.useNodeOperatorRegistryContractWeb3 = useNodeOperatorRegistryContractWeb3;
exports.useRealYieldStakingContractRPC = useRealYieldStakingContractRPC;
exports.useRealYieldStakingContractWeb3 = useRealYieldStakingContractWeb3;
exports.useShibariumKnBoneContractRPC = useShibariumKnBoneContractRPC;
exports.useShibariumKnBoneContractWeb3 = useShibariumKnBoneContractWeb3;
exports.useStakeManagerContractRPC = useStakeManagerContractRPC;
exports.useStakeManagerContractWeb3 = useStakeManagerContractWeb3;
exports.useUnstBoneContractRPC = useUnstBoneContractRPC;
exports.useUnstBoneContractWeb3 = useUnstBoneContractWeb3;
exports.useVestingContractRPC = useVestingContractRPC;
exports.useVestingContractWeb3 = useVestingContractWeb3;
exports.useWithdrawalQueueContractRPC = useWithdrawalQueueContractRPC;
exports.useWithdrawalQueueContractWeb3 = useWithdrawalQueueContractWeb3;