@openzeppelin/upgrades-core 1.9.0 → 1.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (196) hide show
  1. package/LICENSE +22 -0
  2. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  3. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +4 -0
  4. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +80 -0
  5. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
  6. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
  7. package/artifacts/AdminUpgradeabilityProxy.json +2 -2
  8. package/artifacts/contracts/proxy/AdminUpgradeabilityProxy.sol/AdminUpgradeabilityProxy.json +2 -2
  9. package/dist/ast-dereferencer.js +2 -2
  10. package/dist/ast-dereferencer.js.map +1 -1
  11. package/dist/beacon.d.ts +8 -0
  12. package/dist/beacon.d.ts.map +1 -0
  13. package/dist/beacon.js +25 -0
  14. package/dist/beacon.js.map +1 -0
  15. package/dist/deployment.js +18 -18
  16. package/dist/deployment.js.map +1 -1
  17. package/dist/deployment.test.js +39 -39
  18. package/dist/deployment.test.js.map +1 -1
  19. package/dist/eip-1967-type.d.ts +4 -0
  20. package/dist/eip-1967-type.d.ts.map +1 -0
  21. package/dist/eip-1967-type.js +37 -0
  22. package/dist/eip-1967-type.js.map +1 -0
  23. package/dist/eip-1967.d.ts +5 -0
  24. package/dist/eip-1967.d.ts.map +1 -1
  25. package/dist/eip-1967.js +22 -15
  26. package/dist/eip-1967.js.map +1 -1
  27. package/dist/impl-address.d.ts +19 -0
  28. package/dist/impl-address.d.ts.map +1 -0
  29. package/dist/impl-address.js +67 -0
  30. package/dist/impl-address.js.map +1 -0
  31. package/dist/impl-store.d.ts.map +1 -1
  32. package/dist/impl-store.js +8 -6
  33. package/dist/impl-store.js.map +1 -1
  34. package/dist/impl-store.test.js +18 -18
  35. package/dist/impl-store.test.js.map +1 -1
  36. package/dist/index.d.ts +7 -1
  37. package/dist/index.d.ts.map +1 -1
  38. package/dist/index.js +23 -3
  39. package/dist/index.js.map +1 -1
  40. package/dist/levenshtein.test.js +14 -14
  41. package/dist/levenshtein.test.js.map +1 -1
  42. package/dist/link-refs.test.js +4 -4
  43. package/dist/link-refs.test.js.map +1 -1
  44. package/dist/manifest-storage-layout.js +8 -8
  45. package/dist/manifest-storage-layout.js.map +1 -1
  46. package/dist/manifest-storage-layout.test.js +16 -16
  47. package/dist/manifest-storage-layout.test.js.map +1 -1
  48. package/dist/manifest.d.ts +1 -1
  49. package/dist/manifest.d.ts.map +1 -1
  50. package/dist/manifest.js +6 -6
  51. package/dist/manifest.js.map +1 -1
  52. package/dist/manifest.test.js +2 -2
  53. package/dist/manifest.test.js.map +1 -1
  54. package/dist/provider.d.ts +2 -0
  55. package/dist/provider.d.ts.map +1 -1
  56. package/dist/provider.js +11 -1
  57. package/dist/provider.js.map +1 -1
  58. package/dist/provider.test.js +12 -12
  59. package/dist/provider.test.js.map +1 -1
  60. package/dist/proxy-kind.d.ts +12 -0
  61. package/dist/proxy-kind.d.ts.map +1 -0
  62. package/dist/proxy-kind.js +50 -0
  63. package/dist/proxy-kind.js.map +1 -0
  64. package/dist/scripts/migrate-oz-cli-project.js +1 -1
  65. package/dist/scripts/migrate-oz-cli-project.js.map +1 -1
  66. package/dist/scripts/migrate-oz-cli-project.test.js +9 -9
  67. package/dist/scripts/migrate-oz-cli-project.test.js.map +1 -1
  68. package/dist/src-decoder.test.js +2 -3
  69. package/dist/src-decoder.test.js.map +1 -1
  70. package/dist/standalone.d.ts +19 -0
  71. package/dist/standalone.d.ts.map +1 -0
  72. package/dist/standalone.js +24 -0
  73. package/dist/standalone.js.map +1 -0
  74. package/dist/standalone.test.d.ts +2 -0
  75. package/dist/standalone.test.d.ts.map +1 -0
  76. package/dist/standalone.test.js +33 -0
  77. package/dist/standalone.test.js.map +1 -0
  78. package/dist/storage/compare.js +7 -7
  79. package/dist/storage/compare.js.map +1 -1
  80. package/dist/storage/extract.js +9 -9
  81. package/dist/storage/extract.js.map +1 -1
  82. package/dist/storage/index.d.ts +7 -0
  83. package/dist/storage/index.d.ts.map +1 -1
  84. package/dist/storage/index.js +22 -23
  85. package/dist/storage/index.js.map +1 -1
  86. package/dist/storage/layout.js +1 -1
  87. package/dist/storage/layout.js.map +1 -1
  88. package/dist/storage/report.d.ts +3 -2
  89. package/dist/storage/report.d.ts.map +1 -1
  90. package/dist/storage/report.js +17 -11
  91. package/dist/storage/report.js.map +1 -1
  92. package/dist/storage/report.test.js +5 -5
  93. package/dist/storage/report.test.js.map +1 -1
  94. package/dist/storage.test.js +32 -32
  95. package/dist/storage.test.js.map +1 -1
  96. package/dist/stub-provider.d.ts.map +1 -1
  97. package/dist/stub-provider.js +0 -1
  98. package/dist/stub-provider.js.map +1 -1
  99. package/dist/usage-error.d.ts +21 -0
  100. package/dist/usage-error.d.ts.map +1 -0
  101. package/dist/usage-error.js +51 -0
  102. package/dist/usage-error.js.map +1 -0
  103. package/dist/utils/address.d.ts +8 -0
  104. package/dist/utils/address.d.ts.map +1 -0
  105. package/dist/utils/address.js +20 -0
  106. package/dist/utils/address.js.map +1 -0
  107. package/dist/utils/debug.js +1 -1
  108. package/dist/utils/debug.js.map +1 -1
  109. package/dist/utils/deep-array.test.js +12 -12
  110. package/dist/utils/deep-array.test.js.map +1 -1
  111. package/dist/utils/function.js +5 -5
  112. package/dist/utils/function.js.map +1 -1
  113. package/dist/utils/function.test.js +4 -4
  114. package/dist/utils/function.test.js.map +1 -1
  115. package/dist/utils/is-nullish.test.js +6 -6
  116. package/dist/utils/is-nullish.test.js.map +1 -1
  117. package/dist/utils/itemize.js +1 -1
  118. package/dist/utils/itemize.js.map +1 -1
  119. package/dist/utils/log.d.ts +2 -0
  120. package/dist/utils/log.d.ts.map +1 -1
  121. package/dist/utils/log.js +22 -4
  122. package/dist/utils/log.js.map +1 -1
  123. package/dist/utils/make-non-enumerable.d.ts +1 -1
  124. package/dist/utils/make-non-enumerable.d.ts.map +1 -1
  125. package/dist/utils/make-non-enumerable.js +0 -1
  126. package/dist/utils/make-non-enumerable.js.map +1 -1
  127. package/dist/utils/parse-type-id.js +1 -1
  128. package/dist/utils/parse-type-id.js.map +1 -1
  129. package/dist/utils/parse-type-id.test.js +2 -2
  130. package/dist/utils/parse-type-id.test.js.map +1 -1
  131. package/dist/utils/type-id.js +1 -1
  132. package/dist/utils/type-id.js.map +1 -1
  133. package/dist/validate/error.d.ts.map +1 -1
  134. package/dist/validate/error.js +2 -67
  135. package/dist/validate/error.js.map +1 -1
  136. package/dist/validate/index.d.ts +4 -2
  137. package/dist/validate/index.d.ts.map +1 -1
  138. package/dist/validate/index.js +7 -2
  139. package/dist/validate/index.js.map +1 -1
  140. package/dist/validate/overrides.d.ts +1 -2
  141. package/dist/validate/overrides.d.ts.map +1 -1
  142. package/dist/validate/overrides.js +7 -18
  143. package/dist/validate/overrides.js.map +1 -1
  144. package/dist/validate/query.d.ts +3 -1
  145. package/dist/validate/query.d.ts.map +1 -1
  146. package/dist/validate/query.js +45 -19
  147. package/dist/validate/query.js.map +1 -1
  148. package/dist/validate/query.test.js +4 -4
  149. package/dist/validate/query.test.js.map +1 -1
  150. package/dist/validate/report.d.ts +8 -0
  151. package/dist/validate/report.d.ts.map +1 -0
  152. package/dist/validate/report.js +79 -0
  153. package/dist/validate/report.js.map +1 -0
  154. package/dist/validate/run.js +15 -15
  155. package/dist/validate/run.js.map +1 -1
  156. package/dist/validate.test.js +7 -6
  157. package/dist/validate.test.js.map +1 -1
  158. package/dist/version.d.ts +3 -3
  159. package/dist/version.d.ts.map +1 -1
  160. package/dist/version.js +14 -8
  161. package/dist/version.js.map +1 -1
  162. package/dist/version.test.js +11 -11
  163. package/dist/version.test.js.map +1 -1
  164. package/package.json +11 -6
  165. package/src/beacon.ts +20 -0
  166. package/src/eip-1967-type.ts +35 -0
  167. package/src/eip-1967.ts +16 -12
  168. package/src/impl-address.ts +76 -0
  169. package/src/impl-store.ts +2 -0
  170. package/src/index.ts +18 -1
  171. package/src/manifest.ts +2 -2
  172. package/src/provider.ts +16 -0
  173. package/src/proxy-kind.ts +59 -0
  174. package/src/src-decoder.test.ts +0 -2
  175. package/src/standalone.test.ts +40 -0
  176. package/src/standalone.ts +41 -0
  177. package/src/storage/index.ts +23 -20
  178. package/src/storage/report.ts +10 -5
  179. package/src/stub-provider.ts +0 -1
  180. package/src/usage-error.ts +68 -0
  181. package/src/utils/address.ts +16 -0
  182. package/src/utils/log.ts +23 -2
  183. package/src/utils/make-non-enumerable.ts +1 -2
  184. package/src/validate/error.ts +5 -69
  185. package/src/validate/index.ts +6 -1
  186. package/src/validate/overrides.ts +5 -17
  187. package/src/validate/query.ts +38 -9
  188. package/src/validate/report.ts +78 -0
  189. package/src/validate.test.ts +1 -0
  190. package/src/version.ts +14 -6
  191. package/CHANGELOG.md +0 -106
  192. package/dist/set-proxy-kind.d.ts +0 -5
  193. package/dist/set-proxy-kind.d.ts.map +0 -1
  194. package/dist/set-proxy-kind.js +0 -25
  195. package/dist/set-proxy-kind.js.map +0 -1
  196. package/src/set-proxy-kind.ts +0 -27
