ETH Price: $1,984.20 (-1.92%)
Gas: 0.42 Gwei
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Breed154087222022-08-25 10:59:06938 days ago1661425146IN
0x9792fB4c...F313A139e
0 ETH0.000862486.14605982
Breed154085022022-08-25 10:07:39938 days ago1661422059IN
0x9792fB4c...F313A139e
0 ETH0.001205598.59025742
Breed154083762022-08-25 9:39:34938 days ago1661420374IN
0x9792fB4c...F313A139e
0 ETH0.000982627.10646022
Breed154082132022-08-25 9:03:04938 days ago1661418184IN
0x9792fB4c...F313A139e
0 ETH0.001092017.78167189
Breed154082012022-08-25 9:00:54938 days ago1661418054IN
0x9792fB4c...F313A139e
0 ETH0.001289529.18911438
Breed154069252022-08-25 3:57:53938 days ago1661399873IN
0x9792fB4c...F313A139e
0 ETH0.001382539.92347317
Breed154067622022-08-25 3:16:41938 days ago1661397401IN
0x9792fB4c...F313A139e
0 ETH0.00167639.01813785
Breed154063102022-08-25 1:33:47939 days ago1661391227IN
0x9792fB4c...F313A139e
0 ETH0.00107917.68833319
Breed154059982022-08-25 0:21:43939 days ago1661386903IN
0x9792fB4c...F313A139e
0 ETH0.0014188610.18506785
Breed154057312022-08-24 23:17:39939 days ago1661383059IN
0x9792fB4c...F313A139e
0 ETH0.0025879218.43831441
Breed154057312022-08-24 23:17:39939 days ago1661383059IN
0x9792fB4c...F313A139e
0 ETH0.0025872618.43831441
Breed154055632022-08-24 22:31:39939 days ago1661380299IN
0x9792fB4c...F313A139e
0 ETH0.0025118912.3736112
Breed154055552022-08-24 22:29:57939 days ago1661380197IN
0x9792fB4c...F313A139e
0 ETH0.0023431813.84419704
Breed154054952022-08-24 22:14:46939 days ago1661379286IN
0x9792fB4c...F313A139e
0 ETH0.0020201414.5
Breed154054552022-08-24 22:04:48939 days ago1661378688IN
0x9792fB4c...F313A139e
0 ETH0.0029099717.02436727
Breed154052172022-08-24 21:13:35939 days ago1661375615IN
0x9792fB4c...F313A139e
0 ETH0.001114137.93998172
Breed154050672022-08-24 20:43:28939 days ago1661373808IN
0x9792fB4c...F313A139e
0 ETH0.0015330611.00483203
Breed154048752022-08-24 20:02:05939 days ago1661371325IN
0x9792fB4c...F313A139e
0 ETH0.0026977219.23047882
Breed154046452022-08-24 19:07:43939 days ago1661368063IN
0x9792fB4c...F313A139e
0 ETH0.0015613511.12617601
Breed154040622022-08-24 16:54:18939 days ago1661360058IN
0x9792fB4c...F313A139e
0 ETH0.0025555318.21063487
Breed154039922022-08-24 16:38:40939 days ago1661359120IN
0x9792fB4c...F313A139e
0 ETH0.0019532813.92023189
Breed154039532022-08-24 16:30:38939 days ago1661358638IN
0x9792fB4c...F313A139e
0 ETH0.0031285822.29796252
Breed154037212022-08-24 15:37:50939 days ago1661355470IN
0x9792fB4c...F313A139e
0 ETH0.0035824425.52620265
Breed154036832022-08-24 15:27:58939 days ago1661354878IN
0x9792fB4c...F313A139e
0 ETH0.0045788322.56383084
Breed154021972022-08-24 9:47:42939 days ago1661334462IN
0x9792fB4c...F313A139e
0 ETH0.0020408811.93600571
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
SlotieJrBreeding

Compiler Version
v0.8.11+commit.d7f03943

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 5 : SlotieJrBreeding.sol
// SPDX-License-Identifier: MIT
// Developed by KG Technologies (https://kgtechnologies.io)

pragma solidity 0.8.11;

import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import { MerkleProof } from "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";

/**
 * @notice Represents Slotie Smart Contract
 */
contract ISlotie {
    /** 
     * @dev ERC-721 INTERFACE 
     */
    function ownerOf(uint256 tokenId) public view virtual returns (address) {}

    /** 
     * @dev CUSTOM INTERFACE 
     */
    function mintTo(uint256 amount, address _to) external {}
}

contract ISlotieJr {
    /** 
     * @dev ERC-721 INTERFACE 
     */
    function ownerOf(uint256 tokenId) public view virtual returns (address) {}
    function totalSupply() public view returns (uint256) {}

    /** 
     * @dev CUSTOM INTERFACE 
     */
    function mintTo(uint256 amount, address _to) external {}
    function maxMintPerTransaction() public returns (uint256) {}
}

abstract contract IWatts is IERC20 {
    function burn(address _from, uint256 _amount) external {}
    function seeClaimableBalanceOfUser(address user) external view returns(uint256) {}
    function seeClaimableTotalSupply() external view returns(uint256) {}
    function burnClaimable(address _from, uint256 _amount) public {}
    function transferOwnership(address newOwner) public {}
    function setSlotieNFT(address newSlotieNFT) external {}
    function setLockPeriod(uint256 newLockPeriod) external {}
    function setIsBlackListed(address _address, bool _isBlackListed) external {}
}

/**
 * @title SlotieJrBreeding.
 *
 * @author KG Technologies (https://kgtechnologies.io).
 *
 * @notice This Smart Contract can be used to breed Slotie NFTs.
 *
 * @dev The primary mode of verifying permissioned actions is through Merkle Proofs
 * which are generated off-chain.
 */
