hardhat-deploy 2.0.0-next.1 → 2.0.0-next.11
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/dist/esm/generate-types.d.ts.map +1 -1
- package/dist/esm/generate-types.js +75 -31
- package/dist/esm/generate-types.js.map +1 -1
- package/dist/esm/helpers.d.ts +5 -5
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +33 -19
- package/dist/esm/helpers.js.map +1 -1
- package/dist/esm/hook-handlers/config.d.ts.map +1 -1
- package/dist/esm/hook-handlers/config.js +52 -0
- package/dist/esm/hook-handlers/config.js.map +1 -1
- package/dist/esm/hook-handlers/solidity.d.ts.map +1 -1
- package/dist/esm/hook-handlers/solidity.js +6 -4
- package/dist/esm/hook-handlers/solidity.js.map +1 -1
- package/dist/esm/index.js +2 -2
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tasks/deploy.d.ts.map +1 -1
- package/dist/esm/tasks/deploy.js +10 -5
- package/dist/esm/tasks/deploy.js.map +1 -1
- package/package.json +8 -7
- package/LICENSE +0 -21
- package/README.md +0 -1
- package/dist/esm/tasks/compile.d.ts +0 -6
- package/dist/esm/tasks/compile.d.ts.map +0 -1
- package/dist/esm/tasks/compile.js +0 -254
- package/dist/esm/tasks/compile.js.map +0 -1
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"generate-types.d.ts","sourceRoot":"","sources":["../../src/generate-types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,wBAAwB,EAAC,MAAM,YAAY,CAAC;AA+LzD,wBAAsB,aAAa,CAClC,KAAK,EAAE;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAA;CAAC,EACxC,MAAM,EAAE,wBAAwB,EAChC,cAAc,EAAE,MAAM,EAAE,GACtB,OAAO,CAAC,IAAI,CAAC,CA0Ff"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import debug from 'debug';
|
|
2
2
|
import fs from 'node:fs';
|
|
3
3
|
import path from 'node:path';
|
|
4
|
-
const log = debug('
|
|
4
|
+
const log = debug('hardhat-deploy:generate-types');
|
|
5
5
|
function traverse(dir, result = [], topDir, filter // TODO any is Stats
|
|
6
6
|
) {
|
|
7
7
|
fs.readdirSync(dir).forEach((name) => {
|
|
@@ -24,6 +24,43 @@ function traverse(dir, result = [], topDir, filter // TODO any is Stats
|
|
|
24
24
|
});
|
|
25
25
|
return result;
|
|
26
26
|
}
|
|
27
|
+
function writeIfDifferent(filePath, newTextContent) {
|
|
28
|
+
// Ensure we're working with a string
|
|
29
|
+
const contentToWrite = String(newTextContent);
|
|
30
|
+
try {
|
|
31
|
+
let existingContent;
|
|
32
|
+
try {
|
|
33
|
+
existingContent = fs.readFileSync(filePath, 'utf8');
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.log(`do not exist? => writing ${filePath}`);
|
|
37
|
+
// File doesn't exist, write and return
|
|
38
|
+
fs.writeFileSync(filePath, contentToWrite);
|
|
39
|
+
return { written: true, reason: 'File did not exist' };
|
|
40
|
+
}
|
|
41
|
+
// Simple string comparison
|
|
42
|
+
if (contentToWrite !== existingContent) {
|
|
43
|
+
console.log(`content different => writing ${filePath}`);
|
|
44
|
+
fs.writeFileSync(filePath, contentToWrite);
|
|
45
|
+
return { written: true, reason: 'Content was different' };
|
|
46
|
+
}
|
|
47
|
+
return { written: false, reason: 'Content was identical' };
|
|
48
|
+
}
|
|
49
|
+
catch (error) {
|
|
50
|
+
console.error('Error in writeIfDifferent:', error);
|
|
51
|
+
throw error;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
function ensureDirExistsSync(folderPath) {
|
|
55
|
+
// Check if directory already exists
|
|
56
|
+
if (fs.existsSync(folderPath)) {
|
|
57
|
+
return { created: false, reason: 'Directory already exists' };
|
|
58
|
+
}
|
|
59
|
+
console.log(`do not exist? => mkdir ${folderPath}`);
|
|
60
|
+
// Directory doesn't exist, create it
|
|
61
|
+
fs.mkdirSync(folderPath, { recursive: true });
|
|
62
|
+
return { created: true, reason: 'Directory was created' };
|
|
63
|
+
}
|
|
27
64
|
function writeFiles(name, data, config) {
|
|
28
65
|
const js = typeof config?.js === 'string' ? [config?.js] : config?.js || [];
|
|
29
66
|
const ts = typeof config?.ts === 'string' ? [config?.ts] : config?.ts || [];
|
|
@@ -37,16 +74,16 @@ function writeFiles(name, data, config) {
|
|
|
37
74
|
if (!name) {
|
|
38
75
|
const filepath = tsFile;
|
|
39
76
|
const folderPath = path.dirname(filepath);
|
|
40
|
-
|
|
41
|
-
|
|
77
|
+
ensureDirExistsSync(folderPath);
|
|
78
|
+
writeIfDifferent(filepath, newContent);
|
|
42
79
|
}
|
|
43
80
|
}
|
|
44
81
|
else {
|
|
45
82
|
if (name) {
|
|
46
83
|
const filepath = `${tsFile}/${name}.ts`;
|
|
47
84
|
const folderPath = path.dirname(filepath);
|
|
48
|
-
|
|
49
|
-
|
|
85
|
+
ensureDirExistsSync(folderPath);
|
|
86
|
+
writeIfDifferent(filepath, newContent);
|
|
50
87
|
}
|
|
51
88
|
}
|
|
52
89
|
}
|
|
@@ -62,20 +99,20 @@ function writeFiles(name, data, config) {
|
|
|
62
99
|
if (!name) {
|
|
63
100
|
const filepath = jsFile;
|
|
64
101
|
const folderPath = path.dirname(filepath);
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
102
|
+
ensureDirExistsSync(folderPath);
|
|
103
|
+
writeIfDifferent(filepath, newContent);
|
|
104
|
+
writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
|
|
105
|
+
writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
|
|
69
106
|
}
|
|
70
107
|
}
|
|
71
108
|
else {
|
|
72
109
|
if (name) {
|
|
73
110
|
const filepath = `${jsFile}/${name}.js`;
|
|
74
111
|
const folderPath = path.dirname(filepath);
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
112
|
+
ensureDirExistsSync(folderPath);
|
|
113
|
+
writeIfDifferent(filepath, newContent);
|
|
114
|
+
writeIfDifferent(filepath.replace(/\.js$/, '.d.ts'), dtsContent);
|
|
115
|
+
writeIfDifferent(filepath.replace(/\.js$/, '.cjs'), cjsContent);
|
|
79
116
|
}
|
|
80
117
|
}
|
|
81
118
|
}
|
|
@@ -87,16 +124,16 @@ function writeFiles(name, data, config) {
|
|
|
87
124
|
if (!name) {
|
|
88
125
|
const filepath = jsonFile;
|
|
89
126
|
const folderPath = path.dirname(filepath);
|
|
90
|
-
|
|
91
|
-
|
|
127
|
+
ensureDirExistsSync(folderPath);
|
|
128
|
+
writeIfDifferent(filepath, newContent);
|
|
92
129
|
}
|
|
93
130
|
}
|
|
94
131
|
else {
|
|
95
132
|
if (name) {
|
|
96
133
|
const filepath = `${jsonFile}/${name}.json`;
|
|
97
134
|
const folderPath = path.dirname(filepath);
|
|
98
|
-
|
|
99
|
-
|
|
135
|
+
ensureDirExistsSync(folderPath);
|
|
136
|
+
writeIfDifferent(filepath, newContent);
|
|
100
137
|
}
|
|
101
138
|
}
|
|
102
139
|
}
|
|
@@ -110,8 +147,8 @@ function writeFiles(name, data, config) {
|
|
|
110
147
|
for (const tsFile of tsm) {
|
|
111
148
|
const filepath = tsFile;
|
|
112
149
|
const folderPath = path.dirname(filepath);
|
|
113
|
-
|
|
114
|
-
|
|
150
|
+
ensureDirExistsSync(folderPath);
|
|
151
|
+
writeIfDifferent(filepath, newContent);
|
|
115
152
|
}
|
|
116
153
|
}
|
|
117
154
|
if (jsm.length > 0) {
|
|
@@ -122,8 +159,8 @@ function writeFiles(name, data, config) {
|
|
|
122
159
|
for (const jsFile of jsm) {
|
|
123
160
|
const filepath = jsFile;
|
|
124
161
|
const folderPath = path.dirname(filepath);
|
|
125
|
-
|
|
126
|
-
|
|
162
|
+
ensureDirExistsSync(folderPath);
|
|
163
|
+
writeIfDifferent(filepath, newContent);
|
|
127
164
|
}
|
|
128
165
|
}
|
|
129
166
|
}
|
|
@@ -131,7 +168,10 @@ function writeFiles(name, data, config) {
|
|
|
131
168
|
export async function generateTypes(paths, config, artifactsPaths) {
|
|
132
169
|
const allArtifacts = {};
|
|
133
170
|
const shortNameDict = {};
|
|
134
|
-
const files = traverse(paths.artifacts, [], paths.artifacts, (name) => name != 'build-info');
|
|
171
|
+
const files = traverse(paths.artifacts, [], paths.artifacts, (name) => name != 'build-info' && !name.endsWith('.t.sol'));
|
|
172
|
+
// console.log('--------------------------');
|
|
173
|
+
// console.log(files);
|
|
174
|
+
// console.log('--------------------------');
|
|
135
175
|
for (const file of files) {
|
|
136
176
|
const filepath = file.path;
|
|
137
177
|
if (file.directory || !filepath.endsWith('.json')) {
|
|
@@ -148,21 +188,25 @@ export async function generateTypes(paths, config, artifactsPaths) {
|
|
|
148
188
|
// TODO read config for artifacts folder
|
|
149
189
|
const buildInfoFilepath = path.join('artifacts', 'build-info', `${parsed.buildInfoId}.output.json`);
|
|
150
190
|
// console.log({buildInfoFilepath});
|
|
151
|
-
const backupBuildInfoFilepath = path.join(
|
|
191
|
+
// const backupBuildInfoFilepath = path.join(
|
|
192
|
+
// './generated',
|
|
193
|
+
// buildInfoFilepath.slice(buildInfoFilepath.indexOf('/', 1))
|
|
194
|
+
// );
|
|
152
195
|
let buildInfoFilepathToUse = buildInfoFilepath;
|
|
153
|
-
if (!fs.existsSync(buildInfoFilepathToUse)) {
|
|
154
|
-
|
|
155
|
-
}
|
|
196
|
+
// if (!fs.existsSync(buildInfoFilepathToUse)) {
|
|
197
|
+
// buildInfoFilepathToUse = backupBuildInfoFilepath;
|
|
198
|
+
// }
|
|
156
199
|
if (fs.existsSync(buildInfoFilepathToUse)) {
|
|
157
200
|
const buildInfoContent = fs.readFileSync(buildInfoFilepathToUse, 'utf-8');
|
|
158
|
-
if (buildInfoFilepathToUse !== backupBuildInfoFilepath) {
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
}
|
|
201
|
+
// if (buildInfoFilepathToUse !== backupBuildInfoFilepath) {
|
|
202
|
+
// ensureDirExistsSync(path.dirname(backupBuildInfoFilepath));
|
|
203
|
+
// writeIfDifferent(backupBuildInfoFilepath, buildInfoContent);
|
|
204
|
+
// }
|
|
162
205
|
const parsedBuildInfo = JSON.parse(buildInfoContent);
|
|
163
206
|
// console.log({dirname, contractName});
|
|
164
207
|
const solidityOutput = parsedBuildInfo.output.contracts[dirname][contractName];
|
|
165
|
-
const
|
|
208
|
+
const hardhatArtifactObject = { ...parsed, ...solidityOutput };
|
|
209
|
+
const { buildInfoId, _format, ...artifactObject } = hardhatArtifactObject;
|
|
166
210
|
const fullName = `${dirname}/${contractName}`;
|
|
167
211
|
allArtifacts[fullName] = artifactObject;
|
|
168
212
|
if (shortNameDict[contractName]) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/generate-types.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"generate-types.js","sourceRoot":"","sources":["../../src/generate-types.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/helpers.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EdrNetworkUserConfig, NetworkUserConfig } from 'hardhat/types/config';
|
|
1
|
+
import { EdrNetworkUserConfig, NetworkUserConfig, SensitiveString } from 'hardhat/types/config';
|
|
2
2
|
import { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
|
|
3
3
|
import { Environment, ProvidedContext, UnknownArtifacts, UnresolvedUnknownNamedAccounts } from 'rocketh';
|
|
4
4
|
export declare function loadEnvironmentFromHardhat<Artifacts extends UnknownArtifacts = UnknownArtifacts, NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts>({ hre, context }: {
|
|
@@ -7,12 +7,12 @@ export declare function loadEnvironmentFromHardhat<Artifacts extends UnknownArti
|
|
|
7
7
|
}, options?: {
|
|
8
8
|
useChainIdOfForkedNetwork?: boolean;
|
|
9
9
|
}): Promise<Environment>;
|
|
10
|
-
export declare function getRPC(networkName: string): string | undefined;
|
|
11
|
-
export declare function getMnemonic(networkName?: string): string;
|
|
10
|
+
export declare function getRPC(networkName: string): string | SensitiveString | undefined;
|
|
11
|
+
export declare function getMnemonic(networkName?: string): string | SensitiveString;
|
|
12
12
|
export declare function getAccounts(networkName?: string): {
|
|
13
|
-
mnemonic: string;
|
|
13
|
+
mnemonic: string | SensitiveString;
|
|
14
14
|
};
|
|
15
15
|
export declare function addNetworksFromEnv(networks?: Record<string, EdrNetworkUserConfig>): Record<string, NetworkUserConfig>;
|
|
16
|
-
export declare function populateNetworksFromEnv(networks: Record<string, Omit<NetworkUserConfig, 'accounts' | 'url'
|
|
16
|
+
export declare function populateNetworksFromEnv(networks: Record<string, Omit<NetworkUserConfig, 'accounts' | 'url'> | EdrNetworkUserConfig>): Record<string, NetworkUserConfig>;
|
|
17
17
|
export declare function addForkConfiguration(networks: Record<string, NetworkUserConfig>): Record<string, NetworkUserConfig>;
|
|
18
18
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,oBAAoB,EAGpB,iBAAiB,EACjB,eAAe,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAC,WAAW,EAAE,eAAe,EAAE,gBAAgB,EAAE,8BAA8B,EAAkB,MAAM,SAAS,CAAC;AAExH,wBAAsB,0BAA0B,CAC/C,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EAErF,EAAC,GAAG,EAAE,OAAO,EAAC,EAAE;IAAC,GAAG,EAAE,yBAAyB,CAAC;IAAC,OAAO,CAAC,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAA;CAAC,EACrG,OAAO,CAAC,EAAE;IACT,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACpC,GACC,OAAO,CAAC,WAAW,CAAC,CAuEtB;AAED,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CA0BhF;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,CAiB1E;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG;IAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAA;CAAC,CAEtF;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAuBrH;AAED,wBAAgB,uBAAuB,CACtC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,iBAAiB,EAAE,UAAU,GAAG,KAAK,CAAC,GAAG,oBAAoB,CAAC,GAC1F,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAuBnC;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAmDnH"}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { configVariable } from 'hardhat/config';
|
|
1
2
|
import { loadEnvironment } from 'rocketh';
|
|
2
3
|
export async function loadEnvironmentFromHardhat({ hre, context }, options) {
|
|
3
4
|
const connection = await hre.network.connect();
|
|
@@ -61,6 +62,7 @@ export async function loadEnvironmentFromHardhat({ hre, context }, options) {
|
|
|
61
62
|
},
|
|
62
63
|
});
|
|
63
64
|
}
|
|
65
|
+
console.log(`loading environments...`);
|
|
64
66
|
return loadEnvironment({
|
|
65
67
|
provider,
|
|
66
68
|
network,
|
|
@@ -68,13 +70,15 @@ export async function loadEnvironmentFromHardhat({ hre, context }, options) {
|
|
|
68
70
|
);
|
|
69
71
|
}
|
|
70
72
|
export function getRPC(networkName) {
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
const variableName = 'ETH_NODE_URI_' + networkName;
|
|
74
|
+
let uri = process.env[variableName];
|
|
75
|
+
if (uri === 'SECRET') {
|
|
76
|
+
return configVariable(`SECRET_${variableName}`);
|
|
77
|
+
}
|
|
78
|
+
if (uri && uri !== '') {
|
|
79
|
+
return uri;
|
|
76
80
|
}
|
|
77
|
-
|
|
81
|
+
uri = process.env.ETH_NODE_URI;
|
|
78
82
|
if (uri) {
|
|
79
83
|
uri = uri.replace('{{networkName}}', networkName);
|
|
80
84
|
}
|
|
@@ -92,7 +96,11 @@ export function getRPC(networkName) {
|
|
|
92
96
|
}
|
|
93
97
|
export function getMnemonic(networkName) {
|
|
94
98
|
if (networkName) {
|
|
95
|
-
const
|
|
99
|
+
const variableName = 'MNEMONIC_' + networkName;
|
|
100
|
+
const mnemonic = process.env[variableName];
|
|
101
|
+
if (mnemonic === 'SECRET') {
|
|
102
|
+
return configVariable(`SECRET_${variableName}`);
|
|
103
|
+
}
|
|
96
104
|
if (mnemonic && mnemonic !== '') {
|
|
97
105
|
return mnemonic;
|
|
98
106
|
}
|
|
@@ -135,19 +143,25 @@ export function addNetworksFromEnv(networks) {
|
|
|
135
143
|
export function populateNetworksFromEnv(networks) {
|
|
136
144
|
const newNetworks = {};
|
|
137
145
|
for (const networkName of Object.keys(networks)) {
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
if (url) {
|
|
143
|
-
newNetworks[networkName] = {
|
|
144
|
-
...networks[networkName],
|
|
145
|
-
url,
|
|
146
|
-
accounts: getAccounts(networkName),
|
|
147
|
-
};
|
|
146
|
+
const network = networks[networkName];
|
|
147
|
+
if (network.type === 'edr') {
|
|
148
|
+
// we leave memory network alone
|
|
149
|
+
newNetworks[networkName] = network;
|
|
148
150
|
}
|
|
149
151
|
else {
|
|
150
|
-
|
|
152
|
+
const url = getRPC(networkName);
|
|
153
|
+
if (url) {
|
|
154
|
+
newNetworks[networkName] = {
|
|
155
|
+
...network,
|
|
156
|
+
url,
|
|
157
|
+
accounts: getAccounts(networkName),
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
else {
|
|
161
|
+
if (!('url' in network) || !network.url) {
|
|
162
|
+
console.error(`no url for network ${networkName}`);
|
|
163
|
+
}
|
|
164
|
+
}
|
|
151
165
|
}
|
|
152
166
|
}
|
|
153
167
|
return newNetworks;
|
|
@@ -178,7 +192,7 @@ export function addForkConfiguration(networks) {
|
|
|
178
192
|
}
|
|
179
193
|
}
|
|
180
194
|
}
|
|
181
|
-
const existingHardhat = networks.hardhat.type === 'edr' ? networks.hardhat : { type: 'edr', chainType: 'l1' };
|
|
195
|
+
const existingHardhat = networks.hardhat && networks.hardhat.type === 'edr' ? networks.hardhat : { type: 'edr', chainType: 'l1' };
|
|
182
196
|
const newNetworks = {
|
|
183
197
|
...populateNetworksFromEnv(networks),
|
|
184
198
|
hardhat: {
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;AAY9C,OAAO,EAAiF,eAAe,EAAC,MAAM,SAAS,CAAC;AAExH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAI/C,EAAC,GAAG,EAAE,OAAO,EAAwF,EACrG,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,KAAK,EAAE,CAAC;gBACtC,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,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;IACvC,OAAO,eAAe,CACrB;QACC,QAAQ;QACR,OAAO;KACP,EACD,OAAO,IAAI,EAAC,SAAS,EAAE,EAAS,EAAC,CAAC,OAAO;KACzC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM,CAAC,WAAmB;IACzC,MAAM,YAAY,GAAG,eAAe,GAAG,WAAW,CAAC;IACnD,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;IACD,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,YAAY,GAAG,WAAW,GAAG,WAAW,CAAC;QAC/C,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,cAAc,CAAC,UAAU,YAAY,EAAE,CAAC,CAAC;QACjD,CAAC;QACD,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,QAA+C;IACjF,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,KAAK,EAAE,CAAC;YAC5B,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,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,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,IAAI,EAAC,CAAC;IAEzG,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 +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;
|
|
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;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/hook-handlers/config.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,
|
|
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,wBAyBE"}
|
|
@@ -3,10 +3,12 @@ export default async () => {
|
|
|
3
3
|
const handlers = {
|
|
4
4
|
async onAllArtifactsEmitted(context, artifacts, next) {
|
|
5
5
|
const artifactsPaths = Array.from(artifacts.values()).flatMap((innerMap) => Array.from(innerMap.values()).flat());
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
6
|
+
if (artifactsPaths.length > 0) {
|
|
7
|
+
await generateTypes({
|
|
8
|
+
root: context.config.paths.root,
|
|
9
|
+
artifacts: context.config.paths.artifacts,
|
|
10
|
+
}, context.config.generateArtifacts, artifactsPaths);
|
|
11
|
+
}
|
|
10
12
|
return next(context, artifacts);
|
|
11
13
|
},
|
|
12
14
|
};
|
|
@@ -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;
|
|
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,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC/B,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,cAAc,CACd,CAAC;YACH,CAAC;YAED,OAAO,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;QACjC,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: '
|
|
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: '
|
|
25
|
+
npmPackage: 'hardhat-deploy',
|
|
26
26
|
};
|
|
27
27
|
export default hardhatPlugin;
|
|
28
28
|
//# sourceMappingURL=index.js.map
|
package/dist/esm/index.js.map
CHANGED
|
@@ -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,
|
|
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,
|
|
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"}
|
package/dist/esm/tasks/deploy.js
CHANGED
|
@@ -1,17 +1,22 @@
|
|
|
1
1
|
import { loadAndExecuteDeployments } from 'rocketh';
|
|
2
2
|
const runScriptWithHardhat = async (args, hre) => {
|
|
3
|
-
|
|
4
|
-
let
|
|
5
|
-
|
|
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
|
-
|
|
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:
|
|
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,
|
|
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.
|
|
3
|
+
"version": "2.0.0-next.11",
|
|
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
|
-
"@
|
|
30
|
+
"@changesets/cli": "^2.28.1",
|
|
31
|
+
"@types/node": "^22.13.10",
|
|
31
32
|
"as-soon": "^0.0.11",
|
|
32
33
|
"hardhat": "^3.0.0-next.1",
|
|
33
|
-
"rimraf": "^
|
|
34
|
-
"
|
|
35
|
-
"
|
|
34
|
+
"rimraf": "^6.0.1",
|
|
35
|
+
"rocketh": "1.0.0-next.4",
|
|
36
|
+
"set-defaults": "^0.0.5",
|
|
37
|
+
"typescript": "^5.5.2"
|
|
36
38
|
},
|
|
37
39
|
"peerDependencies": {
|
|
38
40
|
"hardhat": "^3.0.0-next.1",
|
|
39
|
-
"rocketh": "1.0.0-next.
|
|
41
|
+
"rocketh": "1.0.0-next.4"
|
|
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/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2018-present Ronan Sandford
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
package/README.md
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
# hardhat-rocketh
|
|
@@ -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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"}
|