hardhat-deploy 2.0.0-next.9 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (126) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +124 -0
  3. package/dist/cli.d.ts +3 -0
  4. package/dist/cli.d.ts.map +1 -0
  5. package/dist/cli.js +194 -0
  6. package/dist/cli.js.map +1 -0
  7. package/dist/config/default.d.ts.map +1 -0
  8. package/dist/config/default.js +5 -0
  9. package/dist/config/default.js.map +1 -0
  10. package/dist/config/get-config.d.ts.map +1 -0
  11. package/dist/config/get-config.js +9 -0
  12. package/dist/config/get-config.js.map +1 -0
  13. package/dist/config/validation.d.ts.map +1 -0
  14. package/dist/config/validation.js +17 -0
  15. package/dist/config/validation.js.map +1 -0
  16. package/dist/generate-types.d.ts +5 -0
  17. package/dist/generate-types.d.ts.map +1 -0
  18. package/dist/generate-types.js +276 -0
  19. package/dist/generate-types.js.map +1 -0
  20. package/dist/helpers.d.ts +34 -0
  21. package/dist/helpers.d.ts.map +1 -0
  22. package/dist/helpers.js +258 -0
  23. package/dist/helpers.js.map +1 -0
  24. package/dist/hook-handlers/config.d.ts.map +1 -0
  25. package/dist/hook-handlers/config.js +68 -0
  26. package/dist/hook-handlers/config.js.map +1 -0
  27. package/dist/hook-handlers/solidity.d.ts.map +1 -0
  28. package/dist/hook-handlers/solidity.js +21 -0
  29. package/dist/hook-handlers/solidity.js.map +1 -0
  30. package/dist/index.d.ts +8 -0
  31. package/dist/index.d.ts.map +1 -0
  32. package/dist/index.js +52 -0
  33. package/dist/index.js.map +1 -0
  34. package/dist/postinstall.d.ts +3 -0
  35. package/dist/postinstall.d.ts.map +1 -0
  36. package/dist/postinstall.js +148 -0
  37. package/dist/postinstall.js.map +1 -0
  38. package/dist/{esm/tasks → tasks}/deploy.d.ts +4 -1
  39. package/dist/tasks/deploy.d.ts.map +1 -0
  40. package/dist/tasks/deploy.js +38 -0
  41. package/dist/tasks/deploy.js.map +1 -0
  42. package/dist/{esm/type-extensions.d.ts → type-extensions.d.ts} +2 -2
  43. package/dist/type-extensions.d.ts.map +1 -0
  44. package/dist/type-extensions.js.map +1 -0
  45. package/dist/types.d.ts +13 -0
  46. package/dist/types.d.ts.map +1 -0
  47. package/dist/types.js.map +1 -0
  48. package/dist/utils/files.d.ts +10 -0
  49. package/dist/utils/files.d.ts.map +1 -0
  50. package/dist/utils/files.js +43 -0
  51. package/dist/utils/files.js.map +1 -0
  52. package/dist/v1-detection.d.ts +12 -0
  53. package/dist/v1-detection.d.ts.map +1 -0
  54. package/dist/v1-detection.js +118 -0
  55. package/dist/v1-detection.js.map +1 -0
  56. package/dist/v1-entry.cjs +92 -0
  57. package/package.json +58 -26
  58. package/src/cli.ts +245 -0
  59. package/src/config/default.ts +6 -0
  60. package/src/config/get-config.ts +12 -0
  61. package/src/config/validation.ts +25 -0
  62. package/src/generate-types.ts +316 -0
  63. package/src/helpers.ts +324 -0
  64. package/src/hook-handlers/config.ts +80 -0
  65. package/src/hook-handlers/solidity.ts +33 -0
  66. package/src/index.ts +60 -0
  67. package/src/postinstall.ts +165 -0
  68. package/src/tasks/deploy.ts +53 -0
  69. package/src/type-extensions.ts +12 -0
  70. package/src/types.ts +9 -0
  71. package/src/utils/files.ts +59 -0
  72. package/src/v1-entry.cjs +92 -0
  73. package/templates/basic/README.md +44 -0
  74. package/templates/basic/contracts/Counter.sol +19 -0
  75. package/templates/basic/contracts/Counter.t.sol +29 -0
  76. package/templates/basic/deploy/01_deploy_counter.ts +13 -0
  77. package/templates/basic/hardhat.config.ts +50 -0
  78. package/templates/basic/package.json +31 -0
  79. package/templates/basic/pnpm-lock.yaml +1643 -0
  80. package/templates/basic/rocketh/config.ts +65 -0
  81. package/templates/basic/rocketh/deploy.ts +20 -0
  82. package/templates/basic/rocketh/environment.ts +22 -0
  83. package/templates/basic/test/Counter.ts +61 -0
  84. package/templates/basic/tsconfig.json +13 -0
  85. package/dist/esm/config/default.d.ts.map +0 -1
  86. package/dist/esm/config/default.js +0 -8
  87. package/dist/esm/config/default.js.map +0 -1
  88. package/dist/esm/config/get-config.d.ts.map +0 -1
  89. package/dist/esm/config/get-config.js +0 -8
  90. package/dist/esm/config/get-config.js.map +0 -1
  91. package/dist/esm/config/validation.d.ts.map +0 -1
  92. package/dist/esm/config/validation.js +0 -16
  93. package/dist/esm/config/validation.js.map +0 -1
  94. package/dist/esm/generate-types.d.ts +0 -6
  95. package/dist/esm/generate-types.d.ts.map +0 -1
  96. package/dist/esm/generate-types.js +0 -242
  97. package/dist/esm/generate-types.js.map +0 -1
  98. package/dist/esm/helpers.d.ts +0 -18
  99. package/dist/esm/helpers.d.ts.map +0 -1
  100. package/dist/esm/helpers.js +0 -213
  101. package/dist/esm/helpers.js.map +0 -1
  102. package/dist/esm/hook-handlers/config.d.ts.map +0 -1
  103. package/dist/esm/hook-handlers/config.js +0 -16
  104. package/dist/esm/hook-handlers/config.js.map +0 -1
  105. package/dist/esm/hook-handlers/solidity.d.ts.map +0 -1
  106. package/dist/esm/hook-handlers/solidity.js +0 -17
  107. package/dist/esm/hook-handlers/solidity.js.map +0 -1
  108. package/dist/esm/index.d.ts +0 -5
  109. package/dist/esm/index.d.ts.map +0 -1
  110. package/dist/esm/index.js +0 -28
  111. package/dist/esm/index.js.map +0 -1
  112. package/dist/esm/tasks/deploy.d.ts.map +0 -1
  113. package/dist/esm/tasks/deploy.js +0 -24
  114. package/dist/esm/tasks/deploy.js.map +0 -1
  115. package/dist/esm/type-extensions.d.ts.map +0 -1
  116. package/dist/esm/type-extensions.js.map +0 -1
  117. package/dist/esm/types.d.ts +0 -15
  118. package/dist/esm/types.d.ts.map +0 -1
  119. package/dist/esm/types.js.map +0 -1
  120. /package/dist/{esm/config → config}/default.d.ts +0 -0
  121. /package/dist/{esm/config → config}/get-config.d.ts +0 -0
  122. /package/dist/{esm/config → config}/validation.d.ts +0 -0
  123. /package/dist/{esm/hook-handlers → hook-handlers}/config.d.ts +0 -0
  124. /package/dist/{esm/hook-handlers → hook-handlers}/solidity.d.ts +0 -0
  125. /package/dist/{esm/type-extensions.js → type-extensions.js} +0 -0
  126. /package/dist/{esm/types.js → types.js} +0 -0
