UNPKG

@knine-sdk/react

Version:

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

102 lines (97 loc) 6.93 kB
'use strict'; 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;