@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.
- package/LICENSE +22 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.json +80 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.json +113 -0
- package/artifacts/AdminUpgradeabilityProxy.json +2 -2
- package/artifacts/contracts/proxy/AdminUpgradeabilityProxy.sol/AdminUpgradeabilityProxy.json +2 -2
- package/dist/ast-dereferencer.js +2 -2
- package/dist/ast-dereferencer.js.map +1 -1
- package/dist/beacon.d.ts +8 -0
- package/dist/beacon.d.ts.map +1 -0
- package/dist/beacon.js +25 -0
- package/dist/beacon.js.map +1 -0
- package/dist/deployment.js +18 -18
- package/dist/deployment.js.map +1 -1
- package/dist/deployment.test.js +39 -39
- package/dist/deployment.test.js.map +1 -1
- package/dist/eip-1967-type.d.ts +4 -0
- package/dist/eip-1967-type.d.ts.map +1 -0
- package/dist/eip-1967-type.js +37 -0
- package/dist/eip-1967-type.js.map +1 -0
- package/dist/eip-1967.d.ts +5 -0
- package/dist/eip-1967.d.ts.map +1 -1
- package/dist/eip-1967.js +22 -15
- package/dist/eip-1967.js.map +1 -1
- package/dist/impl-address.d.ts +19 -0
- package/dist/impl-address.d.ts.map +1 -0
- package/dist/impl-address.js +67 -0
- package/dist/impl-address.js.map +1 -0
- package/dist/impl-store.d.ts.map +1 -1
- package/dist/impl-store.js +8 -6
- package/dist/impl-store.js.map +1 -1
- package/dist/impl-store.test.js +18 -18
- package/dist/impl-store.test.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +23 -3
- package/dist/index.js.map +1 -1
- package/dist/levenshtein.test.js +14 -14
- package/dist/levenshtein.test.js.map +1 -1
- package/dist/link-refs.test.js +4 -4
- package/dist/link-refs.test.js.map +1 -1
- package/dist/manifest-storage-layout.js +8 -8
- package/dist/manifest-storage-layout.js.map +1 -1
- package/dist/manifest-storage-layout.test.js +16 -16
- package/dist/manifest-storage-layout.test.js.map +1 -1
- package/dist/manifest.d.ts +1 -1
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +6 -6
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.test.js +2 -2
- package/dist/manifest.test.js.map +1 -1
- package/dist/provider.d.ts +2 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +11 -1
- package/dist/provider.js.map +1 -1
- package/dist/provider.test.js +12 -12
- package/dist/provider.test.js.map +1 -1
- package/dist/proxy-kind.d.ts +12 -0
- package/dist/proxy-kind.d.ts.map +1 -0
- package/dist/proxy-kind.js +50 -0
- package/dist/proxy-kind.js.map +1 -0
- package/dist/scripts/migrate-oz-cli-project.js +1 -1
- package/dist/scripts/migrate-oz-cli-project.js.map +1 -1
- package/dist/scripts/migrate-oz-cli-project.test.js +9 -9
- package/dist/scripts/migrate-oz-cli-project.test.js.map +1 -1
- package/dist/src-decoder.test.js +2 -3
- package/dist/src-decoder.test.js.map +1 -1
- package/dist/standalone.d.ts +19 -0
- package/dist/standalone.d.ts.map +1 -0
- package/dist/standalone.js +24 -0
- package/dist/standalone.js.map +1 -0
- package/dist/standalone.test.d.ts +2 -0
- package/dist/standalone.test.d.ts.map +1 -0
- package/dist/standalone.test.js +33 -0
- package/dist/standalone.test.js.map +1 -0
- package/dist/storage/compare.js +7 -7
- package/dist/storage/compare.js.map +1 -1
- package/dist/storage/extract.js +9 -9
- package/dist/storage/extract.js.map +1 -1
- package/dist/storage/index.d.ts +7 -0
- package/dist/storage/index.d.ts.map +1 -1
- package/dist/storage/index.js +22 -23
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/layout.js +1 -1
- package/dist/storage/layout.js.map +1 -1
- package/dist/storage/report.d.ts +3 -2
- package/dist/storage/report.d.ts.map +1 -1
- package/dist/storage/report.js +17 -11
- package/dist/storage/report.js.map +1 -1
- package/dist/storage/report.test.js +5 -5
- package/dist/storage/report.test.js.map +1 -1
- package/dist/storage.test.js +32 -32
- package/dist/storage.test.js.map +1 -1
- package/dist/stub-provider.d.ts.map +1 -1
- package/dist/stub-provider.js +0 -1
- package/dist/stub-provider.js.map +1 -1
- package/dist/usage-error.d.ts +21 -0
- package/dist/usage-error.d.ts.map +1 -0
- package/dist/usage-error.js +51 -0
- package/dist/usage-error.js.map +1 -0
- package/dist/utils/address.d.ts +8 -0
- package/dist/utils/address.d.ts.map +1 -0
- package/dist/utils/address.js +20 -0
- package/dist/utils/address.js.map +1 -0
- package/dist/utils/debug.js +1 -1
- package/dist/utils/debug.js.map +1 -1
- package/dist/utils/deep-array.test.js +12 -12
- package/dist/utils/deep-array.test.js.map +1 -1
- package/dist/utils/function.js +5 -5
- package/dist/utils/function.js.map +1 -1
- package/dist/utils/function.test.js +4 -4
- package/dist/utils/function.test.js.map +1 -1
- package/dist/utils/is-nullish.test.js +6 -6
- package/dist/utils/is-nullish.test.js.map +1 -1
- package/dist/utils/itemize.js +1 -1
- package/dist/utils/itemize.js.map +1 -1
- package/dist/utils/log.d.ts +2 -0
- package/dist/utils/log.d.ts.map +1 -1
- package/dist/utils/log.js +22 -4
- package/dist/utils/log.js.map +1 -1
- package/dist/utils/make-non-enumerable.d.ts +1 -1
- package/dist/utils/make-non-enumerable.d.ts.map +1 -1
- package/dist/utils/make-non-enumerable.js +0 -1
- package/dist/utils/make-non-enumerable.js.map +1 -1
- package/dist/utils/parse-type-id.js +1 -1
- package/dist/utils/parse-type-id.js.map +1 -1
- package/dist/utils/parse-type-id.test.js +2 -2
- package/dist/utils/parse-type-id.test.js.map +1 -1
- package/dist/utils/type-id.js +1 -1
- package/dist/utils/type-id.js.map +1 -1
- package/dist/validate/error.d.ts.map +1 -1
- package/dist/validate/error.js +2 -67
- package/dist/validate/error.js.map +1 -1
- package/dist/validate/index.d.ts +4 -2
- package/dist/validate/index.d.ts.map +1 -1
- package/dist/validate/index.js +7 -2
- package/dist/validate/index.js.map +1 -1
- package/dist/validate/overrides.d.ts +1 -2
- package/dist/validate/overrides.d.ts.map +1 -1
- package/dist/validate/overrides.js +7 -18
- package/dist/validate/overrides.js.map +1 -1
- package/dist/validate/query.d.ts +3 -1
- package/dist/validate/query.d.ts.map +1 -1
- package/dist/validate/query.js +45 -19
- package/dist/validate/query.js.map +1 -1
- package/dist/validate/query.test.js +4 -4
- package/dist/validate/query.test.js.map +1 -1
- package/dist/validate/report.d.ts +8 -0
- package/dist/validate/report.d.ts.map +1 -0
- package/dist/validate/report.js +79 -0
- package/dist/validate/report.js.map +1 -0
- package/dist/validate/run.js +15 -15
- package/dist/validate/run.js.map +1 -1
- package/dist/validate.test.js +7 -6
- package/dist/validate.test.js.map +1 -1
- package/dist/version.d.ts +3 -3
- package/dist/version.d.ts.map +1 -1
- package/dist/version.js +14 -8
- package/dist/version.js.map +1 -1
- package/dist/version.test.js +11 -11
- package/dist/version.test.js.map +1 -1
- package/package.json +11 -6
- package/src/beacon.ts +20 -0
- package/src/eip-1967-type.ts +35 -0
- package/src/eip-1967.ts +16 -12
- package/src/impl-address.ts +76 -0
- package/src/impl-store.ts +2 -0
- package/src/index.ts +18 -1
- package/src/manifest.ts +2 -2
- package/src/provider.ts +16 -0
- package/src/proxy-kind.ts +59 -0
- package/src/src-decoder.test.ts +0 -2
- package/src/standalone.test.ts +40 -0
- package/src/standalone.ts +41 -0
- package/src/storage/index.ts +23 -20
- package/src/storage/report.ts +10 -5
- package/src/stub-provider.ts +0 -1
- package/src/usage-error.ts +68 -0
- package/src/utils/address.ts +16 -0
- package/src/utils/log.ts +23 -2
- package/src/utils/make-non-enumerable.ts +1 -2
- package/src/validate/error.ts +5 -69
- package/src/validate/index.ts +6 -1
- package/src/validate/overrides.ts +5 -17
- package/src/validate/query.ts +38 -9
- package/src/validate/report.ts +78 -0
- package/src/validate.test.ts +1 -0
- package/src/version.ts +14 -6
- package/CHANGELOG.md +0 -106
- package/dist/set-proxy-kind.d.ts +0 -5
- package/dist/set-proxy-kind.d.ts.map +0 -1
- package/dist/set-proxy-kind.js +0 -25
- package/dist/set-proxy-kind.js.map +0 -1
- package/src/set-proxy-kind.ts +0 -27
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { EthereumProvider } from './provider';
|
|
2
|
+
import { ValidationData, ValidationOptions } from './validate';
|
|
3
|
+
import { ProxyDeployment } from './manifest';
|
|
4
|
+
import { Version } from './version';
|
|
5
|
+
export declare function setProxyKind(provider: EthereumProvider, proxyAddress: string, opts: ValidationOptions): Promise<ProxyDeployment['kind']>;
|
|
6
|
+
/**
|
|
7
|
+
* Processes opts.kind when deploying the implementation for a UUPS or Transparent proxy.
|
|
8
|
+
*
|
|
9
|
+
* @throws {BeaconProxyUnsupportedError} If this function is called for a Beacon proxy.
|
|
10
|
+
*/
|
|
11
|
+
export declare function processProxyKind(provider: EthereumProvider, proxyAddress: string | undefined, opts: ValidationOptions, data: ValidationData, version: Version): Promise<void>;
|
|
12
|
+
//# sourceMappingURL=proxy-kind.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-kind.d.ts","sourceRoot":"","sources":["../src/proxy-kind.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAkB,cAAc,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAC/E,OAAO,EAAgC,eAAe,EAAE,MAAM,YAAY,CAAC;AAE3E,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAGpC,wBAAsB,YAAY,CAChC,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,MAAM,EACpB,IAAI,EAAE,iBAAiB,GACtB,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC,CAkBlC;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CACpC,QAAQ,EAAE,gBAAgB,EAC1B,YAAY,EAAE,MAAM,GAAG,SAAS,EAChC,IAAI,EAAE,iBAAiB,EACvB,IAAI,EAAE,cAAc,EACpB,OAAO,EAAE,OAAO,iBAiBjB"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.processProxyKind = exports.setProxyKind = void 0;
|
|
4
|
+
const validate_1 = require("./validate");
|
|
5
|
+
const manifest_1 = require("./manifest");
|
|
6
|
+
const eip_1967_type_1 = require("./eip-1967-type");
|
|
7
|
+
const usage_error_1 = require("./usage-error");
|
|
8
|
+
async function setProxyKind(provider, proxyAddress, opts) {
|
|
9
|
+
var _a;
|
|
10
|
+
const manifest = await manifest_1.Manifest.forNetwork(provider);
|
|
11
|
+
const manifestDeployment = await manifest.getProxyFromAddress(proxyAddress).catch(e => {
|
|
12
|
+
if (e instanceof manifest_1.DeploymentNotFound) {
|
|
13
|
+
return undefined;
|
|
14
|
+
}
|
|
15
|
+
else {
|
|
16
|
+
throw e;
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
if (opts.kind === undefined) {
|
|
20
|
+
opts.kind = (_a = manifestDeployment === null || manifestDeployment === void 0 ? void 0 : manifestDeployment.kind) !== null && _a !== void 0 ? _a : 'transparent';
|
|
21
|
+
}
|
|
22
|
+
else if (manifestDeployment && opts.kind !== manifestDeployment.kind) {
|
|
23
|
+
throw new Error(`Requested an upgrade of kind ${opts.kind} but proxy is ${manifestDeployment.kind}`);
|
|
24
|
+
}
|
|
25
|
+
return opts.kind;
|
|
26
|
+
}
|
|
27
|
+
exports.setProxyKind = setProxyKind;
|
|
28
|
+
/**
|
|
29
|
+
* Processes opts.kind when deploying the implementation for a UUPS or Transparent proxy.
|
|
30
|
+
*
|
|
31
|
+
* @throws {BeaconProxyUnsupportedError} If this function is called for a Beacon proxy.
|
|
32
|
+
*/
|
|
33
|
+
async function processProxyKind(provider, proxyAddress, opts, data, version) {
|
|
34
|
+
if (opts.kind === undefined) {
|
|
35
|
+
if (proxyAddress !== undefined && (await (0, eip_1967_type_1.isBeaconProxy)(provider, proxyAddress))) {
|
|
36
|
+
opts.kind = 'beacon';
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
opts.kind = (0, validate_1.inferProxyKind)(data, version);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (proxyAddress !== undefined) {
|
|
43
|
+
await setProxyKind(provider, proxyAddress, opts);
|
|
44
|
+
}
|
|
45
|
+
if (opts.kind === 'beacon') {
|
|
46
|
+
throw new usage_error_1.BeaconProxyUnsupportedError();
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
exports.processProxyKind = processProxyKind;
|
|
50
|
+
//# sourceMappingURL=proxy-kind.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy-kind.js","sourceRoot":"","sources":["../src/proxy-kind.ts"],"names":[],"mappings":";;;AACA,yCAA+E;AAC/E,yCAA2E;AAC3E,mDAAgD;AAEhD,+CAA4D;AAErD,KAAK,UAAU,YAAY,CAChC,QAA0B,EAC1B,YAAoB,EACpB,IAAuB;;IAEvB,MAAM,QAAQ,GAAG,MAAM,mBAAQ,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAErD,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;QACpF,IAAI,CAAC,YAAY,6BAAkB,EAAE;YACnC,OAAO,SAAS,CAAC;SAClB;aAAM;YACL,MAAM,CAAC,CAAC;SACT;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QAC3B,IAAI,CAAC,IAAI,GAAG,MAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,mCAAI,aAAa,CAAC;KACvD;SAAM,IAAI,kBAAkB,IAAI,IAAI,CAAC,IAAI,KAAK,kBAAkB,CAAC,IAAI,EAAE;QACtE,MAAM,IAAI,KAAK,CAAC,gCAAgC,IAAI,CAAC,IAAI,iBAAiB,kBAAkB,CAAC,IAAI,EAAE,CAAC,CAAC;KACtG;IAED,OAAO,IAAI,CAAC,IAAI,CAAC;AACnB,CAAC;AAtBD,oCAsBC;AAED;;;;GAIG;AACI,KAAK,UAAU,gBAAgB,CACpC,QAA0B,EAC1B,YAAgC,EAChC,IAAuB,EACvB,IAAoB,EACpB,OAAgB;IAEhB,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QAC3B,IAAI,YAAY,KAAK,SAAS,IAAI,CAAC,MAAM,IAAA,6BAAa,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC,EAAE;YAC/E,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC;SACtB;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,IAAA,yBAAc,EAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3C;KACF;IAED,IAAI,YAAY,KAAK,SAAS,EAAE;QAC9B,MAAM,YAAY,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;KAClD;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE;QAC1B,MAAM,IAAI,yCAA2B,EAAE,CAAC;KACzC;AACH,CAAC;AAtBD,4CAsBC"}
|
|
@@ -65,7 +65,7 @@ function migrateManifestsData(manifestsData) {
|
|
|
65
65
|
if (currentVersion === undefined) {
|
|
66
66
|
throw new Error('Migration failed: manifest version too old. Update your OpenZeppelin CLI version.');
|
|
67
67
|
}
|
|
68
|
-
if (compare_versions_1.compare(currentVersion, '3.0', '>=')) {
|
|
68
|
+
if ((0, compare_versions_1.compare)(currentVersion, '3.0', '>=')) {
|
|
69
69
|
// no need to migrate
|
|
70
70
|
continue;
|
|
71
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-oz-cli-project.js","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"migrate-oz-cli-project.js","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.ts"],"names":[],"mappings":"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"}
|
|
@@ -23,27 +23,27 @@ let projectData;
|
|
|
23
23
|
ava_1.default.before(async () => {
|
|
24
24
|
migratableData = JSON.parse(await fs_1.promises.readFile(path_1.default.join(BASE_PATH, 'migratable-manifest.test.json'), 'utf8'));
|
|
25
25
|
projectData = JSON.parse(await fs_1.promises.readFile(path_1.default.join(BASE_PATH, 'project-file.test.json'), 'utf8'));
|
|
26
|
-
migrationOutput = migrate_oz_cli_project_1.migrateManifestsData({ rinkeby: migratableData });
|
|
26
|
+
migrationOutput = (0, migrate_oz_cli_project_1.migrateManifestsData)({ rinkeby: migratableData });
|
|
27
27
|
process.chdir(await fs_1.promises.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'migration-test-')));
|
|
28
28
|
await fs_1.promises.mkdir(OPENZEPPELIN_FOLDER);
|
|
29
29
|
await fs_1.promises.writeFile(PROJECT_FILE, JSON.stringify(projectData, null, 2));
|
|
30
30
|
await fs_1.promises.writeFile(NETWORK_FILE, JSON.stringify(migratableData, null, 2));
|
|
31
|
-
await migrate_oz_cli_project_1.migrateLegacyProject();
|
|
31
|
+
await (0, migrate_oz_cli_project_1.migrateLegacyProject)();
|
|
32
32
|
});
|
|
33
33
|
ava_1.default.after(async () => {
|
|
34
34
|
await rimraf(process.cwd());
|
|
35
35
|
});
|
|
36
|
-
ava_1.default('transforms manifest data', async (t) => {
|
|
36
|
+
(0, ava_1.default)('transforms manifest data', async (t) => {
|
|
37
37
|
t.snapshot(migrationOutput.newManifestsData);
|
|
38
38
|
});
|
|
39
|
-
ava_1.default('produces network export data', async (t) => {
|
|
39
|
+
(0, ava_1.default)('produces network export data', async (t) => {
|
|
40
40
|
t.snapshot(migrationOutput.networksExportData);
|
|
41
41
|
});
|
|
42
|
-
ava_1.default('deletes project file', async (t) => {
|
|
42
|
+
(0, ava_1.default)('deletes project file', async (t) => {
|
|
43
43
|
const error = await t.throwsAsync(() => fs_1.promises.access(PROJECT_FILE));
|
|
44
44
|
t.is(error.message, `ENOENT: no such file or directory, access '${PROJECT_FILE}'`);
|
|
45
45
|
});
|
|
46
|
-
ava_1.default('export file contains networks and compiler data', async (t) => {
|
|
46
|
+
(0, ava_1.default)('export file contains networks and compiler data', async (t) => {
|
|
47
47
|
const actual = JSON.parse(await fs_1.promises.readFile(EXPORT_FILE, 'utf8'));
|
|
48
48
|
const expected = {
|
|
49
49
|
networks: migrationOutput.networksExportData,
|
|
@@ -51,10 +51,10 @@ ava_1.default('export file contains networks and compiler data', async (t) => {
|
|
|
51
51
|
};
|
|
52
52
|
t.deepEqual(actual, expected);
|
|
53
53
|
});
|
|
54
|
-
ava_1.default('zosversion', t => {
|
|
54
|
+
(0, ava_1.default)('zosversion', t => {
|
|
55
55
|
const migratableDataZosVersion = { zosversion: '2.2', ...migratableData };
|
|
56
56
|
delete migratableDataZosVersion.manifestVersion;
|
|
57
|
-
const output = migrate_oz_cli_project_1.migrateManifestsData({ rinkeby: migratableDataZosVersion });
|
|
58
|
-
t.true(compare_versions_1.compare(output.newManifestsData.rinkeby.manifestVersion, '3.0', '>='));
|
|
57
|
+
const output = (0, migrate_oz_cli_project_1.migrateManifestsData)({ rinkeby: migratableDataZosVersion });
|
|
58
|
+
t.true((0, compare_versions_1.compare)(output.newManifestsData.rinkeby.manifestVersion, '3.0', '>='));
|
|
59
59
|
});
|
|
60
60
|
//# sourceMappingURL=migrate-oz-cli-project.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"migrate-oz-cli-project.test.js","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.test.ts"],"names":[],"mappings":";;;;;AAAA,4CAAoB;AACpB,8CAAuB;AACvB,gDAAwB;AACxB,gDAAwB;AACxB,oDAAiC;AACjC,2BAAoC;AACpC,uDAA8D;AAC9D,qEAMkC;AAElC,MAAM,MAAM,GAAG,cAAI,CAAC,SAAS,CAAC,gBAAW,CAAC,CAAC;AAC3C,MAAM,SAAS,GAAG,aAAa,CAAC;AAChC,MAAM,mBAAmB,GAAG,eAAe,CAAC;AAC5C,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AACpE,MAAM,WAAW,GAAG,8BAA8B,CAAC;AACnD,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AAEpE,IAAI,cAA+B,CAAC;AACpC,IAAI,eAAgC,CAAC;AACrC,IAAI,WAA4B,CAAC;AAEjC,aAAI,CAAC,MAAM,CAAC,KAAK,IAAI,EAAE;IACrB,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,+BAA+B,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IAC9G,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,aAAE,CAAC,QAAQ,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,wBAAwB,CAAC,EAAE,MAAM,CAAC,CAAC,CAAC;IACpG,eAAe,GAAG,6CAAoB,
|
|
1
|
+
{"version":3,"file":"migrate-oz-cli-project.test.js","sourceRoot":"","sources":["../../src/scripts/migrate-oz-cli-project.test.ts"],"names":[],"mappings":"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"}
|
package/dist/src-decoder.test.js
CHANGED
|
@@ -1,12 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
4
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
5
4
|
};
|
|
6
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
6
|
const ava_1 = __importDefault(require("ava"));
|
|
8
7
|
const src_decoder_1 = require("./src-decoder");
|
|
9
|
-
ava_1.default('solcInputOutputDecoder', t => {
|
|
8
|
+
(0, ava_1.default)('solcInputOutputDecoder', t => {
|
|
10
9
|
const solcInput = {
|
|
11
10
|
sources: {
|
|
12
11
|
'a.sol': { content: '\n\n' },
|
|
@@ -20,7 +19,7 @@ ava_1.default('solcInputOutputDecoder', t => {
|
|
|
20
19
|
'b.sol': { id: 1, ast: undefined },
|
|
21
20
|
},
|
|
22
21
|
};
|
|
23
|
-
const decodeSrc = src_decoder_1.solcInputOutputDecoder(solcInput, solcOutput);
|
|
22
|
+
const decodeSrc = (0, src_decoder_1.solcInputOutputDecoder)(solcInput, solcOutput);
|
|
24
23
|
t.is(decodeSrc({ src: '0:0:0' }), 'a.sol:1');
|
|
25
24
|
t.is(decodeSrc({ src: '1:0:0' }), 'a.sol:2');
|
|
26
25
|
t.is(decodeSrc({ src: '1:0:1' }), 'b.sol:2');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"src-decoder.test.js","sourceRoot":"","sources":["../src/src-decoder.test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"src-decoder.test.js","sourceRoot":"","sources":["../src/src-decoder.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AAGvB,+CAAuD;AAEvD,IAAA,aAAI,EAAC,wBAAwB,EAAE,CAAC,CAAC,EAAE;IACjC,MAAM,SAAS,GAAc;QAC3B,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;YAC5B,OAAO,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE;SAC7B;KACF,CAAC;IAEF,MAAM,UAAU,GAAe;QAC7B,SAAS,EAAE,EAAE;QACb,OAAO,EAAE;YACP,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAgB,EAAE;YACzC,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,GAAG,EAAE,SAAgB,EAAE;SAC1C;KACF,CAAC;IAEF,MAAM,SAAS,GAAG,IAAA,oCAAsB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;IAEhE,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAE,SAAS,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { SolcOutput, SolcInput } from './solc-api';
|
|
2
|
+
import { UpgradeableContractErrorReport, ValidationOptions } from './validate';
|
|
3
|
+
import { StorageLayout } from './storage';
|
|
4
|
+
import { Version } from './version';
|
|
5
|
+
import { ValidationError } from './validate/run';
|
|
6
|
+
export interface Report {
|
|
7
|
+
ok: boolean;
|
|
8
|
+
explain(color?: boolean): string;
|
|
9
|
+
}
|
|
10
|
+
export declare class UpgradeableContract {
|
|
11
|
+
readonly name: string;
|
|
12
|
+
readonly version: Version;
|
|
13
|
+
readonly errors: ValidationError[];
|
|
14
|
+
readonly layout: StorageLayout;
|
|
15
|
+
constructor(name: string, solcInput: SolcInput, solcOutput: SolcOutput, opts?: ValidationOptions);
|
|
16
|
+
getErrorReport(): UpgradeableContractErrorReport;
|
|
17
|
+
getStorageUpgradeReport(newVersion: UpgradeableContract, opts?: ValidationOptions): import("./storage/report").LayoutCompatibilityReport;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=standalone.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standalone.d.ts","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAEnD,OAAO,EAIL,8BAA8B,EAE9B,iBAAiB,EAElB,MAAM,YAAY,CAAC;AACpB,OAAO,EAA2B,aAAa,EAAE,MAAM,WAAW,CAAC;AACnE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEjD,MAAM,WAAW,MAAM;IACrB,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;CAClC;AAED,qBAAa,mBAAmB;IAKlB,QAAQ,CAAC,IAAI,EAAE,MAAM;IAJjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,eAAe,EAAE,CAAC;IACnC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;gBAEV,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,UAAU,EAAE,IAAI,GAAE,iBAAsB;IAQ7G,cAAc;IAId,uBAAuB,CAAC,UAAU,EAAE,mBAAmB,EAAE,IAAI,GAAE,iBAAsB;CAGtF"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.UpgradeableContract = void 0;
|
|
4
|
+
const src_decoder_1 = require("./src-decoder");
|
|
5
|
+
const validate_1 = require("./validate");
|
|
6
|
+
const storage_1 = require("./storage");
|
|
7
|
+
class UpgradeableContract {
|
|
8
|
+
constructor(name, solcInput, solcOutput, opts = {}) {
|
|
9
|
+
this.name = name;
|
|
10
|
+
const decodeSrc = (0, src_decoder_1.solcInputOutputDecoder)(solcInput, solcOutput);
|
|
11
|
+
const validation = (0, validate_1.validate)(solcOutput, decodeSrc);
|
|
12
|
+
this.version = (0, validate_1.getContractVersion)(validation, name);
|
|
13
|
+
this.errors = (0, validate_1.getErrors)(validation, this.version, opts);
|
|
14
|
+
this.layout = (0, validate_1.getStorageLayout)(validation, this.version);
|
|
15
|
+
}
|
|
16
|
+
getErrorReport() {
|
|
17
|
+
return new validate_1.UpgradeableContractErrorReport(this.errors);
|
|
18
|
+
}
|
|
19
|
+
getStorageUpgradeReport(newVersion, opts = {}) {
|
|
20
|
+
return (0, storage_1.getStorageUpgradeReport)(this.layout, newVersion.layout, (0, validate_1.withValidationDefaults)(opts));
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
exports.UpgradeableContract = UpgradeableContract;
|
|
24
|
+
//# sourceMappingURL=standalone.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standalone.js","sourceRoot":"","sources":["../src/standalone.ts"],"names":[],"mappings":";;;AACA,+CAAuD;AACvD,yCAQoB;AACpB,uCAAmE;AASnE,MAAa,mBAAmB;IAK9B,YAAqB,IAAY,EAAE,SAAoB,EAAE,UAAsB,EAAE,OAA0B,EAAE;QAAxF,SAAI,GAAJ,IAAI,CAAQ;QAC/B,MAAM,SAAS,GAAG,IAAA,oCAAsB,EAAC,SAAS,EAAE,UAAU,CAAC,CAAC;QAChE,MAAM,UAAU,GAAG,IAAA,mBAAQ,EAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QACnD,IAAI,CAAC,OAAO,GAAG,IAAA,6BAAkB,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAA,oBAAS,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;QACxD,IAAI,CAAC,MAAM,GAAG,IAAA,2BAAgB,EAAC,UAAU,EAAE,IAAI,CAAC,OAAO,CAAC,CAAC;IAC3D,CAAC;IAED,cAAc;QACZ,OAAO,IAAI,yCAA8B,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACzD,CAAC;IAED,uBAAuB,CAAC,UAA+B,EAAE,OAA0B,EAAE;QACnF,OAAO,IAAA,iCAAuB,EAAC,IAAI,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,IAAA,iCAAsB,EAAC,IAAI,CAAC,CAAC,CAAC;IAC/F,CAAC;CACF;AApBD,kDAoBC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standalone.test.d.ts","sourceRoot":"","sources":["../src/standalone.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ava_1 = __importDefault(require("ava"));
|
|
7
|
+
const hardhat_1 = require("hardhat");
|
|
8
|
+
const standalone_1 = require("./standalone");
|
|
9
|
+
const test = ava_1.default;
|
|
10
|
+
test.before(async (t) => {
|
|
11
|
+
const buildInfo = await hardhat_1.artifacts.getBuildInfo('contracts/test/Standalone.sol:StandaloneV1');
|
|
12
|
+
if (buildInfo === undefined) {
|
|
13
|
+
throw new Error('Build info not found');
|
|
14
|
+
}
|
|
15
|
+
t.context.solcInput = buildInfo.input;
|
|
16
|
+
t.context.solcOutput = buildInfo.output;
|
|
17
|
+
});
|
|
18
|
+
test('reports unsafe operation', t => {
|
|
19
|
+
const impl = new standalone_1.UpgradeableContract('StandaloneV1', t.context.solcInput, t.context.solcOutput);
|
|
20
|
+
const report = impl.getErrorReport();
|
|
21
|
+
t.false(report.ok);
|
|
22
|
+
t.true(report.errors[0].kind === 'delegatecall');
|
|
23
|
+
});
|
|
24
|
+
test('reports storage upgrade errors', t => {
|
|
25
|
+
const v1 = new standalone_1.UpgradeableContract('StandaloneV1', t.context.solcInput, t.context.solcOutput);
|
|
26
|
+
const v2Good = new standalone_1.UpgradeableContract('StandaloneV2Good', t.context.solcInput, t.context.solcOutput);
|
|
27
|
+
const goodReport = v1.getStorageUpgradeReport(v2Good);
|
|
28
|
+
t.true(goodReport.ok);
|
|
29
|
+
const v2Bad = new standalone_1.UpgradeableContract('StandaloneV2Bad', t.context.solcInput, t.context.solcOutput);
|
|
30
|
+
const badReport = v1.getStorageUpgradeReport(v2Bad);
|
|
31
|
+
t.false(badReport.ok);
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=standalone.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"standalone.test.js","sourceRoot":"","sources":["../src/standalone.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAA2C;AAC3C,qCAAoC;AAGpC,6CAAmD;AAOnD,MAAM,IAAI,GAAG,aAA+B,CAAC;AAE7C,IAAI,CAAC,MAAM,CAAC,KAAK,EAAC,CAAC,EAAC,EAAE;IACpB,MAAM,SAAS,GAAG,MAAM,mBAAS,CAAC,YAAY,CAAC,4CAA4C,CAAC,CAAC;IAC7F,IAAI,SAAS,KAAK,SAAS,EAAE;QAC3B,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;KACzC;IACD,CAAC,CAAC,OAAO,CAAC,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;AAC1C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,0BAA0B,EAAE,CAAC,CAAC,EAAE;IACnC,MAAM,IAAI,GAAG,IAAI,gCAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAChG,MAAM,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACrC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IACnB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,gCAAgC,EAAE,CAAC,CAAC,EAAE;IACzC,MAAM,EAAE,GAAG,IAAI,gCAAmB,CAAC,cAAc,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IAE9F,MAAM,MAAM,GAAG,IAAI,gCAAmB,CAAC,kBAAkB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACtG,MAAM,UAAU,GAAG,EAAE,CAAC,uBAAuB,CAAC,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;IAEtB,MAAM,KAAK,GAAG,IAAI,gCAAmB,CAAC,iBAAiB,EAAE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;IACpG,MAAM,SAAS,GAAG,EAAE,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC;IACpD,CAAC,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC"}
|
package/dist/storage/compare.js
CHANGED
|
@@ -20,7 +20,7 @@ class StorageLayoutComparator {
|
|
|
20
20
|
return new report_1.LayoutCompatibilityReport(this.layoutLevenshtein(original, updated, { allowAppend: true }));
|
|
21
21
|
}
|
|
22
22
|
layoutLevenshtein(original, updated, { allowAppend }) {
|
|
23
|
-
const ops = levenshtein_1.levenshtein(original, updated, (a, b) => this.getFieldChange(a, b));
|
|
23
|
+
const ops = (0, levenshtein_1.levenshtein)(original, updated, (a, b) => this.getFieldChange(a, b));
|
|
24
24
|
if (allowAppend) {
|
|
25
25
|
return ops.filter(o => o.kind !== 'append');
|
|
26
26
|
}
|
|
@@ -66,7 +66,7 @@ class StorageLayoutComparator {
|
|
|
66
66
|
}
|
|
67
67
|
if (original.args === undefined || updated.args === undefined) {
|
|
68
68
|
// both should be undefined at the same time
|
|
69
|
-
assert_1.assert(original.args === updated.args);
|
|
69
|
+
(0, assert_1.assert)(original.args === updated.args);
|
|
70
70
|
return undefined;
|
|
71
71
|
}
|
|
72
72
|
switch (original.head) {
|
|
@@ -85,7 +85,7 @@ class StorageLayoutComparator {
|
|
|
85
85
|
return { kind: 'missing members', original, updated };
|
|
86
86
|
}
|
|
87
87
|
}
|
|
88
|
-
assert_1.assert(layout_1.isStructMembers(originalMembers) && layout_1.isStructMembers(updatedMembers));
|
|
88
|
+
(0, assert_1.assert)((0, layout_1.isStructMembers)(originalMembers) && (0, layout_1.isStructMembers)(updatedMembers));
|
|
89
89
|
const ops = this.layoutLevenshtein(originalMembers, updatedMembers, { allowAppend });
|
|
90
90
|
if (ops.length > 0) {
|
|
91
91
|
return { kind: 'struct members', ops, original, updated, allowAppend };
|
|
@@ -106,12 +106,12 @@ class StorageLayoutComparator {
|
|
|
106
106
|
return { kind: 'missing members', original, updated };
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
|
-
assert_1.assert(layout_1.isEnumMembers(originalMembers) && layout_1.isEnumMembers(updatedMembers));
|
|
109
|
+
(0, assert_1.assert)((0, layout_1.isEnumMembers)(originalMembers) && (0, layout_1.isEnumMembers)(updatedMembers));
|
|
110
110
|
if (enumSize(originalMembers.length) !== enumSize(updatedMembers.length)) {
|
|
111
111
|
return { kind: 'enum resize', original, updated };
|
|
112
112
|
}
|
|
113
113
|
else {
|
|
114
|
-
const ops = levenshtein_1.levenshtein(originalMembers, updatedMembers, (a, b) => a === b ? undefined : { kind: 'replace', original: a, updated: b }).filter(o => o.kind !== 'append');
|
|
114
|
+
const ops = (0, levenshtein_1.levenshtein)(originalMembers, updatedMembers, (a, b) => a === b ? undefined : { kind: 'replace', original: a, updated: b }).filter(o => o.kind !== 'append');
|
|
115
115
|
if (ops.length > 0) {
|
|
116
116
|
return { kind: 'enum members', ops, original, updated };
|
|
117
117
|
}
|
|
@@ -124,7 +124,7 @@ class StorageLayoutComparator {
|
|
|
124
124
|
const [originalKey, originalValue] = original.args;
|
|
125
125
|
const [updatedKey, updatedValue] = updated.args;
|
|
126
126
|
// validate an invariant we assume from solidity: key types are always simple value types
|
|
127
|
-
assert_1.assert(is_value_type_1.isValueType(originalKey) && is_value_type_1.isValueType(updatedKey));
|
|
127
|
+
(0, assert_1.assert)((0, is_value_type_1.isValueType)(originalKey) && (0, is_value_type_1.isValueType)(updatedKey));
|
|
128
128
|
// network files migrated from the OZ CLI have an unknown key type
|
|
129
129
|
// we allow it to match with any other key type, carrying over the semantics of OZ CLI
|
|
130
130
|
const keyChange = originalKey.head === 'unknown'
|
|
@@ -147,7 +147,7 @@ class StorageLayoutComparator {
|
|
|
147
147
|
case 't_array': {
|
|
148
148
|
const originalLength = (_b = (_a = original.tail) === null || _a === void 0 ? void 0 : _a.match(/^(\d+|dyn)/)) === null || _b === void 0 ? void 0 : _b[0];
|
|
149
149
|
const updatedLength = (_d = (_c = updated.tail) === null || _c === void 0 ? void 0 : _c.match(/^(\d+|dyn)/)) === null || _d === void 0 ? void 0 : _d[0];
|
|
150
|
-
assert_1.assert(originalLength !== undefined && updatedLength !== undefined);
|
|
150
|
+
(0, assert_1.assert)(originalLength !== undefined && updatedLength !== undefined);
|
|
151
151
|
if (originalLength === 'dyn' || updatedLength === 'dyn') {
|
|
152
152
|
if (originalLength !== updatedLength) {
|
|
153
153
|
return { kind: 'array dynamic', original, updated };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/storage/compare.ts"],"names":[],"mappings":";;;AAAA,gDAAwD;AAExD,oCAAyC;AACzC,qCAAyF;AACzF,qCAAqD;AACrD,4CAAyC;AACzC,0DAAqD;AA+CrD,MAAa,uBAAuB;IAOlC,YAAqB,yBAAyB,KAAK,EAAW,qBAAqB,KAAK;QAAnE,2BAAsB,GAAtB,sBAAsB,CAAQ;QAAW,uBAAkB,GAAlB,kBAAkB,CAAQ;QANxF,mCAA8B,GAAG,KAAK,CAAC;QAEvC,wDAAwD;QACxD,UAAK,GAAG,IAAI,GAAG,EAAU,CAAC;QAC1B,UAAK,GAAG,IAAI,GAAG,EAAkC,CAAC;IAEyC,CAAC;IAE5F,cAAc,CAAC,QAAuB,EAAE,OAAsB;QAC5D,OAAO,IAAI,kCAAyB,CAAC,IAAI,CAAC,iBAAiB,CAAC,QAAQ,EAAE,OAAO,EAAE,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IACzG,CAAC;IAEO,iBAAiB,CACvB,QAAa,EACb,OAAY,EACZ,EAAE,WAAW,EAA4B;QAEzC,MAAM,GAAG,GAAG,yBAAW,
|
|
1
|
+
{"version":3,"file":"compare.js","sourceRoot":"","sources":["../../src/storage/compare.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/extract.js
CHANGED
|
@@ -17,23 +17,23 @@ function extractStorageLayout(contractDef, decodeSrc, deref) {
|
|
|
17
17
|
// Note: A UserDefinedTypeName can also refer to a ContractDefinition but we won't care about those.
|
|
18
18
|
const derefUserDefinedType = deref(['StructDefinition', 'EnumDefinition']);
|
|
19
19
|
for (const varDecl of contractDef.nodes) {
|
|
20
|
-
if (utils_1.isNodeType('VariableDeclaration', varDecl)) {
|
|
20
|
+
if ((0, utils_1.isNodeType)('VariableDeclaration', varDecl)) {
|
|
21
21
|
if (!varDecl.constant && varDecl.mutability !== 'immutable') {
|
|
22
|
-
const type = type_id_1.normalizeTypeIdentifier(typeDescriptions(varDecl).typeIdentifier);
|
|
22
|
+
const type = (0, type_id_1.normalizeTypeIdentifier)(typeDescriptions(varDecl).typeIdentifier);
|
|
23
23
|
layout.storage.push({
|
|
24
24
|
contract: contractDef.name,
|
|
25
25
|
label: varDecl.name,
|
|
26
26
|
type,
|
|
27
27
|
src: decodeSrc(varDecl),
|
|
28
28
|
});
|
|
29
|
-
assert_1.default(varDecl.typeName != null);
|
|
29
|
+
(0, assert_1.default)(varDecl.typeName != null);
|
|
30
30
|
// We will recursively look for all types involved in this variable declaration in order to store their type
|
|
31
31
|
// information. We iterate over a Map that is indexed by typeIdentifier to ensure we visit each type only once.
|
|
32
32
|
// Note that there can be recursive types.
|
|
33
33
|
const typeNames = new Map([...findTypeNames(varDecl.typeName)].map(n => [typeDescriptions(n).typeIdentifier, n]));
|
|
34
34
|
for (const typeName of typeNames.values()) {
|
|
35
35
|
const { typeIdentifier, typeString: label } = typeDescriptions(typeName);
|
|
36
|
-
const type = type_id_1.normalizeTypeIdentifier(typeIdentifier);
|
|
36
|
+
const type = (0, type_id_1.normalizeTypeIdentifier)(typeIdentifier);
|
|
37
37
|
if (type in layout.types) {
|
|
38
38
|
continue;
|
|
39
39
|
}
|
|
@@ -57,7 +57,7 @@ function extractStorageLayout(contractDef, decodeSrc, deref) {
|
|
|
57
57
|
return layout;
|
|
58
58
|
}
|
|
59
59
|
exports.extractStorageLayout = extractStorageLayout;
|
|
60
|
-
const findTypeNames = utils_1.findAll([
|
|
60
|
+
const findTypeNames = (0, utils_1.findAll)([
|
|
61
61
|
'ArrayTypeName',
|
|
62
62
|
'ElementaryTypeName',
|
|
63
63
|
'FunctionTypeName',
|
|
@@ -65,17 +65,17 @@ const findTypeNames = utils_1.findAll([
|
|
|
65
65
|
'UserDefinedTypeName',
|
|
66
66
|
]);
|
|
67
67
|
function typeDescriptions(x) {
|
|
68
|
-
assert_1.default(typeof x.typeDescriptions.typeIdentifier === 'string');
|
|
69
|
-
assert_1.default(typeof x.typeDescriptions.typeString === 'string');
|
|
68
|
+
(0, assert_1.default)(typeof x.typeDescriptions.typeIdentifier === 'string');
|
|
69
|
+
(0, assert_1.default)(typeof x.typeDescriptions.typeString === 'string');
|
|
70
70
|
return x.typeDescriptions;
|
|
71
71
|
}
|
|
72
72
|
function getTypeMembers(typeDef) {
|
|
73
73
|
if (typeDef.nodeType === 'StructDefinition') {
|
|
74
74
|
return typeDef.members.map(m => {
|
|
75
|
-
assert_1.default(typeof m.typeDescriptions.typeIdentifier === 'string');
|
|
75
|
+
(0, assert_1.default)(typeof m.typeDescriptions.typeIdentifier === 'string');
|
|
76
76
|
return {
|
|
77
77
|
label: m.name,
|
|
78
|
-
type: type_id_1.normalizeTypeIdentifier(m.typeDescriptions.typeIdentifier),
|
|
78
|
+
type: (0, type_id_1.normalizeTypeIdentifier)(m.typeDescriptions.typeIdentifier),
|
|
79
79
|
};
|
|
80
80
|
});
|
|
81
81
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/storage/extract.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,8CAAyD;AAGzD,8CAA2D;AAI3D,MAAM,oBAAoB,GAAG,KAAK,CAAC;AAEnC,SAAgB,sBAAsB,CAAC,MAAqB;IAC1D,OAAO,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,aAAa,MAAK,oBAAoB,CAAC;AACxD,CAAC;AAFD,wDAEC;AAED,SAAgB,oBAAoB,CAClC,WAA+B,EAC/B,SAAqB,EACrB,KAAsB;IAEtB,MAAM,MAAM,GAAkB,EAAE,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC;IAE9F,oGAAoG;IACpG,MAAM,oBAAoB,GAAG,KAAK,CAAC,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAE3E,KAAK,MAAM,OAAO,IAAI,WAAW,CAAC,KAAK,EAAE;QACvC,IAAI,kBAAU,
|
|
1
|
+
{"version":3,"file":"extract.js","sourceRoot":"","sources":["../../src/storage/extract.ts"],"names":[],"mappings":"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"}
|
package/dist/storage/index.d.ts
CHANGED
|
@@ -1,8 +1,15 @@
|
|
|
1
1
|
export * from './compat';
|
|
2
|
+
import { UpgradesError } from '../error';
|
|
2
3
|
import { StorageLayout } from './layout';
|
|
3
4
|
import { StorageOperation, StorageItem } from './compare';
|
|
5
|
+
import { LayoutCompatibilityReport } from './report';
|
|
4
6
|
import { ValidationOptions } from '../validate/overrides';
|
|
5
7
|
export declare function assertStorageUpgradeSafe(original: StorageLayout, updated: StorageLayout, unsafeAllowCustomTypes: boolean): void;
|
|
6
8
|
export declare function assertStorageUpgradeSafe(original: StorageLayout, updated: StorageLayout, opts: Required<ValidationOptions>): void;
|
|
9
|
+
export declare function getStorageUpgradeReport(original: StorageLayout, updated: StorageLayout, opts: Required<ValidationOptions>): LayoutCompatibilityReport;
|
|
10
|
+
export declare class StorageUpgradeErrors extends UpgradesError {
|
|
11
|
+
readonly report: LayoutCompatibilityReport;
|
|
12
|
+
constructor(report: LayoutCompatibilityReport);
|
|
13
|
+
}
|
|
7
14
|
export declare function getStorageUpgradeErrors(original: StorageLayout, updated: StorageLayout, opts?: ValidationOptions): StorageOperation<StorageItem>[];
|
|
8
15
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/storage/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AAEzB,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,aAAa,EAAqB,MAAM,UAAU,CAAC;AAC5D,OAAO,EAAE,gBAAgB,EAAE,WAAW,EAA2B,MAAM,WAAW,CAAC;AACnF,OAAO,EAAE,yBAAyB,EAAE,MAAM,UAAU,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAA0B,MAAM,uBAAuB,CAAC;AAGlF,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,sBAAsB,EAAE,OAAO,GAC9B,IAAI,CAAC;AAER,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAChC,IAAI,CAAC;AAmBR,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,IAAI,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GAChC,yBAAyB,CAgB3B;AAED,qBAAa,oBAAqB,SAAQ,aAAa;IACzC,QAAQ,CAAC,MAAM,EAAE,yBAAyB;gBAAjC,MAAM,EAAE,yBAAyB;CAGvD;AAGD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,aAAa,EACtB,IAAI,GAAE,iBAAsB,GAC3B,gBAAgB,CAAC,WAAW,CAAC,EAAE,CAWjC"}
|
package/dist/storage/index.js
CHANGED
|
@@ -9,12 +9,8 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
9
9
|
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
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
13
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
14
|
-
};
|
|
15
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
-
exports.getStorageUpgradeErrors = exports.assertStorageUpgradeSafe = void 0;
|
|
17
|
-
const chalk_1 = __importDefault(require("chalk"));
|
|
13
|
+
exports.getStorageUpgradeErrors = exports.StorageUpgradeErrors = exports.getStorageUpgradeReport = exports.assertStorageUpgradeSafe = void 0;
|
|
18
14
|
__exportStar(require("./compat"), exports);
|
|
19
15
|
const error_1 = require("../error");
|
|
20
16
|
const layout_1 = require("./layout");
|
|
@@ -24,39 +20,42 @@ const log_1 = require("../utils/log");
|
|
|
24
20
|
function assertStorageUpgradeSafe(original, updated, opts = false) {
|
|
25
21
|
if (typeof opts === 'boolean') {
|
|
26
22
|
const unsafeAllowCustomTypes = opts;
|
|
27
|
-
opts = overrides_1.withValidationDefaults({ unsafeAllowCustomTypes });
|
|
28
|
-
}
|
|
29
|
-
const originalDetailed = layout_1.getDetailedLayout(original);
|
|
30
|
-
const updatedDetailed = layout_1.getDetailedLayout(updated);
|
|
31
|
-
const comparator = new compare_1.StorageLayoutComparator(opts.unsafeAllowCustomTypes, opts.unsafeAllowRenames);
|
|
32
|
-
const report = comparator.compareLayouts(originalDetailed, updatedDetailed);
|
|
33
|
-
if (!overrides_1.isSilencingWarnings()) {
|
|
34
|
-
if (comparator.hasAllowedUncheckedCustomTypes) {
|
|
35
|
-
log_1.logWarning(`Potentially unsafe deployment`, [
|
|
36
|
-
`You are using \`unsafeAllowCustomTypes\` to force approve structs or enums with missing data.`,
|
|
37
|
-
`Make sure you have manually checked the storage layout for incompatibilities.`,
|
|
38
|
-
]);
|
|
39
|
-
}
|
|
40
|
-
else if (opts.unsafeAllowCustomTypes) {
|
|
41
|
-
console.error(chalk_1.default.yellow.bold('Note:') +
|
|
42
|
-
` \`unsafeAllowCustomTypes\` is no longer necessary. Structs are enums are automatically checked.\n`);
|
|
43
|
-
}
|
|
23
|
+
opts = (0, overrides_1.withValidationDefaults)({ unsafeAllowCustomTypes });
|
|
44
24
|
}
|
|
25
|
+
const report = getStorageUpgradeReport(original, updated, opts);
|
|
45
26
|
if (!report.pass) {
|
|
46
27
|
throw new StorageUpgradeErrors(report);
|
|
47
28
|
}
|
|
48
29
|
}
|
|
49
30
|
exports.assertStorageUpgradeSafe = assertStorageUpgradeSafe;
|
|
31
|
+
function getStorageUpgradeReport(original, updated, opts) {
|
|
32
|
+
const originalDetailed = (0, layout_1.getDetailedLayout)(original);
|
|
33
|
+
const updatedDetailed = (0, layout_1.getDetailedLayout)(updated);
|
|
34
|
+
const comparator = new compare_1.StorageLayoutComparator(opts.unsafeAllowCustomTypes, opts.unsafeAllowRenames);
|
|
35
|
+
const report = comparator.compareLayouts(originalDetailed, updatedDetailed);
|
|
36
|
+
if (comparator.hasAllowedUncheckedCustomTypes) {
|
|
37
|
+
(0, log_1.logWarning)(`Potentially unsafe deployment`, [
|
|
38
|
+
`You are using \`unsafeAllowCustomTypes\` to force approve structs or enums with missing data.`,
|
|
39
|
+
`Make sure you have manually checked the storage layout for incompatibilities.`,
|
|
40
|
+
]);
|
|
41
|
+
}
|
|
42
|
+
else if (opts.unsafeAllowCustomTypes) {
|
|
43
|
+
(0, log_1.logNote)(`\`unsafeAllowCustomTypes\` is no longer necessary. Structs are enums are automatically checked.\n`);
|
|
44
|
+
}
|
|
45
|
+
return report;
|
|
46
|
+
}
|
|
47
|
+
exports.getStorageUpgradeReport = getStorageUpgradeReport;
|
|
50
48
|
class StorageUpgradeErrors extends error_1.UpgradesError {
|
|
51
49
|
constructor(report) {
|
|
52
50
|
super(`New storage layout is incompatible`, () => report.explain());
|
|
53
51
|
this.report = report;
|
|
54
52
|
}
|
|
55
53
|
}
|
|
54
|
+
exports.StorageUpgradeErrors = StorageUpgradeErrors;
|
|
56
55
|
// Kept for backwards compatibility and to avoid rewriting tests
|
|
57
56
|
function getStorageUpgradeErrors(original, updated, opts = {}) {
|
|
58
57
|
try {
|
|
59
|
-
assertStorageUpgradeSafe(original, updated, overrides_1.withValidationDefaults(opts));
|
|
58
|
+
assertStorageUpgradeSafe(original, updated, (0, overrides_1.withValidationDefaults)(opts));
|
|
60
59
|
}
|
|
61
60
|
catch (e) {
|
|
62
61
|
if (e instanceof StorageUpgradeErrors) {
|