hardhat-deploy 2.0.0-next.5 → 2.0.0-next.51
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 +1 -1
- package/README.md +22 -1
- package/dist/esm/config/default.d.ts.map +1 -1
- package/dist/esm/config/default.js +2 -5
- package/dist/esm/config/default.js.map +1 -1
- package/dist/esm/config/get-config.d.ts.map +1 -1
- package/dist/esm/config/get-config.js +3 -2
- package/dist/esm/config/get-config.js.map +1 -1
- package/dist/esm/config/validation.d.ts.map +1 -1
- package/dist/esm/config/validation.js +8 -7
- package/dist/esm/config/validation.js.map +1 -1
- package/dist/esm/generate-types.d.ts +2 -3
- package/dist/esm/generate-types.d.ts.map +1 -1
- package/dist/esm/generate-types.js +199 -155
- package/dist/esm/generate-types.js.map +1 -1
- package/dist/esm/helpers.d.ts +28 -12
- package/dist/esm/helpers.d.ts.map +1 -1
- package/dist/esm/helpers.js +121 -70
- 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 +53 -1
- 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 +13 -7
- package/dist/esm/hook-handlers/solidity.js.map +1 -1
- package/dist/esm/index.d.ts +3 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +17 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/tasks/deploy.d.ts +1 -0
- package/dist/esm/tasks/deploy.d.ts.map +1 -1
- package/dist/esm/tasks/deploy.js +13 -6
- package/dist/esm/tasks/deploy.js.map +1 -1
- package/dist/esm/type-extensions.d.ts +2 -2
- package/dist/esm/type-extensions.d.ts.map +1 -1
- package/dist/esm/types.d.ts +8 -10
- package/dist/esm/types.d.ts.map +1 -1
- package/dist/esm/utils/files.d.ts +9 -0
- package/dist/esm/utils/files.d.ts.map +1 -0
- package/dist/esm/utils/files.js +25 -0
- package/dist/esm/utils/files.js.map +1 -0
- package/package.json +16 -13
- package/src/config/default.ts +6 -0
- package/src/config/get-config.ts +12 -0
- package/src/config/validation.ts +25 -0
- package/src/generate-types.ts +279 -0
- package/src/helpers.ts +316 -0
- package/src/hook-handlers/config.ts +80 -0
- package/src/hook-handlers/solidity.ts +33 -0
- package/src/index.ts +47 -0
- package/src/tasks/deploy.ts +38 -0
- package/src/type-extensions.ts +12 -0
- package/src/types.ts +9 -0
- package/src/utils/files.ts +37 -0
- 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
package/dist/esm/helpers.d.ts
CHANGED
|
@@ -1,18 +1,34 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { NetworkUserConfig, SensitiveString } from 'hardhat/types/config';
|
|
2
2
|
import { HardhatRuntimeEnvironment } from 'hardhat/types/hre';
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import { NetworkConnection } from 'hardhat/types/network';
|
|
4
|
+
import { Environment, UnresolvedUnknownNamedAccounts, UnresolvedNetworkSpecificData } from 'rocketh';
|
|
5
|
+
export declare function setupHardhatDeploy<Extensions extends Record<string, (env: Environment<any, any, any>) => any> = {}, NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, Data extends UnresolvedNetworkSpecificData = UnresolvedNetworkSpecificData>(extensions: Extensions): {
|
|
6
|
+
loadEnvironmentFromHardhat: (required: {
|
|
7
|
+
hre: HardhatRuntimeEnvironment;
|
|
8
|
+
connection?: NetworkConnection;
|
|
9
|
+
}) => Promise<import("rocketh").EnhancedEnvironment<UnresolvedUnknownNamedAccounts, UnresolvedNetworkSpecificData, import("rocketh").UnknownDeployments, Extensions, Record<string, unknown>>>;
|
|
10
|
+
};
|
|
11
|
+
export declare function generateForkConfig(params: {
|
|
12
|
+
hre: HardhatRuntimeEnvironment;
|
|
13
|
+
connection?: NetworkConnection;
|
|
14
|
+
}): Promise<{
|
|
15
|
+
provider: any;
|
|
16
|
+
environment: string | {
|
|
17
|
+
fork: string;
|
|
18
|
+
};
|
|
19
|
+
connection: NetworkConnection;
|
|
20
|
+
isFork: boolean;
|
|
21
|
+
}>;
|
|
22
|
+
export declare function loadEnvironmentFromHardhat<NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, Data extends UnresolvedNetworkSpecificData = UnresolvedNetworkSpecificData>(params: {
|
|
5
23
|
hre: HardhatRuntimeEnvironment;
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
useChainIdOfForkedNetwork?: boolean;
|
|
9
|
-
}): Promise<Environment>;
|
|
24
|
+
connection?: NetworkConnection;
|
|
25
|
+
}): Promise<Environment<NamedAccounts, Data>>;
|
|
10
26
|
export declare function getRPC(networkName: string): string | SensitiveString | undefined;
|
|
11
|
-
export declare function getMnemonic(networkName?: string): string | SensitiveString;
|
|
12
|
-
export declare function getAccounts(networkName?: string): {
|
|
27
|
+
export declare function getMnemonic(networkName?: string, doNotDefault?: boolean): string | SensitiveString | undefined;
|
|
28
|
+
export declare function getAccounts(networkName?: string, doNotDefault?: boolean): {
|
|
13
29
|
mnemonic: string | SensitiveString;
|
|
14
|
-
};
|
|
15
|
-
export declare function addNetworksFromEnv(networks?: Record<string,
|
|
16
|
-
export declare function
|
|
30
|
+
} | undefined;
|
|
31
|
+
export declare function addNetworksFromEnv(networks?: Record<string, NetworkUserConfig>): Record<string, NetworkUserConfig>;
|
|
32
|
+
export declare function addNetworksFromKnownList(networks?: Record<string, NetworkUserConfig>): Record<string, NetworkUserConfig>;
|
|
17
33
|
export declare function addForkConfiguration(networks: Record<string, NetworkUserConfig>): Record<string, NetworkUserConfig>;
|
|
18
34
|
//# sourceMappingURL=helpers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAIN,iBAAiB,EACjB,eAAe,EACf,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAC,yBAAyB,EAAC,MAAM,mBAAmB,CAAC;AAC5D,OAAO,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AACxD,OAAO,EACN,WAAW,EACX,8BAA8B,EAC9B,6BAA6B,EAI7B,MAAM,SAAS,CAAC;AAEjB,wBAAgB,kBAAkB,CACjC,UAAU,SAAS,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,KAAK,GAAG,CAAC,GAAG,EAAE,EAChF,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,IAAI,SAAS,6BAA6B,GAAG,6BAA6B,EACzE,UAAU,EAAE,UAAU;2CAEZ;QAAC,GAAG,EAAE,yBAAyB,CAAC;QAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;KAAC;EAY3E;AAED,wBAAsB,kBAAkB,CACvC,MAAM,EAAE;IAAC,GAAG,EAAE,yBAAyB,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAC,GAItE,OAAO,CAAC;IAAC,QAAQ,EAAE,GAAG,CAAC;IAAC,WAAW,EAAE,MAAM,GAAG;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC;IAAC,UAAU,EAAE,iBAAiB,CAAC;IAAC,MAAM,EAAE,OAAO,CAAA;CAAC,CAAC,CAsEhH;AAED,wBAAsB,0BAA0B,CAC/C,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,IAAI,SAAS,6BAA6B,GAAG,6BAA6B,EAE1E,MAAM,EAAE;IAAC,GAAG,EAAE,yBAAyB,CAAC;IAAC,UAAU,CAAC,EAAE,iBAAiB,CAAA;CAAC,GAKtE,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC,CAW3C;AAkBD,wBAAgB,MAAM,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CAuBhF;AAED,wBAAgB,WAAW,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,GAAG,SAAS,CAiB9G;AAED,wBAAgB,WAAW,CAC1B,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,OAAO,GACpB;IAAC,QAAQ,EAAE,MAAM,GAAG,eAAe,CAAA;CAAC,GAAG,SAAS,CAMlD;AAED,wBAAgB,kBAAkB,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAuBlH;AAGD,wBAAgB,wBAAwB,CACvC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAC1C,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAwBnC;AAED,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAoDnH"}
|
package/dist/esm/helpers.js
CHANGED
|
@@ -1,44 +1,60 @@
|
|
|
1
1
|
import { configVariable } from 'hardhat/config';
|
|
2
|
-
import { loadEnvironment } from 'rocketh';
|
|
3
|
-
export
|
|
4
|
-
|
|
2
|
+
import { loadEnvironment, enhanceEnvIfNeeded, chainByCanonicalName, } from 'rocketh';
|
|
3
|
+
export function setupHardhatDeploy(extensions) {
|
|
4
|
+
async function loadEnvironmentFromHardhatWithExtensions(required
|
|
5
|
+
// options?: {
|
|
6
|
+
// useChainIdOfForkedNetwork?: boolean;
|
|
7
|
+
// }
|
|
8
|
+
) {
|
|
9
|
+
const env = await loadEnvironmentFromHardhat(required);
|
|
10
|
+
return enhanceEnvIfNeeded(env, extensions);
|
|
11
|
+
}
|
|
12
|
+
return {
|
|
13
|
+
loadEnvironmentFromHardhat: loadEnvironmentFromHardhatWithExtensions,
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
export async function generateForkConfig(params
|
|
17
|
+
// options?: {
|
|
18
|
+
// useChainIdOfForkedNetwork?: boolean;
|
|
19
|
+
// }
|
|
20
|
+
) {
|
|
21
|
+
const fork = process.env.HARDHAT_FORK;
|
|
22
|
+
const connection = params.connection || fork
|
|
23
|
+
? await params.hre.network.connect({ network: 'fork' })
|
|
24
|
+
: await params.hre.network.connect();
|
|
5
25
|
let provider = connection.provider;
|
|
6
|
-
let
|
|
26
|
+
let environment = connection.networkName;
|
|
7
27
|
let forkChainId;
|
|
8
|
-
const fork = process.env.HARDHAT_FORK;
|
|
9
28
|
if (fork) {
|
|
10
|
-
if (options?.useChainIdOfForkedNetwork) {
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
network = {
|
|
29
|
+
// if (options?.useChainIdOfForkedNetwork) {
|
|
30
|
+
// const forkNetworkConfig = params.hre.config.networks[fork];
|
|
31
|
+
// if (forkNetworkConfig.type === 'edr-simulated') {
|
|
32
|
+
// forkChainId = forkNetworkConfig.chainId;
|
|
33
|
+
// } else if (forkNetworkConfig.chainId) {
|
|
34
|
+
// forkChainId = forkNetworkConfig.chainId;
|
|
35
|
+
// } else {
|
|
36
|
+
// if ('url' in forkNetworkConfig) {
|
|
37
|
+
// const url = await forkNetworkConfig.url.getUrl();
|
|
38
|
+
// const response = await fetch(url, {
|
|
39
|
+
// method: 'POST',
|
|
40
|
+
// headers: {
|
|
41
|
+
// 'Content-Type': 'application/json',
|
|
42
|
+
// },
|
|
43
|
+
// body: JSON.stringify({
|
|
44
|
+
// jsonrpc: '2.0',
|
|
45
|
+
// id: 1,
|
|
46
|
+
// method: 'eth_chainId',
|
|
47
|
+
// params: [],
|
|
48
|
+
// }),
|
|
49
|
+
// });
|
|
50
|
+
// const json = (await response.json()) as {result: string};
|
|
51
|
+
// forkChainId = Number(json.result);
|
|
52
|
+
// } else {
|
|
53
|
+
// throw new Error(`cannot fetch chainId`);
|
|
54
|
+
// }
|
|
55
|
+
// }
|
|
56
|
+
// }
|
|
57
|
+
environment = {
|
|
42
58
|
fork,
|
|
43
59
|
};
|
|
44
60
|
}
|
|
@@ -62,18 +78,43 @@ export async function loadEnvironmentFromHardhat({ hre, context }, options) {
|
|
|
62
78
|
},
|
|
63
79
|
});
|
|
64
80
|
}
|
|
81
|
+
return { provider, environment, connection, isFork: !!fork };
|
|
82
|
+
}
|
|
83
|
+
export async function loadEnvironmentFromHardhat(params
|
|
84
|
+
// TODO ?
|
|
85
|
+
// options?: {
|
|
86
|
+
// useChainIdOfForkedNetwork?: boolean;
|
|
87
|
+
// }
|
|
88
|
+
) {
|
|
89
|
+
const { connection, environment, provider, isFork } = await generateForkConfig(params);
|
|
90
|
+
// console.log(`loading environments...`);
|
|
65
91
|
return loadEnvironment({
|
|
66
92
|
provider,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
93
|
+
environment,
|
|
94
|
+
extra: {
|
|
95
|
+
connection,
|
|
96
|
+
},
|
|
97
|
+
saveDeployments: isFork ? false : undefined,
|
|
98
|
+
});
|
|
70
99
|
}
|
|
71
|
-
|
|
72
|
-
|
|
100
|
+
function getVariable(prefix, name) {
|
|
101
|
+
// We transform dash into underscore as dash are not supported everywhwre in env var names
|
|
102
|
+
const variableName = (prefix + name).replaceAll('-', '_');
|
|
73
103
|
let uri = process.env[variableName];
|
|
74
104
|
if (uri === 'SECRET') {
|
|
75
105
|
return configVariable(`SECRET_${variableName}`);
|
|
76
106
|
}
|
|
107
|
+
else if (uri?.startsWith('SECRET:')) {
|
|
108
|
+
const splitted = uri.split(':');
|
|
109
|
+
if (splitted.length !== 2) {
|
|
110
|
+
throw new Error(`invalid secret uri ${uri}`);
|
|
111
|
+
}
|
|
112
|
+
return configVariable(`SECRET_${prefix + splitted[1]}`);
|
|
113
|
+
}
|
|
114
|
+
return uri;
|
|
115
|
+
}
|
|
116
|
+
export function getRPC(networkName) {
|
|
117
|
+
let uri = getVariable('ETH_NODE_URI_', networkName);
|
|
77
118
|
if (uri && uri !== '') {
|
|
78
119
|
return uri;
|
|
79
120
|
}
|
|
@@ -93,25 +134,28 @@ export function getRPC(networkName) {
|
|
|
93
134
|
}
|
|
94
135
|
return uri;
|
|
95
136
|
}
|
|
96
|
-
export function getMnemonic(networkName) {
|
|
137
|
+
export function getMnemonic(networkName, doNotDefault) {
|
|
97
138
|
if (networkName) {
|
|
98
|
-
const
|
|
99
|
-
const mnemonic = process.env[variableName];
|
|
100
|
-
if (mnemonic === 'SECRET') {
|
|
101
|
-
return configVariable(`SECRET_${variableName}`);
|
|
102
|
-
}
|
|
139
|
+
const mnemonic = getVariable('MNEMONIC_', networkName);
|
|
103
140
|
if (mnemonic && mnemonic !== '') {
|
|
104
141
|
return mnemonic;
|
|
105
142
|
}
|
|
106
143
|
}
|
|
107
144
|
const mnemonic = process.env.MNEMONIC;
|
|
108
145
|
if (!mnemonic || mnemonic === '') {
|
|
146
|
+
if (doNotDefault) {
|
|
147
|
+
return undefined;
|
|
148
|
+
}
|
|
109
149
|
return 'test test test test test test test test test test test junk';
|
|
110
150
|
}
|
|
111
151
|
return mnemonic;
|
|
112
152
|
}
|
|
113
|
-
export function getAccounts(networkName) {
|
|
114
|
-
|
|
153
|
+
export function getAccounts(networkName, doNotDefault) {
|
|
154
|
+
const mnemonic = getMnemonic(networkName, doNotDefault);
|
|
155
|
+
if (!mnemonic) {
|
|
156
|
+
return undefined;
|
|
157
|
+
}
|
|
158
|
+
return { mnemonic };
|
|
115
159
|
}
|
|
116
160
|
export function addNetworksFromEnv(networks) {
|
|
117
161
|
const newNetworks = networks ? { ...networks } : {};
|
|
@@ -139,23 +183,29 @@ export function addNetworksFromEnv(networks) {
|
|
|
139
183
|
}
|
|
140
184
|
return newNetworks;
|
|
141
185
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
186
|
+
const listOfNetworkNamesWithTestAccountAllowed = ['hardhat', 'localhost', 'memory', 'test'];
|
|
187
|
+
export function addNetworksFromKnownList(networks) {
|
|
188
|
+
const newNetworks = networks ? { ...networks } : {};
|
|
189
|
+
const canonicalNames = Object.keys(chainByCanonicalName);
|
|
190
|
+
for (const canonicalName of canonicalNames) {
|
|
191
|
+
const chain = chainByCanonicalName[canonicalName];
|
|
192
|
+
const url = getRPC(canonicalName) || chain.rpcUrls.default.http[0];
|
|
193
|
+
if (!newNetworks[canonicalName]) {
|
|
194
|
+
if (url) {
|
|
195
|
+
newNetworks[canonicalName] = {
|
|
196
|
+
type: 'http',
|
|
197
|
+
url,
|
|
198
|
+
accounts: getAccounts(canonicalName, !listOfNetworkNamesWithTestAccountAllowed.includes(canonicalName)),
|
|
199
|
+
chainType: chain.chainType === 'op-stack' ? 'op' : undefined,
|
|
200
|
+
chainId: chain.id,
|
|
201
|
+
};
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
console.error(`no url for chain ${canonicalName}`);
|
|
205
|
+
}
|
|
156
206
|
}
|
|
157
207
|
else {
|
|
158
|
-
console.error(`
|
|
208
|
+
// console.error(`duplicated chain ${canonicalName}`);
|
|
159
209
|
}
|
|
160
210
|
}
|
|
161
211
|
return newNetworks;
|
|
@@ -167,6 +217,7 @@ export function addForkConfiguration(networks) {
|
|
|
167
217
|
if (currentNetworkName &&
|
|
168
218
|
currentNetworkName !== 'hardhat' &&
|
|
169
219
|
currentNetworkName !== 'edr' &&
|
|
220
|
+
currentNetworkName !== 'edr-simulated' &&
|
|
170
221
|
currentNetworkName !== 'memory') {
|
|
171
222
|
const currentNetwork = networks[currentNetworkName];
|
|
172
223
|
if (currentNetwork) {
|
|
@@ -186,13 +237,13 @@ export function addForkConfiguration(networks) {
|
|
|
186
237
|
}
|
|
187
238
|
}
|
|
188
239
|
}
|
|
189
|
-
const
|
|
240
|
+
const existingForkConfiguration = networks.fork && networks.fork.type === 'edr-simulated' ? networks.fork : { type: 'edr-simulated', chainType: 'l1' };
|
|
190
241
|
const newNetworks = {
|
|
191
|
-
...
|
|
192
|
-
|
|
193
|
-
...
|
|
242
|
+
...networks,
|
|
243
|
+
fork: {
|
|
244
|
+
...existingForkConfiguration,
|
|
194
245
|
...{
|
|
195
|
-
accounts: hardhatAccounts ||
|
|
246
|
+
accounts: hardhatAccounts || existingForkConfiguration?.accounts,
|
|
196
247
|
forking: forkURL
|
|
197
248
|
? {
|
|
198
249
|
url: forkURL,
|
package/dist/esm/helpers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,gBAAgB,CAAC;
|
|
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;
|
|
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,13 +1,65 @@
|
|
|
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,
|
|
10
|
-
|
|
61
|
+
solidity,
|
|
62
|
+
generateTypedArtifacts: getConfig(userConfig.generateTypedArtifacts),
|
|
11
63
|
};
|
|
12
64
|
},
|
|
13
65
|
};
|
|
@@ -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;
|
|
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,wBA4BE"}
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
import { generateTypes } from '../generate-types.js';
|
|
2
2
|
export default async () => {
|
|
3
3
|
const handlers = {
|
|
4
|
-
async
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
4
|
+
async onCleanUpArtifacts(context, artifactPaths, next) {
|
|
5
|
+
let artifactPathsToProcess = [context.config.paths.artifacts];
|
|
6
|
+
// if (context.config.generateTypedArtifacts.externalArtifacts) {
|
|
7
|
+
// artifactPathsToProcess = artifactPathsToProcess.concat(
|
|
8
|
+
// context.config.generateTypedArtifacts.externalArtifacts
|
|
9
|
+
// );
|
|
10
|
+
// }
|
|
11
|
+
if (artifactPaths.length > 0) {
|
|
12
|
+
await generateTypes({
|
|
13
|
+
artifacts: artifactPathsToProcess,
|
|
14
|
+
}, context.config.generateTypedArtifacts);
|
|
15
|
+
}
|
|
16
|
+
return next(context, artifactPaths);
|
|
11
17
|
},
|
|
12
18
|
};
|
|
13
19
|
return handlers;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solidity.js","sourceRoot":"","sources":["../../../src/hook-handlers/solidity.ts"],"names":[],"mappings":"
|
|
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,sBAAsB,GAAG,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;YAC9D,iEAAiE;YACjE,2DAA2D;YAC3D,4DAA4D;YAC5D,MAAM;YACN,IAAI;YAEJ,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBAC9B,MAAM,aAAa,CAClB;oBACC,SAAS,EAAE,sBAAsB;iBACjC,EACD,OAAO,CAAC,MAAM,CAAC,sBAAsB,CACrC,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.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { HardhatPlugin } from 'hardhat/types/plugins';
|
|
2
2
|
import './type-extensions.js';
|
|
3
|
+
import { Environment } from 'rocketh';
|
|
4
|
+
import type { NetworkConnection } from 'hardhat/types/network';
|
|
3
5
|
declare const hardhatPlugin: HardhatPlugin;
|
|
4
6
|
export default hardhatPlugin;
|
|
7
|
+
export declare function getHardhatConnection(env: Environment): NetworkConnection<'generic'>;
|
|
5
8
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGzD,OAAO,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGzD,OAAO,sBAAsB,CAAC;AAE9B,OAAO,EAAC,WAAW,EAAC,MAAM,SAAS,CAAC;AACpC,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAK7D,QAAA,MAAM,aAAa,EAAE,aA0BpB,CAAC;AAEF,eAAe,aAAa,CAAC;AAE7B,wBAAgB,oBAAoB,CAAC,GAAG,EAAE,WAAW,GAAG,iBAAiB,CAAC,SAAS,CAAC,CAKnF"}
|
package/dist/esm/index.js
CHANGED
|
@@ -4,10 +4,10 @@ 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
|
-
config: import
|
|
10
|
-
solidity: import
|
|
9
|
+
config: () => import('./hook-handlers/config.js'),
|
|
10
|
+
solidity: () => import('./hook-handlers/solidity.js'),
|
|
11
11
|
},
|
|
12
12
|
tasks: [
|
|
13
13
|
task('deploy', 'Deploy contracts')
|
|
@@ -19,10 +19,22 @@ const hardhatPlugin = {
|
|
|
19
19
|
defaultValue: '',
|
|
20
20
|
type: ArgumentType.STRING,
|
|
21
21
|
})
|
|
22
|
-
.
|
|
22
|
+
.addOption({
|
|
23
|
+
name: 'tags',
|
|
24
|
+
description: 'specify which tags to deploy',
|
|
25
|
+
defaultValue: '',
|
|
26
|
+
type: ArgumentType.STRING,
|
|
27
|
+
})
|
|
28
|
+
.setAction(() => import('./tasks/deploy.js'))
|
|
23
29
|
.build(),
|
|
24
30
|
],
|
|
25
|
-
npmPackage: '
|
|
31
|
+
npmPackage: 'hardhat-deploy',
|
|
26
32
|
};
|
|
27
33
|
export default hardhatPlugin;
|
|
34
|
+
export function getHardhatConnection(env) {
|
|
35
|
+
if (!env.extra?.connection) {
|
|
36
|
+
throw new Error('Hardhat deploy connection not found in the environment');
|
|
37
|
+
}
|
|
38
|
+
return env.extra.connection;
|
|
39
|
+
}
|
|
28
40
|
//# 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;
|
|
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;AAIrD,qFAAqF;AACrF,6BAA6B;AAE7B,MAAM,aAAa,GAAkB;IACpC,EAAE,EAAE,gBAAgB;IACpB,YAAY,EAAE;QACb,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,2BAA2B,CAAC;QACjD,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,6BAA6B,CAAC;KACrD;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;YACV,IAAI,EAAE,MAAM;YACZ,WAAW,EAAE,8BAA8B;YAC3C,YAAY,EAAE,EAAE;YAChB,IAAI,EAAE,YAAY,CAAC,MAAM;SACzB,CAAC;aACD,SAAS,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;aAC5C,KAAK,EAAE;KACT;IACD,UAAU,EAAE,gBAAgB;CAC5B,CAAC;AAEF,eAAe,aAAa,CAAC;AAE7B,MAAM,UAAU,oBAAoB,CAAC,GAAgB;IACpD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,GAAG,CAAC,KAAK,CAAC,UAA0C,CAAC;AAC7D,CAAC"}
|
|
@@ -2,6 +2,7 @@ import { NewTaskActionFunction } from 'hardhat/types/tasks';
|
|
|
2
2
|
interface RunActionArguments {
|
|
3
3
|
saveDeployments: string;
|
|
4
4
|
skipPrompts: boolean;
|
|
5
|
+
tags?: string;
|
|
5
6
|
}
|
|
6
7
|
declare const runScriptWithHardhat: NewTaskActionFunction<RunActionArguments>;
|
|
7
8
|
export default runScriptWithHardhat;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/tasks/deploy.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,qBAAqB,EAAC,MAAM,qBAAqB,CAAC;AAI1D,UAAU,kBAAkB;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACd;AAED,QAAA,MAAM,oBAAoB,EAAE,qBAAqB,CAAC,kBAAkB,CA0BnE,CAAC;AACF,eAAe,oBAAoB,CAAC"}
|
package/dist/esm/tasks/deploy.js
CHANGED
|
@@ -1,20 +1,27 @@
|
|
|
1
1
|
import { loadAndExecuteDeployments } from 'rocketh';
|
|
2
|
+
import { generateForkConfig } from '../helpers.js';
|
|
2
3
|
const runScriptWithHardhat = async (args, hre) => {
|
|
3
|
-
let saveDeployments =
|
|
4
|
+
let saveDeployments = true;
|
|
4
5
|
let skipPrompts = args.skipPrompts ? true : false;
|
|
5
|
-
const connection = await hre
|
|
6
|
-
const isMemoryNetwork = connection.networkConfig.type == 'edr';
|
|
6
|
+
const { connection, environment, isFork, provider } = await generateForkConfig({ hre });
|
|
7
|
+
const isMemoryNetwork = connection.networkConfig.type == 'edr-simulated';
|
|
7
8
|
if (isMemoryNetwork) {
|
|
8
9
|
skipPrompts = true;
|
|
9
10
|
saveDeployments = false;
|
|
10
11
|
}
|
|
12
|
+
if (args.saveDeployments != '') {
|
|
13
|
+
saveDeployments = args.saveDeployments == 'true' ? true : false;
|
|
14
|
+
}
|
|
15
|
+
const tags = args.tags && args.tags != '' ? args.tags : undefined;
|
|
11
16
|
await loadAndExecuteDeployments({
|
|
12
17
|
logLevel: 1,
|
|
13
|
-
provider
|
|
14
|
-
|
|
15
|
-
saveDeployments,
|
|
18
|
+
provider,
|
|
19
|
+
environment: environment,
|
|
20
|
+
saveDeployments: isFork ? false : saveDeployments,
|
|
16
21
|
askBeforeProceeding: skipPrompts ? false : true,
|
|
22
|
+
tags: tags?.split(','),
|
|
17
23
|
// reportGasUse: args.skipGasReport ? false : true,
|
|
24
|
+
extra: { connection },
|
|
18
25
|
});
|
|
19
26
|
};
|
|
20
27
|
export default runScriptWithHardhat;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/tasks/deploy.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/tasks/deploy.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,yBAAyB,EAAC,MAAM,SAAS,CAAC;AAClD,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AAQjD,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;IAElD,MAAM,EAAC,UAAU,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAC,GAAG,MAAM,kBAAkB,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC;IAEpF,MAAM,eAAe,GAAG,UAAU,CAAC,aAAa,CAAC,IAAI,IAAI,eAAe,CAAC;IACzE,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,IAAI,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;IAElE,MAAM,yBAAyB,CAAC;QAC/B,QAAQ,EAAE,CAAC;QACX,QAAQ;QACR,WAAW,EAAE,WAAW;QACxB,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,eAAe;QACjD,mBAAmB,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI;QAC/C,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC;QACtB,mDAAmD;QACnD,KAAK,EAAE,EAAC,UAAU,EAAC;KACnB,CAAC,CAAC;AACJ,CAAC,CAAC;AACF,eAAe,oBAAoB,CAAC"}
|
|
@@ -2,10 +2,10 @@ import 'hardhat/types/config';
|
|
|
2
2
|
import { ArtifactGenerationConfig, ArtifactGenerationUserConfig } from './types.js';
|
|
3
3
|
declare module 'hardhat/types/config' {
|
|
4
4
|
interface HardhatUserConfig {
|
|
5
|
-
|
|
5
|
+
generateTypedArtifacts?: ArtifactGenerationUserConfig;
|
|
6
6
|
}
|
|
7
7
|
interface HardhatConfig {
|
|
8
|
-
readonly
|
|
8
|
+
readonly generateTypedArtifacts: ArtifactGenerationConfig;
|
|
9
9
|
}
|
|
10
10
|
}
|
|
11
11
|
//# sourceMappingURL=type-extensions.d.ts.map
|