ETH Price: $2,552.96 (+0.37%)

Contract

0xC0ACc489736EB06B0784E09CB866fccd330245B0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw_all157242282022-10-11 10:19:35710 days ago1665483575IN
0xC0ACc489...d330245B0
0 ETH0.0012228224.77467852
Mint_pack152168022022-07-26 7:32:14788 days ago1658820734IN
0xC0ACc489...d330245B0
0.05 ETH0.0006838912.05243035
Mint_pack150739682022-07-04 4:47:27810 days ago1656910047IN
0xC0ACc489...d330245B0
0.05 ETH0.0011381915.41118573
Mint_pack149521022022-06-12 20:26:52831 days ago1655065612IN
0xC0ACc489...d330245B0
0.05 ETH0.0024623833.34077507
Withdraw_all149138252022-06-06 7:58:18838 days ago1654502298IN
0xC0ACc489...d330245B0
0 ETH0.0018786338.0613711
Mint_pack148813642022-05-31 22:46:32843 days ago1654037192IN
0xC0ACc489...d330245B0
0.05 ETH0.0035961248.69169779
Mint_pack148704462022-05-30 4:09:14845 days ago1653883754IN
0xC0ACc489...d330245B0
0.05 ETH0.0023238231.46980996
Mint_pack148502412022-05-26 21:20:18848 days ago1653600018IN
0xC0ACc489...d330245B0
0.05 ETH0.0019459626.35275715
Mint_pack148494672022-05-26 18:13:31848 days ago1653588811IN
0xC0ACc489...d330245B0
0.05 ETH0.0022462330.41406433
Mint_pack148494192022-05-26 18:05:04848 days ago1653588304IN
0xC0ACc489...d330245B0
0.1 ETH0.0035739548.39153797
Mint_pack148369432022-05-24 17:12:23850 days ago1653412343IN
0xC0ACc489...d330245B0
0.05 ETH0.0042369957.37839925
Mint_pack148301462022-05-23 14:37:37851 days ago1653316657IN
0xC0ACc489...d330245B0
0.1 ETH0.0013889218.80912638
Mint_pack147075392022-05-03 23:23:11871 days ago1651620191IN
0xC0ACc489...d330245B0
0.05 ETH0.0035705848.35370528
Mint_pack146333382022-04-22 7:28:12883 days ago1650612492IN
0xC0ACc489...d330245B0
0.05 ETH0.0023971932.45807417
Mint_pack146281732022-04-21 11:59:20883 days ago1650542360IN
0xC0ACc489...d330245B0
0.05 ETH0.0028774538.96715533
Mint_pack146128852022-04-19 2:21:15886 days ago1650334875IN
0xC0ACc489...d330245B0
0.2 ETH0.0018653525.26104603
Mint_pack145421102022-04-08 1:00:47897 days ago1649379647IN
0xC0ACc489...d330245B0
0.05 ETH0.0039946770.39951266
Mint_pack145394702022-04-07 15:12:32897 days ago1649344352IN
0xC0ACc489...d330245B0
0.05 ETH0.01753883309.09247271
Mint_pack145366602022-04-07 4:43:09898 days ago1649306589IN
0xC0ACc489...d330245B0
0.05 ETH0.0049925567.61043169
Withdraw_all145020492022-04-01 18:42:42903 days ago1648838562IN
0xC0ACc489...d330245B0
0 ETH0.0040144681.33354986
Mint_pack144943432022-03-31 13:56:13904 days ago1648734973IN
0xC0ACc489...d330245B0
0.05 ETH0.0031154542.19019651
Mint_pack144605882022-03-26 7:43:05910 days ago1648280585IN
0xC0ACc489...d330245B0
0.05 ETH0.0024449333.10993573
Mint_pack144576702022-03-25 20:53:05910 days ago1648241585IN
0xC0ACc489...d330245B0
0.05 ETH0.0041982556.85378184
Mint_pack144387742022-03-22 22:20:40913 days ago1647987640IN
0xC0ACc489...d330245B0
0.05 ETH0.0038563952.21576984
Mint_pack144075882022-03-18 2:02:25918 days ago1647568945IN
0xC0ACc489...d330245B0
0.05 ETH0.0033861359.6749117
View all transactions

