praveen-goat-plugin-kaia
Version:
<div align="center"> <a href="https://github.com/goat-sdk/goat">
54 lines (52 loc) • 1.6 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/kaia.plugin.ts
import { PluginBase, createTool } from "@goat-sdk/core";
import "dotenv/config";
import { Packages } from "@kaiachain/kaia-agent-kit";
var KaiaPlugin = class extends PluginBase {
static {
__name(this, "KaiaPlugin");
}
config;
constructor(config = {}) {
super("kaia", []);
this.config = config;
}
// For EVM-specific plugin, we check if the chain is EVM compatible
supportsChain = /* @__PURE__ */ __name((chain) => {
return chain.type === "evm";
}, "supportsChain");
getTools(walletClient) {
const tools = [];
const config = {
KAIA_KAIASCAN_API_KEY: this.config
};
for (const pkg of Object.values(Packages)) {
const services = pkg.Services?.default || {};
const metadata = pkg.Metadata?.default || {};
for (const [serviceName, serviceFn] of Object.entries(services)) {
const meta = metadata[serviceName] || {};
const tool = {
info: {
name: meta.name,
description: meta.description,
parameters: meta.params
},
handler: /* @__PURE__ */ __name((parameters) => serviceFn(parameters, config, walletClient), "handler")
};
tools.push(createTool(tool.info, tool.handler));
}
}
return tools;
}
};
function kaiaInstance() {
return new KaiaPlugin();
}
__name(kaiaInstance, "kaiaInstance");
export {
KaiaPlugin,
kaiaInstance
};
//# sourceMappingURL=chunk-DQHCHJTR.mjs.map