@hashgraphonline/hedera-agent-kit
Version:
Build LLM-powered applications that interact with the Hedera Network. Create conversational agents that can understand user requests in natural language and execute Hedera transactions, or build backend systems that leverage AI for on-chain operations.
373 lines (371 loc) • 15.8 kB
TypeScript
import { z } from 'zod';
import { BaseHederaTransactionTool, BaseHederaTransactionToolParams } from '../common/base-hedera-transaction-tool';
import { BaseServiceBuilder } from '../../../builders/base-service-builder';
declare const NFTCreateZodSchemaCore: z.ZodObject<{
tokenName: z.ZodString;
tokenSymbol: z.ZodOptional<z.ZodString>;
treasuryAccountId: z.ZodOptional<z.ZodString>;
adminKey: z.ZodOptional<z.ZodString>;
kycKey: z.ZodOptional<z.ZodString>;
freezeKey: z.ZodOptional<z.ZodString>;
wipeKey: z.ZodOptional<z.ZodString>;
supplyKey: z.ZodOptional<z.ZodString>;
feeScheduleKey: z.ZodOptional<z.ZodString>;
pauseKey: z.ZodOptional<z.ZodString>;
autoRenewAccountId: z.ZodOptional<z.ZodString>;
autoRenewPeriod: z.ZodOptional<z.ZodNumber>;
memo: z.ZodOptional<z.ZodString>;
freezeDefault: z.ZodOptional<z.ZodBoolean>;
customFees: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodEnum<["FIXED", "FIXED_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
denominatingTokenId: z.ZodOptional<z.ZodString>;
amount: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
}, "strip", z.ZodTypeAny, {
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}, {
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}>, z.ZodObject<{
type: z.ZodEnum<["FRACTIONAL", "FRACTIONAL_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
numerator: z.ZodNumber;
denominator: z.ZodNumber;
minAmount: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
maxAmount: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
assessmentMethodInclusive: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
}, {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
}>, z.ZodObject<{
type: z.ZodEnum<["ROYALTY", "ROYALTY_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
numerator: z.ZodNumber;
denominator: z.ZodNumber;
fallbackFee: z.ZodOptional<z.ZodObject<Omit<{
type: z.ZodEnum<["FIXED", "FIXED_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
denominatingTokenId: z.ZodOptional<z.ZodString>;
amount: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
}, "type">, "strip", z.ZodTypeAny, {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}, {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
}, {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
}>]>, "many">>;
supplyType: z.ZodDefault<z.ZodOptional<z.ZodEnum<[string, string]>>>;
maxSupply: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strip", z.ZodTypeAny, {
tokenName: string;
supplyType: string;
memo?: string | undefined;
adminKey?: string | undefined;
autoRenewAccountId?: string | undefined;
kycKey?: string | undefined;
freezeKey?: string | undefined;
wipeKey?: string | undefined;
supplyKey?: string | undefined;
feeScheduleKey?: string | undefined;
pauseKey?: string | undefined;
tokenSymbol?: string | undefined;
treasuryAccountId?: string | undefined;
autoRenewPeriod?: number | undefined;
freezeDefault?: boolean | undefined;
customFees?: ({
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
} | {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
})[] | undefined;
maxSupply?: string | number | undefined;
}, {
tokenName: string;
memo?: string | undefined;
adminKey?: string | undefined;
autoRenewAccountId?: string | undefined;
kycKey?: string | undefined;
freezeKey?: string | undefined;
wipeKey?: string | undefined;
supplyKey?: string | undefined;
feeScheduleKey?: string | undefined;
pauseKey?: string | undefined;
tokenSymbol?: string | undefined;
treasuryAccountId?: string | undefined;
autoRenewPeriod?: number | undefined;
freezeDefault?: boolean | undefined;
customFees?: ({
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
} | {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
})[] | undefined;
supplyType?: string | undefined;
maxSupply?: string | number | undefined;
}>;
export declare class HederaCreateNftTool extends BaseHederaTransactionTool<typeof NFTCreateZodSchemaCore> {
name: string;
description: string;
specificInputSchema: z.ZodObject<{
tokenName: z.ZodString;
tokenSymbol: z.ZodOptional<z.ZodString>;
treasuryAccountId: z.ZodOptional<z.ZodString>;
adminKey: z.ZodOptional<z.ZodString>;
kycKey: z.ZodOptional<z.ZodString>;
freezeKey: z.ZodOptional<z.ZodString>;
wipeKey: z.ZodOptional<z.ZodString>;
supplyKey: z.ZodOptional<z.ZodString>;
feeScheduleKey: z.ZodOptional<z.ZodString>;
pauseKey: z.ZodOptional<z.ZodString>;
autoRenewAccountId: z.ZodOptional<z.ZodString>;
autoRenewPeriod: z.ZodOptional<z.ZodNumber>;
memo: z.ZodOptional<z.ZodString>;
freezeDefault: z.ZodOptional<z.ZodBoolean>;
customFees: z.ZodOptional<z.ZodArray<z.ZodDiscriminatedUnion<"type", [z.ZodObject<{
type: z.ZodEnum<["FIXED", "FIXED_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
denominatingTokenId: z.ZodOptional<z.ZodString>;
amount: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
}, "strip", z.ZodTypeAny, {
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}, {
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}>, z.ZodObject<{
type: z.ZodEnum<["FRACTIONAL", "FRACTIONAL_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
numerator: z.ZodNumber;
denominator: z.ZodNumber;
minAmount: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
maxAmount: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
assessmentMethodInclusive: z.ZodOptional<z.ZodBoolean>;
}, "strip", z.ZodTypeAny, {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
}, {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
}>, z.ZodObject<{
type: z.ZodEnum<["ROYALTY", "ROYALTY_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
numerator: z.ZodNumber;
denominator: z.ZodNumber;
fallbackFee: z.ZodOptional<z.ZodObject<Omit<{
type: z.ZodEnum<["FIXED", "FIXED_FEE"]>;
feeCollectorAccountId: z.ZodOptional<z.ZodString>;
denominatingTokenId: z.ZodOptional<z.ZodString>;
amount: z.ZodUnion<[z.ZodNumber, z.ZodString]>;
}, "type">, "strip", z.ZodTypeAny, {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}, {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
}>>;
}, "strip", z.ZodTypeAny, {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
}, {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
}>]>, "many">>;
supplyType: z.ZodDefault<z.ZodOptional<z.ZodEnum<[string, string]>>>;
maxSupply: z.ZodOptional<z.ZodUnion<[z.ZodNumber, z.ZodString]>>;
}, "strip", z.ZodTypeAny, {
tokenName: string;
supplyType: string;
memo?: string | undefined;
adminKey?: string | undefined;
autoRenewAccountId?: string | undefined;
kycKey?: string | undefined;
freezeKey?: string | undefined;
wipeKey?: string | undefined;
supplyKey?: string | undefined;
feeScheduleKey?: string | undefined;
pauseKey?: string | undefined;
tokenSymbol?: string | undefined;
treasuryAccountId?: string | undefined;
autoRenewPeriod?: number | undefined;
freezeDefault?: boolean | undefined;
customFees?: ({
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
} | {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
})[] | undefined;
maxSupply?: string | number | undefined;
}, {
tokenName: string;
memo?: string | undefined;
adminKey?: string | undefined;
autoRenewAccountId?: string | undefined;
kycKey?: string | undefined;
freezeKey?: string | undefined;
wipeKey?: string | undefined;
supplyKey?: string | undefined;
feeScheduleKey?: string | undefined;
pauseKey?: string | undefined;
tokenSymbol?: string | undefined;
treasuryAccountId?: string | undefined;
autoRenewPeriod?: number | undefined;
freezeDefault?: boolean | undefined;
customFees?: ({
type: "FIXED" | "FIXED_FEE";
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | {
type: "FRACTIONAL" | "FRACTIONAL_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
minAmount?: string | number | undefined;
maxAmount?: string | number | undefined;
assessmentMethodInclusive?: boolean | undefined;
} | {
type: "ROYALTY" | "ROYALTY_FEE";
numerator: number;
denominator: number;
feeCollectorAccountId?: string | undefined;
fallbackFee?: {
amount: string | number;
feeCollectorAccountId?: string | undefined;
denominatingTokenId?: string | undefined;
} | undefined;
})[] | undefined;
supplyType?: string | undefined;
maxSupply?: string | number | undefined;
}>;
namespace: string;
constructor(params: BaseHederaTransactionToolParams);
protected getServiceBuilder(): BaseServiceBuilder;
protected callBuilderMethod(builder: BaseServiceBuilder, specificArgs: z.infer<typeof NFTCreateZodSchemaCore>): Promise<void>;
protected getNoteForKey(key: string, schemaDefaultValue: unknown, actualValue: unknown): string | undefined;
}
export {};