ETH Price: $3,017.49 (-1.18%)

Contract

0x701fA51eB85e50cf462AB6f75BeaFDb173e4Ed23

Overview

ETH Balance

0 ETH

ETH Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Deploy130423872025-10-06 21:13:1861 days ago1759785198IN
0x701fA51e...173e4Ed23
0 ETH0.000001390.00000026
Deploy130419862025-10-06 21:06:3761 days ago1759784797IN
0x701fA51e...173e4Ed23
0 ETH0.00000140.00000026
Deploy130410752025-10-06 20:51:2661 days ago1759783886IN
0x701fA51e...173e4Ed23
0 ETH0.00000140.00000026
Deploy130404242025-10-06 20:40:3561 days ago1759783235IN
0x701fA51e...173e4Ed23
0 ETH0.00000280.00100026
Deploy130401012025-10-06 20:35:1261 days ago1759782912IN
0x701fA51e...173e4Ed23
0 ETH0.00000280.00100026
Deploy130372122025-10-06 19:47:0361 days ago1759780023IN
0x701fA51e...173e4Ed23
0 ETH0.000002820.00100026
Deploy130370712025-10-06 19:44:4261 days ago1759779882IN
0x701fA51e...173e4Ed23
0 ETH0.000002120.00050026
Deploy130369112025-10-06 19:42:0261 days ago1759779722IN
0x701fA51e...173e4Ed23
0 ETH0.000003270.00131352
Deploy130352012025-10-06 19:13:3261 days ago1759778012IN
0x701fA51e...173e4Ed23
0 ETH0.000001420.00000026

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
130423872025-10-06 21:13:1861 days ago1759785198
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130419862025-10-06 21:06:3761 days ago1759784797
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130410752025-10-06 20:51:2661 days ago1759783886
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130404242025-10-06 20:40:3561 days ago1759783235
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130401012025-10-06 20:35:1261 days ago1759782912
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130372122025-10-06 19:47:0361 days ago1759780023
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130370712025-10-06 19:44:4261 days ago1759779882
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130369112025-10-06 19:42:0261 days ago1759779722
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130352012025-10-06 19:13:3261 days ago1759778012
0x701fA51e...173e4Ed23
 Contract Creation0 ETH
130340232025-10-06 18:53:5461 days ago1759776834  Contract Creation0 ETH

Cross-Chain Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
CREATE3Factory

Compiler Version
v0.8.27+commit.40a35a09

Optimization Enabled:
Yes with 100000 runs

Other Settings:
cancun EvmVersion
// SPDX-License-Identifier: AGPL-3.0
pragma solidity ^0.8.27;

import {CREATE3} from "@solmate/utils/CREATE3.sol";

import {ICREATE3Factory} from "./ICREATE3Factory.sol";

/// @title Factory for deploying contracts to deterministic addresses via CREATE3
/// @author zefram.eth
/// @notice Enables deploying contracts using CREATE3. Each deployer (msg.sender) has
/// its own namespace for deployed addresses.
contract CREATE3Factory is ICREATE3Factory {
    /// @inheritdoc	ICREATE3Factory
    function deploy(bytes32 salt, bytes memory creationCode)
        external
        payable
        override
        returns (address deployed)
    {
        // hash salt with the deployer address to give each deployer its own namespace
        salt = keccak256(abi.encodePacked(msg.sender, salt));
        return CREATE3.deploy(salt, creationCode, msg.value);
    }

    /// @inheritdoc	ICREATE3Factory
    function getDeployed(address deployer, bytes32 salt)
        external
        view
        override
        returns (address deployed)
    {
        // hash salt with the deployer address to give each deployer its own namespace
        salt = keccak256(abi.encodePacked(deployer, salt));
        return CREATE3.getDeployed(salt);
    }
}

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

import {Bytes32AddressLib} from "./Bytes32AddressLib.sol";

