praveen-goat-plugin-kaia
Version:
<div align="center"> <a href="https://github.com/goat-sdk/goat">
1 lines • 3.28 kB
Source Map (JSON)
{"version":3,"sources":["../src/kaia.plugin.ts"],"sourcesContent":["import { Chain, PluginBase, ToolBase, createTool } from \"@goat-sdk/core\";\nimport { EVMWalletClient } from \"@goat-sdk/wallet-evm\";\nimport \"dotenv/config\";\nimport { Packages } from \"@kaiachain/kaia-agent-kit\";\n\nexport class KaiaPlugin extends PluginBase<EVMWalletClient> {\n private config: any;\n\n constructor(config: any = {}) {\n super(\"kaia\", []);\n this.config = config;\n }\n\n // For EVM-specific plugin, we check if the chain is EVM compatible\n supportsChain = (chain: Chain) => {\n return chain.type === \"evm\";\n };\n\n getTools(walletClient: EVMWalletClient) {\n const tools: ToolBase[] | Promise<ToolBase[]> = [];\n const config = {\n KAIA_KAIASCAN_API_KEY: this.config,\n };\n\n for (const pkg of Object.values(Packages)) {\n const services = pkg.Services?.default || {};\n const metadata = pkg.Metadata?.default || {};\n\n for (const [serviceName, serviceFn] of Object.entries(services)) {\n const meta = metadata[serviceName] || {};\n const tool = {\n info: {\n name: meta.name,\n description: meta.description,\n parameters: meta.params,\n },\n handler: (parameters: unknown) =>\n (\n serviceFn as (\n params: unknown,\n config: unknown,\n client: EVMWalletClient\n ) => unknown\n )(parameters, config, walletClient),\n };\n tools.push(createTool(tool.info, tool.handler));\n }\n }\n\n return tools;\n }\n}\n\nexport function kaiaInstance() {\n return new KaiaPlugin();\n}\n"],"mappings":";;;;AAAA,SAAgBA,YAAsBC,kBAAkB;AAExD,OAAO;AACP,SAASC,gBAAgB;AAElB,IAAMC,aAAN,cAAyBC,WAAAA;EALhC,OAKgCA;;;EACpBC;EAERC,YAAYD,SAAc,CAAC,GAAG;AAC1B,UAAM,QAAQ,CAAA,CAAE;AAChB,SAAKA,SAASA;EAClB;;EAGAE,gBAAgB,wBAACC,UAAAA;AACb,WAAOA,MAAMC,SAAS;EAC1B,GAFgB;EAIhBC,SAASC,cAA+B;AACpC,UAAMC,QAA0C,CAAA;AAChD,UAAMP,SAAS;MACXQ,uBAAuB,KAAKR;IAChC;AAEA,eAAWS,OAAOC,OAAOC,OAAOC,QAAAA,GAAW;AACvC,YAAMC,WAAWJ,IAAIK,UAAUC,WAAW,CAAC;AAC3C,YAAMC,WAAWP,IAAIQ,UAAUF,WAAW,CAAC;AAE3C,iBAAW,CAACG,aAAaC,SAAAA,KAAcT,OAAOU,QAAQP,QAAAA,GAAW;AAC7D,cAAMQ,OAAOL,SAASE,WAAAA,KAAgB,CAAC;AACvC,cAAMI,OAAO;UACTC,MAAM;YACFC,MAAMH,KAAKG;YACXC,aAAaJ,KAAKI;YAClBC,YAAYL,KAAKM;UACrB;UACAC,SAAS,wBAACF,eAEFP,UAKFO,YAAY1B,QAAQM,YAAAA,GAPjB;QAQb;AACAC,cAAMsB,KAAKC,WAAWR,KAAKC,MAAMD,KAAKM,OAAO,CAAA;MACjD;IACJ;AAEA,WAAOrB;EACX;AACJ;AAEO,SAASwB,eAAAA;AACZ,SAAO,IAAIjC,WAAAA;AACf;AAFgBiC;","names":["PluginBase","createTool","Packages","KaiaPlugin","PluginBase","config","constructor","supportsChain","chain","type","getTools","walletClient","tools","KAIA_KAIASCAN_API_KEY","pkg","Object","values","Packages","services","Services","default","metadata","Metadata","serviceName","serviceFn","entries","meta","tool","info","name","description","parameters","params","handler","push","createTool","kaiaInstance"]}