mirror of
https://github.com/d0zingcat/solana-agent-kit.git
synced 2026-06-06 07:36:44 +00:00
43 lines
1.2 KiB
TypeScript
43 lines
1.2 KiB
TypeScript
import { Tool } from "langchain/tools";
|
|
import { SolanaAgentKit } from "../../agent";
|
|
|
|
export class SolanaResolveAllDomainsTool extends Tool {
|
|
name = "solana_resolve_all_domains";
|
|
description = `Resolve domain names to a public key for ALL domain types EXCEPT .sol domains.
|
|
Use this for domains like .blink, .bonk, etc.
|
|
DO NOT use this for .sol domains (use solana_resolve_domain instead).
|
|
|
|
Input:
|
|
domain: string, eg "mydomain.blink" or "mydomain.bonk" (required)`;
|
|
|
|
constructor(private solanaKit: SolanaAgentKit) {
|
|
super();
|
|
}
|
|
|
|
async _call(input: string): Promise<string> {
|
|
try {
|
|
const owner = await this.solanaKit.resolveAllDomains(input);
|
|
|
|
if (!owner) {
|
|
return JSON.stringify({
|
|
status: "error",
|
|
message: "Domain not found",
|
|
code: "DOMAIN_NOT_FOUND",
|
|
});
|
|
}
|
|
|
|
return JSON.stringify({
|
|
status: "success",
|
|
message: "Domain resolved successfully",
|
|
owner: owner?.toString(),
|
|
});
|
|
} catch (error: any) {
|
|
return JSON.stringify({
|
|
status: "error",
|
|
message: error.message,
|
|
code: error.code || "DOMAIN_RESOLUTION_ERROR",
|
|
});
|
|
}
|
|
}
|
|
}
|