hardhat-deploy 2.0.0-next.6 → 2.0.0-next.61
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 +202 -156
- 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 +106 -72
- 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 +22 -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 +20 -9
- 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 +18 -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 +281 -0
- package/src/helpers.ts +311 -0
- package/src/hook-handlers/config.ts +80 -0
- package/src/hook-handlers/solidity.ts +33 -0
- package/src/index.ts +53 -0
- package/src/tasks/deploy.ts +43 -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 type { Environment, UnresolvedUnknownNamedAccounts, UnresolvedNetworkSpecificData } from 'rocketh/types';
|
|
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/types").EnhancedEnvironment<UnresolvedUnknownNamedAccounts, UnresolvedNetworkSpecificData, import("rocketh/types").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,KAAK,EAAC,WAAW,EAAE,8BAA8B,EAAE,6BAA6B,EAAC,MAAM,eAAe,CAAC;AAI9G,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,53 @@
|
|
|
1
1
|
import { configVariable } from 'hardhat/config';
|
|
2
|
-
import {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
import { enhanceEnvIfNeeded, chainByCanonicalName } from 'rocketh';
|
|
3
|
+
import { loadEnvironmentFromFiles } from '@rocketh/node';
|
|
4
|
+
export function setupHardhatDeploy(extensions) {
|
|
5
|
+
async function loadEnvironmentFromHardhatWithExtensions(required) {
|
|
6
|
+
const env = await loadEnvironmentFromHardhat(required);
|
|
7
|
+
return enhanceEnvIfNeeded(env, extensions);
|
|
8
|
+
}
|
|
9
|
+
return {
|
|
10
|
+
loadEnvironmentFromHardhat: loadEnvironmentFromHardhatWithExtensions,
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export async function generateForkConfig(params) {
|
|
14
|
+
const fork = process.env.HARDHAT_FORK;
|
|
15
|
+
const connection = params.connection || fork
|
|
16
|
+
? await params.hre.network.connect({ network: 'fork' })
|
|
17
|
+
: await params.hre.network.connect();
|
|
5
18
|
let provider = connection.provider;
|
|
6
|
-
let
|
|
19
|
+
let environment = connection.networkName;
|
|
7
20
|
let forkChainId;
|
|
8
|
-
const fork = process.env.HARDHAT_FORK;
|
|
9
21
|
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 = {
|
|
22
|
+
// if (options?.useChainIdOfForkedNetwork) {
|
|
23
|
+
// const forkNetworkConfig = params.hre.config.networks[fork];
|
|
24
|
+
// if (forkNetworkConfig.type === 'edr-simulated') {
|
|
25
|
+
// forkChainId = forkNetworkConfig.chainId;
|
|
26
|
+
// } else if (forkNetworkConfig.chainId) {
|
|
27
|
+
// forkChainId = forkNetworkConfig.chainId;
|
|
28
|
+
// } else {
|
|
29
|
+
// if ('url' in forkNetworkConfig) {
|
|
30
|
+
// const url = await forkNetworkConfig.url.getUrl();
|
|
31
|
+
// const response = await fetch(url, {
|
|
32
|
+
// method: 'POST',
|
|
33
|
+
// headers: {
|
|
34
|
+
// 'Content-Type': 'application/json',
|
|
35
|
+
// },
|
|
36
|
+
// body: JSON.stringify({
|
|
37
|
+
// jsonrpc: '2.0',
|
|
38
|
+
// id: 1,
|
|
39
|
+
// method: 'eth_chainId',
|
|
40
|
+
// params: [],
|
|
41
|
+
// }),
|
|
42
|
+
// });
|
|
43
|
+
// const json = (await response.json()) as {result: string};
|
|
44
|
+
// forkChainId = Number(json.result);
|
|
45
|
+
// } else {
|
|
46
|
+
// throw new Error(`cannot fetch chainId`);
|
|
47
|
+
// }
|
|
48
|
+
// }
|
|
49
|
+
// }
|
|
50
|
+
environment = {
|
|
42
51
|
fork,
|
|
43
52
|
};
|
|
44
53
|
}
|
|
@@ -62,18 +71,38 @@ export async function loadEnvironmentFromHardhat({ hre, context }, options) {
|
|
|
62
71
|
},
|
|
63
72
|
});
|
|
64
73
|
}
|
|
65
|
-
return
|
|
74
|
+
return { provider, environment, connection, isFork: !!fork };
|
|
75
|
+
}
|
|
76
|
+
export async function loadEnvironmentFromHardhat(params) {
|
|
77
|
+
const { connection, environment, provider, isFork } = await generateForkConfig(params);
|
|
78
|
+
// console.log(`loading environments...`);
|
|
79
|
+
return loadEnvironmentFromFiles({
|
|
66
80
|
provider,
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
81
|
+
environment,
|
|
82
|
+
extra: {
|
|
83
|
+
connection,
|
|
84
|
+
},
|
|
85
|
+
saveDeployments: isFork ? false : undefined,
|
|
86
|
+
});
|
|
70
87
|
}
|
|
71
|
-
|
|
72
|
-
|
|
88
|
+
function getVariable(prefix, name) {
|
|
89
|
+
// We transform dash into underscore as dash are not supported everywhere in env var names
|
|
90
|
+
const variableName = (prefix + name).replaceAll('-', '_');
|
|
73
91
|
let uri = process.env[variableName];
|
|
74
92
|
if (uri === 'SECRET') {
|
|
75
93
|
return configVariable(`SECRET_${variableName}`);
|
|
76
94
|
}
|
|
95
|
+
else if (uri?.startsWith('SECRET:')) {
|
|
96
|
+
const splitted = uri.split(':');
|
|
97
|
+
if (splitted.length !== 2) {
|
|
98
|
+
throw new Error(`invalid secret uri ${uri}`);
|
|
99
|
+
}
|
|
100
|
+
return configVariable(`SECRET_${prefix + splitted[1]}`);
|
|
101
|
+
}
|
|
102
|
+
return uri;
|
|
103
|
+
}
|
|
104
|
+
export function getRPC(networkName) {
|
|
105
|
+
let uri = getVariable('ETH_NODE_URI_', networkName);
|
|
77
106
|
if (uri && uri !== '') {
|
|
78
107
|
return uri;
|
|
79
108
|
}
|
|
@@ -93,25 +122,28 @@ export function getRPC(networkName) {
|
|
|
93
122
|
}
|
|
94
123
|
return uri;
|
|
95
124
|
}
|
|
96
|
-
export function getMnemonic(networkName) {
|
|
125
|
+
export function getMnemonic(networkName, doNotDefault) {
|
|
97
126
|
if (networkName) {
|
|
98
|
-
const
|
|
99
|
-
const mnemonic = process.env[variableName];
|
|
100
|
-
if (mnemonic === 'SECRET') {
|
|
101
|
-
return configVariable(`SECRET_${variableName}`);
|
|
102
|
-
}
|
|
127
|
+
const mnemonic = getVariable('MNEMONIC_', networkName);
|
|
103
128
|
if (mnemonic && mnemonic !== '') {
|
|
104
129
|
return mnemonic;
|
|
105
130
|
}
|
|
106
131
|
}
|
|
107
132
|
const mnemonic = process.env.MNEMONIC;
|
|
108
133
|
if (!mnemonic || mnemonic === '') {
|
|
134
|
+
if (doNotDefault) {
|
|
135
|
+
return undefined;
|
|
136
|
+
}
|
|
109
137
|
return 'test test test test test test test test test test test junk';
|
|
110
138
|
}
|
|
111
139
|
return mnemonic;
|
|
112
140
|
}
|
|
113
|
-
export function getAccounts(networkName) {
|
|
114
|
-
|
|
141
|
+
export function getAccounts(networkName, doNotDefault) {
|
|
142
|
+
const mnemonic = getMnemonic(networkName, doNotDefault);
|
|
143
|
+
if (!mnemonic) {
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
return { mnemonic };
|
|
115
147
|
}
|
|
116
148
|
export function addNetworksFromEnv(networks) {
|
|
117
149
|
const newNetworks = networks ? { ...networks } : {};
|
|
@@ -139,29 +171,30 @@ export function addNetworksFromEnv(networks) {
|
|
|
139
171
|
}
|
|
140
172
|
return newNetworks;
|
|
141
173
|
}
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
else {
|
|
151
|
-
const url = getRPC(networkName);
|
|
174
|
+
const listOfNetworkNamesWithTestAccountAllowed = ['hardhat', 'localhost', 'memory', 'test'];
|
|
175
|
+
export function addNetworksFromKnownList(networks) {
|
|
176
|
+
const newNetworks = networks ? { ...networks } : {};
|
|
177
|
+
const canonicalNames = Object.keys(chainByCanonicalName);
|
|
178
|
+
for (const canonicalName of canonicalNames) {
|
|
179
|
+
const chain = chainByCanonicalName[canonicalName];
|
|
180
|
+
const url = getRPC(canonicalName) || chain.rpcUrls.default.http[0];
|
|
181
|
+
if (!newNetworks[canonicalName]) {
|
|
152
182
|
if (url) {
|
|
153
|
-
newNetworks[
|
|
154
|
-
|
|
183
|
+
newNetworks[canonicalName] = {
|
|
184
|
+
type: 'http',
|
|
155
185
|
url,
|
|
156
|
-
accounts: getAccounts(
|
|
186
|
+
accounts: getAccounts(canonicalName, !listOfNetworkNamesWithTestAccountAllowed.includes(canonicalName)),
|
|
187
|
+
chainType: chain.chainType === 'op-stack' ? 'op' : undefined,
|
|
188
|
+
chainId: chain.id,
|
|
157
189
|
};
|
|
158
190
|
}
|
|
159
191
|
else {
|
|
160
|
-
|
|
161
|
-
console.error(`no url for network ${networkName}`);
|
|
162
|
-
}
|
|
192
|
+
console.error(`no url for chain ${canonicalName}`);
|
|
163
193
|
}
|
|
164
194
|
}
|
|
195
|
+
else {
|
|
196
|
+
// console.error(`duplicated chain ${canonicalName}`);
|
|
197
|
+
}
|
|
165
198
|
}
|
|
166
199
|
return newNetworks;
|
|
167
200
|
}
|
|
@@ -172,6 +205,7 @@ export function addForkConfiguration(networks) {
|
|
|
172
205
|
if (currentNetworkName &&
|
|
173
206
|
currentNetworkName !== 'hardhat' &&
|
|
174
207
|
currentNetworkName !== 'edr' &&
|
|
208
|
+
currentNetworkName !== 'edr-simulated' &&
|
|
175
209
|
currentNetworkName !== 'memory') {
|
|
176
210
|
const currentNetwork = networks[currentNetworkName];
|
|
177
211
|
if (currentNetwork) {
|
|
@@ -191,13 +225,13 @@ export function addForkConfiguration(networks) {
|
|
|
191
225
|
}
|
|
192
226
|
}
|
|
193
227
|
}
|
|
194
|
-
const
|
|
228
|
+
const existingForkConfiguration = networks.fork && networks.fork.type === 'edr-simulated' ? networks.fork : { type: 'edr-simulated', chainType: 'l1' };
|
|
195
229
|
const newNetworks = {
|
|
196
|
-
...
|
|
197
|
-
|
|
198
|
-
...
|
|
230
|
+
...networks,
|
|
231
|
+
fork: {
|
|
232
|
+
...existingForkConfiguration,
|
|
199
233
|
...{
|
|
200
|
-
accounts: hardhatAccounts ||
|
|
234
|
+
accounts: hardhatAccounts || existingForkConfiguration?.accounts,
|
|
201
235
|
forking: forkURL
|
|
202
236
|
? {
|
|
203
237
|
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":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,yBAAyB,CAAC;AAClD,OAAO,EAAC,2BAA2B,EAAC,MAAM,yBAAyB,CAAC;AAGpE,SAAS,eAAe,CAAC,KAAe,EAAE,KAAa;IACtD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnB,CAAC;AACF,CAAC;AACD,SAAS,sBAAsB,CAAC,QAG/B;IACA,QAAQ,CAAC,QAAQ,GAAG,QAAQ,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC5C,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,GAAG,IAAI,CAAC;IAE3C,IAAI,QAAQ,CAAC,eAAe,KAAK,SAAS,EAAE,CAAC;QAC5C,QAAQ,CAAC,eAAe,GAAG;YAC1B,GAAG,EAAE;gBACJ,GAAG,EAAE,EAAE;gBACP,EAAE,EAAE,EAAE;aACN;SACD,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACjD,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG;YAC/B,GAAG,EAAE,EAAE;YACP,EAAE,EAAE,EAAE;SACN,CAAC;IACH,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;QACtD,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC;IACzC,CAAC;IACD,IAAI,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,SAAS,EAAE,CAAC;QACrD,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC;IACxC,CAAC;IAED,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,KAAK,CAAC,CAAC;IAC3D,uEAAuE;IACvE,+EAA+E;IAC/E,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,UAAU,CAAC,CAAC;IAChE,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,QAAQ,CAAC,CAAC;IAC9D,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC,CAAC;IAC/D,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,eAAe,CAAC,CAAC;IACrE,gFAAgF;IAChF,eAAe,CAAC,QAAQ,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,kBAAkB,CAAC,CAAC;IACxE,4DAA4D;IAC5D,qEAAqE;IACrE,6DAA6D;AAC9D,CAAC;AAED,eAAe,KAAK,IAAmC,EAAE;IACxD,MAAM,QAAQ,GAAyB;QACtC,kBAAkB,EAAE,2BAA2B;QAC/C,iBAAiB,EAAE,KAAK,EAAE,UAAU,EAAE,4BAA4B,EAAE,IAAI,EAAE,EAAE;YAC3E,MAAM,cAAc,GAAG,MAAM,IAAI,CAAC,UAAU,EAAE,4BAA4B,CAAC,CAAC;YAE5E,MAAM,QAAQ,GAAmB,eAAe,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;YAC1E,MAAM,QAAQ,GAA+C,QAAQ,CAAC,QAAQ,CAAC;YAC/E,KAAK,MAAM,WAAW,IAAI,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACjD,MAAM,OAAO,GAA+B,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAClE,MAAM,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;gBACpC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;oBAClC,MAAM,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC;oBACnC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBAClC,CAAC;YACF,CAAC;YAED,OAAO;gBACN,GAAG,cAAc;gBACjB,QAAQ;gBACR,sBAAsB,EAAE,SAAS,CAAC,UAAU,CAAC,sBAAsB,CAAC;aACpE,CAAC;QACH,CAAC;KACD,CAAC;IAEF,OAAO,QAAQ,CAAC;AACjB,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"solidity.d.ts","sourceRoot":"","sources":["../../../src/hook-handlers/solidity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAc,aAAa,EAAC,MAAM,qBAAqB,CAAC;
|
|
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 type { Environment } from 'rocketh/types';
|
|
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":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,aAAa,EAAC,MAAM,uBAAuB,CAAC;AAGzD,OAAO,sBAAsB,CAAC;AAE9B,OAAO,KAAK,EAAC,WAAW,EAAC,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAC,iBAAiB,EAAC,MAAM,uBAAuB,CAAC;AAU7D,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
|
@@ -1,13 +1,18 @@
|
|
|
1
|
+
import { setupLogger } from 'named-logs-console';
|
|
1
2
|
import { task } from 'hardhat/config';
|
|
2
3
|
import './type-extensions.js';
|
|
3
4
|
import { ArgumentType } from 'hardhat/types/arguments';
|
|
4
5
|
// const deployTask = import.meta.resolve('./tasks/deploy.js').replace('.ts', '.js');
|
|
5
6
|
// console.log({deployTask});
|
|
7
|
+
setupLogger(['rocketh', '@rocketh/node'], {
|
|
8
|
+
enabled: true,
|
|
9
|
+
level: 3,
|
|
10
|
+
});
|
|
6
11
|
const hardhatPlugin = {
|
|
7
|
-
id: '
|
|
12
|
+
id: 'hardhat-deploy',
|
|
8
13
|
hookHandlers: {
|
|
9
|
-
config: import
|
|
10
|
-
solidity: import
|
|
14
|
+
config: () => import('./hook-handlers/config.js'),
|
|
15
|
+
solidity: () => import('./hook-handlers/solidity.js'),
|
|
11
16
|
},
|
|
12
17
|
tasks: [
|
|
13
18
|
task('deploy', 'Deploy contracts')
|
|
@@ -19,10 +24,22 @@ const hardhatPlugin = {
|
|
|
19
24
|
defaultValue: '',
|
|
20
25
|
type: ArgumentType.STRING,
|
|
21
26
|
})
|
|
22
|
-
.
|
|
27
|
+
.addOption({
|
|
28
|
+
name: 'tags',
|
|
29
|
+
description: 'specify which tags to deploy',
|
|
30
|
+
defaultValue: '',
|
|
31
|
+
type: ArgumentType.STRING,
|
|
32
|
+
})
|
|
33
|
+
.setAction(() => import('./tasks/deploy.js'))
|
|
23
34
|
.build(),
|
|
24
35
|
],
|
|
25
|
-
npmPackage: '
|
|
36
|
+
npmPackage: 'hardhat-deploy',
|
|
26
37
|
};
|
|
27
38
|
export default hardhatPlugin;
|
|
39
|
+
export function getHardhatConnection(env) {
|
|
40
|
+
if (!env.extra?.connection) {
|
|
41
|
+
throw new Error('Hardhat deploy connection not found in the environment');
|
|
42
|
+
}
|
|
43
|
+
return env.extra.connection;
|
|
44
|
+
}
|
|
28
45
|
//# 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":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAC,IAAI,EAAC,MAAM,gBAAgB,CAAC;AAEpC,OAAO,sBAAsB,CAAC;AAC9B,OAAO,EAAC,YAAY,EAAC,MAAM,yBAAyB,CAAC;AAIrD,qFAAqF;AACrF,6BAA6B;AAE7B,WAAW,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;IACzC,OAAO,EAAE,IAAI;IACb,KAAK,EAAE,CAAC;CACR,CAAC,CAAC;AAEH,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;AAK1D,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,CA8BnE,CAAC;AACF,eAAe,oBAAoB,CAAC"}
|
package/dist/esm/tasks/deploy.js
CHANGED
|
@@ -1,20 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { loadAndExecuteDeploymentsFromFiles } from '@rocketh/node';
|
|
2
|
+
import { generateForkConfig } from '../helpers.js';
|
|
3
|
+
import { setupLogger } from 'named-logs-console';
|
|
2
4
|
const runScriptWithHardhat = async (args, hre) => {
|
|
3
|
-
let saveDeployments =
|
|
5
|
+
let saveDeployments = true;
|
|
4
6
|
let skipPrompts = args.skipPrompts ? true : false;
|
|
5
|
-
const connection = await hre
|
|
6
|
-
const isMemoryNetwork = connection.networkConfig.type == 'edr';
|
|
7
|
+
const { connection, environment, isFork, provider } = await generateForkConfig({ hre });
|
|
8
|
+
const isMemoryNetwork = connection.networkConfig.type == 'edr-simulated';
|
|
7
9
|
if (isMemoryNetwork) {
|
|
8
10
|
skipPrompts = true;
|
|
9
11
|
saveDeployments = false;
|
|
10
12
|
}
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
13
|
+
if (args.saveDeployments != '') {
|
|
14
|
+
saveDeployments = args.saveDeployments == 'true' ? true : false;
|
|
15
|
+
}
|
|
16
|
+
const tags = args.tags && args.tags != '' ? args.tags : undefined;
|
|
17
|
+
setupLogger(['rocketh', '@rocketh/node'], {
|
|
18
|
+
enabled: true,
|
|
19
|
+
level: 3,
|
|
20
|
+
});
|
|
21
|
+
await loadAndExecuteDeploymentsFromFiles({
|
|
22
|
+
provider,
|
|
23
|
+
environment: environment,
|
|
24
|
+
saveDeployments: isFork ? false : saveDeployments,
|
|
16
25
|
askBeforeProceeding: skipPrompts ? false : true,
|
|
26
|
+
tags: tags?.split(','),
|
|
17
27
|
// reportGasUse: args.skipGasReport ? false : true,
|
|
28
|
+
extra: { connection },
|
|
18
29
|
});
|
|
19
30
|
};
|
|
20
31
|
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,kCAAkC,EAAC,MAAM,eAAe,CAAC;AACjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,eAAe,CAAC;AACjD,OAAO,EAAC,WAAW,EAAC,MAAM,oBAAoB,CAAC;AAQ/C,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,WAAW,CAAC,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE;QACzC,OAAO,EAAE,IAAI;QACb,KAAK,EAAE,CAAC;KACR,CAAC,CAAC;IAEH,MAAM,kCAAkC,CAAC;QACxC,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"}
|