aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2018-05-07 19:49:21 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2018-05-07 19:49:21 +0800
commitfcb0a05880f6217f5b5942ec419fcf4df490551d (patch)
treefacd03b8a252dba40b6c5e497ab71173b2f4a100
parentfad7dc9f04f39e754ac0ec437736c7bee33fa28e (diff)
downloaddexon-0x-contracts-fcb0a05880f6217f5b5942ec419fcf4df490551d.tar.gz
dexon-0x-contracts-fcb0a05880f6217f5b5942ec419fcf4df490551d.tar.zst
dexon-0x-contracts-fcb0a05880f6217f5b5942ec419fcf4df490551d.zip
Improve the readability of the check for should compile
-rw-r--r--packages/deployer/src/compiler.ts10
-rw-r--r--packages/deployer/src/utils/constants.ts1
-rw-r--r--packages/deployer/src/utils/types.ts2
3 files changed, 7 insertions, 6 deletions
diff --git a/packages/deployer/src/compiler.ts b/packages/deployer/src/compiler.ts
index db06ccf43..e81df3c0a 100644
--- a/packages/deployer/src/compiler.ts
+++ b/packages/deployer/src/compiler.ts
@@ -131,10 +131,10 @@ export class Compiler {
shouldCompile = true;
} else {
const currentArtifact = currentArtifactIfExists as ContractArtifact;
- shouldCompile =
- currentArtifact.schemaVersion !== '2.0.0' ||
- !_.isEqual(currentArtifact.compiler.settings, this._compilerSettings) ||
- currentArtifact.sourceTreeHashHex !== sourceTreeHashHex;
+ const isUserOnLatestVersion = currentArtifact.schemaVersion === constants.LATEST_ARTIFACT_VERSION;
+ const didCompilerSettingsChange = !_.isEqual(currentArtifact.compiler.settings, this._compilerSettings);
+ const didSourceChange = currentArtifact.sourceTreeHashHex !== sourceTreeHashHex;
+ shouldCompile = isUserOnLatestVersion || didCompilerSettingsChange || didSourceChange;
}
if (!shouldCompile) {
return;
@@ -228,7 +228,7 @@ export class Compiler {
};
} else {
newArtifact = {
- schemaVersion: '2.0.0',
+ schemaVersion: constants.LATEST_ARTIFACT_VERSION,
contractName,
...contractVersion,
networks: {},
diff --git a/packages/deployer/src/utils/constants.ts b/packages/deployer/src/utils/constants.ts
index 6f9dfb994..df2ddb3b2 100644
--- a/packages/deployer/src/utils/constants.ts
+++ b/packages/deployer/src/utils/constants.ts
@@ -1,4 +1,5 @@
export const constants = {
SOLIDITY_FILE_EXTENSION: '.sol',
BASE_COMPILER_URL: 'https://ethereum.github.io/solc-bin/bin/',
+ LATEST_ARTIFACT_VERSION: '2.0.0',
};
diff --git a/packages/deployer/src/utils/types.ts b/packages/deployer/src/utils/types.ts
index c4af5ac87..19c27df67 100644
--- a/packages/deployer/src/utils/types.ts
+++ b/packages/deployer/src/utils/types.ts
@@ -11,7 +11,7 @@ export enum AbiType {
}
export interface ContractArtifact extends ContractVersionData {
- schemaVersion: '2.0.0';
+ schemaVersion: string;
contractName: string;
networks: ContractNetworks;
}