Resolver Disputa

O esquema ideal para este endpoint.

Esquema

Isto valida um formulário de custódia usando Zod, incluindo endereços de carteira e fundos das entidades.

import { isValidWallet } from "@/helpers/valid-data.helper";
import { z } from "zod";

export const formSchema = z.object({
  contractId: z.string().min(1, "ID do contrato é obrigatório"),
  disputeResolver: z
    .string()
    .min(1, {
      message: "Resolutor de disputas é obrigatório.",
    })
    .refine((value) => isValidWallet(value), {
      message: "O resolutor de disputas deve ser uma carteira válida.",
    }),
  approverFunds: z.string().min(1, "Fundos do aprovador são obrigatórios"),
  receiverFunds: z.string().min(1, "Fundos do recebedor são obrigatórios"),
});

Hook Personalizado

Isso contém toda a lógica do formulário, incluindo validação de esquema, função onSubmit e outros estados e funcionalidades.

Formulário

Este formulário é construído com react hook form. Usamos o hook personalizado e o esquema Zod mencionados anteriormente.

Atualizado