/// @notice Deploy to deterministic addresses without an initcode factor.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/CREATE3.sol)
/// @author Modified from 0xSequence (https://github.com/0xSequence/create3/blob/master/contracts/Create3.sol)
library CREATE3 {
    using Bytes32AddressLib for bytes32;

    //--------------------------------------------------------------------------------//
    // Opcode     | Opcode + Arguments    | Description      | Stack View             //
    //--------------------------------------------------------------------------------//
    // 0x36       |  0x36                 | CALLDATASIZE     | size                   //
    // 0x3d       |  0x3d                 | RETURNDATASIZE   | 0 size                 //
    // 0x3d       |  0x3d                 | RETURNDATASIZE   | 0 0 size               //
    // 0x37       |  0x37                 | CALLDATACOPY     |                        //
    // 0x36       |  0x36                 | CALLDATASIZE     | size                   //
    // 0x3d       |  0x3d                 | RETURNDATASIZE   | 0 size                 //
    // 0x34       |  0x34                 | CALLVALUE        | value 0 size           //
    // 0xf0       |  0xf0                 | CREATE           | newContract            //
    //--------------------------------------------------------------------------------//
    // Opcode     | Opcode + Arguments    | Description      | Stack View             //
    //--------------------------------------------------------------------------------//
    // 0x67       |  0x67XXXXXXXXXXXXXXXX | PUSH8 bytecode   | bytecode               //
    // 0x3d       |  0x3d                 | RETURNDATASIZE   | 0 bytecode             //
    // 0x52       |  0x52                 | MSTORE           |                        //
    // 0x60       |  0x6008               | PUSH1 08         | 8                      //
    // 0x60       |  0x6018               | PUSH1 18         | 24 8                   //
    // 0xf3       |  0xf3                 | RETURN           |                        //
    //--------------------------------------------------------------------------------//
    bytes internal constant PROXY_BYTECODE = hex"67_36_3d_3d_37_36_3d_34_f0_3d_52_60_08_60_18_f3";

    bytes32 internal constant PROXY_BYTECODE_HASH = keccak256(PROXY_BYTECODE);

    function deploy(
        bytes32 salt,
        bytes memory creationCode,
        uint256 value
    ) internal returns (address deployed) {
        bytes memory proxyChildBytecode = PROXY_BYTECODE;

        address proxy;
        /// @solidity memory-safe-assembly
        assembly {
            // Deploy a new contract with our pre-made bytecode via CREATE2.
            // We start 32 bytes into the code to avoid copying the byte length.
            proxy := create2(0, add(proxyChildBytecode, 32), mload(proxyChildBytecode), salt)
        }
        require(proxy != address(0), "DEPLOYMENT_FAILED");

        deployed = getDeployed(salt);
        (bool success, ) = proxy.call{value: value}(creationCode);
        require(success && deployed.code.length != 0, "INITIALIZATION_FAILED");
    }

    function getDeployed(bytes32 salt) internal view returns (address) {
        return getDeployed(salt, address(this));
    }

    function getDeployed(bytes32 salt, address creator) internal pure returns (address) {
        address proxy = keccak256(
            abi.encodePacked(
                // Prefix:
                bytes1(0xFF),
                // Creator:
                creator,
                // Salt:
                salt,
                // Bytecode hash:
                PROXY_BYTECODE_HASH
            )
        ).fromLast20Bytes();

        return
            keccak256(
                abi.encodePacked(
                    // 0xd6 = 0xc0 (short RLP prefix) + 0x16 (length of: 0x94 ++ proxy ++ 0x01)
                    // 0x94 = 0x80 + 0x14 (0x14 = the length of an address, 20 bytes, in hex)
                    hex"d6_94",
                    proxy,
                    hex"01" // Nonce of the proxy contract (1)
                )
            ).fromLast20Bytes();
    }
}

// SPDX-License-Identifier: AGPL-3.0
pragma solidity >=0.6.0;

/// @title Factory for deploying contracts to deterministic addresses via CREATE3
/// @author zefram.eth
/// @notice Enables deploying contracts using CREATE3. Each deployer (msg.sender) has
/// its own namespace for deployed addresses.
interface ICREATE3Factory {
    /// @notice Deploys a contract using CREATE3
    /// @dev The provided salt is hashed together with msg.sender to generate the final salt
    /// @param salt The deployer-specific salt for determining the deployed contract's address
    /// @param creationCode The creation code of the contract to deploy
    /// @return deployed The address of the deployed contract
    function deploy(bytes32 salt, bytes memory creationCode)
        external
        payable
        returns (address deployed);

