ETH Price: $3,324.03 (+1.81%)
Gas: 6 Gwei

Contract

0xca3FCD359d91200fE8cb22c8a95CcAc44B68E3E1
 

Overview

ETH Balance

0.060777915657167626 ETH

Eth Value

$202.03 (@ $3,324.03/ETH)

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Withdraw57389202018-06-05 23:17:032245 days ago1528240623IN
0xca3FCD35...44B68E3E1
0 ETH0.000173924
Sell57389172018-06-05 23:16:212245 days ago1528240581IN
0xca3FCD35...44B68E3E1
0 ETH0.000192414
Withdraw57178722018-06-02 5:26:002249 days ago1527917160IN
0xca3FCD35...44B68E3E1
0 ETH0.0005217812
Sell57178702018-06-02 5:25:302249 days ago1527917130IN
0xca3FCD35...44B68E3E1
0 ETH0.0005749312
Withdraw56808402018-05-26 15:57:462255 days ago1527350266IN
0xca3FCD35...44B68E3E1
0 ETH0.000391339
Sell56804602018-05-26 14:22:142256 days ago1527344534IN
0xca3FCD35...44B68E3E1
0 ETH0.000431199
Withdraw56663942018-05-24 2:33:002258 days ago1527129180IN
0xca3FCD35...44B68E3E1
0 ETH0.0004348210
Sell56663862018-05-24 2:30:322258 days ago1527129032IN
0xca3FCD35...44B68E3E1
0 ETH0.000435999.1
Buy56592942018-05-22 20:21:002259 days ago1527020460IN
0xca3FCD35...44B68E3E1
0.01 ETH0.0010170111
Buy56519742018-05-21 13:04:422261 days ago1526907882IN
0xca3FCD35...44B68E3E1
0.1 ETH0.0009992916
Withdraw56495822018-05-21 3:01:542261 days ago1526871714IN
0xca3FCD35...44B68E3E1
0 ETH0.0006522315
Sell56495732018-05-21 3:00:442261 days ago1526871644IN
0xca3FCD35...44B68E3E1
0 ETH0.0004791110
Withdraw56459212018-05-20 11:31:262262 days ago1526815886IN
0xca3FCD35...44B68E3E1
0 ETH0.000347858
Withdraw56448062018-05-20 6:48:482262 days ago1526798928IN
0xca3FCD35...44B68E3E1
0 ETH0.000478311
Sell56448042018-05-20 6:47:522262 days ago1526798872IN
0xca3FCD35...44B68E3E1
0 ETH0.0005277211
Buy56439512018-05-20 3:11:332262 days ago1526785893IN
0xca3FCD35...44B68E3E1
0.026 ETH0.000500618
Buy56437182018-05-20 2:13:552262 days ago1526782435IN
0xca3FCD35...44B68E3E1
0.01 ETH0.000647197
Buy56431382018-05-19 23:38:542262 days ago1526773134IN
0xca3FCD35...44B68E3E1
0.001 ETH0.000369824
Sell56430242018-05-19 23:10:192262 days ago1526771419IN
0xca3FCD35...44B68E3E1
0 ETH0.000287466
Buy56412812018-05-19 15:54:252262 days ago1526745265IN
0xca3FCD35...44B68E3E1
0.052 ETH0.0006257710
Buy56386282018-05-19 4:17:362263 days ago1526703456IN
0xca3FCD35...44B68E3E1
0.05 ETH0.000563199
Buy56384842018-05-19 3:40:452263 days ago1526701245IN
0xca3FCD35...44B68E3E1
0.4 ETH0.00056219
Buy56384242018-05-19 3:28:332263 days ago1526700513IN
0xca3FCD35...44B68E3E1
0.13 ETH0.0009245610
Buy56374142018-05-18 23:09:442263 days ago1526684984IN
0xca3FCD35...44B68E3E1
0.08 ETH0.0006245610
Buy56373432018-05-18 22:52:372263 days ago1526683957IN
0xca3FCD35...44B68E3E1
0.235 ETH0.00083219
View all transactions

