@coinbase/agentkit 0.0.0-nightly-20250903210403 → 0.0.0-nightly-20250905210407

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.
Files changed (53) hide show
  1. package/README.md +4 -0
  2. package/dist/action-providers/across/acrossActionProvider.js +3 -3
  3. package/dist/action-providers/cdp/cdpEvmWalletActionProvider.js +3 -1
  4. package/dist/action-providers/cdp/cdpSmartWalletActionProvider.js +4 -2
  5. package/dist/action-providers/compound/constants.d.ts +1 -1
  6. package/dist/action-providers/compound/constants.js +2 -2
  7. package/dist/action-providers/erc20/constants.d.ts +35 -135
  8. package/dist/action-providers/erc20/constants.js +37 -189
  9. package/dist/action-providers/erc20/erc20ActionProvider.d.ts +9 -1
  10. package/dist/action-providers/erc20/erc20ActionProvider.js +87 -35
  11. package/dist/action-providers/erc20/erc20ActionProvider.test.js +115 -52
  12. package/dist/action-providers/erc20/schemas.d.ts +25 -12
  13. package/dist/action-providers/erc20/schemas.js +34 -6
  14. package/dist/action-providers/erc20/utils.d.ts +19 -0
  15. package/dist/action-providers/erc20/utils.js +54 -0
  16. package/dist/action-providers/flaunch/constants.d.ts +1 -1
  17. package/dist/action-providers/flaunch/constants.js +2 -2
  18. package/dist/action-providers/moonwell/schemas.d.ts +2 -2
  19. package/dist/action-providers/morpho/morphoActionProvider.js +5 -5
  20. package/dist/action-providers/morpho/schemas.d.ts +2 -2
  21. package/dist/action-providers/superfluid/superfluidSuperTokenCreatorActionProvider.js +4 -4
  22. package/dist/action-providers/superfluid/superfluidWrapperActionProvider.js +3 -3
  23. package/dist/action-providers/superfluid/superfluidWrapperActionProvider.test.js +2 -2
  24. package/dist/action-providers/truemarkets/truemarketsActionProvider.js +10 -10
  25. package/dist/action-providers/wallet/walletActionProvider.js +21 -10
  26. package/dist/action-providers/wallet/walletActionProvider.test.js +6 -2
  27. package/dist/action-providers/zeroX/zeroXActionProvider.js +2 -0
  28. package/dist/wallet-providers/cdpEvmWalletProvider.d.ts +1 -1
  29. package/dist/wallet-providers/cdpEvmWalletProvider.js +1 -1
  30. package/dist/wallet-providers/cdpSmartWalletProvider.d.ts +1 -1
  31. package/dist/wallet-providers/cdpSmartWalletProvider.js +1 -1
  32. package/dist/wallet-providers/cdpSolanaWalletProvider.d.ts +1 -1
  33. package/dist/wallet-providers/cdpSolanaWalletProvider.js +7 -7
  34. package/dist/wallet-providers/cdpSolanaWalletProvider.test.js +15 -12
  35. package/dist/wallet-providers/legacyCdpSmartWalletProvider.d.ts +1 -1
  36. package/dist/wallet-providers/legacyCdpSmartWalletProvider.js +1 -1
  37. package/dist/wallet-providers/legacyCdpWalletProvider.d.ts +1 -1
  38. package/dist/wallet-providers/legacyCdpWalletProvider.js +1 -1
  39. package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.d.ts +1 -1
  40. package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.js +2 -2
  41. package/dist/wallet-providers/privyEvmDelegatedEmbeddedWalletProvider.test.js +1 -1
  42. package/dist/wallet-providers/privyEvmWalletProvider.test.js +1 -1
  43. package/dist/wallet-providers/solanaKeypairWalletProvider.d.ts +1 -1
  44. package/dist/wallet-providers/solanaKeypairWalletProvider.js +3 -4
  45. package/dist/wallet-providers/solanaKeypairWalletProvider.test.js +4 -2
  46. package/dist/wallet-providers/viemWalletProvider.d.ts +1 -1
  47. package/dist/wallet-providers/viemWalletProvider.js +2 -2
  48. package/dist/wallet-providers/viemWalletProvider.test.js +6 -5
  49. package/dist/wallet-providers/walletProvider.d.ts +1 -1
  50. package/dist/wallet-providers/zeroDevWalletProvider.d.ts +1 -1
  51. package/dist/wallet-providers/zeroDevWalletProvider.js +4 -4
  52. package/dist/wallet-providers/zeroDevWalletProvider.test.js +2 -2
  53. package/package.json +1 -1
@@ -195,11 +195,11 @@ class ViemWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
195
195
  * Transfer the native asset of the network.
196
196
  *
197
197
  * @param to - The destination address.
198
- * @param value - The amount to transfer in whole units (e.g. ETH)
198
+ * @param value - The amount to transfer in atomic units (Wei)
199
199
  * @returns The transaction hash.
200
200
  */
