import { z } from "zod";
import { EvmAddressSchema } from "../common";
import { EasCommonFields } from "./eas";

const VeraxChains = z.enum([
  "LINEA",
  "ARBITRUM",
  "BASE_SEPOLIA",
  "BASE_MAINNET",
  "BSC",
]);

export default [
  z.object({
    type: z.enum(["VERAX_ATTESTED_BY"]),
    chain: VeraxChains.default("LINEA"),
    data: EasCommonFields.and(
      z.object({
        attester: EvmAddressSchema,
      })
    ),
  }),
  z.object({
    type: z.literal("VERAX_ATTEST"),
    chain: VeraxChains.default("LINEA"),
    data: EasCommonFields.and(
      z.object({
        subject: EvmAddressSchema,
      })
    ),
  }),
];