contract SlotieJrBreeding is Ownable {

    /** 
     * @notice The Smart Contract of Slotie
     * @dev ERC-721 Smart Contract 
     */
    ISlotie public immutable slotie;

    /** 
     * @notice The Smart Contract of Slotie Jr.
     * @dev ERC-721 Smart Contract 
     */
    ISlotieJr public immutable slotiejr;

    /** 
     * @notice The Smart Contract of Watts.
     * @dev ERC-20 Smart Contract 
     */
    IWatts public immutable watts;
    
    /** 
     * @dev BREED DATA 
     */
    uint256 public maxBreedableJuniors = 5000;
    bool public isBreedingStarted = false;
    uint256 public breedPrice = 1800 ether;    
    uint256 public breedCoolDown = 2 * 30 days;
    
    mapping(uint256 => uint256) public slotieToLastBreedTimeStamp;  

    bytes32 public merkleRoot = 0x92b34b7175c93f0db8f32e6996287e5d3141e4364dcc5f03e3f3b0454d999605;

    /**
     * @dev TRACKING DATA
     */
    uint256 public bornJuniors;

    /**
     * @dev Events
     */
    event ReceivedEther(address indexed sender, uint256 indexed amount);
    event Bred(address initiator, uint256 indexed father, uint256 indexed mother, uint256 indexed slotieJr);
    event setMerkleRootEvent(bytes32 indexed root);
    event setIsBreedingStartedEvent(bool indexed started);
    event setMaxBreedableJuniorsEvent(uint256 indexed maxMintable);
    event setBreedCoolDownEvent(uint256 indexed coolDown);
    event setBreedPriceEvent(uint256 indexed price);
    event WithdrawAllEvent(address indexed recipient, uint256 amount);

    constructor(
        address slotieAddress,
        address slotieJrAddress,
        address wattsAddress
    ) Ownable() {
        slotie = ISlotie(slotieAddress);
        slotiejr = ISlotieJr(slotieJrAddress);
        watts = IWatts(wattsAddress);
    }
 
    /**
     * @dev BREEDING
     */

    function breed(
        uint256 father, 
        uint256 mother, 
        uint256 fatherStart, 
        uint256 motherStart, 
        bytes32[] calldata fatherProof, 
        bytes32[] calldata motherProof
    ) external {
        require(isBreedingStarted, "BREEDING NOT STARTED");
        require(address(slotie) != address(0), "SLOTIE NFT NOT SET");
        require(address(slotiejr) != address(0), "SLOTIE JR NFT NOT SET");
        require(address(watts) != address(0), "WATTS NOT SET");
        require(bornJuniors < maxBreedableJuniors, "MAX JUNIORS HAVE BEEN BRED");
        require(father != mother, "CANNOT BREED THE SAME SLOTIE");
        require(slotie.ownerOf(father) == msg.sender, "SENDER NOT OWNER OF FATHER");    
        require(slotie.ownerOf(mother) == msg.sender, "SENDER NOT OWNER OF MOTHER");

        uint256 fatherLastBred = slotieToLastBreedTimeStamp[father];
        uint256 motherLastBred = slotieToLastBreedTimeStamp[mother];

        /**
         * @notice Check if father can breed based based on time logic
         *
         * @dev If father hasn't bred before we check the merkle proof to see
         * if it can breed already. If it has bred already we check if it's passed the
         * cooldown period.
         */ 
        if (fatherLastBred != 0) {
            require(block.timestamp >= fatherLastBred + breedCoolDown, "FATHER IS STILL IN COOLDOWN");
        }

        /// @dev see father.
        if (motherLastBred != 0) {
            require(block.timestamp >= motherLastBred + breedCoolDown, "MOTHER IS STILL IN COOLDOWN");
        }

        if (fatherLastBred == 0 || motherLastBred == 0) {
            bytes32 leafFather = keccak256(abi.encodePacked(father, fatherStart, fatherLastBred));
            bytes32 leafMother = keccak256(abi.encodePacked(mother, motherStart, motherLastBred));

            require(MerkleProof.verify(fatherProof, merkleRoot, leafFather), "INVALID PROOF FOR FATHER");
            require(MerkleProof.verify(motherProof, merkleRoot, leafMother), "INVALID PROOF FOR MOTHER"); 

            require(block.timestamp >= fatherStart || block.timestamp >= motherStart, "SLOTIES CANNOT CANNOT BREED YET");
        }

        slotieToLastBreedTimeStamp[father] = block.timestamp;
        slotieToLastBreedTimeStamp[mother] = block.timestamp;
        bornJuniors++;

        require(watts.balanceOf(msg.sender) >= breedPrice, "SENDER DOES NOT HAVE ENOUGH WATTS");

        uint256 claimableBalance = watts.seeClaimableBalanceOfUser(msg.sender);
        uint256 burnFromClaimable = claimableBalance >= breedPrice ? breedPrice : claimableBalance;
        uint256 burnFromBalance = claimableBalance >= breedPrice ? 0 : breedPrice - claimableBalance;

        if (claimableBalance > 0) {
            watts.burnClaimable(msg.sender, burnFromClaimable);
        }
        
        if (burnFromBalance > 0) {
            watts.burn(msg.sender, burnFromBalance);
        }

        slotiejr.mintTo(1, msg.sender);
        emit Bred(msg.sender, father, mother, slotiejr.totalSupply());
    }  

    /** 
     * @dev OWNER ONLY 
     */

    /**
     * @notice function to set the merkle root for breeding.
     *
     * @param _merkleRoot. The new merkle root to set.
     */
    function setMerkleRoot(bytes32 _merkleRoot) external onlyOwner {
        merkleRoot = _merkleRoot;
        emit setMerkleRootEvent(_merkleRoot);
    }

    /**
     * @notice function to turn on/off breeding.
     *
     * @param _status. The new state of the breeding.
     */
    function setBreedingStatus(bool _status) external onlyOwner {
        isBreedingStarted = _status;
        emit setIsBreedingStartedEvent(_status);
    }    

    /**
     * @notice function to set the maximum amount of juniors that can be bred.
     *
     * @param max. The new maximum.
     */
    function setMaxBreedableJuniors(uint256 max) external onlyOwner {
        maxBreedableJuniors = max;
        emit setMaxBreedableJuniorsEvent(max);
    }

    /**
     * @notice function to set the cooldown period for breeding a slotie.
     *
     * @param coolDown. The new cooldown period.
     */
    function setBreedCoolDown(uint256 coolDown) external onlyOwner {
        breedCoolDown = coolDown;
        emit setBreedCoolDownEvent(coolDown);
    }

    /**
     * @notice function to set the watts price for breeding two sloties.
     *
     * @param price. The new watts price.
     */
    function setBreedPice(uint256 price) external onlyOwner {
        breedPrice = price;
        emit setBreedPriceEvent(price);
    }

    /**
     * @dev WATTS OWNER
     */

    function WATTSOWNER_TransferOwnership(address newOwner) external onlyOwner {
        watts.transferOwnership(newOwner);
    }

    function WATTSOWNER_SetSlotieNFT(address newSlotie) external onlyOwner {
        watts.setSlotieNFT(newSlotie);
    }

    function WATTSOWNER_SetLockPeriod(uint256 newLockPeriod) external onlyOwner {
        watts.setLockPeriod(newLockPeriod);
    }

    function WATTSOWNER_SetIsBlackListed(address _set, bool _is) external onlyOwner {
        watts.setIsBlackListed(_set, _is);
    }

    function WATTSOWNER_seeClaimableBalanceOfUser(address user) external view onlyOwner returns (uint256) {
        return watts.seeClaimableBalanceOfUser(user);
    }

    function WATTSOWNER_seeClaimableTotalSupply() external view onlyOwner returns (uint256) {
        return watts.seeClaimableTotalSupply();
    }
    

    /**
     * @dev FINANCE
     */

    /**
     * @notice Allows owner to withdraw funds generated from sale.
     *
     * @param _to. The address to send the funds to.
     */
    function withdrawAll(address _to) external onlyOwner {
        require(_to != address(0), "CANNOT WITHDRAW TO ZERO ADDRESS");

        uint256 contractBalance = address(this).balance;

        require(contractBalance > 0, "NO ETHER TO WITHDRAW");

        payable(_to).transfer(contractBalance);

        emit WithdrawAllEvent(_to, contractBalance);
    }

    /**
     * @dev Fallback function for receiving Ether
     */
    receive() external payable {
        emit ReceivedEther(msg.sender, msg.value);
    }
}

