Skip to content

Commit 1335761

Browse files
committed
fix type issue
1 parent 31ec370 commit 1335761

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

Diff for: packages/world/ts/node/findContractArtifacts.ts

+9-1
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,13 @@ export type Input = {
1515
export type Output = readonly ContractArtifact[];
1616

1717
const parseArtifact = type("parse.json").to(types.Artifact);
18+
type Artifact = typeof types.Artifact.infer;
19+
20+
function hasMetadata(
21+
artifact: Artifact,
22+
): artifact is Artifact & { [k in "metadata"]-?: Exclude<Artifact["metadata"], undefined> } {
23+
return artifact.metadata !== undefined;
24+
}
1825

1926
export async function findContractArtifacts({ forgeOutDir }: Input): Promise<Output> {
2027
const files = (await glob("**/*.sol/*.json", { ignore: "**/*.abi.json", cwd: forgeOutDir })).sort();
@@ -35,8 +42,9 @@ export async function findContractArtifacts({ forgeOutDir }: Input): Promise<Out
3542
return artifact;
3643
})
3744
.filter(isDefined)
38-
.filter(type({ metadata: "object" }).allows)
45+
.filter(hasMetadata)
3946
.map((artifact) => {
47+
artifact;
4048
const sourcePath = Object.keys(artifact.metadata.settings.compilationTarget)[0];
4149
const name = artifact.metadata.settings.compilationTarget[sourcePath];
4250
const deployedBytecodeSize = size(artifact.deployedBytecode.object);

0 commit comments

Comments
 (0)