ETH Price: $3,406.07 (-0.55%)

Token

Starbase (STAR)
 

Overview

Max Total Supply

1,000,000,000 STAR

Holders

5,573 (0.00%)

Market

Price

$0.00 @ 0.000001 ETH (-0.04%)

Onchain Market Cap

$3,609,155.36

Circulating Supply Market Cap

$0.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
40,000.763781283 STAR

Value
$144.37 ( ~0.0423860323712704 Eth) [0.0040%]
0xf25E635a9f35c97df49C52637EdDCDcA64259EF8
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Starbase is a blockchain token based crowdfunding/ sourcing platform

Market

Volume (24H):$0.00
Market Capitalization:$0.00
Circulating Supply:0.00 STAR
Market Data Source: Coinmarketcap

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
StarbaseToken

Compiler Version
v0.4.16+commit.d7661dd9

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2017-11-12
*/

pragma solidity ^0.4.13;

/**
 * @title SafeMath
 * @dev Math operations with safety checks that throw on error
 */
library SafeMath {
  function mul(uint256 a, uint256 b) internal constant returns (uint256) {
    uint256 c = a * b;
    assert(a == 0 || c / a == b);
    return c;
  }

  function div(uint256 a, uint256 b) internal constant 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 constant returns (uint256) {
    assert(b <= a);
    return a - b;
  }

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

/**
 * @title ERC20Basic
 * @dev Simpler version of ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/179
 */
contract ERC20Basic {
  uint256 public totalSupply;
  function balanceOf(address who) public constant returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}


/**
 * @title Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  /**
  * @dev transfer token for a specified address
  * @param _to The address to transfer to.
  * @param _value The amount to be transferred.
  */
  function transfer(address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    // SafeMath.sub will throw if there is not enough balance.
    balances[msg.sender] = balances[msg.sender].sub(_value);
    balances[_to] = balances[_to].add(_value);
    Transfer(msg.sender, _to, _value);
    return true;
  }

  /**
  * @dev Gets the balance of the specified address.
  * @param _owner The address to query the the balance of.
  * @return An uint256 representing the amount owned by the passed address.
  */
  function balanceOf(address _owner) public constant returns (uint256 balance) {
    return balances[_owner];
  }

}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public constant returns (uint256);
  function transferFrom(address from, address to, uint256 value) public returns (bool);
  function approve(address spender, uint256 value) public returns (bool);
  event Approval(address indexed owner, address indexed spender, uint256 value);
}

/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 * @dev https://github.com/ethereum/EIPs/issues/20
 * @dev Based on code by FirstBlood: https://github.com/Firstbloodio/token/blob/master/smart_contract/FirstBloodToken.sol
 */
contract StandardToken is ERC20, BasicToken {

  mapping (address => mapping (address => uint256)) allowed;


  /**
   * @dev Transfer tokens from one address to another
   * @param _from address The address which you want to send tokens from
   * @param _to address The address which you want to transfer to
   * @param _value uint256 the amount of tokens to be transferred
   */
  function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
    require(_to != address(0));

    uint256 _allowance = allowed[_from][msg.sender];

    // Check is not needed because sub(_allowance, _value) will already throw if this condition is not met
    // require (_value <= _allowance);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = _allowance.sub(_value);
    Transfer(_from, _to, _value);
    return true;
  }

  /**
   * @dev Approve the passed address to spend the specified amount of tokens on behalf of msg.sender.
   *
   * Beware that changing an allowance with this method brings the risk that someone may use both the old
   * and the new allowance by unfortunate transaction ordering. One possible solution to mitigate this
   * race condition is to first reduce the spender's allowance to 0 and set the desired value afterwards:
   * https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
   * @param _spender The address which will spend the funds.
   * @param _value The amount of tokens to be spent.
   */
  function approve(address _spender, uint256 _value) public returns (bool) {
    allowed[msg.sender][_spender] = _value;
    Approval(msg.sender, _spender, _value);
    return true;
  }

  /**
   * @dev Function to check the amount of tokens that an owner allowed to a spender.
   * @param _owner address The address which owns the funds.
   * @param _spender address The address which will spend the funds.
   * @return A uint256 specifying the amount of tokens still available for the spender.
   */
  function allowance(address _owner, address _spender) public constant returns (uint256 remaining) {
    return allowed[_owner][_spender];
  }

  /**
   * approve should be called when allowed[_spender] == 0. To increment
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   */
  function increaseApproval (address _spender, uint _addedValue)
    returns (bool success) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  function decreaseApproval (address _spender, uint _subtractedValue)
    returns (bool success) {
    uint oldValue = allowed[msg.sender][_spender];
    if (_subtractedValue > oldValue) {
      allowed[msg.sender][_spender] = 0;
    } else {
      allowed[msg.sender][_spender] = oldValue.sub(_subtractedValue);
    }
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

}

contract AbstractStarbaseCrowdsale {
    function startDate() constant returns (uint256) {}
    function endedAt() constant returns (uint256) {}
    function isEnded() constant returns (bool);
    function totalRaisedAmountInCny() constant returns (uint256);
    function numOfPurchasedTokensOnCsBy(address purchaser) constant returns (uint256);
    function numOfPurchasedTokensOnEpBy(address purchaser) constant returns (uint256);
}

contract AbstractStarbaseMarketingCampaign {}

