diff options
author | Fabio Berger <me@fabioberger.com> | 2019-01-17 22:59:00 +0800 |
---|---|---|
committer | Fabio Berger <me@fabioberger.com> | 2019-01-17 22:59:00 +0800 |
commit | 293e93729176b06f7e3cf78c798f48ddf360e311 (patch) | |
tree | e47909d281ae7da6b7c9e6af76757373ad485705 /packages/sol-tracing-utils/src/utils.ts | |
parent | fe2f97dabd1511918051161c882c57bcc1d41ac2 (diff) | |
parent | 0b23aaca2619b888dd4e15774d5c543f79f4588d (diff) | |
download | dexon-sol-tools-293e93729176b06f7e3cf78c798f48ddf360e311.tar dexon-sol-tools-293e93729176b06f7e3cf78c798f48ddf360e311.tar.gz dexon-sol-tools-293e93729176b06f7e3cf78c798f48ddf360e311.tar.bz2 dexon-sol-tools-293e93729176b06f7e3cf78c798f48ddf360e311.tar.lz dexon-sol-tools-293e93729176b06f7e3cf78c798f48ddf360e311.tar.xz dexon-sol-tools-293e93729176b06f7e3cf78c798f48ddf360e311.tar.zst dexon-sol-tools-293e93729176b06f7e3cf78c798f48ddf360e311.zip |
Merge branch 'development' into fix/dev-tools-pages/finalTouches
* development: (22 commits)
Fix linter
Update packages/sol-tracing-utils/src/trace_collection_subprovider.ts
Update packages/sol-tracing-utils/CHANGELOG.json
Update packages/sol-tracing-utils/CHANGELOG.json
Add PR numbers
Fix/simplify handling of revert trace snippets
Fix a bug when TraceCollectionSubprovider was hanging on the fake Geth snapshot transaction
Fix a bug when a custom Geth tracer didn't return stack entries for DELEGATECALL
Revert devnet mining period from 1 to 0
update team info, add brent
Publish
Updated CHANGELOGS
Add commented-out pre-publish checks
Add additional check to make sure user was added to our DockerHub org
Update test for required amountAvailableToFill
Add actual error message thrown
Flag order-watcher as having a Docker image to publish
Add publish to DockerHub step to publish flow
Flesh out postpublish configs in packageJSON type
Add pre-publish check to ensure publisher is logged in to docker cmdline
...
Diffstat (limited to 'packages/sol-tracing-utils/src/utils.ts')
-rw-r--r-- | packages/sol-tracing-utils/src/utils.ts | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/packages/sol-tracing-utils/src/utils.ts b/packages/sol-tracing-utils/src/utils.ts index 644321f32..89c158ee7 100644 --- a/packages/sol-tracing-utils/src/utils.ts +++ b/packages/sol-tracing-utils/src/utils.ts @@ -8,6 +8,7 @@ import { ContractData, LineColumn, SingleFileSourceRange } from './types'; // This is the minimum length of valid contract bytecode. The Solidity compiler // metadata is 86 bytes. If you add the '0x' prefix, we get 88. const MIN_CONTRACT_BYTECODE_LENGTH = 88; +const STATICCALL_GAS_COST = 40; export const utils = { compareLineColumn(lhs: LineColumn, rhs: LineColumn): number { @@ -76,10 +77,17 @@ export const utils = { normalizeStructLogs(structLogs: StructLog[]): StructLog[] { if (structLogs[0].depth === 1) { // Geth uses 1-indexed depth counter whilst ganache starts from 0 - const newStructLogs = _.map(structLogs, structLog => ({ - ...structLog, - depth: structLog.depth - 1, - })); + const newStructLogs = _.map(structLogs, structLog => { + const newStructLog = { + ...structLog, + depth: structLog.depth - 1, + }; + if (newStructLog.op === 'STATICCALL') { + // HACK(leo): Geth traces sometimes returns those gas costs incorrectly as very big numbers so we manually fix them. + newStructLog.gasCost = STATICCALL_GAS_COST; + } + return newStructLog; + }); return newStructLogs; } return structLogs; |