@coinbase/agentkit
Version:
Coinbase AgentKit core primitives
48 lines (47 loc) • 2.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ClankTokenSchema = void 0;
const zod_1 = require("zod");
/**
* Action schemas for the clanker action provider.
*
* This file contains the Zod schemas that define the shape and validation
* rules for action parameters in the clanker action provider.
*/
exports.ClankTokenSchema = zod_1.z
.object({
tokenName: zod_1.z.string().min(1).max(100).describe("The name of the token (max 100 characters)"),
tokenSymbol: zod_1.z.string().min(1).max(10).describe("The symbol of the token (max 10 characters)"),
image: zod_1.z.string().url().describe("Normal or ipfs URL pointing to the token image"),
vaultPercentage: zod_1.z
.number()
.min(0)
.max(90)
.describe("Percentage of token supply allocated to a vault that can be claimed by deployer after lockup period with optional vesting"),
lockDuration_Days: zod_1.z
.number()
.min(7)
.describe("Lockup duration of token (in days), minimum 7 days"),
vestingDuration_Days: zod_1.z
.number()
.min(0)
.describe("Vesting duration of token after lockup has passed (in days). Vesting is linear over the duration"),
description: zod_1.z
.string()
.optional()
.describe("Description of the token or token project (optional)"),
socialMediaUrls: zod_1.z
.array(zod_1.z.object({ platform: zod_1.z.string(), url: zod_1.z.string() }))
.optional()
.describe("Socials for the token. These may be displayed on aggregators."),
interface: zod_1.z
.string()
.default("CDP AgentKit")
.describe('System the token was deployed via. Defaults to "CDP AgentKit".'),
id: zod_1.z
.string()
.default("")
.describe("User id of the poster on the social platform the token was deployed from. Used for provenance and will be verified by aggregators."),
})
.strip()
.describe("Instructions for deploying a Clanker token");