    /// @notice Predicts the address of a deployed contract
    /// @dev The provided salt is hashed together with the deployer address to generate the final salt
    /// @param deployer The deployer account that will call deploy()
    /// @param salt The deployer-specific salt for determining the deployed contract's address
    /// @return deployed The address of the contract that will be deployed
    function getDeployed(address deployer, bytes32 salt)
        external
        view
        returns (address deployed);
}

// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity >=0.8.0;

/// @notice Library for converting between addresses and bytes32 values.
/// @author Solmate (https://github.com/transmissions11/solmate/blob/main/src/utils/Bytes32AddressLib.sol)
library Bytes32AddressLib {
    function fromLast20Bytes(bytes32 bytesValue) internal pure returns (address) {
        return address(uint160(uint256(bytesValue)));
    }

    function fillLast12Bytes(address addressValue) internal pure returns (bytes32) {
        return bytes32(bytes20(addressValue));
    }
}

Settings
{
  "remappings": [
    "@forge-std/=dependencies/forge-std-1.11.0/src/",
    "@fun-contracts/=src/",
    "@fun-test-contracts/=test/",
    "@openzeppelin/contracts/=dependencies/@openzeppelin-contracts-5.4.0/",
    "forge-std/=dependencies/forge-std-1.11.0/src/",
    "@solmate/=dependencies/solmate-89365b880c4f3c786bdd453d4b8e8fe410344a69/src/",
    "@CREATE3/=src/CREATE3/",
    "@openzeppelin-contracts-5.4.0/=dependencies/@openzeppelin-contracts-5.4.0/",
    "CREATE3-1.0.0/=dependencies/CREATE3-1.0.0/src/",
    "forge-std-1.11.0/=dependencies/forge-std-1.11.0/src/",
    "solady-0.1.26/=dependencies/solady-0.1.26/src/",
    "solmate-89365b880c4f3c786bdd453d4b8e8fe410344a69/=dependencies/solmate-89365b880c4f3c786bdd453d4b8e8fe410344a69/src/"
  ],
  "optimizer": {
    "enabled": true,
    "runs": 100000
  },
  "metadata": {
    "useLiteralContent": false,
    "bytecodeHash": "ipfs",
    "appendCBOR": true
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "evmVersion": "cancun",
  "viaIR": true,
  "debug": {
    "revertStrings": "debug"
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"bytes","name":"creationCode","type":"bytes"}],"name":"deploy","outputs":[{"internalType":"address","name":"deployed","type":"address"}],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"deployer","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"}],"name":"getDeployed","outputs":[{"internalType":"address","name":"deployed","type":"address"}],"stateMutability":"view","type":"function"}]

608080604052346018576040516108b090816100668239f35b62461bcd60e51b815260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e63746960448201526137b760f11b6064820152608490fdfe6080806040526004361015610093575b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201527f6e6f7220726563656976652066756e6374696f6e7300000000000000000000006064820152fd5b5f3560e01c90816350f1c4641461049f575063cdcb760a146100b5575f61000f565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760243567ffffffffffffffff811161041657366023820112156103925780600401359061010b826106dc565b91610119604051938461066e565b8083526020830191366024838301011161030e57815f926024602093018537840101526040513360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082019081526004356034830152906101aa81605481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261066e565b519020806101b6610716565b6020815191015ff573ffffffffffffffffffffffffffffffffffffffff8116156102b0575f926101e884933090610751565b94519134905af13d156102ab573d6101ff816106dc565b9061020d604051928361066e565b81525f60203d92013e5b806102a1575b156102435760209073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50803b151561021d565b610217565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f414249206465636f64696e673a20696e76616c6964206279746520617272617960448201527f206c656e677468000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201527f72726179206f66667365740000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f66667360448201527f65740000000000000000000000000000000000000000000000000000000000006064820152fd5b6105ea565b346105685760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760043573ffffffffffffffffffffffffffffffffffffffff811681036105645761054660209160405161053c8161017e86820194602435908690917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b5190203090610751565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b5f80fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006084925260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e63746960448201527f6f6e0000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f60448201527f72740000000000000000000000000000000000000000000000000000000000006064820152fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106af57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116106af57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6040519061072560408361066e565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b9073ffffffffffffffffffffffffffffffffffffffff91610770610716565b60208151910120604051917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208401947fff00000000000000000000000000000000000000000000000000000000000000865260601b16602184015260358301526055820152605581526107e660758261066e565b5190206040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815261087360378261066e565b519020169056fea2646970667358221220ab9046b3e9e5ce02a370e315afbe8f1b9fcbbc8df2f15325982e4dad4f800e3864736f6c634300081b0033

