Post
Topic
Board Announcements (Altcoins)
Re: [ANN] [ICO] G5 | Maximum 5% risk, potentially infinite upside! NO ESCAPE HATCH
by
tripperman64
on 25/08/2017, 07:49:29 UTC
Bro read the code. https://etherscan.io/address/0x95cc9c7bf003d948dea3a5a95116f7fd9ca43778#code

See buy function on line 217 and sell function on line 233. Do you know Solidity?

It's not a scam. I have no control after G5 is released into the world.

Get in early you can be so rich. Get in later you max lose 5% not so bad. I got in early with 1 ether.

All code above line 176 is from https://github.com/OpenZeppelin/zeppelin-solidity

Other code is:

Quote
/**
 * @title G5
 *
 * @dev Great token to buy.
 * @dev Maximum 5% risk, potentially infinite upside!
 */
 
contract G5 is StandardToken {
    uint256 public ceiling;
    uint256 public floor;
    uint256 public lastUpdate;
   
    string public name = "G5";
    string public symbol = "G5";
    uint8 public decimals = 8;

    function updateCeiling() private {
        // ceiling is always 5% above the value of the floor
        ceiling = floor*21/20;
    }
   
    function maybeUpdate() {
        // set floor and ceiling if it's been at least 10 blocks since last update
        if (block.number >= lastUpdate+10) {
            floor = this.balance / totalSupply;
            updateCeiling();
            lastUpdate = block.number;
        }
    }
   
    function G5() {
        // 9523 tokens per ETH to start
        floor = 1 ether / 10000 / 1e8;
        updateCeiling();
        lastUpdate = block.number;
    }
   
    function() payable {
        buy();
    }
   
    function buy() payable {
        require (msg.value > 0);
       
        // buy at the ceiling
        uint256 _amount = msg.value / ceiling;

        // mint token           
        totalSupply = totalSupply.add(_amount);
        balances[msg.sender] = balances[msg.sender].add(_amount);
        Mint(msg.sender, _amount);
        Transfer(0x0, msg.sender, _amount);
       
        // might update the floor and ceiling
        maybeUpdate();
    }
   
    function sell(uint _value) {
        require(_value > 0);
        require(_value <= balances[msg.sender]);
       
        // might update the floor and ceiling
        maybeUpdate();
       
        balances[msg.sender] = balances[msg.sender].sub(_value);
        totalSupply = totalSupply.sub(_value);
        Burn(msg.sender, _value);
       
        // sell at the floor
        msg.sender.transfer(_value * floor);
    }

    event Mint(address indexed to, uint256 amount);
    event Burn(address indexed burner, uint indexed value);
}