/// @title Token contract - ERC20 compatible Starbase token contract.
/// @author Starbase PTE. LTD. - <[email protected]>
contract StarbaseToken is StandardToken {
    /*
     *  Events
     */
    event PublicOfferingPlanDeclared(uint256 tokenCount, uint256 unlockCompanysTokensAt);
    event MvpLaunched(uint256 launchedAt);
    event LogNewFundraiser (address indexed fundraiserAddress, bool isBonaFide);
    event LogUpdateFundraiser(address indexed fundraiserAddress, bool isBonaFide);

    /*
     *  Types
     */
    struct PublicOfferingPlan {
        uint256 tokenCount;
        uint256 unlockCompanysTokensAt;
        uint256 declaredAt;
    }

    /*
     *  External contracts
     */
    AbstractStarbaseCrowdsale public starbaseCrowdsale;
    AbstractStarbaseMarketingCampaign public starbaseMarketingCampaign;

    /*
     *  Storage
     */
    address public company;
    PublicOfferingPlan[] public publicOfferingPlans;  // further crowdsales
    mapping(address => uint256) public initialEcTokenAllocation;    // Initial token allocations for Early Contributors
    uint256 public mvpLaunchedAt;  // 0 until a MVP of Starbase Platform launches
    mapping(address => bool) private fundraisers; // Fundraisers are vetted addresses that are allowed to execute functions within the contract

    /*
     *  Constants / Token meta data
     */
    string constant public name = "Starbase";  // Token name
    string constant public symbol = "STAR";  // Token symbol
    uint8 constant public decimals = 18;
    uint256 constant public initialSupply = 1000000000e18; // 1B STAR tokens
    uint256 constant public initialCompanysTokenAllocation = 750000000e18;  // 750M
    uint256 constant public initialBalanceForCrowdsale = 175000000e18;  // CS(125M)+EP(50M)
    uint256 constant public initialBalanceForMarketingCampaign = 12500000e18;   // 12.5M

    /*
     *  Modifiers
     */
    modifier onlyCrowdsaleContract() {
        assert(msg.sender == address(starbaseCrowdsale));
        _;
    }

    modifier onlyMarketingCampaignContract() {
        assert(msg.sender == address(starbaseMarketingCampaign));
        _;
    }

    modifier onlyFundraiser() {
        // Only rightful fundraiser is permitted.
        assert(isFundraiser(msg.sender));
        _;
    }

    modifier onlyBeforeCrowdsale() {
        require(starbaseCrowdsale.startDate() == 0);
        _;
    }

    modifier onlyAfterCrowdsale() {
        require(starbaseCrowdsale.isEnded());
        _;
    }

    modifier onlyPayloadSize(uint size) {
        assert(msg.data.length == size + 4);
        _;
    }

    /*
     *  Contract functions
     */

    /**
     * @dev Contract constructor function
     * @param starbaseCompanyAddr The address that will holds untransferrable tokens
     * @param starbaseCrowdsaleAddr Address of the crowdsale contract
     * @param starbaseMarketingCampaignAddr The address of the marketing campaign contract
     */

    function StarbaseToken(
        address starbaseCompanyAddr,
        address starbaseCrowdsaleAddr,
        address starbaseMarketingCampaignAddr
    ) {
        assert(
            starbaseCompanyAddr != 0 &&
            starbaseCrowdsaleAddr != 0 &&
            starbaseMarketingCampaignAddr != 0);

        starbaseCrowdsale = AbstractStarbaseCrowdsale(starbaseCrowdsaleAddr);
        starbaseMarketingCampaign = AbstractStarbaseMarketingCampaign(starbaseMarketingCampaignAddr);
        company = starbaseCompanyAddr;

        // msg.sender becomes first fundraiser
        fundraisers[msg.sender] = true;
        LogNewFundraiser(msg.sender, true);

        // Tokens for crowdsale and early purchasers
        balances[address(starbaseCrowdsale)] = initialBalanceForCrowdsale;
        Transfer(0, address(starbaseCrowdsale), initialBalanceForCrowdsale);

        // Tokens for marketing campaign supporters
        balances[address(starbaseMarketingCampaign)] = initialBalanceForMarketingCampaign;
        Transfer(0, address(starbaseMarketingCampaign), initialBalanceForMarketingCampaign);

        // Tokens for early contributors, should be allocated by function
        balances[0] = 62500000e18; // 62.5M

        // Starbase company holds untransferrable tokens initially
        balances[starbaseCompanyAddr] = initialCompanysTokenAllocation; // 750M
        Transfer(0, starbaseCompanyAddr, initialCompanysTokenAllocation);

        totalSupply = initialSupply;    // 1B
    }

    /**
     * @dev Setup function sets external contracts' addresses
     * @param starbaseCrowdsaleAddr Crowdsale contract address.
     * @param starbaseMarketingCampaignAddr Marketing campaign contract address
     */
    function setup(address starbaseCrowdsaleAddr, address starbaseMarketingCampaignAddr)
        external
        onlyFundraiser
        onlyBeforeCrowdsale
        returns (bool)
    {
        require(starbaseCrowdsaleAddr != 0 && starbaseMarketingCampaignAddr != 0);
        assert(balances[address(starbaseCrowdsale)] == initialBalanceForCrowdsale);
        assert(balances[address(starbaseMarketingCampaign)] == initialBalanceForMarketingCampaign);

        // Move the balances to the new ones
        balances[address(starbaseCrowdsale)] = 0;
        balances[address(starbaseMarketingCampaign)] = 0;
        balances[starbaseCrowdsaleAddr] = initialBalanceForCrowdsale;
        balances[starbaseMarketingCampaignAddr] = initialBalanceForMarketingCampaign;

        // Update the references
        starbaseCrowdsale = AbstractStarbaseCrowdsale(starbaseCrowdsaleAddr);
        starbaseMarketingCampaign = AbstractStarbaseMarketingCampaign(starbaseMarketingCampaignAddr);
        return true;
    }

    /*
     *  External functions
     */

    /**
     * @dev Returns number of declared public offering plans
     */
    function numOfDeclaredPublicOfferingPlans()
        external
        constant
        returns (uint256)
    {
        return publicOfferingPlans.length;
    }

    /**
     * @dev Declares a public offering plan to make company's tokens transferable
     * @param tokenCount Number of tokens to transfer.
     * @param unlockCompanysTokensAt Time of the tokens will be unlocked
     */
    function declarePublicOfferingPlan(uint256 tokenCount, uint256 unlockCompanysTokensAt)
        external
        onlyFundraiser
        onlyAfterCrowdsale
        returns (bool)
    {
        assert(tokenCount <= 100000000e18);    // shall not exceed 100M tokens
        assert(SafeMath.sub(now, starbaseCrowdsale.endedAt()) >= 180 days);   // shall not be declared for 6 months after the crowdsale ended
        assert(SafeMath.sub(unlockCompanysTokensAt, now) >= 60 days);   // tokens must be untransferable at least for 2 months

        // check if last declaration was more than 6 months ago
        if (publicOfferingPlans.length > 0) {
            uint256 lastDeclaredAt =
                publicOfferingPlans[publicOfferingPlans.length - 1].declaredAt;
            assert(SafeMath.sub(now, lastDeclaredAt) >= 180 days);
        }

        uint256 totalDeclaredTokenCount = tokenCount;
        for (uint8 i; i < publicOfferingPlans.length; i++) {
            totalDeclaredTokenCount = SafeMath.add(totalDeclaredTokenCount, publicOfferingPlans[i].tokenCount);
        }
        assert(totalDeclaredTokenCount <= initialCompanysTokenAllocation);   // shall not exceed the initial token allocation

        publicOfferingPlans.push(
            PublicOfferingPlan(tokenCount, unlockCompanysTokensAt, now));

        PublicOfferingPlanDeclared(tokenCount, unlockCompanysTokensAt);
    }

    /**
     * @dev Allocate tokens to a marketing supporter from the marketing campaign share
     * @param to Address to where tokens are allocated
     * @param value Number of tokens to transfer
     */
    function allocateToMarketingSupporter(address to, uint256 value)
        external
        onlyMarketingCampaignContract
        returns (bool)
    {
        require(to != address(0));
        return allocateFrom(address(starbaseMarketingCampaign), to, value);
    }

    /**
     * @dev Allocate tokens to an early contributor from the early contributor share
     * @param to Address to where tokens are allocated
     * @param value Number of tokens to transfer
     */
    function allocateToEarlyContributor(address to, uint256 value)
        external
        onlyFundraiser
        returns (bool)
    {
        require(to != address(0));
        initialEcTokenAllocation[to] =
            SafeMath.add(initialEcTokenAllocation[to], value);
        return allocateFrom(0, to, value);
    }

    /**
     * @dev Issue new tokens according to the STAR token inflation limits
     * @param _for Address to where tokens are allocated
     * @param value Number of tokens to issue
     */
    function issueTokens(address _for, uint256 value)
        external
        onlyFundraiser
        onlyAfterCrowdsale
        returns (bool)
    {
        require(_for != address(0));
        // check if the value under the limits
        assert(value <= numOfInflatableTokens());

        totalSupply = SafeMath.add(totalSupply, value);
        balances[_for] = SafeMath.add(balances[_for], value);
        return true;
    }

    /**
     * @dev Declares Starbase MVP has been launched
     * @param launchedAt When the MVP launched (timestamp)
     */
    function declareMvpLaunched(uint256 launchedAt)
        external
        onlyFundraiser
        onlyAfterCrowdsale
        returns (bool)
    {
        require(mvpLaunchedAt == 0); // overwriting the launch date is not permitted
        require(launchedAt <= now);
        require(starbaseCrowdsale.isEnded());

        mvpLaunchedAt = launchedAt;
        MvpLaunched(launchedAt);
        return true;
    }

    /**
     * @dev Allocate tokens to a crowdsale or early purchaser from the crowdsale share
     * @param to Address to where tokens are allocated
     * @param value Number of tokens to transfer
     */
    function allocateToCrowdsalePurchaser(address to, uint256 value)
        external
        onlyCrowdsaleContract
        onlyAfterCrowdsale
        returns (bool)
    {
        require(to != address(0));
        return allocateFrom(address(starbaseCrowdsale), to, value);
    }

    /*
     *  Public functions
     */

    /**
     * @dev Transfers sender's tokens to a given address. Returns success.
     * @param to Address of token receiver.
     * @param value Number of tokens to transfer.
     */
    function transfer(address to, uint256 value) public onlyPayloadSize(2*32) returns (bool) {
        assert(isTransferable(msg.sender, value));
        return super.transfer(to, value);
    }

    /**
     * @dev Allows third party to transfer tokens from one address to another. Returns success.
     * @param from Address from where tokens are withdrawn.
     * @param to Address to where tokens are sent.
     * @param value Number of tokens to transfer.
     */
    function transferFrom(address from, address to, uint256 value) public onlyPayloadSize(3*32) returns (bool) {
        assert(isTransferable(from, value));
        return super.transferFrom(from, to, value);
    }

    /**
     * @dev Adds fundraiser. Only called by another fundraiser.
     * @param fundraiserAddress The address in check
     */
    function addFundraiser(address fundraiserAddress) public onlyFundraiser {
        require(fundraiserAddress != address(0));
        assert(!isFundraiser(fundraiserAddress));

        fundraisers[fundraiserAddress] = true;
        LogNewFundraiser(fundraiserAddress, true);
    }

    /**
     * @dev Update fundraiser address rights.
     * @param fundraiserAddress The address to update
     * @param isBonaFide Boolean that denotes whether fundraiser is active or not.
     */
    function updateFundraiser(address fundraiserAddress, bool isBonaFide)
       public
       onlyFundraiser
       returns(bool)
    {
        assert(isFundraiser(fundraiserAddress));

        fundraisers[fundraiserAddress] = isBonaFide;
        LogUpdateFundraiser(fundraiserAddress, isBonaFide);
        return true;
    }

    /**
     * @dev Returns whether fundraiser address has rights.
     * @param fundraiserAddress The address in check
     */
    function isFundraiser(address fundraiserAddress) constant public returns(bool) {
        return fundraisers[fundraiserAddress];
    }

    /**
     * @dev Returns whether the transferring of tokens is available fundraiser.
     * @param from Address of token sender
     * @param tokenCount Number of tokens to transfer.
     */
    function isTransferable(address from, uint256 tokenCount)
        constant
        public
        returns (bool)
    {
        if (tokenCount == 0 || balances[from] < tokenCount) {
            return false;
        }

        // company's tokens may be locked up
        if (from == company) {
            if (tokenCount > numOfTransferableCompanysTokens()) {
                return false;
            }
        }

        uint256 untransferableTokenCount = 0;

        // early contributor's tokens may be locked up
        if (initialEcTokenAllocation[from] > 0) {
            untransferableTokenCount = SafeMath.add(
                untransferableTokenCount,
                numOfUntransferableEcTokens(from));
        }

        // EP and CS purchasers' tokens should be untransferable initially
        if (starbaseCrowdsale.isEnded()) {
            uint256 passedDays =
                SafeMath.sub(now, starbaseCrowdsale.endedAt()) / 86400; // 1d = 86400s
            if (passedDays < 7) {  // within a week
                // crowdsale purchasers cannot transfer their tokens for a week
                untransferableTokenCount = SafeMath.add(
                    untransferableTokenCount,
                    starbaseCrowdsale.numOfPurchasedTokensOnCsBy(from));
            }
            if (passedDays < 14) {  // within two weeks
                // early purchasers cannot transfer their tokens for two weeks
                untransferableTokenCount = SafeMath.add(
                    untransferableTokenCount,
                    starbaseCrowdsale.numOfPurchasedTokensOnEpBy(from));
            }
        }

        uint256 transferableTokenCount =
            SafeMath.sub(balances[from], untransferableTokenCount);

        if (transferableTokenCount < tokenCount) {
            return false;
        } else {
            return true;
        }
    }

    /**
     * @dev Returns the number of transferable company's tokens
     */
    function numOfTransferableCompanysTokens() constant public returns (uint256) {
        uint256 unlockedTokens = 0;
        for (uint8 i; i < publicOfferingPlans.length; i++) {
            PublicOfferingPlan memory plan = publicOfferingPlans[i];
            if (plan.unlockCompanysTokensAt <= now) {
                unlockedTokens = SafeMath.add(unlockedTokens, plan.tokenCount);
            }
        }
        return SafeMath.sub(
            balances[company],
            initialCompanysTokenAllocation - unlockedTokens);
    }

    /**
     * @dev Returns the number of untransferable tokens of the early contributor
     * @param _for Address of early contributor to check
     */
    function numOfUntransferableEcTokens(address _for) constant public returns (uint256) {
        uint256 initialCount = initialEcTokenAllocation[_for];
        if (mvpLaunchedAt == 0) {
            return initialCount;
        }

        uint256 passedWeeks = SafeMath.sub(now, mvpLaunchedAt) / 7 days;
        if (passedWeeks <= 52) {    // a year ≈ 52 weeks
            // all tokens should be locked up for a year
            return initialCount;
        }

        // unlock 1/52 tokens every weeks after a year
        uint256 transferableTokenCount = initialCount / 52 * (passedWeeks - 52);
        if (transferableTokenCount >= initialCount) {
            return 0;
        } else {
            return SafeMath.sub(initialCount, transferableTokenCount);
        }
    }

    /**
     * @dev Returns number of tokens which can be issued according to the inflation rules
     */
    function numOfInflatableTokens() constant public returns (uint256) {
        if (starbaseCrowdsale.endedAt() == 0) {
            return 0;
        }
        uint256 passedDays = SafeMath.sub(now, starbaseCrowdsale.endedAt()) / 86400;  // 1d = 60s * 60m * 24h = 86400s
        uint256 passedYears = passedDays * 100 / 36525;    // about 365.25 days in a year
        uint256 inflatedSupply = initialSupply;
        for (uint256 i; i < passedYears; i++) {
            inflatedSupply = SafeMath.add(inflatedSupply, SafeMath.mul(inflatedSupply, 25) / 1000); // 2.5%/y = 0.025/y
        }

        uint256 remainderedDays = passedDays * 100 % 36525 / 100;
        if (remainderedDays > 0) {
            uint256 inflatableTokensOfNextYear =
                SafeMath.mul(inflatedSupply, 25) / 1000;
            inflatedSupply = SafeMath.add(inflatedSupply, SafeMath.mul(
                inflatableTokensOfNextYear, remainderedDays * 100) / 36525);
        }

        return SafeMath.sub(inflatedSupply, totalSupply);
    }

    /*
     *  Internal functions
     */

    /**
     * @dev Allocate tokens value from an address to another one. This function is only called internally.
     * @param from Address from where tokens come
     * @param to Address to where tokens are allocated
     * @param value Number of tokens to transfer
     */
    function allocateFrom(address from, address to, uint256 value) internal returns (bool) {
        assert(value > 0 && balances[from] >= value);
        balances[from] = SafeMath.sub(balances[from], value);
        balances[to] = SafeMath.add(balances[to], value);
        Transfer(from, to, value);
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"numOfInflatableTokens","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":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"name":"approve","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"allocateToCrowdsalePurchaser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numOfDeclaredPublicOfferingPlans","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"allocateToMarketingSupporter","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":false,"inputs":[{"name":"starbaseCrowdsaleAddr","type":"address"},{"name":"starbaseMarketingCampaignAddr","type":"address"}],"name":"setup","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"starbaseMarketingCampaign","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"launchedAt","type":"uint256"}],"name":"declareMvpLaunched","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"allocateToEarlyContributor","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"initialEcTokenAllocation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_for","type":"address"},{"name":"value","type":"uint256"}],"name":"issueTokens","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"numOfTransferableCompanysTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"company","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"name":"balance","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"uint256"}],"name":"publicOfferingPlans","outputs":[{"name":"tokenCount","type":"uint256"},{"name":"unlockCompanysTokensAt","type":"uint256"},{"name":"declaredAt","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"fundraiserAddress","type":"address"}],"name":"isFundraiser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"from","type":"address"},{"name":"tokenCount","type":"uint256"}],"name":"isTransferable","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"starbaseCrowdsale","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":"to","type":"address"},{"name":"value","type":"uint256"}],"name":"transfer","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"initialBalanceForMarketingCampaign","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialBalanceForCrowdsale","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"initialCompanysTokenAllocation","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"name":"allowance","outputs":[{"name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"fundraiserAddress","type":"address"},{"name":"isBonaFide","type":"bool"}],"name":"updateFundraiser","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"tokenCount","type":"uint256"},{"name":"unlockCompanysTokensAt","type":"uint256"}],"name":"declarePublicOfferingPlan","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"mvpLaunchedAt","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"_for","type":"address"}],"name":"numOfUntransferableEcTokens","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"fundraiserAddress","type":"address"}],"name":"addFundraiser","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[{"name":"starbaseCompanyAddr","type":"address"},{"name":"starbaseCrowdsaleAddr","type":"address"},{"name":"starbaseMarketingCampaignAddr","type":"address"}],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"name":"tokenCount","type":"uint256"},{"indexed":false,"name":"unlockCompanysTokensAt","type":"uint256"}],"name":"PublicOfferingPlanDeclared","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"name":"launchedAt","type":"uint256"}],"name":"MvpLaunched","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"fundraiserAddress","type":"address"},{"indexed":false,"name":"isBonaFide","type":"bool"}],"name":"LogNewFundraiser","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"name":"fundraiserAddress","type":"address"},{"indexed":false,"name":"isBonaFide","type":"bool"}],"name":"LogUpdateFundraiser","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"},{"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"}]

