@openzeppelin/upgrades-core 1.30.0 → 1.31.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.
Files changed (50) hide show
  1. package/dist/cli/cli.test.js +51 -0
  2. package/dist/cli/cli.test.js.map +1 -1
  3. package/dist/cli/validate/contract-report.d.ts +1 -1
  4. package/dist/cli/validate/contract-report.d.ts.map +1 -1
  5. package/dist/cli/validate/contract-report.js +4 -1
  6. package/dist/cli/validate/contract-report.js.map +1 -1
  7. package/dist/cli/validate/project-report.d.ts +3 -2
  8. package/dist/cli/validate/project-report.d.ts.map +1 -1
  9. package/dist/cli/validate/project-report.js +12 -6
  10. package/dist/cli/validate/project-report.js.map +1 -1
  11. package/dist/cli/validate/project-report.test.js +1 -1
  12. package/dist/cli/validate/project-report.test.js.map +1 -1
  13. package/dist/cli/validate/validate-upgrade-safety.d.ts +5 -1
  14. package/dist/cli/validate/validate-upgrade-safety.d.ts.map +1 -1
  15. package/dist/cli/validate/validate-upgrade-safety.js +18 -5
  16. package/dist/cli/validate/validate-upgrade-safety.js.map +1 -1
  17. package/dist/cli/validate/validate-upgrade-safety.test.js +8 -0
  18. package/dist/cli/validate/validate-upgrade-safety.test.js.map +1 -1
  19. package/dist/cli/validate/validations.test.js +2 -1
  20. package/dist/cli/validate/validations.test.js.map +1 -1
  21. package/dist/cli/validate.d.ts.map +1 -1
  22. package/dist/cli/validate.js +15 -6
  23. package/dist/cli/validate.js.map +1 -1
  24. package/dist/index.d.ts +1 -0
  25. package/dist/index.d.ts.map +1 -1
  26. package/dist/index.js +3 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/storage/namespace.d.ts +1 -0
  29. package/dist/storage/namespace.d.ts.map +1 -1
  30. package/dist/storage/namespace.js +29 -1
  31. package/dist/storage/namespace.js.map +1 -1
  32. package/dist/validate/run.d.ts.map +1 -1
  33. package/dist/validate/run.js +1 -25
  34. package/dist/validate/run.js.map +1 -1
  35. package/package.json +2 -2
  36. package/src/cli/cli.test.ts +76 -0
  37. package/src/cli/cli.test.ts.md +65 -9
  38. package/src/cli/cli.test.ts.snap +0 -0
  39. package/src/cli/validate/contract-report.ts +6 -2
  40. package/src/cli/validate/project-report.test.ts +1 -1
  41. package/src/cli/validate/project-report.test.ts.md +1 -1
  42. package/src/cli/validate/project-report.test.ts.snap +0 -0
  43. package/src/cli/validate/project-report.ts +18 -8
  44. package/src/cli/validate/validate-upgrade-safety.test.ts +13 -1
  45. package/src/cli/validate/validate-upgrade-safety.ts +20 -6
  46. package/src/cli/validate/validations.test.ts +2 -1
  47. package/src/cli/validate.ts +15 -6
  48. package/src/index.ts +1 -0
  49. package/src/storage/namespace.ts +5 -0
  50. package/src/validate/run.ts +2 -3
@@ -125,6 +125,50 @@ async function getTempDir(t) {
125
125
  const error = await t.throwsAsync(execAsync(`${CLI} validate ${temp} --contract BecomesBadLayout --reference NonExistent`));
126
126
  t.true(error?.message.includes('Could not find contract NonExistent.'), error?.message);
127
127
  });
