hardhat-deploy 2.0.0-next.41 → 2.0.0-next.42

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -107,7 +107,19 @@ pnpm add -D hardhat-deploy@next rocketh @rocketh/deploy @rocketh/read-execute
107
107
 
108
108
  :::
109
109
 
110
- but you can also add these that provide more features
110
+
111
+ Then you need to add it to the plugins list of hardhat in hardhat.config.ts:
112
+
113
+ ```ts
114
+ import HardhatDeploy from 'hardhat-deploy';
115
+ ...
116
+ const config: HardhatUserConfig = {
117
+ plugins: [..., HardhatDeploy],
118
+ ...
119
+ ```
120
+
121
+
122
+ We also recommend you add these to provide more features
111
123
 
112
124
  ::: code-group
113
125
 
@@ -121,11 +133,9 @@ pnpm add -D @rocketh/proxy @rocketh/diamond @rocketh/export @rocketh/verifier @r
121
133
 
122
134
  :::
123
135
 
124
- Then you need import them in your deploy script.
136
+ Note that extensions like `@rocketh/proxy` need to be passed into the rocketh setup function so they can be used.
125
137
 
126
- But we recommend you import them in one location that you then import in your deploy script so you can share it to all of them.
127
-
128
- We recommend to actually use the `rocketh.ts/js` config file to do that in one place.
138
+ The best way to do that is actually use the `rocketh.ts/js` config file itself to do that in one place.
129
139
  We also recommend you setup an alias for it so you can import with `import .. from "#rocketh"` it from anywhere:
130
140
  You can set it up by settings imports in `package.json`
131
141
 
