hardhat 2.15.0 → 2.16.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/builtin-tasks/compile.js +25 -29
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/builtin-tasks/node.js +1 -2
  4. package/builtin-tasks/node.js.map +1 -1
  5. package/console.sol +3 -4
  6. package/internal/cli/analytics.d.ts +6 -6
  7. package/internal/cli/analytics.d.ts.map +1 -1
  8. package/internal/cli/analytics.js +43 -115
  9. package/internal/cli/analytics.js.map +1 -1
  10. package/internal/cli/cli.js +6 -4
  11. package/internal/cli/cli.js.map +1 -1
  12. package/internal/cli/project-creation.d.ts.map +1 -1
  13. package/internal/cli/project-creation.js +2 -1
  14. package/internal/cli/project-creation.js.map +1 -1
  15. package/internal/context.d.ts +3 -3
  16. package/internal/context.d.ts.map +1 -1
  17. package/internal/context.js +2 -2
  18. package/internal/context.js.map +1 -1
  19. package/internal/core/config/config-env.d.ts +16 -1
  20. package/internal/core/config/config-env.d.ts.map +1 -1
  21. package/internal/core/config/config-env.js +21 -3
  22. package/internal/core/config/config-env.js.map +1 -1
  23. package/internal/core/errors-list.d.ts +7 -0
  24. package/internal/core/errors-list.d.ts.map +1 -1
  25. package/internal/core/errors-list.js +8 -0
  26. package/internal/core/errors-list.js.map +1 -1
  27. package/internal/core/providers/construction.d.ts +3 -3
  28. package/internal/core/providers/construction.d.ts.map +1 -1
  29. package/internal/core/providers/construction.js +13 -5
  30. package/internal/core/providers/construction.js.map +1 -1
  31. package/internal/core/providers/lazy-initialization.d.ts +44 -0
  32. package/internal/core/providers/lazy-initialization.d.ts.map +1 -0
  33. package/internal/core/providers/lazy-initialization.js +137 -0
  34. package/internal/core/providers/lazy-initialization.js.map +1 -0
  35. package/internal/core/providers/wrapper.d.ts +10 -0
  36. package/internal/core/providers/wrapper.d.ts.map +1 -1
  37. package/internal/core/providers/wrapper.js +10 -0
  38. package/internal/core/providers/wrapper.js.map +1 -1
  39. package/internal/core/runtime-environment.d.ts +5 -4
  40. package/internal/core/runtime-environment.d.ts.map +1 -1
  41. package/internal/core/runtime-environment.js +9 -8
  42. package/internal/core/runtime-environment.js.map +1 -1
  43. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  44. package/internal/lib/hardhat-lib.js +1 -1
  45. package/internal/lib/hardhat-lib.js.map +1 -1
  46. package/package.json +1 -3
  47. package/plugins.d.ts +1 -0
  48. package/plugins.d.ts.map +1 -1
  49. package/plugins.js +3 -1
  50. package/plugins.js.map +1 -1
  51. package/register.js +1 -1
  52. package/register.js.map +1 -1
  53. package/src/builtin-tasks/compile.ts +53 -53
  54. package/src/builtin-tasks/node.ts +2 -5
  55. package/src/internal/cli/analytics.ts +82 -134
  56. package/src/internal/cli/cli.ts +7 -4
  57. package/src/internal/cli/project-creation.ts +4 -1
  58. package/src/internal/context.ts +5 -2
  59. package/src/internal/core/config/config-env.ts +21 -2
  60. package/src/internal/core/errors-list.ts +9 -0
  61. package/src/internal/core/providers/construction.ts +26 -10
  62. package/src/internal/core/providers/lazy-initialization.ts +178 -0
  63. package/src/internal/core/providers/wrapper.ts +10 -0
  64. package/src/internal/core/runtime-environment.ts +15 -12
  65. package/src/internal/lib/hardhat-lib.ts +3 -2
  66. package/src/plugins.ts +1 -0
  67. package/src/register.ts +3 -2
  68. package/src/types/runtime.ts +11 -1
  69. package/types/runtime.d.ts +6 -1
  70. package/types/runtime.d.ts.map +1 -1
  71. package/internal/core/config/extenders.d.ts +0 -7
  72. package/internal/core/config/extenders.d.ts.map +0 -1
  73. package/internal/core/config/extenders.js +0 -16
  74. package/internal/core/config/extenders.js.map +0 -1
  75. package/src/internal/core/config/extenders.ts +0 -13
