useContractMetadataUpdate

Update the metadata of this contract

function useContractMetadataUpdate(
  contract: RequiredParam<ValidContractInstance>,
): UseMutationResult<
  { data: () => Promise<any>; receipt: providers.TransactionReceipt },
  unknown,
  {
    app_uri: string;
    description: string;
    external_link: string;
    image: any;
    name: string;
  },
  unknown
>;

Parameters


Returns

a response object that includes the contract metadata of the deployed contract

type ReturnType = UseMutationResult<
  { data: () => Promise<any>; receipt: providers.TransactionReceipt },
  unknown,
  {
    app_uri: string;
    description: string;
    external_link: string;
    image: any;
    name: string;
  },
  unknown
>;

Example

const Component = () => {
  const { contract } = useContract("{{contract_address}}");
  const {
    mutate: updateContractMetadata,
    isLoading,
    error,
  } = useContractMetadataUpdate(contract);

  if (error) {
    console.error("failed to update contract metadata", error);
  }

  return (
    <button
      disabled={isLoading}
      onClick={() =>
        updateContractMetadata({
          name: "New name",
          description: "New description",
        })
      }
    >
      Update contract metadata
    </button>
  );
};