hardhat-deploy 2.0.0-next.5 → 2.0.0-next.50
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 +120 -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 +315 -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;AAiBD,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,42 @@ 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
|
-
const variableName =
|
|
100
|
+
function getVariable(prefix, name) {
|
|
101
|
+
const variableName = prefix + name;
|
|
73
102
|
let uri = process.env[variableName];
|
|
74
103
|
if (uri === 'SECRET') {
|
|
75
104
|
return configVariable(`SECRET_${variableName}`);
|
|
76
105
|
}
|
|
106
|
+
else if (uri?.startsWith('SECRET:')) {
|
|
107
|
+
const splitted = uri.split(':');
|
|
108
|
+
if (splitted.length !== 2) {
|
|
109
|
+
throw new Error(`invalid secret uri ${uri}`);
|
|
110
|
+
}
|
|
111
|
+
return configVariable(`SECRET_${prefix + splitted[1]}`);
|
|
112
|
+
}
|
|
113
|
+
return uri;
|
|
114
|
+
}
|
|
115
|
+
export function getRPC(networkName) {
|
|
116
|
+
let uri = getVariable('ETH_NODE_URI_', networkName);
|
|
77
117
|
if (uri && uri !== '') {
|
|
78
118
|
return uri;
|
|
79
119
|
}
|
|
@@ -93,25 +133,28 @@ export function getRPC(networkName) {
|
|
|
93
133
|
}
|
|
94
134
|
return uri;
|
|
95
135
|
}
|
|
96
|
-
export function getMnemonic(networkName) {
|
|
136
|
+
export function getMnemonic(networkName, doNotDefault) {
|
|
97
137
|
if (networkName) {
|
|
98
|
-
const
|
|
99
|
-
const mnemonic = process.env[variableName];
|
|
100
|
-
if (mnemonic === 'SECRET') {
|
|
101
|
-
return configVariable(`SECRET_${variableName}`);
|
|
102
|
-
}
|
|
138
|
+
const mnemonic = getVariable('MNEMONIC_', networkName);
|
|
103
139
|
if (mnemonic && mnemonic !== '') {
|
|
104
140
|
return mnemonic;
|
|
105
141
|
}
|
|
106
142
|
}
|
|
107
143
|
const mnemonic = process.env.MNEMONIC;
|
|
108
144
|
if (!mnemonic || mnemonic === '') {
|
|
145
|
+
if (doNotDefault) {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
109
148
|
return 'test test test test test test test test test test test junk';
|
|
110
149
|
}
|
|
111
150
|
return mnemonic;
|
|
112
151
|
}
|
|
113
|
-
export function getAccounts(networkName) {
|
|
114
|
-
|
|
152
|
+
export function getAccounts(networkName, doNotDefault) {
|
|
153
|
+
const mnemonic = getMnemonic(networkName, doNotDefault);
|
|
154
|
+
if (!mnemonic) {
|
|
155
|
+
return undefined;
|
|
156
|
+
}
|
|
157
|
+
return { mnemonic };
|
|
115
158
|
}
|
|
116
159
|
export function addNetworksFromEnv(networks) {
|
|
117
160
|
const newNetworks = networks ? { ...networks } : {};
|
|
@@ -139,23 +182,29 @@ export function addNetworksFromEnv(networks) {
|
|
|
139
182
|
}
|
|
140
183
|
return newNetworks;
|
|
141
184
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
185
|
+
const listOfNetworkNamesWithTestAccountAllowed = ['hardhat', 'localhost', 'memory', 'test'];
|
|
186
|
+
export function addNetworksFromKnownList(networks) {
|
|
187
|
+
const newNetworks = networks ? { ...networks } : {};
|
|
188
|
+
const canonicalNames = Object.keys(chainByCanonicalName);
|
|
189
|
+
for (const canonicalName of canonicalNames) {
|
|
190
|
+
const chain = chainByCanonicalName[canonicalName];
|
|
191
|
+
const url = getRPC(canonicalName) || chain.rpcUrls.default.http[0];
|
|
192
|
+
if (!newNetworks[canonicalName]) {
|
|
193
|
+
if (url) {
|
|
194
|
+
newNetworks[canonicalName] = {
|
|
195
|
+
type: 'http',
|
|
196
|
+
url,
|
|
197
|
+
accounts: getAccounts(canonicalName, !listOfNetworkNamesWithTestAccountAllowed.includes(canonicalName)),
|
|
198
|
+
chainType: chain.chainType === 'op-stack' ? 'op' : undefined,
|
|
199
|
+
chainId: chain.id,
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
console.error(`no url for chain ${canonicalName}`);
|
|
204
|
+
}
|
|
156
205
|
}
|
|
157
206
|
else {
|
|
158
|
-
console.error(`
|
|
207
|
+
// console.error(`duplicated chain ${canonicalName}`);
|
|
159
208
|
}
|
|
160
209
|
}
|
|
161
210
|
return newNetworks;
|
|
@@ -167,6 +216,7 @@ export function addForkConfiguration(networks) {
|
|
|
167
216
|
if (currentNetworkName &&
|
|
168
217
|
currentNetworkName !== 'hardhat' &&
|
|
169
218
|
currentNetworkName !== 'edr' &&
|
|
219
|
+
currentNetworkName !== 'edr-simulated' &&
|
|
170
220
|
currentNetworkName !== 'memory') {
|
|
171
221
|
const currentNetwork = networks[currentNetworkName];
|
|
172
222
|
if (currentNetwork) {
|
|
@@ -186,13 +236,13 @@ export function addForkConfiguration(networks) {
|
|
|
186
236
|
}
|
|
187
237
|
}
|
|
188
238
|
}
|
|
189
|
-
const
|
|
239
|
+
const existingForkConfiguration = networks.fork && networks.fork.type === 'edr-simulated' ? networks.fork : { type: 'edr-simulated', chainType: 'l1' };
|
|
190
240
|
const newNetworks = {
|
|
191
|
-
...
|
|
192
|
-
|
|
193
|
-
...
|
|
241
|
+
...networks,
|
|
242
|
+
fork: {
|
|
243
|
+
...existingForkConfiguration,
|
|
194
244
|
...{
|
|
195
|
-
accounts: hardhatAccounts ||
|
|
245
|
+
accounts: hardhatAccounts || existingForkConfiguration?.accounts,
|
|
196
246
|
forking: forkURL
|
|
197
247
|
? {
|
|
198
248
|
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
|