@openzeppelin/upgrades-core 1.11.0 → 1.13.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 (109) hide show
  1. package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
  2. package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +1 -1
  3. package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
  4. package/dist/add-proxy-to-manifest.d.ts +3 -0
  5. package/dist/add-proxy-to-manifest.d.ts.map +1 -0
  6. package/dist/add-proxy-to-manifest.js +15 -0
  7. package/dist/add-proxy-to-manifest.js.map +1 -0
  8. package/dist/deployment.d.ts +35 -4
  9. package/dist/deployment.d.ts.map +1 -1
  10. package/dist/deployment.js +85 -28
  11. package/dist/deployment.js.map +1 -1
  12. package/dist/deployment.test.js +23 -0
  13. package/dist/deployment.test.js.map +1 -1
  14. package/dist/eip-1967-type.d.ts +1 -0
  15. package/dist/eip-1967-type.d.ts.map +1 -1
  16. package/dist/eip-1967-type.js +6 -1
  17. package/dist/eip-1967-type.js.map +1 -1
  18. package/dist/eip-1967.d.ts +1 -0
  19. package/dist/eip-1967.d.ts.map +1 -1
  20. package/dist/eip-1967.js +3 -2
  21. package/dist/eip-1967.js.map +1 -1
  22. package/dist/impl-address.js +1 -1
  23. package/dist/impl-address.js.map +1 -1
  24. package/dist/impl-store.d.ts +24 -3
  25. package/dist/impl-store.d.ts.map +1 -1
  26. package/dist/impl-store.js +77 -22
  27. package/dist/impl-store.js.map +1 -1
  28. package/dist/impl-store.test.js +24 -0
  29. package/dist/impl-store.test.js.map +1 -1
  30. package/dist/index.d.ts +6 -5
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js +20 -4
  33. package/dist/index.js.map +1 -1
  34. package/dist/manifest-storage-layout.d.ts.map +1 -1
  35. package/dist/manifest-storage-layout.js +3 -2
  36. package/dist/manifest-storage-layout.js.map +1 -1
  37. package/dist/manifest-storage-layout.test.js.map +1 -1
  38. package/dist/manifest.d.ts +2 -0
  39. package/dist/manifest.d.ts.map +1 -1
  40. package/dist/manifest.js +6 -4
  41. package/dist/manifest.js.map +1 -1
  42. package/dist/manifest.test.js +32 -0
  43. package/dist/manifest.test.js.map +1 -1
  44. package/dist/provider.d.ts +1 -0
  45. package/dist/provider.d.ts.map +1 -1
  46. package/dist/provider.js +6 -2
  47. package/dist/provider.js.map +1 -1
  48. package/dist/proxy-kind.d.ts +9 -0
  49. package/dist/proxy-kind.d.ts.map +1 -1
  50. package/dist/proxy-kind.js +27 -1
  51. package/dist/proxy-kind.js.map +1 -1
  52. package/dist/scripts/migrate-oz-cli-project.test.js +1 -1
  53. package/dist/scripts/migrate-oz-cli-project.test.js.map +1 -1
  54. package/dist/solc-api.d.ts +5 -0
  55. package/dist/solc-api.d.ts.map +1 -1
  56. package/dist/standalone.test.js.map +1 -1
  57. package/dist/storage/extract.d.ts +1 -1
  58. package/dist/storage/extract.d.ts.map +1 -1
  59. package/dist/storage/extract.js +76 -38
  60. package/dist/storage/extract.js.map +1 -1
  61. package/dist/storage/layout.d.ts +4 -0
  62. package/dist/storage/layout.d.ts.map +1 -1
  63. package/dist/storage/layout.js.map +1 -1
  64. package/dist/storage/report.test.js.map +1 -1
  65. package/dist/storage.test.js +1 -1
  66. package/dist/storage.test.js.map +1 -1
  67. package/dist/usage-error.d.ts +3 -0
  68. package/dist/usage-error.d.ts.map +1 -1
  69. package/dist/usage-error.js +7 -1
  70. package/dist/usage-error.js.map +1 -1
  71. package/dist/validate/query.d.ts.map +1 -1
  72. package/dist/validate/query.js +10 -5
  73. package/dist/validate/query.js.map +1 -1
  74. package/dist/validate/run.d.ts.map +1 -1
  75. package/dist/validate/run.js +1 -1
  76. package/dist/validate/run.js.map +1 -1
  77. package/dist/validate.test.js.map +1 -1
  78. package/package.json +5 -5
  79. package/src/add-proxy-to-manifest.ts +12 -0
  80. package/src/deployment.test.ts +25 -0
  81. package/src/deployment.ts +124 -27
  82. package/src/eip-1967-type.ts +7 -0
  83. package/src/eip-1967.ts +4 -3
  84. package/src/impl-address.ts +1 -1
  85. package/src/impl-store.test.ts +33 -1
  86. package/src/impl-store.ts +91 -18
  87. package/src/index.ts +22 -4
  88. package/src/manifest-storage-layout.test.ts +3 -2
  89. package/src/manifest-storage-layout.ts +8 -3
  90. package/src/manifest.test.ts +34 -1
  91. package/src/manifest.ts +9 -4
  92. package/src/provider.ts +5 -1
  93. package/src/proxy-kind.ts +24 -1
  94. package/src/scripts/migrate-oz-cli-project.test.ts +1 -1
  95. package/src/scripts/migrate-oz-cli-project.test.ts.snap +0 -0
  96. package/src/solc-api.ts +5 -0
  97. package/src/standalone.test.ts +2 -2
  98. package/src/storage/extract.ts +98 -52
  99. package/src/storage/layout.ts +4 -0
  100. package/src/storage/report.test.ts +2 -2
  101. package/src/storage/report.test.ts.snap +0 -0
  102. package/src/storage.test.ts +3 -3
  103. package/src/storage.test.ts.snap +0 -0
  104. package/src/usage-error.ts +9 -0
  105. package/src/utils/parse-type-id.test.ts.md +106 -106
  106. package/src/utils/parse-type-id.test.ts.snap +0 -0
  107. package/src/validate/query.ts +9 -5
  108. package/src/validate/run.ts +6 -1
  109. package/src/validate.test.ts +2 -2
