Sponsored:   Ubex.com - Token sale will end in just 5 days. 98% hard cap already reached. Don't Miss Out!
 Latest 25 txns From a total of 10618 Transactions

TxHash Age From To Value [TxFee]
0x6c14977abf42dac3f50a5afe81421033f55ca9b6803498e02971e9d92ef62a652 hrs 45 mins ago0x412f4268d97c5a936b2c9e8e7a0e3e5c253d65a9  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00018252
0x612a380a3f6f4c128e7da27ae8e772b79bf11386d3239f0864879def07d461e612 hrs 27 mins ago0x8b2d9ba0894252212d7afa1dfd3ef5f7930e48ad  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00027378
0xa2e8742c2e7c9f52bcb7740f8ab6859741755f4635a2f33da4ed9cfbd8a00ca413 hrs 25 mins ago0x8b2d9ba0894252212d7afa1dfd3ef5f7930e48ad  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00027378
0x67640e51625cecda0ccddfff9a6fc92ffc6d76c7ccf38dc6c5872010ff5995dc1 day 24 mins ago0x1ca8505df8c6981029e80153d6b058fc80961f2a  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.001528972
0xc802fee17c2f55c315276c7f0ab0c43106a5883417c57d22e573564600fdcde81 day 7 hrs ago0x6aecef5dce30d63631d6a0f2bd9f61ac6bc7bf4b  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00068541
0x052f2b64f04d52500b13884f3e33d3eab2d70691c02815bdd395ed63d3bc788f1 day 7 hrs ago0x6aecef5dce30d63631d6a0f2bd9f61ac6bc7bf4b  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00068541
0x5b0061f5f6d0f30d6bcf0bc6abe31127a9b6e5fa045ddb536dcad2c1b23b87261 day 21 hrs ago0x6d2cbef2bce64a96051d8e076fae8b4e78c5ae7f  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000149168
0xb792148a994e2273de1fe36629bea9339ba0f68c5e7c291369edc53af51999ab1 day 23 hrs ago0x2a5b398f061ca4eef0c099644a22783ec54da33d  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000916596
0xd72e0410b33ee67931291f1b38834f93d9d60bd30cebf15586b6cc22945c26d75 days 6 hrs ago0x0ebf13824096a37ad352bfa9ec915e467de07bed  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00056034
0x6d165f16de131b8e681a85c921782babc46b10d0d5dbb46cc8097f90890d7a199 days 20 hrs ago0xa7ec5ce46b88849cc3d406c2e4859548ad594ba2  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.0003742
0xbb39ab965a08f48f01507dac4bfd89070218376ea14019f879b59d47fda983da10 days 21 hrs ago0x1548c43c81e0ccb5a01b33f19708097cce3e82c6  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.0003063
0xaf082ee80f616831f5b0ef6d981f195d486395623b6bffdd74720a65244de00f10 days 21 hrs ago0x1548c43c81e0ccb5a01b33f19708097cce3e82c6  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.0004563
0xf59715ae7f68c2ee8366b1e647e83c2018d08d2f90e6c85546d4339ef9bb07ad10 days 21 hrs ago0x1548c43c81e0ccb5a01b33f19708097cce3e82c6  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00018252
0x0ab71fe1acee7b7963b55d53187168077aec72b95f1d23ce102d3b6e16177e9810 days 22 hrs ago0xc0ca90b7391ebd214a2433f2f0b51f507a088b3a  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000182776
0xb4bc00c24a9ec518670db1a74ec583f5e36586cdca70176e97bfbc54e642ee9611 days 20 mins ago0xc0ca90b7391ebd214a2433f2f0b51f507a088b3a  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000149168
0x8dc6b059ef0ace78c6a66cd3e12888af4e7df4baa5322a50d7cd931884aba9f511 days 18 hrs ago0x827d74b20e0ae2f3b0955784d1259f45bf36156a  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.0004563
0x92b6a6bd1a0a083b4b7dd9513919b24dc00680416bdee2cb8168e467dc04299414 days 10 hrs ago0x7eb7decc518c367645db6d9b70184d19fb43e161  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000183032
0xa7e80777eb7f40c8f106e43d14d687340bb0ec93d3213bb62a06e69641d674e114 days 10 hrs ago0x7eb7decc518c367645db6d9b70184d19fb43e161  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000465
0x5f778c40ce71738168383fba017c4d63f04e98ec5f6bec1b7c31d6f260f2c8fe15 days 10 hrs ago0x827d74b20e0ae2f3b0955784d1259f45bf36156a  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00018252
0x7d2a60af52de3fd540a8e403005fd68b68a1d68ee19584b05574f2cf27f3e09a15 days 15 hrs ago0x2f71219a7dd3236dc05c84c1adb9bda6c1c92735  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00044584
0xf66c375842813e23b95159a66170f5110fe6f67d00153f4d4947e1d3c419358116 days 17 hrs ago0xaf6e289f8cd4c9d7e0960ed2b034b2a88509df0d  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00354274
0xda7061f0cb48221831699c260cea924e99eeeb395c3244f5ef2ac20130a830d417 days 4 hrs ago0xda66c7a54d00c2f921a67804a323b1290010d42e  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.00022751
0x2dd6423602ca9cb9da3f42a9892b4d3b91e9da3729059f6d8c9b6891d2b69f8317 days 18 hrs ago0x2a52bbe6e530619b3aba13f92b9342e891e72ffe  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000089168
0x4cc2c71fb41566d507e6e9144d6add5fe9276387b01093c61e692eaade7976a517 days 18 hrs ago0x2a52bbe6e530619b3aba13f92b9342e891e72ffe  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.000208656
0xca30af9fa92b65ea37a937ab1bec2e073a13adfc20684f189cb05cae0e53999517 days 20 hrs ago0xc16196060748151b90954c493517cf0103565452  IN   0xb3bd49e28f8f832b8d1e246106991e546c3235020 Ether0.0001871
[ Download CSV Export  ] 
 Internal Transactions as a result of Contract Execution
 Latest 2 Internal Transactions

