Skip to content

Commit 80bccd9

Browse files
committed
bit more stricter with ethers signers type
1 parent 3d0d605 commit 80bccd9

File tree

1 file changed

+10
-5
lines changed

1 file changed

+10
-5
lines changed

src/multicall.ts

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -188,12 +188,17 @@ export class Multicall {
188188
private async getEthersNetworkId(
189189
ethersSignerOrProvider: ethers.Signer | ethers.providers.Provider
190190
): Promise<Networks> {
191-
if ((ethersSignerOrProvider as ethers.Signer).provider) {
192-
const network = await (ethersSignerOrProvider as ethers.Signer).provider!.getNetwork();
193-
return network.chainId;
191+
if ((ethersSignerOrProvider as ethers.Signer)._isSigner) {
192+
const signer = ethersSignerOrProvider as ethers.Signer;
193+
if (!signer.provider) {
194+
throw new Error('Your ethers signer MUST have a provider defined');
195+
}
196+
197+
return (await signer.provider.getNetwork()).chainId;
194198
} else {
195-
const network = await (ethersSignerOrProvider as ethers.providers.Provider).getNetwork();
196-
return network.chainId;
199+
return (
200+
await (ethersSignerOrProvider as ethers.providers.Provider).getNetwork()
201+
).chainId;
197202
}
198203
}
199204

0 commit comments

Comments
 (0)