606060405234156200001057600080fd5b6040516060806200229e8339810160405280805191906020018051919060200180519150505b600160a060020a03831615801590620000575750600160a060020a03821615155b80156200006c5750600160a060020a03811615155b15156200007557fe5b60038054600160a060020a03808516600160a060020a03199283161790925560048054848416908316179055600580548684169216919091179055331660008181526009602052604090819020805460ff191660019081179091557f22b12f3851b54c6634c282f9b575540c2ad483f802ec70c4af3e08e8ae8530239151901515815260200160405180910390a260038054600160a060020a039081166000908152600160205260408082206a90c1b1025e16710f0000009081905593549092169290916000805160206200227e83398151915291905190815260200160405180910390a360048054600160a060020a039081166000908152600160205260408082206a0a56fa5b99019a5c8000009081905593549092169290916000805160206200227e83398151915291905190815260200160405180910390a360016020526a33b2e3c9fd0803ce8000007fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb4955600160a060020a038316600081815260408082206b026c62ad77dc602dae000000908190556000805160206200227e833981519152915190815260200160405180910390a36b033b2e3c9fd0803ce80000006000555b5050505b612030806200024e6000396000f300606060405236156101a65763ffffffff60e060020a60003504166303771f2f81146101ab57806306fdde03146101d0578063095ea7b31461025b5780630ef5a7e014610291578063168b912d146102c757806318160ddd146102ec578063202b876a1461031157806323b872dd146103475780632d34ba7914610383578063313ce567146103bc5780633774e6f5146103e5578063378dc3dc1461041457806337918bcb146104395780633923afee1461046357806339b584b114610499578063475a9fa9146104ca5780634a418fb71461050057806366188463146105255780636904c94d1461055b57806370a082311461058a578063772ad01f146105bb5780637f7977d1146105f557806388fc65fb1461062857806389ede7841461065e57806395d89b411461068d578063a9059cbb14610718578063adbf54b71461074e578063b006de0d14610773578063c3a3954414610798578063d73dd623146107bd578063dd62ed3e146107f3578063df50a8c11461082a578063e1ab586014610862578063e1e463511461088f578063e531a9b8146108b4578063ef688df5146108e5575b600080fd5b34156101b657600080fd5b6101be610906565b60405190815260200160405180910390f35b34156101db57600080fd5b6101e3610ace565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102205780820151818401525b602001610207565b50505050905090810190601f16801561024d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561026657600080fd5b61027d600160a060020a0360043516602435610b05565b604051901515815260200160405180910390f35b341561029c57600080fd5b61027d600160a060020a0360043516602435610b72565b604051901515815260200160405180910390f35b34156102d257600080fd5b6101be610c32565b60405190815260200160405180910390f35b34156102f757600080fd5b6101be610c39565b60405190815260200160405180910390f35b341561031c57600080fd5b61027d600160a060020a0360043516602435610c3f565b604051901515815260200160405180910390f35b341561035257600080fd5b61027d600160a060020a0360043581169060243516604435610c90565b604051901515815260200160405180910390f35b341561038e57600080fd5b61027d600160a060020a0360043581169060243516610cc7565b604051901515815260200160405180910390f35b34156103c757600080fd5b6103cf610e64565b60405160ff909116815260200160405180910390f35b34156103f057600080fd5b6103f8610e69565b604051600160a060020a03909116815260200160405180910390f35b341561041f57600080fd5b6101be610e78565b60405190815260200160405180910390f35b341561044457600080fd5b61027d600435610e88565b604051901515815260200160405180910390f35b341561046e57600080fd5b61027d600160a060020a0360043516602435610fd4565b604051901515815260200160405180910390f35b34156104a457600080fd5b6101be600160a060020a0360043516611050565b60405190815260200160405180910390f35b34156104d557600080fd5b61027d600160a060020a0360043516602435611062565b604051901515815260200160405180910390f35b341561050b57600080fd5b6101be611164565b60405190815260200160405180910390f35b341561053057600080fd5b61027d600160a060020a036004351660243561122e565b604051901515815260200160405180910390f35b341561056657600080fd5b6103f861132a565b604051600160a060020a03909116815260200160405180910390f35b341561059557600080fd5b6101be600160a060020a0360043516611339565b60405190815260200160405180910390f35b34156105c657600080fd5b6105d1600435611358565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561060057600080fd5b61027d600160a060020a036004351661138b565b604051901515815260200160405180910390f35b341561063357600080fd5b61027d600160a060020a03600435166024356113ad565b604051901515815260200160405180910390f35b341561066957600080fd5b6103f8611690565b604051600160a060020a03909116815260200160405180910390f35b341561069857600080fd5b6101e361169f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102205780820151818401525b602001610207565b50505050905090810190601f16801561024d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072357600080fd5b61027d600160a060020a03600435166024356116d6565b604051901515815260200160405180910390f35b341561075957600080fd5b6101be61170b565b60405190815260200160405180910390f35b341561077e57600080fd5b6101be61171a565b60405190815260200160405180910390f35b34156107a357600080fd5b6101be611729565b60405190815260200160405180910390f35b34156107c857600080fd5b61027d600160a060020a0360043516602435611739565b604051901515815260200160405180910390f35b34156107fe57600080fd5b6101be600160a060020a03600435811690602435166117de565b60405190815260200160405180910390f35b341561083557600080fd5b61027d600160a060020a0360043516602435151561180b565b604051901515815260200160405180910390f35b341561086d57600080fd5b61027d600435602435611895565b604051901515815260200160405180910390f35b341561089a57600080fd5b6101be611b10565b60405190815260200160405180910390f35b34156108bf57600080fd5b6101be600160a060020a0360043516611b16565b60405190815260200160405180910390f35b34156108f057600080fd5b610904600160a060020a0360043516611ba3565b005b600354600090819081908190819081908190600160a060020a0316633d6a71e482604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095c57600080fd5b6102c65a03f1151561096d57600080fd5b5050506040518051151590506109865760009650610ac5565b60035462015180906109f9904290600160a060020a0316633d6a71e46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109d957600080fd5b6102c65a03f115156109ea57600080fd5b50505060405180519050611c39565b811515610a0257fe5b049550618ead606487025b0494506b033b2e3c9fd0803ce800000093505b84831015610a5757610a49846103e8610a3a876019611c50565b811515610a4357fe5b04611c7f565b93505b600190920191610a20565b6064618ead8782025b06811515610a6a57fe5b0491506000821115610ab6576103e8610a84856019611c50565b811515610a8d57fe5b049050610ab384618ead610a3a8486606402611c50565b811515610a4357fe5b04611c7f565b93505b610ac284600054611c39565b96505b50505050505090565b60408051908101604052600881527f5374617262617365000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60035460009033600160a060020a03908116911614610b8d57fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610bd557600080fd5b6102c65a03f11515610be657600080fd5b505050604051805190501515610bfb57600080fd5b600160a060020a0383161515610c1057600080fd5b600354610c2790600160a060020a03168484611c99565b90505b5b5b92915050565b6006545b90565b60005481565b60045460009033600160a060020a03908116911614610c5a57fe5b600160a060020a0383161515610c6f57600080fd5b600454610c2790600160a060020a03168484611c99565b90505b5b92915050565b6000606036606414610c9e57fe5b610ca885846113ad565b1515610cb057fe5b610cbb858585611d7f565b91505b5b509392505050565b6000610cd23361138b565b1515610cda57fe5b600354600160a060020a0316630b97bc866000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d2257600080fd5b6102c65a03f11515610d3357600080fd5b5050506040518051159050610d4757600080fd5b600160a060020a03831615801590610d675750600160a060020a03821615155b1515610d7257600080fd5b600354600160a060020a03166000908152600160205260409020546a90c1b1025e16710f00000014610da057fe5b600454600160a060020a03166000908152600160205260409020546a0a56fa5b99019a5c80000014610dce57fe5b5060038054600160a060020a03908116600090815260016020819052604080832083905560048054851684528184208490558785168085528285206a90c1b1025e16710f0000009055948716808552919093206a0a56fa5b99019a5c8000009055845473ffffffffffffffffffffffffffffffffffffffff1990811690941790945581549092169092179091555b5b5b92915050565b601281565b600454600160a060020a031681565b6b033b2e3c9fd0803ce800000081565b6000610e933361138b565b1515610e9b57fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ee357600080fd5b6102c65a03f11515610ef457600080fd5b505050604051805190501515610f0957600080fd5b60085415610f1657600080fd5b42821115610f2357600080fd5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f6b57600080fd5b6102c65a03f11515610f7c57600080fd5b505050604051805190501515610f9157600080fd5b60088290557fd94b06865896e1de625324a14ebf271925fd43405351ff908ab157b6b5e46e818260405190815260200160405180910390a15060015b5b5b919050565b6000610fdf3361138b565b1515610fe757fe5b600160a060020a0383161515610ffc57600080fd5b600160a060020a03831660009081526007602052604090205461101f9083611c7f565b600160a060020a038416600090815260076020526040812091909155610c27908484611c99565b90505b5b92915050565b60076020526000908152604090205481565b600061106d3361138b565b151561107557fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110bd57600080fd5b6102c65a03f115156110ce57600080fd5b5050506040518051905015156110e357600080fd5b600160a060020a03831615156110f857600080fd5b611100610906565b82111561110957fe5b61111560005483611c7f565b6000908155600160a060020a03841681526001602052604090205461113a9083611c7f565b600160a060020a03841660009081526001602081905260409091209190915590505b5b5b92915050565b6000806000611171611f82565b600092505b60065460ff831610156111f1576006805460ff841690811061119457fe5b906000526020600020906003020160005b506060604051908101604090815282548252600183015460208301908152600290930154908201529150429051116111e5576111e2838251611c7f565b92505b5b600190910190611176565b600554600160a060020a0316600090815260016020526040902054611225906b026c62ad77dc602dae000000859003611c39565b93505b50505090565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561128b57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556112c2565b61129b818463ffffffff611c3916565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600554600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b600680548290811061136657fe5b906000526020600020906003020160005b508054600182015460029092015490925083565b600160a060020a03811660009081526009602052604090205460ff165b919050565b60008080808415806113d75750600160a060020a0386166000908152600160205260409020548590105b156113e55760009350611686565b600554600160a060020a038781169116141561141357611403611164565b8511156114135760009350611686565b5b600160a060020a0386166000908152600760205260408120549093508390111561144d5761144a8361144588611b16565b611c7f565b92505b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561149557600080fd5b6102c65a03f115156114a657600080fd5b505050604051805190501561164a576003546201518090611528904290600160a060020a0316633d6a71e46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109d957600080fd5b6102c65a03f115156109ea57600080fd5b50505060405180519050611c39565b81151561153157fe5b04915060078210156115bf576003546115bc908490600160a060020a0316637a9601548960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561159c57600080fd5b6102c65a03f115156115ad57600080fd5b50505060405180519050611c7f565b92505b600e82101561164a57600354611647908490600160a060020a0316634d730d518960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561159c57600080fd5b6102c65a03f115156115ad57600080fd5b50505060405180519050611c7f565b92505b5b600160a060020a03861660009081526001602052604090205461166e9084611c39565b9050848110156116815760009350611686565b600193505b5b50505092915050565b600354600160a060020a031681565b60408051908101604052600481527f5354415200000000000000000000000000000000000000000000000000000000602082015281565b60006040366044146116e457fe5b6116ee33846113ad565b15156116f657fe5b6117008484611eab565b91505b5b5092915050565b6a0a56fa5b99019a5c80000081565b6a90c1b1025e16710f00000081565b6b026c62ad77dc602dae00000081565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054611771908363ffffffff611c7f16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60006118163361138b565b151561181e57fe5b6118278361138b565b151561182f57fe5b600160a060020a03831660008181526009602052604090819020805460ff19168515151790557f75014c5ef16a5a3d68049061808282329efbd39868b2a99a1f9427f7be622af290849051901515815260200160405180910390a25060015b5b92915050565b6000806000806118a43361138b565b15156118ac57fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156118f457600080fd5b6102c65a03f1151561190557600080fd5b50505060405180519050151561191a57600080fd5b6a52b7d2dcc80cd2e400000086111561192f57fe5b60035462ed4e00906119a2904290600160a060020a0316633d6a71e46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109d957600080fd5b6102c65a03f115156109ea57600080fd5b50505060405180519050611c39565b10156119aa57fe5b624f1a006119b88642611c39565b10156119c057fe5b6006546000901115611a0c576006805460001981019081106119de57fe5b906000526020600020906003020160005b5060020154925062ed4e00611a044285611c39565b1015611a0c57fe5b5b8591505b60065460ff82161015611a5757611a4c8260068360ff16815481101515611a3457fe5b906000526020600020906003020160005b5054611c7f565b91505b600101611a11565b6b026c62ad77dc602dae000000821115611a6d57fe5b6006805460018101611a7f8382611fa4565b916000526020600020906003020160005b606060405190810160409081528a8252602082018a905242908201529190508151815560208201518160010155604082015181600201555050507f8a8a98fdc53b8f3144b328ef8e38a44f5a856263cdd4071f161e62d9e15e1fa9868660405191825260208201526040908101905180910390a15b5b5b50505092915050565b60085481565b600160a060020a038116600090815260076020526040812054600854829081901515611b4457829350611b9a565b62093a80611b5442600854611c39565b811515611b5d57fe5b04915060348211611b7057829350611b9a565b60331982016034845b04029050828110611b8d5760009350611b9a565b611b978382611c39565b93505b5b505050919050565b611bac3361138b565b1515611bb457fe5b600160a060020a0381161515611bc957600080fd5b611bd28161138b565b15611bd957fe5b600160a060020a03811660008181526009602052604090819020805460ff191660019081179091557f22b12f3851b54c6634c282f9b575540c2ad483f802ec70c4af3e08e8ae8530239151901515815260200160405180910390a25b5b50565b600082821115611c4557fe5b508082035b92915050565b6000828202831580611c6c5750828482811515611c6957fe5b04145b1515611c7457fe5b8091505b5092915050565b600082820183811015611c7457fe5b8091505b5092915050565b60008082118015611cc35750600160a060020a038416600090815260016020526040902054829010155b1515611ccb57fe5b600160a060020a038416600090815260016020526040902054611cee9083611c39565b600160a060020a038086166000908152600160205260408082209390935590851681522054611d1d9083611c7f565b600160a060020a03808516600081815260016020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b9392505050565b600080600160a060020a0384161515611d9757600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054611ddd908463ffffffff611c3916565b600160a060020a038087166000908152600160205260408082209390935590861681522054611e12908463ffffffff611c7f16565b600160a060020a038516600090815260016020526040902055611e3b818463ffffffff611c3916565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b6000600160a060020a0383161515611ec257600080fd5b600160a060020a033316600090815260016020526040902054611eeb908363ffffffff611c3916565b600160a060020a033381166000908152600160205260408082209390935590851681522054611f20908363ffffffff611c7f16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b6060604051908101604052806000815260200160008152602001600081525090565b815481835581811511611fd057600302816003028360005260206000209182019101611fd09190611fd6565b5b505050565b610c3691905b80821115611ffd576000808255600182018190556002820155600301611fdc565b5090565b905600a165627a7a7230582080d59bed20a206aac3d8c04eef71a72c349854b90471633196e79ea1aca9f0e40029ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef0000000000000000000000006c9e70d6682ea36ff340153d574b2c523671b107000000000000000000000000c03ab1fc46c6d01238707426c929e9eed3e7f9b3000000000000000000000000ed9d813c4a82a9d76eba8ea666a7a0ab95f7bb29

