@@ -5,9 +5,8 @@ import {GetSelectors} from "@diamond-test/helpers/GetSelectors.sol";
55import {ReinitializableDiamond} from "@diamond-test/mocks/ReinitializableDiamond.sol " ;
66import {DiamondCutFacet} from "@diamond/facets/DiamondCutFacet.sol " ;
77import {DiamondLoupeFacet} from "@diamond/facets/DiamondLoupeFacet.sol " ;
8+ import {ERC165Facet } from "@diamond/facets/ERC165Facet.sol " ;
89import {OwnableFacet} from "@diamond/facets/OwnableFacet.sol " ;
9- import {ERC165Init } from "@diamond/initializers/ERC165Init.sol " ;
10- import {MultiInit} from "@diamond/initializers/MultiInit.sol " ;
1110import {OwnableInit} from "@diamond/initializers/OwnableInit.sol " ;
1211import {ContextLib} from "@diamond/libraries/ContextLib.sol " ;
1312import {FacetCut, FacetCutAction} from "@diamond/libraries/DiamondLib.sol " ;
@@ -19,23 +18,21 @@ contract InitializableTester is GetSelectors {
1918 ReinitializableDiamond diamond;
2019 DiamondCutFacet diamondCutFacet;
2120 DiamondLoupeFacet diamondLoupeFacet;
21+ ERC165Facet erc165Facet;
2222 OwnableFacet ownableFacet;
23- MultiInit multiInit;
2423 OwnableInit ownableInit;
25- ERC165Init erc165Init;
2624
2725 FacetCut[] cuts;
2826
2927 function setUp () public {
3028 // Deploy facets
3129 diamondCutFacet = new DiamondCutFacet ();
3230 diamondLoupeFacet = new DiamondLoupeFacet ();
31+ erc165Facet = new ERC165Facet ();
3332 ownableFacet = new OwnableFacet ();
3433
35- // Deploy initializers
36- multiInit = new MultiInit ();
34+ // Deploy initializer
3735 ownableInit = new OwnableInit ();
38- erc165Init = new ERC165Init ();
3936
4037 // Build facet cuts
4138 cuts.push (
@@ -52,6 +49,13 @@ contract InitializableTester is GetSelectors {
5249 functionSelectors: _getSelectors ("DiamondLoupeFacet " )
5350 })
5451 );
52+ cuts.push (
53+ FacetCut ({
54+ facetAddress: address (erc165Facet),
55+ action: FacetCutAction.Add,
56+ functionSelectors: _getSelectors ("ERC165Facet " )
57+ })
58+ );
5559 cuts.push (
5660 FacetCut ({
5761 facetAddress: address (ownableFacet),
@@ -200,7 +204,7 @@ contract InitializableTester is GetSelectors {
200204 /* MULTI-INIT TESTS */
201205 /*.•°:°.´+˚.*°.˚:*.´•*.+°.•°:´*.´•*.•°.•°:°.´:•˚°.*°.˚:*.´+°.•*/
202206
203- /// @notice MultiInit correctly initializes owner and ERC165 through initialize
207+ /// @notice Initialize correctly sets owner and ERC165 interfaces
204208 function testMultiInitSetsOwnerAndInterfaces () public {
205209 (FacetCut[] memory facetCuts , address init , bytes memory initCalldata ) = _buildInitArgs (address (this ));
206210 diamond.initialize (facetCuts, init, initCalldata);
@@ -209,12 +213,12 @@ contract InitializableTester is GetSelectors {
209213 OwnableFacet ownable = OwnableFacet (address (diamond));
210214 assertEq (ownable.owner (), address (this ));
211215
212- // Verify ERC165 interfaces were registered
213- DiamondLoupeFacet loupe = DiamondLoupeFacet (address (diamond));
214- assertTrue (loupe .supportsInterface (0x01ffc9a7 )); // ERC165
215- assertTrue (loupe .supportsInterface (0x7f5828d0 )); // ERC173
216- assertTrue (loupe .supportsInterface (0x1f931c1c )); // IDiamondCut
217- assertTrue (loupe .supportsInterface (0x48e2b093 )); // IDiamondLoupe
216+ // Verify ERC165 interfaces are supported
217+ ERC165Facet erc165 = ERC165Facet (address (diamond));
218+ assertTrue (erc165 .supportsInterface (0x01ffc9a7 )); // ERC165
219+ assertTrue (erc165 .supportsInterface (0x7f5828d0 )); // ERC173
220+ assertTrue (erc165 .supportsInterface (0x1f931c1c )); // IDiamondCut
221+ assertTrue (erc165 .supportsInterface (0x48e2b093 )); // IDiamondLoupe
218222 }
219223
220224 /*´:°•.°+.*•´.*:˚.°*.˚•´.°:°•.°•.*•´.*:˚.°*.˚•´.°:°•.°+.*•´.*:*/
@@ -231,16 +235,7 @@ contract InitializableTester is GetSelectors {
231235 facetCuts_[i] = cuts[i];
232236 }
233237
234- address [] memory initAddresses = new address [](2 );
235- bytes [] memory initData = new bytes [](2 );
236-
237- initAddresses[0 ] = address (ownableInit);
238- initData[0 ] = abi.encodeWithSignature ("initOwner(address) " , _owner);
239-
240- initAddresses[1 ] = address (erc165Init);
241- initData[1 ] = abi.encodeWithSignature ("initERC165() " );
242-
243- init_ = address (multiInit);
244- initCalldata_ = abi.encodeWithSignature ("multiInit(address[],bytes[]) " , initAddresses, initData);
238+ init_ = address (ownableInit);
239+ initCalldata_ = abi.encodeWithSignature ("initOwner(address) " , _owner);
245240 }
246241}
0 commit comments