@openzeppelin/upgrades-core 1.9.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 (336) hide show
  1. package/CHANGELOG.md +110 -0
  2. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +4 -0
  3. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +80 -0
  4. package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +160 -0
  5. package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +155 -0
  6. package/artifacts/AdminUpgradeabilityProxy.json +155 -0
  7. package/artifacts/ProxyAdmin.json +160 -0
  8. package/artifacts/contracts/proxy/AdminUpgradeabilityProxy.sol/AdminUpgradeabilityProxy.json +155 -0
  9. package/artifacts/contracts/proxy/ProxyAdmin.sol/ProxyAdmin.json +160 -0
  10. package/contracts/Initializable.sol +64 -0
  11. package/dist/ast-dereferencer.d.ts +8 -0
  12. package/dist/ast-dereferencer.d.ts.map +1 -0
  13. package/dist/ast-dereferencer.js +29 -0
  14. package/dist/ast-dereferencer.js.map +1 -0
  15. package/dist/deployment.d.ts +18 -0
  16. package/dist/deployment.d.ts.map +1 -0
  17. package/dist/deployment.js +110 -0
  18. package/dist/deployment.js.map +1 -0
  19. package/dist/deployment.test.d.ts +2 -0
  20. package/dist/deployment.test.d.ts.map +1 -0
  21. package/dist/deployment.test.js +92 -0
  22. package/dist/deployment.test.js.map +1 -0
  23. package/dist/eip-1967.d.ts +7 -0
  24. package/dist/eip-1967.d.ts.map +1 -0
  25. package/dist/eip-1967.js +63 -0
  26. package/dist/eip-1967.js.map +1 -0
  27. package/dist/error.d.ts +21 -0
  28. package/dist/error.d.ts.map +1 -0
  29. package/dist/error.js +21 -0
  30. package/dist/error.js.map +1 -0
  31. package/dist/impl-store.d.ts +7 -0
  32. package/dist/impl-store.d.ts.map +1 -0
  33. package/dist/impl-store.js +94 -0
  34. package/dist/impl-store.js.map +1 -0
  35. package/dist/impl-store.test.d.ts +2 -0
  36. package/dist/impl-store.test.d.ts.map +1 -0
  37. package/dist/impl-store.test.js +55 -0
  38. package/dist/impl-store.test.js.map +1 -0
  39. package/dist/index.d.ts +16 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +32 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/levenshtein.d.ts +12 -0
  44. package/dist/levenshtein.d.ts.map +1 -0
  45. package/dist/levenshtein.js +89 -0
  46. package/dist/levenshtein.js.map +1 -0
  47. package/dist/levenshtein.test.d.ts +2 -0
  48. package/dist/levenshtein.test.d.ts.map +1 -0
  49. package/dist/levenshtein.test.js +88 -0
  50. package/dist/levenshtein.test.js.map +1 -0
  51. package/dist/link-refs.d.ts +11 -0
  52. package/dist/link-refs.d.ts.map +1 -0
  53. package/dist/link-refs.js +36 -0
  54. package/dist/link-refs.js.map +1 -0
  55. package/dist/link-refs.test.d.ts +2 -0
  56. package/dist/link-refs.test.d.ts.map +1 -0
  57. package/dist/link-refs.test.js +76 -0
  58. package/dist/link-refs.test.js.map +1 -0
  59. package/dist/manifest-storage-layout.d.ts +6 -0
  60. package/dist/manifest-storage-layout.d.ts.map +1 -0
  61. package/dist/manifest-storage-layout.js +95 -0
  62. package/dist/manifest-storage-layout.js.map +1 -0
  63. package/dist/manifest-storage-layout.test.d.ts +2 -0
  64. package/dist/manifest-storage-layout.test.d.ts.map +1 -0
  65. package/dist/manifest-storage-layout.test.js +105 -0
  66. package/dist/manifest-storage-layout.test.js.map +1 -0
  67. package/dist/manifest.d.ts +36 -0
  68. package/dist/manifest.d.ts.map +1 -0
  69. package/dist/manifest.js +154 -0
  70. package/dist/manifest.js.map +1 -0
  71. package/dist/manifest.test.d.ts +2 -0
  72. package/dist/manifest.test.d.ts.map +1 -0
  73. package/dist/manifest.test.js +17 -0
  74. package/dist/manifest.test.js.map +1 -0
  75. package/dist/provider.d.ts +37 -0
  76. package/dist/provider.d.ts.map +1 -0
  77. package/dist/provider.js +74 -0
  78. package/dist/provider.js.map +1 -0
  79. package/dist/provider.test.d.ts +2 -0
  80. package/dist/provider.test.d.ts.map +1 -0
  81. package/dist/provider.test.js +41 -0
  82. package/dist/provider.test.js.map +1 -0
  83. package/dist/scripts/migrate-oz-cli-project.d.ts +108 -0
  84. package/dist/scripts/migrate-oz-cli-project.d.ts.map +1 -0
  85. package/dist/scripts/migrate-oz-cli-project.js +321 -0
  86. package/dist/scripts/migrate-oz-cli-project.js.map +1 -0
  87. package/dist/scripts/migrate-oz-cli-project.test.d.ts +2 -0
  88. package/dist/scripts/migrate-oz-cli-project.test.d.ts.map +1 -0
  89. package/dist/scripts/migrate-oz-cli-project.test.js +60 -0
  90. package/dist/scripts/migrate-oz-cli-project.test.js.map +1 -0
  91. package/dist/set-proxy-kind.d.ts +5 -0
  92. package/dist/set-proxy-kind.d.ts.map +1 -0
  93. package/dist/set-proxy-kind.js +25 -0
  94. package/dist/set-proxy-kind.js.map +1 -0
  95. package/dist/solc-api.d.ts +39 -0
  96. package/dist/solc-api.d.ts.map +1 -0
  97. package/dist/solc-api.js +3 -0
  98. package/dist/solc-api.js.map +1 -0
  99. package/dist/src-decoder.d.ts +6 -0
  100. package/dist/src-decoder.d.ts.map +1 -0
  101. package/dist/src-decoder.js +36 -0
  102. package/dist/src-decoder.js.map +1 -0
  103. package/dist/src-decoder.test.d.ts +2 -0
  104. package/dist/src-decoder.test.d.ts.map +1 -0
  105. package/dist/src-decoder.test.js +29 -0
  106. package/dist/src-decoder.test.js.map +1 -0
  107. package/dist/storage/compare.d.ts +55 -0
  108. package/dist/storage/compare.d.ts.map +1 -0
  109. package/dist/storage/compare.js +181 -0
  110. package/dist/storage/compare.js.map +1 -0
  111. package/dist/storage/compat.d.ts +4 -0
  112. package/dist/storage/compat.d.ts.map +1 -0
  113. package/dist/storage/compat.js +9 -0
  114. package/dist/storage/compat.js.map +1 -0
  115. package/dist/storage/extract.d.ts +7 -0
  116. package/dist/storage/extract.d.ts.map +1 -0
  117. package/dist/storage/extract.js +86 -0
  118. package/dist/storage/extract.js.map +1 -0
  119. package/dist/storage/index.d.ts +8 -0
  120. package/dist/storage/index.d.ts.map +1 -0
  121. package/dist/storage/index.js +65 -0
  122. package/dist/storage/index.js.map +1 -0
  123. package/dist/storage/layout.d.ts +31 -0
  124. package/dist/storage/layout.d.ts.map +1 -0
  125. package/dist/storage/layout.js +46 -0
  126. package/dist/storage/layout.js.map +1 -0
  127. package/dist/storage/report.d.ts +8 -0
  128. package/dist/storage/report.d.ts.map +1 -0
  129. package/dist/storage/report.js +175 -0
  130. package/dist/storage/report.js.map +1 -0
  131. package/dist/storage/report.test.d.ts +2 -0
  132. package/dist/storage/report.test.d.ts.map +1 -0
  133. package/dist/storage/report.test.js +82 -0
  134. package/dist/storage/report.test.js.map +1 -0
  135. package/dist/storage.test.d.ts +2 -0
  136. package/dist/storage.test.d.ts.map +1 -0
  137. package/dist/storage.test.js +436 -0
  138. package/dist/storage.test.js.map +1 -0
  139. package/dist/stub-provider.d.ts +14 -0
  140. package/dist/stub-provider.d.ts.map +1 -0
  141. package/dist/stub-provider.js +128 -0
  142. package/dist/stub-provider.js.map +1 -0
  143. package/dist/utils/assert.d.ts +3 -0
  144. package/dist/utils/assert.d.ts.map +1 -0
  145. package/dist/utils/assert.js +14 -0
  146. package/dist/utils/assert.js.map +1 -0
  147. package/dist/utils/curry.d.ts +6 -0
  148. package/dist/utils/curry.d.ts.map +1 -0
  149. package/dist/utils/curry.js +16 -0
  150. package/dist/utils/curry.js.map +1 -0
  151. package/dist/utils/debug.d.ts +4 -0
  152. package/dist/utils/debug.d.ts.map +1 -0
  153. package/dist/utils/debug.js +8 -0
  154. package/dist/utils/debug.js.map +1 -0
  155. package/dist/utils/deep-array.d.ts +3 -0
  156. package/dist/utils/deep-array.d.ts.map +1 -0
  157. package/dist/utils/deep-array.js +13 -0
  158. package/dist/utils/deep-array.js.map +1 -0
  159. package/dist/utils/deep-array.test.d.ts +2 -0
  160. package/dist/utils/deep-array.test.d.ts.map +1 -0
  161. package/dist/utils/deep-array.test.js +23 -0
  162. package/dist/utils/deep-array.test.js.map +1 -0
  163. package/dist/utils/function.d.ts +4 -0
  164. package/dist/utils/function.d.ts.map +1 -0
  165. package/dist/utils/function.js +43 -0
  166. package/dist/utils/function.js.map +1 -0
  167. package/dist/utils/function.test.d.ts +2 -0
  168. package/dist/utils/function.test.d.ts.map +1 -0
  169. package/dist/utils/function.test.js +34 -0
  170. package/dist/utils/function.test.js.map +1 -0
  171. package/dist/utils/indent.d.ts +2 -0
  172. package/dist/utils/indent.d.ts.map +1 -0
  173. package/dist/utils/indent.js +8 -0
  174. package/dist/utils/indent.js.map +1 -0
  175. package/dist/utils/is-nullish.d.ts +2 -0
  176. package/dist/utils/is-nullish.d.ts.map +1 -0
  177. package/dist/utils/is-nullish.js +8 -0
  178. package/dist/utils/is-nullish.js.map +1 -0
  179. package/dist/utils/is-nullish.test.d.ts +2 -0
  180. package/dist/utils/is-nullish.test.d.ts.map +1 -0
  181. package/dist/utils/is-nullish.test.js +17 -0
  182. package/dist/utils/is-nullish.test.js.map +1 -0
  183. package/dist/utils/is-value-type.d.ts +3 -0
  184. package/dist/utils/is-value-type.d.ts.map +1 -0
  185. package/dist/utils/is-value-type.js +8 -0
  186. package/dist/utils/is-value-type.js.map +1 -0
  187. package/dist/utils/itemize.d.ts +3 -0
  188. package/dist/utils/itemize.d.ts.map +1 -0
  189. package/dist/utils/itemize.js +18 -0
  190. package/dist/utils/itemize.js.map +1 -0
  191. package/dist/utils/log.d.ts +4 -0
  192. package/dist/utils/log.d.ts.map +1 -0
  193. package/dist/utils/log.js +35 -0
  194. package/dist/utils/log.js.map +1 -0
  195. package/dist/utils/make-non-enumerable.d.ts +2 -0
  196. package/dist/utils/make-non-enumerable.d.ts.map +1 -0
  197. package/dist/utils/make-non-enumerable.js +9 -0
  198. package/dist/utils/make-non-enumerable.js.map +1 -0
  199. package/dist/utils/map-values.d.ts +2 -0
  200. package/dist/utils/map-values.d.ts.map +1 -0
  201. package/dist/utils/map-values.js +12 -0
  202. package/dist/utils/map-values.js.map +1 -0
  203. package/dist/utils/parse-type-id.d.ts +9 -0
  204. package/dist/utils/parse-type-id.d.ts.map +1 -0
  205. package/dist/utils/parse-type-id.js +92 -0
  206. package/dist/utils/parse-type-id.js.map +1 -0
  207. package/dist/utils/parse-type-id.test.d.ts +2 -0
  208. package/dist/utils/parse-type-id.test.d.ts.map +1 -0
  209. package/dist/utils/parse-type-id.test.js +25 -0
  210. package/dist/utils/parse-type-id.test.js.map +1 -0
  211. package/dist/utils/pick.d.ts +2 -0
  212. package/dist/utils/pick.d.ts.map +1 -0
  213. package/dist/utils/pick.js +12 -0
  214. package/dist/utils/pick.js.map +1 -0
  215. package/dist/utils/type-id.d.ts +4 -0
  216. package/dist/utils/type-id.d.ts.map +1 -0
  217. package/dist/utils/type-id.js +65 -0
  218. package/dist/utils/type-id.js.map +1 -0
  219. package/dist/validate/compat.d.ts +6 -0
  220. package/dist/validate/compat.d.ts.map +1 -0
  221. package/dist/validate/compat.js +4 -0
  222. package/dist/validate/compat.js.map +1 -0
  223. package/dist/validate/data.d.ts +14 -0
  224. package/dist/validate/data.d.ts.map +1 -0
  225. package/dist/validate/data.js +50 -0
  226. package/dist/validate/data.js.map +1 -0
  227. package/dist/validate/error.d.ts +7 -0
  228. package/dist/validate/error.d.ts.map +1 -0
  229. package/dist/validate/error.js +78 -0
  230. package/dist/validate/error.js.map +1 -0
  231. package/dist/validate/index.d.ts +8 -0
  232. package/dist/validate/index.d.ts.map +1 -0
  233. package/dist/validate/index.js +24 -0
  234. package/dist/validate/index.js.map +1 -0
  235. package/dist/validate/overrides.d.ts +14 -0
  236. package/dist/validate/overrides.d.ts.map +1 -0
  237. package/dist/validate/overrides.js +72 -0
  238. package/dist/validate/overrides.js.map +1 -0
  239. package/dist/validate/query.d.ts +15 -0
  240. package/dist/validate/query.d.ts.map +1 -0
  241. package/dist/validate/query.js +111 -0
  242. package/dist/validate/query.js.map +1 -0
  243. package/dist/validate/query.test.d.ts +2 -0
  244. package/dist/validate/query.test.d.ts.map +1 -0
  245. package/dist/validate/query.test.js +48 -0
  246. package/dist/validate/query.test.js.map +1 -0
  247. package/dist/validate/run.d.ts +39 -0
  248. package/dist/validate/run.d.ts.map +1 -0
  249. package/dist/validate/run.js +199 -0
  250. package/dist/validate/run.js.map +1 -0
  251. package/dist/validate.test.d.ts +2 -0
  252. package/dist/validate.test.d.ts.map +1 -0
  253. package/dist/validate.test.js +116 -0
  254. package/dist/validate.test.js.map +1 -0
  255. package/dist/version.d.ts +9 -0
  256. package/dist/version.d.ts.map +1 -0
  257. package/dist/version.js +66 -0
  258. package/dist/version.js.map +1 -0
  259. package/dist/version.test.d.ts +2 -0
  260. package/dist/version.test.d.ts.map +1 -0
  261. package/dist/version.test.js +53 -0
  262. package/dist/version.test.js.map +1 -0
  263. package/package.json +58 -0
  264. package/src/ast-dereferencer.ts +42 -0
  265. package/src/deployment.test.ts +98 -0
  266. package/src/deployment.ts +122 -0
  267. package/src/eip-1967.ts +77 -0
  268. package/src/error.ts +26 -0
  269. package/src/impl-store.test.ts +59 -0
  270. package/src/impl-store.ts +124 -0
  271. package/src/index.ts +18 -0
  272. package/src/levenshtein.test.ts +91 -0
  273. package/src/levenshtein.ts +116 -0
  274. package/src/link-refs.test.ts +77 -0
  275. package/src/link-refs.ts +41 -0
  276. package/src/manifest-storage-layout.test.ts +118 -0
  277. package/src/manifest-storage-layout.ts +107 -0
  278. package/src/manifest.test.ts +13 -0
  279. package/src/manifest.ts +178 -0
  280. package/src/provider.test.ts +43 -0
  281. package/src/provider.ts +103 -0
  282. package/src/scripts/migratable-manifest.test.json +175 -0
  283. package/src/scripts/migrate-oz-cli-project.test.ts +70 -0
  284. package/src/scripts/migrate-oz-cli-project.test.ts.md +146 -0
  285. package/src/scripts/migrate-oz-cli-project.test.ts.snap +0 -0
  286. package/src/scripts/migrate-oz-cli-project.ts +484 -0
  287. package/src/scripts/project-file.test.json +25 -0
  288. package/src/set-proxy-kind.ts +27 -0
  289. package/src/solc-api.ts +42 -0
  290. package/src/src-decoder.test.ts +30 -0
  291. package/src/src-decoder.ts +37 -0
  292. package/src/storage/compare.ts +249 -0
  293. package/src/storage/compat.ts +3 -0
  294. package/src/storage/extract.ts +110 -0
  295. package/src/storage/index.ts +73 -0
  296. package/src/storage/layout.ts +88 -0
  297. package/src/storage/report.test.ts +95 -0
  298. package/src/storage/report.test.ts.md +154 -0
  299. package/src/storage/report.test.ts.snap +0 -0
  300. package/src/storage/report.ts +215 -0
  301. package/src/storage.test.ts +479 -0
  302. package/src/storage.test.ts.md +643 -0
  303. package/src/storage.test.ts.snap +0 -0
  304. package/src/stub-provider.ts +120 -0
  305. package/src/utils/assert.ts +9 -0
  306. package/src/utils/curry.ts +17 -0
  307. package/src/utils/debug.ts +3 -0
  308. package/src/utils/deep-array.test.ts +21 -0
  309. package/src/utils/deep-array.ts +9 -0
  310. package/src/utils/function.test.ts +37 -0
  311. package/src/utils/function.ts +53 -0
  312. package/src/utils/indent.ts +3 -0
  313. package/src/utils/is-nullish.test.ts +15 -0
  314. package/src/utils/is-nullish.ts +3 -0
  315. package/src/utils/is-value-type.ts +5 -0
  316. package/src/utils/itemize.ts +16 -0
  317. package/src/utils/log.ts +34 -0
  318. package/src/utils/make-non-enumerable.ts +4 -0
  319. package/src/utils/map-values.ts +7 -0
  320. package/src/utils/parse-type-id.test.ts +22 -0
  321. package/src/utils/parse-type-id.test.ts.md +264 -0
  322. package/src/utils/parse-type-id.test.ts.snap +0 -0
  323. package/src/utils/parse-type-id.ts +104 -0
  324. package/src/utils/pick.ts +7 -0
  325. package/src/utils/type-id.ts +57 -0
  326. package/src/validate/compat.ts +9 -0
  327. package/src/validate/data.ts +55 -0
  328. package/src/validate/error.ts +75 -0
  329. package/src/validate/index.ts +17 -0
  330. package/src/validate/overrides.ts +93 -0
  331. package/src/validate/query.test.ts +48 -0
  332. package/src/validate/query.ts +127 -0
  333. package/src/validate/run.ts +278 -0
  334. package/src/validate.test.ts +133 -0
  335. package/src/version.test.ts +59 -0
  336. package/src/version.ts +71 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-oz-cli-project.d.ts","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,321 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.migrateManifestsData = exports.deleteLegacyFiles = exports.migrateManifestFiles = exports.migrateLegacyProject = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const chalk_1 = __importDefault(require("chalk"));
