basileus-agentkit-plugin 0.2.1 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -67,3 +67,29 @@ export declare const uniswapRouterAbi: readonly [{
67
67
  readonly stateMutability: "payable";
68
68
  readonly type: "function";
69
69
  }];
70
+ export declare const uniswapRouterMulticallAbi: readonly [{
71
+ readonly inputs: readonly [{
72
+ readonly name: "data";
73
+ readonly type: "bytes[]";
74
+ }];
75
+ readonly name: "multicall";
76
+ readonly outputs: readonly [{
77
+ readonly name: "results";
78
+ readonly type: "bytes[]";
79
+ }];
80
+ readonly stateMutability: "payable";
81
+ readonly type: "function";
82
+ }];
83
+ export declare const uniswapRouterUnwrapAbi: readonly [{
84
+ readonly inputs: readonly [{
85
+ readonly name: "amountMinimum";
86
+ readonly type: "uint256";
87
+ }, {
88
+ readonly name: "recipient";
89
+ readonly type: "address";
90
+ }];
91
+ readonly name: "unwrapWETH9";
92
+ readonly outputs: readonly [];
93
+ readonly stateMutability: "payable";
94
+ readonly type: "function";
95
+ }];
@@ -47,4 +47,26 @@ export const uniswapRouterAbi = [
47
47
  type: "function",
48
48
  },
49
49
  ];
50
+ // --- Uniswap V3 SwapRouter multicall + unwrap ABI ---
51
+ export const uniswapRouterMulticallAbi = [
52
+ {
53
+ inputs: [{ name: "data", type: "bytes[]" }],
54
+ name: "multicall",
55
+ outputs: [{ name: "results", type: "bytes[]" }],
56
+ stateMutability: "payable",
57
+ type: "function",
58
+ },
59
+ ];
60
+ export const uniswapRouterUnwrapAbi = [
61
+ {
62
+ inputs: [
63
+ { name: "amountMinimum", type: "uint256" },
64
+ { name: "recipient", type: "address" },
65
+ ],
66
+ name: "unwrapWETH9",
67
+ outputs: [],
68
+ stateMutability: "payable",
69
+ type: "function",
70
+ },
71
+ ];
50
72
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/actions/constants.ts"],"names":[],"mappings":"AAEA,4CAA4C;AAC5C,MAAM,CAAC,MAAM,aAAa,GAAG,4CAAqD,CAAC;AACnF,MAAM,CAAC,MAAM,YAAY,GAAG,4CAAqD,CAAC;AAClF,MAAM,CAAC,MAAM,YAAY,GAAG,4CAAqD,CAAC;AAClF,MAAM,CAAC,MAAM,cAAc,GAAG,4CAAqD,CAAC;AACpF,MAAM,CAAC,MAAM,cAAc,GAAG,4CAAqD,CAAC;AACpF,MAAM,CAAC,MAAM,kBAAkB,GAAG,4CAAqD,CAAC;AAExF,2CAA2C;AAC3C,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,MAAM,EAAE,EAAE;QACV,IAAI,EAAE,OAAO;QACb,OAAO,EAAE;YACP,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,SAAS,EAAE;YACzC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE;YAC/B,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAC5C,EAAE,IAAI,EAAE,wBAAwB,EAAE,IAAI,EAAE,QAAQ,EAAE;YAClD,EAAE,IAAI,EAAE,4BAA4B,EAAE,IAAI,EAAE,QAAQ,EAAE;YACtD,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,OAAO,EAAE;YACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,EAAE;SACnC;QACD,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACqB,CAAC;AAEzB,4DAA4D;AAC5D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B;QACE,MAAM,EAAE;YACN;gBACE,UAAU,EAAE;oBACV,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE;oBACpC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE;oBAC/B,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE;oBACtC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,EAAE;oBACrC,EAAE,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,SAAS,EAAE;oBAC7C,EAAE,IAAI,EAAE,mBAAmB,EAAE,IAAI,EAAE,SAAS,EAAE;iBAC/C;gBACD,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,OAAO;aACd;SACF;QACD,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACjD,eAAe,EAAE,SAAS;QAC1B,IAAI,EAAE,UAAU;KACjB;CACqB,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/actions/constants.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { EvmWalletProvider } from "@coinbase/agentkit";
2
+ export declare function createSwapActionProvider(rpcUrl?: string): import("@coinbase/agentkit").CustomActionProvider<EvmWalletProvider>;
@@ -0,0 +1,91 @@
1
+ import { z } from "zod";
2
+ import { customActionProvider } from "@coinbase/agentkit";
3
+ import { createPublicClient, encodeFunctionData, erc20Abi, formatUnits, http, parseUnits, } from "viem";
4
+ import { base } from "viem/chains";
5
+ import { USDC_ADDRESS, WETH_ADDRESS, UNISWAP_ROUTER, uniswapRouterAbi, uniswapRouterMulticallAbi, uniswapRouterUnwrapAbi, } from "./constants.js";
6
+ const USDC_DECIMALS = 6;
7
+ export function createSwapActionProvider(rpcUrl) {
8
+ const publicClient = createPublicClient({
9
+ chain: base,
10
+ transport: http(rpcUrl),
11
+ });
12
+ return customActionProvider([
13
+ {
14
+ name: "swap_usdc_to_eth",
15
+ description: "Swap USDC to ETH via Uniswap V3 to replenish gas. Handles approval, swap, and WETH unwrap in one transaction.",
16
+ schema: z.object({
17
+ usdcAmount: z.string().describe("Amount of USDC to swap, e.g. '1.5'"),
18
+ }),
19
+ invoke: async (walletProvider, args) => {
20
+ try {
21
+ const address = walletProvider.getAddress();
22
+ const amountAtomic = parseUnits(args.usdcAmount, USDC_DECIMALS);
23
+ // 1. Check balance
24
+ const balance = await publicClient.readContract({
25
+ address: USDC_ADDRESS,
26
+ abi: erc20Abi,
27
+ functionName: "balanceOf",
28
+ args: [address],
29
+ });
30
+ if (balance < amountAtomic) {
31
+ return `Error: Insufficient USDC. Have ${formatUnits(balance, USDC_DECIMALS)}, need ${args.usdcAmount}`;
32
+ }
33
+ // 2. Check allowance and approve if needed
34
+ const allowance = await publicClient.readContract({
35
+ address: USDC_ADDRESS,
36
+ abi: erc20Abi,
37
+ functionName: "allowance",
38
+ args: [address, UNISWAP_ROUTER],
39
+ });
40
+ if (allowance < amountAtomic) {
41
+ const approveData = encodeFunctionData({
42
+ abi: erc20Abi,
43
+ functionName: "approve",
44
+ args: [UNISWAP_ROUTER, amountAtomic],
45
+ });
46
+ const approveTx = await walletProvider.sendTransaction({
47
+ to: USDC_ADDRESS,
48
+ data: approveData,
49
+ });
50
+ await walletProvider.waitForTransactionReceipt(approveTx);
51
+ }
52
+ // 3. Build multicall: exactInputSingle(USDC→WETH) + unwrapWETH9
53
+ const swapData = encodeFunctionData({
54
+ abi: uniswapRouterAbi,
55
+ functionName: "exactInputSingle",
56
+ args: [
57
+ {
58
+ tokenIn: USDC_ADDRESS,
59
+ tokenOut: WETH_ADDRESS,
60
+ fee: 500,
61
+ recipient: UNISWAP_ROUTER, // send WETH to router for unwrap
62
+ amountIn: amountAtomic,
63
+ amountOutMinimum: 0n,
64
+ sqrtPriceLimitX96: 0n,
65
+ },
66
+ ],
67
+ });
68
+ const unwrapData = encodeFunctionData({
69
+ abi: uniswapRouterUnwrapAbi,
70
+ functionName: "unwrapWETH9",
71
+ args: [0n, address],
72
+ });
73
+ const multicallData = encodeFunctionData({
74
+ abi: uniswapRouterMulticallAbi,
75
+ functionName: "multicall",
76
+ args: [[swapData, unwrapData]],
77
+ });
78
+ const txHash = await walletProvider.sendTransaction({
79
+ to: UNISWAP_ROUTER,
80
+ data: multicallData,
81
+ });
82
+ return `Swapped ${args.usdcAmount} USDC to ETH. Tx: ${txHash}`;
83
+ }
84
+ catch (err) {
85
+ return `Error swapping USDC to ETH: ${err instanceof Error ? err.message : String(err)}`;
86
+ }
87
+ },
88
+ },
89
+ ]);
90
+ }
91
+ //# sourceMappingURL=swap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../src/actions/swap.ts"],"names":[],"mappings":"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"}
@@ -40,10 +40,12 @@ export async function runAgentLoop(client, model, systemPrompt, userPrompt, tool
40
40
  }
