@rocketh/proxy 0.17.11 → 0.17.13
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/README.md +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -15
- package/dist/index.js.map +1 -1
- package/dist/proxy.integration.d.ts +12 -0
- package/dist/proxy.integration.d.ts.map +1 -0
- package/dist/proxy.integration.js +376 -0
- package/dist/proxy.integration.js.map +1 -0
- package/package.json +12 -8
- package/src/hardhat-deploy-v1-artifacts/EIP173Proxy.ts +4613 -0
- package/src/hardhat-deploy-v1-artifacts/EIP173ProxyWithReceive.ts +4429 -0
- package/src/hardhat-deploy-v1-artifacts/ERC1967Proxy.ts +4000 -0
- package/src/hardhat-deploy-v1-artifacts/OptimizedTransparentUpgradeableProxy.ts +6058 -0
- package/src/hardhat-deploy-v1-artifacts/ProxyAdmin.ts +4150 -0
- package/src/hardhat-deploy-v1-artifacts/TransparentUpgradeableProxy.ts +6747 -0
- package/src/index.ts +484 -0
- package/src/utils.ts +89 -0
package/README.md
CHANGED
|
@@ -1 +1,7 @@
|
|
|
1
1
|
# @rocketh/proxy
|
|
2
|
+
|
|
3
|
+
Proxy deployment patterns support for rocketh, including UUPS, Transparent, ERC173 proxies, and other proxy implementations for upgradeable smart contracts. Provide a declarative approach to proxy deployment and support for Hot Contract Replacement (HCR).
|
|
4
|
+
|
|
5
|
+
For full documentation, visit [rocketh.dev](https://rocketh.dev).
|
|
6
|
+
|
|
7
|
+
For hardhat-deploy documentation, see [rocketh.dev/hardhat-deploy/](https://rocketh.dev/hardhat-deploy/).
|
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,qBAAqB,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,qBAAqB,CAAC;AAEnG,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,UAAU,CAAC;AAG7C,OAAO,EAAS,aAAa,EAAC,MAAM,iBAAiB,CAAC;AActD,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,EACL,MAAM,GACN;QACA,UAAU,EAAE,MAAM,CAAC;QACnB,IAAI,EAAE,OAAO,EAAE,CAAC;KACf,CAAC;IACL,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,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;KAEvB,CAAC,GACF;QACA,IAAI,EAAE,QAAQ,CAAC;QACf,QAAQ,EAAE,QAAQ,CAAC;QACnB,IAAI,CAAC,EAAE,CAAC,kBAAkB,GAAG,SAAS,GAAG,QAAQ,CAAC,EAAE,CAAC;KAepD,CAAC;CACL,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,EACpD,OAAO,CAAC,EAAE,aAAa,KACnB,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,CAiY7B"}
|
package/dist/index.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveAccount } from '@rocketh/core/account';
|
|
1
2
|
import { encodeFunctionData, zeroAddress } from 'viem';
|
|
2
3
|
import { logs } from 'named-logs';
|
|
3
4
|
import { deploy } from '@rocketh/deploy';
|
|
@@ -52,24 +53,10 @@ export function deployViaProxy(env) {
|
|
|
52
53
|
return deployResult;
|
|
53
54
|
}
|
|
54
55
|
const { account, artifact, args, ...viemArgs } = params;
|
|
55
|
-
let address;
|
|
56
56
|
if (!account) {
|
|
57
57
|
throw new Error(`no account specified`);
|
|
58
58
|
}
|
|
59
|
-
|
|
60
|
-
address = account;
|
|
61
|
-
}
|
|
62
|
-
else {
|
|
63
|
-
if (env.namedAccounts) {
|
|
64
|
-
address = env.namedAccounts[account];
|
|
65
|
-
if (!address) {
|
|
66
|
-
throw new Error(`no address for ${account}`);
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
throw new Error(`no accounts setup, cannot get address for ${account}`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
59
|
+
const address = resolveAccount(account, env);
|
|
73
60
|
let viaAdminContract;
|
|
74
61
|
let proxyArgsTemplate = ['{implementation}', '{admin}', '{data}'];
|
|
75
62
|
let proxyArtifact = ERC173Proxy;
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration Tests for @rocketh/proxy
|
|
3
|
+
*
|
|
4
|
+
* These tests serve as documentation for how to use proxy deployment patterns.
|
|
5
|
+
* They demonstrate real-world scenarios including different proxy types,
|
|
6
|
+
* upgrades, and initialization.
|
|
7
|
+
*
|
|
8
|
+
* Note: These tests are primarily documentation examples. Full integration testing
|
|
9
|
+
* would require a local blockchain node (like Anvil or Hardhat Network).
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=proxy.integration.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.integration.d.ts","sourceRoot":"","sources":["../src/proxy.integration.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG"}
|
|
@@ -0,0 +1,376 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Integration Tests for @rocketh/proxy
|
|
3
|
+
*
|
|
4
|
+
* These tests serve as documentation for how to use proxy deployment patterns.
|
|
5
|
+
* They demonstrate real-world scenarios including different proxy types,
|
|
6
|
+
* upgrades, and initialization.
|
|
7
|
+
*
|
|
8
|
+
* Note: These tests are primarily documentation examples. Full integration testing
|
|
9
|
+
* would require a local blockchain node (like Anvil or Hardhat Network).
|
|
10
|
+
*/
|
|
11
|
+
import { describe, it, expect, vi } from 'vitest';
|
|
12
|
+
import { deployViaProxy } from './index.js';
|
|
13
|
+
describe('@rocketh/proxy - Integration Tests', () => {
|
|
14
|
+
/**
|
|
15
|
+
* Helper function to create a minimal test environment
|
|
16
|
+
*/
|
|
17
|
+
function createMockEnvironment() {
|
|
18
|
+
const deployments = {};
|
|
19
|
+
return {
|
|
20
|
+
namedAccounts: {
|
|
21
|
+
deployer: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',
|
|
22
|
+
user1: '0x70997970C51812dc3A010C7d01b50e0d17dc79C8',
|
|
23
|
+
},
|
|
24
|
+
network: {
|
|
25
|
+
chain: {
|
|
26
|
+
id: 31337,
|
|
27
|
+
name: 'localhost',
|
|
28
|
+
nativeCurrency: { name: 'Ether', symbol: 'ETH', decimals: 18 },
|
|
29
|
+
},
|
|
30
|
+
provider: {
|
|
31
|
+
request: vi.fn(),
|
|
32
|
+
},
|
|
33
|
+
deterministicDeployment: {
|
|
34
|
+
factory: '0x4e59b44847b379578588920cA78FbF26c0B4956C',
|
|
35
|
+
deployer: '0x3f39e218c8a8b13d2488ccf2a3b7d0e3c0c8e8d9',
|
|
36
|
+
signedTx: '0xf8a5',
|
|
37
|
+
funding: '100000000000000000',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
addressSigners: {},
|
|
41
|
+
tags: {
|
|
42
|
+
'test': true,
|
|
43
|
+
'auto-mine': true,
|
|
44
|
+
},
|
|
45
|
+
get: (name) => deployments[name],
|
|
46
|
+
getOrNull: (name) => deployments[name] || null,
|
|
47
|
+
save: async (name, deployment) => {
|
|
48
|
+
deployments[name] = deployment;
|
|
49
|
+
return deployment;
|
|
50
|
+
},
|
|
51
|
+
savePendingDeployment: async (pendingDeployment) => ({
|
|
52
|
+
...pendingDeployment.partialDeployment,
|
|
53
|
+
address: '0x' + '1'.repeat(40),
|
|
54
|
+
newlyDeployed: true,
|
|
55
|
+
}),
|
|
56
|
+
savePendingExecution: async () => { },
|
|
57
|
+
showMessage: vi.fn(),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* Helper function to create a mock artifact
|
|
62
|
+
*/
|
|
63
|
+
function createMockArtifact(name, abi = []) {
|
|
64
|
+
return {
|
|
65
|
+
contractName: name,
|
|
66
|
+
abi: abi.length > 0 ? abi : [
|
|
67
|
+
{
|
|
68
|
+
type: 'function',
|
|
69
|
+
name: 'getValue',
|
|
70
|
+
inputs: [],
|
|
71
|
+
outputs: [{ type: 'uint256' }],
|
|
72
|
+
stateMutability: 'view',
|
|
73
|
+
},
|
|
74
|
+
],
|
|
75
|
+
bytecode: '0x6080604052...',
|
|
76
|
+
deployedBytecode: '0x6080604052...',
|
|
77
|
+
linkReferences: {},
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
describe('ERC173 Proxy Pattern', () => {
|
|
81
|
+
it('should demonstrate ERC173 proxy deployment', async () => {
|
|
82
|
+
/**
|
|
83
|
+
* Example: Deploying with ERC173 proxy (ownable proxy)
|
|
84
|
+
*
|
|
85
|
+
* The ERC173 proxy implements a standard ownership mechanism.
|
|
86
|
+
* The proxy itself is ownable, which means:
|
|
87
|
+
* - The deployer (or specified owner) can upgrade the proxy
|
|
88
|
+
* - Ownership can be transferred
|
|
89
|
+
* - The proxy follows ERC173 standard
|
|
90
|
+
*
|
|
91
|
+
* Usage in real scenario:
|
|
92
|
+
* ```typescript
|
|
93
|
+
* import {deployViaProxy} from '@rocketh/proxy';
|
|
94
|
+
* import {MyContract} from './artifacts/MyContract.js';
|
|
95
|
+
*
|
|
96
|
+
* const _deployViaProxy = deployViaProxy(env);
|
|
97
|
+
* const deployment = await _deployViaProxy('MyContract', {
|
|
98
|
+
* account: 'deployer',
|
|
99
|
+
* artifact: MyContract,
|
|
100
|
+
* args: [],
|
|
101
|
+
* });
|
|
102
|
+
* ```
|
|
103
|
+
*/
|
|
104
|
+
const env = createMockEnvironment();
|
|
105
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
106
|
+
const artifact = createMockArtifact('OwnableLogic', [
|
|
107
|
+
{
|
|
108
|
+
type: 'function',
|
|
109
|
+
name: 'owner',
|
|
110
|
+
inputs: [],
|
|
111
|
+
outputs: [{ type: 'address' }],
|
|
112
|
+
stateMutability: 'view',
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
type: 'function',
|
|
116
|
+
name: 'transferOwnership',
|
|
117
|
+
inputs: [{ type: 'address', name: 'newOwner' }],
|
|
118
|
+
outputs: [],
|
|
119
|
+
stateMutability: 'nonpayable',
|
|
120
|
+
},
|
|
121
|
+
]);
|
|
122
|
+
const deployment = await _deployViaProxy('OwnableContract', {
|
|
123
|
+
account: 'deployer',
|
|
124
|
+
artifact,
|
|
125
|
+
args: [],
|
|
126
|
+
});
|
|
127
|
+
expect(deployment).toBeDefined();
|
|
128
|
+
expect(deployment.address).toBeDefined();
|
|
129
|
+
});
|
|
130
|
+
it('should demonstrate ERC173 proxy with custom owner', async () => {
|
|
131
|
+
/**
|
|
132
|
+
* Example: ERC173 proxy with custom owner
|
|
133
|
+
*
|
|
134
|
+
* You can specify a custom owner for the proxy using
|
|
135
|
+
* the 'owner' option. This is useful when you want
|
|
136
|
+
* the proxy to be owned by a different account than
|
|
137
|
+
* the deployer.
|
|
138
|
+
*
|
|
139
|
+
* Usage in real scenario:
|
|
140
|
+
* ```typescript
|
|
141
|
+
* const deployment = await _deployViaProxy('MyContract', {
|
|
142
|
+
* account: 'deployer',
|
|
143
|
+
* artifact: MyContract,
|
|
144
|
+
* args: [],
|
|
145
|
+
* owner: '0x70997970C51812dc3A010C7d01b50e0d17dc79C8' as any,
|
|
146
|
+
* });
|
|
147
|
+
* ```
|
|
148
|
+
*/
|
|
149
|
+
const env = createMockEnvironment();
|
|
150
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
151
|
+
const artifact = createMockArtifact('CustomOwnerLogic');
|
|
152
|
+
const deployment = await _deployViaProxy('CustomOwnerContract', {
|
|
153
|
+
account: 'deployer',
|
|
154
|
+
artifact,
|
|
155
|
+
args: [],
|
|
156
|
+
owner: '0x70997970C51812dc3A010C7d01b50e0d17dc79C8',
|
|
157
|
+
});
|
|
158
|
+
expect(deployment).toBeDefined();
|
|
159
|
+
});
|
|
160
|
+
it('should demonstrate initialization after proxy deployment', async () => {
|
|
161
|
+
/**
|
|
162
|
+
* Example: Proxy with initialization
|
|
163
|
+
*
|
|
164
|
+
* You can execute a function immediately after deploying
|
|
165
|
+
* the proxy. This is commonly used to initialize the
|
|
166
|
+
* contract state. The 'execute' option specifies the
|
|
167
|
+
* function name and arguments.
|
|
168
|
+
*
|
|
169
|
+
* Usage in real scenario:
|
|
170
|
+
* ```typescript
|
|
171
|
+
* const deployment = await _deployViaProxy('MyContract', {
|
|
172
|
+
* account: 'deployer',
|
|
173
|
+
* artifact: MyContract,
|
|
174
|
+
* args: [],
|
|
175
|
+
* execute: {
|
|
176
|
+
* methodName: 'initialize',
|
|
177
|
+
* args: [42n],
|
|
178
|
+
* },
|
|
179
|
+
* });
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
const env = createMockEnvironment();
|
|
183
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
184
|
+
const artifact = createMockArtifact('InitableLogic', [
|
|
185
|
+
{
|
|
186
|
+
type: 'function',
|
|
187
|
+
name: 'initialize',
|
|
188
|
+
inputs: [{ type: 'uint256', name: '_initialValue' }],
|
|
189
|
+
outputs: [],
|
|
190
|
+
stateMutability: 'nonpayable',
|
|
191
|
+
},
|
|
192
|
+
]);
|
|
193
|
+
const deployment = await _deployViaProxy('InitableContract', {
|
|
194
|
+
account: 'deployer',
|
|
195
|
+
artifact,
|
|
196
|
+
args: [],
|
|
197
|
+
execute: {
|
|
198
|
+
methodName: 'initialize',
|
|
199
|
+
args: [42n],
|
|
200
|
+
},
|
|
201
|
+
});
|
|
202
|
+
expect(deployment).toBeDefined();
|
|
203
|
+
});
|
|
204
|
+
});
|
|
205
|
+
describe('UUPS Proxy Pattern', () => {
|
|
206
|
+
it('should demonstrate UUPS proxy deployment', async () => {
|
|
207
|
+
/**
|
|
208
|
+
* Example: Deploying with UUPS (Universal Upgradeable Proxy Standard)
|
|
209
|
+
*
|
|
210
|
+
* UUPS is a more gas-efficient proxy pattern where the upgrade
|
|
211
|
+
* logic is in the implementation contract itself, not the proxy.
|
|
212
|
+
* Key characteristics:
|
|
213
|
+
* - Lower gas costs
|
|
214
|
+
* - Implementation must include upgrade functions
|
|
215
|
+
* - Cannot be upgraded if implementation doesn't support it
|
|
216
|
+
* - Follows ERC-1822 standard
|
|
217
|
+
*
|
|
218
|
+
* Usage in real scenario:
|
|
219
|
+
* ```typescript
|
|
220
|
+
* const deployment = await _deployViaProxy('MyContract', {
|
|
221
|
+
* account: 'deployer',
|
|
222
|
+
* artifact: MyContract,
|
|
223
|
+
* args: [],
|
|
224
|
+
* proxyContract: 'UUPS',
|
|
225
|
+
* });
|
|
226
|
+
* ```
|
|
227
|
+
*/
|
|
228
|
+
const env = createMockEnvironment();
|
|
229
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
230
|
+
const artifact = createMockArtifact('UUPSLogic', [
|
|
231
|
+
{
|
|
232
|
+
type: 'function',
|
|
233
|
+
name: 'upgradeTo',
|
|
234
|
+
inputs: [{ type: 'address', name: 'newImplementation' }],
|
|
235
|
+
outputs: [],
|
|
236
|
+
stateMutability: 'nonpayable',
|
|
237
|
+
},
|
|
238
|
+
{
|
|
239
|
+
type: 'function',
|
|
240
|
+
name: 'proxiableUUID',
|
|
241
|
+
inputs: [],
|
|
242
|
+
outputs: [{ type: 'bytes32' }],
|
|
243
|
+
stateMutability: 'view',
|
|
244
|
+
},
|
|
245
|
+
]);
|
|
246
|
+
const deployment = await _deployViaProxy('UUPSContract', {
|
|
247
|
+
account: 'deployer',
|
|
248
|
+
artifact,
|
|
249
|
+
args: [],
|
|
250
|
+
proxyContract: 'UUPS',
|
|
251
|
+
});
|
|
252
|
+
expect(deployment).toBeDefined();
|
|
253
|
+
});
|
|
254
|
+
});
|
|
255
|
+
describe('Transparent Proxy Pattern', () => {
|
|
256
|
+
it('should demonstrate OpenZeppelin Transparent Proxy', async () => {
|
|
257
|
+
/**
|
|
258
|
+
* Example: Deploying with OpenZeppelin Transparent Proxy
|
|
259
|
+
*
|
|
260
|
+
* Transparent proxies use an admin contract that handles
|
|
261
|
+
* upgrades. The proxy itself delegates all calls to the
|
|
262
|
+
* implementation except when called by the admin.
|
|
263
|
+
* Key characteristics:
|
|
264
|
+
* - Uses a separate ProxyAdmin contract
|
|
265
|
+
* - Admin can upgrade the implementation
|
|
266
|
+
* - Users cannot accidentally call admin functions
|
|
267
|
+
* - More secure but higher gas cost
|
|
268
|
+
*
|
|
269
|
+
* Usage in real scenario:
|
|
270
|
+
* ```typescript
|
|
271
|
+
* const deployment = await _deployViaProxy('MyContract', {
|
|
272
|
+
* account: 'deployer',
|
|
273
|
+
* artifact: MyContract,
|
|
274
|
+
* args: [],
|
|
275
|
+
* proxyContract: 'SharedAdminOpenZeppelinTransparentProxy',
|
|
276
|
+
* });
|
|
277
|
+
* ```
|
|
278
|
+
*/
|
|
279
|
+
const env = createMockEnvironment();
|
|
280
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
281
|
+
const artifact = createMockArtifact('TransparentLogic');
|
|
282
|
+
const deployment = await _deployViaProxy('TransparentContract', {
|
|
283
|
+
account: 'deployer',
|
|
284
|
+
artifact,
|
|
285
|
+
args: [],
|
|
286
|
+
proxyContract: 'SharedAdminOpenZeppelinTransparentProxy',
|
|
287
|
+
});
|
|
288
|
+
expect(deployment).toBeDefined();
|
|
289
|
+
});
|
|
290
|
+
it('should demonstrate Optimized Transparent Proxy', async () => {
|
|
291
|
+
/**
|
|
292
|
+
* Example: Deploying with Optimized Transparent Proxy
|
|
293
|
+
*
|
|
294
|
+
* The optimized transparent proxy reduces gas costs compared
|
|
295
|
+
* to the standard OpenZeppelin version while maintaining
|
|
296
|
+
* the same security guarantees.
|
|
297
|
+
*
|
|
298
|
+
* Usage in real scenario:
|
|
299
|
+
* ```typescript
|
|
300
|
+
* const deployment = await _deployViaProxy('MyContract', {
|
|
301
|
+
* account: 'deployer',
|
|
302
|
+
* artifact: MyContract,
|
|
303
|
+
* args: [],
|
|
304
|
+
* proxyContract: 'SharedAdminOptimizedTransparentProxy',
|
|
305
|
+
* });
|
|
306
|
+
* ```
|
|
307
|
+
*/
|
|
308
|
+
const env = createMockEnvironment();
|
|
309
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
310
|
+
const artifact = createMockArtifact('OptimizedTransparentLogic');
|
|
311
|
+
const deployment = await _deployViaProxy('OptimizedTransparentContract', {
|
|
312
|
+
account: 'deployer',
|
|
313
|
+
artifact,
|
|
314
|
+
args: [],
|
|
315
|
+
proxyContract: 'SharedAdminOptimizedTransparentProxy',
|
|
316
|
+
});
|
|
317
|
+
expect(deployment).toBeDefined();
|
|
318
|
+
});
|
|
319
|
+
});
|
|
320
|
+
describe('Deterministic Proxy Deployment', () => {
|
|
321
|
+
it('should demonstrate deterministic proxy deployment', async () => {
|
|
322
|
+
/**
|
|
323
|
+
* Example: Deterministic proxy deployment
|
|
324
|
+
*
|
|
325
|
+
* You can deploy proxies deterministically, which means
|
|
326
|
+
* the proxy address is predictable based on a salt.
|
|
327
|
+
* This is useful for cross-chain deployments and
|
|
328
|
+
* gas optimization.
|
|
329
|
+
*
|
|
330
|
+
* Usage in real scenario:
|
|
331
|
+
* ```typescript
|
|
332
|
+
* const deployment = await _deployViaProxy('MyContract', {
|
|
333
|
+
* account: 'deployer',
|
|
334
|
+
* artifact: MyContract,
|
|
335
|
+
* args: [],
|
|
336
|
+
* deterministic: {
|
|
337
|
+
* type: 'create2',
|
|
338
|
+
* salt: '0x1111...',
|
|
339
|
+
* },
|
|
340
|
+
* });
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
const env = createMockEnvironment();
|
|
344
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
345
|
+
const artifact = createMockArtifact('DeterministicProxyLogic');
|
|
346
|
+
const salt = '0x1111111111111111111111111111111111111111111111111111111111111111';
|
|
347
|
+
const deployment = await _deployViaProxy('DeterministicProxyContract', {
|
|
348
|
+
account: 'deployer',
|
|
349
|
+
artifact,
|
|
350
|
+
args: [],
|
|
351
|
+
deterministic: {
|
|
352
|
+
type: 'create2',
|
|
353
|
+
salt,
|
|
354
|
+
},
|
|
355
|
+
});
|
|
356
|
+
expect(deployment).toBeDefined();
|
|
357
|
+
});
|
|
358
|
+
});
|
|
359
|
+
describe('Error Handling', () => {
|
|
360
|
+
it('should demonstrate error for missing account', async () => {
|
|
361
|
+
/**
|
|
362
|
+
* Example: Error handling for missing account
|
|
363
|
+
*/
|
|
364
|
+
const env = createMockEnvironment();
|
|
365
|
+
const _deployViaProxy = deployViaProxy(env);
|
|
366
|
+
const artifact = createMockArtifact('NoAccountContract');
|
|
367
|
+
await expect(
|
|
368
|
+
// @ts-expect-error - Testing error case
|
|
369
|
+
_deployViaProxy('NoAccountContract', {
|
|
370
|
+
artifact,
|
|
371
|
+
args: [],
|
|
372
|
+
})).rejects.toThrow('no account specified');
|
|
373
|
+
});
|
|
374
|
+
});
|
|
375
|
+
});
|
|
376
|
+
//# sourceMappingURL=proxy.integration.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"proxy.integration.js","sourceRoot":"","sources":["../src/proxy.integration.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.17.
|
|
3
|
+
"version": "0.17.13",
|
|
4
4
|
"description": "provide proxy-enabled deploy function for rocketh",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -20,24 +20,28 @@
|
|
|
20
20
|
},
|
|
21
21
|
"files": [
|
|
22
22
|
"dist",
|
|
23
|
+
"src",
|
|
23
24
|
"solc_0_8"
|
|
24
25
|
],
|
|
25
26
|
"dependencies": {
|
|
26
27
|
"abitype": "^1.2.3",
|
|
27
28
|
"eip-1193": "^0.6.5",
|
|
28
29
|
"named-logs": "^0.4.1",
|
|
29
|
-
"viem": "^2.44.
|
|
30
|
-
"@rocketh/core": "0.17.
|
|
31
|
-
"@rocketh/deploy": "0.17.
|
|
32
|
-
"@rocketh/read-execute": "0.17.
|
|
30
|
+
"viem": "^2.44.4",
|
|
31
|
+
"@rocketh/core": "0.17.9",
|
|
32
|
+
"@rocketh/deploy": "0.17.9",
|
|
33
|
+
"@rocketh/read-execute": "0.17.9"
|
|
33
34
|
},
|
|
34
35
|
"devDependencies": {
|
|
35
|
-
"as-soon": "^0.
|
|
36
|
+
"as-soon": "^0.1.4",
|
|
36
37
|
"rimraf": "^6.1.2",
|
|
37
|
-
"typescript": "^5.9.3"
|
|
38
|
+
"typescript": "^5.9.3",
|
|
39
|
+
"vitest": "^4.0.18",
|
|
40
|
+
"@rocketh/test-utils": "0.0.2"
|
|
38
41
|
},
|
|
39
42
|
"scripts": {
|
|
40
43
|
"build": "tsc --project tsconfig.json",
|
|
41
|
-
"dev": "as-soon -w src pnpm build"
|
|
44
|
+
"dev": "as-soon -w src pnpm build",
|
|
45
|
+
"test": "vitest"
|
|
42
46
|
}
|
|
43
47
|
}
|