Skip to content

Commit

Permalink
Only keep necessary error handling, use stronger types
Browse files Browse the repository at this point in the history
  • Loading branch information
ericglau committed Dec 20, 2023
1 parent fcd8771 commit 2d497ad
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 15 deletions.
30 changes: 16 additions & 14 deletions packages/core/src/manifest.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import os from 'os';
import path from 'path';
import { promises as fs } from 'fs';
import { EthereumProvider, getChainId, getHardhatMetadata, networkNames } from './provider';
import { EthereumProvider, HardhatMetadata, getChainId, getHardhatMetadata, networkNames } from './provider';
import lockfile from 'proper-lockfile';
import { compare as compareVersions } from 'compare-versions';

Expand Down Expand Up @@ -48,23 +48,25 @@ async function getDevInstanceMetadata(
provider: EthereumProvider,
chainId: number,
): Promise<DevInstanceMetadata | undefined> {
try {
const hardhatMetadata = await getHardhatMetadata(provider);

if (hardhatMetadata.chainId !== chainId) {
throw new Error(
`Broken invariant: Hardhat metadata's chainId ${hardhatMetadata.chainId} does not match eth_chainId ${chainId}`,
);
}
let hardhatMetadata: HardhatMetadata;

return {
networkName: hardhatMetadata.clientVersion.startsWith('anvil') ? 'anvil' : 'hardhat',
instanceId: hardhatMetadata.instanceId,
forkedNetwork: hardhatMetadata.forkedNetwork,
};
try {
hardhatMetadata = await getHardhatMetadata(provider);
} catch (e: unknown) {
return undefined;
}

if (hardhatMetadata.chainId !== chainId) {
throw new Error(
`Broken invariant: Hardhat metadata's chainId ${hardhatMetadata.chainId} does not match eth_chainId ${chainId}`,
);
}

return {
networkName: hardhatMetadata.clientVersion.startsWith('anvil') ? 'anvil' : 'hardhat',
instanceId: hardhatMetadata.instanceId,
forkedNetwork: hardhatMetadata.forkedNetwork,
};
}

function getSuffix(chainId: number, devInstanceMetadata?: DevInstanceMetadata) {
Expand Down
2 changes: 1 addition & 1 deletion packages/core/src/provider.ts
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ export interface EthereumProvider {
send(method: string, params: unknown[]): Promise<unknown>;
}

interface HardhatMetadata {
export interface HardhatMetadata {
clientVersion: string;
chainId: number;
instanceId: string;
Expand Down

0 comments on commit 2d497ad

Please sign in to comment.