Deployed Bytecode

0x6080806040526004361015610093575b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603560248201527f436f6e747261637420646f6573206e6f7420686176652066616c6c6261636b2060448201527f6e6f7220726563656976652066756e6374696f6e7300000000000000000000006064820152fd5b5f3560e01c90816350f1c4641461049f575063cdcb760a146100b5575f61000f565b60407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760243567ffffffffffffffff811161041657366023820112156103925780600401359061010b826106dc565b91610119604051938461066e565b8083526020830191366024838301011161030e57815f926024602093018537840101526040513360601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016602082019081526004356034830152906101aa81605481015b037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0810183528261066e565b519020806101b6610716565b6020815191015ff573ffffffffffffffffffffffffffffffffffffffff8116156102b0575f926101e884933090610751565b94519134905af13d156102ab573d6101ff816106dc565b9061020d604051928361066e565b81525f60203d92013e5b806102a1575b156102435760209073ffffffffffffffffffffffffffffffffffffffff60405191168152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f494e495449414c495a4154494f4e5f4641494c454400000000000000000000006044820152fd5b50803b151561021d565b610217565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4445504c4f594d454e545f4641494c45440000000000000000000000000000006044820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602760248201527f414249206465636f64696e673a20696e76616c6964206279746520617272617960448201527f206c656e677468000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f414249206465636f64696e673a20696e76616c69642063616c6c64617461206160448201527f72726179206f66667365740000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a20696e76616c6964207475706c65206f66667360448201527f65740000000000000000000000000000000000000000000000000000000000006064820152fd5b6105ea565b346105685760407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc36011261049a5760043573ffffffffffffffffffffffffffffffffffffffff811681036105645761054660209160405161053c8161017e86820194602435908690917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060349360601b16825260148201520190565b5190203090610751565b73ffffffffffffffffffffffffffffffffffffffff60405191168152f35b5f80fd5b807f08c379a0000000000000000000000000000000000000000000000000000000006084925260206004820152602260248201527f45746865722073656e7420746f206e6f6e2d70617961626c652066756e63746960448201527f6f6e0000000000000000000000000000000000000000000000000000000000006064820152fd5b60846040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f414249206465636f64696e673a207475706c65206461746120746f6f2073686f60448201527f72740000000000000000000000000000000000000000000000000000000000006064820152fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff8211176106af57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b67ffffffffffffffff81116106af57601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01660200190565b6040519061072560408361066e565b601082527f67363d3d37363d34f03d5260086018f3000000000000000000000000000000006020830152565b9073ffffffffffffffffffffffffffffffffffffffff91610770610716565b60208151910120604051917fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208401947fff00000000000000000000000000000000000000000000000000000000000000865260601b16602184015260358301526055820152605581526107e660758261066e565b5190206040517fffffffffffffffffffffffffffffffffffffffff00000000000000000000000060208201927fd694000000000000000000000000000000000000000000000000000000000000845260601b1660228201527f010000000000000000000000000000000000000000000000000000000000000060368201526017815261087360378261066e565b519020169056fea2646970667358221220ab9046b3e9e5ce02a370e315afbe8f1b9fcbbc8df2f15325982e4dad4f800e3864736f6c634300081b0033

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.