RouteFiCreate2Factory

Description:

Smart contract deployed on Ethereum with Factory features.

Blockchain: Ethereum

Source Code: View Code On The Blockchain

Solidity Source Code:

{{
  "language": "Solidity",
  "sources": {
    "src/RouteFiCreate2Factory.sol": {
      "content": "// SPDX-License-Identifier: MIT
pragma solidity =0.8.30;

contract RouteFiCreate2Factory {
    event Deploy(address addr);

    function deploy(
        bytes memory bytecode,
        string memory _salt
    ) public payable returns (address) {
        address addr;
        assembly {
            addr := create2(0, add(bytecode, 0x20), mload(bytecode), _salt)
            if iszero(extcodesize(addr)) {
                revert(0, 0)
            }
        }

        emit Deploy(addr);
        return addr;
    }

    function deployAndInit(
        bytes memory bytecode,
        string memory _salt,
        bytes memory initData
    ) external payable returns (address contractAddress) {
        contractAddress = deploy(bytecode, _salt);
        (bool success, ) = contractAddress.call{value: msg.value}(initData);
        require(success, "Deployment failed");
    }
}
"
    }
  },
  "settings": {
    "remappings": [
      "@openzeppelin/contracts/=lib/openzeppelin-contracts/contracts/",
      "@openzeppelin/contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/contracts/",
      "forge-std/=lib/forge-std/src/",
      "erc4626-tests/=lib/openzeppelin-contracts-upgradeable/lib/erc4626-tests/",
      "halmos-cheatcodes/=lib/openzeppelin-contracts-upgradeable/lib/halmos-cheatcodes/src/",
      "openzeppelin-contracts-upgradeable/=lib/openzeppelin-contracts-upgradeable/",
      "openzeppelin-contracts/=lib/openzeppelin-contracts/"
    ],
    "optimizer": {
      "enabled": true,
      "runs": 200
    },
    "metadata": {
      "useLiteralContent": false,
      "bytecodeHash": "ipfs",
      "appendCBOR": true
    },
    "outputSelection": {
      "*": {
        "*": [
          "evm.bytecode",
          "evm.deployedBytecode",
          "devdoc",
          "userdoc",
          "metadata",
          "abi"
        ]
      }
    },
    "evmVersion": "prague",
    "viaIR": true
  }
}}

Tags:
Factory|addr:0x10632a2e575bdd190f1ba6aff801b813518b1a61|verified:true|block:23489205|tx:0xcd8781d0c5f53f5ea6f446c7c031ba61edf1a9a8bc81238a7fe970a6f76c986b|first_check:1759400907

Submitted on: 2025-10-02 12:28:28

Comments

Log in to comment.

No comments yet.