File 2 of 5 : Ownable.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (access/Ownable.sol)

pragma solidity ^0.8.0;

import "../utils/Context.sol";

/**
 * @dev Contract module which provides a basic access control mechanism, where
 * there is an account (an owner) that can be granted exclusive access to
 * specific functions.
 *
 * By default, the owner account will be the one that deploys the contract. This
 * can later be changed with {transferOwnership}.
 *
 * This module is used through inheritance. It will make available the modifier
 * `onlyOwner`, which can be applied to your functions to restrict their use to
 * the owner.
 */
abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _transferOwnership(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    /**
     * @dev Leaves the contract without owner. It will not be possible to call
     * `onlyOwner` functions anymore. Can only be called by the current owner.
     *
     * NOTE: Renouncing ownership will leave the contract without an owner,
     * thereby removing any functionality that is only available to the owner.
     */
    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Can only be called by the current owner.
     */
    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

    /**
     * @dev Transfers ownership of the contract to a new account (`newOwner`).
     * Internal function without access restriction.
     */
    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

File 3 of 5 : IERC20.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (token/ERC20/IERC20.sol)

pragma solidity ^0.8.0;

/**
 * @dev Interface of the ERC20 standard as defined in the EIP.
 */
interface IERC20 {
    /**
     * @dev Returns the amount of tokens in existence.
     */
    function totalSupply() external view returns (uint256);

    /**
     * @dev Returns the amount of tokens owned by `account`.
     */
    function balanceOf(address account) external view returns (uint256);

    /**
     * @dev Moves `amount` tokens from the caller's account to `recipient`.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transfer(address recipient, uint256 amount) external returns (bool);

    /**
     * @dev Returns the remaining number of tokens that `spender` will be
     * allowed to spend on behalf of `owner` through {transferFrom}. This is
     * zero by default.
     *
     * This value changes when {approve} or {transferFrom} are called.
     */
    function allowance(address owner, address spender) external view returns (uint256);

    /**
     * @dev Sets `amount` as the allowance of `spender` over the caller's tokens.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * IMPORTANT: Beware that changing an allowance with this method brings the risk
     * that someone may use both the old and the new allowance by unfortunate
     * transaction ordering. One possible solution to mitigate this race
     * condition is to first reduce the spender's allowance to 0 and set the
     * desired value afterwards:
     * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
     *
     * Emits an {Approval} event.
     */
    function approve(address spender, uint256 amount) external returns (bool);

    /**
     * @dev Moves `amount` tokens from `sender` to `recipient` using the
     * allowance mechanism. `amount` is then deducted from the caller's
     * allowance.
     *
     * Returns a boolean value indicating whether the operation succeeded.
     *
     * Emits a {Transfer} event.
     */
    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

    /**
     * @dev Emitted when `value` tokens are moved from one account (`from`) to
     * another (`to`).
     *
     * Note that `value` may be zero.
     */
    event Transfer(address indexed from, address indexed to, uint256 value);

    /**
     * @dev Emitted when the allowance of a `spender` for an `owner` is set by
     * a call to {approve}. `value` is the new allowance.
     */
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 4 of 5 : MerkleProof.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/cryptography/MerkleProof.sol)

pragma solidity ^0.8.0;

/**
 * @dev These functions deal with verification of Merkle Trees proofs.
 *
 * The proofs can be generated using the JavaScript library
 * https://github.com/miguelmota/merkletreejs[merkletreejs].
 * Note: the hashing algorithm should be keccak256 and pair sorting should be enabled.
 *
 * See `test/utils/cryptography/MerkleProof.test.js` for some examples.
 */
library MerkleProof {
    /**
     * @dev Returns true if a `leaf` can be proved to be a part of a Merkle tree
     * defined by `root`. For this, a `proof` must be provided, containing
     * sibling hashes on the branch from the leaf to the root of the tree. Each
     * pair of leaves and each pair of pre-images are assumed to be sorted.
     */
    function verify(
        bytes32[] memory proof,
        bytes32 root,
        bytes32 leaf
    ) internal pure returns (bool) {
        return processProof(proof, leaf) == root;
    }

    /**
     * @dev Returns the rebuilt hash obtained by traversing a Merklee tree up
     * from `leaf` using `proof`. A `proof` is valid if and only if the rebuilt
     * hash matches the root of the tree. When processing the proof, the pairs
     * of leafs & pre-images are assumed to be sorted.
     *
     * _Available since v4.4._
     */
    function processProof(bytes32[] memory proof, bytes32 leaf) internal pure returns (bytes32) {
        bytes32 computedHash = leaf;
        for (uint256 i = 0; i < proof.length; i++) {
            bytes32 proofElement = proof[i];
            if (computedHash <= proofElement) {
                // Hash(current computed hash + current element of the proof)
                computedHash = keccak256(abi.encodePacked(computedHash, proofElement));
            } else {
                // Hash(current element of the proof + current computed hash)
                computedHash = keccak256(abi.encodePacked(proofElement, computedHash));
            }
        }
        return computedHash;
    }
}

File 5 of 5 : Context.sol
// SPDX-License-Identifier: MIT
// OpenZeppelin Contracts v4.4.0 (utils/Context.sol)

pragma solidity ^0.8.0;

/**
 * @dev Provides information about the current execution context, including the
 * sender of the transaction and its data. While these are generally available
 * via msg.sender and msg.data, they should not be accessed in such a direct
 * manner, since when dealing with meta-transactions the account sending and
 * paying for execution may not be the actual sender (as far as an application
 * is concerned).
 *
 * This contract is only required for intermediate, library-like contracts.
 */
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

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

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"slotieAddress","type":"address"},{"internalType":"address","name":"slotieJrAddress","type":"address"},{"internalType":"address","name":"wattsAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"initiator","type":"address"},{"indexed":true,"internalType":"uint256","name":"father","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"mother","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"slotieJr","type":"uint256"}],"name":"Bred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":true,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"ReceivedEther","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"recipient","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"WithdrawAllEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"coolDown","type":"uint256"}],"name":"setBreedCoolDownEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"price","type":"uint256"}],"name":"setBreedPriceEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bool","name":"started","type":"bool"}],"name":"setIsBreedingStartedEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"maxMintable","type":"uint256"}],"name":"setMaxBreedableJuniorsEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"root","type":"bytes32"}],"name":"setMerkleRootEvent","type":"event"},{"inputs":[{"internalType":"address","name":"_set","type":"address"},{"internalType":"bool","name":"_is","type":"bool"}],"name":"WATTSOWNER_SetIsBlackListed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLockPeriod","type":"uint256"}],"name":"WATTSOWNER_SetLockPeriod","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newSlotie","type":"address"}],"name":"WATTSOWNER_SetSlotieNFT","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"WATTSOWNER_TransferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"user","type":"address"}],"name":"WATTSOWNER_seeClaimableBalanceOfUser","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"WATTSOWNER_seeClaimableTotalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"bornJuniors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"father","type":"uint256"},{"internalType":"uint256","name":"mother","type":"uint256"},{"internalType":"uint256","name":"fatherStart","type":"uint256"},{"internalType":"uint256","name":"motherStart","type":"uint256"},{"internalType":"bytes32[]","name":"fatherProof","type":"bytes32[]"},{"internalType":"bytes32[]","name":"motherProof","type":"bytes32[]"}],"name":"breed","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"breedCoolDown","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"breedPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"isBreedingStarted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxBreedableJuniors","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"merkleRoot","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"coolDown","type":"uint256"}],"name":"setBreedCoolDown","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"price","type":"uint256"}],"name":"setBreedPice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_status","type":"bool"}],"name":"setBreedingStatus","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"max","type":"uint256"}],"name":"setMaxBreedableJuniors","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"_merkleRoot","type":"bytes32"}],"name":"setMerkleRoot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"slotie","outputs":[{"internalType":"contract ISlotie","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"slotieToLastBreedTimeStamp","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"slotiejr","outputs":[{"internalType":"contract ISlotieJr","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"watts","outputs":[{"internalType":"contract IWatts","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"}],"name":"withdrawAll","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e06040526113886001556002805460ff19169055686194049f30f7200000600355624f1a006004557f92b34b7175c93f0db8f32e6996287e5d3141e4364dcc5f03e3f3b0454d9996056006553480156200005957600080fd5b5060405162001d8b38038062001d8b8339810160408190526200007c9162000112565b6200008733620000a5565b6001600160a01b0392831660805290821660a0521660c0526200015c565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80516001600160a01b03811681146200010d57600080fd5b919050565b6000806000606084860312156200012857600080fd5b6200013384620000f5565b92506200014360208501620000f5565b91506200015360408501620000f5565b90509250925092565b60805160a05160c051611b88620002036000396000818161035c015281816106dc0152818161078601528181610826015281816108eb01528181610ac801528181610c4c0152818161122601528181611309015281816113dc0152818161146301526116590152600081816102bf01528181610bde015281816114e4015261154a01526000818161021a01528181610b7301528181610d730152610e540152611b886000f3fe6080604052600436106101845760003560e01c80639c0132f2116100d1578063de8643d41161008a578063f583750e11610064578063f583750e146104b3578063f859bf8e146104d3578063f9dd6579146104f3578063fa09e6301461051357600080fd5b8063de8643d414610453578063eeae08d414610473578063f2fde38b1461049357600080fd5b80639c0132f21461039e578063a5c4f1d9146103be578063af7fc562146103de578063ca32eff5146103f4578063d108a18914610409578063d78bbe591461042957600080fd5b80636fdb02161161013e5780637fcdecbb116101185780637fcdecbb146103165780638da5cb5b1461032c5780638f068ba01461034a578063944c21ec1461037e57600080fd5b80636fdb0216146102ad578063715018a6146102e15780637cb64759146102f657600080fd5b8062ee3a7f146101bd5780630e8821d2146101df5780630fdb4715146102085780632a5f510e146102545780632eb4a7ab1461026a5780634365433b1461028057600080fd5b366101b857604051349033907fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf190600090a3005b600080fd5b3480156101c957600080fd5b506101dd6101d83660046118dd565b610533565b005b3480156101eb57600080fd5b506101f560015481565b6040519081526020015b60405180910390f35b34801561021457600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016101ff565b34801561026057600080fd5b506101f560035481565b34801561027657600080fd5b506101f560065481565b34801561028c57600080fd5b506101f561029b3660046118dd565b60056020526000908152604090205481565b3480156102b957600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b3480156102ed57600080fd5b506101dd610599565b34801561030257600080fd5b506101dd6103113660046118dd565b6105cf565b34801561032257600080fd5b506101f560075481565b34801561033857600080fd5b506000546001600160a01b031661023c565b34801561035657600080fd5b5061023c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561038a57600080fd5b506101dd610399366004611906565b61062c565b3480156103aa57600080fd5b506101dd6103b936600461193d565b610693565b3480156103ca57600080fd5b506101f56103d936600461193d565b61073c565b3480156103ea57600080fd5b506101f560045481565b34801561040057600080fd5b506101f56107f9565b34801561041557600080fd5b506101dd6104243660046118dd565b6108ab565b34801561043557600080fd5b506002546104439060ff1681565b60405190151581526020016101ff565b34801561045f57600080fd5b506101dd61046e3660046118dd565b610922565b34801561047f57600080fd5b506101dd61048e3660046118dd565b61097f565b34801561049f57600080fd5b506101dd6104ae36600461193d565b6109dc565b3480156104bf57600080fd5b506101dd6104ce36600461195a565b610a77565b3480156104df57600080fd5b506101dd6104ee3660046119db565b610b28565b3480156104ff57600080fd5b506101dd61050e36600461193d565b611610565b34801561051f57600080fd5b506101dd61052e36600461193d565b611688565b6000546001600160a01b031633146105665760405162461bcd60e51b815260040161055d90611a71565b60405180910390fd5b600481905560405181907f44bcd365c93e8d375fed9d768aef4a979c0654ea26d43bcedc0840a959a418df90600090a250565b6000546001600160a01b031633146105c35760405162461bcd60e51b815260040161055d90611a71565b6105cd60006117cb565b565b6000546001600160a01b031633146105f95760405162461bcd60e51b815260040161055d90611a71565b600681905560405181907f514d2649f6bc26024ef36a98d0bf2bd3b1212d7fceaf99f6086e9690d0032fc790600090a250565b6000546001600160a01b031633146106565760405162461bcd60e51b815260040161055d90611a71565b6002805460ff19168215159081179091556040517f5ccaafc0be07c3fb2143f33544d0be1eb157c8f9d4d07624b7dca45b083d8e1790600090a250565b6000546001600160a01b031633146106bd5760405162461bcd60e51b815260040161055d90611a71565b60405163f2fde38b60e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063f2fde38b906024015b600060405180830381600087803b15801561072157600080fd5b505af1158015610735573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146107675760405162461bcd60e51b815260040161055d90611a71565b604051632ac7dc5960e11b81526001600160a01b0383811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063558fb8b290602401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611aa6565b90505b919050565b600080546001600160a01b031633146108245760405162461bcd60e51b815260040161055d90611a71565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316635fc79ded6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611aa6565b905090565b6000546001600160a01b031633146108d55760405162461bcd60e51b815260040161055d90611a71565b604051633bccb96d60e11b8152600481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063779972da90602401610707565b6000546001600160a01b0316331461094c5760405162461bcd60e51b815260040161055d90611a71565b600381905560405181907fa123b60cf5b156b3cf895693c6a53b21f21d51c8d7d3445a9d8afea4cd95801990600090a250565b6000546001600160a01b031633146109a95760405162461bcd60e51b815260040161055d90611a71565b600181905560405181907f0acfff8000f703ad71456fb1646b4382e48b9cdad7b9f205458e67dfdcb8861e90600090a250565b6000546001600160a01b03163314610a065760405162461bcd60e51b815260040161055d90611a71565b6001600160a01b038116610a6b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b610a74816117cb565b50565b6000546001600160a01b03163314610aa15760405162461bcd60e51b815260040161055d90611a71565b60405163aa71830d60e01b81526001600160a01b03838116600483015282151560248301527f0000000000000000000000000000000000000000000000000000000000000000169063aa71830d90604401600060405180830381600087803b158015610b0c57600080fd5b505af1158015610b20573d6000803e3d6000fd5b505050505050565b60025460ff16610b715760405162461bcd60e51b81526020600482015260146024820152731094915151125391c81393d50814d5105495115160621b604482015260640161055d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610bdc5760405162461bcd60e51b815260206004820152601260248201527114d313d5125148139195081393d50814d15560721b604482015260640161055d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610c4a5760405162461bcd60e51b815260206004820152601560248201527414d313d5125148129488139195081393d50814d155605a1b604482015260640161055d565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610cb05760405162461bcd60e51b815260206004820152600d60248201526c15d0551514c81393d50814d155609a1b604482015260640161055d565b60015460075410610d035760405162461bcd60e51b815260206004820152601a60248201527f4d4158204a554e494f52532048415645204245454e2042524544000000000000604482015260640161055d565b86881415610d535760405162461bcd60e51b815260206004820152601c60248201527f43414e4e4f54204252454544205448452053414d4520534c4f54494500000000604482015260640161055d565b6040516331a9108f60e11b81526004810189905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611abf565b6001600160a01b031614610e345760405162461bcd60e51b815260206004820152601a60248201527f53454e444552204e4f54204f574e4552204f4620464154484552000000000000604482015260640161055d565b6040516331a9108f60e11b81526004810188905233906001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001690636352211e90602401602060405180830381865afa158015610e9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebf9190611abf565b6001600160a01b031614610f155760405162461bcd60e51b815260206004820152601a60248201527f53454e444552204e4f54204f574e4552204f46204d4f54484552000000000000604482015260640161055d565b600088815260056020526040808220548983529120548115610f8d57600454610f3e9083611af2565b421015610f8d5760405162461bcd60e51b815260206004820152601b60248201527f464154484552204953205354494c4c20494e20434f4f4c444f574e0000000000604482015260640161055d565b8015610fef57600454610fa09082611af2565b421015610fef5760405162461bcd60e51b815260206004820152601b60248201527f4d4f54484552204953205354494c4c20494e20434f4f4c444f574e0000000000604482015260640161055d565b811580610ffa575080155b156111e05760408051602081018c90529081018990526060810183905260009060800160408051601f1981840301815282825280516020918201209083018d90529082018a90526060820184905291506000906080016040516020818303038152906040528051906020012090506110a988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600654915085905061181b565b6110f55760405162461bcd60e51b815260206004820152601860248201527f494e56414c49442050524f4f4620464f52204641544845520000000000000000604482015260640161055d565b61113686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600654915084905061181b565b6111825760405162461bcd60e51b815260206004820152601860248201527f494e56414c49442050524f4f4620464f52204d4f544845520000000000000000604482015260640161055d565b89421015806111915750884210155b6111dd5760405162461bcd60e51b815260206004820152601f60248201527f534c4f544945532043414e4e4f542043414e4e4f542042524545442059455400604482015260640161055d565b50505b60008a81526005602052604080822042908190558b835290822055600780549161120983611b0a565b90915550506003546040516370a0823160e01b81523360048201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316906370a0823190602401602060405180830381865afa158015611275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112999190611aa6565b10156112f15760405162461bcd60e51b815260206004820152602160248201527f53454e44455220444f4553204e4f54204841564520454e4f55474820574154546044820152605360f81b606482015260840161055d565b604051632ac7dc5960e11b81523360048201526000907f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063558fb8b290602401602060405180830381865afa158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c9190611aa6565b905060006003548210156113905781611394565b6003545b905060006003548310156113b557826003546113b09190611b25565b6113b8565b60005b905082156114415760405163f839f52b60e01b8152336004820152602481018390527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063f839f52b90604401600060405180830381600087803b15801561142857600080fd5b505af115801561143c573d6000803e3d6000fd5b505050505b80156114c857604051632770a7eb60e21b8152336004820152602481018290527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031690639dc29fac90604401600060405180830381600087803b1580156114af57600080fd5b505af11580156114c3573d6000803e3d6000fd5b505050505b604051635b91d9a760e11b8152600160048201523360248201527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169063b723b34e90604401600060405180830381600087803b15801561153057600080fd5b505af1158015611544573d6000803e3d6000fd5b505050507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190611aa6565b6040513381528d908f907faab5ef98a3dfce3cf76b96b59d41509a6d3e456d17a4d13786ebf1e857554e2d9060200160405180910390a450505050505050505050505050565b6000546001600160a01b0316331461163a5760405162461bcd60e51b815260040161055d90611a71565b604051634e0c354560e11b81526001600160a01b0382811660048301527f00000000000000000000000000000000000000000000000000000000000000001690639c186a8a90602401610707565b6000546001600160a01b031633146116b25760405162461bcd60e51b815260040161055d90611a71565b6001600160a01b0381166117085760405162461bcd60e51b815260206004820152601f60248201527f43414e4e4f5420574954484452415720544f205a45524f204144445245535300604482015260640161055d565b478061174d5760405162461bcd60e51b81526020600482015260146024820152734e4f20455448455220544f20574954484452415760601b604482015260640161055d565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611783573d6000803e3d6000fd5b50816001600160a01b03167f2bd20150a637d72a74539599f66637c3ec4f6d3807458bf9e002061053ae167c826040516117bf91815260200190565b60405180910390a25050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000826118288584611831565b14949350505050565b600081815b84518110156118d557600085828151811061185357611853611b3c565b602002602001015190508083116118955760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506118c2565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806118cd81611b0a565b915050611836565b509392505050565b6000602082840312156118ef57600080fd5b5035919050565b803580151581146107f457600080fd5b60006020828403121561191857600080fd5b611921826118f6565b9392505050565b6001600160a01b0381168114610a7457600080fd5b60006020828403121561194f57600080fd5b813561192181611928565b6000806040838503121561196d57600080fd5b823561197881611928565b9150611986602084016118f6565b90509250929050565b60008083601f8401126119a157600080fd5b50813567ffffffffffffffff8111156119b957600080fd5b6020830191508360208260051b85010111156119d457600080fd5b9250929050565b60008060008060008060008060c0898b0312156119f757600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115611a2b57600080fd5b611a378c838d0161198f565b909650945060a08b0135915080821115611a5057600080fd5b50611a5d8b828c0161198f565b999c989b5096995094979396929594505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ab857600080fd5b5051919050565b600060208284031215611ad157600080fd5b815161192181611928565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b0557611b05611adc565b500190565b6000600019821415611b1e57611b1e611adc565b5060010190565b600082821015611b3757611b37611adc565b500390565b634e487b7160e01b600052603260045260246000fdfea26469706673582212206d6949a66cfb822f22373e1206e3c25b3f27c5b39a657a5fbc781ade3759259e64736f6c634300080b00330000000000000000000000005fdb2b0c56afa73b8ca2228e6ab92be90325961d0000000000000000000000005dff0b226fde7085a850aff06e2ea62d1ad506f50000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd0

