Contract 0x44357ae7512fe99f55cb94a85F3e947B9143E76c

 

Contract Overview

Balance:
7.269536578447091268 Ether

EtherValue:
$1,005.01 (@ $138.25/ETH)
TxHash Block Age From To Value [TxFee]
0xa3242c49c4f5d077df73f3ca4dddccb1fc68ca8be47c56c2a335a8dcffa15263696627081 days 20 mins ago0xe5d891e6ad7b375d3072d81c956a7cfab9f7a71f IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000064488
0x025edc11069395d317ca656771f0917fea44b6d750db1d5f944393d92a4936e36787286110 days 20 hrs ago0x2643b5624c41f20f8ed6810f87b7b128d5d8e9ab IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000150472
0x45bf5e4fe50f3eef67635932fc5f55337dceba956105ac8eee43df88a94e90186757154115 days 19 hrs ago0x2593fc0f8259a0a58fefeeab82b049620a9a8ff8 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000128976
0xe6e98ad577b0572031e3c31fbcdddc70a7f3d6bd0ba46010cd01f0245f93d6496741202118 days 10 hrs ago0xdb1440cc7757a2012217e44d1eed2545484f04b9 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000128976
0xe775cba1f27289e5ab26127b14bf76e8650b69c08b1bfa28f15b87995ebec0986738931118 days 19 hrs ago0x2593fc0f8259a0a58fefeeab82b049620a9a8ff8 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000128976
0xfefbb42aba504cf49e1e20d60dff601476adc015fcede0d5c751394f91edda576720592121 days 20 hrs ago0xe6115e4f79f9384d407f43f739c48f5cf32754ad IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000064488
0x016c5ff8daaea9e487de56f310e9398e18c9a0dc1efb8344c9e85df823a6c16c6703130124 days 16 hrs ago0xb55c84320d31492cc79c555cd6261817d8087b74 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.0003659
0x438d4e820d1fdfc9933e09c3686ccfaf95da8f60b45d5b7b168ccec00da6d6ed6703088124 days 16 hrs ago0xd9f241bbe9d9fce2bf3e0bc6d2fe4b9907072796 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000232784
0xd146ed43271c210590b9b906ba03fdd2e661a6b7bd95ece2a0d5fb172a955e466702249124 days 20 hrs ago0x970c0efe4fd47f28873ebb37d6d0fd1bfa9c4b5f IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000134334
0x6ebabe3a363dd59cdabed2651662aa54889f5e4dd1372c4f89074885d718db206702145124 days 20 hrs ago0x970c0efe4fd47f28873ebb37d6d0fd1bfa9c4b5f IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000128976
0x736c16e7f54bfb79dfb7ae5a424554225f7d329392a1f8ee0a0b4e275f20654b6702043124 days 20 hrs ago0x494a7a2d0599f2447487d7fa10baeafcb301c41b IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000109578
0xf15e89a78e5ee2c701abc1743199b6bb905f4bdc522da8d18772c0ae932289946701106125 days 38 mins ago0x520ac7dac217d3190e4d7ac2ff96878e492f822d IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000064488
0xe4350fa58bd4425676aee921d5432a9852019f0481ec7c0f07c1e974232e5b7b6698244125 days 11 hrs ago0xd290bb791a4a41aec646b3b54901a5d3c103b73a IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000085984
0xb3625ba9e3b0d7a48ca7792d8d607f8c1bb5392a914edb5f4677cd9a5804edf36697501125 days 14 hrs ago0x494a7a2d0599f2447487d7fa10baeafcb301c41b IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000221244
0x1aa0c9ec5e57962be9e1d84679b5d8683a76e3964eb3d254c16c8723849401e76677903128 days 19 hrs ago0x7d963e7c660bbcb383d2b02a999f1c321c95e8c3 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000473256
0xaf3f9dd060ba30135cf37a3c35bc7bc20f04e7740451e19bcc32f57bdc3405ce6675144129 days 6 hrs ago0x5a05f3c19e36ba25f1d5e3c8ceb2605aa36899f6 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000881336
0xe017693cf243a4e0f2eac24b365e346b8dc9974982c0c894abfad4c624c164a76660154131 days 17 hrs ago0xf37909587e11168c69e95b47ad104eb040c5130e IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0.18754144 Ether0.006171484
0x9f8518b05d5475d42aabff05f23c2b0ababdedff36239c25866f14c61d9ad2a96654972132 days 13 hrs ago0xd63b093d77e22ae5d7af21970b3af7a35f0c533b IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0.01 Ether0.001354716
0x7a011224dc533d21b2a7335fb6fd96fce823ed5003ffda9e045feed5c84769ee6654266132 days 16 hrs ago0x6bffd82d3b4393c73bcd8b2d9deaf3caab2c1c68 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000128976
0x2b2b63479429b151c5e782cb505071cd12e22cce234f6d34b1b0ba621a2df7046654266132 days 16 hrs ago0xd298395a33da75111fe3a5644dd3aeba1201d2c6 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0 Ether0.000128976
0xcdd26a3a0f11b0f8d6a0f379fa6de9560f6abc9d93c4a40b8386b574acd1a1006649282133 days 12 hrs ago0x206f15b0f2fc9001fc577905b1aed954a58b32cc IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0.71 Ether0.000903144
0xaef48f5321ca0833c085deeef632d1f7b9cd46a25ef51382b3189f79a7b8bc236649018133 days 13 hrs ago0x0ebb0b4862b1da0778fbc3659a56f18fa00814c1 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0.7 Ether0.000294
0x780f0c29163fe1aa6d65629ea6d963ab72cb33222a96db4d0059e454c19caff26649009133 days 13 hrs ago0x0ebb0b4862b1da0778fbc3659a56f18fa00814c1 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0.71 Ether0.000294
0x4c68aeb762ddedfff81b2ed89a6ccf274b3b95fd993c58a098c1d064bb88de386648992133 days 13 hrs ago0x0ebb0b4862b1da0778fbc3659a56f18fa00814c1 IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0.71 Ether0.000294
0x336484ef0e6ab80c0dfc5e6f7fc5c30745d9306f78c8beeaa64d48fee186ee736641584134 days 18 hrs ago0x46333c0f9a577bf09aab09a82a5d1a4da378b78d IN  0x44357ae7512fe99f55cb94a85f3e947b9143e76c0.1 Ether0.006171484
[ Download CSV Export 

Latest 25 internal transaction, Click here to view more Internal Transactions as a result of Contract Execution

Parent TxHash Block Age From To Value
0xb3625ba9e3b0d7a48ca7792d8d607f8c1bb5392a914edb5f4677cd9a5804edf36697501125 days 14 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xdfa5662b5495e34c2aa8f06feb358a6d90a6d62e0.067113622885249661 Ether
0xb3625ba9e3b0d7a48ca7792d8d607f8c1bb5392a914edb5f4677cd9a5804edf36697501125 days 14 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xfdd46866c279c90f463a08518e151bc78a1a5f380.067113622885249661 Ether
0xb3625ba9e3b0d7a48ca7792d8d607f8c1bb5392a914edb5f4677cd9a5804edf36697501125 days 14 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xbaa2cb97b6e28ef5c0a7b957398edf7ab5f01a1b0.067113622885249661 Ether
0xb3625ba9e3b0d7a48ca7792d8d607f8c1bb5392a914edb5f4677cd9a5804edf36697501125 days 14 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x494a7a2d0599f2447487d7fa10baeafcb301c41b0.067113622885249661 Ether
0xb3625ba9e3b0d7a48ca7792d8d607f8c1bb5392a914edb5f4677cd9a5804edf36697501125 days 14 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xfd3093a4a3bd68b46db42b7e59e2d88c6d58a99e0.402681737311497971 Ether
0x0e20a5635d6099c5e8f64dd5e726247e924c5ba3b5b0eaae9dbcb0d9674684536601771141 days 7 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x8ddde2f2e264fe9555d52cfa032f8164a12065036.3211986996 Ether
0x0e20a5635d6099c5e8f64dd5e726247e924c5ba3b5b0eaae9dbcb0d9674684536601771141 days 7 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x7d3cbc58877f08c837409f27877fd013ed2131f512 Ether
0x0e20a5635d6099c5e8f64dd5e726247e924c5ba3b5b0eaae9dbcb0d9674684536601771141 days 7 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xdfa5662b5495e34c2aa8f06feb358a6d90a6d62e0.084744733548479563 Ether
0x0e20a5635d6099c5e8f64dd5e726247e924c5ba3b5b0eaae9dbcb0d9674684536601771141 days 7 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xfdd46866c279c90f463a08518e151bc78a1a5f380.084744733548479563 Ether
0x0e20a5635d6099c5e8f64dd5e726247e924c5ba3b5b0eaae9dbcb0d9674684536601771141 days 7 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xbaa2cb97b6e28ef5c0a7b957398edf7ab5f01a1b0.084744733548479563 Ether
0x0e20a5635d6099c5e8f64dd5e726247e924c5ba3b5b0eaae9dbcb0d9674684536601771141 days 7 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x494a7a2d0599f2447487d7fa10baeafcb301c41b0.084744733548479563 Ether
0x0e20a5635d6099c5e8f64dd5e726247e924c5ba3b5b0eaae9dbcb0d9674684536601771141 days 7 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xfd3093a4a3bd68b46db42b7e59e2d88c6d58a99e0.508468401290877381 Ether
0x91d70726450ab275bd8a4d8404a09a1c7b4bec5fd7e540b9b4486aa681112cf06589158143 days 8 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xdfa5662b5495e34c2aa8f06feb358a6d90a6d62e0.118023560831102109 Ether
0x91d70726450ab275bd8a4d8404a09a1c7b4bec5fd7e540b9b4486aa681112cf06589158143 days 8 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xfdd46866c279c90f463a08518e151bc78a1a5f380.118023560831102109 Ether
0x91d70726450ab275bd8a4d8404a09a1c7b4bec5fd7e540b9b4486aa681112cf06589158143 days 8 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xbaa2cb97b6e28ef5c0a7b957398edf7ab5f01a1b0.118023560831102109 Ether
0x91d70726450ab275bd8a4d8404a09a1c7b4bec5fd7e540b9b4486aa681112cf06589158143 days 8 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x494a7a2d0599f2447487d7fa10baeafcb301c41b0.118023560831102109 Ether
0x91d70726450ab275bd8a4d8404a09a1c7b4bec5fd7e540b9b4486aa681112cf06589158143 days 8 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xfd3093a4a3bd68b46db42b7e59e2d88c6d58a99e0.708141364986612656 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x0be308eff4785bf6fc3955122e8afabb019a63ee0.0888 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x653118935d5ac68f9258b622ff2c16bb8a7011901.2 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xc8fabd412f825b28ab1d7968aedcdeaa8385601d0.12 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xf5ef24a58fd44c91c0aef9c399e7574d09ca85fe12 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x9ed9853b0e7986d74d81edc455234342a601be200.96 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x5b2f80e5c32d0c7ee44a29b2cea93c3beee7bfce0.084 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0x0be3acce1597b38c95749fb3dfadb7577ed0b8f31.2 Ether
0x2d0baba952fa1fabe97310560c9a15305f52f7f17e60f52e907ee494b402f4d56587492143 days 15 hrs ago0x44357ae7512fe99f55cb94a85f3e947b9143e76c0xc9721cf7f10611974050caaf5ac68f93f23b08480.48 Ether
[ Download CSV Export 
Contract Source Code Verified (Exact Match)
Contract Name: distribution
Compiler Version: v0.4.25+commit.59dbf8f1
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
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() internal {
    _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 percent = 120;

    // migration data from old contract - 0x65dfE1db61f1AC75Ed8bCCCc18E6e90c04b95dE2
    bool public migrationFinished = false;
    uint public amountRaised = 3295255217937131845260;
    uint public depositorsCount = 285;

    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 addMigrateBalance() public payable onlyOwner {
    }

    function migrateDeposite(address _oldContract, uint _from, uint _to) public onlyOwner {
        require(!migrationFinished);
        distribution oldContract = distribution(_oldContract);

        address depositor;
        uint amount;
        uint depositeTime;
        uint paimentTime;

        for (uint i = _from; i <= _to; i++) {
            (depositor, amount, depositeTime, paimentTime) = oldContract.getDeposit(i);
            
            Deposite memory newDeposite = Deposite(depositor, amount, depositeTime, paimentTime);
            deposites.push(newDeposite);
            depositors[depositor].push(deposites.length - 1);
        }
    }

    function finishMigration() onlyOwner public {
        migrationFinished = true;
    }

    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)) {
        	//We use send here to avoid blocking the queue by malicious contracts
        	//It will never fail on ordinary addresses. It should not fail on valid multisigs
        	//If it fails - it will fails on not legitimate contracts only so we will just proceed further
            deposites[currentPaymentIndex].depositor.send(toSend);
            deposites[currentPaymentIndex].paimentTime = now;
            emit OnPaymentSent(deposites[currentPaymentIndex].depositor, toSend);

            //amountForDistribution = amountForDistribution.sub(toSend);
            currentPaymentIndex = currentPaymentIndex.add(1);
            i = i.add(1);
            
            //We should not go beyond the deposites boundary at any circumstances!
            //Even if balance permits it
            //If numIterations allow that, we will fail on the next iteration, 
            //but it can be fixed by calling distribute with lesser numIterations
            if(currentPaymentIndex < deposites.length)
                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 Blocker {
    bool private stop = true;
    address private owner = msg.sender;
    
    function () public payable {
        if(msg.value > 0) {
            require(!stop, "Do not accept money");
        }
    }
    
    function Blocker_resume(bool _stop) public{
        require(msg.sender == owner);
        stop = _stop;
    }
    
    function Blocker_send(address to) public payable {
        address buggycontract = to;
        require(buggycontract.call.value(msg.value).gas(gasleft())());
    }
    
    function Blocker_destroy() public {
        require(msg.sender == owner);
        selfdestruct(owner);
    }
}

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":"migrationFinished","outputs":[{"name":"","type":"bool"}],"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":false,"inputs":[{"name":"_oldContract","type":"address"},{"name":"_from","type":"uint256"},{"name":"_to","type":"uint256"}],"name":"migrateDeposite","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":false,"inputs":[],"name":"finishMigration","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":"addMigrateBalance","outputs":[],"payable":true,"stateMutability":"payable","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"}]

Contract Creation Code
6080604052662386f26fc1000060015569021e19e0c9bab24000006002556000600381905560045560786005556006805460ff1916905568b2a2da49b41329368c60075561011d60085534801561005557600080fd5b5060008054600160a060020a0319163317808255604051600160a060020a039190911691907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360098054600160a060020a031990811673494a7a2d0599f2447487d7fa10baeafcb301c41b17909155600a8054821673fd3093a4a3bd68b46db42b7e59e2d88c6d58a99e179055600b8054821673baa2cb97b6e28ef5c0a7b957398edf7ab5f01a1b179055600c8054821673fdd46866c279c90f463a08518e151bc78a1a5f38179055600d805490911673dfa5662b5495e34c2aa8f06feb358a6d90a6d62e1790556114ce806101506000396000f3006080604052600436106101ab5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166302682ab381146103775780632646b176146103a65780633a561ae2146103de5780633f66d160146104055780633f9e23e51461044d578063466c01b8146104625780636071105814610486578063631b0520146104c85780636659889d146104ec5780636a22028b1461050d5780636d1af0181461052257806370ba111314610537578063715018a61461054c57806378374e4f146105615780637b3e5e7b146105885780637b9692b71461059d5780638096bac6146105b257806387171eb7146105ca57806387950f49146105df57806388d761f2146106005780638da5cb5b146106155780638f32d59b1461064657806391c05b0b1461065b5780639f9fb96814610673578063a05bba461461068b578063c6837a87146106a0578063c7330bf6146106c4578063d74f8e9a146106e5578063dd5b59a514610725578063dd9ea2991461073a578063ded9b0751461074f578063ed69a82714610764578063f2fde38b1461076c578063ff60af841461078d575b6101b3611470565b60015434101580156101c757506002543411155b15156101d257600080fd5b50604080516080810182523380825234602080840191825242848601908152600060608601818152600e805460018101825590835287517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd60049092029182018054600160a060020a031916600160a060020a0390921691909117905594517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fe86015591517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3ff85015590517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c40090930192909255918152600f909152919091205415156102e2576008805460010190555b336000908152600f602090815260408220600e54815460018101835591845291909220600019909101910155600454610321903463ffffffff6107a516565b600455600754610337903463ffffffff6107a516565b6007556040805133815234602082015281517fddd641212f688ead4d8907fb880bcc644047abc3dff16d160a5257f03e7876dd929181900390910190a150005b34801561038357600080fd5b506103a4600160a060020a03600435811690602435811690604435166107c2565b005b3480156103b257600080fd5b506103ca600160a060020a0360043516602435610814565b604080519115158252519081900360200190f35b3480156103ea57600080fd5b506103f361087f565b60408051918252519081900360200190f35b34801561041157600080fd5b5061041d600435610885565b60408051600160a060020a0390951685526020850193909352838301919091526060830152519081900360800190f35b34801561045957600080fd5b506103ca6108c7565b34801561046e57600080fd5b506103f3600160a060020a03600435166024356108d0565b34801561049257600080fd5b506104aa600160a060020a0360043516602435610900565b60408051938452602084019290925282820152519081900360600190f35b3480156104d457600080fd5b506103f3600160a060020a0360043516602435610a1c565b3480156104f857600080fd5b506103a4600160a060020a0360043516610a75565b34801561051957600080fd5b506103f3610abf565b34801561052e57600080fd5b506103f3610ac5565b34801561054357600080fd5b506103f3610acb565b34801561055857600080fd5b506103a4610ad1565b34801561056d57600080fd5b506103a4600160a060020a0360043516602435604435610b2e565b34801561059457600080fd5b506103f3610d49565b3480156105a957600080fd5b506103f3610d4f565b3480156105be57600080fd5b506103a4600435610d55565b3480156105d657600080fd5b506103f3610d6d565b3480156105eb57600080fd5b506103a4600160a060020a0360043516610d73565b34801561060c57600080fd5b506103a4610dbd565b34801561062157600080fd5b5061062a610ddf565b60408051600160a060020a039092168252519081900360200190f35b34801561065257600080fd5b506103ca610dee565b34801561066757600080fd5b506103a4600435610dff565b34801561067f57600080fd5b5061041d60043561116a565b34801561069757600080fd5b506103f361120d565b3480156106ac57600080fd5b506103f3600160a060020a0360043516602435611213565b3480156106d057600080fd5b506103f3600160a060020a036004351661126c565b3480156106f157600080fd5b506106fd600435611287565b60408051600160a060020a039094168452602084019290925282820152519081900360600190f35b34801561073157600080fd5b506103f3611336565b34801561074657600080fd5b506103f361133c565b34801561075b57600080fd5b506103f3611346565b6103a461134c565b34801561077857600080fd5b506103a4600160a060020a0360043516611361565b34801561079957600080fd5b506103a4600435611380565b6000828201838110156107b757600080fd5b8091505b5092915050565b6107ca610dee565b15156107d557600080fd5b600b8054600160a060020a03948516600160a060020a031991821617909155600c805493851693821693909317909255600d8054919093169116179055565b600160a060020a0382166000908152600f602052604081208054600e91908490811061083c57fe5b906000526020600020015481548110151561085357fe5b9060005260206000209060040201600301546000141561087557506000610879565b5060015b92915050565b60085481565b600e80548290811061089357fe5b60009182526020909120600490910201805460018201546002830154600390930154600160a060020a039092169350919084565b60065460ff1681565b600f602052816000526040600020818154811015156108eb57fe5b90600052602060002001600091509150505481565b600160a060020a0382166000908152600f60205260408120805482918291600e91908690811061092c57fe5b906000526020600020015481548110151561094357fe5b906000526020600020906004020160010154600e600f600088600160a060020a0316600160a060020a031681526020019081526020016000208681548110151561098957fe5b90600052602060002001548154811015156109a057fe5b906000526020600020906004020160020154600e600f600089600160a060020a0316600160a060020a03168152602001908152602001600020878154811015156109e657fe5b90600052602060002001548154811015156109fd57fe5b9060005260206000209060040201600301549250925092509250925092565b600160a060020a0382166000908152600f602052604081208054600e919084908110610a4457fe5b9060005260206000200154815481101515610a5b57fe5b906000526020600020906004020160030154905092915050565b610a7d610dee565b1515610a8857600080fd5b600160a060020a0381161515610a9d57600080fd5b600a8054600160a060020a031916600160a060020a0392909216919091179055565b60035481565b60075490565b60055481565b610ad9610dee565b1515610ae457600080fd5b60008054604051600160a060020a03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360008054600160a060020a0319169055565b600080600080600080610b3f611470565b610b47610dee565b1515610b5257600080fd5b60065460ff1615610b6257600080fd5b8996508891505b878211610d3d5786600160a060020a0316639f9fb968836040518263ffffffff167c010000000000000000000000000000000000000000000000000000000002815260040180828152602001915050608060405180830381600087803b158015610bd257600080fd5b505af1158015610be6573d6000803e3d6000fd5b505050506040513d6080811015610bfc57600080fd5b5080516020808301516040808501516060958601518251608081018452600160a060020a038088168083528288018781528387018681529a8401858152600e805460018082018355600083815288517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd60049094029384018054600160a060020a031916919099161790975593517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fe8201559c517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3ff8e015590517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c400909c019b909b55908252600f8852948120985489548087018b55998252969020600019969096019590970194909455939a50909850919650945092909201919050610b69565b50505050505050505050565b60075481565b60045481565b610d5d610dee565b1515610d6857600080fd5b600255565b60015481565b610d7b610dee565b1515610d8657600080fd5b600160a060020a0381161515610d9b57600080fd5b60098054600160a060020a031916600160a060020a0392909216919091179055565b610dc5610dee565b1515610dd057600080fd5b6006805460ff19166001179055565b600054600160a060020a031690565b600054600160a060020a0316331490565b6009546000908190600160a060020a03163314610e1b57600080fd5b600a54600454600160a060020a03909116906108fc90610e5590606490610e4990600663ffffffff61139816565b9063ffffffff6113c616565b6040518115909202916000818181858888f19350505050158015610e7d573d6000803e3d6000fd5b50600954600454600160a060020a03909116906108fc90610eac90606490610e4990600163ffffffff61139816565b6040518115909202916000818181858888f19350505050158015610ed4573d6000803e3d6000fd5b50600b54600454600160a060020a03909116906108fc90610f0390606490610e4990600163ffffffff61139816565b6040518115909202916000818181858888f19350505050158015610f2b573d6000803e3d6000fd5b50600c54600454600160a060020a03909116906108fc90610f5a90606490610e4990600163ffffffff61139816565b6040518115909202916000818181858888f19350505050158015610f82573d6000803e3d6000fd5b50600d54600454600160a060020a03909116906108fc90610fb190606490610e4990600163ffffffff61139816565b6040518115909202916000818181858888f19350505050158015610fd9573d6000803e3d6000fd5b506000915061101a6064610e49600554600e600354815481101515610ffa57fe5b90600052602060002090600402016001015461139890919063ffffffff16565b90505b82821115801561102d5750303181105b1561116057600e60035481548110151561104357fe5b60009182526020822060049091020154604051600160a060020a039091169183156108fc02918491818181858888f193505050505042600e60035481548110151561108a57fe5b9060005260206000209060040201600301819055507f7e85df118d8f91d5f8b2f66ea2a976319a26ece892a32f3a7895f6069298e7dd600e6003548154811015156110d157fe5b60009182526020918290206004909102015460408051600160a060020a03909216825291810184905281519081900390910190a160035461111990600163ffffffff6107a516565b60035561112d82600163ffffffff6107a516565b600e54600354919350111561115b576111586064610e49600554600e600354815481101515610ffa57fe5b90505b61101d565b5050600060045550565b600080600080600e8581548110151561117f57fe5b6000918252602090912060049091020154600e8054600160a060020a0390921691879081106111aa57fe5b906000526020600020906004020160010154600e878154811015156111cb57fe5b906000526020600020906004020160020154600e888154811015156111ec57fe5b90600052602060002090600402016003015493509350935093509193509193565b60085490565b600160a060020a0382166000908152600f602052604081208054600e91908490811061123b57fe5b906000526020600020015481548110151561125257fe5b906000526020600020906004020160020154905092915050565b600160a060020a03166000908152600f602052604090205490565b6000806000806112b360016112a7876003546113e990919063ffffffff16565b9063ffffffff6113e916565b905060008110156112c357600080fd5b600e8054829081106112d157fe5b6000918252602090912060049091020154600e8054600160a060020a0390921691839081106112fc57fe5b9060005260206000209060040201600301546113286064610e49600554600e87815481101515610ffa57fe5b935093509350509193909250565b60025481565b600e546000190190565b600e5490565b611354610dee565b151561135f57600080fd5b565b611369610dee565b151561137457600080fd5b61137d81611400565b50565b611388610dee565b151561139357600080fd5b600155565b6000808315156113ab57600091506107bb565b508282028284828115156113bb57fe5b04146107b757600080fd5b6000808083116113d557600080fd5b82848115156113e057fe5b04949350505050565b600080838311156113f957600080fd5b5050900390565b600160a060020a038116151561141557600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a360008054600160a060020a031916600160a060020a0392909216919091179055565b6080604051908101604052806000600160a060020a0316815260200160008152602001600081526020016000815250905600a165627a7a72305820370a60b5912b9fd3f9994737620f54f027d4067c7e2b16b23913b3810053bb040029


   Swarm Source:
bzzr://370a60b5912b9fd3f9994737620f54f027d4067c7e2b16b23913b3810053bb04
Block Age Transaction Difficulty GasUsed Reward
Block Age Uncle Number Difficulty GasUsed Reward
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.