UNPKG

@agentek/tools

Version:

Blockchain tools for AI agents

33 lines 850 B
import { z } from "zod"; import { isAddress } from "viem/utils"; export const addressSchema = z.string().transform((val, ctx) => { if (!isAddress(val)) { ctx.addIssue({ code: z.ZodIssueCode.custom, message: "Invalid Ethereum address", }); // stop here return z.NEVER; } return val; // output is Address }); export const clean = (obj) => { if (typeof obj === "bigint") { return obj.toString(); } if (Array.isArray(obj)) { return obj.map(clean); } if (typeof obj === "string") { return obj.trim(); } if (obj && typeof obj === "object") { const newObj = {}; for (const key in obj) { newObj[key] = clean(obj[key]); } return newObj; } return obj; }; //# sourceMappingURL=utils.js.map