@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":"manifest-storage-layout.test.js","sourceRoot":"","sources":["../src/manifest-storage-layout.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { EthereumProvider } from './provider';
|
|
2
|
+
import type { Deployment } from './deployment';
|
|
3
|
+
import type { StorageLayout } from './storage';
|
|
4
|
+
export interface ManifestData {
|
|
5
|
+
manifestVersion: string;
|
|
6
|
+
impls: {
|
|
7
|
+
[version in string]?: ImplDeployment;
|
|
8
|
+
};
|
|
9
|
+
proxies: ProxyDeployment[];
|
|
10
|
+
admin?: Deployment;
|
|
11
|
+
}
|
|
12
|
+
export interface ImplDeployment extends Deployment {
|
|
13
|
+
layout: StorageLayout;
|
|
14
|
+
}
|
|
15
|
+
export interface ProxyDeployment extends Deployment {
|
|
16
|
+
kind: 'uups' | 'transparent';
|
|
17
|
+
}
|
|
18
|
+
export declare class Manifest {
|
|
19
|
+
readonly chainId: number;
|
|
20
|
+
readonly file: string;
|
|
21
|
+
private locked;
|
|
22
|
+
static forNetwork(provider: EthereumProvider): Promise<Manifest>;
|
|
23
|
+
constructor(chainId: number);
|
|
24
|
+
getAdmin(): Promise<Deployment | undefined>;
|
|
25
|
+
getDeploymentFromAddress(address: string): Promise<ImplDeployment>;
|
|
26
|
+
getProxyFromAddress(address: string): Promise<ProxyDeployment>;
|
|
27
|
+
addProxy(proxy: ProxyDeployment): Promise<void>;
|
|
28
|
+
read(): Promise<ManifestData>;
|
|
29
|
+
write(data: ManifestData): Promise<void>;
|
|
30
|
+
lockedRun<T>(cb: () => Promise<T>): Promise<T>;
|
|
31
|
+
private lock;
|
|
32
|
+
}
|
|
33
|
+
export declare function migrateManifest(data: ManifestData): ManifestData;
|
|
34
|
+
export declare class DeploymentNotFound extends Error {
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=manifest.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAA4B,MAAM,YAAY,CAAC;AAIxE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAM/C,MAAM,WAAW,YAAY;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE;SACJ,OAAO,IAAI,MAAM,CAAC,CAAC,EAAE,cAAc;KACrC,CAAC;IACF,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,KAAK,CAAC,EAAE,UAAU,CAAC;CACpB;AAED,MAAM,WAAW,cAAe,SAAQ,UAAU;IAChD,MAAM,EAAE,aAAa,CAAC;CACvB;AAED,MAAM,WAAW,eAAgB,SAAQ,UAAU;IACjD,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;CAC9B;AAYD,qBAAa,QAAQ;IAQP,QAAQ,CAAC,OAAO,EAAE,MAAM;IAPpC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,MAAM,CAAS;WAEV,UAAU,CAAC,QAAQ,EAAE,gBAAgB,GAAG,OAAO,CAAC,QAAQ,CAAC;gBAIjD,OAAO,EAAE,MAAM;IAK9B,QAAQ,IAAI,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAI3C,wBAAwB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IASlE,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAS9D,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAY/C,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC;IAgB7B,KAAK,CAAC,IAAI,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IAQxC,SAAS,CAAC,CAAC,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;YAYtC,IAAI;CASnB;AAgBD,wBAAgB,eAAe,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAUhE;AAED,qBAAa,kBAAmB,SAAQ,KAAK;CAAG"}
|
package/dist/manifest.js
ADDED
|
@@ -0,0 +1,154 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.DeploymentNotFound = exports.migrateManifest = exports.Manifest = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const fs_1 = require("fs");
|
|
9
|
+
const provider_1 = require("./provider");
|
|
10
|
+
const proper_lockfile_1 = __importDefault(require("proper-lockfile"));
|
|
11
|
+
const compare_versions_1 = require("compare-versions");
|
|
12
|
+
const pick_1 = require("./utils/pick");
|
|
13
|
+
const map_values_1 = require("./utils/map-values");
|
|
14
|
+
const currentManifestVersion = '3.2';
|
|
15
|
+
function defaultManifest() {
|
|
16
|
+
return {
|
|
17
|
+
manifestVersion: currentManifestVersion,
|
|
18
|
+
impls: {},
|
|
19
|
+
proxies: [],
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
const manifestDir = '.openzeppelin';
|
|
23
|
+
class Manifest {
|
|
24
|
+
constructor(chainId) {
|
|
25
|
+
var _a;
|
|
26
|
+
this.chainId = chainId;
|
|
27
|
+
this.locked = false;
|
|
28
|
+
const name = (_a = provider_1.networkNames[chainId]) !== null && _a !== void 0 ? _a : `unknown-${chainId}`;
|
|
29
|
+
this.file = path_1.default.join(manifestDir, `${name}.json`);
|
|
30
|
+
}
|
|
31
|
+
static async forNetwork(provider) {
|
|
32
|
+
return new Manifest(await provider_1.getChainId(provider));
|
|
33
|
+
}
|
|
34
|
+
async getAdmin() {
|
|
35
|
+
return (await this.read()).admin;
|
|
36
|
+
}
|
|
37
|
+
async getDeploymentFromAddress(address) {
|
|
38
|
+
const data = await this.read();
|
|
39
|
+
const deployment = Object.values(data.impls).find(d => (d === null || d === void 0 ? void 0 : d.address) === address);
|
|
40
|
+
if (deployment === undefined) {
|
|
41
|
+
throw new DeploymentNotFound(`Deployment at address ${address} is not registered`);
|
|
42
|
+
}
|
|
43
|
+
return deployment;
|
|
44
|
+
}
|
|
45
|
+
async getProxyFromAddress(address) {
|
|
46
|
+
const data = await this.read();
|
|
47
|
+
const deployment = data.proxies.find(d => (d === null || d === void 0 ? void 0 : d.address) === address);
|
|
48
|
+
if (deployment === undefined) {
|
|
49
|
+
throw new DeploymentNotFound(`Proxy at address ${address} is not registered`);
|
|
50
|
+
}
|
|
51
|
+
return deployment;
|
|
52
|
+
}
|
|
53
|
+
async addProxy(proxy) {
|
|
54
|
+
await this.lockedRun(async () => {
|
|
55
|
+
const data = await this.read();
|
|
56
|
+
const existing = data.proxies.findIndex(p => p.address === proxy.address);
|
|
57
|
+
if (existing >= 0) {
|
|
58
|
+
data.proxies.splice(existing, 1);
|
|
59
|
+
}
|
|
60
|
+
data.proxies.push(proxy);
|
|
61
|
+
await this.write(data);
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
async read() {
|
|
65
|
+
const release = this.locked ? undefined : await this.lock();
|
|
66
|
+
try {
|
|
67
|
+
const data = JSON.parse(await fs_1.promises.readFile(this.file, 'utf8'));
|
|
68
|
+
return validateOrUpdateManifestVersion(data);
|
|
69
|
+
}
|
|
70
|
+
catch (e) {
|
|
71
|
+
if (e.code === 'ENOENT') {
|
|
72
|
+
return defaultManifest();
|
|
73
|
+
}
|
|
74
|
+
else {
|
|
75
|
+
throw e;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
finally {
|
|
79
|
+
await (release === null || release === void 0 ? void 0 : release());
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
async write(data) {
|
|
83
|
+
if (!this.locked) {
|
|
84
|
+
throw new Error('Manifest must be locked');
|
|
85
|
+
}
|
|
86
|
+
const normalized = normalizeManifestData(data);
|
|
87
|
+
await fs_1.promises.writeFile(this.file, JSON.stringify(normalized, null, 2) + '\n');
|
|
88
|
+
}
|
|
89
|
+
async lockedRun(cb) {
|
|
90
|
+
if (this.locked) {
|
|
91
|
+
throw new Error('Manifest is already locked');
|
|
92
|
+
}
|
|
93
|
+
const release = await this.lock();
|
|
94
|
+
try {
|
|
95
|
+
return await cb();
|
|
96
|
+
}
|
|
97
|
+
finally {
|
|
98
|
+
await release();
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
async lock() {
|
|
102
|
+
await fs_1.promises.mkdir(path_1.default.dirname(this.file), { recursive: true });
|
|
103
|
+
const release = await proper_lockfile_1.default.lock(this.file, { retries: 3, realpath: false });
|
|
104
|
+
this.locked = true;
|
|
105
|
+
return async () => {
|
|
106
|
+
await release();
|
|
107
|
+
this.locked = false;
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
exports.Manifest = Manifest;
|
|
112
|
+
function validateOrUpdateManifestVersion(data) {
|
|
113
|
+
if (typeof data.manifestVersion !== 'string') {
|
|
114
|
+
throw new Error('Manifest version is missing');
|
|
115
|
+
}
|
|
116
|
+
else if (compare_versions_1.compare(data.manifestVersion, '3.0', '<')) {
|
|
117
|
+
throw new Error('Found a manifest file for OpenZeppelin CLI. An automated migration is not yet available.');
|
|
118
|
+
}
|
|
119
|
+
else if (compare_versions_1.compare(data.manifestVersion, currentManifestVersion, '<')) {
|
|
120
|
+
return migrateManifest(data);
|
|
121
|
+
}
|
|
122
|
+
else if (data.manifestVersion === currentManifestVersion) {
|
|
123
|
+
return data;
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
throw new Error(`Unknown value for manifest version (${data.manifestVersion})`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function migrateManifest(data) {
|
|
130
|
+
switch (data.manifestVersion) {
|
|
131
|
+
case '3.0':
|
|
132
|
+
case '3.1':
|
|
133
|
+
data.manifestVersion = currentManifestVersion;
|
|
134
|
+
data.proxies = [];
|
|
135
|
+
return data;
|
|
136
|
+
default:
|
|
137
|
+
throw new Error('Manifest migration not available');
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.migrateManifest = migrateManifest;
|
|
141
|
+
class DeploymentNotFound extends Error {
|
|
142
|
+
}
|
|
143
|
+
exports.DeploymentNotFound = DeploymentNotFound;
|
|
144
|
+
function normalizeManifestData(input) {
|
|
145
|
+
return {
|
|
146
|
+
...pick_1.pick(input, ['manifestVersion', 'admin']),
|
|
147
|
+
proxies: input.proxies.map(p => normalizeDeployment(p, ['kind'])),
|
|
148
|
+
impls: map_values_1.mapValues(input.impls, i => i && normalizeDeployment(i, ['layout'])),
|
|
149
|
+
};
|
|
150
|
+
}
|
|
151
|
+
function normalizeDeployment(input, include = []) {
|
|
152
|
+
return pick_1.pick(input, ['address', 'txHash', ...include]);
|
|
153
|
+
}
|
|
154
|
+
//# sourceMappingURL=manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.test.d.ts","sourceRoot":"","sources":["../src/manifest.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ava_1 = __importDefault(require("ava"));
|
|
7
|
+
const manifest_1 = require("./manifest");
|
|
8
|
+
ava_1.default('manifest name for a known network', t => {
|
|
9
|
+
const manifest = new manifest_1.Manifest(1);
|
|
10
|
+
t.is(manifest.file, '.openzeppelin/mainnet.json');
|
|
11
|
+
});
|
|
12
|
+
ava_1.default('manifest name for an unknown network', t => {
|
|
13
|
+
const id = 55555;
|
|
14
|
+
const manifest = new manifest_1.Manifest(id);
|
|
15
|
+
t.is(manifest.file, `.openzeppelin/unknown-${id}.json`);
|
|
16
|
+
});
|
|
17
|
+
//# sourceMappingURL=manifest.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"manifest.test.js","sourceRoot":"","sources":["../src/manifest.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,yCAAsC;AAEtC,aAAI,CAAC,mCAAmC,EAAE,CAAC,CAAC,EAAE;IAC5C,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,4BAA4B,CAAC,CAAC;AACpD,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,sCAAsC,EAAE,CAAC,CAAC,EAAE;IAC/C,MAAM,EAAE,GAAG,KAAK,CAAC;IACjB,MAAM,QAAQ,GAAG,IAAI,mBAAQ,CAAC,EAAE,CAAC,CAAC;IAClC,CAAC,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,yBAAyB,EAAE,OAAO,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface EthereumProvider {
|
|
2
|
+
send(method: 'web3_clientVersion', params: []): Promise<string>;
|
|
3
|
+
send(method: 'net_version', params: []): Promise<string>;
|
|
4
|
+
send(method: 'eth_chainId', params: []): Promise<string>;
|
|
5
|
+
send(method: 'eth_getCode', params: [string, string]): Promise<string>;
|
|
6
|
+
send(method: 'eth_getStorageAt', params: [string, string, string]): Promise<string>;
|
|
7
|
+
send(method: 'eth_getTransactionByHash', params: [string]): Promise<null | EthereumTransaction>;
|
|
8
|
+
send(method: 'eth_getTransactionReceipt', params: [string]): Promise<null | EthereumTransactionReceipt>;
|
|
9
|
+
send(method: string, params: unknown[]): Promise<unknown>;
|
|
10
|
+
}
|
|
11
|
+
interface EthereumTransaction {
|
|
12
|
+
blockHash: string | null;
|
|
13
|
+
}
|
|
14
|
+
interface EthereumTransactionReceipt {
|
|
15
|
+
status: string;
|
|
16
|
+
to: string | null;
|
|
17
|
+
from: string;
|
|
18
|
+
blockHash: string;
|
|
19
|
+
blockNumber: string;
|
|
20
|
+
transactionHash: string;
|
|
21
|
+
transactionIndex: string;
|
|
22
|
+
}
|
|
23
|
+
export declare function getNetworkId(provider: EthereumProvider): Promise<string>;
|
|
24
|
+
export declare function getChainId(provider: EthereumProvider): Promise<number>;
|
|
25
|
+
export declare function getClientVersion(provider: EthereumProvider): Promise<string>;
|
|
26
|
+
export declare function getStorageAt(provider: EthereumProvider, address: string, position: string, block?: string): Promise<string>;
|
|
27
|
+
export declare function getCode(provider: EthereumProvider, address: string, block?: string): Promise<string>;
|
|
28
|
+
export declare function hasCode(provider: EthereumProvider, address: string, block?: string): Promise<boolean>;
|
|
29
|
+
export declare function getTransactionByHash(provider: EthereumProvider, txHash: string): Promise<EthereumTransaction | null>;
|
|
30
|
+
export declare function getTransactionReceipt(provider: EthereumProvider, txHash: string): Promise<EthereumTransactionReceipt | null>;
|
|
31
|
+
export declare const networkNames: {
|
|
32
|
+
[chainId in number]?: string;
|
|
33
|
+
};
|
|
34
|
+
export declare function isDevelopmentNetwork(provider: EthereumProvider): Promise<boolean>;
|
|
35
|
+
export declare function isReceiptSuccessful(receipt: Pick<EthereumTransactionReceipt, 'status'>): boolean;
|
|
36
|
+
export {};
|
|
37
|
+
//# sourceMappingURL=provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":"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"}
|
package/dist/provider.js
ADDED
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.isReceiptSuccessful = exports.isDevelopmentNetwork = exports.networkNames = exports.getTransactionReceipt = exports.getTransactionByHash = exports.hasCode = exports.getCode = exports.getStorageAt = exports.getClientVersion = exports.getChainId = exports.getNetworkId = void 0;
|
|
7
|
+
const bn_js_1 = __importDefault(require("bn.js"));
|
|
8
|
+
async function getNetworkId(provider) {
|
|
9
|
+
return provider.send('net_version', []);
|
|
10
|
+
}
|
|
11
|
+
exports.getNetworkId = getNetworkId;
|
|
12
|
+
async function getChainId(provider) {
|
|
13
|
+
const id = await provider.send('eth_chainId', []);
|
|
14
|
+
return new bn_js_1.default(id.replace(/^0x/, ''), 'hex').toNumber();
|
|
15
|
+
}
|
|
16
|
+
exports.getChainId = getChainId;
|
|
17
|
+
async function getClientVersion(provider) {
|
|
18
|
+
return provider.send('web3_clientVersion', []);
|
|
19
|
+
}
|
|
20
|
+
exports.getClientVersion = getClientVersion;
|
|
21
|
+
async function getStorageAt(provider, address, position, block = 'latest') {
|
|
22
|
+
const storage = await provider.send('eth_getStorageAt', [address, position, block]);
|
|
23
|
+
const padded = storage.replace(/^0x/, '').padStart(64, '0');
|
|
24
|
+
return '0x' + padded;
|
|
25
|
+
}
|
|
26
|
+
exports.getStorageAt = getStorageAt;
|
|
27
|
+
async function getCode(provider, address, block = 'latest') {
|
|
28
|
+
return provider.send('eth_getCode', [address, block]);
|
|
29
|
+
}
|
|
30
|
+
exports.getCode = getCode;
|
|
31
|
+
async function hasCode(provider, address, block) {
|
|
32
|
+
const code = await getCode(provider, address, block);
|
|
33
|
+
return code !== '0x';
|
|
34
|
+
}
|
|
35
|
+
exports.hasCode = hasCode;
|
|
36
|
+
async function getTransactionByHash(provider, txHash) {
|
|
37
|
+
return provider.send('eth_getTransactionByHash', [txHash]);
|
|
38
|
+
}
|
|
39
|
+
exports.getTransactionByHash = getTransactionByHash;
|
|
40
|
+
async function getTransactionReceipt(provider, txHash) {
|
|
41
|
+
const receipt = await provider.send('eth_getTransactionReceipt', [txHash]);
|
|
42
|
+
if (receipt === null || receipt === void 0 ? void 0 : receipt.status) {
|
|
43
|
+
receipt.status = receipt.status.match(/^0x0+$/) ? '0x0' : receipt.status.replace(/^0x0+/, '0x');
|
|
44
|
+
}
|
|
45
|
+
return receipt;
|
|
46
|
+
}
|
|
47
|
+
exports.getTransactionReceipt = getTransactionReceipt;
|
|
48
|
+
exports.networkNames = Object.freeze({
|
|
49
|
+
1: 'mainnet',
|
|
50
|
+
2: 'morden',
|
|
51
|
+
3: 'ropsten',
|
|
52
|
+
4: 'rinkeby',
|
|
53
|
+
5: 'goerli',
|
|
54
|
+
42: 'kovan',
|
|
55
|
+
});
|
|
56
|
+
async function isDevelopmentNetwork(provider) {
|
|
57
|
+
const chainId = await getChainId(provider);
|
|
58
|
+
// 1337 => ganache and geth --dev
|
|
59
|
+
// 31337 => hardhat network
|
|
60
|
+
if (chainId === 1337 || chainId === 31337) {
|
|
61
|
+
return true;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const clientVersion = await getClientVersion(provider);
|
|
65
|
+
const [name] = clientVersion.split('/', 1);
|
|
66
|
+
return name === 'HardhatNetwork' || name === 'EthereumJS TestRPC';
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
exports.isDevelopmentNetwork = isDevelopmentNetwork;
|
|
70
|
+
function isReceiptSuccessful(receipt) {
|
|
71
|
+
return receipt.status === '0x1';
|
|
72
|
+
}
|
|
73
|
+
exports.isReceiptSuccessful = isReceiptSuccessful;
|
|
74
|
+
//# sourceMappingURL=provider.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.js","sourceRoot":"","sources":["../src/provider.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuB;AA2BhB,KAAK,UAAU,YAAY,CAAC,QAA0B;IAC3D,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;AAC1C,CAAC;AAFD,oCAEC;AAEM,KAAK,UAAU,UAAU,CAAC,QAA0B;IACzD,MAAM,EAAE,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;IAClD,OAAO,IAAI,eAAE,CAAC,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,EAAE,KAAK,CAAC,CAAC,QAAQ,EAAE,CAAC;AACzD,CAAC;AAHD,gCAGC;AAEM,KAAK,UAAU,gBAAgB,CAAC,QAA0B;IAC/D,OAAO,QAAQ,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,CAAC,CAAC;AACjD,CAAC;AAFD,4CAEC;AAEM,KAAK,UAAU,YAAY,CAChC,QAA0B,EAC1B,OAAe,EACf,QAAgB,EAChB,KAAK,GAAG,QAAQ;IAEhB,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,kBAAkB,EAAE,CAAC,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,CAAC;IACpF,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5D,OAAO,IAAI,GAAG,MAAM,CAAC;AACvB,CAAC;AATD,oCASC;AAEM,KAAK,UAAU,OAAO,CAAC,QAA0B,EAAE,OAAe,EAAE,KAAK,GAAG,QAAQ;IACzF,OAAO,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AAFD,0BAEC;AAEM,KAAK,UAAU,OAAO,CAAC,QAA0B,EAAE,OAAe,EAAE,KAAc;IACvF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,QAAQ,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;IACrD,OAAO,IAAI,KAAK,IAAI,CAAC;AACvB,CAAC;AAHD,0BAGC;AAEM,KAAK,UAAU,oBAAoB,CACxC,QAA0B,EAC1B,MAAc;IAEd,OAAO,QAAQ,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;AAC7D,CAAC;AALD,oDAKC;AAEM,KAAK,UAAU,qBAAqB,CACzC,QAA0B,EAC1B,MAAc;IAEd,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,2BAA2B,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAC3E,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE;QACnB,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;KACjG;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AATD,sDASC;AAEY,QAAA,YAAY,GAAqC,MAAM,CAAC,MAAM,CAAC;IAC1E,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,SAAS;IACZ,CAAC,EAAE,QAAQ;IACX,EAAE,EAAE,OAAO;CACZ,CAAC,CAAC;AAEI,KAAK,UAAU,oBAAoB,CAAC,QAA0B;IACnE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,QAAQ,CAAC,CAAC;IAC3C,kCAAkC;IAClC,2BAA2B;IAC3B,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,EAAE;QACzC,OAAO,IAAI,CAAC;KACb;SAAM;QACL,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,QAAQ,CAAC,CAAC;QACvD,MAAM,CAAC,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,KAAK,gBAAgB,IAAI,IAAI,KAAK,oBAAoB,CAAC;KACnE;AACH,CAAC;AAXD,oDAWC;AAED,SAAgB,mBAAmB,CAAC,OAAmD;IACrF,OAAO,OAAO,CAAC,MAAM,KAAK,KAAK,CAAC;AAClC,CAAC;AAFD,kDAEC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.test.d.ts","sourceRoot":"","sources":["../src/provider.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
const ava_1 = __importDefault(require("ava"));
|
|
7
|
+
const provider_1 = require("./provider");
|
|
8
|
+
const hash = '0x1234';
|
|
9
|
+
function makeProviderReturning(result) {
|
|
10
|
+
return { send: (_method, _params) => Promise.resolve(result) };
|
|
11
|
+
}
|
|
12
|
+
ava_1.default('getTransactionReceipt returns null', async (t) => {
|
|
13
|
+
const provider = makeProviderReturning(null);
|
|
14
|
+
t.is(await provider_1.getTransactionReceipt(provider, hash), null);
|
|
15
|
+
});
|
|
16
|
+
ava_1.default('getTransactionReceipt status returns 0x0', async (t) => {
|
|
17
|
+
const provider = makeProviderReturning({ status: '0x0' });
|
|
18
|
+
const receipt = await provider_1.getTransactionReceipt(provider, hash);
|
|
19
|
+
t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x0');
|
|
20
|
+
});
|
|
21
|
+
ava_1.default('getTransactionReceipt status returns 0x1', async (t) => {
|
|
22
|
+
const provider = makeProviderReturning({ status: '0x1' });
|
|
23
|
+
const receipt = await provider_1.getTransactionReceipt(provider, hash);
|
|
24
|
+
t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x1');
|
|
25
|
+
});
|
|
26
|
+
ava_1.default('getTransactionReceipt status normalizes to 0x0', async (t) => {
|
|
27
|
+
const provider = makeProviderReturning({ status: '0x000000000000000000000000' });
|
|
28
|
+
const receipt = await provider_1.getTransactionReceipt(provider, hash);
|
|
29
|
+
t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x0');
|
|
30
|
+
});
|
|
31
|
+
ava_1.default('getTransactionReceipt status normalizes to 0x1', async (t) => {
|
|
32
|
+
const provider = makeProviderReturning({ status: '0x000000000000000000000001' });
|
|
33
|
+
const receipt = await provider_1.getTransactionReceipt(provider, hash);
|
|
34
|
+
t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x1');
|
|
35
|
+
});
|
|
36
|
+
ava_1.default('getTransactionReceipt status returns empty hex', async (t) => {
|
|
37
|
+
const provider = makeProviderReturning({ status: '0x' });
|
|
38
|
+
const receipt = await provider_1.getTransactionReceipt(provider, hash);
|
|
39
|
+
t.is(receipt === null || receipt === void 0 ? void 0 : receipt.status, '0x');
|
|
40
|
+
});
|
|
41
|
+
//# sourceMappingURL=provider.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider.test.js","sourceRoot":"","sources":["../src/provider.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,yCAAqE;AAErE,MAAM,IAAI,GAAG,QAAQ,CAAC;AAEtB,SAAS,qBAAqB,CAAC,MAAe;IAC5C,OAAO,EAAE,IAAI,EAAE,CAAC,OAAe,EAAE,OAAkB,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAsB,CAAC;AACxG,CAAC;AAED,aAAI,CAAC,oCAAoC,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACnD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC,CAAC,EAAE,CAAC,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,0CAA0C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,0CAA0C,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IACzD,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,CAAC;IAC1D,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,4BAA4B,EAAE,CAAC,CAAC;IACjF,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,KAAK,CAAC,CAAC;AAC/B,CAAC,CAAC,CAAC;AAEH,aAAI,CAAC,gDAAgD,EAAE,KAAK,EAAC,CAAC,EAAC,EAAE;IAC/D,MAAM,QAAQ,GAAG,qBAAqB,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,OAAO,GAAG,MAAM,gCAAqB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC,CAAC,EAAE,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,IAAI,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { ManifestData } from '../manifest';
|
|
2
|
+
export declare function migrateLegacyProject(): Promise<void>;
|
|
3
|
+
export declare function migrateManifestFiles(manifestFiles: string[]): Promise<Record<string, NetworkExportData>>;
|
|
4
|
+
export declare function deleteLegacyFiles(manifestFiles: string[]): Promise<void>;
|
|
5
|
+
export declare function migrateManifestsData(manifestsData: Record<string, NetworkFileData>): MigrationOutput;
|
|
6
|
+
declare type NetworkExportData = Pick<NetworkFileData, 'proxies' | 'proxyFactory' | 'app' | 'package' | 'provider'>;
|
|
7
|
+
export interface MigrationOutput {
|
|
8
|
+
newManifestsData: Record<string, ManifestData>;
|
|
9
|
+
networksExportData: Record<string, NetworkExportData>;
|
|
10
|
+
}
|
|
11
|
+
interface ContractInterface {
|
|
12
|
+
address?: string;
|
|
13
|
+
constructorCode?: string;
|
|
14
|
+
localBytecodeHash?: string;
|
|
15
|
+
deployedBytecodeHash?: string;
|
|
16
|
+
bodyBytecodeHash?: string;
|
|
17
|
+
types?: any;
|
|
18
|
+
storage?: any;
|
|
19
|
+
warnings?: any;
|
|
20
|
+
[id: string]: any;
|
|
21
|
+
}
|
|
22
|
+
interface SolidityLibInterface {
|
|
23
|
+
address: string;
|
|
24
|
+
constructorCode: string;
|
|
25
|
+
bodyBytecodeHash: string;
|
|
26
|
+
localBytecodeHash: string;
|
|
27
|
+
deployedBytecodeHash: string;
|
|
28
|
+
}
|
|
29
|
+
declare enum ProxyType {
|
|
30
|
+
Upgradeable = "Upgradeable",
|
|
31
|
+
Minimal = "Minimal",
|
|
32
|
+
NonProxy = "NonProxy"
|
|
33
|
+
}
|
|
34
|
+
interface ProxyInterface {
|
|
35
|
+
contractName?: string;
|
|
36
|
+
package?: string;
|
|
37
|
+
address?: string;
|
|
38
|
+
version?: string;
|
|
39
|
+
implementation?: string;
|
|
40
|
+
admin?: string;
|
|
41
|
+
kind?: ProxyType;
|
|
42
|
+
bytecodeHash?: string;
|
|
43
|
+
}
|
|
44
|
+
interface DependencyInterface {
|
|
45
|
+
name?: string;
|
|
46
|
+
package?: string;
|
|
47
|
+
version?: string;
|
|
48
|
+
customDeploy?: boolean;
|
|
49
|
+
}
|
|
50
|
+
interface AddressWrapper {
|
|
51
|
+
address?: string;
|
|
52
|
+
}
|
|
53
|
+
export interface NetworkFileData {
|
|
54
|
+
contracts: {
|
|
55
|
+
[name: string]: ContractInterface;
|
|
56
|
+
};
|
|
57
|
+
solidityLibs: {
|
|
58
|
+
[name: string]: SolidityLibInterface;
|
|
59
|
+
};
|
|
60
|
+
proxies: {
|
|
61
|
+
[contractName: string]: ProxyInterface[];
|
|
62
|
+
};
|
|
63
|
+
manifestVersion?: string;
|
|
64
|
+
zosversion?: string;
|
|
65
|
+
proxyAdmin: AddressWrapper;
|
|
66
|
+
proxyFactory: AddressWrapper;
|
|
67
|
+
app: AddressWrapper;
|
|
68
|
+
package: AddressWrapper;
|
|
69
|
+
provider: AddressWrapper;
|
|
70
|
+
version: string;
|
|
71
|
+
frozen: boolean;
|
|
72
|
+
dependencies: {
|
|
73
|
+
[dependencyName: string]: DependencyInterface;
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
interface ConfigFileCompilerOptions {
|
|
77
|
+
manager: string;
|
|
78
|
+
solcVersion: string;
|
|
79
|
+
contractsDir: string;
|
|
80
|
+
artifactsDir: string;
|
|
81
|
+
compilerSettings: {
|
|
82
|
+
evmVersion: string;
|
|
83
|
+
optimizer: {
|
|
84
|
+
enabled: boolean;
|
|
85
|
+
runs?: string;
|
|
86
|
+
};
|
|
87
|
+
};
|
|
88
|
+
typechain: {
|
|
89
|
+
enabled: boolean;
|
|
90
|
+
outDir?: string;
|
|
91
|
+
target?: string;
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
export interface ProjectFileData {
|
|
95
|
+
name: string;
|
|
96
|
+
version: string;
|
|
97
|
+
manifestVersion?: string;
|
|
98
|
+
zosversion?: string;
|
|
99
|
+
dependencies: {
|
|
100
|
+
[name: string]: string;
|
|
101
|
+
};
|
|
102
|
+
contracts: string[];
|
|
103
|
+
publish: boolean;
|
|
104
|
+
compiler: Partial<ConfigFileCompilerOptions>;
|
|
105
|
+
telemetryOptIn?: boolean;
|
|
106
|
+
}
|
|
107
|
+
export {};
|
|
108
|
+
//# sourceMappingURL=migrate-oz-cli-project.d.ts.map
|