9
+ const fs_1 = require("fs");
10
+ const compare_versions_1 = require("compare-versions");
11
+ const OPEN_ZEPPELIN_FOLDER = '.openzeppelin';
12
+ const EXPORT_FILE = 'openzeppelin-cli-export.json';
13
+ const PROJECT_FILE = path_1.default.join(OPEN_ZEPPELIN_FOLDER, 'project.json');
14
+ const SUCCESS_CHECK = chalk_1.default.green('✔') + ' ';
15
+ async function migrateLegacyProject() {
16
+ const manifestFiles = await getManifestFiles();
17
+ const networksExportData = await migrateManifestFiles(manifestFiles);
18
+ const { compiler } = await getProjectFile();
19
+ const exportData = {
20
+ networks: networksExportData,
21
+ compiler,
22
+ };
23
+ await writeJSONFile(EXPORT_FILE, exportData);
24
+ console.log(SUCCESS_CHECK + `Migration data exported to ${EXPORT_FILE}`);
25
+ await deleteLegacyFiles(manifestFiles);
26
+ console.log("\nThese were your project's compiler options:");
27
+ console.log(JSON.stringify(compiler, null, 2));
28
+ }
29
+ exports.migrateLegacyProject = migrateLegacyProject;
30
+ async function migrateManifestFiles(manifestFiles) {
31
+ const migratableManifestFiles = manifestFiles.filter(manifest => !isDevelopmentNetwork(getNetworkName(manifest)));
32
+ const migratableManifestsData = {};
33
+ for (const migratableFile of migratableManifestFiles) {
34
+ const network = getNetworkName(migratableFile);
35
+ migratableManifestsData[network] = JSON.parse(await fs_1.promises.readFile(migratableFile, 'utf8'));
36
+ }
37
+ // we run the entire data migration before writing anything to disk
38
+ const { newManifestsData, networksExportData } = migrateManifestsData(migratableManifestsData);
39
+ for (const network in newManifestsData) {
40
+ const newManifestData = newManifestsData[network];
41
+ const newFilename = getNewManifestLocation(network);
42
+ await writeJSONFile(newFilename, newManifestData);
43
+ console.log(SUCCESS_CHECK + `Successfully migrated ${newFilename}`);
44
+ }
45
+ return networksExportData;
46
+ }
47
+ exports.migrateManifestFiles = migrateManifestFiles;
48
+ async function deleteLegacyFiles(manifestFiles) {
49
+ const developmentManifests = manifestFiles.filter(manifestFile => isDevelopmentNetwork(getNetworkName(manifestFile)));
50
+ for (const manifestFile of developmentManifests) {
51
+ console.log(SUCCESS_CHECK + `Deleting unused development manifest ${manifestFile}`);
52
+ await fs_1.promises.unlink(manifestFile);
53
+ }
54
+ console.log(SUCCESS_CHECK + `Deleting ${PROJECT_FILE}`);
55
+ await fs_1.promises.unlink(PROJECT_FILE);
56
+ }
57
+ exports.deleteLegacyFiles = deleteLegacyFiles;
58
+ function migrateManifestsData(manifestsData) {
59
+ const networksExportData = {};
60
+ const newManifestsData = {};
61
+ for (const network of Object.keys(manifestsData)) {
62
+ const oldManifestData = manifestsData[network];
63
+ const { manifestVersion, zosversion } = oldManifestData;
64
+ const currentVersion = manifestVersion !== null && manifestVersion !== void 0 ? manifestVersion : zosversion;
65
+ if (currentVersion === undefined) {
66
+ throw new Error('Migration failed: manifest version too old. Update your OpenZeppelin CLI version.');
67
+ }
68
+ if (compare_versions_1.compare(currentVersion, '3.0', '>=')) {
69
+ // no need to migrate
70
+ continue;
71
+ }
72
+ if (currentVersion !== '2.2') {
73
+ throw new Error(`Migration failed: expected manifest version 2.2, got ${currentVersion} instead. Update your OpenZeppelin CLI version.`);
74
+ }
75
+ newManifestsData[network] = updateManifestData(oldManifestData);
76
+ networksExportData[network] = getExportData(oldManifestData);
77
+ }
78
+ return {
79
+ newManifestsData,
80
+ networksExportData,
81
+ };
82
+ }
83
+ exports.migrateManifestsData = migrateManifestsData;
84
+ async function getManifestFiles() {
85
+ const files = await fs_1.promises.readdir(OPEN_ZEPPELIN_FOLDER);
86
+ return files.filter(isManifestFile).map(location => path_1.default.join(OPEN_ZEPPELIN_FOLDER, location));
87
+ }
88
+ async function getProjectFile() {
89
+ return JSON.parse(await fs_1.promises.readFile(PROJECT_FILE, 'utf8'));
90
+ }
91
+ function isManifestFile(filename) {
92
+ const network = getNetworkName(filename);
93
+ return isPublicNetwork(network) || isDevelopmentNetwork(network) || isUnknownNetwork(network);
94
+ }
95
+ function getNetworkName(filename) {
96
+ return path_1.default.basename(filename, '.json');
97
+ }
98
+ function isDevelopmentNetwork(network) {
99
+ // 13+ digits => ganache timestamp
100
+ // 31337 => hardhat network
101
+ return /^dev-(31337|\d{13,})$/.test(network);
102
+ }
103
+ function isUnknownNetwork(network) {
104
+ return !isDevelopmentNetwork(network) && /^dev-\d+$/.test(network);
105
+ }
106
+ function isPublicNetwork(network) {
107
+ return ['mainnet', 'rinkeby', 'ropsten', 'kovan', 'goerli'].includes(network);
108
+ }
109
+ function getNewManifestLocation(oldName) {
110
+ const filename = isUnknownNetwork(oldName) ? oldName.replace('dev', 'unknown') : oldName;
111
+ return path_1.default.join(OPEN_ZEPPELIN_FOLDER, `${filename}.json`);
112
+ }
113
+ async function writeJSONFile(location, data) {
114
+ await fs_1.promises.writeFile(location, JSON.stringify(data, null, 2));
115
+ }
116
+ function getExportData(oldManifestData) {
117
+ const networksExportData = Object.assign({}, oldManifestData);
118
+ delete networksExportData.proxyAdmin;
119
+ delete networksExportData.contracts;
120
+ delete networksExportData.solidityLibs;
121
+ delete networksExportData.manifestVersion;
122
+ delete networksExportData.zosversion;
123
+ delete networksExportData.version;
124
+ delete networksExportData.frozen;
125
+ return networksExportData;
126
+ }
127
+ function updateManifestData(oldManifestData) {
128
+ const proxyAdmin = oldManifestData.proxyAdmin.address;
129
+ if (proxyAdmin === undefined) {
130
+ throw new Error('Legacy manifest does not have admin address');
131
+ }
132
+ if (Object.keys(oldManifestData.solidityLibs).length > 0) {
133
+ throw new Error('Legacy manifest links to external libraries which are not yet supported');
134
+ }
135
+ return {
136
+ manifestVersion: '3.2',
137
+ impls: transformImplementations(oldManifestData.contracts),
138
+ proxies: [...transformProxies(oldManifestData.proxies)],
139
+ admin: {
140
+ address: proxyAdmin,
141
+ },
142
+ };
143
+ }
144
+ function* transformProxies(proxies) {
145
+ for (const contractName in proxies) {
146
+ for (const proxy of proxies[contractName]) {
147
+ switch (proxy.kind) {
148
+ case 'Upgradeable':
149
+ if (proxy.address) {
150
+ yield {
151
+ address: proxy.address,
152
+ kind: 'transparent',
153
+ };
154
+ }
155
+ break;
156
+ case 'Minimal':
157
+ case 'NonProxy':
158
+ // not supported by the new plugin
159
+ break;
160
+ }
161
+ }
162
+ }
163
+ }
164
+ function transformImplementations(contracts) {
165
+ const impls = {};
166
+ for (const contractName in contracts) {
167
+ const contract = contracts[contractName];
168
+ if (contract.deployedBytecodeHash === undefined) {
169
+ continue;
170
+ }
171
+ else {
172
+ impls[contract.deployedBytecodeHash] = transformImplementationItem(contract);
173
+ }
174
+ }
175
+ return impls;
176
+ }
177
+ function transformImplementationItem(contract) {
178
+ if (contract.address === undefined) {
179
+ throw new Error('Could not find implementation address');
180
+ }
181
+ return {
182
+ address: contract.address,
183
+ layout: transformLayout(contract),
184
+ };
185
+ }
186
+ function transformLayout(contract) {
187
+ const { types, storage } = contract;
188
+ if (types === undefined || storage === undefined) {
189
+ throw new Error("Storage layout can't be undefined");
190
+ }
191
+ // We need to associate a made up astId to some types since the OpenZeppelin CLI used to drop them
192
+ const astIds = Object.keys(types);
193
+ const getAstId = (typeName) => {
194
+ const astId = astIds.indexOf(typeName);
195
+ if (astId === -1) {
196
+ throw new Error(`Could not find type ${typeName}`);
197
+ }
198
+ return astId;
199
+ };
200
+ return {
201
+ storage: storage.map((storageItem) => transformStorageItem(storageItem, getAstId)),
202
+ types: transformTypes(types, getAstId),
203
+ };
204
+ }
205
+ function transformStorageItem(storageItem, getAstId) {
206
+ return {
207
+ contract: storageItem.contract,
208
+ label: storageItem.label,
209
+ type: transformTypeName(storageItem.type, getAstId),
210
+ // TODO reconstruct path and line if sourcecode is available
211
+ src: storageItem.path,
212
+ };
213
+ }
214
+ function transformTypes(oldTypes, getAstId) {
215
+ const newTypes = {};
216
+ for (const typeName in oldTypes) {
217
+ newTypes[transformTypeName(typeName, getAstId)] = transformType(getTypeKind(typeName), oldTypes[typeName], getAstId);
218
+ }
219
+ return newTypes;
220
+ }
221
+ function transformType(typeKind, oldType, getAstId) {
222
+ switch (typeKind) {
223
+ case 'Struct':
224
+ return {
225
+ label: stripContractName(oldType.label),
226
+ members: oldType.members.map(member => ({
227
+ label: stripContractName(member.label),
228
+ type: transformTypeName(member.type, getAstId),
229
+ })),
230
+ };
231
+ case 'Enum':
232
+ return {
233
+ label: stripContractName(oldType.label),
234
+ members: oldType.members,
235
+ };
236
+ default:
237
+ return {
238
+ label: stripContractName(oldType.label),
239
+ };
240
+ }
241
+ }
242
+ function transformTypeName(typeName, getAstId) {
243
+ switch (getTypeKind(typeName)) {
244
+ case 'Struct':
245
+ return transformStructTypeName(typeName, getAstId);
246
+ case 'Enum':
247
+ return transformEnumTypeName(typeName, getAstId);
248
+ case 'Mapping':
249
+ return transformMappingTypeName(typeName, getAstId);
250
+ case 'DynArray':
251
+ return transformDynArrayTypeName(typeName, getAstId);
252
+ case 'StaticArray':
253
+ return transformStaticArrayTypeName(typeName, getAstId);
254
+ case 'Elementary':
255
+ return typeName;
256
+ default:
257
+ throw new Error(`Unknown type: ${typeName}`);
258
+ }
259
+ }
260
+ function transformStructTypeName(typeName, getAstId) {
261
+ const name = stripContractName(getArgument(typeName));
262
+ const astId = getAstId(typeName);
263
+ return `t_struct(${name})${astId}_storage`;
264
+ }
265
+ function transformEnumTypeName(typeName, getAstId) {
266
+ const name = stripContractName(getArgument(typeName));
267
+ const astId = getAstId(typeName);
268
+ return `t_enum(${name})${astId}`;
269
+ }
270
+ function transformMappingTypeName(typeName, getAstId) {
271
+ const valueType = transformTypeName(getArgument(typeName), getAstId);
272
+ return `t_mapping(unknown,${valueType})`;
273
+ }
274
+ function transformDynArrayTypeName(typeName, getAstId) {
275
+ const valueType = transformTypeName(getArgument(typeName), getAstId);
276
+ return `t_array(${valueType})dyn_storage`;
277
+ }
278
+ function transformStaticArrayTypeName(typeName, getAstId) {
279
+ // here we assume the regex has been already validated
280
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
281
+ const size = typeName.match(/:(\d+)/)[1];
282
+ const valueType = transformTypeName(getArgument(typeName), getAstId);
283
+ return `t_array(${valueType})${size}_storage`;
284
+ }
285
+ function getArgument(typeName) {
286
+ // here we assume the regex has been already validated
287
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
288
+ return typeName.match(/<(.+)>/)[1];
289
+ }
290
+ function stripContractName(s) {
291
+ // regex always matches
292
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
293
+ return s.match(/(.+\.)?(.+)/)[2];
294
+ }
295
+ function getTypeKind(typeName) {
296
+ if (/^t_struct<.+>/.test(typeName)) {
297
+ return 'Struct';
298
+ }
299
+ else if (/^t_enum<.+>/.test(typeName)) {
300
+ return 'Enum';
301
+ }
302
+ else if (/^t_mapping<.+>/.test(typeName)) {
303
+ return 'Mapping';
304
+ }
305
+ else if (/^t_array:dyn<.+>/.test(typeName)) {
306
+ return 'DynArray';
307
+ }
308
+ else if (/^t_array:\d+<.+>/.test(typeName)) {
309
+ return 'StaticArray';
310
+ }
311
+ else {
312
+ return 'Elementary';
313
+ }
314
+ }
315
+ var ProxyType;
316
+ (function (ProxyType) {
317
+ ProxyType["Upgradeable"] = "Upgradeable";
318
+ ProxyType["Minimal"] = "Minimal";
319
+ ProxyType["NonProxy"] = "NonProxy";
320
+ })(ProxyType || (ProxyType = {}));
321
+ //# sourceMappingURL=migrate-oz-cli-project.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-oz-cli-project.js","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=migrate-oz-cli-project.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-oz-cli-project.test.d.ts","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const os_1 = __importDefault(require("os"));
7
+ const ava_1 = __importDefault(require("ava"));
8
+ const path_1 = __importDefault(require("path"));
9
+ const util_1 = __importDefault(require("util"));
10
+ const rimraf_1 = __importDefault(require("rimraf"));
11
+ const fs_1 = require("fs");
12
+ const compare_versions_1 = require("compare-versions");
13
+ const migrate_oz_cli_project_1 = require("./migrate-oz-cli-project");
14
+ const rimraf = util_1.default.promisify(rimraf_1.default);
15
+ const BASE_PATH = 'src/scripts';
16
+ const OPENZEPPELIN_FOLDER = '.openzeppelin';
17
+ const PROJECT_FILE = path_1.default.join(OPENZEPPELIN_FOLDER, 'project.json');
18
+ const EXPORT_FILE = 'openzeppelin-cli-export.json';
19
+ const NETWORK_FILE = path_1.default.join(OPENZEPPELIN_FOLDER, 'rinkeby.json');
20
+ let migratableData;
21
+ let migrationOutput;
22
+ let projectData;
23
+ ava_1.default.before(async () => {
24
+ migratableData = JSON.parse(await fs_1.promises.readFile(path_1.default.join(BASE_PATH, 'migratable-manifest.test.json'), 'utf8'));
25
+ projectData = JSON.parse(await fs_1.promises.readFile(path_1.default.join(BASE_PATH, 'project-file.test.json'), 'utf8'));
26
+ migrationOutput = migrate_oz_cli_project_1.migrateManifestsData({ rinkeby: migratableData });
27
+ process.chdir(await fs_1.promises.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'migration-test-')));
28
+ await fs_1.promises.mkdir(OPENZEPPELIN_FOLDER);
29
+ await fs_1.promises.writeFile(PROJECT_FILE, JSON.stringify(projectData, null, 2));
30
+ await fs_1.promises.writeFile(NETWORK_FILE, JSON.stringify(migratableData, null, 2));
31
+ await migrate_oz_cli_project_1.migrateLegacyProject();
32
+ });
33
+ ava_1.default.after(async () => {
34
+ await rimraf(process.cwd());
35
+ });
36
+ ava_1.default('transforms manifest data', async (t) => {
37
+ t.snapshot(migrationOutput.newManifestsData);
38
+ });
39
+ ava_1.default('produces network export data', async (t) => {
40
+ t.snapshot(migrationOutput.networksExportData);
41
+ });
42
+ ava_1.default('deletes project file', async (t) => {
43
+ const error = await t.throwsAsync(() => fs_1.promises.access(PROJECT_FILE));
44
+ t.is(error.message, `ENOENT: no such file or directory, access '${PROJECT_FILE}'`);
45
+ });
46
+ ava_1.default('export file contains networks and compiler data', async (t) => {
47
+ const actual = JSON.parse(await fs_1.promises.readFile(EXPORT_FILE, 'utf8'));
48
+ const expected = {
49
+ networks: migrationOutput.networksExportData,
50
+ compiler: projectData.compiler,
51
+ };
52
+ t.deepEqual(actual, expected);
53
+ });
54
+ ava_1.default('zosversion', t => {
55
+ const migratableDataZosVersion = { zosversion: '2.2', ...migratableData };
56
+ delete migratableDataZosVersion.manifestVersion;
57
+ const output = migrate_oz_cli_project_1.migrateManifestsData({ rinkeby: migratableDataZosVersion });
58
+ t.true(compare_versions_1.compare(output.newManifestsData.rinkeby.manifestVersion, '3.0', '>='));
59
+ });
60
+ //# sourceMappingURL=migrate-oz-cli-project.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate-oz-cli-project.test.js","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import { EthereumProvider } from './provider';
2
+ import { ValidationOptions } from './validate';
3
+ import { ProxyDeployment } from './manifest';
4
+ export declare function setProxyKind(provider: EthereumProvider, proxyAddress: string, opts: ValidationOptions): Promise<ProxyDeployment['kind']>;
5
+ //# sourceMappingURL=set-proxy-kind.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-proxy-kind.d.ts","sourceRoot":"","sources":["../src/set-proxy-kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/C,OAAO,EAAgC,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3E,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAkBlC"}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setProxyKind = void 0;
4
+ const manifest_1 = require("./manifest");
5
+ async function setProxyKind(provider, proxyAddress, opts) {
6
+ var _a;
7
+ const manifest = await manifest_1.Manifest.forNetwork(provider);
8
+ const manifestDeployment = await manifest.getProxyFromAddress(proxyAddress).catch(e => {
9
+ if (e instanceof manifest_1.DeploymentNotFound) {
10
+ return undefined;
11
+ }
12
+ else {
13
+ throw e;
14
+ }
15
+ });
16
+ if (opts.kind === undefined) {
17
+ opts.kind = (_a = manifestDeployment === null || manifestDeployment === void 0 ? void 0 : manifestDeployment.kind) !== null && _a !== void 0 ? _a : 'transparent';
18
+ }
19
+ else if (manifestDeployment && opts.kind !== manifestDeployment.kind) {
20
+ throw new Error(`Requested an upgrade of kind ${opts.kind} but proxy is ${manifestDeployment.kind}`);
21
+ }
22
+ return opts.kind;
23
+ }
24
+ exports.setProxyKind = setProxyKind;
25
+ //# sourceMappingURL=set-proxy-kind.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"set-proxy-kind.js","sourceRoot":"","sources":["../src/set-proxy-kind.ts"],"names":[],"mappings":";;;AAEA,yCAA2E;AAEpE,KAAK,UAAU,YAAY,CAChC,QAA0B,EAC1B,YAAoB,EACpB,IAAuB;;IAEvB,MAAM,QAAQ,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACpF,IAAI,CAAC,YAAY,6BAAkB,EAAE;YACnC,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,MAAM,CAAC,CAAC;SACT;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QAC3B,IAAI,CAAC,IAAI,GAAG,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,mCAAI,aAAa,CAAC;KACvD;SAAM,IAAI,kBAAkB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,EAAE;QACtE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,iBAAiB,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;KACtG;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAtBD,oCAsBC"}
@@ -0,0 +1,39 @@
1
+ import type { SourceUnit } from 'solidity-ast';
2
+ export interface SolcOutput {
3
+ contracts: {
4
+ [file in string]: {
5
+ [contract in string]: {
6
+ evm: {
7
+ bytecode: SolcBytecode;
8
+ methodIdentifiers?: Record<string, string>;
9
+ };
10
+ };
11
+ };
12
+ };
13
+ sources: {
14
+ [file in string]: {
15
+ ast: SourceUnit;
16
+ id: number;
17
+ };
18
+ };
19
+ }
20
+ export interface SolcInput {
21
+ sources: {
22
+ [source in string]: {
23
+ content?: string;
24
+ };
25
+ };
26
+ }
27
+ export declare type SolcLinkReferences = {
28
+ [file in string]: {
29
+ [library in string]: {
30
+ length: number;
31
+ start: number;
32
+ }[];
33
+ };
34
+ };
35
+ export interface SolcBytecode {
36
+ linkReferences: SolcLinkReferences;
37
+ object: string;
38
+ }
39
+ //# sourceMappingURL=solc-api.d.ts.map