128
+ (0, ava_1.default)('validate - requireReference - no contract option', async (t) => {
129
+ const temp = await getTempDir(t);
130
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Validate.sol:StorageV1`);
131
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
132
+ const error = await t.throwsAsync(execAsync(`${CLI} validate ${temp} --requireReference`));
133
+ t.true(error?.message.includes('The --requireReference option can only be used along with the --contract option.'), error?.message);
134
+ });
135
+ (0, ava_1.default)('validate - requireReference - no reference, no upgradesFrom', async (t) => {
136
+ const temp = await getTempDir(t);
137
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Validate.sol:StorageV1`);
138
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
139
+ const error = await t.throwsAsync(execAsync(`${CLI} validate ${temp} --contract StorageV1 --requireReference`));
140
+ t.true(error?.message.includes('does not specify what contract it upgrades from'), error?.message);
141
+ });
142
+ (0, ava_1.default)('validate - requireReference - no reference, has upgradesFrom - safe', async (t) => {
143
+ const temp = await getTempDir(t);
144
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Validate.sol:BecomesSafe`);
145
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
146
+ const output = (await execAsync(`${CLI} validate ${temp} --contract BecomesSafe --requireReference`)).stdout;
147
+ t.snapshot(output);
148
+ });
149
+ (0, ava_1.default)('validate - requireReference - no reference, has upgradesFrom - unsafe', async (t) => {
150
+ const temp = await getTempDir(t);
151
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Validate.sol:BecomesBadLayout`);
152
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
153
+ const error = await t.throwsAsync(execAsync(`${CLI} validate ${temp} --contract BecomesBadLayout --requireReference`));
154
+ const expectation = [`Stdout: ${error.stdout}`, `Stderr: ${error.stderr}`];
155
+ t.snapshot(expectation.join('\n'));
156
+ });
157
+ (0, ava_1.default)('validate - requireReference - has reference - unsafe', async (t) => {
158
+ const temp = await getTempDir(t);
159
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Validate.sol:StorageV2_Bad_NoAnnotation`);
160
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
161
+ const error = await t.throwsAsync(execAsync(`${CLI} validate ${temp} --contract StorageV2_Bad_NoAnnotation --reference StorageV1 --requireReference`));
162
+ const expectation = [`Stdout: ${error.stdout}`, `Stderr: ${error.stderr}`];
163
+ t.snapshot(expectation.join('\n'));
164
+ });
165
+ (0, ava_1.default)('validate - requireReference - has reference - safe', async (t) => {
166
+ const temp = await getTempDir(t);
167
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Validate.sol:StorageV2_Ok_NoAnnotation`);
168
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
169
+ const output = (await execAsync(`${CLI} validate ${temp} --contract StorageV2_Ok_NoAnnotation --reference StorageV1 --requireReference`)).stdout;
170
+ t.snapshot(output);
171
+ });
128
172
  (0, ava_1.default)('validate - no upgradeable', async (t) => {
129
173
  const temp = await getTempDir(t);
130
174
  const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Storage088.sol:Storage088`);
@@ -139,4 +183,11 @@ async function getTempDir(t) {
139
183
  const output = (await execAsync(`${CLI} validate ${temp}`)).stdout;
140
184
  t.snapshot(output);
141
185
  });
186
+ (0, ava_1.default)('validate - single contract - ok', async (t) => {
187
+ const temp = await getTempDir(t);
188
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo(`contracts/test/cli/Annotation.sol:Annotation`);
189
+ await fs_1.promises.writeFile(path_1.default.join(temp, 'validate.json'), JSON.stringify(buildInfo));
190
+ const output = (await execAsync(`${CLI} validate ${temp} --contract Annotation`)).stdout;
191
+ t.snapshot(output);
192
+ });
142
193
  //# sourceMappingURL=cli.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../src/cli/cli.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.test.js","sourceRoot":"","sources":["../../src/cli/cli.test.ts"],"names":[],"mappings":"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"}
@@ -29,5 +29,5 @@ export declare class UpgradeableContractReport implements Report {
29
29
  * @param specifiedContracts If provided, only the specified contract (upgrading from its reference contract) will be reported.
30
30
  * @returns The upgradeable contract reports.
31
31
  */
32
- export declare function getContractReports(sourceContracts: SourceContract[], opts: ValidateUpgradeSafetyOptions, specifiedContracts?: SpecifiedContracts): UpgradeableContractReport[];
32
+ export declare function getContractReports(sourceContracts: SourceContract[], opts: Required<ValidateUpgradeSafetyOptions>, specifiedContracts?: SpecifiedContracts): UpgradeableContractReport[];
33
33
  //# sourceMappingURL=contract-report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"contract-report.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/contract-report.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,4BAA4B,EAE5B,8BAA8B,EAE/B,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,MAAM;IAEpD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IACtC,QAAQ,CAAC,gBAAgB,EAAE,8BAA8B;IACzD,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,GAAG,SAAS;gBAH1D,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,8BAA8B,EAChD,mBAAmB,EAAE,yBAAyB,GAAG,SAAS;IAGrE,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,UAAO,GAAG,MAAM;CAiB9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,cAAc,EAAE,EACjC,IAAI,EAAE,4BAA4B,EAClC,kBAAkB,CAAC,EAAE,kBAAkB,+BAuBxC"}
1
+ {"version":3,"file":"contract-report.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/contract-report.ts"],"names":[],"mappings":"AAEA,OAAO,EAOL,4BAA4B,EAE5B,8BAA8B,EAE/B,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAEjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D;;;GAGG;AACH,qBAAa,yBAA0B,YAAW,MAAM;IAEpD,QAAQ,CAAC,QAAQ,EAAE,MAAM;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS;IACtC,QAAQ,CAAC,gBAAgB,EAAE,8BAA8B;IACzD,QAAQ,CAAC,mBAAmB,EAAE,yBAAyB,GAAG,SAAS;gBAH1D,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,GAAG,SAAS,EAC7B,gBAAgB,EAAE,8BAA8B,EAChD,mBAAmB,EAAE,yBAAyB,GAAG,SAAS;IAGrE,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED;;OAEG;IACH,OAAO,CAAC,KAAK,UAAO,GAAG,MAAM;CAiB9B;AAED;;;;;;;;;GASG;AACH,wBAAgB,kBAAkB,CAChC,eAAe,EAAE,cAAc,EAAE,EACjC,IAAI,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAC5C,kBAAkB,CAAC,EAAE,kBAAkB,+BA2BxC"}
@@ -61,7 +61,10 @@ function getContractReports(sourceContracts, opts, specifiedContracts) {
61
61
  const contractsToReport = specifiedContracts !== undefined ? [specifiedContracts.contract] : sourceContracts;
62
62
  for (const sourceContract of contractsToReport) {
63
63
  const upgradeabilityAssessment = (0, upgradeability_assessment_1.getUpgradeabilityAssessment)(sourceContract, sourceContracts, specifiedContracts?.reference);
64
- if (specifiedContracts !== undefined || upgradeabilityAssessment.upgradeable) {
64
+ if (opts.requireReference && upgradeabilityAssessment.referenceContract === undefined) {
65
+ throw new Error(`The contract ${sourceContract.fullyQualifiedName} does not specify what contract it upgrades from. Add the \`@custom:oz-upgrades-from <REFERENCE_CONTRACT>\` annotation to the contract, or include the reference contract name when running the validate command or function.`);
66
+ }
67
+ else if (specifiedContracts !== undefined || upgradeabilityAssessment.upgradeable) {
65
68
  const reference = upgradeabilityAssessment.referenceContract;
66
69
  const kind = upgradeabilityAssessment.uups ? 'uups' : 'transparent';
67
70
  const report = getUpgradeableContractReport(sourceContract, reference, { ...opts, kind: kind });
@@ -1 +1 @@
1
- {"version":3,"file":"contract-report.js","sourceRoot":"","sources":["../../../src/cli/validate/contract-report.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract-report.js","sourceRoot":"","sources":["../../../src/cli/validate/contract-report.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,8 @@ import { UpgradeableContractReport } from './contract-report';
2
2
  import { Report } from '../../standalone';
3
3
  export declare class ProjectReport implements Report {
4
4
  readonly upgradeableContractReports: UpgradeableContractReport[];
5
- constructor(upgradeableContractReports: UpgradeableContractReport[]);
5
+ readonly specifiedContract?: boolean | undefined;
6
+ constructor(upgradeableContractReports: UpgradeableContractReport[], specifiedContract?: boolean | undefined);
6
7
  get ok(): boolean;
7
8
  explain(color?: boolean): string;
8
9
  /**
@@ -14,5 +15,5 @@ export declare class ProjectReport implements Report {
14
15
  */
15
16
  get numTotal(): number;
16
17
  }
17
- export declare function getProjectReport(upgradeableContractReports: UpgradeableContractReport[]): ProjectReport;
18
+ export declare function getProjectReport(upgradeableContractReports: UpgradeableContractReport[], specifiedContract?: boolean): ProjectReport;
18
19
  //# sourceMappingURL=project-report.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-report.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/project-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBAAa,aAAc,YAAW,MAAM;IAC9B,QAAQ,CAAC,0BAA0B,EAAE,yBAAyB,EAAE;gBAAvD,0BAA0B,EAAE,yBAAyB,EAAE;IAE5E,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,OAAO,CAAC,KAAK,UAAO,GAAG,MAAM;IAgB7B;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;CACF;AAED,wBAAgB,gBAAgB,CAAC,0BAA0B,EAAE,yBAAyB,EAAE,GAAG,aAAa,CAEvG"}
1
+ {"version":3,"file":"project-report.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/project-report.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,qBAAa,aAAc,YAAW,MAAM;IAExC,QAAQ,CAAC,0BAA0B,EAAE,yBAAyB,EAAE;IAChE,QAAQ,CAAC,iBAAiB,CAAC;gBADlB,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,iBAAiB,CAAC,qBAAS;IAGtC,IAAI,EAAE,IAAI,OAAO,CAEhB;IAED,OAAO,CAAC,KAAK,UAAO,GAAG,MAAM;IAoB7B;;OAEG;IACH,IAAI,SAAS,IAAI,MAAM,CAEtB;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,CAErB;CACF;AAED,wBAAgB,gBAAgB,CAC9B,0BAA0B,EAAE,yBAAyB,EAAE,EACvD,iBAAiB,CAAC,EAAE,OAAO,GAC1B,aAAa,CAEf"}
@@ -2,8 +2,9 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getProjectReport = exports.ProjectReport = void 0;
4
4
  class ProjectReport {
5
- constructor(upgradeableContractReports) {
5
+ constructor(upgradeableContractReports, specifiedContract) {
6
6
  this.upgradeableContractReports = upgradeableContractReports;
7
+ this.specifiedContract = specifiedContract;
7
8
  }
8
9
  get ok() {
9
10
  return this.upgradeableContractReports.every(r => r.ok);
@@ -14,10 +15,15 @@ class ProjectReport {
14
15
  }
15
16
  else {
16
17
  const lines = this.upgradeableContractReports.map(r => r.explain(color));
17
- const numFailed = this.numTotal - this.numPassed;
18
- const plural = numFailed === 1 ? '' : 's';
19
18
  const status = this.ok ? 'SUCCESS' : 'FAILED';
20
- lines.push(`${status} (${this.numTotal} upgradeable contract${plural} detected, ${this.numPassed} passed, ${numFailed} failed)`);
19
+ if (this.specifiedContract) {
20
+ lines.push(`${status}`);
21
+ }
22
+ else {
23
+ const numFailed = this.numTotal - this.numPassed;
24
+ const plural = this.numTotal === 1 ? '' : 's';
25
+ lines.push(`${status} (${this.numTotal} upgradeable contract${plural} detected, ${this.numPassed} passed, ${numFailed} failed)`);
26
+ }
21
27
  return lines.join('\n\n');
22
28
  }
23
29
  }
@@ -35,8 +41,8 @@ class ProjectReport {
35
41
  }
36
42
  }
37
43
  exports.ProjectReport = ProjectReport;
38
- function getProjectReport(upgradeableContractReports) {
39
- return new ProjectReport(upgradeableContractReports);
44
+ function getProjectReport(upgradeableContractReports, specifiedContract) {
45
+ return new ProjectReport(upgradeableContractReports, specifiedContract);
40
46
  }
41
47
  exports.getProjectReport = getProjectReport;
42
48
  //# sourceMappingURL=project-report.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project-report.js","sourceRoot":"","sources":["../../../src/cli/validate/project-report.ts"],"names":[],"mappings":";;;AAGA,MAAa,aAAa;IACxB,YAAqB,0BAAuD;QAAvD,+BAA0B,GAA1B,0BAA0B,CAA6B;IAAG,CAAC;IAEhF,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,IAAI;QAClB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;YACvB,OAAO,oCAAoC,CAAC;SAC7C;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;YACjD,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAC1C,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAE9C,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,KAAK,IAAI,CAAC,QAAQ,wBAAwB,MAAM,cAAc,IAAI,CAAC,SAAS,YAAY,SAAS,UAAU,CACrH,CAAC;YACF,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;IAChD,CAAC;CACF;AApCD,sCAoCC;AAED,SAAgB,gBAAgB,CAAC,0BAAuD;IACtF,OAAO,IAAI,aAAa,CAAC,0BAA0B,CAAC,CAAC;AACvD,CAAC;AAFD,4CAEC"}
1
+ {"version":3,"file":"project-report.js","sourceRoot":"","sources":["../../../src/cli/validate/project-report.ts"],"names":[],"mappings":";;;AAGA,MAAa,aAAa;IACxB,YACW,0BAAuD,EACvD,iBAA2B;QAD3B,+BAA0B,GAA1B,0BAA0B,CAA6B;QACvD,sBAAiB,GAAjB,iBAAiB,CAAU;IACnC,CAAC;IAEJ,IAAI,EAAE;QACJ,OAAO,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,OAAO,CAAC,KAAK,GAAG,IAAI;QAClB,IAAI,IAAI,CAAC,QAAQ,KAAK,CAAC,EAAE;YACvB,OAAO,oCAAoC,CAAC;SAC7C;aAAM;YACL,MAAM,KAAK,GAAG,IAAI,CAAC,0BAA0B,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC;YACzE,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC;YAE9C,IAAI,IAAI,CAAC,iBAAiB,EAAE;gBAC1B,KAAK,CAAC,IAAI,CAAC,GAAG,MAAM,EAAE,CAAC,CAAC;aACzB;iBAAM;gBACL,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC;gBACjD,MAAM,MAAM,GAAG,IAAI,CAAC,QAAQ,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;gBAC9C,KAAK,CAAC,IAAI,CACR,GAAG,MAAM,KAAK,IAAI,CAAC,QAAQ,wBAAwB,MAAM,cAAc,IAAI,CAAC,SAAS,YAAY,SAAS,UAAU,CACrH,CAAC;aACH;YACD,OAAO,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;SAC3B;IACH,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC;IAClE,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,0BAA0B,CAAC,MAAM,CAAC;IAChD,CAAC;CACF;AA3CD,sCA2CC;AAED,SAAgB,gBAAgB,CAC9B,0BAAuD,EACvD,iBAA2B;IAE3B,OAAO,IAAI,aAAa,CAAC,0BAA0B,EAAE,iBAAiB,CAAC,CAAC;AAC1E,CAAC;AALD,4CAKC"}
@@ -47,7 +47,7 @@ test('get project report - ok - console', async (t) => {
47
47
  t.true(report.ok);
48
48
  t.is(report.numPassed, 1);
49
49
  t.is(report.numTotal, 1);
50
- t.regex(report.explain(), /SUCCESS \(1 upgradeable contracts detected, 1 passed, 0 failed\)/);
50
+ t.regex(report.explain(), /SUCCESS \(1 upgradeable contract detected, 1 passed, 0 failed\)/);
51
51
  });
52
52
  test('get project report - errors - console', async (t) => {
53
53
  const v1 = t.context.extractStorageLayout('StorageUpgrade_Replace_V1');
@@ -1 +1 @@
1
- {"version":3,"file":"project-report.test.js","sourceRoot":"","sources":["../../../src/cli/validate/project-report.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"project-report.test.js","sourceRoot":"","sources":["../../../src/cli/validate/project-report.test.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,9 @@ import { SourceContract } from './validations';
4
4
  /**
5
5
  * Validation options for upgrade safety checks.
6
6
  */
7
- export type ValidateUpgradeSafetyOptions = Omit<ValidationOptions, 'kind'>;
7
+ export type ValidateUpgradeSafetyOptions = Omit<ValidationOptions, 'kind'> & {
8
+ requireReference?: boolean;
9
+ };
8
10
  export type SpecifiedContracts = {
9
11
  contract: SourceContract;
10
12
  reference?: SourceContract;
@@ -20,4 +22,6 @@ export type SpecifiedContracts = {
20
22
  * @returns The project report.
21
23
  */
22
24
  export declare function validateUpgradeSafety(buildInfoDir?: string, contract?: string, reference?: string, opts?: ValidateUpgradeSafetyOptions): Promise<ProjectReport>;
25
+ export declare function findSpecifiedContracts(sourceContracts: SourceContract[], opts: Required<ValidateUpgradeSafetyOptions>, contractName?: string, referenceName?: string): SpecifiedContracts | undefined;
26
+ export declare function withCliDefaults(opts: ValidateUpgradeSafetyOptions): Required<ValidateUpgradeSafetyOptions>;
23
27
  //# sourceMappingURL=validate-upgrade-safety.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-upgrade-safety.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/validate-upgrade-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK1C,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAA8B,MAAM,eAAe,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,CAAC;AAE3E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,aAAa,CAAC,CAQxB"}
1
+ {"version":3,"file":"validate-upgrade-safety.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/validate-upgrade-safety.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAA0B,MAAM,OAAO,CAAC;AAKlE,OAAO,EAAE,aAAa,EAAoB,MAAM,kBAAkB,CAAC;AACnE,OAAO,EAAE,cAAc,EAA8B,MAAM,eAAe,CAAC;AAE3E;;GAEG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAAC,iBAAiB,EAAE,MAAM,CAAC,GAAG;IAC3E,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,QAAQ,EAAE,cAAc,CAAC;IACzB,SAAS,CAAC,EAAE,cAAc,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;GASG;AACH,wBAAsB,qBAAqB,CACzC,YAAY,CAAC,EAAE,MAAM,EACrB,QAAQ,CAAC,EAAE,MAAM,EACjB,SAAS,CAAC,EAAE,MAAM,EAClB,IAAI,GAAE,4BAAiC,GACtC,OAAO,CAAC,aAAa,CAAC,CAUxB;AAED,wBAAgB,sBAAsB,CACpC,eAAe,EAAE,cAAc,EAAE,EACjC,IAAI,EAAE,QAAQ,CAAC,4BAA4B,CAAC,EAC5C,YAAY,CAAC,EAAE,MAAM,EACrB,aAAa,CAAC,EAAE,MAAM,GACrB,kBAAkB,GAAG,SAAS,CAahC;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,4BAA4B,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAK1G"}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateUpgradeSafety = void 0;
3
+ exports.withCliDefaults = exports.findSpecifiedContracts = exports.validateUpgradeSafety = void 0;
4
+ const __1 = require("../..");
4
5
  const build_info_file_1 = require("./build-info-file");
5
6
  const contract_report_1 = require("./contract-report");
6
7
  const find_contract_1 = require("./find-contract");
@@ -17,14 +18,15 @@ const validations_1 = require("./validations");
17
18
  * @returns The project report.
18
19
  */
19
20
  async function validateUpgradeSafety(buildInfoDir, contract, reference, opts = {}) {
21
+ const allOpts = withCliDefaults(opts);
20
22
  const buildInfoFiles = await (0, build_info_file_1.getBuildInfoFiles)(buildInfoDir);
21
23
  const sourceContracts = (0, validations_1.validateBuildInfoContracts)(buildInfoFiles);
22
- const specifiedContracts = findSpecifiedContracts(sourceContracts, contract, reference);
23
- const contractReports = (0, contract_report_1.getContractReports)(sourceContracts, opts, specifiedContracts);
24
- return (0, project_report_1.getProjectReport)(contractReports);
24
+ const specifiedContracts = findSpecifiedContracts(sourceContracts, allOpts, contract, reference);
25
+ const contractReports = (0, contract_report_1.getContractReports)(sourceContracts, allOpts, specifiedContracts);
26
+ return (0, project_report_1.getProjectReport)(contractReports, specifiedContracts !== undefined);
25
27
  }
26
28
  exports.validateUpgradeSafety = validateUpgradeSafety;
27
- function findSpecifiedContracts(sourceContracts, contractName, referenceName) {
29
+ function findSpecifiedContracts(sourceContracts, opts, contractName, referenceName) {
28
30
  if (contractName !== undefined) {
29
31
  return {
30
32
  contract: (0, find_contract_1.findContract)(contractName, undefined, sourceContracts),
@@ -34,8 +36,19 @@ function findSpecifiedContracts(sourceContracts, contractName, referenceName) {
34
36
  else if (referenceName !== undefined) {
35
37
  throw new Error(`The reference option can only be specified when the contract option is also specified.`);
36
38
  }
39
+ else if (opts.requireReference) {
40
+ throw new Error(`The requireReference option can only be specified when the contract option is also specified.`);
41
+ }
37
42
  else {
38
43
  return undefined;
39
44
  }
40
45
  }
46
+ exports.findSpecifiedContracts = findSpecifiedContracts;
47
+ function withCliDefaults(opts) {
48
+ return {
49
+ ...(0, __1.withValidationDefaults)(opts),
50
+ requireReference: opts.requireReference ?? false,
51
+ };
52
+ }
53
+ exports.withCliDefaults = withCliDefaults;
41
54
  //# sourceMappingURL=validate-upgrade-safety.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-upgrade-safety.js","sourceRoot":"","sources":["../../../src/cli/validate/validate-upgrade-safety.ts"],"names":[],"mappings":";;;AAEA,uDAAsD;AACtD,uDAAuD;AACvD,mDAA+C;AAC/C,qDAAmE;AACnE,+CAA2E;AAY3E;;;;;;;;;GASG;AACI,KAAK,UAAU,qBAAqB,CACzC,YAAqB,EACrB,QAAiB,EACjB,SAAkB,EAClB,OAAqC,EAAE;IAEvC,MAAM,cAAc,GAAG,MAAM,IAAA,mCAAiB,EAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,wCAA0B,EAAC,cAAc,CAAC,CAAC;IAEnE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,eAAe,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAExF,MAAM,eAAe,GAAG,IAAA,oCAAkB,EAAC,eAAe,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;IACtF,OAAO,IAAA,iCAAgB,EAAC,eAAe,CAAC,CAAC;AAC3C,CAAC;AAbD,sDAaC;AAED,SAAS,sBAAsB,CAC7B,eAAiC,EACjC,YAAqB,EACrB,aAAsB;IAEtB,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO;YACL,QAAQ,EAAE,IAAA,4BAAY,EAAC,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC;YAChE,SAAS,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAY,EAAC,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7G,CAAC;KACH;SAAM,IAAI,aAAa,KAAK,SAAS,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;KAC3G;SAAM;QACL,OAAO,SAAS,CAAC;KAClB;AACH,CAAC"}
1
+ {"version":3,"file":"validate-upgrade-safety.js","sourceRoot":"","sources":["../../../src/cli/validate/validate-upgrade-safety.ts"],"names":[],"mappings":";;;AAAA,6BAAkE;AAElE,uDAAsD;AACtD,uDAAuD;AACvD,mDAA+C;AAC/C,qDAAmE;AACnE,+CAA2E;AAc3E;;;;;;;;;GASG;AACI,KAAK,UAAU,qBAAqB,CACzC,YAAqB,EACrB,QAAiB,EACjB,SAAkB,EAClB,OAAqC,EAAE;IAEvC,MAAM,OAAO,GAAG,eAAe,CAAC,IAAI,CAAC,CAAC;IAEtC,MAAM,cAAc,GAAG,MAAM,IAAA,mCAAiB,EAAC,YAAY,CAAC,CAAC;IAC7D,MAAM,eAAe,GAAG,IAAA,wCAA0B,EAAC,cAAc,CAAC,CAAC;IAEnE,MAAM,kBAAkB,GAAG,sBAAsB,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,CAAC,CAAC;IAEjG,MAAM,eAAe,GAAG,IAAA,oCAAkB,EAAC,eAAe,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IACzF,OAAO,IAAA,iCAAgB,EAAC,eAAe,EAAE,kBAAkB,KAAK,SAAS,CAAC,CAAC;AAC7E,CAAC;AAfD,sDAeC;AAED,SAAgB,sBAAsB,CACpC,eAAiC,EACjC,IAA4C,EAC5C,YAAqB,EACrB,aAAsB;IAEtB,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,OAAO;YACL,QAAQ,EAAE,IAAA,4BAAY,EAAC,YAAY,EAAE,SAAS,EAAE,eAAe,CAAC;YAChE,SAAS,EAAE,aAAa,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,4BAAY,EAAC,aAAa,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC,CAAC,CAAC,SAAS;SAC7G,CAAC;KACH;SAAM,IAAI,aAAa,KAAK,SAAS,EAAE;QACtC,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;KAC3G;SAAM,IAAI,IAAI,CAAC,gBAAgB,EAAE;QAChC,MAAM,IAAI,KAAK,CAAC,+FAA+F,CAAC,CAAC;KAClH;SAAM;QACL,OAAO,SAAS,CAAC;KAClB;AACH,CAAC;AAlBD,wDAkBC;AAED,SAAgB,eAAe,CAAC,IAAkC;IAChE,OAAO;QACL,GAAG,IAAA,0BAAsB,EAAC,IAAI,CAAC;QAC/B,gBAAgB,EAAE,IAAI,CAAC,gBAAgB,IAAI,KAAK;KACjD,CAAC;AACJ,CAAC;AALD,0CAKC"}
@@ -69,4 +69,12 @@ ava_1.default.after(async () => {
69
69
  t.true(error?.message.includes(`Invalid number of arguments for @custom:oz-upgrades annotation in contract ${fullyQualifiedName}.`));
70
70
  t.true(error?.message.includes('Found 1, expected 0'));
71
71
  });
72
+ (0, ava_1.default)('findSpecifiedContracts - requireReference option without contract', async (t) => {
73
+ try {
74
+ (0, validate_upgrade_safety_1.findSpecifiedContracts)([], (0, validate_upgrade_safety_1.withCliDefaults)({ requireReference: true }));
75
+ }
76
+ catch (e) {
77
+ t.true(e.message.includes('The requireReference option can only be specified when the contract option is also specified.'));
78
+ }
79
+ });
72
80
  //# sourceMappingURL=validate-upgrade-safety.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate-upgrade-safety.test.js","sourceRoot":"","sources":["../../../src/cli/validate/validate-upgrade-safety.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate-upgrade-safety.test.js","sourceRoot":"","sources":["../../../src/cli/validate/validate-upgrade-safety.test.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ const ava_1 = __importDefault(require("ava"));
7
7
  const hardhat_1 = require("hardhat");
8
8
  const validations_1 = require("./validations");
9
9
  const contract_report_1 = require("./contract-report");
10
+ const validate_upgrade_safety_1 = require("./validate-upgrade-safety");
10
11
  const test = ava_1.default;
11
12
  const SOURCE_FILE = 'contracts/test/cli/Validate.sol';
12
13
  test.before(async (t) => {
@@ -16,7 +17,7 @@ test.before(async (t) => {
16
17
  }
17
18
  else {
18
19
  const sourceContracts = (0, validations_1.validateBuildInfoContracts)([buildInfo]);
19
- t.context.reports = (0, contract_report_1.getContractReports)(sourceContracts, {});
20
+ t.context.reports = (0, contract_report_1.getContractReports)(sourceContracts, (0, validate_upgrade_safety_1.withCliDefaults)({}));
20
21
  }
21
22
  });
22
23
  function getReport(t, contractName) {
@@ -1 +1 @@
1
- {"version":3,"file":"validations.test.js","sourceRoot":"","sources":["../../../src/cli/validate/validations.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAsD;AAEtD,qCAAoC;AACpC,+CAA2D;AAC3D,uDAAkF;AAMlF,MAAM,IAAI,GAAG,aAAwB,CAAC;AAEtC,MAAM,WAAW,GAAG,iCAAiC,CAAC;AAEtD,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;IACpB,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,GAAG,WAAW,OAAO,CAAC,CAAC;IAEtE,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,CAAC,CAAC,IAAI,EAAE,CAAC;KACV;SAAM;QACL,MAAM,eAAe,GAAG,IAAA,wCAA0B,EAAC,CAAC,SAAS,CAAC,CAAC,CAAC;QAChE,CAAC,CAAC,OAAO,CAAC,OAAO,GAAG,IAAA,oCAAkB,EAAC,eAAe,EAAE,EAAE,CAAC,CAAC;KAC7D;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,SAAS,CAAC,CAA4B,EAAE,YAAoB;IACnE,OAAO,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,WAAW,IAAI,YAAY,EAAE,CAAC,CAAC;AACtF,CAAC;AAED,SAAS,YAAY,CACnB,CAA4B,EAC5B,MAA6C,EAC7C,KAA0B;IAE1B,IAAI,KAAK,KAAK,SAAS,EAAE;QACvB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;KAC9B;SAAM,IAAI,KAAK,KAAK,IAAI,EAAE;QACzB,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACnB,oEAAoE;QACpE,CAAC,CAAC,KAAK,CAAC,MAAO,CAAC,OAAO,EAAE,EAAE,GAAG,CAAC,CAAC;KACjC;SAAM,IAAI,KAAK,KAAK,KAAK,EAAE;QAC1B,CAAC,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC;QAC7B,CAAC,CAAC,KAAK,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;QACpB,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;KAC/B;AACH,CAAC;AAED,SAAS,SAAS,CAAC,IAAY,EAAE,KAA0B;IACzD,MAAM,iBAAiB,GAAG,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;IAC1F,MAAM,QAAQ,GAAG,CAAC,iBAAiB,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACrD,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,EAAE;QACjB,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAClC,YAAY,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;AACxB,SAAS,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;AACnC,SAAS,CAAC,gBAAgB,EAAE,SAAS,CAAC,CAAC;AACvC,SAAS,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;AAClC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;AAChC,SAAS,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;AAClD,SAAS,CAAC,wBAAwB,EAAE,KAAK,CAAC,CAAC;AAC3C,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACrC,SAAS,CAAC,yBAAyB,EAAE,IAAI,CAAC,CAAC;AAC3C,SAAS,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;AACjD,SAAS,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;AAC/B,SAAS,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;AACrC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;AAChC,SAAS,CAAC,qBAAqB,EAAE,SAAS,CAAC,CAAC;AAC5C,SAAS,CAAC,6BAA6B,EAAE,IAAI,CAAC,CAAC"}
1
+ {"version":3,"file":"validations.test.js","sourceRoot":"","sources":["../../../src/cli/validate/validations.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/cli/validate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,4BAA4B,EAAyB,MAAM,GAAG,CAAC;AAqBxE,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcxD;AA6BD,UAAU,YAAY;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,CAiBlG;AAkDD,wBAAgB,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAYpG"}
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/cli/validate.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,UAAU,CAAC;AAEhC,OAAO,EAAE,4BAA4B,EAAyB,MAAM,GAAG,CAAC;AAsBxE,wBAAsB,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC,CAcxD;AA8BD,UAAU,YAAY;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,QAAQ,CAAC,4BAA4B,CAAC,CAAC;CAC9C;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,YAAY,CAsBlG;AAmDD,wBAAgB,YAAY,CAAC,UAAU,EAAE,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,4BAA4B,CAAC,CAapG"}
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.withDefaults = exports.getFunctionArgs = exports.main = void 0;
7
7
  const minimist_1 = __importDefault(require("minimist"));
8
8
  const _1 = require(".");
9
- const __1 = require("..");
10
9
  const run_1 = require("../validate/run");
11
10
  const debug_1 = __importDefault(require("../utils/debug"));
11
+ const validate_upgrade_safety_1 = require("./validate/validate-upgrade-safety");
12
12
  const USAGE = 'Usage: npx @openzeppelin/upgrades-core validate [<BUILD_INFO_DIR>] [<OPTIONS>]';
13
13
  const DETAILS = `
14
14
  Detects upgradeable contracts from a build info directory and validates whether they are upgrade safe.
@@ -18,7 +18,8 @@ Arguments:
18
18
 
19
19
  Options:
20
20
  --contract <CONTRACT> The name or fully qualified name of the contract to validate. If not specified, all upgradeable contracts in the build info directory will be validated.
21
- --reference <REFERENCE_CONTRACT> The name or fully qualified name of the reference contract to use for storage layout comparisons. Can only be used along with the --contract option. If not specified, uses the @custom:oz-upgrades-from annotation in the contract that is being validated.
21
+ --reference <REFERENCE_CONTRACT> Can only be used when the --contract option is also provided. The name or fully qualified name of the reference contract to use for storage layout comparisons. If not specified, uses the @custom:oz-upgrades-from annotation if it is defined in the contract that is being validated.
22
+ --requireReference Can only be used when the --contract option is also provided. If specified, requires either the --reference option to be provided or the contract to have a @custom:oz-upgrades-from annotation.
22
23
  --unsafeAllow "<VALIDATION_ERRORS>" Selectively disable one or more validation errors. Comma-separated list with one or more of the following: ${run_1.errorKinds.join(', ')}
23
24
  --unsafeAllowRenames Configure storage layout check to allow variable renaming.
24
25
  --unsafeSkipStorageCheck Skips checking for storage layout compatibility errors. This is a dangerous option meant to be used as a last resort.`;
@@ -40,6 +41,7 @@ function parseArgs(args) {
40
41
  'unsafeSkipStorageCheck',
41
42
  'unsafeAllowCustomTypes',
42
43
  'unsafeAllowLinkedLibraries',
44
+ 'requireReference',
43
45
  ],
44
46
  string: ['unsafeAllow', 'contract', 'reference'],
45
47
  alias: { h: 'help' },
@@ -77,10 +79,15 @@ function getFunctionArgs(parsedArgs, extraArgs) {
77
79
  const buildInfoDir = extraArgs.length === 1 ? undefined : extraArgs[1];
78
80
  const contract = getAndValidateString(parsedArgs, 'contract');
79
81
  const reference = getAndValidateString(parsedArgs, 'reference');
80
- if (reference !== undefined && contract === undefined) {
81
- throw new Error('The --reference option can only be used along with the --contract option.');
82
- }
83
82
  const opts = withDefaults(parsedArgs);
83
+ if (contract === undefined) {
84
+ if (reference !== undefined) {
85
+ throw new Error('The --reference option can only be used along with the --contract option.');
86
+ }
87
+ else if (opts.requireReference) {
88
+ throw new Error('The --requireReference option can only be used along with the --contract option.');
89
+ }
90
+ }
84
91
  return { buildInfoDir, contract, reference, opts };
85
92
  }
86
93
  }
@@ -104,6 +111,7 @@ function validateOptions(parsedArgs) {
104
111
  'unsafeAllow',
105
112
  'contract',
106
113
  'reference',
114
+ 'requireReference',
107
115
  ].includes(key));
108
116
  if (invalidArgs.length > 0) {
109
117
  throw new Error(`Invalid options: ${invalidArgs.join(', ')}`);
@@ -128,8 +136,9 @@ function withDefaults(parsedArgs) {
128
136
  unsafeAllowCustomTypes: parsedArgs['unsafeAllowCustomTypes'],
129
137
  unsafeAllowLinkedLibraries: parsedArgs['unsafeAllowLinkedLibraries'],
130
138
  unsafeAllow: getUnsafeAllowKinds(parsedArgs['unsafeAllow']),
139
+ requireReference: parsedArgs['requireReference'],
131
140
  };
132
- return (0, __1.withValidationDefaults)(allOpts);
141
+ return (0, validate_upgrade_safety_1.withCliDefaults)(allOpts);
133
142
  }
134
143
  exports.withDefaults = withDefaults;
135
144
  //# sourceMappingURL=validate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/cli/validate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/cli/validate.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -23,4 +23,5 @@ export { BeaconProxyUnsupportedError, LoadProxyUnsupportedError, PrepareUpgradeU
23
23
  export { ValidateUpgradeSafetyOptions, validateUpgradeSafety, ProjectReport, ReferenceContractNotFound } from './cli';
24
24
  export { getUpgradeInterfaceVersion } from './upgrade-interface-version';
25
25
  export { makeNamespacedInput } from './utils/make-namespaced';
26
+ export { isNamespaceSupported } from './storage/namespace';
26
27
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC7F,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,qBAAqB,EACrB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,QAAQ,EACR,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAEtH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAC7F,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,qBAAqB,EACrB,WAAW,GACZ,MAAM,YAAY,CAAC;AACpB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,QAAQ,EACR,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAC9F,OAAO,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,qBAAqB,EACrB,+BAA+B,EAC/B,+BAA+B,EAC/B,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAE,4BAA4B,EAAE,qBAAqB,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,OAAO,CAAC;AAEtH,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAC9D,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC"}
package/dist/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.makeNamespacedInput = exports.getUpgradeInterfaceVersion = exports.ReferenceContractNotFound = exports.ProjectReport = exports.validateUpgradeSafety = exports.assertNotProxy = exports.PrepareUpgradeRequiresKindError = exports.ValidateUpdateRequiresKindError = exports.NoContractImportError = exports.ForceImportUnsupportedError = exports.DeployBeaconProxyKindError = exports.DeployBeaconProxyImplUnknownError = exports.DeployBeaconProxyUnsupportedError = exports.PrepareUpgradeUnsupportedError = exports.LoadProxyUnsupportedError = exports.BeaconProxyUnsupportedError = exports.addProxyToManifest = exports.isBeacon = exports.getImplementationAddressFromProxy = exports.getImplementationAddressFromBeacon = exports.isTransparentProxy = exports.isBeaconProxy = exports.isTransparentOrUUPSProxy = exports.UpgradeableContract = exports.detectProxyKind = exports.processProxyKind = exports.setProxyKind = exports.logWarning = exports.getStorageLayoutForAddress = exports.DeploymentNotFound = exports.migrateManifest = exports.Manifest = exports.isEmptySlot = exports.toFallbackEip1967Hash = exports.toEip1967Hash = exports.getImplementationAddress = exports.getBeaconAddress = exports.getAdminAddress = exports.EIP1967ImplementationNotFound = exports.EIP1967BeaconNotFound = exports.fetchOrDeployGetDeployment = exports.fetchOrDeployAdmin = exports.fetchOrDeploy = void 0;
17
+ exports.isNamespaceSupported = exports.makeNamespacedInput = exports.getUpgradeInterfaceVersion = exports.ReferenceContractNotFound = exports.ProjectReport = exports.validateUpgradeSafety = exports.assertNotProxy = exports.PrepareUpgradeRequiresKindError = exports.ValidateUpdateRequiresKindError = exports.NoContractImportError = exports.ForceImportUnsupportedError = exports.DeployBeaconProxyKindError = exports.DeployBeaconProxyImplUnknownError = exports.DeployBeaconProxyUnsupportedError = exports.PrepareUpgradeUnsupportedError = exports.LoadProxyUnsupportedError = exports.BeaconProxyUnsupportedError = exports.addProxyToManifest = exports.isBeacon = exports.getImplementationAddressFromProxy = exports.getImplementationAddressFromBeacon = exports.isTransparentProxy = exports.isBeaconProxy = exports.isTransparentOrUUPSProxy = exports.UpgradeableContract = exports.detectProxyKind = exports.processProxyKind = exports.setProxyKind = exports.logWarning = exports.getStorageLayoutForAddress = exports.DeploymentNotFound = exports.migrateManifest = exports.Manifest = exports.isEmptySlot = exports.toFallbackEip1967Hash = exports.toEip1967Hash = exports.getImplementationAddress = exports.getBeaconAddress = exports.getAdminAddress = exports.EIP1967ImplementationNotFound = exports.EIP1967BeaconNotFound = exports.fetchOrDeployGetDeployment = exports.fetchOrDeployAdmin = exports.fetchOrDeploy = void 0;
18
18
  __exportStar(require("./validate"), exports);
19
19
  var impl_store_1 = require("./impl-store");
20
20
  Object.defineProperty(exports, "fetchOrDeploy", { enumerable: true, get: function () { return impl_store_1.fetchOrDeploy; } });
@@ -83,4 +83,6 @@ var upgrade_interface_version_1 = require("./upgrade-interface-version");
83
83
  Object.defineProperty(exports, "getUpgradeInterfaceVersion", { enumerable: true, get: function () { return upgrade_interface_version_1.getUpgradeInterfaceVersion; } });
84
84
  var make_namespaced_1 = require("./utils/make-namespaced");
85
85
  Object.defineProperty(exports, "makeNamespacedInput", { enumerable: true, get: function () { return make_namespaced_1.makeNamespacedInput; } });
86
+ var namespace_1 = require("./storage/namespace");
87
+ Object.defineProperty(exports, "isNamespaceSupported", { enumerable: true, get: function () { return namespace_1.isNamespaceSupported; } });
86
88
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAA6F;AAApF,2GAAA,aAAa,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAAE,wHAAA,0BAA0B,OAAA;AACtE,4CAA0B;AAC1B,4CAA0B;AAC1B,uCASoB;AARlB,iHAAA,qBAAqB,OAAA;AACrB,yHAAA,6BAA6B,OAAA;AAC7B,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,yGAAA,aAAa,OAAA;AACb,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AAEb,6CAA2B;AAC3B,gDAA8B;AAC9B,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,0CAAwB;AAExB,uCAOoB;AAHlB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAGpB,qEAAuE;AAA9D,qIAAA,0BAA0B,OAAA;AAEnC,mEAAiD;AAEjD,mCAAyC;AAAhC,iGAAA,UAAU,OAAA;AACnB,2CAA+E;AAAtE,0GAAA,YAAY,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAExD,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAE5B,iDAA8F;AAArF,yHAAA,wBAAwB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AACpE,+CAAuG;AAA9F,kIAAA,kCAAkC,OAAA;AAAE,iIAAA,iCAAiC,OAAA;AAC9E,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AACjB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAE3B,6CAYuB;AAXrB,0HAAA,2BAA2B,OAAA;AAC3B,wHAAA,yBAAyB,OAAA;AACzB,6HAAA,8BAA8B,OAAA;AAC9B,gIAAA,iCAAiC,OAAA;AACjC,gIAAA,iCAAiC,OAAA;AACjC,yHAAA,0BAA0B,OAAA;AAC1B,0HAAA,2BAA2B,OAAA;AAC3B,oHAAA,qBAAqB,OAAA;AACrB,8HAAA,+BAA+B,OAAA;AAC/B,8HAAA,+BAA+B,OAAA;AAC/B,6GAAA,cAAc,OAAA;AAGhB,6BAAsH;AAA/E,4GAAA,qBAAqB,OAAA;AAAE,oGAAA,aAAa,OAAA;AAAE,gHAAA,yBAAyB,OAAA;AAEtG,yEAAyE;AAAhE,uIAAA,0BAA0B,OAAA;AACnC,2DAA8D;AAArD,sHAAA,mBAAmB,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAA6F;AAApF,2GAAA,aAAa,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAAE,wHAAA,0BAA0B,OAAA;AACtE,4CAA0B;AAC1B,4CAA0B;AAC1B,uCASoB;AARlB,iHAAA,qBAAqB,OAAA;AACrB,yHAAA,6BAA6B,OAAA;AAC7B,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,yGAAA,aAAa,OAAA;AACb,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AAEb,6CAA2B;AAC3B,gDAA8B;AAC9B,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,0CAAwB;AAExB,uCAOoB;AAHlB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAGpB,qEAAuE;AAA9D,qIAAA,0BAA0B,OAAA;AAEnC,mEAAiD;AAEjD,mCAAyC;AAAhC,iGAAA,UAAU,OAAA;AACnB,2CAA+E;AAAtE,0GAAA,YAAY,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAExD,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAE5B,iDAA8F;AAArF,yHAAA,wBAAwB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AACpE,+CAAuG;AAA9F,kIAAA,kCAAkC,OAAA;AAAE,iIAAA,iCAAiC,OAAA;AAC9E,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AACjB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAE3B,6CAYuB;AAXrB,0HAAA,2BAA2B,OAAA;AAC3B,wHAAA,yBAAyB,OAAA;AACzB,6HAAA,8BAA8B,OAAA;AAC9B,gIAAA,iCAAiC,OAAA;AACjC,gIAAA,iCAAiC,OAAA;AACjC,yHAAA,0BAA0B,OAAA;AAC1B,0HAAA,2BAA2B,OAAA;AAC3B,oHAAA,qBAAqB,OAAA;AACrB,8HAAA,+BAA+B,OAAA;AAC/B,8HAAA,+BAA+B,OAAA;AAC/B,6GAAA,cAAc,OAAA;AAGhB,6BAAsH;AAA/E,4GAAA,qBAAqB,OAAA;AAAE,oGAAA,aAAa,OAAA;AAAE,gHAAA,yBAAyB,OAAA;AAEtG,yEAAyE;AAAhE,uIAAA,0BAA0B,OAAA;AACnC,2DAA8D;AAArD,sHAAA,mBAAmB,OAAA;AAC5B,iDAA2D;AAAlD,iHAAA,oBAAoB,OAAA"}
@@ -31,4 +31,5 @@ export declare function loadNamespaces(decodeSrc: SrcDecoder, layout: StorageLay
31
31
  * @throws Error if the node has the annotation `@custom:storage-location` but it does not have exactly one argument.
32
32
  */
33
33
  export declare function getStorageLocationAnnotation(node: Node): string | undefined;
34
+ export declare function isNamespaceSupported(solcVersion: string): boolean;
34
35
  //# sourceMappingURL=namespace.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/storage/namespace.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,aAAa,EAA6B,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAkC,MAAM,WAAW,CAAC;AAG/E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,CAAC,EAAE,kBAAkB,QA+BvC;AA8ED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,sBAStD"}
1
+ {"version":3,"file":"namespace.d.ts","sourceRoot":"","sources":["../../src/storage/namespace.ts"],"names":[],"mappings":"AAGA,OAAO,EAAe,aAAa,EAA6B,MAAM,UAAU,CAAC;AACjF,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C,OAAO,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAkC,MAAM,WAAW,CAAC;AAI/E;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,UAAU,EACrB,MAAM,EAAE,aAAa,EACrB,WAAW,EAAE,kBAAkB,EAC/B,iBAAiB,CAAC,EAAE,kBAAkB,QA+BvC;AA8ED;;;;;;;;GAQG;AACH,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,IAAI,sBAStD;AAwGD,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,WAEvD"}