ParentTxHash Block Age From To Value
0xfe96811fa22453f195dfd56d9f71e07fb23c4dea251563fbfe6ec98ce8b48bfa4617373304 days 7 hrs ago0xb3bd49e28f8f832b8d1e246106991e546c3235020xa08cc20874fb408077b02b6ed0cad6b7ae22c89a15,779.490688861691672824 Ether
0xc91e05addd78e51f7d57eed3d702d6a6d12601a373886ddefdc28aa20f1881a44555500314 days 6 hrs ago0x1522900b6dafac587d499a862861c0869be6e4280xb3bd49e28f8f832b8d1e246106991e546c3235022 Ether
[ Download CSV Export  ] 
Warning: The Compiled Contract might be susceptible to ExpExponentCleanup (medium/high-severity), EventStructWrongData (very low-severity), NestedArrayFunctionCallDecoder (medium-severity), ZeroFunctionSelector (very low-severity) SolidityCompiler Bugs.

Contract Source Code Verified (Exact Match)
Contract Name: GMToken
Compiler Text: v0.4.17+commit.bdeb9e52
Optimization Enabled: Yes
Runs (Optimiser):  200



  Contract Source Code   Find Similiar Contracts

pragma solidity 0.4.17;

contract Token {

    /* Total amount of tokens */
    uint256 public totalSupply;

    /*
     * Events
     */
    event Transfer(address indexed from, address indexed to, uint value);
    event Approval(address indexed owner, address indexed spender, uint value);

    /*
     * Public functions
     */

    /// @notice send `value` token to `to` from `msg.sender`
    /// @param to The address of the recipient
    /// @param value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transfer(address to, uint value) public returns (bool);

    /// @notice send `value` token to `to` from `from` on the condition it is approved by `from`
    /// @param from The address of the sender
    /// @param to The address of the recipient
    /// @param value The amount of token to be transferred
    /// @return Whether the transfer was successful or not
    function transferFrom(address from, address to, uint value) public returns (bool);

    /// @notice `msg.sender` approves `spender` to spend `value` tokens
    /// @param spender The address of the account able to transfer the tokens
    /// @param value The amount of tokens to be approved for transfer
    /// @return Whether the approval was successful or not
    function approve(address spender, uint value) public returns (bool);

    /// @param owner The address from which the balance will be retrieved
    /// @return The balance
    function balanceOf(address owner) public constant returns (uint);

    /// @param owner The address of the account owning tokens
    /// @param spender The address of the account able to transfer the tokens
    /// @return Amount of remaining tokens allowed to spent
    function allowance(address owner, address spender) public constant returns (uint);
}

