@openzeppelin/upgrades-core 1.29.0 → 1.30.1

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 (161) hide show
  1. package/dist/call-optional-signature.d.ts +3 -0
  2. package/dist/call-optional-signature.d.ts.map +1 -0
  3. package/dist/call-optional-signature.js +24 -0
  4. package/dist/call-optional-signature.js.map +1 -0
  5. package/dist/cli/validate/build-info-file.d.ts +4 -0
  6. package/dist/cli/validate/build-info-file.d.ts.map +1 -1
  7. package/dist/cli/validate/build-info-file.js +5 -2
  8. package/dist/cli/validate/build-info-file.js.map +1 -1
  9. package/dist/cli/validate/build-info-file.test.js +4 -1
  10. package/dist/cli/validate/build-info-file.test.js.map +1 -1
  11. package/dist/cli/validate/upgradeability-assessment.js +2 -6
  12. package/dist/cli/validate/upgradeability-assessment.js.map +1 -1
  13. package/dist/cli/validate/validations.d.ts.map +1 -1
  14. package/dist/cli/validate/validations.js +5 -4
  15. package/dist/cli/validate/validations.js.map +1 -1
  16. package/dist/impl-address.d.ts.map +1 -1
  17. package/dist/impl-address.js +9 -16
  18. package/dist/impl-address.js.map +1 -1
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.d.ts.map +1 -1
  21. package/dist/index.js +7 -1
  22. package/dist/index.js.map +1 -1
  23. package/dist/levenshtein.d.ts +6 -0
  24. package/dist/levenshtein.d.ts.map +1 -1
  25. package/dist/levenshtein.js.map +1 -1
  26. package/dist/solc-api.d.ts +14 -0
  27. package/dist/solc-api.d.ts.map +1 -1
  28. package/dist/standalone.d.ts +4 -1
  29. package/dist/standalone.d.ts.map +1 -1
  30. package/dist/standalone.js +6 -3
  31. package/dist/standalone.js.map +1 -1
  32. package/dist/standalone.test.js +17 -0
  33. package/dist/standalone.test.js.map +1 -1
  34. package/dist/storage/compare.d.ts +2 -1
  35. package/dist/storage/compare.d.ts.map +1 -1
  36. package/dist/storage/compare.js +25 -2
  37. package/dist/storage/compare.js.map +1 -1
  38. package/dist/storage/extract.d.ts +15 -3
  39. package/dist/storage/extract.d.ts.map +1 -1
  40. package/dist/storage/extract.js +48 -21
  41. package/dist/storage/extract.js.map +1 -1
  42. package/dist/storage/index.d.ts.map +1 -1
  43. package/dist/storage/index.js +15 -1
  44. package/dist/storage/index.js.map +1 -1
  45. package/dist/storage/layout.d.ts +1 -0
  46. package/dist/storage/layout.d.ts.map +1 -1
  47. package/dist/storage/layout.js.map +1 -1
  48. package/dist/storage/namespace.d.ts +35 -0
  49. package/dist/storage/namespace.d.ts.map +1 -0
  50. package/dist/storage/namespace.js +219 -0
  51. package/dist/storage/namespace.js.map +1 -0
  52. package/dist/storage/report.js +6 -0
  53. package/dist/storage/report.js.map +1 -1
  54. package/dist/storage-namespaced-conflicts-layout.test.d.ts +2 -0
  55. package/dist/storage-namespaced-conflicts-layout.test.d.ts.map +1 -0
  56. package/dist/storage-namespaced-conflicts-layout.test.js +69 -0
  57. package/dist/storage-namespaced-conflicts-layout.test.js.map +1 -0
  58. package/dist/storage-namespaced-conflicts.test.d.ts +2 -0
  59. package/dist/storage-namespaced-conflicts.test.d.ts.map +1 -0
  60. package/dist/storage-namespaced-conflicts.test.js +45 -0
  61. package/dist/storage-namespaced-conflicts.test.js.map +1 -0
  62. package/dist/storage-namespaced-layout.test.d.ts +2 -0
  63. package/dist/storage-namespaced-layout.test.d.ts.map +1 -0
  64. package/dist/storage-namespaced-layout.test.js +59 -0
  65. package/dist/storage-namespaced-layout.test.js.map +1 -0
  66. package/dist/storage-namespaced-outside-contract.test.d.ts +2 -0
  67. package/dist/storage-namespaced-outside-contract.test.d.ts.map +1 -0
  68. package/dist/storage-namespaced-outside-contract.test.js +22 -0
  69. package/dist/storage-namespaced-outside-contract.test.js.map +1 -0
  70. package/dist/storage-namespaced-solc-versions.test.d.ts +2 -0
  71. package/dist/storage-namespaced-solc-versions.test.d.ts.map +1 -0
  72. package/dist/storage-namespaced-solc-versions.test.js +42 -0
  73. package/dist/storage-namespaced-solc-versions.test.js.map +1 -0
  74. package/dist/storage-namespaced-udvt.test.d.ts +2 -0
  75. package/dist/storage-namespaced-udvt.test.d.ts.map +1 -0
  76. package/dist/storage-namespaced-udvt.test.js +130 -0
  77. package/dist/storage-namespaced-udvt.test.js.map +1 -0
  78. package/dist/storage-namespaced.test.d.ts +2 -0
  79. package/dist/storage-namespaced.test.d.ts.map +1 -0
  80. package/dist/storage-namespaced.test.js +132 -0
  81. package/dist/storage-namespaced.test.js.map +1 -0
  82. package/dist/upgrade-interface-version.d.ts +3 -0
  83. package/dist/upgrade-interface-version.d.ts.map +1 -0
  84. package/dist/upgrade-interface-version.js +25 -0
  85. package/dist/upgrade-interface-version.js.map +1 -0
  86. package/dist/upgrade-interface-version.test.d.ts +2 -0
  87. package/dist/upgrade-interface-version.test.d.ts.map +1 -0
  88. package/dist/upgrade-interface-version.test.js +32 -0
  89. package/dist/upgrade-interface-version.test.js.map +1 -0
  90. package/dist/utils/annotations.d.ts +4 -0
  91. package/dist/utils/annotations.d.ts.map +1 -1
  92. package/dist/utils/annotations.js +9 -1
  93. package/dist/utils/annotations.js.map +1 -1
  94. package/dist/utils/make-namespaced.d.ts +20 -0
  95. package/dist/utils/make-namespaced.d.ts.map +1 -0
  96. package/dist/utils/make-namespaced.js +131 -0
  97. package/dist/utils/make-namespaced.js.map +1 -0
  98. package/dist/utils/make-namespaced.test.d.ts +2 -0
  99. package/dist/utils/make-namespaced.test.d.ts.map +1 -0
  100. package/dist/utils/make-namespaced.test.js +59 -0
  101. package/dist/utils/make-namespaced.test.js.map +1 -0
  102. package/dist/utils/stabilize-layout.d.ts +11 -0
  103. package/dist/utils/stabilize-layout.d.ts.map +1 -1
  104. package/dist/utils/stabilize-layout.js +5 -0
  105. package/dist/utils/stabilize-layout.js.map +1 -1
  106. package/dist/validate/query.d.ts.map +1 -1
  107. package/dist/validate/query.js +4 -2
  108. package/dist/validate/query.js.map +1 -1
  109. package/dist/validate/run.d.ts +18 -2
  110. package/dist/validate/run.d.ts.map +1 -1
  111. package/dist/validate/run.js +80 -2
  112. package/dist/validate/run.js.map +1 -1
  113. package/package.json +3 -3
  114. package/src/call-optional-signature.ts +20 -0
  115. package/src/cli/validate/build-info-file.test.ts +4 -1
  116. package/src/cli/validate/build-info-file.ts +12 -2
  117. package/src/cli/validate/upgradeability-assessment.ts +1 -6
  118. package/src/cli/validate/validations.ts +6 -5
  119. package/src/impl-address.ts +9 -20
  120. package/src/index.ts +4 -0
  121. package/src/levenshtein.ts +7 -0
  122. package/src/solc-api.ts +14 -0
  123. package/src/standalone.test.ts +26 -0
  124. package/src/standalone.ts +6 -2
  125. package/src/storage/compare.ts +34 -2
  126. package/src/storage/extract.ts +68 -20
  127. package/src/storage/index.ts +22 -1
  128. package/src/storage/layout.ts +1 -0
  129. package/src/storage/namespace.ts +267 -0
  130. package/src/storage/report.ts +8 -0
  131. package/src/storage-0.8.test.ts.md +4 -0
  132. package/src/storage-0.8.test.ts.snap +0 -0
  133. package/src/storage-memory-0.5.test.ts.md +2 -0
  134. package/src/storage-memory-0.5.test.ts.snap +0 -0
  135. package/src/storage-namespaced-conflicts-layout.test.ts +96 -0
  136. package/src/storage-namespaced-conflicts-layout.test.ts.md +53 -0
  137. package/src/storage-namespaced-conflicts-layout.test.ts.snap +0 -0
  138. package/src/storage-namespaced-conflicts.test.ts +54 -0
  139. package/src/storage-namespaced-conflicts.test.ts.md +53 -0
  140. package/src/storage-namespaced-conflicts.test.ts.snap +0 -0
  141. package/src/storage-namespaced-layout.test.ts +77 -0
  142. package/src/storage-namespaced-layout.test.ts.md +67 -0
  143. package/src/storage-namespaced-layout.test.ts.snap +0 -0
  144. package/src/storage-namespaced-outside-contract.test.ts +24 -0
  145. package/src/storage-namespaced-solc-versions.test.ts +59 -0
  146. package/src/storage-namespaced-udvt.test.ts +160 -0
  147. package/src/storage-namespaced.test.ts +146 -0
  148. package/src/storage-namespaced.test.ts.md +89 -0
  149. package/src/storage-namespaced.test.ts.snap +0 -0
  150. package/src/storage.test.ts.md +2 -0
  151. package/src/storage.test.ts.snap +0 -0
  152. package/src/upgrade-interface-version.test.ts +37 -0
  153. package/src/upgrade-interface-version.ts +27 -0
  154. package/src/utils/annotations.ts +8 -0
  155. package/src/utils/make-namespaced.test.ts +74 -0
  156. package/src/utils/make-namespaced.test.ts.md +154 -0
  157. package/src/utils/make-namespaced.test.ts.snap +0 -0
  158. package/src/utils/make-namespaced.ts +154 -0
  159. package/src/utils/stabilize-layout.ts +5 -0
  160. package/src/validate/query.ts +4 -2
  161. package/src/validate/run.ts +108 -2
