This repository was archived by the owner on Aug 21, 2025. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 123
Expand file tree
/
Copy path01_ValidateDeployChain1.t.sol
More file actions
450 lines (413 loc) · 22 KB
/
01_ValidateDeployChain1.t.sol
File metadata and controls
450 lines (413 loc) · 22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.13;
import {Test, Vm, console} from "forge-std/Test.sol";
import {Constants} from "../utils/Constants.sol";
import {DeployedSetUp} from "../utils/DeployedSetUp.t.sol";
/**
* @title Validating the Holograph Protocol deployments (CHAIN1)
* @notice Suite of unit tests to verify the correct deployment of the Holograph Protocol contracts on CHAIN1.
* @dev Translation of a suite of Hardhat tests found in test/01_deployment_tests_l1.ts
*/
contract ValidateDeployChain1Test is DeployedSetUp {
uint256 localHostFork;
string LOCALHOST_RPC_URL = vm.envString("LOCALHOST_RPC_URL");
/**
* @notice Initializes the test environment and sets up contract instances for Holograph Protocol deployments
* @dev This function initializes the test environment by creating a fork of the local blockchain, setting the fork,
* and initializing the parent class with the active fork. It then calls the `setUp` function of the parent class.
*/
function setUp() public override {
localHostFork = vm.createFork(LOCALHOST_RPC_URL);
vm.selectFork(localHostFork);
super.init(vm.activeFork());
super.setUp();
}
/**
* @notice Verifies that the Holograph interfaces contract is deployed correctly
* @dev This test function verifies that the Holograph interfaces contract is deployed correctly by checking if
* the deployed bytecode matches the expected bytecode.
* Refers to the hardhat test with the description 'HolographInterfaces:'
*/
function testHolographInterfaces() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographInterfaces.sol:HolographInterfaces");
assertEq(holographInterfacesDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the CxIP ERC721 Holographer contract
* @dev This test function verifies that the CxIP ERC721 Holographer contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'CxipERC721 Holographer:'
* This test function is currently commented out because the address of the CxIP ERC721 Holographer contract has
* not been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testCxipERC721Holographer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("Holographer.sol:Holographer");
// assertEq(address(Constants.getCxipERC721Holographer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the CxIP ERC721 Enforcer contract
* @dev This test function verifies that the CxIP ERC721 Enforcer contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'CxipERC721 Enforcer:'
* This test function is currently commented out because the address of the CxIP ERC721 Enforcer contract has not
* been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testCxipERC721Enforcer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographERC721.sol:HolographERC721");
//assertEq(address(Constants.getCxipERC721Enforcer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the CxipERC721 contract
* @dev This test function verifies that the CxipERC721 contract is deployed correctly by comparing the deployed
* bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'CxipERC721:'
*/
function testCxipERC721() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("CxipERC721.sol:CxipERC721");
assertEq(cxipERC721Deployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the CxIP ERC721 Proxy contract
* @dev This test function verifies that the CxIP ERC721 Proxy contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'CxipERC721Proxy:'
* This test function is currently commented out because the address of the CxIP ERC721 Proxy contract has not been
* found and the contract deployment is failing. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: fail, not found the sc
function testCxipERC721Proxy() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("CxipERC721Proxy.sol:CxipERC721Proxy");
//assertEq(cxipERC721ProxyDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the ERC20Mock contract
* @dev This test function verifies that the ERC20Mock contract is deployed correctly by comparing the deployed
* bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'ERC20Mock:'
*/
function testERC20Mock() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("ERC20Mock.sol:ERC20Mock");
assertEq(erc20MockDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Holograph contract
* @dev This test function verifies that the Holograph contract is deployed correctly by comparing the deployed
* bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'Holograph:'
*/
function testHolograph() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("Holograph.sol:Holograph");
assertEq(holographDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographBridge contract
* @dev This test function verifies that the HolographBridge contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographBridge:'
*/
function testHolographBridge() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographBridge.sol:HolographBridge");
assertEq(holographBridgeDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographBridgeProxy contract
* @dev This test function verifies that the HolographBridgeProxy contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographBridgeProxy:'
*/
function testHolographBridgeProxy() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographBridgeProxy.sol:HolographBridgeProxy");
assertEq(holographBridgeProxyDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Holographer contract
* @dev This test function verifies that the Holographer contract is deployed correctly by comparing the deployed
* bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'Holographer:'
* This test function is currently commented out because the address of the Holographer contract has not been found.
* Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testHolographer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("Holographer.sol:Holographer");
// assertEq(address(Constants.getHolographer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographERC20 contract
* @dev This test function verifies that the HolographERC20 contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographERC20:'
*/
function testHolographERC20() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographERC20.sol:HolographERC20");
assertEq(holographERC20Deployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographERC721 contract
* @dev This test function verifies that the HolographERC721 contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographERC721:'
*/
function testHolographERC721() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographERC721.sol:HolographERC721");
assertEq(holographERC721Deployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographFactory contract
* @dev This test function verifies that the HolographFactory contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographFactory:'
*/
function testHolographFactory() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographFactory.sol:HolographFactory");
assertEq(holographFactoryDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographFactoryProxy contract
* @dev This test function verifies that the HolographFactoryProxy contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographFactoryProxy:'
*/
function testHolographFactoryProxy() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographFactoryProxy.sol:HolographFactoryProxy");
assertEq(holographFactoryProxyDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographGenesisLocal contract
* @dev This test function verifies that the HolographGenesisLocal contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographGenesis:'
*/
//TODO bytes not match and refact to the get holograph by network
function testHolographGenesis() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographGenesisLocal.sol:HolographGenesisLocal");
assertEq(holographGenesisDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographOperator contract
* @dev This test function verifies that the HolographOperator contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographOperator:'
*/
function testHolographOperator() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographOperator.sol:HolographOperator");
assertEq(holographOperatorDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographOperatorProxy contract
* @dev This test function verifies that the HolographOperatorProxy contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographOperatorProxy:'
*/
function testHolographOperatorProxy() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographOperatorProxy.sol:HolographOperatorProxy");
assertEq(holographOperatorProxyDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographRegistry contract
* @dev This test function verifies that the HolographRegistry contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographRegistry:'
*/
function testHolographRegistry() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographRegistry.sol:HolographRegistry");
assertEq(holographRegistryDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographRegistryProxy contract
* @dev This test function verifies that the HolographRegistryProxy contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographRegistryProxy:'
*/
function testHolographRegistryProxy() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographRegistryProxy.sol:HolographRegistryProxy");
assertEq(holographRegistryProxyDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographTreasury contract
* @dev This test function verifies that the HolographTreasury contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographTreasury:'
*/
function testHolographTreasury() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographTreasury.sol:HolographTreasury");
assertEq(holographTreasuryDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographTreasuryProxy contract
* @dev This test function verifies that the HolographTreasuryProxy contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographTreasuryProxy:'
*/
function testHolographTreasuryProxy() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographTreasuryProxy.sol:HolographTreasuryProxy");
assertEq(holographTreasuryProxyDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HToken Holographer contract
* @dev This test function verifies that the HToken Holographer contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'hToken Holographer:'
* This test function is currently commented out because the address of the HToken Holographer contract has not
* been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testHTokenHolographer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("Holographer.sol:Holographer");
// assertEq(address(Constants.getHTokenHolographer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HToken Enforcer contract
* @dev This test function verifies that the HToken Enforcer contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'hToken Enforcer:'
* This test function is currently commented out because the address of the HToken Enforcer contract has not
* been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testHTokenEnforcer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographERC20.sol:HolographERC20");
// assertEq(address(Constants.getHTokenEnforcer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HToken contract
* @dev This test function verifies that the HToken contract is deployed correctly by comparing the deployed bytecode
* with the expected bytecode.
* Refers to the hardhat test with the description 'hToken:'
* This test function is currently commented out because the address of the HToken contract has not been found.
* Test will be skipped until deployment script in Foundry is done.
*/
function testHToken() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("hToken.sol:hToken");
assertEq(hTokenDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the MockERC721Receiver contract
* @dev This test function verifies that the MockERC721Receiver contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'MockERC721Receiver:'
* This test function is currently commented out because the address of the MockERC721Receiver contract has not
* been found. Test will be skipped until deployment script in Foundry is done.
*/
function testMockERC721Receiver() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("MockERC721Receiver.sol:MockERC721Receiver");
assertEq(mockERC721ReceiverDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the MockLZEndpoint contract
* @dev This test function verifies that the MockLZEndpoint contract is deployed correctly by comparing the deployed
* bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'MockLZEndpoint:'
* This test function is currently commented out because the address of the MockLZEndpoint contract has not been
* found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testMockLZEndpoint() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("MockLZEndpoint.sol:MockLZEndpoint");
// assertEq(address(Constants.getMockLZEndpoint()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the HolographRoyalties contract
* @dev This test function verifies that the HolographRoyalties contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'HolographRoyalties:'
*/
function testHolographRoyalties() public {
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographRoyalties.sol:HolographRoyalties");
assertEq(holographRoyaltiesDeployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Sample ERC20 Holographer contract
* @dev This test function verifies that the Sample ERC20 Holographer contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'SampleERC20 Holographer:'
* This test function is currently commented out because the address of the Sample ERC20 Holographer contract has
* not been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testSampleERC20Holographer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("Holographer.sol:Holographer");
// assertEq(address(Constants.getSampleERC20Holographer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Sample ERC20 Enforcer contract
* @dev This test function verifies that the Sample ERC20 Enforcer contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'SampleERC20 Enforcer:'
* This test function is currently commented out because the address of the Sample ERC20 Enforcer contract has
* not been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testSampleERC20Enforcer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographERC20.sol:HolographERC20");
// assertEq(address(Constants.getSampleERC20Enforcer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Sample ERC20 contract
* @dev This test function verifies that the Sample ERC20 contract is deployed correctly by comparing the deployed
* bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'SampleERC20:'
* This test function is currently commented out because the address of the Sample ERC20 contract has not been
* found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: bytecodes dont match
function testSampleERC20() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("SampleERC20.sol:SampleERC20");
assertEq(sampleERC20Deployed.code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Sample ERC721 Holographer contract
* @dev This test function verifies that the Sample ERC721 Holographer contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description SampleERC721 Holographer:'
* This test function is currently commented out because the address of the Sample ERC721 Holographer contract has
* not been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testSampleERC721Holographer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("Holographer.sol:Holographer");
// assertEq(address(Constants.getSampleERC721Holographer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Sample ERC721 Enforcer contract
* @dev This test function verifies that the Sample ERC721 Enforcer contract is deployed correctly by comparing
* the deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'SampleERC721 Enforcer:'
* This test function is currently commented out because the address of the Sample ERC721 Enforcer contract has
* not been found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: address not found
function testSampleERC721Enforcer() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("HolographERC721.sol:HolographERC721");
// assertEq(address(Constants.getSampleERC721Enforcer()).code, bytecodeDeployed);
}
/**
* @notice Verifies the deployment of the Sample ERC721 contract
* @dev This test function verifies that the Sample ERC721 contract is deployed correctly by comparing the
* deployed bytecode with the expected bytecode.
* Refers to the hardhat test with the description 'SampleERC721:'
* This test function is currently commented out because the address of the Sample ERC721 contract has not been
* found. Test will be skipped until deployment script in Foundry is done.
*/
// TODO: bytecodes dont match
function testSampleERC721() public {
vm.skip(true);
bytes memory bytecodeDeployed = vm.getDeployedCode("SampleERC721.sol:SampleERC721");
assertEq(sampleERC721Deployed.code, bytecodeDeployed);
}
}