Skip to content

Commit f5f814a

Browse files
dont include solana in ethers (#501)
1 parent 5d63cd1 commit f5f814a

File tree

5 files changed

+27
-5
lines changed

5 files changed

+27
-5
lines changed

src/api/alchemy-provider.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@ export class AlchemyProvider
8181
// ethers. This allows the parent super constructor in JsonRpcProvider to
8282
// correctly set the network.
8383
const ethersNetwork = EthersNetwork[alchemyNetwork];
84+
if (!ethersNetwork) {
85+
throw new Error(`Unsupported network: ${alchemyNetwork}`);
86+
}
8487
super(connection, ethersNetwork);
8588

8689
this.apiKey = config.apiKey;

src/util/const.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ export const EthersNetwork = {
5858
[Network.MATIC_MAINNET]: 'matic',
5959
[Network.MATIC_MUMBAI]: 'maticmum',
6060
[Network.MATIC_AMOY]: 'maticamoy',
61-
[Network.SOLANA_MAINNET]: 'solana-mainnet',
62-
[Network.SOLANA_DEVNET]: 'solana-devnet',
61+
[Network.SOLANA_MAINNET]: null, // Solana networks are not supported by ethers.js
62+
[Network.SOLANA_DEVNET]: null, // Solana networks are not supported by ethers.js
6363
[Network.ASTAR_MAINNET]: 'astar-mainnet',
6464
[Network.POLYGONZKEVM_MAINNET]: 'polygonzkevm-mainnet',
6565
[Network.POLYGONZKEVM_TESTNET]: 'polygonzkevm-testnet',

test/integration/provider.test.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,8 @@ import {
44
Alchemy,
55
AlchemyProvider,
66
AlchemySubscription,
7-
AlchemyWebSocketProvider
7+
AlchemyWebSocketProvider,
8+
Network
89
} from '../../src';
910
import { EthersNetwork } from '../../src/util/const';
1011
import { loadAlchemyEnv } from '../test-util';
@@ -26,6 +27,12 @@ describe('AlchemyProvider', () => {
2627
alchemy = new Alchemy({
2728
apiKey: process.env.ALCHEMY_API_KEY
2829
});
30+
if (
31+
alchemy.config.network === Network.SOLANA_MAINNET ||
32+
alchemy.config.network === Network.SOLANA_DEVNET
33+
) {
34+
return;
35+
}
2936
ethersProvider = new EthersAlchemyProvider(
3037
EthersNetwork[alchemy.config.network],
3138
alchemy.config.apiKey

test/unit/alchemy.test.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,13 @@ describe('Alchemy class', () => {
1616
await alchemy.config.getProvider();
1717
});
1818
}
19-
for (const network of Object.values(Network)) {
19+
20+
// Filter out Solana networks as they don't exist in ethers
21+
const nonSolanaNetworks = Object.values(Network).filter(
22+
network => !network.startsWith('solana-')
23+
);
24+
25+
for (const network of nonSolanaNetworks) {
2026
testNetwork(network);
2127
}
2228
});

test/unit/provider.test.ts

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,13 @@ describe('AlchemyProvider', () => {
1212
await alchemy.config.getWebSocketProvider();
1313
});
1414
}
15-
for (const network of Object.values(Network)) {
15+
16+
// Filter out Solana networks as they don't exist in ethers
17+
const nonSolanaNetworks = Object.values(Network).filter(
18+
network => !network.startsWith('solana-')
19+
);
20+
21+
for (const network of nonSolanaNetworks) {
1622
testNetwork(network);
1723
}
1824
});

0 commit comments

Comments
 (0)