201
201
  async nativeTransfer(to, value) {
202
- const atomicAmount = (0, viem_1.parseEther)(value);
202
+ const atomicAmount = BigInt(value);
203
203
  const tx = await this.sendTransaction({
204
204
  to: to,
205
205
  value: atomicAmount,
@@ -284,15 +284,16 @@ describe("ViemWalletProvider", () => {
284
284
  });
285
285
  describe("native token operations", () => {
286
286
  it("should transfer native tokens", async () => {
287
- viem.parseEther.mockReturnValueOnce(BigInt(1000000000000000000));
288
- const hash = await provider.nativeTransfer(MOCK_ADDRESS_TO, "1.0");
289
- expect(viem.parseEther).toHaveBeenCalledWith("1.0");
290
- expect(mockWalletClient.sendTransaction).toHaveBeenCalled();
287
+ const hash = await provider.nativeTransfer(MOCK_ADDRESS_TO, "1000000000000000000");
288
+ expect(mockWalletClient.sendTransaction).toHaveBeenCalledWith(expect.objectContaining({
289
+ to: MOCK_ADDRESS_TO,
290
+ value: BigInt("1000000000000000000"),
291
+ }));
291
292
  expect(hash).toBe(MOCK_TRANSACTION_HASH);
292
293
  });
293
294
  it("should handle native transfer errors", async () => {
294
295
  mockWalletClient.sendTransaction.mockRejectedValueOnce(new Error("Transaction failed"));
295
- await expect(provider.nativeTransfer(MOCK_ADDRESS_TO, "1.0")).rejects.toThrow("Transaction failed");
296
+ await expect(provider.nativeTransfer(MOCK_ADDRESS_TO, "1000000000000000000")).rejects.toThrow("Transaction failed");
296
297
  });
297
298
  it("should handle invalid address in native transfer", async () => {
298
299
  const invalidAddress = "not_a_valid_address";
@@ -41,7 +41,7 @@ export declare abstract class WalletProvider {
41
41
  * Transfer the native asset of the network.
42
42
  *
43
43
  * @param to - The destination address.
44
- * @param value - The amount to transfer in whole units (e.g. ETH)
44
+ * @param value - The amount to transfer in atomic units (e.g. Wei for EVM, Lamports for Solana)
45
45
  * @returns The transaction hash.
46
46
  */
47
47
  abstract nativeTransfer(to: string, value: string): Promise<string>;
@@ -129,7 +129,7 @@ export declare class ZeroDevWalletProvider extends EvmWalletProvider {
129
129
  * Transfer the native asset of the network.
130
130
  *
131
131
  * @param to - The destination address.
132
- * @param value - The amount to transfer in whole units (e.g. ETH).
132
+ * @param value - The amount to transfer in atomic units (Wei).
133
133
  * @returns The transaction hash.
134
134
  */
135
135
  nativeTransfer(to: string, value: string): Promise<string>;
@@ -74,9 +74,10 @@ class ZeroDevWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
74
74
  const chain = network_1.NETWORK_ID_TO_VIEM_CHAIN[networkId];
75
75
  const bundlerRpc = `https://rpc.zerodev.app/api/v3/bundler/${config.projectId}`;
76
76
  // Create public client
77
+ const rpcUrl = config.rpcUrl || process.env.RPC_URL;
77
78
  const publicClient = (0, viem_1.createPublicClient)({
78
79
  chain,
79
- transport: (0, viem_1.http)(),
80
+ transport: rpcUrl ? (0, viem_1.http)(rpcUrl) : (0, viem_1.http)(),
80
81
  });
81
82
  // Create ECDSA validator
82
83
  const entryPoint = (0, constants_1.getEntryPoint)(config.entryPointVersion || "0.7");
@@ -251,12 +252,11 @@ class ZeroDevWalletProvider extends evmWalletProvider_1.EvmWalletProvider {
251
252
  * Transfer the native asset of the network.
252
253
  *
253
254
  * @param to - The destination address.
254
- * @param value - The amount to transfer in whole units (e.g. ETH).
255
+ * @param value - The amount to transfer in atomic units (Wei).
255
256
  * @returns The transaction hash.
256
257
  */
257
258
  async nativeTransfer(to, value) {
258
- // Convert value to wei (assuming value is in whole units)
259
- const valueInWei = BigInt(parseFloat(value) * 10 ** 18);
259
+ const valueInWei = BigInt(value);
260
260
  // Get the chain ID from the network
261
261
  const chainId = parseInt(__classPrivateFieldGet(this, _ZeroDevWalletProvider_network, "f").chainId || "1");
262
262
  const intent = await __classPrivateFieldGet(this, _ZeroDevWalletProvider_intentClient, "f").sendUserIntent({
@@ -283,8 +283,8 @@ describe("ZeroDevWalletProvider", () => {
283
283
  });
284
284
  it("should handle native transfers using nativeTransfer method", async () => {
285
285
  const to = "0x1234567890123456789012345678901234567890";
286
- const value = "1.0";
287
- const valueInWei = BigInt(parseFloat(value) * 10 ** 18);
286
+ const value = "1000000000000000000"; // 1 ETH in wei
287
+ const valueInWei = BigInt(value);
288
288
  const txHash = await provider.nativeTransfer(to, value);
289
289
  expect(mockIntentClient.sendUserIntent).toHaveBeenCalledWith({
290
290
  calls: [
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@coinbase/agentkit",
3
3
  "description": "Coinbase AgentKit core primitives",
4
4
  "repository": "https://github.com/coinbase/agentkit",
5
- "version": "0.0.0-nightly-20250903210403",
5
+ "version": "0.0.0-nightly-20250905210407",
6
6
  "author": "Coinbase Inc.",
7
7
  "license": "Apache-2.0",
8
8
  "main": "dist/index.js",