Latest 16 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
157242282022-10-11 10:19:35710 days ago1665483575
0xC0ACc489...d330245B0
0.015 ETH
157242282022-10-11 10:19:35710 days ago1665483575
0xC0ACc489...d330245B0
0.135 ETH
149138252022-06-06 7:58:18838 days ago1654502298
0xC0ACc489...d330245B0
0.095 ETH
149138252022-06-06 7:58:18838 days ago1654502298
0xC0ACc489...d330245B0
0.855 ETH
145020492022-04-01 18:42:42903 days ago1648838562
0xC0ACc489...d330245B0
0.365 ETH
145020492022-04-01 18:42:42903 days ago1648838562
0xC0ACc489...d330245B0
3.285 ETH
139794502022-01-10 18:49:58984 days ago1641840598
0xC0ACc489...d330245B0
0.35 ETH
139794502022-01-10 18:49:58984 days ago1641840598
0xC0ACc489...d330245B0
3.15 ETH
138857082021-12-27 6:42:30999 days ago1640587350
0xC0ACc489...d330245B0
0.73 ETH
138857082021-12-27 6:42:30999 days ago1640587350
0xC0ACc489...d330245B0
6.57 ETH
138124632021-12-15 22:37:331010 days ago1639607853
0xC0ACc489...d330245B0
0.94 ETH
138124632021-12-15 22:37:331010 days ago1639607853
0xC0ACc489...d330245B0
8.46 ETH
137980762021-12-13 16:55:581012 days ago1639414558
0xC0ACc489...d330245B0
1.13 ETH
137980762021-12-13 16:55:581012 days ago1639414558
0xC0ACc489...d330245B0
10.17 ETH
137948182021-12-13 5:02:181013 days ago1639371738
0xC0ACc489...d330245B0
0.015 ETH
137948182021-12-13 5:02:181013 days ago1639371738
0xC0ACc489...d330245B0
0.135 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MetagochiEggMinter

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license
/**
 *Submitted for verification at Etherscan.io on 2021-12-13
*/

/**
 *Submitted for verification at Etherscan.io on 2021-11-09
*/

// File contracts/@openzeppelin/contracts/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) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

// File contracts/@openzeppelin/contracts/utils/Counters.sol



pragma solidity ^0.8.0;

/**
 * @title Counters
 * @author Matt Condon (@shrugs)
 * @dev Provides counters that can only be incremented or decremented by one. This can be used e.g. to track the number
 * of elements in a mapping, issuing ERC721 ids, or counting request ids.
 *
 * Include with `using Counters for Counters.Counter;`
 */
library Counters {
    struct Counter {
        // This variable should never be directly accessed by users of the library: interactions must be restricted to
        // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add
        // this feature: see https://github.com/ethereum/solidity/issues/4637
        uint256 _value; // default: 0
    }

    function current(Counter storage counter) internal view returns (uint256) {
        return counter._value;
    }

    function increment(Counter storage counter) internal {
        unchecked {
            counter._value += 1;
        }
    }

    function decrement(Counter storage counter) internal {
        uint256 value = counter._value;
        require(value > 0, "Counter: decrement overflow");
        unchecked {
            counter._value = value - 1;
        }
    }
}


// File contracts/@openzeppelin/contracts/access/Ownable.sol



pragma solidity ^0.8.0;