Deployed Bytecode

0x606060405236156101a65763ffffffff60e060020a60003504166303771f2f81146101ab57806306fdde03146101d0578063095ea7b31461025b5780630ef5a7e014610291578063168b912d146102c757806318160ddd146102ec578063202b876a1461031157806323b872dd146103475780632d34ba7914610383578063313ce567146103bc5780633774e6f5146103e5578063378dc3dc1461041457806337918bcb146104395780633923afee1461046357806339b584b114610499578063475a9fa9146104ca5780634a418fb71461050057806366188463146105255780636904c94d1461055b57806370a082311461058a578063772ad01f146105bb5780637f7977d1146105f557806388fc65fb1461062857806389ede7841461065e57806395d89b411461068d578063a9059cbb14610718578063adbf54b71461074e578063b006de0d14610773578063c3a3954414610798578063d73dd623146107bd578063dd62ed3e146107f3578063df50a8c11461082a578063e1ab586014610862578063e1e463511461088f578063e531a9b8146108b4578063ef688df5146108e5575b600080fd5b34156101b657600080fd5b6101be610906565b60405190815260200160405180910390f35b34156101db57600080fd5b6101e3610ace565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102205780820151818401525b602001610207565b50505050905090810190601f16801561024d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561026657600080fd5b61027d600160a060020a0360043516602435610b05565b604051901515815260200160405180910390f35b341561029c57600080fd5b61027d600160a060020a0360043516602435610b72565b604051901515815260200160405180910390f35b34156102d257600080fd5b6101be610c32565b60405190815260200160405180910390f35b34156102f757600080fd5b6101be610c39565b60405190815260200160405180910390f35b341561031c57600080fd5b61027d600160a060020a0360043516602435610c3f565b604051901515815260200160405180910390f35b341561035257600080fd5b61027d600160a060020a0360043581169060243516604435610c90565b604051901515815260200160405180910390f35b341561038e57600080fd5b61027d600160a060020a0360043581169060243516610cc7565b604051901515815260200160405180910390f35b34156103c757600080fd5b6103cf610e64565b60405160ff909116815260200160405180910390f35b34156103f057600080fd5b6103f8610e69565b604051600160a060020a03909116815260200160405180910390f35b341561041f57600080fd5b6101be610e78565b60405190815260200160405180910390f35b341561044457600080fd5b61027d600435610e88565b604051901515815260200160405180910390f35b341561046e57600080fd5b61027d600160a060020a0360043516602435610fd4565b604051901515815260200160405180910390f35b34156104a457600080fd5b6101be600160a060020a0360043516611050565b60405190815260200160405180910390f35b34156104d557600080fd5b61027d600160a060020a0360043516602435611062565b604051901515815260200160405180910390f35b341561050b57600080fd5b6101be611164565b60405190815260200160405180910390f35b341561053057600080fd5b61027d600160a060020a036004351660243561122e565b604051901515815260200160405180910390f35b341561056657600080fd5b6103f861132a565b604051600160a060020a03909116815260200160405180910390f35b341561059557600080fd5b6101be600160a060020a0360043516611339565b60405190815260200160405180910390f35b34156105c657600080fd5b6105d1600435611358565b60405180848152602001838152602001828152602001935050505060405180910390f35b341561060057600080fd5b61027d600160a060020a036004351661138b565b604051901515815260200160405180910390f35b341561063357600080fd5b61027d600160a060020a03600435166024356113ad565b604051901515815260200160405180910390f35b341561066957600080fd5b6103f8611690565b604051600160a060020a03909116815260200160405180910390f35b341561069857600080fd5b6101e361169f565b60405160208082528190810183818151815260200191508051906020019080838360005b838110156102205780820151818401525b602001610207565b50505050905090810190601f16801561024d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b341561072357600080fd5b61027d600160a060020a03600435166024356116d6565b604051901515815260200160405180910390f35b341561075957600080fd5b6101be61170b565b60405190815260200160405180910390f35b341561077e57600080fd5b6101be61171a565b60405190815260200160405180910390f35b34156107a357600080fd5b6101be611729565b60405190815260200160405180910390f35b34156107c857600080fd5b61027d600160a060020a0360043516602435611739565b604051901515815260200160405180910390f35b34156107fe57600080fd5b6101be600160a060020a03600435811690602435166117de565b60405190815260200160405180910390f35b341561083557600080fd5b61027d600160a060020a0360043516602435151561180b565b604051901515815260200160405180910390f35b341561086d57600080fd5b61027d600435602435611895565b604051901515815260200160405180910390f35b341561089a57600080fd5b6101be611b10565b60405190815260200160405180910390f35b34156108bf57600080fd5b6101be600160a060020a0360043516611b16565b60405190815260200160405180910390f35b34156108f057600080fd5b610904600160a060020a0360043516611ba3565b005b600354600090819081908190819081908190600160a060020a0316633d6a71e482604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561095c57600080fd5b6102c65a03f1151561096d57600080fd5b5050506040518051151590506109865760009650610ac5565b60035462015180906109f9904290600160a060020a0316633d6a71e46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109d957600080fd5b6102c65a03f115156109ea57600080fd5b50505060405180519050611c39565b811515610a0257fe5b049550618ead606487025b0494506b033b2e3c9fd0803ce800000093505b84831015610a5757610a49846103e8610a3a876019611c50565b811515610a4357fe5b04611c7f565b93505b600190920191610a20565b6064618ead8782025b06811515610a6a57fe5b0491506000821115610ab6576103e8610a84856019611c50565b811515610a8d57fe5b049050610ab384618ead610a3a8486606402611c50565b811515610a4357fe5b04611c7f565b93505b610ac284600054611c39565b96505b50505050505090565b60408051908101604052600881527f5374617262617365000000000000000000000000000000000000000000000000602082015281565b600160a060020a03338116600081815260026020908152604080832094871680845294909152808220859055909291907f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259085905190815260200160405180910390a35060015b92915050565b60035460009033600160a060020a03908116911614610b8d57fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610bd557600080fd5b6102c65a03f11515610be657600080fd5b505050604051805190501515610bfb57600080fd5b600160a060020a0383161515610c1057600080fd5b600354610c2790600160a060020a03168484611c99565b90505b5b5b92915050565b6006545b90565b60005481565b60045460009033600160a060020a03908116911614610c5a57fe5b600160a060020a0383161515610c6f57600080fd5b600454610c2790600160a060020a03168484611c99565b90505b5b92915050565b6000606036606414610c9e57fe5b610ca885846113ad565b1515610cb057fe5b610cbb858585611d7f565b91505b5b509392505050565b6000610cd23361138b565b1515610cda57fe5b600354600160a060020a0316630b97bc866000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610d2257600080fd5b6102c65a03f11515610d3357600080fd5b5050506040518051159050610d4757600080fd5b600160a060020a03831615801590610d675750600160a060020a03821615155b1515610d7257600080fd5b600354600160a060020a03166000908152600160205260409020546a90c1b1025e16710f00000014610da057fe5b600454600160a060020a03166000908152600160205260409020546a0a56fa5b99019a5c80000014610dce57fe5b5060038054600160a060020a03908116600090815260016020819052604080832083905560048054851684528184208490558785168085528285206a90c1b1025e16710f0000009055948716808552919093206a0a56fa5b99019a5c8000009055845473ffffffffffffffffffffffffffffffffffffffff1990811690941790945581549092169092179091555b5b5b92915050565b601281565b600454600160a060020a031681565b6b033b2e3c9fd0803ce800000081565b6000610e933361138b565b1515610e9b57fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610ee357600080fd5b6102c65a03f11515610ef457600080fd5b505050604051805190501515610f0957600080fd5b60085415610f1657600080fd5b42821115610f2357600080fd5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b1515610f6b57600080fd5b6102c65a03f11515610f7c57600080fd5b505050604051805190501515610f9157600080fd5b60088290557fd94b06865896e1de625324a14ebf271925fd43405351ff908ab157b6b5e46e818260405190815260200160405180910390a15060015b5b5b919050565b6000610fdf3361138b565b1515610fe757fe5b600160a060020a0383161515610ffc57600080fd5b600160a060020a03831660009081526007602052604090205461101f9083611c7f565b600160a060020a038416600090815260076020526040812091909155610c27908484611c99565b90505b5b92915050565b60076020526000908152604090205481565b600061106d3361138b565b151561107557fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156110bd57600080fd5b6102c65a03f115156110ce57600080fd5b5050506040518051905015156110e357600080fd5b600160a060020a03831615156110f857600080fd5b611100610906565b82111561110957fe5b61111560005483611c7f565b6000908155600160a060020a03841681526001602052604090205461113a9083611c7f565b600160a060020a03841660009081526001602081905260409091209190915590505b5b5b92915050565b6000806000611171611f82565b600092505b60065460ff831610156111f1576006805460ff841690811061119457fe5b906000526020600020906003020160005b506060604051908101604090815282548252600183015460208301908152600290930154908201529150429051116111e5576111e2838251611c7f565b92505b5b600190910190611176565b600554600160a060020a0316600090815260016020526040902054611225906b026c62ad77dc602dae000000859003611c39565b93505b50505090565b600160a060020a0333811660009081526002602090815260408083209386168352929052908120548083111561128b57600160a060020a0333811660009081526002602090815260408083209388168352929052908120556112c2565b61129b818463ffffffff611c3916565b600160a060020a033381166000908152600260209081526040808320938916835292905220555b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020547f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925915190815260200160405180910390a3600191505b5092915050565b600554600160a060020a031681565b600160a060020a0381166000908152600160205260409020545b919050565b600680548290811061136657fe5b906000526020600020906003020160005b508054600182015460029092015490925083565b600160a060020a03811660009081526009602052604090205460ff165b919050565b60008080808415806113d75750600160a060020a0386166000908152600160205260409020548590105b156113e55760009350611686565b600554600160a060020a038781169116141561141357611403611164565b8511156114135760009350611686565b5b600160a060020a0386166000908152600760205260408120549093508390111561144d5761144a8361144588611b16565b611c7f565b92505b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b151561149557600080fd5b6102c65a03f115156114a657600080fd5b505050604051805190501561164a576003546201518090611528904290600160a060020a0316633d6a71e46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109d957600080fd5b6102c65a03f115156109ea57600080fd5b50505060405180519050611c39565b81151561153157fe5b04915060078210156115bf576003546115bc908490600160a060020a0316637a9601548960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561159c57600080fd5b6102c65a03f115156115ad57600080fd5b50505060405180519050611c7f565b92505b600e82101561164a57600354611647908490600160a060020a0316634d730d518960006040516020015260405160e060020a63ffffffff8416028152600160a060020a039091166004820152602401602060405180830381600087803b151561159c57600080fd5b6102c65a03f115156115ad57600080fd5b50505060405180519050611c7f565b92505b5b600160a060020a03861660009081526001602052604090205461166e9084611c39565b9050848110156116815760009350611686565b600193505b5b50505092915050565b600354600160a060020a031681565b60408051908101604052600481527f5354415200000000000000000000000000000000000000000000000000000000602082015281565b60006040366044146116e457fe5b6116ee33846113ad565b15156116f657fe5b6117008484611eab565b91505b5b5092915050565b6a0a56fa5b99019a5c80000081565b6a90c1b1025e16710f00000081565b6b026c62ad77dc602dae00000081565b600160a060020a033381166000908152600260209081526040808320938616835292905290812054611771908363ffffffff611c7f16565b600160a060020a0333811660008181526002602090815260408083209489168084529490915290819020849055919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591905190815260200160405180910390a35060015b92915050565b600160a060020a038083166000908152600260209081526040808320938516835292905220545b92915050565b60006118163361138b565b151561181e57fe5b6118278361138b565b151561182f57fe5b600160a060020a03831660008181526009602052604090819020805460ff19168515151790557f75014c5ef16a5a3d68049061808282329efbd39868b2a99a1f9427f7be622af290849051901515815260200160405180910390a25060015b5b92915050565b6000806000806118a43361138b565b15156118ac57fe5b600354600160a060020a031663a4fd6f566000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156118f457600080fd5b6102c65a03f1151561190557600080fd5b50505060405180519050151561191a57600080fd5b6a52b7d2dcc80cd2e400000086111561192f57fe5b60035462ed4e00906119a2904290600160a060020a0316633d6a71e46000604051602001526040518163ffffffff1660e060020a028152600401602060405180830381600087803b15156109d957600080fd5b6102c65a03f115156109ea57600080fd5b50505060405180519050611c39565b10156119aa57fe5b624f1a006119b88642611c39565b10156119c057fe5b6006546000901115611a0c576006805460001981019081106119de57fe5b906000526020600020906003020160005b5060020154925062ed4e00611a044285611c39565b1015611a0c57fe5b5b8591505b60065460ff82161015611a5757611a4c8260068360ff16815481101515611a3457fe5b906000526020600020906003020160005b5054611c7f565b91505b600101611a11565b6b026c62ad77dc602dae000000821115611a6d57fe5b6006805460018101611a7f8382611fa4565b916000526020600020906003020160005b606060405190810160409081528a8252602082018a905242908201529190508151815560208201518160010155604082015181600201555050507f8a8a98fdc53b8f3144b328ef8e38a44f5a856263cdd4071f161e62d9e15e1fa9868660405191825260208201526040908101905180910390a15b5b5b50505092915050565b60085481565b600160a060020a038116600090815260076020526040812054600854829081901515611b4457829350611b9a565b62093a80611b5442600854611c39565b811515611b5d57fe5b04915060348211611b7057829350611b9a565b60331982016034845b04029050828110611b8d5760009350611b9a565b611b978382611c39565b93505b5b505050919050565b611bac3361138b565b1515611bb457fe5b600160a060020a0381161515611bc957600080fd5b611bd28161138b565b15611bd957fe5b600160a060020a03811660008181526009602052604090819020805460ff191660019081179091557f22b12f3851b54c6634c282f9b575540c2ad483f802ec70c4af3e08e8ae8530239151901515815260200160405180910390a25b5b50565b600082821115611c4557fe5b508082035b92915050565b6000828202831580611c6c5750828482811515611c6957fe5b04145b1515611c7457fe5b8091505b5092915050565b600082820183811015611c7457fe5b8091505b5092915050565b60008082118015611cc35750600160a060020a038416600090815260016020526040902054829010155b1515611ccb57fe5b600160a060020a038416600090815260016020526040902054611cee9083611c39565b600160a060020a038086166000908152600160205260408082209390935590851681522054611d1d9083611c7f565b600160a060020a03808516600081815260016020526040908190209390935591908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b9392505050565b600080600160a060020a0384161515611d9757600080fd5b50600160a060020a03808516600081815260026020908152604080832033909516835293815283822054928252600190529190912054611ddd908463ffffffff611c3916565b600160a060020a038087166000908152600160205260408082209390935590861681522054611e12908463ffffffff611c7f16565b600160a060020a038516600090815260016020526040902055611e3b818463ffffffff611c3916565b600160a060020a03808716600081815260026020908152604080832033861684529091529081902093909355908616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9086905190815260200160405180910390a3600191505b509392505050565b6000600160a060020a0383161515611ec257600080fd5b600160a060020a033316600090815260016020526040902054611eeb908363ffffffff611c3916565b600160a060020a033381166000908152600160205260408082209390935590851681522054611f20908363ffffffff611c7f16565b600160a060020a0380851660008181526001602052604090819020939093559133909116907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9085905190815260200160405180910390a35060015b92915050565b6060604051908101604052806000815260200160008152602001600081525090565b815481835581811511611fd057600302816003028360005260206000209182019101611fd09190611fd6565b5b505050565b610c3691905b80821115611ffd576000808255600182018190556002820155600301611fdc565b5090565b905600a165627a7a7230582080d59bed20a206aac3d8c04eef71a72c349854b90471633196e79ea1aca9f0e40029

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

0000000000000000000000006c9e70d6682ea36ff340153d574b2c523671b107000000000000000000000000c03ab1fc46c6d01238707426c929e9eed3e7f9b3000000000000000000000000ed9d813c4a82a9d76eba8ea666a7a0ab95f7bb29

-----Decoded View---------------
Arg [0] : starbaseCompanyAddr (address): 0x6C9e70d6682eA36fF340153D574b2C523671B107
Arg [1] : starbaseCrowdsaleAddr (address): 0xc03aB1fc46C6d01238707426c929E9eed3E7f9B3
Arg [2] : starbaseMarketingCampaignAddr (address): 0xED9d813c4a82A9D76ebA8Ea666A7A0ab95F7bb29

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000006c9e70d6682ea36ff340153d574b2c523671b107
Arg [1] : 000000000000000000000000c03ab1fc46c6d01238707426c929e9eed3e7f9b3
Arg [2] : 000000000000000000000000ed9d813c4a82a9d76eba8ea666a7a0ab95f7bb29


Swarm Source

bzzr://80d59bed20a206aac3d8c04eef71a72c349854b90471633196e79ea1aca9f0e4
Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.