useContractWrite

Mke a write call to your contract

function useContractWrite<
  TContractAddress extends string,
  TContract extends ValidContractInstance,
  TContractInstance extends ValidContractInstance,
  TFunctionName extends string,
  TArgs extends any[],
>(
  contract: TContractInstance extends ValidContractInstance
    ? RequiredParam<TContractInstance>
    : TContractAddress extends never
    ? RequiredParam<
        SmartContract<BaseContractForAddress<TContractAddress>>
      >
    : RequiredParam<SmartContract<BaseContract>>,
  functionName: RequiredParam<TFunctionName & string>,
): UseMutationResult<
  Omit<TransactionResultWithMetadata<unknown>, "data">,
  unknown,
  { args: TArgs; overrides: CallOverrides },
  unknown
>;

Parameters


Returns

a response object that includes the write function to call

type ReturnType = UseMutationResult<
  Omit<TransactionResultWithMetadata<unknown>, "data">,
  unknown,
  { args: TArgs; overrides: CallOverrides },
  unknown
>;

Example

const { contract } = useContract("{{contract_address}}");
const {
  mutate: myFunction,
  isLoading,
  error,
} = useContractWrite(contract, "myFunction");

// the function can be called as follows:
// myFunction(["param 1", "param 2", ...])