Latest 9 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
57389202018-06-05 23:17:032245 days ago1528240623
0xca3FCD35...44B68E3E1
1.75965099 ETH
57178722018-06-02 5:26:002249 days ago1527917160
0xca3FCD35...44B68E3E1
0.09796177 ETH
56808402018-05-26 15:57:462255 days ago1527350266
0xca3FCD35...44B68E3E1
0.00116131 ETH
56663942018-05-24 2:33:002258 days ago1527129180
0xca3FCD35...44B68E3E1
0.0116323 ETH
56495822018-05-21 3:01:542261 days ago1526871714
0xca3FCD35...44B68E3E1
0.11287657 ETH
56459212018-05-20 11:31:262262 days ago1526815886
0xca3FCD35...44B68E3E1
0.04325592 ETH
56448062018-05-20 6:48:482262 days ago1526798928
0xca3FCD35...44B68E3E1
0.47671434 ETH
56371942018-05-18 22:16:212263 days ago1526681781
0xca3FCD35...44B68E3E1
0.0009799 ETH
56341242018-05-18 9:13:162264 days ago1526634796
0xca3FCD35...44B68E3E1
0.04898894 ETH
Loading...
Loading

Similar Match Source Code
This contract matches the deployed Bytecode of the Source Code for Contract 0xbC89df5D...839FBEd83
The constructor portion of the code might be different and could alter the actual behaviour of the contract

Contract Name:
Poppy

Compiler Version
v0.4.20+commit.3155dd80

Optimization Enabled:
No with 200 runs

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

pragma solidity ^0.4.20;

/*
===================================
    ____
   / __ \ ____   ____   ____   __  __
  / /_/ // __ \ / __ \ / __ \ / / / /
 / ____// /_/ // /_/ // /_/ // /_/ /
/_/     \____// .___// .___/ \__, /
             /_/    /_/     /____/

Proof of Purchases Providing Yields
===================================

This application uses open source code,
we acknowledge and are grateful to the developers of the original PoWH 3D.

Visit 0xB3775fB83F7D12A36E0475aBdD1FCA35c091efBe to learn more.
*/

