Contract 0xbc425c4209bd4c3f1fc9686371513f13f72cc70a

 

Contract Overview

Balance:
0.009492035224797081 Ether

EtherValue:
$1.32 (@ $138.85/ETH)
TxHash Block Age From To Value [TxFee]
0x746b1d311004344bae0a0b6ea7fe9bcc8a99a4542bbd0c5e429e85ac1119a43d72065056 days 16 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000133083
0xdf5447b813a114d18ac2eda360658c3fb4c933ca0ca392c445e9e3eecf3a456b718981510 days 6 hrs ago0x8e192b8e5f5d878596e7f1c16828741d85f0214e  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000052362
0xa7ec6aaf749c5634520609b20adc8bbfb92d1898e7fbc7b3711cf377f35a68e8718601611 days 1 hr ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000198772
0x76b443cfd108104d3ec4f3f827cd7d63da7092d843ee3a66160e4f513e54afa2717916612 days 11 hrs ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000149079
0xc697b746453a65379e11ec960d2f3da186db052775499cc05ee5545d8aee2878717275113 days 18 hrs ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000099386
0xdbbe0f07ed7094f8bb82d7c9e13b3e57c5d2d2877dc7818a163fad32d08974d7716686114 days 23 hrs ago0x8e192b8e5f5d878596e7f1c16828741d85f0214e  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.001242325
0x73e519cd1ec52a71cdacb9873d28cd79b8cd6c116a55ffa81b956008c136ef0f716635315 days 1 hr ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000198772
0xb201bef995f2f257d779c2c95ab429b17e4e495458775600ec3e30a9df17ce61716010516 days 8 hrs ago0x8e192b8e5f5d878596e7f1c16828741d85f0214e  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000099386
0x159d8d387924714c4ccd8babf3a4cb2f5e4feeefa704c894d9a4af21d54f7fe5715854316 days 16 hrs ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000298158
0x3dd8ae57106f9eb4976005b4ccd939a182dc9aff5439cfcfd0b88b46a2801fcb715841116 days 16 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000198772
0x9d3ec09ffe471047ab8ee16b67d133e59de9cbb479459fffcb2d40824885e317715185718 days 43 mins ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000149079
0x7cf51bb78f850758828af4fbfa2d1b4e8ce0a58f99e21852f8f5e9a940cf8d6e715076618 days 6 hrs ago0x8e192b8e5f5d878596e7f1c16828741d85f0214e  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000099386
0x5b23eda09aa520a031d78a7144d74f45ed3266188f1a5530b16bc08894f2869e714931418 days 12 hrs ago0xf23170869c409bc435416e59179192070174b37b  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.01 Ether0.0001461915
0x3953dfed9e4e411f3ee16b8fd7a5b874a986ce3da6053a583a3e06911cb60f23714757418 days 21 hrs ago0xf23170869c409bc435416e59179192070174b37b  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000073698
0x700ece6c4be6452fceb4c0693ea6a843b9675e151743e54e2d391b96bf5f7392714402119 days 14 hrs ago0x8e192b8e5f5d878596e7f1c16828741d85f0214e  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000196528
0xf3ed9b3f3be09dc5fc67306c608c7f2bc12e66e234e400fa053d27ae18915093714395919 days 15 hrs ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000294792
0xa237e89cfc065d4e8308c599b48a432703d8dc887ff49a8a66112edea53c83dd714364919 days 16 hrs ago0x9eb854fe7b6e793d46e95ba9642409f1870e76b1  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000079728
0x81f7cbcc476e1a767d181b27b23fc15e35f925034def1647b3b0e11cd293b02b714364919 days 16 hrs ago0x4a0110447cff7c059a741b754edd3f79f7819466  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000079728
0xb9924fb04b46d35f86789bb1eb3a943ddfbb66f7f709fc15f2404c2f885745c0714364919 days 16 hrs ago0x6d0677ee3e87997f1c196a6ac852612911a2a7ed  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000091239
0xb1b80dd5a93586fa100d181268940ff85c4af5200253707f5e58738eb413c2c9714364419 days 16 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000099386
0x9d7f516188772bc15f8b61a7c7aafa6ae69ad43704de09c18b0979e2a5f9f5b8714362019 days 16 hrs ago0x9eb854fe7b6e793d46e95ba9642409f1870e76b1  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000181215
0xd03282ea50958ba14c6b5dd99e50c902e9c0ef4aeb6b8ffe5104677636e1036b714362019 days 16 hrs ago0x4a0110447cff7c059a741b754edd3f79f7819466  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000181215
0xa045bb697e31c0e46f97050ee56bb255ed342318dcae8f543df9c773c28711e4714362019 days 16 hrs ago0x6d0677ee3e87997f1c196a6ac852612911a2a7ed  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000181215
0x401133b3d2bd5977b0491fb011afdfd51b9e1a34a6c5b7fdcf32d1fc97ab02f7714362019 days 16 hrs ago0x9dfc0afce827dbd09933c33a37e13864fc53cda1  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000091215
0x6e83d7534270af0856db5a2d1607013a62e0e5d928c47c9368039a1b650106a0714362019 days 16 hrs ago0xd3bd020e79c3544577cbb31e30ee6defbe31b77e  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000091215
[ 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
0x746b1d311004344bae0a0b6ea7fe9bcc8a99a4542bbd0c5e429e85ac1119a43d72065056 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x78255958256603855ce5e7f224caa588fa0301450.000007964775110503 Ether
0x5b23eda09aa520a031d78a7144d74f45ed3266188f1a5530b16bc08894f2869e714931418 days 12 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xf23170869c409bc435416e59179192070174b37b0.000000000000092416 Ether
0x5b23eda09aa520a031d78a7144d74f45ed3266188f1a5530b16bc08894f2869e714931418 days 12 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.0005 Ether
0xb9924fb04b46d35f86789bb1eb3a943ddfbb66f7f709fc15f2404c2f885745c0714364919 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x6d0677ee3e87997f1c196a6ac852612911a2a7ed1.642395620881422431 Ether
0x9d7f516188772bc15f8b61a7c7aafa6ae69ad43704de09c18b0979e2a5f9f5b8714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x9eb854fe7b6e793d46e95ba9642409f1870e76b11.642395620881422431 Ether
0xd03282ea50958ba14c6b5dd99e50c902e9c0ef4aeb6b8ffe5104677636e1036b714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4a0110447cff7c059a741b754edd3f79f78194661.642395620881422431 Ether
0xa045bb697e31c0e46f97050ee56bb255ed342318dcae8f543df9c773c28711e4714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x6d0677ee3e87997f1c196a6ac852612911a2a7ed1.642395620881422431 Ether
0x401133b3d2bd5977b0491fb011afdfd51b9e1a34a6c5b7fdcf32d1fc97ab02f7714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x9dfc0afce827dbd09933c33a37e13864fc53cda14.601856514214907917 Ether
0x6e83d7534270af0856db5a2d1607013a62e0e5d928c47c9368039a1b650106a0714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xd3bd020e79c3544577cbb31e30ee6defbe31b77e3.184072069171262967 Ether
0x02dd3c39d605651d5b7b98b227b375ae61cd6f2234323aa9d553da8944330c76714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xa6422231b66f29fe11c84c559e388880cb1616ad24.766563515076986999 Ether
0x14ab0e572fed7be9ca9c379d3e149a2eed34384e0a0da5aa1dbf6f4f2a8c43c0714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x8f6bc291c18be7063b4538022a8c08cfa813ea961.68887471001285079 Ether
0xa1973b92399d653fc11e82dd9321cb1556b4f5ac9db1d6b4b56a2a305fcf5c41714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xbc0da1b7bdbb1bc122cbb61b9c8c9309191851676.706242310285649491 Ether
0x638f7793809f48b75f10d9816d4229a4092f8734d288ee00eb8112af568e5bac714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4fffcb1f2f3cf41ed2b59c4300648e1dbdf85de45.839345192955719413 Ether
0xd53693c4239b273068ba7a66870974d48f49b5cfebbb0dbe3a9584e5ea234e4f714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x7f70ed00b078b2b82d9e8108c85dd51ce516046d3.317246787571827617 Ether
0xb3f70eae2b4875608a3cd72e348cbe7a769cb7c3c746413aba5fcb7ba1d74e3a714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x893d9be5cf2e28fe31be858ba5efb485bd5d70442.78827806030120921 Ether
0x8d5d79d40712ef82ae96e6ebae4565345bb2d3dc3552ec1b264637a1e7b01a0d714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x89ed9e49aaecebe76ba9f2a24cdfa92390ebad423.151976532576294979 Ether
0xcd047bca7e07a4cc040578620a67e03488e338b273c2fb5fa9c998a25c7beb50714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xb092e0647652bf49751c3f671549c5bb849394f96.366492518644183063 Ether
0x82d939d5a4530acc130be31dddcee589d1fb12e44f3079abaf8e67781b1db6ff714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xd562dc43a80a283b7cf904975ead1cbe77e0b5006.543601503733078699 Ether
0x4b2da7a67d51058e111f453e8202763ae14e1e023c8be75a407fb15e913a34e8714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x494170291db4a8098eb0472e4879feb16b817c3c7.25930737469003791 Ether
0x8f94f72117172ef05d2f483cd88d2adc8820aa9c777743ce09bf222c5c15996c714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xea549e9224102d8b1eeef7a4232f2a70de97762e3.205854381671453044 Ether
0xf431c7fe86afd60145c3e94f1bce48987a12731ee8290e84856343503d1949bf714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x3c95385df53322772649a213f15ab230ab33cff93.455093177689676965 Ether
0xec7f866df19c77c7ce16b13bb101eb92b0dd5d82effb57177f9ab55fe8a4bd6c714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xbe73feca494c12ff5dec6bf58b03151af8a328eb3.51723517633579157 Ether
0x7a10c33a49b4d6e506b6e66bdc0ba0d6b013087d84dc15b74098c89b6c68bc5f714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xbd1b603d8d331eb88781a6248e3e71a67db6d4642.268466966332920787 Ether
0x058244c13bab8e8c59dd0ec641a6d3fe34815731dba04f9bc9c2a3d22dc2d0a3714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xdef455d862a3befdc31730b03ddf1d006c9f81ea3.598868794967632489 Ether
0x52166b038dad8c9d74adc65a132cca822873632a4291e66805d9b9573950d5f6714362019 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xa4c2368128fceb857556c52eaa93ab597202f0282.364867579328287143 Ether
[ Download CSV Export 
Contract Source Code Verified (Exact Match)
Contract Name: URA
Compiler Version: v0.5.2+commit.1df8f40c
Optimization Enabled: Yes
Runs (Optimizer):  200


Contract Source Code
pragma solidity ^0.5.2;


/**
 *  URA Mraket contract
 *  web site: ura.market
 *
 *  URA.market  is a decentralized trade and investment platform, created by Ethereum net.
 *
 *  URA.market is controlled without human participation,
 *  and by automated smart contracts with refusal from ownership activated function.
 *
 * Gas limit: 150 000 (only the first time, average ~ 50 000)
 * Gas price: https://ethgasstation.info/
 *
 * github: https://github.com/bigdaddy777/URA-MARKET-COIN
 */


library ToAddress {
    function toAddr(uint _source) internal pure returns(address payable) {
        return address(_source);
    }

    function toAddr(bytes memory _source) internal pure returns(address payable addr) {
        // solium-disable security/no-inline-assembly
        assembly { addr := mload(add(_source,0x14)) }
        return addr;
    }

    function isNotContract(address addr) internal view returns(bool) {
        // solium-disable security/no-inline-assembly
        uint256 length;
        assembly { length := extcodesize(addr) }
        return length == 0;
    }
}


/**
 * @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;
    }
}


// ----------------------------------------------------------------------------
// ERC Token Standard #20 Interface
// @wiki: https://theethereum.wiki/w/index.php/ERC20_Token_Standard
// ----------------------------------------------------------------------------
contract ERC20Interface {
    function tokensOwner() public view returns (uint256);
    function contracBalance() public view returns (uint256);
    function balanceOf(address _tokenOwner) public view returns (uint256 balanceOwner);

    event Transfer(address indexed from, address indexed to, uint256 tokens);
    event EtherTransfer(address indexed from, address indexed to, uint256 etherAmount);
}


// ----------------------------------------------------------------------------
// ERC20 Token, with the addition of symbol.
// ----------------------------------------------------------------------------
contract ERC20 is ERC20Interface {
    using SafeMath for uint;
    using ToAddress for *;

    string constant public symbol = "URA";
    string constant public  name = "URA market coin";
    uint8 constant internal decimals = 18;
    uint256 public totalSupply;

    mapping(address => uint256) balances;


    // ------------------------------------------------------------------------
    // Get balance on contract
    // ------------------------------------------------------------------------
    function contracBalance() public view returns (uint256 contractBalance) {
        contractBalance = address(this).balance;
    }


    // ------------------------------------------------------------------------
    // Get the token balance for account `tokenOwner`
    // ------------------------------------------------------------------------
    function balanceOf(address _tokenOwner) public view returns (uint256 balanceOwner) {
        return balances[_tokenOwner];
    }


    // ------------------------------------------------------------------------
    // Addon shows caller tokens.
    // ------------------------------------------------------------------------
    function tokensOwner() public view returns (uint256 tokens) {
        tokens = balances[msg.sender];
    }

}


// ----------------------------------------------------------------------------
// Bookeeper contract that holds the amount of dividents in Ether.
// ----------------------------------------------------------------------------
contract Dividend is ERC20 {

    uint8 public constant dividendsCosts = 10; // Dividends 10%.
    uint16 public constant day = 6000;
    uint256 public dividendes; // storage for Dividends.

    mapping(address => uint256) bookKeeper;


    event SendOnDividend(address indexed customerAddress, uint256 dividendesAmount);
    event WithdrawDividendes(address indexed customerAddress, uint256 dividendesAmount);

    constructor() public {}


    // ------------------------------------------------------------------------
    // Withdraw dividendes.
    // ------------------------------------------------------------------------
    function withdrawDividendes() external payable returns(bool success) {
        require(msg.sender.isNotContract(),
                "the contract can not hold tokens");

        uint256 _tokensOwner = balanceOf(msg.sender);

        require(_tokensOwner > 0, "cannot pass 0 value");
        require(bookKeeper[msg.sender] > 0,
                "to withdraw dividends, please wait");

        uint256 _dividendesAmount = dividendesCalc(_tokensOwner);

        require(_dividendesAmount > 0, "dividendes amount > 0");

        bookKeeper[msg.sender] = block.number;
        dividendes = dividendes.sub(_dividendesAmount);

        msg.sender.transfer(_dividendesAmount);

        emit WithdrawDividendes(msg.sender, _dividendesAmount);

        return true;
    }


    // ------------------------------------------------------------------------
    // Get value of dividendes.
    // ------------------------------------------------------------------------
    function dividendesOf(address _owner)
        public
        view
        returns(uint256 dividendesAmount) {
        uint256 _tokens = balanceOf(_owner);

        dividendesAmount = dividendesCalc(_tokens);
    }


    // ------------------------------------------------------------------------
    // Count percent of dividendes from ether.
    // ------------------------------------------------------------------------
    function onDividendes(uint256 _value, uint8 _dividendsCosts)
        internal
        pure
        returns(uint256 forDividendes) {
        return _value.mul(_dividendsCosts).div(100);
    }


    // ------------------------------------------------------------------------
    // Get number of dividendes in ether
    // * @param _tokens: Amount customer tokens.
    // * @param _dividendesPercent: Customer tokens percent in 10e18.
    // *
    // * @retunrs dividendesReceived: amount of dividendes in ether.
    // ------------------------------------------------------------------------
    function dividendesCalc(uint256 _tokensAmount)
        internal
        view
        returns(uint256 dividendesReceived) {
        if (_tokensAmount == 0) {
            return 0;
        }

        uint256 _tokens = _tokensAmount.mul(10e18);
        uint256 _dividendesPercent = dividendesPercent(_tokens); // Get % from tokensOwner.

        dividendesReceived = dividendes.mul(_dividendesPercent).div(100);
        dividendesReceived = dividendesReceived.div(10e18);
    }


    // ------------------------------------------------------------------------
    // Get number of dividendes in percent
    // * @param _tokens: Amount of (tokens * 10e18).
    // * returns: tokens % in 10e18.
    // ------------------------------------------------------------------------
    function dividendesPercent(uint256 _tokens)
        internal
        view
        returns(uint256 percent) {
        if (_tokens == 0) {
            return 0;
        }

        uint256 _interest = accumulatedInterest();

        if (_interest > 100) {
            _interest = 100;
        }

        percent = _tokens.mul(_interest).div(totalSupply);
    }


    // ------------------------------------------------------------------------
    // Block value when buying.
    // ------------------------------------------------------------------------
    function accumulatedInterest() private view returns(uint256 interest) {
        if (bookKeeper[msg.sender] == 0) {
            interest = 0;
        } else {
            interest = block.number.sub(bookKeeper[msg.sender]).div(day);
        }
    }

}


// ----------------------------------------------------------------------------
// URA.market main contract.
// ----------------------------------------------------------------------------
contract URA is ERC20, Dividend {

    // The initial cost of the token, it can not be less. //
    uint128 constant tokenPriceInit = 0.00000000001 ether;
    uint128 public constant limiter = 15 ether;

    uint8 public constant advertisingCosts = 5; // 5% for transfer advertising.
    uint8 public constant forReferralCosts = 2; // 2% for transfer to referral.
    uint8 public constant forWithdrawCosts = 3; // 3% for the withdraw of tokens.

    // For advertising. //
    address payable constant advertising = 0x4d332E1f9d55d9B89dc2a8457B693Beaa7b36b2e;


    event WithdrawTokens(address indexed customerAddress, uint256 ethereumWithdrawn);
    event ReverseAccess(uint256 etherAmount);
    event ForReferral(uint256 etherAmount);


    // ------------------------------------------------------------------------
    // Constructor
    // ------------------------------------------------------------------------
    constructor() public { }


    // ------------------------------------------------------------------------
    // Purchase
    // * @param _reverseAccessOfLimiter: Excess value.
    // * @param _aTokenPrice: Price For one token.
    // * @param _forAdvertising: Advertising victim.
    // * @param _forDividendes: Dividend sacrifice.
    // * @param _amountOfTokens: Ether to tokens amount.
    // * @param _reverseAccess: Change remainder in ether.
    // ------------------------------------------------------------------------
    function () external payable {
        require(msg.sender.isNotContract(),
                "the contract can not hold tokens");

        address payable _referralAddress = msg.data.toAddr();
        uint256 _incomingEthereum = msg.value;

        uint256 _forReferral;
        uint256 _reverseAccessOfLimiter;

        if (_incomingEthereum > limiter) {
            _reverseAccessOfLimiter = _incomingEthereum.sub(limiter);
            _incomingEthereum = limiter;
        }

        uint256 _aTokenPrice = tokenPrice();
        uint256 _dividendesOwner = dividendesOf(msg.sender);
        uint256 _forAdvertising = _incomingEthereum.mul(advertisingCosts).div(100);
        uint256 _forDividendes = onDividendes(_incomingEthereum, dividendsCosts);

        if (_referralAddress != address(0)) {
            _forReferral = _incomingEthereum.mul(forReferralCosts).div(100);
            _forAdvertising = _forAdvertising.sub(_forReferral);
        }

        _incomingEthereum = _incomingEthereum.sub(
            _forDividendes
        ).sub(
            _forAdvertising
        ).sub(
            _forReferral
        );

        require(_incomingEthereum >= _aTokenPrice,
                "the amount of ether is not enough");

        (uint256 _amountOfTokens,
         uint256 _reverseAccess) = ethereumToTokens(_incomingEthereum, _aTokenPrice);

        advertising.transfer(_forAdvertising);

        _reverseAccessOfLimiter = _reverseAccessOfLimiter.add(_reverseAccess);

        if (_reverseAccessOfLimiter > 0) {
            // If there are leftovers, then return to customer. //
            msg.sender.transfer(_reverseAccessOfLimiter);
            emit ReverseAccess(_reverseAccessOfLimiter);
        }
        if (_forReferral > 0 && _referralAddress != address(0)) {
            _referralAddress.transfer(_forReferral);
            emit ForReferral(_forReferral);
        }
        if (_dividendesOwner > _aTokenPrice) {
            reinvest();
        }

        bookKeeper[msg.sender] = block.number;
        balances[msg.sender] = balances[msg.sender].add(_amountOfTokens);
        totalSupply = totalSupply.add(_amountOfTokens);
        dividendes = dividendes.add(_forDividendes);

        emit EtherTransfer(msg.sender, advertising, _forAdvertising);
        emit Transfer(address(0), msg.sender, _amountOfTokens);
        emit SendOnDividend(msg.sender, _forDividendes);
    }


    // ------------------------------------------------------------------------
    // Increment for token cost
    // - Dynamic property that is responsible for
    // - the rise and fall of the price of the token.
    // ------------------------------------------------------------------------
    function tokenPrice() public view returns(uint256 priceForToken) {
        uint256 _contracBalance = contracBalance();

        if (totalSupply == 0 || _contracBalance == 0) {
            return tokenPriceInit;
        }

        return _contracBalance.div(totalSupply).mul(4).div(3);
    }


    // ------------------------------------------------------------------------
    // Burning tokens function
    // * @param _valueTokens: Amount tokens for burning.
    // * @param _aTokenPrice: One token price.
    // * @param _etherForTokens: Calculate the ether for burning tokens.
    // * @param _forDividendes: Calculate the are common Dividendes.
    // * @param _contracBalance: Get contract balance.
    // * @param _dividendesAmount: Get the percentage of dividends burned tokens.
    // ------------------------------------------------------------------------
    function withdraw(uint256 _valueTokens) external payable returns(bool success) {
        require(msg.sender.isNotContract(),
                "the contract can not hold tokens");

        uint256 _tokensOwner = balanceOf(msg.sender);

        require(_valueTokens > 0, "cannot pass 0 value");
        require(_tokensOwner >= _valueTokens,
                "you do not have so many tokens");

        uint256 _aTokenPrice = tokenPrice();
        uint256 _etherForTokens = tokensToEthereum(_valueTokens, _aTokenPrice);
        uint256 _contracBalance = contracBalance();
        uint256 _forDividendes = onDividendes(_etherForTokens, forWithdrawCosts);
        uint256 _dividendesAmount = dividendesCalc(_tokensOwner);

        _etherForTokens = _etherForTokens.sub(_forDividendes);
        totalSupply = totalSupply.sub(_valueTokens);

        if (_dividendesAmount > 0) {
            dividendes = dividendes.sub(_dividendesAmount);
            _etherForTokens = _etherForTokens.add(_dividendesAmount);
            emit WithdrawDividendes(msg.sender, _dividendesAmount);
        }
        if (_tokensOwner == _valueTokens) {
            // if the owner out of system //
            bookKeeper[msg.sender] = 0;
            balances[msg.sender] = 0;
        } else {
           bookKeeper[msg.sender] = block.number;
           balances[msg.sender] = balances[msg.sender].sub(_valueTokens);
        }
        if (_etherForTokens > _contracBalance) {
            _etherForTokens = _contracBalance;
        }

        msg.sender.transfer(_etherForTokens);

        emit WithdrawTokens(msg.sender, _etherForTokens);
        emit SendOnDividend(address(0), _forDividendes);

        return true;
    }


    // ------------------------------------------------------------------------
    // Reinvest dividends into tokens
    // ------------------------------------------------------------------------
    function reinvest() public payable returns(bool success) {
        require(msg.sender.isNotContract(),
                "the contract can not hold tokens");

        uint256 _dividendes = dividendesOf(msg.sender);
        uint256 _aTokenPrice = tokenPrice();

        require(_dividendes >= _aTokenPrice, "not enough dividends");

        (uint256 _amountOfTokens,
         uint256 _reverseAccess) = ethereumToTokens(_dividendes, _aTokenPrice);

        require(_amountOfTokens > 0, "tokens amount not zero");

        dividendes = dividendes.sub(_dividendes.sub(_reverseAccess));
        balances[msg.sender] = balances[msg.sender].add(_amountOfTokens);
        totalSupply = totalSupply.add(_amountOfTokens);
        bookKeeper[msg.sender] = block.number;

        emit Transfer(address(0), msg.sender, _amountOfTokens);

        return true;
    }



    // ------------------------------------------------------------------------
    // ether conversion to token
    // ------------------------------------------------------------------------
    function ethereumToTokens(uint256 _incomingEthereum, uint256 _aTokenPrice)
        private
        pure
        returns(uint256 tokensReceived, uint256 reverseAccess) {
        require(_incomingEthereum >= _aTokenPrice,
                "input ether > a token price");

        tokensReceived = _incomingEthereum.div(_aTokenPrice);

        require(tokensReceived > 0, "you can not buy 0 tokens");

        reverseAccess = _incomingEthereum.sub(tokensReceived.mul(_aTokenPrice));
    }


    // ------------------------------------------------------------------------
    // Inverse function ethereumToTokens (Token conversion to ether).
    // ------------------------------------------------------------------------
    function tokensToEthereum(uint256 _tokens, uint256 _aTokenPrice)
        private
        pure
        returns(uint256 etherReceived) {
        require(_tokens > 0, "0 tokens cannot be counted");

        etherReceived = _aTokenPrice.mul(_tokens);
    }

}

Contract ABI
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_valueTokens","type":"uint256"}],"name":"withdraw","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"tokensOwner","outputs":[{"name":"tokens","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdrawDividendes","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"dividendsCosts","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"dividendes","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokenOwner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balanceOwner","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"limiter","outputs":[{"name":"","type":"uint128"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"contracBalance","outputs":[{"name":"contractBalance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"day","outputs":[{"name":"","type":"uint16"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenPrice","outputs":[{"name":"priceForToken","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"forReferralCosts","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"forWithdrawCosts","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"advertisingCosts","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"dividendesOf","outputs":[{"name":"dividendesAmount","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[{"name":"success","type":"bool"}],"payable":true,"stateMutability":"payable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"WithdrawTokens","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"etherAmount","type":"uint256"}],"name":"ReverseAccess","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"etherAmount","type":"uint256"}],"name":"ForReferral","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"dividendesAmount","type":"uint256"}],"name":"SendOnDividend","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"dividendesAmount","type":"uint256"}],"name":"WithdrawDividendes","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"tokens","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"etherAmount","type":"uint256"}],"name":"EtherTransfer","type":"event"}]

Contract Creation Code
608060405234801561001057600080fd5b5061141a806100206000396000f3fe608060405260043610610126576000357c0100000000000000000000000000000000000000000000000000000000900480637a766896116100b25780639e0b83d2116100815780639e0b83d2146107c4578063d2af0866146107d9578063e424ae37146107ee578063e9f6d57a14610803578063fdb5a03e1461084357610126565b80637a766896146107595780637b76ac911461076e5780637ff9b5961461079a57806395d89b41146107af57610126565b806339e5e5d7116100f957806339e5e5d7146106975780634083f9fa1461069f5780634b47feb1146106ca57806370a08231146106df57806374b87f671461071f57610126565b806306fdde03146105a057806318160ddd1461062a5780632e1a7d4d1461065157806334309e9714610682575b61012f3361084b565b1515610173576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b60006101b56000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061085492505050565b90503460008067d02ab486cedc00008311156101f1576101e38367d02ab486cedc000063ffffffff61085b16565b67d02ab486cedc0000935090505b60006101fb610875565b90506000610208336108d4565b9050600061022e606461022288600563ffffffff6108f216565b9063ffffffff61091d16565b9050600061023d87600a610941565b905073ffffffffffffffffffffffffffffffffffffffff88161561028657610271606461022289600263ffffffff6108f216565b9550610283828763ffffffff61085b16565b91505b6102a88661029c84818b8663ffffffff61085b16565b9063ffffffff61085b16565b9650838710156102ec5760405160e560020a62461bcd0281526004018080602001828103825260218152602001806113ac6021913960400191505060405180910390fd5b6000806102f9898761095b565b6040519193509150734d332e1f9d55d9b89dc2a8457b693beaa7b36b2e9085156108fc029086906000818181858888f1935050505015801561033f573d6000803e3d6000fd5b50610350878263ffffffff610a4916565b965060008711156103bd57604051339088156108fc029089906000818181858888f19350505050158015610388573d6000803e3d6000fd5b506040805188815290517ff932f54b7bd45aee7b274aaa8e08bd704e360a797d9f4ec7f782119c67669e609181900360200190a15b6000881180156103e2575073ffffffffffffffffffffffffffffffffffffffff8a1615155b1561045f5760405173ffffffffffffffffffffffffffffffffffffffff8b169089156108fc02908a906000818181858888f1935050505015801561042a573d6000803e3d6000fd5b506040805189815290517f201c70cca240974b9815c8b67a9c18165cbc2a19e163178238509f4d557c3ce69181900360200190a15b858511156104715761046f610a5b565b505b336000908152600360209081526040808320439055600190915290205461049e908363ffffffff610a4916565b33600090815260016020526040812091909155546104c2908363ffffffff610a4916565b6000556002546104d8908463ffffffff610a4916565b600255604080518581529051734d332e1f9d55d9b89dc2a8457b693beaa7b36b2e9133917f1c6b7c1dea17aff2728e18224d371cfd5fb0c7c451a86314957d8a6f66dcf7819181900360200190a360408051838152905133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a360408051848152905133917f20b430d7cf15437bd4e9703d16ad29546b6c808f764b32b769ab426e2709f1a2919081900360200190a250505050505050505050005b3480156105ac57600080fd5b506105b5610c46565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105ef5781810151838201526020016105d7565b50505050905090810190601f16801561061c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561063657600080fd5b5061063f610c7d565b60408051918252519081900360200190f35b61066e6004803603602081101561066757600080fd5b5035610c83565b604080519115158252519081900360200190f35b34801561068e57600080fd5b5061063f610f7f565b61066e610f92565b3480156106ab57600080fd5b506106b461118f565b6040805160ff9092168252519081900360200190f35b3480156106d657600080fd5b5061063f611194565b3480156106eb57600080fd5b5061063f6004803603602081101561070257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661119a565b34801561072b57600080fd5b506107346111c2565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561076557600080fd5b5061063f6111ce565b34801561077a57600080fd5b506107836111d3565b6040805161ffff9092168252519081900360200190f35b3480156107a657600080fd5b5061063f610875565b3480156107bb57600080fd5b506105b56111d9565b3480156107d057600080fd5b506106b4611210565b3480156107e557600080fd5b506106b4611215565b3480156107fa57600080fd5b506106b461121a565b34801561080f57600080fd5b5061063f6004803603602081101561082657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108d4565b61066e610a5b565b803b155b919050565b6014015190565b60008282111561086a57600080fd5b508082035b92915050565b6000806108806111ce565b905060005460001480610891575080155b156108a257506298968090506108d1565b6108cd600361022260046108c16000548661091d90919063ffffffff16565b9063ffffffff6108f216565b9150505b90565b6000806108e08361119a565b90506108eb8161121f565b9392505050565b60008215156109035750600061086f565b82820282848281151561091257fe5b04146108eb57600080fd5b600080821161092b57600080fd5b6000828481151561093857fe5b04949350505050565b60006108eb60646102228560ff861663ffffffff6108f216565b600080828410156109b6576040805160e560020a62461bcd02815260206004820152601b60248201527f696e707574206574686572203e206120746f6b656e2070726963650000000000604482015290519081900360640190fd5b6109c6848463ffffffff61091d16565b915060008211610a20576040805160e560020a62461bcd02815260206004820152601860248201527f796f752063616e206e6f7420627579203020746f6b656e730000000000000000604482015290519081900360640190fd5b610a40610a33838563ffffffff6108f216565b859063ffffffff61085b16565b90509250929050565b6000828201838110156108eb57600080fd5b6000610a663361084b565b1515610aaa576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b6000610ab5336108d4565b90506000610ac1610875565b905080821015610b1b576040805160e560020a62461bcd02815260206004820152601460248201527f6e6f7420656e6f756768206469766964656e6473000000000000000000000000604482015290519081900360640190fd5b600080610b28848461095b565b909250905060008211610b85576040805160e560020a62461bcd02815260206004820152601660248201527f746f6b656e7320616d6f756e74206e6f74207a65726f00000000000000000000604482015290519081900360640190fd5b610ba7610b98858363ffffffff61085b16565b6002549063ffffffff61085b16565b60025533600090815260016020526040902054610bca908363ffffffff610a4916565b3360009081526001602052604081209190915554610bee908363ffffffff610a4916565b600090815533808252600360209081526040808420439055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600194505050505090565b60408051808201909152600f81527f555241206d61726b657420636f696e0000000000000000000000000000000000602082015281565b60005481565b6000610c8e3361084b565b1515610cd2576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b6000610cdd3361119a565b905060008311610d37576040805160e560020a62461bcd02815260206004820152601360248201527f63616e6e6f74207061737320302076616c756500000000000000000000000000604482015290519081900360640190fd5b82811015610d8f576040805160e560020a62461bcd02815260206004820152601e60248201527f796f7520646f206e6f74206861766520736f206d616e7920746f6b656e730000604482015290519081900360640190fd5b6000610d99610875565b90506000610da78583611295565b90506000610db36111ce565b90506000610dc2836003610941565b90506000610dcf8661121f565b9050610de1848363ffffffff61085b16565b600054909450610df7908963ffffffff61085b16565b6000908155811115610e6257600254610e16908263ffffffff61085b16565b600255610e29848263ffffffff610a4916565b60408051838152905191955033917fe050866b61c583e33cd2fd2d33c3c3e9bcca3380b086dbfb99ef37792f3e5eac9181900360200190a25b87861415610e8c573360009081526003602090815260408083208390556001909152812055610eca565b3360009081526003602090815260408083204390556001909152902054610eb9908963ffffffff61085b16565b336000908152600160205260409020555b82841115610ed6578293505b604051339085156108fc029086906000818181858888f19350505050158015610f03573d6000803e3d6000fd5b5060408051858152905133917f680f2e4f4032ebf1774e8cdbaddcb1b617a5a606411c8ca96257ada338d3833c919081900360200190a26040805183815290516000917f20b430d7cf15437bd4e9703d16ad29546b6c808f764b32b769ab426e2709f1a2919081900360200190a2506001979650505050505050565b3360009081526001602052604090205490565b6000610f9d3361084b565b1515610fe1576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b6000610fec3361119a565b905060008111611046576040805160e560020a62461bcd02815260206004820152601360248201527f63616e6e6f74207061737320302076616c756500000000000000000000000000604482015290519081900360640190fd5b33600090815260036020526040812054116110955760405160e560020a62461bcd0281526004018080602001828103825260228152602001806113cd6022913960400191505060405180910390fd5b60006110a08261121f565b9050600081116110fa576040805160e560020a62461bcd02815260206004820152601560248201527f6469766964656e64657320616d6f756e74203e20300000000000000000000000604482015290519081900360640190fd5b33600090815260036020526040902043905560025461111f908263ffffffff61085b16565b600255604051339082156108fc029083906000818181858888f1935050505015801561114f573d6000803e3d6000fd5b5060408051828152905133917fe050866b61c583e33cd2fd2d33c3c3e9bcca3380b086dbfb99ef37792f3e5eac919081900360200190a260019250505090565b600a81565b60025481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b67d02ab486cedc000081565b303190565b61177081565b60408051808201909152600381527f5552410000000000000000000000000000000000000000000000000000000000602082015281565b600281565b600381565b600581565b60008115156112305750600061084f565b600061124a83678ac7230489e8000063ffffffff6108f216565b90506000611257826112fe565b90506112736064610222836002546108f290919063ffffffff16565b925061128d83678ac7230489e8000063ffffffff61091d16565b949350505050565b60008083116112ee576040805160e560020a62461bcd02815260206004820152601a60248201527f3020746f6b656e732063616e6e6f7420626520636f756e746564000000000000604482015290519081900360640190fd5b6108eb828463ffffffff6108f216565b600081151561130f5750600061084f565b600061131961133f565b90506064811115611328575060645b6000546108eb90610222858463ffffffff6108f216565b33600090815260036020526040812054151561135d575060006108d1565b33600090815260036020526040902054611386906117709061022290439063ffffffff61085b16565b90509056fe74686520636f6e74726163742063616e206e6f7420686f6c6420746f6b656e7374686520616d6f756e74206f66206574686572206973206e6f7420656e6f756768746f207769746864726177206469766964656e64732c20706c656173652077616974a165627a7a72305820f278a165549bea30fc3ad6fa8e359da6057454e64d8f1e55b6dac4f7f0a7f6c60029


   Swarm Source:
bzzr://f278a165549bea30fc3ad6fa8e359da6057454e64d8f1e55b6dac4f7f0a7f6c6
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.