@openzeppelin/upgrades-core 1.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +110 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +4 -0
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.json +80 -0
- package/artifacts/@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol/ProxyAdmin.json +160 -0
- package/artifacts/@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol/TransparentUpgradeableProxy.json +155 -0
- package/artifacts/AdminUpgradeabilityProxy.json +155 -0
- package/artifacts/ProxyAdmin.json +160 -0
- package/artifacts/contracts/proxy/AdminUpgradeabilityProxy.sol/AdminUpgradeabilityProxy.json +155 -0
- package/artifacts/contracts/proxy/ProxyAdmin.sol/ProxyAdmin.json +160 -0
- package/contracts/Initializable.sol +64 -0
- package/dist/ast-dereferencer.d.ts +8 -0
- package/dist/ast-dereferencer.d.ts.map +1 -0
- package/dist/ast-dereferencer.js +29 -0
- package/dist/ast-dereferencer.js.map +1 -0
- package/dist/deployment.d.ts +18 -0
- package/dist/deployment.d.ts.map +1 -0
- package/dist/deployment.js +110 -0
- package/dist/deployment.js.map +1 -0
- package/dist/deployment.test.d.ts +2 -0
- package/dist/deployment.test.d.ts.map +1 -0
- package/dist/deployment.test.js +92 -0
- package/dist/deployment.test.js.map +1 -0
- package/dist/eip-1967.d.ts +7 -0
- package/dist/eip-1967.d.ts.map +1 -0
- package/dist/eip-1967.js +63 -0
- package/dist/eip-1967.js.map +1 -0
- package/dist/error.d.ts +21 -0
- package/dist/error.d.ts.map +1 -0
- package/dist/error.js +21 -0
- package/dist/error.js.map +1 -0
- package/dist/impl-store.d.ts +7 -0
- package/dist/impl-store.d.ts.map +1 -0
- package/dist/impl-store.js +94 -0
- package/dist/impl-store.js.map +1 -0
- package/dist/impl-store.test.d.ts +2 -0
- package/dist/impl-store.test.d.ts.map +1 -0
- package/dist/impl-store.test.js +55 -0
- package/dist/impl-store.test.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +32 -0
- package/dist/index.js.map +1 -0
- package/dist/levenshtein.d.ts +12 -0
- package/dist/levenshtein.d.ts.map +1 -0
- package/dist/levenshtein.js +89 -0
- package/dist/levenshtein.js.map +1 -0
- package/dist/levenshtein.test.d.ts +2 -0
- package/dist/levenshtein.test.d.ts.map +1 -0
- package/dist/levenshtein.test.js +88 -0
- package/dist/levenshtein.test.js.map +1 -0
- package/dist/link-refs.d.ts +11 -0
- package/dist/link-refs.d.ts.map +1 -0
- package/dist/link-refs.js +36 -0
- package/dist/link-refs.js.map +1 -0
- package/dist/link-refs.test.d.ts +2 -0
- package/dist/link-refs.test.d.ts.map +1 -0
- package/dist/link-refs.test.js +76 -0
- package/dist/link-refs.test.js.map +1 -0
- package/dist/manifest-storage-layout.d.ts +6 -0
- package/dist/manifest-storage-layout.d.ts.map +1 -0
- package/dist/manifest-storage-layout.js +95 -0
- package/dist/manifest-storage-layout.js.map +1 -0
- package/dist/manifest-storage-layout.test.d.ts +2 -0
- package/dist/manifest-storage-layout.test.d.ts.map +1 -0
- package/dist/manifest-storage-layout.test.js +105 -0
- package/dist/manifest-storage-layout.test.js.map +1 -0
- package/dist/manifest.d.ts +36 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +154 -0
- package/dist/manifest.js.map +1 -0
- package/dist/manifest.test.d.ts +2 -0
- package/dist/manifest.test.d.ts.map +1 -0
- package/dist/manifest.test.js +17 -0
- package/dist/manifest.test.js.map +1 -0
- package/dist/provider.d.ts +37 -0
- package/dist/provider.d.ts.map +1 -0
- package/dist/provider.js +74 -0
- package/dist/provider.js.map +1 -0
- package/dist/provider.test.d.ts +2 -0
- package/dist/provider.test.d.ts.map +1 -0
- package/dist/provider.test.js +41 -0
- package/dist/provider.test.js.map +1 -0
- package/dist/scripts/migrate-oz-cli-project.d.ts +108 -0
- package/dist/scripts/migrate-oz-cli-project.d.ts.map +1 -0
- package/dist/scripts/migrate-oz-cli-project.js +321 -0
- package/dist/scripts/migrate-oz-cli-project.js.map +1 -0
- package/dist/scripts/migrate-oz-cli-project.test.d.ts +2 -0
- package/dist/scripts/migrate-oz-cli-project.test.d.ts.map +1 -0
- package/dist/scripts/migrate-oz-cli-project.test.js +60 -0
- package/dist/scripts/migrate-oz-cli-project.test.js.map +1 -0
- package/dist/set-proxy-kind.d.ts +5 -0
- package/dist/set-proxy-kind.d.ts.map +1 -0
- package/dist/set-proxy-kind.js +25 -0
- package/dist/set-proxy-kind.js.map +1 -0
- package/dist/solc-api.d.ts +39 -0
- package/dist/solc-api.d.ts.map +1 -0
- package/dist/solc-api.js +3 -0
- package/dist/solc-api.js.map +1 -0
- package/dist/src-decoder.d.ts +6 -0
- package/dist/src-decoder.d.ts.map +1 -0
- package/dist/src-decoder.js +36 -0
- package/dist/src-decoder.js.map +1 -0
- package/dist/src-decoder.test.d.ts +2 -0
- package/dist/src-decoder.test.d.ts.map +1 -0
- package/dist/src-decoder.test.js +29 -0
- package/dist/src-decoder.test.js.map +1 -0
- package/dist/storage/compare.d.ts +55 -0
- package/dist/storage/compare.d.ts.map +1 -0
- package/dist/storage/compare.js +181 -0
- package/dist/storage/compare.js.map +1 -0
- package/dist/storage/compat.d.ts +4 -0
- package/dist/storage/compat.d.ts.map +1 -0
- package/dist/storage/compat.js +9 -0
- package/dist/storage/compat.js.map +1 -0
- package/dist/storage/extract.d.ts +7 -0
- package/dist/storage/extract.d.ts.map +1 -0
- package/dist/storage/extract.js +86 -0
- package/dist/storage/extract.js.map +1 -0
- package/dist/storage/index.d.ts +8 -0
- package/dist/storage/index.d.ts.map +1 -0
- package/dist/storage/index.js +65 -0
- package/dist/storage/index.js.map +1 -0
- package/dist/storage/layout.d.ts +31 -0
- package/dist/storage/layout.d.ts.map +1 -0
- package/dist/storage/layout.js +46 -0
- package/dist/storage/layout.js.map +1 -0
- package/dist/storage/report.d.ts +8 -0
- package/dist/storage/report.d.ts.map +1 -0
- package/dist/storage/report.js +175 -0
- package/dist/storage/report.js.map +1 -0
- package/dist/storage/report.test.d.ts +2 -0
- package/dist/storage/report.test.d.ts.map +1 -0
- package/dist/storage/report.test.js +82 -0
- package/dist/storage/report.test.js.map +1 -0
- package/dist/storage.test.d.ts +2 -0
- package/dist/storage.test.d.ts.map +1 -0
- package/dist/storage.test.js +436 -0
- package/dist/storage.test.js.map +1 -0
- package/dist/stub-provider.d.ts +14 -0
- package/dist/stub-provider.d.ts.map +1 -0
- package/dist/stub-provider.js +128 -0
- package/dist/stub-provider.js.map +1 -0
- package/dist/utils/assert.d.ts +3 -0
- package/dist/utils/assert.d.ts.map +1 -0
- package/dist/utils/assert.js +14 -0
- package/dist/utils/assert.js.map +1 -0
- package/dist/utils/curry.d.ts +6 -0
- package/dist/utils/curry.d.ts.map +1 -0
- package/dist/utils/curry.js +16 -0
- package/dist/utils/curry.js.map +1 -0
- package/dist/utils/debug.d.ts +4 -0
- package/dist/utils/debug.d.ts.map +1 -0
- package/dist/utils/debug.js +8 -0
- package/dist/utils/debug.js.map +1 -0
- package/dist/utils/deep-array.d.ts +3 -0
- package/dist/utils/deep-array.d.ts.map +1 -0
- package/dist/utils/deep-array.js +13 -0
- package/dist/utils/deep-array.js.map +1 -0
- package/dist/utils/deep-array.test.d.ts +2 -0
- package/dist/utils/deep-array.test.d.ts.map +1 -0
- package/dist/utils/deep-array.test.js +23 -0
- package/dist/utils/deep-array.test.js.map +1 -0
- package/dist/utils/function.d.ts +4 -0
- package/dist/utils/function.d.ts.map +1 -0
- package/dist/utils/function.js +43 -0
- package/dist/utils/function.js.map +1 -0
- package/dist/utils/function.test.d.ts +2 -0
- package/dist/utils/function.test.d.ts.map +1 -0
- package/dist/utils/function.test.js +34 -0
- package/dist/utils/function.test.js.map +1 -0
- package/dist/utils/indent.d.ts +2 -0
- package/dist/utils/indent.d.ts.map +1 -0
- package/dist/utils/indent.js +8 -0
- package/dist/utils/indent.js.map +1 -0
- package/dist/utils/is-nullish.d.ts +2 -0
- package/dist/utils/is-nullish.d.ts.map +1 -0
- package/dist/utils/is-nullish.js +8 -0
- package/dist/utils/is-nullish.js.map +1 -0
- package/dist/utils/is-nullish.test.d.ts +2 -0
- package/dist/utils/is-nullish.test.d.ts.map +1 -0
- package/dist/utils/is-nullish.test.js +17 -0
- package/dist/utils/is-nullish.test.js.map +1 -0
- package/dist/utils/is-value-type.d.ts +3 -0
- package/dist/utils/is-value-type.d.ts.map +1 -0
- package/dist/utils/is-value-type.js +8 -0
- package/dist/utils/is-value-type.js.map +1 -0
- package/dist/utils/itemize.d.ts +3 -0
- package/dist/utils/itemize.d.ts.map +1 -0
- package/dist/utils/itemize.js +18 -0
- package/dist/utils/itemize.js.map +1 -0
- package/dist/utils/log.d.ts +4 -0
- package/dist/utils/log.d.ts.map +1 -0
- package/dist/utils/log.js +35 -0
- package/dist/utils/log.js.map +1 -0
- package/dist/utils/make-non-enumerable.d.ts +2 -0
- package/dist/utils/make-non-enumerable.d.ts.map +1 -0
- package/dist/utils/make-non-enumerable.js +9 -0
- package/dist/utils/make-non-enumerable.js.map +1 -0
- package/dist/utils/map-values.d.ts +2 -0
- package/dist/utils/map-values.d.ts.map +1 -0
- package/dist/utils/map-values.js +12 -0
- package/dist/utils/map-values.js.map +1 -0
- package/dist/utils/parse-type-id.d.ts +9 -0
- package/dist/utils/parse-type-id.d.ts.map +1 -0
- package/dist/utils/parse-type-id.js +92 -0
- package/dist/utils/parse-type-id.js.map +1 -0
- package/dist/utils/parse-type-id.test.d.ts +2 -0
- package/dist/utils/parse-type-id.test.d.ts.map +1 -0
- package/dist/utils/parse-type-id.test.js +25 -0
- package/dist/utils/parse-type-id.test.js.map +1 -0
- package/dist/utils/pick.d.ts +2 -0
- package/dist/utils/pick.d.ts.map +1 -0
- package/dist/utils/pick.js +12 -0
- package/dist/utils/pick.js.map +1 -0
- package/dist/utils/type-id.d.ts +4 -0
- package/dist/utils/type-id.d.ts.map +1 -0
- package/dist/utils/type-id.js +65 -0
- package/dist/utils/type-id.js.map +1 -0
- package/dist/validate/compat.d.ts +6 -0
- package/dist/validate/compat.d.ts.map +1 -0
- package/dist/validate/compat.js +4 -0
- package/dist/validate/compat.js.map +1 -0
- package/dist/validate/data.d.ts +14 -0
- package/dist/validate/data.d.ts.map +1 -0
- package/dist/validate/data.js +50 -0
- package/dist/validate/data.js.map +1 -0
- package/dist/validate/error.d.ts +7 -0
- package/dist/validate/error.d.ts.map +1 -0
- package/dist/validate/error.js +78 -0
- package/dist/validate/error.js.map +1 -0
- package/dist/validate/index.d.ts +8 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +24 -0
- package/dist/validate/index.js.map +1 -0
- package/dist/validate/overrides.d.ts +14 -0
- package/dist/validate/overrides.d.ts.map +1 -0
- package/dist/validate/overrides.js +72 -0
- package/dist/validate/overrides.js.map +1 -0
- package/dist/validate/query.d.ts +15 -0
- package/dist/validate/query.d.ts.map +1 -0
- package/dist/validate/query.js +111 -0
- package/dist/validate/query.js.map +1 -0
- package/dist/validate/query.test.d.ts +2 -0
- package/dist/validate/query.test.d.ts.map +1 -0
- package/dist/validate/query.test.js +48 -0
- package/dist/validate/query.test.js.map +1 -0
- package/dist/validate/run.d.ts +39 -0
- package/dist/validate/run.d.ts.map +1 -0
- package/dist/validate/run.js +199 -0
- package/dist/validate/run.js.map +1 -0
- package/dist/validate.test.d.ts +2 -0
- package/dist/validate.test.d.ts.map +1 -0
- package/dist/validate.test.js +116 -0
- package/dist/validate.test.js.map +1 -0
- package/dist/version.d.ts +9 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +66 -0
- package/dist/version.js.map +1 -0
- package/dist/version.test.d.ts +2 -0
- package/dist/version.test.d.ts.map +1 -0
- package/dist/version.test.js +53 -0
- package/dist/version.test.js.map +1 -0
- package/package.json +58 -0
- package/src/ast-dereferencer.ts +42 -0
- package/src/deployment.test.ts +98 -0
- package/src/deployment.ts +122 -0
- package/src/eip-1967.ts +77 -0
- package/src/error.ts +26 -0
- package/src/impl-store.test.ts +59 -0
- package/src/impl-store.ts +124 -0
- package/src/index.ts +18 -0
- package/src/levenshtein.test.ts +91 -0
- package/src/levenshtein.ts +116 -0
- package/src/link-refs.test.ts +77 -0
- package/src/link-refs.ts +41 -0
- package/src/manifest-storage-layout.test.ts +118 -0
- package/src/manifest-storage-layout.ts +107 -0
- package/src/manifest.test.ts +13 -0
- package/src/manifest.ts +178 -0
- package/src/provider.test.ts +43 -0
- package/src/provider.ts +103 -0
- package/src/scripts/migratable-manifest.test.json +175 -0
- package/src/scripts/migrate-oz-cli-project.test.ts +70 -0
- package/src/scripts/migrate-oz-cli-project.test.ts.md +146 -0
- package/src/scripts/migrate-oz-cli-project.test.ts.snap +0 -0
- package/src/scripts/migrate-oz-cli-project.ts +484 -0
- package/src/scripts/project-file.test.json +25 -0
- package/src/set-proxy-kind.ts +27 -0
- package/src/solc-api.ts +42 -0
- package/src/src-decoder.test.ts +30 -0
- package/src/src-decoder.ts +37 -0
- package/src/storage/compare.ts +249 -0
- package/src/storage/compat.ts +3 -0
- package/src/storage/extract.ts +110 -0
- package/src/storage/index.ts +73 -0
- package/src/storage/layout.ts +88 -0
- package/src/storage/report.test.ts +95 -0
- package/src/storage/report.test.ts.md +154 -0
- package/src/storage/report.test.ts.snap +0 -0
- package/src/storage/report.ts +215 -0
- package/src/storage.test.ts +479 -0
- package/src/storage.test.ts.md +643 -0
- package/src/storage.test.ts.snap +0 -0
- package/src/stub-provider.ts +120 -0
- package/src/utils/assert.ts +9 -0
- package/src/utils/curry.ts +17 -0
- package/src/utils/debug.ts +3 -0
- package/src/utils/deep-array.test.ts +21 -0
- package/src/utils/deep-array.ts +9 -0
- package/src/utils/function.test.ts +37 -0
- package/src/utils/function.ts +53 -0
- package/src/utils/indent.ts +3 -0
- package/src/utils/is-nullish.test.ts +15 -0
- package/src/utils/is-nullish.ts +3 -0
- package/src/utils/is-value-type.ts +5 -0
- package/src/utils/itemize.ts +16 -0
- package/src/utils/log.ts +34 -0
- package/src/utils/make-non-enumerable.ts +4 -0
- package/src/utils/map-values.ts +7 -0
- package/src/utils/parse-type-id.test.ts +22 -0
- package/src/utils/parse-type-id.test.ts.md +264 -0
- package/src/utils/parse-type-id.test.ts.snap +0 -0
- package/src/utils/parse-type-id.ts +104 -0
- package/src/utils/pick.ts +7 -0
- package/src/utils/type-id.ts +57 -0
- package/src/validate/compat.ts +9 -0
- package/src/validate/data.ts +55 -0
- package/src/validate/error.ts +75 -0
- package/src/validate/index.ts +17 -0
- package/src/validate/overrides.ts +93 -0
- package/src/validate/query.test.ts +48 -0
- package/src/validate/query.ts +127 -0
- package/src/validate/run.ts +278 -0
- package/src/validate.test.ts +133 -0
- package/src/version.test.ts +59 -0
- package/src/version.ts +71 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-nullish.test.js","sourceRoot":"","sources":["../../src/utils/is-nullish.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AAEvB,6CAAyC;AAEzC,aAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE;IACf,CAAC,CAAC,IAAI,CAAC,sBAAS,CAAC,IAAI,CAAC,CAAC,CAAC;AAC1B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,WAAW,EAAE,CAAC,CAAC,EAAE;IACpB,CAAC,CAAC,IAAI,CAAC,sBAAS,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,UAAU,EAAE,CAAC,CAAC,EAAE;IACnB,CAAC,CAAC,KAAK,CAAC,sBAAS,CAAC,CAAC,CAAC,CAAC,CAAC;AACxB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-value-type.d.ts","sourceRoot":"","sources":["../../src/utils/is-value-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAEvD,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,OAAO,CAE7D"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isValueType = void 0;
|
|
4
|
+
function isValueType(type) {
|
|
5
|
+
return type.args === undefined || ['t_contract', 't_enum'].includes(type.head);
|
|
6
|
+
}
|
|
7
|
+
exports.isValueType = isValueType;
|
|
8
|
+
//# sourceMappingURL=is-value-type.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-value-type.js","sourceRoot":"","sources":["../../src/utils/is-value-type.ts"],"names":[],"mappings":";;;AAEA,SAAgB,WAAW,CAAC,IAAwB;IAClD,OAAO,IAAI,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,YAAY,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACjF,CAAC;AAFD,kCAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itemize.d.ts","sourceRoot":"","sources":["../../src/utils/itemize.ts"],"names":[],"mappings":"AASA,wBAAgB,OAAO,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAElD;AAED,wBAAgB,WAAW,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,KAAK,EAAE,MAAM,EAAE,GAAG,MAAM,CAEtE"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// itemize returns a markdown-like list of the items
|
|
3
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.itemizeWith = exports.itemize = void 0;
|
|
5
|
+
// itemize['a\nb', 'c'] =
|
|
6
|
+
// - a
|
|
7
|
+
// b
|
|
8
|
+
// - c
|
|
9
|
+
const indent_1 = require("./indent");
|
|
10
|
+
function itemize(...items) {
|
|
11
|
+
return itemizeWith('-', ...items);
|
|
12
|
+
}
|
|
13
|
+
exports.itemize = itemize;
|
|
14
|
+
function itemizeWith(bullet, ...items) {
|
|
15
|
+
return items.map(item => bullet + indent_1.indent(item, 2, 1)).join('\n');
|
|
16
|
+
}
|
|
17
|
+
exports.itemizeWith = itemizeWith;
|
|
18
|
+
//# sourceMappingURL=itemize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"itemize.js","sourceRoot":"","sources":["../../src/utils/itemize.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;AAEpD,yBAAyB;AACzB,MAAM;AACN,MAAM;AACN,MAAM;AAEN,qCAAkC;AAElC,SAAgB,OAAO,CAAC,GAAG,KAAe;IACxC,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,CAAC;AACpC,CAAC;AAFD,0BAEC;AAED,SAAgB,WAAW,CAAC,MAAc,EAAE,GAAG,KAAe;IAC5D,OAAO,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,eAAM,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACnE,CAAC;AAFD,kCAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.d.ts","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":"AAoBA,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,EAAO,GAAG,IAAI,CAEjE;AAED,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,GAAE,MAAM,EAAO,GAAG,IAAI,CAEpE;AAED,wBAAgB,eAAe,IAAI,IAAI,CAKtC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.silenceWarnings = exports.logWarning = exports.logNote = void 0;
|
|
7
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
8
|
+
const indent_1 = require("./indent");
|
|
9
|
+
let silenced = false;
|
|
10
|
+
function log(prefix, title, lines) {
|
|
11
|
+
if (silenced) {
|
|
12
|
+
return;
|
|
13
|
+
}
|
|
14
|
+
const parts = [chalk_1.default.yellow.bold(prefix + ':') + ' ' + title + '\n'];
|
|
15
|
+
if (lines.length > 0) {
|
|
16
|
+
parts.push(lines.map(l => indent_1.indent(l, 4) + '\n').join(''));
|
|
17
|
+
}
|
|
18
|
+
console.error(parts.join('\n'));
|
|
19
|
+
}
|
|
20
|
+
function logNote(title, lines = []) {
|
|
21
|
+
log('Note', title, lines);
|
|
22
|
+
}
|
|
23
|
+
exports.logNote = logNote;
|
|
24
|
+
function logWarning(title, lines = []) {
|
|
25
|
+
log('Warning', title, lines);
|
|
26
|
+
}
|
|
27
|
+
exports.logWarning = logWarning;
|
|
28
|
+
function silenceWarnings() {
|
|
29
|
+
logWarning(`All subsequent Upgrades warnings will be silenced.`, [
|
|
30
|
+
`Make sure you have manually checked all uses of unsafe flags.`,
|
|
31
|
+
]);
|
|
32
|
+
silenced = true;
|
|
33
|
+
}
|
|
34
|
+
exports.silenceWarnings = silenceWarnings;
|
|
35
|
+
//# sourceMappingURL=log.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"log.js","sourceRoot":"","sources":["../../src/utils/log.ts"],"names":[],"mappings":";;;;;;AAAA,kDAA0B;AAE1B,qCAAkC;AAElC,IAAI,QAAQ,GAAG,KAAK,CAAC;AAErB,SAAS,GAAG,CAAC,MAAc,EAAE,KAAa,EAAE,KAAe;IACzD,IAAI,QAAQ,EAAE;QACZ,OAAO;KACR;IAED,MAAM,KAAK,GAAG,CAAC,eAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC,GAAG,GAAG,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC;IAErE,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;QACpB,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,eAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;KAC1D;IAED,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,OAAO,CAAC,KAAa,EAAE,QAAkB,EAAE;IACzD,GAAG,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC5B,CAAC;AAFD,0BAEC;AAED,SAAgB,UAAU,CAAC,KAAa,EAAE,QAAkB,EAAE;IAC5D,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC;AAFD,gCAEC;AAED,SAAgB,eAAe;IAC7B,UAAU,CAAC,oDAAoD,EAAE;QAC/D,+DAA+D;KAChE,CAAC,CAAC;IACH,QAAQ,GAAG,IAAI,CAAC;AAClB,CAAC;AALD,0CAKC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-non-enumerable.d.ts","sourceRoot":"","sources":["../../src/utils/make-non-enumerable.ts"],"names":[],"mappings":"AACA,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAI,CAE3E"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.makeNonEnumerable = void 0;
|
|
4
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5
|
+
function makeNonEnumerable(obj, key) {
|
|
6
|
+
Object.defineProperty(obj, key, { enumerable: false });
|
|
7
|
+
}
|
|
8
|
+
exports.makeNonEnumerable = makeNonEnumerable;
|
|
9
|
+
//# sourceMappingURL=make-non-enumerable.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"make-non-enumerable.js","sourceRoot":"","sources":["../../src/utils/make-non-enumerable.ts"],"names":[],"mappings":";;;AAAA,8DAA8D;AAC9D,SAAgB,iBAAiB,CAAgB,GAAM,EAAE,GAAY;IACnE,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAC;AACzD,CAAC;AAFD,8CAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-values.d.ts","sourceRoot":"","sources":["../../src/utils/map-values.ts"],"names":[],"mappings":"AAAA,wBAAgB,SAAS,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAM9F"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.mapValues = void 0;
|
|
4
|
+
function mapValues(obj, fn) {
|
|
5
|
+
const res = {};
|
|
6
|
+
for (const k in obj) {
|
|
7
|
+
res[k] = fn(obj[k]);
|
|
8
|
+
}
|
|
9
|
+
return res;
|
|
10
|
+
}
|
|
11
|
+
exports.mapValues = mapValues;
|
|
12
|
+
//# sourceMappingURL=map-values.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"map-values.js","sourceRoot":"","sources":["../../src/utils/map-values.ts"],"names":[],"mappings":";;;AAAA,SAAgB,SAAS,CAAO,GAAsB,EAAE,EAAmB;IACzE,MAAM,GAAG,GAA+B,EAAE,CAAC;IAC3C,KAAK,MAAM,CAAC,IAAI,GAAG,EAAE;QACnB,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;KACrB;IACD,OAAO,GAAwB,CAAC;AAClC,CAAC;AAND,8BAMC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-type-id.d.ts","sourceRoot":"","sources":["../../src/utils/parse-type-id.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,YAAY,EAAE,CAAC;CACvB;AAqBD,wBAAgB,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,YAAY,CAwDpD"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.parseTypeId = void 0;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
// The examples below illustrate the meaning of these properties.
|
|
9
|
+
// 1) id = t_struct(MyStruct)storage
|
|
10
|
+
// └──────┘ └──────┘ └─────┘
|
|
11
|
+
// head args[0] tail
|
|
12
|
+
// rets = undefined
|
|
13
|
+
// 2) id = t_function_internal_nonpayable(t_uint256,t_uint256)returns(t_address)
|
|
14
|
+
// └────────────────────────────┘ └───────┘ └───────┘ └───────┘
|
|
15
|
+
// head args[0] args[1] rets[0]
|
|
16
|
+
// tail = undefined
|
|
17
|
+
// 3) id = t_uint256
|
|
18
|
+
// └───────┘
|
|
19
|
+
// head
|
|
20
|
+
// args = undefined
|
|
21
|
+
// tail = undefined
|
|
22
|
+
// rets = undefined
|
|
23
|
+
function parseTypeId(id) {
|
|
24
|
+
const matcher = new StatefulGlobalMatcher(id);
|
|
25
|
+
function parseList() {
|
|
26
|
+
var _a;
|
|
27
|
+
const args = [];
|
|
28
|
+
let i = matcher.index;
|
|
29
|
+
let delim;
|
|
30
|
+
while ((delim = matcher.match(/[(),]/))) {
|
|
31
|
+
if (delim[0] === '(') {
|
|
32
|
+
let depth = 1;
|
|
33
|
+
while (depth > 0) {
|
|
34
|
+
const paren = (_a = matcher.match(/[()]/)) === null || _a === void 0 ? void 0 : _a[0];
|
|
35
|
+
if (paren === '(') {
|
|
36
|
+
depth += 1;
|
|
37
|
+
}
|
|
38
|
+
else if (paren === ')') {
|
|
39
|
+
depth -= 1;
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
throw new Error(`Malformed type id ${id}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
const subtype = id.slice(i, delim.index);
|
|
48
|
+
if (subtype) {
|
|
49
|
+
args.push(parseTypeId(subtype));
|
|
50
|
+
}
|
|
51
|
+
i = delim.index + 1;
|
|
52
|
+
if (delim[0] === ')') {
|
|
53
|
+
break;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
return args;
|
|
58
|
+
}
|
|
59
|
+
const openArgs = matcher.match(/\(/);
|
|
60
|
+
const head = id.slice(0, openArgs === null || openArgs === void 0 ? void 0 : openArgs.index);
|
|
61
|
+
let args, tail, rets;
|
|
62
|
+
if (openArgs) {
|
|
63
|
+
args = parseList();
|
|
64
|
+
const startTail = matcher.index;
|
|
65
|
+
const openRet = matcher.match(/\(/);
|
|
66
|
+
if (!openRet) {
|
|
67
|
+
tail = id.slice(startTail) || undefined;
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
assert_1.default(id.slice(startTail, openRet.index) === 'returns', `Malformed type id ${id}`);
|
|
71
|
+
rets = parseList();
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
return { id, head, args, tail, rets };
|
|
75
|
+
}
|
|
76
|
+
exports.parseTypeId = parseTypeId;
|
|
77
|
+
class StatefulGlobalMatcher {
|
|
78
|
+
constructor(text) {
|
|
79
|
+
this.text = text;
|
|
80
|
+
this.index = 0;
|
|
81
|
+
}
|
|
82
|
+
match(re) {
|
|
83
|
+
const gre = new RegExp(re, 'g');
|
|
84
|
+
gre.lastIndex = this.index;
|
|
85
|
+
const match = gre.exec(this.text);
|
|
86
|
+
if (match !== null) {
|
|
87
|
+
this.index = gre.lastIndex;
|
|
88
|
+
}
|
|
89
|
+
return match;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=parse-type-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-type-id.js","sourceRoot":"","sources":["../../src/utils/parse-type-id.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-type-id.test.d.ts","sourceRoot":"","sources":["../../src/utils/parse-type-id.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,25 @@
|
|
|
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 parse_type_id_1 = require("./parse-type-id");
|
|
8
|
+
const fixtures = [
|
|
9
|
+
't_uint256',
|
|
10
|
+
't_enum(MyEnum)',
|
|
11
|
+
't_struct(MyComplexStruct)storage',
|
|
12
|
+
't_array(t_uint256)3_storage',
|
|
13
|
+
't_mapping(t_uint256,t_uint256)',
|
|
14
|
+
't_mapping(unknown,t_uint256)',
|
|
15
|
+
't_mapping(t_uint256,t_array(t_bool)dyn_storage)',
|
|
16
|
+
't_mapping(t_uint256,t_mapping(t_string_memory_ptr,t_address))',
|
|
17
|
+
't_function_internal_nonpayable(t_uint256)returns()',
|
|
18
|
+
't_array(t_function_internal_nonpayable(t_uint256)returns(t_address))10_storage',
|
|
19
|
+
];
|
|
20
|
+
for (const f of fixtures) {
|
|
21
|
+
ava_1.default(f, t => {
|
|
22
|
+
t.snapshot(parse_type_id_1.parseTypeId(f));
|
|
23
|
+
});
|
|
24
|
+
}
|
|
25
|
+
//# sourceMappingURL=parse-type-id.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-type-id.test.js","sourceRoot":"","sources":["../../src/utils/parse-type-id.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AAEvB,mDAA8C;AAE9C,MAAM,QAAQ,GAAG;IACf,WAAW;IACX,gBAAgB;IAChB,kCAAkC;IAClC,6BAA6B;IAC7B,gCAAgC;IAChC,8BAA8B;IAC9B,iDAAiD;IACjD,+DAA+D;IAC/D,oDAAoD;IACpD,gFAAgF;CACjF,CAAC;AAEF,KAAK,MAAM,CAAC,IAAI,QAAQ,EAAE;IACxB,aAAI,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE;QACV,CAAC,CAAC,QAAQ,CAAC,2BAAW,CAAC,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC,CAAC,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pick.d.ts","sourceRoot":"","sources":["../../src/utils/pick.ts"],"names":[],"mappings":"AAAA,wBAAgB,IAAI,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAMxE"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.pick = void 0;
|
|
4
|
+
function pick(obj, keys) {
|
|
5
|
+
const res = {};
|
|
6
|
+
for (const k of keys) {
|
|
7
|
+
res[k] = obj[k];
|
|
8
|
+
}
|
|
9
|
+
return res;
|
|
10
|
+
}
|
|
11
|
+
exports.pick = pick;
|
|
12
|
+
//# sourceMappingURL=pick.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pick.js","sourceRoot":"","sources":["../../src/utils/pick.ts"],"names":[],"mappings":";;;AAAA,SAAgB,IAAI,CAAuB,GAAM,EAAE,IAAS;IAC1D,MAAM,GAAG,GAAwB,EAAE,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,GAAG,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;KACjB;IACD,OAAO,GAAiB,CAAC;AAC3B,CAAC;AAND,oBAMC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export declare function decodeTypeIdentifier(typeIdentifier: string): string;
|
|
2
|
+
export declare function normalizeTypeIdentifier(typeIdentifier: string): string;
|
|
3
|
+
export declare function stabilizeTypeIdentifier(typeIdentifier: string): string;
|
|
4
|
+
//# sourceMappingURL=type-id.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-id.d.ts","sourceRoot":"","sources":["../../src/utils/type-id.ts"],"names":[],"mappings":"AAUA,wBAAgB,oBAAoB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAanE;AAKD,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAEtE;AAKD,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAqBtE"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.stabilizeTypeIdentifier = exports.normalizeTypeIdentifier = exports.decodeTypeIdentifier = void 0;
|
|
7
|
+
const assert_1 = __importDefault(require("assert"));
|
|
8
|
+
// Type Identifiers in the AST are for some reason encoded so that they don't
|
|
9
|
+
// contain parentheses or commas, which have been substituted as follows:
|
|
10
|
+
// ( -> $_
|
|
11
|
+
// ) -> _$
|
|
12
|
+
// , -> _$_
|
|
13
|
+
// This is particularly hard to decode because it is not a prefix-free code.
|
|
14
|
+
// Thus, the following regex has to perform a lookahead to make sure it gets
|
|
15
|
+
// the substitution right.
|
|
16
|
+
function decodeTypeIdentifier(typeIdentifier) {
|
|
17
|
+
return typeIdentifier.replace(/(\$_|_\$_|_\$)(?=(\$_|_\$_|_\$)*([^_$]|$))/g, m => {
|
|
18
|
+
switch (m) {
|
|
19
|
+
case '$_':
|
|
20
|
+
return '(';
|
|
21
|
+
case '_$':
|
|
22
|
+
return ')';
|
|
23
|
+
case '_$_':
|
|
24
|
+
return ',';
|
|
25
|
+
default:
|
|
26
|
+
throw new Error('Unreachable');
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
}
|
|
30
|
+
exports.decodeTypeIdentifier = decodeTypeIdentifier;
|
|
31
|
+
// Some Type Identifiers contain a _storage_ptr suffix, but the _ptr part
|
|
32
|
+
// appears in some places and not others. We remove it to get consistent type
|
|
33
|
+
// ids from the different places in the AST.
|
|
34
|
+
function normalizeTypeIdentifier(typeIdentifier) {
|
|
35
|
+
return decodeTypeIdentifier(typeIdentifier).replace(/_storage_ptr\b/g, '_storage');
|
|
36
|
+
}
|
|
37
|
+
exports.normalizeTypeIdentifier = normalizeTypeIdentifier;
|
|
38
|
+
// Type Identifiers contain AST id numbers, which makes them sensitive to
|
|
39
|
+
// unrelated changes in the source code. This function stabilizes a type
|
|
40
|
+
// identifier by removing all AST ids.
|
|
41
|
+
function stabilizeTypeIdentifier(typeIdentifier) {
|
|
42
|
+
let decoded = decodeTypeIdentifier(typeIdentifier);
|
|
43
|
+
const re = /(t_struct|t_enum|t_contract)\(/g;
|
|
44
|
+
let match;
|
|
45
|
+
while ((match = re.exec(decoded))) {
|
|
46
|
+
let i;
|
|
47
|
+
let d = 1;
|
|
48
|
+
for (i = match.index + match[0].length; d !== 0; i++) {
|
|
49
|
+
assert_1.default(i < decoded.length, 'index out of bounds');
|
|
50
|
+
const c = decoded[i];
|
|
51
|
+
if (c === '(') {
|
|
52
|
+
d += 1;
|
|
53
|
+
}
|
|
54
|
+
else if (c === ')') {
|
|
55
|
+
d -= 1;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
const re2 = /\d+_?/y;
|
|
59
|
+
re2.lastIndex = i;
|
|
60
|
+
decoded = decoded.replace(re2, '');
|
|
61
|
+
}
|
|
62
|
+
return decoded;
|
|
63
|
+
}
|
|
64
|
+
exports.stabilizeTypeIdentifier = stabilizeTypeIdentifier;
|
|
65
|
+
//# sourceMappingURL=type-id.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type-id.js","sourceRoot":"","sources":["../../src/utils/type-id.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAE5B,6EAA6E;AAC7E,yEAAyE;AACzE,eAAe;AACf,eAAe;AACf,gBAAgB;AAChB,4EAA4E;AAC5E,4EAA4E;AAC5E,0BAA0B;AAC1B,SAAgB,oBAAoB,CAAC,cAAsB;IACzD,OAAO,cAAc,CAAC,OAAO,CAAC,6CAA6C,EAAE,CAAC,CAAC,EAAE;QAC/E,QAAQ,CAAC,EAAE;YACT,KAAK,IAAI;gBACP,OAAO,GAAG,CAAC;YACb,KAAK,IAAI;gBACP,OAAO,GAAG,CAAC;YACb,KAAK,KAAK;gBACR,OAAO,GAAG,CAAC;YACb;gBACE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;SAClC;IACH,CAAC,CAAC,CAAC;AACL,CAAC;AAbD,oDAaC;AAED,yEAAyE;AACzE,6EAA6E;AAC7E,4CAA4C;AAC5C,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,OAAO,oBAAoB,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,iBAAiB,EAAE,UAAU,CAAC,CAAC;AACrF,CAAC;AAFD,0DAEC;AAED,yEAAyE;AACzE,wEAAwE;AACxE,sCAAsC;AACtC,SAAgB,uBAAuB,CAAC,cAAsB;IAC5D,IAAI,OAAO,GAAG,oBAAoB,CAAC,cAAc,CAAC,CAAC;IACnD,MAAM,EAAE,GAAG,iCAAiC,CAAC;IAC7C,IAAI,KAAK,CAAC;IACV,OAAO,CAAC,KAAK,GAAG,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,EAAE;QACjC,IAAI,CAAC,CAAC;QACN,IAAI,CAAC,GAAG,CAAC,CAAC;QACV,KAAK,CAAC,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,EAAE;YACpD,gBAAM,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,qBAAqB,CAAC,CAAC;YAClD,MAAM,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;YACrB,IAAI,CAAC,KAAK,GAAG,EAAE;gBACb,CAAC,IAAI,CAAC,CAAC;aACR;iBAAM,IAAI,CAAC,KAAK,GAAG,EAAE;gBACpB,CAAC,IAAI,CAAC,CAAC;aACR;SACF;QACD,MAAM,GAAG,GAAG,QAAQ,CAAC;QACrB,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC;QAClB,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;KACpC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AArBD,0DAqBC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ContractValidation, ValidationRunData } from './run';
|
|
2
|
+
export declare type RunValidation = ValidationRunData;
|
|
3
|
+
export declare type ValidationLog = RunValidation[];
|
|
4
|
+
export declare type Validation = RunValidation;
|
|
5
|
+
export declare type ValidationResult = ContractValidation;
|
|
6
|
+
//# sourceMappingURL=compat.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.d.ts","sourceRoot":"","sources":["../../src/validate/compat.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE9D,oBAAY,aAAa,GAAG,iBAAiB,CAAC;AAC9C,oBAAY,aAAa,GAAG,aAAa,EAAE,CAAC;AAC5C,oBAAY,UAAU,GAAG,aAAa,CAAC;AAEvC,oBAAY,gBAAgB,GAAG,kBAAkB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compat.js","sourceRoot":"","sources":["../../src/validate/compat.ts"],"names":[],"mappings":";AAAA,+CAA+C"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { ValidationRunData } from './run';
|
|
2
|
+
declare type ValidationDataV1 = ValidationRunData;
|
|
3
|
+
declare type ValidationDataV2 = ValidationRunData[];
|
|
4
|
+
interface ValidationDataV3 {
|
|
5
|
+
version: '3' | '3.1' | '3.2';
|
|
6
|
+
log: ValidationRunData[];
|
|
7
|
+
}
|
|
8
|
+
export declare type ValidationDataCurrent = ValidationDataV3;
|
|
9
|
+
export declare type ValidationData = ValidationDataV1 | ValidationDataV2 | ValidationDataV3;
|
|
10
|
+
export declare function normalizeValidationData(data: ValidationData): ValidationDataCurrent;
|
|
11
|
+
export declare function isCurrentValidationData(data: ValidationData, exact?: boolean): data is ValidationDataCurrent;
|
|
12
|
+
export declare function concatRunData(newRunData: ValidationRunData, previousData?: ValidationDataCurrent): ValidationDataCurrent;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=data.d.ts.map
|