contract Poppy {

    modifier onlyTokenHolders() {
        require(myTokens() > 0);
        _;
    }

    modifier onlyProfitHolders() {
        require(myDividends(true) > 0);
        _;
    }

    modifier onlyAdministrator(){
        address _customerAddress = msg.sender;
        require(administrators[keccak256(_customerAddress)]);
        _;
    }

    event onTokenPurchase(
        address indexed customerAddress,
        uint256 incomingEthereum,
        uint256 tokensMinted,
        address indexed referredBy
    );

    event onTokenSell(
        address indexed customerAddress,
        uint256 tokensBurned,
        uint256 ethereumEarned
    );

    event onReinvestment(
        address indexed customerAddress,
        uint256 ethereumReinvested,
        uint256 tokensMinted
    );

    event onWithdraw(
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );

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

    string public name = "Poppy";
    string public symbol = "XPY";
    uint8 constant public decimals = 18;
    uint8 constant internal dividendFee_ = 100;
    uint256 constant internal tokenPriceInitial_ = 0.00000001 ether;
    uint256 constant internal tokenPriceIncremental_ = 0.000000001 ether;
    uint256 constant internal magnitude = 2**64;

    uint256 public stakingRequirement = 100e18;

    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    uint256 internal tokenSupply_ = 0;
    uint256 internal profitPerShare_;

    mapping(bytes32 => bool) public administrators;

    function Poppy()
        public
    {
        administrators[0x4543c2cf87cc692c1b7ebfef60c9cd7f9e3d2813f276079bc1b5eba1007ada51] = true;
    }

    function buy(address _referredBy)
        public
        payable
        returns(uint256)
    {
        purchaseTokens(msg.value, _referredBy);
    }

    function()
        payable
        public
    {
        purchaseTokens(msg.value, 0x0);
    }

    function reinvest()
        onlyProfitHolders()
        public
    {

        uint256 _dividends = myDividends(false);

        address _customerAddress = msg.sender;
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);

        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        uint256 _tokens = purchaseTokens(_dividends, 0x0);

        onReinvestment(_customerAddress, _dividends, _tokens);
    }

    function exit()
        public
    {
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if(_tokens > 0) sell(_tokens);

        withdraw();
    }

    function withdraw()
        onlyProfitHolders()
        public
    {
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false); // get ref. bonus later in the code

        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);

        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        _customerAddress.transfer(_dividends);

        onWithdraw(_customerAddress, _dividends);
    }

    function sell(uint256 _amountOfTokens)
        onlyTokenHolders()
        public
    {

        address _customerAddress = msg.sender;
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ethereum = tokensToEthereum_(_tokens);
        uint256 _dividends = SafeMath.div(_ethereum, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);

        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);

        int256 _updatedPayouts = (int256) (profitPerShare_ * _tokens + (_taxedEthereum * magnitude));
        payoutsTo_[_customerAddress] -= _updatedPayouts;

        if (tokenSupply_ > 0) {
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }

        onTokenSell(_customerAddress, _tokens, _taxedEthereum);
    }

    function transfer(address _toAddress, uint256 _amountOfTokens)
        onlyTokenHolders()
        public
        returns(bool)
    {

        address _customerAddress = msg.sender;

        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        if(myDividends(true) > 0) withdraw();

        uint256 _tokenFee = SafeMath.div(_amountOfTokens, dividendFee_);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        uint256 _dividends = tokensToEthereum_(_tokenFee);

        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _amountOfTokens);
        tokenBalanceLedger_[_toAddress] = SafeMath.add(tokenBalanceLedger_[_toAddress], _taxedTokens);

        payoutsTo_[_customerAddress] -= (int256) (profitPerShare_ * _amountOfTokens);
        payoutsTo_[_toAddress] += (int256) (profitPerShare_ * _taxedTokens);

        profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);

        Transfer(_customerAddress, _toAddress, _taxedTokens);

        return true;

    }

    function setAdministrator(bytes32 _identifier, bool _status)
        onlyAdministrator()
        public
    {
        administrators[_identifier] = _status;
    }

    function setStakingRequirement(uint256 _amountOfTokens)
        onlyAdministrator()
        public
    {
        stakingRequirement = _amountOfTokens;
    }

    function setName(string _name)
        onlyAdministrator()
        public
    {
        name = _name;
    }

    function setSymbol(string _symbol)
        onlyAdministrator()
        public
    {
        symbol = _symbol;
    }

    function totalEthereumBalance()
        public
        view
        returns(uint)
    {
        return this.balance;
    }

    function totalSupply()
        public
        view
        returns(uint256)
    {
        return tokenSupply_;
    }

    function myTokens()
        public
        view
        returns(uint256)
    {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }

    function myDividends(bool _includeReferralBonus)
        public
        view
        returns(uint256)
    {
        address _customerAddress = msg.sender;
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
    }

    function balanceOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return tokenBalanceLedger_[_customerAddress];
    }

    function dividendsOf(address _customerAddress)
        view
        public
        returns(uint256)
    {
        return (uint256) ((int256)(profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }

    function sellPrice()
        public
        view
        returns(uint256)
    {
        if(tokenSupply_ == 0){
            return tokenPriceInitial_ - tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(_ethereum, dividendFee_  );
            uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
            return _taxedEthereum;
        }
    }

    function buyPrice()
        public
        view
        returns(uint256)
    {
        if(tokenSupply_ == 0){
            return tokenPriceInitial_ + tokenPriceIncremental_;
        } else {
            uint256 _ethereum = tokensToEthereum_(1e18);
            uint256 _dividends = SafeMath.div(_ethereum, dividendFee_  );
            uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends);
            return _taxedEthereum;
        }
    }

    function calculateTokensReceived(uint256 _ethereumToSpend)
        public
        view
        returns(uint256)
    {
        uint256 _dividends = SafeMath.div(_ethereumToSpend, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);

        return _amountOfTokens;
    }

    function calculateEthereumReceived(uint256 _tokensToSell)
        public
        view
        returns(uint256)
    {
        require(_tokensToSell <= tokenSupply_);
        uint256 _ethereum = tokensToEthereum_(_tokensToSell);
        uint256 _dividends = SafeMath.div(_ethereum, dividendFee_);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        return _taxedEthereum;
    }

    function purchaseTokens(uint256 _incomingEthereum, address _referredBy)
        internal
        returns(uint256)
    {
        address _customerAddress = msg.sender;
        uint256 _undividedDividends = SafeMath.div(_incomingEthereum, dividendFee_);
        uint256 _referralBonus = SafeMath.div(_undividedDividends, 3);
        uint256 _dividends = SafeMath.sub(_undividedDividends, _referralBonus);
        uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _undividedDividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
        uint256 _fee = _dividends * magnitude;

        require(_amountOfTokens > 0 && (SafeMath.add(_amountOfTokens,tokenSupply_) > tokenSupply_));

        if(
            _referredBy != 0x0000000000000000000000000000000000000000 &&

            _referredBy != _customerAddress &&

            tokenBalanceLedger_[_referredBy] >= stakingRequirement
        ){
            referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
        } else {
            _dividends = SafeMath.add(_dividends, _referralBonus);
            _fee = _dividends * magnitude;
        }

        if(tokenSupply_ > 0){

            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);

            profitPerShare_ += (_dividends * magnitude / (tokenSupply_));

            _fee = _fee - (_fee-(_amountOfTokens * (_dividends * magnitude / (tokenSupply_))));

        } else {
            tokenSupply_ = _amountOfTokens;
        }
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        int256 _updatedPayouts = (int256) ((profitPerShare_ * _amountOfTokens) - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;

        onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy);

        return _amountOfTokens;
    }

    function ethereumToTokens_(uint256 _ethereum)
        internal
        view
        returns(uint256)
    {
        uint256 _tokenPriceInitial = tokenPriceInitial_ * 1e18;
        uint256 _tokensReceived =
         (
            (
                SafeMath.sub(
                    (sqrt
                        (
                            (_tokenPriceInitial**2)
                            +
                            (2*(tokenPriceIncremental_ * 1e18)*(_ethereum * 1e18))
                            +
                            (((tokenPriceIncremental_)**2)*(tokenSupply_**2))
                            +
                            (2*(tokenPriceIncremental_)*_tokenPriceInitial*tokenSupply_)
                        )
                    ), _tokenPriceInitial
                )
            )/(tokenPriceIncremental_)
        )-(tokenSupply_)
        ;

        return _tokensReceived;
    }

     function tokensToEthereum_(uint256 _tokens)
        internal
        view
        returns(uint256)
    {

        uint256 tokens_ = (_tokens + 1e18);
        uint256 _tokenSupply = (tokenSupply_ + 1e18);
        uint256 _etherReceived =
        (
            SafeMath.sub(
                (
                    (
                        (
                            tokenPriceInitial_ +(tokenPriceIncremental_ * (_tokenSupply/1e18))
                        )-tokenPriceIncremental_
                    )*(tokens_ - 1e18)
                ),(tokenPriceIncremental_*((tokens_**2-tokens_)/1e18))/2
            )
        /1e18);
        return _etherReceived;
    }

    function sqrt(uint x) internal pure returns (uint y) {
        uint z = (x + 1) / 2;
        y = x;
        while (z < y) {
            y = z;
            z = (x / z + z) / 2;
        }
    }
}

