diff --git a/packages/hardhat/deploy/99_generateTsAbis.ts b/packages/hardhat/deploy/99_generateTsAbis.ts index 765e6a930..945ad2a61 100644 --- a/packages/hardhat/deploy/99_generateTsAbis.ts +++ b/packages/hardhat/deploy/99_generateTsAbis.ts @@ -4,7 +4,7 @@ * This script generates the file containing the contracts Abi definitions. * These definitions are used to derive the types needed in the custom scaffold-eth hooks, for example. * This script should run as the last deploy script. - * */ + */ import * as fs from "fs"; import prettier from "prettier"; diff --git a/packages/hardhat/scripts/generateAccount.ts b/packages/hardhat/scripts/generateAccount.ts index 34fe0e872..5de8e458c 100644 --- a/packages/hardhat/scripts/generateAccount.ts +++ b/packages/hardhat/scripts/generateAccount.ts @@ -6,7 +6,6 @@ const envFilePath = "./.env"; /** * Generate a new random private key and write it to the .env file - * @param existingEnvConfig */ const setNewEnvConfig = (existingEnvConfig = {}) => { console.log("👛 Generating new Wallet"); diff --git a/packages/nextjs/components/scaffold-eth/Contract/utilsContract.tsx b/packages/nextjs/components/scaffold-eth/Contract/utilsContract.tsx index 9da4b1edd..92f89e742 100644 --- a/packages/nextjs/components/scaffold-eth/Contract/utilsContract.tsx +++ b/packages/nextjs/components/scaffold-eth/Contract/utilsContract.tsx @@ -3,10 +3,6 @@ import { BaseError as BaseViemError, DecodeErrorResultReturnType } from "viem"; /** * Generates a key based on function metadata - * @param {string} functionName - * @param {AbiParameter} input - object containing function name and input type corresponding to index - * @param {number} inputIndex - * @returns {string} key */ const getFunctionInputKey = (functionName: string, input: AbiParameter, inputIndex: number): string => { const name = input?.name || `input_${inputIndex}_`; @@ -14,9 +10,9 @@ const getFunctionInputKey = (functionName: string, input: AbiParameter, inputInd }; /** - * Parses an error to get a displayable string + * Parses an viem/wagmi error to get a displayable string * @param e - error object - * @returns {string} parsed error string + * @returns parsed error string */ const getParsedError = (e: any): string => { let message: string = e.message ?? "An unknown error occurred"; @@ -48,8 +44,6 @@ const ARRAY_TYPE_REGEX = /\[.*\]$/; /** * Parses form input with array support - * @param {Record} form - form object containing key value pairs - * @returns parsed error string */ const getParsedContractFunctionArgs = (form: Record) => { const keys = Object.keys(form); diff --git a/packages/nextjs/hooks/scaffold-eth/useDeployedContractInfo.ts b/packages/nextjs/hooks/scaffold-eth/useDeployedContractInfo.ts index 69b961fff..55d6ef158 100644 --- a/packages/nextjs/hooks/scaffold-eth/useDeployedContractInfo.ts +++ b/packages/nextjs/hooks/scaffold-eth/useDeployedContractInfo.ts @@ -5,8 +5,7 @@ import { usePublicClient } from "wagmi"; import { Contract, ContractCodeStatus, ContractName, contracts } from "~~/utils/scaffold-eth/contract"; /** - * Gets the matching contract info from the contracts file generated by `yarn deploy` - * @param contractName - name of deployed contract + * Gets the matching contract info for the provided contract name from the contracts present in deployedContracts.ts and externalContracts.ts corrsponding to targetNetworks configured in scaffold.congfig.ts */ export const useDeployedContractInfo = (contractName: TContractName) => { const isMounted = useIsMounted(); diff --git a/packages/nextjs/hooks/scaffold-eth/useNativeCurrencyPrice.ts b/packages/nextjs/hooks/scaffold-eth/useNativeCurrencyPrice.ts index b81e781e6..edcb9dbf7 100644 --- a/packages/nextjs/hooks/scaffold-eth/useNativeCurrencyPrice.ts +++ b/packages/nextjs/hooks/scaffold-eth/useNativeCurrencyPrice.ts @@ -8,7 +8,6 @@ const enablePolling = false; /** * Get the price of Native Currency based on Native Token/DAI trading pair from Uniswap SDK - * @returns nativeCurrencyPrice: number */ export const useNativeCurrencyPrice = () => { const { targetNetwork } = useTargetNetwork(); diff --git a/packages/nextjs/hooks/scaffold-eth/useOutsideClick.ts b/packages/nextjs/hooks/scaffold-eth/useOutsideClick.ts index 28a44b5d2..d7f2e0e1f 100644 --- a/packages/nextjs/hooks/scaffold-eth/useOutsideClick.ts +++ b/packages/nextjs/hooks/scaffold-eth/useOutsideClick.ts @@ -1,7 +1,9 @@ import React, { useEffect } from "react"; /** - * Check if a click was made outside the passed ref + * Handles clicks outside of passed ref element + * @param ref - react ref of the element + * @param callback - callback function to call when clicked outside */ export const useOutsideClick = (ref: React.RefObject, callback: { (): void }) => { useEffect(() => { diff --git a/packages/nextjs/hooks/scaffold-eth/useScaffoldContract.ts b/packages/nextjs/hooks/scaffold-eth/useScaffoldContract.ts index 5dd782a9b..61cd6fa4f 100644 --- a/packages/nextjs/hooks/scaffold-eth/useScaffoldContract.ts +++ b/packages/nextjs/hooks/scaffold-eth/useScaffoldContract.ts @@ -5,10 +5,10 @@ import { useDeployedContractInfo } from "~~/hooks/scaffold-eth"; import { Contract, ContractName } from "~~/utils/scaffold-eth/contract"; /** - * Gets a deployed contract by contract name and returns a contract instance - * @param config - The config settings - * @param config.contractName - Deployed contract name - * @param config.walletClient - An viem wallet client instance (optional) + * Gets an viem instance of the contract present in deployedContracts.ts or externalContracts.ts corrsponding to targetNetworks configured in scaffold.congfig.ts. Optional walletClient can be passed for doing write transactions. + * @param config - The config settings for the hook + * @param config.contractName - deployed contract name + * @param config.walletClient - optional walletClient from wagmi useWalletClient hook can be passed for doing write transactions */ export const useScaffoldContract = < TContractName extends ContractName, diff --git a/packages/nextjs/hooks/scaffold-eth/useScaffoldContractRead.ts b/packages/nextjs/hooks/scaffold-eth/useScaffoldContractRead.ts index 55cb76dd0..979a7d979 100644 --- a/packages/nextjs/hooks/scaffold-eth/useScaffoldContractRead.ts +++ b/packages/nextjs/hooks/scaffold-eth/useScaffoldContractRead.ts @@ -10,8 +10,7 @@ import { } from "~~/utils/scaffold-eth/contract"; /** - * Wrapper for wagmi's useContractRead hook which automatically loads (by name) - * the contract ABI and address from the deployed contracts + * Wrapper around wagmi's useContractRead hook which automatically loads (by name) the contract ABI and address from the contracts present in deployedContracts.ts & externalContracts.ts corrsponding to targetNetworks configured in scaffold.congfig.ts * @param config - The config settings, including extra wagmi configuration * @param config.contractName - deployed contract name * @param config.functionName - name of the function to be called diff --git a/packages/nextjs/hooks/scaffold-eth/useScaffoldContractWrite.ts b/packages/nextjs/hooks/scaffold-eth/useScaffoldContractWrite.ts index 8c09582e3..f72d11273 100644 --- a/packages/nextjs/hooks/scaffold-eth/useScaffoldContractWrite.ts +++ b/packages/nextjs/hooks/scaffold-eth/useScaffoldContractWrite.ts @@ -10,13 +10,14 @@ import { ContractAbi, ContractName, UseScaffoldWriteConfig } from "~~/utils/scaf type UpdatedArgs = Parameters>["writeAsync"]>[0]; /** - * Wrapper for wagmi's useContractWrite hook (with config prepared by usePrepareContractWrite hook) - * which automatically loads (by name) the contract ABI and address from the deployed contracts + * Wrapper around wagmi's useContractWrite hook which automatically loads (by name) the contract ABI and address from the contracts present in deployedContracts.ts & externalContracts.ts corrsponding to targetNetworks configured in scaffold.congfig.ts * @param config - The config settings, including extra wagmi configuration - * @param config.contractName - deployed contract name + * @param config.contractName - contract name * @param config.functionName - name of the function to be called * @param config.args - arguments for the function * @param config.value - value in ETH that will be sent with transaction + * @param config.blockConfirmations - number of block confirmations to wait for (default: 1) + * @param config.onBlockConfirmation - callback that will be called after blockConfirmations. */ export const useScaffoldContractWrite = < TContractName extends ContractName, diff --git a/packages/nextjs/hooks/scaffold-eth/useScaffoldEventSubscriber.ts b/packages/nextjs/hooks/scaffold-eth/useScaffoldEventSubscriber.ts index 66fb3e412..2389e5ee6 100644 --- a/packages/nextjs/hooks/scaffold-eth/useScaffoldEventSubscriber.ts +++ b/packages/nextjs/hooks/scaffold-eth/useScaffoldEventSubscriber.ts @@ -6,8 +6,7 @@ import { addIndexedArgsToEvent, useDeployedContractInfo } from "~~/hooks/scaffol import { ContractAbi, ContractName, UseScaffoldEventConfig } from "~~/utils/scaffold-eth/contract"; /** - * Wrapper for wagmi's useContractEvent which automatically loads (by name) - * the contract ABI and address from the deployed contracts. + * Wrapper around wagmi's useEventSubscriber hook which automatically loads (by name) the contract ABI and address from the contracts present in deployedContracts.ts & externalContracts.ts * @param config - The config settings * @param config.contractName - deployed contract name * @param config.eventName - name of the event to listen for diff --git a/packages/nextjs/hooks/scaffold-eth/useTargetNetwork.ts b/packages/nextjs/hooks/scaffold-eth/useTargetNetwork.ts index 2ce765375..e2f318bf6 100644 --- a/packages/nextjs/hooks/scaffold-eth/useTargetNetwork.ts +++ b/packages/nextjs/hooks/scaffold-eth/useTargetNetwork.ts @@ -5,6 +5,9 @@ import { useGlobalState } from "~~/services/store/store"; import { ChainWithAttributes } from "~~/utils/scaffold-eth"; import { NETWORKS_EXTRA_DATA } from "~~/utils/scaffold-eth"; +/** + * Retrieves the connected wallet's network from scaffold.config or defaults to the 0th network in the list if the wallet is not connected. + */ export function useTargetNetwork(): { targetNetwork: ChainWithAttributes } { const { chain } = useNetwork(); const targetNetwork = useGlobalState(({ targetNetwork }) => targetNetwork); diff --git a/packages/nextjs/hooks/scaffold-eth/useTransactor.tsx b/packages/nextjs/hooks/scaffold-eth/useTransactor.tsx index efd74440a..da26873e4 100644 --- a/packages/nextjs/hooks/scaffold-eth/useTransactor.tsx +++ b/packages/nextjs/hooks/scaffold-eth/useTransactor.tsx @@ -29,9 +29,9 @@ const TxnNotification = ({ message, blockExplorerLink }: { message: string; bloc }; /** - * @description Runs Transaction passed in to returned function showing UI feedback. - * @param _walletClient - * @returns function that takes a transaction and returns a promise of the transaction hash + * Runs Transaction passed in to returned function showing UI feedback. + * @param _walletClient - Optional wallet client to use. If not provided, will use the one from useWalletClient. + * @returns function that takes in transaction function as callback, shows UI feedback for transcation and returns a promise of the transaction hash */ export const useTransactor = (_walletClient?: WalletClient): TransactionFunc => { let walletClient = _walletClient; diff --git a/packages/nextjs/services/web3/wagmi-burner/BurnerConnector.ts b/packages/nextjs/services/web3/wagmi-burner/BurnerConnector.ts index f397ebcc2..42ec56ca4 100644 --- a/packages/nextjs/services/web3/wagmi-burner/BurnerConnector.ts +++ b/packages/nextjs/services/web3/wagmi-burner/BurnerConnector.ts @@ -18,9 +18,8 @@ export class BurnerConnector extends Connector | undefined; constructor(config: { chains?: Chain[]; options: BurnerConnectorOptions }) { diff --git a/packages/nextjs/services/web3/wagmi-burner/burnerWalletConfig.ts b/packages/nextjs/services/web3/wagmi-burner/burnerWalletConfig.ts index a3ad393dc..9b1d3dea5 100644 --- a/packages/nextjs/services/web3/wagmi-burner/burnerWalletConfig.ts +++ b/packages/nextjs/services/web3/wagmi-burner/burnerWalletConfig.ts @@ -16,8 +16,6 @@ const burnerWalletIconBase64 = /** * Wagmi config for burner wallet - * @param param0 - * @returns */ export const burnerWalletConfig = ({ chains }: BurnerWalletOptions): Wallet => ({ id: burnerWalletId, diff --git a/packages/nextjs/utils/scaffold-eth/networks.ts b/packages/nextjs/utils/scaffold-eth/networks.ts index f8f8e3c86..e2a39ac26 100644 --- a/packages/nextjs/utils/scaffold-eth/networks.ts +++ b/packages/nextjs/utils/scaffold-eth/networks.ts @@ -59,8 +59,7 @@ export const NETWORKS_EXTRA_DATA: Record = { }; /** - * Gives the block explorer transaction URL. - * Returns empty string if the network is a local chain + * Gives the block explorer transaction URL, returns empty string if the network is a local chain */ export function getBlockExplorerTxLink(chainId: number, txnHash: string) { const chainNames = Object.keys(chains);