From a9779579462b2fa8b8bcc4e617f05147c749fb26 Mon Sep 17 00:00:00 2001 From: Xianny <8582774+xianny@users.noreply.github.com> Date: Tue, 16 Jul 2019 12:25:08 -0700 Subject: [PATCH] Require `compiler` field in published artifacts for v3 (#1961) --- packages/contract-artifacts/src/transform.ts | 1 + packages/contract-artifacts/test/contract_artifacts_test.ts | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/packages/contract-artifacts/src/transform.ts b/packages/contract-artifacts/src/transform.ts index bed8d7b219..5fa51846b9 100644 --- a/packages/contract-artifacts/src/transform.ts +++ b/packages/contract-artifacts/src/transform.ts @@ -7,6 +7,7 @@ export const REQUIRED_PROPERTIES: string[] = [ 'compilerOutput.evm.bytecode.object', 'compilerOutput.abi', 'compilerOutput.devdoc', + 'compiler', ]; export const FORBIDDEN_PROPERTIES: string[] = [ diff --git a/packages/contract-artifacts/test/contract_artifacts_test.ts b/packages/contract-artifacts/test/contract_artifacts_test.ts index 9e75561418..69d0c3e37f 100644 --- a/packages/contract-artifacts/test/contract_artifacts_test.ts +++ b/packages/contract-artifacts/test/contract_artifacts_test.ts @@ -29,6 +29,10 @@ describe('Contract Artifacts', () => { const missingRequiredPropertiesByArtifact: ObjectMap = {}; for (const [artifactName, artifact] of Object.entries(artifacts)) { for (const requiredProperty of REQUIRED_PROPERTIES) { + // HACK (xianny): Remove after `compiler` field is added in v3. + if (requiredProperty === 'compiler' && artifact.schemaVersion === '2.0.0') { + continue; + } const requiredValue = get(artifact, requiredProperty); if (requiredValue === undefined || requiredValue === '') { const previousMissing = missingRequiredPropertiesByArtifact[artifactName];