Skip to content

Factory

What is it?

The factory contract to call and deploy new HoneyLocker contracts.

Interface

interface IFactory {
 
    /// @notice Emitted when a new HoneyLocker is created
    /// @param owner The owner of the new HoneyLocker
    /// @param locker The address of the new HoneyLocker
    event NewLocker(address indexed owner, address locker);
 
    /// @notice Creates a new HoneyLocker contract
    /// @param _owner The address that will own the new HoneyLocker
    /// @param _referral The referral address for the new HoneyLocker
    /// @param _unlocked Whether the new HoneyLocker should work with a lock system or not
    /// @return The newly created HoneyLocker contract
    function clone(
        address _owner,
        address _referral,
        bool _unlocked
    ) external returns (HoneyLocker);
}

ABI

Show
[
  {
    "type": "constructor",
    "inputs": [
      { "name": "_honeyQueen", "type": "address", "internalType": "address" }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "function",
    "name": "clone",
    "inputs": [
      { "name": "_owner", "type": "address", "internalType": "address" },
      { "name": "_referral", "type": "address", "internalType": "address" },
      { "name": "_unlocked", "type": "bool", "internalType": "bool" }
    ],
    "outputs": [
      {
        "name": "",
        "type": "address",
        "internalType": "contract HoneyLocker"
      }
    ],
    "stateMutability": "nonpayable"
  },
  {
    "type": "event",
    "name": "NewLocker",
    "inputs": [
      {
        "name": "owner",
        "type": "address",
        "indexed": true,
        "internalType": "address"
      },
      {
        "name": "locker",
        "type": "address",
        "indexed": false,
        "internalType": "address"
      }
    ],
    "anonymous": false
  }
]