Skip to content

Commit 79e17ab

Browse files
committed
feat(rpc): add new RPC providers for Filecoin networks
Adds Ankr, ChainUp, and Lava RPC providers to the EvmClientFactory for improved Filecoin network connectivity
1 parent 1f3beb6 commit 79e17ab

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/client/evmClient.ts

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,12 +64,45 @@ class GlifProvider implements RpcProvider {
6464
}
6565
}
6666

67+
class AnkrProvider implements RpcProvider {
68+
getUrl(chainId: number): string | undefined {
69+
const urls: Record<number, string> = {
70+
314: "https://rpc.ankr.com/filecoin",
71+
314159: "https://rpc.ankr.com/filecoin_testnet",
72+
};
73+
return urls[chainId];
74+
}
75+
}
76+
77+
class ChainUpProvider implements RpcProvider {
78+
getUrl(chainId: number): string | undefined {
79+
const urls: Record<number, string> = {
80+
314: "https://filecoin.chainup.net/rpc/v1",
81+
314159: "https://filecoin-calibration.chainup.net/rpc/v1",
82+
};
83+
return urls[chainId];
84+
}
85+
}
86+
87+
class LavaProvider implements RpcProvider {
88+
getUrl(chainId: number): string | undefined {
89+
const urls: Record<number, string> = {
90+
314: "https://filecoin.lava.build",
91+
314159: "https://filecoin-testnet.lava.build",
92+
};
93+
return urls[chainId];
94+
}
95+
}
96+
6797
export class EvmClientFactory {
6898
private static readonly providers: RpcProvider[] = [
6999
new AlchemyProvider(),
70100
new InfuraProvider(),
71101
new DrpcProvider(),
72102
new GlifProvider(),
103+
new AnkrProvider(),
104+
new ChainUpProvider(),
105+
new LavaProvider(),
73106
];
74107

75108
static createViemClient(chainId: number): PublicClient {

0 commit comments

Comments
 (0)