/**
 * @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 () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), 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 {
        emit OwnershipTransferred(_owner, address(0));
        _owner = 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");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}


// File contracts/final.sol

//SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

interface IERC20 {

    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);
}

interface IMetaGochiEgg {
    function mint(address _to, uint256 _amount) external;
}

contract MetagochiEggMinter is Ownable{
    using SafeMath for uint256;

    modifier onlyClevel() {
        require(msg.sender == walletA || msg.sender == walletB || msg.sender == owner());
    _;
    }

    address walletA;
    address walletB;
    uint256 walletBPercentage = 10;

    IERC20 public founderToken;
    IMetaGochiEgg public founderPack;
    IMetaGochiEgg public normalPack;
    uint256 public minimumFounderAmount = 15000000000000*10**9;  // founder token has 9 decimals!!

    uint256 public mintAmountToPrice = 0.05 ether;

    constructor() {
        walletA = payable(0x352b858FFE3584238870478A53d7cd2339363A3b);
        walletB = payable(0x5FFeB4E72401143BcEC5aDC543EcC5fd388d2A88);
        founderToken = IERC20(0xC1a85Faa09c7f7247899F155439c5488B43E8429);

        founderPack = IMetaGochiEgg(0x7F1cf2796D7C33B8f5AcBB02c7FFfab51F7A3D36);
        normalPack = IMetaGochiEgg(0x90749BcAE7bDeE78fD7b8829aeAc855c32A56376);
    }

    function mint_pack(uint256 _amount) public payable {
        require(msg.value>0 && msg.value == mintAmountToPrice.mul(_amount) , "Invalid value.");
        require(_amount < 50, "Invalid value.");

        bool founder = founderToken.balanceOf(msg.sender)>=minimumFounderAmount;

        if (founder){
            // mint founder
            founderPack.mint(msg.sender, _amount);
        }else{
            // mint normal
            normalPack.mint(msg.sender, _amount);
        }
    }

    // admin and clevel functions
    function setMinimumFounderTokenAmount(uint256 _amount) public onlyOwner {
             minimumFounderAmount = _amount;
    }

    function getMinimumFounderTokenAmount() public view returns(uint256) {
             return minimumFounderAmount;
    }

    function setMintPrice(uint256 _price) public onlyOwner {
             mintAmountToPrice =_price;
    }

    function getMintPrice() public view returns (uint256) {
        return mintAmountToPrice ;
    }

    function withdraw_all() public onlyClevel {
        require (address(this).balance > 0);
        uint256 amountB = SafeMath.div(address(this).balance,100).mul(walletBPercentage);
        uint256 amountA = address(this).balance.sub(amountB);
        payable(walletA).transfer(amountA);
        payable(walletB).transfer(amountB);
    }

    function setWalletA(address _walletA) public {
        require (msg.sender == walletA, "Who are you?");
        require (_walletA != address(0x0), "Invalid wallet");
        walletA = _walletA;
    }

    function setWalletB(address _walletB) public {
        require (msg.sender == walletB, "Who are you?");
        require (_walletB != address(0x0), "Invalid wallet.");
        walletB = _walletB;
    }

    function setWalletBPercentage(uint256 _percentage) public onlyOwner{
        require (_percentage>walletBPercentage && _percentage<=100, "Invalid new slice.");
        walletBPercentage = _percentage;
    }

}


library SafeMath {

    /**
    * @dev Multiplies two numbers, throws on overflow.
    */
    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    /**
    * @dev Integer division of two numbers, truncating the quotient.
    */
    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    /**
    * @dev Substracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
    */
    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    /**
    * @dev Adds two numbers, throws on overflow.
    */
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[],"name":"founderPack","outputs":[{"internalType":"contract IMetaGochiEgg","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"founderToken","outputs":[{"internalType":"contract IERC20","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMinimumFounderTokenAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getMintPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"minimumFounderAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mintAmountToPrice","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_amount","type":"uint256"}],"name":"mint_pack","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"normalPack","outputs":[{"internalType":"contract IMetaGochiEgg","name":"","type":"address"}],"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":"_amount","type":"uint256"}],"name":"setMinimumFounderTokenAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_price","type":"uint256"}],"name":"setMintPrice","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_walletA","type":"address"}],"name":"setWalletA","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_walletB","type":"address"}],"name":"setWalletB","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_percentage","type":"uint256"}],"name":"setWalletBPercentage","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"withdraw_all","outputs":[],"stateMutability":"nonpayable","type":"function"}]