@@ -0,0 +1,178 @@
1
+ import { EventEmitter } from "events";
2
+ import {
3
+ EthereumProvider,
4
+ JsonRpcRequest,
5
+ JsonRpcResponse,
6
+ RequestArguments,
7
+ } from "../../../types";
8
+ import { HardhatError } from "../errors";
9
+ import { ERRORS } from "../errors-list";
10
+
11
+ export type ProviderFactory = () => Promise<EthereumProvider>;
12
+ export type Listener = (...args: any[]) => void;
13
+
14
+ /**
15
+ * A class that delays the (async) creation of its internal provider until the first call
16
+ * to a JSON RPC method via request/send/sendAsync or the init method is called.
17
+ */
18
+ export class LazyInitializationProviderAdapter implements EthereumProvider {
19
+ protected provider: EthereumProvider | undefined;
20
+ private _emitter: EventEmitter = new EventEmitter();
21
+ private _initializingPromise: Promise<EthereumProvider> | undefined;
22
+
23
+ constructor(private _providerFactory: ProviderFactory) {}
24
+
25
+ /**
26
+ * Gets the internal wrapped provider.
27
+ * Using it directly is discouraged and should be done with care,
28
+ * use the public methods from the class like `request` and all event emitter methods instead
29
+ */
30
+ public get _wrapped(): EventEmitter {
31
+ if (this.provider === undefined) {
32
+ throw new HardhatError(ERRORS.GENERAL.UNINITIALIZED_PROVIDER);
33
+ }
34
+ return this.provider;
35
+ }
36
+
37
+ public async init(): Promise<EthereumProvider> {
38
+ if (this.provider === undefined) {
39
+ if (this._initializingPromise === undefined) {
40
+ this._initializingPromise = this._providerFactory();
41
+ }
42
+ this.provider = await this._initializingPromise;
43
+ }
44
+ return this.provider;
45
+ }
46
+
47
+ // Provider methods
48
+
49
+ public async request(args: RequestArguments): Promise<unknown> {
50
+ const provider = await this._getOrInitProvider();
51
+ return provider.request(args);
52
+ }
53
+
54
+ public async send(method: string, params?: any[]): Promise<any> {
55
+ const provider = await this._getOrInitProvider();
56
+ return provider.send(method, params);
57
+ }
58
+
59
+ public sendAsync(
60
+ payload: JsonRpcRequest,
61
+ callback: (error: any, response: JsonRpcResponse) => void
62
+ ): void {
63
+ this._getOrInitProvider().then(
64
+ (provider) => {
65
+ provider.sendAsync(payload, callback);
66
+ },
67
+ (e) => {
68
+ callback(e, null as any);
69
+ }
70
+ );
71
+ }
72
+
73
+ // EventEmitter methods
74
+
75
+ public addListener(event: string | symbol, listener: EventListener): this {
76
+ this._getEmitter().addListener(event, listener);
77
+ return this;
78
+ }
79
+
80
+ public on(event: string | symbol, listener: EventListener): this {
81
+ this._getEmitter().on(event, listener);
82
+ return this;
83
+ }
84
+
85
+ public once(event: string | symbol, listener: Listener): this {
86
+ this._getEmitter().once(event, listener);
87
+ return this;
88
+ }
89
+
90
+ public prependListener(event: string | symbol, listener: Listener): this {
91
+ this._getEmitter().prependListener(event, listener);
92
+ return this;
93
+ }
94
+
95
+ public prependOnceListener(event: string | symbol, listener: Listener): this {
96
+ this._getEmitter().prependOnceListener(event, listener);
97
+ return this;
98
+ }
99
+
100
+ public removeListener(event: string | symbol, listener: Listener): this {
101
+ this._getEmitter().removeListener(event, listener);
102
+ return this;
103
+ }
104
+
105
+ public off(event: string | symbol, listener: Listener): this {
106
+ this._getEmitter().off(event, listener);
107
+ return this;
108
+ }
109
+
110
+ public removeAllListeners(event?: string | symbol | undefined): this {
111
+ this._getEmitter().removeAllListeners(event);
112
+ return this;
113
+ }
114
+
115
+ public setMaxListeners(n: number): this {
116
+ this._getEmitter().setMaxListeners(n);
117
+ return this;
118
+ }
119
+
120
+ public getMaxListeners(): number {
121
+ return this._getEmitter().getMaxListeners();
122
+ }
123
+
124
+ // disable ban-types to satisfy the EventEmitter interface
125
+ // eslint-disable-next-line @typescript-eslint/ban-types
126
+ public listeners(event: string | symbol): Function[] {
127
+ return this._getEmitter().listeners(event);
128
+ }
129
+
130
+ // disable ban-types to satisfy the EventEmitter interface
131
+ // eslint-disable-next-line @typescript-eslint/ban-types
132
+ public rawListeners(event: string | symbol): Function[] {
133
+ return this._getEmitter().rawListeners(event);
134
+ }
135
+
136
+ public emit(event: string | symbol, ...args: any[]): boolean {
137
+ return this._getEmitter().emit(event, ...args);
138
+ }
139
+
140
+ public eventNames(): Array<string | symbol> {
141
+ return this._getEmitter().eventNames();
142
+ }
143
+
144
+ public listenerCount(type: string | symbol): number {
145
+ return this._getEmitter().listenerCount(type);
146
+ }
147
+
148
+ private _getEmitter(): EventEmitter {
149
+ return this.provider === undefined ? this._emitter : this.provider;
150
+ }
151
+
152
+ private async _getOrInitProvider(): Promise<EthereumProvider> {
153
+ // This is here to avoid multiple calls to send async stacking and re-creating the provider
154
+ // over and over again. It shouldn't run for request or send
155
+ if (this._initializingPromise !== undefined) {
156
+ await this._initializingPromise;
157
+ }
158
+
159
+ if (this.provider === undefined) {
160
+ this.provider = await this.init();
161
+
162
+ // Copy any event emitter events before initialization over to the provider
163
+ const recordedEvents = this._emitter.eventNames();
164
+
165
+ for (const event of recordedEvents) {
166
+ const listeners = this._emitter.rawListeners(event) as Listener[];
167
+ for (const listener of listeners) {
168
+ this.provider.on(event, listener);
169
+ this._emitter.removeListener(event, listener);
170
+ }
171
+ }
172
+
173
+ this.provider.setMaxListeners(this._emitter.getMaxListeners());
174
+ }
175
+
176
+ return this.provider;
177
+ }
178
+ }
@@ -3,6 +3,12 @@ import { EventEmitterWrapper } from "../../util/event-emitter";
3
3
 
