Skip to content

Commit 466c8da

Browse files
authored
Merge pull request #5658 from NomicFoundation/refactor/remove-experimental-trace-hooks
refactor!: Remove the experimental MessageTrace hook
2 parents 4210416 + 46cd7a1 commit 466c8da

File tree

12 files changed

+7
-62
lines changed

12 files changed

+7
-62
lines changed

.changeset/violet-apes-kick.md

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
"hardhat": patch
3+
---
4+
5+
Removed the experimentalAddHardhatNetworkMessageTraceHook API

packages/hardhat-core/src/internal/cli/cli.ts

-1
Original file line numberDiff line numberDiff line change
@@ -234,7 +234,6 @@ async function main() {
234234
taskDefinitions,
235235
scopesDefinitions,
236236
envExtenders,
237-
ctx.experimentalHardhatNetworkMessageTraceHooks,
238237
userConfig,
239238
providerExtenders
240239
);

packages/hardhat-core/src/internal/context.ts

-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import {
22
ConfigExtender,
33
EnvironmentExtender,
4-
ExperimentalHardhatNetworkMessageTraceHook,
54
HardhatRuntimeEnvironment,
65
ProviderExtender,
76
} from "../types";
@@ -60,10 +59,6 @@ export class HardhatContext {
6059

6160
public readonly configExtenders: ConfigExtender[] = [];
6261

63-
// NOTE: This is experimental and will be removed. Please contact our team if
64-
// you are planning to use it.
65-
public readonly experimentalHardhatNetworkMessageTraceHooks: ExperimentalHardhatNetworkMessageTraceHook[] =
66-
[];
6762
private _filesLoadedBeforeConfig?: string[];
6863
private _filesLoadedAfterConfig?: string[];
6964

packages/hardhat-core/src/internal/core/config/config-env.ts

-10
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,6 @@ import {
44
ConfigurableScopeDefinition,
55
ConfigurableTaskDefinition,
66
EnvironmentExtender,
7-
ExperimentalHardhatNetworkMessageTraceHook,
87
ProviderExtender,
98
TaskArguments,
109
} from "../../../types";
@@ -167,15 +166,6 @@ export function extendProvider(extender: ProviderExtender) {
167166
ctx.providerExtenders.push(extender);
168167
}
169168

170-
// NOTE: This is experimental and will be removed. Please contact our team
171-
// if you are planning to use it.
172-
export function experimentalAddHardhatNetworkMessageTraceHook(
173-
hook: ExperimentalHardhatNetworkMessageTraceHook
174-
) {
175-
const ctx = HardhatContext.getHardhatContext();
176-
ctx.experimentalHardhatNetworkMessageTraceHooks.push(hook);
177-
}
178-
179169
/**
180170
* This object provides methods to interact with the configuration variables.
181171
*/

packages/hardhat-core/src/internal/core/providers/construction.ts

-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type {
22
Artifacts,
3-
BoundExperimentalHardhatNetworkMessageTraceHook,
43
EIP1193Provider,
54
EthereumProvider,
65
HardhatConfig,
@@ -50,7 +49,6 @@ export async function createProvider(
5049
config: HardhatConfig,
5150
networkName: string,
5251
artifacts?: Artifacts,
53-
experimentalHardhatNetworkMessageTraceHooks: BoundExperimentalHardhatNetworkMessageTraceHook[] = [],
5452
extenders: ProviderExtender[] = []
5553
): Promise<EthereumProvider> {
5654
let eip1193Provider: EIP1193Provider;
@@ -108,7 +106,6 @@ export async function createProvider(
108106
hardhatNetConfig.initialDate !== undefined
109107
? parseDateString(hardhatNetConfig.initialDate)
110108
: undefined,
111-
experimentalHardhatNetworkMessageTraceHooks,
112109
forkConfig,
113110
forkCachePath:
114111
paths !== undefined ? getForkCacheDirPath(paths) : undefined,

packages/hardhat-core/src/internal/core/runtime-environment.ts

-8
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
1-
import type { MessageTrace } from "../hardhat-network/stack-traces/message-trace";
2-
31
import debug from "debug";
42

53
import {
64
Artifacts as IArtifacts,
75
EnvironmentExtender,
8-
ExperimentalHardhatNetworkMessageTraceHook,
96
HardhatArguments,
107
HardhatConfig,
118
HardhatRuntimeEnvironment,
@@ -78,7 +75,6 @@ export class Environment implements HardhatRuntimeEnvironment {
7875
public readonly tasks: TasksMap,
7976
public readonly scopes: ScopesMap,
8077
environmentExtenders: EnvironmentExtender[] = [],
81-
experimentalHardhatNetworkMessageTraceHooks: ExperimentalHardhatNetworkMessageTraceHook[] = [],
8278
public readonly userConfig: HardhatUserConfig = {},
8379
providerExtenders: ProviderExtender[] = []
8480
) {
@@ -105,10 +101,6 @@ export class Environment implements HardhatRuntimeEnvironment {
105101
config,
106102
networkName,
107103
this.artifacts,
108-
experimentalHardhatNetworkMessageTraceHooks.map(
109-
(hook) => (trace: MessageTrace, isCallMessageTrace: boolean) =>
110-
hook(this, trace, isCallMessageTrace)
111-
),
112104
providerExtenders
113105
);
114106
});

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

-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
import type {
22
Artifacts,
3-
BoundExperimentalHardhatNetworkMessageTraceHook,
43
CompilerInput,
54
CompilerOutput,
65
EIP1193Provider,
@@ -116,7 +115,6 @@ interface HardhatNetworkProviderConfig {
116115
initialBaseFeePerGas?: number;
117116
initialDate?: Date;
118117
coinbase?: string;
119-
experimentalHardhatNetworkMessageTraceHooks?: BoundExperimentalHardhatNetworkMessageTraceHook[];
120118
forkConfig?: ForkConfig;
121119
forkCachePath?: string;
122120
enableTransientStorage: boolean;

packages/hardhat-core/src/internal/lib/hardhat-lib.ts

-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ if (HardhatContext.isCreated()) {
4242
ctx.tasksDSL.getTaskDefinitions(),
4343
ctx.tasksDSL.getScopesDefinitions(),
4444
ctx.environmentExtenders,
45-
ctx.experimentalHardhatNetworkMessageTraceHooks,
4645
userConfig,
4746
ctx.providerExtenders
4847
);

packages/hardhat-core/src/register.ts

-1
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,6 @@ if (!HardhatContext.isCreated()) {
4444
ctx.tasksDSL.getTaskDefinitions(),
4545
ctx.tasksDSL.getScopesDefinitions(),
4646
ctx.environmentExtenders,
47-
ctx.experimentalHardhatNetworkMessageTraceHooks,
4847
userConfig,
4948
ctx.providerExtenders
5049
);

packages/hardhat-core/src/types/experimental.ts

-18
This file was deleted.

packages/hardhat-core/src/types/index.ts

-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
export * from "./config";
2-
export * from "./experimental";
32
export * from "./provider";
43
export * from "./runtime";
54
export * from "./artifacts";

packages/hardhat-core/test/internal/core/providers/construction.ts

+2-12
Original file line numberDiff line numberDiff line change
@@ -8,10 +8,7 @@ import {
88
import { ERRORS } from "../../../../src/internal/core/errors-list";
99
import { numberToRpcQuantity } from "../../../../src/internal/core/jsonrpc/types/base-types";
1010
import { BackwardsCompatibilityProviderAdapter } from "../../../../src/internal/core/providers/backwards-compatibility";
11-
import {
12-
BoundExperimentalHardhatNetworkMessageTraceHook,
13-
HardhatConfig,
14-
} from "../../../../src/types";
11+
import { HardhatConfig } from "../../../../src/types";
1512
import {
1613
applyProviderWrappers,
1714
createProvider,
@@ -46,7 +43,6 @@ describe("Base provider creation", () => {
4643

4744
it("Should extend the base provider by calling each supplied extender", async () => {
4845
const artifacts = undefined;
49-
const hooks: BoundExperimentalHardhatNetworkMessageTraceHook[] = [];
5046

5147
const identity = (obj: any) => obj;
5248
const extenders = [sinon.spy(identity), sinon.spy(identity)];
@@ -60,13 +56,7 @@ describe("Base provider creation", () => {
6056
},
6157
paths: undefined,
6258
} as unknown as HardhatConfig;
63-
const provider = await createProvider(
64-
config,
65-
"net",
66-
artifacts,
67-
hooks,
68-
extenders
69-
);
59+
const provider = await createProvider(config, "net", artifacts, extenders);
7060

7161
assert.instanceOf(provider, BackwardsCompatibilityProviderAdapter);
7262
for (const extender of extenders) {

0 commit comments

Comments
 (0)