diff options
author | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-05-23 07:29:10 +0800 |
---|---|---|
committer | Leonid Logvinov <logvinov.leon@gmail.com> | 2018-05-23 07:29:10 +0800 |
commit | 8c7f0902c044b671ca66c004d9c29e018bcdb20e (patch) | |
tree | 6c57f2cef0d49c1b151724234e035c7e3e68ed7d | |
parent | f7560036b8697ce9797b00c67f8310017625e393 (diff) | |
download | dexon-0x-contracts-8c7f0902c044b671ca66c004d9c29e018bcdb20e.tar.gz dexon-0x-contracts-8c7f0902c044b671ca66c004d9c29e018bcdb20e.tar.zst dexon-0x-contracts-8c7f0902c044b671ca66c004d9c29e018bcdb20e.zip |
Add a more verbose comment for self-destruct
-rw-r--r-- | packages/sol-cov/src/trace.ts | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/packages/sol-cov/src/trace.ts b/packages/sol-cov/src/trace.ts index 28fc7d004..4d106e355 100644 --- a/packages/sol-cov/src/trace.ts +++ b/packages/sol-cov/src/trace.ts @@ -54,7 +54,11 @@ export function getTracesByContractAddress(structLogs: StructLog[], startAddress ); currentTraceSegment = []; if (structLog.op === OpCode.SelfDestruct) { - // TODO: Record contract bytecode before the selfdestruct and handle that scenario + // After contract execution, we look at all sub-calls to external contracts, and for each one, fetch + // the bytecode and compute the coverage for the call. If the contract is destroyed with a call + // to `selfdestruct`, we are unable to fetch it's bytecode and compute coverage. + // TODO: Refactor this logic to fetch the sub-called contract bytecode before the selfdestruct is called + // in order to handle this edge-case. logUtils.warn( "Detected a selfdestruct. Sol-cov currently doesn't support that scenario. We'll just skip the trace part for a destructed contract", ); |