@@ -7,86 +7,86 @@ const ava_1 = __importDefault(require("ava"));
7
7
  const util_1 = require("util");
8
8
  const deployment_1 = require("./deployment");
9
9
  const stub_provider_1 = require("./stub-provider");
10
- const sleep = util_1.promisify(setTimeout);
11
- ava_1.default('deploys new contract', async (t) => {
12
- const provider = stub_provider_1.stubProvider();
13
- const deployment = await deployment_1.resumeOrDeploy(provider, undefined, provider.deploy);
10
+ const sleep = (0, util_1.promisify)(setTimeout);
11
+ (0, ava_1.default)('deploys new contract', async (t) => {
12
+ const provider = (0, stub_provider_1.stubProvider)();
13
+ const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deploy);
14
14
  t.true(provider.isContract(deployment.address));
15
15
  t.is(provider.deployCount, 1);
16
16
  });
17
- ava_1.default('resumes existing deployment with txHash', async (t) => {
18
- const provider = stub_provider_1.stubProvider();
19
- const first = await deployment_1.resumeOrDeploy(provider, undefined, provider.deployPending);
20
- const second = await deployment_1.resumeOrDeploy(provider, first, provider.deployPending);
17
+ (0, ava_1.default)('resumes existing deployment with txHash', async (t) => {
18
+ const provider = (0, stub_provider_1.stubProvider)();
19
+ const first = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deployPending);
20
+ const second = await (0, deployment_1.resumeOrDeploy)(provider, first, provider.deployPending);
21
21
  t.is(first, second);
22
22
  t.is(provider.deployCount, 1);
23
23
  });
24
- ava_1.default('resumes existing deployment without txHash', async (t) => {
25
- const provider = stub_provider_1.stubProvider();
24
+ (0, ava_1.default)('resumes existing deployment without txHash', async (t) => {
25
+ const provider = (0, stub_provider_1.stubProvider)();
26
26
  const first = await provider.deploy();
27
27
  delete first.txHash;
28
- const second = await deployment_1.resumeOrDeploy(provider, first, provider.deployPending);
28
+ const second = await (0, deployment_1.resumeOrDeploy)(provider, first, provider.deployPending);
29
29
  t.is(first, second);
30
30
  t.is(provider.deployCount, 1);
31
31
  });
32
- ava_1.default('errors if tx is not found', async (t) => {
33
- const provider = stub_provider_1.stubProvider();
32
+ (0, ava_1.default)('errors if tx is not found', async (t) => {
33
+ const provider = (0, stub_provider_1.stubProvider)();
34
34
  const fakeDeployment = {
35
35
  address: '0x1aec6468218510f19bb19f52c4767996895ce711',
36
36
  txHash: '0xc48e21ac9c051922f5ccf1b47b62000f567ef9bbc108d274848b44351a6872cb',
37
37
  };
38
- await t.throwsAsync(deployment_1.resumeOrDeploy(provider, fakeDeployment, provider.deploy));
38
+ await t.throwsAsync((0, deployment_1.resumeOrDeploy)(provider, fakeDeployment, provider.deploy));
39
39
  });
40
- ava_1.default('redeploys if tx is not found on dev network', async (t) => {
40
+ (0, ava_1.default)('redeploys if tx is not found on dev network', async (t) => {
41
41
  // 31337 = Hardhat Network chainId
42
- const provider = stub_provider_1.stubProvider(31337, 'HardhatNetwork/2.2.1/@ethereumjs/vm/5.3.2');
42
+ const provider = (0, stub_provider_1.stubProvider)(31337, 'HardhatNetwork/2.2.1/@ethereumjs/vm/5.3.2');
43
43
  const fakeDeployment = {
44
44
  address: '0x1aec6468218510f19bb19f52c4767996895ce711',
45
45
  txHash: '0xc48e21ac9c051922f5ccf1b47b62000f567ef9bbc108d274848b44351a6872cb',
46
46
  };
47
- const deployment = await deployment_1.resumeOrDeploy(provider, fakeDeployment, provider.deploy);
47
+ const deployment = await (0, deployment_1.resumeOrDeploy)(provider, fakeDeployment, provider.deploy);
48
48
  t.true(provider.isContract(deployment.address));
49
49
  t.is(provider.deployCount, 1);
50
50
  });
51
- ava_1.default('validates a mined deployment with txHash', async (t) => {
52
- const provider = stub_provider_1.stubProvider();
53
- const deployment = await deployment_1.resumeOrDeploy(provider, undefined, provider.deploy);
54
- await deployment_1.waitAndValidateDeployment(provider, deployment);
51
+ (0, ava_1.default)('validates a mined deployment with txHash', async (t) => {
52
+ const provider = (0, stub_provider_1.stubProvider)();
53
+ const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deploy);
54
+ await (0, deployment_1.waitAndValidateDeployment)(provider, deployment);
55
55
  t.is(provider.getMethodCount('eth_getTransactionReceipt'), 1);
56
56
  t.is(provider.getMethodCount('eth_getCode'), 1);
57
57
  });
58
- ava_1.default('validates a mined deployment without txHash', async (t) => {
59
- const provider = stub_provider_1.stubProvider();
60
- const deployment = await deployment_1.resumeOrDeploy(provider, undefined, provider.deploy);
58
+ (0, ava_1.default)('validates a mined deployment without txHash', async (t) => {
59
+ const provider = (0, stub_provider_1.stubProvider)();
60
+ const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deploy);
61
61
  delete deployment.txHash;
62
- await deployment_1.waitAndValidateDeployment(provider, deployment);
62
+ await (0, deployment_1.waitAndValidateDeployment)(provider, deployment);
63
63
  t.is(provider.getMethodCount('eth_getTransactionReceipt'), 0);
64
64
  t.is(provider.getMethodCount('eth_getCode'), 1);
65
65
  });
66
- ava_1.default('waits for a deployment to mine', async (t) => {
66
+ (0, ava_1.default)('waits for a deployment to mine', async (t) => {
67
67
  const timeout = Symbol('timeout');
68
- const provider = stub_provider_1.stubProvider();
69
- const deployment = await deployment_1.resumeOrDeploy(provider, undefined, provider.deployPending);
70
- const result = await Promise.race([deployment_1.waitAndValidateDeployment(provider, deployment), sleep(100).then(() => timeout)]);
68
+ const provider = (0, stub_provider_1.stubProvider)();
69
+ const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deployPending);
70
+ const result = await Promise.race([(0, deployment_1.waitAndValidateDeployment)(provider, deployment), sleep(100).then(() => timeout)]);
71
71
  t.is(result, timeout);
72
72
  provider.mine();
73
- await deployment_1.waitAndValidateDeployment(provider, deployment);
73
+ await (0, deployment_1.waitAndValidateDeployment)(provider, deployment);
74
74
  });
75
- ava_1.default('fails deployment fast if tx reverts', async (t) => {
76
- const provider = stub_provider_1.stubProvider();
77
- const deployment = await deployment_1.resumeOrDeploy(provider, undefined, provider.deploy);
75
+ (0, ava_1.default)('fails deployment fast if tx reverts', async (t) => {
76
+ const provider = (0, stub_provider_1.stubProvider)();
77
+ const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deploy);
78
78
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
79
79
  provider.failTx(deployment.txHash);
80
- await t.throwsAsync(deployment_1.waitAndValidateDeployment(provider, deployment));
80
+ await t.throwsAsync((0, deployment_1.waitAndValidateDeployment)(provider, deployment));
81
81
  });
82
- ava_1.default('waits for a deployment to return contract code', async (t) => {
82
+ (0, ava_1.default)('waits for a deployment to return contract code', async (t) => {
83
83
  const timeout = Symbol('timeout');
84
- const provider = stub_provider_1.stubProvider();
85
- const deployment = await deployment_1.resumeOrDeploy(provider, undefined, provider.deploy);
84
+ const provider = (0, stub_provider_1.stubProvider)();
85
+ const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deploy);
86
86
  provider.removeContract(deployment.address);
87
- const result = await Promise.race([deployment_1.waitAndValidateDeployment(provider, deployment), sleep(100).then(() => timeout)]);
87
+ const result = await Promise.race([(0, deployment_1.waitAndValidateDeployment)(provider, deployment), sleep(100).then(() => timeout)]);
88
88
  t.is(result, timeout);
89
89
  provider.addContract(deployment.address);
90
- await deployment_1.waitAndValidateDeployment(provider, deployment);
90
+ await (0, deployment_1.waitAndValidateDeployment)(provider, deployment);
91
91
  });
92
92
  //# sourceMappingURL=deployment.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"deployment.test.js","sourceRoot":"","sources":["../src/deployment.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deployment.test.js","sourceRoot":"","sources":["../src/deployment.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { EthereumProvider } from './provider';
2
+ export declare function isTransparentOrUUPSProxy(provider: EthereumProvider, address: string): Promise<boolean>;
3
+ export declare function isBeaconProxy(provider: EthereumProvider, address: string): Promise<boolean>;
4
+ //# sourceMappingURL=eip-1967-type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip-1967-type.d.ts","sourceRoot":"","sources":["../src/eip-1967-type.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY5G;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYjG"}
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isBeaconProxy = exports.isTransparentOrUUPSProxy = void 0;
4
+ const eip_1967_1 = require("./eip-1967");
5
+ async function isTransparentOrUUPSProxy(provider, address) {
6
+ try {
7
+ await (0, eip_1967_1.getImplementationAddress)(provider, address);
8
+ // if an exception was not encountered above, then this address is a transparent/uups proxy
9
+ return true;
10
+ }
11
+ catch (e) {
12
+ if (e instanceof eip_1967_1.EIP1967ImplementationNotFound) {
13
+ return false;
14
+ }
15
+ else {
16
+ throw e;
17
+ }
18
+ }
19
+ }
20
+ exports.isTransparentOrUUPSProxy = isTransparentOrUUPSProxy;
21
+ async function isBeaconProxy(provider, address) {
22
+ try {
23
+ await (0, eip_1967_1.getBeaconAddress)(provider, address);
24
+ // if an exception was not encountered above, then this address is a beacon proxy
25
+ return true;
26
+ }
27
+ catch (e) {
28
+ if (e instanceof eip_1967_1.EIP1967BeaconNotFound) {
29
+ return false;
30
+ }
31
+ else {
32
+ throw e;
33
+ }
34
+ }
35
+ }
36
+ exports.isBeaconProxy = isBeaconProxy;
37
+ //# sourceMappingURL=eip-1967-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip-1967-type.js","sourceRoot":"","sources":["../src/eip-1967-type.ts"],"names":[],"mappings":";;;AAAA,yCAKoB;AAGb,KAAK,UAAU,wBAAwB,CAAC,QAA0B,EAAE,OAAe;IACxF,IAAI;QACF,MAAM,IAAA,mCAAwB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,2FAA2F;QAC3F,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,wCAA6B,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAZD,4DAYC;AAEM,KAAK,UAAU,aAAa,CAAC,QAA0B,EAAE,OAAe;IAC7E,IAAI;QACF,MAAM,IAAA,2BAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,iFAAiF;QACjF,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,gCAAqB,EAAE;YACtC,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAZD,sCAYC"}
@@ -1,4 +1,9 @@
1
+ import { UpgradesError } from './error';
1
2
  import { EthereumProvider } from './provider';
3
+ export declare class EIP1967ImplementationNotFound extends UpgradesError {
4
+ }
5
+ export declare class EIP1967BeaconNotFound extends UpgradesError {
6
+ }
2
7
  export declare function getAdminAddress(provider: EthereumProvider, address: string): Promise<string>;
3
8
  export declare function getImplementationAddress(provider: EthereumProvider, address: string): Promise<string>;
4
9
  export declare function getBeaconAddress(provider: EthereumProvider, address: string): Promise<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"eip-1967.d.ts","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAE5D,wBAAsB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASlG;AAED,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa3G;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnG;AAeD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD"}
1
+ {"version":3,"file":"eip-1967.d.ts","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAG5D,qBAAa,6BAA8B,SAAQ,aAAa;CAAG;AAEnE,qBAAa,qBAAsB,SAAQ,aAAa;CAAG;AAE3D,wBAAsB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASlG;AAED,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAa3G;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnG;AAeD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD"}
package/dist/eip-1967.js CHANGED
@@ -3,35 +3,43 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.toEip1967Hash = exports.toFallbackEip1967Hash = exports.getBeaconAddress = exports.getImplementationAddress = exports.getAdminAddress = void 0;
7
- const ethereumjs_util_1 = require("ethereumjs-util");
6
+ exports.toEip1967Hash = exports.toFallbackEip1967Hash = exports.getBeaconAddress = exports.getImplementationAddress = exports.getAdminAddress = exports.EIP1967BeaconNotFound = exports.EIP1967ImplementationNotFound = void 0;
8
7
  const bn_js_1 = __importDefault(require("bn.js"));
8
+ const ethereumjs_util_1 = require("ethereumjs-util");
9
+ const error_1 = require("./error");
9
10
  const provider_1 = require("./provider");
11
+ const address_1 = require("./utils/address");
12
+ class EIP1967ImplementationNotFound extends error_1.UpgradesError {
13
+ }
14
+ exports.EIP1967ImplementationNotFound = EIP1967ImplementationNotFound;
15
+ class EIP1967BeaconNotFound extends error_1.UpgradesError {
16
+ }
17
+ exports.EIP1967BeaconNotFound = EIP1967BeaconNotFound;
10
18
  async function getAdminAddress(provider, address) {
11
19
  const storage = await getStorageFallback(provider, address, toEip1967Hash('eip1967.proxy.admin'), toFallbackEip1967Hash('org.zeppelinos.proxy.admin'));
12
- return parseAddress(storage);
20
+ return parseAddressFromStorage(storage);
13
21
  }
14
22
  exports.getAdminAddress = getAdminAddress;
15
23
  async function getImplementationAddress(provider, address) {
16
24
  const storage = await getStorageFallback(provider, address, toEip1967Hash('eip1967.proxy.implementation'), toFallbackEip1967Hash('org.zeppelinos.proxy.implementation'));
17
25
  if (isEmptySlot(storage)) {
18
- throw new Error(`Contract at ${address} doesn't look like an administered ERC 1967 proxy`);
26
+ throw new EIP1967ImplementationNotFound(`Contract at ${address} doesn't look like an administered ERC 1967 proxy`);
19
27
  }
20
- return parseAddress(storage);
28
+ return parseAddressFromStorage(storage);
21
29
  }
22
30
  exports.getImplementationAddress = getImplementationAddress;
23
31
  async function getBeaconAddress(provider, address) {
24
32
  const storage = await getStorageFallback(provider, address, toEip1967Hash('eip1967.proxy.beacon'));
25
33
  if (isEmptySlot(storage)) {
26
- throw new Error(`Contract at ${address} doesn't look like an ERC 1967 beacon proxy`);
34
+ throw new EIP1967BeaconNotFound(`Contract at ${address} doesn't look like an ERC 1967 beacon proxy`);
27
35
  }
28
- return parseAddress(storage);
36
+ return parseAddressFromStorage(storage);
29
37
  }
30
38
  exports.getBeaconAddress = getBeaconAddress;
31
39
  async function getStorageFallback(provider, address, ...slots) {
32
40
  let storage = '0x0000000000000000000000000000000000000000000000000000000000000000'; // default: empty slot
33
41
  for (const slot of slots) {
34
- storage = await provider_1.getStorageAt(provider, address, slot);
42
+ storage = await (0, provider_1.getStorageAt)(provider, address, slot);
35
43
  if (!isEmptySlot(storage)) {
36
44
  break;
37
45
  }
@@ -39,11 +47,11 @@ async function getStorageFallback(provider, address, ...slots) {
39
47
  return storage;
40
48
  }
41
49
  function toFallbackEip1967Hash(label) {
42
- return '0x' + ethereumjs_util_1.keccak256(Buffer.from(label)).toString('hex');
50
+ return '0x' + (0, ethereumjs_util_1.keccak256)(Buffer.from(label)).toString('hex');
43
51
  }
44
52
  exports.toFallbackEip1967Hash = toFallbackEip1967Hash;
45
53
  function toEip1967Hash(label) {
46
- const hash = ethereumjs_util_1.keccak256(Buffer.from(label));
54
+ const hash = (0, ethereumjs_util_1.keccak256)(Buffer.from(label));
47
55
  const bigNumber = new bn_js_1.default(hash).sub(new bn_js_1.default(1));
48
56
  return '0x' + bigNumber.toString(16);
49
57
  }
@@ -52,12 +60,11 @@ function isEmptySlot(storage) {
52
60
  storage = storage.replace(/^0x/, '');
53
61
  return new bn_js_1.default(storage, 'hex').isZero();
54
62
  }
55
- function parseAddress(storage) {
56
- const buf = Buffer.from(storage.replace(/^0x/, ''), 'hex');
57
- if (!buf.slice(0, 12).equals(Buffer.alloc(12, 0))) {
63
+ function parseAddressFromStorage(storage) {
64
+ const address = (0, address_1.parseAddress)(storage);
65
+ if (address === undefined) {
58
66
  throw new Error(`Value in storage is not an address (${storage})`);
59
67
  }
60
- const address = '0x' + buf.toString('hex', 12, 32); // grab the last 20 bytes
61
- return ethereumjs_util_1.toChecksumAddress(address);
68
+ return address;
62
69
  }
63
70
  //# sourceMappingURL=eip-1967.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eip-1967.js","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"eip-1967.js","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuB;AACvB,qDAA4C;AAC5C,mCAAwC;AACxC,yCAA4D;AAC5D,6CAA+C;AAE/C,MAAa,6BAA8B,SAAQ,qBAAa;CAAG;AAAnE,sEAAmE;AAEnE,MAAa,qBAAsB,SAAQ,qBAAa;CAAG;AAA3D,sDAA2D;AAEpD,KAAK,UAAU,eAAe,CAAC,QAA0B,EAAE,OAAe;IAC/E,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,QAAQ,EACR,OAAO,EACP,aAAa,CAAC,qBAAqB,CAAC,EACpC,qBAAqB,CAAC,4BAA4B,CAAC,CACpD,CAAC;IAEF,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AATD,0CASC;AAEM,KAAK,UAAU,wBAAwB,CAAC,QAA0B,EAAE,OAAe;IACxF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CACtC,QAAQ,EACR,OAAO,EACP,aAAa,CAAC,8BAA8B,CAAC,EAC7C,qBAAqB,CAAC,qCAAqC,CAAC,CAC7D,CAAC;IAEF,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;QACxB,MAAM,IAAI,6BAA6B,CAAC,eAAe,OAAO,mDAAmD,CAAC,CAAC;KACpH;IAED,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AAbD,4DAaC;AAEM,KAAK,UAAU,gBAAgB,CAAC,QAA0B,EAAE,OAAe;IAChF,MAAM,OAAO,GAAG,MAAM,kBAAkB,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC,CAAC;IAEnG,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE;QACxB,MAAM,IAAI,qBAAqB,CAAC,eAAe,OAAO,6CAA6C,CAAC,CAAC;KACtG;IAED,OAAO,uBAAuB,CAAC,OAAO,CAAC,CAAC;AAC1C,CAAC;AARD,4CAQC;AAED,KAAK,UAAU,kBAAkB,CAAC,QAA0B,EAAE,OAAe,EAAE,GAAG,KAAe;IAC/F,IAAI,OAAO,GAAG,oEAAoE,CAAC,CAAC,sBAAsB;IAE1G,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,OAAO,GAAG,MAAM,IAAA,uBAAY,EAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,CAAC,CAAC;QACtD,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,EAAE;YACzB,MAAM;SACP;KACF;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC;AAFD,sDAEC;AAED,SAAgB,aAAa,CAAC,KAAa;IACzC,MAAM,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3C,MAAM,SAAS,GAAG,IAAI,eAAE,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,IAAI,eAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9C,OAAO,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;AACvC,CAAC;AAJD,sCAIC;AAED,SAAS,WAAW,CAAC,OAAe;IAClC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IACrC,OAAO,IAAI,eAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AACzC,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAe;IAC9C,MAAM,OAAO,GAAG,IAAA,sBAAY,EAAC,OAAO,CAAC,CAAC;IACtC,IAAI,OAAO,KAAK,SAAS,EAAE;QACzB,MAAM,IAAI,KAAK,CAAC,uCAAuC,OAAO,GAAG,CAAC,CAAC;KACpE;IACD,OAAO,OAAO,CAAC;AACjB,CAAC"}
@@ -0,0 +1,19 @@
1
+ import { UpgradesError } from '.';
2
+ import { EthereumProvider } from './provider';
3
+ export declare class InvalidBeacon extends UpgradesError {
4
+ }
5
+ /**
6
+ * Gets the implementation address from the beacon using its implementation() function.
7
+ * @param provider
8
+ * @param beaconAddress
9
+ * @returns The implementation address.
10
+ * @throws {InvalidBeacon} If the implementation() function could not be called or does not return an address.
11
+ */
12
+ export declare function getImplementationAddressFromBeacon(provider: EthereumProvider, beaconAddress: string): Promise<string>;
13
+ /**
14
+ * Gets the implementation address from a UUPS/Transparent/Beacon proxy.
15
+ *
16
+ * @returns a Promise with the implementation address, or undefined if a UUPS/Transparent/Beacon proxy is not located at the address.
17
+ */
18
+ export declare function getImplementationAddressFromProxy(provider: EthereumProvider, proxyAddress: string): Promise<string | undefined>;
19
+ //# sourceMappingURL=impl-address.d.ts.map
@@ -0,0 +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,CAqBjB;AAED;;;;GAIG;AACH,wBAAsB,iCAAiC,CACrD,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAmB7B"}
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getImplementationAddressFromProxy = exports.getImplementationAddressFromBeacon = exports.InvalidBeacon = void 0;
4
+ const ethereumjs_util_1 = require("ethereumjs-util");
5
+ const _1 = require(".");
6
+ const address_1 = require("./utils/address");
7
+ class InvalidBeacon extends _1.UpgradesError {
8
+ }
9
+ exports.InvalidBeacon = InvalidBeacon;
10
+ /**
11
+ * Gets the implementation address from the beacon using its implementation() function.
12
+ * @param provider
13
+ * @param beaconAddress
14
+ * @returns The implementation address.
15
+ * @throws {InvalidBeacon} If the implementation() function could not be called or does not return an address.
16
+ */
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);
23
+ }
24
+ catch (e) {
25
+ if (!(e.message.includes('function selector was not recognized') ||
26
+ e.message.includes('invalid opcode') ||
27
+ e.message.includes('Transaction reverted'))) {
28
+ throw e;
29
+ } // otherwise fall through with no result
30
+ }
31
+ if (result === undefined) {
32
+ throw new InvalidBeacon(`Contract at ${beaconAddress} doesn't look like a beacon`);
33
+ }
34
+ return result;
35
+ }
36
+ exports.getImplementationAddressFromBeacon = getImplementationAddressFromBeacon;
37
+ /**
38
+ * Gets the implementation address from a UUPS/Transparent/Beacon proxy.
39
+ *
40
+ * @returns a Promise with the implementation address, or undefined if a UUPS/Transparent/Beacon proxy is not located at the address.
41
+ */
42
+ async function getImplementationAddressFromProxy(provider, proxyAddress) {
43
+ try {
44
+ return await (0, _1.getImplementationAddress)(provider, proxyAddress);
45
+ }
46
+ catch (e) {
47
+ if (e instanceof _1.EIP1967ImplementationNotFound) {
48
+ try {
49
+ const beaconAddress = await (0, _1.getBeaconAddress)(provider, proxyAddress);
50
+ return await getImplementationAddressFromBeacon(provider, beaconAddress);
51
+ }
52
+ catch (e) {
53
+ if (e instanceof _1.EIP1967BeaconNotFound) {
54
+ return undefined;
55
+ }
56
+ else {
57
+ throw e;
58
+ }
59
+ }
60
+ }
61
+ else {
62
+ throw e;
63
+ }
64
+ }
65
+ }
66
+ exports.getImplementationAddressFromProxy = getImplementationAddressFromProxy;
67
+ //# sourceMappingURL=impl-address.js.map
@@ -0,0 +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,sBAAsB,CAAC,CAC3C,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;AAxBD,gFAwBC;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 +1 @@
1
- {"version":3,"file":"impl-store.d.ts","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,UAAU,EAAgE,MAAM,cAAc,CAAC;AACxG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2DzC,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CAEjB;AAQD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
1
+ {"version":3,"file":"impl-store.d.ts","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,UAAU,EAAgE,MAAM,cAAc,CAAC;AACxG,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6DzC,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,GACpC,OAAO,CAAC,MAAM,CAAC,CAEjB;AAQD,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,GAChC,OAAO,CAAC,MAAM,CAAC,CAEjB"}
@@ -8,18 +8,19 @@ const debug_1 = __importDefault(require("./utils/debug"));
8
8
  const manifest_1 = require("./manifest");
9
9
  const provider_1 = require("./provider");
10
10
  const deployment_1 = require("./deployment");
11
+ const assert_1 = __importDefault(require("assert"));
11
12
  async function fetchOrDeployGeneric(lens, provider, deploy) {
12
13
  const manifest = await manifest_1.Manifest.forNetwork(provider);
13
14
  try {
14
15
  const deployment = await manifest.lockedRun(async () => {
15
- debug_1.default('fetching deployment of', lens.description);
16
+ (0, debug_1.default)('fetching deployment of', lens.description);
16
17
  const data = await manifest.read();
17
18
  const deployment = lens(data);
18
19
  const stored = deployment.get();
19
20
  if (stored === undefined) {
20
- debug_1.default('deployment of', lens.description, 'not found');
21
+ (0, debug_1.default)('deployment of', lens.description, 'not found');
21
22
  }
22
- const updated = await deployment_1.resumeOrDeploy(provider, stored, deploy);
23
+ const updated = await (0, deployment_1.resumeOrDeploy)(provider, stored, deploy);
23
24
  if (updated !== stored) {
24
25
  await checkForAddressClash(provider, data, updated);
25
26
  deployment.set(updated);
@@ -27,13 +28,14 @@ async function fetchOrDeployGeneric(lens, provider, deploy) {
27
28
  }
28
29
  return updated;
29
30
  });
30
- await deployment_1.waitAndValidateDeployment(provider, deployment);
31
+ await (0, deployment_1.waitAndValidateDeployment)(provider, deployment);
31
32
  return deployment.address;
32
33
  }
33
34
  catch (e) {
34
35
  // If we run into a deployment error, we remove it from the manifest.
35
36
  if (e instanceof deployment_1.InvalidDeployment) {
36
37
  await manifest.lockedRun(async () => {
38
+ (0, assert_1.default)(e instanceof deployment_1.InvalidDeployment); // Not sure why this is needed but otherwise doesn't type
37
39
  const data = await manifest.read();
38
40
  const deployment = lens(data);
39
41
  const stored = deployment.get();
@@ -69,8 +71,8 @@ function lens(description, fn) {
69
71
  async function checkForAddressClash(provider, data, updated) {
70
72
  const clash = lookupDeployment(data, updated.address);
71
73
  if (clash !== undefined) {
72
- if (await provider_1.isDevelopmentNetwork(provider)) {
73
- debug_1.default('deleting a previous deployment at address', updated.address);
74
+ if (await (0, provider_1.isDevelopmentNetwork)(provider)) {
75
+ (0, debug_1.default)('deleting a previous deployment at address', updated.address);
74
76
  clash.set(undefined);
75
77
  }
76
78
  else {
@@ -1 +1 @@
1
- {"version":3,"file":"impl-store.js","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impl-store.js","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"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"}
@@ -19,37 +19,37 @@ ava_1.default.before(async () => {
19
19
  ava_1.default.after(async () => {
20
20
  await rimraf(process.cwd());
21
21
  });
22
- const version1 = version_1.getVersion('01');
23
- const version2 = version_1.getVersion('02', '02');
24
- ava_1.default('deploys on cache miss', async (t) => {
25
- const provider = stub_provider_1.stubProvider();
26
- await impl_store_1.fetchOrDeploy(version1, provider, provider.deploy);
22
+ const version1 = (0, version_1.getVersion)('01');
23
+ const version2 = (0, version_1.getVersion)('02', '02');
24
+ (0, ava_1.default)('deploys on cache miss', async (t) => {
25
+ const provider = (0, stub_provider_1.stubProvider)();
26
+ await (0, impl_store_1.fetchOrDeploy)(version1, provider, provider.deploy);
27
27
  t.is(provider.deployCount, 1);
28
28
  });
29
- ava_1.default('reuses on cache hit', async (t) => {
30
- const provider = stub_provider_1.stubProvider();
31
- const cachedDeploy = () => impl_store_1.fetchOrDeploy(version1, provider, provider.deploy);
29
+ (0, ava_1.default)('reuses on cache hit', async (t) => {
30
+ const provider = (0, stub_provider_1.stubProvider)();
31
+ const cachedDeploy = () => (0, impl_store_1.fetchOrDeploy)(version1, provider, provider.deploy);
32
32
  const address1 = await cachedDeploy();
33
33
  const address2 = await cachedDeploy();
34
34
  t.is(provider.deployCount, 1);
35
35
  t.is(address2, address1);
36
36
  });
37
- ava_1.default('does not reuse unrelated version', async (t) => {
38
- const provider = stub_provider_1.stubProvider();
39
- const address1 = await impl_store_1.fetchOrDeploy(version1, provider, provider.deploy);
40
- const address2 = await impl_store_1.fetchOrDeploy(version2, provider, provider.deploy);
37
+ (0, ava_1.default)('does not reuse unrelated version', async (t) => {
38
+ const provider = (0, stub_provider_1.stubProvider)();
39
+ const address1 = await (0, impl_store_1.fetchOrDeploy)(version1, provider, provider.deploy);
40
+ const address2 = await (0, impl_store_1.fetchOrDeploy)(version2, provider, provider.deploy);
41
41
  t.is(provider.deployCount, 2);
42
42
  t.not(address2, address1);
43
43
  });
44
- ava_1.default('cleans up invalid deployment', async (t) => {
44
+ (0, ava_1.default)('cleans up invalid deployment', async (t) => {
45
45
  const chainId = 1234;
46
- const provider1 = stub_provider_1.stubProvider(chainId);
46
+ const provider1 = (0, stub_provider_1.stubProvider)(chainId);
47
47
  // create a deployment on a network
48
- await impl_store_1.fetchOrDeploy(version1, provider1, provider1.deploy);
48
+ await (0, impl_store_1.fetchOrDeploy)(version1, provider1, provider1.deploy);
49
49
  // try to fetch it on a different network with same chainId
50
- const provider2 = stub_provider_1.stubProvider(chainId);
51
- await t.throwsAsync(impl_store_1.fetchOrDeploy(version1, provider2, provider2.deploy));
50
+ const provider2 = (0, stub_provider_1.stubProvider)(chainId);
51
+ await t.throwsAsync((0, impl_store_1.fetchOrDeploy)(version1, provider2, provider2.deploy));
52
52
  // the failed deployment has been cleaned up
53
- await impl_store_1.fetchOrDeploy(version1, provider2, provider2.deploy);
53
+ await (0, impl_store_1.fetchOrDeploy)(version1, provider2, provider2.deploy);
54
54
  });
55
55
  //# sourceMappingURL=impl-store.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"impl-store.test.js","sourceRoot":"","sources":["../src/impl-store.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"impl-store.test.js","sourceRoot":"","sources":["../src/impl-store.test.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -9,8 +9,14 @@ export * from './src-decoder';
9
9
  export * from './solc-api';
10
10
  export * from './deployment';
11
11
  export * from './link-refs';
12
+ export * from './error';
12
13
  export { getStorageLayoutForAddress } from './manifest-storage-layout';
13
14
  export * from './scripts/migrate-oz-cli-project';
14
15
  export { logWarning } from './utils/log';
15
- export { setProxyKind } from './set-proxy-kind';
16
+ export { setProxyKind, processProxyKind } from './proxy-kind';
17
+ export { UpgradeableContract } from './standalone';
18
+ export { isTransparentOrUUPSProxy, isBeaconProxy } from './eip-1967-type';
19
+ export { getImplementationAddressFromBeacon, getImplementationAddressFromProxy } from './impl-address';
20
+ export { isBeacon } from './beacon';
21
+ export { BeaconProxyUnsupportedError, LoadProxyUnsupportedError, PrepareUpgradeUnsupportedError, DeployBeaconProxyUnsupportedError, DeployBeaconProxyImplUnknownError, DeployBeaconProxyKindError, assertNotProxy, } from './usage-error';
16
22
  //# 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,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,YAAY,CAAC;AAC3B,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,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,MAAM,cAAc,CAAC;AAE9D,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0BAA0B,EAC1B,cAAc,GACf,MAAM,eAAe,CAAC"}