hardhat-deploy 2.0.0-next.2 → 2.0.0-next.21

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/LICENSE CHANGED
@@ -1,6 +1,6 @@
1
1
  MIT License
2
2
 
3
- Copyright (c) 2018-present Ronan Sandford
3
+ Copyright (c) 2020 Ronan Sandford
4
4
 
5
5
  Permission is hereby granted, free of charge, to any person obtaining a copy
6
6
  of this software and associated documentation files (the "Software"), to deal
@@ -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;AAuJzD,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,CAgFf"}
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;AA4NzD,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,9 +1,8 @@
1
1
  import debug from 'debug';
2
2
  import fs from 'node:fs';
3
- import path from 'node:path';
4
- const log = debug('hardhat3-rocketh:generate-types');
5
- function traverse(dir, result = [], topDir, filter // TODO any is Stats
6
- ) {
3
+ import path, { basename, dirname } from 'node:path';
4
+ const log = debug('hardhat-deploy:generate-types');
5
+ function traverse(dir, result = [], topDir, filter) {
7
6
  fs.readdirSync(dir).forEach((name) => {
8
7
  const fPath = path.resolve(dir, name);
9
8
  const stats = fs.statSync(fPath);
@@ -24,6 +23,43 @@ function traverse(dir, result = [], topDir, filter // TODO any is Stats
24
23
  });
25
24
  return result;
26
25
  }
26
+ function writeIfDifferent(filePath, newTextContent) {
27
+ // Ensure we're working with a string
28
+ const contentToWrite = String(newTextContent);
29
+ try {
30
+ let existingContent;
31
+ try {
32
+ existingContent = fs.readFileSync(filePath, 'utf8');
33
+ }
34
+ catch (error) {
35
+ // console.log(`do not exist? => writing ${filePath}`);
36
+ // File doesn't exist, write and return
37
+ fs.writeFileSync(filePath, contentToWrite);
38
+ return { written: true, reason: 'File did not exist' };
39
+ }
40
+ // Simple string comparison
41
+ if (contentToWrite !== existingContent) {
42
+ // console.log(`content different => writing ${filePath}`);
43
+ fs.writeFileSync(filePath, contentToWrite);
44
+ return { written: true, reason: 'Content was different' };
45
+ }
46
+ return { written: false, reason: 'Content was identical' };
47
+ }
48
+ catch (error) {
49
+ console.error('Error in writeIfDifferent:', error);
50
+ throw error;
51
+ }
52
+ }
53
+ function ensureDirExistsSync(folderPath) {
54
+ // Check if directory already exists
55
+ if (fs.existsSync(folderPath)) {
56
+ return { created: false, reason: 'Directory already exists' };
57
+ }
58
+ // console.log(`do not exist? => mkdir ${folderPath}`);
59
+ // Directory doesn't exist, create it
60
+ fs.mkdirSync(folderPath, { recursive: true });
61
+ return { created: true, reason: 'Directory was created' };
62
+ }
27
63
  function writeFiles(name, data, config) {
28
64
  const js = typeof config?.js === 'string' ? [config?.js] : config?.js || [];
29
65
  const ts = typeof config?.ts === 'string' ? [config?.ts] : config?.ts || [];
@@ -37,16 +73,44 @@ function writeFiles(name, data, config) {
37
73
  if (!name) {
38
74
  const filepath = tsFile;
39
75
  const folderPath = path.dirname(filepath);
40
- fs.mkdirSync(folderPath, { recursive: true });
41
- fs.writeFileSync(filepath, newContent);
76
+ ensureDirExistsSync(folderPath);
77
+ writeIfDifferent(filepath, newContent);
78
+ ensureDirExistsSync(`${folderPath}/types`);
79
+ for (const name of Object.keys(data)) {
80
+ const splitted = name.split('/');
81
+ const numPath = splitted.length;
82
+ let pathToBase = '';
83
+ for (let i = 0; i < numPath; i++) {
84
+ pathToBase += '../';
85
+ }
86
+ let lastName = splitted.pop() || name;
87
+ const content = `
88
+ import artifacts from '${pathToBase}${basename(tsFile.replace('.ts', '.js'))}';
89
+ export type Abi_${lastName} = typeof artifacts["${name}"]["abi"];
90
+ `;
91
+ ensureDirExistsSync(dirname(`${folderPath}/types/${name}`));
92
+ writeIfDifferent(`${folderPath}/types/${name}.ts`, content);
93
+ }
42
94
  }
43
95
  }
44
96
  else {
45
97
  if (name) {
46
98
  const filepath = `${tsFile}/${name}.ts`;
47
99
  const folderPath = path.dirname(filepath);
48
- fs.mkdirSync(folderPath, { recursive: true });
49
- fs.writeFileSync(filepath, newContent);
100
+ ensureDirExistsSync(folderPath);
101
+ writeIfDifferent(filepath, newContent);
102
+ }
103
+ else {
104
+ let indexFileContent = ``;
105
+ for (const name of Object.keys(data)) {
106
+ let transformedName = name.replaceAll('/', '_').replaceAll('.', '_');
107
+ indexFileContent += `
108
+ import ${transformedName} from './${name}.js';
109
+ export {${transformedName}};
110
+ export type Abi_${transformedName} = typeof ${transformedName}.abi;
111
+ `;
112
+ }
113
+ writeIfDifferent(`${tsFile}/index.ts`, indexFileContent);
50
114
  }
51
115
  }
52
116
  }
@@ -62,20 +126,20 @@ function writeFiles(name, data, config) {
62
126
  if (!name) {
63
127
  const filepath = jsFile;
64
128
  const folderPath = path.dirname(filepath);
65
- fs.mkdirSync(folderPath, { recursive: true });
66
- fs.writeFileSync(filepath, newContent);
67
- fs.writeFileSync(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
68
- fs.writeFileSync(filepath.replace(/\.js$/, '.cjs'), cjsContent);
129
+ ensureDirExistsSync(folderPath);
130
+ writeIfDifferent(filepath, newContent);
131
+ writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
132
+ writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
69
133
  }
70
134
  }
71
135
  else {
72
136
  if (name) {
73
137
  const filepath = `${jsFile}/${name}.js`;
74
138
  const folderPath = path.dirname(filepath);
75
- fs.mkdirSync(folderPath, { recursive: true });
76
- fs.writeFileSync(filepath, newContent);
77
- fs.writeFileSync(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
78
- fs.writeFileSync(filepath.replace(/\.js$/, '.cjs'), cjsContent);
139
+ ensureDirExistsSync(folderPath);
140
+ writeIfDifferent(filepath, newContent);
141
+ writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
142
+ writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
79
143
  }
80
144
  }
81
145
  }
@@ -87,16 +151,16 @@ function writeFiles(name, data, config) {
87
151
  if (!name) {
88
152
  const filepath = jsonFile;
89
153
  const folderPath = path.dirname(filepath);
90
- fs.mkdirSync(folderPath, { recursive: true });
91
- fs.writeFileSync(filepath, newContent);
154
+ ensureDirExistsSync(folderPath);
155
+ writeIfDifferent(filepath, newContent);
92
156
  }
93
157
  }
94
158
  else {
95
159
  if (name) {
96
160
  const filepath = `${jsonFile}/${name}.json`;
97
161
  const folderPath = path.dirname(filepath);
98
- fs.mkdirSync(folderPath, { recursive: true });
99
- fs.writeFileSync(filepath, newContent);
162
+ ensureDirExistsSync(folderPath);
163
+ writeIfDifferent(filepath, newContent);
100
164
  }
101
165
  }
102
166
  }
@@ -110,8 +174,8 @@ function writeFiles(name, data, config) {
110
174
  for (const tsFile of tsm) {
111
175
  const filepath = tsFile;
112
176
  const folderPath = path.dirname(filepath);
113
- fs.mkdirSync(folderPath, { recursive: true });
114
- fs.writeFileSync(filepath, newContent);
177
+ ensureDirExistsSync(folderPath);
178
+ writeIfDifferent(filepath, newContent);
115
179
  }
116
180
  }
117
181
  if (jsm.length > 0) {
@@ -122,8 +186,8 @@ function writeFiles(name, data, config) {
122
186
  for (const jsFile of jsm) {
123
187
  const filepath = jsFile;
124
188
  const folderPath = path.dirname(filepath);
125
- fs.mkdirSync(folderPath, { recursive: true });
126
- fs.writeFileSync(filepath, newContent);
189
+ ensureDirExistsSync(folderPath);
190
+ writeIfDifferent(filepath, newContent);
127
191
  }
128
192
  }
129
193
  }
@@ -131,7 +195,10 @@ function writeFiles(name, data, config) {
131
195
  export async function generateTypes(paths, config, artifactsPaths) {
132
196
  const allArtifacts = {};
133
197
  const shortNameDict = {};
134
- const files = traverse(paths.artifacts, [], paths.artifacts, (name) => name != 'build-info');
198
+ const files = traverse(paths.artifacts, [], paths.artifacts, (name) => name != 'build-info' && !name.endsWith('.t.sol'));
199
+ // console.log('--------------------------');
200
+ // console.log(files);
201
+ // console.log('--------------------------');
135
202
  for (const file of files) {
136
203
  const filepath = file.path;
137
204
  if (file.directory || !filepath.endsWith('.json')) {
@@ -148,21 +215,25 @@ export async function generateTypes(paths, config, artifactsPaths) {
148
215
  // TODO read config for artifacts folder
149
216
  const buildInfoFilepath = path.join('artifacts', 'build-info', `${parsed.buildInfoId}.output.json`);
150
217
  // console.log({buildInfoFilepath});
151
- const backupBuildInfoFilepath = path.join('./generated', buildInfoFilepath.slice(buildInfoFilepath.indexOf('/', 1)));
218
+ // const backupBuildInfoFilepath = path.join(
219
+ // './generated',
220
+ // buildInfoFilepath.slice(buildInfoFilepath.indexOf('/', 1))
221
+ // );
152
222
  let buildInfoFilepathToUse = buildInfoFilepath;
153
- if (!fs.existsSync(buildInfoFilepathToUse)) {
154
- buildInfoFilepathToUse = backupBuildInfoFilepath;
155
- }
223
+ // if (!fs.existsSync(buildInfoFilepathToUse)) {
224
+ // buildInfoFilepathToUse = backupBuildInfoFilepath;
225
+ // }
156
226
  if (fs.existsSync(buildInfoFilepathToUse)) {
157
227
  const buildInfoContent = fs.readFileSync(buildInfoFilepathToUse, 'utf-8');
158
- if (buildInfoFilepathToUse !== backupBuildInfoFilepath) {
159
- fs.mkdirSync(path.dirname(backupBuildInfoFilepath), { recursive: true });
160
- fs.writeFileSync(backupBuildInfoFilepath, buildInfoContent);
161
- }
228
+ // if (buildInfoFilepathToUse !== backupBuildInfoFilepath) {
229
+ // ensureDirExistsSync(path.dirname(backupBuildInfoFilepath));
230
+ // writeIfDifferent(backupBuildInfoFilepath, buildInfoContent);
231
+ // }
162
232
  const parsedBuildInfo = JSON.parse(buildInfoContent);
163
233
  // console.log({dirname, contractName});
164
234
  const solidityOutput = parsedBuildInfo.output.contracts[dirname][contractName];
165
- const artifactObject = { ...parsed, ...solidityOutput };
235
+ const hardhatArtifactObject = { ...parsed, ...solidityOutput };
236
+ const { buildInfoId, _format, ...artifactObject } = hardhatArtifactObject;
166
237
  const fullName = `${dirname}/${contractName}`;
167
238
  allArtifacts[fullName] = artifactObject;
168
239
  if (shortNameDict[contractName]) {
@@ -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,18 +1,17 @@
1
1
  import { EdrNetworkUserConfig, NetworkUserConfig, SensitiveString } from 'hardhat/types/config';
2
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 }: {
3
+ import { Environment, UnresolvedUnknownNamedAccounts, UnresolvedNetworkSpecificData } from 'rocketh';
4
+ export declare function loadEnvironmentFromHardhat<NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, Data extends UnresolvedNetworkSpecificData = UnresolvedNetworkSpecificData>({ hre }: {
5
5
  hre: HardhatRuntimeEnvironment;
6
- context?: ProvidedContext<Artifacts, NamedAccounts>;
7
6
  }, options?: {
8
7
  useChainIdOfForkedNetwork?: boolean;
9
- }): Promise<Environment>;
8
+ }): Promise<Environment<NamedAccounts, Data>>;
10
9
  export declare function getRPC(networkName: string): string | SensitiveString | undefined;
11
10
  export declare function getMnemonic(networkName?: string): string | SensitiveString;
12
11
  export declare function getAccounts(networkName?: string): {
13
12
  mnemonic: string | SensitiveString;
14
13
  };
15
14
  export declare function addNetworksFromEnv(networks?: Record<string, EdrNetworkUserConfig>): Record<string, NetworkUserConfig>;
16
- export declare function populateNetworksFromEnv(networks: Record<string, Omit<NetworkUserConfig, 'accounts' | 'url'>>): Record<string, NetworkUserConfig>;
15
+ export declare function populateNetworksFromEnv(networks: Record<string, Omit<NetworkUserConfig, 'accounts' | 'url'> | EdrNetworkUserConfig>): Record<string, NetworkUserConfig>;
17
16
  export declare function addForkConfiguration(networks: Record<string, NetworkUserConfig>): Record<string, NetworkUserConfig>;
18
17
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
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,CAsEtB;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,CAAC,GACnE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAkBnC;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAmDnH"}
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,WAAW,EAAE,8BAA8B,EAAE,6BAA6B,EAAkB,MAAM,SAAS,CAAC;AAEpH,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,CAoE3C;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,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"}
@@ -1,6 +1,6 @@
1
1
  import { configVariable } from 'hardhat/config';
2
2
  import { loadEnvironment } from 'rocketh';
3
- export async function loadEnvironmentFromHardhat({ hre, context }, options) {
3
+ export async function loadEnvironmentFromHardhat({ hre }, options) {
4
4
  const connection = await hre.network.connect();
5
5
  let provider = connection.provider;
6
6
  let network = connection.networkName;
@@ -62,18 +62,29 @@ export async function loadEnvironmentFromHardhat({ hre, context }, options) {
62
62
  },
63
63
  });
64
64
  }
65
+ console.log(`loading environments...`);
65
66
  return loadEnvironment({
66
67
  provider,
67
68
  network,
68
- }, context || { artifacts: {} } // TODO
69
- );
69
+ });
70
70
  }
71
- export function getRPC(networkName) {
72
- const variableName = 'ETH_NODE_URI_' + networkName;
71
+ function getVariable(prefix, name) {
72
+ const variableName = prefix + name;
73
73
  let uri = process.env[variableName];
74
74
  if (uri === 'SECRET') {
75
- return configVariable(variableName);
75
+ return configVariable(`SECRET_${variableName}`);
76
+ }
77
+ else if (uri?.startsWith('SECRET:')) {
78
+ const splitted = uri.split(':');
79
+ if (splitted.length !== 2) {
80
+ throw new Error(`invalid secret uri ${uri}`);
81
+ }
82
+ return configVariable(`SECRET_${prefix + splitted[1]}`);
76
83
  }
84
+ return uri;
85
+ }
86
+ export function getRPC(networkName) {
87
+ let uri = getVariable('ETH_NODE_URI_', networkName);
77
88
  if (uri && uri !== '') {
78
89
  return uri;
79
90
  }
@@ -95,11 +106,7 @@ export function getRPC(networkName) {
95
106
  }
96
107
  export function getMnemonic(networkName) {
97
108
  if (networkName) {
98
- const variableName = 'MNEMONIC_' + networkName;
99
- const mnemonic = process.env[variableName];
100
- if (mnemonic === 'SECRET') {
101
- return configVariable(variableName);
102
- }
109
+ const mnemonic = getVariable('MNEMONIC_', networkName);
103
110
  if (mnemonic && mnemonic !== '') {
104
111
  return mnemonic;
105
112
  }
@@ -142,19 +149,25 @@ export function addNetworksFromEnv(networks) {
142
149
  export function populateNetworksFromEnv(networks) {
143
150
  const newNetworks = {};
144
151
  for (const networkName of Object.keys(networks)) {
145
- if (networkName === 'hardhat') {
146
- continue;
147
- }
148
- const url = getRPC(networkName);
149
- if (url) {
150
- newNetworks[networkName] = {
151
- ...networks[networkName],
152
- url,
153
- accounts: getAccounts(networkName),
154
- };
152
+ const network = networks[networkName];
153
+ if (network.type === 'edr') {
154
+ // we leave memory network alone
155
+ newNetworks[networkName] = network;
155
156
  }
156
157
  else {
157
- console.error(`no url for network ${networkName}`);
158
+ const url = getRPC(networkName);
159
+ if (url) {
160
+ newNetworks[networkName] = {
161
+ ...network,
162
+ url,
163
+ accounts: getAccounts(networkName),
164
+ };
165
+ }
166
+ else {
167
+ if (!('url' in network) || !network.url) {
168
+ console.error(`no url for network ${networkName}`);
169
+ }
170
+ }
158
171
  }
159
172
  }
160
173
  return newNetworks;
@@ -185,7 +198,7 @@ export function addForkConfiguration(networks) {
185
198
  }
186
199
  }
187
200
  }
188
- const existingHardhat = networks.hardhat.type === 'edr' ? networks.hardhat : { type: 'edr', chainType: 'l1' };
201
+ const existingHardhat = networks.hardhat && networks.hardhat.type === 'edr' ? networks.hardhat : { type: 'edr', chainType: 'l1' };
189
202
  const newNetworks = {
190
203
  ...populateNetworksFromEnv(networks),
191
204
  hardhat: {
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/hook-handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;8BAK5B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAAtD,wBAcE"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/hook-handlers/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;8BAqD5B,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;AAAtD,wBA0BE"}
@@ -1,12 +1,64 @@
1
1
  import { getConfig } from '../config/get-config.js';
2
2
  import { validateTypechainUserConfig } from '../config/validation.js';
3
+ function addIfNotPresent(array, value) {
4
+ if (array.indexOf(value) === -1) {
5
+ array.push(value);
6
+ }
7
+ }
8
+ function setupExtraSolcSettings(settings) {
9
+ settings.metadata = settings.metadata || {};
10
+ settings.metadata.useLiteralContent = true;
11
+ if (settings.outputSelection === undefined) {
12
+ settings.outputSelection = {
13
+ '*': {
14
+ '*': [],
15
+ '': [],
16
+ },
17
+ };
18
+ }
19
+ if (settings.outputSelection['*'] === undefined) {
20
+ settings.outputSelection['*'] = {
21
+ '*': [],
22
+ '': [],
23
+ };
24
+ }
25
+ if (settings.outputSelection['*']['*'] === undefined) {
26
+ settings.outputSelection['*']['*'] = [];
27
+ }
28
+ if (settings.outputSelection['*'][''] === undefined) {
29
+ settings.outputSelection['*'][''] = [];
30
+ }
31
+ addIfNotPresent(settings.outputSelection['*']['*'], 'abi');
32
+ // addIfNotPresent(settings.outputSelection['*']['*'], 'evm.bytecode');
33
+ // addIfNotPresent(settings.outputSelection['*']['*'], 'evm.deployedBytecode');
34
+ addIfNotPresent(settings.outputSelection['*']['*'], 'metadata');
35
+ addIfNotPresent(settings.outputSelection['*']['*'], 'devdoc');
36
+ addIfNotPresent(settings.outputSelection['*']['*'], 'userdoc');
37
+ addIfNotPresent(settings.outputSelection['*']['*'], 'storageLayout');
38
+ // addIfNotPresent(settings.outputSelection['*']['*'], 'evm.methodIdentifiers');
39
+ addIfNotPresent(settings.outputSelection['*']['*'], 'evm.gasEstimates');
40
+ // addIfNotPresent(settings.outputSelection["*"][""], "ir");
41
+ // addIfNotPresent(settings.outputSelection["*"][""], "irOptimized");
42
+ // addIfNotPresent(settings.outputSelection["*"][""], "ast");
43
+ }
3
44
  export default async () => {
4
45
  const handlers = {
5
46
  validateUserConfig: validateTypechainUserConfig,
6
47
  resolveUserConfig: async (userConfig, resolveConfigurationVariable, next) => {
7
48
  const resolvedConfig = await next(userConfig, resolveConfigurationVariable);
49
+ const solidity = structuredClone(resolvedConfig.solidity);
50
+ const profiles = solidity.profiles;
51
+ for (const profileName of Object.keys(profiles)) {
52
+ const profile = profiles[profileName];
53
+ const compilers = profile.compilers;
54
+ for (const compiler of compilers) {
55
+ const settings = compiler.settings;
56
+ setupExtraSolcSettings(settings);
57
+ }
58
+ }
8
59
  return {
9
60
  ...resolvedConfig,
61
+ solidity,
10
62
  generateArtifacts: getConfig(userConfig.generateArtifacts),
11
63
  };
12
64
  },
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/hook-handlers/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AAEpE,eAAe,KAAK,IAAmC,EAAE;IACxD,MAAM,QAAQ,GAAyB;QACtC,kBAAkB,EAAE,2BAA2B;QAC/C,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE;YAC3E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;YAE5E,OAAO;gBACN,GAAG,cAAc;gBACjB,iBAAiB,EAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC;aAC1D,CAAC;QACH,CAAC;KACD,CAAC;IAEF,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/hook-handlers/config.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AAGpE,SAAS,eAAe,CAAC,KAAe,EAAE,KAAa;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;AACF,CAAC;AACD,SAAS,sBAAsB,CAAC,QAG/B;IACA,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAE3C,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC5C,QAAQ,CAAC,eAAe,GAAG;YAC1B,GAAG,EAAE;gBACJ,GAAG,EAAE,EAAE;gBACP,EAAE,EAAE,EAAE;aACN;SACD,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG;YAC/B,GAAG,EAAE,EAAE;YACP,EAAE,EAAE,EAAE;SACN,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACtD,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;QACrD,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3D,uEAAuE;IACvE,+EAA+E;IAC/E,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IAChE,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/D,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;IACrE,gFAAgF;IAChF,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACxE,4DAA4D;IAC5D,qEAAqE;IACrE,6DAA6D;AAC9D,CAAC;AAED,eAAe,KAAK,IAAmC,EAAE;IACxD,MAAM,QAAQ,GAAyB;QACtC,kBAAkB,EAAE,2BAA2B;QAC/C,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE;YAC3E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;YAE5E,MAAM,QAAQ,GAAmB,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAA+C,QAAQ,CAAC,QAAQ,CAAC;YAC/E,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjD,MAAM,OAAO,GAA+B,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACnC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;YACF,CAAC;YAED,OAAO;gBACN,GAAG,cAAc;gBACjB,QAAQ;gBACR,iBAAiB,EAAE,SAAS,CAAC,UAAU,CAAC,iBAAiB,CAAC;aAC1D,CAAC;QACH,CAAC;KACD,CAAC;IAEF,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"solidity.d.ts","sourceRoot":"","sources":["../../../src/hook-handlers/solidity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAC,MAAM,qBAAqB,CAAC;8BAK3C,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAAxD,wBAuBE"}
1
+ {"version":3,"file":"solidity.d.ts","sourceRoot":"","sources":["../../../src/hook-handlers/solidity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAC,MAAM,qBAAqB,CAAC;8BAI3C,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;AAAxD,wBAuBE"}
@@ -1,13 +1,14 @@
1
1
  import { generateTypes } from '../generate-types.js';
2
2
  export default async () => {
3
3
  const handlers = {
4
- async onAllArtifactsEmitted(context, artifacts, next) {
5
- const artifactsPaths = Array.from(artifacts.values()).flatMap((innerMap) => Array.from(innerMap.values()).flat());
6
- await generateTypes({
7
- root: context.config.paths.root,
8
- artifacts: context.config.paths.artifacts,
9
- }, context.config.generateArtifacts, artifactsPaths);
10
- return next(context, artifacts);
4
+ async onCleanUpArtifacts(context, artifactPaths, next) {
5
+ if (artifactPaths.length > 0) {
6
+ await generateTypes({
7
+ root: context.config.paths.root,
8
+ artifacts: context.config.paths.artifacts,
9
+ }, context.config.generateArtifacts, artifactPaths);
10
+ }
11
+ return next(context, artifactPaths);
11
12
  },
12
13
  };
13
14
  return handlers;
@@ -1 +1 @@
1
- {"version":3,"file":"solidity.js","sourceRoot":"","sources":["../../../src/hook-handlers/solidity.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,eAAe,KAAK,IAAqC,EAAE;IAC1D,MAAM,QAAQ,GAA2B;QACxC,KAAK,CAAC,qBAAqB,CAC1B,OAAoB,EACpB,SAA6D,EAC7D,IAAgH;YAEhH,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAElH,MAAM,aAAa,CAClB;gBACC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;gBAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS;aACzC,EACD,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAChC,cAAc,CACd,CAAC;YAEF,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjC,CAAC;KACD,CAAC;IAEF,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
1
+ {"version":3,"file":"solidity.js","sourceRoot":"","sources":["../../../src/hook-handlers/solidity.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,aAAa,EAAC,MAAM,sBAAsB,CAAC;AAEnD,eAAe,KAAK,IAAqC,EAAE;IAC1D,MAAM,QAAQ,GAA2B;QACxC,KAAK,CAAC,kBAAkB,CACvB,OAAoB,EACpB,aAAuB,EACvB,IAA0E;YAE1E,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,aAAa,CAClB;oBACC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI;oBAC/B,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS;iBACzC,EACD,OAAO,CAAC,MAAM,CAAC,iBAAiB,EAChC,aAAa,CACb,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACrC,CAAC;KACD,CAAC;IAEF,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
package/dist/esm/index.js CHANGED
@@ -4,7 +4,7 @@ import { ArgumentType } from 'hardhat/types/arguments';
4
4
  // const deployTask = import.meta.resolve('./tasks/deploy.js').replace('.ts', '.js');
5
5
  // console.log({deployTask});
6
6
  const hardhatPlugin = {
7
- id: 'hardhat3-rocketh',
7
+ id: 'hardhat-deploy',
8
8
  hookHandlers: {
9
9
  config: import.meta.resolve('./hook-handlers/config.js'),
10
10
  solidity: import.meta.resolve('./hook-handlers/solidity.js'),
@@ -22,7 +22,7 @@ const hardhatPlugin = {
22
22
  .setAction(import.meta.resolve('./tasks/deploy.js'))
23
23
  .build(),
24
24
  ],
25
- npmPackage: 'hardhat3-rocketh',
25
+ npmPackage: 'hardhat-deploy',
26
26
  };
27
27
  export default hardhatPlugin;
28
28
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,qFAAqF;AACrF,6BAA6B;AAE7B,MAAM,aAAa,GAAkB;IACpC,EAAE,EAAE,kBAAkB;IACtB,YAAY,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC;QACxD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC;KAC5D;IACD,KAAK,EAAE;QACN,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YACjC,uDAAuD;aACtD,OAAO,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAC,CAAC;aACvE,SAAS,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,0BAA0B;YACvC,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,YAAY,CAAC,MAAM;SACzB,CAAC;aACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;aACnD,KAAK,EAAE;KACT;IACD,UAAU,EAAE,kBAAkB;CAC9B,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAErD,qFAAqF;AACrF,6BAA6B;AAE7B,MAAM,aAAa,GAAkB;IACpC,EAAE,EAAE,gBAAgB;IACpB,YAAY,EAAE;QACb,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,2BAA2B,CAAC;QACxD,QAAQ,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,6BAA6B,CAAC;KAC5D;IACD,KAAK,EAAE;QACN,IAAI,CAAC,QAAQ,EAAE,kBAAkB,CAAC;YACjC,uDAAuD;aACtD,OAAO,CAAC,EAAC,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,0BAA0B,EAAC,CAAC;aACvE,SAAS,CAAC;YACV,IAAI,EAAE,iBAAiB;YACvB,WAAW,EAAE,0BAA0B;YACvC,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,YAAY,CAAC,MAAM;SACzB,CAAC;aACD,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC;aACnD,KAAK,EAAE;KACT;IACD,UAAU,EAAE,gBAAgB;CAC5B,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/tasks/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAG1D,UAAU,kBAAkB;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,oBAAoB,EAAE,qBAAqB,CAAC,kBAAkB,CAenE,CAAC;AACF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/tasks/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAG1D,UAAU,kBAAkB;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;CACrB;AAED,QAAA,MAAM,oBAAoB,EAAE,qBAAqB,CAAC,kBAAkB,CAoBnE,CAAC;AACF,eAAe,oBAAoB,CAAC"}
@@ -1,17 +1,22 @@
1
1
  import { loadAndExecuteDeployments } from 'rocketh';
2
2
  const runScriptWithHardhat = async (args, hre) => {
3
- console.log(args);
4
- let saveDeployments = args.saveDeployments == '' ? undefined : args.saveDeployments == 'true' ? true : false;
5
- if (process.env.HARDHAT_FORK) {
3
+ let saveDeployments = true;
4
+ let skipPrompts = args.skipPrompts ? true : false;
5
+ const connection = await hre.network.connect();
6
+ const isMemoryNetwork = connection.networkConfig.type == 'edr';
7
+ if (isMemoryNetwork) {
8
+ skipPrompts = true;
6
9
  saveDeployments = false;
7
10
  }
8
- const connection = await hre.network.connect();
11
+ if (args.saveDeployments != '') {
12
+ saveDeployments = args.saveDeployments == 'true' ? true : false;
13
+ }
9
14
  await loadAndExecuteDeployments({
10
15
  logLevel: 1,
11
16
  provider: connection.provider, // TODO type
12
17
  network: process.env.HARDHAT_FORK ? { fork: process.env.HARDHAT_FORK } : connection.networkName,
13
18
  saveDeployments,
14
- askBeforeProceeding: args.skipPrompts ? false : true,
19
+ askBeforeProceeding: skipPrompts ? false : true,
15
20
  // reportGasUse: args.skipGasReport ? false : true,
16
21
  });
17
22
  };
@@ -1 +1 @@
1
- {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/tasks/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAOjE,MAAM,oBAAoB,GAA8C,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3F,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAClB,IAAI,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7G,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;QAC9B,eAAe,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/C,MAAM,yBAAyB,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,UAAU,CAAC,QAA0B,EAAE,YAAY;QAC7D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW;QAC7F,eAAe;QACf,mBAAmB,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QACpD,mDAAmD;KACnD,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,oBAAoB,CAAC"}
1
+ {"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/tasks/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAgB,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAOjE,MAAM,oBAAoB,GAA8C,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC3F,IAAI,eAAe,GAAG,IAAI,CAAC;IAC3B,IAAI,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IAClD,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAC/C,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,KAAK,CAAC;IAC/D,IAAI,eAAe,EAAE,CAAC;QACrB,WAAW,GAAG,IAAI,CAAC;QACnB,eAAe,GAAG,KAAK,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,CAAC,eAAe,IAAI,EAAE,EAAE,CAAC;QAChC,eAAe,GAAG,IAAI,CAAC,eAAe,IAAI,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;IACjE,CAAC;IACD,MAAM,yBAAyB,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,QAAQ,EAAE,UAAU,CAAC,QAA0B,EAAE,YAAY;QAC7D,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,EAAC,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW;QAC7F,eAAe;QACf,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC/C,mDAAmD;KACnD,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,oBAAoB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hardhat-deploy",
3
- "version": "2.0.0-next.2",
3
+ "version": "2.0.0-next.21",
4
4
  "description": "deployment plugin for hardhat",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -27,19 +27,20 @@
27
27
  "dist"
28
28
  ],
29
29
  "devDependencies": {
30
- "@types/node": "^20.14.8",
30
+ "@changesets/cli": "^2.28.1",
31
+ "@types/node": "^22.13.13",
31
32
  "as-soon": "^0.0.11",
32
- "hardhat": "^3.0.0-next.1",
33
- "rimraf": "^5.0.7",
34
- "typescript": "^5.5.2",
35
- "rocketh": "1.0.0-next.0"
33
+ "hardhat": "^3.0.0-next.2",
34
+ "rimraf": "^6.0.1",
35
+ "rocketh": "^0.11.14",
36
+ "set-defaults": "^0.0.5",
37
+ "typescript": "^5.5.2"
36
38
  },
37
39
  "peerDependencies": {
38
- "hardhat": "^3.0.0-next.1",
39
- "rocketh": "1.0.0-next.0"
40
+ "hardhat": "^3.0.0-next.2",
41
+ "rocketh": "^0.11.14"
40
42
  },
41
43
  "dependencies": {
42
- "@nomicfoundation/hardhat-errors": "3.0.0-next.0",
43
44
  "@nomicfoundation/hardhat-zod-utils": "3.0.0-next.0",
44
45
  "@types/debug": "^4.1.12",
45
46
  "debug": "^4.4.0",
package/README.md DELETED
@@ -1 +0,0 @@
1
- # hardhat-rocketh
@@ -1,6 +0,0 @@
1
- import { NewTaskActionFunction } from 'hardhat/types/tasks';
2
- interface RunActionArguments {
3
- }
4
- declare const runScriptWithHardhat: NewTaskActionFunction<RunActionArguments>;
5
- export default runScriptWithHardhat;
6
- //# sourceMappingURL=compile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile.d.ts","sourceRoot":"","sources":["../../../src/tasks/compile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAM1D,UAAU,kBAAkB;CAAG;AAmJ/B,QAAA,MAAM,oBAAoB,EAAE,qBAAqB,CAAC,kBAAkB,CA4InE,CAAC;AACF,eAAe,oBAAoB,CAAC"}
@@ -1,254 +0,0 @@
1
- import fs from 'node:fs';
2
- import path from 'node:path';
3
- function traverse(dir, result = [], topDir, filter // TODO any is Stats
4
- ) {
5
- fs.readdirSync(dir).forEach((name) => {
6
- const fPath = path.resolve(dir, name);
7
- const stats = fs.statSync(fPath);
8
- if ((!filter && !name.startsWith('.')) || (filter && filter(name, stats))) {
9
- const fileStats = {
10
- name,
11
- path: fPath,
12
- relativePath: path.relative(topDir || dir, fPath),
13
- mtimeMs: stats.mtimeMs,
14
- directory: stats.isDirectory(),
15
- };
16
- if (fileStats.directory) {
17
- result.push(fileStats);
18
- return traverse(fPath, result, topDir || dir, filter);
19
- }
20
- result.push(fileStats);
21
- }
22
- });
23
- return result;
24
- }
25
- function writeFiles(name, data, config) {
26
- const js = typeof config?.js === 'string' ? [config?.js] : config?.js || [];
27
- const ts = typeof config?.ts === 'string' ? [config?.ts] : config?.ts || [];
28
- const json = typeof config?.json === 'string' ? [config?.json] : config?.json || [];
29
- const jsm = typeof config?.jsm === 'string' ? [config?.jsm] : config?.jsm || [];
30
- const tsm = typeof config?.tsm === 'string' ? [config?.tsm] : config?.tsm || [];
31
- if (ts.length > 0) {
32
- const newContent = `export default ${JSON.stringify(data, null, 2)} as const;`;
33
- for (const tsFile of ts) {
34
- if (tsFile.endsWith('.ts')) {
35
- if (!name) {
36
- const filepath = tsFile;
37
- const folderPath = path.dirname(filepath);
38
- fs.mkdirSync(folderPath, { recursive: true });
39
- fs.writeFileSync(filepath, newContent);
40
- }
41
- }
42
- else {
43
- if (name) {
44
- const filepath = `${tsFile}/${name}.ts`;
45
- const folderPath = path.dirname(filepath);
46
- fs.mkdirSync(folderPath, { recursive: true });
47
- fs.writeFileSync(filepath, newContent);
48
- }
49
- }
50
- }
51
- }
52
- if (js.length > 0) {
53
- const newContent = `export default /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
54
- // const dtsContent = `export = ${JSON.stringify(data, null, 2)} as const;`;
55
- const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export default _default;`;
56
- // const dtsContent = `declare const _default: ${JSON.stringify(data, null, 2)};export = _default;`;
57
- const cjsContent = `module.exports = /** @type {const} **/ (${JSON.stringify(data, null, 2)});`;
58
- for (const jsFile of js) {
59
- if (jsFile.endsWith('.js')) {
60
- if (!name) {
61
- const filepath = jsFile;
62
- const folderPath = path.dirname(filepath);
63
- fs.mkdirSync(folderPath, { recursive: true });
64
- fs.writeFileSync(filepath, newContent);
65
- fs.writeFileSync(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
66
- fs.writeFileSync(filepath.replace(/\.js$/, '.cjs'), cjsContent);
67
- }
68
- }
69
- else {
70
- if (name) {
71
- const filepath = `${jsFile}/${name}.js`;
72
- const folderPath = path.dirname(filepath);
73
- fs.mkdirSync(folderPath, { recursive: true });
74
- fs.writeFileSync(filepath, newContent);
75
- fs.writeFileSync(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
76
- fs.writeFileSync(filepath.replace(/\.js$/, '.cjs'), cjsContent);
77
- }
78
- }
79
- }
80
- }
81
- if (json.length > 0) {
82
- const newContent = JSON.stringify(data, null, 2);
83
- for (const jsonFile of json) {
84
- if (jsonFile.endsWith('.json')) {
85
- if (!name) {
86
- const filepath = jsonFile;
87
- const folderPath = path.dirname(filepath);
88
- fs.mkdirSync(folderPath, { recursive: true });
89
- fs.writeFileSync(filepath, newContent);
90
- }
91
- }
92
- else {
93
- if (name) {
94
- const filepath = `${jsonFile}/${name}.json`;
95
- const folderPath = path.dirname(filepath);
96
- fs.mkdirSync(folderPath, { recursive: true });
97
- fs.writeFileSync(filepath, newContent);
98
- }
99
- }
100
- }
101
- }
102
- if (!name) {
103
- if (tsm.length > 0) {
104
- let newContent = '';
105
- for (const key of Object.keys(data)) {
106
- newContent += `export const ${key} = ${JSON.stringify(data[key], null, 2)} as const;`;
107
- }
108
- for (const tsFile of tsm) {
109
- const filepath = tsFile;
110
- const folderPath = path.dirname(filepath);
111
- fs.mkdirSync(folderPath, { recursive: true });
112
- fs.writeFileSync(filepath, newContent);
113
- }
114
- }
115
- if (jsm.length > 0) {
116
- let newContent = '';
117
- for (const key of Object.keys(data)) {
118
- newContent += `export const ${key} = /** @type {const} **/ (${JSON.stringify(data[key], null, 2)});`;
119
- }
120
- for (const jsFile of jsm) {
121
- const filepath = jsFile;
122
- const folderPath = path.dirname(filepath);
123
- fs.mkdirSync(folderPath, { recursive: true });
124
- fs.writeFileSync(filepath, newContent);
125
- }
126
- }
127
- }
128
- }
129
- // TODO add docgen command ?
130
- // task("docgen").setAction(async (args, hre, runSuper): Promise<any> => {
131
- const runScriptWithHardhat = async (args, hre) => {
132
- // let previousArtifacts: {[name: string]: any} = {};
133
- // try {
134
- // previousArtifacts = JSON.parse(fs.readFileSync('./generated/_artifacts.json', 'utf-8'));
135
- // } catch {}
136
- // const allArtifacts: {[name: string]: any} = previousArtifacts;
137
- const allArtifacts = {};
138
- const shortNameDict = {};
139
- // for (const key of Object.keys(allArtifacts)) {
140
- // if (!key.indexOf('/')) {
141
- // shortNameDict[key] = true;
142
- // }
143
- // }
144
- const compilationResult = await hre.tasks.getTask('compile').run();
145
- console.log(compilationResult);
146
- // for (const artifact of artifactResult.artifactsEmittedPerFile) {
147
- // const filepath = `./artifacts/${artifact.file.sourceName}/${artifact.artifactsEmitted[0]}.json`;
148
- // if (fs.existsSync(filepath)) {
149
- // for (let i = 0; i < artifact.artifactsEmitted.length; i++) {
150
- // const shortName = artifact.artifactsEmitted[i];
151
- // const content = fs.readFileSync(filepath, 'utf-8');
152
- // const parsed = JSON.parse(content);
153
- // const debugFilepath = filepath.replace('.json', '.dbg.json');
154
- // const debugContent = fs.readFileSync(debugFilepath, 'utf-8');
155
- // const parsedDebug: {_format: string; buildInfo: string} = JSON.parse(debugContent);
156
- // const buildInfoFilepath = path.join(path.dirname(path.resolve(debugFilepath)), parsedDebug.buildInfo);
157
- // const buildInfoContent = fs.readFileSync(buildInfoFilepath, 'utf-8');
158
- // const parsedBuildInfo = JSON.parse(buildInfoContent);
159
- // const solidityOutput = parsedBuildInfo.output.contracts[artifact.file.sourceName][shortName];
160
- // const artifactObject = {...parsed, ...solidityOutput};
161
- // const fullName = `${artifact.file.sourceName}/${shortName}`;
162
- // allArtifacts[fullName] = artifactObject;
163
- // if (shortNameDict[shortName]) {
164
- // delete allArtifacts[shortName];
165
- // } else {
166
- // allArtifacts[shortName] = artifactObject;
167
- // shortNameDict[shortName] = true;
168
- // }
169
- // }
170
- // } else {
171
- // // this can happen for solidity file without contract exported, just error or types for example
172
- // // throw new Error(`no artifact at ${filepath}`);
173
- // }
174
- // }
175
- console.log(...hre.config.paths.sources.solidity);
176
- // const generationConfig = hre.config.generateArtifacts;
177
- const generationConfig = {
178
- ts: ['./generated/artifacts.ts'],
179
- js: [],
180
- json: [],
181
- tsm: [],
182
- jsm: [],
183
- directories: [...hre.config.paths.sources.solidity],
184
- };
185
- const files = [];
186
- const directories = generationConfig.directories.map((dir) => path.relative('.', dir));
187
- console.log({ directories });
188
- for (const directory of directories) {
189
- const filesToAdd = traverse(`./artifacts/${directory}`, [], './artifacts', (name) => name != 'build-info');
190
- files.push(...filesToAdd);
191
- }
192
- for (const file of files) {
193
- if (file.directory || !file.path.endsWith('.json')) {
194
- continue;
195
- }
196
- const filename = path.basename(file.path);
197
- const dirname = path.dirname(file.relativePath);
198
- // const namePath = dirname.replace('.sol', '');
199
- const contractName = filename.replace('.json', '');
200
- // const shortName = artifact.artifactsEmitted[i];
201
- console.log({ path: file.path });
202
- const content = fs.readFileSync(file.path, 'utf-8');
203
- const parsed = JSON.parse(content);
204
- // TODO read config for artifacts folder
205
- const buildInfoFilepath = path.join('artifacts', 'build-info', `${parsed.buildInfoId}.output.json`);
206
- console.log({ buildInfoFilepath });
207
- const backupBuildInfoFilepath = path.join('./generated', buildInfoFilepath.slice(buildInfoFilepath.indexOf('/', 1)));
208
- let buildInfoFilepathToUse = buildInfoFilepath;
209
- if (!fs.existsSync(buildInfoFilepathToUse)) {
210
- buildInfoFilepathToUse = backupBuildInfoFilepath;
211
- }
212
- if (fs.existsSync(buildInfoFilepathToUse)) {
213
- const buildInfoContent = fs.readFileSync(buildInfoFilepathToUse, 'utf-8');
214
- if (buildInfoFilepathToUse !== backupBuildInfoFilepath) {
215
- fs.mkdirSync(path.dirname(backupBuildInfoFilepath), { recursive: true });
216
- fs.writeFileSync(backupBuildInfoFilepath, buildInfoContent);
217
- }
218
- const parsedBuildInfo = JSON.parse(buildInfoContent);
219
- const solidityOutput = parsedBuildInfo.output.contracts[dirname][contractName];
220
- const artifactObject = { ...parsed, ...solidityOutput };
221
- const fullName = `${dirname}/${contractName}`;
222
- allArtifacts[fullName] = artifactObject;
223
- if (shortNameDict[contractName]) {
224
- delete allArtifacts[contractName];
225
- }
226
- else {
227
- allArtifacts[contractName] = artifactObject;
228
- shortNameDict[contractName] = true;
229
- }
230
- }
231
- }
232
- for (const key of Object.keys(allArtifacts)) {
233
- if (key.indexOf('/') >= 0) {
234
- const split = key.split('/');
235
- if (split.length > 1) {
236
- const shortName = split[split.length - 1];
237
- if (allArtifacts[shortName]) {
238
- delete allArtifacts[key];
239
- }
240
- }
241
- }
242
- }
243
- for (const key of Object.keys(allArtifacts)) {
244
- const artifact = allArtifacts[key];
245
- writeFiles(key, artifact, generationConfig);
246
- }
247
- // const json = hre.config.generateArtifacts.json || [];
248
- // json.push('./generated/_artifacts.json');
249
- // writeFiles(undefined, allArtifacts, {...hre.config.generateArtifacts, json: json});
250
- writeFiles(undefined, allArtifacts, generationConfig);
251
- return compilationResult;
252
- };
253
- export default runScriptWithHardhat;
254
- //# sourceMappingURL=compile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compile.js","sourceRoot":"","sources":["../../../src/tasks/compile.ts"],"names":[],"mappings":"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"}