diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-04-19 04:22:39 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-05-07 16:23:08 +0800 |
commit | 72b2a1c66fa9fb85ea8515645b97332eee204550 (patch) | |
tree | 8a4504ea2fdbc554f5b62f2b46088bea3e5b6324 /packages/sol-cov/src/collect_contract_data.ts | |
parent | 69a6166b6a1d39afc24b8dd950ec5d8539a03420 (diff) | |
download | dexon-sol-tools-72b2a1c66fa9fb85ea8515645b97332eee204550.tar dexon-sol-tools-72b2a1c66fa9fb85ea8515645b97332eee204550.tar.gz dexon-sol-tools-72b2a1c66fa9fb85ea8515645b97332eee204550.tar.bz2 dexon-sol-tools-72b2a1c66fa9fb85ea8515645b97332eee204550.tar.lz dexon-sol-tools-72b2a1c66fa9fb85ea8515645b97332eee204550.tar.xz dexon-sol-tools-72b2a1c66fa9fb85ea8515645b97332eee204550.tar.zst dexon-sol-tools-72b2a1c66fa9fb85ea8515645b97332eee204550.zip |
Implement new artifacts format
Diffstat (limited to 'packages/sol-cov/src/collect_contract_data.ts')
-rw-r--r-- | packages/sol-cov/src/collect_contract_data.ts | 21 |
1 files changed, 9 insertions, 12 deletions
diff --git a/packages/sol-cov/src/collect_contract_data.ts b/packages/sol-cov/src/collect_contract_data.ts index 1d8bc7178..3d8a45cec 100644 --- a/packages/sol-cov/src/collect_contract_data.ts +++ b/packages/sol-cov/src/collect_contract_data.ts @@ -8,25 +8,22 @@ import { ContractData } from './types'; export const collectContractsData = (artifactsPath: string, sourcesPath: string, networkId: number) => { const artifactsGlob = `${artifactsPath}/**/*.json`; const artifactFileNames = glob.sync(artifactsGlob, { absolute: true }); - const contractsDataIfExists: Array<ContractData | {}> = _.map(artifactFileNames, artifactFileName => { + const contractsData: ContractData[] = []; + _.forEach(artifactFileNames, artifactFileName => { const artifact = JSON.parse(fs.readFileSync(artifactFileName).toString()); - const sources = artifact.networks[networkId].sources; - const contractName = artifact.contract_name; + const sources = _.keys(artifact.sources); + const contractName = artifact.contractName; // We don't compute coverage for dependencies const sourceCodes = _.map(sources, (source: string) => fs.readFileSync(source).toString()); - if (_.isUndefined(artifact.networks[networkId])) { - throw new Error(`No ${contractName} artifacts found for networkId ${networkId}`); - } const contractData = { sourceCodes, sources, - sourceMap: artifact.networks[networkId].source_map, - sourceMapRuntime: artifact.networks[networkId].source_map_runtime, - runtimeBytecode: artifact.networks[networkId].runtime_bytecode, - bytecode: artifact.networks[networkId].bytecode, + bytecode: artifact.compilerOutput.evm.bytecode.object, + sourceMap: artifact.compilerOutput.evm.bytecode.sourceMap, + runtimeBytecode: artifact.compilerOutput.evm.deployedBytecode.object, + sourceMapRuntime: artifact.compilerOutput.evm.deployedBytecode.sourceMap, }; - return contractData; + contractsData.push(contractData); }); - const contractsData = _.filter(contractsDataIfExists, contractData => !_.isEmpty(contractData)) as ContractData[]; return contractsData; }; |