6080604052600a60035569032d26d12e980b60000060075566b1a2bc2ec5000060085534801561002e57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600180546001600160a01b031990811673352b858ffe3584238870478a53d7cd2339363a3b17909155600280548216735ffeb4e72401143bcec5adc543ecc5fd388d2a8817905560048054821673c1a85faa09c7f7247899f155439c5488b43e8429179055600580548216737f1cf2796d7c33b8f5acbb02c7fffab51f7a3d36179055600680549091167390749bcae7bdee78fd7b8829aeac855c32a56376179055610b15806101216000396000f3fe6080604052600436106100fe5760003560e01c806371dbd5b911610095578063a7f93ebd11610064578063a7f93ebd14610273578063dd473d2b14610288578063ecef30701461029d578063f2fde38b146102bd578063f4a0a528146102dd57600080fd5b806371dbd5b9146101f55780637479b9ac146102155780638da5cb5b1461023557806396cbf2e91461025357600080fd5b806343a615f3116100d157806343a615f3146101725780634c89b86c146101aa57806366b35df7146101ca578063715018a6146101e057600080fd5b80630936ed1b14610103578063292c91dc146101185780632a983a041461013c57806342de73b01461015c575b600080fd5b6101166101113660046109f4565b6102fd565b005b34801561012457600080fd5b506007545b6040519081526020015b60405180910390f35b34801561014857600080fd5b506101166101573660046109f4565b6104c9565b34801561016857600080fd5b5061012960075481565b34801561017e57600080fd5b50600554610192906001600160a01b031681565b6040516001600160a01b039091168152602001610133565b3480156101b657600080fd5b506101166101c53660046109cb565b61054b565b3480156101d657600080fd5b5061012960085481565b3480156101ec57600080fd5b506101166105fd565b34801561020157600080fd5b506101166102103660046109f4565b610671565b34801561022157600080fd5b50600454610192906001600160a01b031681565b34801561024157600080fd5b506000546001600160a01b0316610192565b34801561025f57600080fd5b5061011661026e3660046109cb565b6106a0565b34801561027f57600080fd5b50600854610129565b34801561029457600080fd5b50610116610753565b3480156102a957600080fd5b50600654610192906001600160a01b031681565b3480156102c957600080fd5b506101166102d83660046109cb565b610843565b3480156102e957600080fd5b506101166102f83660046109f4565b61092d565b6000341180156103185750600854610315908261095c565b34145b61035a5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b2103b30b63ab29760911b60448201526064015b60405180910390fd5b6032811061039b5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b2103b30b63ab29760911b6044820152606401610351565b600754600480546040516370a0823160e01b81523392810192909252600092916001600160a01b03909116906370a082319060240160206040518083038186803b1580156103e857600080fd5b505afa1580156103fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104209190610a0d565b1080159150610492576005546040516340c10f1960e01b8152336004820152602481018490526001600160a01b03909116906340c10f19906044015b600060405180830381600087803b15801561047657600080fd5b505af115801561048a573d6000803e3d6000fd5b505050505050565b6006546040516340c10f1960e01b8152336004820152602481018490526001600160a01b03909116906340c10f199060440161045c565b6000546001600160a01b031633146104f35760405162461bcd60e51b815260040161035190610a26565b60035481118015610505575060648111155b6105465760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b2103732bb9039b634b1b29760711b6044820152606401610351565b600355565b6001546001600160a01b031633146105945760405162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b6044820152606401610351565b6001600160a01b0381166105db5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081dd85b1b195d60921b6044820152606401610351565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106275760405162461bcd60e51b815260040161035190610a26565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461069b5760405162461bcd60e51b815260040161035190610a26565b600755565b6002546001600160a01b031633146106e95760405162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b6044820152606401610351565b6001600160a01b0381166107315760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b2103bb0b63632ba1760891b6044820152606401610351565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633148061077657506002546001600160a01b031633145b8061078b57506000546001600160a01b031633145b61079457600080fd5b600047116107a157600080fd5b60006107ba6003546107b447606461099a565b9061095c565b905060006107c847836109af565b6001546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610803573d6000803e3d6000fd5b506002546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561083e573d6000803e3d6000fd5b505050565b6000546001600160a01b0316331461086d5760405162461bcd60e51b815260040161035190610a26565b6001600160a01b0381166108d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610351565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109575760405162461bcd60e51b815260040161035190610a26565b600855565b60008261096b57506000610994565b60006109778385610a7d565b9050826109848583610a5b565b1461099157610991610ab3565b90505b92915050565b6000806109a78385610a5b565b949350505050565b6000828211156109c1576109c1610ab3565b6109918284610a9c565b6000602082840312156109dd57600080fd5b81356001600160a01b038116811461099157600080fd5b600060208284031215610a0657600080fd5b5035919050565b600060208284031215610a1f57600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082610a7857634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610a9757610a97610ac9565b500290565b600082821015610aae57610aae610ac9565b500390565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fdfea2646970667358221220fff6844c54608fd5f54c254ccccda37fe28efb058d1acd6138f7d6960c8dddeb64736f6c63430008060033

Deployed Bytecode