@@ -0,0 +1,3 @@
1
+ import { EthereumProvider } from './provider';
2
+ export declare function callOptionalSignature(provider: EthereumProvider, address: string, signature: string): Promise<string | undefined>;
3
+ //# sourceMappingURL=call-optional-signature.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-optional-signature.d.ts","sourceRoot":"","sources":["../src/call-optional-signature.ts"],"names":[],"mappings":"AACA,OAAO,EAAQ,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEpD,wBAAsB,qBAAqB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,+BAgBzG"}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.callOptionalSignature = void 0;
4
+ const ethereumjs_util_1 = require("ethereumjs-util");
5
+ const provider_1 = require("./provider");
6
+ async function callOptionalSignature(provider, address, signature) {
7
+ const data = '0x' + (0, ethereumjs_util_1.keccak256)(Buffer.from(signature)).toString('hex').slice(0, 8);
8
+ try {
9
+ return await (0, provider_1.call)(provider, address, data);
10
+ }
11
+ catch (e) {
12
+ if (e.message.includes('function selector was not recognized') ||
13
+ e.message.includes('invalid opcode') ||
14
+ e.message.includes('revert') ||
15
+ e.message.includes('execution error')) {
16
+ return undefined;
17
+ }
18
+ else {
19
+ throw e;
20
+ }
21
+ }
22
+ }
23
+ exports.callOptionalSignature = callOptionalSignature;
24
+ //# sourceMappingURL=call-optional-signature.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"call-optional-signature.js","sourceRoot":"","sources":["../src/call-optional-signature.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAC5C,yCAAoD;AAE7C,KAAK,UAAU,qBAAqB,CAAC,QAA0B,EAAE,OAAe,EAAE,SAAiB;IACxG,MAAM,IAAI,GAAG,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,IAAI;QACF,OAAO,MAAM,IAAA,eAAI,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;KAC5C;IAAC,OAAO,CAAM,EAAE;QACf,IACE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EACrC;YACA,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAhBD,sDAgBC"}
@@ -3,6 +3,10 @@ import { SolcOutput, SolcInput } from '../..';
3
3
  * A build info file containing Solidity compiler input and output JSON objects.
