diff --git a/lib/contracts/contracts.js b/lib/contracts/contracts.js index cff1b19e..af8200e3 100644 --- a/lib/contracts/contracts.js +++ b/lib/contracts/contracts.js @@ -111,6 +111,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]; } }