@openzeppelin/upgrades-core 1.45.0-alpha.0 → 1.45.0

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.
@@ -108,6 +108,20 @@ async function readBuildInfo(buildInfoFilePaths, dirShortName) {
108
108
  }
109
109
  return buildInfoFiles;
110
110
  }
111
+ const FOUNDRY_BUILD_INFO_HELP = `\
112
+ Foundry build-info files must contain Solidity compiler input, output, and solcVersion.
113
+ Ensure foundry.toml has:
114
+ [profile.default]
115
+ build_info = true
116
+ extra_output = ["storageLayout"]
117
+ Then run: ${FOUNDRY_COMPILE_COMMAND}`;
118
+ const HH3_BUILD_INFO_HELP = `\
119
+ Hardhat 3's build-info uses a main .json file (input, solcVersion) and a separate .output.json (output).
120
+ Ensure you compile with Hardhat 3 so that artifacts/build-info/ contains both the main files and the .output.json files.
121
+ Run: ${HARDHAT_COMPILE_COMMAND}`;
122
+ const GENERIC_BUILD_INFO_HELP = `\
123
+ If using Foundry, ensure foundry.toml has build_info = true and extra_output = ["storageLayout"], then compile with '${FOUNDRY_COMPILE_COMMAND}'.
124
+ If using Hardhat, compile with '${HARDHAT_COMPILE_COMMAND}'.`;
111
125
  async function loadBuildInfo(buildInfoFilePath) {
112
126
  const buildInfoJson = await readJSON(buildInfoFilePath);
113
127
  if (buildInfoJson.input !== undefined &&
@@ -120,61 +134,69 @@ async function loadBuildInfo(buildInfoFilePath) {
120
134
  };
121
135
  }
122
136
  const format = buildInfoJson._format;
123
- if (typeof format === 'string' &&
124
- (format.startsWith('hh3-sol-build-info') || format.startsWith('hh-sol-build-info'))) {
125
- if (buildInfoJson.input !== undefined && buildInfoJson.solcVersion !== undefined) {
126
- let inputData = buildInfoJson.input;
127
- let outputData = buildInfoJson.output;
128
- if (outputData === undefined) {
129
- const { dir, name } = path_1.default.parse(buildInfoFilePath);
130
- const outputFilePath = path_1.default.join(dir, `${name}.output.json`);
131
- try {
132
- const outputJson = await readJSON(outputFilePath);
133
- outputData = outputJson.output ?? outputJson;
134
- }
135
- catch (error) {
136
- throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} could not be read.`);
137
- }
138
- if (outputData === undefined) {
139
- throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} is missing Solidity compiler output.`);
140
- }
137
+ // Foundry (ethers-rs-sol-build-info-1) normally has input, output, solcVersion at top level.
138
+ // If we reach here with Foundry format, a field is missing — suggest recompiling.
139
+ if (typeof format === 'string' && format.startsWith('ethers-rs-sol-build-info')) {
140
+ throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} must contain Solidity compiler input, output, and solcVersion. Got format: ${format}.`, () => FOUNDRY_BUILD_INFO_HELP);
141
+ }
142
+ if (typeof format === 'string' && format.startsWith('hh3-sol-build-info')) {
143
+ if (buildInfoJson.input === undefined || buildInfoJson.solcVersion === undefined) {
144
+ throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} (Hardhat 3 format) must contain input and solcVersion. Got format: ${format}.`, () => HH3_BUILD_INFO_HELP);
145
+ }
146
+ let inputData = buildInfoJson.input;
147
+ let outputData = buildInfoJson.output;
148
+ if (outputData === undefined) {
149
+ const { dir, name } = path_1.default.parse(buildInfoFilePath);
150
+ const outputFilePath = path_1.default.join(dir, `${name}.output.json`);
151
+ try {
152
+ const outputJson = await readJSON(outputFilePath);
153
+ outputData = outputJson.output ?? outputJson;
154
+ }
155
+ catch (error) {
156
+ throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} could not be read.`, () => HH3_BUILD_INFO_HELP);
157
+ }
158
+ if (outputData === undefined ||
159
+ outputData === null ||
160
+ typeof outputData !== 'object' ||
161
+ (!('sources' in outputData) && !('contracts' in outputData) && !('errors' in outputData))) {
162
+ throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} is missing Solidity compiler output.`, () => HH3_BUILD_INFO_HELP);
141
163
  }
