UNPKG

@agentek/tools

Version:

Blockchain tools for AI agents

45 lines 1.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.lookupENSTool = exports.resolveENSTool = void 0; const zod_1 = require("zod"); const client_js_1 = require("../client.js"); const ens_1 = require("viem/ens"); exports.resolveENSTool = (0, client_js_1.createTool)({ name: "resolveENS", description: "Resolves an ENS name to an Ethereum address", parameters: zod_1.z.object({ name: zod_1.z.string().describe("The ENS name to resolve"), }), execute: async (client, args) => { const publicClient = client.getPublicClient(1); const ensName = args.name.includes(".") ? args.name : `${args.name}.eth`; const address = await publicClient.getEnsAddress({ name: (0, ens_1.normalize)(ensName), }); if (address === null) { throw new Error(`No address found for ENS name: ${args.name}`); } return address; }, }); exports.lookupENSTool = (0, client_js_1.createTool)({ name: "lookupENS", description: "Looks up the ENS name for an Ethereum address", parameters: zod_1.z.object({ address: zod_1.z .string() .regex(/^0x[a-fA-F0-9]{40}$/) .describe("The Ethereum address to lookup"), }), execute: async (client, args) => { const publicClient = client.getPublicClient(1); const name = await publicClient.getEnsName({ address: args.address, }); if (name === null) { throw new Error(`No ENS name found for ${args.address}`); } return name; }, }); //# sourceMappingURL=tools.js.map