Skip to content

Commit 8cf0fa4

Browse files
committed
fix(generate-action-provider): sync wallet provider options with current exports
The generator prompted users to pick from a stale list of wallet providers (`CdpWalletProvider`, `EthAccountWalletProvider`, `PrivyEvmDelegatedWalletProvider`) that no longer exist, and was missing the current ones (`CdpEvmWalletProvider`, `CdpSmartWalletProvider`, `PrivyEvmDelegatedEmbeddedWalletProvider`, `CdpSolanaWalletProvider`, `ZeroDevWalletProvider`). Scaffolding a new action provider with any of the stale values produced code that imported symbols the package no longer exports. Update `WALLET_PROVIDERS_BY_PROTOCOL` to reflect the current exports and add a test that fails if the generator ever drifts from `src/wallet-providers` again.
1 parent 0fe026b commit 8cf0fa4

2 files changed

Lines changed: 42 additions & 8 deletions

File tree

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
import * as walletProviders from "../../src/wallet-providers";
2+
import { WALLET_PROVIDERS_BY_PROTOCOL } from "./constants";
3+
4+
describe("WALLET_PROVIDERS_BY_PROTOCOL", () => {
5+
it("only includes exported wallet providers", () => {
6+
const exportedWalletProviders = new Set(Object.keys(walletProviders));
7+
const configuredWalletProviders = Object.values(WALLET_PROVIDERS_BY_PROTOCOL).flatMap(
8+
providers => providers.map(provider => provider.value),
9+
);
10+
11+
expect(configuredWalletProviders).toEqual(
12+
expect.arrayContaining([
13+
"CdpEvmWalletProvider",
14+
"CdpSmartWalletProvider",
15+
"PrivyEvmDelegatedEmbeddedWalletProvider",
16+
"CdpSolanaWalletProvider",
17+
]),
18+
);
19+
20+
for (const walletProvider of configuredWalletProviders) {
21+
expect(exportedWalletProviders.has(walletProvider)).toBe(true);
22+
}
23+
});
24+
});

typescript/agentkit/scripts/generate-action-provider/constants.ts

Lines changed: 18 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -103,30 +103,35 @@ const EVM_WALLET_PROVIDERS = [
103103
description: "For EVM-compatible blockchain networks (Ethereum, Base, etc.)",
104104
},
105105
{
106-
title: "CdpWalletProvider",
107-
value: "CdpWalletProvider",
108-
description: "Coinbase Developer Platform wallet provider with built-in key management",
106+
title: "CdpEvmWalletProvider",
107+
value: "CdpEvmWalletProvider",
108+
description: "Coinbase Developer Platform API Server wallet provider for EVM networks",
109109
},
110110
{
111-
title: "EthAccountWalletProvider",
112-
value: "EthAccountWalletProvider",
113-
description: "Local private key wallet provider for EVM networks",
111+
title: "CdpSmartWalletProvider",
112+
value: "CdpSmartWalletProvider",
113+
description: "Coinbase Developer Platform smart wallet provider for EVM networks",
114114
},
115115
{
116116
title: "PrivyEvmWalletProvider",
117117
value: "PrivyEvmWalletProvider",
118118
description: "Privy's server wallet API provider for EVM networks",
119119
},
120120
{
121-
title: "PrivyEvmDelegatedWalletProvider",
122-
value: "PrivyEvmDelegatedWalletProvider",
121+
title: "PrivyEvmDelegatedEmbeddedWalletProvider",
122+
value: "PrivyEvmDelegatedEmbeddedWalletProvider",
123123
description: "Privy's delegated embedded wallet provider for EVM networks",
124124
},
125125
{
126126
title: "ViemWalletProvider",
127127
value: "ViemWalletProvider",
128128
description: "Viem-based wallet provider for EVM networks",
129129
},
130+
{
131+
title: "ZeroDevWalletProvider",
132+
value: "ZeroDevWalletProvider",
133+
description: "ZeroDev smart account wallet provider for EVM networks",
134+
},
130135
] as const;
131136

132137
/**
@@ -138,6 +143,11 @@ const SVM_WALLET_PROVIDERS = [
138143
value: "SvmWalletProvider",
139144
description: "For Solana Virtual Machine networks",
140145
},
146+
{
147+
title: "CdpSolanaWalletProvider",
148+
value: "CdpSolanaWalletProvider",
149+
description: "Coinbase Developer Platform wallet provider for Solana networks",
150+
},
141151
{
142152
title: "PrivySvmWalletProvider",
143153
value: "PrivySvmWalletProvider",

0 commit comments

Comments
 (0)