library SafeMath {

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        assert(c / a == b);
        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a / b;
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        assert(c >= a);
        return c;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"dividendsOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_ethereumToSpend","type":"uint256"}],"name":"calculateTokensReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_tokensToSell","type":"uint256"}],"name":"calculateEthereumReceived","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"bytes32"}],"name":"administrators","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"withdraw","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"sellPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"stakingRequirement","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_includeReferralBonus","type":"bool"}],"name":"myDividends","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalEthereumBalance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_customerAddress","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"setStakingRequirement","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_identifier","type":"bytes32"},{"name":"_status","type":"bool"}],"name":"setAdministrator","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"myTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_toAddress","type":"address"},{"name":"_amountOfTokens","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_symbol","type":"string"}],"name":"setSymbol","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_name","type":"string"}],"name":"setName","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_amountOfTokens","type":"uint256"}],"name":"sell","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"exit","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_referredBy","type":"address"}],"name":"buy","outputs":[{"name":"","type":"uint256"}],"payable":true,"stateMutability":"payable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","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":"incomingEthereum","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"},{"indexed":true,"name":"referredBy","type":"address"}],"name":"onTokenPurchase","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"tokensBurned","type":"uint256"},{"indexed":false,"name":"ethereumEarned","type":"uint256"}],"name":"onTokenSell","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumReinvested","type":"uint256"},{"indexed":false,"name":"tokensMinted","type":"uint256"}],"name":"onReinvestment","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"customerAddress","type":"address"},{"indexed":false,"name":"ethereumWithdrawn","type":"uint256"}],"name":"onWithdraw","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"}]

