Contract 0x5b8AD60798eC10aD36E52625ff881801240C491a 2

 

Contract Overview

Balance:
1.443071037096545571 Ether

EtherValue:
$1,772.99 (@ $1,228.62/ETH)

Token:
 
Txn Hash
Method
Block
From
To
Value
0x99fc7cf79d5b6f35450c8197c468a3b25a42e94f6e251f1ccd29d5b133db80bfWithdraw147363542022-05-08 13:26:23212 days 21 hrs ago0x299551b43c57004e9775a273867b6b959847e678 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.00094102 21.98192685
0x31018d91a4931cbe8763c694a6bc330cd8b9ea7836f5cf73eabce1f818fd49b2Sell147363542022-05-08 13:26:23212 days 21 hrs ago0x299551b43c57004e9775a273867b6b959847e678 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.00092066 21.98192685
0x3caaf1fa369cae4e9c9bfac5b7b970bc40cd69627a60e2bc8cdc1223d4264060Withdraw146734242022-04-28 14:39:31222 days 20 hrs ago0x299551b43c57004e9775a273867b6b959847e678 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.00311928 72.86524402
0xf962c1b54d35044b2c76633279f8f1e2b9ebbeede37a938fdbe9a542d4559838Withdraw66309152018-11-02 17:22:481495 days 17 hrs ago0x109141d3e9660e0f3a16ef7b6abacec3a632c335 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.0002288610
0x96a47add46eec15e7ffc43c776ada7435e51e1e54bfdfdccefc5ea0c202060d5Withdraw62114632018-08-25 14:31:421564 days 20 hrs ago0x666512f841463ee45f27ef81197cecb964a1eb6c IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.0004351710
0xc3a51987a7a3e2b3343c35a88c503cdd4895b779885b2fae7c5ab093fbdf1446Sell62114602018-08-25 14:30:431564 days 20 hrs ago0x666512f841463ee45f27ef81197cecb964a1eb6c IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.0004855510
0x7b59fde20bc8dd64e0e98bbc1d81996044a16a4756e029e144b72d5bae11c2edWithdraw62114582018-08-25 14:29:551564 days 20 hrs ago0x666512f841463ee45f27ef81197cecb964a1eb6c IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.0004351710
0xd01f57ac61233d297bf59db30289bfb9066039654350d58b49b5de6290cdc42aWithdraw61830202018-08-20 19:08:171569 days 16 hrs ago0xab4485ca338b91087a09ae8bc141648bb1c6e967 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000130553
0x2710d419591d36bdf8cf2ddabe8b36f0ac0945ffe495891507d80c4e4b86ceb4Sell61829682018-08-20 18:55:021569 days 16 hrs ago0xab4485ca338b91087a09ae8bc141648bb1c6e967 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000066982
0x36379649e11df12b1a6230db890dbb1b264a6f6d34cf3c2fdc55b90e46c8c705Withdraw61829682018-08-20 18:55:021569 days 16 hrs ago0xab4485ca338b91087a09ae8bc141648bb1c6e967 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000087032
0xdac859f084ce8faa53bdd96dce7612f1735bd9ee4c02d0b733b0d6cd9cef1bb3Withdraw61784322018-08-20 0:26:061570 days 10 hrs ago0x22db120459576ee9db8ba925568530e9e0f3d33c IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000265456.1
0xca440bd0517e58dda5869a1943dd77cb2b57060644bb33335c3145ef4fd493eaSell61740902018-08-19 6:57:181571 days 4 hrs ago0x22db120459576ee9db8ba925568530e9e0f3d33c IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000193964
0x38078d748ec9ae37ef0cdfc1529b1b2ee3e4c9d24421db7a850dcf4572a47d8cSell61740822018-08-19 6:55:141571 days 4 hrs ago0x22db120459576ee9db8ba925568530e9e0f3d33c IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000242455
0x4991745d614c89a374e36eede3adb15cb4e168a2dd1658fd3a5eca88c8a558c9Sell61557052018-08-16 4:06:041574 days 7 hrs ago0x63913b8b5c6438f23c986ad6fdf103523b17fb90 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.0004855510
0xc0162f4622aa321d88c18e4fb91b25ba48bd9fe0a9c3e228e664470fe64c7f4fWithdraw61556152018-08-16 3:44:441574 days 7 hrs ago0x63913b8b5c6438f23c986ad6fdf103523b17fb90 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.0006962716
0x702e1a1adbdf904d8163dc80860c7dd9da655833446b63db7ddc319fcd49f94bWithdraw61462262018-08-14 13:47:161575 days 21 hrs ago0x21db5ce96df3b94a9def892b01f8a5a061630a9e IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000304617
0x98ba3ff740ff52ccead9a45d009ddc21ceb1005998ab1917269e840c534ad692Sell61462212018-08-14 13:46:331575 days 21 hrs ago0x21db5ce96df3b94a9def892b01f8a5a061630a9e IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000201336
0x0519d398bc4979f9aec1086d46ec31d99bcd8d0122ce99a0bf410e2700b31c43Sell61462152018-08-14 13:44:391575 days 21 hrs ago0x21db5ce96df3b94a9def892b01f8a5a061630a9e IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000242775
0x9effc26af3121c5934559fd0394183fa13c217efd4da1402d2eecc108867a489Withdraw61461482018-08-14 13:24:481575 days 21 hrs ago0x8e2266ba87237b20f7e650f640c7af22275229d9 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000304617
0xf1ef526ccdba7c24945184d365b75ada2772de220b6f4254c6fabd067e43974bSell61461392018-08-14 13:22:431575 days 21 hrs ago0x8e2266ba87237b20f7e650f640c7af22275229d9 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000234887
0xc1e49735526540d8997505d864299eb3ef46c6843ee59eae9b28802fa207a994Withdraw61461302018-08-14 13:20:301575 days 21 hrs ago0x8e2266ba87237b20f7e650f640c7af22275229d9 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000304617
0xee05b3cef1cc5537d12e60cda3a26f7c1f5671c18c01afaef9d7d5aa0daf5a34Withdraw61401392018-08-13 13:10:191576 days 22 hrs ago0x522273122b20212fe255875a4737b6f50cc72006 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000130553
0x87c55107104e5e944a8a4cbd184db321ba5696d9d7273dfe098082072eb53fa0Sell61398452018-08-13 11:54:331576 days 23 hrs ago0x522273122b20212fe255875a4737b6f50cc72006 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000145473
0x94ba519e190638fa6017897b81a231d14640eb00d6462a2ab318997a6a0f619aWithdraw61237182018-08-10 18:11:391579 days 17 hrs ago0xc0de226d38c0c40487bb5f851db8798f6379c2f4 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000191474.4
0xa8195b39bac433d1456f8d095d20c83889c390d9c8abb23e9aefc2d4c213098cSell61237062018-08-10 18:08:171579 days 17 hrs ago0xc0de226d38c0c40487bb5f851db8798f6379c2f4 IN  0x5b8ad60798ec10ad36e52625ff881801240c491a0 Ether0.000243095
[ Download CSV Export 
Latest 25 internal transaction
Parent Txn Hash Block From To Value
0x99fc7cf79d5b6f35450c8197c468a3b25a42e94f6e251f1ccd29d5b133db80bf147363542022-05-08 13:26:23212 days 21 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x299551b43c57004e9775a273867b6b959847e6780.40375 Ether
0x3caaf1fa369cae4e9c9bfac5b7b970bc40cd69627a60e2bc8cdc1223d4264060146734242022-04-28 14:39:31222 days 20 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x299551b43c57004e9775a273867b6b959847e6780.11495693 Ether
0x96a47add46eec15e7ffc43c776ada7435e51e1e54bfdfdccefc5ea0c202060d562114632018-08-25 14:31:421564 days 20 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x666512f841463ee45f27ef81197cecb964a1eb6c0.28500481 Ether
0x7b59fde20bc8dd64e0e98bbc1d81996044a16a4756e029e144b72d5bae11c2ed62114582018-08-25 14:29:551564 days 20 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x666512f841463ee45f27ef81197cecb964a1eb6c0.04701442 Ether
0xd01f57ac61233d297bf59db30289bfb9066039654350d58b49b5de6290cdc42a61830202018-08-20 19:08:171569 days 16 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0xab4485ca338b91087a09ae8bc141648bb1c6e9670.008075 Ether
0x36379649e11df12b1a6230db890dbb1b264a6f6d34cf3c2fdc55b90e46c8c70561829682018-08-20 18:55:021569 days 16 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0xab4485ca338b91087a09ae8bc141648bb1c6e9670.00303581 Ether
0xdac859f084ce8faa53bdd96dce7612f1735bd9ee4c02d0b733b0d6cd9cef1bb361784322018-08-20 0:26:061570 days 10 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x22db120459576ee9db8ba925568530e9e0f3d33c0.00000544 Ether
0xc0162f4622aa321d88c18e4fb91b25ba48bd9fe0a9c3e228e664470fe64c7f4f61556152018-08-16 3:44:441574 days 7 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x63913b8b5c6438f23c986ad6fdf103523b17fb900.03003152 Ether
0x702e1a1adbdf904d8163dc80860c7dd9da655833446b63db7ddc319fcd49f94b61462262018-08-14 13:47:161575 days 21 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x21db5ce96df3b94a9def892b01f8a5a061630a9e0.09950008 Ether
0x9effc26af3121c5934559fd0394183fa13c217efd4da1402d2eecc108867a48961461482018-08-14 13:24:481575 days 21 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x8e2266ba87237b20f7e650f640c7af22275229d90.8075 Ether
0xc1e49735526540d8997505d864299eb3ef46c6843ee59eae9b28802fa207a99461461302018-08-14 13:20:301575 days 21 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x8e2266ba87237b20f7e650f640c7af22275229d90.14881381 Ether
0xee05b3cef1cc5537d12e60cda3a26f7c1f5671c18c01afaef9d7d5aa0daf5a3461401392018-08-13 13:10:191576 days 22 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x522273122b20212fe255875a4737b6f50cc720060.01089343 Ether
0x94ba519e190638fa6017897b81a231d14640eb00d6462a2ab318997a6a0f619a61237182018-08-10 18:11:391579 days 17 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0xc0de226d38c0c40487bb5f851db8798f6379c2f40.0105166 Ether
0x5b5b094f791163d803447cf3c7482d9995b815851d3c3cc480588e7b3bb70e9261060392018-08-07 18:36:461582 days 16 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0xfde45a8240dcfe37753ddab9865ea8f9f44d49bc0.00007752 Ether
0xe3004c680dba7d78e7d1ec7a9618925a6e9e3fb7eb4cca63e66211f5c62a076260920322018-08-05 9:52:501585 days 1 hr ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x16e76819ac1f0dfbecc48dfe93b198830e0c85eb0.03400387 Ether
0xd2d5e3686b6b0164c63dd50a74f90945eca66b44d3a318f586a32438bfb84b7c60893472018-08-04 22:58:151585 days 12 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0xff3727d6bb20ccf0425fdf7de55aea9c095c54f41.03931235 Ether
0xfb4cc2989d6971bcd1f35efa163b44c166d8f5842b3a406af835e5ca39e9bb8d60866752018-08-04 12:02:441585 days 23 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x2d4c1a1b512ca261ba389741be2d53f17d5f57710.14660508 Ether
0x2cceaba13e603a427c4633a6f3501a3b31450c832c6ceef1b34dc49e56c0e6a960843522018-08-04 2:51:311586 days 8 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x21db5ce96df3b94a9def892b01f8a5a061630a9e0.02362414 Ether
0x32156b1b79f0e41a621cbf695661e26c489f44a14864f5e05e9deaa48c62af2060842692018-08-04 2:33:221586 days 8 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x109141d3e9660e0f3a16ef7b6abacec3a632c3356.08974705 Ether
0x81fed433f2487f1daeb3d50d12687889b46d7931a31f88ef47426b4594bbbb1860813542018-08-03 14:56:201586 days 20 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491aENS Name h0h1.eth0.00654651 Ether
0xa7ff33ebed30b8eda51920247e110e26c29dc204a32410032fd025673a6c909860770782018-08-02 21:28:291587 days 13 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x59d25b70317a875639068a0c0a469c603b0505230.02945011 Ether
0x7f6482dd624e9a556455b65445a79745203a4a02d71d113bc7ef3859031789d660770572018-08-02 21:23:381587 days 13 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x59d25b70317a875639068a0c0a469c603b0505230.00125894 Ether
0x9e85aa2769dcf073bd179b00b656f7d425d506954e6968608af4f9f8e0906a5760747862018-08-02 11:57:411587 days 23 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x2d4c1a1b512ca261ba389741be2d53f17d5f57710.0345198 Ether
0x68052d30898a03f8decf6ad92a30399598d608424ae095f8ed8b9018a528589960738512018-08-02 8:05:241588 days 3 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x56f248c36642b58251d44e3328e735c01cba875d1.615 Ether
0x158c589557138cdcde092f4bff9199d528e95fc93f568557ab211b360acaed3f60738352018-08-02 7:59:511588 days 3 hrs ago 0x5b8ad60798ec10ad36e52625ff881801240c491a0x56f248c36642b58251d44e3328e735c01cba875d0.0559323 Ether
[ Download CSV Export 
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
P4

Compiler Version
v0.4.24+commit.e67f0147

Optimization Enabled:
Yes with 200 runs

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

pragma solidity ^0.4.21;

// File: contracts/P4RTYRelay.sol

interface P4RTYRelay {
    /**
    * @dev Will relay to internal implementation
    * @param beneficiary Token purchaser
    * @param tokenAmount Number of tokens to be minted
    */
    function relay(address beneficiary, uint256 tokenAmount) external;
}

// File: openzeppelin-solidity/contracts/math/SafeMath.sol

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {

  /**
  * @dev Multiplies two numbers, throws on overflow.
  */
  function mul(uint256 a, uint256 b) internal pure returns (uint256 c) {
    if (a == 0) {
      return 0;
    }
    c = a * b;
    assert(c / a == b);
    return c;
  }

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws 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 a / b;
  }

  /**
  * @dev Subtracts two numbers, throws on overflow (i.e. if subtrahend is greater than minuend).
  */
  function sub(uint256 a, uint256 b) internal pure returns (uint256) {
    assert(b <= a);
    return a - b;
  }

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256 c) {
    c = a + b;
    assert(c >= a);
    return c;
  }
}

