ETH Price: $2,695.20 (-1.99%)

Contract

0x4ae0Ede482F825FB9CcCCE8F0FE089f0379EAa2A
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Request Daily Ac...109808942020-10-03 4:48:371599 days ago1601700517IN
MCH: Gum Gateway 1
0 ETH0.00022595
Request Daily Ac...90276562019-11-30 16:21:591906 days ago1575130919IN
MCH: Gum Gateway 1
0 ETH0.000121425
Request Daily Ac...90276562019-11-30 16:21:591906 days ago1575130919IN
MCH: Gum Gateway 1
0 ETH0.00015555
Request Daily Ac...79537562019-06-14 1:12:352076 days ago1560474755IN
MCH: Gum Gateway 1
0 ETH0.00003111
Request Daily Ac...73817232019-03-16 18:37:362165 days ago1552761456IN
MCH: Gum Gateway 1
0 ETH0.000006650.14635859
Request Daily Ac...72812712019-03-01 1:54:012181 days ago1551405241IN
MCH: Gum Gateway 1
0 ETH0.0004546910
Request Daily Ac...71889142019-02-07 16:31:052202 days ago1549557065IN
MCH: Gum Gateway 1
0 ETH0.00015555
Request Daily Ac...71566882019-02-01 2:44:102209 days ago1548989050IN
MCH: Gum Gateway 1
0 ETH0.000115025
Request Daily Ac...71566862019-02-01 2:43:502209 days ago1548989030IN
MCH: Gum Gateway 1
0 ETH0.000220945
Request Daily Ac...71119962019-01-23 3:43:472218 days ago1548215027IN
MCH: Gum Gateway 1
0 ETH0.00015555
Request Daily Ac...71070912019-01-22 4:18:032219 days ago1548130683IN
MCH: Gum Gateway 1
0 ETH0.000115025
Request Daily Ac...71070912019-01-22 4:18:032219 days ago1548130683IN
MCH: Gum Gateway 1
0 ETH0.000115025
Request Daily Ac...71070912019-01-22 4:18:032219 days ago1548130683IN
MCH: Gum Gateway 1
0 ETH0.000115025
Request Daily Ac...71070912019-01-22 4:18:032219 days ago1548130683IN
MCH: Gum Gateway 1
0 ETH0.000115025
Request Daily Ac...71070912019-01-22 4:18:032219 days ago1548130683IN
MCH: Gum Gateway 1
0 ETH0.000115025
Request Daily Ac...71069892019-01-22 3:46:172219 days ago1548128777IN
MCH: Gum Gateway 1
0 ETH0.000115025
Request Daily Ac...71069892019-01-22 3:46:172219 days ago1548128777IN
MCH: Gum Gateway 1
0 ETH0.00014915
Request Daily Ac...70912372019-01-19 6:05:302222 days ago1547877930IN
MCH: Gum Gateway 1
0 ETH0.000155185
Request Daily Ac...70908252019-01-19 4:16:332222 days ago1547871393IN
MCH: Gum Gateway 1
0 ETH0.000016140.519
Request Daily Ac...70818652019-01-17 14:03:432223 days ago1547733823IN
MCH: Gum Gateway 1
0 ETH0.000121425
Request Daily Ac...70815062019-01-17 12:31:512223 days ago1547728311IN
MCH: Gum Gateway 1
0 ETH0.0003110110
Request Daily Ac...70812692019-01-17 11:27:212223 days ago1547724441IN
MCH: Gum Gateway 1
0 ETH0.00024888
Request Daily Ac...70800572019-01-17 6:18:172224 days ago1547705897IN
MCH: Gum Gateway 1
0 ETH0.00015555
Request Daily Ac...70788592019-01-17 0:57:422224 days ago1547686662IN
MCH: Gum Gateway 1
0 ETH0.00015555
Request Daily Ac...70601312019-01-13 16:50:552227 days ago1547398255IN
MCH: Gum Gateway 1
0 ETH0.00014915
View all transactions

Advanced mode:
Parent Transaction Hash Block
From
To
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
GumGateway

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
No with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2018-11-29
*/

pragma solidity 0.4.24;