0x6080604052600436106100fe5760003560e01c806371dbd5b911610095578063a7f93ebd11610064578063a7f93ebd14610273578063dd473d2b14610288578063ecef30701461029d578063f2fde38b146102bd578063f4a0a528146102dd57600080fd5b806371dbd5b9146101f55780637479b9ac146102155780638da5cb5b1461023557806396cbf2e91461025357600080fd5b806343a615f3116100d157806343a615f3146101725780634c89b86c146101aa57806366b35df7146101ca578063715018a6146101e057600080fd5b80630936ed1b14610103578063292c91dc146101185780632a983a041461013c57806342de73b01461015c575b600080fd5b6101166101113660046109f4565b6102fd565b005b34801561012457600080fd5b506007545b6040519081526020015b60405180910390f35b34801561014857600080fd5b506101166101573660046109f4565b6104c9565b34801561016857600080fd5b5061012960075481565b34801561017e57600080fd5b50600554610192906001600160a01b031681565b6040516001600160a01b039091168152602001610133565b3480156101b657600080fd5b506101166101c53660046109cb565b61054b565b3480156101d657600080fd5b5061012960085481565b3480156101ec57600080fd5b506101166105fd565b34801561020157600080fd5b506101166102103660046109f4565b610671565b34801561022157600080fd5b50600454610192906001600160a01b031681565b34801561024157600080fd5b506000546001600160a01b0316610192565b34801561025f57600080fd5b5061011661026e3660046109cb565b6106a0565b34801561027f57600080fd5b50600854610129565b34801561029457600080fd5b50610116610753565b3480156102a957600080fd5b50600654610192906001600160a01b031681565b3480156102c957600080fd5b506101166102d83660046109cb565b610843565b3480156102e957600080fd5b506101166102f83660046109f4565b61092d565b6000341180156103185750600854610315908261095c565b34145b61035a5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b2103b30b63ab29760911b60448201526064015b60405180910390fd5b6032811061039b5760405162461bcd60e51b815260206004820152600e60248201526d24b73b30b634b2103b30b63ab29760911b6044820152606401610351565b600754600480546040516370a0823160e01b81523392810192909252600092916001600160a01b03909116906370a082319060240160206040518083038186803b1580156103e857600080fd5b505afa1580156103fc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104209190610a0d565b1080159150610492576005546040516340c10f1960e01b8152336004820152602481018490526001600160a01b03909116906340c10f19906044015b600060405180830381600087803b15801561047657600080fd5b505af115801561048a573d6000803e3d6000fd5b505050505050565b6006546040516340c10f1960e01b8152336004820152602481018490526001600160a01b03909116906340c10f199060440161045c565b6000546001600160a01b031633146104f35760405162461bcd60e51b815260040161035190610a26565b60035481118015610505575060648111155b6105465760405162461bcd60e51b815260206004820152601260248201527124b73b30b634b2103732bb9039b634b1b29760711b6044820152606401610351565b600355565b6001546001600160a01b031633146105945760405162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b6044820152606401610351565b6001600160a01b0381166105db5760405162461bcd60e51b815260206004820152600e60248201526d125b9d985b1a59081dd85b1b195d60921b6044820152606401610351565b600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146106275760405162461bcd60e51b815260040161035190610a26565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461069b5760405162461bcd60e51b815260040161035190610a26565b600755565b6002546001600160a01b031633146106e95760405162461bcd60e51b815260206004820152600c60248201526b57686f2061726520796f753f60a01b6044820152606401610351565b6001600160a01b0381166107315760405162461bcd60e51b815260206004820152600f60248201526e24b73b30b634b2103bb0b63632ba1760891b6044820152606401610351565b600280546001600160a01b0319166001600160a01b0392909216919091179055565b6001546001600160a01b031633148061077657506002546001600160a01b031633145b8061078b57506000546001600160a01b031633145b61079457600080fd5b600047116107a157600080fd5b60006107ba6003546107b447606461099a565b9061095c565b905060006107c847836109af565b6001546040519192506001600160a01b03169082156108fc029083906000818181858888f19350505050158015610803573d6000803e3d6000fd5b506002546040516001600160a01b039091169083156108fc029084906000818181858888f1935050505015801561083e573d6000803e3d6000fd5b505050565b6000546001600160a01b0316331461086d5760405162461bcd60e51b815260040161035190610a26565b6001600160a01b0381166108d25760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610351565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b031633146109575760405162461bcd60e51b815260040161035190610a26565b600855565b60008261096b57506000610994565b60006109778385610a7d565b9050826109848583610a5b565b1461099157610991610ab3565b90505b92915050565b6000806109a78385610a5b565b949350505050565b6000828211156109c1576109c1610ab3565b6109918284610a9c565b6000602082840312156109dd57600080fd5b81356001600160a01b038116811461099157600080fd5b600060208284031215610a0657600080fd5b5035919050565b600060208284031215610a1f57600080fd5b5051919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600082610a7857634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610a9757610a97610ac9565b500290565b600082821015610aae57610aae610ac9565b500390565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fdfea2646970667358221220fff6844c54608fd5f54c254ccccda37fe28efb058d1acd6138f7d6960c8dddeb64736f6c63430008060033

