hardhat 3.8.0 → 3.9.1
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.
- package/CHANGELOG.md +36 -0
- package/dist/src/config.d.ts.map +1 -1
- package/dist/src/config.js +6 -5
- package/dist/src/config.js.map +1 -1
- package/dist/src/hhu.d.ts +3 -0
- package/dist/src/hhu.d.ts.map +1 -0
- package/dist/src/hhu.js +14 -0
- package/dist/src/hhu.js.map +1 -0
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js +4 -1
- package/dist/src/internal/builtin-plugins/artifacts/hook-handlers/hre.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/config.d.ts +6 -0
- package/dist/src/internal/builtin-plugins/coverage/config.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/config.js +18 -0
- package/dist/src/internal/builtin-plugins/coverage/config.js.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.d.ts +4 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.js +15 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/config.js.map +1 -0
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js +10 -1
- package/dist/src/internal/builtin-plugins/coverage/hook-handlers/solidity.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/index.js +1 -0
- package/dist/src/internal/builtin-plugins/coverage/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/coverage/type-extensions.d.ts +20 -0
- package/dist/src/internal/builtin-plugins/coverage/type-extensions.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.d.ts +2 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.js +21 -23
- package/dist/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.d.ts +2 -2
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js +21 -27
- package/dist/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.js.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.d.ts +3 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.js +18 -10
- package/dist/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.js.map +1 -1
- package/dist/src/internal/builtin-plugins/hhu/index.d.ts +4 -0
- package/dist/src/internal/builtin-plugins/hhu/index.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/index.js +9 -0
- package/dist/src/internal/builtin-plugins/hhu/index.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/index.d.ts +3 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/index.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/index.js +8 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/index.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/zero-address.d.ts +4 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/zero-address.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/zero-address.js +6 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/constants/zero-address.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/index.d.ts +3 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/index.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/index.js +27 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/index.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/pad.d.ts +10 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/pad.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/pad.js +31 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/convert/pad.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/block-number.d.ts +4 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/block-number.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/block-number.js +17 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/block-number.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/index.d.ts +3 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/index.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/index.js +8 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/fetch/index.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/index.d.ts +11 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/index.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/index.js +20 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/index.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/utils-task.d.ts +13 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/utils-task.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/utils-task.js +17 -0
- package/dist/src/internal/builtin-plugins/hhu/tasks/utils-task.js.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/types.d.ts +45 -0
- package/dist/src/internal/builtin-plugins/hhu/types.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/hhu/types.js +2 -0
- package/dist/src/internal/builtin-plugins/hhu/types.js.map +1 -0
- package/dist/src/internal/builtin-plugins/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/index.js +5 -0
- package/dist/src/internal/builtin-plugins/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts +2 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js +13 -10
- package/dist/src/internal/builtin-plugins/network-manager/edr/genesis-state.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.d.ts +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.js +17 -0
- package/dist/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/index.js +2 -10
- package/dist/src/internal/builtin-plugins/network-manager/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/network-option.d.ts +9 -0
- package/dist/src/internal/builtin-plugins/network-manager/network-option.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/network-option.js +15 -0
- package/dist/src/internal/builtin-plugins/network-manager/network-option.js.map +1 -0
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/automatic-sender-handler.d.ts +4 -2
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/automatic-sender-handler.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/automatic-sender-handler.js +28 -6
- package/dist/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/automatic-sender-handler.js.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js +10 -1
- package/dist/src/internal/builtin-plugins/network-manager/type-validation.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js +3 -0
- package/dist/src/internal/builtin-plugins/solidity/build-system/warning-suppression.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity/source-names.d.ts +12 -0
- package/dist/src/internal/builtin-plugins/solidity/source-names.d.ts.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity/source-names.js +18 -0
- package/dist/src/internal/builtin-plugins/solidity/source-names.js.map +1 -0
- package/dist/src/internal/builtin-plugins/solidity-test/config.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/config.js +1 -4
- package/dist/src/internal/builtin-plugins/solidity-test/config.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.js +7 -12
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/index.js.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.d.ts.map +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.js +3 -1
- package/dist/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.js.map +1 -1
- package/dist/src/internal/cli/help/get-global-help-string.d.ts +3 -1
- package/dist/src/internal/cli/help/get-global-help-string.d.ts.map +1 -1
- package/dist/src/internal/cli/help/get-global-help-string.js +3 -3
- package/dist/src/internal/cli/help/get-global-help-string.js.map +1 -1
- package/dist/src/internal/cli/help/get-help-string.d.ts +3 -1
- package/dist/src/internal/cli/help/get-help-string.d.ts.map +1 -1
- package/dist/src/internal/cli/help/get-help-string.js +4 -4
- package/dist/src/internal/cli/help/get-help-string.js.map +1 -1
- package/dist/src/internal/cli/help/utils.d.ts +3 -1
- package/dist/src/internal/cli/help/utils.d.ts.map +1 -1
- package/dist/src/internal/cli/help/utils.js +2 -2
- package/dist/src/internal/cli/help/utils.js.map +1 -1
- package/dist/src/internal/cli/hhu.d.ts +14 -0
- package/dist/src/internal/cli/hhu.d.ts.map +1 -0
- package/dist/src/internal/cli/hhu.js +184 -0
- package/dist/src/internal/cli/hhu.js.map +1 -0
- package/dist/src/internal/cli/main.d.ts +0 -25
- package/dist/src/internal/cli/main.d.ts.map +1 -1
- package/dist/src/internal/cli/main.js +23 -303
- package/dist/src/internal/cli/main.js.map +1 -1
- package/dist/src/internal/cli/parser.d.ts +25 -0
- package/dist/src/internal/cli/parser.d.ts.map +1 -0
- package/dist/src/internal/cli/parser.js +282 -0
- package/dist/src/internal/cli/parser.js.map +1 -0
- package/dist/src/internal/cli/telemetry/analytics/analytics.d.ts +1 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.d.ts.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.js +2 -1
- package/dist/src/internal/cli/telemetry/analytics/analytics.js.map +1 -1
- package/dist/src/internal/cli/telemetry/analytics/types.d.ts +1 -0
- package/dist/src/internal/cli/telemetry/analytics/types.d.ts.map +1 -1
- package/dist/src/internal/edr/context.d.ts.map +1 -1
- package/dist/src/internal/edr/context.js +25 -7
- package/dist/src/internal/edr/context.js.map +1 -1
- package/dist/src/internal/using-hardhat2-plugin-errors.d.ts +2 -2
- package/dist/src/internal/using-hardhat2-plugin-errors.d.ts.map +1 -1
- package/dist/src/internal/using-hardhat2-plugin-errors.js +7 -3
- package/dist/src/internal/using-hardhat2-plugin-errors.js.map +1 -1
- package/dist/src/internal/{builtin-plugins/solidity-test/eip712 → utils}/glob.d.ts +4 -0
- package/dist/src/internal/utils/glob.d.ts.map +1 -0
- package/dist/src/internal/{builtin-plugins/solidity-test/eip712 → utils}/glob.js +3 -3
- package/dist/src/internal/utils/glob.js.map +1 -0
- package/dist/src/plugins.d.ts.map +1 -1
- package/dist/src/plugins.js +3 -2
- package/dist/src/plugins.js.map +1 -1
- package/package.json +4 -4
- package/src/config.ts +17 -5
- package/src/hhu.ts +18 -0
- package/src/internal/builtin-plugins/artifacts/hook-handlers/hre.ts +11 -3
- package/src/internal/builtin-plugins/coverage/config.ts +28 -0
- package/src/internal/builtin-plugins/coverage/hook-handlers/config.ts +30 -0
- package/src/internal/builtin-plugins/coverage/hook-handlers/solidity.ts +15 -2
- package/src/internal/builtin-plugins/coverage/index.ts +1 -0
- package/src/internal/builtin-plugins/coverage/type-extensions.ts +24 -0
- package/src/internal/builtin-plugins/gas-analytics/function-gas-snapshots.ts +32 -32
- package/src/internal/builtin-plugins/gas-analytics/snapshot-cheatcodes.ts +32 -36
- package/src/internal/builtin-plugins/gas-analytics/tasks/solidity-test/task-action.ts +22 -9
- package/src/internal/builtin-plugins/hhu/index.ts +13 -0
- package/src/internal/builtin-plugins/hhu/tasks/constants/index.ts +18 -0
- package/src/internal/builtin-plugins/hhu/tasks/constants/zero-address.ts +9 -0
- package/src/internal/builtin-plugins/hhu/tasks/convert/index.ts +40 -0
- package/src/internal/builtin-plugins/hhu/tasks/convert/pad.ts +61 -0
- package/src/internal/builtin-plugins/hhu/tasks/fetch/block-number.ts +28 -0
- package/src/internal/builtin-plugins/hhu/tasks/fetch/index.ts +18 -0
- package/src/internal/builtin-plugins/hhu/tasks/index.ts +36 -0
- package/src/internal/builtin-plugins/hhu/tasks/utils-task.ts +29 -0
- package/src/internal/builtin-plugins/hhu/types.ts +57 -0
- package/src/internal/builtin-plugins/index.ts +6 -0
- package/src/internal/builtin-plugins/network-manager/edr/genesis-state.ts +22 -14
- package/src/internal/builtin-plugins/network-manager/edr/stack-traces/stack-trace-solidity-errors.ts +33 -0
- package/src/internal/builtin-plugins/network-manager/index.ts +3 -10
- package/src/internal/builtin-plugins/network-manager/network-option.ts +17 -0
- package/src/internal/builtin-plugins/network-manager/request-handlers/handlers/accounts/automatic-sender-handler.ts +39 -9
- package/src/internal/builtin-plugins/network-manager/type-validation.ts +14 -1
- package/src/internal/builtin-plugins/solidity/build-system/warning-suppression.ts +3 -0
- package/src/internal/builtin-plugins/solidity/source-names.ts +19 -0
- package/src/internal/builtin-plugins/solidity-test/config.ts +1 -4
- package/src/internal/builtin-plugins/solidity-test/eip712/index.ts +8 -16
- package/src/internal/builtin-plugins/solidity-test/stack-trace-solidity-errors.ts +6 -1
- package/src/internal/cli/help/get-global-help-string.ts +3 -2
- package/src/internal/cli/help/get-help-string.ts +4 -3
- package/src/internal/cli/help/utils.ts +2 -1
- package/src/internal/cli/hhu.ts +298 -0
- package/src/internal/cli/main.ts +41 -495
- package/src/internal/cli/parser.ts +472 -0
- package/src/internal/cli/telemetry/analytics/analytics.ts +5 -1
- package/src/internal/cli/telemetry/analytics/types.ts +3 -0
- package/src/internal/edr/context.ts +39 -23
- package/src/internal/using-hardhat2-plugin-errors.ts +12 -3
- package/src/internal/{builtin-plugins/solidity-test/eip712 → utils}/glob.ts +3 -3
- package/src/plugins.ts +5 -2
- package/templates/hardhat-3/01-node-test-runner-viem/package.json +6 -6
- package/templates/hardhat-3/02-mocha-ethers/package.json +9 -9
- package/templates/hardhat-3/03-minimal/package.json +1 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.d.ts.map +0 -1
- package/dist/src/internal/builtin-plugins/solidity-test/eip712/glob.js.map +0 -1
|
@@ -0,0 +1,282 @@
|
|
|
1
|
+
import { HardhatError, assertHardhatInvariant, } from "@nomicfoundation/hardhat-errors";
|
|
2
|
+
import { isCi } from "@nomicfoundation/hardhat-utils/ci";
|
|
3
|
+
import { kebabToCamelCase } from "@nomicfoundation/hardhat-utils/string";
|
|
4
|
+
import { ArgumentType, } from "../../types/arguments.js";
|
|
5
|
+
import { parseArgumentValue } from "../core/arguments.js";
|
|
6
|
+
import { isArgumentRequired } from "../core/tasks/utils.js";
|
|
7
|
+
export async function parseBuiltinGlobalOptions(cliArguments, usedCliArguments) {
|
|
8
|
+
let configPath;
|
|
9
|
+
let showStackTraces = isCi();
|
|
10
|
+
let help = false;
|
|
11
|
+
let version = false;
|
|
12
|
+
let init = false;
|
|
13
|
+
// TODO: Use parseGlobalOptions(BUILTIN_GLOBAL_OPTIONS_DEFINITIONS, ...) instead
|
|
14
|
+
for (let i = 0; i < cliArguments.length; i++) {
|
|
15
|
+
const arg = cliArguments[i];
|
|
16
|
+
if (arg === "--init") {
|
|
17
|
+
usedCliArguments[i] = true;
|
|
18
|
+
init = true;
|
|
19
|
+
continue;
|
|
20
|
+
}
|
|
21
|
+
if (arg === "--config") {
|
|
22
|
+
usedCliArguments[i] = true;
|
|
23
|
+
if (configPath !== undefined) {
|
|
24
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.DUPLICATED_NAME, {
|
|
25
|
+
name: "--config",
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
if (usedCliArguments[i + 1] === undefined ||
|
|
29
|
+
usedCliArguments[i + 1] === true) {
|
|
30
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.MISSING_CONFIG_FILE);
|
|
31
|
+
}
|
|
32
|
+
configPath = cliArguments[i + 1];
|
|
33
|
+
i++;
|
|
34
|
+
usedCliArguments[i] = true;
|
|
35
|
+
continue;
|
|
36
|
+
}
|
|
37
|
+
if (arg === "--show-stack-traces") {
|
|
38
|
+
usedCliArguments[i] = true;
|
|
39
|
+
showStackTraces = true;
|
|
40
|
+
continue;
|
|
41
|
+
}
|
|
42
|
+
if (arg === "--help" || arg === "-h") {
|
|
43
|
+
usedCliArguments[i] = true;
|
|
44
|
+
help = true;
|
|
45
|
+
continue;
|
|
46
|
+
}
|
|
47
|
+
if (arg === "--version") {
|
|
48
|
+
usedCliArguments[i] = true;
|
|
49
|
+
version = true;
|
|
50
|
+
continue;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
if (init && configPath !== undefined) {
|
|
54
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.CANNOT_COMBINE_INIT_AND_CONFIG_PATH);
|
|
55
|
+
}
|
|
56
|
+
return { init, configPath, showStackTraces, help, version };
|
|
57
|
+
}
|
|
58
|
+
export async function parseGlobalOptions(globalOptionDefinitions, cliArguments, usedCliArguments) {
|
|
59
|
+
const globalOptions = {};
|
|
60
|
+
const optionDefinitions = new Map([...globalOptionDefinitions].map(([key, value]) => [key, value.option]));
|
|
61
|
+
parseOptions(cliArguments, usedCliArguments, optionDefinitions, globalOptions, true);
|
|
62
|
+
return globalOptions;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Parses the task from the cli args.
|
|
66
|
+
*
|
|
67
|
+
* @returns The task, or an array with the unrecognized task id.
|
|
68
|
+
* If no task id is provided, an empty array is returned.
|
|
69
|
+
*/
|
|
70
|
+
export function parseTask(cliArguments, usedCliArguments, tasksMap) {
|
|
71
|
+
const taskOrId = getTaskFromCliArguments(cliArguments, usedCliArguments, tasksMap);
|
|
72
|
+
return taskOrId;
|
|
73
|
+
}
|
|
74
|
+
function getTaskFromCliArguments(cliArguments, usedCliArguments, tasksMap) {
|
|
75
|
+
const taskId = [];
|
|
76
|
+
let task;
|
|
77
|
+
for (let i = 0; i < cliArguments.length; i++) {
|
|
78
|
+
if (usedCliArguments[i]) {
|
|
79
|
+
continue;
|
|
80
|
+
}
|
|
81
|
+
const arg = cliArguments[i];
|
|
82
|
+
if (arg.startsWith("-")) {
|
|
83
|
+
/* A standalone '--' is ok because it is used to separate CLI tool arguments
|
|
84
|
+
* from task arguments, ensuring the tool passes subsequent options directly
|
|
85
|
+
* to the task. Everything after "--" should be considered as a positional
|
|
86
|
+
* argument. */
|
|
87
|
+
if (arg === "--" || task !== undefined) {
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
/* At this point in the code, the global options have already been parsed, so
|
|
91
|
+
* the remaining options starting with '--' are task options. Hence, if no task
|
|
92
|
+
* is defined, it means that the option is not assigned to any task, and it's
|
|
93
|
+
* an error. */
|
|
94
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.UNRECOGNIZED_OPTION, {
|
|
95
|
+
option: arg,
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
if (task === undefined) {
|
|
99
|
+
task = tasksMap.get(arg);
|
|
100
|
+
if (task === undefined) {
|
|
101
|
+
return [arg]; // No task found
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
else {
|
|
105
|
+
const subtask = task.subtasks.get(arg);
|
|
106
|
+
if (subtask === undefined) {
|
|
107
|
+
break;
|
|
108
|
+
}
|
|
109
|
+
task = subtask;
|
|
110
|
+
}
|
|
111
|
+
usedCliArguments[i] = true;
|
|
112
|
+
taskId.push(arg);
|
|
113
|
+
}
|
|
114
|
+
if (task === undefined) {
|
|
115
|
+
return taskId;
|
|
116
|
+
}
|
|
117
|
+
return task;
|
|
118
|
+
}
|
|
119
|
+
export function parseTaskArguments(cliArguments, usedCliArguments, task) {
|
|
120
|
+
const taskArguments = {};
|
|
121
|
+
// Parse options
|
|
122
|
+
parseOptions(cliArguments, usedCliArguments, task.options, taskArguments);
|
|
123
|
+
parsePositionalAndVariadicArguments(cliArguments, usedCliArguments, task, taskArguments);
|
|
124
|
+
const unusedIndex = usedCliArguments.indexOf(false);
|
|
125
|
+
if (unusedIndex !== -1) {
|
|
126
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.UNUSED_ARGUMENT, {
|
|
127
|
+
value: cliArguments[unusedIndex],
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
return taskArguments;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Parses the raw arguments from the command line, returning an array of
|
|
134
|
+
* arguments. If an argument starts with "--" and contains "=" (i.e. "--option=123")
|
|
135
|
+
* it is split into two separate arguments: the option name and the option value.
|
|
136
|
+
*/
|
|
137
|
+
export function parseRawArguments(rawArguments) {
|
|
138
|
+
return rawArguments.flatMap((arg) => {
|
|
139
|
+
if (arg.startsWith("--") && arg.includes("=")) {
|
|
140
|
+
const index = arg.indexOf("=");
|
|
141
|
+
const optionName = arg.substring(0, index);
|
|
142
|
+
const optionValue = arg.substring(index + 1);
|
|
143
|
+
return [optionName, optionValue];
|
|
144
|
+
}
|
|
145
|
+
return arg;
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
function parseOptions(cliArguments, usedCliArguments, optionDefinitions, providedArguments, ignoreUnknownOption = false) {
|
|
149
|
+
const optionDefinitionsByShortName = new Map();
|
|
150
|
+
for (const optionDefinition of optionDefinitions.values()) {
|
|
151
|
+
if (optionDefinition.shortName !== undefined) {
|
|
152
|
+
optionDefinitionsByShortName.set(optionDefinition.shortName, optionDefinition);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
for (let i = 0; i < cliArguments.length; i++) {
|
|
156
|
+
if (usedCliArguments[i]) {
|
|
157
|
+
continue;
|
|
158
|
+
}
|
|
159
|
+
if (cliArguments[i] === "--") {
|
|
160
|
+
/* A standalone '--' is ok because it is used to separate CLI tool arguments
|
|
161
|
+
* from task arguments, ensuring the tool passes subsequent options directly
|
|
162
|
+
* to the task. Everything after "--" should be considered as a positional
|
|
163
|
+
* argument. */
|
|
164
|
+
break;
|
|
165
|
+
}
|
|
166
|
+
const arg = cliArguments[i];
|
|
167
|
+
let optionDefinition;
|
|
168
|
+
const providedByName = arg.startsWith("--");
|
|
169
|
+
const providedByShortName = !providedByName && arg.startsWith("-");
|
|
170
|
+
if (providedByName) {
|
|
171
|
+
const name = kebabToCamelCase(arg.substring(2));
|
|
172
|
+
optionDefinition = optionDefinitions.get(name);
|
|
173
|
+
}
|
|
174
|
+
else if (providedByShortName) {
|
|
175
|
+
const shortName = arg[1];
|
|
176
|
+
// Check if the short name is valid
|
|
177
|
+
if (Array.from(arg.substring(1)).some((c) => c !== shortName)) {
|
|
178
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.CANNOT_GROUP_OPTIONS, {
|
|
179
|
+
option: arg,
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
optionDefinition = optionDefinitionsByShortName.get(shortName);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
continue;
|
|
186
|
+
}
|
|
187
|
+
if (optionDefinition === undefined) {
|
|
188
|
+
if (ignoreUnknownOption === true) {
|
|
189
|
+
continue;
|
|
190
|
+
}
|
|
191
|
+
// Only throw an error when the argument is not a global option, because
|
|
192
|
+
// it might be a option related to a task
|
|
193
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.UNRECOGNIZED_OPTION, {
|
|
194
|
+
option: arg,
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
if (optionDefinition.hidden === true) {
|
|
198
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.NO_HIDDEN_OPTION_CLI, {
|
|
199
|
+
option: arg,
|
|
200
|
+
});
|
|
201
|
+
}
|
|
202
|
+
const optionName = optionDefinition.name;
|
|
203
|
+
// Check if the short name is valid again now that we know its type
|
|
204
|
+
// E.g. --flag --flag
|
|
205
|
+
const optionAlreadyProvided = providedArguments[optionName] !== undefined;
|
|
206
|
+
// E.g. -ff
|
|
207
|
+
const shortOptionGroupedAndRepeated = providedByShortName && arg.length > 2;
|
|
208
|
+
const isLevelOption = optionDefinition.type === ArgumentType.LEVEL;
|
|
209
|
+
if (optionAlreadyProvided ||
|
|
210
|
+
(shortOptionGroupedAndRepeated && !isLevelOption)) {
|
|
211
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.CANNOT_REPEAT_OPTIONS, {
|
|
212
|
+
option: arg,
|
|
213
|
+
type: optionDefinition.type,
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
usedCliArguments[i] = true;
|
|
217
|
+
if (optionDefinition.type === ArgumentType.FLAG) {
|
|
218
|
+
providedArguments[optionName] = true;
|
|
219
|
+
continue;
|
|
220
|
+
}
|
|
221
|
+
else if (optionDefinition.type === ArgumentType.LEVEL &&
|
|
222
|
+
providedByShortName) {
|
|
223
|
+
providedArguments[optionName] = arg.length - 1;
|
|
224
|
+
continue;
|
|
225
|
+
}
|
|
226
|
+
else if (usedCliArguments[i + 1] !== undefined &&
|
|
227
|
+
usedCliArguments[i + 1] === false) {
|
|
228
|
+
i++;
|
|
229
|
+
providedArguments[optionName] = parseArgumentValue(cliArguments[i], optionDefinition.type, optionName);
|
|
230
|
+
usedCliArguments[i] = true;
|
|
231
|
+
continue;
|
|
232
|
+
}
|
|
233
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.MISSING_VALUE_FOR_ARGUMENT, {
|
|
234
|
+
argument: arg,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
function parsePositionalAndVariadicArguments(cliArguments, usedCliArguments, task, providedArguments) {
|
|
239
|
+
let argIndex = 0;
|
|
240
|
+
for (let i = 0; i < cliArguments.length; i++) {
|
|
241
|
+
if (usedCliArguments[i] === true) {
|
|
242
|
+
continue;
|
|
243
|
+
}
|
|
244
|
+
if (cliArguments[i] === "--") {
|
|
245
|
+
/* A standalone '--' is ok because it is used to separate CLI tool arguments
|
|
246
|
+
* from task arguments, ensuring the tool passes subsequent options directly
|
|
247
|
+
* to the task. Everything after "--" should be considered as a positional
|
|
248
|
+
* argument. */
|
|
249
|
+
usedCliArguments[i] = true;
|
|
250
|
+
continue;
|
|
251
|
+
}
|
|
252
|
+
const argumentDefinition = task.positionalArguments[argIndex];
|
|
253
|
+
if (argumentDefinition === undefined) {
|
|
254
|
+
break;
|
|
255
|
+
}
|
|
256
|
+
usedCliArguments[i] = true;
|
|
257
|
+
const formattedValue = parseArgumentValue(cliArguments[i], argumentDefinition.type, argumentDefinition.name);
|
|
258
|
+
if (argumentDefinition.isVariadic === false) {
|
|
259
|
+
providedArguments[argumentDefinition.name] = formattedValue;
|
|
260
|
+
argIndex++;
|
|
261
|
+
continue;
|
|
262
|
+
}
|
|
263
|
+
// Handle variadic arguments. No longer increment "argIndex" because there can
|
|
264
|
+
// only be one variadic argument, and it will consume all remaining arguments.
|
|
265
|
+
providedArguments[argumentDefinition.name] =
|
|
266
|
+
providedArguments[argumentDefinition.name] ?? [];
|
|
267
|
+
const variadicTaskArg = providedArguments[argumentDefinition.name];
|
|
268
|
+
assertHardhatInvariant(Array.isArray(variadicTaskArg), "Variadic argument values should be an array");
|
|
269
|
+
variadicTaskArg.push(formattedValue);
|
|
270
|
+
}
|
|
271
|
+
// Check if all the required arguments have been used
|
|
272
|
+
validateRequiredArguments(task.positionalArguments, providedArguments);
|
|
273
|
+
}
|
|
274
|
+
function validateRequiredArguments(argumentDefinitions, taskArguments) {
|
|
275
|
+
const missingRequiredArgument = argumentDefinitions.find(({ defaultValue, name, type }) => isArgumentRequired(type, defaultValue) &&
|
|
276
|
+
taskArguments[name] === undefined);
|
|
277
|
+
if (missingRequiredArgument === undefined) {
|
|
278
|
+
return;
|
|
279
|
+
}
|
|
280
|
+
throw new HardhatError(HardhatError.ERRORS.CORE.ARGUMENTS.MISSING_VALUE_FOR_ARGUMENT, { argument: missingRequiredArgument.name });
|
|
281
|
+
}
|
|
282
|
+
//# sourceMappingURL=parser.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../../../src/internal/cli/parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export declare function sendTelemetryConfigAnalytics(enabled: boolean): Promise<boolean>;
|
|
2
|
-
export declare function sendTaskAnalytics(taskId: string[]): Promise<boolean>;
|
|
2
|
+
export declare function sendTaskAnalytics(taskId: string[], command: "hardhat" | "hhu"): Promise<boolean>;
|
|
3
3
|
export declare function sendProjectTypeAnalytics(hardhatVersion: "hardhat-2" | "hardhat-3", template: string): Promise<boolean>;
|
|
4
4
|
//# sourceMappingURL=analytics.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"AAyBA,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,wBAAsB,iBAAiB,
|
|
1
|
+
{"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"AAyBA,wBAAsB,4BAA4B,CAChD,OAAO,EAAE,OAAO,GACf,OAAO,CAAC,OAAO,CAAC,CAyBlB;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EAAE,EAChB,OAAO,EAAE,SAAS,GAAG,KAAK,GACzB,OAAO,CAAC,OAAO,CAAC,CAUlB;AAED,wBAAsB,wBAAwB,CAC5C,cAAc,EAAE,WAAW,GAAG,WAAW,EACzC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,OAAO,CAAC,CAUlB"}
|
|
@@ -30,11 +30,12 @@ export async function sendTelemetryConfigAnalytics(enabled) {
|
|
|
30
30
|
await createSubprocessToSendAnalytics(payload);
|
|
31
31
|
return true;
|
|
32
32
|
}
|
|
33
|
-
export async function sendTaskAnalytics(taskId) {
|
|
33
|
+
export async function sendTaskAnalytics(taskId, command) {
|
|
34
34
|
const taskAnalyticsEvent = {
|
|
35
35
|
name: "task",
|
|
36
36
|
params: {
|
|
37
37
|
task: taskId.join(", "),
|
|
38
|
+
command,
|
|
38
39
|
},
|
|
39
40
|
};
|
|
40
41
|
return await sendAnalytics(taskAnalyticsEvent);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,MAAM,SAAS,CAAC;AAEzB,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEpF,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EACL,+BAA+B,EAC/B,kBAAkB,GACnB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAElD,MAAM,GAAG,GAAG,WAAW,CAAC,sCAAsC,CAAC,CAAC;AAEhE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC;AAC5C,MAAM,oBAAoB,GAAG,OAAO,CAAC;AAErC,iGAAiG;AACjG,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,OAAgB;IAEhB,sEAAsE;IACtE,wFAAwF;IAExF,IAAI,CAAC,+BAA+B,EAAE,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAA2B;QACtC,SAAS,EAAE,0BAA0B;QACrC,OAAO,EAAE,0BAA0B;QACnC,eAAe,EAAE,EAAE;QACnB,MAAM,EAAE;YACN;gBACE,IAAI,EAAE,iBAAiB;gBACvB,MAAM,EAAE;oBACN,OAAO;iBACR;aACF;SACF;KACF,CAAC;IAEF,MAAM,+BAA+B,CAAC,OAAO,CAAC,CAAC;IAE/C,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,iBAAiB,
|
|
1
|
+
{"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/analytics.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE;YAKN,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/internal/cli/telemetry/analytics/types.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE;QACT,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH;AAGD,MAAM,WAAW,WAAW;IAC1B,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,EAAE,CAAC;IACpB,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,EAAE;YAKN,oBAAoB,CAAC,EAAE,MAAM,CAAC;YAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,iBAAiB,CAAC;QACxB,MAAM,EAAE;YACN,OAAO,EAAE,OAAO,CAAC;YACjB,UAAU,CAAC,EAAE,MAAM,CAAC;SACrB,CAAC;KACH,CAAC,CAAC;CACJ;AAED,MAAM,MAAM,cAAc,GACtB;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QAGb,OAAO,EAAE,SAAS,GAAG,KAAK,CAAC;KAC5B,CAAC;CACH,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE;QACN,cAAc,EAAE,WAAW,GAAG,WAAW,CAAC;QAC1C,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEN,MAAM,WAAW,OAAQ,SAAQ,WAAW;IAC1C,eAAe,EAAE;QACf,SAAS,EAAE;YACT,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,cAAc,EAAE;YACd,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,eAAe,EAAE;YACf,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;QACF,WAAW,EAAE;YACX,KAAK,EAAE,MAAM,CAAC;SACf,CAAC;KACH,CAAC;IACF,MAAM,EAAE,KAAK,CAAC;QACZ,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;QAC7B,MAAM,EAAE;YACN,oBAAoB,EAAE,MAAM,CAAC;YAC7B,UAAU,EAAE,MAAM,CAAC;SACpB,GAAG,cAAc,CAAC,QAAQ,CAAC,CAAC;KAC9B,CAAC,CAAC;CACJ"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EASX,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EASX,MAAM,sBAAsB,CAAC;AAQ9B,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,UAAU,CAAC,CAiB/D"}
|
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
import { EdrContext, GENERIC_CHAIN_TYPE, genericChainProviderFactory, L1_CHAIN_TYPE, l1ProviderFactory, l1SolidityTestRunnerFactory, OP_CHAIN_TYPE, opProviderFactory, opSolidityTestRunnerFactory, } from "@nomicfoundation/edr";
|
|
2
|
+
// We cache the initialization *promise* (assigned synchronously, before any
|
|
3
|
+
// await) rather than the resolved context. This way concurrent callers share a
|
|
4
|
+
// single in-flight initialization and always receive a fully-registered
|
|
5
|
+
// context, instead of racing on a half-initialized one.
|
|
2
6
|
let _globalEdrContext;
|
|
3
7
|
export async function getGlobalEdrContext() {
|
|
4
8
|
if (_globalEdrContext === undefined) {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
9
|
+
const context = createGlobalEdrContext();
|
|
10
|
+
_globalEdrContext = context;
|
|
11
|
+
// If initialization fails, clear the cached promise so a later call can
|
|
12
|
+
// retry instead of permanently returning a rejected promise. The identity
|
|
13
|
+
// guard prevents a stale rejection from wiping a newer promise created by
|
|
14
|
+
// a retry.
|
|
15
|
+
context.catch(() => {
|
|
16
|
+
if (_globalEdrContext === context) {
|
|
17
|
+
_globalEdrContext = undefined;
|
|
18
|
+
}
|
|
19
|
+
});
|
|
11
20
|
}
|
|
12
|
-
return _globalEdrContext;
|
|
21
|
+
return await _globalEdrContext;
|
|
22
|
+
}
|
|
23
|
+
async function createGlobalEdrContext() {
|
|
24
|
+
const context = new EdrContext();
|
|
25
|
+
await context.registerProviderFactory(GENERIC_CHAIN_TYPE, genericChainProviderFactory());
|
|
26
|
+
await context.registerProviderFactory(L1_CHAIN_TYPE, l1ProviderFactory());
|
|
27
|
+
await context.registerProviderFactory(OP_CHAIN_TYPE, opProviderFactory());
|
|
28
|
+
await context.registerSolidityTestRunnerFactory(L1_CHAIN_TYPE, l1SolidityTestRunnerFactory());
|
|
29
|
+
await context.registerSolidityTestRunnerFactory(OP_CHAIN_TYPE, opSolidityTestRunnerFactory());
|
|
30
|
+
return context;
|
|
13
31
|
}
|
|
14
32
|
//# sourceMappingURL=context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,IAAI,
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../../../src/internal/edr/context.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,kBAAkB,EAClB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,EAC3B,aAAa,EACb,iBAAiB,EACjB,2BAA2B,GAC5B,MAAM,sBAAsB,CAAC;AAE9B,4EAA4E;AAC5E,+EAA+E;AAC/E,wEAAwE;AACxE,wDAAwD;AACxD,IAAI,iBAAkD,CAAC;AAEvD,MAAM,CAAC,KAAK,UAAU,mBAAmB;IACvC,IAAI,iBAAiB,KAAK,SAAS,EAAE,CAAC;QACpC,MAAM,OAAO,GAAG,sBAAsB,EAAE,CAAC;QACzC,iBAAiB,GAAG,OAAO,CAAC;QAE5B,wEAAwE;QACxE,0EAA0E;QAC1E,0EAA0E;QAC1E,WAAW;QACX,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE;YACjB,IAAI,iBAAiB,KAAK,OAAO,EAAE,CAAC;gBAClC,iBAAiB,GAAG,SAAS,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,iBAAiB,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,sBAAsB;IACnC,MAAM,OAAO,GAAG,IAAI,UAAU,EAAE,CAAC;IAEjC,MAAM,OAAO,CAAC,uBAAuB,CACnC,kBAAkB,EAClB,2BAA2B,EAAE,CAC9B,CAAC;IACF,MAAM,OAAO,CAAC,uBAAuB,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,CAAC,uBAAuB,CAAC,aAAa,EAAE,iBAAiB,EAAE,CAAC,CAAC;IAC1E,MAAM,OAAO,CAAC,iCAAiC,CAC7C,aAAa,EACb,2BAA2B,EAAE,CAC9B,CAAC;IACF,MAAM,OAAO,CAAC,iCAAiC,CAC7C,aAAa,EACb,2BAA2B,EAAE,CAC9B,CAAC;IAEF,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { CustomError } from "@nomicfoundation/hardhat-utils/error";
|
|
2
2
|
export declare class UsingHardhat2PluginError extends CustomError {
|
|
3
3
|
readonly callerRelativePath: string | undefined;
|
|
4
|
-
constructor();
|
|
4
|
+
constructor(apiName: string, migrationHint?: string);
|
|
5
5
|
}
|
|
6
6
|
/**
|
|
7
7
|
* Returns the relative path of the file that called a deprecated Hardhat
|
|
@@ -31,5 +31,5 @@ export declare class UsingHardhat2PluginError extends CustomError {
|
|
|
31
31
|
* Calling getCallerRelativePath() returns 'plugins/example-plugin/index.js'
|
|
32
32
|
*/
|
|
33
33
|
export declare function getCallerRelativePath(depth?: number): string | undefined;
|
|
34
|
-
export declare function throwUsingHardhat2PluginError(): never;
|
|
34
|
+
export declare function throwUsingHardhat2PluginError(apiName: string, migrationHint?: string): never;
|
|
35
35
|
//# sourceMappingURL=using-hardhat2-plugin-errors.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"using-hardhat2-plugin-errors.d.ts","sourceRoot":"","sources":["../../../src/internal/using-hardhat2-plugin-errors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,SAAgB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC
|
|
1
|
+
{"version":3,"file":"using-hardhat2-plugin-errors.d.ts","sourceRoot":"","sources":["../../../src/internal/using-hardhat2-plugin-errors.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAGnE,qBAAa,wBAAyB,SAAQ,WAAW;IACvD,SAAgB,kBAAkB,EAAE,MAAM,GAAG,SAAS,CAAC;gBAC3C,OAAO,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,MAAM;CA0BpD;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,GAAE,MAAU,GAAG,MAAM,GAAG,SAAS,CAyC3E;AAED,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,EAAE,MAAM,GACrB,KAAK,CAIP"}
|
|
@@ -4,7 +4,7 @@ import { CustomError } from "@nomicfoundation/hardhat-utils/error";
|
|
|
4
4
|
import { shortenPath } from "@nomicfoundation/hardhat-utils/path";
|
|
5
5
|
export class UsingHardhat2PluginError extends CustomError {
|
|
6
6
|
callerRelativePath;
|
|
7
|
-
constructor() {
|
|
7
|
+
constructor(apiName, migrationHint) {
|
|
8
8
|
const callerPath = getCallerRelativePath();
|
|
9
9
|
let message;
|
|
10
10
|
if (callerPath !== undefined) {
|
|
@@ -15,6 +15,10 @@ This file is part of a Hardhat 2 plugin calling an API that was removed in Hardh
|
|
|
15
15
|
else {
|
|
16
16
|
message = `You are trying to use a Hardhat 2 plugin in a Hardhat 3 project.`;
|
|
17
17
|
}
|
|
18
|
+
message += `\n\nThe removed API is: ${styleText("bold", apiName)}.`;
|
|
19
|
+
if (migrationHint !== undefined) {
|
|
20
|
+
message += `\n\n${migrationHint}`;
|
|
21
|
+
}
|
|
18
22
|
super(message);
|
|
19
23
|
// Use a non-enumerable property so that `console.error(error)` does not
|
|
20
24
|
// print `{ callerRelativePath: '…' }` after the stack trace.
|
|
@@ -87,9 +91,9 @@ export function getCallerRelativePath(depth = 5) {
|
|
|
87
91
|
return undefined;
|
|
88
92
|
}
|
|
89
93
|
}
|
|
90
|
-
export function throwUsingHardhat2PluginError() {
|
|
94
|
+
export function throwUsingHardhat2PluginError(apiName, migrationHint) {
|
|
91
95
|
/* eslint-disable-next-line no-restricted-syntax -- Intentionally throwing a
|
|
92
96
|
custom error here so that we always print the stack trace */
|
|
93
|
-
throw new UsingHardhat2PluginError();
|
|
97
|
+
throw new UsingHardhat2PluginError(apiName, migrationHint);
|
|
94
98
|
}
|
|
95
99
|
//# sourceMappingURL=using-hardhat2-plugin-errors.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"using-hardhat2-plugin-errors.js","sourceRoot":"","sources":["../../../src/internal/using-hardhat2-plugin-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvC,kBAAkB,CAAqB;IACvD;
|
|
1
|
+
{"version":3,"file":"using-hardhat2-plugin-errors.js","sourceRoot":"","sources":["../../../src/internal/using-hardhat2-plugin-errors.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAEtC,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,qCAAqC,CAAC;AAElE,MAAM,OAAO,wBAAyB,SAAQ,WAAW;IACvC,kBAAkB,CAAqB;IACvD,YAAY,OAAe,EAAE,aAAsB;QACjD,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAE3C,IAAI,OAAe,CAAC;QACpB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,GAAG;;wFAEwE,SAAS,CAAC,MAAM,EAAE,UAAU,CAAC,EAAE,CAAC;QACpH,CAAC;aAAM,CAAC;YACN,OAAO,GAAG,kEAAkE,CAAC;QAC/E,CAAC;QAED,OAAO,IAAI,2BAA2B,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC;QAEpE,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;YAChC,OAAO,IAAI,OAAO,aAAa,EAAE,CAAC;QACpC,CAAC;QAED,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,wEAAwE;QACxE,6DAA6D;QAC7D,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,oBAAoB,EAAE;YAChD,KAAK,EAAE,UAAU;YACjB,UAAU,EAAE,KAAK;SAClB,CAAC,CAAC;IACL,CAAC;CACF;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,UAAU,qBAAqB,CAAC,QAAgB,CAAC;IACrD,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC,KAAK,CAAC;QAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;QAChC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,OAAO,SAAS,CAAC;QACnB,CAAC;QAED;;;;;;;;WAQG;QACH,MAAM,sBAAsB,GAC1B,iDAAiD,CAAC;QAEpD,MAAM,KAAK,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;QAC9D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;YAC7C,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAExB,4CAA4C;QAC5C,IAAI,QAAQ,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,QAAQ,GAAG,aAAa,CAAC,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,6BAA6B,CAC3C,OAAe,EACf,aAAsB;IAEtB;kEAC8D;IAC9D,MAAM,IAAI,wBAAwB,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -4,4 +4,8 @@
|
|
|
4
4
|
* nothing. `exclude` then narrows the included set.
|
|
5
5
|
*/
|
|
6
6
|
export declare function isPathSelected(path: string, include: string[], exclude: string[]): boolean;
|
|
7
|
+
/**
|
|
8
|
+
* Returns true if `value` matches at least one of the given glob patterns.
|
|
9
|
+
*/
|
|
10
|
+
export declare function matchesAnyGlob(value: string, patterns: string[]): boolean;
|
|
7
11
|
//# sourceMappingURL=glob.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils/glob.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,OAAO,EAAE,MAAM,EAAE,GAChB,OAAO,CAcT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAQzE"}
|
|
@@ -9,10 +9,10 @@ export function isPathSelected(path, include, exclude) {
|
|
|
9
9
|
if (include.length === 0) {
|
|
10
10
|
return false;
|
|
11
11
|
}
|
|
12
|
-
if (!
|
|
12
|
+
if (!matchesAnyGlob(path, include)) {
|
|
13
13
|
return false;
|
|
14
14
|
}
|
|
15
|
-
if (exclude.length > 0 &&
|
|
15
|
+
if (exclude.length > 0 && matchesAnyGlob(path, exclude)) {
|
|
16
16
|
return false;
|
|
17
17
|
}
|
|
18
18
|
return true;
|
|
@@ -20,7 +20,7 @@ export function isPathSelected(path, include, exclude) {
|
|
|
20
20
|
/**
|
|
21
21
|
* Returns true if `value` matches at least one of the given glob patterns.
|
|
22
22
|
*/
|
|
23
|
-
function
|
|
23
|
+
export function matchesAnyGlob(value, patterns) {
|
|
24
24
|
for (const pattern of patterns) {
|
|
25
25
|
if (getCompiledGlob(pattern).test(value)) {
|
|
26
26
|
return true;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"glob.js","sourceRoot":"","sources":["../../../../src/internal/utils/glob.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"plugins.d.ts","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAErE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAQxD;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,GAAG,aAAa,CAGjE;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,CAE/C;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,KAAK,EAAE,GAAG,GAAG,GAAG,CAE7C"}
|
package/dist/src/plugins.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
export { HardhatPluginError } from "@nomicfoundation/hardhat-errors";
|
|
2
2
|
import { registerLoadedPlugin } from "./internal/core/plugins/loaded-plugins-registry.js";
|
|
3
3
|
import { throwUsingHardhat2PluginError } from "./internal/using-hardhat2-plugin-errors.js";
|
|
4
|
+
const LAZY_LOADING_MIGRATION_HINT = "To migrate a plugin to Hardhat 3, export a plugin object with definePlugin from hardhat/plugins and register lazy-loaded logic through dependencies, hook handlers, and task actions.";
|
|
4
5
|
/**
|
|
5
6
|
* Defines a Hardhat plugin.
|
|
6
7
|
*
|
|
@@ -20,12 +21,12 @@ export function definePlugin(plugin) {
|
|
|
20
21
|
* @deprecated This function is part of the Hardhat 2 plugin API.
|
|
21
22
|
*/
|
|
22
23
|
export function lazyFunction(..._args) {
|
|
23
|
-
throwUsingHardhat2PluginError();
|
|
24
|
+
throwUsingHardhat2PluginError("lazyFunction", LAZY_LOADING_MIGRATION_HINT);
|
|
24
25
|
}
|
|
25
26
|
/**
|
|
26
27
|
* @deprecated This function is part of the Hardhat 2 plugin API.
|
|
27
28
|
*/
|
|
28
29
|
export function lazyObject(..._args) {
|
|
29
|
-
throwUsingHardhat2PluginError();
|
|
30
|
+
throwUsingHardhat2PluginError("lazyObject", LAZY_LOADING_MIGRATION_HINT);
|
|
30
31
|
}
|
|
31
32
|
//# sourceMappingURL=plugins.js.map
|
package/dist/src/plugins.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAE3F;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAG,KAAU;IACxC,6BAA6B,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"plugins.js","sourceRoot":"","sources":["../../src/plugins.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAC;AAIrE,OAAO,EAAE,oBAAoB,EAAE,MAAM,oDAAoD,CAAC;AAC1F,OAAO,EAAE,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAE3F,MAAM,2BAA2B,GAC/B,uLAAuL,CAAC;AAE1L;;;;;;;;;;GAUG;AACH,MAAM,UAAU,YAAY,CAAC,MAAqB;IAChD,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAC7B,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAAG,KAAU;IACxC,6BAA6B,CAAC,cAAc,EAAE,2BAA2B,CAAC,CAAC;AAC7E,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,GAAG,KAAU;IACtC,6BAA6B,CAAC,YAAY,EAAE,2BAA2B,CAAC,CAAC;AAC3E,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hardhat",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.9.1",
|
|
4
4
|
"description": "Hardhat is an extensible developer tool that helps smart contract developers increase productivity by reliably bringing together the tools they want.",
|
|
5
5
|
"homepage": "https://hardhat.org",
|
|
6
6
|
"repository": {
|
|
@@ -77,9 +77,9 @@
|
|
|
77
77
|
"@nomicfoundation/hardhat-test-utils": "^2.0.3"
|
|
78
78
|
},
|
|
79
79
|
"dependencies": {
|
|
80
|
-
"@nomicfoundation/edr": "0.12.
|
|
81
|
-
"@nomicfoundation/hardhat-errors": "^3.0.
|
|
82
|
-
"@nomicfoundation/hardhat-utils": "^4.1.
|
|
80
|
+
"@nomicfoundation/edr": "0.12.1",
|
|
81
|
+
"@nomicfoundation/hardhat-errors": "^3.0.16",
|
|
82
|
+
"@nomicfoundation/hardhat-utils": "^4.1.4",
|
|
83
83
|
"@nomicfoundation/hardhat-vendored": "^3.0.4",
|
|
84
84
|
"@nomicfoundation/hardhat-zod-utils": "^3.0.5",
|
|
85
85
|
"@nomicfoundation/solidity-analyzer": "^0.1.1",
|