Contract Overview
Balance: 641.129406826162037774 Ether
Ether Value: $79,544.93 (@ $124.07/ETH)
Transactions: 285 txns
Token Tracker: URA market coin (URA)
Misc:
Address Watch: Add To Watch List
Contract Creator: 0xa6422231b66f29fe11c84c559e388880cb1616adat txn 0xa359d018411f7a193ac669420122bf3c363a795159d29b1a2c7a0c294c22020d
 Latest 25 transactions from a total of 285 transactions

TxHash Age From To Value [TxFee]
0xc963393bcb1e9c95aedfdc6822ebcc3f70b80b424c421ae937cdbe60730447d722 hrs 17 mins ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000298158
0x9ce0471ab1fb5dbe099178da8e37621e52a3d969337fdfc4e8b4b1a084b9614223 hrs 58 mins ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000546623
0xf93b7a51dc081366cb6602eccb45a14b20d293d153b83aa7abbc0de02f8357552 days 9 hrs ago0x28653afa3a28fee2f200348a2e0f43f6fd301a95  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.000826482458823 Ether0.00097535
0xffc4297db31216910915bdd84d35f1209d7b3a3844bcfc1417b43e45c40f83cb2 days 17 hrs ago0xf23170869c409bc435416e59179192070174b37b  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.001 Ether0.0001466595
0xed2b468563d5e8dc5010a311bcf53fa79153b384ca14e033cfdedb974df4c58e3 days 2 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000198772
0xd29eb3cdf71654e4d09cea08901af6ef12d4addc379863cadc32fb774cd8a6623 days 22 hrs ago0xb37e16a835acd6f480016f5a0e45f97a72d55b0a  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.1 Ether0.00078028
0x2fa8e05d4ffb17cd73fcb5aec5edcc22f1d3b42dcd0dc1065d4c0a08302a784d4 days 8 hrs ago0x6d0677ee3e87997f1c196a6ac852612911a2a7ed  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.1 Ether0.000195546
0xc150fce04052f721ec549ec5784a58c34bde689b4e7ceb95600739aeea33ce025 days 4 hrs ago0x145c93c09b7e811020b557cb2ee12bbcacfad1d5  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000060298
0xe93e230b8b0a0cc769c34a9b9cf929996a788ceac62c88477dce32c523a56ead5 days 4 hrs ago0x2b62cce5f59062abcac62534eaac5e0235b7f3e0  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.00008028
0x6d6af5b62023ddd83fb5a8d773758cffc3e3abbe4019df72fb2e43045d44ec1d5 days 4 hrs ago0x5e6c3c287aacaa40fcb9d7d6adc8c07b75134eee  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000090831
0x49ea183e73710145c25e085e3f6f7b67fe436d37daa272edf23d4ccd17b1ff8b5 days 5 hrs ago0xa52c6f749523b89d3281153cfa871a66eb6807b7  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000198772
0xc472dbb6da60dea6d2e7c3c9f894ba3142c7066fdcfdeaa7e8cca37dc0032bb86 days 2 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000099386
0x08d0ee744ef6433f4beab470b72cabb1c1f1c304286329a8248ed5db33cc4f356 days 5 hrs ago0x2b62cce5f59062abcac62534eaac5e0235b7f3e0  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000133083
0xa374eb6a11a1c75f4f862890e065b0603ff639ecad042c2e7e31420241b749ef6 days 6 hrs ago0xf99262237295362824e0bb9d1ee1f0d73958931f  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000149079
0x73b0d546fa513081d73fbcb3e02df59376cc99f7cb98606833b4409459225f1d7 days 25 mins ago0xe078c3f26c15b789fc9f9ea6f045688c825642e3  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.01 Ether0.000195546
0x4ef6fcf63ac1bc0bacad10b070865ed9a74c42c09ca2fb265fc80d7210976b6a7 days 10 hrs ago0xca8a2b9544ce0492288def136ee06ddfac0eaf1a  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.001 Ether0.00019507
0x07efbd12c1d428d20de14bf71e4310afd257491accb0bcc551ac70c5247325417 days 17 hrs ago0xb4753b941e7de7cc3a0ae9242b8f8b32edb8d99d  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0 Ether0.000149079
0x21daf7771492106240eb5260140147bb3a91ba313e257f256af8c3fea8a4d9958 days 16 hrs ago0x8c2140fa1597ba30548b7aea7992730a30bc945c  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.3 Ether0.000292605
0x92378cda8b3e6c0f70dd875b6549f912a467a12a35ec32c7a1da501ef51b1cc18 days 17 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.1 Ether0.00013923
0xf2ba7bdce7861ef74afe832022244a4a96943fbdcb66940663aaca923adb1bf18 days 17 hrs ago0xf23170869c409bc435416e59179192070174b37b  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.001 Ether0.0001463025
0x57971a53ad5094840fca978d4e497c9a1bae90f0953cb8a227dd3d71d41d18098 days 17 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.000826642752941 Ether0.00013923
0xdccb487955d4f3f28165eb222a373098939f9b37aea726f02c3239abb0cb3c108 days 17 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.132254307764705 Ether0.00013923
0x2eb229c52db30508ac8e33ea88998ff92304117c3b3668a60497c424a809fead8 days 17 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.025163137791723 Ether0.00013923
0x6e92de4377b675d0a9105ba98dc838512b7e8efd7514e6ff267dc1d4a436d4288 days 17 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.011985329482352 Ether0.00013923
0x1a089ed24affff55c0baa3fffb7f3a4959f8536ad95f03ca4131980758915c4f8 days 18 hrs ago0x78255958256603855ce5e7f224caa588fa030145  IN   0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0.003719578235294 Ether0.00013923
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 25 Internal Txns, Click here To View More View All
ParentTxHash Block Age From To Value
0xf93b7a51dc081366cb6602eccb45a14b20d293d153b83aa7abbc0de02f83575570630992 days 9 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x28653afa3a28fee2f200348a2e0f43f6fd301a950.000000000003264301 Ether
0xf93b7a51dc081366cb6602eccb45a14b20d293d153b83aa7abbc0de02f83575570630992 days 9 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.000041324122941176 Ether
0xffc4297db31216910915bdd84d35f1209d7b3a3844bcfc1417b43e45c40f83cb70611442 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xf23170869c409bc435416e59179192070174b37b0.000000000017839155 Ether
0xffc4297db31216910915bdd84d35f1209d7b3a3844bcfc1417b43e45c40f83cb70611442 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.00005 Ether
0xd29eb3cdf71654e4d09cea08901af6ef12d4addc379863cadc32fb774cd8a66270544633 days 22 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xb37e16a835acd6f480016f5a0e45f97a72d55b0a0.000000000055760788 Ether
0xd29eb3cdf71654e4d09cea08901af6ef12d4addc379863cadc32fb774cd8a66270544633 days 22 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.005 Ether
0x2fa8e05d4ffb17cd73fcb5aec5edcc22f1d3b42dcd0dc1065d4c0a08302a784d70522114 days 8 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x6d0677ee3e87997f1c196a6ac852612911a2a7ed0.00000000006518038 Ether
0x2fa8e05d4ffb17cd73fcb5aec5edcc22f1d3b42dcd0dc1065d4c0a08302a784d70522114 days 8 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.005 Ether
0xc150fce04052f721ec549ec5784a58c34bde689b4e7ceb95600739aeea33ce0270475205 days 4 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x145c93c09b7e811020b557cb2ee12bbcacfad1d50.000000000138261405 Ether
0xe93e230b8b0a0cc769c34a9b9cf929996a788ceac62c88477dce32c523a56ead70475025 days 4 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x2b62cce5f59062abcac62534eaac5e0235b7f3e00.16820620904575898 Ether
0x6d6af5b62023ddd83fb5a8d773758cffc3e3abbe4019df72fb2e43045d44ec1d70475015 days 4 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x5e6c3c287aacaa40fcb9d7d6adc8c07b75134eee0.000006913386789039 Ether
0x08d0ee744ef6433f4beab470b72cabb1c1f1c304286329a8248ed5db33cc4f3570415766 days 5 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x2b62cce5f59062abcac62534eaac5e0235b7f3e00.000813406807433287 Ether
0x73b0d546fa513081d73fbcb3e02df59376cc99f7cb98606833b4409459225f1d70372607 days 25 mins ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xe078c3f26c15b789fc9f9ea6f045688c825642e30.00000000005355376 Ether
0x73b0d546fa513081d73fbcb3e02df59376cc99f7cb98606833b4409459225f1d70372607 days 25 mins ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.0005 Ether
0x4ef6fcf63ac1bc0bacad10b070865ed9a74c42c09ca2fb265fc80d7210976b6a70348497 days 10 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xca8a2b9544ce0492288def136ee06ddfac0eaf1a0.000000000043065256 Ether
0x4ef6fcf63ac1bc0bacad10b070865ed9a74c42c09ca2fb265fc80d7210976b6a70348497 days 10 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.00005 Ether
0x21daf7771492106240eb5260140147bb3a91ba313e257f256af8c3fea8a4d99570279818 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x8c2140fa1597ba30548b7aea7992730a30bc945c0.00000000000451662 Ether
0x21daf7771492106240eb5260140147bb3a91ba313e257f256af8c3fea8a4d99570279818 days 16 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.015 Ether
0x92378cda8b3e6c0f70dd875b6549f912a467a12a35ec32c7a1da501ef51b1cc170278578 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x78255958256603855ce5e7f224caa588fa0301450.00000000002715512 Ether
0x92378cda8b3e6c0f70dd875b6549f912a467a12a35ec32c7a1da501ef51b1cc170278578 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.005 Ether
0xf2ba7bdce7861ef74afe832022244a4a96943fbdcb66940663aaca923adb1bf170278528 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0xf23170869c409bc435416e59179192070174b37b0.0000000000145417 Ether
0xf2ba7bdce7861ef74afe832022244a4a96943fbdcb66940663aaca923adb1bf170278528 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.00005 Ether
0x57971a53ad5094840fca978d4e497c9a1bae90f0953cb8a227dd3d71d41d180970278508 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x78255958256603855ce5e7f224caa588fa0301450.000000000003441426 Ether
0x57971a53ad5094840fca978d4e497c9a1bae90f0953cb8a227dd3d71d41d180970278508 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x4d332e1f9d55d9b89dc2a8457b693beaa7b36b2e0.000041332137647058 Ether
0xdccb487955d4f3f28165eb222a373098939f9b37aea726f02c3239abb0cb3c1070277808 days 17 hrs ago0xbc425c4209bd4c3f1fc9686371513f13f72cc70a0x78255958256603855ce5e7f224caa588fa0301450.000000000048082288 Ether
[ Download CSV Export  ] 
Contract Source Code Verified (Exact Match)
Contract Name: URA
Compiler Text: v0.5.2+commit.1df8f40c
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

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 Switch To Opcodes View
608060405234801561001057600080fd5b5061141a806100206000396000f3fe608060405260043610610126576000357c0100000000000000000000000000000000000000000000000000000000900480637a766896116100b25780639e0b83d2116100815780639e0b83d2146107c4578063d2af0866146107d9578063e424ae37146107ee578063e9f6d57a14610803578063fdb5a03e1461084357610126565b80637a766896146107595780637b76ac911461076e5780637ff9b5961461079a57806395d89b41146107af57610126565b806339e5e5d7116100f957806339e5e5d7146106975780634083f9fa1461069f5780634b47feb1146106ca57806370a08231146106df57806374b87f671461071f57610126565b806306fdde03146105a057806318160ddd1461062a5780632e1a7d4d1461065157806334309e9714610682575b61012f3361084b565b1515610173576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b60006101b56000368080601f01602080910402602001604051908101604052809392919081815260200183838082843760009201919091525061085492505050565b90503460008067d02ab486cedc00008311156101f1576101e38367d02ab486cedc000063ffffffff61085b16565b67d02ab486cedc0000935090505b60006101fb610875565b90506000610208336108d4565b9050600061022e606461022288600563ffffffff6108f216565b9063ffffffff61091d16565b9050600061023d87600a610941565b905073ffffffffffffffffffffffffffffffffffffffff88161561028657610271606461022289600263ffffffff6108f216565b9550610283828763ffffffff61085b16565b91505b6102a88661029c84818b8663ffffffff61085b16565b9063ffffffff61085b16565b9650838710156102ec5760405160e560020a62461bcd0281526004018080602001828103825260218152602001806113ac6021913960400191505060405180910390fd5b6000806102f9898761095b565b6040519193509150734d332e1f9d55d9b89dc2a8457b693beaa7b36b2e9085156108fc029086906000818181858888f1935050505015801561033f573d6000803e3d6000fd5b50610350878263ffffffff610a4916565b965060008711156103bd57604051339088156108fc029089906000818181858888f19350505050158015610388573d6000803e3d6000fd5b506040805188815290517ff932f54b7bd45aee7b274aaa8e08bd704e360a797d9f4ec7f782119c67669e609181900360200190a15b6000881180156103e2575073ffffffffffffffffffffffffffffffffffffffff8a1615155b1561045f5760405173ffffffffffffffffffffffffffffffffffffffff8b169089156108fc02908a906000818181858888f1935050505015801561042a573d6000803e3d6000fd5b506040805189815290517f201c70cca240974b9815c8b67a9c18165cbc2a19e163178238509f4d557c3ce69181900360200190a15b858511156104715761046f610a5b565b505b336000908152600360209081526040808320439055600190915290205461049e908363ffffffff610a4916565b33600090815260016020526040812091909155546104c2908363ffffffff610a4916565b6000556002546104d8908463ffffffff610a4916565b600255604080518581529051734d332e1f9d55d9b89dc2a8457b693beaa7b36b2e9133917f1c6b7c1dea17aff2728e18224d371cfd5fb0c7c451a86314957d8a6f66dcf7819181900360200190a360408051838152905133916000917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a360408051848152905133917f20b430d7cf15437bd4e9703d16ad29546b6c808f764b32b769ab426e2709f1a2919081900360200190a250505050505050505050005b3480156105ac57600080fd5b506105b5610c46565b6040805160208082528351818301528351919283929083019185019080838360005b838110156105ef5781810151838201526020016105d7565b50505050905090810190601f16801561061c5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561063657600080fd5b5061063f610c7d565b60408051918252519081900360200190f35b61066e6004803603602081101561066757600080fd5b5035610c83565b604080519115158252519081900360200190f35b34801561068e57600080fd5b5061063f610f7f565b61066e610f92565b3480156106ab57600080fd5b506106b461118f565b6040805160ff9092168252519081900360200190f35b3480156106d657600080fd5b5061063f611194565b3480156106eb57600080fd5b5061063f6004803603602081101561070257600080fd5b503573ffffffffffffffffffffffffffffffffffffffff1661119a565b34801561072b57600080fd5b506107346111c2565b604080516fffffffffffffffffffffffffffffffff9092168252519081900360200190f35b34801561076557600080fd5b5061063f6111ce565b34801561077a57600080fd5b506107836111d3565b6040805161ffff9092168252519081900360200190f35b3480156107a657600080fd5b5061063f610875565b3480156107bb57600080fd5b506105b56111d9565b3480156107d057600080fd5b506106b4611210565b3480156107e557600080fd5b506106b4611215565b3480156107fa57600080fd5b506106b461121a565b34801561080f57600080fd5b5061063f6004803603602081101561082657600080fd5b503573ffffffffffffffffffffffffffffffffffffffff166108d4565b61066e610a5b565b803b155b919050565b6014015190565b60008282111561086a57600080fd5b508082035b92915050565b6000806108806111ce565b905060005460001480610891575080155b156108a257506298968090506108d1565b6108cd600361022260046108c16000548661091d90919063ffffffff16565b9063ffffffff6108f216565b9150505b90565b6000806108e08361119a565b90506108eb8161121f565b9392505050565b60008215156109035750600061086f565b82820282848281151561091257fe5b04146108eb57600080fd5b600080821161092b57600080fd5b6000828481151561093857fe5b04949350505050565b60006108eb60646102228560ff861663ffffffff6108f216565b600080828410156109b6576040805160e560020a62461bcd02815260206004820152601b60248201527f696e707574206574686572203e206120746f6b656e2070726963650000000000604482015290519081900360640190fd5b6109c6848463ffffffff61091d16565b915060008211610a20576040805160e560020a62461bcd02815260206004820152601860248201527f796f752063616e206e6f7420627579203020746f6b656e730000000000000000604482015290519081900360640190fd5b610a40610a33838563ffffffff6108f216565b859063ffffffff61085b16565b90509250929050565b6000828201838110156108eb57600080fd5b6000610a663361084b565b1515610aaa576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b6000610ab5336108d4565b90506000610ac1610875565b905080821015610b1b576040805160e560020a62461bcd02815260206004820152601460248201527f6e6f7420656e6f756768206469766964656e6473000000000000000000000000604482015290519081900360640190fd5b600080610b28848461095b565b909250905060008211610b85576040805160e560020a62461bcd02815260206004820152601660248201527f746f6b656e7320616d6f756e74206e6f74207a65726f00000000000000000000604482015290519081900360640190fd5b610ba7610b98858363ffffffff61085b16565b6002549063ffffffff61085b16565b60025533600090815260016020526040902054610bca908363ffffffff610a4916565b3360009081526001602052604081209190915554610bee908363ffffffff610a4916565b600090815533808252600360209081526040808420439055805186815290519293927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a3600194505050505090565b60408051808201909152600f81527f555241206d61726b657420636f696e0000000000000000000000000000000000602082015281565b60005481565b6000610c8e3361084b565b1515610cd2576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b6000610cdd3361119a565b905060008311610d37576040805160e560020a62461bcd02815260206004820152601360248201527f63616e6e6f74207061737320302076616c756500000000000000000000000000604482015290519081900360640190fd5b82811015610d8f576040805160e560020a62461bcd02815260206004820152601e60248201527f796f7520646f206e6f74206861766520736f206d616e7920746f6b656e730000604482015290519081900360640190fd5b6000610d99610875565b90506000610da78583611295565b90506000610db36111ce565b90506000610dc2836003610941565b90506000610dcf8661121f565b9050610de1848363ffffffff61085b16565b600054909450610df7908963ffffffff61085b16565b6000908155811115610e6257600254610e16908263ffffffff61085b16565b600255610e29848263ffffffff610a4916565b60408051838152905191955033917fe050866b61c583e33cd2fd2d33c3c3e9bcca3380b086dbfb99ef37792f3e5eac9181900360200190a25b87861415610e8c573360009081526003602090815260408083208390556001909152812055610eca565b3360009081526003602090815260408083204390556001909152902054610eb9908963ffffffff61085b16565b336000908152600160205260409020555b82841115610ed6578293505b604051339085156108fc029086906000818181858888f19350505050158015610f03573d6000803e3d6000fd5b5060408051858152905133917f680f2e4f4032ebf1774e8cdbaddcb1b617a5a606411c8ca96257ada338d3833c919081900360200190a26040805183815290516000917f20b430d7cf15437bd4e9703d16ad29546b6c808f764b32b769ab426e2709f1a2919081900360200190a2506001979650505050505050565b3360009081526001602052604090205490565b6000610f9d3361084b565b1515610fe1576040805160e560020a62461bcd028152602060048201819052602482015260008051602061138c833981519152604482015290519081900360640190fd5b6000610fec3361119a565b905060008111611046576040805160e560020a62461bcd02815260206004820152601360248201527f63616e6e6f74207061737320302076616c756500000000000000000000000000604482015290519081900360640190fd5b33600090815260036020526040812054116110955760405160e560020a62461bcd0281526004018080602001828103825260228152602001806113cd6022913960400191505060405180910390fd5b60006110a08261121f565b9050600081116110fa576040805160e560020a62461bcd02815260206004820152601560248201527f6469766964656e64657320616d6f756e74203e20300000000000000000000000604482015290519081900360640190fd5b33600090815260036020526040902043905560025461111f908263ffffffff61085b16565b600255604051339082156108fc029083906000818181858888f1935050505015801561114f573d6000803e3d6000fd5b5060408051828152905133917fe050866b61c583e33cd2fd2d33c3c3e9bcca3380b086dbfb99ef37792f3e5eac919081900360200190a260019250505090565b600a81565b60025481565b73ffffffffffffffffffffffffffffffffffffffff1660009081526001602052604090205490565b67d02ab486cedc000081565b303190565b61177081565b60408051808201909152600381527f5552410000000000000000000000000000000000000000000000000000000000602082015281565b600281565b600381565b600581565b60008115156112305750600061084f565b600061124a83678ac7230489e8000063ffffffff6108f216565b90506000611257826112fe565b90506112736064610222836002546108f290919063ffffffff16565b925061128d83678ac7230489e8000063ffffffff61091d16565b949350505050565b60008083116112ee576040805160e560020a62461bcd02815260206004820152601a60248201527f3020746f6b656e732063616e6e6f7420626520636f756e746564000000000000604482015290519081900360640190fd5b6108eb828463ffffffff6108f216565b600081151561130f5750600061084f565b600061131961133f565b90506064811115611328575060645b6000546108eb90610222858463ffffffff6108f216565b33600090815260036020526040812054151561135d575060006108d1565b33600090815260036020526040902054611386906117709061022290439063ffffffff61085b16565b90509056fe74686520636f6e74726163742063616e206e6f7420686f6c6420746f6b656e7374686520616d6f756e74206f66206574686572206973206e6f7420656e6f756768746f207769746864726177206469766964656e64732c20706c656173652077616974a165627a7a72305820f278a165549bea30fc3ad6fa8e359da6057454e64d8f1e55b6dac4f7f0a7f6c60029

   Swarm Source:
bzzr://f278a165549bea30fc3ad6fa8e359da6057454e64d8f1e55b6dac4f7f0a7f6c6

 

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