@@ -0,0 +1,65 @@
1
+ /// ----------------------------------------------------------------------------
2
+ // Typed Config
3
+ // ----------------------------------------------------------------------------
4
+ import type { UserConfig } from "rocketh/types";
5
+
6
+
7
+ // we define our config and export it as "config"
8
+ export const config = {
9
+ accounts: {
10
+ deployer: {
11
+ default: 0,
12
+ },
13
+ admin: {
14
+ default: 1,
15
+ },
16
+
17
+
18
+ },
19
+ data: {},
20
+
21
+ // we also add here the public chain info for hardhat used for exports to frontend
22
+ chains: {
23
+ 31337: {
24
+ info: {
25
+ id: 31337,
26
+ name: "hardhat",
27
+ nativeCurrency: {
28
+ name: "Ether",
29
+ symbol: "ETH",
30
+ decimals: 18
31
+ },
32
+ rpcUrls: {
33
+ default: {
34
+ http: ["http://127.0.0.1:8545"],
35
+ }
36
+ }
37
+ }
38
+ }
39
+ }
40
+ } as const satisfies UserConfig;
41
+
42
+ // then we import each extensions we are interested in using in our deploy script or elsewhere
43
+
44
+ // this one provide a deploy function
45
+ import * as deployExtension from "@rocketh/deploy";
46
+ // this one provide read,execute functions
47
+ import * as readExecuteExtension from "@rocketh/read-execute";
48
+ // this one provide a viem handle to clients and contracts
49
+ import * as viemExtension from '@rocketh/viem';
50
+
51
+ // and export them as a unified object
52
+ const extensions = {
53
+ ...deployExtension,
54
+ ...readExecuteExtension,
55
+ ...viemExtension,
56
+ };
57
+ export { extensions };
58
+
59
+ // then we also export the types that our config ehibit so other can use it
60
+
61
+ type Extensions = typeof extensions;
62
+ type Accounts = typeof config.accounts;
63
+ type Data = typeof config.data;
64
+
65
+ export type { Extensions, Accounts, Data };
@@ -0,0 +1,20 @@
1
+ import {
2
+ type Accounts,
3
+ type Data,
4
+ type Extensions,
5
+ extensions,
6
+ } from "./config.js";
7
+
8
+ // ----------------------------------------------------------------------------
9
+ // we re-export the artifacts, so they are easily available from the alias
10
+ import * as artifacts from "../generated/artifacts/index.js";
11
+ export { artifacts };
12
+ // ----------------------------------------------------------------------------
13
+ // we create the rocketh functions we need by passing the extensions to the
14
+ // setup function
15
+ import { setupDeployScripts } from "rocketh";
16
+ const { deployScript } = setupDeployScripts<Extensions, Accounts, Data>(
17
+ extensions,
18
+ );
19
+
20
+ export { deployScript };
@@ -0,0 +1,22 @@
1
+ import {
2
+ type Accounts,
3
+ type Data,
4
+ type Extensions,
5
+ extensions,
6
+ } from "./config.js";
7
+ import { setupEnvironmentFromFiles } from "@rocketh/node";
8
+ import { setupHardhatDeploy } from "hardhat-deploy/helpers";
9
+
10
+ // useful for test and scripts, uses file-system
11
+ const { loadAndExecuteDeploymentsFromFiles } = setupEnvironmentFromFiles<
12
+ Extensions,
13
+ Accounts,
14
+ Data
15
+ >(extensions);
16
+ const { loadEnvironmentFromHardhat } = setupHardhatDeploy<
17
+ Extensions,
18
+ Accounts,
19
+ Data
20
+ >(extensions);
21
+
22
+ export { loadEnvironmentFromHardhat, loadAndExecuteDeploymentsFromFiles };
@@ -0,0 +1,61 @@
1
+ import assert from "node:assert/strict";
2
+ import { describe, it } from "node:test";
3
+
4
+ import { network } from 'hardhat';
5
+ import { Abi_Counter } from "../generated/abis/Counter.js";
6
+
7
+ // note we need to import loadAndExecuteDeploymentsFromFiles from ../rocketh/environment.js to get the type support
8
+ import { loadAndExecuteDeploymentsFromFiles } from "../rocketh/environment.js";
9
+
10
+ const { provider, networkHelpers, viem } = await network.connect();
11
+ async function deployAll() {
12
+ const env = await loadAndExecuteDeploymentsFromFiles({
13
+ provider: provider,
14
+ });
15
+
16
+ return { env };
17
+ }
18
+
19
+ describe("Counter", async function () {
20
+
21
+ it("Should emit the Increment event when calling the inc() function", async function () {
22
+ const { env } = await networkHelpers.loadFixture(deployAll);
23
+
24
+ const CounterContract = env.viem.getWritableContract<Abi_Counter>("Counter", { account: env.namedAccounts["deployer"] });
25
+ await viem.assertions.emitWithArgs(
26
+ CounterContract.write.inc(),
27
+ CounterContract,
28
+ "Increment",
29
+ [1n],
30
+ );
31
+ });
32
+
33
+ it("The sum of the Increment events should match the current value", async function () {
34
+ const { env } = await networkHelpers.loadFixture(deployAll);
35
+ const publicClient = env.viem.publicClient;
36
+ const deploymentBlockNumber = await publicClient.getBlockNumber();
37
+
38
+ const CounterContract = env.viem.getWritableContract<Abi_Counter>("Counter", { account: env.namedAccounts["deployer"] });
39
+
40
+ // run a series of increments
41
+ for (let i = 1n; i <= 10n; i++) {
42
+ await CounterContract.write.incBy([i]);
43
+ }
44
+
45
+ const events = await publicClient.getContractEvents({
46
+ address: CounterContract.address,
47
+ abi: CounterContract.abi,
48
+ eventName: "Increment",
49
+ fromBlock: deploymentBlockNumber,
50
+ strict: true,
51
+ });
52
+
53
+ // check that the aggregated events match the current value
54
+ let total = 0n;
55
+ for (const event of events) {
56
+ total += event.args.by;
57
+ }
58
+
59
+ assert.equal(total, await CounterContract.read.x());
60
+ });
61
+ });
@@ -0,0 +1,13 @@
1
+ /* Based on https://github.com/tsconfig/bases/blob/501da2bcd640cf95c95805783e1012b992338f28/bases/node22.json */
2
+ {
3
+ "compilerOptions": {
4
+ "lib": ["es2023"],
5
+ "module": "node16",
6
+ "target": "es2022",
7
+ "strict": true,
8
+ "esModuleInterop": true,
9
+ "skipLibCheck": true,
10
+ "moduleResolution": "node16",
11
+ "outDir": "dist"
12
+ }
13
+ }
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,aAAa,CAAC;AAE1D,eAAO,MAAM,cAAc,EAAE,wBAM5B,CAAC"}
@@ -1,8 +0,0 @@
1
- export const DEFAULT_CONFIG = {
2
- js: [],
3
- ts: ['./generated/artifacts.ts'],
4
- json: [],
5
- jsm: [],
6
- tsm: [],
7
- };
8
- //# sourceMappingURL=default.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA6B;IACvD,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,CAAC,0BAA0B,CAAC;IAChC,IAAI,EAAE,EAAE;IACR,GAAG,EAAE,EAAE;IACP,GAAG,EAAE,EAAE;CACP,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-config.d.ts","sourceRoot":"","sources":["../../../src/config/get-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAE,4BAA4B,EAAC,MAAM,aAAa,CAAC;AAIxF,wBAAgB,SAAS,CAAC,UAAU,EAAE,4BAA4B,GAAG,SAAS,GAAG,wBAAwB,CAKxG"}
@@ -1,8 +0,0 @@
1
- import { DEFAULT_CONFIG } from './default.js';
2
- export function getConfig(userConfig) {
3
- return {
4
- ...DEFAULT_CONFIG,
5
- ...userConfig,
6
- };
7
- }
8
- //# sourceMappingURL=get-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"get-config.js","sourceRoot":"","sources":["../../../src/config/get-config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,cAAc,EAAC,MAAM,cAAc,CAAC;AAE5C,MAAM,UAAU,SAAS,CAAC,UAAoD;IAC7E,OAAO;QACN,GAAG,cAAc;QACjB,GAAG,UAAU;KACb,CAAC;AACH,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../../src/config/validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,gCAAgC,EAAC,MAAM,oCAAoC,CAAC;AACzF,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AAgBtD,wBAAsB,2BAA2B,CAChD,UAAU,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAE7C"}
@@ -1,16 +0,0 @@
1
- import { validateUserConfigZodType } from '@nomicfoundation/hardhat-zod-utils';
2
- import { z } from 'zod';
3
- const artifactGenerationUserConfigSchema = z
4
- .object({
5
- js: z.array(z.string()).optional(),
6
- ts: z.array(z.string()).optional(),
7
- json: z.array(z.string()).optional(),
8
- jsm: z.array(z.string()).optional(),
9
- tsm: z.array(z.string()).optional(),
10
- directories: z.array(z.string()).optional(),
11
- })
12
- .optional();
13
- export async function validateTypechainUserConfig(userConfig) {
14
- return validateUserConfigZodType(userConfig.generateArtifacts, artifactGenerationUserConfigSchema);
15
- }
16
- //# sourceMappingURL=validation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../../src/config/validation.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,yBAAyB,EAAC,MAAM,oCAAoC,CAAC;AAC7E,OAAO,EAAC,CAAC,EAAC,MAAM,KAAK,CAAC;AAEtB,MAAM,kCAAkC,GAAG,CAAC;KAC1C,MAAM,CAAC;IACP,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACnC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;CAC3C,CAAC;KACD,QAAQ,EAAE,CAAC;AAEb,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,UAA6B;IAE7B,OAAO,yBAAyB,CAAC,UAAU,CAAC,iBAAiB,EAAE,kCAAkC,CAAC,CAAC;AACpG,CAAC"}
@@ -1,6 +0,0 @@
1
- import type { ArtifactGenerationConfig } from './types.js';
2
- export declare function generateTypes(paths: {
3
- root: string;
4
- artifacts: string;
5
- }, config: ArtifactGenerationConfig, artifactsPaths: string[]): Promise<void>;
6
- //# sourceMappingURL=generate-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../../src/generate-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,YAAY,CAAC;AA+LzD,wBAAsB,aAAa,CAClC,KAAK,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,EACxC,MAAM,EAAE,wBAAwB,EAChC,cAAc,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CA0Ff"}
@@ -1,242 +0,0 @@
1
- import debug from 'debug';
2
- import fs from 'node:fs';
3
- import path from 'node:path';
4
- const log = debug('hardhat-deploy:generate-types');
5
- function traverse(dir, result = [], topDir, filter // TODO any is Stats
6
- ) {
7
- fs.readdirSync(dir).forEach((name) => {
8
- const fPath = path.resolve(dir, name);
9
- const stats = fs.statSync(fPath);
10
- if ((!filter && !name.startsWith('.')) || (filter && filter(name, stats))) {
11
- const fileStats = {
12
- name,
13
- path: fPath,
14
- relativePath: path.relative(topDir || dir, fPath),
15
- mtimeMs: stats.mtimeMs,
16
- directory: stats.isDirectory(),
17
- };
18
- if (fileStats.directory) {
19
- result.push(fileStats);
20
- return traverse(fPath, result, topDir || dir, filter);
21
- }
22
- result.push(fileStats);
23
- }
24
- });
25
- return result;
26
- }
27
- function writeIfDifferent(filePath, newTextContent) {
28
- // Ensure we're working with a string
29
- const contentToWrite = String(newTextContent);
30
- try {
31
- let existingContent;
32
- try {
33
- existingContent = fs.readFileSync(filePath, 'utf8');
34
- }
35
- catch (error) {
36
- console.log(`do not exist? => writing ${filePath}`);
37
- // File doesn't exist, write and return
38
- fs.writeFileSync(filePath, contentToWrite);
39
- return { written: true, reason: 'File did not exist' };
40
- }
41
- // Simple string comparison
42
- if (contentToWrite !== existingContent) {
43
- console.log(`content different => writing ${filePath}`);
44
- fs.writeFileSync(filePath, contentToWrite);
45
- return { written: true, reason: 'Content was different' };
46
- }
47
- return { written: false, reason: 'Content was identical' };
48
- }
49
- catch (error) {
50
- console.error('Error in writeIfDifferent:', error);
51
- throw error;
52
- }
53
- }
54
- function ensureDirExistsSync(folderPath) {
55
- // Check if directory already exists
56
- if (fs.existsSync(folderPath)) {
57
- return { created: false, reason: 'Directory already exists' };
58
- }
59
- console.log(`do not exist? => mkdir ${folderPath}`);
60
- // Directory doesn't exist, create it
61
- fs.mkdirSync(folderPath, { recursive: true });
62
- return { created: true, reason: 'Directory was created' };
63
- }
64
- function writeFiles(name, data, config) {
65
- const js = typeof config?.js === 'string' ? [config?.js] : config?.js || [];
66
- const ts = typeof config?.ts === 'string' ? [config?.ts] : config?.ts || [];
67
- const json = typeof config?.json === 'string' ? [config?.json] : config?.json || [];
68
- const jsm = typeof config?.jsm === 'string' ? [config?.jsm] : config?.jsm || [];
69
- const tsm = typeof config?.tsm === 'string' ? [config?.tsm] : config?.tsm || [];
70
- if (ts.length > 0) {
71
- const newContent = `export default ${JSON.stringify(data, null, 2)} as const;`;
72
- for (const tsFile of ts) {
73
- if (tsFile.endsWith('.ts')) {
74
- if (!name) {
75
- const filepath = tsFile;
76
- const folderPath = path.dirname(filepath);
77
- ensureDirExistsSync(folderPath);
78
- writeIfDifferent(filepath, newContent);
79
- }
80
- }
81
- else {
82
- if (name) {
83
- const filepath = `${tsFile}/${name}.ts`;
84
- const folderPath = path.dirname(filepath);
85
- ensureDirExistsSync(folderPath);
86
- writeIfDifferent(filepath, newContent);
87
- }
88
- }
89
- }
90
- }
91
- if (js.length > 0) {
92
- const newContent = `export default /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
93
- // const dtsContent = `export = ${JSON.stringify(data, null, 2)} as const;`;
94
- const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export default _default;`;
95
- // const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export = _default;`;
96
- const cjsContent = `module.exports = /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
97
- for (const jsFile of js) {
98
- if (jsFile.endsWith('.js')) {
99
- if (!name) {
100
- const filepath = jsFile;
101
- const folderPath = path.dirname(filepath);
102
- ensureDirExistsSync(folderPath);
103
- writeIfDifferent(filepath, newContent);
104
- writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
105
- writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
106
- }
107
- }
108
- else {
109
- if (name) {
110
- const filepath = `${jsFile}/${name}.js`;
111
- const folderPath = path.dirname(filepath);
112
- ensureDirExistsSync(folderPath);
113
- writeIfDifferent(filepath, newContent);
114
- writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
115
- writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
116
- }
117
- }
118
- }
119
- }
120
- if (json.length > 0) {
121
- const newContent = JSON.stringify(data, null, 2);
122
- for (const jsonFile of json) {
123
- if (jsonFile.endsWith('.json')) {
124
- if (!name) {
125
- const filepath = jsonFile;
126
- const folderPath = path.dirname(filepath);
127
- ensureDirExistsSync(folderPath);
128
- writeIfDifferent(filepath, newContent);
129
- }
130
- }
131
- else {
132
- if (name) {
133
- const filepath = `${jsonFile}/${name}.json`;
134
- const folderPath = path.dirname(filepath);
135
- ensureDirExistsSync(folderPath);
136
- writeIfDifferent(filepath, newContent);
137
- }
138
- }
139
- }
140
- }
141
- if (!name) {
142
- if (tsm.length > 0) {
143
- let newContent = '';
144
- for (const key of Object.keys(data)) {
145
- newContent += `export const ${key} = ${JSON.stringify(data[key], null, 2)} as const;`;
146
- }
147
- for (const tsFile of tsm) {
148
- const filepath = tsFile;
149
- const folderPath = path.dirname(filepath);
150
- ensureDirExistsSync(folderPath);
151
- writeIfDifferent(filepath, newContent);
152
- }
153
- }
154
- if (jsm.length > 0) {
155
- let newContent = '';
156
- for (const key of Object.keys(data)) {
157
- newContent += `export const ${key} = /** @type {const} **/ (${JSON.stringify(data[key], null, 2)});`;
158
- }
159
- for (const jsFile of jsm) {
160
- const filepath = jsFile;
161
- const folderPath = path.dirname(filepath);
162
- ensureDirExistsSync(folderPath);
163
- writeIfDifferent(filepath, newContent);
164
- }
165
- }
166
- }
167
- }
168
- export async function generateTypes(paths, config, artifactsPaths) {
169
- const allArtifacts = {};
170
- const shortNameDict = {};
171
- const files = traverse(paths.artifacts, [], paths.artifacts, (name) => name != 'build-info' && !name.endsWith('.t.sol'));
172
- // console.log('--------------------------');
173
- // console.log(files);
174
- // console.log('--------------------------');
175
- for (const file of files) {
176
- const filepath = file.path;
177
- if (file.directory || !filepath.endsWith('.json')) {
178
- continue;
179
- }
180
- const filename = path.basename(filepath);
181
- const dirname = path.dirname(file.relativePath);
182
- // const namePath = dirname.replace('.sol', '');
183
- const contractName = filename.replace('.json', '');
184
- // const shortName = artifact.artifactsEmitted[i];
185
- // console.log({path: filepath});
186
- const content = fs.readFileSync(filepath, 'utf-8');
187
- const parsed = JSON.parse(content);
188
- // TODO read config for artifacts folder
189
- const buildInfoFilepath = path.join('artifacts', 'build-info', `${parsed.buildInfoId}.output.json`);
190
- // console.log({buildInfoFilepath});
191
- // const backupBuildInfoFilepath = path.join(
192
- // './generated',
193
- // buildInfoFilepath.slice(buildInfoFilepath.indexOf('/', 1))
194
- // );
195
- let buildInfoFilepathToUse = buildInfoFilepath;
196
- // if (!fs.existsSync(buildInfoFilepathToUse)) {
197
- // buildInfoFilepathToUse = backupBuildInfoFilepath;
198
- // }
199
- if (fs.existsSync(buildInfoFilepathToUse)) {
200
- const buildInfoContent = fs.readFileSync(buildInfoFilepathToUse, 'utf-8');
201
- // if (buildInfoFilepathToUse !== backupBuildInfoFilepath) {
202
- // ensureDirExistsSync(path.dirname(backupBuildInfoFilepath));
203
- // writeIfDifferent(backupBuildInfoFilepath, buildInfoContent);
204
- // }
205
- const parsedBuildInfo = JSON.parse(buildInfoContent);
206
- // console.log({dirname, contractName});
207
- const solidityOutput = parsedBuildInfo.output.contracts[dirname][contractName];
208
- const hardhatArtifactObject = { ...parsed, ...solidityOutput };
209
- const { buildInfoId, _format, ...artifactObject } = hardhatArtifactObject;
210
- const fullName = `${dirname}/${contractName}`;
211
- allArtifacts[fullName] = artifactObject;
212
- if (shortNameDict[contractName]) {
213
- delete allArtifacts[contractName];
214
- }
215
- else {
216
- allArtifacts[contractName] = artifactObject;
217
- shortNameDict[contractName] = true;
218
- }
219
- }
220
- }
221
- for (const key of Object.keys(allArtifacts)) {
222
- if (key.indexOf('/') >= 0) {
223
- const split = key.split('/');
224
- if (split.length > 1) {
225
- const shortName = split[split.length - 1];
226
- if (allArtifacts[shortName]) {
227
- delete allArtifacts[key];
228
- }
229
- }
230
- }
231
- }
232
- for (const key of Object.keys(allArtifacts)) {
233
- const artifact = allArtifacts[key];
234
- writeFiles(key, artifact, config);
235
- }
236
- // const json = hre.config.generateArtifacts.json || [];
237
- // json.push('./generated/_artifacts.json');
238
- // writeFiles(undefined, allArtifacts, {...hre.config.generateArtifacts, json: json});
239
- writeFiles(undefined, allArtifacts, config);
240
- log(`Successfully generated ${artifactsPaths.length} files!`);
241
- }
242
- //# sourceMappingURL=generate-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/generate-types.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { EdrNetworkUserConfig, NetworkUserConfig, SensitiveString } from 'hardhat/types/config';
2
- import { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
3
- import { Environment, ProvidedContext, UnknownArtifacts, UnresolvedUnknownNamedAccounts } from 'rocketh';
4
- export declare function loadEnvironmentFromHardhat<Artifacts extends UnknownArtifacts = UnknownArtifacts, NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts>({ hre, context }: {
5
- hre: HardhatRuntimeEnvironment;
6
- context?: ProvidedContext<Artifacts, NamedAccounts>;
7
- }, options?: {
8
- useChainIdOfForkedNetwork?: boolean;
9
- }): Promise<Environment>;
10
- export declare function getRPC(networkName: string): string | SensitiveString | undefined;
11
- export declare function getMnemonic(networkName?: string): string | SensitiveString;
12
- export declare function getAccounts(networkName?: string): {
13
- mnemonic: string | SensitiveString;
14
- };
15
- export declare function addNetworksFromEnv(networks?: Record<string, EdrNetworkUserConfig>): Record<string, NetworkUserConfig>;
16
- export declare function populateNetworksFromEnv(networks: Record<string, Omit<NetworkUserConfig, 'accounts' | 'url'> | EdrNetworkUserConfig>): Record<string, NetworkUserConfig>;
17
- export declare function addForkConfiguration(networks: Record<string, NetworkUserConfig>): Record<string, NetworkUserConfig>;
18
- //# sourceMappingURL=helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,oBAAoB,EAGpB,iBAAiB,EACjB,eAAe,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,8BAA8B,EAAkB,MAAM,SAAS,CAAC;AAExH,wBAAsB,0BAA0B,CAC/C,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EAErF,EAAC,GAAG,EAAE,OAAO,EAAC,EAAE;IAAC,GAAG,EAAE,yBAAyB,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;CAAC,EACrG,OAAO,CAAC,EAAE;IACT,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACpC,GACC,OAAO,CAAC,WAAW,CAAC,CAuEtB;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CA0BhF;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAiB1E;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;IAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAA;CAAC,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAuBrH;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAC1F,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAuBnC;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAmDnH"}