contract StandardToken is Token {
    /*
     *  Storage
    */
    mapping (address => uint) balances;
    mapping (address => mapping (address => uint)) allowances;

    /*
     *  Public functions
    */

    function transfer(address to, uint value) public returns (bool) {
        // Do not allow transfer to 0x0 or the token contract itself
        require((to != 0x0) && (to != address(this)));
        if (balances[msg.sender] < value)
            revert();  // Balance too low
        balances[msg.sender] -= value;
        balances[to] += value;
        Transfer(msg.sender, to, value);
        return true;
    }

    function transferFrom(address from, address to, uint value) public returns (bool) {
        // Do not allow transfer to 0x0 or the token contract itself
        require((to != 0x0) && (to != address(this)));
        if (balances[from] < value || allowances[from][msg.sender] < value)
            revert(); // Balance or allowance too low
        balances[to] += value;
        balances[from] -= value;
        allowances[from][msg.sender] -= value;
        Transfer(from, to, value);
        return true;
    }

    function approve(address spender, uint value) public returns (bool) {
        allowances[msg.sender][spender] = value;
        Approval(msg.sender, spender, value);
        return true;
    }

    function allowance(address owner, address spender) public constant returns (uint) {
        return allowances[owner][spender];
    }

    function balanceOf(address owner) public constant returns (uint) {
        return balances[owner];
    }
}

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

    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 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 GMToken is StandardToken {

    using SafeMath for uint256;

    /*
    *  Metadata
    */
    string public constant name = "Global Messaging Token";
    string public constant symbol = "GMT";
    uint8 public constant decimals = 18;
    uint256 public constant tokenUnit = 10 ** uint256(decimals);

    /*
    *  Contract owner (Radical App International)
    */
    address public owner;

    /*
    *  Hardware wallets
    */
    address public ethFundAddress;  // Address for ETH owned by Radical App International
    address public gmtFundAddress;  // Address for GMT allocated to Radical App International

    /*
    *  List of registered participants
    */
    mapping (address => bool) public registered;

    /*
    *  List of token purchases per address
    *  Same as balances[], except used for individual cap calculations, 
    *  because users can transfer tokens out during sale and reset token count in balances.
    */
    mapping (address => uint) public purchases;

    /*
    *  Crowdsale parameters
    */
    bool public isFinalized;
    bool public isStopped;
    uint256 public startBlock;  // Block number when sale period begins
    uint256 public endBlock;  // Block number when sale period ends
    uint256 public firstCapEndingBlock;  // Block number when first individual user cap period ends
    uint256 public secondCapEndingBlock;  // Block number when second individual user cap period ends
    uint256 public assignedSupply;  // Total GMT tokens currently assigned
    uint256 public tokenExchangeRate;  // Units of GMT per ETH
    uint256 public baseTokenCapPerAddress;  // Base user cap in GMT tokens
    uint256 public constant baseEthCapPerAddress = 7 ether;  // Base user cap in ETH
    uint256 public constant blocksInFirstCapPeriod = 2105;  // Block length for first cap period
    uint256 public constant blocksInSecondCapPeriod = 1052;  // Block length for second cap period
    uint256 public constant gasLimitInWei = 51000000000 wei; //  Gas price limit during individual cap period 
    uint256 public constant gmtFund = 500 * (10**6) * tokenUnit;  // 500M GMT reserved for development and user growth fund 
    uint256 public constant minCap = 100 * (10**6) * tokenUnit;  // 100M min cap to be sold during sale

    /*
    *  Events
    */
    event RefundSent(address indexed _to, uint256 _value);
    event ClaimGMT(address indexed _to, uint256 _value);

    modifier onlyBy(address _account){
        require(msg.sender == _account);  
        _;
    }

    function changeOwner(address _newOwner) onlyBy(owner) external {
        owner = _newOwner;
    }

    modifier registeredUser() {
        require(registered[msg.sender] == true);  
        _;
    }

    modifier minCapReached() {
        require(assignedSupply >= minCap);
        _;
    }

    modifier minCapNotReached() {
        require(assignedSupply < minCap);
        _;
    }

    modifier respectTimeFrame() {
        require(block.number >= startBlock && block.number < endBlock);
        _;
    }

    modifier salePeriodCompleted() {
        require(block.number >= endBlock || assignedSupply.add(gmtFund) == totalSupply);
        _;
    }

    modifier isValidState() {
        require(!isFinalized && !isStopped);
        _;
    }

    /*
    *  Constructor
    */
    function GMToken(
        address _ethFundAddress,
        address _gmtFundAddress,
        uint256 _startBlock,
        uint256 _endBlock,
        uint256 _tokenExchangeRate) 
        public 
    {
        require(_gmtFundAddress != 0x0);
        require(_ethFundAddress != 0x0);
        require(_startBlock < _endBlock && _startBlock > block.number);

        owner = msg.sender; // Creator of contract is owner
        isFinalized = false; // Controls pre-sale state through crowdsale state
        isStopped = false;  // Circuit breaker (only to be used by contract owner in case of emergency)
        ethFundAddress = _ethFundAddress;
        gmtFundAddress = _gmtFundAddress;
        startBlock = _startBlock;
        endBlock = _endBlock;
        tokenExchangeRate = _tokenExchangeRate;
        baseTokenCapPerAddress = baseEthCapPerAddress.mul(tokenExchangeRate);
        firstCapEndingBlock = startBlock.add(blocksInFirstCapPeriod);
        secondCapEndingBlock = firstCapEndingBlock.add(blocksInSecondCapPeriod);
        totalSupply = 1000 * (10**6) * tokenUnit;  // 1B total GMT tokens
        assignedSupply = 0;  // Set starting assigned supply to 0
    }

    /// @notice Stop sale in case of emergency (i.e. circuit breaker)
    /// @dev Only allowed to be called by the owner
    function stopSale() onlyBy(owner) external {
        isStopped = true;
    }

    /// @notice Restart sale in case of an emergency stop
    /// @dev Only allowed to be called by the owner
    function restartSale() onlyBy(owner) external {
        isStopped = false;
    }

    /// @dev Fallback function can be used to buy tokens
    function () payable public {
        claimTokens();
    }

    /// @notice Create `msg.value` ETH worth of GMT
    /// @dev Only allowed to be called within the timeframe of the sale period
    function claimTokens() respectTimeFrame registeredUser isValidState payable public {
        require(msg.value > 0);

        uint256 tokens = msg.value.mul(tokenExchangeRate);

        require(isWithinCap(tokens));

        // Check that we're not over totals
        uint256 checkedSupply = assignedSupply.add(tokens);

        // Return money if we're over total token supply
        require(checkedSupply.add(gmtFund) <= totalSupply); 

        balances[msg.sender] = balances[msg.sender].add(tokens);
        purchases[msg.sender] = purchases[msg.sender].add(tokens);

        assignedSupply = checkedSupply;
        ClaimGMT(msg.sender, tokens);  // Logs token creation for UI purposes
        // As per ERC20 spec, a token contract which creates new tokens SHOULD trigger a Transfer event with the _from address
        // set to 0x0 when tokens are created (https://github.com/ethereum/EIPs/blob/master/EIPS/eip-20-token-standard.md)
        Transfer(0x0, msg.sender, tokens);
    }

    /// @dev Checks if transaction meets individual cap requirements
    function isWithinCap(uint256 tokens) internal view returns (bool) {
        // Return true if we've passed the cap period
        if (block.number >= secondCapEndingBlock) {
            return true;
        }

        // Ensure user is under gas limit
        require(tx.gasprice <= gasLimitInWei);
        
        // Ensure user is not purchasing more tokens than allowed
        if (block.number < firstCapEndingBlock) {
            return purchases[msg.sender].add(tokens) <= baseTokenCapPerAddress;
        } else {
            return purchases[msg.sender].add(tokens) <= baseTokenCapPerAddress.mul(4);
        }
    }


    /// @notice Updates registration status of an address for sale participation
    /// @param target Address that will be registered or deregistered
    /// @param isRegistered New registration status of address
    function changeRegistrationStatus(address target, bool isRegistered) public onlyBy(owner) {
        registered[target] = isRegistered;
    }

    /// @notice Updates registration status for multiple addresses for participation
    /// @param targets Addresses that will be registered or deregistered
    /// @param isRegistered New registration status of addresses
    function changeRegistrationStatuses(address[] targets, bool isRegistered) public onlyBy(owner) {
        for (uint i = 0; i < targets.length; i++) {
            changeRegistrationStatus(targets[i], isRegistered);
        }
    }

    /// @notice Sends the ETH to ETH fund wallet and finalizes the token sale
    function finalize() minCapReached salePeriodCompleted isValidState onlyBy(owner) external {
        // Upon successful completion of sale, send tokens to GMT fund
        balances[gmtFundAddress] = balances[gmtFundAddress].add(gmtFund);
        assignedSupply = assignedSupply.add(gmtFund);
        ClaimGMT(gmtFundAddress, gmtFund);   // Log tokens claimed by Radical App International GMT fund
        Transfer(0x0, gmtFundAddress, gmtFund);
        
        // In the case where not all 500M GMT allocated to crowdfund participants
        // is sold, send the remaining unassigned supply to GMT fund address,
        // which will then be used to fund the user growth pool.
        if (assignedSupply < totalSupply) {
            uint256 unassignedSupply = totalSupply.sub(assignedSupply);
            balances[gmtFundAddress] = balances[gmtFundAddress].add(unassignedSupply);
            assignedSupply = assignedSupply.add(unassignedSupply);

            ClaimGMT(gmtFundAddress, unassignedSupply);  // Log tokens claimed by Radical App International GMT fund
            Transfer(0x0, gmtFundAddress, unassignedSupply);
        }

        ethFundAddress.transfer(this.balance);

        isFinalized = true; // Finalize sale
    }

    /// @notice Allows contributors to recover their ETH in the case of a failed token sale
    /// @dev Only allowed to be called once sale period is over IF the min cap is not reached
    /// @return bool True if refund successfully sent, false otherwise
    function refund() minCapNotReached salePeriodCompleted registeredUser isValidState external {
        require(msg.sender != gmtFundAddress);  // Radical App International not entitled to a refund

        uint256 gmtVal = balances[msg.sender];
        require(gmtVal > 0); // Prevent refund if sender GMT balance is 0

        balances[msg.sender] = balances[msg.sender].sub(gmtVal);
        assignedSupply = assignedSupply.sub(gmtVal); // Adjust assigned supply to account for refunded amount
        
        uint256 ethVal = gmtVal.div(tokenExchangeRate); // Covert GMT to ETH

        msg.sender.transfer(ethVal);
        
        RefundSent(msg.sender, ethVal);  // Log successful refund 
    }

    /*
        NOTE: We explicitly do not define a fallback function, in order to prevent 
        receiving Ether for no reason. As noted in Solidity documentation, contracts 
        that receive Ether directly (without a function call, i.e. using send or transfer)
        but do not define a fallback function throw an exception, sending back the Ether (this was different before Solidity v0.4.0).
    */
}

    Contract ABI  