@@ -174,7 +184,7 @@ export const config = {
174
184
  // so that they just need to import this file
175
185
  // we add here the extension we need, so that they are available in the deploy scripts
176
186
  // extensions are simply function that accept as their first argument the Environment
177
- // by passing them to the setup function (see below) you get to access them trhough the environment object with type-safety
187
+ // by passing them to the setup function (see below) you get to access them through the environment object with type-safety
178
188
  import * as deployExtensions from '@rocketh/deploy'; // this one provide a deploy function
179
189
  import * as readExecuteFunctions from '@rocketh/read-execute'; // this one provide read,execute functions
180
190
  const extensions = {...deployExtensions, ...readExecuteExtensions};
@@ -389,6 +399,9 @@ To execute that command, you need to specify the network to run against :
389
399
  pnpm rocketh-verify -n <network-name> <etherscan|sourcify|blockscout>
390
400
  ```
391
401
 
402
+ For etherscan verification, you just need the ETHERSCAN_API_KEY en variable to be set.
403
+ you can use a .env or .env.local file for that as rocketh will load them automatically.
404
+
392
405
  ### 3. rocketh-export
393
406
 
394
407
  This command is provided by the optional package `@rocketh/export`
@@ -1 +1 @@
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,wBAS5B,CAAC"}
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,wBAG5B,CAAC"}
@@ -1,11 +1,5 @@
1
1
  export const DEFAULT_CONFIG = {
2
2
  // externalArtifacts: [],
3
- destinations: {
4
- js: [],
5
- ts: ['./generated/artifacts.ts'],
6
- json: [],
7
- jsm: [],
8
- tsm: [],
9
- },
3
+ destinations: [{ mode: 'javascript', folder: './generated' }],
10
4
  };
11
5
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA6B;IACvD,yBAAyB;IACzB,YAAY,EAAE;QACb,EAAE,EAAE,EAAE;QACN,EAAE,EAAE,CAAC,0BAA0B,CAAC;QAChC,IAAI,EAAE,EAAE;QACR,GAAG,EAAE,EAAE;QACP,GAAG,EAAE,EAAE;KACP;CACD,CAAC"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/config/default.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,cAAc,GAA6B;IACvD,yBAAyB;IACzB,YAAY,EAAE,CAAC,EAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAC,CAAC;CAC3D,CAAC"}
@@ -1 +1 @@
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,CAQxG"}
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,CAOxG"}
@@ -1,10 +1,8 @@
1
1
  import { DEFAULT_CONFIG } from './default.js';
2
2
  export function getConfig(userConfig) {
3
3
  return {
4
- destinations: {
5
- ...DEFAULT_CONFIG.destinations,
6
- ...(userConfig?.destinations || {}),
7
- },
4
+ destinations: userConfig?.destinations?.map((v) => ({ mode: v.mode || 'javascript', folder: v.folder || './generated' })) ||
5
+ DEFAULT_CONFIG.destinations,
8
6
  // externalArtifacts: userConfig?.externalArtifacts || DEFAULT_CONFIG.externalArtifacts,
9
7
  };
10
8
  }
@@ -1 +1 @@
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,YAAY,EAAE;YACb,GAAG,cAAc,CAAC,YAAY;YAC9B,GAAG,CAAC,UAAU,EAAE,YAAY,IAAI,EAAE,CAAC;SACnC;QACD,wFAAwF;KACxF,CAAC;AACH,CAAC"}
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,YAAY,EACX,UAAU,EAAE,YAAY,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAC,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,YAAY,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,aAAa,EAAC,CAAC,CAAC;YACzG,cAAc,CAAC,YAAY;QAC5B,wFAAwF;KACxF,CAAC;AACH,CAAC"}
@@ -1 +1 @@
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;AAqBtD,wBAAsB,2BAA2B,CAChD,UAAU,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAE7C"}
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;AAmBtD,wBAAsB,2BAA2B,CAChD,UAAU,EAAE,iBAAiB,GAC3B,OAAO,CAAC,gCAAgC,EAAE,CAAC,CAE7C"}
@@ -4,14 +4,10 @@ const artifactGenerationUserConfigSchema = z
4
4
  .object({
5
5
  // externalArtifacts: z.array(z.string()).optional(),
6
6
  destinations: z
7
- .object({
8
- js: z.array(z.string()).optional(),
9
- ts: z.array(z.string()).optional(),
10
- json: z.array(z.string()).optional(),
11
- jsm: z.array(z.string()).optional(),
12
- tsm: z.array(z.string()).optional(),
13
- directories: z.array(z.string()).optional(),
14
- })
7
+ .array(z.object({
8
+ mode: z.union([z.literal('javascript'), z.literal('typescript')]).optional(),
9
+ folder: z.string().optional(),
10
+ }))
15
11
  .optional(),
16
12
  })
17
13
  .optional();
@@ -1 +1 @@
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,qDAAqD;IACrD,YAAY,EAAE,CAAC;SACb,MAAM,CAAC;QACP,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAClC,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QAClC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACpC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnC,GAAG,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;QACnC,WAAW,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;KAC3C,CAAC;SACD,QAAQ,EAAE;CACZ,CAAC;KACD,QAAQ,EAAE,CAAC;AAEb,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,UAA6B;IAE7B,OAAO,yBAAyB,CAAC,UAAU,CAAC,sBAAsB,EAAE,kCAAkC,CAAC,CAAC;AACzG,CAAC"}
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,qDAAqD;IACrD,YAAY,EAAE,CAAC;SACb,KAAK,CACL,CAAC,CAAC,MAAM,CAAC;QACR,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;QAC5E,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KAC7B,CAAC,CACF;SACA,QAAQ,EAAE;CACZ,CAAC;KACD,QAAQ,EAAE,CAAC;AAEb,MAAM,CAAC,KAAK,UAAU,2BAA2B,CAChD,UAA6B;IAE7B,OAAO,yBAAyB,CAAC,UAAU,CAAC,sBAAsB,EAAE,kCAAkC,CAAC,CAAC;AACzG,CAAC"}
@@ -1 +1 @@
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;AA4LzD,wBAAsB,aAAa,CAAC,KAAK,EAAE;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAuGjH"}
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;AAqKzD,wBAAsB,aAAa,CAAC,KAAK,EAAE;IAAC,SAAS,EAAE,MAAM,EAAE,CAAA;CAAC,EAAE,MAAM,EAAE,wBAAwB,GAAG,OAAO,CAAC,IAAI,CAAC,CAiHjH"}
@@ -1,6 +1,6 @@
1
1
  import debug from 'debug';
2
2
  import fs from 'node:fs';
3
- import path, { basename, dirname } from 'node:path';
3
+ import path from 'node:path';
4
4
  import slash from 'slash';
5
5
  import { traverse } from './utils/files.js';
6
6
  const log = debug('hardhat-deploy:generate-types');
@@ -41,137 +41,103 @@ function ensureDirExistsSync(folderPath) {
41
41
  fs.mkdirSync(folderPath, { recursive: true });
42
42
  return { created: true, reason: 'Directory was created' };
43
43
  }
44
- function writeFiles(name, data, config) {
45
- const destinations = config.destinations;
46
- const js = typeof destinations?.js === 'string' ? [destinations?.js] : destinations?.js || [];
47
- const ts = typeof destinations?.ts === 'string' ? [destinations?.ts] : destinations?.ts || [];
48
- const json = typeof destinations?.json === 'string' ? [destinations?.json] : destinations?.json || [];
49
- const jsm = typeof destinations?.jsm === 'string' ? [destinations?.jsm] : destinations?.jsm || [];
50
- const tsm = typeof destinations?.tsm === 'string' ? [destinations?.tsm] : destinations?.tsm || [];
51
- if (ts.length > 0) {
52
- const newContent = `export default ${JSON.stringify(data, null, 2)} as const;`;
53
- for (const tsFile of ts) {
54
- if (tsFile.endsWith('.ts')) {
55
- if (!name) {
56
- const filepath = tsFile;
57
- const folderPath = path.dirname(filepath);
58
- ensureDirExistsSync(folderPath);
59
- writeIfDifferent(filepath, newContent);
60
- ensureDirExistsSync(`${folderPath}/types`);
61
- for (const name of Object.keys(data)) {
62
- const splitted = name.split('/');
63
- const numPath = splitted.length;
64
- let pathToBase = '';
65
- for (let i = 0; i < numPath; i++) {
66
- pathToBase += '../';
67
- }
68
- let lastName = splitted.pop() || name;
69
- const content = `
70
- import artifacts from '${pathToBase}${basename(tsFile.replace('.ts', '.js'))}';
71
- export type Abi_${lastName} = typeof artifacts["${name}"]["abi"];
72
- `;
73
- ensureDirExistsSync(dirname(`${folderPath}/types/${name}`));
74
- writeIfDifferent(`${folderPath}/types/${name}.ts`, content);
75
- }
76
- }
77
- }
78
- else {
79
- if (name) {
80
- const filepath = `${tsFile}/${name}.ts`;
81
- const folderPath = path.dirname(filepath);
82
- ensureDirExistsSync(folderPath);
83
- writeIfDifferent(filepath, newContent);
84
- }
85
- else {
86
- let indexFileContent = ``;
87
- for (const name of Object.keys(data)) {
88
- let transformedName = name.replaceAll('/', '_').replaceAll('.', '_');
89
- indexFileContent += `
90
- import ${transformedName} from './${name}.js';
91
- export {${transformedName}};
92
- export type Abi_${transformedName} = typeof ${transformedName}.abi;
93
- `;
94
- }
95
- writeIfDifferent(`${tsFile}/index.ts`, indexFileContent);
96
- }
97
- }
98
- }
44
+ function writeArtifactToFile(folder, canonicalName, data, mode) {
45
+ const name = canonicalName.split('/').pop();
46
+ const artifactName = `Artifact_${name}`;
47
+ const tsFilepath = path.join(folder, 'values', canonicalName) + '.ts';
48
+ const folderPath = path.dirname(tsFilepath);
49
+ ensureDirExistsSync(folderPath);
50
+ if (mode === 'typescript') {
51
+ const newContent = `export const ${artifactName} = ${JSON.stringify(data, null, 2)} as const;`;
52
+ writeIfDifferent(tsFilepath, newContent);
99
53
  }
100
- if (js.length > 0) {
101
- const newContent = `export default /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
102
- // const dtsContent = `export = ${JSON.stringify(data, null, 2)} as const;`;
103
- const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export default _default;`;
104
- // const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export = _default;`;
105
- const cjsContent = `module.exports = /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
106
- for (const jsFile of js) {
107
- if (jsFile.endsWith('.js')) {
108
- if (!name) {
109
- const filepath = jsFile;
110
- const folderPath = path.dirname(filepath);
111
- ensureDirExistsSync(folderPath);
112
- writeIfDifferent(filepath, newContent);
113
- writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
114
- writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
115
- }
116
- }
117
- else {
118
- if (name) {
119
- const filepath = `${jsFile}/${name}.js`;
120
- const folderPath = path.dirname(filepath);
121
- ensureDirExistsSync(folderPath);
122
- writeIfDifferent(filepath, newContent);
123
- writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
124
- writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
125
- }
126
- }
54
+ else if (mode === 'javascript') {
55
+ const newContent = `export const ${artifactName} = /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
56
+ const dtsContent = `export declare const ${artifactName}: ${JSON.stringify(data, null, 2)};`;
57
+ const jsFilepath = path.join(folder, 'values', canonicalName) + '.js';
58
+ writeIfDifferent(jsFilepath, newContent);
59
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), dtsContent);
60
+ }
61
+ }
62
+ function writeArtifactIndexToFile(folder, data, mode) {
63
+ const tsFilepath = path.join(folder, 'artifacts') + '.ts';
64
+ const folderPath = path.dirname(tsFilepath);
65
+ ensureDirExistsSync(folderPath);
66
+ if (mode === 'typescript') {
67
+ let newContent = '';
68
+ for (const canonicalName of Object.keys(data)) {
69
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
70
+ const name = canonicalName.split('/').pop();
71
+ const artifactName = `Artifact_${name}`;
72
+ const importNaming = canonicalName != name ? `${artifactName} as ${transformedName}` : `${artifactName} as ${name}`;
73
+ newContent += `export {${importNaming}} from './values/${canonicalName}.js';\n`;
127
74
  }
75
+ writeIfDifferent(tsFilepath, newContent);
128
76
  }
129
- if (json.length > 0) {
130
- const newContent = JSON.stringify(data, null, 2);
131
- for (const jsonFile of json) {
132
- if (jsonFile.endsWith('.json')) {
133
- if (!name) {
134
- const filepath = jsonFile;
135
- const folderPath = path.dirname(filepath);
136
- ensureDirExistsSync(folderPath);
137
- writeIfDifferent(filepath, newContent);
138
- }
139
- }
140
- else {
141
- if (name) {
142
- const filepath = `${jsonFile}/${name}.json`;
143
- const folderPath = path.dirname(filepath);
144
- ensureDirExistsSync(folderPath);
145
- writeIfDifferent(filepath, newContent);
146
- }
147
- }
77
+ else if (mode === 'javascript') {
78
+ let newContent = '';
79
+ for (const canonicalName of Object.keys(data)) {
80
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
81
+ const name = canonicalName.split('/').pop();
82
+ const artifactName = `Artifact_${name}`;
83
+ const importNaming = canonicalName != name ? `${artifactName} as ${transformedName}` : `${artifactName} as ${name}`;
84
+ newContent += `export {${importNaming}} from './values/${canonicalName}.js';\n`;
148
85
  }
86
+ const jsFilepath = path.join(folder, 'artifacts') + '.js';
87
+ writeIfDifferent(jsFilepath, newContent);
88
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), newContent);
149
89
  }
150
- if (!name) {
151
- if (tsm.length > 0) {
152
- let newContent = '';
153
- for (const key of Object.keys(data)) {
154
- newContent += `export const ${key} = ${JSON.stringify(data[key], null, 2)} as const;`;
155
- }
156
- for (const tsFile of tsm) {
157
- const filepath = tsFile;
158
- const folderPath = path.dirname(filepath);
159
- ensureDirExistsSync(folderPath);
160
- writeIfDifferent(filepath, newContent);
161
- }
90
+ }
91
+ function writeABIDefinitionToFile(folder, canonicalName, data, mode) {
92
+ const nameAsPath = canonicalName.split('/');
93
+ const name = nameAsPath[nameAsPath.length - 1];
94
+ const abiName = `Abi_${name}`;
95
+ const artifactName = `Artifact_${name}`;
96
+ const relativePath = `../`.repeat(nameAsPath.length);
97
+ const tsFilepath = path.join(folder, 'types', canonicalName) + '.ts';
98
+ const folderPath = path.dirname(tsFilepath);
99
+ ensureDirExistsSync(folderPath);
100
+ if (mode === 'typescript') {
101
+ const newContent = `import {${artifactName}} from '${relativePath}values/${canonicalName}.js';
102
+ export type ${abiName} = (typeof ${artifactName})['abi'];\n`;
103
+ writeIfDifferent(tsFilepath, newContent);
104
+ }
105
+ else if (mode === 'javascript') {
106
+ const jsFilepath = path.join(folder, 'types', canonicalName) + '.js';
107
+ const newContent = `export {};\n`;
108
+ const dtsContent = `import {${artifactName}} from '${relativePath}values/${canonicalName}.js';
109
+ export type ${abiName} = (typeof ${artifactName})['abi'];\n`;
110
+ writeIfDifferent(jsFilepath, newContent);
111
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), dtsContent);
112
+ }
113
+ }
114
+ function writeABIDefinitionIndexToFile(folder, data, mode) {
115
+ const tsFilepath = path.join(folder, 'types', 'index') + '.ts';
116
+ const folderPath = path.dirname(tsFilepath);
117
+ ensureDirExistsSync(folderPath);
118
+ if (mode === 'typescript') {
119
+ let newContent = '';
120
+ for (const canonicalName of Object.keys(data)) {
121
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
122
+ const name = canonicalName.split('/').pop();
123
+ const abiName = `Abi_${name}`;
124
+ const importNaming = canonicalName != name ? `${abiName} as ${transformedName}` : `${abiName} as ${name}`;
125
+ newContent += `export {${importNaming}} from "./${canonicalName}.js"\n`;
162
126
  }
163
- if (jsm.length > 0) {
164
- let newContent = '';
165
- for (const key of Object.keys(data)) {
166
- newContent += `export const ${key} = /** @type {const} **/ (${JSON.stringify(data[key], null, 2)});`;
167
- }
168
- for (const jsFile of jsm) {
169
- const filepath = jsFile;
170
- const folderPath = path.dirname(filepath);
171
- ensureDirExistsSync(folderPath);
172
- writeIfDifferent(filepath, newContent);
173
- }
127
+ writeIfDifferent(tsFilepath, newContent);
128
+ }
129
+ else if (mode === 'javascript') {
130
+ const jsFilepath = path.join(folder, 'types', 'index') + '.js';
131
+ let newContent = '';
132
+ for (const canonicalName of Object.keys(data)) {
133
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
134
+ const name = canonicalName.split('/').pop();
135
+ const abiName = `Abi_${name}`;
136
+ const importNaming = canonicalName != name ? `${abiName} as ${transformedName}` : `${abiName} as ${name}`;
137
+ newContent += `export {${importNaming}} from "./${canonicalName}.js"\n`;
174
138
  }
139
+ writeIfDifferent(jsFilepath, newContent);
140
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), newContent);
175
141
  }
