UNPKG

eth-hooks2

Version:

A set of hooks to turbocharge buidling

1 lines 122 kB
{"version":3,"sources":["../src/context/contracts-app/contractConnectors.ts","../src/context/contracts-app/contractsContextFactory.tsx","../src/context/ethers-app/useBlockNumberContext.tsx","../src/context/EthersAppStore.ts","../src/hooks/useAreSignerEqual.ts","../src/hooks/useEthersUpdater.ts","../src/hooks/useBalance.ts","../src/hooks/useBlockNumber.ts","../src/hooks/useBurnerSigner.ts","../src/hooks/useContractExistsAtAddress.ts","../src/hooks/useContractReader.ts","../src/hooks/useEthersAdaptorFromProviderOrSigners.ts","../src/hooks/useEventListener.ts","../src/hooks/useGasPrice.ts","../src/hooks/useNonce.ts","../src/hooks/useSignerAddress.ts","../src/hooks/useSignerChainId.ts","../src/hooks/useTimestamp.ts","../src/hooks/useCheckIsMounted.ts","../src/context/ethers-app/EthersAppContext.tsx","../src/context/ethers-app/connectors/EthersModalConnector.ts","../src/context/ethers-app/connectors/connectorErrors.ts","../src/helpers/esm-fixtures/web3modal.ts","../src/context/ethers-app/queryClient.ts","../src/context/ethers-app/connectors/StaticJsonRpcProviderConnector.ts"],"names":["_a","merge","useEffect","invariant","create","useRef","useQuery","queryKey","keys","addresses","result","ethers","useCallback","args","utils","useDebounce","chainId","speed","currentNetworkInfo","address","blockNumber","Web3Provider","AbstractConnector","BigNumber","account"],"mappings":"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","sourcesContent":["import { BaseContract, ethers } from 'ethers';\nimport { merge } from 'merge-anything';\n\nimport {\n TContractConnectorBase,\n TContractConnector,\n TContractConnectFunc,\n TExternalContractsAddressMap,\n TBasicContractDeployment,\n TContractDeploymentMap,\n TContractMapWithAbi,\n TDeployedHardhatContractsJson,\n deployedHardhatContractsJsonSchema,\n TBasicContract,\n TForgeDeploymentBroadcastCollection,\n forgeDeploymentBroadcastCollectionSchema,\n externalContractAddressMap,\n TBaseContractExtended,\n} from '~~/models';\n\n/**\n * #### Summary\n * This function is used to extract the contract data from hardhat deployment json files\n *\n * @internal\n * @category ContractAppContext\n * @param configJson {@link TDeployedHardhatContractsJson}\n * @returns\n */\nconst extractHardhatContracts = (configJson: TDeployedHardhatContractsJson): TContractMapWithAbi => {\n const parse = deployedHardhatContractsJsonSchema.safeParse(configJson);\n if (!parse.success) {\n console.error('Invalid deployment hardhat_contracts.json TDeployedHardhatContractsJson', parse.error);\n }\n\n const contractData: TContractMapWithAbi = {};\n for (const chainIdStr in configJson) {\n const chainId = parseInt(chainIdStr);\n if (chainId == null || isNaN(chainId)) continue;\n\n const deployedDataByNetwork = Object.values(configJson[chainId]).filter(\n (f) => parseInt(f?.chainId) === chainId\n )?.[0];\n if (deployedDataByNetwork?.chainId != null) {\n for (const contractName in deployedDataByNetwork.contracts) {\n const config: TBasicContractDeployment = {\n [chainId]: { address: deployedDataByNetwork.contracts[contractName].address, chainId },\n };\n\n const abi = deployedDataByNetwork.contracts[contractName].abi;\n if (abi && abi?.length > 0) {\n contractData[contractName] = merge(contractData[contractName] ?? {}, { abi: abi });\n }\n contractData[contractName] = merge({ ...contractData[contractName] }, { config });\n }\n }\n }\n\n return contractData;\n};\n\n/**\n * #### Summary\n * Extract externalContracts from TExternalContractsAddressMap\n * @param configJson\n * @returns\n */\nconst extractExternalContracts = (configJson: TExternalContractsAddressMap): TContractDeploymentMap => {\n const parse = externalContractAddressMap.safeParse(configJson);\n if (!parse.success) {\n console.error('Invalid TExternalContractsAddressMap', parse.error);\n }\n\n const contractData: TContractDeploymentMap = {};\n for (const chainIdStr in configJson) {\n const chainId = parseInt(chainIdStr);\n if (chainId == null || isNaN(chainId)) continue;\n\n for (const contractName in configJson[chainId]) {\n const config: TBasicContractDeployment = {\n [chainId]: { address: configJson[chainId][contractName], chainId: chainId },\n };\n contractData[contractName] = merge({ ...(contractData[contractName] ?? {}) }, { config });\n }\n }\n\n return contractData;\n};\n\n/**\n * #### Summary\n * Extract forge contracts from forgeDeploymentBroadcasts\n * @param configJson\n * @returns\n */\nconst extractForgeBroadcastContracts = (configJson: TForgeDeploymentBroadcastCollection): TContractDeploymentMap => {\n const parse = forgeDeploymentBroadcastCollectionSchema.safeParse(configJson);\n if (!parse.success) {\n console.error('Invalid forge boradcast json TForgeBroadcastJson', parse.error);\n }\n\n const contractData: TContractDeploymentMap = {};\n for (const chainIdStr in configJson) {\n const chainId = parseInt(chainIdStr);\n if (chainId == null || isNaN(chainId)) continue;\n\n const contractDeployments = configJson[chainId].transactions\n .filter((f) => f.transactionType === 'CREATE')\n .map((m) => {\n const td: TBasicContract = {\n contractName: m.contractName.replace('Deploy', '').replace('deploy', ''),\n address: m.contractAddress,\n };\n return td;\n });\n\n const contractNameList = contractDeployments.map((m) => m.contractName);\n\n contractNameList.forEach((contractName) => {\n const data = contractDeployments.filter((f) => f.contractName === contractName);\n if (data.length === 0) {\n console.error('Contract deployments NOT found for contract', contractName, `chainId: ${chainId}`);\n } else if (data.length > 1) {\n console.error(\n 'Multiple contract deployments found for contract on the same chainId',\n contractName,\n `chainId: ${chainId}`\n );\n }\n\n console.log('output data', data[0]);\n\n const config: TBasicContractDeployment = {\n [chainId]: { address: data?.[0]?.address, chainId: chainId },\n };\n\n contractData[contractName] = merge({ ...(contractData[contractName] ?? {}) }, { config });\n });\n }\n\n return contractData;\n};\n\n/**\n * ##### Summary\n * Creates a connector for any of your hardhat contracts\n *\n * @category ContractAppContext\n * @param contractName\n * @param typechainFactory\n * @param deployedHardhatContractJson\n * @returns\n */\nexport const createConnectorForHardhatContract = <\n GContractNames extends string,\n GBaseContract extends TBaseContractExtended<GContractNames>\n>(\n contractName: GContractNames,\n typechainFactory: TContractConnectorBase<GBaseContract>,\n deployedHardhatContractJson: TDeployedHardhatContractsJson\n): TContractConnector<GContractNames, GBaseContract> => {\n const info = extractHardhatContracts(deployedHardhatContractJson)[contractName];\n\n if (info == null || info.abi == null) {\n throw new Error(\n `Contract ${contractName} not found in deployed contracts (hardhat_config.json). Check your hardhat deploy scripts and hardhat_config.json`\n );\n }\n\n return {\n contractName,\n connect: typechainFactory.connect,\n // createInterface: typechainFactory.createInterface,\n abi: (info?.abi ?? typechainFactory.abi ?? []) as Record<string, any>[],\n config: {\n ...info.config,\n },\n };\n};\n\n/**\n * ##### Summary\n * Creates a connector for any of your Foundry contracts, deployed forge scripts and forge broadcast output\n *\n * @category ContractAppContext\n * @param contractName\n * @param typechainFactory\n * @param forgeBroadcastJson\n * @returns\n */\nexport const createConnectorForFoundryContract = <\n GContractNames extends string,\n GBaseContract extends TBaseContractExtended<GContractNames>\n>(\n contractName: GContractNames,\n typechainFactory: TContractConnectorBase<GBaseContract>,\n forgeBroadcastJson: TForgeDeploymentBroadcastCollection\n): TContractConnector<GContractNames, GBaseContract> => {\n const info = extractForgeBroadcastContracts(forgeBroadcastJson)[contractName];\n\n if (info == null || typechainFactory.abi == null) {\n throw new Error(\n `Contract ${contractName} not found in deployed contracts (foundry_config.json). Check your foundry deploy script`\n );\n }\n\n return {\n contractName,\n connect: typechainFactory.connect,\n // createInterface: typechainFactory.createInterface,\n abi: (typechainFactory.abi ?? []) as Record<string, any>[],\n config: {\n ...info.config,\n },\n };\n};\n\n/**\n * #### Summary\n * Creates a contract connector for any external contract\n *\n * ##### ✏️ Notes\n * - As an example you could use this for an external contract such as DAI\n *\n * @category ContractAppContext\n * @param contractName\n * @param typechainFactory\n * @param deployedContractJson\n * @returns\n */\nexport const createConnectorForExternalContract = <\n GContractNames extends string,\n GBaseContract extends TBaseContractExtended<GContractNames>\n>(\n contractName: GContractNames,\n typechainFactory: TContractConnectorBase<GBaseContract>,\n deployedContractJson: TExternalContractsAddressMap\n): TContractConnector<GContractNames, GBaseContract> => {\n const info = extractExternalContracts(deployedContractJson)[contractName];\n\n if (info == null) {\n throw new Error(\n `Contract ${contractName} not found in external contract map. Check that contractName: address map is correct. This is required by eth-sdk`\n );\n }\n\n return {\n contractName,\n connect: typechainFactory.connect,\n // : typechainFactory.createInterface,\n abi: typechainFactory.abi ?? [],\n config: {\n ...info.config,\n },\n };\n};\n\n/**\n * #### Summary\n * Create a contract connector from a ABI.\n *\n * ##### ✏️ Notes\n * - This can be used for unverified external contracts\n *\n * @category ContractAppContext\n * @param contractName\n * @param config\n * @param abi\n * @param connectFunc\n * @returns\n */\nexport const createConnectorForExternalAbi = <\n GContractNames extends string,\n GBaseContractExtended extends TBaseContractExtended<GContractNames> = TBaseContractExtended<GContractNames>\n>(\n contractName: GContractNames,\n config: {\n [chainId: number]: {\n address: string;\n };\n },\n abi: Record<string, any>[],\n connectFunc: TContractConnectFunc<GBaseContractExtended> | undefined = undefined\n): TContractConnector<GContractNames, GBaseContractExtended> => {\n const deploymentConfig: TBasicContractDeployment = { ...config } as TBasicContractDeployment;\n for (const k in deploymentConfig) {\n deploymentConfig[k].chainId = parseInt(k);\n }\n\n if (connectFunc) {\n return {\n contractName,\n connect: connectFunc,\n abi: abi,\n config: deploymentConfig,\n };\n } else {\n const defaultConnectFunction: TContractConnectFunc<GBaseContractExtended> = (\n address: string,\n signerOrProvider: ethers.Signer | ethers.providers.Provider\n ) => {\n const baseContract = new BaseContract(address, abi, signerOrProvider) as GBaseContractExtended;\n baseContract.contractName = contractName;\n return baseContract;\n };\n\n return {\n contractName,\n connect: defaultConnectFunction,\n abi: abi,\n config: deploymentConfig,\n };\n }\n};\n","import { merge } from 'merge-anything';\nimport { useCallback, useEffect, useRef } from 'react';\nimport { useQueryClient } from 'react-query';\nimport { invariant } from 'ts-invariant';\nimport { default as create, StoreApi, UseBoundStore } from 'zustand';\n\nimport { useEthersAppContext } from '~~/context';\nimport { invalidateCache, isValidEthersAdaptor } from '~~/functions';\nimport {\n TAppContractsContext,\n TBaseContractExtended,\n TConnectorList,\n TContractConnector,\n TContractsByChainId,\n TContractsByName,\n TEthersAdaptor,\n TTypedContract,\n} from '~~/models';\nimport { keyNamespace } from '~~/models/constants';\n\nexport type { create, StoreApi, UseBoundStore };\n\n/**\n * i've added comment headers since this is a large file due to the factory function\n */\n\n/**\n * #### Summary\n * Props for the ContractContext generated by the contractContextFactory\n *\n * @category ContractAppContext\n */\nexport type TContractsContextProps = {\n ethersContextKey?: string | undefined;\n};\n\ntype TContractsAppStore<\n GContractNames extends string,\n GAppConnectorList extends TConnectorList<GContractNames, TBaseContractExtended<GContractNames>>,\n GContractsTypes extends ReturnType<GAppConnectorList[Extract<GContractNames, string>]['connect']> = ReturnType<\n GAppConnectorList[Extract<GContractNames, string>]['connect']\n >,\n GAppContractsState = TAppContractsContext<GContractNames, GContractsTypes>\n> = {\n contractState: GAppContractsState | undefined;\n setContractState: (contractState: GAppContractsState) => void;\n connectToAllContracts: (ethersAdaptor: TEthersAdaptor | undefined) => void;\n connectToContract: (contractName: GContractNames, ethersAdaptor: TEthersAdaptor | undefined) => void;\n setContractConnectors: (contractConnectors: GAppConnectorList) => void;\n};\n\n/* *************** ********************* ****************** */\n/* *************** 🏭 Contract Factory 🏭 ****************** */\n/* *************** ********************* ****************** */\n\n/**\n * #### Summary\n * This is the factory function that creates the ContractContext and returns the hooks you can use to access typed contracts through out your app.\n *\n * ##### ✏️ Notes\n * - you must define the generic GContractNames if you want type narrowing for the hooks: e.g. `contractsContextFactory<keyof TAppConnectorList, TAppConnectorList>(getAppContractsConfig);`, where getAppContractsConfig is a function that returns Record of contract names and connectors.\n * - See [this for an example](https://github.com/scaffold-eth/scaffold-eth-typescript/blob/release/packages/vite-app-ts/src/config/appContracts.config.ts) for an example of how to use this.\n *\n * @category ContractAppContext\n * @template GContractNames A type that represents the names of the contracts you want to access. Should be `keyof ReturnType<loadAppContractConnectors>`, where `loadAppContractConnectors` is the function that returns the contract connectors config.\n * @template GAppConnectorList A type are the list of contracts and their connectors. Should be `ReturnType<loadAppContractConnectors>`, where `loadAppContractConnectors` is the function that returns the contract connectors config.\n * @template GContractConnector TTypedContract<GContractNames, GAppConnectorList> allows the factory to strictly type contracts for the react hooks. Should be `TTypedContract<keyof keyof ReturnType<loadAppContractConnectors>, ReturnType<loadAppContractConnectors>>`, where `loadAppContractConnectors` is the function that returns the contract connectors config.\n * @param loadAppContractConnectors A function that returns a list of app contract connectors. See [this for an example](https://github.com/scaffold-eth/scaffold-eth-typescript/blob/release/packages/vite-app-ts/src/config/appContracts.config.ts)\n * @returns A context for contracts, hook to access contracts, hook to load contracts, hook to connect to contracts in a network\n */\nexport const contractsContextFactory = <\n GContractNames extends string,\n GAppConnectorList extends TConnectorList<GContractNames, TBaseContractExtended<GContractNames>>\n>(\n loadAppContractConnectors: () => GAppConnectorList\n): {\n /**\n * #### Summary\n * This hook allows you to get the contracts attached to a particular network.\n *\n * ##### ✏️ Notes\n * To be used with {@link useConnectAppContracts} which needs to be called in your app to connect to the contracts in a particular network.\n *\n * @category ContractAppContext\n */\n useAppContracts: <GContractName extends GContractNames>(\n contractName: GContractName,\n chainId: number | undefined\n ) => TTypedContract<GContractName, GAppConnectorList> | never;\n /**\n * #### Summary\n * This hook needs to be called in your app to load all your app contracts\n *\n * @category ContractAppContext\n */\n useLoadAppContracts: () => void;\n /**\n * #### Summary\n * This hook needs to be called in your app to connect your app to a network\n *\n * @category ContractAppContext\n */\n useConnectAppContracts: (adaptor: TEthersAdaptor | undefined) => void;\n\n useContractsAppStore: UseBoundStore<StoreApi<TContractsAppStore<GContractNames, GAppConnectorList>>>;\n} => {\n /* *************** ******** *************************** */\n /* *************** Base types ************************* */\n /* *************** ******** *************************** */\n\n type GContractsTypes = ReturnType<GAppConnectorList[Extract<GContractNames, string>]['connect']>;\n type GAppContractsState = TAppContractsContext<GContractNames, GContractsTypes>;\n\n /* *************** ******** *************************** */\n /* *************** Helpers Functions ****************** */\n /* *************** ******** *************************** */\n const defaultAppContractsContext = (): GAppContractsState => {\n return {\n contractConnectors: {},\n contractsByName: {},\n contractsByChainId: {},\n } as GAppContractsState;\n };\n\n /**\n * Create context state\n * @param appContractConnectorList\n * @returns\n * @internal\n */\n const initalizeState = (appContractConnectorList: GAppConnectorList): GAppContractsState => {\n const state = defaultAppContractsContext();\n state.contractConnectors = appContractConnectorList as unknown as GAppContractsState['contractConnectors'];\n return state;\n };\n\n /**\n * Helper function for immutability of state\n * @param state\n * @returns\n * @internal\n */\n const cloneContextState = (state: GAppContractsState): GAppContractsState => {\n const newState = defaultAppContractsContext();\n newState.contractConnectors = { ...state.contractConnectors };\n newState.contractsByName = { ...state.contractsByName };\n newState.contractsByChainId = { ...state.contractsByChainId };\n\n return newState;\n };\n\n const sortContractsByChainId = (\n contractsByName: TContractsByName<GContractNames, GContractsTypes>\n ): TContractsByChainId<GContractNames, GContractsTypes> => {\n let contractsByChainId: TContractsByChainId<GContractNames, GContractsTypes> = {};\n\n const names: GContractNames[] = Object.keys(contractsByName) as GContractNames[];\n names.forEach((name) => {\n const chainIds = Object.keys(contractsByName[name]).map(Number);\n chainIds.forEach((chainId) => {\n const data = {\n [chainId]: { [name]: contractsByName[name][chainId] },\n } as TContractsByName<GContractNames, GContractsTypes>;\n const temp = merge(contractsByChainId, data);\n contractsByChainId = temp as TContractsByChainId<GContractNames, GContractsTypes>;\n });\n });\n return contractsByChainId;\n };\n\n const sortContractsByName = (\n contractsByChainId: TContractsByChainId<GContractNames, GContractsTypes>\n ): TContractsByName<GContractNames, GContractsTypes> => {\n let contractsByName: TContractsByName<GContractNames, GContractsTypes> = {} as TContracts