Contract Overview |  MCH_GumGateway
Balance: 0 Ether
Ether Value: $0
Transactions: 62032 txns
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xe7af11370c3bab51230d8307454350bdf6d68f4aat txn 0xb246340cbfc336d5f5eb0f8e1b9446d66f9411600773c381d1f02b28bc62da99
Token Balance:
 Latest 25 transactions from a total of 62032 transactions
(+1 PendingTxn)

TxHash Age From To Value [TxFee]
0xf349d53091696b64ec6738fd5e7bb18375f7f2dae2800222ef813285638344c3(pending)0xaea664ef1e5adc383fbdacf1331e2b43bea3e839  IN  0x4ae0ede482f825fb9cccce8f0fe089f0379eaa2a0 Ether(Pending)
0x8b824ded02b6bf4290556c3cdbacae110e4a9c5d7bd9da356b9f1a4065547fc19 hrs 12 mins ago0x6aa0fc9fc46acb60e98439f9f89782ca78fb0990  IN   MCH_GumGateway0 Ether0.000115025
0x2c7f7ab609d5f3501502fb51b99783e7c9d7a80049f2c514807b9751694dc7169 hrs 12 mins ago0x6aa0fc9fc46acb60e98439f9f89782ca78fb0990  IN   MCH_GumGateway0 Ether0.000115025
0x78cca05ab0fa3188e395ddd249c445526c29437df789b5e6649fd9c6d215e65d9 hrs 12 mins ago0x6aa0fc9fc46acb60e98439f9f89782ca78fb0990  IN   MCH_GumGateway0 Ether0.000115025
0x62498bbaec712ab91aec5b967ec7b64dcc819fb5fa332adbe4e7c3a3e06d1e309 hrs 12 mins ago0x6aa0fc9fc46acb60e98439f9f89782ca78fb0990  IN   MCH_GumGateway0 Ether0.000115025
0x5efea607ec825cb6d6e3865c5efb83e0325dd3713cf3395e2436a5ddcbb4a7b99 hrs 12 mins ago0x6aa0fc9fc46acb60e98439f9f89782ca78fb0990  IN   MCH_GumGateway0 Ether0.000115025
0x8677abf0b32e2e2ad683bd8b9c1af5d2c2900e641475a6f31871beeebcf1ed4a9 hrs 44 mins ago0x6aa0fc9fc46acb60e98439f9f89782ca78fb0990  IN   MCH_GumGateway0 Ether0.000115025
0xe7a889f4d9ae8b1d2796eb1a0da132bad60f17a10d1beaba164076cfce6822b29 hrs 44 mins ago0x6aa0fc9fc46acb60e98439f9f89782ca78fb0990  IN   MCH_GumGateway0 Ether0.000149105
0xed5ac42bd62e1c7ad538d865035e8bb2372b8db54a9aa173f5e58210a758185e3 days 7 hrs ago0xd7dbcf8f5e26cc78672e76b38437ca6392bdaa95  IN   MCH_GumGateway0 Ether0.000155185
0x865e15cf07f718603608349b829745acd2ce52964a650ab4ab0548e05e5af0083 days 9 hrs ago0x72b91b2ac9ec55482b07a01bae755185b857771b  IN   MCH_GumGateway0 Ether0.000016141419
0xb1f77ec2774ae99abc054f9512225ab5143b6d86580b003a888d2dc8299558934 days 23 hrs ago0x28b1ff923eefe954c18e78dd94b34d771d9cef89  IN   MCH_GumGateway0 Ether0.000121425
0xd031201ea521107580da9f3de19af2aa9e5fcb27f17d7fb05c396aa0db2131955 days 58 mins ago0xbd417939f8661bf269b625aa2f35b53401e8cb7c  IN   MCH_GumGateway0 Ether0.00031101
0x803f222adbe8e9436125ff5ad3e147b2bbcc9cd2bf3e36835693f65a5862e2f25 days 2 hrs ago0x28b1ff923eefe954c18e78dd94b34d771d9cef89  IN   MCH_GumGateway0 Ether0.000248808
0x7583e55135ee3012fe6f4dd221c1ee10f3a4746fbebdab906058f34eef6299605 days 7 hrs ago0xe23d704324f15c18841ac5b66e82434367438e59  IN   MCH_GumGateway0 Ether0.000155505
0xf1ddccabb322f2fc1dcd87f6fa0b318a26879d20fb1b35cb47c739ca417f3d1b5 days 12 hrs ago0xb219cb944416ea6f439d5bf7b07188de1b56b0ec  IN   MCH_GumGateway0 Ether0.000155505
0x12f33e5b64f76a3430b43c43049d90f555a593bbd8bb038dca6a230c0b4b6a2e8 days 20 hrs ago0x5b1ccd0bcab7b7c19fa57ff896545e078f686c9c  IN   MCH_GumGateway0 Ether0.000149105
0x0c665c2ed33296d75799e5fce11dd24f9f003d64b5adae65e1067c06e78795a39 days 10 hrs ago0xf86701509aa1aa8760e6940e9ba7c4b515423ac0  IN   MCH_GumGateway0 Ether0.00003887625
0x257558b0e14e9cc3ceb0d6c1c10891322d622b5a715398f192a26ce98f5d5d6c9 days 10 hrs ago0x008261deb9f80d000958349575fb352c54b571fb  IN   MCH_GumGateway0 Ether0.00003887625
0x687b98f8eb1cde14247bbf4af99eb4fc7ccdfdfcef72cf05d01362a4d5d4143a9 days 10 hrs ago0x7d126dc9c246b5d0449e3381e2bee6235e996ed7  IN   MCH_GumGateway0 Ether0.00003887625
0x695b5dde0c4b1f04a2ee0ec68aecd99d22e42f60cdfe2369f54a9de45fc869c19 days 10 hrs ago0x063828018f1e5c9042b7cf493c9e266fc4f952e2  IN   MCH_GumGateway0 Ether0.00003887625
0x9d83691cdbe8654e63a569978a15cfd1fd8d78b0f78dad50de73108b43381e839 days 10 hrs ago0x12d5d2f7e880a01465beadae0d5c15798805874e  IN   MCH_GumGateway0 Ether0.00003887625
0x97c619afd8542f548f723d83a514f72cbe2933a4959a9ba23eeba3174a67a59a9 days 10 hrs ago0x169acbabf8bfb697f14b4e161a84f6a59f54c31e  IN   MCH_GumGateway0 Ether0.00003887625
0xe751ba1e9789317202ae52cdd048d626cfc03ee58b2d26cf3114fea6b4bfb2289 days 10 hrs ago0x44a221b9c0743734e26ef75e5605a8c54df9fa1f  IN   MCH_GumGateway0 Ether0.00003887625
0xacd819fc23a374cc0d1bba01adfec69aff0c45c8964c43f8573f573ab501eecd9 days 10 hrs ago0x6caf27577d39e08db558768b6fa62a32ff560585  IN   MCH_GumGateway0 Ether0.00003887625
0x44bf6a8b7cf513794afc5c909310685029713511ab07ad6961783bc329affc159 days 10 hrs ago0x14e1e3902c49cf1e5f2a8b5f1d09a6db64795495  IN   MCH_GumGateway0 Ether0.00003887625
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
View All
ParentTxHash Block Age From To Value
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: GumGateway
Compiler Text: v0.4.24+commit.e67f0147
Optimization Enabled: No
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

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 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"}]

  Contract Creation Code Switch To Opcodes View
