ETH Price: $1,984.41 (-3.88%)

Contract

0x0a7Aeb78EEACcE6E66C563260a5Cea1f6e0b5947
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Age:30D
Reset Filter

Transaction Hash
Method
Block
From
To

There are no matching entries

Update your filters to view other transactions

Age:30D
Reset Filter

Advanced mode:
Parent Transaction Hash Method Block
From
To

There are no matching entries

Update your filters to view other transactions

View All Internal Transactions
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
FairXYZCloner

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
// SPDX-License-Identifier: MIT

pragma solidity 0.8.7;

interface IFairXYZDeployer {
    function initialize(uint256 maxTokens_, uint256 nftPrice_, string memory name_, string memory symbol_,
                        bool burnable_, uint256 maxMintsPerWallet_, address interfaceAddress_,
                        string[] memory URIs_, uint96 royaltyPercentage_) external;
}

interface IFairXYZWallets {
    function viewSigner() view external returns(address);
    function viewWithdraw() view external returns(address);
}

contract FairXYZCloner {

    address public implementation;

    address public interfaceAddress;

    mapping(address => address[]) public allClones;

    event NewClone(address _newClone, address _owner);
    event NewCloneTicker(address _newClone, address _owner, string symbol);

    constructor(address _implementation, address _interface) {
        require(_implementation != address(0), "Cannot set to 0 address!");
        require(_interface != address(0), "Cannot set to 0 address!");
        implementation = _implementation;
        interfaceAddress = _interface;
    }

    /**
     * @dev Deploys and returns the address of a clone that mimics the behaviour of `implementation`.
     *
     * This function uses the create opcode, which should never revert.
     */
    function clone(address _implementation) internal returns (address instance) {
        assembly {
            let ptr := mload(0x40)
            mstore(ptr, 0x3d602d80600a3d3981f3363d3d373d3d3d363d73000000000000000000000000)
            mstore(add(ptr, 0x14), shl(0x60, _implementation))
            mstore(add(ptr, 0x28), 0x5af43d82803e903d91602b57fd5bf30000000000000000000000000000000000)
            instance := create(0, ptr, 0x37)
        }
        require(instance != address(0), "ERC1167: create failed");
    }

    function _clone(uint256 maxTokens, uint256 nftPrice, string memory name, string memory symbol, bool burnable, 
                    uint256 maxMintsPerWallet, string[] memory URIs_, uint96 royaltyPercentage) external {

        address identicalChild = clone(implementation);
        allClones[msg.sender].push(identicalChild);
        IFairXYZDeployer(identicalChild).initialize(maxTokens, nftPrice, name, symbol, burnable, maxMintsPerWallet, 
                                                    interfaceAddress, URIs_, royaltyPercentage);
        emit NewClone(identicalChild, msg.sender);
        emit NewCloneTicker(identicalChild, msg.sender, symbol);
    }

    function returnClones(address _owner) external view returns (address[] memory){
        return allClones[_owner];
    }

}

Settings
{
  "evmVersion": "istanbul",
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "libraries": {
    "FairXYZCloner.sol": {}
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"_implementation","type":"address"},{"internalType":"address","name":"_interface","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newClone","type":"address"},{"indexed":false,"internalType":"address","name":"_owner","type":"address"}],"name":"NewClone","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_newClone","type":"address"},{"indexed":false,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"string","name":"symbol","type":"string"}],"name":"NewCloneTicker","type":"event"},{"inputs":[{"internalType":"uint256","name":"maxTokens","type":"uint256"},{"internalType":"uint256","name":"nftPrice","type":"uint256"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"symbol","type":"string"},{"internalType":"bool","name":"burnable","type":"bool"},{"internalType":"uint256","name":"maxMintsPerWallet","type":"uint256"},{"internalType":"string[]","name":"URIs_","type":"string[]"},{"internalType":"uint96","name":"royaltyPercentage","type":"uint96"}],"name":"_clone","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"},{"internalType":"uint256","name":"","type":"uint256"}],"name":"allClones","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"implementation","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"interfaceAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"returnClones","outputs":[{"internalType":"address[]","name":"","type":"address[]"}],"stateMutability":"view","type":"function"}]