// File: contracts/lib/openzeppelin-solidity/contracts/access/Roles.sol

/**
 * @title Roles
 * @dev Library for managing addresses assigned to a Role.
 */
library Roles {
  struct Role {
    mapping (address => bool) bearer;
  }

  /**
   * @dev give an account access to this role
   */
  function add(Role storage role, address account) internal {
    require(account != address(0));
    role.bearer[account] = true;
  }

  /**
   * @dev remove an account's access to this role
   */
  function remove(Role storage role, address account) internal {
    require(account != address(0));
    role.bearer[account] = false;
  }

  /**
   * @dev check if an account has this role
   * @return bool
   */
  function has(Role storage role, address account)
    internal
    view
    returns (bool)
  {
    require(account != address(0));
    return role.bearer[account];
  }
}

// File: contracts/lib/openzeppelin-solidity/contracts/access/roles/PauserRole.sol

contract PauserRole {
  using Roles for Roles.Role;

  event PauserAdded(address indexed account);
  event PauserRemoved(address indexed account);

  Roles.Role private pausers;

  constructor() public {
    pausers.add(msg.sender);
  }

  modifier onlyPauser() {
    require(isPauser(msg.sender));
    _;
  }

  function isPauser(address account) public view returns (bool) {
    return pausers.has(account);
  }

  function addPauser(address account) public onlyPauser {
    pausers.add(account);
    emit PauserAdded(account);
  }

  function renouncePauser() public {
    pausers.remove(msg.sender);
  }

  function _removePauser(address account) internal {
    pausers.remove(account);
    emit PauserRemoved(account);
  }
}

// File: contracts/lib/openzeppelin-solidity/contracts/lifecycle/Pausable.sol

/**
 * @title Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is PauserRole {
  event Paused();
  event Unpaused();

  bool private _paused = false;


  /**
   * @return true if the contract is paused, false otherwise.
   */
  function paused() public view returns(bool) {
    return _paused;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is not paused.
   */
  modifier whenNotPaused() {
    require(!_paused);
    _;
  }

  /**
   * @dev Modifier to make a function callable only when the contract is paused.
   */
  modifier whenPaused() {
    require(_paused);
    _;
  }

  /**
   * @dev called by the owner to pause, triggers stopped state
   */
  function pause() public onlyPauser whenNotPaused {
    _paused = true;
    emit Paused();
  }

  /**
   * @dev called by the owner to unpause, returns to normal state
   */
  function unpause() public onlyPauser whenPaused {
    _paused = false;
    emit Unpaused();
  }
}

// File: contracts/lib/openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that revert on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, reverts on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256) {
    // Gas optimization: this is cheaper than requiring 'a' not being zero, but the
    // benefit is lost if 'b' is also tested.
    // See: https://github.com/OpenZeppelin/openzeppelin-solidity/pull/522
    if (a == 0) {
      return 0;
    }

    uint256 c = a * b;
    require(c / a == b);

    return c;
  }

  /**
  * @dev Integer division of two numbers truncating the quotient, reverts on division by zero.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b > 0); // Solidity only automatically asserts 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 Subtracts two numbers, reverts on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b <= a);
    uint256 c = a - b;

    return c;
  }

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

    return c;
  }

  /**
  * @dev Divides two numbers and returns the remainder (unsigned integer modulo),
  * reverts when dividing by zero.
  */
  function mod(uint256 a, uint256 b) internal pure returns (uint256) {
    require(b != 0);
    return a % b;
  }
}