@@ -3,32 +3,52 @@ 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.fetchOrDeployAdmin = exports.fetchOrDeploy = void 0;
6
+ exports.fetchOrDeployAdmin = exports.mergeAddresses = exports.fetchOrDeploy = exports.deleteDeployment = void 0;
7
7
  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
11
  const assert_1 = __importDefault(require("assert"));
12
- async function fetchOrDeployGeneric(lens, provider, deploy) {
12
+ /**
13
+ * Fetches the deployment from the manifest, or deploys it if not found.
14
+ *
15
+ * @param lens the manifest lens
16
+ * @param provider the Ethereum provider
17
+ * @param deploy the deploy function
18
+ * @param opts options containing the timeout and pollingInterval parameters. If undefined, assumes the timeout is not configurable and will not mention those parameters in the error message for TransactionMinedTimeout.
19
+ * @param merge if true, adds a deployment to existing deployment by merging their addresses. Defaults to false.
20
+ * @returns the deployment address
21
+ * @throws {InvalidDeployment} if the deployment is invalid
22
+ * @throws {TransactionMinedTimeout} if the transaction was not confirmed within the timeout period
23
+ */
24
+ async function fetchOrDeployGeneric(lens, provider, deploy, opts, merge) {
13
25
  const manifest = await manifest_1.Manifest.forNetwork(provider);
14
26
  try {
15
27
  const deployment = await manifest.lockedRun(async () => {
16
28
  (0, debug_1.default)('fetching deployment of', lens.description);
17
29
  const data = await manifest.read();
18
30
  const deployment = lens(data);
19
- const stored = deployment.get();
20
- if (stored === undefined) {
21
- (0, debug_1.default)('deployment of', lens.description, 'not found');
31
+ if (merge && !deployment.merge) {
32
+ throw new Error('fetchOrDeployGeneric was called with merge set to true but the deployment lens does not have a merge function');
22
33
  }
23
- const updated = await (0, deployment_1.resumeOrDeploy)(provider, stored, deploy);
34
+ const stored = deployment.get();
35
+ const updated = await (0, deployment_1.resumeOrDeploy)(provider, stored, deploy, lens.type, opts, deployment, merge);
24
36
  if (updated !== stored) {
25
- await checkForAddressClash(provider, data, updated);
26
- deployment.set(updated);
37
+ if (merge && deployment.merge) {
38
+ // only check primary addresses for clashes, since the address could already exist in an allAddresses field
39
+ // but the above updated and stored objects are different instances representing the same entry
40
+ await checkForAddressClash(provider, data, updated, false);
41
+ deployment.merge(updated);
42
+ }
43
+ else {
44
+ await checkForAddressClash(provider, data, updated, true);
45
+ deployment.set(updated);
46
+ }
27
47
  await manifest.write(data);
28
48
  }
29
49
  return updated;
30
50
  });
31
- await (0, deployment_1.waitAndValidateDeployment)(provider, deployment);
51
+ await (0, deployment_1.waitAndValidateDeployment)(provider, deployment, lens.type, opts);
32
52
  return deployment.address;
33
53
  }
34
54
  catch (e) {
@@ -49,27 +69,61 @@ async function fetchOrDeployGeneric(lens, provider, deploy) {
49
69
  throw e;
50
70
  }
51
71
  }
52
- async function fetchOrDeploy(version, provider, deploy) {
53
- return fetchOrDeployGeneric(implLens(version.linkedWithoutMetadata), provider, deploy);
72
+ /**
73
+ * Deletes the deployment by setting it to undefined.
74
+ * Should only be used during a manifest run.
75
+ */
76
+ function deleteDeployment(deployment) {
77
+ deployment.set(undefined);
78
+ }
79
+ exports.deleteDeployment = deleteDeployment;
80
+ async function fetchOrDeploy(version, provider, deploy, opts, merge) {
81
+ return fetchOrDeployGeneric(implLens(version.linkedWithoutMetadata), provider, deploy, opts, merge);
54
82
  }
55
83
  exports.fetchOrDeploy = fetchOrDeploy;
56
- const implLens = (versionWithoutMetadata) => lens(`implementation ${versionWithoutMetadata}`, data => ({
84
+ const implLens = (versionWithoutMetadata) => lens(`implementation ${versionWithoutMetadata}`, 'implementation', data => ({
57
85
  get: () => data.impls[versionWithoutMetadata],
58
86
  set: (value) => (data.impls[versionWithoutMetadata] = value),
87
+ merge: (value) => {
88
+ const existing = data.impls[versionWithoutMetadata];
89
+ if (existing !== undefined && value !== undefined) {
90
+ const { address, allAddresses } = mergeAddresses(existing, value);
91
+ data.impls[versionWithoutMetadata] = { ...existing, address, allAddresses };
92
+ }
93
+ else {
94
+ data.impls[versionWithoutMetadata] = value;
95
+ }
96
+ },
59
97
  }));
60
- async function fetchOrDeployAdmin(provider, deploy) {
61
- return fetchOrDeployGeneric(adminLens, provider, deploy);
98
+ /**
99
+ * Merge the addresses in the deployments and returns them.
100
+ *
101
+ * @param existing existing deployment
102
+ * @param value deployment to add
103
+ */
104
+ function mergeAddresses(existing, value) {
105
+ var _a, _b;
106
+ const merged = new Set();
107
+ merged.add(existing.address);
108
+ merged.add(value.address);
109
+ (_a = existing.allAddresses) === null || _a === void 0 ? void 0 : _a.forEach(item => merged.add(item));
110
+ (_b = value.allAddresses) === null || _b === void 0 ? void 0 : _b.forEach(item => merged.add(item));
111
+ return { address: existing.address, allAddresses: Array.from(merged) };
112
+ }
113
+ exports.mergeAddresses = mergeAddresses;
114
+ async function fetchOrDeployAdmin(provider, deploy, opts) {
115
+ return fetchOrDeployGeneric(adminLens, provider, deploy, opts);
62
116
  }
63
117
  exports.fetchOrDeployAdmin = fetchOrDeployAdmin;
64
- const adminLens = lens('proxy admin', data => ({
118
+ const adminLens = lens('proxy admin', 'proxy admin', data => ({
65
119
  get: () => data.admin,
66
120
  set: (value) => (data.admin = value),
67
121
  }));
68
- function lens(description, fn) {
69
- return Object.assign(fn, { description });
122
+ function lens(description, type, fn) {
123
+ return Object.assign(fn, { description, type });
70
124
  }
71
- async function checkForAddressClash(provider, data, updated) {
72
- const clash = lookupDeployment(data, updated.address);
125
+ async function checkForAddressClash(provider, data, updated, checkAllAddresses) {
126
+ const clash = lookupDeployment(data, updated.address, checkAllAddresses);
73
127
  if (clash !== undefined) {
74
128
  if (await (0, provider_1.isDevelopmentNetwork)(provider)) {
75
129
  (0, debug_1.default)('deleting a previous deployment at address', updated.address);
@@ -82,13 +136,14 @@ async function checkForAddressClash(provider, data, updated) {
82
136
  }
83
137
  }
84
138
  }
85
- function lookupDeployment(data, address) {
86
- var _a, _b;
139
+ function lookupDeployment(data, address, checkAllAddresses) {
140
+ var _a, _b, _c, _d;
87
141
  if (((_a = data.admin) === null || _a === void 0 ? void 0 : _a.address) === address) {
88
142
  return adminLens(data);
89
143
  }
90
144
  for (const versionWithoutMetadata in data.impls) {
91
- if (((_b = data.impls[versionWithoutMetadata]) === null || _b === void 0 ? void 0 : _b.address) === address) {
145
+ if (((_b = data.impls[versionWithoutMetadata]) === null || _b === void 0 ? void 0 : _b.address) === address ||
146
+ (checkAllAddresses && ((_d = (_c = data.impls[versionWithoutMetadata]) === null || _c === void 0 ? void 0 : _c.allAddresses) === null || _d === void 0 ? void 0 : _d.includes(address)))) {
92
147
  return implLens(versionWithoutMetadata)(data);
93
148
  }
94
149
  }
@@ -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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"}
@@ -52,4 +52,28 @@ const version2 = (0, version_1.getVersion)('02', '02');
52
52
  // the failed deployment has been cleaned up
53
53
  await (0, impl_store_1.fetchOrDeploy)(version1, provider2, provider2.deploy);
54
54
  });
55
+ (0, ava_1.default)('merge addresses', async (t) => {
56
+ const depl1 = { address: '0x1' };
57
+ const depl2 = { address: '0x2' };
58
+ const { address, allAddresses } = await (0, impl_store_1.mergeAddresses)(depl1, depl2);
59
+ t.is(address, '0x1');
60
+ t.true(unorderedEqual(allAddresses, ['0x1', '0x2']), allAddresses.toString());
61
+ });
62
+ (0, ava_1.default)('merge multiple existing addresses', async (t) => {
63
+ const depl1 = { address: '0x1', allAddresses: ['0x1a', '0x1b'] };
64
+ const depl2 = { address: '0x2' };
65
+ const { address, allAddresses } = await (0, impl_store_1.mergeAddresses)(depl1, depl2);
66
+ t.is(address, '0x1');
67
+ t.true(unorderedEqual(allAddresses, ['0x1', '0x1a', '0x1b', '0x2']), allAddresses.toString());
68
+ });
69
+ (0, ava_1.default)('merge all addresses', async (t) => {
70
+ const depl1 = { address: '0x1', allAddresses: ['0x1a', '0x1b'] };
71
+ const depl2 = { address: '0x2', allAddresses: ['0x2a', '0x2b'] };
72
+ const { address, allAddresses } = await (0, impl_store_1.mergeAddresses)(depl1, depl2);
73
+ t.is(address, '0x1');
74
+ t.true(unorderedEqual(allAddresses, ['0x1', '0x1a', '0x1b', '0x2', '0x2a', '0x2b']), allAddresses.toString());
75
+ });
76
+ function unorderedEqual(arr1, arr2) {
77
+ return arr1.every(i => arr2.includes(i)) && arr2.every(i => arr1.includes(i));
78
+ }
55
79
  //# 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
@@ -1,22 +1,23 @@
1
1
  export * from './validate';
2
- export * from './impl-store';
2
+ export { fetchOrDeploy, fetchOrDeployAdmin } from './impl-store';
3
3
  export * from './version';
4
- export * from './manifest';
5
4
  export * from './storage';
6
- export * from './eip-1967';
5
+ export { EIP1967BeaconNotFound, EIP1967ImplementationNotFound, getAdminAddress, getBeaconAddress, getImplementationAddress, toEip1967Hash, toFallbackEip1967Hash, } from './eip-1967';
7
6
  export * from './provider';
8
7
  export * from './src-decoder';
9
8
  export * from './solc-api';
10
9
  export * from './deployment';
11
10
  export * from './link-refs';
12
11
  export * from './error';
12
+ export { ManifestData, ImplDeployment, ProxyDeployment, Manifest, migrateManifest, DeploymentNotFound, } from './manifest';
13
13
  export { getStorageLayoutForAddress } from './manifest-storage-layout';
14
14
  export * from './scripts/migrate-oz-cli-project';
15
15
  export { logWarning } from './utils/log';
16
- export { setProxyKind, processProxyKind } from './proxy-kind';
16
+ export { setProxyKind, processProxyKind, detectProxyKind } from './proxy-kind';
17
17
  export { UpgradeableContract } from './standalone';
18
18
  export { isTransparentOrUUPSProxy, isBeaconProxy } from './eip-1967-type';
19
19
  export { getImplementationAddressFromBeacon, getImplementationAddressFromProxy } from './impl-address';
20
20
  export { isBeacon } from './beacon';
21
- export { BeaconProxyUnsupportedError, LoadProxyUnsupportedError, PrepareUpgradeUnsupportedError, DeployBeaconProxyUnsupportedError, DeployBeaconProxyImplUnknownError, DeployBeaconProxyKindError, assertNotProxy, } from './usage-error';
21
+ export { addProxyToManifest } from './add-proxy-to-manifest';
22
+ export { BeaconProxyUnsupportedError, LoadProxyUnsupportedError, PrepareUpgradeUnsupportedError, DeployBeaconProxyUnsupportedError, DeployBeaconProxyImplUnknownError, DeployBeaconProxyKindError, ForceImportUnsupportedError, assertNotProxy, } from './usage-error';
22
23
  //# 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;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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AACjE,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC;AAC1B,OAAO,EACL,qBAAqB,EACrB,6BAA6B,EAC7B,eAAe,EACf,gBAAgB,EAChB,wBAAwB,EACxB,aAAa,EACb,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC;AAExB,OAAO,EACL,YAAY,EACZ,cAAc,EACd,eAAe,EACf,QAAQ,EACR,eAAe,EACf,kBAAkB,GACnB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAEvE,cAAc,kCAAkC,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAE/E,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAEnD,OAAO,EAAE,wBAAwB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,kCAAkC,EAAE,iCAAiC,EAAE,MAAM,gBAAgB,CAAC;AACvG,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,OAAO,EACL,2BAA2B,EAC3B,yBAAyB,EACzB,8BAA8B,EAC9B,iCAAiC,EACjC,iCAAiC,EACjC,0BAA0B,EAC1B,2BAA2B,EAC3B,cAAc,GACf,MAAM,eAAe,CAAC"}
package/dist/index.js CHANGED
@@ -10,19 +10,31 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
11
  };
12
12
  Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.assertNotProxy = exports.DeployBeaconProxyKindError = exports.DeployBeaconProxyImplUnknownError = exports.DeployBeaconProxyUnsupportedError = exports.PrepareUpgradeUnsupportedError = exports.LoadProxyUnsupportedError = exports.BeaconProxyUnsupportedError = exports.isBeacon = exports.getImplementationAddressFromProxy = exports.getImplementationAddressFromBeacon = exports.isBeaconProxy = exports.isTransparentOrUUPSProxy = exports.UpgradeableContract = exports.processProxyKind = exports.setProxyKind = exports.logWarning = exports.getStorageLayoutForAddress = void 0;
13
+ exports.assertNotProxy = exports.ForceImportUnsupportedError = exports.DeployBeaconProxyKindError = exports.DeployBeaconProxyImplUnknownError = exports.DeployBeaconProxyUnsupportedError = exports.PrepareUpgradeUnsupportedError = exports.LoadProxyUnsupportedError = exports.BeaconProxyUnsupportedError = exports.addProxyToManifest = exports.isBeacon = exports.getImplementationAddressFromProxy = exports.getImplementationAddressFromBeacon = exports.isBeaconProxy = exports.isTransparentOrUUPSProxy = exports.UpgradeableContract = exports.detectProxyKind = exports.processProxyKind = exports.setProxyKind = exports.logWarning = exports.getStorageLayoutForAddress = exports.DeploymentNotFound = exports.migrateManifest = exports.Manifest = exports.toFallbackEip1967Hash = exports.toEip1967Hash = exports.getImplementationAddress = exports.getBeaconAddress = exports.getAdminAddress = exports.EIP1967ImplementationNotFound = exports.EIP1967BeaconNotFound = exports.fetchOrDeployAdmin = exports.fetchOrDeploy = void 0;
14
14
  __exportStar(require("./validate"), exports);
15
- __exportStar(require("./impl-store"), exports);
15
+ var impl_store_1 = require("./impl-store");
16
+ Object.defineProperty(exports, "fetchOrDeploy", { enumerable: true, get: function () { return impl_store_1.fetchOrDeploy; } });
17
+ Object.defineProperty(exports, "fetchOrDeployAdmin", { enumerable: true, get: function () { return impl_store_1.fetchOrDeployAdmin; } });
16
18
  __exportStar(require("./version"), exports);
17
- __exportStar(require("./manifest"), exports);
18
19
  __exportStar(require("./storage"), exports);
19
- __exportStar(require("./eip-1967"), exports);
20
+ var eip_1967_1 = require("./eip-1967");
21
+ Object.defineProperty(exports, "EIP1967BeaconNotFound", { enumerable: true, get: function () { return eip_1967_1.EIP1967BeaconNotFound; } });
22
+ Object.defineProperty(exports, "EIP1967ImplementationNotFound", { enumerable: true, get: function () { return eip_1967_1.EIP1967ImplementationNotFound; } });
23
+ Object.defineProperty(exports, "getAdminAddress", { enumerable: true, get: function () { return eip_1967_1.getAdminAddress; } });
24
+ Object.defineProperty(exports, "getBeaconAddress", { enumerable: true, get: function () { return eip_1967_1.getBeaconAddress; } });
25
+ Object.defineProperty(exports, "getImplementationAddress", { enumerable: true, get: function () { return eip_1967_1.getImplementationAddress; } });
26
+ Object.defineProperty(exports, "toEip1967Hash", { enumerable: true, get: function () { return eip_1967_1.toEip1967Hash; } });
27
+ Object.defineProperty(exports, "toFallbackEip1967Hash", { enumerable: true, get: function () { return eip_1967_1.toFallbackEip1967Hash; } });
20
28
  __exportStar(require("./provider"), exports);
21
29
  __exportStar(require("./src-decoder"), exports);
22
30
  __exportStar(require("./solc-api"), exports);
23
31
  __exportStar(require("./deployment"), exports);
24
32
  __exportStar(require("./link-refs"), exports);
25
33
  __exportStar(require("./error"), exports);
34
+ var manifest_1 = require("./manifest");
35
+ Object.defineProperty(exports, "Manifest", { enumerable: true, get: function () { return manifest_1.Manifest; } });
36
+ Object.defineProperty(exports, "migrateManifest", { enumerable: true, get: function () { return manifest_1.migrateManifest; } });
37
+ Object.defineProperty(exports, "DeploymentNotFound", { enumerable: true, get: function () { return manifest_1.DeploymentNotFound; } });
26
38
  var manifest_storage_layout_1 = require("./manifest-storage-layout");
27
39
  Object.defineProperty(exports, "getStorageLayoutForAddress", { enumerable: true, get: function () { return manifest_storage_layout_1.getStorageLayoutForAddress; } });
28
40
  __exportStar(require("./scripts/migrate-oz-cli-project"), exports);
@@ -31,6 +43,7 @@ Object.defineProperty(exports, "logWarning", { enumerable: true, get: function (
31
43
  var proxy_kind_1 = require("./proxy-kind");
32
44
  Object.defineProperty(exports, "setProxyKind", { enumerable: true, get: function () { return proxy_kind_1.setProxyKind; } });
33
45
  Object.defineProperty(exports, "processProxyKind", { enumerable: true, get: function () { return proxy_kind_1.processProxyKind; } });
46
+ Object.defineProperty(exports, "detectProxyKind", { enumerable: true, get: function () { return proxy_kind_1.detectProxyKind; } });
34
47
  var standalone_1 = require("./standalone");
35
48
  Object.defineProperty(exports, "UpgradeableContract", { enumerable: true, get: function () { return standalone_1.UpgradeableContract; } });
36
49
  var eip_1967_type_1 = require("./eip-1967-type");
@@ -41,6 +54,8 @@ Object.defineProperty(exports, "getImplementationAddressFromBeacon", { enumerabl
41
54
  Object.defineProperty(exports, "getImplementationAddressFromProxy", { enumerable: true, get: function () { return impl_address_1.getImplementationAddressFromProxy; } });
42
55
  var beacon_1 = require("./beacon");
43
56
  Object.defineProperty(exports, "isBeacon", { enumerable: true, get: function () { return beacon_1.isBeacon; } });
57
+ var add_proxy_to_manifest_1 = require("./add-proxy-to-manifest");
58
+ Object.defineProperty(exports, "addProxyToManifest", { enumerable: true, get: function () { return add_proxy_to_manifest_1.addProxyToManifest; } });
44
59
  var usage_error_1 = require("./usage-error");
45
60
  Object.defineProperty(exports, "BeaconProxyUnsupportedError", { enumerable: true, get: function () { return usage_error_1.BeaconProxyUnsupportedError; } });
46
61
  Object.defineProperty(exports, "LoadProxyUnsupportedError", { enumerable: true, get: function () { return usage_error_1.LoadProxyUnsupportedError; } });
@@ -48,5 +63,6 @@ Object.defineProperty(exports, "PrepareUpgradeUnsupportedError", { enumerable: t
48
63
  Object.defineProperty(exports, "DeployBeaconProxyUnsupportedError", { enumerable: true, get: function () { return usage_error_1.DeployBeaconProxyUnsupportedError; } });
49
64
  Object.defineProperty(exports, "DeployBeaconProxyImplUnknownError", { enumerable: true, get: function () { return usage_error_1.DeployBeaconProxyImplUnknownError; } });
50
65
  Object.defineProperty(exports, "DeployBeaconProxyKindError", { enumerable: true, get: function () { return usage_error_1.DeployBeaconProxyKindError; } });
66
+ Object.defineProperty(exports, "ForceImportUnsupportedError", { enumerable: true, get: function () { return usage_error_1.ForceImportUnsupportedError; } });
51
67
  Object.defineProperty(exports, "assertNotProxy", { enumerable: true, get: function () { return usage_error_1.assertNotProxy; } });
52
68
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,+CAA6B;AAC7B,4CAA0B;AAC1B,6CAA2B;AAC3B,4CAA0B;AAC1B,6CAA2B;AAC3B,6CAA2B;AAC3B,gDAA8B;AAC9B,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,0CAAwB;AAExB,qEAAuE;AAA9D,qIAAA,0BAA0B,OAAA;AAEnC,mEAAiD;AAEjD,mCAAyC;AAAhC,iGAAA,UAAU,OAAA;AACnB,2CAA8D;AAArD,0GAAA,YAAY,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAEvC,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAE5B,iDAA0E;AAAjE,yHAAA,wBAAwB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAChD,+CAAuG;AAA9F,kIAAA,kCAAkC,OAAA;AAAE,iIAAA,iCAAiC,OAAA;AAC9E,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AAEjB,6CAQuB;AAPrB,0HAAA,2BAA2B,OAAA;AAC3B,wHAAA,yBAAyB,OAAA;AACzB,6HAAA,8BAA8B,OAAA;AAC9B,gIAAA,iCAAiC,OAAA;AACjC,gIAAA,iCAAiC,OAAA;AACjC,yHAAA,0BAA0B,OAAA;AAC1B,6GAAA,cAAc,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,6CAA2B;AAC3B,2CAAiE;AAAxD,2GAAA,aAAa,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAC1C,4CAA0B;AAC1B,4CAA0B;AAC1B,uCAQoB;AAPlB,iHAAA,qBAAqB,OAAA;AACrB,yHAAA,6BAA6B,OAAA;AAC7B,2GAAA,eAAe,OAAA;AACf,4GAAA,gBAAgB,OAAA;AAChB,oHAAA,wBAAwB,OAAA;AACxB,yGAAA,aAAa,OAAA;AACb,iHAAA,qBAAqB,OAAA;AAEvB,6CAA2B;AAC3B,gDAA8B;AAC9B,6CAA2B;AAC3B,+CAA6B;AAC7B,8CAA4B;AAC5B,0CAAwB;AAExB,uCAOoB;AAHlB,oGAAA,QAAQ,OAAA;AACR,2GAAA,eAAe,OAAA;AACf,8GAAA,kBAAkB,OAAA;AAGpB,qEAAuE;AAA9D,qIAAA,0BAA0B,OAAA;AAEnC,mEAAiD;AAEjD,mCAAyC;AAAhC,iGAAA,UAAU,OAAA;AACnB,2CAA+E;AAAtE,0GAAA,YAAY,OAAA;AAAE,8GAAA,gBAAgB,OAAA;AAAE,6GAAA,eAAe,OAAA;AAExD,2CAAmD;AAA1C,iHAAA,mBAAmB,OAAA;AAE5B,iDAA0E;AAAjE,yHAAA,wBAAwB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAChD,+CAAuG;AAA9F,kIAAA,kCAAkC,OAAA;AAAE,iIAAA,iCAAiC,OAAA;AAC9E,mCAAoC;AAA3B,kGAAA,QAAQ,OAAA;AACjB,iEAA6D;AAApD,2HAAA,kBAAkB,OAAA;AAE3B,6CASuB;AARrB,0HAAA,2BAA2B,OAAA;AAC3B,wHAAA,yBAAyB,OAAA;AACzB,6HAAA,8BAA8B,OAAA;AAC9B,gIAAA,iCAAiC,OAAA;AACjC,gIAAA,iCAAiC,OAAA;AACjC,yHAAA,0BAA0B,OAAA;AAC1B,0HAAA,2BAA2B,OAAA;AAC3B,6GAAA,cAAc,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-storage-layout.d.ts","sourceRoot":"","sources":["../src/manifest-storage-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAKjD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,cAAc,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CA0BxB;AAOD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,aAAa,GACpB,aAAa,GAAG,SAAS,CAyD3B"}
1
+ {"version":3,"file":"manifest-storage-layout.d.ts","sourceRoot":"","sources":["../src/manifest-storage-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,aAAa,EAAmB,MAAM,kBAAkB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAMjD,wBAAsB,0BAA0B,CAC9C,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,cAAc,EAC3B,WAAW,EAAE,MAAM,GAClB,OAAO,CAAC,aAAa,CAAC,CA8BxB;AAOD,wBAAgB,uBAAuB,CACrC,IAAI,EAAE,cAAc,EACpB,sBAAsB,EAAE,MAAM,EAC9B,MAAM,EAAE,aAAa,GACpB,aAAa,GAAG,SAAS,CAyD3B"}
@@ -6,11 +6,12 @@ const layout_1 = require("./storage/layout");
6
6
  const query_1 = require("./validate/query");
7
7
  const type_id_1 = require("./utils/type-id");
8
8
  const deep_array_1 = require("./utils/deep-array");
9
+ const error_1 = require("./error");
9
10
  async function getStorageLayoutForAddress(manifest, validations, implAddress) {
10
11
  const data = await manifest.read();
11
- const versionWithoutMetadata = Object.keys(data.impls).find(v => { var _a; return ((_a = data.impls[v]) === null || _a === void 0 ? void 0 : _a.address) === implAddress; });
12
+ const versionWithoutMetadata = Object.keys(data.impls).find(v => { var _a, _b, _c; return ((_a = data.impls[v]) === null || _a === void 0 ? void 0 : _a.address) === implAddress || ((_c = (_b = data.impls[v]) === null || _b === void 0 ? void 0 : _b.allAddresses) === null || _c === void 0 ? void 0 : _c.includes(implAddress)); });
12
13
  if (versionWithoutMetadata === undefined) {
13
- throw new Error(`Deployment at address ${implAddress} is not registered`);
14
+ throw new error_1.UpgradesError(`Deployment at address ${implAddress} is not registered`, () => 'To register a previously deployed proxy for upgrading, use the forceImport function.');
14
15
  }
15
16
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
16
17
  const { layout } = data.impls[versionWithoutMetadata];
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-storage-layout.js","sourceRoot":"","sources":["../src/manifest-storage-layout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-storage-layout.js","sourceRoot":"","sources":["../src/manifest-storage-layout.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"manifest-storage-layout.test.js","sourceRoot":"","sources":["../src/manifest-storage-layout.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest-storage-layout.test.js","sourceRoot":"","sources":["../src/manifest-storage-layout.test.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@ export interface ManifestData {
11
11
  }
12
12
  export interface ImplDeployment extends Deployment {
13
13
  layout: StorageLayout;
14
+ allAddresses?: string[];
14
15
  }
15
16
  export interface ProxyDeployment extends Deployment {
16
17
  kind: 'uups' | 'transparent' | 'beacon';
@@ -33,4 +34,5 @@ export declare class Manifest {
33
34
  export declare function migrateManifest(data: ManifestData): ManifestData;
34
35
  export declare class DeploymentNotFound extends Error {
35
36
  }
37
+ export declare function normalizeManifestData(input: ManifestData): ManifestData;
36
38
  //# sourceMappingURL=manifest.d.ts.map
@@ -1 +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,GAAG,QAAQ,CAAC;CACzC;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"}
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;IACtB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,MAAM,GAAG,aAAa,GAAG,QAAQ,CAAC;CACzC;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;IAYlE,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;AAEhD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,GAAG,YAAY,CAOvE"}
package/dist/manifest.js CHANGED
@@ -3,7 +3,7 @@ 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.DeploymentNotFound = exports.migrateManifest = exports.Manifest = void 0;
6
+ exports.normalizeManifestData = exports.DeploymentNotFound = exports.migrateManifest = exports.Manifest = void 0;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const fs_1 = require("fs");
9
9
  const provider_1 = require("./provider");
@@ -36,7 +36,7 @@ class Manifest {
36
36
  }
37
37
  async getDeploymentFromAddress(address) {
38
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);
39
+ const deployment = Object.values(data.impls).find(d => { var _a; return (d === null || d === void 0 ? void 0 : d.address) === address || ((_a = d === null || d === void 0 ? void 0 : d.allAddresses) === null || _a === void 0 ? void 0 : _a.includes(address)); });
40
40
  if (deployment === undefined) {
41
41
  throw new DeploymentNotFound(`Deployment at address ${address} is not registered`);
42
42
  }
@@ -143,11 +143,13 @@ class DeploymentNotFound extends Error {
143
143
  exports.DeploymentNotFound = DeploymentNotFound;
144
144
  function normalizeManifestData(input) {
145
145
  return {
146
- ...(0, pick_1.pick)(input, ['manifestVersion', 'admin']),
146
+ manifestVersion: input.manifestVersion,
147
+ admin: input.admin && normalizeDeployment(input.admin),
147
148
  proxies: input.proxies.map(p => normalizeDeployment(p, ['kind'])),
148
- impls: (0, map_values_1.mapValues)(input.impls, i => i && normalizeDeployment(i, ['layout'])),
149
+ impls: (0, map_values_1.mapValues)(input.impls, i => i && normalizeDeployment(i, ['layout', 'allAddresses'])),
149
150
  };
150
151
  }
152
+ exports.normalizeManifestData = normalizeManifestData;
151
153
  function normalizeDeployment(input, include = []) {
152
154
  return (0, pick_1.pick)(input, ['address', 'txHash', ...include]);
153
155
  }
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
@@ -14,4 +14,36 @@ const manifest_1 = require("./manifest");
14
14
  const manifest = new manifest_1.Manifest(id);
15
15
  t.is(manifest.file, `.openzeppelin/unknown-${id}.json`);
16
16
  });
17
+ (0, ava_1.default)('normalize manifest', t => {
18
+ const deployment = {
19
+ address: '0x1234',
20
+ txHash: '0x1234',
21
+ kind: 'uups',
22
+ layout: { types: {}, storage: [] },
23
+ deployTransaction: {},
24
+ };
25
+ const input = {
26
+ manifestVersion: '3.0',
27
+ admin: deployment,
28
+ impls: { a: deployment },
29
+ proxies: [deployment],
30
+ };
31
+ const norm = (0, manifest_1.normalizeManifestData)(input);
32
+ t.like(norm.admin, {
33
+ ...deployment,
34
+ kind: undefined,
35
+ layout: undefined,
36
+ deployTransaction: undefined,
37
+ });
38
+ t.like(norm.impls.a, {
39
+ ...deployment,
40
+ kind: undefined,
41
+ deployTransaction: undefined,
42
+ });
43
+ t.like(norm.proxies[0], {
44
+ ...deployment,
45
+ layout: undefined,
46
+ deployTransaction: undefined,
47
+ });
48
+ });
17
49
  //# sourceMappingURL=manifest.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.test.js","sourceRoot":"","sources":["../src/manifest.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,yCAAsC;AAEtC,IAAA,aAAI,EAAC,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,IAAA,aAAI,EAAC,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"}
1
+ {"version":3,"file":"manifest.test.js","sourceRoot":"","sources":["../src/manifest.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,yCAA2E;AAE3E,IAAA,aAAI,EAAC,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,IAAA,aAAI,EAAC,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;AAEH,IAAA,aAAI,EAAC,oBAAoB,EAAE,CAAC,CAAC,EAAE;IAC7B,MAAM,UAAU,GAAG;QACjB,OAAO,EAAE,QAAQ;QACjB,MAAM,EAAE,QAAQ;QAChB,IAAI,EAAE,MAAe;QACrB,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE;QAClC,iBAAiB,EAAE,EAAE;KACtB,CAAC;IACF,MAAM,KAAK,GAAiB;QAC1B,eAAe,EAAE,KAAK;QACtB,KAAK,EAAE,UAAU;QACjB,KAAK,EAAE,EAAE,CAAC,EAAE,UAAU,EAAE;QACxB,OAAO,EAAE,CAAC,UAAU,CAAC;KACtB,CAAC;IACF,MAAM,IAAI,GAAG,IAAA,gCAAqB,EAAC,KAAK,CAAC,CAAC;IAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;QACjB,GAAG,UAAU;QACb,IAAI,EAAE,SAAS;QACf,MAAM,EAAE,SAAS;QACjB,iBAAiB,EAAE,SAAS;KAC7B,CAAC,CAAC;IACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE;QACnB,GAAG,UAAU;QACb,IAAI,EAAE,SAAS;QACf,iBAAiB,EAAE,SAAS;KAC7B,CAAC,CAAC;IACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;QACtB,GAAG,UAAU;QACb,MAAM,EAAE,SAAS;QACjB,iBAAiB,EAAE,SAAS;KAC7B,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -28,6 +28,7 @@ export declare function getStorageAt(provider: EthereumProvider, address: string
28
28
  export declare function getCode(provider: EthereumProvider, address: string, block?: string): Promise<string>;
29
29
  export declare function call(provider: EthereumProvider, address: string, data: string, block?: string): Promise<string>;
30
30
  export declare function hasCode(provider: EthereumProvider, address: string, block?: string): Promise<boolean>;
31
+ export declare function isEmpty(code: string): boolean;
31
32
  export declare function getTransactionByHash(provider: EthereumProvider, txHash: string): Promise<EthereumTransaction | null>;
32
33
  export declare function getTransactionReceipt(provider: EthereumProvider, txHash: string): Promise<EthereumTransactionReceipt | null>;
33
34
  export declare const networkNames: {
@@ -1 +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,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAC7D,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,IAAI,CACxB,QAAQ,EAAE,gBAAgB,EAC1B,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,MAAM,EACZ,KAAK,SAAW,GACf,OAAO,CAAC,MAAM,CAAC,CAQjB;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"}
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
package/dist/provider.js CHANGED
@@ -3,7 +3,7 @@ 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.isReceiptSuccessful = exports.isDevelopmentNetwork = exports.networkNames = exports.getTransactionReceipt = exports.getTransactionByHash = exports.hasCode = exports.call = exports.getCode = exports.getStorageAt = exports.getClientVersion = exports.getChainId = exports.getNetworkId = void 0;
6
+ exports.isReceiptSuccessful = exports.isDevelopmentNetwork = exports.networkNames = exports.getTransactionReceipt = exports.getTransactionByHash = exports.isEmpty = exports.hasCode = exports.call = exports.getCode = exports.getStorageAt = exports.getClientVersion = exports.getChainId = exports.getNetworkId = void 0;
7
7
  const bn_js_1 = __importDefault(require("bn.js"));
8
8
  async function getNetworkId(provider) {
9
9
  return provider.send('net_version', []);
@@ -40,9 +40,13 @@ async function call(provider, address, data, block = 'latest') {
40
40
  exports.call = call;
41
41
  async function hasCode(provider, address, block) {
42
42
  const code = await getCode(provider, address, block);
43
- return code !== '0x';
43
+ return !isEmpty(code);
44
44
  }
45
45
  exports.hasCode = hasCode;
46
+ function isEmpty(code) {
47
+ return code.replace(/^0x/, '') === '';
48
+ }
49
+ exports.isEmpty = isEmpty;
46
50
  async function getTransactionByHash(provider, txHash) {
47
51
  return provider.send('eth_getTransactionByHash', [txHash]);
48
52
  }
@@ -1 +1 @@
1
- {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}