60806040526000600360006101000a81548160ff02191690831515021790555034801561002b57600080fd5b50336000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061008d3360016100cb640100000000026110e9179091906401000000009004565b6100ae3360026100cb640100000000026110e9179091906401000000009004565b62015180600581905550662386f26fc10000600781905550610165565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561010757600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611332806101746000396000f300608060405260043610610133576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff1680633696d3aa1461013857806337c351571461017b5780633f4ba83a146101a857806346fbf68e146101bf5780635c975abb1461021a57806360ffc1cf146102495780636ef8d66d14610274578063715018a61461028b5780637362377b146102a25780637a00e2e3146102b95780637b049a46146102fc57806382dc1ec4146103295780638456cb591461036c5780638da5cb5b146103835780638f32d59b146103da578063937adbe614610409578063a10ffbed14610464578063bb8e5b571461048f578063d64d6968146104bc578063f088d54714610517578063f2fde38b1461054d578063f73171f114610590578063fefa9bb1146105e7575b600080fd5b34801561014457600080fd5b50610179600480360381019080803573ffffffffffffffffffffffffffffffffffffffff16906020019092919050505061062a565b005b34801561018757600080fd5b506101a660048036038101908080359060200190929190505050610796565b005b3480156101b457600080fd5b506101bd6107ec565b005b3480156101cb57600080fd5b50610200600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610864565b604051808215151515815260200191505060405180910390f35b34801561022657600080fd5b5061022f610881565b604051808215151515815260200191505060405180910390f35b34801561025557600080fd5b5061025e610898565b6040518082815260200191505060405180910390f35b34801561028057600080fd5b506102896108b5565b005b34801561029757600080fd5b506102a06108cb565b005b3480156102ae57600080fd5b506102b7610985565b005b3480156102c557600080fd5b506102fa600480360381019080803573ffffffffffffffffffffffffffffffffffffffff1690602001909291905050506109ff565b005b34801561030857600080fd5b5061032760048036038101908080359060200190929190505050610a6c565b005b34801561033557600080fd5b5061036a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610a89565b005b34801561037857600080fd5b50610381610af7565b005b34801561038f57600080fd5b50610398610b70565b604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200191505060405180910390f35b3480156103e657600080fd5b506103ef610b99565b604051808215151515815260200191505060405180910390f35b34801561041557600080fd5b5061044a600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610bf0565b604051808215151515815260200191505060405180910390f35b34801561047057600080fd5b50610479610cb1565b6040518082815260200191505060405180910390f35b34801561049b57600080fd5b506104ba60048036038101908080359060200190929190505050610cb7565b005b3480156104c857600080fd5b506104fd600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cd4565b604051808215151515815260200191505060405180910390f35b61054b600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610cf1565b005b34801561055957600080fd5b5061058e600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f17565b005b34801561059c57600080fd5b506105d1600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f36565b6040518082815260200191505060405180910390f35b3480156105f357600080fd5b50610628600480360381019080803573ffffffffffffffffffffffffffffffffffffffff169060200190929190505050610f4e565b005b600360009054906101000a900460ff1615151561064657600080fd5b61064f33610bf0565b1515156106ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260288152602001807f746869732073656e64657220676f74206461696c79207265776172642077697481526020017f68696e207465726d00000000000000000000000000000000000000000000000081525060400191505060405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f03bee8945a564e58a4243604a426d1168e3654790c5ad819fd04206500e60b36426040518082815260200191505060405180910390a342600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050565b61079e610b99565b15156107a957600080fd5b806005819055507f42abe072cac69cb13b03255cb2c26297e10970937da5386e8f1ae78c21d2f01c6005546040518082815260200191505060405180910390a150565b6107f533610864565b151561080057600080fd5b600360009054906101000a900460ff16151561081b57600080fd5b6000600360006101000a81548160ff0219169083151502179055507fa45f47fdea8a1efdd9029a5691c7f759c32b7c698632b563573e155625d1693360405160405180910390a1565b600061087a826002610fbb90919063ffffffff16565b9050919050565b6000600360009054906101000a900460ff16905090565b60006108a2610b99565b15156108ad57600080fd5b600654905090565b6108c933600261104f90919063ffffffff16565b565b6108d3610b99565b15156108de57600080fd5b6000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167ff8df31144d9c2f0f6b59d69b8b98abd5459d07f2742c4df920b25aae33c6482060405160405180910390a260008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b61098d610b99565b151561099857600080fd5b6109a0610b70565b73ffffffffffffffffffffffffffffffffffffffff166108fc3073ffffffffffffffffffffffffffffffffffffffff16319081150290604051600060405180830381858888f193505050501580156109fc573d6000803e3d6000fd5b50565b610a07610b99565b1515610a1257600080fd5b610a2681600161104f90919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f68e673b5cfb652e620fba208d02d6b172a0dc242d4497d94a1f92bb5fa92bc3160405160405180910390a250565b610a74610b99565b1515610a7f57600080fd5b8060068190555050565b610a9233610864565b1515610a9d57600080fd5b610ab18160026110e990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f6719d08c1888103bea251a4ed56406bd0c3e69723c8a1686e017e7bbe159b6f860405160405180910390a250565b610b0033610864565b1515610b0b57600080fd5b600360009054906101000a900460ff16151515610b2757600080fd5b6001600360006101000a81548160ff0219169083151502179055507f9e87fac88ff661f02d44f95383c817fece4bce600a3dab7a54406878b965e75260405160405180910390a1565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614905090565b600080600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020541415610c425760009050610cac565b610c96600554600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461118390919063ffffffff16565b42101515610ca75760009050610cac565b600190505b919050565b60055481565b610cbf610b99565b1515610cca57600080fd5b8060078190555050565b6000610cea826001610fbb90919063ffffffff16565b9050919050565b6000600360009054906101000a900460ff16151515610d0f57600080fd5b6007543410151515610daf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004018080602001828103825260328152602001807f6d73672e76616c75652073686f756c64206265206d6f7265207468616e206d6981526020017f6e696d756d20657468657220616d6f756e74000000000000000000000000000081525060400191505060405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610dec5760009050610df0565b8190505b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614158015610e325750610e3181610cd4565b5b15610ea6578073ffffffffffffffffffffffffffffffffffffffff166108fc610e796064610e6b600654346111a490919063ffffffff16565b6111e290919063ffffffff16565b9081150290604051600060405180830381858888f19350505050158015610ea4573d6000803e3d6000fd5b505b8073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff167f16dd16959a056953a63cf14bf427881e762e54f03d86b864efea8238dd3b822f3442604051808381526020018281526020019250505060405180910390a35050565b610f1f610b99565b1515610f2a57600080fd5b610f338161120c565b50565b60046020528060005260406000206000915090505481565b610f56610b99565b1515610f6157600080fd5b610f758160016110e990919063ffffffff16565b8073ffffffffffffffffffffffffffffffffffffffff167f51e6bb66cce1aac9478cbafcad3421bf2a600ce8ec3874296c671ab32c68ce9260405160405180910390a250565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614151515610ff857600080fd5b8260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561108b57600080fd5b60008260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561112557600080fd5b60018260000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600080828401905083811015151561119a57600080fd5b8091505092915050565b60008060008414156111b957600091506111db565b82840290508284828115156111ca57fe5b041415156111d757600080fd5b8091505b5092915050565b6000806000831115156111f457600080fd5b82848115156111ff57fe5b0490508091505092915050565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415151561124857600080fd5b8073ffffffffffffffffffffffffffffffffffffffff166000809054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505600a165627a7a723058204853437823a2138e9e6ed19241b1031a55d97fb35a7dcf6633796d60254def0a0029

   Swarm Source:
bzzr://4853437823a2138e9e6ed19241b1031a55d97fb35a7dcf6633796d60254def0a

 

View All
Block Age transaction Difficulty GasUsed Reward
View All
Block Age UncleNumber Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.