CREATE3 is not available in the zkSync Era.
The zkSync Era docs explain how it differs from Ethereum.\\nPOC:\\n```\\n// SPDX-License-Identifier: Unlicensed\\npragma solidity ^0.8.0;\\n\\nimport "./MiniContract.sol";\\nimport "./CREATE3.sol";\\n\\ncontract DeployTest {\\n    address public deployedAddress;\\n    event Deployed(address);\\n    \\n    function generateContract() public returns(address, address) {\\n        bytes32 salt = keccak256("SALT");\\n\\n        address preCalculatedAddress = CREATE3.getDeployed(salt);\\n\\n        // check if the contract has already been deployed by checking code size of address\\n        bytes memory creationCode = abi.encodePacked(type(MiniContract).creationCode, abi.encode(777));\\n\\n        // Use CREATE3 to deploy the anchor contract\\n        address deployed = CREATE3.deploy(salt, creationCode, 0);\\n        return (preCalculatedAddress, deployed);\\n    }\\n}\\n```\\n\\nAlso, the logic to compute the address of Create2 is different from Ethereum, as shown below, so the CREATE3 library cannot be used as it is.\\nThis cause registry returns an incorrect `preCalculatedAddress`, causing the anchor to be registered to an address that is not the actual deployed address.\\n```\\naddress ⇒ keccak256( \\n    keccak256("zksyncCreate2") ⇒ 0x2020dba91b30cc0006188af794c2fb30dd8520db7e2c088b7fc7c103c00ca494, \\n    sender, \\n    salt, \\n    keccak256(bytecode), \\n    keccak256(constructorInput)\\n ) \\n```\\n
This can be solved by implementing CREATE2 directly instead of CREATE3 and using `type(Anchor).creationCode`. Also, the compute address logic needs to be modified for zkSync.
`generateAnchor` doesn't work, so user can't do anything related to anchor.
```\\n// SPDX-License-Identifier: Unlicensed\\npragma solidity ^0.8.0;\\n\\nimport "./MiniContract.sol";\\nimport "./CREATE3.sol";\\n\\ncontract DeployTest {\\n    address public deployedAddress;\\n    event Deployed(address);\\n    \\n    function generateContract() public returns(address, address) {\\n        bytes32 salt = keccak256("SALT");\\n\\n        address preCalculatedAddress = CREATE3.getDeployed(salt);\\n\\n        // check if the contract has already been deployed by checking code size of address\\n        bytes memory creationCode = abi.encodePacked(type(MiniContract).creationCode, abi.encode(777));\\n\\n        // Use CREATE3 to deploy the anchor contract\\n        address deployed = CREATE3.deploy(salt, creationCode, 0);\\n        return (preCalculatedAddress, deployed);\\n    }\\n}\\n```\\n