142
- const userSourceNameMap = buildInfoJson.userSourceNameMap;
143
- if (userSourceNameMap !== undefined) {
144
- const canonicalToUser = {};
145
- for (const [userSource, canonicalSource] of Object.entries(userSourceNameMap)) {
146
- canonicalToUser[canonicalSource] = userSource;
147
- }
148
- if (inputData.sources !== undefined) {
149
- inputData = {
150
- ...inputData,
151
- sources: remapKeys(inputData.sources, canonicalToUser),
152
- };
153
- }
154
- if (outputData.sources !== undefined) {
155
- outputData = {
156
- ...outputData,
157
- sources: remapKeys(outputData.sources, canonicalToUser),
158
- contracts: outputData.contracts !== undefined
159
- ? remapKeys(outputData.contracts, canonicalToUser)
160
- : outputData.contracts,
161
- };
162
- }
163
- else if (outputData.contracts !== undefined) {
164
- outputData = {
165
- ...outputData,
166
- contracts: remapKeys(outputData.contracts, canonicalToUser),
167
- };
168
- }
164
+ }
165
+ const userSourceNameMap = buildInfoJson.userSourceNameMap;
166
+ if (userSourceNameMap !== undefined) {
167
+ const canonicalToUser = {};
168
+ for (const [userSource, canonicalSource] of Object.entries(userSourceNameMap)) {
169
+ canonicalToUser[canonicalSource] = userSource;
170
+ }
171
+ if (inputData.sources !== undefined) {
172
+ inputData = {
173
+ ...inputData,
174
+ sources: remapKeys(inputData.sources, canonicalToUser),
175
+ };
176
+ }
177
+ if (outputData.sources !== undefined) {
178
+ outputData = {
179
+ ...outputData,
180
+ sources: remapKeys(outputData.sources, canonicalToUser),
181
+ contracts: outputData.contracts !== undefined
182
+ ? remapKeys(outputData.contracts, canonicalToUser)
183
+ : outputData.contracts,
184
+ };
185
+ }
186
+ else if (outputData.contracts !== undefined) {
187
+ outputData = {
188
+ ...outputData,
189
+ contracts: remapKeys(outputData.contracts, canonicalToUser),
190
+ };
169
191
  }
170
- return {
171
- input: inputData,
172
- output: outputData,
173
- solcVersion: buildInfoJson.solcVersion,
174
- };
175
192
  }
193
+ return {
194
+ input: inputData,
195
+ output: outputData,
196
+ solcVersion: buildInfoJson.solcVersion,
197
+ };
176
198
  }
