Skip to content

Commit e0bfe7e

Browse files
committed
Add contractAddress to afterMessage data
1 parent 31c58b8 commit e0bfe7e

File tree

2 files changed

+10
-5
lines changed

2 files changed

+10
-5
lines changed

packages/hardhat-core/src/internal/hardhat-network/provider/utils/convertToEdr.ts

+9-5
Original file line numberDiff line numberDiff line change
@@ -227,21 +227,25 @@ export function edrTracingStepToMinimalInterpreterStep(
227227
export function edrTracingMessageResultToMinimalEVMResult(
228228
tracingMessageResult: TracingMessageResult
229229
): MinimalEVMResult {
230-
const executionResult = tracingMessageResult.executionResult.result;
230+
const { result, contractAddress } = tracingMessageResult.executionResult;
231231

232232
// only SuccessResult has logs
233-
const success = "logs" in executionResult;
233+
const success = "logs" in result;
234234

235235
const minimalEVMResult: MinimalEVMResult = {
236236
execResult: {
237-
executionGasUsed: executionResult.gasUsed,
237+
executionGasUsed: result.gasUsed,
238238
success,
239239
},
240240
};
241241

242242
// only success and exceptional halt have reason
243-
if ("reason" in executionResult) {
244-
minimalEVMResult.execResult.reason = executionResult.reason;
243+
if ("reason" in result) {
244+
minimalEVMResult.execResult.reason = result.reason;
245+
}
246+
247+
if (contractAddress !== undefined) {
248+
minimalEVMResult.execResult.contractAddress = new Address(contractAddress);
245249
}
246250

247251
return minimalEVMResult;

packages/hardhat-core/src/internal/hardhat-network/provider/vm/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ export interface MinimalInterpreterStep {
1919
export interface MinimalExecResult {
2020
success: boolean;
2121
executionGasUsed: bigint;
22+
contractAddress?: Address;
2223
reason?: SuccessReason | ExceptionalHalt;
2324
}
2425

0 commit comments

Comments
 (0)