Deployed Bytecode Sourcemap

7566:2991:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8547:502;;;;;;:::i;:::-;;:::i;:::-;;9226:120;;;;;;;;;;-1:-1:-1;9318:20:0;;9226:120;;;4249:25:1;;;4237:2;4222:18;9226:120:0;;;;;;;;10343:209;;;;;;;;;;-1:-1:-1;10343:209:0;;;;;:::i;:::-;;:::i;7976:58::-;;;;;;;;;;;;;;;;7899:32;;;;;;;;;;-1:-1:-1;7899:32:0;;;;-1:-1:-1;;;;;7899:32:0;;;;;;-1:-1:-1;;;;;843:32:1;;;825:51;;813:2;798:18;7899:32:0;780:102:1;9920:203:0;;;;;;;;;;-1:-1:-1;9920:203:0;;;;;:::i;:::-;;:::i;8078:45::-;;;;;;;;;;;;;;;;4133:148;;;;;;;;;;;;;:::i;9092:126::-;;;;;;;;;;-1:-1:-1;9092:126:0;;;;;:::i;:::-;;:::i;7866:26::-;;;;;;;;;;-1:-1:-1;7866:26:0;;;;-1:-1:-1;;;;;7866:26:0;;;3482:87;;;;;;;;;;-1:-1:-1;3528:7:0;3555:6;-1:-1:-1;;;;;3555:6:0;3482:87;;10131:204;;;;;;;;;;-1:-1:-1;10131:204:0;;;;;:::i;:::-;;:::i;9466:98::-;;;;;;;;;;-1:-1:-1;9538:17:0;;9466:98;;9572:340;;;;;;;;;;;;;:::i;7938:31::-;;;;;;;;;;-1:-1:-1;7938:31:0;;;;-1:-1:-1;;;;;7938:31:0;;;4436:244;;;;;;;;;;-1:-1:-1;4436:244:0;;;;;:::i;:::-;;:::i;9354:104::-;;;;;;;;;;-1:-1:-1;9354:104:0;;;;;:::i;:::-;;:::i;8547:502::-;8627:1;8617:9;:11;:58;;;;-1:-1:-1;8645:17:0;;:30;;8667:7;8645:21;:30::i;:::-;8632:9;:43;8617:58;8609:86;;;;-1:-1:-1;;;8609:86:0;;3258:2:1;8609:86:0;;;3240:21:1;3297:2;3277:18;;;3270:30;-1:-1:-1;;;3316:18:1;;;3309:44;3370:18;;8609:86:0;;;;;;;;;8724:2;8714:7;:12;8706:39;;;;-1:-1:-1;;;8706:39:0;;3258:2:1;8706:39:0;;;3240:21:1;3297:2;3277:18;;;3270:30;-1:-1:-1;;;3316:18:1;;;3309:44;3370:18;;8706:39:0;3230:164:1;8706:39:0;8809:20;;8773:12;;;:34;;-1:-1:-1;;;8773:34:0;;8796:10;8773:34;;;825:51:1;;;;8758:12:0;;8809:20;-1:-1:-1;;;;;8773:12:0;;;;:22;;798:18:1;;8773:34:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:56;;;;-1:-1:-1;8842:200:0;;8898:11;;:37;;-1:-1:-1;;;8898:37:0;;8915:10;8898:37;;;1061:51:1;1128:18;;;1121:34;;;-1:-1:-1;;;;;8898:11:0;;;;:16;;1034:18:1;;8898:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8598:451;8547:502;:::o;8842:200::-;8994:10;;:36;;-1:-1:-1;;;8994:36:0;;9010:10;8994:36;;;1061:51:1;1128:18;;;1121:34;;;-1:-1:-1;;;;;8994:10:0;;;;:15;;1034:18:1;;8994:36:0;1016:145:1;10343:209:0;3528:7;3555:6;-1:-1:-1;;;;;3555:6:0;784:10;3702:23;3694:68;;;;-1:-1:-1;;;3694:68:0;;;;;;;:::i;:::-;10442:17:::1;;10430:11;:29;:49;;;;;10476:3;10463:11;:16;;10430:49;10421:81;;;::::0;-1:-1:-1;;;10421:81:0;;2567:2:1;10421:81:0::1;::::0;::::1;2549:21:1::0;2606:2;2586:18;;;2579:30;-1:-1:-1;;;2625:18:1;;;2618:48;2683:18;;10421:81:0::1;2539:168:1::0;10421:81:0::1;10513:17;:31:::0;10343:209::o;9920:203::-;9999:7;;-1:-1:-1;;;;;9999:7:0;9985:10;:21;9976:47;;;;-1:-1:-1;;;9976:47:0;;2226:2:1;9976:47:0;;;2208:21:1;2265:2;2245:18;;;2238:30;-1:-1:-1;;;2284:18:1;;;2277:42;2336:18;;9976:47:0;2198:162:1;9976:47:0;-1:-1:-1;;;;;10043:24:0;;10034:52;;;;-1:-1:-1;;;10034:52:0;;3962:2:1;10034:52:0;;;3944:21:1;4001:2;3981:18;;;3974:30;-1:-1:-1;;;4020:18:1;;;4013:44;4074:18;;10034:52:0;3934:164:1;10034:52:0;10097:7;:18;;-1:-1:-1;;;;;;10097:18:0;-1:-1:-1;;;;;10097:18:0;;;;;;;;;;9920:203::o;4133:148::-;3528:7;3555:6;-1:-1:-1;;;;;3555:6:0;784:10;3702:23;3694:68;;;;-1:-1:-1;;;3694:68:0;;;;;;;:::i;:::-;4240:1:::1;4224:6:::0;;4203:40:::1;::::0;-1:-1:-1;;;;;4224:6:0;;::::1;::::0;4203:40:::1;::::0;4240:1;;4203:40:::1;4271:1;4254:19:::0;;-1:-1:-1;;;;;;4254:19:0::1;::::0;;4133:148::o;9092:126::-;3528:7;3555:6;-1:-1:-1;;;;;3555:6:0;784:10;3702:23;3694:68;;;;-1:-1:-1;;;3694:68:0;;;;;;;:::i;:::-;9180:20:::1;:30:::0;9092:126::o;10131:204::-;10210:7;;-1:-1:-1;;;;;10210:7:0;10196:10;:21;10187:47;;;;-1:-1:-1;;;10187:47:0;;2226:2:1;10187:47:0;;;2208:21:1;2265:2;2245:18;;;2238:30;-1:-1:-1;;;2284:18:1;;;2277:42;2336:18;;10187:47:0;2198:162:1;10187:47:0;-1:-1:-1;;;;;10254:24:0;;10245:53;;;;-1:-1:-1;;;10245:53:0;;2914:2:1;10245:53:0;;;2896:21:1;2953:2;2933:18;;;2926:30;-1:-1:-1;;;2972:18:1;;;2965:45;3027:18;;10245:53:0;2886:165:1;10245:53:0;10309:7;:18;;-1:-1:-1;;;;;;10309:18:0;-1:-1:-1;;;;;10309:18:0;;;;;;;;;;10131:204::o;9572:340::-;7701:7;;-1:-1:-1;;;;;7701:7:0;7687:10;:21;;:46;;-1:-1:-1;7726:7:0;;-1:-1:-1;;;;;7726:7:0;7712:10;:21;7687:46;:71;;;-1:-1:-1;3528:7:0;3555:6;-1:-1:-1;;;;;3555:6:0;7737:10;:21;7687:71;7679:80;;;;;;9658:1:::1;9634:21;:25;9625:35;;;::::0;::::1;;9671:15;9689:62;9733:17;;9689:39;9702:21;9724:3;9689:12;:39::i;:::-;:43:::0;::::1;:62::i;:::-;9671:80:::0;-1:-1:-1;9762:15:0::1;9780:34;:21;9671:80:::0;9780:25:::1;:34::i;:::-;9833:7;::::0;9825:34:::1;::::0;9762:52;;-1:-1:-1;;;;;;9833:7:0::1;::::0;9825:34;::::1;;;::::0;9762:52;;9833:7:::1;9825:34:::0;9833:7;9825:34;9762:52;9833:7;9825:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;9878:7:0::1;::::0;9870:34:::1;::::0;-1:-1:-1;;;;;9878:7:0;;::::1;::::0;9870:34;::::1;;;::::0;9896:7;;9878::::1;9870:34:::0;9878:7;9870:34;9896:7;9878;9870:34;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;9614:298;;9572:340::o:0;4436:244::-;3528:7;3555:6;-1:-1:-1;;;;;3555:6:0;784:10;3702:23;3694:68;;;;-1:-1:-1;;;3694:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4525:22:0;::::1;4517:73;;;::::0;-1:-1:-1;;;4517:73:0;;1819:2:1;4517:73:0::1;::::0;::::1;1801:21:1::0;1858:2;1838:18;;;1831:30;1897:34;1877:18;;;1870:62;-1:-1:-1;;;1948:18:1;;;1941:36;1994:19;;4517:73:0::1;1791:228:1::0;4517:73:0::1;4627:6;::::0;;4606:38:::1;::::0;-1:-1:-1;;;;;4606:38:0;;::::1;::::0;4627:6;::::1;::::0;4606:38:::1;::::0;::::1;4655:6;:17:::0;;-1:-1:-1;;;;;;4655:17:0::1;-1:-1:-1::0;;;;;4655:17:0;;;::::1;::::0;;;::::1;::::0;;4436:244::o;9354:104::-;3528:7;3555:6;-1:-1:-1;;;;;3555:6:0;784:10;3702:23;3694:68;;;;-1:-1:-1;;;3694:68:0;;;;;;;:::i;:::-;9425:17:::1;:25:::0;9354:104::o;10662:208::-;10720:7;10744:6;10740:47;;-1:-1:-1;10774:1:0;10767:8;;10740:47;10797:9;10809:5;10813:1;10809;:5;:::i;:::-;10797:17;-1:-1:-1;10841:1:0;10832:5;10836:1;10797:17;10832:5;:::i;:::-;:10;10825:18;;;;:::i;:::-;10861:1;-1:-1:-1;10662:208:0;;;;;:::o;10965:288::-;11023:7;;11134:5;11138:1;11134;:5;:::i;:::-;11122:17;10965:288;-1:-1:-1;;;;10965:288:0:o;11379:123::-;11437:7;11469:1;11464;:6;;11457:14;;;;:::i;:::-;11489:5;11493:1;11489;:5;:::i;14:286:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;168:23;;-1:-1:-1;;;;;220:31:1;;210:42;;200:2;;266:1;263;256:12;305:180;364:6;417:2;405:9;396:7;392:23;388:32;385:2;;;433:1;430;423:12;385:2;-1:-1:-1;456:23:1;;375:110;-1:-1:-1;375:110:1:o;490:184::-;560:6;613:2;601:9;592:7;588:23;584:32;581:2;;;629:1;626;619:12;581:2;-1:-1:-1;652:16:1;;571:103;-1:-1:-1;571:103:1:o;3399:356::-;3601:2;3583:21;;;3620:18;;;3613:30;3679:34;3674:2;3659:18;;3652:62;3746:2;3731:18;;3573:182::o;4285:217::-;4325:1;4351;4341:2;;4395:10;4390:3;4386:20;4383:1;4376:31;4430:4;4427:1;4420:15;4458:4;4455:1;4448:15;4341:2;-1:-1:-1;4487:9:1;;4331:171::o;4507:168::-;4547:7;4613:1;4609;4605:6;4601:14;4598:1;4595:21;4590:1;4583:9;4576:17;4572:45;4569:2;;;4620:18;;:::i;:::-;-1:-1:-1;4660:9:1;;4559:116::o;4680:125::-;4720:4;4748:1;4745;4742:8;4739:2;;;4753:18;;:::i;:::-;-1:-1:-1;4790:9:1;;4729:76::o;4810:127::-;4871:10;4866:3;4862:20;4859:1;4852:31;4902:4;4899:1;4892:15;4926:4;4923:1;4916:15;4942:127;5003:10;4998:3;4994:20;4991:1;4984:31;5034:4;5031:1;5024:15;5058:4;5055:1;5048:15

Swarm Source

ipfs://fff6844c54608fd5f54c254ccccda37fe28efb058d1acd6138f7d6960c8dddeb

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  ]
[ 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.