@rocketh/proxy 0.17.12 → 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 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/).
@@ -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;AACnG,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,CA6Y7B"}
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
- if (account.startsWith('0x')) {
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.12",
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.1",
30
- "@rocketh/core": "0.17.8",
31
- "@rocketh/read-execute": "0.17.8",
32
- "@rocketh/deploy": "0.17.8"
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.0.11",
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
  }