hardhat 2.26.4 → 2.27.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.
- package/README.md +3 -3
- package/builtin-tasks/utils/solidity-files-cache.d.ts.map +1 -1
- package/builtin-tasks/utils/solidity-files-cache.js +12 -6
- package/builtin-tasks/utils/solidity-files-cache.js.map +1 -1
- package/internal/hardhat-network/provider/provider.d.ts +8 -3
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +155 -56
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/utils/convertToEdr.d.ts +5 -2
- package/internal/hardhat-network/provider/utils/convertToEdr.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/convertToEdr.js +38 -24
- package/internal/hardhat-network/provider/utils/convertToEdr.js.map +1 -1
- package/package.json +2 -2
- package/src/builtin-tasks/utils/solidity-files-cache.ts +23 -6
- package/src/internal/hardhat-network/provider/provider.ts +249 -104
- package/src/internal/hardhat-network/provider/utils/convertToEdr.ts +62 -27
|
@@ -1,49 +1,49 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.edrTracingMessageToMinimalMessage = exports.edrTracingMessageResultToMinimalEVMResult = exports.edrTracingStepToMinimalInterpreterStep = exports.edrRpcDebugTraceToHardhat = exports.ethereumjsMempoolOrderToEdrMineOrdering = exports.ethereumjsIntervalMiningConfigToEdr = exports.edrSpecIdToEthereumHardfork = exports.ethereumsjsHardforkToEdrSpecId = void 0;
|
|
3
|
+
exports.httpHeadersToEdr = exports.edrTracingMessageToMinimalMessage = exports.edrTracingMessageResultToMinimalEVMResult = exports.edrTracingStepToMinimalInterpreterStep = exports.edrRpcDebugTraceToHardhat = exports.ethereumjsMempoolOrderToEdrMineOrdering = exports.ethereumjsIntervalMiningConfigToEdr = exports.edrSpecIdToEthereumHardfork = exports.ethereumsjsHardforkToEdrSpecId = void 0;
|
|
4
|
+
const edr_1 = require("@nomicfoundation/edr");
|
|
4
5
|
const util_1 = require("@ethereumjs/util");
|
|
5
6
|
const napi_rs_1 = require("../../../../common/napi-rs");
|
|
6
7
|
const hardforks_1 = require("../../../util/hardforks");
|
|
7
8
|
/* eslint-disable @nomicfoundation/hardhat-internal-rules/only-hardhat-error */
|
|
8
9
|
function ethereumsjsHardforkToEdrSpecId(hardfork) {
|
|
9
|
-
const { SpecId } = (0, napi_rs_1.requireNapiRsModule)("@nomicfoundation/edr");
|
|
10
10
|
switch (hardfork) {
|
|
11
11
|
case hardforks_1.HardforkName.FRONTIER:
|
|
12
|
-
return
|
|
12
|
+
return edr_1.FRONTIER;
|
|
13
13
|
case hardforks_1.HardforkName.HOMESTEAD:
|
|
14
|
-
return
|
|
14
|
+
return edr_1.HOMESTEAD;
|
|
15
15
|
case hardforks_1.HardforkName.DAO:
|
|
16
|
-
return
|
|
16
|
+
return edr_1.DAO_FORK;
|
|
17
17
|
case hardforks_1.HardforkName.TANGERINE_WHISTLE:
|
|
18
|
-
return
|
|
18
|
+
return edr_1.TANGERINE;
|
|
19
19
|
case hardforks_1.HardforkName.SPURIOUS_DRAGON:
|
|
20
|
-
return
|
|
20
|
+
return edr_1.SPURIOUS_DRAGON;
|
|
21
21
|
case hardforks_1.HardforkName.BYZANTIUM:
|
|
22
|
-
return
|
|
22
|
+
return edr_1.BYZANTIUM;
|
|
23
23
|
case hardforks_1.HardforkName.CONSTANTINOPLE:
|
|
24
|
-
return
|
|
24
|
+
return edr_1.CONSTANTINOPLE;
|
|
25
25
|
case hardforks_1.HardforkName.PETERSBURG:
|
|
26
|
-
return
|
|
26
|
+
return edr_1.PETERSBURG;
|
|
27
27
|
case hardforks_1.HardforkName.ISTANBUL:
|
|
28
|
-
return
|
|
28
|
+
return edr_1.ISTANBUL;
|
|
29
29
|
case hardforks_1.HardforkName.MUIR_GLACIER:
|
|
30
|
-
return
|
|
30
|
+
return edr_1.MUIR_GLACIER;
|
|
31
31
|
case hardforks_1.HardforkName.BERLIN:
|
|
32
|
-
return
|
|
32
|
+
return edr_1.BERLIN;
|
|
33
33
|
case hardforks_1.HardforkName.LONDON:
|
|
34
|
-
return
|
|
34
|
+
return edr_1.LONDON;
|
|
35
35
|
case hardforks_1.HardforkName.ARROW_GLACIER:
|
|
36
|
-
return
|
|
36
|
+
return edr_1.ARROW_GLACIER;
|
|
37
37
|
case hardforks_1.HardforkName.GRAY_GLACIER:
|
|
38
|
-
return
|
|
38
|
+
return edr_1.GRAY_GLACIER;
|
|
39
39
|
case hardforks_1.HardforkName.MERGE:
|
|
40
|
-
return
|
|
40
|
+
return edr_1.MERGE;
|
|
41
41
|
case hardforks_1.HardforkName.SHANGHAI:
|
|
42
|
-
return
|
|
42
|
+
return edr_1.SHANGHAI;
|
|
43
43
|
case hardforks_1.HardforkName.CANCUN:
|
|
44
|
-
return
|
|
44
|
+
return edr_1.CANCUN;
|
|
45
45
|
case hardforks_1.HardforkName.PRAGUE:
|
|
46
|
-
return
|
|
46
|
+
return edr_1.PRAGUE;
|
|
47
47
|
default:
|
|
48
48
|
const _exhaustiveCheck = hardfork;
|
|
49
49
|
throw new Error(`Unknown hardfork name '${hardfork}', this shouldn't happen`);
|
|
@@ -154,7 +154,7 @@ function edrRpcDebugTraceToHardhat(rpcDebugTrace) {
|
|
|
154
154
|
if (structLogs.length > 0 && structLogs[0].op === "STOP") {
|
|
155
155
|
structLogs.shift();
|
|
156
156
|
}
|
|
157
|
-
let returnValue = rpcDebugTrace.output?.toString(
|
|
157
|
+
let returnValue = rpcDebugTrace.output?.toString() ?? "";
|
|
158
158
|
if (returnValue === "0x") {
|
|
159
159
|
returnValue = "";
|
|
160
160
|
}
|
|
@@ -197,11 +197,11 @@ function edrTracingMessageResultToMinimalEVMResult(tracingMessageResult) {
|
|
|
197
197
|
}
|
|
198
198
|
if ("output" in result) {
|
|
199
199
|
const { output } = result;
|
|
200
|
-
if (
|
|
201
|
-
minimalEVMResult.execResult.output = output;
|
|
200
|
+
if (output instanceof Uint8Array) {
|
|
201
|
+
minimalEVMResult.execResult.output = Buffer.from(output);
|
|
202
202
|
}
|
|
203
203
|
else {
|
|
204
|
-
minimalEVMResult.execResult.output = output.returnValue;
|
|
204
|
+
minimalEVMResult.execResult.output = Buffer.from(output.returnValue);
|
|
205
205
|
}
|
|
206
206
|
}
|
|
207
207
|
if (contractAddress !== undefined) {
|
|
@@ -224,4 +224,18 @@ function edrTracingMessageToMinimalMessage(message) {
|
|
|
224
224
|
};
|
|
225
225
|
}
|
|
226
226
|
exports.edrTracingMessageToMinimalMessage = edrTracingMessageToMinimalMessage;
|
|
227
|
+
function httpHeadersToEdr(input) {
|
|
228
|
+
let httpHeaders;
|
|
229
|
+
if (input !== undefined) {
|
|
230
|
+
httpHeaders = [];
|
|
231
|
+
for (const [name, value] of Object.entries(input)) {
|
|
232
|
+
httpHeaders.push({
|
|
233
|
+
name,
|
|
234
|
+
value,
|
|
235
|
+
});
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
return httpHeaders;
|
|
239
|
+
}
|
|
240
|
+
exports.httpHeadersToEdr = httpHeadersToEdr;
|
|
227
241
|
//# sourceMappingURL=convertToEdr.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"convertToEdr.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"convertToEdr.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/utils/convertToEdr.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "hardhat",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.27.0",
|
|
4
4
|
"author": "Nomic Labs LLC",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"homepage": "https://hardhat.org",
|
|
@@ -86,7 +86,7 @@
|
|
|
86
86
|
"dependencies": {
|
|
87
87
|
"@ethereumjs/util": "^9.1.0",
|
|
88
88
|
"@ethersproject/abi": "^5.1.2",
|
|
89
|
-
"@nomicfoundation/edr": "^0.
|
|
89
|
+
"@nomicfoundation/edr": "^0.12.0-next.7",
|
|
90
90
|
"@nomicfoundation/solidity-analyzer": "^0.1.0",
|
|
91
91
|
"@sentry/node": "^5.18.1",
|
|
92
92
|
"adm-zip": "^0.4.16",
|
|
@@ -53,12 +53,32 @@ export class SolidityFilesCache {
|
|
|
53
53
|
public static async readFromFile(
|
|
54
54
|
solidityFilesCachePath: string
|
|
55
55
|
): Promise<SolidityFilesCache> {
|
|
56
|
-
|
|
56
|
+
const defaultCache: Cache = {
|
|
57
57
|
_format: FORMAT_VERSION,
|
|
58
58
|
files: {},
|
|
59
59
|
};
|
|
60
|
+
let cacheRaw = defaultCache;
|
|
61
|
+
|
|
60
62
|
if (await fsExtra.pathExists(solidityFilesCachePath)) {
|
|
61
|
-
|
|
63
|
+
try {
|
|
64
|
+
cacheRaw = await fsExtra.readJson(solidityFilesCachePath);
|
|
65
|
+
} catch (error) {
|
|
66
|
+
log(
|
|
67
|
+
"Failed to read solidity files cache at %s. Removing it. %O",
|
|
68
|
+
solidityFilesCachePath,
|
|
69
|
+
error
|
|
70
|
+
);
|
|
71
|
+
|
|
72
|
+
await fsExtra
|
|
73
|
+
.remove(solidityFilesCachePath)
|
|
74
|
+
.catch((removalError) =>
|
|
75
|
+
log(
|
|
76
|
+
"Failed to remove invalid solidity files cache at %s: %O",
|
|
77
|
+
solidityFilesCachePath,
|
|
78
|
+
removalError
|
|
79
|
+
)
|
|
80
|
+
);
|
|
81
|
+
}
|
|
62
82
|
}
|
|
63
83
|
|
|
64
84
|
const result = CacheCodec.decode(cacheRaw);
|
|
@@ -71,10 +91,7 @@ export class SolidityFilesCache {
|
|
|
71
91
|
|
|
72
92
|
log("There was a problem reading the cache");
|
|
73
93
|
|
|
74
|
-
return new SolidityFilesCache(
|
|
75
|
-
_format: FORMAT_VERSION,
|
|
76
|
-
files: {},
|
|
77
|
-
});
|
|
94
|
+
return new SolidityFilesCache(defaultCache);
|
|
78
95
|
}
|
|
79
96
|
|
|
80
97
|
constructor(private _cache: Cache) {}
|