176
142
  }
177
143
  export async function generateTypes(paths, config) {
@@ -256,13 +222,21 @@ export async function generateTypes(paths, config) {
256
222
  }
257
223
  }
258
224
  }
225
+ // for (const key of Object.keys(allArtifacts)) {
226
+ // const artifact = allArtifacts[key];
227
+ // writeFiles(key, artifact, config);
228
+ // }
229
+ // // const json = hre.config.generateTypedArtifacts.json || [];
230
+ // // json.push('./generated/_artifacts.json');
231
+ // // writeFiles(undefined, allArtifacts, {...hre.config.generateTypedArtifacts, json: json});
232
+ // writeFiles(undefined, allArtifacts, config);
233
+ const generatedFolder = 'generated';
234
+ const mode = 'javascript';
259
235
  for (const key of Object.keys(allArtifacts)) {
260
- const artifact = allArtifacts[key];
261
- writeFiles(key, artifact, config);
236
+ writeABIDefinitionToFile(generatedFolder, key, allArtifacts[key], mode);
237
+ writeArtifactToFile(generatedFolder, key, allArtifacts[key], mode);
262
238
  }
263
- // const json = hre.config.generateTypedArtifacts.json || [];
264
- // json.push('./generated/_artifacts.json');
265
- // writeFiles(undefined, allArtifacts, {...hre.config.generateTypedArtifacts, json: json});
266
- writeFiles(undefined, allArtifacts, config);
239
+ writeArtifactIndexToFile(generatedFolder, allArtifacts, mode);
240
+ writeABIDefinitionIndexToFile(generatedFolder, allArtifacts, mode);
267
241
  }