Deployed Bytecode

0x606060405260043610610148576000357c0100000000000000000000000000000000000000000000000000000000900463ffffffff16806265318b1461015657806306fdde03146101a357806310d0ffdd1461023157806318160ddd146102685780632260937314610291578063313ce567146102c8578063392efb52146102f75780633ccfd60b146103365780634b7503341461034b57806356d399e814610374578063688abbf71461039d5780636b2f4632146103d657806370a08231146103ff5780638328b6101461044c5780638620410b1461046f57806389135ae914610498578063949e8acd146104ca57806395d89b41146104f3578063a9059cbb14610581578063b84c8246146105db578063c47f002714610638578063e4849b3214610695578063e9fad8ee146106b8578063f088d547146106cd578063fdb5a03e1461070f575b610153346000610724565b50005b341561016157600080fd5b61018d600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610ae4565b6040518082815260200191505060405180910390f35b34156101ae57600080fd5b6101b6610b86565b6040518080602001828103825283818151815260200191508051906020019080838360005b838110156101f65780820151818401526020810190506101db565b50505050905090810190601f1680156102235780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561023c57600080fd5b6102526004808035906020019091905050610c24565b6040518082815260200191505060405180910390f35b341561027357600080fd5b61027b610c5c565b6040518082815260200191505060405180910390f35b341561029c57600080fd5b6102b26004808035906020019091905050610c66565b6040518082815260200191505060405180910390f35b34156102d357600080fd5b6102db610caf565b604051808260ff1660ff16815260200191505060405180910390f35b341561030257600080fd5b61031c600480803560001916906020019091905050610cb4565b604051808215151515815260200191505060405180910390f35b341561034157600080fd5b610349610cd4565b005b341561035657600080fd5b61035e610e71565b6040518082815260200191505060405180910390f35b341561037f57600080fd5b610387610ece565b6040518082815260200191505060405180910390f35b34156103a857600080fd5b6103c060048080351515906020019091905050610ed4565b6040518082815260200191505060405180910390f35b34156103e157600080fd5b6103e9610f40565b6040518082815260200191505060405180910390f35b341561040a57600080fd5b610436600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050610f5f565b6040518082815260200191505060405180910390f35b341561045757600080fd5b61046d6004808035906020019091905050610fa8565b005b341561047a57600080fd5b61048261103c565b6040518082815260200191505060405180910390f35b34156104a357600080fd5b6104c86004808035600019169060200190919080351515906020019091905050611099565b005b34156104d557600080fd5b6104dd61115a565b6040518082815260200191505060405180910390f35b34156104fe57600080fd5b61050661116f565b6040518080602001828103825283818151815260200191508051906020019080838360005b8381101561054657808201518184015260208101905061052b565b50505050905090810190601f1680156105735780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561058c57600080fd5b6105c1600480803573ffffffffffffffffffffffffffffffffffffffff1690602001909190803590602001909190505061120d565b604051808215151515815260200191505060405180910390f35b34156105e657600080fd5b610636600480803590602001908201803590602001908080601f01602080910402602001604051908101604052809392919081815260200183838082843782019150505050505091905050611526565b005b341561064357600080fd5b610693600480803590602001908201803590602001908080601f016020809104026020016040519081016040528093929190818152602001838380828437820191505050505050919050506115ca565b005b34156106a057600080fd5b6106b6600480803590602001909190505061166e565b005b34156106c357600080fd5b6106cb61189c565b005b6106f9600480803573ffffffffffffffffffffffffffffffffffffffff16906020019091905050611903565b6040518082815260200191505060405180910390f35b341561071a57600080fd5b610722611915565b005b60008060008060008060008060003397506107438b606460ff16611a89565b9650610750876003611a89565b955061075c8787611aa4565b94506107688b88611aa4565b935061077384611abd565b9250680100000000000000008502915060008311801561079f575060065461079d84600654611b46565b115b15156107aa57600080fd5b600073ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff161415801561081357508773ffffffffffffffffffffffffffffffffffffffff168a73ffffffffffffffffffffffffffffffffffffffff1614155b80156108605750600254600360008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410155b156108f6576108ae600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611b46565b600460008c73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610911565b6109008587611b46565b945068010000000000000000850291505b6000600654111561097c5761092860065484611b46565b60068190555060065468010000000000000000860281151561094657fe5b0460076000828254019250508190555060065468010000000000000000860281151561096e57fe5b048302820382039150610984565b826006819055505b6109cd600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205484611b46565b600360008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555081836007540203905080600560008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508973ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f022c0d992e4d873a3748436d960d5140c1f9721cf73f7ca5ec679d3d9f4fe2d58d86604051808381526020018281526020019250505060405180910390a3829850505050505050505092915050565b600068010000000000000000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546007540203811515610b7e57fe5b049050919050565b60008054600181600116156101000203166002900480601f016020809104026020016040519081016040528092919081815260200182805460018160011615610100020316600290048015610c1c5780601f10610bf157610100808354040283529160200191610c1c565b820191906000526020600020905b815481529060010190602001808311610bff57829003601f168201915b505050505081565b600080600080610c3885606460ff16611a89565b9250610c448584611aa4565b9150610c4f82611abd565b9050809350505050919050565b6000600654905090565b6000806000806006548511151515610c7d57600080fd5b610c8685611b64565b9250610c9683606460ff16611a89565b9150610ca28383611aa4565b9050809350505050919050565b601281565b60086020528060005260406000206000915054906101000a900460ff1681565b6000806000610ce36001610ed4565b111515610cef57600080fd5b339150610cfc6000610ed4565b9050680100000000000000008102600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054810190506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501515610e1f57600080fd5b8173ffffffffffffffffffffffffffffffffffffffff167fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc826040518082815260200191505060405180910390a25050565b60008060008060006006541415610e9557633b9aca006402540be400039350610ec8565b610ea6670de0b6b3a7640000611b64565b9250610eb683606460ff16611a89565b9150610ec28383611aa4565b90508093505b50505090565b60025481565b60008033905082610eed57610ee881610ae4565b610f38565b600460008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610f3682610ae4565b015b915050919050565b60003073ffffffffffffffffffffffffffffffffffffffff1631905090565b6000600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60003390506008600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561103157600080fd5b816002819055505050565b6000806000806000600654141561106057633b9aca006402540be400019350611093565b611071670de0b6b3a7640000611b64565b925061108183606460ff16611a89565b915061108d8383611b46565b90508093505b50505090565b60003390506008600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561112257600080fd5b8160086000856000191660001916815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60008033905061116981610f5f565b91505090565b60018054600181600116156101000203166002900480601f0160208091040260200160405190810160405280929190818152602001828054600181600116156101000203166002900480156112055780601f106111da57610100808354040283529160200191611205565b820191906000526020600020905b8154815290600101906020018083116111e857829003601f168201915b505050505081565b60008060008060008061121e61115a565b11151561122a57600080fd5b339350600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054861115151561127b57600080fd5b60006112876001610ed4565b111561129657611295610cd4565b5b6112a486606460ff16611a89565b92506112b08684611aa4565b91506112bb83611b64565b90506112c960065484611aa4565b600681905550611318600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487611aa4565b600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055506113a4600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205483611b46565b600360008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508560075402600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055508160075402600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055506114ad6007546006546801000000000000000084028115156114a757fe5b04611b46565b6007819055508673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040518082815260200191505060405180910390a3600194505050505092915050565b60003390506008600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff1615156115af57600080fd5b81600190805190602001906115c5929190611c57565b505050565b60003390506008600082604051808273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166c0100000000000000000000000002815260140191505060405180910390206000191660001916815260200190815260200160002060009054906101000a900460ff16151561165357600080fd5b8160009080519060200190611669929190611c57565b505050565b600080600080600080600061168161115a565b11151561168d57600080fd5b339550600360008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205487111515156116de57600080fd5b8694506116ea85611b64565b93506116fa84606460ff16611a89565b92506117068484611aa4565b915061171460065486611aa4565b600681905550611763600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205486611aa4565b600360008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550680100000000000000008202856007540201905080600560008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506000600654111561183d5761183660075460065468010000000000000000860281151561183057fe5b04611b46565b6007819055505b8573ffffffffffffffffffffffffffffffffffffffff167fc4823739c5787d2ca17e404aa47d5569ae71dfb49cbf21b3f6152ed238a311398684604051808381526020018281526020019250505060405180910390a250505050505050565b600080339150600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060008111156118f7576118f68161166e565b5b6118ff610cd4565b5050565b600061190f3483610724565b50919050565b6000806000806119256001610ed4565b11151561193157600080fd5b61193b6000610ed4565b9250339150680100000000000000008302600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054830192506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611a2c836000610724565b90508173ffffffffffffffffffffffffffffffffffffffff167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b6000808284811515611a9757fe5b0490508091505092915050565b6000828211151515611ab257fe5b818303905092915050565b6000806000670de0b6b3a76400006402540be400029150600654633b9aca00611b2f611b2960065486633b9aca00600202020260026006540a6002633b9aca000a02670de0b6b3a76400008a02670de0b6b3a7640000633b9aca0002600202026002890a010101611c0c565b85611aa4565b811515611b3857fe5b040390508092505050919050565b6000808284019050838110151515611b5a57fe5b8091505092915050565b600080600080670de0b6b3a764000085019250670de0b6b3a7640000600654019150670de0b6b3a7640000611bf5670de0b6b3a76400008503633b9aca00670de0b6b3a764000086811515611bb557fe5b04633b9aca00026402540be4000103026002670de0b6b3a7640000876002890a03811515611bdf57fe5b04633b9aca0002811515611bef57fe5b04611aa4565b811515611bfe57fe5b049050809350505050919050565b600080600260018401811515611c1e57fe5b0490508291505b81811015611c51578091506002818285811515611c3e57fe5b0401811515611c4957fe5b049050611c25565b50919050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10611c9857805160ff1916838001178555611cc6565b82800160010185558215611cc6579182015b82811115611cc5578251825591602001919060010190611caa565b5b509050611cd39190611cd7565b5090565b611cf991905b80821115611cf5576000816000905550600101611cdd565b5090565b905600a165627a7a72305820ddc49401c3e9943eb2db9a0e0455e69bee195bb65cc5e3dd745426f5cd78873d0029

Swarm Source

bzzr://ddc49401c3e9943eb2db9a0e0455e69bee195bb65cc5e3dd745426f5cd78873d

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.