177
- throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} must contain Solidity compiler input, output, and solcVersion. Got format: ${format ?? 'unknown'}.`);
199
+ throw new error_1.ValidateCommandError(`Build info from ${buildInfoFilePath} must include Solidity compiler input, output, and solcVersion. Got format: ${format ?? 'unknown'}.`, () => GENERIC_BUILD_INFO_HELP);
178
200
  }
179
201
  /**
180
202
  * Gives an error if there is empty output selection for any contract, or a contract does not have storage layout.
@@ -1 +1 @@
1
- {"version":3,"file":"build-info-file.js","sourceRoot":"","sources":["../../../src/cli/validate/build-info-file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-info-file.js","sourceRoot":"","sources":["../../../src/cli/validate/build-info-file.ts"],"names":[],"mappings":"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"}
@@ -298,6 +298,38 @@ ava_1.default.serial('get build info files - default foundry', async (t) => {
298
298
  const buildInfoFiles = await (0, build_info_file_1.getBuildInfoFiles)();
299
299
  assertBuildInfoFiles(t, buildInfoFiles);
300
300
  });
301
+ ava_1.default.serial('get build info files - Foundry format success path', async (t) => {
302
+ const dir = 'foundry-format-success';
303
+ await fs_1.promises.mkdir(dir, { recursive: true });
304
+ await fs_1.promises.writeFile(`${dir}/build-info.json`, JSON.stringify({
305
+ _format: 'ethers-rs-sol-build-info-1',
306
+ ...BUILD_INFO,
307
+ }));
308
+ const buildInfoFiles = await (0, build_info_file_1.getBuildInfoFiles)(dir);
309
+ t.is(buildInfoFiles.length, 1);
310
+ t.is(buildInfoFiles[0]?.dirShortName, dir);
311
+ t.is(buildInfoFiles[0]?.solcVersion, BUILD_INFO.solcVersion);
312
+ t.deepEqual(buildInfoFiles[0]?.input, BUILD_INFO.input);
313
+ t.deepEqual(buildInfoFiles[0]?.output, BUILD_INFO.output);
314
+ });
315
+ ava_1.default.serial('get build info files - Hardhat 3 split format success path', async (t) => {
316
+ const dir = 'hh3-format-success';
317
+ await fs_1.promises.mkdir(dir, { recursive: true });
318
+ await fs_1.promises.writeFile(`${dir}/solc-0_8_9-abc123.json`, JSON.stringify({
319
+ _format: 'hh3-sol-build-info-1',
320
+ input: BUILD_INFO.input,
321
+ solcVersion: BUILD_INFO.solcVersion,
322
+ }));
323
+ await fs_1.promises.writeFile(`${dir}/solc-0_8_9-abc123.output.json`, JSON.stringify({
324
+ output: BUILD_INFO.output,
325
+ }));
326
+ const buildInfoFiles = await (0, build_info_file_1.getBuildInfoFiles)(dir);
327
+ t.is(buildInfoFiles.length, 1);
328
+ t.is(buildInfoFiles[0]?.dirShortName, dir);
329
+ t.is(buildInfoFiles[0]?.solcVersion, BUILD_INFO.solcVersion);
330
+ t.deepEqual(buildInfoFiles[0]?.input, BUILD_INFO.input);
331
+ t.deepEqual(buildInfoFiles[0]?.output, BUILD_INFO.output);
332
+ });
301
333
  ava_1.default.serial('get build info files - both hardhat and foundry dirs exist', async (t) => {
302
334
  await fs_1.promises.mkdir('artifacts/build-info', { recursive: true });
303
335
  await fs_1.promises.writeFile('artifacts/build-info/build-info.json', JSON.stringify(BUILD_INFO));
@@ -328,11 +360,77 @@ ava_1.default.serial('get build info files - override with custom absolute path'
328
360
  const buildInfoFiles = await (0, build_info_file_1.getBuildInfoFiles)(path_1.default.join(process.cwd(), 'custom/build-info'));
329
361
  assertBuildInfoFiles(t, buildInfoFiles);
330
362
  });
331
- ava_1.default.serial('invalid build info file', async (t) => {
363
+ ava_1.default.serial('generic invalid build info file', async (t) => {
332
364
  await fs_1.promises.mkdir('invalid-build-info', { recursive: true });
333
365
  await fs_1.promises.writeFile('invalid-build-info/invalid.json', JSON.stringify({ output: {} }));
334
366
  const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('invalid-build-info'));
367
+ t.true(error?.message.includes('must include Solidity compiler input, output, and solcVersion'));
368
+ t.true(error?.message.includes('Got format: unknown'));
369
+ });
370
+ ava_1.default.serial('Foundry format (ethers-rs) with missing output suggests forge clean && forge build', async (t) => {
371
+ await fs_1.promises.mkdir('foundry-format-missing', { recursive: true });
372
+ await fs_1.promises.writeFile('foundry-format-missing/build.json', JSON.stringify({
373
+ _format: 'ethers-rs-sol-build-info-1',
374
+ input: BUILD_INFO.input,
375
+ solcVersion: '0.8.31',
376
+ // output missing
377
+ }));
378
+ const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('foundry-format-missing'));
335
379
  t.true(error?.message.includes('must contain Solidity compiler input, output, and solcVersion'));
380
+ t.true(error?.message.includes('ethers-rs-sol-build-info'));
381
+ t.true(error?.message.includes('forge clean && forge build'));
382
+ });
383
+ ava_1.default.serial('Hardhat 3 format with missing input and solcVersion suggests hardhat compile', async (t) => {
384
+ await fs_1.promises.mkdir('hh3-format-missing-input', { recursive: true });
385
+ await fs_1.promises.writeFile('hh3-format-missing-input/solc-0_8_0-abc123.json', JSON.stringify({
386
+ _format: 'hh3-sol-build-info-1',
387
+ }));
388
+ const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('hh3-format-missing-input'));
389
+ t.true(error?.message.includes('Hardhat 3 format'));
390
+ t.true(error?.message.includes('must contain input and solcVersion'));
391
+ t.true(error?.message.includes('hardhat compile'));
392
+ });
393
+ ava_1.default.serial('Hardhat 3 format with missing .output.json suggests hardhat compile', async (t) => {
394
+ await fs_1.promises.mkdir('hh3-format-missing-output', { recursive: true });
395
+ await fs_1.promises.writeFile('hh3-format-missing-output/solc-0_8_0-abc123.json', JSON.stringify({
396
+ _format: 'hh3-sol-build-info-1',
397
+ input: BUILD_INFO.input,
398
+ solcVersion: '0.8.9',
399
+ // output in separate .output.json which we do not create
400
+ }));
401
+ const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('hh3-format-missing-output'));
402
+ t.true(error?.message.includes('could not be read'));
403
+ t.false(error?.message.includes('missing Solidity compiler output'));
404
+ t.true(error?.message.includes('Hardhat 3'));
405
+ t.true(error?.message.includes('hardhat compile'));
406
+ });
407
+ ava_1.default.serial('Hardhat 3 format with empty .output.json reports missing compiler output', async (t) => {
408
+ await fs_1.promises.mkdir('hh3-format-empty-output', { recursive: true });
409
+ await fs_1.promises.writeFile('hh3-format-empty-output/solc-0_8_0-abc123.json', JSON.stringify({
410
+ _format: 'hh3-sol-build-info-1',
411
+ input: BUILD_INFO.input,
412
+ solcVersion: '0.8.9',
413
+ }));
414
+ await fs_1.promises.writeFile('hh3-format-empty-output/solc-0_8_0-abc123.output.json', JSON.stringify({}));
415
+ const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('hh3-format-empty-output'));
416
+ t.true(error?.message.includes('missing Solidity compiler output'));
417
+ t.false(error?.message.includes('could not be read'));
418
+ t.true(error?.message.includes('Hardhat 3'));
419
+ t.true(error?.message.includes('hardhat compile'));
420
+ });
421
+ ava_1.default.serial('Hardhat 2 format with missing output falls back to generic help', async (t) => {
422
+ await fs_1.promises.mkdir('invalid-hh2-build-info', { recursive: true });
423
+ // Missing output but has an hh2-style _format with input and solcVersion.
424
+ await fs_1.promises.writeFile('invalid-hh2-build-info/invalid.json', JSON.stringify({
425
+ _format: 'hh-sol-build-info-1',
426
+ input: BUILD_INFO.input,
427
+ solcVersion: '0.8.9',
428
+ // output missing
429
+ }));
430
+ const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('invalid-hh2-build-info'));
431
+ t.true(error?.message.includes('must include Solidity compiler input, output, and solcVersion'));
432
+ t.true(error?.message.includes('invalid.json'));
433
+ t.false(error?.message.includes('Hardhat 3'));
336
434
  });
337
435
  ava_1.default.serial('dir does not exist', async (t) => {
338
436
  const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('invalid-dir'));
@@ -386,6 +484,61 @@ ava_1.default.serial('no output selection', async (t) => {
386
484
  const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)(dir));
387
485
  t.true(error?.message.includes('is not from a full compilation'));
388
486
  });
487
+ ava_1.default.serial('Hardhat 3 format with userSourceNameMap remaps input and output sources', async (t) => {
488
+ const dir = 'hh3-source-name-map';
489
+ await fs_1.promises.mkdir(dir, { recursive: true });
490
+ await fs_1.promises.writeFile(`${dir}/solc-0_8_9-abc123.json`, JSON.stringify({
491
+ _format: 'hh3-sol-build-info-1',
492
+ solcVersion: '0.8.9',
493
+ input: {
494
+ language: 'Solidity',
495
+ sources: {
496
+ 'project/contracts/MyContract.sol': {
497
+ content: 'contract MyContract {}',
498
+ },
499
+ 'lib/Helper.sol': {
500
+ content: 'contract Helper {}',
501
+ },
502
+ },
503
+ settings: {
504
+ outputSelection: {
505
+ '*': {
506
+ '*': ['storageLayout'],
507
+ },
508
+ },
509
+ },
510
+ },
511
+ // Only maps project sources, not library sources
512
+ userSourceNameMap: {
513
+ 'contracts/MyContract.sol': 'project/contracts/MyContract.sol',
514
+ },
515
+ }));
516
+ await fs_1.promises.writeFile(`${dir}/solc-0_8_9-abc123.output.json`, JSON.stringify({
517
+ sources: {
518
+ 'project/contracts/MyContract.sol': { ast: {}, id: 0 },
519
+ 'lib/Helper.sol': { ast: {}, id: 1 },
520
+ },
521
+ contracts: {
522
+ 'project/contracts/MyContract.sol': { MyContract: {} },
523
+ },
524
+ }));
525
+ const buildInfoFiles = await (0, build_info_file_1.getBuildInfoFiles)(dir);
526
+ t.is(buildInfoFiles.length, 1);
527
+ const file = buildInfoFiles[0];
528
+ const user = 'contracts/MyContract.sol';
529
+ const canonical = 'project/contracts/MyContract.sol';
530
+ const lib = 'lib/Helper.sol';
531
+ // Mapped: canonical paths replaced with user paths
532
+ t.truthy(file.input.sources[user]);
533
+ t.falsy(file.input.sources[canonical]);
534
+ t.truthy(file.output.sources[user]);
535
+ t.falsy(file.output.sources[canonical]);
536
+ t.truthy(file.output.contracts?.[user]);
537
+ t.falsy(file.output.contracts?.[canonical]);
538
+ // Unmapped: library deps preserved as-is
539
+ t.truthy(file.input.sources[lib]);
540
+ t.truthy(file.output.sources[lib]);
541
+ });
389
542
  function assertBuildInfoFiles(t, buildInfoFiles) {
390
543
  t.is(buildInfoFiles.length, 2);
391
544
  const buildInfoFile1 = buildInfoFiles.find(b => b.input.sources['mypath/MyContract.sol'].content === 'contract MyContract {}');
@@ -1 +1 @@
1
- {"version":3,"file":"build-info-file.test.js","sourceRoot":"","sources":["../../../src/cli/validate/build-info-file.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build-info-file.test.js","sourceRoot":"","sources":["../../../src/cli/validate/build-info-file.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/provider.js CHANGED
@@ -90,6 +90,7 @@ exports.networkNames = Object.freeze({
90
90
  42161: 'arbitrum-one',
91
91
  42170: 'arbitrum-nova',
92
92
  421613: 'arbitrum-goerli',
93
+ 421614: 'arbitrum-sepolia',
93
94
  43113: 'avalanche-fuji',
94
95
  43114: 'avalanche',
95
96
  42220: 'celo',
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openzeppelin/upgrades-core",
3
- "version": "1.45.0-alpha.0",
3
+ "version": "1.45.0",
4
4
  "description": "",
5
5
  "repository": "https://github.com/OpenZeppelin/openzeppelin-upgrades",
6
6
  "license": "MIT",
@@ -313,6 +313,55 @@ test.serial('get build info files - default foundry', async t => {
313
313
  assertBuildInfoFiles(t, buildInfoFiles);
314
314
  });
315
315
 
316
+ test.serial('get build info files - Foundry format success path', async t => {
317
+ const dir = 'foundry-format-success';
318
+
319
+ await fs.mkdir(dir, { recursive: true });
320
+ await fs.writeFile(
321
+ `${dir}/build-info.json`,
322
+ JSON.stringify({
323
+ _format: 'ethers-rs-sol-build-info-1',
324
+ ...BUILD_INFO,
325
+ }),
326
+ );
327
+
328
+ const buildInfoFiles = await getBuildInfoFiles(dir);
329
+
330
+ t.is(buildInfoFiles.length, 1);
331
+ t.is(buildInfoFiles[0]?.dirShortName, dir);
332
+ t.is(buildInfoFiles[0]?.solcVersion, BUILD_INFO.solcVersion);
333
+ t.deepEqual(buildInfoFiles[0]?.input, BUILD_INFO.input);
334
+ t.deepEqual(buildInfoFiles[0]?.output, BUILD_INFO.output);
335
+ });
336
+
337
+ test.serial('get build info files - Hardhat 3 split format success path', async t => {
338
+ const dir = 'hh3-format-success';
339
+
340
+ await fs.mkdir(dir, { recursive: true });
341
+ await fs.writeFile(
342
+ `${dir}/solc-0_8_9-abc123.json`,
343
+ JSON.stringify({
344
+ _format: 'hh3-sol-build-info-1',
345
+ input: BUILD_INFO.input,
346
+ solcVersion: BUILD_INFO.solcVersion,
347
+ }),
348
+ );
349
+ await fs.writeFile(
350
+ `${dir}/solc-0_8_9-abc123.output.json`,
351
+ JSON.stringify({
352
+ output: BUILD_INFO.output,
353
+ }),
354
+ );
355
+
356
+ const buildInfoFiles = await getBuildInfoFiles(dir);
357
+
358
+ t.is(buildInfoFiles.length, 1);
359
+ t.is(buildInfoFiles[0]?.dirShortName, dir);
360
+ t.is(buildInfoFiles[0]?.solcVersion, BUILD_INFO.solcVersion);
361
+ t.deepEqual(buildInfoFiles[0]?.input, BUILD_INFO.input);
362
+ t.deepEqual(buildInfoFiles[0]?.output, BUILD_INFO.output);
363
+ });
364
+
316
365
  test.serial('get build info files - both hardhat and foundry dirs exist', async t => {
317
366
  await fs.mkdir('artifacts/build-info', { recursive: true });
318
367
  await fs.writeFile('artifacts/build-info/build-info.json', JSON.stringify(BUILD_INFO));
@@ -357,12 +406,105 @@ test.serial('get build info files - override with custom absolute path', async t
357
406
  assertBuildInfoFiles(t, buildInfoFiles);
358
407
  });
359
408
 
360
- test.serial('invalid build info file', async t => {
409
+ test.serial('generic invalid build info file', async t => {
361
410
  await fs.mkdir('invalid-build-info', { recursive: true });
362
411
 
363
412
  await fs.writeFile('invalid-build-info/invalid.json', JSON.stringify({ output: {} }));
364
413
  const error = await t.throwsAsync(getBuildInfoFiles('invalid-build-info'));
414
+ t.true(error?.message.includes('must include Solidity compiler input, output, and solcVersion'));
415
+ t.true(error?.message.includes('Got format: unknown'));
416
+ });
417
+
418
+ test.serial('Foundry format (ethers-rs) with missing output suggests forge clean && forge build', async t => {
419
+ await fs.mkdir('foundry-format-missing', { recursive: true });
420
+
421
+ await fs.writeFile(
422
+ 'foundry-format-missing/build.json',
423
+ JSON.stringify({
424
+ _format: 'ethers-rs-sol-build-info-1',
425
+ input: BUILD_INFO.input,
426
+ solcVersion: '0.8.31',
427
+ // output missing
428
+ }),
429
+ );
430
+ const error = await t.throwsAsync(getBuildInfoFiles('foundry-format-missing'));
365
431
  t.true(error?.message.includes('must contain Solidity compiler input, output, and solcVersion'));
432
+ t.true(error?.message.includes('ethers-rs-sol-build-info'));
433
+ t.true(error?.message.includes('forge clean && forge build'));
434
+ });
435
+
436
+ test.serial('Hardhat 3 format with missing input and solcVersion suggests hardhat compile', async t => {
437
+ await fs.mkdir('hh3-format-missing-input', { recursive: true });
438
+
439
+ await fs.writeFile(
440
+ 'hh3-format-missing-input/solc-0_8_0-abc123.json',
441
+ JSON.stringify({
442
+ _format: 'hh3-sol-build-info-1',
443
+ }),
444
+ );
445
+ const error = await t.throwsAsync(getBuildInfoFiles('hh3-format-missing-input'));
446
+ t.true(error?.message.includes('Hardhat 3 format'));
447
+ t.true(error?.message.includes('must contain input and solcVersion'));
448
+ t.true(error?.message.includes('hardhat compile'));
449
+ });
450
+
451
+ test.serial('Hardhat 3 format with missing .output.json suggests hardhat compile', async t => {
452
+ await fs.mkdir('hh3-format-missing-output', { recursive: true });
453
+
454
+ await fs.writeFile(
455
+ 'hh3-format-missing-output/solc-0_8_0-abc123.json',
456
+ JSON.stringify({
457
+ _format: 'hh3-sol-build-info-1',
458
+ input: BUILD_INFO.input,
459
+ solcVersion: '0.8.9',
460
+ // output in separate .output.json which we do not create
461
+ }),
462
+ );
463
+ const error = await t.throwsAsync(getBuildInfoFiles('hh3-format-missing-output'));
464
+ t.true(error?.message.includes('could not be read'));
465
+ t.false(error?.message.includes('missing Solidity compiler output'));
466
+ t.true(error?.message.includes('Hardhat 3'));
467
+ t.true(error?.message.includes('hardhat compile'));
468
+ });
469
+
470
+ test.serial('Hardhat 3 format with empty .output.json reports missing compiler output', async t => {
471
+ await fs.mkdir('hh3-format-empty-output', { recursive: true });
472
+
473
+ await fs.writeFile(
474
+ 'hh3-format-empty-output/solc-0_8_0-abc123.json',
475
+ JSON.stringify({
476
+ _format: 'hh3-sol-build-info-1',
477
+ input: BUILD_INFO.input,
478
+ solcVersion: '0.8.9',
479
+ }),
480
+ );
481
+ await fs.writeFile('hh3-format-empty-output/solc-0_8_0-abc123.output.json', JSON.stringify({}));
482
+
483
+ const error = await t.throwsAsync(getBuildInfoFiles('hh3-format-empty-output'));
484
+ t.true(error?.message.includes('missing Solidity compiler output'));
485
+ t.false(error?.message.includes('could not be read'));
486
+ t.true(error?.message.includes('Hardhat 3'));
487
+ t.true(error?.message.includes('hardhat compile'));
488
+ });
489
+
490
+ test.serial('Hardhat 2 format with missing output falls back to generic help', async t => {
491
+ await fs.mkdir('invalid-hh2-build-info', { recursive: true });
492
+
493
+ // Missing output but has an hh2-style _format with input and solcVersion.
494
+ await fs.writeFile(
495
+ 'invalid-hh2-build-info/invalid.json',
496
+ JSON.stringify({
497
+ _format: 'hh-sol-build-info-1',
498
+ input: BUILD_INFO.input,
499
+ solcVersion: '0.8.9',
500
+ // output missing
501
+ }),
502
+ );
503
+
504
+ const error = await t.throwsAsync(getBuildInfoFiles('invalid-hh2-build-info'));
505
+ t.true(error?.message.includes('must include Solidity compiler input, output, and solcVersion'));
506
+ t.true(error?.message.includes('invalid.json'));
507
+ t.false(error?.message.includes('Hardhat 3'));
366
508
  });
367
509
 
368
510
  test.serial('dir does not exist', async t => {
@@ -439,6 +581,74 @@ test.serial('no output selection', async t => {
439
581
  t.true(error?.message.includes('is not from a full compilation'));
440
582
  });
441
583
 
584
+ test.serial('Hardhat 3 format with userSourceNameMap remaps input and output sources', async t => {
585
+ const dir = 'hh3-source-name-map';
586
+
587
+ await fs.mkdir(dir, { recursive: true });
588
+ await fs.writeFile(
589
+ `${dir}/solc-0_8_9-abc123.json`,
590
+ JSON.stringify({
591
+ _format: 'hh3-sol-build-info-1',
592
+ solcVersion: '0.8.9',
593
+ input: {
594
+ language: 'Solidity',
595
+ sources: {
596
+ 'project/contracts/MyContract.sol': {
597
+ content: 'contract MyContract {}',
598
+ },
599
+ 'lib/Helper.sol': {
600
+ content: 'contract Helper {}',
601
+ },
602
+ },
603
+ settings: {
604
+ outputSelection: {
605
+ '*': {
606
+ '*': ['storageLayout'],
607
+ },
608
+ },
609
+ },
610
+ },
611
+ // Only maps project sources, not library sources
612
+ userSourceNameMap: {
613
+ 'contracts/MyContract.sol': 'project/contracts/MyContract.sol',
614
+ },
615
+ }),
616
+ );
617
+ await fs.writeFile(
618
+ `${dir}/solc-0_8_9-abc123.output.json`,
619
+ JSON.stringify({
620
+ sources: {
621
+ 'project/contracts/MyContract.sol': { ast: {}, id: 0 },
622
+ 'lib/Helper.sol': { ast: {}, id: 1 },
623
+ },
624
+ contracts: {
625
+ 'project/contracts/MyContract.sol': { MyContract: {} },
626
+ },
627
+ }),
628
+ );
629
+
630
+ const buildInfoFiles = await getBuildInfoFiles(dir);
631
+
632
+ t.is(buildInfoFiles.length, 1);
633
+ const file = buildInfoFiles[0];
634
+
635
+ const user = 'contracts/MyContract.sol';
636
+ const canonical = 'project/contracts/MyContract.sol';
637
+ const lib = 'lib/Helper.sol';
638
+
639
+ // Mapped: canonical paths replaced with user paths
640
+ t.truthy(file.input.sources[user]);
641
+ t.falsy(file.input.sources[canonical]);
642
+ t.truthy(file.output.sources[user]);
643
+ t.falsy(file.output.sources[canonical]);
644
+ t.truthy(file.output.contracts?.[user]);
645
+ t.falsy(file.output.contracts?.[canonical]);
646
+
647
+ // Unmapped: library deps preserved as-is
648
+ t.truthy(file.input.sources[lib]);
649
+ t.truthy(file.output.sources[lib]);
650
+ });
651
+
442
652
  function assertBuildInfoFiles(t: ExecutionContext, buildInfoFiles: BuildInfoFile[]) {
443
653
  t.is(buildInfoFiles.length, 2);
444
654
 
@@ -151,6 +151,23 @@ async function readBuildInfo(buildInfoFilePaths: string[], dirShortName: string)
151
151
  return buildInfoFiles;
152
152
  }
153
153
 
154
+ const FOUNDRY_BUILD_INFO_HELP = `\
155
+ Foundry build-info files must contain Solidity compiler input, output, and solcVersion.
156
+ Ensure foundry.toml has:
157
+ [profile.default]
158
+ build_info = true
159
+ extra_output = ["storageLayout"]
160
+ Then run: ${FOUNDRY_COMPILE_COMMAND}`;
161
+
162
+ const HH3_BUILD_INFO_HELP = `\
163
+ Hardhat 3's build-info uses a main .json file (input, solcVersion) and a separate .output.json (output).
164
+ Ensure you compile with Hardhat 3 so that artifacts/build-info/ contains both the main files and the .output.json files.
165
+ Run: ${HARDHAT_COMPILE_COMMAND}`;
166
+
167
+ const GENERIC_BUILD_INFO_HELP = `\
168
+ If using Foundry, ensure foundry.toml has build_info = true and extra_output = ["storageLayout"], then compile with '${FOUNDRY_COMPILE_COMMAND}'.
169
+ If using Hardhat, compile with '${HARDHAT_COMPILE_COMMAND}'.`;
170
+
154
171
  async function loadBuildInfo(buildInfoFilePath: string): Promise<{
155
172
  input: SolcInput;
156
173
  output: SolcOutput;
@@ -172,75 +189,93 @@ async function loadBuildInfo(buildInfoFilePath: string): Promise<{
172
189
 
173
190
  const format = buildInfoJson._format as string | undefined;
174
191
 
175
- if (
176
- typeof format === 'string' &&
177
- (format.startsWith('hh3-sol-build-info') || format.startsWith('hh-sol-build-info'))
178
- ) {
179
- if (buildInfoJson.input !== undefined && buildInfoJson.solcVersion !== undefined) {
180
- let inputData: SolcInput = buildInfoJson.input;
181
- let outputData: SolcOutput | undefined = buildInfoJson.output;
182
-
183
- if (outputData === undefined) {
184
- const { dir, name } = path.parse(buildInfoFilePath);
185
- const outputFilePath = path.join(dir, `${name}.output.json`);
186
-
187
- try {
188
- const outputJson = await readJSON(outputFilePath);
189
- outputData = outputJson.output ?? outputJson;
190
- } catch (error) {
191
- throw new ValidateCommandError(
192
- `Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} could not be read.`,
193
- );
194
- }
195
-
196
- if (outputData === undefined) {
197
- throw new ValidateCommandError(
198
- `Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} is missing Solidity compiler output.`,
199
- );
200
- }
192
+ // Foundry (ethers-rs-sol-build-info-1) normally has input, output, solcVersion at top level.
193
+ // If we reach here with Foundry format, a field is missing — suggest recompiling.
194
+ if (typeof format === 'string' && format.startsWith('ethers-rs-sol-build-info')) {
195
+ throw new ValidateCommandError(
196
+ `Build info file ${buildInfoFilePath} must contain Solidity compiler input, output, and solcVersion. Got format: ${format}.`,
197
+ () => FOUNDRY_BUILD_INFO_HELP,
198
+ );
199
+ }
200
+
201
+ if (typeof format === 'string' && format.startsWith('hh3-sol-build-info')) {
202
+ if (buildInfoJson.input === undefined || buildInfoJson.solcVersion === undefined) {
203
+ throw new ValidateCommandError(
204
+ `Build info file ${buildInfoFilePath} (Hardhat 3 format) must contain input and solcVersion. Got format: ${format}.`,
205
+ () => HH3_BUILD_INFO_HELP,
206
+ );
207
+ }
208
+ let inputData: SolcInput = buildInfoJson.input;
209
+ let outputData: SolcOutput | undefined = buildInfoJson.output;
210
+
211
+ if (outputData === undefined) {
212
+ const { dir, name } = path.parse(buildInfoFilePath);
213
+ const outputFilePath = path.join(dir, `${name}.output.json`);
214
+
215
+ try {
216
+ const outputJson = await readJSON(outputFilePath);
217
+ outputData = outputJson.output ?? outputJson;
218
+ } catch (error) {
219
+ throw new ValidateCommandError(
220
+ `Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} could not be read.`,
221
+ () => HH3_BUILD_INFO_HELP,
222
+ );
223
+ }
224
+
225
+ if (
226
+ outputData === undefined ||
227
+ outputData === null ||
228
+ typeof outputData !== 'object' ||
229
+ (!('sources' in outputData) && !('contracts' in outputData) && !('errors' in outputData))
230
+ ) {
231
+ throw new ValidateCommandError(
232
+ `Build info file ${buildInfoFilePath} does not contain output, and output file ${outputFilePath} is missing Solidity compiler output.`,
233
+ () => HH3_BUILD_INFO_HELP,
234
+ );
235
+ }
236
+ }
237
+
238
+ const userSourceNameMap: Record<string, string> | undefined = buildInfoJson.userSourceNameMap;
239
+ if (userSourceNameMap !== undefined) {
240
+ const canonicalToUser: Record<string, string> = {};
241
+ for (const [userSource, canonicalSource] of Object.entries(userSourceNameMap)) {
242
+ canonicalToUser[canonicalSource] = userSource;
201
243
  }
202
244
 
203
- const userSourceNameMap: Record<string, string> | undefined = buildInfoJson.userSourceNameMap;
204
- if (userSourceNameMap !== undefined) {
205
- const canonicalToUser: Record<string, string> = {};
206
- for (const [userSource, canonicalSource] of Object.entries(userSourceNameMap)) {
207
- canonicalToUser[canonicalSource] = userSource;
208
- }
209
-
210
- if (inputData.sources !== undefined) {
211
- inputData = {
212
- ...inputData,
213
- sources: remapKeys(inputData.sources, canonicalToUser),
214
- };
215
- }
216
-
217
- if (outputData.sources !== undefined) {
218
- outputData = {
219
- ...outputData,
220
- sources: remapKeys(outputData.sources, canonicalToUser),
221
- contracts:
222
- outputData.contracts !== undefined
223
- ? remapKeys(outputData.contracts, canonicalToUser)
224
- : outputData.contracts,
225
- };
226
- } else if (outputData.contracts !== undefined) {
227
- outputData = {
228
- ...outputData,
229
- contracts: remapKeys(outputData.contracts, canonicalToUser),
230
- };
231
- }
245
+ if (inputData.sources !== undefined) {
246
+ inputData = {
247
+ ...inputData,
248
+ sources: remapKeys(inputData.sources, canonicalToUser),
249
+ };
232
250
  }
233
251
 
234
- return {
235
- input: inputData,
236
- output: outputData,
237
- solcVersion: buildInfoJson.solcVersion,
238
- };
252
+ if (outputData.sources !== undefined) {
253
+ outputData = {
254
+ ...outputData,
255
+ sources: remapKeys(outputData.sources, canonicalToUser),
256
+ contracts:
257
+ outputData.contracts !== undefined
258
+ ? remapKeys(outputData.contracts, canonicalToUser)
259
+ : outputData.contracts,
260
+ };
261
+ } else if (outputData.contracts !== undefined) {
262
+ outputData = {
263
+ ...outputData,
264
+ contracts: remapKeys(outputData.contracts, canonicalToUser),
265
+ };
266
+ }
239
267
  }
268
+
269
+ return {
270
+ input: inputData,
271
+ output: outputData,
272
+ solcVersion: buildInfoJson.solcVersion,
273
+ };
240
274
  }
241
275
 
242
276
  throw new ValidateCommandError(
243
- `Build info file ${buildInfoFilePath} must contain Solidity compiler input, output, and solcVersion. Got format: ${format ?? 'unknown'}.`,
277
+ `Build info from ${buildInfoFilePath} must include Solidity compiler input, output, and solcVersion. Got format: ${format ?? 'unknown'}.`,
278
+ () => GENERIC_BUILD_INFO_HELP,
244
279
  );
245
280
  }
246
281
 
package/src/provider.ts CHANGED
@@ -141,6 +141,7 @@ export const networkNames: { [chainId in number]?: string } = Object.freeze({
141
141
  42161: 'arbitrum-one',
142
142
  42170: 'arbitrum-nova',
143
143
  421613: 'arbitrum-goerli',
144
+ 421614: 'arbitrum-sepolia',
144
145
  43113: 'avalanche-fuji',
145
146
  43114: 'avalanche',
146
147
  42220: 'celo',