Skip to content

Commit 03fbf70

Browse files
committed
Start porting SolidityTracer
1 parent 5b80d6e commit 03fbf70

File tree

1 file changed

+3
-11
lines changed

1 file changed

+3
-11
lines changed

packages/hardhat-core/src/internal/hardhat-network/stack-traces/solidityTracer.ts

+3-11
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { equalsBytes } from "@nomicfoundation/ethereumjs-util";
22

3+
import { SolidityTracer as SolidityTracerRs } from "@nomicfoundation/edr";
34
import { ReturnData } from "../provider/return-data";
45
import { ExitCode } from "../provider/vm/exit";
56

@@ -35,6 +36,7 @@ import {
3536
} from "./solidity-stack-trace";
3637

3738
export class SolidityTracer {
39+
private _solidityTracerRs = new SolidityTracerRs();
3840
private _errorInferrer = new ErrorInferrer();
3941

4042
public getStackTrace(
@@ -240,16 +242,6 @@ export class SolidityTracer {
240242
}
241243

242244
private _getLastSubtrace(trace: EvmMessageTrace): MessageTrace | undefined {
243-
if (trace.numberOfSubtraces < 1) {
244-
return undefined;
245-
}
246-
247-
let i = trace.steps.length - 1;
248-
249-
while (isEvmStep(trace.steps[i])) {
250-
i -= 1;
251-
}
252-
253-
return trace.steps[i] as MessageTrace;
245+
return this._solidityTracerRs.getLastSubtrace(trace);
254246
}
255247
}

0 commit comments

Comments
 (0)