@openzeppelin/upgrades-core 1.11.0 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/artifacts/@openzeppelin/contracts/proxy/ERC1967/ERC1967Proxy.sol/ERC1967Proxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/BeaconProxy.sol/BeaconProxy.dbg.json +1 -1
- package/artifacts/@openzeppelin/contracts/proxy/beacon/UpgradeableBeacon.sol/UpgradeableBeacon.dbg.json +1 -1
- package/dist/add-proxy-to-manifest.d.ts +3 -0
- package/dist/add-proxy-to-manifest.d.ts.map +1 -0
- package/dist/add-proxy-to-manifest.js +15 -0
- package/dist/add-proxy-to-manifest.js.map +1 -0
- package/dist/deployment.d.ts +35 -4
- package/dist/deployment.d.ts.map +1 -1
- package/dist/deployment.js +85 -28
- package/dist/deployment.js.map +1 -1
- package/dist/deployment.test.js +23 -0
- package/dist/deployment.test.js.map +1 -1
- package/dist/eip-1967-type.d.ts +1 -0
- package/dist/eip-1967-type.d.ts.map +1 -1
- package/dist/eip-1967-type.js +6 -1
- package/dist/eip-1967-type.js.map +1 -1
- package/dist/eip-1967.d.ts +1 -0
- package/dist/eip-1967.d.ts.map +1 -1
- package/dist/eip-1967.js +3 -2
- package/dist/eip-1967.js.map +1 -1
- package/dist/impl-address.js +1 -1
- package/dist/impl-address.js.map +1 -1
- package/dist/impl-store.d.ts +24 -3
- package/dist/impl-store.d.ts.map +1 -1
- package/dist/impl-store.js +77 -22
- package/dist/impl-store.js.map +1 -1
- package/dist/impl-store.test.js +24 -0
- package/dist/impl-store.test.js.map +1 -1
- package/dist/index.d.ts +6 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +20 -4
- package/dist/index.js.map +1 -1
- package/dist/manifest-storage-layout.d.ts.map +1 -1
- package/dist/manifest-storage-layout.js +3 -2
- package/dist/manifest-storage-layout.js.map +1 -1
- package/dist/manifest-storage-layout.test.js.map +1 -1
- package/dist/manifest.d.ts +2 -0
- package/dist/manifest.d.ts.map +1 -1
- package/dist/manifest.js +6 -4
- package/dist/manifest.js.map +1 -1
- package/dist/manifest.test.js +32 -0
- package/dist/manifest.test.js.map +1 -1
- package/dist/provider.d.ts +1 -0
- package/dist/provider.d.ts.map +1 -1
- package/dist/provider.js +6 -2
- package/dist/provider.js.map +1 -1
- package/dist/proxy-kind.d.ts +9 -0
- package/dist/proxy-kind.d.ts.map +1 -1
- package/dist/proxy-kind.js +27 -1
- package/dist/proxy-kind.js.map +1 -1
- package/dist/scripts/migrate-oz-cli-project.test.js +1 -1
- package/dist/scripts/migrate-oz-cli-project.test.js.map +1 -1
- package/dist/solc-api.d.ts +5 -0
- package/dist/solc-api.d.ts.map +1 -1
- package/dist/standalone.test.js.map +1 -1
- package/dist/storage/extract.d.ts +1 -1
- package/dist/storage/extract.d.ts.map +1 -1
- package/dist/storage/extract.js +76 -38
- package/dist/storage/extract.js.map +1 -1
- package/dist/storage/layout.d.ts +4 -0
- package/dist/storage/layout.d.ts.map +1 -1
- package/dist/storage/layout.js.map +1 -1
- package/dist/storage/report.test.js.map +1 -1
- package/dist/storage.test.js +1 -1
- package/dist/storage.test.js.map +1 -1
- package/dist/usage-error.d.ts +3 -0
- package/dist/usage-error.d.ts.map +1 -1
- package/dist/usage-error.js +7 -1
- package/dist/usage-error.js.map +1 -1
- package/dist/validate/query.d.ts.map +1 -1
- package/dist/validate/query.js +10 -5
- package/dist/validate/query.js.map +1 -1
- package/dist/validate/run.d.ts.map +1 -1
- package/dist/validate/run.js +1 -1
- package/dist/validate/run.js.map +1 -1
- package/dist/validate.test.js.map +1 -1
- package/package.json +5 -5
- package/src/add-proxy-to-manifest.ts +12 -0
- package/src/deployment.test.ts +25 -0
- package/src/deployment.ts +124 -27
- package/src/eip-1967-type.ts +7 -0
- package/src/eip-1967.ts +4 -3
- package/src/impl-address.ts +1 -1
- package/src/impl-store.test.ts +33 -1
- package/src/impl-store.ts +91 -18
- package/src/index.ts +22 -4
- package/src/manifest-storage-layout.test.ts +3 -2
- package/src/manifest-storage-layout.ts +8 -3
- package/src/manifest.test.ts +34 -1
- package/src/manifest.ts +9 -4
- package/src/provider.ts +5 -1
- package/src/proxy-kind.ts +24 -1
- package/src/scripts/migrate-oz-cli-project.test.ts +1 -1
- package/src/scripts/migrate-oz-cli-project.test.ts.snap +0 -0
- package/src/solc-api.ts +5 -0
- package/src/standalone.test.ts +2 -2
- package/src/storage/extract.ts +98 -52
- package/src/storage/layout.ts +4 -0
- package/src/storage/report.test.ts +2 -2
- package/src/storage/report.test.ts.snap +0 -0
- package/src/storage.test.ts +3 -3
- package/src/storage.test.ts.snap +0 -0
- package/src/usage-error.ts +9 -0
- package/src/utils/parse-type-id.test.ts.md +106 -106
- package/src/utils/parse-type-id.test.ts.snap +0 -0
- package/src/validate/query.ts +9 -5
- package/src/validate/run.ts +6 -1
- package/src/validate.test.ts +2 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-proxy-to-manifest.d.ts","sourceRoot":"","sources":["../src/add-proxy-to-manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,eAAe,EAAE,MAAM,GAAG,CAAC;AAE1D,wBAAsB,kBAAkB,CAAC,IAAI,EAAE,eAAe,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,iBAS1G"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.addProxyToManifest = void 0;
|
|
4
|
+
const _1 = require(".");
|
|
5
|
+
async function addProxyToManifest(kind, address, manifest) {
|
|
6
|
+
await manifest.addProxy({ kind, address });
|
|
7
|
+
if (kind !== 'transparent' && (await manifest.getAdmin())) {
|
|
8
|
+
(0, _1.logWarning)(`A proxy admin was previously deployed on this network`, [
|
|
9
|
+
`This is not natively used with the current kind of proxy ('${kind}').`,
|
|
10
|
+
`Changes to the admin will have no effect on this new proxy.`,
|
|
11
|
+
]);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
exports.addProxyToManifest = addProxyToManifest;
|
|
15
|
+
//# sourceMappingURL=add-proxy-to-manifest.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"add-proxy-to-manifest.js","sourceRoot":"","sources":["../src/add-proxy-to-manifest.ts"],"names":[],"mappings":";;;AAAA,wBAA0D;AAEnD,KAAK,UAAU,kBAAkB,CAAC,IAA6B,EAAE,OAAe,EAAE,QAAkB;IACzG,MAAM,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAE3C,IAAI,IAAI,KAAK,aAAa,IAAI,CAAC,MAAM,QAAQ,CAAC,QAAQ,EAAE,CAAC,EAAE;QACzD,IAAA,aAAU,EAAC,uDAAuD,EAAE;YAClE,8DAA8D,IAAI,KAAK;YACvE,6DAA6D;SAC9D,CAAC,CAAC;KACJ;AACH,CAAC;AATD,gDASC"}
|
package/dist/deployment.d.ts
CHANGED
|
@@ -1,13 +1,44 @@
|
|
|
1
1
|
import { EthereumProvider } from './provider';
|
|
2
|
+
import { UpgradesError } from './error';
|
|
3
|
+
import { ManifestField } from './impl-store';
|
|
2
4
|
export interface Deployment {
|
|
3
5
|
address: string;
|
|
4
6
|
txHash?: string;
|
|
5
7
|
}
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
|
|
8
|
+
export interface DeployOpts {
|
|
9
|
+
/**
|
|
10
|
+
* Timeout in milliseconds to wait for the transaction confirmation when deploying an implementation contract or proxy admin contract. Use `0` to wait indefinitely.
|
|
11
|
+
*/
|
|
12
|
+
timeout?: number;
|
|
13
|
+
/**
|
|
14
|
+
* Polling interval in milliseconds between checks for the transaction confirmation when deploying an implementation contract or proxy admin contract.
|
|
15
|
+
*/
|
|
16
|
+
pollingInterval?: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Resumes a deployment or deploys a new one, based on whether the cached deployment should continue to be used and is valid
|
|
20
|
+
* (has a valid txHash for the current network or has runtime bytecode).
|
|
21
|
+
* If a cached deployment is not valid, deletes it if using a development network, otherwise throws an InvalidDeployment error.
|
|
22
|
+
*
|
|
23
|
+
* @param provider the Ethereum provider
|
|
24
|
+
* @param cached the cached deployment
|
|
25
|
+
* @param deploy the function to deploy a new deployment if needed
|
|
26
|
+
* @param type the manifest lens type. If merge is true, used for the timeout message if a previous deployment is not
|
|
27
|
+
* confirmed within the timeout period. Otherwise not used.
|
|
28
|
+
* @param opts polling timeout and interval options. If merge is true, used to check a previous deployment for confirmation.
|
|
29
|
+
* Otherwise not used.
|
|
30
|
+
* @param deployment the manifest field for this deployment. Optional for backward compatibility.
|
|
31
|
+
* If not provided, invalid deployments will not be deleted in a dev network (which is not a problem if merge is false,
|
|
32
|
+
* since it will be overwritten with the new deployment).
|
|
33
|
+
* @param merge whether the cached deployment is intended to be merged with the new deployment. Defaults to false.
|
|
34
|
+
* @returns the cached deployment if it should be used, otherwise the new deployment from the deploy function
|
|
35
|
+
* @throws {InvalidDeployment} if the cached deployment is invalid and we are not on a dev network
|
|
36
|
+
*/
|
|
37
|
+
export declare function resumeOrDeploy<T extends Deployment>(provider: EthereumProvider, cached: T | undefined, deploy: () => Promise<T>, type?: string, opts?: DeployOpts, deployment?: ManifestField<T>, merge?: boolean): Promise<T>;
|
|
38
|
+
export declare function waitAndValidateDeployment(provider: EthereumProvider, deployment: Deployment, type?: string, opts?: DeployOpts): Promise<void>;
|
|
39
|
+
export declare class TransactionMinedTimeout extends UpgradesError {
|
|
9
40
|
readonly deployment: Deployment;
|
|
10
|
-
constructor(deployment: Deployment);
|
|
41
|
+
constructor(deployment: Deployment, type?: string, configurableTimeout?: boolean);
|
|
11
42
|
}
|
|
12
43
|
export declare class InvalidDeployment extends Error {
|
|
13
44
|
readonly deployment: Deployment;
|
package/dist/deployment.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,gBAAgB,
|
|
1
|
+
{"version":3,"file":"deployment.d.ts","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,gBAAgB,EAQjB,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAoB,aAAa,EAAE,MAAM,cAAc,CAAC;AAI/D,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,UAAU;IACzB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,cAAc,CAAC,CAAC,SAAS,UAAU,EACvD,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,CAAC,GAAG,SAAS,EACrB,MAAM,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACxB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,UAAU,EACjB,UAAU,CAAC,EAAE,aAAa,CAAC,CAAC,CAAC,EAC7B,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,CAAC,CAAC,CASZ;AA6DD,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,gBAAgB,EAC1B,UAAU,EAAE,UAAU,EACtB,IAAI,CAAC,EAAE,MAAM,EACb,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,IAAI,CAAC,CA8Cf;AAED,qBAAa,uBAAwB,SAAQ,aAAa;IAC5C,QAAQ,CAAC,UAAU,EAAE,UAAU;gBAAtB,UAAU,EAAE,UAAU,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,mBAAmB,CAAC,EAAE,OAAO;CAY1F;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IAG9B,QAAQ,CAAC,UAAU,EAAE,UAAU;IAF3C,OAAO,UAAS;gBAEK,UAAU,EAAE,UAAU;IAO3C,IAAI,OAAO,IAAI,MAAM,CAMpB;CACF"}
|
package/dist/deployment.js
CHANGED
|
@@ -8,52 +8,99 @@ const util_1 = require("util");
|
|
|
8
8
|
const debug_1 = __importDefault(require("./utils/debug"));
|
|
9
9
|
const make_non_enumerable_1 = require("./utils/make-non-enumerable");
|
|
10
10
|
const provider_1 = require("./provider");
|
|
11
|
+
const error_1 = require("./error");
|
|
12
|
+
const impl_store_1 = require("./impl-store");
|
|
11
13
|
const sleep = (0, util_1.promisify)(setTimeout);
|
|
12
|
-
|
|
14
|
+
/**
|
|
15
|
+
* Resumes a deployment or deploys a new one, based on whether the cached deployment should continue to be used and is valid
|
|
16
|
+
* (has a valid txHash for the current network or has runtime bytecode).
|
|
17
|
+
* If a cached deployment is not valid, deletes it if using a development network, otherwise throws an InvalidDeployment error.
|
|
18
|
+
*
|
|
19
|
+
* @param provider the Ethereum provider
|
|
20
|
+
* @param cached the cached deployment
|
|
21
|
+
* @param deploy the function to deploy a new deployment if needed
|
|
22
|
+
* @param type the manifest lens type. If merge is true, used for the timeout message if a previous deployment is not
|
|
23
|
+
* confirmed within the timeout period. Otherwise not used.
|
|
24
|
+
* @param opts polling timeout and interval options. If merge is true, used to check a previous deployment for confirmation.
|
|
25
|
+
* Otherwise not used.
|
|
26
|
+
* @param deployment the manifest field for this deployment. Optional for backward compatibility.
|
|
27
|
+
* If not provided, invalid deployments will not be deleted in a dev network (which is not a problem if merge is false,
|
|
28
|
+
* since it will be overwritten with the new deployment).
|
|
29
|
+
* @param merge whether the cached deployment is intended to be merged with the new deployment. Defaults to false.
|
|
30
|
+
* @returns the cached deployment if it should be used, otherwise the new deployment from the deploy function
|
|
31
|
+
* @throws {InvalidDeployment} if the cached deployment is invalid and we are not on a dev network
|
|
32
|
+
*/
|
|
33
|
+
async function resumeOrDeploy(provider, cached, deploy, type, opts, deployment, merge) {
|
|
34
|
+
const validated = await validateCached(cached, provider, type, opts, deployment, merge);
|
|
35
|
+
if (validated === undefined || merge) {
|
|
36
|
+
const deployment = await deploy();
|
|
37
|
+
(0, debug_1.default)('initiated deployment', 'transaction hash:', deployment.txHash, 'merge:', merge);
|
|
38
|
+
return deployment;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
return validated;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
exports.resumeOrDeploy = resumeOrDeploy;
|
|
45
|
+
async function validateCached(cached, provider, type, opts, deployment, merge) {
|
|
13
46
|
if (cached !== undefined) {
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
47
|
+
try {
|
|
48
|
+
await validateStoredDeployment(cached, provider, type, opts, merge);
|
|
49
|
+
}
|
|
50
|
+
catch (e) {
|
|
51
|
+
if (e instanceof InvalidDeployment && (await (0, provider_1.isDevelopmentNetwork)(provider))) {
|
|
52
|
+
(0, debug_1.default)('ignoring invalid deployment in development network', e.deployment.address);
|
|
53
|
+
if (deployment !== undefined) {
|
|
54
|
+
(0, impl_store_1.deleteDeployment)(deployment);
|
|
55
|
+
}
|
|
56
|
+
return undefined;
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
throw e;
|
|
60
|
+
}
|
|
19
61
|
}
|
|
62
|
+
}
|
|
63
|
+
return cached;
|
|
64
|
+
}
|
|
65
|
+
async function validateStoredDeployment(stored, provider, type, opts, merge) {
|
|
66
|
+
const { txHash } = stored;
|
|
67
|
+
if (txHash !== undefined) {
|
|
20
68
|
// If there is a deployment with txHash stored, we look its transaction up. If the
|
|
21
69
|
// transaction is found, the deployment is reused.
|
|
22
70
|
(0, debug_1.default)('found previous deployment', txHash);
|
|
23
71
|
const tx = await (0, provider_1.getTransactionByHash)(provider, txHash);
|
|
24
72
|
if (tx !== null) {
|
|
25
73
|
(0, debug_1.default)('resuming previous deployment', txHash);
|
|
26
|
-
|
|
74
|
+
if (merge) {
|
|
75
|
+
// If merging, wait for the existing deployment to be mined
|
|
76
|
+
waitAndValidateDeployment(provider, stored, type, opts);
|
|
77
|
+
}
|
|
27
78
|
}
|
|
28
|
-
else
|
|
79
|
+
else {
|
|
29
80
|
// If the transaction is not found we throw an error, except if we're in
|
|
30
81
|
// a development network then we simply silently redeploy.
|
|
31
|
-
|
|
82
|
+
// This error should be caught by the caller to determine if we're in a dev network.
|
|
83
|
+
throw new InvalidDeployment(stored);
|
|
32
84
|
}
|
|
33
|
-
|
|
34
|
-
|
|
85
|
+
}
|
|
86
|
+
else {
|
|
87
|
+
const existingBytecode = await (0, provider_1.getCode)(provider, stored.address);
|
|
88
|
+
if ((0, provider_1.isEmpty)(existingBytecode)) {
|
|
89
|
+
throw new InvalidDeployment(stored);
|
|
35
90
|
}
|
|
36
91
|
}
|
|
37
|
-
const deployment = await deploy();
|
|
38
|
-
(0, debug_1.default)('initiated deployment', deployment.txHash);
|
|
39
|
-
return deployment;
|
|
40
92
|
}
|
|
41
|
-
|
|
42
|
-
|
|
93
|
+
async function waitAndValidateDeployment(provider, deployment, type, opts) {
|
|
94
|
+
var _a, _b;
|
|
43
95
|
const { txHash, address } = deployment;
|
|
44
|
-
// Poll for 60 seconds with a 5 second poll interval.
|
|
45
|
-
|
|
46
|
-
const
|
|
47
|
-
|
|
96
|
+
// Poll for 60 seconds with a 5 second poll interval by default.
|
|
97
|
+
const pollTimeout = (_a = opts === null || opts === void 0 ? void 0 : opts.timeout) !== null && _a !== void 0 ? _a : 60e3;
|
|
98
|
+
const pollInterval = (_b = opts === null || opts === void 0 ? void 0 : opts.pollingInterval) !== null && _b !== void 0 ? _b : 5e3;
|
|
99
|
+
(0, debug_1.default)('polling timeout', pollTimeout, 'polling interval', pollInterval);
|
|
48
100
|
if (txHash !== undefined) {
|
|
49
101
|
const startTime = Date.now();
|
|
50
102
|
// eslint-disable-next-line no-constant-condition
|
|
51
103
|
while (true) {
|
|
52
|
-
const elapsedTime = Date.now() - startTime;
|
|
53
|
-
if (elapsedTime >= pollTimeout) {
|
|
54
|
-
// A timeout is NOT an InvalidDeployment
|
|
55
|
-
throw new TransactionMinedTimeout(deployment);
|
|
56
|
-
}
|
|
57
104
|
(0, debug_1.default)('verifying deployment tx mined', txHash);
|
|
58
105
|
const receipt = await (0, provider_1.getTransactionReceipt)(provider, txHash);
|
|
59
106
|
if (receipt && (0, provider_1.isReceiptSuccessful)(receipt)) {
|
|
@@ -68,6 +115,13 @@ async function waitAndValidateDeployment(provider, deployment) {
|
|
|
68
115
|
(0, debug_1.default)('waiting for deployment tx mined', txHash);
|
|
69
116
|
await sleep(pollInterval);
|
|
70
117
|
}
|
|
118
|
+
if (pollTimeout != 0) {
|
|
119
|
+
const elapsedTime = Date.now() - startTime;
|
|
120
|
+
if (elapsedTime >= pollTimeout) {
|
|
121
|
+
// A timeout is NOT an InvalidDeployment
|
|
122
|
+
throw new TransactionMinedTimeout(deployment, type, !!opts);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
71
125
|
}
|
|
72
126
|
}
|
|
73
127
|
(0, debug_1.default)('verifying code in target address', address);
|
|
@@ -82,9 +136,12 @@ async function waitAndValidateDeployment(provider, deployment) {
|
|
|
82
136
|
(0, debug_1.default)('code in target address found', address);
|
|
83
137
|
}
|
|
84
138
|
exports.waitAndValidateDeployment = waitAndValidateDeployment;
|
|
85
|
-
class TransactionMinedTimeout extends
|
|
86
|
-
constructor(deployment) {
|
|
87
|
-
super(`Timed out waiting for transaction ${deployment.txHash}
|
|
139
|
+
class TransactionMinedTimeout extends error_1.UpgradesError {
|
|
140
|
+
constructor(deployment, type, configurableTimeout) {
|
|
141
|
+
super(`Timed out waiting for ${type ? type + ' ' : ''}contract deployment to address ${deployment.address} with transaction ${deployment.txHash}`, () => 'Run the function again to continue waiting for the transaction confirmation.' +
|
|
142
|
+
(configurableTimeout
|
|
143
|
+
? ' If the problem persists, adjust the polling parameters with the timeout and pollingInterval options.'
|
|
144
|
+
: ''));
|
|
88
145
|
this.deployment = deployment;
|
|
89
146
|
}
|
|
90
147
|
}
|
package/dist/deployment.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":";;;;;;AAAA,+BAAiC;AAEjC,0DAAkC;AAClC,qEAAgE;AAChE,
|
|
1
|
+
{"version":3,"file":"deployment.js","sourceRoot":"","sources":["../src/deployment.ts"],"names":[],"mappings":"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"}
|
package/dist/deployment.test.js
CHANGED
|
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const ava_1 = __importDefault(require("ava"));
|
|
7
7
|
const util_1 = require("util");
|
|
8
|
+
const _1 = require(".");
|
|
8
9
|
const deployment_1 = require("./deployment");
|
|
9
10
|
const stub_provider_1 = require("./stub-provider");
|
|
10
11
|
const sleep = (0, util_1.promisify)(setTimeout);
|
|
@@ -89,4 +90,26 @@ const sleep = (0, util_1.promisify)(setTimeout);
|
|
|
89
90
|
provider.addContract(deployment.address);
|
|
90
91
|
await (0, deployment_1.waitAndValidateDeployment)(provider, deployment);
|
|
91
92
|
});
|
|
93
|
+
(0, ava_1.default)('tx mined timeout - no params', async (t) => {
|
|
94
|
+
const provider = (0, stub_provider_1.stubProvider)();
|
|
95
|
+
const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deploy);
|
|
96
|
+
try {
|
|
97
|
+
throw new _1.TransactionMinedTimeout(deployment);
|
|
98
|
+
}
|
|
99
|
+
catch (e) {
|
|
100
|
+
const EXPECTED = /Timed out waiting for contract deployment to address \S+ with transaction \S+\n\nRun the function again to continue waiting for the transaction confirmation./;
|
|
101
|
+
t.true(EXPECTED.test(e.message), e.message);
|
|
102
|
+
}
|
|
103
|
+
});
|
|
104
|
+
(0, ava_1.default)('tx mined timeout - params', async (t) => {
|
|
105
|
+
const provider = (0, stub_provider_1.stubProvider)();
|
|
106
|
+
const deployment = await (0, deployment_1.resumeOrDeploy)(provider, undefined, provider.deploy);
|
|
107
|
+
try {
|
|
108
|
+
throw new _1.TransactionMinedTimeout(deployment, 'implementation', true);
|
|
109
|
+
}
|
|
110
|
+
catch (e) {
|
|
111
|
+
const EXPECTED = /Timed out waiting for implementation contract deployment to address \S+ with transaction \S+\n\nRun the function again to continue waiting for the transaction confirmation. If the problem persists, adjust the polling parameters with the timeout and pollingInterval options./;
|
|
112
|
+
t.true(EXPECTED.test(e.message), e.message);
|
|
113
|
+
}
|
|
114
|
+
});
|
|
92
115
|
//# sourceMappingURL=deployment.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deployment.test.js","sourceRoot":"","sources":["../src/deployment.test.ts"],"names":[],"mappings":";;;;;AAAA,8CAAuB;AACvB,+BAAiC;
|
|
1
|
+
{"version":3,"file":"deployment.test.js","sourceRoot":"","sources":["../src/deployment.test.ts"],"names":[],"mappings":"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"}
|
package/dist/eip-1967-type.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EthereumProvider } from './provider';
|
|
2
2
|
export declare function isTransparentOrUUPSProxy(provider: EthereumProvider, address: string): Promise<boolean>;
|
|
3
|
+
export declare function isTransparentProxy(provider: EthereumProvider, address: string): Promise<boolean>;
|
|
3
4
|
export declare function isBeaconProxy(provider: EthereumProvider, address: string): Promise<boolean>;
|
|
4
5
|
//# sourceMappingURL=eip-1967-type.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip-1967-type.d.ts","sourceRoot":"","sources":["../src/eip-1967-type.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"eip-1967-type.d.ts","sourceRoot":"","sources":["../src/eip-1967-type.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAE9C,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAY5G;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAGtG;AAED,wBAAsB,aAAa,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAYjG"}
|
package/dist/eip-1967-type.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isBeaconProxy = exports.isTransparentOrUUPSProxy = void 0;
|
|
3
|
+
exports.isBeaconProxy = exports.isTransparentProxy = exports.isTransparentOrUUPSProxy = void 0;
|
|
4
4
|
const eip_1967_1 = require("./eip-1967");
|
|
5
5
|
async function isTransparentOrUUPSProxy(provider, address) {
|
|
6
6
|
try {
|
|
@@ -18,6 +18,11 @@ async function isTransparentOrUUPSProxy(provider, address) {
|
|
|
18
18
|
}
|
|
19
19
|
}
|
|
20
20
|
exports.isTransparentOrUUPSProxy = isTransparentOrUUPSProxy;
|
|
21
|
+
async function isTransparentProxy(provider, address) {
|
|
22
|
+
const adminAddress = await (0, eip_1967_1.getAdminAddress)(provider, address);
|
|
23
|
+
return !(0, eip_1967_1.isEmptySlot)(adminAddress);
|
|
24
|
+
}
|
|
25
|
+
exports.isTransparentProxy = isTransparentProxy;
|
|
21
26
|
async function isBeaconProxy(provider, address) {
|
|
22
27
|
try {
|
|
23
28
|
await (0, eip_1967_1.getBeaconAddress)(provider, address);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip-1967-type.js","sourceRoot":"","sources":["../src/eip-1967-type.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"eip-1967-type.js","sourceRoot":"","sources":["../src/eip-1967-type.ts"],"names":[],"mappings":";;;AAAA,yCAOoB;AAGb,KAAK,UAAU,wBAAwB,CAAC,QAA0B,EAAE,OAAe;IACxF,IAAI;QACF,MAAM,IAAA,mCAAwB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,2FAA2F;QAC3F,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,wCAA6B,EAAE;YAC9C,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAZD,4DAYC;AAEM,KAAK,UAAU,kBAAkB,CAAC,QAA0B,EAAE,OAAe;IAClF,MAAM,YAAY,GAAG,MAAM,IAAA,0BAAe,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IAC9D,OAAO,CAAC,IAAA,sBAAW,EAAC,YAAY,CAAC,CAAC;AACpC,CAAC;AAHD,gDAGC;AAEM,KAAK,UAAU,aAAa,CAAC,QAA0B,EAAE,OAAe;IAC7E,IAAI;QACF,MAAM,IAAA,2BAAgB,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC1C,iFAAiF;QACjF,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,gCAAqB,EAAE;YACtC,OAAO,KAAK,CAAC;SACd;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAZD,sCAYC"}
|
package/dist/eip-1967.d.ts
CHANGED
|
@@ -9,4 +9,5 @@ export declare function getImplementationAddress(provider: EthereumProvider, add
|
|
|
9
9
|
export declare function getBeaconAddress(provider: EthereumProvider, address: string): Promise<string>;
|
|
10
10
|
export declare function toFallbackEip1967Hash(label: string): string;
|
|
11
11
|
export declare function toEip1967Hash(label: string): string;
|
|
12
|
+
export declare function isEmptySlot(storage: string): boolean;
|
|
12
13
|
//# sourceMappingURL=eip-1967.d.ts.map
|
package/dist/eip-1967.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip-1967.d.ts","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAG5D,qBAAa,6BAA8B,SAAQ,aAAa;CAAG;
|
|
1
|
+
{"version":3,"file":"eip-1967.d.ts","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAgB,MAAM,YAAY,CAAC;AAG5D,qBAAa,6BAA8B,SAAQ,aAAa;CAAG;AACnE,qBAAa,qBAAsB,SAAQ,aAAa;CAAG;AAE3D,wBAAsB,eAAe,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CASlG;AAED,wBAAsB,wBAAwB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAe3G;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAQnG;AAeD,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAE3D;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAGpD"}
|
package/dist/eip-1967.js
CHANGED
|
@@ -3,7 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.toEip1967Hash = exports.toFallbackEip1967Hash = exports.getBeaconAddress = exports.getImplementationAddress = exports.getAdminAddress = exports.EIP1967BeaconNotFound = exports.EIP1967ImplementationNotFound = void 0;
|
|
6
|
+
exports.isEmptySlot = exports.toEip1967Hash = exports.toFallbackEip1967Hash = exports.getBeaconAddress = exports.getImplementationAddress = exports.getAdminAddress = exports.EIP1967BeaconNotFound = exports.EIP1967ImplementationNotFound = void 0;
|
|
7
7
|
const bn_js_1 = __importDefault(require("bn.js"));
|
|
8
8
|
const ethereumjs_util_1 = require("ethereumjs-util");
|
|
9
9
|
const error_1 = require("./error");
|
|
@@ -23,7 +23,7 @@ exports.getAdminAddress = getAdminAddress;
|
|
|
23
23
|
async function getImplementationAddress(provider, address) {
|
|
24
24
|
const storage = await getStorageFallback(provider, address, toEip1967Hash('eip1967.proxy.implementation'), toFallbackEip1967Hash('org.zeppelinos.proxy.implementation'));
|
|
25
25
|
if (isEmptySlot(storage)) {
|
|
26
|
-
throw new EIP1967ImplementationNotFound(`Contract at ${address} doesn't look like an
|
|
26
|
+
throw new EIP1967ImplementationNotFound(`Contract at ${address} doesn't look like an ERC 1967 proxy with a logic contract address`);
|
|
27
27
|
}
|
|
28
28
|
return parseAddressFromStorage(storage);
|
|
29
29
|
}
|
|
@@ -60,6 +60,7 @@ function isEmptySlot(storage) {
|
|
|
60
60
|
storage = storage.replace(/^0x/, '');
|
|
61
61
|
return new bn_js_1.default(storage, 'hex').isZero();
|
|
62
62
|
}
|
|
63
|
+
exports.isEmptySlot = isEmptySlot;
|
|
63
64
|
function parseAddressFromStorage(storage) {
|
|
64
65
|
const address = (0, address_1.parseAddress)(storage);
|
|
65
66
|
if (address === undefined) {
|
package/dist/eip-1967.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"eip-1967.js","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAuB;AACvB,qDAA4C;AAC5C,mCAAwC;AACxC,yCAA4D;AAC5D,6CAA+C;AAE/C,MAAa,6BAA8B,SAAQ,qBAAa;CAAG;AAAnE,sEAAmE;
|
|
1
|
+
{"version":3,"file":"eip-1967.js","sourceRoot":"","sources":["../src/eip-1967.ts"],"names":[],"mappings":"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"}
|
package/dist/impl-address.js
CHANGED
|
@@ -24,7 +24,7 @@ async function getImplementationAddressFromBeacon(provider, beaconAddress) {
|
|
|
24
24
|
catch (e) {
|
|
25
25
|
if (!(e.message.includes('function selector was not recognized') ||
|
|
26
26
|
e.message.includes('invalid opcode') ||
|
|
27
|
-
e.message.includes('
|
|
27
|
+
e.message.includes('revert'))) {
|
|
28
28
|
throw e;
|
|
29
29
|
} // otherwise fall through with no result
|
|
30
30
|
}
|
package/dist/impl-address.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-address.js","sourceRoot":"","sources":["../src/impl-address.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAC5C,wBAOW;AAGX,6CAA+C;AAE/C,MAAa,aAAc,SAAQ,gBAAa;CAAG;AAAnD,sCAAmD;AAEnD;;;;;;GAMG;AACI,KAAK,UAAU,kCAAkC,CACtD,QAA0B,EAC1B,aAAqB;IAErB,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,IAAI,MAA0B,CAAC;IAC/B,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,IAAA,OAAI,EAAC,QAAQ,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;QAChF,MAAM,GAAG,IAAA,sBAAY,EAAC,WAAW,CAAC,CAAC;KACpC;IAAC,OAAO,CAAM,EAAE;QACf,IACE,CAAC,CACC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"impl-address.js","sourceRoot":"","sources":["../src/impl-address.ts"],"names":[],"mappings":";;;AAAA,qDAA4C;AAC5C,wBAOW;AAGX,6CAA+C;AAE/C,MAAa,aAAc,SAAQ,gBAAa;CAAG;AAAnD,sCAAmD;AAEnD;;;;;;GAMG;AACI,KAAK,UAAU,kCAAkC,CACtD,QAA0B,EAC1B,aAAqB;IAErB,MAAM,sBAAsB,GAAG,IAAI,GAAG,IAAA,2BAAS,EAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC7G,IAAI,MAA0B,CAAC;IAC/B,IAAI;QACF,MAAM,WAAW,GAAG,MAAM,IAAA,OAAI,EAAC,QAAQ,EAAE,aAAa,EAAE,sBAAsB,CAAC,CAAC;QAChF,MAAM,GAAG,IAAA,sBAAY,EAAC,WAAW,CAAC,CAAC;KACpC;IAAC,OAAO,CAAM,EAAE;QACf,IACE,CAAC,CACC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,sCAAsC,CAAC;YAC1D,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAC;YACpC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAC7B,EACD;YACA,MAAM,CAAC,CAAC;SACT,CAAC,wCAAwC;KAC3C;IACD,IAAI,MAAM,KAAK,SAAS,EAAE;QACxB,MAAM,IAAI,aAAa,CAAC,eAAe,aAAa,6BAA6B,CAAC,CAAC;KACpF;IACD,OAAO,MAAM,CAAC;AAChB,CAAC;AAxBD,gFAwBC;AAED;;;;GAIG;AACI,KAAK,UAAU,iCAAiC,CACrD,QAA0B,EAC1B,YAAoB;IAEpB,IAAI;QACF,OAAO,MAAM,IAAA,2BAAwB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;KAC/D;IAAC,OAAO,CAAM,EAAE;QACf,IAAI,CAAC,YAAY,gCAA6B,EAAE;YAC9C,IAAI;gBACF,MAAM,aAAa,GAAG,MAAM,IAAA,mBAAgB,EAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;gBACrE,OAAO,MAAM,kCAAkC,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;aAC1E;YAAC,OAAO,CAAM,EAAE;gBACf,IAAI,CAAC,YAAY,wBAAqB,EAAE;oBACtC,OAAO,SAAS,CAAC;iBAClB;qBAAM;oBACL,MAAM,CAAC,CAAC;iBACT;aACF;SACF;aAAM;YACL,MAAM,CAAC,CAAC;SACT;KACF;AACH,CAAC;AAtBD,8EAsBC"}
|
package/dist/impl-store.d.ts
CHANGED
|
@@ -1,7 +1,28 @@
|
|
|
1
1
|
import { ImplDeployment } from './manifest';
|
|
2
2
|
import { EthereumProvider } from './provider';
|
|
3
3
|
import { Deployment } from './deployment';
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
export
|
|
4
|
+
import { Version } from './version';
|
|
5
|
+
import { DeployOpts } from '.';
|
|
6
|
+
export interface ManifestField<T> {
|
|
7
|
+
get(): T | undefined;
|
|
8
|
+
set(value: T | undefined): void;
|
|
9
|
+
merge?(value: T | undefined): void;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Deletes the deployment by setting it to undefined.
|
|
13
|
+
* Should only be used during a manifest run.
|
|
14
|
+
*/
|
|
15
|
+
export declare function deleteDeployment(deployment: ManifestField<Deployment>): void;
|
|
16
|
+
export declare function fetchOrDeploy(version: Version, provider: EthereumProvider, deploy: () => Promise<ImplDeployment>, opts?: DeployOpts, merge?: boolean): Promise<string>;
|
|
17
|
+
/**
|
|
18
|
+
* Merge the addresses in the deployments and returns them.
|
|
19
|
+
*
|
|
20
|
+
* @param existing existing deployment
|
|
21
|
+
* @param value deployment to add
|
|
22
|
+
*/
|
|
23
|
+
export declare function mergeAddresses(existing: ImplDeployment, value: ImplDeployment): {
|
|
24
|
+
address: string;
|
|
25
|
+
allAddresses: string[];
|
|
26
|
+
};
|
|
27
|
+
export declare function fetchOrDeployAdmin(provider: EthereumProvider, deploy: () => Promise<Deployment>, opts?: DeployOpts): Promise<string>;
|
|
7
28
|
//# sourceMappingURL=impl-store.d.ts.map
|
package/dist/impl-store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"impl-store.d.ts","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,UAAU,EAAgE,MAAM,cAAc,CAAC;AACxG,OAAO,
|
|
1
|
+
{"version":3,"file":"impl-store.d.ts","sourceRoot":"","sources":["../src/impl-store.ts"],"names":[],"mappings":"AACA,OAAO,EAA0B,cAAc,EAAE,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAwB,MAAM,YAAY,CAAC;AACpE,OAAO,EAAE,UAAU,EAAgE,MAAM,cAAc,CAAC;AACxG,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAAE,UAAU,EAAE,MAAM,GAAG,CAAC;AAQ/B,MAAM,WAAW,aAAa,CAAC,CAAC;IAC9B,GAAG,IAAI,CAAC,GAAG,SAAS,CAAC;IACrB,GAAG,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;IAChC,KAAK,CAAC,CAAC,KAAK,EAAE,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC;CACpC;AA0ED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,aAAa,CAAC,UAAU,CAAC,QAErE;AAED,wBAAsB,aAAa,CACjC,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,cAAc,CAAC,EACrC,IAAI,CAAC,EAAE,UAAU,EACjB,KAAK,CAAC,EAAE,OAAO,GACd,OAAO,CAAC,MAAM,CAAC,CAEjB;AAiBD;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc;;;EAU7E;AAED,wBAAsB,kBAAkB,CACtC,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,MAAM,OAAO,CAAC,UAAU,CAAC,EACjC,IAAI,CAAC,EAAE,UAAU,GAChB,OAAO,CAAC,MAAM,CAAC,CAEjB"}
|