@rocketh/proxy 0.12.0 → 0.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/dist/index.d.ts +6 -7
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +258 -247
- package/dist/index.js.map +1 -1
- package/package.json +4 -4
package/dist/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { Abi } from 'abitype';
|
|
2
2
|
import type { Artifact, DeploymentConstruction, Deployment, Environment } from 'rocketh';
|
|
3
3
|
import type { EIP1193Account } from 'eip-1193';
|
|
4
|
-
import { Chain } from 'viem';
|
|
5
4
|
import { DeployOptions } from '@rocketh/deploy';
|
|
6
5
|
export type PredefinedProxyContract = 'ERC173Proxy' | 'ERC173ProxyWithReceive' | 'UUPS' | 'SharedAdminOpenZeppelinTransparentProxy' | 'SharedAdminOptimizedTransparentProxy';
|
|
7
6
|
export type ProxyDeployOptions = Omit<DeployOptions, 'skipIfAlreadyDeployed' | 'alwaysOverride'> & {
|
|
@@ -16,13 +15,13 @@ export type ProxyDeployOptions = Omit<DeployOptions, 'skipIfAlreadyDeployed' | '
|
|
|
16
15
|
proxyAdminName?: string;
|
|
17
16
|
});
|
|
18
17
|
};
|
|
19
|
-
export type ImplementationDeployer<TAbi extends Abi
|
|
20
|
-
export type ProxyEnhancedDeploymentConstruction<TAbi extends Abi
|
|
21
|
-
artifact: Artifact<TAbi> | ImplementationDeployer<TAbi
|
|
18
|
+
export type ImplementationDeployer<TAbi extends Abi> = (name: string, args: Omit<DeploymentConstruction<TAbi>, 'artifact'>) => Promise<Deployment<TAbi>>;
|
|
19
|
+
export type ProxyEnhancedDeploymentConstruction<TAbi extends Abi> = Omit<DeploymentConstruction<TAbi>, 'artifact'> & {
|
|
20
|
+
artifact: Artifact<TAbi> | ImplementationDeployer<TAbi>;
|
|
22
21
|
};
|
|
23
|
-
export type ProxyEnhancedDeploymentConstructionWithoutFunction<TAbi extends Abi
|
|
22
|
+
export type ProxyEnhancedDeploymentConstructionWithoutFunction<TAbi extends Abi> = Omit<DeploymentConstruction<TAbi>, 'artifact'> & {
|
|
24
23
|
artifact: Artifact<TAbi>;
|
|
25
24
|
};
|
|
26
|
-
export type DeployViaProxyFunction = <TAbi extends Abi
|
|
27
|
-
export declare function deployViaProxy<TAbi extends Abi
|
|
25
|
+
export type DeployViaProxyFunction = <TAbi extends Abi>(name: string, params: ProxyEnhancedDeploymentConstruction<TAbi>, options?: ProxyDeployOptions) => Promise<Deployment<TAbi>>;
|
|
26
|
+
export declare function deployViaProxy(env: Environment): <TAbi extends Abi>(name: string, params: ProxyEnhancedDeploymentConstruction<TAbi>, options?: ProxyDeployOptions) => Promise<Deployment<TAbi>>;
|
|
28
27
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAc,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACvF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAc,MAAM,SAAS,CAAC;AACzC,OAAO,KAAK,EAAC,QAAQ,EAAE,sBAAsB,EAAE,UAAU,EAAE,WAAW,EAAC,MAAM,SAAS,CAAC;AACvF,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAG7C,OAAO,EAAS,aAAa,EAAC,MAAM,iBAAiB,CAAC;AAYtD,MAAM,MAAM,uBAAuB,GAChC,aAAa,GACb,wBAAwB,GACxB,MAAM,GACN,yCAAyC,GACzC,sCAAsC,CAAC;AAE1C,MAAM,MAAM,kBAAkB,GAAG,IAAI,CAAC,aAAa,EAAE,uBAAuB,GAAG,gBAAgB,CAAC,GAAG;IAClG,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,KAAK,CAAC,EAAE,cAAc,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EACX,uBAAuB,GACvB,CAAC;QAAC,IAAI,EAAE,uBAAuB,CAAA;KAAC,GAAG;QACnC,IAAI,EAAE,yCAAyC,GAAG,sCAAsC,CAAC;QACzF,cAAc,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC,CAAC;CAYN,CAAC;AAEF,MAAM,MAAM,sBAAsB,CAAC,IAAI,SAAS,GAAG,IAAI,CACtD,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,KAChD,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAG/B,MAAM,MAAM,mCAAmC,CAAC,IAAI,SAAS,GAAG,IAAI,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC,GAAG;IACpH,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;CACxD,CAAC;AAEF,MAAM,MAAM,kDAAkD,CAAC,IAAI,SAAS,GAAG,IAAI,IAAI,CACtF,sBAAsB,CAAC,IAAI,CAAC,EAC5B,UAAU,CACV,GAAG;IACH,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,CAAC,IAAI,SAAS,GAAG,EACrD,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mCAAmC,CAAC,IAAI,CAAC,EACjD,OAAO,CAAC,EAAE,kBAAkB,KACxB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;AAE/B,wBAAgB,cAAc,CAC7B,GAAG,EAAE,WAAW,GACd,CAAC,IAAI,SAAS,GAAG,EACnB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,mCAAmC,CAAC,IAAI,CAAC,EACjD,OAAO,CAAC,EAAE,kBAAkB,KACxB,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAyV7B"}
|
package/dist/index.js
CHANGED
|
@@ -10,283 +10,294 @@ import OptimizedTransparentUpgradeableProxy from './hardhat-deploy-v1-artifacts/
|
|
|
10
10
|
import DefaultProxyAdmin from './hardhat-deploy-v1-artifacts/ProxyAdmin.js';
|
|
11
11
|
import { execute, read } from '@rocketh/read-execute';
|
|
12
12
|
const logger = logs('@rocketh/proxy');
|
|
13
|
-
export
|
|
14
|
-
const
|
|
15
|
-
const
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
13
|
+
export function deployViaProxy(env) {
|
|
14
|
+
const _deploy = deploy(env);
|
|
15
|
+
const _read = read(env);
|
|
16
|
+
const _execute = execute(env);
|
|
17
|
+
return async (name, params, options) => {
|
|
18
|
+
const proxyName = `${name}_Proxy`;
|
|
19
|
+
const implementationName = `${name}_Implementation`;
|
|
20
|
+
let existingDeployment = env.getOrNull(name);
|
|
21
|
+
if (options?.proxyDisabled) {
|
|
22
|
+
if (existingDeployment) {
|
|
23
|
+
throw new Error(`cannot deploy ${name} with proxyDisabled, already deployed`);
|
|
24
|
+
}
|
|
25
|
+
else {
|
|
26
|
+
if (typeof params.artifact === 'function') {
|
|
27
|
+
return params.artifact(name, params);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
// TODO any ?
|
|
31
|
+
return _deploy(name, params, options);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
const deployResult = checkUpgradeIndex(existingDeployment, options?.upgradeIndex);
|
|
36
|
+
if (deployResult) {
|
|
37
|
+
return deployResult;
|
|
38
|
+
}
|
|
39
|
+
const { account, artifact, args, ...viemArgs } = params;
|
|
40
|
+
let address;
|
|
41
|
+
if (!account) {
|
|
42
|
+
throw new Error(`no account specified`);
|
|
43
|
+
}
|
|
44
|
+
if (account.startsWith('0x')) {
|
|
45
|
+
address = account;
|
|
20
46
|
}
|
|
21
47
|
else {
|
|
22
|
-
if (
|
|
23
|
-
|
|
48
|
+
if (env.namedAccounts) {
|
|
49
|
+
address = env.namedAccounts[account];
|
|
50
|
+
if (!address) {
|
|
51
|
+
throw new Error(`no address for ${account}`);
|
|
52
|
+
}
|
|
24
53
|
}
|
|
25
54
|
else {
|
|
26
|
-
|
|
27
|
-
return deploy(env, name, params, options);
|
|
55
|
+
throw new Error(`no accounts setup, cannot get address for ${account}`);
|
|
28
56
|
}
|
|
29
57
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
58
|
+
let viaAdminContract;
|
|
59
|
+
let proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
60
|
+
let proxyArtifact = ERC173Proxy;
|
|
61
|
+
if (options?.proxyContract) {
|
|
62
|
+
const proxyContractDefinition = typeof options.proxyContract === 'string' ? options.proxyContract : options.proxyContract.type;
|
|
63
|
+
switch (proxyContractDefinition) {
|
|
64
|
+
case 'ERC173Proxy':
|
|
65
|
+
proxyArtifact = ERC173Proxy;
|
|
66
|
+
proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
67
|
+
break;
|
|
68
|
+
case 'ERC173ProxyWithReceive':
|
|
69
|
+
proxyArtifact = ERC173ProxyWithReceive;
|
|
70
|
+
proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
71
|
+
break;
|
|
72
|
+
case 'UUPS':
|
|
73
|
+
proxyArtifact = ERC1967Proxy;
|
|
74
|
+
proxyArgsTemplate = ['{implementation}', '{data}'];
|
|
75
|
+
break;
|
|
76
|
+
case 'SharedAdminOpenZeppelinTransparentProxy':
|
|
77
|
+
proxyArtifact = TransparentUpgradeableProxy;
|
|
78
|
+
proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
79
|
+
viaAdminContract = {
|
|
80
|
+
artifactName: 'DefaultProxyAdmin',
|
|
81
|
+
proxyAdminName: (typeof options.proxyContract === 'object' && options.proxyContract.proxyAdminName) ||
|
|
82
|
+
'DefaultProxyAdmin',
|
|
83
|
+
};
|
|
84
|
+
break;
|
|
85
|
+
case 'SharedAdminOptimizedTransparentProxy':
|
|
86
|
+
proxyArtifact = OptimizedTransparentUpgradeableProxy;
|
|
87
|
+
proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
88
|
+
viaAdminContract = {
|
|
89
|
+
artifactName: 'DefaultProxyAdmin',
|
|
90
|
+
proxyAdminName: (typeof options.proxyContract === 'object' && options.proxyContract.proxyAdminName) ||
|
|
91
|
+
'DefaultProxyAdmin',
|
|
92
|
+
};
|
|
93
|
+
break;
|
|
94
|
+
default:
|
|
95
|
+
throw new Error(`unknown proxy contract ${options.proxyContract}`);
|
|
48
96
|
}
|
|
49
97
|
}
|
|
50
|
-
|
|
51
|
-
|
|
98
|
+
const implementationDeployment = typeof params.artifact === 'function'
|
|
99
|
+
? await params.artifact(implementationName, { ...params })
|
|
100
|
+
: await _deploy(implementationName, {
|
|
101
|
+
...viemArgs,
|
|
102
|
+
args,
|
|
103
|
+
artifact,
|
|
104
|
+
account: address,
|
|
105
|
+
}, { alwaysOverride: true, deterministic: true, libraries: options?.libraries });
|
|
106
|
+
logger.info(`implementation at ${implementationDeployment.address}`, `${implementationName}`);
|
|
107
|
+
const { address: implementationAddress, argsData: implementationArgsData, transaction, newlyDeployed: implementationNewlyDeployed, ...artifactFromImplementationDeployment } = implementationDeployment;
|
|
108
|
+
// TODO throw specific error if artifact not found
|
|
109
|
+
const artifactToUse = artifactFromImplementationDeployment;
|
|
110
|
+
logger.info(`existingDeployment at ${existingDeployment?.address}`);
|
|
111
|
+
const expectedOwner = options?.owner || address;
|
|
112
|
+
let proxyAdmin = expectedOwner;
|
|
113
|
+
let proxyAdminContract;
|
|
114
|
+
if (viaAdminContract?.artifactName === 'DefaultProxyAdmin') {
|
|
115
|
+
const proxyAdminOwner = expectedOwner;
|
|
116
|
+
const proxyAdminName = viaAdminContract.proxyAdminName;
|
|
117
|
+
let proxyAdminDeployed = env.getOrNull(proxyAdminName);
|
|
118
|
+
if (!proxyAdminDeployed) {
|
|
119
|
+
const proxyAdminDeployment = await _deploy(proxyAdminName, {
|
|
120
|
+
...params,
|
|
121
|
+
artifact: DefaultProxyAdmin,
|
|
122
|
+
args: [proxyAdminOwner],
|
|
123
|
+
}, {
|
|
124
|
+
deterministic: options?.deterministic,
|
|
125
|
+
});
|
|
126
|
+
proxyAdminDeployed = proxyAdminDeployment;
|
|
127
|
+
}
|
|
128
|
+
const currentProxyAdminOwner = await _read(proxyAdminDeployed, { functionName: 'owner' });
|
|
129
|
+
if (currentProxyAdminOwner.toLowerCase() !== expectedOwner.toLowerCase()) {
|
|
130
|
+
throw new Error(`To change owner/admin, you need to call transferOwnership on ${proxyAdminName}`);
|
|
131
|
+
}
|
|
132
|
+
if (currentProxyAdminOwner === zeroAddress) {
|
|
133
|
+
throw new Error(`The Proxy Admin (${proxyAdminName}) belongs to no-one. The Proxy cannot be upgraded anymore`);
|
|
134
|
+
}
|
|
135
|
+
proxyAdmin = proxyAdminDeployed.address;
|
|
136
|
+
proxyAdminContract = {
|
|
137
|
+
deployment: proxyAdminDeployed,
|
|
138
|
+
owner: currentProxyAdminOwner.toLowerCase(),
|
|
139
|
+
};
|
|
52
140
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
case 'UUPS':
|
|
69
|
-
proxyArtifact = ERC1967Proxy;
|
|
70
|
-
proxyArgsTemplate = ['{implementation}', '{data}'];
|
|
71
|
-
break;
|
|
72
|
-
case 'SharedAdminOpenZeppelinTransparentProxy':
|
|
73
|
-
proxyArtifact = TransparentUpgradeableProxy;
|
|
74
|
-
proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
75
|
-
viaAdminContract = {
|
|
76
|
-
artifactName: 'DefaultProxyAdmin',
|
|
77
|
-
proxyAdminName: (typeof options.proxyContract === 'object' && options.proxyContract.proxyAdminName) || 'DefaultProxyAdmin',
|
|
78
|
-
};
|
|
79
|
-
break;
|
|
80
|
-
case 'SharedAdminOptimizedTransparentProxy':
|
|
81
|
-
proxyArtifact = OptimizedTransparentUpgradeableProxy;
|
|
82
|
-
proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
83
|
-
viaAdminContract = {
|
|
84
|
-
artifactName: 'DefaultProxyAdmin',
|
|
85
|
-
proxyAdminName: (typeof options.proxyContract === 'object' && options.proxyContract.proxyAdminName) || 'DefaultProxyAdmin',
|
|
86
|
-
};
|
|
87
|
-
break;
|
|
88
|
-
default:
|
|
89
|
-
throw new Error(`unknown proxy contract ${options.proxyContract}`);
|
|
141
|
+
let postUpgradeCalldata;
|
|
142
|
+
if (options?.execute) {
|
|
143
|
+
const method = artifactToUse.abi.find((v) => v.type === 'function' && v.name === options.execute);
|
|
144
|
+
if (method) {
|
|
145
|
+
postUpgradeCalldata = encodeFunctionData({
|
|
146
|
+
...viemArgs,
|
|
147
|
+
args: args,
|
|
148
|
+
account: address,
|
|
149
|
+
abi: [method],
|
|
150
|
+
functionName: method.name,
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
else {
|
|
154
|
+
throw new Error(`Method ${options.execute} not found in artifact ${artifactToUse.abi}`);
|
|
155
|
+
}
|
|
90
156
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
// TODO throw specific error if artifact not found
|
|
103
|
-
const artifactToUse = artifactFromImplementationDeployment;
|
|
104
|
-
logger.info(`existingDeployment at ${existingDeployment?.address}`);
|
|
105
|
-
const expectedOwner = options?.owner || address;
|
|
106
|
-
let proxyAdmin = expectedOwner;
|
|
107
|
-
let proxyAdminContract;
|
|
108
|
-
if (viaAdminContract?.artifactName === 'DefaultProxyAdmin') {
|
|
109
|
-
const proxyAdminOwner = expectedOwner;
|
|
110
|
-
const proxyAdminName = viaAdminContract.proxyAdminName;
|
|
111
|
-
let proxyAdminDeployed = env.getOrNull(proxyAdminName);
|
|
112
|
-
if (!proxyAdminDeployed) {
|
|
113
|
-
const proxyAdminDeployment = await deploy(env, proxyAdminName, {
|
|
157
|
+
// let preUpgradeCalldata: `0x${string}` | undefined;
|
|
158
|
+
// if (options?.preExecute) {
|
|
159
|
+
// const method: AbiFunction | undefined = artifactToUse.abi.find(
|
|
160
|
+
// (v) => v.type === 'function' && v.name === options.preExecute
|
|
161
|
+
// ) as AbiFunction;
|
|
162
|
+
// if (method) {
|
|
163
|
+
// preUpgradeCalldata = encodeFunctionData({...viemArgs, account, abi: [method], functionName: method.name});
|
|
164
|
+
// }
|
|
165
|
+
// }
|
|
166
|
+
if (!existingDeployment) {
|
|
167
|
+
const { newlyDeployed, ...proxy } = await _deploy(proxyName, {
|
|
114
168
|
...params,
|
|
115
|
-
artifact:
|
|
116
|
-
args:
|
|
169
|
+
artifact: proxyArtifact,
|
|
170
|
+
args: replaceTemplateArgs(proxyArgsTemplate, {
|
|
171
|
+
implementationAddress: implementationDeployment.address,
|
|
172
|
+
proxyAdmin: proxyAdmin,
|
|
173
|
+
data: postUpgradeCalldata ? postUpgradeCalldata : '0x',
|
|
174
|
+
}),
|
|
117
175
|
}, {
|
|
176
|
+
skipIfAlreadyDeployed: true,
|
|
118
177
|
deterministic: options?.deterministic,
|
|
119
178
|
});
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
}
|
|
126
|
-
if (currentProxyAdminOwner === zeroAddress) {
|
|
127
|
-
throw new Error(`The Proxy Admin (${proxyAdminName}) belongs to no-one. The Proxy cannot be upgraded anymore`);
|
|
128
|
-
}
|
|
129
|
-
proxyAdmin = proxyAdminDeployed.address;
|
|
130
|
-
proxyAdminContract = {
|
|
131
|
-
deployment: proxyAdminDeployed,
|
|
132
|
-
owner: currentProxyAdminOwner.toLowerCase(),
|
|
133
|
-
};
|
|
134
|
-
}
|
|
135
|
-
let postUpgradeCalldata;
|
|
136
|
-
if (options?.execute) {
|
|
137
|
-
const method = artifactToUse.abi.find((v) => v.type === 'function' && v.name === options.execute);
|
|
138
|
-
if (method) {
|
|
139
|
-
postUpgradeCalldata = encodeFunctionData({
|
|
140
|
-
...viemArgs,
|
|
141
|
-
args: args,
|
|
142
|
-
account: address,
|
|
143
|
-
abi: [method],
|
|
144
|
-
functionName: method.name,
|
|
179
|
+
logger.info(`proxy deployed at ${proxy.address}`);
|
|
180
|
+
existingDeployment = await env.save(name, {
|
|
181
|
+
...proxy,
|
|
182
|
+
...artifactToUse,
|
|
183
|
+
linkedData: options?.linkedData,
|
|
145
184
|
});
|
|
185
|
+
logger.info(`saving as ${name}`);
|
|
146
186
|
}
|
|
147
187
|
else {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
// const method: AbiFunction | undefined = artifactToUse.abi.find(
|
|
154
|
-
// (v) => v.type === 'function' && v.name === options.preExecute
|
|
155
|
-
// ) as AbiFunction;
|
|
156
|
-
// if (method) {
|
|
157
|
-
// preUpgradeCalldata = encodeFunctionData({...viemArgs, account, abi: [method], functionName: method.name});
|
|
158
|
-
// }
|
|
159
|
-
// }
|
|
160
|
-
if (!existingDeployment) {
|
|
161
|
-
const { newlyDeployed, ...proxy } = await deploy(env, proxyName, {
|
|
162
|
-
...params,
|
|
163
|
-
artifact: proxyArtifact,
|
|
164
|
-
args: replaceTemplateArgs(proxyArgsTemplate, {
|
|
165
|
-
implementationAddress: implementationDeployment.address,
|
|
166
|
-
proxyAdmin: proxyAdmin,
|
|
167
|
-
data: postUpgradeCalldata ? postUpgradeCalldata : '0x',
|
|
168
|
-
}),
|
|
169
|
-
}, {
|
|
170
|
-
skipIfAlreadyDeployed: true,
|
|
171
|
-
deterministic: options?.deterministic,
|
|
172
|
-
});
|
|
173
|
-
logger.info(`proxy deployed at ${proxy.address}`);
|
|
174
|
-
existingDeployment = await env.save(name, {
|
|
175
|
-
...proxy,
|
|
176
|
-
...artifactToUse,
|
|
177
|
-
linkedData: options?.linkedData,
|
|
178
|
-
});
|
|
179
|
-
logger.info(`saving as ${name}`);
|
|
180
|
-
}
|
|
181
|
-
else {
|
|
182
|
-
const proxyDeployment = env.getOrNull(proxyName);
|
|
183
|
-
if (!proxyDeployment) {
|
|
184
|
-
throw new Error(`deployment for "${name}" exits but there is no proxy`);
|
|
185
|
-
}
|
|
186
|
-
const implementationSlotData = await env.network.provider.request({
|
|
187
|
-
method: 'eth_getStorageAt',
|
|
188
|
-
params: [proxyDeployment.address, '0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc', 'latest'],
|
|
189
|
-
});
|
|
190
|
-
const currentImplementationAddress = `0x${implementationSlotData.substr(-40)}`;
|
|
191
|
-
if (currentImplementationAddress.toLowerCase() !== implementationDeployment.address.toLowerCase()) {
|
|
192
|
-
logger.info(`different implementation old: ${currentImplementationAddress} new: ${implementationDeployment.address}, upgrade...`);
|
|
193
|
-
// let currentOwner: `0x${string}` | undefined;
|
|
194
|
-
// try {
|
|
195
|
-
// currentOwner = await env.read(proxyDeployment, {functionName: 'owner'});
|
|
196
|
-
// console.log({currentOwner});
|
|
197
|
-
// } catch {
|
|
198
|
-
// currentOwner = undefined;
|
|
199
|
-
// }
|
|
200
|
-
// if (!currentOwner) {
|
|
201
|
-
const ownerSlotData = await env.network.provider.request({
|
|
188
|
+
const proxyDeployment = env.getOrNull(proxyName);
|
|
189
|
+
if (!proxyDeployment) {
|
|
190
|
+
throw new Error(`deployment for "${name}" exits but there is no proxy`);
|
|
191
|
+
}
|
|
192
|
+
const implementationSlotData = await env.network.provider.request({
|
|
202
193
|
method: 'eth_getStorageAt',
|
|
203
194
|
params: [
|
|
204
195
|
proxyDeployment.address,
|
|
205
|
-
'
|
|
196
|
+
'0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc',
|
|
206
197
|
'latest',
|
|
207
198
|
],
|
|
208
199
|
});
|
|
209
|
-
|
|
210
|
-
if (
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
// } else {
|
|
219
|
-
// throw new Error(
|
|
220
|
-
// `as per ERC-1967, proxy owner is zero address. We only support ERC-1967 proxies for now, unless you used proxyContract:"UUPS"`
|
|
221
|
-
// );
|
|
200
|
+
const currentImplementationAddress = `0x${implementationSlotData.substr(-40)}`;
|
|
201
|
+
if (currentImplementationAddress.toLowerCase() !== implementationDeployment.address.toLowerCase()) {
|
|
202
|
+
logger.info(`different implementation old: ${currentImplementationAddress} new: ${implementationDeployment.address}, upgrade...`);
|
|
203
|
+
// let currentOwner: `0x${string}` | undefined;
|
|
204
|
+
// try {
|
|
205
|
+
// currentOwner = await env.read(proxyDeployment, {functionName: 'owner'});
|
|
206
|
+
// console.log({currentOwner});
|
|
207
|
+
// } catch {
|
|
208
|
+
// currentOwner = undefined;
|
|
222
209
|
// }
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
210
|
+
// if (!currentOwner) {
|
|
211
|
+
const ownerSlotData = await env.network.provider.request({
|
|
212
|
+
method: 'eth_getStorageAt',
|
|
213
|
+
params: [
|
|
214
|
+
proxyDeployment.address,
|
|
215
|
+
'0xb53127684a568b3173ae13b9f8a6016e243e63b6e8ee1178d6a717850b5d6103',
|
|
216
|
+
'latest',
|
|
217
|
+
],
|
|
218
|
+
});
|
|
219
|
+
let currentOwner = `0x${ownerSlotData.substr(-40)}`;
|
|
220
|
+
if (currentOwner === zeroAddress) {
|
|
221
|
+
try {
|
|
222
|
+
const owner = await _read(existingDeployment, { functionName: 'owner' });
|
|
223
|
+
currentOwner = owner.toLowerCase();
|
|
224
|
+
}
|
|
225
|
+
catch (err) {
|
|
226
|
+
throw new Error(`could not get owner of UUPS Proxy, tried ERC-1967 and ERC-173`, { cause: err });
|
|
227
|
+
}
|
|
228
|
+
// } else {
|
|
229
|
+
// throw new Error(
|
|
230
|
+
// `as per ERC-1967, proxy owner is zero address. We only support ERC-1967 proxies for now, unless you used proxyContract:"UUPS"`
|
|
231
|
+
// );
|
|
232
|
+
// }
|
|
246
233
|
}
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
234
|
+
// if (preUpgradeCalldata) {
|
|
235
|
+
// if (postUpgradeCalldata) {
|
|
236
|
+
// await env.execute(proxyDeployment, {
|
|
237
|
+
// account: address,
|
|
238
|
+
// functionName: 'callAndUpgradeToAndCall',
|
|
239
|
+
// args: [implementation.address, preUpgradeCalldata, postUpgradeCalldata],
|
|
240
|
+
// value: 0n, // TODO
|
|
241
|
+
// });
|
|
242
|
+
// } else {
|
|
243
|
+
// await env.execute(proxyDeployment, {
|
|
244
|
+
// account: address,
|
|
245
|
+
// functionName: 'callAndUpgradeToAndCall',
|
|
246
|
+
// args: [implementation.address, preUpgradeCalldata, '0x'],
|
|
247
|
+
// value: 0n, // TODO
|
|
248
|
+
// });
|
|
249
|
+
// }
|
|
250
|
+
// } else
|
|
251
|
+
const deploymentToUseForUpgrade = options?.proxyContract === 'UUPS' ? existingDeployment : proxyDeployment;
|
|
252
|
+
let useUpgradeToAndCall = !!postUpgradeCalldata;
|
|
253
|
+
if (!useUpgradeToAndCall) {
|
|
254
|
+
if (!deploymentToUseForUpgrade.abi.find((v) => v.type === 'function' && v.name === 'upgradeTo')) {
|
|
255
|
+
useUpgradeToAndCall = true;
|
|
256
|
+
}
|
|
256
257
|
}
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
}
|
|
258
|
+
if (proxyAdminContract) {
|
|
259
|
+
if (useUpgradeToAndCall) {
|
|
260
|
+
await _execute(proxyAdminContract.deployment, {
|
|
261
|
+
account: proxyAdminContract.owner,
|
|
262
|
+
functionName: 'upgradeAndCall',
|
|
263
|
+
args: [proxyDeployment.address, implementationDeployment.address, postUpgradeCalldata || '0x'],
|
|
264
|
+
value: 0n, // TODO
|
|
265
|
+
});
|
|
266
|
+
}
|
|
267
|
+
else {
|
|
268
|
+
await _execute(proxyAdminContract.deployment, {
|
|
269
|
+
account: proxyAdminContract.owner,
|
|
270
|
+
functionName: 'upgrade',
|
|
271
|
+
args: [proxyDeployment.address, implementationDeployment.address],
|
|
272
|
+
});
|
|
273
|
+
}
|
|
273
274
|
}
|
|
274
275
|
else {
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
276
|
+
if (useUpgradeToAndCall) {
|
|
277
|
+
await _execute(deploymentToUseForUpgrade, {
|
|
278
|
+
account: currentOwner,
|
|
279
|
+
functionName: 'upgradeToAndCall',
|
|
280
|
+
args: [implementationDeployment.address, postUpgradeCalldata || '0x'],
|
|
281
|
+
value: 0n, // TODO
|
|
282
|
+
});
|
|
283
|
+
}
|
|
284
|
+
else {
|
|
285
|
+
await _execute(deploymentToUseForUpgrade, {
|
|
286
|
+
account: currentOwner,
|
|
287
|
+
functionName: 'upgradeTo',
|
|
288
|
+
args: [implementationDeployment.address],
|
|
289
|
+
});
|
|
290
|
+
}
|
|
280
291
|
}
|
|
281
292
|
}
|
|
293
|
+
existingDeployment = await env.save(name, {
|
|
294
|
+
...proxyDeployment,
|
|
295
|
+
...artifactToUse,
|
|
296
|
+
linkedData: options?.linkedData,
|
|
297
|
+
});
|
|
298
|
+
logger.info(`saving as ${name}`);
|
|
282
299
|
}
|
|
283
|
-
existingDeployment
|
|
284
|
-
|
|
285
|
-
...artifactToUse,
|
|
286
|
-
linkedData: options?.linkedData,
|
|
287
|
-
});
|
|
288
|
-
logger.info(`saving as ${name}`);
|
|
289
|
-
}
|
|
290
|
-
return existingDeployment;
|
|
300
|
+
return existingDeployment;
|
|
301
|
+
};
|
|
291
302
|
}
|
|
292
303
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAQ,kBAAkB,EAAE,WAAW,EAAC,MAAM,MAAM,CAAC;AAC5D,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,MAAM,EAAgB,MAAM,iBAAiB,CAAC;AACtD,OAAO,EAAC,iBAAiB,EAAE,mBAAmB,EAAC,MAAM,YAAY,CAAC;AAClE,OAAO,YAAY,MAAM,+CAA+C,CAAC;AACzE,OAAO,WAAW,MAAM,8CAA8C,CAAC;AACvE,OAAO,sBAAsB,MAAM,yDAAyD,CAAC;AAC7F,OAAO,2BAA2B,MAAM,8DAA8D,CAAC;AACvG,OAAO,oCAAoC,MAAM,uEAAuE,CAAC;AACzH,OAAO,iBAAiB,MAAM,6CAA6C,CAAC;AAC5E,OAAO,EAAC,OAAO,EAAE,IAAI,EAAC,MAAM,uBAAuB,CAAC;AAEpD,MAAM,MAAM,GAAG,IAAI,CAAC,gBAAgB,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rocketh/proxy",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.13.0",
|
|
4
4
|
"description": "provide proxy-enabled deploy function for rocketh",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -25,13 +25,13 @@
|
|
|
25
25
|
"eip-1193": "^0.6.2",
|
|
26
26
|
"rimraf": "^6.0.1",
|
|
27
27
|
"typescript": "^5.8.2",
|
|
28
|
-
"rocketh": "0.
|
|
28
|
+
"rocketh": "0.13.0"
|
|
29
29
|
},
|
|
30
30
|
"dependencies": {
|
|
31
31
|
"named-logs": "^0.3.2",
|
|
32
32
|
"viem": "^2.23.12",
|
|
33
|
-
"@rocketh/deploy": "0.
|
|
34
|
-
"@rocketh/read-execute": "0.
|
|
33
|
+
"@rocketh/deploy": "0.13.0",
|
|
34
|
+
"@rocketh/read-execute": "0.13.0"
|
|
35
35
|
},
|
|
36
36
|
"scripts": {
|
|
37
37
|
"build": "tsc --project tsconfig.json",
|