4
4
  import { InvalidInputError } from "./errors";
5
5
 
6
+ /**
7
+ * A wrapper class that makes it easy to implement the EIP1193 (Javascript Ethereum Provider) standard.
8
+ * It comes baked in with all EventEmitter methods needed,
9
+ * which will be added to the provider supplied in the constructor.
10
+ * It also provides the interface for the standard .request() method as an abstract method.
11
+ */
6
12
  export abstract class ProviderWrapper
7
13
  extends EventEmitterWrapper
8
14
  implements EIP1193Provider
@@ -13,6 +19,10 @@ export abstract class ProviderWrapper
13
19
 
14
20
  public abstract request(args: RequestArguments): Promise<unknown>;
15
21
 
22
+ /**
23
+ * Extract the params from RequestArguments and optionally type them.
24
+ * It defaults to an empty array if no params are found.
25
+ */
16
26
  protected _getParams<ParamsT extends any[] = any[]>(
17
27
  args: RequestArguments
18
28
  ): ParamsT | [] {
@@ -16,16 +16,17 @@ import {
16
16
  TaskArguments,
17
17
  TaskDefinition,
18
18
  TasksMap,
19
+ ProviderExtender,
19
20
  } from "../../types";
20
21
  import { Artifacts } from "../artifacts";
21
22
  import { MessageTrace } from "../hardhat-network/stack-traces/message-trace";
22
- import { lazyObject } from "../util/lazy";
23
23
 
24
24
  import { getHardhatVersion } from "../util/packageInfo";
25
25
  import { analyzeModuleNotFoundError } from "./config/config-loading";
26
26
  import { HardhatError } from "./errors";
27
27
  import { ERRORS } from "./errors-list";
28
28
  import { createProvider } from "./providers/construction";
29
+ import { LazyInitializationProviderAdapter } from "./providers/lazy-initialization";
29
30
  import { OverriddenTaskDefinition } from "./tasks/task-definitions";
30
31
  import {
31
32
  completeTaskProfile,
@@ -48,7 +49,7 @@ export class Environment implements HardhatRuntimeEnvironment {
48
49
 
49
50
  public artifacts: IArtifacts;
50
51
 
51
- private readonly _extenders: EnvironmentExtender[];
52
+ private readonly _environmentExtenders: EnvironmentExtender[];
52
53
 
53
54
  public entryTaskProfile?: TaskProfile;
54
55
 
@@ -64,15 +65,17 @@ export class Environment implements HardhatRuntimeEnvironment {
64
65
  * @param config The hardhat's config object.
65
66
  * @param hardhatArguments The parsed hardhat's arguments.
66
67
  * @param tasks A map of tasks.
67
- * @param extenders A list of extenders.
68
+ * @param environmentExtenders A list of environment extenders.
69
+ * @param providerExtenders A list of provider extenders.
68
70
  */
69
71
  constructor(
70
72
  public readonly config: HardhatConfig,
71
73
  public readonly hardhatArguments: HardhatArguments,
72
74
  public readonly tasks: TasksMap,
73
- extenders: EnvironmentExtender[] = [],
75
+ environmentExtenders: EnvironmentExtender[] = [],
74
76
  experimentalHardhatNetworkMessageTraceHooks: ExperimentalHardhatNetworkMessageTraceHook[] = [],
75
- public readonly userConfig: HardhatUserConfig = {}
77
+ public readonly userConfig: HardhatUserConfig = {},
78
+ providerExtenders: ProviderExtender[] = []
76
79
  ) {
77
80
  log("Creating HardhatRuntimeEnvironment");
78
81
 
@@ -91,29 +94,29 @@ export class Environment implements HardhatRuntimeEnvironment {
91
94
 
92
95
  this.artifacts = new Artifacts(config.paths.artifacts);
93
96
 
94
- const provider = lazyObject(() => {
97
+ const provider = new LazyInitializationProviderAdapter(async () => {
95
98
  log(`Creating provider for network ${networkName}`);
96
99
  return createProvider(
100
+ config,
97
101
  networkName,
98
- networkConfig,
99
- this.config.paths,
100
102
  this.artifacts,
101
103
  experimentalHardhatNetworkMessageTraceHooks.map(
102
104
  (hook) => (trace: MessageTrace, isCallMessageTrace: boolean) =>
103
105
  hook(this, trace, isCallMessageTrace)
104
- )
106
+ ),
107
+ providerExtenders
105
108
  );
106
109
  });
107
110
 
108
111
  this.network = {
109
112
  name: networkName,
110
- config: config.networks[networkName],
113
+ config: networkConfig,
111
114
  provider,
112
115
  };
113
116
 
114
- this._extenders = extenders;
117
+ this._environmentExtenders = environmentExtenders;
115
118
 
116
- extenders.forEach((extender) => extender(this));
119
+ environmentExtenders.forEach((extender) => extender(this));
117
120
  }
118
121
 
119
122
  /**
@@ -40,9 +40,10 @@ if (HardhatContext.isCreated()) {
40
40
  resolvedConfig,
41
41
  hardhatArguments,
42
42
  ctx.tasksDSL.getTaskDefinitions(),
43
- ctx.extendersManager.getExtenders(),
43
+ ctx.environmentExtenders,
44
44
  ctx.experimentalHardhatNetworkMessageTraceHooks,
45
- userConfig
45
+ userConfig,
46
+ ctx.providerExtenders
46
47
  );
47
48
 
48
49
  ctx.setHardhatRuntimeEnvironment(env);
package/src/plugins.ts CHANGED
@@ -1,3 +1,4 @@
1
+ export { ProviderWrapper } from "./internal/core/providers/wrapper";
1
2
  export {
2
3
  HardhatPluginError,
3
4
  NomicLabsHardhatPluginError,
package/src/register.ts CHANGED
@@ -42,9 +42,10 @@ if (!HardhatContext.isCreated()) {
42
42
  resolvedConfig,
43
43
  hardhatArguments,
44
44
  ctx.tasksDSL.getTaskDefinitions(),
45
- ctx.extendersManager.getExtenders(),
45
+ ctx.environmentExtenders,
46
46
  ctx.experimentalHardhatNetworkMessageTraceHooks,
47
- userConfig
47
+ userConfig,
48
+ ctx.providerExtenders
48
49
  );
49
50
 
50
51
  ctx.setHardhatRuntimeEnvironment(env);
@@ -1,6 +1,6 @@
1
1
  import { Artifacts } from "./artifacts";
2
2
  import { HardhatConfig, HardhatUserConfig, NetworkConfig } from "./config";
3
- import { EthereumProvider } from "./provider";
3
+ import { EIP1193Provider, EthereumProvider } from "./provider";
4
4
 
5
5
  /**
6
6
  * This class is used to dynamically validate task's argument types.
@@ -216,3 +216,13 @@ export interface Network {
216
216
  * modify its properties or add new ones.
217
217
  */
218
218
  export type EnvironmentExtender = (env: HardhatRuntimeEnvironment) => void;
219
+
220
+ /**
221
+ * A function that receives a provider, crafts and returns a new one.
222
+ * Adding and modifying the current provider is preferred over ignoring it and returning a new instance.
223
+ */
224
+ export type ProviderExtender = (
225
+ provider: EIP1193Provider,
226
+ config: HardhatConfig,
227
+ network: string
228
+ ) => EIP1193Provider | Promise<EIP1193Provider>;
@@ -1,6 +1,6 @@
1
1
  import { Artifacts } from "./artifacts";
2
2
  import { HardhatConfig, HardhatUserConfig, NetworkConfig } from "./config";
3
- import { EthereumProvider } from "./provider";
3
+ import { EIP1193Provider, EthereumProvider } from "./provider";
4
4
  /**
5
5
  * This class is used to dynamically validate task's argument types.
6
6
  */
@@ -136,4 +136,9 @@ export interface Network {
136
136
  * modify its properties or add new ones.
137
137
  */
138
138
  export declare type EnvironmentExtender = (env: HardhatRuntimeEnvironment) => void;
139
+ /**
140
+ * A function that receives a provider, crafts and returns a new one.
141
+ * Adding and modifying the current provider is preferred over ignoring it and returning a new instance.
142
+ */
143
+ export declare type ProviderExtender = (provider: EIP1193Provider, config: HardhatConfig, network: string) => EIP1193Provider | Promise<EIP1193Provider>;
139
144
  //# sourceMappingURL=runtime.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/types/runtime.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- import { EnvironmentExtender } from "../../../types";
2
- export declare class ExtenderManager {
3
- private readonly _extenders;
4
- add(extender: EnvironmentExtender): void;
5
- getExtenders(): EnvironmentExtender[];
6
- }
7
- //# sourceMappingURL=extenders.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extenders.d.ts","sourceRoot":"","sources":["../../../src/internal/core/config/extenders.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAErD,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA6B;IAEjD,GAAG,CAAC,QAAQ,EAAE,mBAAmB;IAIjC,YAAY,IAAI,mBAAmB,EAAE;CAG7C"}
@@ -1,16 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ExtenderManager = void 0;
4
- class ExtenderManager {
5
- constructor() {
6
- this._extenders = [];
7
- }
8
- add(extender) {
9
- this._extenders.push(extender);
10
- }
11
- getExtenders() {
12
- return this._extenders;
13
- }
14
- }
15
- exports.ExtenderManager = ExtenderManager;
16
- //# sourceMappingURL=extenders.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"extenders.js","sourceRoot":"","sources":["../../../src/internal/core/config/extenders.ts"],"names":[],"mappings":";;;AAEA,MAAa,eAAe;IAA5B;QACmB,eAAU,GAA0B,EAAE,CAAC;IAS1D,CAAC;IAPQ,GAAG,CAAC,QAA6B;QACtC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACjC,CAAC;IAEM,YAAY;QACjB,OAAO,IAAI,CAAC,UAAU,CAAC;IACzB,CAAC;CACF;AAVD,0CAUC"}
@@ -1,13 +0,0 @@
1
- import { EnvironmentExtender } from "../../../types";
2
-
3
- export class ExtenderManager {
4
- private readonly _extenders: EnvironmentExtender[] = [];
5
-
6
- public add(extender: EnvironmentExtender) {
7
- this._extenders.push(extender);
8
- }
9
-
10
- public getExtenders(): EnvironmentExtender[] {
11
- return this._extenders;
12
- }
13
- }