From 44c56e6f226f0afb101bd6b7bbf4896a9826840d Mon Sep 17 00:00:00 2001 From: Iuri Matias Date: Tue, 17 Apr 2018 17:51:36 -0400 Subject: [PATCH] track original filepath of the contract --- lib/contracts/contracts.js | 1 + lib/modules/solidity/index.js | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/lib/contracts/contracts.js b/lib/contracts/contracts.js index 502bf955..29e0a594 100644 --- a/lib/contracts/contracts.js +++ b/lib/contracts/contracts.js @@ -115,6 +115,7 @@ class ContractsManager { contract.functionHashes = compiledContract.functionHashes; contract.abiDefinition = compiledContract.abiDefinition; contract.filename = compiledContract.filename; + contract.originalFilename = compiledContract.originalFilename || ("contracts/" + contract.filename); contract.gas = (contractConfig && contractConfig.gas) || self.contractsConfig.gas || 'auto'; diff --git a/lib/modules/solidity/index.js b/lib/modules/solidity/index.js index c70d51c1..c27f47d3 100644 --- a/lib/modules/solidity/index.js +++ b/lib/modules/solidity/index.js @@ -21,6 +21,9 @@ class Solidity { } let self = this; let input = {}; + let solcW; + let originalFilepath = {}; + async.waterfall([ function prepareInput(callback) { async.each(contractFiles, @@ -32,6 +35,8 @@ class Solidity { filename = filename.replace(match, ''); } + originalFilepath[filename] = file.filename; + file.content(function(fileContent) { if (!fileContent) { self.logger.error(__('Error while loading the content of ') + filename); @@ -122,6 +127,7 @@ class Solidity { compiled_object[className].functionHashes = contract.evm.methodIdentifiers; compiled_object[className].abiDefinition = contract.abi; compiled_object[className].filename = filename; + compiled_object[className].originalFilename = originalFilepath[filename]; } }