{"version":3,"sources":["../src/core-plugins/send-eth.ts"],"sourcesContent":["import { parseEther } from \"viem\";\nimport { z } from \"zod\";\nimport type { Plugin } from \"../plugins\";\nimport type { Chain, EVMWalletClient } from \"../wallets\";\nimport { getChainToken } from \"../wallets\";\n\nexport function sendETH(): Plugin<EVMWalletClient> {\n    return {\n        name: \"send_eth\",\n        supportsSmartWallets: () => true,\n        supportsChain: (chain: Chain) => chain.type === \"evm\",\n        getTools: async (walletClient: EVMWalletClient) => {\n            return [\n                {\n                    name: \"send_{{token}}\"\n                        .replace(\"{{token}}\", getChainToken(walletClient.getChain()).symbol)\n                        .toLowerCase(),\n                    description: \"This {{tool}} sends {{token}} to an address.\".replace(\n                        \"{{token}}\",\n                        getChainToken(walletClient.getChain()).symbol,\n                    ),\n                    parameters: sendETHParametersSchema,\n                    method: (parameters: z.infer<typeof sendETHParametersSchema>) =>\n                        sendETHMethod(walletClient, parameters),\n                },\n            ];\n        },\n    };\n}\n\nconst sendETHParametersSchema = z.object({\n    to: z.string().describe(\"The address to send ETH to\"),\n    amount: z.string().describe(\"The amount of ETH to send\"),\n});\n\nasync function sendETHMethod(\n    walletClient: EVMWalletClient,\n    parameters: z.infer<typeof sendETHParametersSchema>,\n): Promise<string> {\n    try {\n        const amount = parseEther(parameters.amount);\n        const tx = await walletClient.sendTransaction({\n            to: parameters.to,\n            value: amount,\n        });\n\n        return tx.hash;\n    } catch (error) {\n        throw new Error(`Failed to send ETH: ${error}`);\n    }\n}\n"],"mappings":";;;;;AAAA,SAAS,kBAAkB;AAC3B,SAAS,SAAS;AAKX,SAAS,UAAmC;AAC/C,SAAO;AAAA,IACH,MAAM;AAAA,IACN,sBAAsB,MAAM;AAAA,IAC5B,eAAe,CAAC,UAAiB,MAAM,SAAS;AAAA,IAChD,UAAU,OAAO,iBAAkC;AAC/C,aAAO;AAAA,QACH;AAAA,UACI,MAAM,iBACD,QAAQ,aAAa,cAAc,aAAa,SAAS,CAAC,EAAE,MAAM,EAClE,YAAY;AAAA,UACjB,aAAa,+CAA+C;AAAA,YACxD;AAAA,YACA,cAAc,aAAa,SAAS,CAAC,EAAE;AAAA,UAC3C;AAAA,UACA,YAAY;AAAA,UACZ,QAAQ,CAAC,eACL,cAAc,cAAc,UAAU;AAAA,QAC9C;AAAA,MACJ;AAAA,IACJ;AAAA,EACJ;AACJ;AAEA,IAAM,0BAA0B,EAAE,OAAO;AAAA,EACrC,IAAI,EAAE,OAAO,EAAE,SAAS,4BAA4B;AAAA,EACpD,QAAQ,EAAE,OAAO,EAAE,SAAS,2BAA2B;AAC3D,CAAC;AAED,eAAe,cACX,cACA,YACe;AACf,MAAI;AACA,UAAM,SAAS,WAAW,WAAW,MAAM;AAC3C,UAAM,KAAK,MAAM,aAAa,gBAAgB;AAAA,MAC1C,IAAI,WAAW;AAAA,MACf,OAAO;AAAA,IACX,CAAC;AAED,WAAO,GAAG;AAAA,EACd,SAAS,OAAO;AACZ,UAAM,IAAI,MAAM,uBAAuB,KAAK,EAAE;AAAA,EAClD;AACJ;","names":[]}