268
242
  //# sourceMappingURL=generate-types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/generate-types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/generate-types.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { EdrNetworkUserConfig, NetworkUserConfig, SensitiveString } from 'hardhat/types/config';
2
2
  import { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
3
+ import { NetworkConnection } from 'hardhat/types/network';
3
4
  import { Environment, UnresolvedUnknownNamedAccounts, UnresolvedNetworkSpecificData } from 'rocketh';
4
5
  export declare function setupHardhatDeploy<Extensions extends Record<string, (env: Environment<any, any, any>) => any> = {}, NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, Data extends UnresolvedNetworkSpecificData = UnresolvedNetworkSpecificData>(extensions: Extensions): {
5
6
  loadEnvironmentFromHardhat: (required: {
@@ -8,8 +9,9 @@ export declare function setupHardhatDeploy<Extensions extends Record<string, (en
8
9
  useChainIdOfForkedNetwork?: boolean;
9
10
  }) => Promise<import("rocketh").EnhancedEnvironment<UnresolvedUnknownNamedAccounts, UnresolvedNetworkSpecificData, import("rocketh").UnknownDeployments, Extensions, Record<string, unknown>>>;
10
11
  };
11
- export declare function loadEnvironmentFromHardhat<NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, Data extends UnresolvedNetworkSpecificData = UnresolvedNetworkSpecificData>({ hre }: {
12
+ export declare function loadEnvironmentFromHardhat<NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, Data extends UnresolvedNetworkSpecificData = UnresolvedNetworkSpecificData>(params: {
12
13
  hre: HardhatRuntimeEnvironment;
14
+ connection?: NetworkConnection;
13
15
  }, options?: {
14
16
  useChainIdOfForkedNetwork?: boolean;
15
17
  }): Promise<Environment<NamedAccounts, Data>>;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,oBAAoB,EAEpB,iBAAiB,EACjB,eAAe,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EACN,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAG7B,MAAM,SAAS,CAAC;AAEjB,wBAAgB,kBAAkB,CACjC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAChF,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,IAAI,SAAS,6BAA6B,GAAG,6BAA6B,EACzE,UAAU,EAAE,UAAU;2CAEZ;QAAC,GAAG,EAAE,yBAAyB,CAAA;KAAC,YAChC;QACT,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACpC;EASF;AAED,wBAAsB,0BAA0B,CAC/C,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,IAAI,SAAS,6BAA6B,GAAG,6BAA6B,EAE1E,EAAC,GAAG,EAAC,EAAE;IAAC,GAAG,EAAE,yBAAyB,CAAA;CAAC,EACvC,OAAO,CAAC,EAAE;IACT,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACpC,GACC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAuE3C;AAiBD,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CAuBhF;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAc1E;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,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAuBlH;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,CAsDnH"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAEN,oBAAoB,EAEpB,iBAAiB,EACjB,eAAe,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACN,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAG7B,MAAM,SAAS,CAAC;AAEjB,wBAAgB,kBAAkB,CACjC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAChF,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,IAAI,SAAS,6BAA6B,GAAG,6BAA6B,EACzE,UAAU,EAAE,UAAU;2CAEZ;QAAC,GAAG,EAAE,yBAAyB,CAAA;KAAC,YAChC;QACT,yBAAyB,CAAC,EAAE,OAAO,CAAC;KACpC;EASF;AAED,wBAAsB,0BAA0B,CAC/C,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,IAAI,SAAS,6BAA6B,GAAG,6BAA6B,EAE1E,MAAM,EAAE;IAAC,GAAG,EAAE,yBAAyB,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAC,EACxE,OAAO,CAAC,EAAE;IACT,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACpC,GACC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAuE3C;AAiBD,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CAuBhF;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAc1E;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,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAuBlH;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,CAsDnH"}
@@ -9,15 +9,15 @@ export function setupHardhatDeploy(extensions) {
9
9
  loadEnvironmentFromHardhat: loadEnvironmentFromHardhatWithExtensions,
10
10
  };
11
11
  }
12
- export async function loadEnvironmentFromHardhat({ hre }, options) {
13
- const connection = await hre.network.connect();
12
+ export async function loadEnvironmentFromHardhat(params, options) {
13
+ const connection = params.connection || (await params.hre.network.connect());
14
14
  let provider = connection.provider;
15
15
  let network = connection.networkName;
16
16
  let forkChainId;
17
17
  const fork = process.env.HARDHAT_FORK;
18
18
  if (fork) {
19
19
  if (options?.useChainIdOfForkedNetwork) {
20
- const forkNetworkConfig = hre.config.networks[fork];
20
+ const forkNetworkConfig = params.hre.config.networks[fork];
21
21
  if (forkNetworkConfig.type === 'edr-simulated') {
22
22
  forkChainId = forkNetworkConfig.chainId;
23
23
  }
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAS9C,OAAO,EAIN,eAAe,EACf,kBAAkB,GAClB,MAAM,SAAS,CAAC;AAEjB,MAAM,UAAU,kBAAkB,CAIhC,UAAsB;IACvB,KAAK,UAAU,wCAAwC,CACtD,QAA0C,EAC1C,OAEC;QAED,MAAM,GAAG,GAAG,MAAM,0BAA0B,CAAsB,QAAQ,EAAE,OAAO,CAAC,CAAC;QACrF,OAAO,kBAAkB,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC5C,CAAC;IAED,OAAO;QACN,0BAA0B,EAAE,wCAAwC;KACpE,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAI/C,EAAC,GAAG,EAAmC,EACvC,OAEC;IAED,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/C,IAAI,QAAQ,GAAQ,UAAU,CAAC,QAAQ,CAAC;IACxC,IAAI,OAAO,GAA4B,UAAU,CAAC,WAAW,CAAC;IAC9D,IAAI,WAA+B,CAAC;IACpC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,YAAkC,CAAC;IAC5D,IAAI,IAAI,EAAE,CAAC;QACV,IAAI,OAAO,EAAE,yBAAyB,EAAE,CAAC;YACxC,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAEpD,IAAI,iBAAiB,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;gBAChD,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACzC,CAAC;iBAAM,IAAI,iBAAiB,CAAC,OAAO,EAAE,CAAC;gBACtC,WAAW,GAAG,iBAAiB,CAAC,OAAO,CAAC;YACzC,CAAC;iBAAM,CAAC;gBACP,IAAI,KAAK,IAAI,iBAAiB,EAAE,CAAC;oBAChC,MAAM,GAAG,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;oBACjD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;wBACjC,MAAM,EAAE,MAAM;wBACd,OAAO,EAAE;4BACR,cAAc,EAAE,kBAAkB;yBAClC;wBACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACpB,OAAO,EAAE,KAAK;4BACd,EAAE,EAAE,CAAC;4BACL,MAAM,EAAE,aAAa;4BACrB,MAAM,EAAE,EAAE;yBACV,CAAC;qBACF,CAAC,CAAC;oBACH,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAqB,CAAC;oBACzD,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;gBACnC,CAAC;qBAAM,CAAC;oBACP,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;gBACzC,CAAC;YACF,CAAC;QACF,CAAC;QAED,OAAO,GAAG;YACT,IAAI;SACJ,CAAC;IACH,CAAC;IAED,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,gBAAgB,GAAG,QAAQ,CAAC;QAClC,MAAM,OAAO,GAAG,WAAW,CAAC;QAC5B,KAAK,UAAU,OAAO,CAAC,IAAyC;YAC/D,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,EAAE,CAAC;gBACnC,OAAO,KAAK,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,CAAC;YACpC,CAAC;YACD,OAAO,gBAAgB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACvC,CAAC;QACD,QAAQ,GAAG,IAAI,KAAK,CAAC,gBAAgB,EAAE;YACtC,GAAG,EAAE,UAAU,MAAM,EAAE,QAAQ,EAAE,QAAQ;gBACxC,QAAQ,QAAQ,EAAE,CAAC;oBAClB,KAAK,SAAS;wBACb,OAAO,OAAO,CAAC;oBAChB;wBACC,OAAO,gBAAgB,CAAC,QAAQ,CAAC,CAAC;gBACpC,CAAC;YACF,CAAC;SACD,CAAC,CAAC;IACJ,CAAC;IAED,0CAA0C;IAC1C,OAAO,eAAe,CAAsB;QAC3C,QAAQ;QACR,OAAO;QACP,KAAK,EAAE;YACN,UAAU;SACV;KACD,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,WAAW,CAAC,MAAc,EAAE,IAAY;IAChD,MAAM,YAAY,GAAG,MAAM,GAAG,IAAI,CAAC;IACnC,IAAI,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IACpC,IAAI,GAAG,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO,cAAc,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC;IACjD,CAAC;SAAM,IAAI,GAAG,EAAE,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QACvC,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAChC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,GAAG,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,cAAc,CAAC,UAAU,MAAM,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACzD,CAAC;IACD,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,WAAmB;IACzC,IAAI,GAAG,GAAG,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;IAEpD,IAAI,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACvB,OAAO,GAAG,CAAC;IACZ,CAAC;IAED,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IAC/B,IAAI,GAAG,EAAE,CAAC;QACT,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAC;IACnD,CAAC;IACD,IAAI,CAAC,GAAG,IAAI,GAAG,KAAK,EAAE,EAAE,CAAC;QACxB,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;YACjC,OAAO,uBAAuB,CAAC;QAChC,CAAC;QACD,OAAO,GAAG,CAAC;QACX,qEAAqE;IACtE,CAAC;IACD,IAAI,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2DAA2D,GAAG,EAAE,CAAC,CAAC;IACnF,CAAC;IAED,OAAO,GAAG,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAoB;IAC/C,IAAI,WAAW,EAAE,CAAC;QACjB,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAEvD,IAAI,QAAQ,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;YACjC,OAAO,QAAQ,CAAC;QACjB,CAAC;IACF,CAAC;IAED,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IACtC,IAAI,CAAC,QAAQ,IAAI,QAAQ,KAAK,EAAE,EAAE,CAAC;QAClC,OAAO,6DAA6D,CAAC;IACtE,CAAC;IACD,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,WAAoB;IAC/C,OAAO,EAAC,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC,EAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,QAA4C;IAC9E,MAAM,WAAW,GAAsC,QAAQ,CAAC,CAAC,CAAC,EAAC,GAAG,QAAQ,EAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACrF,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACxC,KAAK,MAAM,MAAM,IAAI,MAAM,EAAE,CAAC;QAC7B,IAAI,MAAM,CAAC,UAAU,CAAC,eAAe,CAAC,IAAI,MAAM,CAAC,MAAM,GAAG,eAAe,CAAC,MAAM,EAAE,CAAC;YAClF,MAAM,WAAW,GAAG,MAAM,CAAC,KAAK,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YACzD,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,CAAC,WAAW,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC/B,IAAI,GAAG,EAAE,CAAC;oBACT,WAAW,CAAC,WAAW,CAAC,GAAG;wBAC1B,IAAI,EAAE,MAAM;wBACZ,GAAG;wBACH,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;qBAClC,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACP,OAAO,CAAC,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;gBACpD,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,OAAO,CAAC,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;YACpD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,uBAAuB,CACtC,QAA4F;IAE5F,MAAM,WAAW,GAAsC,EAAE,CAAC;IAC1D,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QACjD,MAAM,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,OAAO,CAAC,IAAI,KAAK,eAAe,EAAE,CAAC;YACtC,gCAAgC;YAChC,WAAW,CAAC,WAAW,CAAC,GAAG,OAA+B,CAAC;QAC5D,CAAC;aAAM,CAAC;YACP,MAAM,GAAG,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;YAChC,IAAI,GAAG,EAAE,CAAC;gBACT,WAAW,CAAC,WAAW,CAAC,GAAG;oBAC1B,GAAG,OAAO;oBACV,GAAG;oBACH,QAAQ,EAAE,WAAW,CAAC,WAAW,CAAC;iBAClC,CAAC;YACH,CAAC;iBAAM,CAAC;gBACP,IAAI,CAAC,CAAC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC;oBACzC,OAAO,CAAC,KAAK,CAAC,sBAAsB,WAAW,EAAE,CAAC,CAAC;gBACpD,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,QAA2C;IAC/E,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;IACpD,IAAI,OAA6C,CAAC;IAClD,IAAI,eAA2D,CAAC;IAChE,IACC,kBAAkB;QAClB,kBAAkB,KAAK,SAAS;QAChC,kBAAkB,KAAK,KAAK;QAC5B,kBAAkB,KAAK,eAAe;QACtC,kBAAkB,KAAK,QAAQ,EAC9B,CAAC;QACF,MAAM,cAAc,GAAG,QAAQ,CAAC,kBAAkB,CAA0B,CAAC;QAC7E,IAAI,cAAc,EAAE,CAAC;YACpB,IAAI,cAAc,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;gBACpC,OAAO,GAAG,cAAc,CAAC,GAAG,CAAC;gBAC7B,IACC,cAAc,CAAC,QAAQ;oBACvB,OAAO,cAAc,CAAC,QAAQ,KAAK,QAAQ;oBAC3C,UAAU,IAAI,cAAc,CAAC,QAAQ,EACpC,CAAC;oBACF,eAAe,GAAG,cAAc,CAAC,QAAQ,CAAC;gBAC3C,CAAC;gBAED,gFAAgF;gBAChF,2DAA2D;gBAC3D,wCAAwC;gBACxC,mBAAmB;gBACnB,QAAQ;gBACR,IAAI;YACL,CAAC;QACF,CAAC;IACF,CAAC;IAED,MAAM,eAAe,GACpB,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,eAAe;QAC5D,CAAC,CAAC,QAAQ,CAAC,OAAO;QAClB,CAAC,CAAC,EAAC,IAAI,EAAE,eAAe,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAE7C,MAAM,WAAW,GAAsC;QACtD,GAAG,uBAAuB,CAAC,QAAQ,CAAC;QACpC,OAAO,EAAE;YACR,GAAG,eAAe;YAClB,GAAG;gBACF,QAAQ,EAAE,eAAe,IAAI,eAAe,EAAE,QAAQ;gBACtD,OAAO,EAAE,OAAO;oBACf,CAAC,CAAC;wBACA,GAAG,EAAE,OAAO;wBACZ,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS;qBACnG;oBACH,CAAC,CAAC,SAAS;aACZ;SACD;KACD,CAAC;IACF,OAAO,WAAW,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,13 @@
1
1
  export type ArtifactGenerationUserConfig = {
2
2
  destinations?: {
3
- js?: string[];
4
- ts?: string[];
5
- json?: string[];
6
- jsm?: string[];
7
- tsm?: string[];
8
- };
3
+ mode?: 'javascript' | 'typescript';
4
+ folder?: string;
5
+ }[];
9
6
  };
10
7
  export type ArtifactGenerationConfig = {
11
8
  destinations: {
12
- js: string[];
13
- ts: string[];
14
- json: string[];
15
- jsm: string[];
16
- tsm: string[];
17
- };
9
+ mode: 'javascript' | 'typescript';
10
+ folder: string;
11
+ }[];
18
12
  };
19
13
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GAAG;IAE1C,YAAY,CAAC,EAAE;QACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC;QACd,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;QAChB,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAEtC,YAAY,EAAE;QACb,EAAE,EAAE,MAAM,EAAE,CAAC;QACb,EAAE,EAAE,MAAM,EAAE,CAAC;QACb,IAAI,EAAE,MAAM,EAAE,CAAC;QACf,GAAG,EAAE,MAAM,EAAE,CAAC;QACd,GAAG,EAAE,MAAM,EAAE,CAAC;KACd,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,4BAA4B,GAAG;IAE1C,YAAY,CAAC,EAAE;QAAC,IAAI,CAAC,EAAE,YAAY,GAAG,YAAY,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CACvE,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IAEtC,YAAY,EAAE;QAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAC,EAAE,CAAC;CACpE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat-deploy",
3
- "version": "2.0.0-next.41",
3
+ "version": "2.0.0-next.42",
4
4
  "description": "deployment plugin for hardhat",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -2,11 +2,5 @@ import type {ArtifactGenerationConfig} from '../types.js';
2
2
 
3
3
  export const DEFAULT_CONFIG: ArtifactGenerationConfig = {
4
4
  // externalArtifacts: [],
5
- destinations: {
6
- js: [],
7
- ts: ['./generated/artifacts.ts'],
8
- json: [],
9
- jsm: [],
10
- tsm: [],
11
- },
5
+ destinations: [{mode: 'javascript', folder: './generated'}],
12
6
  };
@@ -4,10 +4,9 @@ import {DEFAULT_CONFIG} from './default.js';
4
4
 
5
5
  export function getConfig(userConfig: ArtifactGenerationUserConfig | undefined): ArtifactGenerationConfig {
6
6
  return {
7
- destinations: {
8
- ...DEFAULT_CONFIG.destinations,
9
- ...(userConfig?.destinations || {}),
10
- },
7
+ destinations:
8
+ userConfig?.destinations?.map((v) => ({mode: v.mode || 'javascript', folder: v.folder || './generated'})) ||
9
+ DEFAULT_CONFIG.destinations,
11
10
  // externalArtifacts: userConfig?.externalArtifacts || DEFAULT_CONFIG.externalArtifacts,
12
11
  };
13
12
  }
@@ -8,14 +8,12 @@ const artifactGenerationUserConfigSchema = z
8
8
  .object({
9
9
  // externalArtifacts: z.array(z.string()).optional(),
10
10
  destinations: z
11
- .object({
12
- js: z.array(z.string()).optional(),
13
- ts: z.array(z.string()).optional(),
14
- json: z.array(z.string()).optional(),
15
- jsm: z.array(z.string()).optional(),
16
- tsm: z.array(z.string()).optional(),
17
- directories: z.array(z.string()).optional(),
18
- })
11
+ .array(
12
+ z.object({
13
+ mode: z.union([z.literal('javascript'), z.literal('typescript')]).optional(),
14
+ folder: z.string().optional(),
15
+ })
16
+ )
19
17
  .optional(),
20
18
  })
21
19
  .optional();
@@ -49,140 +49,117 @@ function ensureDirExistsSync(folderPath: string) {
49
49
  return {created: true, reason: 'Directory was created'};
50
50
  }
51
51
 
52
- function writeFiles(name: string | undefined, data: any, config: ArtifactGenerationConfig) {
53
- const destinations = config.destinations;
54
- const js = typeof destinations?.js === 'string' ? [destinations?.js] : destinations?.js || [];
55
- const ts = typeof destinations?.ts === 'string' ? [destinations?.ts] : destinations?.ts || [];
56
- const json = typeof destinations?.json === 'string' ? [destinations?.json] : destinations?.json || [];
57
- const jsm = typeof destinations?.jsm === 'string' ? [destinations?.jsm] : destinations?.jsm || [];
58
- const tsm = typeof destinations?.tsm === 'string' ? [destinations?.tsm] : destinations?.tsm || [];
52
+ type Artifact = {
53
+ contractName: string;
54
+ abi: any[];
55
+ // ...
56
+ };
59
57
 
60
- if (ts.length > 0) {
61
- const newContent = `export default ${JSON.stringify(data, null, 2)} as const;`;
62
- for (const tsFile of ts) {
63
- if (tsFile.endsWith('.ts')) {
64
- if (!name) {
65
- const filepath = tsFile;
66
- const folderPath = path.dirname(filepath);
67
- ensureDirExistsSync(folderPath);
68
- writeIfDifferent(filepath, newContent);
58
+ type Artifacts = {[key: string]: Artifact};
69
59
 
70
- ensureDirExistsSync(`${folderPath}/types`);
71
- for (const name of Object.keys(data)) {
72
- const splitted = name.split('/');
73
- const numPath = splitted.length;
74
- let pathToBase = '';
75
- for (let i = 0; i < numPath; i++) {
76
- pathToBase += '../';
77
- }
78
- let lastName = splitted.pop() || name;
79
- const content = `
80
- import artifacts from '${pathToBase}${basename(tsFile.replace('.ts', '.js'))}';
81
- export type Abi_${lastName} = typeof artifacts["${name}"]["abi"];
82
- `;
83
- ensureDirExistsSync(dirname(`${folderPath}/types/${name}`));
84
- writeIfDifferent(`${folderPath}/types/${name}.ts`, content);
85
- }
86
- }
87
- } else {
88
- if (name) {
89
- const filepath = `${tsFile}/${name}.ts`;
90
- const folderPath = path.dirname(filepath);
91
- ensureDirExistsSync(folderPath);
92
- writeIfDifferent(filepath, newContent);
93
- } else {
94
- let indexFileContent = ``;
95
-
96
- for (const name of Object.keys(data)) {
97
- let transformedName = name.replaceAll('/', '_').replaceAll('.', '_');
98
- indexFileContent += `
99
- import ${transformedName} from './${name}.js';
100
- export {${transformedName}};
101
- export type Abi_${transformedName} = typeof ${transformedName}.abi;
102
- `;
103
- }
104
- writeIfDifferent(`${tsFile}/index.ts`, indexFileContent);
105
- }
106
- }
107
- }
60
+ function writeArtifactToFile(folder: string, canonicalName: string, data: Artifact, mode: 'typescript' | 'javascript') {
61
+ const name = canonicalName.split('/').pop();
62
+ const artifactName = `Artifact_${name}`;
63
+ const tsFilepath = path.join(folder, 'values', canonicalName) + '.ts';
64
+ const folderPath = path.dirname(tsFilepath);
65
+ ensureDirExistsSync(folderPath);
66
+ if (mode === 'typescript') {
67
+ const newContent = `export const ${artifactName} = ${JSON.stringify(data, null, 2)} as const;`;
68
+ writeIfDifferent(tsFilepath, newContent);
69
+ } else if (mode === 'javascript') {
70
+ const newContent = `export const ${artifactName} = /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
71
+ const dtsContent = `export declare const ${artifactName}: ${JSON.stringify(data, null, 2)};`;
72
+ const jsFilepath = path.join(folder, 'values', canonicalName) + '.js';
73
+ writeIfDifferent(jsFilepath, newContent);
74
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), dtsContent);
108
75
  }
76
+ }
109
77
 
110
- if (js.length > 0) {
111
- const newContent = `export default /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
112
- // const dtsContent = `export = ${JSON.stringify(data, null, 2)} as const;`;
113
- const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export default _default;`;
114
- // const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export = _default;`;
115
- const cjsContent = `module.exports = /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
116
- for (const jsFile of js) {
117
- if (jsFile.endsWith('.js')) {
118
- if (!name) {
119
- const filepath = jsFile;
120
- const folderPath = path.dirname(filepath);
121
- ensureDirExistsSync(folderPath);
122
- writeIfDifferent(filepath, newContent);
123
- writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
124
- writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
125
- }
126
- } else {
127
- if (name) {
128
- const filepath = `${jsFile}/${name}.js`;
129
- const folderPath = path.dirname(filepath);
130
- ensureDirExistsSync(folderPath);
131
- writeIfDifferent(filepath, newContent);
132
- writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
133
- writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
134
- }
135
- }
78
+ function writeArtifactIndexToFile(folder: string, data: Artifacts, mode: 'typescript' | 'javascript') {
79
+ const tsFilepath = path.join(folder, 'artifacts') + '.ts';
80
+ const folderPath = path.dirname(tsFilepath);
81
+ ensureDirExistsSync(folderPath);
82
+ if (mode === 'typescript') {
83
+ let newContent = '';
84
+ for (const canonicalName of Object.keys(data)) {
85
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
86
+ const name = canonicalName.split('/').pop();
87
+ const artifactName = `Artifact_${name}`;
88
+ const importNaming =
89
+ canonicalName != name ? `${artifactName} as ${transformedName}` : `${artifactName} as ${name}`;
90
+ newContent += `export {${importNaming}} from './values/${canonicalName}.js';\n`;
136
91
  }
137
- }
138
92
 
139
- if (json.length > 0) {
140
- const newContent = JSON.stringify(data, null, 2);
141
- for (const jsonFile of json) {
142
- if (jsonFile.endsWith('.json')) {
143
- if (!name) {
144
- const filepath = jsonFile;
145
- const folderPath = path.dirname(filepath);
146
- ensureDirExistsSync(folderPath);
147
- writeIfDifferent(filepath, newContent);
148
- }
149
- } else {
150
- if (name) {
151
- const filepath = `${jsonFile}/${name}.json`;
152
- const folderPath = path.dirname(filepath);
153
- ensureDirExistsSync(folderPath);
154
- writeIfDifferent(filepath, newContent);
155
- }
156
- }
93
+ writeIfDifferent(tsFilepath, newContent);
94
+ } else if (mode === 'javascript') {
95
+ let newContent = '';
96
+ for (const canonicalName of Object.keys(data)) {
97
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
98
+ const name = canonicalName.split('/').pop();
99
+ const artifactName = `Artifact_${name}`;
100
+ const importNaming =
101
+ canonicalName != name ? `${artifactName} as ${transformedName}` : `${artifactName} as ${name}`;
102
+ newContent += `export {${importNaming}} from './values/${canonicalName}.js';\n`;
157
103
  }
104
+ const jsFilepath = path.join(folder, 'artifacts') + '.js';
105
+ writeIfDifferent(jsFilepath, newContent);
106
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), newContent);
158
107
  }
108
+ }
159
109
 
160
- if (!name) {
161
- if (tsm.length > 0) {
162
- let newContent = '';
163
- for (const key of Object.keys(data)) {
164
- newContent += `export const ${key} = ${JSON.stringify(data[key], null, 2)} as const;`;
165
- }
166
- for (const tsFile of tsm) {
167
- const filepath = tsFile;
168
- const folderPath = path.dirname(filepath);
169
- ensureDirExistsSync(folderPath);
170
- writeIfDifferent(filepath, newContent);
171
- }
110
+ function writeABIDefinitionToFile(
111
+ folder: string,
112
+ canonicalName: string,
113
+ data: Artifact,
114
+ mode: 'typescript' | 'javascript'
115
+ ) {
116
+ const nameAsPath = canonicalName.split('/');
117
+ const name = nameAsPath[nameAsPath.length - 1];
118
+ const abiName = `Abi_${name}`;
119
+ const artifactName = `Artifact_${name}`;
120
+ const relativePath = `../`.repeat(nameAsPath.length);
121
+ const tsFilepath = path.join(folder, 'types', canonicalName) + '.ts';
122
+ const folderPath = path.dirname(tsFilepath);
123
+ ensureDirExistsSync(folderPath);
124
+ if (mode === 'typescript') {
125
+ const newContent = `import {${artifactName}} from '${relativePath}values/${canonicalName}.js';
126
+ export type ${abiName} = (typeof ${artifactName})['abi'];\n`;
127
+ writeIfDifferent(tsFilepath, newContent);
128
+ } else if (mode === 'javascript') {
129
+ const jsFilepath = path.join(folder, 'types', canonicalName) + '.js';
130
+ const newContent = `export {};\n`;
131
+ const dtsContent = `import {${artifactName}} from '${relativePath}values/${canonicalName}.js';
132
+ export type ${abiName} = (typeof ${artifactName})['abi'];\n`;
133
+ writeIfDifferent(jsFilepath, newContent);
134
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), dtsContent);
135
+ }
136
+ }
137
+ function writeABIDefinitionIndexToFile(folder: string, data: Artifacts, mode: 'typescript' | 'javascript') {
138
+ const tsFilepath = path.join(folder, 'types', 'index') + '.ts';
139
+ const folderPath = path.dirname(tsFilepath);
140
+ ensureDirExistsSync(folderPath);
141
+ if (mode === 'typescript') {
142
+ let newContent = '';
143
+ for (const canonicalName of Object.keys(data)) {
144
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
145
+ const name = canonicalName.split('/').pop();
146
+ const abiName = `Abi_${name}`;
147
+ const importNaming = canonicalName != name ? `${abiName} as ${transformedName}` : `${abiName} as ${name}`;
148
+ newContent += `export {${importNaming}} from "./${canonicalName}.js"\n`;
172
149
  }
173
-
174
- if (jsm.length > 0) {
175
- let newContent = '';
176
- for (const key of Object.keys(data)) {
177
- newContent += `export const ${key} = /** @type {const} **/ (${JSON.stringify(data[key], null, 2)});`;
178
- }
179
- for (const jsFile of jsm) {
180
- const filepath = jsFile;
181
- const folderPath = path.dirname(filepath);
182
- ensureDirExistsSync(folderPath);
183
- writeIfDifferent(filepath, newContent);
184
- }
150
+ writeIfDifferent(tsFilepath, newContent);
151
+ } else if (mode === 'javascript') {
152
+ const jsFilepath = path.join(folder, 'types', 'index') + '.js';
153
+ let newContent = '';
154
+ for (const canonicalName of Object.keys(data)) {
155
+ const transformedName = canonicalName.replaceAll('/', '_').replaceAll('.', '_');
156
+ const name = canonicalName.split('/').pop();
157
+ const abiName = `Abi_${name}`;
158
+ const importNaming = canonicalName != name ? `${abiName} as ${transformedName}` : `${abiName} as ${name}`;
159
+ newContent += `export {${importNaming}} from "./${canonicalName}.js"\n`;
185
160
  }
161
+ writeIfDifferent(jsFilepath, newContent);
162
+ writeIfDifferent(jsFilepath.replace(/\.js$/, '.d.ts'), newContent);
186
163
  }
187
164
  }
188
165
 
@@ -280,13 +257,23 @@ export async function generateTypes(paths: {artifacts: string[]}, config: Artifa
280
257
  }
281
258
  }
282
259
 
260
+ // for (const key of Object.keys(allArtifacts)) {
261
+ // const artifact = allArtifacts[key];
262
+ // writeFiles(key, artifact, config);
263
+ // }
264
+ // // const json = hre.config.generateTypedArtifacts.json || [];
265
+ // // json.push('./generated/_artifacts.json');
266
+ // // writeFiles(undefined, allArtifacts, {...hre.config.generateTypedArtifacts, json: json});
267
+
268
+ // writeFiles(undefined, allArtifacts, config);
269
+
270
+ const generatedFolder = 'generated';
271
+ const mode = 'javascript';
283
272
  for (const key of Object.keys(allArtifacts)) {
284
- const artifact = allArtifacts[key];
285
- writeFiles(key, artifact, config);
273
+ writeABIDefinitionToFile(generatedFolder, key, allArtifacts[key], mode);
274
+ writeArtifactToFile(generatedFolder, key, allArtifacts[key], mode);
286
275
  }
287
- // const json = hre.config.generateTypedArtifacts.json || [];
288
- // json.push('./generated/_artifacts.json');
289
- // writeFiles(undefined, allArtifacts, {...hre.config.generateTypedArtifacts, json: json});
290
276
 
291
- writeFiles(undefined, allArtifacts, config);
277
+ writeArtifactIndexToFile(generatedFolder, allArtifacts, mode);
278
+ writeABIDefinitionIndexToFile(generatedFolder, allArtifacts, mode);
292
279
  }
package/src/helpers.ts CHANGED
@@ -7,6 +7,7 @@ import {
7
7
  SensitiveString,
8
8
  } from 'hardhat/types/config';
9
9
  import {HardhatRuntimeEnvironment} from 'hardhat/types/hre';
10
+ import {NetworkConnection} from 'hardhat/types/network';
10
11
  import {
11
12
  Environment,
12
13
  UnresolvedUnknownNamedAccounts,
@@ -39,19 +40,19 @@ export async function loadEnvironmentFromHardhat<
39
40
  NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts,
40
41
  Data extends UnresolvedNetworkSpecificData = UnresolvedNetworkSpecificData
41
42
  >(
42
- {hre}: {hre: HardhatRuntimeEnvironment},
43
+ params: {hre: HardhatRuntimeEnvironment; connection?: NetworkConnection},
43
44
  options?: {
44
45
  useChainIdOfForkedNetwork?: boolean;
45
46
  }
46
47
  ): Promise<Environment<NamedAccounts, Data>> {
47
- const connection = await hre.network.connect();
48
+ const connection = params.connection || (await params.hre.network.connect());
48
49
  let provider: any = connection.provider;
49
50
  let network: string | {fork: string} = connection.networkName;
50
51
  let forkChainId: number | undefined;
51
52
  const fork = process.env.HARDHAT_FORK as string | undefined;
52
53
  if (fork) {
53
54
  if (options?.useChainIdOfForkedNetwork) {
54
- const forkNetworkConfig = hre.config.networks[fork];
55
+ const forkNetworkConfig = params.hre.config.networks[fork];
55
56
 
56
57
  if (forkNetworkConfig.type === 'edr-simulated') {
57
58
  forkChainId = forkNetworkConfig.chainId;
package/src/types.ts CHANGED
@@ -1,21 +1,9 @@
1
1
  export type ArtifactGenerationUserConfig = {
2
2
  // externalArtifacts?: string[];
3
- destinations?: {
4
- js?: string[];
5
- ts?: string[];
6
- json?: string[];
7
- jsm?: string[];
8
- tsm?: string[];
9
- };
3
+ destinations?: {mode?: 'javascript' | 'typescript'; folder?: string}[];
10
4
  };
11
5
 
12
6
  export type ArtifactGenerationConfig = {
13
7
  // externalArtifacts: string[];
14
- destinations: {
15
- js: string[];
16
- ts: string[];
17
- json: string[];
18
- jsm: string[];
19
- tsm: string[];
20
- };
8
+ destinations: {mode: 'javascript' | 'typescript'; folder: string}[];
21
9
  };