4
4
  */
5
5
  export interface BuildInfoFile {
6
+ /**
7
+ * The Solidity compiler version.
8
+ */
9
+ solcVersion: string;
6
10
  /**
7
11
  * The Solidity compiler input JSON object.
8
12
  */
@@ -1 +1 @@
1
- {"version":3,"file":"build-info-file.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/build-info-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA6B9C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,4BAI5D"}
1
+ {"version":3,"file":"build-info-file.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/build-info-file.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA6B9C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,KAAK,EAAE,SAAS,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;;GAKG;AACH,wBAAsB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,4BAI5D"}
@@ -91,8 +91,10 @@ async function readBuildInfo(buildInfoFilePaths) {
91
91
  const buildInfoFiles = [];
92
92
  for (const buildInfoFilePath of buildInfoFilePaths) {
93
93
  const buildInfoJson = await readJSON(buildInfoFilePath);
94
- if (buildInfoJson.input === undefined || buildInfoJson.output === undefined) {
95
- throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} must contain Solidity compiler input and output.`);
94
+ if (buildInfoJson.input === undefined ||
95
+ buildInfoJson.output === undefined ||
96
+ buildInfoJson.solcVersion === undefined) {
97
+ throw new error_1.ValidateCommandError(`Build info file ${buildInfoFilePath} must contain Solidity compiler input, output, and solcVersion.`);
96
98
  }
97
99
  else {
98
100
  if (!hasStorageLayoutSetting(buildInfoJson)) {
@@ -101,6 +103,7 @@ async function readBuildInfo(buildInfoFilePaths) {
101
103
  buildInfoFiles.push({
102
104
  input: buildInfoJson.input,
103
105
  output: buildInfoJson.output,
106
+ solcVersion: buildInfoJson.solcVersion,
104
107
  });
105
108
  }
106
109
  }
@@ -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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"}
@@ -16,6 +16,7 @@ ava_1.default.afterEach(async () => {
16
16
  await (0, rimraf_1.rimraf)(process.cwd());
17
17
  });
18
18
  const BUILD_INFO = {
19
+ solcVersion: '0.8.9',
19
20
  input: {
20
21
  language: 'Solidity',
21
22
  sources: {
@@ -41,6 +42,7 @@ const BUILD_INFO = {
41
42
  },
42
43
  };
43
44
  const BUILD_INFO_2 = {
45
+ solcVersion: '0.8.9',
44
46
  input: {
45
47
  language: 'Solidity',
46
48
  sources: {
@@ -66,6 +68,7 @@ const BUILD_INFO_2 = {
66
68
  },
67
69
  };
68
70
  const BUILD_INFO_NO_LAYOUT = {
71
+ solcVersion: '0.8.9',
69
72
  input: {
70
73
  language: 'Solidity',
71
74
  sources: {
@@ -140,7 +143,7 @@ ava_1.default.serial('invalid build info file', async (t) => {
140
143
  await fs_1.promises.mkdir('invalid-build-info', { recursive: true });
141
144
  await fs_1.promises.writeFile('invalid-build-info/invalid.json', JSON.stringify({ output: {} }));
142
145
  const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('invalid-build-info'));
143
- t.true(error?.message.includes('must contain Solidity compiler input and output'));
146
+ t.true(error?.message.includes('must contain Solidity compiler input, output, and solcVersion'));
144
147
  });
145
148
  ava_1.default.serial('dir does not exist', async (t) => {
146
149
  const error = await t.throwsAsync((0, build_info_file_1.getBuildInfoFiles)('invalid-dir'));
@@ -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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"}
@@ -33,7 +33,7 @@ function getAnnotationAssessment(contract) {
33
33
  if ('documentation' in node) {
34
34
  const doc = (0, annotations_1.getDocumentation)(node);
35
35
  const tag = 'oz-upgrades';
36
- const hasUpgradeAnnotation = hasAnnotationTag(doc, tag);
36
+ const hasUpgradeAnnotation = (0, annotations_1.hasAnnotationTag)(doc, tag);
37
37
  if (hasUpgradeAnnotation) {
38
38
  getAndValidateAnnotationArgs(doc, tag, contract, 0);
39
39
  }
@@ -63,13 +63,9 @@ function getAndValidateAnnotationArgs(doc, tag, contract, expectedLength) {
63
63
  }
64
64
  return annotationArgs;
65
65
  }
66
- function hasAnnotationTag(doc, tag) {
67
- const regex = new RegExp(`^\\s*(@custom:${tag})(\\s|$)`, 'm');
68
- return regex.test(doc);
69
- }
70
66
  function getUpgradesFrom(doc, contract) {
71
67
  const tag = 'oz-upgrades-from';
72
- if (hasAnnotationTag(doc, tag)) {
68
+ if ((0, annotations_1.hasAnnotationTag)(doc, tag)) {
73
69
  const annotationArgs = getAndValidateAnnotationArgs(doc, tag, contract, 1);
74
70
  return annotationArgs[0];
75
71
  }
@@ -1 +1 @@
1
- {"version":3,"file":"upgradeability-assessment.js","sourceRoot":"","sources":["../../../src/cli/validate/upgradeability-assessment.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"upgradeability-assessment.js","sourceRoot":"","sources":["../../../src/cli/validate/upgradeability-assessment.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/validations.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2D,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAKnG,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,iBAAiB,CAAC;CACnC;AAED,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,cAAc,EAAE,CAO5F"}
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../src/cli/validate/validations.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAK5E,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,kBAAkB,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,iBAAiB,CAAC;CACnC;AAED,wBAAgB,0BAA0B,CAAC,cAAc,EAAE,aAAa,EAAE,GAAG,cAAc,EAAE,CAO5F"}
@@ -11,15 +11,16 @@ const contract_name_1 = require("../../utils/contract-name");
11
11
  function validateBuildInfoContracts(buildInfoFiles) {
12
12
  const sourceContracts = [];
13
13
  for (const buildInfoFile of buildInfoFiles) {
14
- const validations = runValidations(buildInfoFile.input, buildInfoFile.output);
14
+ const validations = runValidations(buildInfoFile);
15
15
  addContractsFromBuildInfo(buildInfoFile, validations, sourceContracts);
16
16
  }
17
17
  return sourceContracts;
18
18
  }
19
19
  exports.validateBuildInfoContracts = validateBuildInfoContracts;
20
- function runValidations(solcInput, solcOutput) {
21
- const decodeSrc = (0, __1.solcInputOutputDecoder)(solcInput, solcOutput);
22
- const validation = (0, __1.validate)(solcOutput, decodeSrc);
20
+ function runValidations(buildInfoFile) {
21
+ const { input, output, solcVersion } = buildInfoFile;
22
+ const decodeSrc = (0, __1.solcInputOutputDecoder)(input, output);
23
+ const validation = (0, __1.validate)(output, decodeSrc, solcVersion, input);
23
24
  return validation;
24
25
  }
25
26
  function addContractsFromBuildInfo(buildInfoFile, validationData, sourceContracts) {
@@ -1 +1 @@
1
- {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../src/cli/validate/validations.ts"],"names":[],"mappings":";;;;;;AAAA,6BAAmG;AAEnG,8DAAsC;AAEtC,8CAA6C;AAG7C,6DAAkE;AAUlE,SAAgB,0BAA0B,CAAC,cAA+B;IACxE,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,KAAK,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;QAC9E,yBAAyB,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;KACxE;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAPD,gEAOC;AAED,SAAS,cAAc,CAAC,SAAoB,EAAE,UAAsB;IAClE,MAAM,SAAS,GAAG,IAAA,0BAAsB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAA,YAAQ,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAChC,aAA4B,EAC5B,cAAiC,EACjC,eAAiC;IAEjC,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE;QACrD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;QAEzD,KAAK,MAAM,WAAW,IAAI,IAAA,eAAO,EAAC,oBAAoB,EAAE,GAAG,CAAC,EAAE;YAC5D,MAAM,kBAAkB,GAAG,IAAA,qCAAqB,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAA,eAAK,EAAC,SAAS,GAAG,kBAAkB,CAAC,CAAC;YAEtC,eAAe,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,kBAAkB;gBAClB,cAAc,EAAE,cAAc;aAC/B,CAAC,CAAC;SACJ;KACF;AACH,CAAC"}
1
+ {"version":3,"file":"validations.js","sourceRoot":"","sources":["../../../src/cli/validate/validations.ts"],"names":[],"mappings":";;;;;;AAAA,6BAA4E;AAE5E,8DAAsC;AAEtC,8CAA6C;AAG7C,6DAAkE;AAUlE,SAAgB,0BAA0B,CAAC,cAA+B;IACxE,MAAM,eAAe,GAAqB,EAAE,CAAC;IAC7C,KAAK,MAAM,aAAa,IAAI,cAAc,EAAE;QAC1C,MAAM,WAAW,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;QAClD,yBAAyB,CAAC,aAAa,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;KACxE;IACD,OAAO,eAAe,CAAC;AACzB,CAAC;AAPD,gEAOC;AAED,SAAS,cAAc,CAAC,aAA4B;IAClD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,aAAa,CAAC;IACrD,MAAM,SAAS,GAAG,IAAA,0BAAsB,EAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IACxD,MAAM,UAAU,GAAG,IAAA,YAAQ,EAAC,MAAM,EAAE,SAAS,EAAE,WAAW,EAAE,KAAK,CAAC,CAAC;IACnE,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,yBAAyB,CAChC,aAA4B,EAC5B,cAAiC,EACjC,eAAiC;IAEjC,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,MAAM,CAAC,OAAO,EAAE;QACrD,MAAM,GAAG,GAAG,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC;QAEzD,KAAK,MAAM,WAAW,IAAI,IAAA,eAAO,EAAC,oBAAoB,EAAE,GAAG,CAAC,EAAE;YAC5D,MAAM,kBAAkB,GAAG,IAAA,qCAAqB,EAAC,UAAU,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC;YAC/E,IAAA,eAAK,EAAC,SAAS,GAAG,kBAAkB,CAAC,CAAC;YAEtC,eAAe,CAAC,IAAI,CAAC;gBACnB,IAAI,EAAE,WAAW;gBACjB,IAAI,EAAE,WAAW,CAAC,IAAI;gBACtB,kBAAkB;gBAClB,cAAc,EAAE,cAAc;aAC/B,CAAC,CAAC;SACJ;KACF;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"impl-address.d.ts","sourceRoot":"","sources":["../src/impl-address.ts"],"names":[],"mappings":"AACA,OAAO,EAML,aAAa,EACd,MAAM,GAAG,CAAC;AAEX,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,aAAc,SAAQ,aAAa;CAAG;AAEnD;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAsBjB;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmB7B"}
1
+ {"version":3,"file":"impl-address.d.ts","sourceRoot":"","sources":["../src/impl-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAKL,aAAa,EACd,MAAM,GAAG,CAAC;AAGX,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAG9C,qBAAa,aAAc,SAAQ,aAAa;CAAG;AAEnD;;;;;;GAMG;AACH,wBAAsB,kCAAkC,CACtD,QAAQ,EAAE,gBAAgB,EAC1B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,CAAC,CAYjB;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmB7B"}
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.getImplementationAddressFromProxy = exports.getImplementationAddressFromBeacon = exports.InvalidBeacon = void 0;
4
- const ethereumjs_util_1 = require("ethereumjs-util");
5
4
  const _1 = require(".");
5
+ const call_optional_signature_1 = require("./call-optional-signature");
6
6
  const address_1 = require("./utils/address");
7
7
  class InvalidBeacon extends _1.UpgradesError {
8
8
  }
@@ -15,24 +15,17 @@ exports.InvalidBeacon = InvalidBeacon;
15
15
  * @throws {InvalidBeacon} If the implementation() function could not be called or does not return an address.
16
16
  */
17
17
  async function getImplementationAddressFromBeacon(provider, beaconAddress) {
18
- const implementationFunction = '0x' + (0, ethereumjs_util_1.keccak256)(Buffer.from('implementation()')).toString('hex').slice(0, 8);
19
- let result;
20
- try {
21
- const implAddress = await (0, _1.call)(provider, beaconAddress, implementationFunction);
22
- result = (0, address_1.parseAddress)(implAddress);
18
+ const impl = await (0, call_optional_signature_1.callOptionalSignature)(provider, beaconAddress, 'implementation()');
19
+ let parsedImplAddress;
20
+ if (impl !== undefined) {
21
+ parsedImplAddress = (0, address_1.parseAddress)(impl);
23
22
  }
24
- catch (e) {
25
- if (!(e.message.includes('function selector was not recognized') ||
26
- e.message.includes('invalid opcode') ||
27
- e.message.includes('revert') ||
28
- e.message.includes('execution error'))) {
29
- throw e;
30
- } // otherwise fall through with no result
31
- }
32
- if (result === undefined) {
23
+ if (parsedImplAddress === undefined) {
33
24
  throw new InvalidBeacon(`Contract at ${beaconAddress} doesn't look like a beacon`);
34
25
  }
35
- return result;
26
+ else {
27
+ return parsedImplAddress;
28
+ }
36
29
  }
37
30
  exports.getImplementationAddressFromBeacon = getImplementationAddressFromBeacon;
38
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"impl-address.js","sourceRoot":"","sources":["../src/impl-address.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAC5C,wBAOW;AAGX,6CAA+C;AAE/C,MAAa,aAAc,SAAQ,gBAAa;CAAG;AAAnD,sCAAmD;AAEnD;;;;;;GAMG;AACI,KAAK,UAAU,kCAAkC,CACtD,QAA0B,EAC1B,aAAqB;IAErB,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,IAAI,MAA0B,CAAC;IAC/B,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,IAAA,OAAI,EAAC,QAAQ,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;QAChF,MAAM,GAAG,IAAA,sBAAY,EAAC,WAAW,CAAC,CAAC;KACpC;IAAC,OAAO,CAAM,EAAE;QACf,IACE,CAAC,CACC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC5B,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CACtC,EACD;YACA,MAAM,CAAC,CAAC;SACT,CAAC,wCAAwC;KAC3C;IACD,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,aAAa,CAAC,eAAe,aAAa,6BAA6B,CAAC,CAAC;KACpF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAzBD,gFAyBC;AAED;;;;GAIG;AACI,KAAK,UAAU,iCAAiC,CACrD,QAA0B,EAC1B,YAAoB;IAEpB,IAAI;QACF,OAAO,MAAM,IAAA,2BAAwB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KAC/D;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,gCAA6B,EAAE;YAC9C,IAAI;gBACF,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAgB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrE,OAAO,MAAM,kCAAkC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aAC1E;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,CAAC,YAAY,wBAAqB,EAAE;oBACtC,OAAO,SAAS,CAAC;iBAClB;qBAAM;oBACL,MAAM,CAAC,CAAC;iBACT;aACF;SACF;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAtBD,8EAsBC"}
1
+ {"version":3,"file":"impl-address.js","sourceRoot":"","sources":["../src/impl-address.ts"],"names":[],"mappings":";;;AAAA,wBAMW;AACX,uEAAkE;AAGlE,6CAA+C;AAE/C,MAAa,aAAc,SAAQ,gBAAa;CAAG;AAAnD,sCAAmD;AAEnD;;;;;;GAMG;AACI,KAAK,UAAU,kCAAkC,CACtD,QAA0B,EAC1B,aAAqB;IAErB,MAAM,IAAI,GAAG,MAAM,IAAA,+CAAqB,EAAC,QAAQ,EAAE,aAAa,EAAE,kBAAkB,CAAC,CAAC;IACtF,IAAI,iBAAiB,CAAC;IACtB,IAAI,IAAI,KAAK,SAAS,EAAE;QACtB,iBAAiB,GAAG,IAAA,sBAAY,EAAC,IAAI,CAAC,CAAC;KACxC;IAED,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACnC,MAAM,IAAI,aAAa,CAAC,eAAe,aAAa,6BAA6B,CAAC,CAAC;KACpF;SAAM;QACL,OAAO,iBAAiB,CAAC;KAC1B;AACH,CAAC;AAfD,gFAeC;AAED;;;;GAIG;AACI,KAAK,UAAU,iCAAiC,CACrD,QAA0B,EAC1B,YAAoB;IAEpB,IAAI;QACF,OAAO,MAAM,IAAA,2BAAwB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KAC/D;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,gCAA6B,EAAE;YAC9C,IAAI;gBACF,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAgB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrE,OAAO,MAAM,kCAAkC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aAC1E;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,CAAC,YAAY,wBAAqB,EAAE;oBACtC,OAAO,SAAS,CAAC;iBAClB;qBAAM;oBACL,MAAM,CAAC,CAAC;iBACT;aACF;SACF;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAtBD,8EAsBC"}
package/dist/index.d.ts CHANGED
@@ -21,4 +21,7 @@ export { isBeacon } from './beacon';
21
21
  export { addProxyToManifest } from './add-proxy-to-manifest';
22
22
  export { BeaconProxyUnsupportedError, LoadProxyUnsupportedError, PrepareUpgradeUnsupportedError, DeployBeaconProxyUnsupportedError, DeployBeaconProxyImplUnknownError, DeployBeaconProxyKindError, ForceImportUnsupportedError, NoContractImportError, ValidateUpdateRequiresKindError, PrepareUpgradeRequiresKindError, assertNotProxy, } from './usage-error';
23
23
  export { ValidateUpgradeSafetyOptions, validateUpgradeSafety, ProjectReport, ReferenceContractNotFound } from './cli';
24
+ export { getUpgradeInterfaceVersion } from './upgrade-interface-version';
25
+ export { makeNamespacedInput } from './utils/make-namespaced';
26
+ export { isNamespaceSupported } from './storage/namespace';
24
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"}
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.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; } });
@@ -79,4 +79,10 @@ var cli_1 = require("./cli");
79
79
  Object.defineProperty(exports, "validateUpgradeSafety", { enumerable: true, get: function () { return cli_1.validateUpgradeSafety; } });
