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.
Files changed (292) hide show
  1. package/builtin-tasks/compile.js +16 -6
  2. package/builtin-tasks/compile.js.map +1 -1
  3. package/builtin-tasks/flatten.js +1 -1
  4. package/builtin-tasks/flatten.js.map +1 -1
  5. package/builtin-tasks/help.js +2 -4
  6. package/builtin-tasks/help.js.map +1 -1
  7. package/builtin-tasks/task-names.d.ts +1 -0
  8. package/builtin-tasks/task-names.d.ts.map +1 -1
  9. package/builtin-tasks/task-names.js +3 -2
  10. package/builtin-tasks/task-names.js.map +1 -1
  11. package/builtin-tasks/test.js +22 -1
  12. package/builtin-tasks/test.js.map +1 -1
  13. package/internal/cli/bootstrap.d.ts +1 -0
  14. package/internal/cli/bootstrap.js +12 -20
  15. package/internal/cli/bootstrap.js.map +1 -1
  16. package/internal/cli/cli.d.ts +0 -1
  17. package/internal/cli/cli.d.ts.map +1 -1
  18. package/internal/cli/cli.js +20 -29
  19. package/internal/cli/cli.js.map +1 -1
  20. package/internal/cli/project-creation.d.ts +1 -2
  21. package/internal/cli/project-creation.d.ts.map +1 -1
  22. package/internal/cli/project-creation.js +105 -36
  23. package/internal/cli/project-creation.js.map +1 -1
  24. package/internal/cli/prompt.d.ts +2 -2
  25. package/internal/cli/prompt.d.ts.map +1 -1
  26. package/internal/cli/prompt.js +1 -2
  27. package/internal/cli/prompt.js.map +1 -1
  28. package/internal/cli/types.d.ts +1 -0
  29. package/internal/cli/types.d.ts.map +1 -1
  30. package/internal/core/config/config-env.d.ts +5 -11
  31. package/internal/core/config/config-env.d.ts.map +1 -1
  32. package/internal/core/config/config-env.js +2 -13
  33. package/internal/core/config/config-env.js.map +1 -1
  34. package/internal/core/config/config-loading.d.ts +2 -1
  35. package/internal/core/config/config-loading.d.ts.map +1 -1
  36. package/internal/core/config/config-loading.js +25 -7
  37. package/internal/core/config/config-loading.js.map +1 -1
  38. package/internal/core/config/config-validation.d.ts +2 -0
  39. package/internal/core/config/config-validation.d.ts.map +1 -1
  40. package/internal/core/config/config-validation.js +18 -1
  41. package/internal/core/config/config-validation.js.map +1 -1
  42. package/internal/core/config/extenders.d.ts +4 -7
  43. package/internal/core/config/extenders.d.ts.map +1 -1
  44. package/internal/core/config/extenders.js +5 -12
  45. package/internal/core/config/extenders.js.map +1 -1
  46. package/internal/core/errors-list.d.ts +28 -7
  47. package/internal/core/errors-list.d.ts.map +1 -1
  48. package/internal/core/errors-list.js +33 -10
  49. package/internal/core/errors-list.js.map +1 -1
  50. package/internal/core/jsonrpc/types/input/blockTag.d.ts +3 -3
  51. package/internal/core/jsonrpc/types/input/blockTag.d.ts.map +1 -1
  52. package/internal/core/project-structure.d.ts.map +1 -1
  53. package/internal/core/project-structure.js +6 -0
  54. package/internal/core/project-structure.js.map +1 -1
  55. package/internal/core/providers/construction.d.ts.map +1 -1
  56. package/internal/core/providers/construction.js +25 -5
  57. package/internal/core/providers/construction.js.map +1 -1
  58. package/internal/core/providers/http.d.ts +2 -2
  59. package/internal/core/providers/http.d.ts.map +1 -1
  60. package/internal/core/providers/http.js +41 -19
  61. package/internal/core/providers/http.js.map +1 -1
  62. package/internal/core/runtime-environment.d.ts +4 -2
  63. package/internal/core/runtime-environment.d.ts.map +1 -1
  64. package/internal/core/runtime-environment.js +39 -47
  65. package/internal/core/runtime-environment.js.map +1 -1
  66. package/internal/core/tasks/dsl.d.ts +6 -6
  67. package/internal/core/tasks/dsl.d.ts.map +1 -1
  68. package/internal/core/tasks/dsl.js.map +1 -1
  69. package/internal/core/tasks/task-definitions.d.ts +2 -2
  70. package/internal/core/tasks/task-definitions.d.ts.map +1 -1
  71. package/internal/core/tasks/task-definitions.js.map +1 -1
  72. package/internal/hardhat-network/jsonrpc/handler.d.ts +1 -0
  73. package/internal/hardhat-network/jsonrpc/handler.d.ts.map +1 -1
  74. package/internal/hardhat-network/jsonrpc/handler.js +13 -18
  75. package/internal/hardhat-network/jsonrpc/handler.js.map +1 -1
  76. package/internal/hardhat-network/provider/RethnetState.d.ts +26 -0
  77. package/internal/hardhat-network/provider/RethnetState.d.ts.map +1 -0
  78. package/internal/hardhat-network/provider/RethnetState.js +84 -0
  79. package/internal/hardhat-network/provider/RethnetState.js.map +1 -0
  80. package/internal/hardhat-network/provider/modules/evm.d.ts +2 -1
  81. package/internal/hardhat-network/provider/modules/evm.d.ts.map +1 -1
  82. package/internal/hardhat-network/provider/modules/evm.js +10 -4
  83. package/internal/hardhat-network/provider/modules/evm.js.map +1 -1
  84. package/internal/hardhat-network/provider/node-types.d.ts +1 -1
  85. package/internal/hardhat-network/provider/node-types.d.ts.map +1 -1
  86. package/internal/hardhat-network/provider/node.d.ts +1 -0
  87. package/internal/hardhat-network/provider/node.d.ts.map +1 -1
  88. package/internal/hardhat-network/provider/node.js +6 -4
  89. package/internal/hardhat-network/provider/node.js.map +1 -1
  90. package/internal/hardhat-network/provider/provider.d.ts +25 -21
  91. package/internal/hardhat-network/provider/provider.d.ts.map +1 -1
  92. package/internal/hardhat-network/provider/provider.js +25 -42
  93. package/internal/hardhat-network/provider/provider.js.map +1 -1
  94. package/internal/hardhat-network/provider/return-data.js +2 -2
  95. package/internal/hardhat-network/provider/return-data.js.map +1 -1
  96. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.d.ts.map +1 -1
  97. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js +4 -2
  98. package/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.js.map +1 -1
  99. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.d.ts.map +1 -1
  100. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js +4 -2
  101. package/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.js.map +1 -1
  102. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.d.ts.map +1 -1
  103. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js +4 -2
  104. package/internal/hardhat-network/provider/transactions/FakeSenderTransaction.js.map +1 -1
  105. package/internal/hardhat-network/provider/utils/bloom.d.ts +32 -0
  106. package/internal/hardhat-network/provider/utils/bloom.d.ts.map +1 -0
  107. package/internal/hardhat-network/provider/utils/bloom.js +79 -0
  108. package/internal/hardhat-network/provider/utils/bloom.js.map +1 -0
  109. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts +12 -0
  110. package/internal/hardhat-network/provider/utils/convertToRethnet.d.ts.map +1 -0
  111. package/internal/hardhat-network/provider/utils/convertToRethnet.js +162 -0
  112. package/internal/hardhat-network/provider/utils/convertToRethnet.js.map +1 -0
  113. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts +7 -0
  114. package/internal/hardhat-network/provider/utils/makeFakeSignature.d.ts.map +1 -0
  115. package/internal/hardhat-network/provider/utils/makeFakeSignature.js +31 -0
  116. package/internal/hardhat-network/provider/utils/makeFakeSignature.js.map +1 -0
  117. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts +1 -1
  118. package/internal/hardhat-network/provider/utils/putGenesisBlock.d.ts.map +1 -1
  119. package/internal/hardhat-network/provider/utils/putGenesisBlock.js +2 -2
  120. package/internal/hardhat-network/provider/utils/putGenesisBlock.js.map +1 -1
  121. package/internal/hardhat-network/provider/vm/block-builder.d.ts +31 -0
  122. package/internal/hardhat-network/provider/vm/block-builder.d.ts.map +1 -0
  123. package/internal/hardhat-network/provider/vm/block-builder.js +151 -0
  124. package/internal/hardhat-network/provider/vm/block-builder.js.map +1 -0
  125. package/internal/hardhat-network/provider/vm/creation.d.ts +10 -0
  126. package/internal/hardhat-network/provider/vm/creation.d.ts.map +1 -0
  127. package/internal/hardhat-network/provider/vm/creation.js +29 -0
  128. package/internal/hardhat-network/provider/vm/creation.js.map +1 -0
  129. package/internal/hardhat-network/provider/vm/dual.d.ts +43 -0
  130. package/internal/hardhat-network/provider/vm/dual.d.ts.map +1 -0
  131. package/internal/hardhat-network/provider/vm/dual.js +488 -0
  132. package/internal/hardhat-network/provider/vm/dual.js.map +1 -0
  133. package/internal/hardhat-network/provider/vm/ethereumjs.d.ts +56 -0
  134. package/internal/hardhat-network/provider/vm/ethereumjs.d.ts.map +1 -0
  135. package/internal/hardhat-network/provider/vm/ethereumjs.js +416 -0
  136. package/internal/hardhat-network/provider/vm/ethereumjs.js.map +1 -0
  137. package/internal/hardhat-network/provider/vm/exit.d.ts +23 -0
  138. package/internal/hardhat-network/provider/vm/exit.d.ts.map +1 -0
  139. package/internal/hardhat-network/provider/vm/exit.js +130 -0
  140. package/internal/hardhat-network/provider/vm/exit.js.map +1 -0
  141. package/internal/hardhat-network/provider/vm/rethnet.d.ts +99 -0
  142. package/internal/hardhat-network/provider/vm/rethnet.d.ts.map +1 -0
  143. package/internal/hardhat-network/provider/vm/rethnet.js +284 -0
  144. package/internal/hardhat-network/provider/vm/rethnet.js.map +1 -0
  145. package/internal/hardhat-network/provider/vm/vm-adapter.d.ts +52 -0
  146. package/internal/hardhat-network/provider/vm/vm-adapter.d.ts.map +1 -0
  147. package/internal/hardhat-network/provider/vm/vm-adapter.js +3 -0
  148. package/internal/hardhat-network/provider/vm/vm-adapter.js.map +1 -0
  149. package/internal/hardhat-network/stack-traces/compiler-to-model.d.ts.map +1 -1
  150. package/internal/hardhat-network/stack-traces/compiler-to-model.js +37 -11
  151. package/internal/hardhat-network/stack-traces/compiler-to-model.js.map +1 -1
  152. package/internal/hardhat-network/stack-traces/consoleLogger.js.map +1 -1
  153. package/internal/hardhat-network/stack-traces/constants.d.ts +1 -1
  154. package/internal/hardhat-network/stack-traces/constants.js +1 -1
  155. package/internal/hardhat-network/stack-traces/debug.d.ts.map +1 -1
  156. package/internal/hardhat-network/stack-traces/debug.js +6 -2
  157. package/internal/hardhat-network/stack-traces/debug.js.map +1 -1
  158. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts +1 -0
  159. package/internal/hardhat-network/stack-traces/error-inferrer.d.ts.map +1 -1
  160. package/internal/hardhat-network/stack-traces/error-inferrer.js +85 -55
  161. package/internal/hardhat-network/stack-traces/error-inferrer.js.map +1 -1
  162. package/internal/hardhat-network/stack-traces/model.d.ts +3 -1
  163. package/internal/hardhat-network/stack-traces/model.d.ts.map +1 -1
  164. package/internal/hardhat-network/stack-traces/model.js +9 -1
  165. package/internal/hardhat-network/stack-traces/model.js.map +1 -1
  166. package/internal/hardhat-network/stack-traces/solidity-errors.js +2 -2
  167. package/internal/hardhat-network/stack-traces/solidity-errors.js.map +1 -1
  168. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts +2 -2
  169. package/internal/hardhat-network/stack-traces/solidity-stack-trace.d.ts.map +1 -1
  170. package/internal/hardhat-network/stack-traces/solidityTracer.d.ts.map +1 -1
  171. package/internal/hardhat-network/stack-traces/solidityTracer.js +1 -0
  172. package/internal/hardhat-network/stack-traces/solidityTracer.js.map +1 -1
  173. package/internal/lib/hardhat-lib.d.ts.map +1 -1
  174. package/internal/lib/hardhat-lib.js +1 -4
  175. package/internal/lib/hardhat-lib.js.map +1 -1
  176. package/internal/solidity/compiler/downloader.js +2 -2
  177. package/internal/solidity/compiler/downloader.js.map +1 -1
  178. package/internal/solidity/compiler/index.js +1 -1
  179. package/internal/solidity/compiler/index.js.map +1 -1
  180. package/internal/solidity/resolver.d.ts +4 -3
  181. package/internal/solidity/resolver.d.ts.map +1 -1
  182. package/internal/solidity/resolver.js +18 -7
  183. package/internal/solidity/resolver.js.map +1 -1
  184. package/internal/util/abi-helpers.d.ts +1 -0
  185. package/internal/util/abi-helpers.d.ts.map +1 -1
  186. package/internal/util/abi-helpers.js +9 -0
  187. package/internal/util/abi-helpers.js.map +1 -1
  188. package/internal/util/download.d.ts.map +1 -1
  189. package/internal/util/download.js +12 -11
  190. package/internal/util/download.js.map +1 -1
  191. package/internal/util/packageInfo.d.ts +6 -1
  192. package/internal/util/packageInfo.d.ts.map +1 -1
  193. package/internal/util/packageInfo.js +14 -11
  194. package/internal/util/packageInfo.js.map +1 -1
  195. package/internal/util/proxy.d.ts +2 -0
  196. package/internal/util/proxy.d.ts.map +1 -0
  197. package/internal/util/proxy.js +19 -0
  198. package/internal/util/proxy.js.map +1 -0
  199. package/package.json +9 -10
  200. package/register.js +1 -4
  201. package/register.js.map +1 -1
  202. package/sample-projects/javascript/hardhat.config.js +1 -1
  203. package/sample-projects/javascript/scripts/deploy.js +2 -2
  204. package/sample-projects/javascript-esm/LICENSE.md +11 -0
  205. package/sample-projects/javascript-esm/README.md +13 -0
  206. package/sample-projects/javascript-esm/contracts/Lock.sol +34 -0
  207. package/sample-projects/javascript-esm/hardhat.config.cjs +6 -0
  208. package/sample-projects/javascript-esm/scripts/deploy.js +22 -0
  209. package/sample-projects/javascript-esm/test/Lock.js +123 -0
  210. package/sample-projects/typescript/hardhat.config.ts +1 -1
  211. package/sample-projects/typescript/scripts/deploy.ts +2 -2
  212. package/sample-projects/typescript/tsconfig.json +2 -1
  213. package/src/builtin-tasks/compile.ts +28 -7
  214. package/src/builtin-tasks/flatten.ts +4 -1
  215. package/src/builtin-tasks/help.ts +15 -16
  216. package/src/builtin-tasks/task-names.ts +2 -0
  217. package/src/builtin-tasks/test.ts +30 -2
  218. package/src/internal/artifacts.ts +947 -0
  219. package/src/internal/cli/bootstrap.ts +14 -36
  220. package/src/internal/cli/cli.ts +38 -43
  221. package/src/internal/cli/project-creation.ts +128 -47
  222. package/src/internal/cli/prompt.ts +2 -4
  223. package/src/internal/cli/types.ts +2 -0
  224. package/src/internal/core/config/config-env.ts +15 -27
  225. package/src/internal/core/config/config-loading.ts +35 -11
  226. package/src/internal/core/config/config-validation.ts +20 -0
  227. package/src/internal/core/config/extenders.ts +6 -15
  228. package/src/internal/core/errors-list.ts +36 -10
  229. package/src/internal/core/project-structure.ts +8 -0
  230. package/src/internal/core/providers/construction.ts +29 -24
  231. package/src/internal/core/providers/http.ts +38 -26
  232. package/src/internal/core/runtime-environment.ts +65 -60
  233. package/src/internal/core/tasks/dsl.ts +17 -17
  234. package/src/internal/core/tasks/task-definitions.ts +6 -2
  235. package/src/internal/hardhat-network/jsonrpc/handler.ts +31 -28
  236. package/src/internal/hardhat-network/provider/modules/evm.ts +15 -3
  237. package/src/internal/hardhat-network/provider/node-types.ts +1 -1
  238. package/src/internal/hardhat-network/provider/node.ts +5 -1
  239. package/src/internal/hardhat-network/provider/provider.ts +60 -49
  240. package/src/internal/hardhat-network/provider/return-data.ts +2 -2
  241. package/src/internal/hardhat-network/provider/transactions/FakeSenderAccessListEIP2930Transaction.ts +5 -2
  242. package/src/internal/hardhat-network/provider/transactions/FakeSenderEIP1559Transaction.ts +5 -2
  243. package/src/internal/hardhat-network/provider/transactions/FakeSenderTransaction.ts +5 -2
  244. package/src/internal/hardhat-network/provider/utils/makeFakeSignature.ts +46 -0
  245. package/src/internal/hardhat-network/provider/utils/putGenesisBlock.ts +2 -2
  246. package/src/internal/hardhat-network/stack-traces/compiler-to-model.ts +71 -9
  247. package/src/internal/hardhat-network/stack-traces/consoleLogger.ts +1 -1
  248. package/src/internal/hardhat-network/stack-traces/constants.ts +1 -1
  249. package/src/internal/hardhat-network/stack-traces/debug.ts +9 -2
  250. package/src/internal/hardhat-network/stack-traces/error-inferrer.ts +177 -89
  251. package/src/internal/hardhat-network/stack-traces/model.ts +11 -1
  252. package/src/internal/hardhat-network/stack-traces/solidity-errors.ts +2 -2
  253. package/src/internal/hardhat-network/stack-traces/solidity-stack-trace.ts +2 -2
  254. package/src/internal/hardhat-network/stack-traces/solidityTracer.ts +3 -0
  255. package/src/internal/lib/hardhat-lib.ts +1 -6
  256. package/src/internal/solidity/compiler/downloader.ts +2 -2
  257. package/src/internal/solidity/compiler/index.ts +1 -1
  258. package/src/internal/solidity/resolver.ts +28 -11
  259. package/src/internal/util/abi-helpers.ts +9 -0
  260. package/src/internal/util/download.ts +13 -15
  261. package/src/internal/util/packageInfo.ts +24 -10
  262. package/src/internal/util/proxy.ts +18 -0
  263. package/src/register.ts +1 -6
  264. package/src/types/artifacts.ts +14 -112
  265. package/src/types/config.ts +2 -0
  266. package/src/types/runtime.ts +16 -13
  267. package/types/artifacts.d.ts +10 -96
  268. package/types/artifacts.d.ts.map +1 -1
  269. package/types/config.d.ts +2 -0
  270. package/types/config.d.ts.map +1 -1
  271. package/types/runtime.d.ts +9 -10
  272. package/types/runtime.d.ts.map +1 -1
  273. package/internal/artifacts/caching.d.ts +0 -28
  274. package/internal/artifacts/caching.d.ts.map +0 -1
  275. package/internal/artifacts/caching.js +0 -178
  276. package/internal/artifacts/caching.js.map +0 -1
  277. package/internal/artifacts/index.d.ts +0 -45
  278. package/internal/artifacts/index.d.ts.map +0 -1
  279. package/internal/artifacts/index.js +0 -191
  280. package/internal/artifacts/index.js.map +0 -1
  281. package/internal/artifacts/mutable.d.ts +0 -29
  282. package/internal/artifacts/mutable.d.ts.map +0 -1
  283. package/internal/artifacts/mutable.js +0 -226
  284. package/internal/artifacts/mutable.js.map +0 -1
  285. package/internal/artifacts/readonly.d.ts +0 -94
  286. package/internal/artifacts/readonly.d.ts.map +0 -1
  287. package/internal/artifacts/readonly.js +0 -343
  288. package/internal/artifacts/readonly.js.map +0 -1
  289. package/src/internal/artifacts/caching.ts +0 -259
  290. package/src/internal/artifacts/index.ts +0 -302
  291. package/src/internal/artifacts/mutable.ts +0 -330
  292. 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"}