hardhat 2.13.0-dev.2 → 2.13.0-dev.3
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/builtin-tasks/compile.js +16 -6
- package/builtin-tasks/compile.js.map +1 -1
- package/builtin-tasks/flatten.js +1 -1
- package/builtin-tasks/flatten.js.map +1 -1
- package/builtin-tasks/help.js +2 -4
- package/builtin-tasks/help.js.map +1 -1
- package/builtin-tasks/task-names.d.ts +1 -0
- package/builtin-tasks/task-names.d.ts.map +1 -1
- package/builtin-tasks/task-names.js +3 -2
- package/builtin-tasks/task-names.js.map +1 -1
- package/builtin-tasks/test.js +22 -1
- package/builtin-tasks/test.js.map +1 -1
- package/internal/cli/bootstrap.d.ts +1 -0
- package/internal/cli/bootstrap.js +12 -20
- package/internal/cli/bootstrap.js.map +1 -1
- package/internal/cli/cli.d.ts +0 -1
- package/internal/cli/cli.d.ts.map +1 -1
- package/internal/cli/cli.js +20 -29
- package/internal/cli/cli.js.map +1 -1
- package/internal/cli/project-creation.d.ts +1 -2
- package/internal/cli/project-creation.d.ts.map +1 -1
- package/internal/cli/project-creation.js +105 -36
- package/internal/cli/project-creation.js.map +1 -1
- package/internal/cli/prompt.d.ts +2 -2
- package/internal/cli/prompt.d.ts.map +1 -1
- package/internal/cli/prompt.js +1 -2
- package/internal/cli/prompt.js.map +1 -1
- package/internal/cli/types.d.ts +1 -0
- package/internal/cli/types.d.ts.map +1 -1
- package/internal/core/config/config-env.d.ts +5 -11
- package/internal/core/config/config-env.d.ts.map +1 -1
- package/internal/core/config/config-env.js +2 -13
- package/internal/core/config/config-env.js.map +1 -1
- package/internal/core/config/config-loading.d.ts +2 -1
- package/internal/core/config/config-loading.d.ts.map +1 -1
- package/internal/core/config/config-loading.js +25 -7
- package/internal/core/config/config-loading.js.map +1 -1
- package/internal/core/config/config-validation.d.ts +2 -0
- package/internal/core/config/config-validation.d.ts.map +1 -1
- package/internal/core/config/config-validation.js +18 -1
- package/internal/core/config/config-validation.js.map +1 -1
- package/internal/core/config/extenders.d.ts +4 -7
- package/internal/core/config/extenders.d.ts.map +1 -1
- package/internal/core/config/extenders.js +5 -12
- package/internal/core/config/extenders.js.map +1 -1
- package/internal/core/errors-list.d.ts +28 -7
- package/internal/core/errors-list.d.ts.map +1 -1
- package/internal/core/errors-list.js +33 -10
- package/internal/core/errors-list.js.map +1 -1
- package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -3
- package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
- package/internal/core/project-structure.d.ts.map +1 -1
- package/internal/core/project-structure.js +6 -0
- package/internal/core/project-structure.js.map +1 -1
- package/internal/core/providers/construction.d.ts.map +1 -1
- package/internal/core/providers/construction.js +25 -5
- package/internal/core/providers/construction.js.map +1 -1
- package/internal/core/providers/http.d.ts +2 -2
- package/internal/core/providers/http.d.ts.map +1 -1
- package/internal/core/providers/http.js +41 -19
- package/internal/core/providers/http.js.map +1 -1
- package/internal/core/runtime-environment.d.ts +4 -2
- package/internal/core/runtime-environment.d.ts.map +1 -1
- package/internal/core/runtime-environment.js +39 -47
- package/internal/core/runtime-environment.js.map +1 -1
- package/internal/core/tasks/dsl.d.ts +6 -6
- package/internal/core/tasks/dsl.d.ts.map +1 -1
- package/internal/core/tasks/dsl.js.map +1 -1
- package/internal/core/tasks/task-definitions.d.ts +2 -2
- package/internal/core/tasks/task-definitions.d.ts.map +1 -1
- package/internal/core/tasks/task-definitions.js.map +1 -1
- package/internal/hardhat-network/jsonrpc/handler.d.ts +1 -0
- package/internal/hardhat-network/jsonrpc/handler.d.ts.map +1 -1
- package/internal/hardhat-network/jsonrpc/handler.js +13 -18
- package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
- package/internal/hardhat-network/provider/RethnetState.d.ts +26 -0
- package/internal/hardhat-network/provider/RethnetState.d.ts.map +1 -0
- package/internal/hardhat-network/provider/RethnetState.js +84 -0
- package/internal/hardhat-network/provider/RethnetState.js.map +1 -0
- package/internal/hardhat-network/provider/modules/evm.d.ts +2 -1
- package/internal/hardhat-network/provider/modules/evm.d.ts.map +1 -1
- package/internal/hardhat-network/provider/modules/evm.js +10 -4
- package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
- package/internal/hardhat-network/provider/node-types.d.ts +1 -1
- package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.d.ts +1 -0
- package/internal/hardhat-network/provider/node.d.ts.map +1 -1
- package/internal/hardhat-network/provider/node.js +6 -4
- package/internal/hardhat-network/provider/node.js.map +1 -1
- package/internal/hardhat-network/provider/provider.d.ts +25 -21
- package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
- package/internal/hardhat-network/provider/provider.js +25 -42
- package/internal/hardhat-network/provider/provider.js.map +1 -1
- package/internal/hardhat-network/provider/return-data.js +2 -2
- package/internal/hardhat-network/provider/return-data.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +4 -2
- package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +4 -2
- package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +4 -2
- package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
- package/internal/hardhat-network/provider/utils/bloom.d.ts +32 -0
- package/internal/hardhat-network/provider/utils/bloom.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/bloom.js +79 -0
- package/internal/hardhat-network/provider/utils/bloom.js.map +1 -0
- package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts +12 -0
- package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/convertToRethnet.js +162 -0
- package/internal/hardhat-network/provider/utils/convertToRethnet.js.map +1 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts +7 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts.map +1 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.js +31 -0
- package/internal/hardhat-network/provider/utils/makeFakeSignature.js.map +1 -0
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +1 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js +2 -2
- package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
- package/internal/hardhat-network/provider/vm/block-builder.d.ts +31 -0
- package/internal/hardhat-network/provider/vm/block-builder.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/block-builder.js +151 -0
- package/internal/hardhat-network/provider/vm/block-builder.js.map +1 -0
- package/internal/hardhat-network/provider/vm/creation.d.ts +10 -0
- package/internal/hardhat-network/provider/vm/creation.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/creation.js +29 -0
- package/internal/hardhat-network/provider/vm/creation.js.map +1 -0
- package/internal/hardhat-network/provider/vm/dual.d.ts +43 -0
- package/internal/hardhat-network/provider/vm/dual.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/dual.js +488 -0
- package/internal/hardhat-network/provider/vm/dual.js.map +1 -0
- package/internal/hardhat-network/provider/vm/ethereumjs.d.ts +56 -0
- package/internal/hardhat-network/provider/vm/ethereumjs.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/ethereumjs.js +416 -0
- package/internal/hardhat-network/provider/vm/ethereumjs.js.map +1 -0
- package/internal/hardhat-network/provider/vm/exit.d.ts +23 -0
- package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/exit.js +130 -0
- package/internal/hardhat-network/provider/vm/exit.js.map +1 -0
- package/internal/hardhat-network/provider/vm/rethnet.d.ts +99 -0
- package/internal/hardhat-network/provider/vm/rethnet.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/rethnet.js +284 -0
- package/internal/hardhat-network/provider/vm/rethnet.js.map +1 -0
- package/internal/hardhat-network/provider/vm/vm-adapter.d.ts +52 -0
- package/internal/hardhat-network/provider/vm/vm-adapter.d.ts.map +1 -0
- package/internal/hardhat-network/provider/vm/vm-adapter.js +3 -0
- package/internal/hardhat-network/provider/vm/vm-adapter.js.map +1 -0
- package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/compiler-to-model.js +37 -11
- package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
- package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
- package/internal/hardhat-network/stack-traces/constants.js +1 -1
- package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/debug.js +6 -2
- package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
- package/internal/hardhat-network/stack-traces/error-inferrer.d.ts +1 -0
- package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/error-inferrer.js +85 -55
- package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
- package/internal/hardhat-network/stack-traces/model.d.ts +3 -1
- package/internal/hardhat-network/stack-traces/model.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/model.js +9 -1
- package/internal/hardhat-network/stack-traces/model.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-errors.js +2 -2
- package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +2 -2
- package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
- package/internal/hardhat-network/stack-traces/solidityTracer.js +1 -0
- package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
- package/internal/lib/hardhat-lib.d.ts.map +1 -1
- package/internal/lib/hardhat-lib.js +1 -4
- package/internal/lib/hardhat-lib.js.map +1 -1
- package/internal/solidity/compiler/downloader.js +2 -2
- package/internal/solidity/compiler/downloader.js.map +1 -1
- package/internal/solidity/compiler/index.js +1 -1
- package/internal/solidity/compiler/index.js.map +1 -1
- package/internal/solidity/resolver.d.ts +4 -3
- package/internal/solidity/resolver.d.ts.map +1 -1
- package/internal/solidity/resolver.js +18 -7
- package/internal/solidity/resolver.js.map +1 -1
- package/internal/util/abi-helpers.d.ts +1 -0
- package/internal/util/abi-helpers.d.ts.map +1 -1
- package/internal/util/abi-helpers.js +9 -0
- package/internal/util/abi-helpers.js.map +1 -1
- package/internal/util/download.d.ts.map +1 -1
- package/internal/util/download.js +12 -11
- package/internal/util/download.js.map +1 -1
- package/internal/util/packageInfo.d.ts +6 -1
- package/internal/util/packageInfo.d.ts.map +1 -1
- package/internal/util/packageInfo.js +14 -11
- package/internal/util/packageInfo.js.map +1 -1
- package/internal/util/proxy.d.ts +2 -0
- package/internal/util/proxy.d.ts.map +1 -0
- package/internal/util/proxy.js +19 -0
- package/internal/util/proxy.js.map +1 -0
- package/package.json +9 -10
- package/register.js +1 -4
- package/register.js.map +1 -1
- package/sample-projects/javascript/hardhat.config.js +1 -1
- package/sample-projects/javascript/scripts/deploy.js +2 -2
- package/sample-projects/javascript-esm/LICENSE.md +11 -0
- package/sample-projects/javascript-esm/README.md +13 -0
- package/sample-projects/javascript-esm/contracts/Lock.sol +34 -0
- package/sample-projects/javascript-esm/hardhat.config.cjs +6 -0
- package/sample-projects/javascript-esm/scripts/deploy.js +22 -0
- package/sample-projects/javascript-esm/test/Lock.js +123 -0
- package/sample-projects/typescript/hardhat.config.ts +1 -1
- package/sample-projects/typescript/scripts/deploy.ts +2 -2
- package/sample-projects/typescript/tsconfig.json +2 -1
- package/src/builtin-tasks/compile.ts +28 -7
- package/src/builtin-tasks/flatten.ts +4 -1
- package/src/builtin-tasks/help.ts +15 -16
- package/src/builtin-tasks/task-names.ts +2 -0
- package/src/builtin-tasks/test.ts +30 -2
- package/src/internal/artifacts.ts +947 -0
- package/src/internal/cli/bootstrap.ts +14 -36
- package/src/internal/cli/cli.ts +38 -43
- package/src/internal/cli/project-creation.ts +128 -47
- package/src/internal/cli/prompt.ts +2 -4
- package/src/internal/cli/types.ts +2 -0
- package/src/internal/core/config/config-env.ts +15 -27
- package/src/internal/core/config/config-loading.ts +35 -11
- package/src/internal/core/config/config-validation.ts +20 -0
- package/src/internal/core/config/extenders.ts +6 -15
- package/src/internal/core/errors-list.ts +36 -10
- package/src/internal/core/project-structure.ts +8 -0
- package/src/internal/core/providers/construction.ts +29 -24
- package/src/internal/core/providers/http.ts +38 -26
- package/src/internal/core/runtime-environment.ts +65 -60
- package/src/internal/core/tasks/dsl.ts +17 -17
- package/src/internal/core/tasks/task-definitions.ts +6 -2
- package/src/internal/hardhat-network/jsonrpc/handler.ts +31 -28
- package/src/internal/hardhat-network/provider/modules/evm.ts +15 -3
- package/src/internal/hardhat-network/provider/node-types.ts +1 -1
- package/src/internal/hardhat-network/provider/node.ts +5 -1
- package/src/internal/hardhat-network/provider/provider.ts +60 -49
- package/src/internal/hardhat-network/provider/return-data.ts +2 -2
- package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +5 -2
- package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +5 -2
- package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +5 -2
- package/src/internal/hardhat-network/provider/utils/makeFakeSignature.ts +46 -0
- package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +2 -2
- package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +71 -9
- package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/constants.ts +1 -1
- package/src/internal/hardhat-network/stack-traces/debug.ts +9 -2
- package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +177 -89
- package/src/internal/hardhat-network/stack-traces/model.ts +11 -1
- package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +2 -2
- package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +2 -2
- package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +3 -0
- package/src/internal/lib/hardhat-lib.ts +1 -6
- package/src/internal/solidity/compiler/downloader.ts +2 -2
- package/src/internal/solidity/compiler/index.ts +1 -1
- package/src/internal/solidity/resolver.ts +28 -11
- package/src/internal/util/abi-helpers.ts +9 -0
- package/src/internal/util/download.ts +13 -15
- package/src/internal/util/packageInfo.ts +24 -10
- package/src/internal/util/proxy.ts +18 -0
- package/src/register.ts +1 -6
- package/src/types/artifacts.ts +14 -112
- package/src/types/config.ts +2 -0
- package/src/types/runtime.ts +16 -13
- package/types/artifacts.d.ts +10 -96
- package/types/artifacts.d.ts.map +1 -1
- package/types/config.d.ts +2 -0
- package/types/config.d.ts.map +1 -1
- package/types/runtime.d.ts +9 -10
- package/types/runtime.d.ts.map +1 -1
- package/internal/artifacts/caching.d.ts +0 -28
- package/internal/artifacts/caching.d.ts.map +0 -1
- package/internal/artifacts/caching.js +0 -178
- package/internal/artifacts/caching.js.map +0 -1
- package/internal/artifacts/index.d.ts +0 -45
- package/internal/artifacts/index.d.ts.map +0 -1
- package/internal/artifacts/index.js +0 -191
- package/internal/artifacts/index.js.map +0 -1
- package/internal/artifacts/mutable.d.ts +0 -29
- package/internal/artifacts/mutable.d.ts.map +0 -1
- package/internal/artifacts/mutable.js +0 -226
- package/internal/artifacts/mutable.js.map +0 -1
- package/internal/artifacts/readonly.d.ts +0 -94
- package/internal/artifacts/readonly.d.ts.map +0 -1
- package/internal/artifacts/readonly.js +0 -343
- package/internal/artifacts/readonly.js.map +0 -1
- package/src/internal/artifacts/caching.ts +0 -259
- package/src/internal/artifacts/index.ts +0 -302
- package/src/internal/artifacts/mutable.ts +0 -330
- package/src/internal/artifacts/readonly.ts +0 -470
|
@@ -60,28 +60,13 @@ class JsonRpcHandler {
|
|
|
60
60
|
let rpcResp;
|
|
61
61
|
try {
|
|
62
62
|
rpcReq = _readWsRequest(msg);
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
rpcResp = await this._handleRequest(rpcReq);
|
|
67
|
-
// If eth_subscribe was successful, keep track of the subscription id,
|
|
68
|
-
// so we can cleanup on websocket close.
|
|
69
|
-
if (rpcReq.method === "eth_subscribe" &&
|
|
70
|
-
(0, jsonrpc_1.isSuccessfulJsonResponse)(rpcResp)) {
|
|
71
|
-
subscriptions.push(rpcResp.result);
|
|
72
|
-
}
|
|
63
|
+
rpcResp = Array.isArray(rpcReq)
|
|
64
|
+
? await Promise.all(rpcReq.map((req) => this._handleSingleWsRequest(req, subscriptions)))
|
|
65
|
+
: await this._handleSingleWsRequest(rpcReq, subscriptions);
|
|
73
66
|
}
|
|
74
67
|
catch (error) {
|
|
75
68
|
rpcResp = _handleError(error);
|
|
76
69
|
}
|
|
77
|
-
// Validate the RPC response.
|
|
78
|
-
if (!(0, jsonrpc_1.isValidJsonResponse)(rpcResp)) {
|
|
79
|
-
// Malformed response coming from the provider, report to user as an internal error.
|
|
80
|
-
rpcResp = _handleError(new errors_1.InternalError("Internal error"));
|
|
81
|
-
}
|
|
82
|
-
if (rpcReq !== undefined) {
|
|
83
|
-
rpcResp.id = rpcReq.id;
|
|
84
|
-
}
|
|
85
70
|
ws.send(JSON.stringify(rpcResp));
|
|
86
71
|
});
|
|
87
72
|
ws.on("close", () => {
|
|
@@ -146,6 +131,16 @@ class JsonRpcHandler {
|
|
|
146
131
|
}
|
|
147
132
|
return rpcResp;
|
|
148
133
|
}
|
|
134
|
+
async _handleSingleWsRequest(rpcReq, subscriptions) {
|
|
135
|
+
const rpcResp = await this._handleSingleRequest(rpcReq);
|
|
136
|
+
// If eth_subscribe was successful, keep track of the subscription id,
|
|
137
|
+
// so we can cleanup on websocket close.
|
|
138
|
+
if (rpcReq.method === "eth_subscribe" &&
|
|
139
|
+
(0, jsonrpc_1.isSuccessfulJsonResponse)(rpcResp)) {
|
|
140
|
+
subscriptions.push(rpcResp.result);
|
|
141
|
+
}
|
|
142
|
+
return rpcResp;
|
|
143
|
+
}
|
|
149
144
|
}
|
|
150
145
|
exports.JsonRpcHandler = JsonRpcHandler;
|
|
151
146
|
const _readJsonHttpRequest = async (req) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/handler.ts"],"names":[],"mappings":";;;;;;AACA,wDAAkC;AAIlC,wDAKqC;AACrC,gDAO4B;AAE5B,yEAAyE;AAEzE,MAAa,cAAc;IACzB,YAA6B,SAA0B;QAA1B,cAAS,GAAT,SAAS,CAAiB;QAEhD,eAAU,GAAG,KAAK,EAAE,GAAoB,EAAE,GAAmB,EAAE,EAAE;YACtE,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE;gBAC5B,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,CAAC;gBAC7B,OAAO;aACR;YAED,IAAI,eAAoB,CAAC;YACzB,IAAI;gBACF,eAAe,GAAG,MAAM,oBAAoB,CAAC,GAAG,CAAC,CAAC;aACnD;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBAC7C,OAAO;aACR;YAED,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBAClC,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,eAAe,CAAC,GAAG,CAAC,CAAC,SAAc,EAAE,EAAE,CACrC,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CACrC,CACF,CAAC;gBAEF,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;gBACnC,OAAO;aACR;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,oBAAoB,CAAC,eAAe,CAAC,CAAC;YAEjE,IAAI,CAAC,aAAa,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;QACnC,CAAC,CAAC;QAEK,aAAQ,GAAG,KAAK,EAAE,EAAa,EAAE,EAAE;YACxC,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,QAAQ,GAAG,KAAK,CAAC;YAErB,MAAM,QAAQ,GAAG,CAAC,OAA8C,EAAE,EAAE;gBAClE,oFAAoF;gBACpF,uFAAuF;gBACvF,IAAI,QAAQ,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE;oBAC7D,OAAO;iBACR;gBAED,IAAI;oBACF,EAAE,CAAC,IAAI,CACL,IAAI,CAAC,SAAS,CAAC;wBACb,OAAO,EAAE,KAAK;wBACd,MAAM,EAAE,kBAAkB;wBAC1B,MAAM,EAAE,OAAO;qBAChB,CAAC,CACH,CAAC;iBACH;gBAAC,OAAO,KAAK,EAAE;oBACd,YAAY,CAAC,KAAK,CAAC,CAAC;iBACrB;YACH,CAAC,CAAC;YAEF,sCAAsC;YACtC,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;YAErD,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;gBAC7B,IAAI,
|
|
1
|
+
{"version":3,"file":"handler.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/jsonrpc/handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { Address } from "@nomicfoundation/ethereumjs-util";
|
|
3
|
+
import { StateManager, Account, Bytecode } from "rethnet-evm";
|
|
4
|
+
import { GenesisAccount } from "./node-types";
|
|
5
|
+
export declare class RethnetStateManager {
|
|
6
|
+
private _state;
|
|
7
|
+
constructor(_state?: StateManager);
|
|
8
|
+
static withGenesisAccounts(genesisAccounts: GenesisAccount[]): RethnetStateManager;
|
|
9
|
+
asInner(): StateManager;
|
|
10
|
+
accountExists(address: Address): Promise<boolean>;
|
|
11
|
+
getAccount(address: Address): Promise<Account | null>;
|
|
12
|
+
getAccountStorageRoot(address: Address): Promise<Buffer | null>;
|
|
13
|
+
accountIsEmpty(address: Address): Promise<boolean>;
|
|
14
|
+
deleteAccount(address: Address): Promise<void>;
|
|
15
|
+
makeSnapshot(): Promise<Buffer>;
|
|
16
|
+
modifyAccount(address: Address, modifyAccountFn: (balance: bigint, nonce: bigint, code: Bytecode | undefined) => Promise<Account>): Promise<void>;
|
|
17
|
+
getContractCode(address: Address): Promise<Buffer>;
|
|
18
|
+
getContractStorage(address: Address, key: Buffer): Promise<Buffer>;
|
|
19
|
+
putContractStorage(address: Address, key: Buffer, value: Buffer): Promise<void>;
|
|
20
|
+
checkpoint(): Promise<void>;
|
|
21
|
+
commit(): Promise<void>;
|
|
22
|
+
revert(): Promise<void>;
|
|
23
|
+
getStateRoot(): Promise<Buffer>;
|
|
24
|
+
setStateRoot(stateRoot: Buffer): Promise<void>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=RethnetState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RethnetState.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/RethnetState.ts"],"names":[],"mappings":";AAAA,OAAO,EACL,OAAO,EAGR,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAC9D,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAK9C,qBAAa,mBAAmB;IAClB,OAAO,CAAC,MAAM;gBAAN,MAAM,GAAE,YAAiC;WAE/C,mBAAmB,CAC/B,eAAe,EAAE,cAAc,EAAE,GAChC,mBAAmB;IAaf,OAAO,IAAI,YAAY;IAIjB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjD,UAAU,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;IAIrD,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IAI/D,cAAc,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;IAUlD,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9C,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,aAAa,CACxB,OAAO,EAAE,OAAO,EAChB,eAAe,EAAE,CACf,OAAO,EAAE,MAAM,EACf,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,QAAQ,GAAG,SAAS,KACvB,OAAO,CAAC,OAAO,CAAC,GACpB,OAAO,CAAC,IAAI,CAAC;IAIH,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAalD,kBAAkB,CAC7B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,MAAM,CAAC;IAOL,kBAAkB,CAC7B,OAAO,EAAE,OAAO,EAChB,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,GACZ,OAAO,CAAC,IAAI,CAAC;IAOH,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IAI3B,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAEvB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAIvB,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IAI/B,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;CAG5D"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.RethnetStateManager = void 0;
|
|
4
|
+
const ethereumjs_util_1 = require("@nomicfoundation/ethereumjs-util");
|
|
5
|
+
const rethnet_evm_1 = require("rethnet-evm");
|
|
6
|
+
/* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
|
|
7
|
+
/* eslint-disable @typescript-eslint/no-unused-vars */
|
|
8
|
+
class RethnetStateManager {
|
|
9
|
+
constructor(_state = new rethnet_evm_1.StateManager()) {
|
|
10
|
+
this._state = _state;
|
|
11
|
+
}
|
|
12
|
+
static withGenesisAccounts(genesisAccounts) {
|
|
13
|
+
return new RethnetStateManager(rethnet_evm_1.StateManager.withGenesisAccounts(genesisAccounts.map((account) => {
|
|
14
|
+
return {
|
|
15
|
+
privateKey: account.privateKey,
|
|
16
|
+
balance: BigInt(account.balance),
|
|
17
|
+
};
|
|
18
|
+
})));
|
|
19
|
+
}
|
|
20
|
+
asInner() {
|
|
21
|
+
return this._state;
|
|
22
|
+
}
|
|
23
|
+
async accountExists(address) {
|
|
24
|
+
const account = await this._state.getAccountByAddress(address.buf);
|
|
25
|
+
return account !== null;
|
|
26
|
+
}
|
|
27
|
+
async getAccount(address) {
|
|
28
|
+
return this._state.getAccountByAddress(address.buf);
|
|
29
|
+
}
|
|
30
|
+
async getAccountStorageRoot(address) {
|
|
31
|
+
return this._state.getAccountStorageRoot(address.buf);
|
|
32
|
+
}
|
|
33
|
+
async accountIsEmpty(address) {
|
|
34
|
+
const account = await this._state.getAccountByAddress(address.buf);
|
|
35
|
+
return (account === null ||
|
|
36
|
+
(account.balance === 0n &&
|
|
37
|
+
account.nonce === 0n &&
|
|
38
|
+
account.code === undefined));
|
|
39
|
+
}
|
|
40
|
+
async deleteAccount(address) {
|
|
41
|
+
await this._state.removeAccount(address.buf);
|
|
42
|
+
}
|
|
43
|
+
async makeSnapshot() {
|
|
44
|
+
return this._state.makeSnapshot();
|
|
45
|
+
}
|
|
46
|
+
async modifyAccount(address, modifyAccountFn) {
|
|
47
|
+
await this._state.modifyAccount(address.buf, modifyAccountFn);
|
|
48
|
+
}
|
|
49
|
+
async getContractCode(address) {
|
|
50
|
+
const account = await this._state.getAccountByAddress(address.buf);
|
|
51
|
+
if (account === null) {
|
|
52
|
+
return Buffer.allocUnsafe(0);
|
|
53
|
+
}
|
|
54
|
+
if (account.code !== undefined) {
|
|
55
|
+
return account.code.code;
|
|
56
|
+
}
|
|
57
|
+
return Buffer.from([]);
|
|
58
|
+
}
|
|
59
|
+
async getContractStorage(address, key) {
|
|
60
|
+
const index = (0, ethereumjs_util_1.bufferToBigInt)(key);
|
|
61
|
+
const value = await this._state.getAccountStorageSlot(address.buf, index);
|
|
62
|
+
return (0, ethereumjs_util_1.toBuffer)(value);
|
|
63
|
+
}
|
|
64
|
+
async putContractStorage(address, key, value) {
|
|
65
|
+
const index = (0, ethereumjs_util_1.bufferToBigInt)(key);
|
|
66
|
+
const number = (0, ethereumjs_util_1.bufferToBigInt)(value);
|
|
67
|
+
await this._state.setAccountStorageSlot(address.buf, index, number);
|
|
68
|
+
}
|
|
69
|
+
async checkpoint() {
|
|
70
|
+
return this._state.checkpoint();
|
|
71
|
+
}
|
|
72
|
+
async commit() { }
|
|
73
|
+
async revert() {
|
|
74
|
+
return this._state.revert();
|
|
75
|
+
}
|
|
76
|
+
async getStateRoot() {
|
|
77
|
+
return this._state.getStateRoot();
|
|
78
|
+
}
|
|
79
|
+
async setStateRoot(stateRoot) {
|
|
80
|
+
return this._state.setStateRoot(stateRoot);
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
exports.RethnetStateManager = RethnetStateManager;
|
|
84
|
+
//# sourceMappingURL=RethnetState.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RethnetState.js","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/RethnetState.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,8 +6,9 @@ export declare class EvmModule {
|
|
|
6
6
|
private readonly _node;
|
|
7
7
|
private readonly _miningTimer;
|
|
8
8
|
private readonly _logger;
|
|
9
|
+
private readonly _allowBlocksWithSameTimestamp;
|
|
9
10
|
private readonly _experimentalHardhatNetworkMessageTraceHooks;
|
|
10
|
-
constructor(_node: HardhatNode, _miningTimer: MiningTimer, _logger: ModulesLogger, _experimentalHardhatNetworkMessageTraceHooks?: BoundExperimentalHardhatNetworkMessageTraceHook[]);
|
|
11
|
+
constructor(_node: HardhatNode, _miningTimer: MiningTimer, _logger: ModulesLogger, _allowBlocksWithSameTimestamp: boolean, _experimentalHardhatNetworkMessageTraceHooks?: BoundExperimentalHardhatNetworkMessageTraceHook[]);
|
|
11
12
|
processRequest(method: string, params?: any[]): Promise<any>;
|
|
12
13
|
private _setNextBlockTimestampParams;
|
|
13
14
|
private _setNextBlockTimestampAction;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/evm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+CAA+C,EAAE,MAAM,mBAAmB,CAAC;AAepF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,4CAA4C;
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/evm.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,+CAA+C,EAAE,MAAM,mBAAmB,CAAC;AAepF,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAGtC,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAQzC,qBAAa,SAAS;IAElB,OAAO,CAAC,QAAQ,CAAC,KAAK;IACtB,OAAO,CAAC,QAAQ,CAAC,YAAY;IAC7B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,6BAA6B;IAC9C,OAAO,CAAC,QAAQ,CAAC,4CAA4C;gBAJ5C,KAAK,EAAE,WAAW,EAClB,YAAY,EAAE,WAAW,EACzB,OAAO,EAAE,aAAa,EACtB,6BAA6B,EAAE,OAAO,EACtC,4CAA4C,GAAE,+CAA+C,EAAO;IAG1G,cAAc,CACzB,MAAM,EAAE,MAAM,EACd,MAAM,GAAE,GAAG,EAAO,GACjB,OAAO,CAAC,GAAG,CAAC;IAsCf,OAAO,CAAC,4BAA4B;YAItB,4BAA4B;IA6B1C,OAAO,CAAC,mBAAmB;YAIb,mBAAmB;IAWjC,OAAO,CAAC,WAAW;YAOL,WAAW;IAuBzB,OAAO,CAAC,aAAa;YAIP,aAAa;IAM3B,OAAO,CAAC,eAAe;YAIT,eAAe;IAO7B,OAAO,CAAC,kBAAkB;YAIZ,kBAAkB;IAOhC,OAAO,CAAC,wBAAwB;YAIlB,wBAAwB;IAUtC,OAAO,CAAC,uBAAuB;YAIjB,uBAAuB;YASvB,SAAS;YAoBT,mCAAmC;CAYlD"}
|
|
@@ -29,10 +29,11 @@ const errors_1 = require("../../../core/providers/errors");
|
|
|
29
29
|
// Type to accept decimal or hex-encoded params (for test rpc methods only)
|
|
30
30
|
const rpcQuantityOrNumber = t.union([base_types_1.rpcQuantity, t.number]);
|
|
31
31
|
class EvmModule {
|
|
32
|
-
constructor(_node, _miningTimer, _logger, _experimentalHardhatNetworkMessageTraceHooks = []) {
|
|
32
|
+
constructor(_node, _miningTimer, _logger, _allowBlocksWithSameTimestamp, _experimentalHardhatNetworkMessageTraceHooks = []) {
|
|
33
33
|
this._node = _node;
|
|
34
34
|
this._miningTimer = _miningTimer;
|
|
35
35
|
this._logger = _logger;
|
|
36
|
+
this._allowBlocksWithSameTimestamp = _allowBlocksWithSameTimestamp;
|
|
36
37
|
this._experimentalHardhatNetworkMessageTraceHooks = _experimentalHardhatNetworkMessageTraceHooks;
|
|
37
38
|
}
|
|
38
39
|
async processRequest(method, params = []) {
|
|
@@ -63,9 +64,14 @@ class EvmModule {
|
|
|
63
64
|
async _setNextBlockTimestampAction(timestamp) {
|
|
64
65
|
const latestBlock = await this._node.getLatestBlock();
|
|
65
66
|
const increment = BigInt(timestamp) - latestBlock.header.timestamp;
|
|
66
|
-
if (increment
|
|
67
|
-
throw new errors_1.InvalidInputError(`Timestamp ${timestamp.toString()} is lower than
|
|
68
|
-
|
|
67
|
+
if (increment < 0n) {
|
|
68
|
+
throw new errors_1.InvalidInputError(`Timestamp ${timestamp.toString()} is lower than the previous block's timestamp ${latestBlock.header.timestamp}`);
|
|
69
|
+
}
|
|
70
|
+
if (!this._allowBlocksWithSameTimestamp && increment === 0n) {
|
|
71
|
+
throw new errors_1.InvalidInputError(`Timestamp ${timestamp.toString()} is equal to the previous block's timestamp.
|
|
72
|
+
|
|
73
|
+
Enable the "allowBlocksWithSameTimestamp" option in the Hardhat network configuration to allow this.
|
|
74
|
+
`);
|
|
69
75
|
}
|
|
70
76
|
this._node.setNextBlockTimestamp(BigInt(timestamp));
|
|
71
77
|
return timestamp.toString();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/evm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAG3B,uEAGgD;AAChD,uFAG2D;AAC3D,6EAA8E;AAC9E,2DAGwC;AAQxC,yEAAyE;AAEzE,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAG7D,MAAa,SAAS;IACpB,YACmB,KAAkB,EAClB,YAAyB,EACzB,OAAsB,EACtB,+CAAkG,EAAE;
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../../src/internal/hardhat-network/provider/modules/evm.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,yCAA2B;AAG3B,uEAGgD;AAChD,uFAG2D;AAC3D,6EAA8E;AAC9E,2DAGwC;AAQxC,yEAAyE;AAEzE,2EAA2E;AAC3E,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,wBAAW,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAG7D,MAAa,SAAS;IACpB,YACmB,KAAkB,EAClB,YAAyB,EACzB,OAAsB,EACtB,6BAAsC,EACtC,+CAAkG,EAAE;QAJpG,UAAK,GAAL,KAAK,CAAa;QAClB,iBAAY,GAAZ,YAAY,CAAa;QACzB,YAAO,GAAP,OAAO,CAAe;QACtB,kCAA6B,GAA7B,6BAA6B,CAAS;QACtC,iDAA4C,GAA5C,4CAA4C,CAAwD;IACpH,CAAC;IAEG,KAAK,CAAC,cAAc,CACzB,MAAc,EACd,SAAgB,EAAE;QAElB,QAAQ,MAAM,EAAE;YACd,KAAK,kBAAkB;gBACrB,OAAO,IAAI,CAAC,mBAAmB,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;YAEvE,KAAK,2BAA2B;gBAC9B,OAAO,IAAI,CAAC,4BAA4B,CACtC,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAC7C,CAAC;YAEJ,KAAK,UAAU;gBACb,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;YAEvD,KAAK,YAAY;gBACf,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC;YAE3D,KAAK,cAAc;gBACjB,OAAO,IAAI,CAAC,eAAe,CAAC,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAAC;YAE/D,KAAK,iBAAiB;gBACpB,OAAO,IAAI,CAAC,kBAAkB,CAAC,GAAG,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;YAErE,KAAK,uBAAuB;gBAC1B,OAAO,IAAI,CAAC,wBAAwB,CAClC,GAAG,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CACzC,CAAC;YAEJ,KAAK,sBAAsB;gBACzB,OAAO,IAAI,CAAC,uBAAuB,CACjC,GAAG,IAAI,CAAC,uBAAuB,CAAC,MAAM,CAAC,CACxC,CAAC;SACL;QAED,MAAM,IAAI,4BAAmB,CAAC,UAAU,MAAM,YAAY,CAAC,CAAC;IAC9D,CAAC;IAED,4BAA4B;IAEpB,4BAA4B,CAAC,MAAa;QAChD,OAAO,IAAA,2BAAc,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,4BAA4B,CACxC,SAA8B;QAE9B,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;QACtD,MAAM,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;QAEnE,IAAI,SAAS,GAAG,EAAE,EAAE;YAClB,MAAM,IAAI,0BAAiB,CACzB,aAAa,SAAS,CAAC,QAAQ,EAAE,iDAC/B,WAAW,CAAC,MAAM,CAAC,SACrB,EAAE,CACH,CAAC;SACH;QAED,IAAI,CAAC,IAAI,CAAC,6BAA6B,IAAI,SAAS,KAAK,EAAE,EAAE;YAC3D,MAAM,IAAI,0BAAiB,CACzB,aAAa,SAAS,CAAC,QAAQ,EAAE;;;CAGxC,CACM,CAAC;SACH;QAED,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QACpD,OAAO,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED,mBAAmB;IAEX,mBAAmB,CAAC,MAAa;QACvC,OAAO,IAAA,2BAAc,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,mBAAmB,CAC/B,SAA8B;QAE9B,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC;QAC3C,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC;QACrD,gEAAgE;QAChE,OAAO,cAAc,CAAC,QAAQ,EAAE,CAAC;IACnC,CAAC;IAED,WAAW;IAEH,WAAW,CAAC,MAAa;QAC/B,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE;YACvB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChB;QACD,OAAO,IAAA,2BAAc,EAAC,MAAM,EAAE,mBAAmB,CAAC,CAAC;IACrD,CAAC;IAEO,KAAK,CAAC,WAAW,CAAC,SAA8B;QACtD,SAAS,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;QAC9B,kEAAkE;QAClE,oBAAoB;QACpB,IAAI,SAAS,KAAK,EAAE,EAAE;YACpB,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,EAAE,CAAC;YACtD,MAAM,SAAS,GAAG,SAAS,GAAG,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;YAC3D,IAAI,SAAS,IAAI,EAAE,EAAE;gBACnB,MAAM,IAAI,0BAAiB,CACzB,aAAa,SAAS,CAAC,QAAQ,EAAE,2CAA2C;oBAC1E,IAAI,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,CACrC,CAAC;aACH;SACF;QACD,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC;QAErD,MAAM,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC;QAE7B,OAAO,IAAA,gCAAmB,EAAC,CAAC,CAAC,CAAC;IAChC,CAAC;IAED,aAAa;IAEL,aAAa,CAAC,MAAa;QACjC,OAAO,IAAA,2BAAc,EAAC,MAAM,EAAE,wBAAW,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,aAAa,CAAC,UAAkB;QAC5C,OAAO,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;IACzD,CAAC;IAED,eAAe;IAEP,eAAe,CAAC,OAAc;QACpC,OAAO,EAAE,CAAC;IACZ,CAAC;IAEO,KAAK,CAAC,eAAe;QAC3B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,EAAE,CAAC;QACnD,OAAO,IAAA,gCAAmB,EAAC,UAAU,CAAC,CAAC;IACzC,CAAC;IAED,kBAAkB;IAEV,kBAAkB,CAAC,MAAa;QACtC,OAAO,IAAA,2BAAc,EAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC;IAC3C,CAAC;IAEO,KAAK,CAAC,kBAAkB,CAAC,QAAiB;QAChD,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,wBAAwB;IAEhB,wBAAwB,CAAC,MAAa;QAC5C,OAAO,IAAA,2BAAc,EAAC,MAAM,EAAE,mCAAiB,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,wBAAwB,CACpC,SAA4B;QAE5B,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC;IACd,CAAC;IAED,uBAAuB;IAEf,uBAAuB,CAAC,MAAa;QAC3C,OAAO,IAAA,2BAAc,EAAC,MAAM,EAAE,wBAAW,CAAC,CAAC;IAC7C,CAAC;IAEO,KAAK,CAAC,uBAAuB,CAAC,aAAqB;QACzD,IAAI,aAAa,IAAI,EAAE,EAAE;YACvB,MAAM,IAAI,0BAAiB,CAAC,wCAAwC,CAAC,CAAC;SACvE;QAED,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAAC,aAAa,CAAC,CAAC;QACjD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,SAAS,CAAC,MAAuB;QAC7C,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC;QAEjC,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;YAC5B,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,gBAAgB,CAC5C,OAAO,CAAC,KAAK,EACb,KAAK,CAAC,MAAM,CAAC,MAAM,CACpB,CAAC;YAEF,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SAClB;QAED,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QAE1C,KAAK,MAAM,OAAO,IAAI,MAAM,EAAE;YAC5B,MAAM,IAAI,CAAC,mCAAmC,CAAC,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;SACtE;IACH,CAAC;IAEO,KAAK,CAAC,mCAAmC,CAC/C,KAA+B,EAC/B,MAAe;QAEf,IAAI,KAAK,KAAK,SAAS,EAAE;YACvB,OAAO;SACR;QAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,4CAA4C,EAAE;YACpE,MAAM,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;CACF;AA3ND,8BA2NC"}
|
|
@@ -16,7 +16,6 @@ interface CommonConfig {
|
|
|
16
16
|
hardfork: string;
|
|
17
17
|
minGasPrice: bigint;
|
|
18
18
|
networkId: number;
|
|
19
|
-
networkName: string;
|
|
20
19
|
allowUnlimitedContractSize?: boolean;
|
|
21
20
|
initialDate?: Date;
|
|
22
21
|
tracingConfig?: TracingConfig;
|
|
@@ -24,6 +23,7 @@ interface CommonConfig {
|
|
|
24
23
|
mempoolOrder: MempoolOrder;
|
|
25
24
|
coinbase: string;
|
|
26
25
|
chains: HardhatNetworkChainsConfig;
|
|
26
|
+
allowBlocksWithSameTimestamp: boolean;
|
|
27
27
|
}
|
|
28
28
|
export declare type LocalNodeConfig = CommonConfig;
|
|
29
29
|
export interface ForkConfig {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node-types.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node-types.ts"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAEhD,OAAO,EAAE,KAAK,EAAE,MAAM,mCAAmC,CAAC;AAC1D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,gCAAgC,EAAE,MAAM,iBAAiB,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAC;AAEvD,oBAAY,UAAU,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAE5D,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,UAAU,GACjB,MAAM,IAAI,gBAAgB,CAE5B;AAED,UAAU,YAAY;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,eAAe,EAAE,cAAc,EAAE,CAAC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,
|
|
1
|
+
{"version":3,"file":"node-types.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node-types.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,6 +28,7 @@ export declare class HardhatNode extends EventEmitter {
|
|
|
28
28
|
readonly hardfork: HardforkName;
|
|
29
29
|
private readonly _hardforkActivations;
|
|
30
30
|
private _mixHashGenerator;
|
|
31
|
+
private _allowBlocksWithSameTimestamp;
|
|
31
32
|
private _forkNetworkId?;
|
|
32
33
|
private _forkBlockNumber?;
|
|
33
34
|
private _forkBlockHash?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAIL,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,OAAO,EACP,cAAc,EASf,MAAM,kCAAkC,CAAC;AAkB1C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQ/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAO7F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAG3E,OAAO,EAGL,YAAY,EACb,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAGL,YAAY,EACb,MAAM,+BAA+B,CAAC;AAWvC,OAAO,0BAA0B,CAAC;AAOlC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EAKZ,eAAe,EACf,UAAU,EACV,aAAa,EACb,qBAAqB,EAGrB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,YAAY,EACZ,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAsBlB,qBAAa,WAAY,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"node.d.ts","sourceRoot":"","sources":["../../../src/internal/hardhat-network/provider/node.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAc,MAAM,mCAAmC,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,oCAAoC,CAAC;AAC5D,OAAO,EAIL,gBAAgB,EACjB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,OAAO,EACP,cAAc,EASf,MAAM,kCAAkC,CAAC;AAkB1C,OAAO,YAAY,MAAM,QAAQ,CAAC;AAGlC,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAQ/D,OAAO,EAAE,qBAAqB,EAAE,MAAM,sDAAsD,CAAC;AAO7F,OAAO,EAAE,eAAe,EAAE,MAAM,0CAA0C,CAAC;AAG3E,OAAO,EAGL,YAAY,EACb,MAAM,sBAAsB,CAAC;AAK9B,OAAO,EAGL,YAAY,EACb,MAAM,+BAA+B,CAAC;AAWvC,OAAO,0BAA0B,CAAC;AAOlC,OAAO,EACL,UAAU,EACV,iBAAiB,EACjB,UAAU,EACV,YAAY,EAKZ,eAAe,EACf,UAAU,EACV,aAAa,EACb,qBAAqB,EAGrB,iBAAiB,EAClB,MAAM,cAAc,CAAC;AACtB,OAAO,EAGL,YAAY,EACZ,gBAAgB,EAEjB,MAAM,UAAU,CAAC;AAsBlB,qBAAa,WAAY,SAAQ,YAAY;IAwOzC,OAAO,CAAC,QAAQ,CAAC,GAAG;IACpB,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW;IAC5B,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,YAAY;IACpB,OAAO,CAAC,uBAAuB;IAC/B,OAAO,CAAC,aAAa;IACrB,OAAO,CAAC,SAAS;IAEjB,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,cAAc;aACf,QAAQ,EAAE,YAAY;IACtC,OAAO,CAAC,QAAQ,CAAC,oBAAoB;IACrC,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,6BAA6B;IAErC,OAAO,CAAC,cAAc,CAAC;IACvB,OAAO,CAAC,gBAAgB,CAAC;IACzB,OAAO,CAAC,cAAc,CAAC;IAEvB,OAAO,CAAC,WAAW,CAAC;WA7PF,MAAM,CACxB,MAAM,EAAE,UAAU,GACjB,OAAO,CAAC,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IA2KjC,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAoCjC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAkC;IACjE,OAAO,CAAC,QAAQ,CAAC,qBAAqB,CAA0B;IAEhE,OAAO,CAAC,mBAAmB,CAAc;IACzC,OAAO,CAAC,mCAAmC,CAAC,CAAS;IAErD,OAAO,CAAC,aAAa,CAAc;IACnC,OAAO,CAAC,QAAQ,CAAkC;IAElD,OAAO,CAAC,eAAe,CAAK;IAC5B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAkB;IAE7C,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAW;IACrC,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAsC;IACrE,OAAO,CAAC,kBAAkB,CAAK;IAG/B,OAAO,CAAC,6BAA6B,CAAkC;IAEvE,OAAO;IA8EM,oBAAoB,CAC/B,QAAQ,EAAE,iBAAiB,GAC1B,OAAO,CAAC,gBAAgB,CAAC;IA6Bf,eAAe,CAC1B,EAAE,EAAE,gBAAgB,GACnB,OAAO,CAAC,qBAAqB,CAAC;IAiBpB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiDpE;;;;;;OAMG;IACU,UAAU,CACrB,KAAK,GAAE,MAAW,EAClB,QAAQ,GAAE,MAAW,GACpB,OAAO,CAAC,eAAe,EAAE,CAAC;IA+DhB,OAAO,CAClB,IAAI,EAAE,UAAU,EAChB,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,aAAa,CAAC;IA6CZ,iBAAiB,CAC5B,OAAO,EAAE,OAAO,EAChB,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,GACxC,OAAO,CAAC,MAAM,CAAC;IAYL,qBAAqB,CAChC,OAAO,EAAE,OAAO,EAChB,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,MAAM,CAAC;IAQL,0BAA0B,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAI7D,gBAAgB,CAC3B,KAAK,EAAE,YAAY,GAAG,SAAS,EAC/B,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,MAAM,CAAC;IAYL,cAAc,IAAI,OAAO,CAAC,KAAK,CAAC;IAItC,oBAAoB,IAAI,MAAM;IAIxB,iCAAiC,IAAI,OAAO,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAW7D,wBAAwB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAInD,gBAAgB,IAAI,MAAM;IAIpB,WAAW,CACtB,UAAU,EAAE,UAAU,EACtB,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,iBAAiB,CAAC;IAiGhB,WAAW,IAAI,OAAO,CAAC,MAAM,CAAC;IAY9B,uBAAuB,IAAI,OAAO,CAAC,MAAM,CAAC;IAIhD,kBAAkB,IAAI,OAAO;IAIvB,YAAY,CACvB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,EACrB,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,MAAM,CAAC;IAkBL,gBAAgB,CAAC,OAAO,EAAE,SAAS,GAAG,OAAO,CAAC,KAAK,CAAC;IACpD,gBAAgB,CAC3B,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAehB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAK7D,yBAAyB,CACpC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,KAAK,GAAG,SAAS,CAAC;IAKhB,uBAAuB,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,MAAM,CAAC;IAItD,OAAO,CAClB,OAAO,EAAE,OAAO,EAChB,oBAAoB,EAAE,MAAM,GAAG,SAAS,GACvC,OAAO,CAAC,MAAM,CAAC;IAMX,qBAAqB,IAAI,MAAM;IAI/B,qBAAqB,CAAC,SAAS,EAAE,MAAM;IAIvC,gBAAgB,IAAI,MAAM;IAI1B,gBAAgB,CAAC,aAAa,EAAE,MAAM;IAItC,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,qCAAqC,CAAC,aAAa,EAAE,MAAM;IAI3D,qCAAqC,IAAI,MAAM,GAAG,SAAS;IAIlE,OAAO,CAAC,wCAAwC;IAInC,yBAAyB,IAAI,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAcxD,qBAAqB,CAChC,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAI3B,qBAAqB,CAChC,IAAI,EAAE,MAAM,GAAG,MAAM,GACpB,OAAO,CAAC,gBAAgB,GAAG,SAAS,CAAC;IAM3B,sBAAsB,IAAI,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAMrD,mBAAmB,CAC9B,OAAO,EAAE,OAAO,EAChB,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,cAAc,CAAC;IAOb,eAAe,CAC1B,OAAO,EAAE,OAAO,EAChB,SAAS,EAAE,GAAG,GACb,OAAO,CAAC,MAAM,CAAC;IAUX,0BAA0B,IAAI,MAAM;IAI9B,YAAY,IAAI,OAAO,CAAC,MAAM,CAAC;IA4B/B,gBAAgB,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAoD9C,SAAS,CACpB,YAAY,EAAE,YAAY,EAC1B,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,MAAM,CAAC;IAsBL,cAAc,CAAC,cAAc,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;IAgBxD,2BAA2B,CACtC,cAAc,EAAE,OAAO,GACtB,OAAO,CAAC,MAAM,CAAC;IAeL,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,OAAO,GACpB,OAAO,CAAC,OAAO,CAAC;IAmBN,gBAAgB,CAC3B,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,EAAE,GAAG,YAAY,EAAE,GAAG,SAAS,CAAC;IAuBpC,aAAa,CACxB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,YAAY,EAAE,GAAG,SAAS,CAAC;IAazB,OAAO,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAK5D,oBAAoB,CAC/B,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,aAAa,EAC5B,cAAc,EAAE,cAAc,GAC7B,OAAO,CAAC,OAAO,CAAC;IA8BZ,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAK7C,yBAAyB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAInD,WAAW,CAAC,QAAQ,EAAE,OAAO;IAI7B,WAAW;IAIL,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAK1C,cAAc,CAAC,WAAW,EAAE,MAAM;IAIlC,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAmB/C,iBAAiB,CAC5B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC;IAOH,cAAc,CACzB,OAAO,EAAE,OAAO,EAChB,OAAO,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC;IAKH,qBAAqB,CAChC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,IAAI,CAAC;IAiBH,YAAY,CACvB,OAAO,EAAE,OAAO,EAChB,aAAa,EAAE,MAAM,EACrB,KAAK,EAAE,MAAM;IAUF,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,qBAAqB;IAyF5D,aAAa,CACxB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,iBAAiB,EAAE,MAAM,EAAE,GAC1B,OAAO,CAAC,UAAU,CAAC;IA8GT,WAAW,CAAC,QAAQ,EAAE,OAAO;IAI1C,OAAO,CAAC,gBAAgB;YAWV,WAAW;YA4DX,sBAAsB;YAMtB,gBAAgB;YAOhB,0BAA0B;YAkB1B,qCAAqC;YAsBrC,aAAa;YAuBb,oBAAoB;IAuDlC;;;;;OAKG;YACW,wBAAwB;IAqFtC,OAAO,CAAC,yBAAyB;YAKnB,mBAAmB;IA0BjC,OAAO,CAAC,iBAAiB;IAezB,OAAO,CAAC,eAAe;IAQvB,OAAO,CAAC,kBAAkB;YAOZ,sBAAsB;YAgBtB,aAAa;IA2F3B,OAAO,CAAC,4BAA4B;IA+BpC,OAAO,CAAC,wBAAwB;YAIlB,yBAAyB;IAcvC,OAAO,CAAC,0BAA0B;IASlC;;;OAGG;YACW,2BAA2B;YAoE3B,qCAAqC;YASrC,kBAAkB;YA6BlB,yBAAyB;YAUzB,gBAAgB;YAkBhB,oBAAoB;YAOpB,yBAAyB;YAmCzB,uBAAuB;IAiFrC;;;OAGG;YACW,wBAAwB;YAuFxB,oBAAoB;IAyBlC,OAAO,CAAC,YAAY;IAMpB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,qBAAqB;IAI7B,OAAO,CAAC,aAAa;YAOP,SAAS;YAeT,mBAAmB;IAKjC,OAAO,CAAC,YAAY;YAgBN,2BAA2B;IAOlC,eAAe,CAAC,oBAAoB,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO;IAanE,mBAAmB,IAAI,OAAO;IAI9B,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAIjC,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAMnC,WAAW,IAAI,OAAO,CAAC,eAAe,CAAC;IAuCpD,OAAO,CAAC,eAAe;YAIT,6BAA6B;IAwC3C,OAAO,CAAC,eAAe;IA+CvB,OAAO,CAAC,oBAAoB;CAmB7B"}
|
|
@@ -78,7 +78,7 @@ const random_1 = require("./utils/random");
|
|
|
78
78
|
const log = (0, debug_1.default)("hardhat:core:hardhat-network:node");
|
|
79
79
|
/* eslint-disable @nomiclabs/hardhat-internal-rules/only-hardhat-error */
|
|
80
80
|
class HardhatNode extends events_1.default {
|
|
81
|
-
constructor(_vm, _instanceId, _stateManager, _blockchain, _txPool, _automine, _minGasPrice, _blockTimeOffsetSeconds = 0n, _mempoolOrder, _coinbase, genesisAccounts, _configNetworkId, _configChainId, hardfork, _hardforkActivations, _mixHashGenerator, tracingConfig, _forkNetworkId, _forkBlockNumber, _forkBlockHash, nextBlockBaseFee, _forkClient) {
|
|
81
|
+
constructor(_vm, _instanceId, _stateManager, _blockchain, _txPool, _automine, _minGasPrice, _blockTimeOffsetSeconds = 0n, _mempoolOrder, _coinbase, genesisAccounts, _configNetworkId, _configChainId, hardfork, _hardforkActivations, _mixHashGenerator, _allowBlocksWithSameTimestamp, tracingConfig, _forkNetworkId, _forkBlockNumber, _forkBlockHash, nextBlockBaseFee, _forkClient) {
|
|
82
82
|
super();
|
|
83
83
|
this._vm = _vm;
|
|
84
84
|
this._instanceId = _instanceId;
|
|
@@ -95,6 +95,7 @@ class HardhatNode extends events_1.default {
|
|
|
95
95
|
this.hardfork = hardfork;
|
|
96
96
|
this._hardforkActivations = _hardforkActivations;
|
|
97
97
|
this._mixHashGenerator = _mixHashGenerator;
|
|
98
|
+
this._allowBlocksWithSameTimestamp = _allowBlocksWithSameTimestamp;
|
|
98
99
|
this._forkNetworkId = _forkNetworkId;
|
|
99
100
|
this._forkBlockNumber = _forkBlockNumber;
|
|
100
101
|
this._forkBlockHash = _forkBlockHash;
|
|
@@ -139,7 +140,7 @@ class HardhatNode extends events_1.default {
|
|
|
139
140
|
}
|
|
140
141
|
}
|
|
141
142
|
static async create(config) {
|
|
142
|
-
const { automine, genesisAccounts, blockGasLimit, allowUnlimitedContractSize, tracingConfig, minGasPrice, mempoolOrder, networkId, chainId, } = config;
|
|
143
|
+
const { automine, genesisAccounts, blockGasLimit, allowUnlimitedContractSize, tracingConfig, minGasPrice, mempoolOrder, networkId, chainId, allowBlocksWithSameTimestamp, } = config;
|
|
143
144
|
let stateManager;
|
|
144
145
|
let blockchain;
|
|
145
146
|
let initialBlockTimeOffset;
|
|
@@ -218,7 +219,7 @@ class HardhatNode extends events_1.default {
|
|
|
218
219
|
blockchain,
|
|
219
220
|
});
|
|
220
221
|
const instanceId = (0, ethereumjs_util_1.bufferToBigInt)((0, crypto_1.randomBytes)(32));
|
|
221
|
-
const node = new HardhatNode(vm, instanceId, stateManager, blockchain, txPool, automine, minGasPrice, initialBlockTimeOffset, mempoolOrder, config.coinbase, genesisAccounts, networkId, chainId, hardfork, hardforkActivations, mixHashGenerator, tracingConfig, forkNetworkId, forkBlockNum, forkBlockHash, nextBlockBaseFeePerGas, forkClient);
|
|
222
|
+
const node = new HardhatNode(vm, instanceId, stateManager, blockchain, txPool, automine, minGasPrice, initialBlockTimeOffset, mempoolOrder, config.coinbase, genesisAccounts, networkId, chainId, hardfork, hardforkActivations, mixHashGenerator, allowBlocksWithSameTimestamp, tracingConfig, forkNetworkId, forkBlockNum, forkBlockHash, nextBlockBaseFeePerGas, forkClient);
|
|
222
223
|
return [common, node];
|
|
223
224
|
}
|
|
224
225
|
static _validateHardforks(forkBlockNumber, common, remoteChainId) {
|
|
@@ -286,7 +287,8 @@ Hardhat Network's forking functionality only works with blocks from at least spu
|
|
|
286
287
|
const timestampAndOffset = this._calculateTimestampAndOffset(timestamp);
|
|
287
288
|
let [blockTimestamp] = timestampAndOffset;
|
|
288
289
|
const [, offsetShouldChange, newOffset] = timestampAndOffset;
|
|
289
|
-
const needsTimestampIncrease =
|
|
290
|
+
const needsTimestampIncrease = !this._allowBlocksWithSameTimestamp &&
|
|
291
|
+
(await this._timestampClashesWithPreviousBlockOne(blockTimestamp));
|
|
290
292
|
if (needsTimestampIncrease) {
|
|
291
293
|
blockTimestamp += 1n;
|
|
292
294
|
}
|