// File: contracts/lib/openzeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address private _owner;


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


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    _owner = msg.sender;
  }

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

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(isOwner());
    _;
  }

  /**
   * @return true if `msg.sender` is the owner of the contract.
   */
  function isOwner() public view returns(bool) {
    return msg.sender == _owner;
  }

  /**
   * @dev Allows the current owner to relinquish control of the contract.
   * @notice Renouncing to ownership will leave the contract without an owner.
   * It will not be possible to call the functions with the `onlyOwner`
   * modifier anymore.
   */
  function renounceOwnership() public onlyOwner {
    emit OwnershipRenounced(_owner);
    _owner = address(0);
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    _transferOwnership(newOwner);
  }

  /**
   * @dev Transfers control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function _transferOwnership(address newOwner) internal {
    require(newOwner != address(0));
    emit OwnershipTransferred(_owner, newOwner);
    _owner = newOwner;
  }
}

// File: contracts/access/roles/ReferrerRole.sol

contract ReferrerRole is Ownable {
    using Roles for Roles.Role;

    event ReferrerAdded(address indexed account);
    event ReferrerRemoved(address indexed account);

    Roles.Role private referrers;

    constructor() public {
        referrers.add(msg.sender);
    }

    modifier onlyReferrer() {
        require(isReferrer(msg.sender));
        _;
    }
    
    function isReferrer(address account) public view returns (bool) {
        return referrers.has(account);
    }

    function addReferrer(address account) public onlyOwner() {
        referrers.add(account);
        emit ReferrerAdded(account);
    }

    function removeReferrer(address account) public onlyOwner() {
        referrers.remove(account);
        emit ReferrerRemoved(account);
    }

}

// File: contracts/shop/DailyAction.sol

contract DailyAction is Ownable, Pausable {
    using SafeMath for uint256;

    mapping(address => uint256) public latestActionTime;
    uint256 public term;

    event Action(
        address indexed user,
        address indexed referrer,
        uint256 at
    );

    event UpdateTerm(
        uint256 term
    );
    
    constructor() public {
        term = 86400;
    }

    function withdrawEther() external onlyOwner() {
        owner().transfer(address(this).balance);
    }

    function updateTerm(uint256 num) external onlyOwner() {
        term = num;

        emit UpdateTerm(
            term
        );
    }

    function requestDailyActionReward(address referrer) external whenNotPaused() {
        require(!isInTerm(msg.sender), "this sender got daily reward within term");

        emit Action(
            msg.sender,
            referrer,
            block.timestamp
        );

        latestActionTime[msg.sender] = block.timestamp;
    }

    function isInTerm(address sender) public view returns (bool) {
        if (latestActionTime[sender] == 0) {
            return false;
        } else if (block.timestamp >= latestActionTime[sender].add(term)) {
            return false;
        }
        return true;
    }
}

// File: contracts/shop/GumGateway.sol

contract GumGateway is ReferrerRole, Pausable, DailyAction {
    using SafeMath for uint256;

    uint256 internal ethBackRate;
    uint256 internal minimumAmount;

    event Sold(
        address indexed user,
        address indexed referrer,
        uint256 value,
        uint256 at
    );
    
    constructor() public {
        minimumAmount = 10000000000000000;
    }
    
    function updateEthBackRate(uint256 _newEthBackRate) external onlyOwner() {
        ethBackRate = _newEthBackRate;
    }

    function updateMinimumAmount(uint256 _newMinimumAmount) external onlyOwner() {
        minimumAmount = _newMinimumAmount;
    }

    function getEthBackRate() external onlyOwner() view returns (uint256) {
        return ethBackRate;
    }

    function withdrawEther() external onlyOwner() {
        owner().transfer(address(this).balance);
    }

    function buy(address _referrer) external payable whenNotPaused() {
        require(msg.value >= minimumAmount, "msg.value should be more than minimum ether amount");
        
        address referrer;
        if (_referrer == msg.sender){
            referrer = address(0x0);
        } else {
            referrer = _referrer;
        }
        if ((referrer != address(0x0)) && isReferrer(referrer)) {
            referrer.transfer(msg.value.mul(ethBackRate).div(100));
        }
        emit Sold(
            msg.sender,
            referrer,
            msg.value,
            block.timestamp
        );
    }

}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"referrer","type":"address"}],"name":"requestDailyActionReward","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"num","type":"uint256"}],"name":"updateTerm","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isPauser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getEthBackRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renouncePauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"withdrawEther","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"removeReferrer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_newEthBackRate","type":"uint256"}],"name":"updateEthBackRate","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addPauser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isOwner","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"sender","type":"address"}],"name":"isInTerm","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"term","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_newMinimumAmount","type":"uint256"}],"name":"updateMinimumAmount","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"account","type":"address"}],"name":"isReferrer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_referrer","type":"address"}],"name":"buy","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"latestActionTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"account","type":"address"}],"name":"addReferrer","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"referrer","type":"address"},{"indexed":false,"name":"value","type":"uint256"},{"indexed":false,"name":"at","type":"uint256"}],"name":"Sold","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"user","type":"address"},{"indexed":true,"name":"referrer","type":"address"},{"indexed":false,"name":"at","type":"uint256"}],"name":"Action","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"term","type":"uint256"}],"name":"UpdateTerm","type":"event"},{"anonymous":false,"inputs":[],"name":"Paused","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpaused","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"PauserRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"ReferrerAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"account","type":"address"}],"name":"ReferrerRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"}],"name":"OwnershipRenounced","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60806040526000600360006101000a81548160ff02191690831515021790555034801561002b57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008d3360016100cb640100000000026110e9179091906401000000009004565b6100ae3360026100cb640100000000026110e9179091906401000000009004565b62015180600581905550662386f26fc10000600781905550610165565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561010757600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611332806101746000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633696d3aa1461013857806337c351571461017b5780633f4ba83a146101a857806346fbf68e146101bf5780635c975abb1461021a57806360ffc1cf146102495780636ef8d66d14610274578063715018a61461028b5780637362377b146102a25780637a00e2e3146102b95780637b049a46146102fc57806382dc1ec4146103295780638456cb591461036c5780638da5cb5b146103835780638f32d59b146103da578063937adbe614610409578063a10ffbed14610464578063bb8e5b571461048f578063d64d6968146104bc578063f088d54714610517578063f2fde38b1461054d578063f73171f114610590578063fefa9bb1146105e7575b600080fd5b34801561014457600080fd5b50610179600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061062a565b005b34801561018757600080fd5b506101a660048036038101908080359060200190929190505050610796565b005b3480156101b457600080fd5b506101bd6107ec565b005b3480156101cb57600080fd5b50610200600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610864565b604051808215151515815260200191505060405180910390f35b34801561022657600080fd5b5061022f610881565b604051808215151515815260200191505060405180910390f35b34801561025557600080fd5b5061025e610898565b6040518082815260200191505060405180910390f35b34801561028057600080fd5b506102896108b5565b005b34801561029757600080fd5b506102a06108cb565b005b3480156102ae57600080fd5b506102b7610985565b005b3480156102c557600080fd5b506102fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ff565b005b34801561030857600080fd5b5061032760048036038101908080359060200190929190505050610a6c565b005b34801561033557600080fd5b5061036a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a89565b005b34801561037857600080fd5b50610381610af7565b005b34801561038f57600080fd5b50610398610b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610b99565b604051808215151515815260200191505060405180910390f35b34801561041557600080fd5b5061044a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf0565b604051808215151515815260200191505060405180910390f35b34801561047057600080fd5b50610479610cb1565b6040518082815260200191505060405180910390f35b34801561049b57600080fd5b506104ba60048036038101908080359060200190929190505050610cb7565b005b3480156104c857600080fd5b506104fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd4565b604051808215151515815260200191505060405180910390f35b61054b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf1565b005b34801561055957600080fd5b5061058e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f17565b005b34801561059c57600080fd5b506105d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f36565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610628600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4e565b005b600360009054906101000a900460ff1615151561064657600080fd5b61064f33610bf0565b1515156106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f746869732073656e64657220676f74206461696c79207265776172642077697481526020017f68696e207465726d00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f03bee8945a564e58a4243604a426d1168e3654790c5ad819fd04206500e60b36426040518082815260200191505060405180910390a342600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b61079e610b99565b15156107a957600080fd5b806005819055507f42abe072cac69cb13b03255cb2c26297e10970937da5386e8f1ae78c21d2f01c6005546040518082815260200191505060405180910390a150565b6107f533610864565b151561080057600080fd5b600360009054906101000a900460ff16151561081b57600080fd5b6000600360006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a1565b600061087a826002610fbb90919063ffffffff16565b9050919050565b6000600360009054906101000a900460ff16905090565b60006108a2610b99565b15156108ad57600080fd5b600654905090565b6108c933600261104f90919063ffffffff16565b565b6108d3610b99565b15156108de57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61098d610b99565b151561099857600080fd5b6109a0610b70565b73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156109fc573d6000803e3d6000fd5b50565b610a07610b99565b1515610a1257600080fd5b610a2681600161104f90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f68e673b5cfb652e620fba208d02d6b172a0dc242d4497d94a1f92bb5fa92bc3160405160405180910390a250565b610a74610b99565b1515610a7f57600080fd5b8060068190555050565b610a9233610864565b1515610a9d57600080fd5b610ab18160026110e990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b610b0033610864565b1515610b0b57600080fd5b600360009054906101000a900460ff16151515610b2757600080fd5b6001600360006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610c425760009050610cac565b610c96600554600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118390919063ffffffff16565b42101515610ca75760009050610cac565b600190505b919050565b60055481565b610cbf610b99565b1515610cca57600080fd5b8060078190555050565b6000610cea826001610fbb90919063ffffffff16565b9050919050565b6000600360009054906101000a900460ff16151515610d0f57600080fd5b6007543410151515610daf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f6d73672e76616c75652073686f756c64206265206d6f7265207468616e206d6981526020017f6e696d756d20657468657220616d6f756e74000000000000000000000000000081525060400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dec5760009050610df0565b8190505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610e325750610e3181610cd4565b5b15610ea6578073ffffffffffffffffffffffffffffffffffffffff166108fc610e796064610e6b600654346111a490919063ffffffff16565b6111e290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015610ea4573d6000803e3d6000fd5b505b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f16dd16959a056953a63cf14bf427881e762e54f03d86b864efea8238dd3b822f3442604051808381526020018281526020019250505060405180910390a35050565b610f1f610b99565b1515610f2a57600080fd5b610f338161120c565b50565b60046020528060005260406000206000915090505481565b610f56610b99565b1515610f6157600080fd5b610f758160016110e990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f51e6bb66cce1aac9478cbafcad3421bf2a600ce8ec3874296c671ab32c68ce9260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ff857600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561108b57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561112557600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080828401905083811015151561119a57600080fd5b8091505092915050565b60008060008414156111b957600091506111db565b82840290508284828115156111ca57fe5b041415156111d757600080fd5b8091505b5092915050565b6000806000831115156111f457600080fd5b82848115156111ff57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561124857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058204853437823a2138e9e6ed19241b1031a55d97fb35a7dcf6633796d60254def0a0029

Deployed Bytecode

0x608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633696d3aa1461013857806337c351571461017b5780633f4ba83a146101a857806346fbf68e146101bf5780635c975abb1461021a57806360ffc1cf146102495780636ef8d66d14610274578063715018a61461028b5780637362377b146102a25780637a00e2e3146102b95780637b049a46146102fc57806382dc1ec4146103295780638456cb591461036c5780638da5cb5b146103835780638f32d59b146103da578063937adbe614610409578063a10ffbed14610464578063bb8e5b571461048f578063d64d6968146104bc578063f088d54714610517578063f2fde38b1461054d578063f73171f114610590578063fefa9bb1146105e7575b600080fd5b34801561014457600080fd5b50610179600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061062a565b005b34801561018757600080fd5b506101a660048036038101908080359060200190929190505050610796565b005b3480156101b457600080fd5b506101bd6107ec565b005b3480156101cb57600080fd5b50610200600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610864565b604051808215151515815260200191505060405180910390f35b34801561022657600080fd5b5061022f610881565b604051808215151515815260200191505060405180910390f35b34801561025557600080fd5b5061025e610898565b6040518082815260200191505060405180910390f35b34801561028057600080fd5b506102896108b5565b005b34801561029757600080fd5b506102a06108cb565b005b3480156102ae57600080fd5b506102b7610985565b005b3480156102c557600080fd5b506102fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ff565b005b34801561030857600080fd5b5061032760048036038101908080359060200190929190505050610a6c565b005b34801561033557600080fd5b5061036a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a89565b005b34801561037857600080fd5b50610381610af7565b005b34801561038f57600080fd5b50610398610b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610b99565b604051808215151515815260200191505060405180910390f35b34801561041557600080fd5b5061044a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf0565b604051808215151515815260200191505060405180910390f35b34801561047057600080fd5b50610479610cb1565b6040518082815260200191505060405180910390f35b34801561049b57600080fd5b506104ba60048036038101908080359060200190929190505050610cb7565b005b3480156104c857600080fd5b506104fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd4565b604051808215151515815260200191505060405180910390f35b61054b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf1565b005b34801561055957600080fd5b5061058e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f17565b005b34801561059c57600080fd5b506105d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f36565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610628600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4e565b005b600360009054906101000a900460ff1615151561064657600080fd5b61064f33610bf0565b1515156106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f746869732073656e64657220676f74206461696c79207265776172642077697481526020017f68696e207465726d00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f03bee8945a564e58a4243604a426d1168e3654790c5ad819fd04206500e60b36426040518082815260200191505060405180910390a342600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b61079e610b99565b15156107a957600080fd5b806005819055507f42abe072cac69cb13b03255cb2c26297e10970937da5386e8f1ae78c21d2f01c6005546040518082815260200191505060405180910390a150565b6107f533610864565b151561080057600080fd5b600360009054906101000a900460ff16151561081b57600080fd5b6000600360006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a1565b600061087a826002610fbb90919063ffffffff16565b9050919050565b6000600360009054906101000a900460ff16905090565b60006108a2610b99565b15156108ad57600080fd5b600654905090565b6108c933600261104f90919063ffffffff16565b565b6108d3610b99565b15156108de57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61098d610b99565b151561099857600080fd5b6109a0610b70565b73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156109fc573d6000803e3d6000fd5b50565b610a07610b99565b1515610a1257600080fd5b610a2681600161104f90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f68e673b5cfb652e620fba208d02d6b172a0dc242d4497d94a1f92bb5fa92bc3160405160405180910390a250565b610a74610b99565b1515610a7f57600080fd5b8060068190555050565b610a9233610864565b1515610a9d57600080fd5b610ab18160026110e990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b610b0033610864565b1515610b0b57600080fd5b600360009054906101000a900460ff16151515610b2757600080fd5b6001600360006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610c425760009050610cac565b610c96600554600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118390919063ffffffff16565b42101515610ca75760009050610cac565b600190505b919050565b60055481565b610cbf610b99565b1515610cca57600080fd5b8060078190555050565b6000610cea826001610fbb90919063ffffffff16565b9050919050565b6000600360009054906101000a900460ff16151515610d0f57600080fd5b6007543410151515610daf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f6d73672e76616c75652073686f756c64206265206d6f7265207468616e206d6981526020017f6e696d756d20657468657220616d6f756e74000000000000000000000000000081525060400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dec5760009050610df0565b8190505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610e325750610e3181610cd4565b5b15610ea6578073ffffffffffffffffffffffffffffffffffffffff166108fc610e796064610e6b600654346111a490919063ffffffff16565b6111e290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015610ea4573d6000803e3d6000fd5b505b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f16dd16959a056953a63cf14bf427881e762e54f03d86b864efea8238dd3b822f3442604051808381526020018281526020019250505060405180910390a35050565b610f1f610b99565b1515610f2a57600080fd5b610f338161120c565b50565b60046020528060005260406000206000915090505481565b610f56610b99565b1515610f6157600080fd5b610f758160016110e990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f51e6bb66cce1aac9478cbafcad3421bf2a600ce8ec3874296c671ab32c68ce9260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ff857600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561108b57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561112557600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080828401905083811015151561119a57600080fd5b8091505092915050565b60008060008414156111b957600091506111db565b82840290508284828115156111ca57fe5b041415156111d757600080fd5b8091505b5092915050565b6000806000831115156111f457600080fd5b82848115156111ff57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561124857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058204853437823a2138e9e6ed19241b1031a55d97fb35a7dcf6633796d60254def0a0029

Swarm Source

bzzr://4853437823a2138e9e6ed19241b1031a55d97fb35a7dcf6633796d60254def0a

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.