// File: openzeppelin-solidity/contracts/ownership/Ownable.sol

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
  address public owner;


  event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


  /**
   * @dev The Ownable constructor sets the original `owner` of the contract to the sender
   * account.
   */
  constructor() public {
    owner = msg.sender;
  }

  /**
   * @dev Throws if called by any account other than the owner.
   */
  modifier onlyOwner() {
    require(msg.sender == owner);
    _;
  }

  /**
   * @dev Allows the current owner to transfer control of the contract to a newOwner.
   * @param newOwner The address to transfer ownership to.
   */
  function transferOwnership(address newOwner) public onlyOwner {
    require(newOwner != address(0));
    emit OwnershipTransferred(owner, newOwner);
    owner = newOwner;
  }

}

// File: contracts/P4.sol

/*
 * Visit: https://p4rty.io
 * Discord: https://discord.gg/7y3DHYF
 * Stable + DIVIS: Whale and Minow Friendly
 * Fees balanced for capital preservation for long term HODLERS
 * Active depositors rewarded with P4RTY tokens; sellers forgiveness, just 5%
 * 50% of ETH value in earned P4RTY token rewards
 * P4RTYRelay is notified on all dividend producing transactions
 *
 *
 * P4
 * The worry free way to earn ETH & P4RTY reward tokens
 *
 * -> What?
 * The first true Virtual Deposit Contract:
 * [✓] Pegged to ETH, P4 protects your ETH balance; .001 ETH per P4 token
 * [✓] The only VDC that is part of the P4RTY Entertainment Network
 * [✓] Earn ERC20 P4RTY tokens on all ETH deposit activities; send them to family and friends
 * [✓] Referrals permanently saved in contract; reliable income for supporters, at any scale
 * [✓] 15% dividends for token purchase, shared among all token holders.
 * [✓] 5% dividends for token selling, shared among all token holders.
 * [✓] 1% dividends for token transfer, shared among all token holders.
 * [✓] 4.5% of deposit on referrals.
 * [✓] 3% of deposit for maintenance fee on deposits for development, operations, and promotion
 * [✓] 100 tokens to activate referral links; .1 ETH
*/