608060405234801561001057600080fd5b5060405161097d38038061097d83398101604081905261002f9161012d565b6001600160a01b03821661008a5760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742073657420746f2030206164647265737321000000000000000060448201526064015b60405180910390fd5b6001600160a01b0381166100e05760405162461bcd60e51b815260206004820152601860248201527f43616e6e6f742073657420746f203020616464726573732100000000000000006044820152606401610081565b600080546001600160a01b039384166001600160a01b03199182161790915560018054929093169116179055610160565b80516001600160a01b038116811461012857600080fd5b919050565b6000806040838503121561014057600080fd5b61014983610111565b915061015760208401610111565b90509250929050565b61080e8061016f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80630eb84efd1461005c5780635c60da1b146100855780636dc00dc0146100b05780637f3d5a34146100c5578063aa8a6754146100d8575b600080fd5b61006f61006a3660046104da565b6100eb565b60405161007c919061066f565b60405180910390f35b600054610098906001600160a01b031681565b6040516001600160a01b03909116815260200161007c565b6100c36100be366004610526565b610161565b005b6100986100d33660046104fc565b6102aa565b600154610098906001600160a01b031681565b6001600160a01b03811660009081526002602090815260409182902080548351818402810184019094528084526060939283018282801561015557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610137575b50505050509050919050565b60008054610177906001600160a01b03166102e2565b3360009081526002602090815260408083208054600180820183559185529290932090910180546001600160a01b0319166001600160a01b03858116918217909255925491516340eea53360e01b815293945091926340eea533926101f0928e928e928e928e928e928e9216908d908d906004016106bc565b600060405180830381600087803b15801561020a57600080fd5b505af115801561021e573d6000803e3d6000fd5b5050604080516001600160a01b03851681523360208201527f3bf919a220a0f12ddcaf77fd06ffa4b9c728617774936f0d78b452010319c824935001905060405180910390a17f62e4ed1ae964bf13ab15b4efee5e0889bdf5d1b1cd6d33d036546dc478773c608133886040516102979392919061063a565b60405180910390a1505050505050505050565b600260205281600052604060002081815481106102c657600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b03811661037e5760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b80356001600160a01b038116811461037e57600080fd5b600082601f8301126103ab57600080fd5b8135602067ffffffffffffffff808311156103c8576103c86107c2565b8260051b6103d7838201610791565b8481528381019087850183890186018a10156103f257600080fd5b60009350835b8781101561042f5781358681111561040e578586fd5b61041c8c89838e010161044e565b85525092860192908601906001016103f8565b50909998505050505050505050565b8035801515811461037e57600080fd5b600082601f83011261045f57600080fd5b813567ffffffffffffffff811115610479576104796107c2565b61048c601f8201601f1916602001610791565b8181528460208386010111156104a157600080fd5b816020850160208301376000918101602001919091529392505050565b80356bffffffffffffffffffffffff8116811461037e57600080fd5b6000602082840312156104ec57600080fd5b6104f582610383565b9392505050565b6000806040838503121561050f57600080fd5b61051883610383565b946020939093013593505050565b600080600080600080600080610100898b03121561054357600080fd5b8835975060208901359650604089013567ffffffffffffffff8082111561056957600080fd5b6105758c838d0161044e565b975060608b013591508082111561058b57600080fd5b6105978c838d0161044e565b96506105a560808c0161043e565b955060a08b0135945060c08b01359150808211156105c257600080fd5b506105cf8b828c0161039a565b9250506105de60e08a016104be565b90509295985092959890939650565b6000815180845260005b81811015610613576020818501810151868301820152016105f7565b81811115610625576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b03848116825283166020820152606060408201819052600090610666908301846105ed565b95945050505050565b6020808252825182820181905260009190848201906040850190845b818110156106b05783516001600160a01b03168352928401929184019160010161068b565b50909695505050505050565b60006101208b835260208b818501528160408501526106dd8285018c6105ed565b915083820360608501526106f1828b6105ed565b891515608086015260a085018990526001600160a01b03881660c086015284810360e0860152865180825290925081830190600581901b8401830183890160005b8381101561076057601f1987840301855261074e8383516105ed565b94860194925090850190600101610732565b50506bffffffffffffffffffffffff881661010088015294506107839350505050565b9a9950505050505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156107ba576107ba6107c2565b604052919050565b634e487b7160e01b600052604160045260246000fdfea264697066735822122003b0f9428374b8f035da53e5c87d606880ed7518fcd52fc225e4ed30c6323c2764736f6c634300080700330000000000000000000000001bc2697f2efac144e7422c4827ba95e9b8369b7700000000000000000000000096fc21efc5c030e0012199638992c8a703086866

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106100575760003560e01c80630eb84efd1461005c5780635c60da1b146100855780636dc00dc0146100b05780637f3d5a34146100c5578063aa8a6754146100d8575b600080fd5b61006f61006a3660046104da565b6100eb565b60405161007c919061066f565b60405180910390f35b600054610098906001600160a01b031681565b6040516001600160a01b03909116815260200161007c565b6100c36100be366004610526565b610161565b005b6100986100d33660046104fc565b6102aa565b600154610098906001600160a01b031681565b6001600160a01b03811660009081526002602090815260409182902080548351818402810184019094528084526060939283018282801561015557602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610137575b50505050509050919050565b60008054610177906001600160a01b03166102e2565b3360009081526002602090815260408083208054600180820183559185529290932090910180546001600160a01b0319166001600160a01b03858116918217909255925491516340eea53360e01b815293945091926340eea533926101f0928e928e928e928e928e928e9216908d908d906004016106bc565b600060405180830381600087803b15801561020a57600080fd5b505af115801561021e573d6000803e3d6000fd5b5050604080516001600160a01b03851681523360208201527f3bf919a220a0f12ddcaf77fd06ffa4b9c728617774936f0d78b452010319c824935001905060405180910390a17f62e4ed1ae964bf13ab15b4efee5e0889bdf5d1b1cd6d33d036546dc478773c608133886040516102979392919061063a565b60405180910390a1505050505050505050565b600260205281600052604060002081815481106102c657600080fd5b6000918252602090912001546001600160a01b03169150829050565b6000604051733d602d80600a3d3981f3363d3d373d3d3d363d7360601b81528260601b60148201526e5af43d82803e903d91602b57fd5bf360881b60288201526037816000f09150506001600160a01b03811661037e5760405162461bcd60e51b8152602060048201526016602482015275115490cc4c4d8dce8818dc99585d194819985a5b195960521b604482015260640160405180910390fd5b919050565b80356001600160a01b038116811461037e57600080fd5b600082601f8301126103ab57600080fd5b8135602067ffffffffffffffff808311156103c8576103c86107c2565b8260051b6103d7838201610791565b8481528381019087850183890186018a10156103f257600080fd5b60009350835b8781101561042f5781358681111561040e578586fd5b61041c8c89838e010161044e565b85525092860192908601906001016103f8565b50909998505050505050505050565b8035801515811461037e57600080fd5b600082601f83011261045f57600080fd5b813567ffffffffffffffff811115610479576104796107c2565b61048c601f8201601f1916602001610791565b8181528460208386010111156104a157600080fd5b816020850160208301376000918101602001919091529392505050565b80356bffffffffffffffffffffffff8116811461037e57600080fd5b6000602082840312156104ec57600080fd5b6104f582610383565b9392505050565b6000806040838503121561050f57600080fd5b61051883610383565b946020939093013593505050565b600080600080600080600080610100898b03121561054357600080fd5b8835975060208901359650604089013567ffffffffffffffff8082111561056957600080fd5b6105758c838d0161044e565b975060608b013591508082111561058b57600080fd5b6105978c838d0161044e565b96506105a560808c0161043e565b955060a08b0135945060c08b01359150808211156105c257600080fd5b506105cf8b828c0161039a565b9250506105de60e08a016104be565b90509295985092959890939650565b6000815180845260005b81811015610613576020818501810151868301820152016105f7565b81811115610625576000602083870101525b50601f01601f19169290920160200192915050565b6001600160a01b03848116825283166020820152606060408201819052600090610666908301846105ed565b95945050505050565b6020808252825182820181905260009190848201906040850190845b818110156106b05783516001600160a01b03168352928401929184019160010161068b565b50909695505050505050565b60006101208b835260208b818501528160408501526106dd8285018c6105ed565b915083820360608501526106f1828b6105ed565b891515608086015260a085018990526001600160a01b03881660c086015284810360e0860152865180825290925081830190600581901b8401830183890160005b8381101561076057601f1987840301855261074e8383516105ed565b94860194925090850190600101610732565b50506bffffffffffffffffffffffff881661010088015294506107839350505050565b9a9950505050505050505050565b604051601f8201601f1916810167ffffffffffffffff811182821017156107ba576107ba6107c2565b604052919050565b634e487b7160e01b600052604160045260246000fdfea264697066735822122003b0f9428374b8f035da53e5c87d606880ed7518fcd52fc225e4ed30c6323c2764736f6c63430008070033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000001bc2697f2efac144e7422c4827ba95e9b8369b7700000000000000000000000096fc21efc5c030e0012199638992c8a703086866

-----Decoded View---------------
Arg [0] : _implementation (address): 0x1Bc2697f2efac144e7422c4827Ba95e9b8369B77
Arg [1] : _interface (address): 0x96fC21EfC5c030E0012199638992c8a703086866

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000001bc2697f2efac144e7422c4827ba95e9b8369b77
Arg [1] : 00000000000000000000000096fc21efc5c030e0012199638992c8a703086866


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

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.