80
80
  Object.defineProperty(exports, "ProjectReport", { enumerable: true, get: function () { return cli_1.ProjectReport; } });
81
81
  Object.defineProperty(exports, "ReferenceContractNotFound", { enumerable: true, get: function () { return cli_1.ReferenceContractNotFound; } });
82
+ var upgrade_interface_version_1 = require("./upgrade-interface-version");
83
+ Object.defineProperty(exports, "getUpgradeInterfaceVersion", { enumerable: true, get: function () { return upgrade_interface_version_1.getUpgradeInterfaceVersion; } });
84
+ var make_namespaced_1 = require("./utils/make-namespaced");
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; } });
82
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"}
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"}
@@ -4,6 +4,12 @@ export type BasicOperation<T> = {
4
4
  } | {
5
5
  kind: 'delete';
6
6
  original: T;
7
+ } | {
8
+ kind: 'delete-namespace';
9
+ namespace: string;
10
+ original: {
11
+ contract: string;
12
+ };
7
13
  };
8
14
  export type Operation<T, C> = C | BasicOperation<T>;
9
15
  export type Cost = {
@@ -1 +1 @@
1
- {"version":3,"file":"levenshtein.d.ts","sourceRoot":"","sources":["../src/levenshtein.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,IACxB;IACE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC;CACZ,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,CAAC;CACb,CAAC;AAEN,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,IAAI,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;AAEhE,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAGnG"}
1
+ {"version":3,"file":"levenshtein.d.ts","sourceRoot":"","sources":["../src/levenshtein.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,CAAC,IACxB;IACE,IAAI,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC1B,OAAO,EAAE,CAAC,CAAC;CACZ,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,QAAQ,EAAE,CAAC,CAAC;CACb,GACD;IACE,IAAI,EAAE,kBAAkB,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC;CACH,CAAC;AAEN,MAAM,MAAM,SAAS,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;AAEpD,MAAM,MAAM,IAAI,GAAG;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAErC,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;AAEhE,wBAAgB,WAAW,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAGnG"}
@@ -1 +1 @@
1
- {"version":3,"file":"levenshtein.js","sourceRoot":"","sources":["../src/levenshtein.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"levenshtein.js","sourceRoot":"","sources":["../src/levenshtein.ts"],"names":[],"mappings":"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"}
@@ -21,6 +21,13 @@ export interface SolcOutput {
21
21
  id: number;
22
22
  };
23
23
  };
24
+ errors?: {
25
+ severity: 'error' | 'warning';
26
+ formattedMessage: string;
27
+ sourceLocation?: {
28
+ file: string;
29
+ };
30
+ }[];
24
31
  }
25
32
  export interface SolcInput {
26
33
  sources: {
@@ -28,6 +35,13 @@ export interface SolcInput {
28
35
  content?: string;
29
36
  };
30
37
  };
38
+ settings?: {
39
+ outputSelection?: {
40
+ [file in string]: {
41
+ [contract in string]: string[];
42
+ };
43
+ };
44
+ };
31
45
  }
32
46
  export type SolcLinkReferences = {
33
47
  [file in string]: {
@@ -1 +1 @@
1
- {"version":3,"file":"solc-api.d.ts","sourceRoot":"","sources":["../src/solc-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE;SACR,IAAI,IAAI,MAAM,GAAG;aACf,QAAQ,IAAI,MAAM,GAAG;gBACpB,GAAG,EAAE;oBACH,QAAQ,EAAE,YAAY,CAAC;oBACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBAC5C,CAAC;gBACF,aAAa,CAAC,EAAE;oBACd,OAAO,EAAE,WAAW,EAAE,CAAC;oBACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;iBACjC,CAAC;aACH;SACF;KACF,CAAC;IACF,OAAO,EAAE;SACN,IAAI,IAAI,MAAM,GAAG;YAChB,GAAG,EAAE,UAAU,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC;SACZ;KACF,CAAC;CACH;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;SACN,MAAM,IAAI,MAAM,GAAG;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB;KACF,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG;KAC9B,IAAI,IAAI,MAAM,GAAG;SACf,OAAO,IAAI,MAAM,GAAG;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,EAAE;KACJ;CACF,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,kBAAkB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"solc-api.d.ts","sourceRoot":"","sources":["../src/solc-api.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AAElD,MAAM,WAAW,UAAU;IACzB,SAAS,EAAE;SACR,IAAI,IAAI,MAAM,GAAG;aACf,QAAQ,IAAI,MAAM,GAAG;gBACpB,GAAG,EAAE;oBACH,QAAQ,EAAE,YAAY,CAAC;oBACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;iBAC5C,CAAC;gBACF,aAAa,CAAC,EAAE;oBACd,OAAO,EAAE,WAAW,EAAE,CAAC;oBACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;iBACjC,CAAC;aACH;SACF;KACF,CAAC;IACF,OAAO,EAAE;SACN,IAAI,IAAI,MAAM,GAAG;YAChB,GAAG,EAAE,UAAU,CAAC;YAChB,EAAE,EAAE,MAAM,CAAC;SACZ;KACF,CAAC;IACF,MAAM,CAAC,EAAE;QACP,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;QAC9B,gBAAgB,EAAE,MAAM,CAAC;QACzB,cAAc,CAAC,EAAE;YACf,IAAI,EAAE,MAAM,CAAC;SACd,CAAC;KACH,EAAE,CAAC;CACL;AAED,MAAM,WAAW,SAAS;IACxB,OAAO,EAAE;SACN,MAAM,IAAI,MAAM,GAAG;YAClB,OAAO,CAAC,EAAE,MAAM,CAAC;SAClB;KACF,CAAC;IACF,QAAQ,CAAC,EAAE;QACT,eAAe,CAAC,EAAE;aACf,IAAI,IAAI,MAAM,GAAG;iBACf,QAAQ,IAAI,MAAM,GAAG,MAAM,EAAE;aAC/B;SACF,CAAC;KACH,CAAC;CACH;AAED,MAAM,MAAM,kBAAkB,GAAG;KAC9B,IAAI,IAAI,MAAM,GAAG;SACf,OAAO,IAAI,MAAM,GAAG;YACnB,MAAM,EAAE,MAAM,CAAC;YACf,KAAK,EAAE,MAAM,CAAC;SACf,EAAE;KACJ;CACF,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,cAAc,EAAE,kBAAkB,CAAC;IACnC,MAAM,EAAE,MAAM,CAAC;CAChB"}
@@ -7,12 +7,15 @@ export interface Report {
7
7
  ok: boolean;
8
8
  explain(color?: boolean): string;
9
9
  }
10
+ /**
11
+ * @deprecated Use `validateUpgradeSafety` instead.
12
+ */
10
13
  export declare class UpgradeableContract {
11
14
  readonly name: string;
12
15
  readonly version: Version;
13
16
  readonly errors: ValidationError[];
14
17
  readonly layout: StorageLayout;
15
- constructor(name: string, solcInput: SolcInput, solcOutput: SolcOutput, opts?: ValidationOptions);
18
+ constructor(name: string, solcInput: SolcInput, solcOutput: SolcOutput, opts?: ValidationOptions, solcVersion?: string);
16
19
  getErrorReport(): UpgradeableContractErrorReport;
17
20
  getStorageUpgradeReport(newVersion: UpgradeableContract, opts?: ValidationOptions): import("./storage/report").LayoutCompatibilityReport;
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAIL,8BAA8B,EAE9B,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA2B,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED,qBAAa,mBAAmB;IAM5B,QAAQ,CAAC,IAAI,EAAE,MAAM;IALvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAGpB,IAAI,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,IAAI,GAAE,iBAAsB;IAS9B,cAAc;IAId,uBAAuB,CAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,GAAE,iBAAsB;CAGtF"}
1
+ {"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAIL,8BAA8B,EAE9B,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA2B,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED;;GAEG;AACH,qBAAa,mBAAmB;IAM5B,QAAQ,CAAC,IAAI,EAAE,MAAM;IALvB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAGpB,IAAI,EAAE,MAAM,EACrB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,IAAI,GAAE,iBAAsB,EAC5B,WAAW,CAAC,EAAE,MAAM;IAStB,cAAc;IAId,uBAAuB,CAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,GAAE,iBAAsB;CAGtF"}
@@ -4,13 +4,16 @@ exports.UpgradeableContract = void 0;
4
4
  const src_decoder_1 = require("./src-decoder");
5
5
  const validate_1 = require("./validate");
6
6
  const storage_1 = require("./storage");
7
+ /**
8
+ * @deprecated Use `validateUpgradeSafety` instead.
9
+ */
7
10
  class UpgradeableContract {
8
- constructor(name, solcInput, solcOutput, opts = {}) {
11
+ constructor(name, solcInput, solcOutput, opts = {}, solcVersion) {
9
12
  this.name = name;
10
13
  const decodeSrc = (0, src_decoder_1.solcInputOutputDecoder)(solcInput, solcOutput);
11
- const validation = (0, validate_1.validate)(solcOutput, decodeSrc);
14
+ const validation = (0, validate_1.validate)(solcOutput, decodeSrc, solcVersion, solcInput);
12
15
  this.version = (0, validate_1.getContractVersion)(validation, name);
13
- this.errors = (0, validate_1.getErrors)(validation, this.version, opts);
16
+ this.errors = (0, validate_1.getErrors)(validation, this.version, (0, validate_1.withValidationDefaults)(opts));
14
17
  this.layout = (0, validate_1.getStorageLayout)(validation, this.version);
15
18
  }
16
19
  getErrorReport() {
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";;;AACA,+CAAuD;AACvD,yCAQoB;AACpB,uCAAmE;AASnE,MAAa,mBAAmB;IAK9B,YACW,IAAY,EACrB,SAAoB,EACpB,UAAsB,EACtB,OAA0B,EAAE;QAHnB,SAAI,GAAJ,IAAI,CAAQ;QAKrB,MAAM,SAAS,GAAG,IAAA,oCAAsB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAA,6BAAkB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAA,2BAAgB,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,yCAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,uBAAuB,CAAC,UAA+B,EAAE,OAA0B,EAAE;QACnF,OAAO,IAAA,iCAAuB,EAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAA,iCAAsB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AAzBD,kDAyBC"}
1
+ {"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";;;AACA,+CAAuD;AACvD,yCAQoB;AACpB,uCAAmE;AASnE;;GAEG;AACH,MAAa,mBAAmB;IAK9B,YACW,IAAY,EACrB,SAAoB,EACpB,UAAsB,EACtB,OAA0B,EAAE,EAC5B,WAAoB;QAJX,SAAI,GAAJ,IAAI,CAAQ;QAMrB,MAAM,SAAS,GAAG,IAAA,oCAAsB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;QAC3E,IAAI,CAAC,OAAO,GAAG,IAAA,6BAAkB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAA,iCAAsB,EAAC,IAAI,CAAC,CAAC,CAAC;QAChF,IAAI,CAAC,MAAM,GAAG,IAAA,2BAAgB,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,yCAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,uBAAuB,CAAC,UAA+B,EAAE,OAA0B,EAAE;QACnF,OAAO,IAAA,iCAAuB,EAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAA,iCAAsB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AA1BD,kDA0BC"}
@@ -45,4 +45,21 @@ test('dont report renamed version update', t => {
45
45
  const goodReport2 = v2.getStorageUpgradeReport(v3);
46
46
  t.true(goodReport2.ok);
47
47
  });
48
+ test('namespaced output', async (t) => {
49
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo('contracts/test/Namespaced.sol:Example');
50
+ if (buildInfo === undefined) {
51
+ throw new Error('Build info not found');
52
+ }
53
+ const impl = new standalone_1.UpgradeableContract('Example', buildInfo.input, buildInfo.output, {}, '0.8.20');
54
+ const report = impl.getErrorReport();
55
+ t.true(report.ok);
56
+ });
57
+ test('namespaced output without version', async (t) => {
58
+ const buildInfo = await hardhat_1.artifacts.getBuildInfo('contracts/test/Namespaced.sol:Example');
59
+ if (buildInfo === undefined) {
60
+ throw new Error('Build info not found');
61
+ }
62
+ const error = t.throws(() => new standalone_1.UpgradeableContract('Example', buildInfo.input, buildInfo.output));
63
+ t.assert(error?.message.includes(`contracts/test/Namespaced.sol: Namespace annotations require Solidity version >= 0.8.20, but no solcVersion parameter was provided`), error?.message);
64
+ });
48
65
  //# sourceMappingURL=standalone.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"standalone.test.js","sourceRoot":"","sources":["../src/standalone.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"standalone.test.js","sourceRoot":"","sources":["../src/standalone.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAoC;AACpC,qCAAoC;AAGpC,6CAAmD;AAOnD,MAAM,IAAI,GAAG,aAAwB,CAAC;AAEtC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;IACpB,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;IAC7F,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IACD,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE;IACnC,MAAM,IAAI,GAAG,IAAI,gCAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iDAAiD,EAAE,CAAC,CAAC,EAAE;IAC1D,MAAM,IAAI,GAAG,IAAI,gCAAmB,CAClC,4CAA4C,EAC5C,CAAC,CAAC,OAAO,CAAC,SAAS,EACnB,CAAC,CAAC,OAAO,CAAC,UAAU,CACrB,CAAC;IACF,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE;IACzC,MAAM,EAAE,GAAG,IAAI,gCAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,IAAI,gCAAmB,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG,IAAI,gCAAmB,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,oCAAoC,EAAE,CAAC,CAAC,EAAE;IAC7C,MAAM,EAAE,GAAG,IAAI,gCAAmB,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAEpG,MAAM,EAAE,GAAG,IAAI,gCAAmB,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpG,MAAM,UAAU,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IAClD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEtB,MAAM,EAAE,GAAG,IAAI,gCAAmB,CAAC,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpG,MAAM,WAAW,GAAG,EAAE,CAAC,uBAAuB,CAAC,EAAE,CAAC,CAAC;IACnD,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mBAAmB,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClC,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;IACxF,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,MAAM,IAAI,GAAG,IAAI,gCAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,EAAE,EAAE,EAAE,QAAQ,CAAC,CAAC;IACjG,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;AACpB,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mCAAmC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAClD,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,uCAAuC,CAAC,CAAC;IACxF,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IAED,MAAM,KAAK,GAAG,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,gCAAmB,CAAC,SAAS,EAAE,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;IACpG,CAAC,CAAC,MAAM,CACN,KAAK,EAAE,OAAO,CAAC,QAAQ,CACrB,oIAAoI,CACrI,EACD,KAAK,EAAE,OAAO,CACf,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -70,7 +70,8 @@ export declare class StorageLayoutComparator {
70
70
  stack: Set<string>;
71
71
  cache: Map<string, TypeChange | undefined>;
72
72
  constructor(unsafeAllowCustomTypes?: boolean, unsafeAllowRenames?: boolean);
73
- compareLayouts(original: StorageItem[], updated: StorageItem[]): LayoutCompatibilityReport;
73
+ compareLayouts(original: StorageItem[], updated: StorageItem[], originalNamespaces?: Record<string, StorageItem[]>, updatedNamespaces?: Record<string, StorageItem[]>): LayoutCompatibilityReport;
74
+ private getNamespacedStorageOperations;
74
75
  private layoutLevenshtein;
75
76
  getVisibilityChange(original: ParsedTypeDetailed, updated: ParsedTypeDetailed): TypeChange | undefined;
76
77
  getFieldChange<F extends StorageField>(original: F, updated: F): StorageFieldChange<F> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../src/storage/compare.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compare.d.ts","sourceRoot":"","sources":["../../src/storage/compare.ts"],"names":[],"mappings":"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"}
@@ -49,8 +49,31 @@ class StorageLayoutComparator {
49
49
  this.stack = new Set();
50
50
  this.cache = new Map();
51
51
  }
52
- compareLayouts(original, updated) {
53
- return new report_1.LayoutCompatibilityReport(this.layoutLevenshtein(original, updated, { allowAppend: true }));
52
+ compareLayouts(original, updated, originalNamespaces, updatedNamespaces) {
53
+ const ops = this.layoutLevenshtein(original, updated, { allowAppend: true });
54
+ const namespacedOps = this.getNamespacedStorageOperations(originalNamespaces, updatedNamespaces);
55
+ return new report_1.LayoutCompatibilityReport([...ops, ...namespacedOps]);
56
+ }
57
+ getNamespacedStorageOperations(originalNamespaces, updatedNamespaces) {
58
+ const ops = [];
59
+ if (originalNamespaces !== undefined) {
60
+ for (const [storageLocation, origNamespacedLayout] of Object.entries(originalNamespaces)) {
61
+ const updatedNamespacedLayout = updatedNamespaces?.[storageLocation];
62
+ if (updatedNamespacedLayout !== undefined) {
63
+ ops.push(...this.layoutLevenshtein(origNamespacedLayout, updatedNamespacedLayout, { allowAppend: true }));
64
+ }
65
+ else if (origNamespacedLayout.length > 0) {
66
+ ops.push({
67
+ kind: 'delete-namespace',
68
+ namespace: storageLocation,
69
+ original: {
70
+ contract: origNamespacedLayout[0].contract,
71
+ },
72
+ });
73
+ }
74
+ }
75
+ }
76
+ return ops;
54
77
  }
55
78
  layoutLevenshtein(original, updated, { allowAppend }) {
56
79
  const ops = (0, levenshtein_1.levenshtein)(original, updated, (a, b) => this.getFieldChange(a, b));