contract P4 is Ownable {


    /*=================================
    =            MODIFIERS            =
    =================================*/

    /// @dev Only people with tokens
    modifier onlyBagholders {
        require(myTokens() > 0);
        _;
    }

    /// @dev Only people with profits
    modifier onlyStronghands {
        require(myDividends(true) > 0);
        _;
    }


    /*==============================
    =            EVENTS            =
    ==============================*/

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

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

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

    event onWithdraw(
        address indexed customerAddress,
        uint256 ethereumWithdrawn
    );

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


    /*=====================================
    =            CONFIGURABLES            =
    =====================================*/

    string public name = "P4";
    string public symbol = "P4";
    uint8 constant public decimals = 18;

    /// @dev 15% dividends for token purchase
    uint8 constant internal entryFee_ = 15;

    /// @dev 1% dividends for token transfer
    uint8 constant internal transferFee_ = 1;

    /// @dev 5% dividends for token selling
    uint8 constant internal exitFee_ = 5;

    /// @dev 30% of entryFee_ (i.e. 4.5% dividends) is given to referrer
    uint8 constant internal refferalFee_ = 30;

    /// @dev 20% of entryFee (i.e. 3% dividends) is given to maintainer
    uint8 constant internal maintenanceFee = 20;
    address internal maintenanceAddress;

    uint256 constant internal tokenRatio_ = 1000;
    uint256 constant internal magnitude = 2 ** 64;

    /// @dev proof of stake (defaults at 100 tokens)
    uint256 public stakingRequirement = 100e18;


    /*=================================
     =            DATASETS            =
     ================================*/

    // amount of shares for each address (scaled number)
    mapping(address => uint256) internal tokenBalanceLedger_;
    mapping(address => uint256) internal referralBalance_;
    mapping(address => int256) internal payoutsTo_;
    //on chain referral tracking
    mapping(address => address) public referrals;
    uint256 internal tokenSupply_;
    uint256 internal profitPerShare_;

    P4RTYRelay public relay;


    /*=======================================
    =            PUBLIC FUNCTIONS           =
    =======================================*/

    constructor(address relayAddress) Ownable() public {
        updateRelay(relayAddress);
        //assume caller as default
        updateMaintenanceAddress(msg.sender);
    }

    function updateRelay (address relayAddress) onlyOwner public {
        //Set the relay
        relay = P4RTYRelay(relayAddress);
    }

    function updateMaintenanceAddress(address maintenance) onlyOwner public {
        maintenanceAddress = maintenance;
    }

    /// @dev Converts all incoming ethereum to tokens for the caller, and passes down the referral addy (if any)
    function buy(address _referredBy) public payable returns (uint256) {
        if(referrals[msg.sender]==0 && referrals[msg.sender]!=msg.sender){
            referrals[msg.sender]=_referredBy;
        }
        return purchaseTokens(msg.value);
    }

    /**
     * @dev Fallback function to handle ethereum that was send straight to the contract
     *  Unfortunately we cannot use a referral address this way.
     */
    function() payable public {
        purchaseTokens(msg.value);
    }

    /// @dev Converts all of caller's dividends to tokens.
    function reinvest() onlyStronghands public {
        // fetch dividends
        uint256 _dividends = myDividends(false); // retrieve ref. bonus later in the code

        // pay out the dividends virtually
        address _customerAddress = msg.sender;
        payoutsTo_[_customerAddress] +=  (int256) (_dividends * magnitude);

        // retrieve ref. bonus
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        // dispatch a buy order with the virtualized "withdrawn dividends"
        uint256 _tokens = purchaseTokens(_dividends);

        // fire event
        emit onReinvestment(_customerAddress, _dividends, _tokens);
    }

    /// @dev Alias of sell() and withdraw().
    function exit() external {
        // get token count for caller & sell them all
        address _customerAddress = msg.sender;
        uint256 _tokens = tokenBalanceLedger_[_customerAddress];
        if (_tokens > 0) sell(_tokens);

        // lambo delivery service
        withdraw();
    }

    /// @dev Withdraws all of the callers earnings.
    function withdraw() onlyStronghands public {
        // setup data
        address _customerAddress = msg.sender;
        uint256 _dividends = myDividends(false); // get ref. bonus later in the code

        // update dividend tracker
        payoutsTo_[_customerAddress] += (int256) (_dividends * magnitude);

        // add ref. bonus
        _dividends += referralBalance_[_customerAddress];
        referralBalance_[_customerAddress] = 0;

        // lambo delivery service
        _customerAddress.transfer(_dividends);

        // fire event
        emit onWithdraw(_customerAddress, _dividends);
    }

    /// @dev Liquifies tokens to ethereum.
    function sell(uint256 _amountOfTokens) onlyBagholders public {
        // setup data
        address _customerAddress = msg.sender;
        // russian hackers BTFO
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);
        uint256 _tokens = _amountOfTokens;
        uint256 _ethereum = tokensToEthereum_(_tokens);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);

        // burn the sold tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokens);
        tokenBalanceLedger_[_customerAddress] = SafeMath.sub(tokenBalanceLedger_[_customerAddress], _tokens);

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

        // dividing by zero is a bad idea
        if (tokenSupply_ > 0) {
            // update the amount of dividends per token
            profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);
        }

        // fire event
        emit onTokenSell(_customerAddress, _tokens, _taxedEthereum, now, buyPrice());
    }


    /**
     * @dev Transfer tokens from the caller to a new holder.
     *  Remember, there's a 15% fee here as well.
     */
    function transfer(address _toAddress, uint256 _amountOfTokens) onlyBagholders external returns (bool) {
        // setup
        address _customerAddress = msg.sender;

        // make sure we have the requested tokens
        require(_amountOfTokens <= tokenBalanceLedger_[_customerAddress]);

        // withdraw all outstanding dividends first
        if (myDividends(true) > 0) {
            withdraw();
        }

        // liquify a percentage of the tokens that are transfered
        // these are dispersed to shareholders
        uint256 _tokenFee = SafeMath.div(SafeMath.mul(_amountOfTokens, transferFee_), 100);
        uint256 _taxedTokens = SafeMath.sub(_amountOfTokens, _tokenFee);
        uint256 _dividends = tokensToEthereum_(_tokenFee);

        // burn the fee tokens
        tokenSupply_ = SafeMath.sub(tokenSupply_, _tokenFee);

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

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

        // disperse dividends among holders
        profitPerShare_ = SafeMath.add(profitPerShare_, (_dividends * magnitude) / tokenSupply_);

        // fire event
        emit Transfer(_customerAddress, _toAddress, _taxedTokens);

        // ERC20
        return true;
    }


    /*=====================================
    =      HELPERS AND CALCULATORS        =
    =====================================*/

    /**
     * @dev Method to view the current Ethereum stored in the contract
     *  Example: totalEthereumBalance()
     */
    function totalEthereumBalance() public view returns (uint256) {
        return address(this).balance;
    }

    /// @dev Retrieve the total token supply.
    function totalSupply() public view returns (uint256) {
        return tokenSupply_;
    }

    /// @dev Retrieve the tokens owned by the caller.
    function myTokens() public view returns (uint256) {
        address _customerAddress = msg.sender;
        return balanceOf(_customerAddress);
    }

    /**
     * @dev Retrieve the dividends owned by the caller.
     *  If `_includeReferralBonus` is to to 1/true, the referral bonus will be included in the calculations.
     *  The reason for this, is that in the frontend, we will want to get the total divs (global + ref)
     *  But in the internal calculations, we want them separate.
     */
    function myDividends(bool _includeReferralBonus) public view returns (uint256) {
        address _customerAddress = msg.sender;
        return _includeReferralBonus ? dividendsOf(_customerAddress) + referralBalance_[_customerAddress] : dividendsOf(_customerAddress) ;
    }

    /// @dev Retrieve the token balance of any single address.
    function balanceOf(address _customerAddress) public view returns (uint256) {
        return tokenBalanceLedger_[_customerAddress];
    }

    /// @dev Retrieve the dividend balance of any single address.
    function dividendsOf(address _customerAddress) public view returns (uint256) {
        return (uint256) ((int256) (profitPerShare_ * tokenBalanceLedger_[_customerAddress]) - payoutsTo_[_customerAddress]) / magnitude;
    }

    /// @dev Return the sell price of 1 individual token.
    function sellPrice() public pure returns (uint256) {
        uint256 _ethereum = tokensToEthereum_(1e18);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);

        return _taxedEthereum;

    }

    /// @dev Return the buy price of 1 individual token.
    function buyPrice() public pure returns (uint256) {
        uint256 _ethereum = tokensToEthereum_(1e18);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, entryFee_), 100);
        uint256 _taxedEthereum = SafeMath.add(_ethereum, _dividends);

        return _taxedEthereum;

    }

    /// @dev Function for the frontend to dynamically retrieve the price scaling of buy orders.
    function calculateTokensReceived(uint256 _ethereumToSpend) public pure returns (uint256) {
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereumToSpend, entryFee_), 100);
        uint256 _taxedEthereum = SafeMath.sub(_ethereumToSpend, _dividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);

        return _amountOfTokens;
    }

    /// @dev Function for the frontend to dynamically retrieve the price scaling of sell orders.
    function calculateEthereumReceived(uint256 _tokensToSell) public view returns (uint256) {
        require(_tokensToSell <= tokenSupply_);
        uint256 _ethereum = tokensToEthereum_(_tokensToSell);
        uint256 _dividends = SafeMath.div(SafeMath.mul(_ethereum, exitFee_), 100);
        uint256 _taxedEthereum = SafeMath.sub(_ethereum, _dividends);
        return _taxedEthereum;
    }


    /*==========================================
    =            INTERNAL FUNCTIONS            =
    ==========================================*/

    /// @dev Internal function to actually purchase the tokens.
    function purchaseTokens(uint256 _incomingEthereum) internal returns (uint256) {
        // data setup
        address _customerAddress = msg.sender;
        address _referredBy = referrals[msg.sender];
        uint256 _undividedDividends = SafeMath.div(SafeMath.mul(_incomingEthereum, entryFee_), 100);
        uint256 _maintenance = SafeMath.div(SafeMath.mul(_undividedDividends,maintenanceFee),100);
        uint256 _referralBonus = SafeMath.div(SafeMath.mul(_undividedDividends, refferalFee_), 100);
        //maintenance and referral come out of the buyin
        uint256 _dividends = SafeMath.sub(_undividedDividends, SafeMath.add(_referralBonus,_maintenance));
        uint256 _taxedEthereum = SafeMath.sub(_incomingEthereum, _undividedDividends);
        uint256 _amountOfTokens = ethereumToTokens_(_taxedEthereum);
        uint256 _fee = _dividends * magnitude;
        uint256 _tokenAllocation = SafeMath.div(_incomingEthereum,2);

        // no point in continuing execution if OP is a poorfag russian hacker
        // prevents overflow in the case that the pyramid somehow magically starts being used by everyone in the world
        // (or hackers)
        // and yes we know that the safemath function automatically rules out the "greater then" equasion.
        require(_amountOfTokens > 0 && SafeMath.add(_amountOfTokens, tokenSupply_) > tokenSupply_);

        //Apply maintenance fee as a referral
        referralBalance_[maintenanceAddress] = SafeMath.add(referralBalance_[maintenanceAddress], _maintenance);

        // is the user referred by a masternode?
        if (
        // is this a referred purchase?
            _referredBy != 0x0000000000000000000000000000000000000000 &&

            // no cheating!
            _referredBy != _customerAddress &&

            // does the referrer have at least X whole tokens?
            // i.e is the referrer a godly chad masternode
            tokenBalanceLedger_[_referredBy] >= stakingRequirement
        ) {
            // wealth redistribution
            referralBalance_[_referredBy] = SafeMath.add(referralBalance_[_referredBy], _referralBonus);
        } else {
            // no ref purchase
            // add the referral bonus back to the global dividends cake
            _dividends = SafeMath.add(_dividends, _referralBonus);
            _fee = _dividends * magnitude;
        }

        // we can't give people infinite ethereum
        if (tokenSupply_ > 0) {
            // add tokens to the pool
            tokenSupply_ = SafeMath.add(tokenSupply_, _amountOfTokens);

            // take the amount of dividends gained through this transaction, and allocates them evenly to each shareholder
            profitPerShare_ += (_dividends * magnitude / tokenSupply_);

            // calculate the amount of tokens the customer receives over his purchase
            _fee = _fee - (_fee - (_amountOfTokens * (_dividends * magnitude / tokenSupply_)));
        } else {
            // add tokens to the pool
            tokenSupply_ = _amountOfTokens;
        }

        // update circulating supply & the ledger address for the customer
        tokenBalanceLedger_[_customerAddress] = SafeMath.add(tokenBalanceLedger_[_customerAddress], _amountOfTokens);

        // Tells the contract that the buyer doesn't deserve dividends for the tokens before they owned them;
        // really i know you think you do but you don't
        int256 _updatedPayouts = (int256) (profitPerShare_ * _amountOfTokens - _fee);
        payoutsTo_[_customerAddress] += _updatedPayouts;

        //Notifying the relay is simple and should represent the total economic activity which is the _incomingEthereum
        //Every player is a customer and mints their own tokens when the buy or reinvest, relay P4RTY 50/50
        relay.relay(maintenanceAddress,_tokenAllocation);
        relay.relay(_customerAddress,_tokenAllocation);

        // fire event
        emit onTokenPurchase(_customerAddress, _incomingEthereum, _amountOfTokens, _referredBy, now, buyPrice());

        return _amountOfTokens;
    }

    /**
     * @dev Calculate Token price based on an amount of incoming ethereum
     *  It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation;
     *  Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
     */
    function ethereumToTokens_(uint256 _ethereum) internal pure returns (uint256) {
        return SafeMath.mul(_ethereum, tokenRatio_);
    }

    /**
     * @dev Calculate token sell value.
     *  It's an algorithm, hopefully we gave you the whitepaper with it in scientific notation;
     *  Some conversions occurred to prevent decimal errors or underflows / overflows in solidity code.
     */
    function tokensToEthereum_(uint256 _tokens) internal pure returns (uint256) {
        return SafeMath.div(_tokens, tokenRatio_);
    }

}

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":"pure","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":false,"inputs":[{"name":"maintenance","type":"address"}],"name":"updateMaintenanceAddress","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"relayAddress","type":"address"}],"name":"updateRelay","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"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":"pure","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":true,"inputs":[],"name":"buyPrice","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"pure","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":true,"inputs":[{"name":"","type":"address"}],"name":"referrals","outputs":[{"name":"","type":"address"}],"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":true,"inputs":[],"name":"relay","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","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":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"reinvest","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"relayAddress","type":"address"}],"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"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"price","type":"uint256"}],"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"},{"indexed":false,"name":"timestamp","type":"uint256"},{"indexed":false,"name":"price","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"},{"anonymous":false,"inputs":[{"indexed":true,"name":"previousOwner","type":"address"},{"indexed":true,"name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"}]