Deployed Bytecode

0x6080604052600436106101845760003560e01c80639c0132f2116100d1578063de8643d41161008a578063f583750e11610064578063f583750e146104b3578063f859bf8e146104d3578063f9dd6579146104f3578063fa09e6301461051357600080fd5b8063de8643d414610453578063eeae08d414610473578063f2fde38b1461049357600080fd5b80639c0132f21461039e578063a5c4f1d9146103be578063af7fc562146103de578063ca32eff5146103f4578063d108a18914610409578063d78bbe591461042957600080fd5b80636fdb02161161013e5780637fcdecbb116101185780637fcdecbb146103165780638da5cb5b1461032c5780638f068ba01461034a578063944c21ec1461037e57600080fd5b80636fdb0216146102ad578063715018a6146102e15780637cb64759146102f657600080fd5b8062ee3a7f146101bd5780630e8821d2146101df5780630fdb4715146102085780632a5f510e146102545780632eb4a7ab1461026a5780634365433b1461028057600080fd5b366101b857604051349033907fa419615bc8fda4c87663805ee2a3597a6d71c1d476911d9892f340d965bc7bf190600090a3005b600080fd5b3480156101c957600080fd5b506101dd6101d83660046118dd565b610533565b005b3480156101eb57600080fd5b506101f560015481565b6040519081526020015b60405180910390f35b34801561021457600080fd5b5061023c7f0000000000000000000000005fdb2b0c56afa73b8ca2228e6ab92be90325961d81565b6040516001600160a01b0390911681526020016101ff565b34801561026057600080fd5b506101f560035481565b34801561027657600080fd5b506101f560065481565b34801561028c57600080fd5b506101f561029b3660046118dd565b60056020526000908152604090205481565b3480156102b957600080fd5b5061023c7f0000000000000000000000005dff0b226fde7085a850aff06e2ea62d1ad506f581565b3480156102ed57600080fd5b506101dd610599565b34801561030257600080fd5b506101dd6103113660046118dd565b6105cf565b34801561032257600080fd5b506101f560075481565b34801561033857600080fd5b506000546001600160a01b031661023c565b34801561035657600080fd5b5061023c7f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd081565b34801561038a57600080fd5b506101dd610399366004611906565b61062c565b3480156103aa57600080fd5b506101dd6103b936600461193d565b610693565b3480156103ca57600080fd5b506101f56103d936600461193d565b61073c565b3480156103ea57600080fd5b506101f560045481565b34801561040057600080fd5b506101f56107f9565b34801561041557600080fd5b506101dd6104243660046118dd565b6108ab565b34801561043557600080fd5b506002546104439060ff1681565b60405190151581526020016101ff565b34801561045f57600080fd5b506101dd61046e3660046118dd565b610922565b34801561047f57600080fd5b506101dd61048e3660046118dd565b61097f565b34801561049f57600080fd5b506101dd6104ae36600461193d565b6109dc565b3480156104bf57600080fd5b506101dd6104ce36600461195a565b610a77565b3480156104df57600080fd5b506101dd6104ee3660046119db565b610b28565b3480156104ff57600080fd5b506101dd61050e36600461193d565b611610565b34801561051f57600080fd5b506101dd61052e36600461193d565b611688565b6000546001600160a01b031633146105665760405162461bcd60e51b815260040161055d90611a71565b60405180910390fd5b600481905560405181907f44bcd365c93e8d375fed9d768aef4a979c0654ea26d43bcedc0840a959a418df90600090a250565b6000546001600160a01b031633146105c35760405162461bcd60e51b815260040161055d90611a71565b6105cd60006117cb565b565b6000546001600160a01b031633146105f95760405162461bcd60e51b815260040161055d90611a71565b600681905560405181907f514d2649f6bc26024ef36a98d0bf2bd3b1212d7fceaf99f6086e9690d0032fc790600090a250565b6000546001600160a01b031633146106565760405162461bcd60e51b815260040161055d90611a71565b6002805460ff19168215159081179091556040517f5ccaafc0be07c3fb2143f33544d0be1eb157c8f9d4d07624b7dca45b083d8e1790600090a250565b6000546001600160a01b031633146106bd5760405162461bcd60e51b815260040161055d90611a71565b60405163f2fde38b60e01b81526001600160a01b0382811660048301527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd0169063f2fde38b906024015b600060405180830381600087803b15801561072157600080fd5b505af1158015610735573d6000803e3d6000fd5b5050505050565b600080546001600160a01b031633146107675760405162461bcd60e51b815260040161055d90611a71565b604051632ac7dc5960e11b81526001600160a01b0383811660048301527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd0169063558fb8b290602401602060405180830381865afa1580156107cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107f19190611aa6565b90505b919050565b600080546001600160a01b031633146108245760405162461bcd60e51b815260040161055d90611a71565b7f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd06001600160a01b0316635fc79ded6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610882573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108a69190611aa6565b905090565b6000546001600160a01b031633146108d55760405162461bcd60e51b815260040161055d90611a71565b604051633bccb96d60e11b8152600481018290527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd06001600160a01b03169063779972da90602401610707565b6000546001600160a01b0316331461094c5760405162461bcd60e51b815260040161055d90611a71565b600381905560405181907fa123b60cf5b156b3cf895693c6a53b21f21d51c8d7d3445a9d8afea4cd95801990600090a250565b6000546001600160a01b031633146109a95760405162461bcd60e51b815260040161055d90611a71565b600181905560405181907f0acfff8000f703ad71456fb1646b4382e48b9cdad7b9f205458e67dfdcb8861e90600090a250565b6000546001600160a01b03163314610a065760405162461bcd60e51b815260040161055d90611a71565b6001600160a01b038116610a6b5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b606482015260840161055d565b610a74816117cb565b50565b6000546001600160a01b03163314610aa15760405162461bcd60e51b815260040161055d90611a71565b60405163aa71830d60e01b81526001600160a01b03838116600483015282151560248301527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd0169063aa71830d90604401600060405180830381600087803b158015610b0c57600080fd5b505af1158015610b20573d6000803e3d6000fd5b505050505050565b60025460ff16610b715760405162461bcd60e51b81526020600482015260146024820152731094915151125391c81393d50814d5105495115160621b604482015260640161055d565b7f0000000000000000000000005fdb2b0c56afa73b8ca2228e6ab92be90325961d6001600160a01b0316610bdc5760405162461bcd60e51b815260206004820152601260248201527114d313d5125148139195081393d50814d15560721b604482015260640161055d565b7f0000000000000000000000005dff0b226fde7085a850aff06e2ea62d1ad506f56001600160a01b0316610c4a5760405162461bcd60e51b815260206004820152601560248201527414d313d5125148129488139195081393d50814d155605a1b604482015260640161055d565b7f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd06001600160a01b0316610cb05760405162461bcd60e51b815260206004820152600d60248201526c15d0551514c81393d50814d155609a1b604482015260640161055d565b60015460075410610d035760405162461bcd60e51b815260206004820152601a60248201527f4d4158204a554e494f52532048415645204245454e2042524544000000000000604482015260640161055d565b86881415610d535760405162461bcd60e51b815260206004820152601c60248201527f43414e4e4f54204252454544205448452053414d4520534c4f54494500000000604482015260640161055d565b6040516331a9108f60e11b81526004810189905233906001600160a01b037f0000000000000000000000005fdb2b0c56afa73b8ca2228e6ab92be90325961d1690636352211e90602401602060405180830381865afa158015610dba573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dde9190611abf565b6001600160a01b031614610e345760405162461bcd60e51b815260206004820152601a60248201527f53454e444552204e4f54204f574e4552204f4620464154484552000000000000604482015260640161055d565b6040516331a9108f60e11b81526004810188905233906001600160a01b037f0000000000000000000000005fdb2b0c56afa73b8ca2228e6ab92be90325961d1690636352211e90602401602060405180830381865afa158015610e9b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610ebf9190611abf565b6001600160a01b031614610f155760405162461bcd60e51b815260206004820152601a60248201527f53454e444552204e4f54204f574e4552204f46204d4f54484552000000000000604482015260640161055d565b600088815260056020526040808220548983529120548115610f8d57600454610f3e9083611af2565b421015610f8d5760405162461bcd60e51b815260206004820152601b60248201527f464154484552204953205354494c4c20494e20434f4f4c444f574e0000000000604482015260640161055d565b8015610fef57600454610fa09082611af2565b421015610fef5760405162461bcd60e51b815260206004820152601b60248201527f4d4f54484552204953205354494c4c20494e20434f4f4c444f574e0000000000604482015260640161055d565b811580610ffa575080155b156111e05760408051602081018c90529081018990526060810183905260009060800160408051601f1981840301815282825280516020918201209083018d90529082018a90526060820184905291506000906080016040516020818303038152906040528051906020012090506110a988888080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600654915085905061181b565b6110f55760405162461bcd60e51b815260206004820152601860248201527f494e56414c49442050524f4f4620464f52204641544845520000000000000000604482015260640161055d565b61113686868080602002602001604051908101604052809392919081815260200183836020028082843760009201919091525050600654915084905061181b565b6111825760405162461bcd60e51b815260206004820152601860248201527f494e56414c49442050524f4f4620464f52204d4f544845520000000000000000604482015260640161055d565b89421015806111915750884210155b6111dd5760405162461bcd60e51b815260206004820152601f60248201527f534c4f544945532043414e4e4f542043414e4e4f542042524545442059455400604482015260640161055d565b50505b60008a81526005602052604080822042908190558b835290822055600780549161120983611b0a565b90915550506003546040516370a0823160e01b81523360048201527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd06001600160a01b0316906370a0823190602401602060405180830381865afa158015611275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112999190611aa6565b10156112f15760405162461bcd60e51b815260206004820152602160248201527f53454e44455220444f4553204e4f54204841564520454e4f55474820574154546044820152605360f81b606482015260840161055d565b604051632ac7dc5960e11b81523360048201526000907f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd06001600160a01b03169063558fb8b290602401602060405180830381865afa158015611358573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061137c9190611aa6565b905060006003548210156113905781611394565b6003545b905060006003548310156113b557826003546113b09190611b25565b6113b8565b60005b905082156114415760405163f839f52b60e01b8152336004820152602481018390527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd06001600160a01b03169063f839f52b90604401600060405180830381600087803b15801561142857600080fd5b505af115801561143c573d6000803e3d6000fd5b505050505b80156114c857604051632770a7eb60e21b8152336004820152602481018290527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd06001600160a01b031690639dc29fac90604401600060405180830381600087803b1580156114af57600080fd5b505af11580156114c3573d6000803e3d6000fd5b505050505b604051635b91d9a760e11b8152600160048201523360248201527f0000000000000000000000005dff0b226fde7085a850aff06e2ea62d1ad506f56001600160a01b03169063b723b34e90604401600060405180830381600087803b15801561153057600080fd5b505af1158015611544573d6000803e3d6000fd5b505050507f0000000000000000000000005dff0b226fde7085a850aff06e2ea62d1ad506f56001600160a01b03166318160ddd6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156115a6573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115ca9190611aa6565b6040513381528d908f907faab5ef98a3dfce3cf76b96b59d41509a6d3e456d17a4d13786ebf1e857554e2d9060200160405180910390a450505050505050505050505050565b6000546001600160a01b0316331461163a5760405162461bcd60e51b815260040161055d90611a71565b604051634e0c354560e11b81526001600160a01b0382811660048301527f0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd01690639c186a8a90602401610707565b6000546001600160a01b031633146116b25760405162461bcd60e51b815260040161055d90611a71565b6001600160a01b0381166117085760405162461bcd60e51b815260206004820152601f60248201527f43414e4e4f5420574954484452415720544f205a45524f204144445245535300604482015260640161055d565b478061174d5760405162461bcd60e51b81526020600482015260146024820152734e4f20455448455220544f20574954484452415760601b604482015260640161055d565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611783573d6000803e3d6000fd5b50816001600160a01b03167f2bd20150a637d72a74539599f66637c3ec4f6d3807458bf9e002061053ae167c826040516117bf91815260200190565b60405180910390a25050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000826118288584611831565b14949350505050565b600081815b84518110156118d557600085828151811061185357611853611b3c565b602002602001015190508083116118955760408051602081018590529081018290526060016040516020818303038152906040528051906020012092506118c2565b60408051602081018390529081018490526060016040516020818303038152906040528051906020012092505b50806118cd81611b0a565b915050611836565b509392505050565b6000602082840312156118ef57600080fd5b5035919050565b803580151581146107f457600080fd5b60006020828403121561191857600080fd5b611921826118f6565b9392505050565b6001600160a01b0381168114610a7457600080fd5b60006020828403121561194f57600080fd5b813561192181611928565b6000806040838503121561196d57600080fd5b823561197881611928565b9150611986602084016118f6565b90509250929050565b60008083601f8401126119a157600080fd5b50813567ffffffffffffffff8111156119b957600080fd5b6020830191508360208260051b85010111156119d457600080fd5b9250929050565b60008060008060008060008060c0898b0312156119f757600080fd5b88359750602089013596506040890135955060608901359450608089013567ffffffffffffffff80821115611a2b57600080fd5b611a378c838d0161198f565b909650945060a08b0135915080821115611a5057600080fd5b50611a5d8b828c0161198f565b999c989b5096995094979396929594505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060208284031215611ab857600080fd5b5051919050565b600060208284031215611ad157600080fd5b815161192181611928565b634e487b7160e01b600052601160045260246000fd5b60008219821115611b0557611b05611adc565b500190565b6000600019821415611b1e57611b1e611adc565b5060010190565b600082821015611b3757611b37611adc565b500390565b634e487b7160e01b600052603260045260246000fdfea26469706673582212206d6949a66cfb822f22373e1206e3c25b3f27c5b39a657a5fbc781ade3759259e64736f6c634300080b0033

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

0000000000000000000000005fdb2b0c56afa73b8ca2228e6ab92be90325961d0000000000000000000000005dff0b226fde7085a850aff06e2ea62d1ad506f50000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd0

-----Decoded View---------------
Arg [0] : slotieAddress (address): 0x5fdB2B0C56Afa73B8ca2228e6aB92Be90325961d
Arg [1] : slotieJrAddress (address): 0x5dFf0b226fde7085a850aff06E2ea62D1Ad506f5
Arg [2] : wattsAddress (address): 0x5058B77CBd029F56A11Bd56326519e3Ec0081cD0

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000005fdb2b0c56afa73b8ca2228e6ab92be90325961d
Arg [1] : 0000000000000000000000005dff0b226fde7085a850aff06e2ea62d1ad506f5
Arg [2] : 0000000000000000000000005058b77cbd029f56a11bd56326519e3ec0081cd0


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  ]

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.