aboutsummaryrefslogtreecommitdiffstats
path: root/packages/sol-tracing-utils/src/artifact_adapters
diff options
context:
space:
mode:
authorLeonid Logvinov <logvinov.leon@gmail.com>2019-01-14 19:02:32 +0800
committerLeonid Logvinov <logvinov.leon@gmail.com>2019-01-14 19:04:08 +0800
commit2581bc93e5893d43642b240d290c141f0d9419bf (patch)
tree2fa713969c802d0c8c7f6290a789267ca7404d10 /packages/sol-tracing-utils/src/artifact_adapters
parent8b62783f4876594ad350175b12a85321e9d1a3fc (diff)
downloaddexon-0x-contracts-2581bc93e5893d43642b240d290c141f0d9419bf.tar.gz
dexon-0x-contracts-2581bc93e5893d43642b240d290c141f0d9419bf.tar.zst
dexon-0x-contracts-2581bc93e5893d43642b240d290c141f0d9419bf.zip
Fix the bug with incorrect source maps parsing by changing contract data from an array to a mapping
Diffstat (limited to 'packages/sol-tracing-utils/src/artifact_adapters')
-rw-r--r--packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts11
1 files changed, 8 insertions, 3 deletions
diff --git a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts
index 57391abbe..7d85f6c68 100644
--- a/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts
+++ b/packages/sol-tracing-utils/src/artifact_adapters/sol_compiler_artifact_adapter.ts
@@ -43,9 +43,14 @@ export class SolCompilerArtifactAdapter extends AbstractArtifactAdapter {
logUtils.warn(`${artifactFileName} doesn't contain bytecode. Skipping...`);
continue;
}
- let sources = _.keys(artifact.sources);
- sources = _.map(sources, relativeFilePath => path.resolve(this._sourcesPath, relativeFilePath));
- const sourceCodes = _.map(sources, (source: string) => fs.readFileSync(source).toString());
+ const sources: { [sourceId: number]: string } = {};
+ const sourceCodes: { [sourceId: number]: string } = {};
+ _.map(artifact.sources, (value: { id: number }, relativeFilePath: string) => {
+ const filePath = path.resolve(this._sourcesPath, relativeFilePath);
+ const fileContent = fs.readFileSync(filePath).toString();
+ sources[value.id] = filePath;
+ sourceCodes[value.id] = fileContent;
+ });
const contractData = {
sourceCodes,
sources,