60c0604052600260808190527f503400000000000000000000000000000000000000000000000000000000000060a090815262000040916001919062000168565b506040805180820190915260028082527f5034000000000000000000000000000000000000000000000000000000000000602090920191825262000085918162000168565b5068056bc75e2d63100000600455348015620000a057600080fd5b50604051602080620014af833981016040525160008054600160a060020a03191633179055620000d981640100000000620000f4810204565b620000ed336401000000006200012e810204565b506200020d565b600054600160a060020a031633146200010c57600080fd5b600b8054600160a060020a031916600160a060020a0392909216919091179055565b600054600160a060020a031633146200014657600080fd5b60038054600160a060020a031916600160a060020a0392909216919091179055565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001ab57805160ff1916838001178555620001db565b82800160010185558215620001db579182015b82811115620001db578251825591602001919060010190620001be565b50620001e9929150620001ed565b5090565b6200020a91905b80821115620001e95760008155600101620001f4565b90565b611292806200021d6000396000f3006080604052600436106101525763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166265318b811461015e57806306fdde031461019157806310d0ffdd1461021b57806318160ddd146102335780632260937314610248578063275893a91461026057806329ca9dca14610283578063313ce567146102a45780633ccfd60b146102cf5780634b750334146102e457806356d399e8146102f9578063688abbf71461030e5780636b2f46321461032857806370a082311461033d5780638620410b1461035e5780638da5cb5b14610373578063949e8acd146103a457806395d89b41146103b95780639ca423b3146103ce578063a9059cbb146103ef578063b59589d114610427578063e4849b321461043c578063e9fad8ee14610454578063f088d54714610469578063f2fde38b1461047d578063fdb5a03e1461049e575b61015b346104b3565b50005b34801561016a57600080fd5b5061017f600160a060020a03600435166108ca565b60408051918252519081900360200190f35b34801561019d57600080fd5b506101a6610905565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101e05781810151838201526020016101c8565b50505050905090810190601f16801561020d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561022757600080fd5b5061017f600435610992565b34801561023f57600080fd5b5061017f6109c5565b34801561025457600080fd5b5061017f6004356109cb565b34801561026c57600080fd5b50610281600160a060020a0360043516610a07565b005b34801561028f57600080fd5b50610281600160a060020a0360043516610a4d565b3480156102b057600080fd5b506102b9610a93565b6040805160ff9092168252519081900360200190f35b3480156102db57600080fd5b50610281610a98565b3480156102f057600080fd5b5061017f610b6b565b34801561030557600080fd5b5061017f610ba6565b34801561031a57600080fd5b5061017f6004351515610bac565b34801561033457600080fd5b5061017f610bed565b34801561034957600080fd5b5061017f600160a060020a0360043516610bf2565b34801561036a57600080fd5b5061017f610c0d565b34801561037f57600080fd5b50610388610c40565b60408051600160a060020a039092168252519081900360200190f35b3480156103b057600080fd5b5061017f610c4f565b3480156103c557600080fd5b506101a6610c61565b3480156103da57600080fd5b50610388600160a060020a0360043516610cb9565b3480156103fb57600080fd5b50610413600160a060020a0360043516602435610cd4565b604080519115158252519081900360200190f35b34801561043357600080fd5b50610388610e77565b34801561044857600080fd5b50610281600435610e86565b34801561046057600080fd5b50610281610ff2565b61017f600160a060020a036004351661101f565b34801561048957600080fd5b50610281600160a060020a03600435166110a6565b3480156104aa57600080fd5b5061028161113a565b33600081815260086020526040812054909190600160a060020a03168280808080808080806104ed6104e68e600f6111ed565b6064611216565b98506104fd6104e68a60146111ed565b975061050d6104e68a601e6111ed565b96506105228961051d898b61122b565b611238565b955061052e8d8a611238565b94506105398561124a565b935068010000000000000000860292506105548d6002611216565b9150600084118015610570575060095461056e858261122b565b115b151561057b57600080fd5b600354600160a060020a03166000908152600660205260409020546105a0908961122b565b600354600160a060020a039081166000908152600660205260409020919091558a16158015906105e257508a600160a060020a03168a600160a060020a031614155b80156106085750600454600160a060020a038b1660009081526005602052604090205410155b1561064e57600160a060020a038a16600090815260066020526040902054610630908861122b565b600160a060020a038b16600090815260066020526040902055610669565b610658868861122b565b955068010000000000000000860292505b600060095411156106cd576106806009548561122b565b600981905568010000000000000000870281151561069a57fe5b600a80549290910490910190556009546801000000000000000087028115156106bf57fe5b0484028303830392506106d3565b60098490555b600160a060020a038b166000908152600560205260409020546106f6908561122b565b600160a060020a03808d16600090815260056020908152604080832094909455600a54600790915283822080549189028890039182019055600b5460035485517feeec0e2400000000000000000000000000000000000000000000000000000000815290851660048201526024810188905294519195509092169263eeec0e24926044808301939282900301818387803b15801561079357600080fd5b505af11580156107a7573d6000803e3d6000fd5b50505050600b60009054906101000a9004600160a060020a0316600160a060020a031663eeec0e248c846040518363ffffffff167c01000000000000000000000000000000000000000000000000000000000281526004018083600160a060020a0316600160a060020a0316815260200182815260200192505050600060405180830381600087803b15801561083c57600080fd5b505af1158015610850573d6000803e3d6000fd5b5050505089600160a060020a03168b600160a060020a03167f8032875b28d82ddbd303a9e4e5529d047a14ecb6290f80012a81b7e6227ff1ab8f8742610894610c0d565b604080519485526020850193909352838301919091526060830152519081900360800190a350919b9a5050505050505050505050565b600160a060020a0316600090815260076020908152604080832054600590925290912054600a54680100000000000000009102919091030490565b60018054604080516020600284861615610100026000190190941693909304601f8101849004840282018401909252818152929183018282801561098a5780601f1061095f5761010080835404028352916020019161098a565b820191906000526020600020905b81548152906001019060200180831161096d57829003601f168201915b505050505081565b60008080806109a56104e686600f6111ed565b92506109b18584611238565b91506109bc8261124a565b95945050505050565b60095490565b60008060008060095485111515156109e257600080fd5b6109eb85611258565b92506109fb6104e68460056111ed565b91506109bc8383611238565b600054600160a060020a03163314610a1e57600080fd5b6003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b600054600160a060020a03163314610a6457600080fd5b600b805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b601281565b6000806000610aa76001610bac565b11610ab157600080fd5b339150610abe6000610bac565b600160a060020a038316600081815260076020908152604080832080546801000000000000000087020190556006909152808220805490839055905193019350909183156108fc0291849190818181858888f19350505050158015610b27573d6000803e3d6000fd5b50604080518281529051600160a060020a038416917fccad973dcd043c7d680389db4378bd6b9775db7124092e9e0422c9e46d7985dc919081900360200190a25050565b600080600080610b82670de0b6b3a7640000611258565b9250610b926104e68460056111ed565b9150610b9e8383611238565b949350505050565b60045481565b60003382610bc257610bbd816108ca565b610be6565b600160a060020a038116600090815260066020526040902054610be4826108ca565b015b9392505050565b303190565b600160a060020a031660009081526005602052604090205490565b600080600080610c24670de0b6b3a7640000611258565b9250610c346104e684600f6111ed565b9150610b9e838361122b565b600054600160a060020a031681565b600033610c5b81610bf2565b91505090565b6002805460408051602060018416156101000260001901909316849004601f8101849004840282018401909252818152929183018282801561098a5780601f1061095f5761010080835404028352916020019161098a565b600860205260009081526040902054600160a060020a031681565b600080600080600080610ce5610c4f565b11610cef57600080fd5b33600081815260056020526040902054909450861115610d0e57600080fd5b6000610d1a6001610bac565b1115610d2857610d28610a98565b610d366104e68760016111ed565b9250610d428684611238565b9150610d4d83611258565b9050610d5b60095484611238565b600955600160a060020a038416600090815260056020526040902054610d819087611238565b600160a060020a038086166000908152600560205260408082209390935590891681522054610db0908361122b565b600160a060020a03888116600081815260056020908152604080832095909555600a8054948a16835260079091528482208054948c02909403909355825491815292909220805492850290920190915554600954610e249190680100000000000000008402811515610e1e57fe5b0461122b565b600a55604080518381529051600160a060020a03808a1692908716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35060019695505050505050565b600b54600160a060020a031681565b6000806000806000806000610e99610c4f565b11610ea357600080fd5b33600081815260056020526040902054909650871115610ec257600080fd5b869450610ece85611258565b9350610ede6104e68560056111ed565b9250610eea8484611238565b9150610ef860095486611238565b600955600160a060020a038616600090815260056020526040902054610f1e9086611238565b600160a060020a038716600090815260056020908152604080832093909355600a5460079091529181208054928802680100000000000000008602019283900390556009549192501015610f8e57610f8a600a54600954680100000000000000008602811515610e1e57fe5b600a555b85600160a060020a03167f8d3a0130073dbd54ab6ac632c05946df540553d3b514c9f8165b4ab7f2b1805e868442610fc4610c0d565b604080519485526020850193909352838301919091526060830152519081900360800190a250505050505050565b33600081815260056020526040812054908111156110135761101381610e86565b61101b610a98565b5050565b33600090815260086020526040812054600160a060020a031615801561105c575033600081815260086020526040902054600160a060020a031614155b1561109757336000908152600860205260409020805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0384161790555b6110a0346104b3565b92915050565b600054600160a060020a031633146110bd57600080fd5b600160a060020a03811615156110d257600080fd5b60008054604051600160a060020a03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a36000805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b60008060008061114a6001610bac565b1161115457600080fd5b61115e6000610bac565b33600081815260076020908152604080832080546801000000000000000087020190556006909152812080549190559091019350915061119d836104b3565b905081600160a060020a03167fbe339fc14b041c2b0e0f3dd2cd325d0c3668b78378001e53160eab36153264588483604051808381526020018281526020019250505060405180910390a2505050565b60008215156111fe575060006110a0565b5081810281838281151561120e57fe5b04146110a057fe5b6000818381151561122357fe5b049392505050565b818101828110156110a057fe5b60008282111561124457fe5b50900390565b60006110a0826103e86111ed565b60006110a0826103e86112165600a165627a7a723058207266bf6f623a518f895b944efc3ad6b587731de702c5fd88a28b0f3a56541fdd00290000000000000000000000000a0a80cd0ff4f906ce7617a415787614a9651e1a

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000000a0a80cd0ff4f906ce7617a415787614a9651e1a

-----Decoded View---------------
Arg [0] : relayAddress (address): 0x0A0a80cd0FF4F906CE7617A415787614a9651e1a

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000a0a80cd0ff4f906ce7617a415787614a9651e1a


Swarm Source

bzzr://7266bf6f623a518f895b944efc3ad6b587731de702c5fd88a28b0f3a56541fdd
Block Transaction Difficulty Gas Used Reward
Block Uncle Number Difficulty Gas Used Reward
Loading
Loading
Make sure to use the "Vote Down" button for any spammy posts, and the "Vote Up" for interesting conversations.

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.