ETH Price: $3,119.74 (-0.07%)

Contract

0x65dfE1db61f1AC75Ed8bCCCc18E6e90c04b95dE2
 

Overview

ETH Balance

1.900243331028796874 ETH

Eth Value

$5,928.27 (@ $3,119.74/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer66737432018-11-09 17:54:022202 days ago1541786042IN
0x65dfE1db...c04b95dE2
0.0000543 ETH0.000171968
Transfer65867232018-10-26 11:28:542216 days ago1540553334IN
0x65dfE1db...c04b95dE2
0 ETH0.000150477
Transfer65867012018-10-26 11:23:392216 days ago1540553019IN
0x65dfE1db...c04b95dE2
0 ETH0.0002794413
Transfer65867012018-10-26 11:23:392216 days ago1540553019IN
0x65dfE1db...c04b95dE2
0 ETH0.0003009414
Transfer65813262018-10-25 14:21:482217 days ago1540477308IN
0x65dfE1db...c04b95dE2
6 ETH0.000169817.9
Transfer65810612018-10-25 13:17:542217 days ago1540473474IN
0x65dfE1db...c04b95dE2
0.01 ETH0.00073535
Transfer65806292018-10-25 11:41:162217 days ago1540467676IN
0x65dfE1db...c04b95dE2
0.5 ETH0.0002579512
Transfer65806292018-10-25 11:41:162217 days ago1540467676IN
0x65dfE1db...c04b95dE2
0.5 ETH0.0002794413
Transfer65799932018-10-25 9:10:212218 days ago1540458621IN
0x65dfE1db...c04b95dE2
0.01 ETH0.0006663731
Transfer65799902018-10-25 9:09:252218 days ago1540458565IN
0x65dfE1db...c04b95dE2
0.01 ETH0.0006663731
Transfer65799792018-10-25 9:05:222218 days ago1540458322IN
0x65dfE1db...c04b95dE2
0.01 ETH0.0003224415
Transfer65794162018-10-25 6:47:512218 days ago1540450071IN
0x65dfE1db...c04b95dE2
1 ETH0.000171968
Transfer65793972018-10-25 6:42:572218 days ago1540449777IN
0x65dfE1db...c04b95dE2
1 ETH0.000150477
Transfer65790482018-10-25 5:26:312218 days ago1540445191IN
0x65dfE1db...c04b95dE2
0.27 ETH0.0002149610
Transfer65787152018-10-25 4:04:512218 days ago1540440291IN
0x65dfE1db...c04b95dE2
0.25 ETH0.0002364511
Get Paiment Time65784282018-10-25 2:57:132218 days ago1540436233IN
0x65dfE1db...c04b95dE2
0 ETH0.00279
Distribute65783662018-10-25 2:42:462218 days ago1540435366IN
0x65dfE1db...c04b95dE2
0 ETH0.000202059
Withdraw65783572018-10-25 2:39:392218 days ago1540435179IN
0x65dfE1db...c04b95dE2
0 ETH0.000202039
Distribute65783472018-10-25 2:37:082218 days ago1540435028IN
0x65dfE1db...c04b95dE2
0 ETH0.000199179
0x0000000065782582018-10-25 2:18:232218 days ago1540433903IN
0x65dfE1db...c04b95dE2
0 ETH0.000202469
Transfer65781422018-10-25 1:46:572218 days ago1540432017IN
0x65dfE1db...c04b95dE2
0 ETH0.0002149610
Transfer65772942018-10-24 22:24:182218 days ago1540419858IN
0x65dfE1db...c04b95dE2
0.1 ETH0.000107485
Transfer65770062018-10-24 21:18:462218 days ago1540415926IN
0x65dfE1db...c04b95dE2
0.01 ETH0.000515924
Transfer65769992018-10-24 21:17:562218 days ago1540415876IN
0x65dfE1db...c04b95dE2
0.2590627 ETH0.000171968
Transfer65767892018-10-24 20:30:352218 days ago1540413035IN
0x65dfE1db...c04b95dE2
0.012 ETH0.0001688
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
2.4 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
0.18 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
1.4556 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
1.2 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
10.88517959 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
3.6 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
0.0384 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
5.03598727 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
5.03601247 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
2.616 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
3 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
1.728 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
12 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
12 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
0.64112918 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
0.64112918 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
0.64112918 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
0.64112918 ETH
65753482018-10-24 14:53:382218 days ago1540392818
0x65dfE1db...c04b95dE2
3.84677511 ETH
65752522018-10-24 14:31:282218 days ago1540391488
0x65dfE1db...c04b95dE2
1.08 ETH
65752522018-10-24 14:31:282218 days ago1540391488
0x65dfE1db...c04b95dE2
1.908 ETH
65752522018-10-24 14:31:282218 days ago1540391488
0x65dfE1db...c04b95dE2
5.28 ETH
65752522018-10-24 14:31:282218 days ago1540391488
0x65dfE1db...c04b95dE2
9.6 ETH
65752522018-10-24 14:31:282218 days ago1540391488
0x65dfE1db...c04b95dE2
1.356 ETH
65752522018-10-24 14:31:282218 days ago1540391488
0x65dfE1db...c04b95dE2
1.656 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
distribution

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
/**
 *Submitted for verification at Etherscan.io on 2018-10-16
*/

pragma solidity ^0.4.25;

/**
 * @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 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;
    emit OwnershipTransferred(address(0), _owner);
  }

  /**
   * @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 OwnershipTransferred(_owner, address(0));
    _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;
  }
}
/**
 * @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;
  }
}

contract distribution is Ownable {
    
    using SafeMath for uint256;
    
    event OnDepositeReceived(address investorAddress, uint value);
    event OnPaymentSent(address investorAddress, uint value);
    
    uint public minDeposite = 10000000000000000; // 0.01 eth
    uint public maxDeposite = 10000000000000000000000; // 10000 eth
    uint public currentPaymentIndex = 0;
    uint public amountForDistribution = 0;
    uint public amountRaised;
    uint public depositorsCount;
    uint public percent = 120;
    
    address distributorWallet;    // wallet for initialize distribution
    address promoWallet;    
    address wallet1;
    address wallet2;
    address wallet3;
    
    struct Deposite {
        address depositor;
        uint amount;
        uint depositeTime;
        uint paimentTime;
    }
    
    // list of all deposites
    Deposite[] public deposites;
    // list of deposites for 1 user
    mapping ( address => uint[]) public depositors;
    
    modifier onlyDistributor () {
        require (msg.sender == distributorWallet);
        _;
    }
    
    function setDistributorAddress(address newDistributorAddress) public onlyOwner {
        require (newDistributorAddress!=address(0));
        distributorWallet = newDistributorAddress;
    }
    
    function setNewMinDeposite(uint newMinDeposite) public onlyOwner {
        minDeposite = newMinDeposite;
    }
    
    function setNewMaxDeposite(uint newMaxDeposite) public onlyOwner {
        maxDeposite = newMaxDeposite;
    }
    
    function setNewWallets(address newWallet1, address newWallet2, address newWallet3) public onlyOwner {
        wallet1 = newWallet1;
        wallet2 = newWallet2;
        wallet3 = newWallet3;
    }
    
    function setPromoWallet(address newPromoWallet) public onlyOwner {
        require (newPromoWallet != address(0));
        promoWallet = newPromoWallet;
    }
    

    constructor () public {
        distributorWallet = address(0x494A7A2D0599f2447487D7fA10BaEAfCB301c41B);
        promoWallet = address(0xFd3093a4A3bd68b46dB42B7E59e2d88c6D58A99E);
        wallet1 = address(0xBaa2CB97B6e28ef5c0A7b957398edf7Ab5F01A1B);
        wallet2 = address(0xFDd46866C279C90f463a08518e151bC78A1a5f38);
        wallet3 = address(0xdFa5662B5495E34C2aA8f06Feb358A6D90A6d62e);
        
    }


    function () public payable {
        require ( (msg.value >= minDeposite) && (msg.value <= maxDeposite) );
        Deposite memory newDeposite = Deposite(msg.sender, msg.value, now, 0);
        deposites.push(newDeposite);
        if (depositors[msg.sender].length == 0) depositorsCount+=1;
        depositors[msg.sender].push(deposites.length - 1);
        amountForDistribution = amountForDistribution.add(msg.value);
        amountRaised = amountRaised.add(msg.value);
        
        emit OnDepositeReceived(msg.sender,msg.value);
    }
    
    function distribute (uint numIterations) public onlyDistributor {
        
        promoWallet.transfer(amountForDistribution.mul(6).div(100));
        distributorWallet.transfer(amountForDistribution.mul(1).div(100));
        wallet1.transfer(amountForDistribution.mul(1).div(100));
        wallet2.transfer(amountForDistribution.mul(1).div(100));
        wallet3.transfer(amountForDistribution.mul(1).div(100));
        
        uint i = 0;
        uint toSend = deposites[currentPaymentIndex].amount.mul(percent).div(100);    // 120% of user deposite
        
        while ( (i <= numIterations) && ( address(this).balance > toSend)  ) {
            deposites[currentPaymentIndex].depositor.transfer(toSend);
            deposites[currentPaymentIndex].paimentTime = now;
            emit OnPaymentSent(deposites[currentPaymentIndex].depositor,toSend);
            
            //amountForDistribution = amountForDistribution.sub(toSend);
            currentPaymentIndex = currentPaymentIndex.add(1);
            i = i.add(1);
            toSend = deposites[currentPaymentIndex].amount.mul(percent).div(100);    // 120% of user deposite
        }
        
        amountForDistribution = 0;
    }
    
    // get all depositors count
    function getAllDepositorsCount() public view returns(uint) {
        return depositorsCount;
    }
    
    function getAllDepositesCount() public view returns (uint) {
        return deposites.length;
    }

    function getLastDepositId() public view returns (uint) {
        return deposites.length - 1;
    }

    function getDeposit(uint _id) public view returns (address, uint, uint, uint){
        return (deposites[_id].depositor, deposites[_id].amount, deposites[_id].depositeTime, deposites[_id].paimentTime);
    }

    // get count of deposites for 1 user
    function getDepositesCount(address depositor) public view returns (uint) {
        return depositors[depositor].length;
    }
    
    // how much raised
    function getAmountRaised() public view returns (uint) {
        return amountRaised;
    }
    
    // lastIndex from the end of payments lest (0 - last payment), returns: address of depositor, payment time, payment amount
    function getLastPayments(uint lastIndex) public view returns (address, uint, uint) {
        uint depositeIndex = currentPaymentIndex.sub(lastIndex).sub(1);
        require ( depositeIndex >= 0 );
        return ( deposites[depositeIndex].depositor , deposites[depositeIndex].paimentTime , deposites[depositeIndex].amount.mul(percent).div(100) );
    }

    function getUserDeposit(address depositor, uint depositeNumber) public view returns(uint, uint, uint) {
        return (deposites[depositors[depositor][depositeNumber]].amount,
                deposites[depositors[depositor][depositeNumber]].depositeTime,
                deposites[depositors[depositor][depositeNumber]].paimentTime);
    }


    function getDepositeTime(address depositor, uint depositeNumber) public view returns(uint) {
        return deposites[depositors[depositor][depositeNumber]].depositeTime;
    }
    
    function getPaimentTime(address depositor, uint depositeNumber) public view returns(uint) {
        return deposites[depositors[depositor][depositeNumber]].paimentTime;
    }
    
    function getPaimentStatus(address depositor, uint depositeNumber) public view returns(bool) {
        if ( deposites[depositors[depositor][depositeNumber]].paimentTime == 0 ) return false;
        else return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":false,"inputs":[{"name":"newWallet1","type":"address"},{"name":"newWallet2","type":"address"},{"name":"newWallet3","type":"address"}],"name":"setNewWallets","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"},{"name":"depositeNumber","type":"uint256"}],"name":"getPaimentStatus","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"depositorsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"deposites","outputs":[{"name":"depositor","type":"address"},{"name":"amount","type":"uint256"},{"name":"depositeTime","type":"uint256"},{"name":"paimentTime","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"},{"name":"","type":"uint256"}],"name":"depositors","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"},{"name":"depositeNumber","type":"uint256"}],"name":"getUserDeposit","outputs":[{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"},{"name":"depositeNumber","type":"uint256"}],"name":"getPaimentTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newPromoWallet","type":"address"}],"name":"setPromoWallet","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"currentPaymentIndex","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAmountRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"percent","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"renounceOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"amountRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"amountForDistribution","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newMaxDeposite","type":"uint256"}],"name":"setNewMaxDeposite","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"minDeposite","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newDistributorAddress","type":"address"}],"name":"setDistributorAddress","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":false,"inputs":[{"name":"numIterations","type":"uint256"}],"name":"distribute","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_id","type":"uint256"}],"name":"getDeposit","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAllDepositorsCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"},{"name":"depositeNumber","type":"uint256"}],"name":"getDepositeTime","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"depositor","type":"address"}],"name":"getDepositesCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"lastIndex","type":"uint256"}],"name":"getLastPayments","outputs":[{"name":"","type":"address"},{"name":"","type":"uint256"},{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxDeposite","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getLastDepositId","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"getAllDepositesCount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"newMinDeposite","type":"uint256"}],"name":"setNewMinDeposite","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investorAddress","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"OnDepositeReceived","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"investorAddress","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"OnPaymentSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

6080604052662386f26fc1000060015569021e19e0c9bab240000060025560006003556000600455607860075534801561003857600080fd5b5060008054600160a060020a0319163317808255604051600160a060020a039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360088054600160a060020a031990811673494a7a2d0599f2447487d7fa10baeafcb301c41b1790915560098054821673fd3093a4a3bd68b46db42b7e59e2d88c6d58a99e179055600a8054821673baa2cb97b6e28ef5c0a7b957398edf7ab5f01a1b179055600b8054821673fdd46866c279c90f463a08518e151bc78a1a5f38179055600c805490911673dfa5662b5495e34c2aa8f06feb358a6d90a6d62e17905561123f806101336000396000f30060806040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302682ab381146103585780632646b176146103875780633a561ae2146103bf5780633f66d160146103e6578063466c01b81461042e5780636071105814610452578063631b0520146104945780636659889d146104b85780636a22028b146104d95780636d1af018146104ee57806370ba111314610503578063715018a6146105185780637b3e5e7b1461052d5780637b9692b7146105425780638096bac61461055757806387171eb71461056f57806387950f49146105845780638da5cb5b146105a55780638f32d59b146105d657806391c05b0b146105eb5780639f9fb96814610603578063a05bba461461061b578063c6837a8714610630578063c7330bf614610654578063d74f8e9a14610675578063dd5b59a5146106b5578063dd9ea299146106ca578063ded9b075146106df578063f2fde38b146106f4578063ff60af8414610715575b6101876111e1565b600154341015801561019b57506002543411155b15156101a657600080fd5b50604080516080810182523380825234602080840191825242848601908152600060608601818152600d805460018101825590835287517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb56004909202918201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905594517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb686015591517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb785015590517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb890930192909255918152600e909152919091205415156102c3576006805460010190555b336000908152600e602090815260408220600d54815460018101835591845291909220600019909101910155600454610302903463ffffffff61072d16565b600455600554610318903463ffffffff61072d16565b6005556040805133815234602082015281517fddd641212f688ead4d8907fb880bcc644047abc3dff16d160a5257f03e7876dd929181900390910190a150005b34801561036457600080fd5b50610385600160a060020a036004358116906024358116906044351661074a565b005b34801561039357600080fd5b506103ab600160a060020a03600435166024356107a9565b604080519115158252519081900360200190f35b3480156103cb57600080fd5b506103d4610814565b60408051918252519081900360200190f35b3480156103f257600080fd5b506103fe60043561081a565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34801561043a57600080fd5b506103d4600160a060020a036004351660243561085c565b34801561045e57600080fd5b50610476600160a060020a036004351660243561088c565b60408051938452602084019290925282820152519081900360600190f35b3480156104a057600080fd5b506103d4600160a060020a03600435166024356109a8565b3480156104c457600080fd5b50610385600160a060020a0360043516610a01565b3480156104e557600080fd5b506103d4610a58565b3480156104fa57600080fd5b506103d4610a5e565b34801561050f57600080fd5b506103d4610a64565b34801561052457600080fd5b50610385610a6a565b34801561053957600080fd5b506103d4610ad4565b34801561054e57600080fd5b506103d4610ada565b34801561056357600080fd5b50610385600435610ae0565b34801561057b57600080fd5b506103d4610af8565b34801561059057600080fd5b50610385600160a060020a0360043516610afe565b3480156105b157600080fd5b506105ba610b55565b60408051600160a060020a039092168252519081900360200190f35b3480156105e257600080fd5b506103ab610b64565b3480156105f757600080fd5b50610385600435610b75565b34801561060f57600080fd5b506103fe600435610ee3565b34801561062757600080fd5b506103d4610f86565b34801561063c57600080fd5b506103d4600160a060020a0360043516602435610f8c565b34801561066057600080fd5b506103d4600160a060020a0360043516610fe5565b34801561068157600080fd5b5061068d600435611000565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b3480156106c157600080fd5b506103d46110af565b3480156106d657600080fd5b506103d46110b5565b3480156106eb57600080fd5b506103d46110bf565b34801561070057600080fd5b50610385600160a060020a03600435166110c5565b34801561072157600080fd5b506103856004356110e4565b60008282018381101561073f57600080fd5b8091505b5092915050565b610752610b64565b151561075d57600080fd5b600a8054600160a060020a0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600b805493851693821693909317909255600c8054919093169116179055565b600160a060020a0382166000908152600e602052604081208054600d9190849081106107d157fe5b90600052602060002001548154811015156107e857fe5b9060005260206000209060040201600301546000141561080a5750600061080e565b5060015b92915050565b60065481565b600d80548290811061082857fe5b60009182526020909120600490910201805460018201546002830154600390930154600160a060020a039092169350919084565b600e6020528160005260406000208181548110151561087757fe5b90600052602060002001600091509150505481565b600160a060020a0382166000908152600e60205260408120805482918291600d9190869081106108b857fe5b90600052602060002001548154811015156108cf57fe5b906000526020600020906004020160010154600d600e600088600160a060020a0316600160a060020a031681526020019081526020016000208681548110151561091557fe5b906000526020600020015481548110151561092c57fe5b906000526020600020906004020160020154600d600e600089600160a060020a0316600160a060020a031681526020019081526020016000208781548110151561097257fe5b906000526020600020015481548110151561098957fe5b9060005260206000209060040201600301549250925092509250925092565b600160a060020a0382166000908152600e602052604081208054600d9190849081106109d057fe5b90600052602060002001548154811015156109e757fe5b906000526020600020906004020160030154905092915050565b610a09610b64565b1515610a1457600080fd5b600160a060020a0381161515610a2957600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035481565b60055490565b60075481565b610a72610b64565b1515610a7d57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60055481565b60045481565b610ae8610b64565b1515610af357600080fd5b600255565b60015481565b610b06610b64565b1515610b1157600080fd5b600160a060020a0381161515610b2657600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031690565b600054600160a060020a0316331490565b6008546000908190600160a060020a03163314610b9157600080fd5b600954600454600160a060020a03909116906108fc90610bcb90606490610bbf90600663ffffffff6110fc16565b9063ffffffff61112a16565b6040518115909202916000818181858888f19350505050158015610bf3573d6000803e3d6000fd5b50600854600454600160a060020a03909116906108fc90610c2290606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610c4a573d6000803e3d6000fd5b50600a54600454600160a060020a03909116906108fc90610c7990606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610ca1573d6000803e3d6000fd5b50600b54600454600160a060020a03909116906108fc90610cd090606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610cf8573d6000803e3d6000fd5b50600c54600454600160a060020a03909116906108fc90610d2790606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610d4f573d6000803e3d6000fd5b5060009150610d906064610bbf600754600d600354815481101515610d7057fe5b9060005260206000209060040201600101546110fc90919063ffffffff16565b90505b828211158015610da35750303181105b15610ed957600d600354815481101515610db957fe5b60009182526020822060049091020154604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015610dfe573d6000803e3d6000fd5b5042600d600354815481101515610e1157fe5b9060005260206000209060040201600301819055507f7e85df118d8f91d5f8b2f66ea2a976319a26ece892a32f3a7895f6069298e7dd600d600354815481101515610e5857fe5b60009182526020918290206004909102015460408051600160a060020a03909216825291810184905281519081900390910190a1600354610ea090600163ffffffff61072d16565b600355610eb482600163ffffffff61072d16565b9150610ed26064610bbf600754600d600354815481101515610d7057fe5b9050610d93565b5050600060045550565b600080600080600d85815481101515610ef857fe5b6000918252602090912060049091020154600d8054600160a060020a039092169187908110610f2357fe5b906000526020600020906004020160010154600d87815481101515610f4457fe5b906000526020600020906004020160020154600d88815481101515610f6557fe5b90600052602060002090600402016003015493509350935093509193509193565b60065490565b600160a060020a0382166000908152600e602052604081208054600d919084908110610fb457fe5b9060005260206000200154815481101515610fcb57fe5b906000526020600020906004020160020154905092915050565b600160a060020a03166000908152600e602052604090205490565b60008060008061102c60016110208760035461114d90919063ffffffff16565b9063ffffffff61114d16565b9050600081101561103c57600080fd5b600d80548290811061104a57fe5b6000918252602090912060049091020154600d8054600160a060020a03909216918390811061107557fe5b9060005260206000209060040201600301546110a16064610bbf600754600d87815481101515610d7057fe5b935093509350509193909250565b60025481565b600d546000190190565b600d5490565b6110cd610b64565b15156110d857600080fd5b6110e181611164565b50565b6110ec610b64565b15156110f757600080fd5b600155565b60008083151561110f5760009150610743565b5082820282848281151561111f57fe5b041461073f57600080fd5b60008080831161113957600080fd5b828481151561114457fe5b04949350505050565b6000808383111561115d57600080fd5b5050900390565b600160a060020a038116151561117957600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6080604051908101604052806000600160a060020a0316815260200160008152602001600081526020016000815250905600a165627a7a7230582027fe9e990650797e6ccfe545728e1f8bc398a9fef45c4c25198ce0f50deeaae80029

Deployed Bytecode

0x60806040526004361061017f5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302682ab381146103585780632646b176146103875780633a561ae2146103bf5780633f66d160146103e6578063466c01b81461042e5780636071105814610452578063631b0520146104945780636659889d146104b85780636a22028b146104d95780636d1af018146104ee57806370ba111314610503578063715018a6146105185780637b3e5e7b1461052d5780637b9692b7146105425780638096bac61461055757806387171eb71461056f57806387950f49146105845780638da5cb5b146105a55780638f32d59b146105d657806391c05b0b146105eb5780639f9fb96814610603578063a05bba461461061b578063c6837a8714610630578063c7330bf614610654578063d74f8e9a14610675578063dd5b59a5146106b5578063dd9ea299146106ca578063ded9b075146106df578063f2fde38b146106f4578063ff60af8414610715575b6101876111e1565b600154341015801561019b57506002543411155b15156101a657600080fd5b50604080516080810182523380825234602080840191825242848601908152600060608601818152600d805460018101825590835287517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb56004909202918201805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0390921691909117905594517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb686015591517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb785015590517fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb890930192909255918152600e909152919091205415156102c3576006805460010190555b336000908152600e602090815260408220600d54815460018101835591845291909220600019909101910155600454610302903463ffffffff61072d16565b600455600554610318903463ffffffff61072d16565b6005556040805133815234602082015281517fddd641212f688ead4d8907fb880bcc644047abc3dff16d160a5257f03e7876dd929181900390910190a150005b34801561036457600080fd5b50610385600160a060020a036004358116906024358116906044351661074a565b005b34801561039357600080fd5b506103ab600160a060020a03600435166024356107a9565b604080519115158252519081900360200190f35b3480156103cb57600080fd5b506103d4610814565b60408051918252519081900360200190f35b3480156103f257600080fd5b506103fe60043561081a565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34801561043a57600080fd5b506103d4600160a060020a036004351660243561085c565b34801561045e57600080fd5b50610476600160a060020a036004351660243561088c565b60408051938452602084019290925282820152519081900360600190f35b3480156104a057600080fd5b506103d4600160a060020a03600435166024356109a8565b3480156104c457600080fd5b50610385600160a060020a0360043516610a01565b3480156104e557600080fd5b506103d4610a58565b3480156104fa57600080fd5b506103d4610a5e565b34801561050f57600080fd5b506103d4610a64565b34801561052457600080fd5b50610385610a6a565b34801561053957600080fd5b506103d4610ad4565b34801561054e57600080fd5b506103d4610ada565b34801561056357600080fd5b50610385600435610ae0565b34801561057b57600080fd5b506103d4610af8565b34801561059057600080fd5b50610385600160a060020a0360043516610afe565b3480156105b157600080fd5b506105ba610b55565b60408051600160a060020a039092168252519081900360200190f35b3480156105e257600080fd5b506103ab610b64565b3480156105f757600080fd5b50610385600435610b75565b34801561060f57600080fd5b506103fe600435610ee3565b34801561062757600080fd5b506103d4610f86565b34801561063c57600080fd5b506103d4600160a060020a0360043516602435610f8c565b34801561066057600080fd5b506103d4600160a060020a0360043516610fe5565b34801561068157600080fd5b5061068d600435611000565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b3480156106c157600080fd5b506103d46110af565b3480156106d657600080fd5b506103d46110b5565b3480156106eb57600080fd5b506103d46110bf565b34801561070057600080fd5b50610385600160a060020a03600435166110c5565b34801561072157600080fd5b506103856004356110e4565b60008282018381101561073f57600080fd5b8091505b5092915050565b610752610b64565b151561075d57600080fd5b600a8054600160a060020a0394851673ffffffffffffffffffffffffffffffffffffffff1991821617909155600b805493851693821693909317909255600c8054919093169116179055565b600160a060020a0382166000908152600e602052604081208054600d9190849081106107d157fe5b90600052602060002001548154811015156107e857fe5b9060005260206000209060040201600301546000141561080a5750600061080e565b5060015b92915050565b60065481565b600d80548290811061082857fe5b60009182526020909120600490910201805460018201546002830154600390930154600160a060020a039092169350919084565b600e6020528160005260406000208181548110151561087757fe5b90600052602060002001600091509150505481565b600160a060020a0382166000908152600e60205260408120805482918291600d9190869081106108b857fe5b90600052602060002001548154811015156108cf57fe5b906000526020600020906004020160010154600d600e600088600160a060020a0316600160a060020a031681526020019081526020016000208681548110151561091557fe5b906000526020600020015481548110151561092c57fe5b906000526020600020906004020160020154600d600e600089600160a060020a0316600160a060020a031681526020019081526020016000208781548110151561097257fe5b906000526020600020015481548110151561098957fe5b9060005260206000209060040201600301549250925092509250925092565b600160a060020a0382166000908152600e602052604081208054600d9190849081106109d057fe5b90600052602060002001548154811015156109e757fe5b906000526020600020906004020160030154905092915050565b610a09610b64565b1515610a1457600080fd5b600160a060020a0381161515610a2957600080fd5b6009805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60035481565b60055490565b60075481565b610a72610b64565b1515610a7d57600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a36000805473ffffffffffffffffffffffffffffffffffffffff19169055565b60055481565b60045481565b610ae8610b64565b1515610af357600080fd5b600255565b60015481565b610b06610b64565b1515610b1157600080fd5b600160a060020a0381161515610b2657600080fd5b6008805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a031690565b600054600160a060020a0316331490565b6008546000908190600160a060020a03163314610b9157600080fd5b600954600454600160a060020a03909116906108fc90610bcb90606490610bbf90600663ffffffff6110fc16565b9063ffffffff61112a16565b6040518115909202916000818181858888f19350505050158015610bf3573d6000803e3d6000fd5b50600854600454600160a060020a03909116906108fc90610c2290606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610c4a573d6000803e3d6000fd5b50600a54600454600160a060020a03909116906108fc90610c7990606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610ca1573d6000803e3d6000fd5b50600b54600454600160a060020a03909116906108fc90610cd090606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610cf8573d6000803e3d6000fd5b50600c54600454600160a060020a03909116906108fc90610d2790606490610bbf90600163ffffffff6110fc16565b6040518115909202916000818181858888f19350505050158015610d4f573d6000803e3d6000fd5b5060009150610d906064610bbf600754600d600354815481101515610d7057fe5b9060005260206000209060040201600101546110fc90919063ffffffff16565b90505b828211158015610da35750303181105b15610ed957600d600354815481101515610db957fe5b60009182526020822060049091020154604051600160a060020a039091169183156108fc02918491818181858888f19350505050158015610dfe573d6000803e3d6000fd5b5042600d600354815481101515610e1157fe5b9060005260206000209060040201600301819055507f7e85df118d8f91d5f8b2f66ea2a976319a26ece892a32f3a7895f6069298e7dd600d600354815481101515610e5857fe5b60009182526020918290206004909102015460408051600160a060020a03909216825291810184905281519081900390910190a1600354610ea090600163ffffffff61072d16565b600355610eb482600163ffffffff61072d16565b9150610ed26064610bbf600754600d600354815481101515610d7057fe5b9050610d93565b5050600060045550565b600080600080600d85815481101515610ef857fe5b6000918252602090912060049091020154600d8054600160a060020a039092169187908110610f2357fe5b906000526020600020906004020160010154600d87815481101515610f4457fe5b906000526020600020906004020160020154600d88815481101515610f6557fe5b90600052602060002090600402016003015493509350935093509193509193565b60065490565b600160a060020a0382166000908152600e602052604081208054600d919084908110610fb457fe5b9060005260206000200154815481101515610fcb57fe5b906000526020600020906004020160020154905092915050565b600160a060020a03166000908152600e602052604090205490565b60008060008061102c60016110208760035461114d90919063ffffffff16565b9063ffffffff61114d16565b9050600081101561103c57600080fd5b600d80548290811061104a57fe5b6000918252602090912060049091020154600d8054600160a060020a03909216918390811061107557fe5b9060005260206000209060040201600301546110a16064610bbf600754600d87815481101515610d7057fe5b935093509350509193909250565b60025481565b600d546000190190565b600d5490565b6110cd610b64565b15156110d857600080fd5b6110e181611164565b50565b6110ec610b64565b15156110f757600080fd5b600155565b60008083151561110f5760009150610743565b5082820282848281151561111f57fe5b041461073f57600080fd5b60008080831161113957600080fd5b828481151561114457fe5b04949350505050565b6000808383111561115d57600080fd5b5050900390565b600160a060020a038116151561117957600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6080604051908101604052806000600160a060020a0316815260200160008152602001600081526020016000815250905600a165627a7a7230582027fe9e990650797e6ccfe545728e1f8bc398a9fef45c4c25198ce0f50deeaae80029

Swarm Source

bzzr://27fe9e990650797e6ccfe545728e1f8bc398a9fef45c4c25198ce0f50deeaae8

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.