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
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
-
};
|
|
24
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
-
exports.MutableSource = void 0;
|
|
26
|
-
const debug_1 = __importDefault(require("debug"));
|
|
27
|
-
const path = __importStar(require("path"));
|
|
28
|
-
const promises_1 = __importDefault(require("fs/promises"));
|
|
29
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
30
|
-
const contract_names_1 = require("../../utils/contract-names");
|
|
31
|
-
const hash_1 = require("../util/hash");
|
|
32
|
-
const constants_1 = require("../constants");
|
|
33
|
-
const readonly_1 = require("./readonly");
|
|
34
|
-
const log = (0, debug_1.default)("hardhat:core:artifacts");
|
|
35
|
-
class MutableSource extends readonly_1.ReadOnlySource {
|
|
36
|
-
constructor(artifactsPath) {
|
|
37
|
-
super(artifactsPath);
|
|
38
|
-
this._validArtifacts = [];
|
|
39
|
-
}
|
|
40
|
-
addValidArtifacts(validArtifacts) {
|
|
41
|
-
this._validArtifacts.push(...validArtifacts);
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Remove all artifacts that don't correspond to the current solidity files
|
|
45
|
-
*/
|
|
46
|
-
async removeObsoleteArtifacts() {
|
|
47
|
-
const validArtifactPaths = await Promise.all(this._validArtifacts.flatMap(({ sourceName, artifacts }) => artifacts.map((artifactName) => this._getArtifactPath((0, contract_names_1.getFullyQualifiedName)(sourceName, artifactName)))));
|
|
48
|
-
const validArtifactPathsWithoutUndefined = validArtifactPaths.filter((artifactPath) => artifactPath !== undefined);
|
|
49
|
-
const validArtifactsPathsSet = new Set(validArtifactPathsWithoutUndefined);
|
|
50
|
-
for (const { sourceName, artifacts } of this._validArtifacts) {
|
|
51
|
-
for (const artifactName of artifacts) {
|
|
52
|
-
validArtifactsPathsSet.add(this.formArtifactPathFromFullyQualifiedName((0, contract_names_1.getFullyQualifiedName)(sourceName, artifactName)));
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
const existingArtifactsPaths = await this.getArtifactPaths();
|
|
56
|
-
await Promise.all(existingArtifactsPaths
|
|
57
|
-
.filter((artifactPath) => !validArtifactsPathsSet.has(artifactPath))
|
|
58
|
-
.map((artifactPath) => this._removeArtifactFiles(artifactPath)));
|
|
59
|
-
await this._removeObsoleteBuildInfos();
|
|
60
|
-
}
|
|
61
|
-
async saveArtifactAndDebugFile(artifact, pathToBuildInfo) {
|
|
62
|
-
// artifact
|
|
63
|
-
const fullyQualifiedName = (0, contract_names_1.getFullyQualifiedName)(artifact.sourceName, artifact.contractName);
|
|
64
|
-
const artifactPath = this.formArtifactPathFromFullyQualifiedName(fullyQualifiedName);
|
|
65
|
-
await fs_extra_1.default.ensureDir(path.dirname(artifactPath));
|
|
66
|
-
await Promise.all([
|
|
67
|
-
fs_extra_1.default.writeJSON(artifactPath, artifact, {
|
|
68
|
-
spaces: 2,
|
|
69
|
-
}),
|
|
70
|
-
(async () => {
|
|
71
|
-
if (pathToBuildInfo === undefined) {
|
|
72
|
-
return;
|
|
73
|
-
}
|
|
74
|
-
// save debug file
|
|
75
|
-
const debugFilePath = this._getDebugFilePath(artifactPath);
|
|
76
|
-
const debugFile = this._createDebugFile(artifactPath, pathToBuildInfo);
|
|
77
|
-
await fs_extra_1.default.writeJSON(debugFilePath, debugFile, {
|
|
78
|
-
spaces: 2,
|
|
79
|
-
});
|
|
80
|
-
})(),
|
|
81
|
-
]);
|
|
82
|
-
}
|
|
83
|
-
async saveBuildInfo(solcVersion, solcLongVersion, input, output) {
|
|
84
|
-
const buildInfoDir = path.join(this._artifactsPath, constants_1.BUILD_INFO_DIR_NAME);
|
|
85
|
-
await fs_extra_1.default.ensureDir(buildInfoDir);
|
|
86
|
-
const buildInfoName = MutableSource._getBuildInfoName(solcVersion, solcLongVersion, input);
|
|
87
|
-
const buildInfo = MutableSource._createBuildInfo(buildInfoName, solcVersion, solcLongVersion, input, output);
|
|
88
|
-
const buildInfoPath = path.join(buildInfoDir, `${buildInfoName}.json`);
|
|
89
|
-
// JSON.stringify of the entire build info can be really slow
|
|
90
|
-
// in larger projects, so we stringify per part and incrementally create
|
|
91
|
-
// the JSON in the file.
|
|
92
|
-
//
|
|
93
|
-
// We split this code into different curly-brace-enclosed scopes so that
|
|
94
|
-
// partial JSON strings get out of scope sooner and hence can be reclaimed
|
|
95
|
-
// by the GC if needed.
|
|
96
|
-
const file = await promises_1.default.open(buildInfoPath, "w");
|
|
97
|
-
try {
|
|
98
|
-
{
|
|
99
|
-
const withoutOutput = JSON.stringify({
|
|
100
|
-
...buildInfo,
|
|
101
|
-
output: undefined,
|
|
102
|
-
});
|
|
103
|
-
// We write the JSON (without output) except the last }
|
|
104
|
-
await file.write(withoutOutput.slice(0, -1));
|
|
105
|
-
}
|
|
106
|
-
{
|
|
107
|
-
const outputWithoutSourcesAndContracts = JSON.stringify({
|
|
108
|
-
...buildInfo.output,
|
|
109
|
-
sources: undefined,
|
|
110
|
-
contracts: undefined,
|
|
111
|
-
});
|
|
112
|
-
// We start writing the output
|
|
113
|
-
await file.write(',"output":');
|
|
114
|
-
// Write the output object except for the last }
|
|
115
|
-
await file.write(outputWithoutSourcesAndContracts.slice(0, -1));
|
|
116
|
-
// If there were other field apart from sources and contracts we need
|
|
117
|
-
// a comma
|
|
118
|
-
if (outputWithoutSourcesAndContracts.length > 2) {
|
|
119
|
-
await file.write(",");
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
// Writing the sources
|
|
123
|
-
await file.write('"sources":{');
|
|
124
|
-
let isFirst = true;
|
|
125
|
-
for (const [name, value] of Object.entries(buildInfo.output.sources ?? {})) {
|
|
126
|
-
if (isFirst) {
|
|
127
|
-
isFirst = false;
|
|
128
|
-
}
|
|
129
|
-
else {
|
|
130
|
-
await file.write(",");
|
|
131
|
-
}
|
|
132
|
-
await file.write(`${JSON.stringify(name)}:${JSON.stringify(value)}`);
|
|
133
|
-
}
|
|
134
|
-
// Close sources object
|
|
135
|
-
await file.write("}");
|
|
136
|
-
// Writing the contracts
|
|
137
|
-
await file.write(',"contracts":{');
|
|
138
|
-
isFirst = true;
|
|
139
|
-
for (const [name, value] of Object.entries(buildInfo.output.contracts ?? {})) {
|
|
140
|
-
if (isFirst) {
|
|
141
|
-
isFirst = false;
|
|
142
|
-
}
|
|
143
|
-
else {
|
|
144
|
-
await file.write(",");
|
|
145
|
-
}
|
|
146
|
-
await file.write(`${JSON.stringify(name)}:${JSON.stringify(value)}`);
|
|
147
|
-
}
|
|
148
|
-
// close contracts object
|
|
149
|
-
await file.write("}");
|
|
150
|
-
// close output object
|
|
151
|
-
await file.write("}");
|
|
152
|
-
// close build info object
|
|
153
|
-
await file.write("}");
|
|
154
|
-
}
|
|
155
|
-
finally {
|
|
156
|
-
await file.close();
|
|
157
|
-
}
|
|
158
|
-
return buildInfoPath;
|
|
159
|
-
}
|
|
160
|
-
static _createBuildInfo(id, solcVersion, solcLongVersion, input, output) {
|
|
161
|
-
return {
|
|
162
|
-
id,
|
|
163
|
-
_format: constants_1.BUILD_INFO_FORMAT_VERSION,
|
|
164
|
-
solcVersion,
|
|
165
|
-
solcLongVersion,
|
|
166
|
-
input,
|
|
167
|
-
output,
|
|
168
|
-
};
|
|
169
|
-
}
|
|
170
|
-
_createDebugFile(artifactPath, pathToBuildInfo) {
|
|
171
|
-
const relativePathToBuildInfo = path.relative(path.dirname(artifactPath), pathToBuildInfo);
|
|
172
|
-
const debugFile = {
|
|
173
|
-
_format: constants_1.DEBUG_FILE_FORMAT_VERSION,
|
|
174
|
-
buildInfo: relativePathToBuildInfo,
|
|
175
|
-
};
|
|
176
|
-
return debugFile;
|
|
177
|
-
}
|
|
178
|
-
static _getBuildInfoName(solcVersion, solcLongVersion, input) {
|
|
179
|
-
const json = JSON.stringify({
|
|
180
|
-
_format: constants_1.BUILD_INFO_FORMAT_VERSION,
|
|
181
|
-
solcVersion,
|
|
182
|
-
solcLongVersion,
|
|
183
|
-
input,
|
|
184
|
-
});
|
|
185
|
-
return (0, hash_1.createNonCryptographicHashBasedIdentifier)(Buffer.from(json)).toString("hex");
|
|
186
|
-
}
|
|
187
|
-
/**
|
|
188
|
-
* Remove the artifact file, its debug file and, if it exists, its build
|
|
189
|
-
* info file.
|
|
190
|
-
*/
|
|
191
|
-
async _removeArtifactFiles(artifactPath) {
|
|
192
|
-
await fs_extra_1.default.remove(artifactPath);
|
|
193
|
-
const debugFilePath = this._getDebugFilePath(artifactPath);
|
|
194
|
-
const buildInfoPath = await readonly_1.ReadOnlySource._getBuildInfoFromDebugFile(debugFilePath);
|
|
195
|
-
await fs_extra_1.default.remove(debugFilePath);
|
|
196
|
-
if (buildInfoPath !== undefined) {
|
|
197
|
-
await fs_extra_1.default.remove(buildInfoPath);
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Remove all build infos that aren't used by any debug file
|
|
202
|
-
*/
|
|
203
|
-
async _removeObsoleteBuildInfos() {
|
|
204
|
-
const debugFiles = await this.getDebugFilePaths();
|
|
205
|
-
const buildInfos = await Promise.all(debugFiles.map(async (debugFile) => {
|
|
206
|
-
const buildInfoFile = await readonly_1.ReadOnlySource._getBuildInfoFromDebugFile(debugFile);
|
|
207
|
-
if (buildInfoFile !== undefined) {
|
|
208
|
-
return path.resolve(path.dirname(debugFile), buildInfoFile);
|
|
209
|
-
}
|
|
210
|
-
else {
|
|
211
|
-
return undefined;
|
|
212
|
-
}
|
|
213
|
-
}));
|
|
214
|
-
const filteredBuildInfos = buildInfos.filter((bf) => typeof bf === "string");
|
|
215
|
-
const validBuildInfos = new Set(filteredBuildInfos);
|
|
216
|
-
const buildInfoFiles = await this.getBuildInfoPaths();
|
|
217
|
-
await Promise.all(buildInfoFiles
|
|
218
|
-
.filter((buildInfoFile) => !validBuildInfos.has(buildInfoFile))
|
|
219
|
-
.map(async (buildInfoFile) => {
|
|
220
|
-
log(`Removing buildInfo '${buildInfoFile}'`);
|
|
221
|
-
await fs_extra_1.default.unlink(buildInfoFile);
|
|
222
|
-
}));
|
|
223
|
-
}
|
|
224
|
-
}
|
|
225
|
-
exports.MutableSource = MutableSource;
|
|
226
|
-
//# sourceMappingURL=mutable.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"mutable.js","sourceRoot":"","sources":["../../src/internal/artifacts/mutable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import { Artifact, BuildInfo } from "../../types";
|
|
2
|
-
/**
|
|
3
|
-
* The purpose of this class is to encapsulate JSON file I/O. It assumes that
|
|
4
|
-
* all input strings are simply paths, not contract names nor fully-qualified
|
|
5
|
-
* contract names like other interfaces around here accept.
|
|
6
|
-
*/
|
|
7
|
-
declare class ReadOnlyByPath {
|
|
8
|
-
protected _readArtifactByPath(artifactPath: string): Promise<Artifact>;
|
|
9
|
-
protected _readArtifactByPathSync(artifactPath: string): Artifact;
|
|
10
|
-
protected _artifactPathExists(artifactPath: string): Promise<boolean>;
|
|
11
|
-
protected _getBuildInfoByPath(buildInfoPath: string): Promise<BuildInfo | undefined>;
|
|
12
|
-
protected _getBuildInfoByPathSync(buildInfoPath: string): BuildInfo | undefined;
|
|
13
|
-
/**
|
|
14
|
-
* Given the path to a debug file, returns the absolute path to its
|
|
15
|
-
* corresponding build info file if it exists, or undefined otherwise.
|
|
16
|
-
*/
|
|
17
|
-
protected static _getBuildInfoFromDebugFile(debugFilePath: string): Promise<string | undefined>;
|
|
18
|
-
/**
|
|
19
|
-
* Synchronous version of _getBuildInfoFromDebugFile
|
|
20
|
-
*/
|
|
21
|
-
protected static _getBuildInfoFromDebugFileSync(debugFilePath: string): string | undefined;
|
|
22
|
-
protected _getDebugFilePath(artifactPath: string): string;
|
|
23
|
-
}
|
|
24
|
-
/**
|
|
25
|
-
* This class takes responsibility for the mappings between contract names,
|
|
26
|
-
* fully-qualified contract names, and file paths.
|
|
27
|
-
*/
|
|
28
|
-
export declare class ReadOnlySource extends ReadOnlyByPath {
|
|
29
|
-
protected _artifactsPath: string;
|
|
30
|
-
constructor(_artifactsPath: string);
|
|
31
|
-
artifactExists(name: string): Promise<boolean>;
|
|
32
|
-
getArtifactPaths(): Promise<string[]>;
|
|
33
|
-
/**
|
|
34
|
-
* Returns the absolute path to the given artifact
|
|
35
|
-
*/
|
|
36
|
-
formArtifactPathFromFullyQualifiedName(fullyQualifiedName: string): string;
|
|
37
|
-
getAllFullyQualifiedNames(): Promise<string[]>;
|
|
38
|
-
getBuildInfo(fullyQualifiedName: string): Promise<BuildInfo | undefined>;
|
|
39
|
-
getBuildInfoPaths(): Promise<string[]>;
|
|
40
|
-
getDebugFilePaths(): Promise<string[]>;
|
|
41
|
-
readArtifact(name: string): Promise<Artifact | undefined>;
|
|
42
|
-
readArtifactSync(name: string): Artifact | undefined;
|
|
43
|
-
getSuggestions(name: string): string[];
|
|
44
|
-
/**
|
|
45
|
-
* If the project has these contracts:
|
|
46
|
-
* - 'contracts/Greeter.sol:Greeter'
|
|
47
|
-
* - 'contracts/Meeter.sol:Greeter'
|
|
48
|
-
* - 'contracts/Greater.sol:Greater'
|
|
49
|
-
* And the user tries to get an artifact with the name 'Greter', then
|
|
50
|
-
* the suggestions will be 'Greeter', 'Greeter', and 'Greater'.
|
|
51
|
-
*
|
|
52
|
-
* We don't want to show duplicates here, so we use FQNs for those. The
|
|
53
|
-
* suggestions will then be:
|
|
54
|
-
* - 'contracts/Greeter.sol:Greeter'
|
|
55
|
-
* - 'contracts/Meeter.sol:Greeter'
|
|
56
|
-
* - 'Greater'
|
|
57
|
-
*/
|
|
58
|
-
private _filterDuplicatesAsFullyQualifiedNames;
|
|
59
|
-
private _getAllContractNamesFromFiles;
|
|
60
|
-
private _getAllFullyQualifiedNamesSync;
|
|
61
|
-
/**
|
|
62
|
-
* Returns the absolute path to the artifact that corresponds to the given
|
|
63
|
-
* name.
|
|
64
|
-
*
|
|
65
|
-
* If the name is fully qualified, the path is computed from it. If not, an
|
|
66
|
-
* artifact that matches the given name is searched in the existing artifacts.
|
|
67
|
-
* If there is an ambiguity, an error is thrown.
|
|
68
|
-
*/
|
|
69
|
-
protected _getArtifactPath(name: string): Promise<string | undefined>;
|
|
70
|
-
protected _getArtifactPathSync(name: string): string | undefined;
|
|
71
|
-
private _getArtifactPathFromFiles;
|
|
72
|
-
protected _getArtifactPathsSync(): string[];
|
|
73
|
-
protected _getBuildInfoPath(fullyQualifiedName: string): Promise<string | undefined>;
|
|
74
|
-
protected _getBuildInfoPathSync(fullyQualifiedName: string): string | undefined;
|
|
75
|
-
/**
|
|
76
|
-
* Returns the FQN of a contract giving the absolute path to its artifact.
|
|
77
|
-
*
|
|
78
|
-
* For example, given a path like
|
|
79
|
-
* `/path/to/project/artifacts/contracts/Foo.sol/Bar.json`, it'll return the
|
|
80
|
-
* FQN `contracts/Foo.sol:Bar`
|
|
81
|
-
*/
|
|
82
|
-
private _getFullyQualifiedNameFromPath;
|
|
83
|
-
/**
|
|
84
|
-
*
|
|
85
|
-
* @param givenName can be FQN or contract name
|
|
86
|
-
* @param names MUST match type of givenName (i.e. array of FQN's if givenName is FQN)
|
|
87
|
-
* @returns
|
|
88
|
-
*/
|
|
89
|
-
private static _getSimilarContractNames;
|
|
90
|
-
private _getValidArtifactPathFromFullyQualifiedName;
|
|
91
|
-
private _getValidArtifactPathFromFullyQualifiedNameSync;
|
|
92
|
-
}
|
|
93
|
-
export {};
|
|
94
|
-
//# sourceMappingURL=readonly.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"readonly.d.ts","sourceRoot":"","sources":["../../src/internal/artifacts/readonly.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAoBlD;;;;GAIG;AACH,cAAM,cAAc;cACF,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAI5E,SAAS,CAAC,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,QAAQ;cAIjD,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;cAI3D,mBAAmB,CACjC,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAIjC,SAAS,CAAC,uBAAuB,CAC/B,aAAa,EAAE,MAAM,GACpB,SAAS,GAAG,SAAS;IAIxB;;;OAGG;qBACoB,0BAA0B,CAC/C,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAS9B;;OAEG;IACH,SAAS,CAAC,MAAM,CAAC,8BAA8B,CAC7C,aAAa,EAAE,MAAM,GACpB,MAAM,GAAG,SAAS;IASrB,SAAS,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;CAG1D;AAED;;;GAGG;AACH,qBAAa,cAAe,SAAQ,cAAc;IACpC,SAAS,CAAC,cAAc,EAAE,MAAM;gBAAtB,cAAc,EAAE,MAAM;IAI/B,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAU9C,gBAAgB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAclD;;OAEG;IACI,sCAAsC,CAC3C,kBAAkB,EAAE,MAAM,GACzB,MAAM;IAOI,yBAAyB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAK9C,YAAY,CACvB,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC;IAUpB,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAStC,iBAAiB,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAStC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,GAAG,SAAS,CAAC;IAS/D,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IASpD,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAsB7C;;;;;;;;;;;;;OAaG;IACH,OAAO,CAAC,sCAAsC;IA2B9C,OAAO,CAAC,6BAA6B;IAOrC,OAAO,CAAC,8BAA8B;IAKtC;;;;;;;OAOG;cACa,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW3E,SAAS,CAAC,oBAAoB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAWhE,OAAO,CAAC,yBAAyB;IA0BjC,SAAS,CAAC,qBAAqB,IAAI,MAAM,EAAE;cAc3B,iBAAiB,CAC/B,kBAAkB,EAAE,MAAM,GACzB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC;IAW9B,SAAS,CAAC,qBAAqB,CAC7B,kBAAkB,EAAE,MAAM,GACzB,MAAM,GAAG,SAAS;IAUrB;;;;;;OAMG;IACH,OAAO,CAAC,8BAA8B;IAUtC;;;;;OAKG;IACH,OAAO,CAAC,MAAM,CAAC,wBAAwB;YAwBzB,2CAA2C;IAiCzD,OAAO,CAAC,+CAA+C;CAgCxD"}
|