RobinhoodLaunchTokenFactory

0x4ec0d15bc8d2f5a7eb4d14e789c92c7f7b96425d

Verification
Verified
v0.8.28+commit.7893614a
Type
Contract
8,388 bytes
ABI entries
6
1 read · 1 write
License
none

Contract information

Address
0x4ec0d15bc8d2f5a7eb4d14e789c92c7f7b96425d
Chain
Robinhood Chain (4663)
Compiler
v0.8.28+commit.7893614a
Optimization
Enabled
Creation tx
0x24397cca73…93dc750a42

Token

Not a token

This contract does not expose ERC-20 metadata.

Read contract (1)

poolManager()address

ABI

[
  {
    "inputs": [
      {
        "internalType": "address",
        "name": "poolManager_",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "constructor"
  },
  {
    "inputs": [],
    "name": "Create2EmptyBytecode",
    "type": "error"
  },
  {
    "inputs": [],
    "name": "Create2FailedDeployment",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "uint256",
        "name": "balance",
        "type": "uint256"
      },
      {
        "internalType": "uint256",
        "name": "needed",
        "type": "uint256"
      }
    ],
    "name": "Create2InsufficientBalance",
    "type": "error"
  },
  {
    "inputs": [
      {
        "internalType": "string",
        "name": "name",
        "type": "string"
      },
      {
        "internalType": "string",
        "name": "symbol",
        "type": "string"
      },
      {
        "internalType": "uint256",
        "name": "salt",
        "type": "uint256"
      }
    ],
    "name": "deployToken",
    "outputs": [
      {
        "internalType": "address",
        "name": "token",
        "type": "address"
      }
    ],
    "stateMutability": "nonpayable",
    "type": "function"
  },
  {
    "inputs": [],
    "name": "poolManager",
    "outputs": [
      {
        "internalType": "address",
        "name": "",
        "type": "address"
      }
    ],
    "stateMutability": "view",
    "type": "function"
  }
]

Source code

// SPDX-License-Identifier: MIT
pragma solidity 0.8.28;

import {RobinhoodLaunchToken} from "./RobinhoodLaunchToken.sol";
import {Create2} from "@openzeppelin/contracts/utils/Create2.sol";

/// @notice Robinhood deployment of Arena's permissionless CREATE2 token factory.
/// @dev The PoolManager constructor argument is the only chain-specific addition.
contract RobinhoodLaunchTokenFactory {
    address public immutable poolManager;

    constructor(address poolManager_) {
        poolManager = poolManager_;
    }

    function deployToken(string memory name, string memory symbol, uint256 salt)
        external
        returns (address token)
    {
        bytes memory tokenBytecode = abi.encodePacked(
            type(RobinhoodLaunchToken).creationCode,
            abi.encode(name, symbol, msg.sender, poolManager)
        );
        token = Create2.deploy(0, bytes32(salt), tokenBytecode);
    }
}
Chain explorer5335msChain node76ms