41
41
  let txHash;
42
42
  if (extractTxHashes) {
43
- const txMatch = toolResult.match(/[Hh]ash:?\s*(0x[a-fA-F0-9]{64})/);
44
- txHash = txMatch?.[1];
45
- if (txHash)
46
- txHashes.push(txHash);
43
+ const matches = toolResult.matchAll(/[Hh]ash:?\s*(0x[a-fA-F0-9]{64})/g);
44
+ for (const m of matches) {
45
+ if (!txHash)
46
+ txHash = m[1]; // first match for backward compat
47
+ txHashes.push(m[1]);
48
+ }
47
49
  }
48
50
  toolExecutions.push({ name, args, result: toolResult, txHash });
49
51
  messages.push({
@@ -1 +1 @@
1
- {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent-loop.js","sourceRoot":"","sources":["../src/agent-loop.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -5,6 +5,7 @@ export type { AgentLoopOptions, AgentLoopResult } from "./agent-loop.js";
5
5
  export { actionsToTools } from "./tools.js";
6
6
  export { summarizePhase } from "./summarizer.js";
7
7
  export { createAlephActionProvider } from "./actions/aleph.js";
8
+ export { createSwapActionProvider } from "./actions/swap.js";
8
9
  export { compoundFixedProvider } from "./actions/compound/index.js";
9
10
  export { createAgentWallet, getBalances } from "./wallet.js";
10
11
  export type { WalletInfo } from "./wallet.js";
package/dist/index.js CHANGED
@@ -4,6 +4,7 @@ export { runAgentLoop, createLLMClient } from "./agent-loop.js";
4
4
  export { actionsToTools } from "./tools.js";
5
5
  export { summarizePhase } from "./summarizer.js";
6
6
  export { createAlephActionProvider } from "./actions/aleph.js";
7
+ export { createSwapActionProvider } from "./actions/swap.js";
7
8
  export { compoundFixedProvider } from "./actions/compound/index.js";
8
9
  export { createAgentWallet, getBalances } from "./wallet.js";
9
10
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAC5C,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "basileus-agentkit-plugin",
3
- "version": "0.2.1",
3
+ "version": "0.2.3",
4
4
  "description": "Coinbase AgentKit plugin for Basileus — build autonomous onchain agents with Aleph Cloud, x402 payment tracking, and predefined action providers",
5
5
  "type": "module",
6
6
  "license": "MIT",