diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2019-01-14 19:02:32 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2019-01-14 19:04:08 +0800 |
commit | 2581bc93e5893d43642b240d290c141f0d9419bf (patch) | |
tree | 2fa713969c802d0c8c7f6290a789267ca7404d10 /packages/sol-tracing-utils/src/artifact_adapters | |
parent | 8b62783f4876594ad350175b12a85321e9d1a3fc (diff) | |
download | dexon-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.ts | 11 |
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, |