rocketh 0.11.1 → 0.11.3

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.
@@ -7,21 +7,52 @@ import { getRoughGasPriceEstimate } from '../utils/eth.js';
7
7
  import prompts from 'prompts';
8
8
  import { formatEther } from 'viem';
9
9
  import { tsImport } from 'tsx/esm/api';
10
- export function execute(context, callback, options) {
10
+ export function execute(callback, options) {
11
11
  const scriptModule = (env, args) => callback(env, args);
12
- scriptModule.providedContext = context;
13
12
  scriptModule.tags = options.tags;
14
13
  scriptModule.dependencies = options.dependencies;
15
- // TODO id + skip
14
+ scriptModule.id = options.id;
15
+ // TODO runAtTheEnd ?
16
16
  return scriptModule;
17
17
  }
18
- export function readConfig(options) {
18
+ export async function readConfig(options) {
19
19
  let configFile;
20
- try {
21
- const configString = fs.readFileSync('./rocketh.json', 'utf-8');
22
- configFile = JSON.parse(configString);
20
+ // TODO more sophisticated config file finding mechanism (look up parents, etc..)
21
+ const tsFilePath = path.join(process.cwd(), 'rocketh.ts');
22
+ const jsFilePath = path.join(process.cwd(), 'rocketh.js');
23
+ const jsonFilePath = path.join(process.cwd(), 'rocketh.json');
24
+ const tsVersionExists = fs.existsSync(tsFilePath);
25
+ const jsVersionExists = fs.existsSync(jsFilePath);
26
+ const jsonVersionExists = fs.existsSync(jsonFilePath);
27
+ const existingConfigs = [tsVersionExists, jsVersionExists, jsonVersionExists].filter(Boolean).length;
28
+ // console.log({tsFilePath, tsVersionExists, existingConfigs});
29
+ // Throw error if multiple config files exist
30
+ if (existingConfigs > 1) {
31
+ throw new Error('Multiple configuration files found. Please use only one of: rocketh.ts, rocketh.js, or rocketh.json');
32
+ }
33
+ if (tsVersionExists) {
34
+ const moduleLoaded = await tsImport(tsFilePath, import.meta.url);
35
+ configFile = moduleLoaded.config;
36
+ // console.log({tsVersionExists: configFile});
37
+ // if ((configFile as any).default) {
38
+ // configFile = (configFile as any).default as ConfigFile;
39
+ // if ((configFile as any).default) {
40
+ // logger.warn(`double default...`);
41
+ // configFile = (configFile as any).default as ConfigFile;
42
+ // }
43
+ // }
44
+ }
45
+ else if (jsVersionExists) {
46
+ const moduleLoaded = await tsImport(jsFilePath, import.meta.url);
47
+ configFile = moduleLoaded.config;
48
+ }
49
+ else if (jsonVersionExists) {
50
+ try {
51
+ const configString = fs.readFileSync(jsonFilePath, 'utf-8');
52
+ configFile = JSON.parse(configString);
53
+ }
54
+ catch { }
23
55
  }
24
- catch { }
25
56
  if (configFile) {
26
57
  if (!options.deployments && configFile.deployments) {
27
58
  options.deployments = configFile.deployments;
@@ -97,6 +128,7 @@ export function readConfig(options) {
97
128
  logLevel: options.logLevel,
98
129
  askBeforeProceeding: options.askBeforeProceeding,
99
130
  reportGasUse: options.reportGasUse,
131
+ accounts: configFile?.accounts,
100
132
  };
101
133
  }
102
134
  else {
@@ -114,36 +146,39 @@ export function readConfig(options) {
114
146
  logLevel: options.logLevel,
115
147
  askBeforeProceeding: options.askBeforeProceeding,
116
148
  reportGasUse: options.reportGasUse,
149
+ accounts: configFile?.accounts,
117
150
  };
118
151
  }
119
152
  }
120
- export function readAndResolveConfig(options) {
121
- return resolveConfig(readConfig(options));
153
+ export async function readAndResolveConfig(options) {
154
+ return resolveConfig(await readConfig(options));
122
155
  }
123
156
  export function resolveConfig(config) {
124
157
  const resolvedConfig = {
125
158
  ...config,
126
- network: config.network, // TODO default to || {name: 'memory'....}
159
+ network: config.network,
127
160
  deployments: config.deployments || 'deployments',
128
161
  scripts: config.scripts || 'deploy',
129
162
  tags: config.tags || [],
130
163
  networkTags: config.networkTags || [],
131
164
  saveDeployments: config.saveDeployments,
165
+ accounts: config.accounts || {},
132
166
  };
133
167
  return resolvedConfig;
134
168
  }
135
- export async function loadEnvironment(options, context) {
136
- const resolvedConfig = readAndResolveConfig(options);
137
- const { external, internal } = await createEnvironment(resolvedConfig, context);
169
+ export async function loadEnvironment(options) {
170
+ const resolvedConfig = await readAndResolveConfig(options);
171
+ // console.log(JSON.stringify(resolvedConfig, null, 2));
172
+ const { external, internal } = await createEnvironment(resolvedConfig);
138
173
  return external;
139
174
  }
140
- export async function loadAndExecuteDeployments(options, context, args) {
141
- const resolvedConfig = readAndResolveConfig(options);
175
+ export async function loadAndExecuteDeployments(options, args) {
176
+ const resolvedConfig = await readAndResolveConfig(options);
142
177
  // console.log(JSON.stringify(options, null, 2));
143
178
  // console.log(JSON.stringify(resolvedConfig, null, 2));
144
- return executeDeployScripts(resolvedConfig, context, args);
179
+ return executeDeployScripts(resolvedConfig, args);
145
180
  }
146
- export async function executeDeployScripts(config, context, args) {
181
+ export async function executeDeployScripts(config, args) {
147
182
  setLogLevel(typeof config.logLevel === 'undefined' ? 0 : config.logLevel);
148
183
  let filepaths;
149
184
  filepaths = traverseMultipleDirectory([config.scripts]);
@@ -158,8 +193,6 @@ export async function executeDeployScripts(config, context, args) {
158
193
  }
159
194
  return 0;
160
195
  });
161
- let providedContext = context;
162
- const providedFromArguments = !!providedContext;
163
196
  const scriptModuleByFilePath = {};
164
197
  const scriptPathBags = {};
165
198
  const scriptFilePaths = [];
@@ -168,6 +201,10 @@ export async function executeDeployScripts(config, context, args) {
168
201
  let scriptModule;
169
202
  try {
170
203
  scriptModule = await tsImport(scriptFilePath, import.meta.url);
204
+ // console.log({
205
+ // scriptFilePath,
206
+ // scriptModule,
207
+ // });
171
208
  if (scriptModule.default) {
172
209
  scriptModule = scriptModule.default;
173
210
  if (scriptModule.default) {
@@ -176,12 +213,6 @@ export async function executeDeployScripts(config, context, args) {
176
213
  }
177
214
  }
178
215
  scriptModuleByFilePath[scriptFilePath] = scriptModule;
179
- if (!providedFromArguments) {
180
- if (providedContext && providedContext !== scriptModule.providedContext) {
181
- throw new Error(`context between 2 scripts is different, please share the same across them`);
182
- }
183
- providedContext = scriptModule.providedContext;
184
- }
185
216
  }
186
217
  catch (e) {
187
218
  logger.error(`could not import ${filepath}`);
@@ -222,10 +253,7 @@ export async function executeDeployScripts(config, context, args) {
222
253
  scriptFilePaths.push(scriptFilePath);
223
254
  }
224
255
  }
225
- if (!providedContext) {
226
- throw new Error(`no context loaded`);
227
- }
228
- const { internal, external } = await createEnvironment(config, providedContext);
256
+ const { internal, external } = await createEnvironment(config);
229
257
  await internal.recoverTransactionsIfAny();
230
258
  const scriptsRegisteredToRun = {};
231
259
  const scriptsToRun = [];
@@ -284,23 +312,22 @@ Do you want to proceed (note that gas price can change for each tx)`,
284
312
  for (const deployScript of scriptsToRun.concat(scriptsToRunAtTheEnd)) {
285
313
  const filename = path.basename(deployScript.filePath);
286
314
  const relativeFilepath = path.relative('.', deployScript.filePath);
287
- // if (deployScript.func.id && this.db.migrations[deployScript.func.id]) {
288
- // logger.info(`skipping ${filename} as migrations already executed and complete`);
289
- // continue;
290
- // }
315
+ if (deployScript.func.id && external.hasMigrationBeenDone(deployScript.func.id)) {
316
+ logger.info(`skipping ${filename} as migrations already executed and complete`);
317
+ continue;
318
+ }
291
319
  let skip = false;
292
320
  const spinner = spin(`- Executing ${filename}`);
293
- if (deployScript.func.skip) {
294
- const spinner = spin(` - skip?()`);
295
- try {
296
- skip = await deployScript.func.skip(external, args);
297
- spinner.succeed(skip ? `skipping ${filename}` : undefined);
298
- }
299
- catch (e) {
300
- spinner.fail();
301
- throw e;
302
- }
303
- }
321
+ // if (deployScript.func.skip) {
322
+ // const spinner = spin(` - skip?()`);
323
+ // try {
324
+ // skip = await deployScript.func.skip(external, args);
325
+ // spinner.succeed(skip ? `skipping ${filename}` : undefined);
326
+ // } catch (e) {
327
+ // spinner.fail();
328
+ // throw e;
329
+ // }
330
+ // }
304
331
  if (!skip) {
305
332
  let result;
306
333
  try {
@@ -312,27 +339,10 @@ Do you want to proceed (note that gas price can change for each tx)`,
312
339
  throw e;
313
340
  }
314
341
  if (result && typeof result === 'boolean') {
315
- // if (!deployScript.func.id) {
316
- // throw new Error(
317
- // `${deployScript.filePath} return true to not be executed again, but does not provide an id. the script function needs to have the field "id" to be set`
318
- // );
319
- // }
320
- // this.db.migrations[deployScript.func.id] = Math.floor(Date.now() / 1000);
321
- const deploymentFolderPath = config.deployments;
322
- // TODO refactor to extract this whole path and folder existence stuff
323
- // const toSave = this.db.writeDeploymentsToFiles && this.network.saveDeployments;
324
- // if (toSave) {
325
- // try {
326
- // fs.mkdirSync(this.deploymentsPath);
327
- // } catch (e) {}
328
- // try {
329
- // fs.mkdirSync(path.join(this.deploymentsPath, deploymentFolderPath));
330
- // } catch (e) {}
331
- // fs.writeFileSync(
332
- // path.join(this.deploymentsPath, deploymentFolderPath, '.migrations.json'),
333
- // JSON.stringify(this.db.migrations, null, ' ')
334
- // );
335
- // }
342
+ if (!deployScript.func.id) {
343
+ throw new Error(`${deployScript.filePath} return true to not be executed again, but does not provide an id. the script function needs to have the field "id" to be set`);
344
+ }
345
+ internal.recordMigration(deployScript.func.id);
336
346
  }
337
347
  }
338
348
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAC,MAAM,gBAAgB,CAAC;AACzD,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,MAAM,SAAS,CAAC;AAUzB,OAAO,EAAC,iBAAiB,EAAC,MAAM,yBAAyB,CAAC;AAE1D,OAAO,EAAC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAC,MAAM,wBAAwB,CAAC;AAEjE,OAAO,EAAC,wBAAwB,EAAC,MAAM,iBAAiB,CAAC;AACzD,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAC,WAAW,EAAC,MAAM,MAAM,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,aAAa,CAAC;AAErC,MAAM,UAAU,OAAO,CAMtB,OAAkD,EAClD,QAA2G,EAC3G,OAAmD;IAEnD,MAAM,YAAY,GAAG,CACpB,GAA8E,EAC9E,IAAoB,EACnB,EAAE,CAAC,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACzB,YAAY,CAAC,eAAe,GAAG,OAAO,CAAC;IACvC,YAAY,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;IACjC,YAAY,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IACjD,iBAAiB;IACjB,OAAO,YAAmG,CAAC;AAC5G,CAAC;AAuBD,MAAM,UAAU,UAAU,CAAC,OAAsB;IAGhD,IAAI,UAAkC,CAAC;IACvC,IAAI,CAAC;QACJ,MAAM,YAAY,GAAG,EAAE,CAAC,YAAY,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAChE,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IAEV,IAAI,UAAU,EAAE,CAAC;QAChB,IAAI,CAAC,OAAO,CAAC,WAAW,IAAI,UAAU,CAAC,WAAW,EAAE,CAAC;YACpD,OAAO,CAAC,WAAW,GAAG,UAAU,CAAC,WAAW,CAAC;QAC9C,CAAC;QACD,IAAI,CAAC,OAAO,CAAC,OAAO,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC;QACtC,CAAC;IACF,CAAC;IAED,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAC/D,MAAM,IAAI,GAAG,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,CAAC;IACjD,IAAI,WAAW,GAAG,QAAQ,CAAC;IAC3B,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;QACrB,IAAI,OAAO,OAAO,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;YACzC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC;QAC/B,CAAC;aAAM,IAAI,MAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;YACtC,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC;QACpC,CAAC;IACF,CAAC;IAED,IAAI,WAAW,GAAa,CAAC,UAAU,EAAE,QAAQ,IAAI,UAAU,EAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC;IACpG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACvB,IAAI,OAAe,CAAC;QACpB,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;YACjC,OAAO,GAAG,OAAO,CAAC;QACnB,CAAC;aAAM,CAAC;YACP,IAAI,UAAU,EAAE,CAAC;gBAChB,MAAM,OAAO,GAAG,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBACxE,IAAI,OAAO,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;oBAC/B,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC1B,CAAC;qBAAM,CAAC;oBACP,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;wBAC/B,OAAO,GAAG,EAAE,CAAC;oBACd,CAAC;yBAAM,CAAC;wBACP,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;4BACrC,OAAO,GAAG,uBAAuB,CAAC;wBACnC,CAAC;6BAAM,CAAC;4BACP,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,OAAO,6DAA6D,CAAC,CAAC;4BACxG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACjB,CAAC;oBACF,CAAC;gBACF,CAAC;YACF,CAAC;iBAAM,CAAC;gBACP,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;oBAC/B,OAAO,GAAG,EAAE,CAAC;gBACd,CAAC;qBAAM,CAAC;oBACP,IAAI,OAAO,CAAC,OAAO,KAAK,WAAW,EAAE,CAAC;wBACrC,OAAO,GAAG,uBAAuB,CAAC;oBACnC,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,KAAK,CAAC,YAAY,OAAO,CAAC,OAAO,6DAA6D,CAAC,CAAC;wBACxG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QACD,OAAO;YACN,OAAO,EAAE;gBACR,OAAO;gBACP,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW;gBACjB,IAAI;aACJ;YACD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/E,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC;IACH,CAAC;SAAM,CAAC;QACP,OAAO;YACN,OAAO,EAAE;gBACR,QAAQ,EAAE,OAAO,CAAC,QAAwC;gBAC1D,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW;gBACjB,IAAI;aACJ;YACD,WAAW,EAAE,OAAO,CAAC,WAAW;YAChC,eAAe,EAAE,OAAO,CAAC,eAAe;YACxC,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,OAAO,CAAC,IAAI,KAAK,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/E,QAAQ,EAAE,OAAO,CAAC,QAAQ;YAC1B,mBAAmB,EAAE,OAAO,CAAC,mBAAmB;YAChD,YAAY,EAAE,OAAO,CAAC,YAAY;SAClC,CAAC;IACH,CAAC;AACF,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,OAAsB;IAC1D,OAAO,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC;AAC3C,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,MAAc;IAC3C,MAAM,cAAc,GAAmB;QACtC,GAAG,MAAM;QACT,OAAO,EAAE,MAAM,CAAC,OAAO,EAAE,0CAA0C;QACnE,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,aAAa;QAChD,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,QAAQ;QACnC,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,EAAE;QACvB,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE;QACrC,eAAe,EAAE,MAAM,CAAC,eAAe;KACvC,CAAC;IACF,OAAO,cAAc,CAAC;AACvB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,eAAe,CAIpC,OAAsB,EACtB,OAAkD;IAElD,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,MAAM,iBAAiB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC9E,OAAO,QAAQ,CAAC;AACjB,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAK9C,OAAsB,EACtB,OAAmD,EACnD,IAAoB;IAEpB,MAAM,cAAc,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IACrD,iDAAiD;IACjD,wDAAwD;IACxD,OAAO,oBAAoB,CAA0C,cAAc,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;AACrG,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAKzC,MAAsB,EACtB,OAAmD,EACnD,IAAoB;IAEpB,WAAW,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE1E,IAAI,SAAS,CAAC;IACd,SAAS,GAAG,yBAAyB,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC;IACxD,SAAS,GAAG,SAAS;SACnB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SAChD,IAAI,CAAC,CAAC,CAAS,EAAE,CAAS,EAAE,EAAE;QAC9B,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,CAAC,CAAC;QACX,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACX,OAAO,CAAC,CAAC;QACV,CAAC;QACD,OAAO,CAAC,CAAC;IACV,CAAC,CAAC,CAAC;IAEJ,IAAI,eAAe,GAA0D,OAAO,CAAC;IACrF,MAAM,qBAAqB,GAAG,CAAC,CAAC,eAAe,CAAC;IAEhD,MAAM,sBAAsB,GAAsF,EAAE,CAAC;IACrH,MAAM,cAAc,GAA8B,EAAE,CAAC;IACrD,MAAM,eAAe,GAAa,EAAE,CAAC;IAErC,KAAK,MAAM,QAAQ,IAAI,SAAS,EAAE,CAAC;QAClC,MAAM,cAAc,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,IAAI,YAAyE,CAAC;QAC9E,IAAI,CAAC;YACJ,YAAY,GAAG,MAAM,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/D,IAAK,YAAoB,CAAC,OAAO,EAAE,CAAC;gBACnC,YAAY,GAAI,YAAoB,CAAC,OAAsE,CAAC;gBAC5G,IAAK,YAAoB,CAAC,OAAO,EAAE,CAAC;oBACnC,MAAM,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;oBACjC,YAAY,GAAI,YAAoB,CAAC,OAAsE,CAAC;gBAC7G,CAAC;YACF,CAAC;YACD,sBAAsB,CAAC,cAAc,CAAC,GAAG,YAAY,CAAC;YACtD,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC5B,IAAI,eAAe,IAAI,eAAe,KAAK,YAAY,CAAC,eAAe,EAAE,CAAC;oBACzE,MAAM,IAAI,KAAK,CAAC,2EAA2E,CAAC,CAAC;gBAC9F,CAAC;gBACD,eAAe,GAAG,YAAY,CAAC,eAA4D,CAAC;YAC7F,CAAC;QACF,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACZ,MAAM,CAAC,KAAK,CAAC,oBAAoB,QAAQ,EAAE,CAAC,CAAC;YAC7C,MAAM,CAAC,CAAC;QACT,CAAC;QAED,IAAI,UAAU,GAAG,YAAY,CAAC,IAAI,CAAC;QACnC,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC9B,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;gBACpC,UAAU,GAAG,CAAC,UAAU,CAAC,CAAC;YAC3B,CAAC;YACD,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;gBAC9B,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC3B,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;gBAC/C,CAAC;gBACD,MAAM,GAAG,GAAG,cAAc,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACtC,cAAc,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;gBAC1B,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;QAED,IAAI,MAAM,CAAC,IAAI,KAAK,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACzD,IAAI,KAAK,GAAG,KAAK,CAAC;YAClB,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;gBAC9B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;oBACrC,KAAK,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;wBAC9B,IAAI,GAAG,KAAK,SAAS,EAAE,CAAC;4BACvB,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;4BACrC,KAAK,GAAG,IAAI,CAAC;4BACb,MAAM;wBACP,CAAC;oBACF,CAAC;oBACD,IAAI,KAAK,EAAE,CAAC;wBACX,MAAM;oBACP,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;aAAM,CAAC;YACP,eAAe,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QACtC,CAAC;IACF,CAAC;IAED,IAAI,CAAC,eAAe,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;IACtC,CAAC;IAED,MAAM,EAAC,QAAQ,EAAE,QAAQ,EAAC,GAAG,MAAM,iBAAiB,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;IAE9E,MAAM,QAAQ,CAAC,wBAAwB,EAAE,CAAC;IAE1C,MAAM,sBAAsB,GAAkC,EAAE,CAAC;IACjE,MAAM,YAAY,GAGb,EAAE,CAAC;IACR,MAAM,oBAAoB,GAGrB,EAAE,CAAC;IACR,SAAS,mBAAmB,CAAC,cAAsB;QAClD,IAAI,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC5C,OAAO;QACR,CAAC;QACD,MAAM,YAAY,GAAG,sBAAsB,CAAC,cAAc,CAAC,CAAC;QAC5D,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;YAC/B,KAAK,MAAM,UAAU,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;gBACpD,MAAM,oBAAoB,GAAG,cAAc,CAAC,UAAU,CAAC,CAAC;gBACxD,IAAI,oBAAoB,EAAE,CAAC;oBAC1B,KAAK,MAAM,mBAAmB,IAAI,oBAAoB,EAAE,CAAC;wBACxD,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;oBAC1C,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;QACD,IAAI,CAAC,sBAAsB,CAAC,cAAc,CAAC,EAAE,CAAC;YAC7C,IAAI,YAAY,CAAC,WAAW,EAAE,CAAC;gBAC9B,oBAAoB,CAAC,IAAI,CAAC;oBACzB,QAAQ,EAAE,cAAc;oBACxB,IAAI,EAAE,YAAY;iBAClB,CAAC,CAAC;YACJ,CAAC;iBAAM,CAAC;gBACP,YAAY,CAAC,IAAI,CAAC;oBACjB,QAAQ,EAAE,cAAc;oBACxB,IAAI,EAAE,YAAY;iBAClB,CAAC,CAAC;YACJ,CAAC;YACD,sBAAsB,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QAC/C,CAAC;IACF,CAAC;IACD,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;QAC9C,mBAAmB,CAAC,cAAc,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,MAAM,CAAC,mBAAmB,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CACV,YAAY,QAAQ,CAAC,OAAO,CAAC,IAAI,iBAAiB,QAAQ,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,gBAAgB,MAAM,CAAC,IAAI,CACvG,QAAQ,CAAC,OAAO,CAAC,IAAI,CACrB,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACd,CAAC;QACF,MAAM,gBAAgB,GAAG,MAAM,wBAAwB,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACnF,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC;YAC5B,IAAI,EAAE,SAAS;YACf,IAAI,EAAE,SAAS;YACf,OAAO,EAAE;QACJ,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,WAAW,CAC7E,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAC1C;WACO,WAAW,CAAC,gBAAgB,CAAC,OAAO,CAAC,YAAY,CAAC,eAAe,WAAW,CACnF,gBAAgB,CAAC,OAAO,CAAC,oBAAoB,CAC7C;QACI,WAAW,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,WAAW,CAC7E,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,CAC1C;;oEAEgE;SACjE,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrB,OAAO,CAAC,IAAI,EAAE,CAAC;QAChB,CAAC;IACF,CAAC;IAED,KAAK,MAAM,YAAY,IAAI,YAAY,CAAC,MAAM,CAAC,oBAAoB,CAAC,EAAE,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,gBAAgB,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QACnE,0EAA0E;QAC1E,oFAAoF;QACpF,aAAa;QACb,IAAI;QACJ,IAAI,IAAI,GAAG,KAAK,CAAC;QACjB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,QAAQ,EAAE,CAAC,CAAC;QAChD,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,MAAM,OAAO,GAAG,IAAI,CAAC,aAAa,CAAC,CAAC;YACpC,IAAI,CAAC;gBACJ,IAAI,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACpD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,YAAY,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC5D,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,CAAC,CAAC;YACT,CAAC;QACF,CAAC;QACD,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,IAAI,MAAM,CAAC;YAEX,IAAI,CAAC;gBACJ,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;gBACjD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACvB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACZ,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,CAAC,CAAC;YACT,CAAC;YACD,IAAI,MAAM,IAAI,OAAO,MAAM,KAAK,SAAS,EAAE,CAAC;gBAC3C,+BAA+B;gBAC/B,oBAAoB;gBACpB,4JAA4J;gBAC5J,MAAM;gBACN,IAAI;gBACJ,4EAA4E;gBAE5E,MAAM,oBAAoB,GAAG,MAAM,CAAC,WAAW,CAAC;gBAEhD,sEAAsE;gBACtE,kFAAkF;gBAClF,gBAAgB;gBAChB,SAAS;gBACT,wCAAwC;gBACxC,kBAAkB;gBAClB,SAAS;gBACT,yEAAyE;gBACzE,kBAAkB;gBAClB,qBAAqB;gBACrB,+EAA+E;gBAC/E,mDAAmD;gBACnD,MAAM;gBACN,IAAI;YACL,CAAC;QACF,CAAC;IACF,CAAC;IAED,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;QACzB,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC;QAC3C,MAAM,iBAAiB,GAAG,QAAQ,CAAC,iBAAiB,CAAC;QAErD,IAAI,YAAY,GAAG,CAAC,CAAC;QACrB,KAAK,MAAM,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACtC,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,OAAO,CAAC,EAAC,MAAM,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,IAAI,CAAC,EAAC,CAAC,CAAC;YACzG,IAAI,kBAAkB,EAAE,CAAC;gBACxB,MAAM,OAAO,GAAG,MAAM,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC;gBACnD,YAAY,IAAI,OAAO,CAAC;YACzB,CAAC;QACF,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,EAAC,YAAY,EAAC,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,QAAQ,CAAC;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/executor/index.ts"],"names":[],"mappings":"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"}
@@ -1,17 +1,11 @@
1
- import type { Environment, ResolvedNamedAccounts, UnknownArtifacts, UnknownDeployments, UnknownNamedAccounts, UnresolvedUnknownNamedAccounts } from '../environment/types.js';
2
- export type DeployScriptFunction<Artifacts extends UnknownArtifacts = UnknownArtifacts, NamedAccounts extends UnknownNamedAccounts = UnknownNamedAccounts, ArgumentsTypes = undefined, Deployments extends UnknownDeployments = UnknownDeployments> = (env: Environment<Artifacts, NamedAccounts, Deployments>, args?: ArgumentsTypes) => Promise<void | boolean>;
3
- export interface DeployScriptModule<Artifacts extends UnknownArtifacts = UnknownArtifacts, NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, ArgumentsTypes = undefined, Deployments extends UnknownDeployments = UnknownDeployments> {
4
- (env: Environment<Artifacts, ResolvedNamedAccounts<NamedAccounts>, Deployments>, args?: ArgumentsTypes): Promise<void | boolean>;
5
- providedContext: ProvidedContext<Artifacts, NamedAccounts>;
6
- skip?: (env: Environment<Artifacts, ResolvedNamedAccounts<NamedAccounts>, Deployments>, args?: ArgumentsTypes) => Promise<boolean>;
1
+ import type { Environment, ResolvedNamedAccounts, UnknownDeployments, UnknownNamedAccounts, UnresolvedUnknownNamedAccounts } from '../environment/types.js';
2
+ export type DeployScriptFunction<NamedAccounts extends UnknownNamedAccounts = UnknownNamedAccounts, ArgumentsTypes = undefined, Deployments extends UnknownDeployments = UnknownDeployments> = (env: Environment<NamedAccounts, Deployments>, args?: ArgumentsTypes) => Promise<void | boolean>;
3
+ export interface DeployScriptModule<NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts, ArgumentsTypes = undefined, Deployments extends UnknownDeployments = UnknownDeployments> {
4
+ (env: Environment<ResolvedNamedAccounts<NamedAccounts>, Deployments>, args?: ArgumentsTypes): Promise<void | boolean>;
7
5
  tags?: string[];
8
6
  dependencies?: string[];
9
7
  runAtTheEnd?: boolean;
10
8
  id?: string;
11
9
  }
12
- export type ProvidedContext<Artifacts extends UnknownArtifacts = UnknownArtifacts, NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts> = {
13
- accounts?: NamedAccounts;
14
- artifacts: Artifacts;
15
- };
16
- export type ScriptCallback<Artifacts extends UnknownArtifacts = UnknownArtifacts, NamedAccounts extends UnknownNamedAccounts = UnknownNamedAccounts, Deployments extends UnknownDeployments = UnknownDeployments> = (env: Environment<Artifacts, NamedAccounts, Deployments>) => Promise<void>;
10
+ export type ScriptCallback<NamedAccounts extends UnknownNamedAccounts = UnknownNamedAccounts, Deployments extends UnknownDeployments = UnknownDeployments> = (env: Environment<NamedAccounts, Deployments>) => Promise<void>;
17
11
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,oBAAoB,CAC/B,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,EACjE,cAAc,GAAG,SAAS,EAC1B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,IACxD,CAAC,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;AAEhH,MAAM,WAAW,kBAAkB,CAClC,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,cAAc,GAAG,SAAS,EAC1B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB;IAE3D,CAAC,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,qBAAqB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAC/G,IAAI,GAAG,OAAO,CACd,CAAC;IACF,eAAe,EAAE,eAAe,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;IAC3D,IAAI,CAAC,EAAE,CACN,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,qBAAqB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAC9E,IAAI,CAAC,EAAE,cAAc,KACjB,OAAO,CAAC,OAAO,CAAC,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,eAAe,CAC1B,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,IAClF;IACH,QAAQ,CAAC,EAAE,aAAa,CAAC;IACzB,SAAS,EAAE,SAAS,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,cAAc,CACzB,SAAS,SAAS,gBAAgB,GAAG,gBAAgB,EACrD,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,EACjE,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,IACxD,CAAC,GAAG,EAAE,WAAW,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/executor/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,WAAW,EACX,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,8BAA8B,EAC9B,MAAM,yBAAyB,CAAC;AAEjC,MAAM,MAAM,oBAAoB,CAC/B,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,EACjE,cAAc,GAAG,SAAS,EAC1B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,IACxD,CAAC,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,KAAK,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;AAErG,MAAM,WAAW,kBAAkB,CAClC,aAAa,SAAS,8BAA8B,GAAG,8BAA8B,EACrF,cAAc,GAAG,SAAS,EAC1B,WAAW,SAAS,kBAAkB,GAAG,kBAAkB;IAE3D,CAAC,GAAG,EAAE,WAAW,CAAC,qBAAqB,CAAC,aAAa,CAAC,EAAE,WAAW,CAAC,EAAE,IAAI,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC;IACtH,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,MAAM,cAAc,CACzB,aAAa,SAAS,oBAAoB,GAAG,oBAAoB,EACjE,WAAW,SAAS,kBAAkB,GAAG,kBAAkB,IACxD,CAAC,GAAG,EAAE,WAAW,CAAC,aAAa,EAAE,WAAW,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC"}
@@ -1,5 +1,6 @@
1
1
  export type InternalEnvironment = {
2
2
  exportDeploymentsAsTypes(): Promise<void>;
3
3
  recoverTransactionsIfAny(): Promise<void>;
4
+ recordMigration(id: string): void;
4
5
  };
5
6
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IACjC,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC1C,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/internal/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IACjC,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,wBAAwB,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1C,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;CAClC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "rocketh",
3
- "version": "0.11.1",
3
+ "version": "0.11.3",
4
4
  "description": "deploy smart contract on ethereum-compatible networks",
5
5
  "publishConfig": {
6
6
  "access": "public"
@@ -8,16 +8,26 @@ export function loadDeployments(
8
8
  networkName: string,
9
9
  onlyABIAndAddress?: boolean,
10
10
  expectedChain?: {chainId: string; genesisHash?: `0x${string}`; deleteDeploymentsIfDifferentGenesisHash?: boolean}
11
- ): {deployments: UnknownDeployments; chainId?: string; genesisHash?: `0x${string}`} {
11
+ ): {
12
+ deployments: UnknownDeployments;
13
+ migrations: Record<string, number>;
14
+ chainId?: string;
15
+ genesisHash?: `0x${string}`;
16
+ } {
12
17
  const deploymentsFound: UnknownDeployments = {};
13
18
  const deployPath = path.join(deploymentsPath, networkName);
14
19
 
15
20
  let filesStats;
16
21
  try {
17
- filesStats = traverse(deployPath, undefined, undefined, (name) => !name.startsWith('.') && name !== 'solcInputs');
22
+ filesStats = traverse(
23
+ deployPath,
24
+ undefined,
25
+ undefined,
26
+ (name) => !(name.startsWith('.') && name !== '.migrations.json') && name !== 'solcInputs'
27
+ );
18
28
  } catch (e) {
19
29
  // console.log('no folder at ' + deployPath);
20
- return {deployments: {}};
30
+ return {deployments: {}, migrations: {}};
21
31
  }
22
32
  let chainId: string;
23
33
  let genesisHash: `0x${string}` | undefined;
@@ -50,7 +60,7 @@ export function loadDeployments(
50
60
  // we delete the old folder
51
61
 
52
62
  fs.rmSync(deployPath, {recursive: true, force: true});
53
- return {deployments: {}};
63
+ return {deployments: {}, migrations: {}};
54
64
  } else {
55
65
  throw new Error(
56
66
  `Loading deployment in folder '${deployPath}' (with genesisHash: ${genesisHash}) for a different genesisHash (${expectedChain.genesisHash})`
@@ -71,8 +81,19 @@ export function loadDeployments(
71
81
  }
72
82
  }
73
83
  } else {
74
- return {deployments: {}};
84
+ return {deployments: {}, migrations: {}};
75
85
  }
86
+
87
+ let migrations: Record<string, number> = {};
88
+ const migrationsFilepath = path.join(deployPath, '.migrations.json');
89
+ if (fs.existsSync(migrationsFilepath)) {
90
+ try {
91
+ migrations = JSON.parse(fs.readFileSync(migrationsFilepath, 'utf-8'));
92
+ } catch (err) {
93
+ console.error(`failed to parse .migrations.json`);
94
+ }
95
+ }
96
+
76
97
  let fileNames = filesStats.map((a) => a.relativePath);
77
98
  fileNames = fileNames.sort((a, b) => {
78
99
  if (a < b) {
@@ -85,7 +106,7 @@ export function loadDeployments(
85
106
  });
86
107
 
87
108
  for (const fileName of fileNames) {
88
- if (fileName.substring(fileName.length - 5) === '.json') {
109
+ if (fileName.substring(fileName.length - 5) === '.json' && fileName !== '.migrations.json') {
89
110
  const deploymentFileName = path.join(deployPath, fileName);
90
111
  let deployment = JSON.parse(fs.readFileSync(deploymentFileName).toString());
91
112
  // truffleChainId argument:
@@ -110,5 +131,5 @@ export function loadDeployments(
110
131
  deploymentsFound[name] = deployment;
111
132
  }
112
133
  }
113
- return {deployments: deploymentsFound, chainId, genesisHash};
134
+ return {deployments: deploymentsFound, migrations, chainId, genesisHash};
114
135
  }
@@ -32,7 +32,6 @@ import {
32
32
  EIP1193Transaction,
33
33
  EIP1193TransactionReceipt,
34
34
  } from 'eip-1193';
35
- import {ProvidedContext} from '../executor/types.js';
36
35
  import {ProgressIndicator, log, spin} from '../internal/logging.js';
37
36
  import {PendingExecution} from './types.js';
38
37
  import {getChain} from './utils/chains.js';
@@ -78,13 +77,11 @@ function displayTransaction(transaction: EIP1193Transaction) {
78
77
  }
79
78
 
80
79
  export async function createEnvironment<
81
- Artifacts extends UnknownArtifacts = UnknownArtifacts,
82
80
  NamedAccounts extends UnresolvedUnknownNamedAccounts = UnresolvedUnknownNamedAccounts,
83
81
  Deployments extends UnknownDeployments = UnknownDeployments
84
82
  >(
85
- config: ResolvedConfig,
86
- providedContext: ProvidedContext<Artifacts, NamedAccounts>
87
- ): Promise<{internal: InternalEnvironment; external: Environment<Artifacts, NamedAccounts, Deployments>}> {
83
+ config: ResolvedConfig<NamedAccounts>
84
+ ): Promise<{internal: InternalEnvironment; external: Environment<NamedAccounts, Deployments>}> {
88
85
  const rawProvider =
89
86
  'provider' in config.network
90
87
  ? config.network.provider
@@ -206,17 +203,16 @@ export async function createEnvironment<
206
203
  return account;
207
204
  }
208
205
 
209
- if (providedContext.accounts) {
210
- const accountNames = Object.keys(providedContext.accounts);
206
+ if (config.accounts) {
207
+ const accountNames = Object.keys(config.accounts);
211
208
  for (const accountName of accountNames) {
212
- let account = await getAccount(accountName, providedContext.accounts, providedContext.accounts[accountName]);
209
+ let account = await getAccount(accountName, config.accounts, config.accounts[accountName]);
213
210
  (resolvedAccounts as any)[accountName] = account;
214
211
  }
215
212
  }
216
213
 
217
214
  const context = {
218
215
  accounts: resolvedAccounts,
219
- artifacts: providedContext.artifacts as Artifacts,
220
216
  network: {
221
217
  name: networkName,
222
218
  fork: config.network.fork,
@@ -227,7 +223,7 @@ export async function createEnvironment<
227
223
 
228
224
  // console.log(`context`, JSON.stringify(context.network, null, 2));
229
225
 
230
- const {deployments} = loadDeployments(
226
+ const {deployments, migrations} = loadDeployments(
231
227
  config.deployments,
232
228
  context.network.name,
233
229
  false,
@@ -267,7 +263,6 @@ export async function createEnvironment<
267
263
  namedSigners: namedSigners as ResolvedNamedSigners<ResolvedNamedAccounts<NamedAccounts>>,
268
264
  unnamedAccounts,
269
265
  addressSigners: addressSigners,
270
- artifacts: context.artifacts,
271
266
  network: {
272
267
  chain: getChain(chainId),
273
268
  name: context.network.name,
@@ -324,6 +319,18 @@ export async function createEnvironment<
324
319
  return (deployments[name] || null) as Deployment<TAbi> | null;
325
320
  }
326
321
 
322
+ function hasMigrationBeenDone(id: string): boolean {
323
+ return migrations[id] ? true : false;
324
+ }
325
+
326
+ function recordMigration(id: string): void {
327
+ migrations[id] = Math.floor(Date.now() / 1000);
328
+ if (context.network.saveDeployments) {
329
+ const folderPath = ensureDeploymentFolder();
330
+ fs.writeFileSync(`${folderPath}/.migrations.json`, JSON.stringify(migrations));
331
+ }
332
+ }
333
+
327
334
  function fromAddressToNamedABIOrNull<TAbi extends Abi>(address: Address): {mergedABI: TAbi; names: string[]} | null {
328
335
  let list: {name: string; artifact: Artifact<Abi>}[] = [];
329
336
  for (const name of Object.keys(deployments)) {
@@ -351,8 +358,21 @@ export async function createEnvironment<
351
358
  return n;
352
359
  }
353
360
 
354
- async function save<TAbi extends Abi>(name: string, deployment: Deployment<TAbi>): Promise<Deployment<TAbi>> {
355
- deployments[name] = deployment;
361
+ async function save<TAbi extends Abi>(
362
+ name: string,
363
+ deployment: Deployment<TAbi>,
364
+ options?: {doNotCountAsNewDeployment?: boolean}
365
+ ): Promise<Deployment<TAbi>> {
366
+ if (!options?.doNotCountAsNewDeployment) {
367
+ let numDeployments = 1;
368
+ const oldDeployment = deployments[name];
369
+ if (oldDeployment) {
370
+ numDeployments = (oldDeployment.numDeployments || 1) + 1;
371
+ }
372
+ deployments[name] = {...deployment, numDeployments};
373
+ } else {
374
+ deployments[name] = {...deployment, numDeployments: 1};
375
+ }
356
376
  if (context.network.saveDeployments) {
357
377
  const folderPath = ensureDeploymentFolder();
358
378
  fs.writeFileSync(`${folderPath}/${name}.json`, JSONToString(deployment, 2));
@@ -502,7 +522,8 @@ export async function createEnvironment<
502
522
  pendingDeployment: PendingDeployment<TAbi>,
503
523
  transaction?: EIP1193Transaction | null
504
524
  ): Promise<Deployment<TAbi>> {
505
- const message = ` - Deploying ${pendingDeployment.name} with tx:\n ${pendingDeployment.transaction.hash}${
525
+ const nameToDisplay = pendingDeployment.name || '<no name>';
526
+ const message = ` - Deploying ${nameToDisplay} with tx:\n ${pendingDeployment.transaction.hash}${
506
527
  transaction ? `\n ${displayTransaction(transaction)}` : ''
507
528
  }`;
508
529
  const {receipt, latestBlockNumber} = await waitForTransaction(pendingDeployment.transaction.hash, {
@@ -514,7 +535,7 @@ export async function createEnvironment<
514
535
  const contractAddress = pendingDeployment.expectedAddress || receipt.contractAddress;
515
536
  if (!contractAddress) {
516
537
  console.error(receipt);
517
- throw new Error(`no contract address found for ${pendingDeployment.name}`);
538
+ throw new Error(`no contract address found for ${nameToDisplay}`);
518
539
  }
519
540
 
520
541
  showMessage(` => ${contractAddress}`);
@@ -581,7 +602,11 @@ export async function createEnvironment<
581
602
  transactionIndex: receipt.transactionIndex,
582
603
  },
583
604
  };
584
- return save(pendingDeployment.name, deployment);
605
+ if (pendingDeployment.name) {
606
+ return save(pendingDeployment.name, deployment);
607
+ } else {
608
+ return deployment;
609
+ }
585
610
  }
586
611
 
587
612
  async function savePendingExecution(pendingExecution: PendingExecution) {
@@ -654,7 +679,7 @@ export async function createEnvironment<
654
679
  return spin(message);
655
680
  }
656
681
 
657
- let env: Environment<Artifacts, NamedAccounts, Deployments> = {
682
+ let env: Environment<NamedAccounts, Deployments> = {
658
683
  ...perliminaryEnvironment,
659
684
  save,
660
685
  savePendingDeployment,
@@ -665,6 +690,7 @@ export async function createEnvironment<
665
690
  fromAddressToNamedABIOrNull,
666
691
  showMessage,
667
692
  showProgress,
693
+ hasMigrationBeenDone,
668
694
  };
669
695
  for (const extension of (globalThis as any).extensions) {
670
696
  env = extension(env);
@@ -675,6 +701,7 @@ export async function createEnvironment<
675
701
  internal: {
676
702
  exportDeploymentsAsTypes,
677
703
  recoverTransactionsIfAny,
704
+ recordMigration,
678
705
  },
679
706
  };
680
707
  }