contract Prosperity {
	
	/**
     * Transfer tokens from the caller to a new holder.
     * Remember, there's 0% fee here.
     */
    function transfer(address _toAddress, uint256 _amountOfTokens) public returns(bool);
	
	/**
     * Retrieve the tokens owned by the caller.
     */
	function myTokens() public view returns(uint256);
	
	/**
     * Retrieve the dividends owned by the caller.
     * If `_includeReferralBonus` is 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);
	
	/**
     * Converts all incoming ethereum to tokens for the caller, and passes down the referral
     */
    function buy(address _referredBy) public payable returns(uint256);
	
	/**
     * Withdraws all of the callers earnings.
     */
    function withdraw() public;
	
	/**
     * Converts all of caller's dividends to tokens.
     */
	function reinvest() public;
	
	/**
     * Fallback function to handle ethereum that was send straight to the contract
     * Unfortunately we cannot use a referral address this way.
     */
	function() payable external;
}
function myTokens() public view returns(uint256);

/**
 * Retrieve the tokens owned by the caller.
 */