@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":"manifest-storage-layout.test.js","sourceRoot":"","sources":["../src/manifest-storage-layout.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAA2C;AAC3C,oDAA4B;AAE5B,qCAAoC;AAEpC,+CAAuD;AACvD,wCAA6D;AAC7D,4CAAoD;AACpD,0CAA0E;AAI1E,uEAAgG;AAOhG,MAAM,IAAI,GAAG,aAA+B,CAAC;AAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;IACpB,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,0DAA0D,CAAC,CAAC;IAC3G,gBAAM,CAAC,SAAS,KAAK,SAAS,EAAE,sBAAsB,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,oCAAsB,CAAC,SAAS,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC;IAC5E,CAAC,CAAC,OAAO,CAAC,aAAa,GAAG,cAAQ,CAAC,SAAS,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC,CAAC,OAAO,CAAC,cAAc,GAAG,8BAAuB,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC;AAChF,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,4CAA4C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC3D,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACrE,gBAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAC9B,MAAM,aAAa,GAAG,wBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,0BAA0B,CAAC,aAAa,CAAC,CAAC;IACjE,MAAM,OAAO,GAAG,4CAA4C,CAAC;IAC7D,MAAM,QAAQ,GAAG,YAAY,CAAC;QAC5B,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE;YACL,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACzB,OAAO;gBACP,MAAM,EAAE,oEAAoE;gBAC5E,MAAM,EAAE,cAAc;aACvB;SACF;QACD,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;IACH,MAAM,MAAM,GAAG,MAAM,oDAA0B,CAAC,QAAQ,EAAE,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IAC7F,CAAC,CAAC,SAAS,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACnC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;QACpB,KAAK,EAAE;YACL,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE;gBACzB,OAAO;gBACP,MAAM,EAAE,oEAAoE;gBAC5E,MAAM,EAAE,aAAa;aACtB;SACF;QACD,OAAO,EAAE,EAAE;KACZ,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wCAAwC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvD,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,uBAAuB,CAAC,CAAC;IACrE,gBAAM,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC;IAC9B,MAAM,YAAY,GAAG,wBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC;IACzE,MAAM,cAAc,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,iDAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IACjH,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,wDAAwD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACvE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IACrF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,6BAA6B,CAAC,CAAC;IACrF,gBAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;IAC7F,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,2CAA2C,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,wBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,iDAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAClH,CAAC,CAAC,SAAS,CAAC,aAAa,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sDAAsD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACrE,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IACnF,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,2BAA2B,CAAC,CAAC;IACnF,gBAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,QAAQ,KAAK,SAAS,CAAC,CAAC;IACzD,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,EAAE,QAAQ,CAAC,eAAe,EAAE,kCAAkC,CAAC,CAAC;IAC7F,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,YAAY,EAAE,QAAQ,CAAC,YAAY,EAAE,2CAA2C,CAAC,CAAC;IACjG,MAAM,YAAY,GAAG,wBAAgB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,CAAC;IAC1E,MAAM,cAAc,GAAG,0BAA0B,CAAC,YAAY,CAAC,CAAC;IAChE,MAAM,aAAa,GAAG,iDAAuB,CAAC,CAAC,CAAC,OAAO,CAAC,cAAc,EAAE,QAAQ,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC;IAClH,CAAC,CAAC,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;AACjC,CAAC,CAAC,CAAC;AAEH,SAAS,YAAY,CAAC,IAAkB;IAEtC,MAAM,QAAQ,GAAoD;QAChE,IAAI;QACJ,KAAK,CAAC,IAAI;YACR,OAAO,IAAI,CAAC,IAAI,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,KAAK,CAAC,IAAkB;YAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACnB,CAAC;QACD,KAAK,CAAC,SAAS,CAAI,EAAoB;YACrC,OAAO,EAAE,EAAE,CAAC;QACd,CAAC;KACF,CAAC;IACF,OAAO,QAA6C,CAAC;AACvD,CAAC;AAED,+DAA+D;AAC/D,SAAS,0BAA0B,CAAC,MAAqB;IACvD,MAAM,GAAG,GAAG,EAAE,GAAG,MAAM,EAAE,KAAK,EAAE,EAAE,GAAG,MAAM,CAAC,KAAK,EAAE,EAAE,CAAC;IACtD,KAAK,MAAM,EAAE,IAAI,GAAG,CAAC,KAAK,EAAE;QAC1B,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,CAAC;KAC7D;IACD,OAAO,GAAG,CAAC;AACb,CAAC"}
@@ -0,0 +1,36 @@
1
+ import { EthereumProvider } from './provider';
2
+ import type { Deployment } from './deployment';
3
+ import type { StorageLayout } from './storage';
4
+ export interface ManifestData {
5
+ manifestVersion: string;
6
+ impls: {
7
+ [version in string]?: ImplDeployment;
8
+ };
9
+ proxies: ProxyDeployment[];
10
+ admin?: Deployment;
11
+ }
12
+ export interface ImplDeployment extends Deployment {
13
+ layout: StorageLayout;
14
+ }
15
+ export interface ProxyDeployment extends Deployment {
16
+ kind: 'uups' | 'transparent';
17
+ }
18
+ export declare class Manifest {
19
+ readonly chainId: number;
20
+ readonly file: string;
21
+ private locked;
22
+ static forNetwork(provider: EthereumProvider): Promise<Manifest>;
23
+ constructor(chainId: number);
24
+ getAdmin(): Promise<Deployment | undefined>;
25
+ getDeploymentFromAddress(address: string): Promise<ImplDeployment>;
26
+ getProxyFromAddress(address: string): Promise<ProxyDeployment>;
27
+ addProxy(proxy: ProxyDeployment): Promise<void>;
28
+ read(): Promise<ManifestData>;
29
+ write(data: ManifestData): Promise<void>;
30
+ lockedRun<T>(cb: () => Promise<T>): Promise<T>;
31
+ private lock;
32
+ }
33
+ export declare function migrateManifest(data: ManifestData): ManifestData;
34
+ export declare class DeploymentNotFound extends Error {
35
+ }
36
+ //# sourceMappingURL=manifest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAA4B,MAAM,YAAY,CAAC;AAIxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM/C,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE;SACJ,OAAO,IAAI,MAAM,CAAC,CAAC,EAAE,cAAc;KACrC,CAAC;IACF,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B;AAYD,qBAAa,QAAQ;IAQP,QAAQ,CAAC,OAAO,EAAE,MAAM;IAPpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAS;WAEV,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAIjD,OAAO,EAAE,MAAM;IAK9B,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAI3C,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IASlE,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAS9D,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB7B,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAYtC,IAAI;CASnB;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAUhE;AAED,qBAAa,kBAAmB,SAAQ,KAAK;CAAG"}
@@ -0,0 +1,154 @@
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.DeploymentNotFound = exports.migrateManifest = exports.Manifest = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = require("fs");
9
+ const provider_1 = require("./provider");
10
+ const proper_lockfile_1 = __importDefault(require("proper-lockfile"));
11
+ const compare_versions_1 = require("compare-versions");
12
+ const pick_1 = require("./utils/pick");
13
+ const map_values_1 = require("./utils/map-values");
14
+ const currentManifestVersion = '3.2';
15
+ function defaultManifest() {
16
+ return {
17
+ manifestVersion: currentManifestVersion,
18
+ impls: {},
19
+ proxies: [],
20
+ };
21
+ }
22
+ const manifestDir = '.openzeppelin';
23
+ class Manifest {
24
+ constructor(chainId) {
25
+ var _a;
26
+ this.chainId = chainId;
27
+ this.locked = false;
28
+ const name = (_a = provider_1.networkNames[chainId]) !== null && _a !== void 0 ? _a : `unknown-${chainId}`;
29
+ this.file = path_1.default.join(manifestDir, `${name}.json`);
30
+ }
31
+ static async forNetwork(provider) {
32
+ return new Manifest(await provider_1.getChainId(provider));
33
+ }
34
+ async getAdmin() {
35
+ return (await this.read()).admin;
36
+ }
37
+ async getDeploymentFromAddress(address) {
38
+ const data = await this.read();
39
+ const deployment = Object.values(data.impls).find(d => (d === null || d === void 0 ? void 0 : d.address) === address);
40
+ if (deployment === undefined) {
41
+ throw new DeploymentNotFound(`Deployment at address ${address} is not registered`);
42
+ }
43
+ return deployment;
44
+ }
45
+ async getProxyFromAddress(address) {
46
+ const data = await this.read();
47
+ const deployment = data.proxies.find(d => (d === null || d === void 0 ? void 0 : d.address) === address);
48
+ if (deployment === undefined) {
49
+ throw new DeploymentNotFound(`Proxy at address ${address} is not registered`);
50
+ }
51
+ return deployment;
52
+ }
53
+ async addProxy(proxy) {
54
+ await this.lockedRun(async () => {
55
+ const data = await this.read();
56
+ const existing = data.proxies.findIndex(p => p.address === proxy.address);
57
+ if (existing >= 0) {
58
+ data.proxies.splice(existing, 1);
59
+ }
60
+ data.proxies.push(proxy);
61
+ await this.write(data);
62
+ });
63
+ }
64
+ async read() {
65
+ const release = this.locked ? undefined : await this.lock();
66
+ try {
67
+ const data = JSON.parse(await fs_1.promises.readFile(this.file, 'utf8'));
68
+ return validateOrUpdateManifestVersion(data);
69
+ }
70
+ catch (e) {
71
+ if (e.code === 'ENOENT') {
72
+ return defaultManifest();
73
+ }
74
+ else {
75
+ throw e;
76
+ }
77
+ }
78
+ finally {
79
+ await (release === null || release === void 0 ? void 0 : release());
80
+ }
81
+ }
82
+ async write(data) {
83
+ if (!this.locked) {
84
+ throw new Error('Manifest must be locked');
85
+ }
86
+ const normalized = normalizeManifestData(data);
87
+ await fs_1.promises.writeFile(this.file, JSON.stringify(normalized, null, 2) + '\n');
88
+ }
89
+ async lockedRun(cb) {
90
+ if (this.locked) {
91
+ throw new Error('Manifest is already locked');
92
+ }
93
+ const release = await this.lock();
94
+ try {
95
+ return await cb();
96
+ }
97
+ finally {
98
+ await release();
99
+ }
100
+ }
101
+ async lock() {
102
+ await fs_1.promises.mkdir(path_1.default.dirname(this.file), { recursive: true });
103
+ const release = await proper_lockfile_1.default.lock(this.file, { retries: 3, realpath: false });
104
+ this.locked = true;
105
+ return async () => {
106
+ await release();
107
+ this.locked = false;
108
+ };
109
+ }
110
+ }
111
+ exports.Manifest = Manifest;
112
+ function validateOrUpdateManifestVersion(data) {
113
+ if (typeof data.manifestVersion !== 'string') {
114
+ throw new Error('Manifest version is missing');
115
+ }
116
+ else if (compare_versions_1.compare(data.manifestVersion, '3.0', '<')) {
117
+ throw new Error('Found a manifest file for OpenZeppelin CLI. An automated migration is not yet available.');
118
+ }
119
+ else if (compare_versions_1.compare(data.manifestVersion, currentManifestVersion, '<')) {
120
+ return migrateManifest(data);
121
+ }
122
+ else if (data.manifestVersion === currentManifestVersion) {
123
+ return data;
124
+ }
125
+ else {
126
+ throw new Error(`Unknown value for manifest version (${data.manifestVersion})`);
127
+ }
128
+ }
129
+ function migrateManifest(data) {
130
+ switch (data.manifestVersion) {
131
+ case '3.0':
132
+ case '3.1':
133
+ data.manifestVersion = currentManifestVersion;
134
+ data.proxies = [];
135
+ return data;
136
+ default:
137
+ throw new Error('Manifest migration not available');
138
+ }
139
+ }
140
+ exports.migrateManifest = migrateManifest;
141
+ class DeploymentNotFound extends Error {
142
+ }
143
+ exports.DeploymentNotFound = DeploymentNotFound;
144
+ function normalizeManifestData(input) {
145
+ return {
146
+ ...pick_1.pick(input, ['manifestVersion', 'admin']),
147
+ proxies: input.proxies.map(p => normalizeDeployment(p, ['kind'])),
148
+ impls: map_values_1.mapValues(input.impls, i => i && normalizeDeployment(i, ['layout'])),
149
+ };
150
+ }
151
+ function normalizeDeployment(input, include = []) {
152
+ return pick_1.pick(input, ['address', 'txHash', ...include]);
153
+ }
154
+ //# sourceMappingURL=manifest.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=manifest.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.test.d.ts","sourceRoot":"","sources":["../src/manifest.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,17 @@
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 ava_1 = __importDefault(require("ava"));
7
+ const manifest_1 = require("./manifest");
8
+ ava_1.default('manifest name for a known network', t => {
9
+ const manifest = new manifest_1.Manifest(1);
10
+ t.is(manifest.file, '.openzeppelin/mainnet.json');
11
+ });
12
+ ava_1.default('manifest name for an unknown network', t => {
13
+ const id = 55555;
14
+ const manifest = new manifest_1.Manifest(id);
15
+ t.is(manifest.file, `.openzeppelin/unknown-${id}.json`);
16
+ });
17
+ //# sourceMappingURL=manifest.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"manifest.test.js","sourceRoot":"","sources":["../src/manifest.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,yCAAsC;AAEtC,aAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE;IAC5C,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,sCAAsC,EAAE,CAAC,CAAC,EAAE;IAC/C,MAAM,EAAE,GAAG,KAAK,CAAC;IACjB,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"}
@@ -0,0 +1,37 @@
1
+ export interface EthereumProvider {
2
+ send(method: 'web3_clientVersion', params: []): Promise<string>;
3
+ send(method: 'net_version', params: []): Promise<string>;
4
+ send(method: 'eth_chainId', params: []): Promise<string>;
5
+ send(method: 'eth_getCode', params: [string, string]): Promise<string>;
6
+ send(method: 'eth_getStorageAt', params: [string, string, string]): Promise<string>;
7
+ send(method: 'eth_getTransactionByHash', params: [string]): Promise<null | EthereumTransaction>;
8
+ send(method: 'eth_getTransactionReceipt', params: [string]): Promise<null | EthereumTransactionReceipt>;
9
+ send(method: string, params: unknown[]): Promise<unknown>;
10
+ }
11
+ interface EthereumTransaction {
12
+ blockHash: string | null;
13
+ }
14
+ interface EthereumTransactionReceipt {
15
+ status: string;
16
+ to: string | null;
17
+ from: string;
18
+ blockHash: string;
19
+ blockNumber: string;
20
+ transactionHash: string;
21
+ transactionIndex: string;
22
+ }
23
+ export declare function getNetworkId(provider: EthereumProvider): Promise<string>;
24
+ export declare function getChainId(provider: EthereumProvider): Promise<number>;
25
+ export declare function getClientVersion(provider: EthereumProvider): Promise<string>;
26
+ export declare function getStorageAt(provider: EthereumProvider, address: string, position: string, block?: string): Promise<string>;
27
+ export declare function getCode(provider: EthereumProvider, address: string, block?: string): Promise<string>;
28
+ export declare function hasCode(provider: EthereumProvider, address: string, block?: string): Promise<boolean>;
29
+ export declare function getTransactionByHash(provider: EthereumProvider, txHash: string): Promise<EthereumTransaction | null>;
30
+ export declare function getTransactionReceipt(provider: EthereumProvider, txHash: string): Promise<EthereumTransactionReceipt | null>;
31
+ export declare const networkNames: {
32
+ [chainId in number]?: string;
33
+ };
34
+ export declare function isDevelopmentNetwork(provider: EthereumProvider): Promise<boolean>;
35
+ export declare function isReceiptSuccessful(receipt: Pick<EthereumTransactionReceipt, 'status'>): boolean;
36
+ export {};
37
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,MAAM,EAAE,oBAAoB,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACzD,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACvE,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACpF,IAAI,CAAC,MAAM,EAAE,0BAA0B,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,mBAAmB,CAAC,CAAC;IAChG,IAAI,CAAC,MAAM,EAAE,2BAA2B,EAAE,MAAM,EAAE,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,GAAG,0BAA0B,CAAC,CAAC;IACxG,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CAC3D;AAED,UAAU,mBAAmB;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;CAC1B;AAED,UAAU,0BAA0B;IAClC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,GAAG,IAAI,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,wBAAsB,YAAY,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAE9E;AAED,wBAAsB,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAG5E;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,CAElF;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAW,GACf,OAAO,CAAC,MAAM,CAAC,CAIjB;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,SAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CAE5G;AAED,wBAAsB,OAAO,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAG3G;AAED,wBAAsB,oBAAoB,CACxC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC,CAErC;AAED,wBAAsB,qBAAqB,CACzC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,0BAA0B,GAAG,IAAI,CAAC,CAM5C;AAED,eAAO,MAAM,YAAY,EAAE;KAAG,OAAO,IAAI,MAAM,CAAC,CAAC,EAAE,MAAM;CAOvD,CAAC;AAEH,wBAAsB,oBAAoB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC,CAWvF;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,0BAA0B,EAAE,QAAQ,CAAC,GAAG,OAAO,CAEhG"}
@@ -0,0 +1,74 @@
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.isReceiptSuccessful = exports.isDevelopmentNetwork = exports.networkNames = exports.getTransactionReceipt = exports.getTransactionByHash = exports.hasCode = exports.getCode = exports.getStorageAt = exports.getClientVersion = exports.getChainId = exports.getNetworkId = void 0;
7
+ const bn_js_1 = __importDefault(require("bn.js"));
8
+ async function getNetworkId(provider) {
9
+ return provider.send('net_version', []);
10
+ }
11
+ exports.getNetworkId = getNetworkId;
12
+ async function getChainId(provider) {
13
+ const id = await provider.send('eth_chainId', []);
14
+ return new bn_js_1.default(id.replace(/^0x/, ''), 'hex').toNumber();
15
+ }
16
+ exports.getChainId = getChainId;
17
+ async function getClientVersion(provider) {
18
+ return provider.send('web3_clientVersion', []);
19
+ }
20
+ exports.getClientVersion = getClientVersion;
21
+ async function getStorageAt(provider, address, position, block = 'latest') {
22
+ const storage = await provider.send('eth_getStorageAt', [address, position, block]);
23
+ const padded = storage.replace(/^0x/, '').padStart(64, '0');
24
+ return '0x' + padded;
25
+ }
26
+ exports.getStorageAt = getStorageAt;
27
+ async function getCode(provider, address, block = 'latest') {
28
+ return provider.send('eth_getCode', [address, block]);
29
+ }
30
+ exports.getCode = getCode;
31
+ async function hasCode(provider, address, block) {
32
+ const code = await getCode(provider, address, block);
33
+ return code !== '0x';
34
+ }
35
+ exports.hasCode = hasCode;
36
+ async function getTransactionByHash(provider, txHash) {
37
+ return provider.send('eth_getTransactionByHash', [txHash]);
38
+ }
39
+ exports.getTransactionByHash = getTransactionByHash;
40
+ async function getTransactionReceipt(provider, txHash) {
41
+ const receipt = await provider.send('eth_getTransactionReceipt', [txHash]);
42
+ if (receipt === null || receipt === void 0 ? void 0 : receipt.status) {
43
+ receipt.status = receipt.status.match(/^0x0+$/) ? '0x0' : receipt.status.replace(/^0x0+/, '0x');
44
+ }
45
+ return receipt;
46
+ }
47
+ exports.getTransactionReceipt = getTransactionReceipt;
48
+ exports.networkNames = Object.freeze({
49
+ 1: 'mainnet',
50
+ 2: 'morden',
51
+ 3: 'ropsten',
52
+ 4: 'rinkeby',
53
+ 5: 'goerli',
54
+ 42: 'kovan',
55
+ });
56
+ async function isDevelopmentNetwork(provider) {
57
+ const chainId = await getChainId(provider);
58
+ // 1337 => ganache and geth --dev
59
+ // 31337 => hardhat network
60
+ if (chainId === 1337 || chainId === 31337) {
61
+ return true;
62
+ }
63
+ else {
64
+ const clientVersion = await getClientVersion(provider);
65
+ const [name] = clientVersion.split('/', 1);
66
+ return name === 'HardhatNetwork' || name === 'EthereumJS TestRPC';
67
+ }
68
+ }
69
+ exports.isDevelopmentNetwork = isDevelopmentNetwork;
70
+ function isReceiptSuccessful(receipt) {
71
+ return receipt.status === '0x1';
72
+ }
73
+ exports.isReceiptSuccessful = isReceiptSuccessful;
74
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=provider.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.test.d.ts","sourceRoot":"","sources":["../src/provider.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,41 @@
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 ava_1 = __importDefault(require("ava"));
7
+ const provider_1 = require("./provider");
8
+ const hash = '0x1234';
9
+ function makeProviderReturning(result) {
10
+ return { send: (_method, _params) => Promise.resolve(result) };
11
+ }
12
+ ava_1.default('getTransactionReceipt returns null', async (t) => {
13
+ const provider = makeProviderReturning(null);
14
+ t.is(await provider_1.getTransactionReceipt(provider, hash), null);
15
+ });
16
+ ava_1.default('getTransactionReceipt status returns 0x0', async (t) => {
17
+ const provider = makeProviderReturning({ status: '0x0' });
18
+ const receipt = await provider_1.getTransactionReceipt(provider, hash);
19
+ t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x0');
20
+ });
21
+ ava_1.default('getTransactionReceipt status returns 0x1', async (t) => {
22
+ const provider = makeProviderReturning({ status: '0x1' });
23
+ const receipt = await provider_1.getTransactionReceipt(provider, hash);
24
+ t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x1');
25
+ });
26
+ ava_1.default('getTransactionReceipt status normalizes to 0x0', async (t) => {
27
+ const provider = makeProviderReturning({ status: '0x000000000000000000000000' });
28
+ const receipt = await provider_1.getTransactionReceipt(provider, hash);
29
+ t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x0');
30
+ });
31
+ ava_1.default('getTransactionReceipt status normalizes to 0x1', async (t) => {
32
+ const provider = makeProviderReturning({ status: '0x000000000000000000000001' });
33
+ const receipt = await provider_1.getTransactionReceipt(provider, hash);
34
+ t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x1');
35
+ });
36
+ ava_1.default('getTransactionReceipt status returns empty hex', async (t) => {
37
+ const provider = makeProviderReturning({ status: '0x' });
38
+ const receipt = await provider_1.getTransactionReceipt(provider, hash);
39
+ t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x');
40
+ });
41
+ //# sourceMappingURL=provider.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.test.js","sourceRoot":"","sources":["../src/provider.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,yCAAqE;AAErE,MAAM,IAAI,GAAG,QAAQ,CAAC;AAEtB,SAAS,qBAAqB,CAAC,MAAe;IAC5C,OAAO,EAAE,IAAI,EAAE,CAAC,OAAe,EAAE,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAsB,CAAC;AACxG,CAAC;AAED,aAAI,CAAC,oCAAoC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,0CAA0C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,0CAA0C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC"}
@@ -0,0 +1,108 @@
1
+ import { ManifestData } from '../manifest';
2
+ export declare function migrateLegacyProject(): Promise<void>;
3
+ export declare function migrateManifestFiles(manifestFiles: string[]): Promise<Record<string, NetworkExportData>>;
4
+ export declare function deleteLegacyFiles(manifestFiles: string[]): Promise<void>;
5
+ export declare function migrateManifestsData(manifestsData: Record<string, NetworkFileData>): MigrationOutput;
6
+ declare type NetworkExportData = Pick<NetworkFileData, 'proxies' | 'proxyFactory' | 'app' | 'package' | 'provider'>;
7
+ export interface MigrationOutput {
8
+ newManifestsData: Record<string, ManifestData>;
9
+ networksExportData: Record<string, NetworkExportData>;
10
+ }
11
+ interface ContractInterface {
12
+ address?: string;
13
+ constructorCode?: string;
14
+ localBytecodeHash?: string;
15
+ deployedBytecodeHash?: string;
16
+ bodyBytecodeHash?: string;
17
+ types?: any;
18
+ storage?: any;
19
+ warnings?: any;
20
+ [id: string]: any;
21
+ }
22
+ interface SolidityLibInterface {
23
+ address: string;
24
+ constructorCode: string;
25
+ bodyBytecodeHash: string;
26
+ localBytecodeHash: string;
27
+ deployedBytecodeHash: string;
28
+ }
29
+ declare enum ProxyType {
30
+ Upgradeable = "Upgradeable",
31
+ Minimal = "Minimal",
32
+ NonProxy = "NonProxy"
33
+ }
34
+ interface ProxyInterface {
35
+ contractName?: string;
36
+ package?: string;
37
+ address?: string;
38
+ version?: string;
39
+ implementation?: string;
40
+ admin?: string;
41
+ kind?: ProxyType;
42
+ bytecodeHash?: string;
43
+ }
44
+ interface DependencyInterface {
45
+ name?: string;
46
+ package?: string;
47
+ version?: string;
48
+ customDeploy?: boolean;
49
+ }
50
+ interface AddressWrapper {
51
+ address?: string;
52
+ }
53
+ export interface NetworkFileData {
54
+ contracts: {
55
+ [name: string]: ContractInterface;
56
+ };
57
+ solidityLibs: {
58
+ [name: string]: SolidityLibInterface;
59
+ };
60
+ proxies: {
61
+ [contractName: string]: ProxyInterface[];
62
+ };
63
+ manifestVersion?: string;
64
+ zosversion?: string;
65
+ proxyAdmin: AddressWrapper;
66
+ proxyFactory: AddressWrapper;
67
+ app: AddressWrapper;
68
+ package: AddressWrapper;
69
+ provider: AddressWrapper;
70
+ version: string;
71
+ frozen: boolean;
72
+ dependencies: {
73
+ [dependencyName: string]: DependencyInterface;
74
+ };
75
+ }
76
+ interface ConfigFileCompilerOptions {
77
+ manager: string;
78
+ solcVersion: string;
79
+ contractsDir: string;
80
+ artifactsDir: string;
81
+ compilerSettings: {
82
+ evmVersion: string;
83
+ optimizer: {
84
+ enabled: boolean;
85
+ runs?: string;
86
+ };
87
+ };
88
+ typechain: {
89
+ enabled: boolean;
90
+ outDir?: string;
91
+ target?: string;
92
+ };
93
+ }
94
+ export interface ProjectFileData {
95
+ name: string;
96
+ version: string;
97
+ manifestVersion?: string;
98
+ zosversion?: string;
99
+ dependencies: {
100
+ [name: string]: string;
101
+ };
102
+ contracts: string[];
103
+ publish: boolean;
104
+ compiler: Partial<ConfigFileCompilerOptions>;
105
+ telemetryOptIn?: boolean;
106
+ }
107
+ export {};
108
+ //# sourceMappingURL=migrate-oz-cli-project.d.ts.map