[{"constant":true,"inputs":[],"name":"name","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"endBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"spender","type":"address"},{"name":"value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"from","type":"address"},{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transferFrom","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"ethFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"secondCapEndingBlock","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":"isStopped","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minCap","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"tokenExchangeRate","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"claimTokens","outputs":[],"payable":true,"stateMutability":"payable","type":"function"},{"constant":true,"inputs":[],"name":"startBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"baseTokenCapPerAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"finalize","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[],"name":"refund","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"blocksInSecondCapPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"restartSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"targets","type":"address[]"},{"name":"isRegistered","type":"bool"}],"name":"changeRegistrationStatuses","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"purchases","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isFinalized","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"name":"","type":"address"}],"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":"_newOwner","type":"address"}],"name":"changeOwner","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"assignedSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"registered","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"blocksInFirstCapPeriod","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gmtFundAddress","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"gmtFund","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"owner","type":"address"},{"name":"spender","type":"address"}],"name":"allowance","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"baseEthCapPerAddress","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"firstCapEndingBlock","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"stopSale","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"tokenUnit","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"target","type":"address"},{"name":"isRegistered","type":"bool"}],"name":"changeRegistrationStatus","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"gasLimitInWei","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[{"name":"_ethFundAddress","type":"address"},{"name":"_gmtFundAddress","type":"address"},{"name":"_startBlock","type":"uint256"},{"name":"_endBlock","type":"uint256"},{"name":"_tokenExchangeRate","type":"uint256"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"RefundSent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"_to","type":"address"},{"indexed":false,"name":"_value","type":"uint256"}],"name":"ClaimGMT","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"from","type":"address"},{"indexed":true,"name":"to","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"owner","type":"address"},{"indexed":true,"name":"spender","type":"address"},{"indexed":false,"name":"value","type":"uint256"}],"name":"Approval","type":"event"}]

  Contract Creation Code Switch To Opcodes View
606060405234156200001057600080fd5b60405160a080620014c08339810160405280805191906020018051919060200180519190602001805191906020018051915050600160a060020a03841615156200005957600080fd5b600160a060020a03851615156200006f57600080fd5b81831080156200007e57504383115b15156200008a57600080fd5b60038054600160a060020a03338116600160a060020a0319928316179092556008805461ffff191690556004805488841690831617905560058054928716929091169190911790556009839055600a829055600e81905562000103676124fee993bc000082640100000000620011b76200016a82021704565b600f556009546200012590610839640100000000620012846200019882021704565b600b819055620001469061041c640100000000620012846200019882021704565b600c5550506b033b2e3c9fd0803ce80000006000908155600d5550620001a8915050565b60008282028315806200018857508284828115156200018557fe5b04145b15156200019157fe5b9392505050565b6000828201838110156200019157fe5b61130880620001b86000396000f300606060405236156101d55763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146101df578063083c632314610269578063095ea7b31461028e57806318160ddd146102c457806323b872dd146102d757806324497829146102ff5780632b9131511461032e578063313ce567146103415780633f683b6a1461036a5780633fa615b01461037d5780634172d0801461039057806348c54b9d146101d557806348cd4cb1146103a3578063492b3bf7146103b65780634bb278f3146103c9578063590e1ae3146103dc578063707c6b4d146103ef57806370a082311461040257806374711285146104215780637b9358a014610434578063842a77d3146104875780638d4e4083146104a65780638da5cb5b146104b957806395d89b41146104cc578063a6f9dae1146104df578063a9059cbb146104fe578063b1efeece14610520578063b2dd5c0714610533578063c12ae5e914610552578063d27fcf9614610565578063d9c397f614610578578063dd62ed3e1461058b578063de8a6fa2146105b0578063e2c1f7d7146105c3578063e36b0b37146105d6578063e93c980d146105e9578063f24d2532146105fc578063febb131514610620575b6101dd610633565b005b34156101ea57600080fd5b6101f2610801565b60405160208082528190810183818151815260200191508051906020019080838360005b8381101561022e578082015183820152602001610216565b50505050905090810190601f16801561025b5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561027457600080fd5b61027c610838565b60405190815260200160405180910390f35b341561029957600080fd5b6102b0600160a060020a036004351660243561083e565b604051901515815260200160405180910390f35b34156102cf57600080fd5b61027c6108aa565b34156102e257600080fd5b6102b0600160a060020a03600435811690602435166044356108b0565b341561030a57600080fd5b6103126109ba565b604051600160a060020a03909116815260200160405180910390f35b341561033957600080fd5b61027c6109c9565b341561034c57600080fd5b6103546109cf565b60405160ff909116815260200160405180910390f35b341561037557600080fd5b6102b06109d4565b341561038857600080fd5b61027c6109e2565b341561039b57600080fd5b61027c6109f1565b34156103ae57600080fd5b61027c6109f7565b34156103c157600080fd5b61027c6109fd565b34156103d457600080fd5b6101dd610a03565b34156103e757600080fd5b6101dd610cd1565b34156103fa57600080fd5b61027c610e9d565b341561040d57600080fd5b61027c600160a060020a0360043516610ea3565b341561042c57600080fd5b6101dd610ec2565b341561043f57600080fd5b6101dd6004602481358181019083013580602081810201604051908101604052809392919081815260200183836020028082843750949650505050913515159150610eec9050565b341561049257600080fd5b61027c600160a060020a0360043516610f49565b34156104b157600080fd5b6102b0610f5b565b34156104c457600080fd5b610312610f64565b34156104d757600080fd5b6101f2610f73565b34156104ea57600080fd5b6101dd600160a060020a0360043516610faa565b341561050957600080fd5b6102b0600160a060020a0360043516602435610ff6565b341561052b57600080fd5b61027c6110af565b341561053e57600080fd5b6102b0600160a060020a03600435166110b5565b341561055d57600080fd5b61027c6110ca565b341561057057600080fd5b6103126110d0565b341561058357600080fd5b61027c6110df565b341561059657600080fd5b61027c600160a060020a03600435811690602435166110ef565b34156105bb57600080fd5b61027c61111a565b34156105ce57600080fd5b61027c611126565b34156105e157600080fd5b6101dd61112c565b34156105f457600080fd5b61027c61115a565b341561060757600080fd5b6101dd600160a060020a03600435166024351515611166565b341561062b57600080fd5b61027c6111ae565b60008060095443101580156106495750600a5443105b151561065457600080fd5b600160a060020a03331660009081526006602052604090205460ff16151560011461067e57600080fd5b60085460ff161580156106995750600854610100900460ff16155b15156106a457600080fd5b600034116106b157600080fd5b600e546106c590349063ffffffff6111b716565b91506106d0826111e2565b15156106db57600080fd5b600d546106ee908363ffffffff61128416565b600054909150610710826b019d971e4fe8401e7400000063ffffffff61128416565b111561071b57600080fd5b600160a060020a033316600090815260016020526040902054610744908363ffffffff61128416565b600160a060020a033316600090815260016020908152604080832093909355600790522054610779908363ffffffff61128416565b600160a060020a0333166000818152600760205260409081902092909255600d839055907f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500469084905190815260200160405180910390a233600160a060020a031660006000805160206112bd8339815191528460405190815260200160405180910390a35050565b60408051908101604052601681527f476c6f62616c204d6573736167696e6720546f6b656e00000000000000000000602082015281565b600a5481565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a350600192915050565b60005481565b6000600160a060020a038316158015906108dc575030600160a060020a031683600160a060020a031614155b15156108e757600080fd5b600160a060020a038416600090815260016020526040902054829010806109345750600160a060020a03808516600090815260026020908152604080832033909416835292905220548290105b1561093e57600080fd5b600160a060020a03808416600081815260016020908152604080832080548801905588851680845281842080548990039055600283528184203390961684529490915290819020805486900390559091906000805160206112bd8339815191529085905190815260200160405180910390a35060019392505050565b600454600160a060020a031681565b600c5481565b601281565b600854610100900460ff1681565b6a52b7d2dcc80cd2e400000081565b600e5481565b60095481565b600f5481565b600d546000906a52b7d2dcc80cd2e4000000901015610a2157600080fd5b600a5443101580610a515750600054600d54610a4f906b019d971e4fe8401e7400000063ffffffff61128416565b145b1515610a5c57600080fd5b60085460ff16158015610a775750600854610100900460ff16155b1515610a8257600080fd5b600354600160a060020a039081169033168114610a9e57600080fd5b600554600160a060020a0316600090815260016020526040902054610ad5906b019d971e4fe8401e7400000063ffffffff61128416565b600554600160a060020a0316600090815260016020526040902055600d54610b0f906b019d971e4fe8401e7400000063ffffffff61128416565b600d55600554600160a060020a03167f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500466b019d971e4fe8401e7400000060405190815260200160405180910390a2600554600160a060020a031660006000805160206112bd8339815191526b019d971e4fe8401e7400000060405190815260200160405180910390a3600054600d541015610c8757600d54600054610bb99163ffffffff61129316565b600554600160a060020a0316600090815260016020526040902054909250610be7908363ffffffff61128416565b600554600160a060020a0316600090815260016020526040902055600d54610c15908363ffffffff61128416565b600d55600554600160a060020a03167f9b1a78c0e1aca340da6c312fc871707cc8ba3646db00745a1eff364cc8d500468360405190815260200160405180910390a2600554600160a060020a031660006000805160206112bd8339815191528460405190815260200160405180910390a35b600454600160a060020a039081169030163180156108fc0290604051600060405180830381858888f193505050501515610cc057600080fd5b50506008805460ff19166001179055565b600d5460009081906a52b7d2dcc80cd2e40000009010610cf057600080fd5b600a5443101580610d205750600054600d54610d1e906b019d971e4fe8401e7400000063ffffffff61128416565b145b1515610d2b57600080fd5b600160a060020a03331660009081526006602052604090205460ff161515600114610d5557600080fd5b60085460ff16158015610d705750600854610100900460ff16155b1515610d7b57600080fd5b60055433600160a060020a0390811691161415610d9757600080fd5b600160a060020a03331660009081526001602052604081205492508211610dbd57600080fd5b600160a060020a033316600090815260016020526040902054610de6908363ffffffff61129316565b600160a060020a033316600090815260016020526040902055600d54610e12908363ffffffff61129316565b600d55600e54610e2990839063ffffffff6112a516565b9050600160a060020a03331681156108fc0282604051600060405180830381858888f193505050501515610e5c57600080fd5b33600160a060020a03167fe309aa15fd2f6bd8a58603632508694071e7d35e967bdbb827926e429b7ef34d8260405190815260200160405180910390a25050565b61041c81565b600160a060020a0381166000908152600160205260409020545b919050565b600354600160a060020a039081169033168114610ede57600080fd5b506008805461ff0019169055565b600354600090600160a060020a039081169033168114610f0b57600080fd5b600091505b8351821015610f4357610f38848381518110610f2857fe5b9060200190602002015184611166565b600190910190610f10565b50505050565b60076020526000908152604090205481565b60085460ff1681565b600354600160a060020a031681565b60408051908101604052600381527f474d540000000000000000000000000000000000000000000000000000000000602082015281565b600354600160a060020a039081169033168114610fc657600080fd5b506003805473ffffffffffffffffffffffffffffffffffffffff1916600160a060020a0392909216919091179055565b6000600160a060020a03831615801590611022575030600160a060020a031683600160a060020a031614155b151561102d57600080fd5b600160a060020a0333166000908152600160205260409020548290101561105357600080fd5b600160a060020a033381166000818152600160205260408082208054879003905592861680825290839020805486019055916000805160206112bd8339815191529085905190815260200160405180910390a350600192915050565b600d5481565b60066020526000908152604090205460ff1681565b61083981565b600554600160a060020a031681565b6b019d971e4fe8401e7400000081565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b676124fee993bc000081565b600b5481565b600354600160a060020a03908116903316811461114857600080fd5b506008805461ff001916610100179055565b670de0b6b3a764000081565b600354600160a060020a03908116903316811461118257600080fd5b50600160a060020a03919091166000908152600660205260409020805460ff1916911515919091179055565b640bdfd63e0081565b60008282028315806111d357508284828115156111d057fe5b04145b15156111db57fe5b9392505050565b600c5460009043106111f657506001610ebd565b640bdfd63e003a111561120857600080fd5b600b5443101561124757600f54600160a060020a03331660009081526007602052604090205461123e908463ffffffff61128416565b11159050610ebd565b600f5461125b90600463ffffffff6111b716565b600160a060020a03331660009081526007602052604090205461123e908463ffffffff61128416565b6000828201838110156111db57fe5b60008282111561129f57fe5b50900390565b60008082848115156112b357fe5b049493505050505600ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a7230582060cdbb050721d6d9b8aee213b8082faf3aba445e02f2c3ee31d4e6ea696b85920029000000000000000000000000a08cc20874fb408077b02b6ed0cad6b7ae22c89a0000000000000000000000009a40257c6ee603c98ae645fd8dcfc02f0b62159300000000000000000000000000000000000000000000000000000000004390a900000000000000000000000000000000000000000000000000000000004674930000000000000000000000000000000000000000000000000000000000001b58

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

-----Encoded View---------------
5 Constructor Arguments found :
Arg [0] : 000000000000000000000000a08cc20874fb408077b02b6ed0cad6b7ae22c89a
Arg [1] : 0000000000000000000000009a40257c6ee603c98ae645fd8dcfc02f0b621593
Arg [2] : 00000000000000000000000000000000000000000000000000000000004390a9
Arg [3] : 0000000000000000000000000000000000000000000000000000000000467493
Arg [4] : 0000000000000000000000000000000000000000000000000000000000001b58


   Swarm Source:
bzzr://60cdbb050721d6d9b8aee213b8082faf3aba445e02f2c3ee31d4e6ea696b8592

 

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