Genesis Contracts

Facet Genesis Contracts

Facet launches with a curated set of core protocol and utility contracts deployed at genesis. By making these available from the very first block, the network ensures essential functionality—like bridging, account abstraction, and common utilities—are ready for use without additional deployments.

1. Protocol Predeploys

Protocol predeploys are core system contracts located at deterministic addresses in the 0x420 namespace. They form the backbone of Facet's environment and provide critical functionalities.

Active Protocol Predeploys:

  • WFCT (0x4200000000000000000000000000000000000006): Canonical Wrapped FCT token contract.

  • L1Block (0x4200000000000000000000000000000000000015): Exposes L1 block information (e.g., number, timestamp) to L2.

  • L2ToL1MessagePasser (0x4200000000000000000000000000000000000016): Facilitates message passing from L2 back to L1.

  • ProxyAdmin (0x4200000000000000000000000000000000000018): Administers upgrades for proxied protocol contracts.

  • SchemaRegistry (0x4200000000000000000000000000000000000020): Registers attestation schemas, enabling standardized verification logic.

  • EAS (0x4200000000000000000000000000000000000021): Ethereum Attestation Service, providing native attestation capabilities on L2.

2. Utility Preinstalls

Utility preinstalls are non-protocol helper contracts deployed at known addresses, commonly used across EVM chains. They offer a variety of tools and primitives, ensuring immediate compatibility with widely used frameworks and standards.

Included Preinstalls:

  • MultiCall3 (0xcA11bde05977b3631167028862bE2a173976CA11): Batch multiple calls into a single aggregate call.

  • Create2Deployer (0x13b0D85CcB8bf860b6b79AF3029fCA081AE9beF2): Canonical CREATE2 deployer for deterministic addresses.

  • Safe Contracts:

    • Safe v1.3.0 (0x69f4D1788e39c87893C980c06EdF4b7f686e2938)

    • SafeL2 v1.3.0 (0xfb1bffC9d739B8D520DaF37dF666da4C687191EA)

    • MultiSendCallOnly v1.3.0 (0xA1dabEF33b3B82c7814B6D82A79e50F4AC44102B)

    • MultiSend v1.3.0 (0x998739BFdAAdde7C933B942a68053933098f9EDa)

  • Safe Factory (0x914d7Fec6aaC8cd542e72Bca78B30650d45643d7): Deploys new Safe instances.

  • Deterministic Deployment Proxy (0x4e59b44847b379578588920cA78FbF26c0B4956C): Standard proxy enabling deterministic deployments.

  • Permit2 (0x000000000022D473030F116dDEE9F6B43aC78BA3): Uniswap’s extended token permit system, chain-aware and standardized.

  • Account Abstraction Components:

    • EntryPoint v0.6.0 (0x5FF137D4b0FDCD49DcA30c7CF57E578a026d2789)

    • EntryPoint v0.7.0 (0x0000000071727De22E5E9d8BAf0edAc6f37da032)

    • SenderCreator v0.6.0 (0x7fc98430eAEdbb6070B35B39D798725049088348)

    • SenderCreator v0.7.0 (0xEFC2c1444eBCC4Db75e7613d20C6a62fF67A167C)

  • BeaconBlockRoots (0x000F3df6D732807Ef1319fB7B8bB8522d0Beac02): Provides beacon block roots (EIP-4788).

  • BeaconBlockRootsSender (0x0B799C86a49DEeb90402691F1041aa3AF2d3C875): Sender account for EIP-4788 transactions.

Last updated