ETH Price: $3,482.64 (+1.86%)
Gas: 14 Gwei

Token

Boosto (BST)
 

Overview

Max Total Supply

1,000,000,000 BST

Holders

2,077

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
9,134.62 BST

Value
$0.00
0x89a7172e9a3626c604c1f7435fc737cfff9ea22f
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
BoostoToken

Compiler Version
v0.4.25+commit.59dbf8f1

Optimization Enabled:
Yes with 200 runs

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

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

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

  /**
  * @dev Integer division of two numbers, truncating the quotient.
  */
  function div(uint256 a, uint256 b) internal pure returns (uint256) {
    // assert(b > 0); // Solidity automatically throws when dividing by 0
    uint256 c = a / b;
    // assert(a == b * c + a % b); // There is no case in which this doesn't hold
    return c;
  }

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

  /**
  * @dev Adds two numbers, throws on overflow.
  */
  function add(uint256 a, uint256 b) internal pure returns (uint256) {
    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 {
  function totalSupply() public view returns (uint256);
  function balanceOf(address who) public view returns (uint256);
  function transfer(address to, uint256 value) public returns (bool);
  event Transfer(address indexed from, address indexed to, uint256 value);
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
contract ERC20 is ERC20Basic {
  function allowance(address owner, address spender) public view 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 Basic token
 * @dev Basic version of StandardToken, with no allowances.
 */
contract BasicToken is ERC20Basic {
  using SafeMath for uint256;

  mapping(address => uint256) balances;

  uint256 totalSupply_;

  /**
  * @dev total number of tokens in existence
  */
  function totalSupply() public view returns (uint256) {
    return totalSupply_;
  }

  /**
  * @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));
    require(_value <= balances[msg.sender]);

    // 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 view returns (uint256 balance) {
    return balances[_owner];
  }

}




/**
 * @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)) internal 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));
    require(_value <= balances[_from]);
    require(_value <= allowed[_from][msg.sender]);

    balances[_from] = balances[_from].sub(_value);
    balances[_to] = balances[_to].add(_value);
    allowed[_from][msg.sender] = allowed[_from][msg.sender].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 view returns (uint256) {
    return allowed[_owner][_spender];
  }

  /**
   * @dev Increase the amount of tokens that an owner allowed to a 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
   * @param _spender The address which will spend the funds.
   * @param _addedValue The amount of tokens to increase the allowance by.
   */
  function increaseApproval(address _spender, uint _addedValue) public returns (bool) {
    allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
    Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
    return true;
  }

  /**
   * @dev Decrease the amount of tokens that an owner allowed to a spender.
   *
   * approve should be called when allowed[_spender] == 0. To decrement
   * allowed value is better to use this function to avoid 2 calls (and wait until
   * the first transaction is mined)
   * From MonolithDAO Token.sol
   * @param _spender The address which will spend the funds.
   * @param _subtractedValue The amount of tokens to decrease the allowance by.
   */
  function decreaseApproval(address _spender, uint _subtractedValue) public returns (bool) {
    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 BoostoToken is StandardToken {
    using SafeMath for uint256;

    struct HourlyReward{
        uint passedHours;
        uint percent;
    }

    string public name = "Boosto";
    string public symbol = "BST";
    uint8 public decimals = 18;

    // 1B total supply
    uint256 public totalSupply = 1000000000 * (uint256(10) ** decimals);
    
    uint256 public totalRaised; // total ether raised (in wei)

    uint256 public startTimestamp; // timestamp after which ICO will start
    
    // 1 month = 1 * 30 * 24 * 60 * 60
    uint256 public durationSeconds;

    // the ICO ether max cap (in wei)
    uint256 public maxCap;

    
     // Minimum Transaction Amount(0.1 ETH)
    uint256 public minAmount = 0.1 ether;

    // 1 ETH = X BST
    uint256 public coinsPerETH = 1000;

    /**
     * hourlyRewards[hours from start timestamp] = percent
     * for example hourlyRewards[10] = 20 -- 20% more coins for first 10 hoours after ICO start
     */
    HourlyReward[] public hourlyRewards;

    /**
     * if true, everyone can participate in ICOs.
     * otherwise just whitelisted wallets can participate
     */
    bool isPublic = false;

    /**
     * mapping to save whitelisted users
     */
    mapping(address => bool) public whiteList;
    
    /**
     * Address which will receive raised funds 
     * and owns the total supply of tokens
     */
    address public fundsWallet = 0x776EFa46B4b39Aa6bd2D65ce01480B31042aeAA5;

    /**
     * Address which will manage whitelist
     * and ICOs
     */
    address private adminWallet = 0xc6BD816331B1BddC7C03aB51215bbb9e2BE62dD2;    
    /**
     * @dev Constructor
     */
    constructor() public{
        //fundsWallet = msg.sender;

        startTimestamp = now;

        // ICO is not active by default. Admin can set it later
        durationSeconds = 0;

        //initially assign all tokens to the fundsWallet
        balances[fundsWallet] = totalSupply;
        Transfer(0x0, fundsWallet, totalSupply);
    }

    /**
     * @dev Checks if an ICO is open
     */
    modifier isIcoOpen() {
        require(isIcoInProgress());
        _;
    }

    /**
     * @dev Checks if the investment amount is greater than min amount
     */
    modifier checkMin(){
        require(msg.value >= minAmount);
        _;
    }

    /**
     * @dev Checks if msg.sender can participate in the ICO
     */
    modifier isWhiteListed(){
        require(isPublic || whiteList[msg.sender]);
        _;
    }

    /**
     * @dev Checks if msg.sender is admin
     * both fundsWallet and adminWallet are considered as admin
     */

    modifier isAdmin(){
        require(msg.sender == fundsWallet || msg.sender == adminWallet);
        _;
    }

    /**
     * @dev Payable fallback. This function will be called
     * when investors send ETH to buy BST
     */
    function() public isIcoOpen checkMin isWhiteListed payable{
        totalRaised = totalRaised.add(msg.value);

        uint256 tokenAmount = calculateTokenAmount(msg.value);
        balances[fundsWallet] = balances[fundsWallet].sub(tokenAmount);
        balances[msg.sender] = balances[msg.sender].add(tokenAmount);

        Transfer(fundsWallet, msg.sender, tokenAmount);

        // immediately transfer ether to fundsWallet
        fundsWallet.transfer(msg.value);
    }

    /**
     * @dev Calculates token amount for investors based on weekly rewards
     * and msg.value
     * @param weiAmount ETH amount in wei amount
     * @return Total BST amount
     */
    function calculateTokenAmount(uint256 weiAmount) public constant returns(uint256) {
        uint256 tokenAmount = weiAmount.mul(coinsPerETH);
        // setting rewards is possible only for 4 weeks
        for (uint i = 0; i < hourlyRewards.length; i++) {
            if (now <= startTimestamp + (hourlyRewards[i].passedHours * 1 hours)) {
                return tokenAmount.mul(100+hourlyRewards[i].percent).div(100);    
            }
        }
        return tokenAmount;
    }

    /**
     * @dev Update WhiteList for an address
     * @param _address The address
     * @param _value Boolean to represent the status
     */
    function adminUpdateWhiteList(address _address, bool _value) public isAdmin{
        whiteList[_address] = _value;
    }


    /**
     * @dev Allows admin to launch a new ICO
     * @param _startTimestamp Start timestamp in epochs
     * @param _durationSeconds ICO time in seconds(1 day=24*60*60)
     * @param _coinsPerETH BST price in ETH(1 ETH = ? BST)
     * @param _maxCap Max ETH capture in wei amount
     * @param _minAmount Min ETH amount per user in wei amount
     * @param _isPublic Boolean to represent that the ICO is public or not
     */
    function adminAddICO(
        uint256 _startTimestamp,
        uint256 _durationSeconds, 
        uint256 _coinsPerETH,
        uint256 _maxCap,
        uint256 _minAmount, 
        uint[] _rewardHours,
        uint256[] _rewardPercents,
        bool _isPublic
        ) public isAdmin{

        // we can't add a new ICO when an ICO is already in progress
        assert(!isIcoInProgress());
        assert(_rewardPercents.length == _rewardHours.length);

        startTimestamp = _startTimestamp;
        durationSeconds = _durationSeconds;
        coinsPerETH = _coinsPerETH;
        maxCap = _maxCap;
        minAmount = _minAmount;

        hourlyRewards.length = 0;
        for(uint i=0; i < _rewardHours.length; i++){
            hourlyRewards[hourlyRewards.length++] = HourlyReward({
                    passedHours: _rewardHours[i],
                    percent: _rewardPercents[i]
                });
        }

        isPublic = _isPublic;
        // reset totalRaised
        totalRaised = 0;
    }

    /**
     * @dev Return true if an ICO is already in progress;
     * otherwise returns false
     */
    function isIcoInProgress() public constant returns(bool){
        if(now < startTimestamp){
            return false;
        }
        if(now > (startTimestamp + durationSeconds)){
            return false;
        }
        if(totalRaised >= maxCap){
            return false;
        }
        return true;
    }
}

Contract Security Audit

Contract ABI

[{"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":true,"inputs":[],"name":"totalSupply","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"fundsWallet","outputs":[{"name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"maxCap","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":"decimals","outputs":[{"name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"","type":"address"}],"name":"whiteList","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"isIcoInProgress","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"hourlyRewards","outputs":[{"name":"passedHours","type":"uint256"},{"name":"percent","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"durationSeconds","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"minAmount","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"name":"weiAmount","type":"uint256"}],"name":"calculateTokenAmount","outputs":[{"name":"","type":"uint256"}],"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":false,"inputs":[{"name":"_address","type":"address"},{"name":"_value","type":"bool"}],"name":"adminUpdateWhiteList","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"coinsPerETH","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"totalRaised","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"name":"_startTimestamp","type":"uint256"},{"name":"_durationSeconds","type":"uint256"},{"name":"_coinsPerETH","type":"uint256"},{"name":"_maxCap","type":"uint256"},{"name":"_minAmount","type":"uint256"},{"name":"_rewardHours","type":"uint256[]"},{"name":"_rewardPercents","type":"uint256[]"},{"name":"_isPublic","type":"bool"}],"name":"adminAddICO","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"name":"_spender","type":"address"},{"name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","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":"startTimestamp","outputs":[{"name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"payable":true,"stateMutability":"payable","type":"fallback"},{"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"}]

60c0604052600660808190527f426f6f73746f000000000000000000000000000000000000000000000000000060a090815262000040916003919062000189565b506040805180820190915260038082527f42535400000000000000000000000000000000000000000000000000000000006020909201918252620000879160049162000189565b5060058054601260ff19918216179182905560ff909116600a0a633b9aca000260065567016345785d8a0000600b556103e8600c55600e805490911690556010805473776efa46b4b39aa6bd2d65ce01480b31042aeaa5600160a060020a0319918216179091556011805473c6bd816331b1bddc7c03ab51215bbb9e2be62dd292169190911790553480156200011c57600080fd5b50426008556000600981905560065460108054600160a060020a039081168452602084815260408086208590559254835194855292519290911693927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a36200022e565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f10620001cc57805160ff1916838001178555620001fc565b82800160010185558215620001fc579182015b82811115620001fc578251825591602001919060010190620001df565b506200020a9291506200020e565b5090565b6200022b91905b808211156200020a576000815560010162000215565b90565b611007806200023e6000396000f30060806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146102a1578063095ea7b31461032b57806318160ddd146103635780632194f3a21461038a57806323548b8b146103bb57806323b872dd146103d0578063313ce567146103fa578063372c12b11461042557806357cdd07814610446578063661884631461045b57806370a082311461047f578063848f81ea146104a057806395d89b41146104d15780639acba2af146104e65780639b2cb5d8146104fb578063a24bcf4614610510578063a9059cbb14610528578063b27470641461054c578063bceef6a714610574578063c5c4744c14610589578063d25f08b11461059e578063d73dd62314610644578063dd62ed3e14610668578063e6fd48bc1461068f575b60006101476106a4565b151561015257600080fd5b600b5434101561016157600080fd5b600e5460ff16806101815750336000908152600f602052604090205460ff165b151561018c57600080fd5b60075461019f903463ffffffff6106e816565b6007556101ab34610702565b601054600160a060020a03166000908152602081905260409020549091506101d9908263ffffffff6107be16565b601054600160a060020a031660009081526020819052604080822092909255338152205461020d908263ffffffff6106e816565b336000818152602081815260409182902093909355601054815185815291519293600160a060020a03909116927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3601054604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015801561029d573d6000803e3d6000fd5b5050005b3480156102ad57600080fd5b506102b66107d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f05781810151838201526020016102d8565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033757600080fd5b5061034f600160a060020a036004351660243561085e565b604080519115158252519081900360200190f35b34801561036f57600080fd5b506103786108c4565b60408051918252519081900360200190f35b34801561039657600080fd5b5061039f6108ca565b60408051600160a060020a039092168252519081900360200190f35b3480156103c757600080fd5b506103786108d9565b3480156103dc57600080fd5b5061034f600160a060020a03600435811690602435166044356108df565b34801561040657600080fd5b5061040f610a56565b6040805160ff9092168252519081900360200190f35b34801561043157600080fd5b5061034f600160a060020a0360043516610a5f565b34801561045257600080fd5b5061034f6106a4565b34801561046757600080fd5b5061034f600160a060020a0360043516602435610a74565b34801561048b57600080fd5b50610378600160a060020a0360043516610b64565b3480156104ac57600080fd5b506104b8600435610b7f565b6040805192835260208301919091528051918290030190f35b3480156104dd57600080fd5b506102b6610bab565b3480156104f257600080fd5b50610378610c06565b34801561050757600080fd5b50610378610c0c565b34801561051c57600080fd5b50610378600435610702565b34801561053457600080fd5b5061034f600160a060020a0360043516602435610c12565b34801561055857600080fd5b50610572600160a060020a03600435166024351515610cf3565b005b34801561058057600080fd5b50610378610d4c565b34801561059557600080fd5b50610378610d52565b3480156105aa57600080fd5b506040805160a435600481810135602081810285810182019096528185526105729583359560248035966044359660643596608435963696929560c49590940192829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750505050913515159250610d58915050565b34801561065057600080fd5b5061034f600160a060020a0360043516602435610e7a565b34801561067457600080fd5b50610378600160a060020a0360043581169060243516610f13565b34801561069b57600080fd5b50610378610f3e565b60006008544210156106b8575060006106e5565b600954600854014211156106ce575060006106e5565b600a54600754106106e1575060006106e5565b5060015b90565b6000828201838110156106f757fe5b8091505b5092915050565b600080600061071c600c5485610f4490919063ffffffff16565b9150600090505b600d548110156107b357600d80548290811061073b57fe5b906000526020600020906002020160000154610e100260085401421115156107ab576107a46064610798600d8481548110151561077457fe5b90600052602060002090600202016001015460640185610f4490919063ffffffff16565b9063ffffffff610f6f16565b92506107b7565b600101610723565b8192505b5050919050565b6000828211156107ca57fe5b50900390565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60065481565b601054600160a060020a031681565b600a5481565b6000600160a060020a03831615156108f657600080fd5b600160a060020a03841660009081526020819052604090205482111561091b57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561094b57600080fd5b600160a060020a038416600090815260208190526040902054610974908363ffffffff6107be16565b600160a060020a0380861660009081526020819052604080822093909355908516815220546109a9908363ffffffff6106e816565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546109eb908363ffffffff6107be16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60055460ff1681565b600f6020526000908152604090205460ff1681565b336000908152600260209081526040808320600160a060020a038616845290915281205480831115610ac957336000908152600260209081526040808320600160a060020a0388168452909152812055610afe565b610ad9818463ffffffff6107be16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600d805482908110610b8d57fe5b60009182526020909120600290910201805460019091015490915082565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b60095481565b600b5481565b6000600160a060020a0383161515610c2957600080fd5b33600090815260208190526040902054821115610c4557600080fd5b33600090815260208190526040902054610c65908363ffffffff6107be16565b3360009081526020819052604080822092909255600160a060020a03851681522054610c97908363ffffffff6106e816565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b601054600160a060020a0316331480610d165750601154600160a060020a031633145b1515610d2157600080fd5b600160a060020a03919091166000908152600f60205260409020805460ff1916911515919091179055565b600c5481565b60075481565b601054600090600160a060020a0316331480610d7e5750601154600160a060020a031633145b1515610d8957600080fd5b610d916106a4565b15610d9857fe5b8351835114610da357fe5b60088990556009889055600c879055600a869055600b8590556000610dc9600d82610f86565b50600090505b8351811015610e5a5760408051908101604052808583815181101515610df157fe5b9060200190602002015181526020018483815181101515610e0e57fe5b602090810290910101519052600d8054610e2b8260018301610f86565b81548110610e3557fe5b6000918252602091829020835160029092020190815591015160019182015501610dcf565b50600e805460ff1916911515919091179055505060006007555050505050565b336000908152600260209081526040808320600160a060020a0386168452909152812054610eae908363ffffffff6106e816565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60085481565b600080831515610f5757600091506106fb565b50828202828482811515610f6757fe5b04146106f757fe5b6000808284811515610f7d57fe5b04949350505050565b815481835581811115610fb257600202816002028360005260206000209182019101610fb29190610fb7565b505050565b6106e591905b80821115610fd75760008082556001820155600201610fbd565b50905600a165627a7a7230582064b224fd95f4a4d0f5ddbb5b03f3f62af56666c4121a5f8bf4449a73092f3c7c0029

Deployed Bytecode

0x60806040526004361061013d5763ffffffff7c010000000000000000000000000000000000000000000000000000000060003504166306fdde0381146102a1578063095ea7b31461032b57806318160ddd146103635780632194f3a21461038a57806323548b8b146103bb57806323b872dd146103d0578063313ce567146103fa578063372c12b11461042557806357cdd07814610446578063661884631461045b57806370a082311461047f578063848f81ea146104a057806395d89b41146104d15780639acba2af146104e65780639b2cb5d8146104fb578063a24bcf4614610510578063a9059cbb14610528578063b27470641461054c578063bceef6a714610574578063c5c4744c14610589578063d25f08b11461059e578063d73dd62314610644578063dd62ed3e14610668578063e6fd48bc1461068f575b60006101476106a4565b151561015257600080fd5b600b5434101561016157600080fd5b600e5460ff16806101815750336000908152600f602052604090205460ff165b151561018c57600080fd5b60075461019f903463ffffffff6106e816565b6007556101ab34610702565b601054600160a060020a03166000908152602081905260409020549091506101d9908263ffffffff6107be16565b601054600160a060020a031660009081526020819052604080822092909255338152205461020d908263ffffffff6106e816565b336000818152602081815260409182902093909355601054815185815291519293600160a060020a03909116927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a3601054604051600160a060020a03909116903480156108fc02916000818181858888f1935050505015801561029d573d6000803e3d6000fd5b5050005b3480156102ad57600080fd5b506102b66107d0565b6040805160208082528351818301528351919283929083019185019080838360005b838110156102f05781810151838201526020016102d8565b50505050905090810190601f16801561031d5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b34801561033757600080fd5b5061034f600160a060020a036004351660243561085e565b604080519115158252519081900360200190f35b34801561036f57600080fd5b506103786108c4565b60408051918252519081900360200190f35b34801561039657600080fd5b5061039f6108ca565b60408051600160a060020a039092168252519081900360200190f35b3480156103c757600080fd5b506103786108d9565b3480156103dc57600080fd5b5061034f600160a060020a03600435811690602435166044356108df565b34801561040657600080fd5b5061040f610a56565b6040805160ff9092168252519081900360200190f35b34801561043157600080fd5b5061034f600160a060020a0360043516610a5f565b34801561045257600080fd5b5061034f6106a4565b34801561046757600080fd5b5061034f600160a060020a0360043516602435610a74565b34801561048b57600080fd5b50610378600160a060020a0360043516610b64565b3480156104ac57600080fd5b506104b8600435610b7f565b6040805192835260208301919091528051918290030190f35b3480156104dd57600080fd5b506102b6610bab565b3480156104f257600080fd5b50610378610c06565b34801561050757600080fd5b50610378610c0c565b34801561051c57600080fd5b50610378600435610702565b34801561053457600080fd5b5061034f600160a060020a0360043516602435610c12565b34801561055857600080fd5b50610572600160a060020a03600435166024351515610cf3565b005b34801561058057600080fd5b50610378610d4c565b34801561059557600080fd5b50610378610d52565b3480156105aa57600080fd5b506040805160a435600481810135602081810285810182019096528185526105729583359560248035966044359660643596608435963696929560c49590940192829185019084908082843750506040805187358901803560208181028481018201909552818452989b9a998901989297509082019550935083925085019084908082843750949750505050913515159250610d58915050565b34801561065057600080fd5b5061034f600160a060020a0360043516602435610e7a565b34801561067457600080fd5b50610378600160a060020a0360043581169060243516610f13565b34801561069b57600080fd5b50610378610f3e565b60006008544210156106b8575060006106e5565b600954600854014211156106ce575060006106e5565b600a54600754106106e1575060006106e5565b5060015b90565b6000828201838110156106f757fe5b8091505b5092915050565b600080600061071c600c5485610f4490919063ffffffff16565b9150600090505b600d548110156107b357600d80548290811061073b57fe5b906000526020600020906002020160000154610e100260085401421115156107ab576107a46064610798600d8481548110151561077457fe5b90600052602060002090600202016001015460640185610f4490919063ffffffff16565b9063ffffffff610f6f16565b92506107b7565b600101610723565b8192505b5050919050565b6000828211156107ca57fe5b50900390565b6003805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b820191906000526020600020905b81548152906001019060200180831161083957829003601f168201915b505050505081565b336000818152600260209081526040808320600160a060020a038716808552908352818420869055815186815291519394909390927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925928290030190a350600192915050565b60065481565b601054600160a060020a031681565b600a5481565b6000600160a060020a03831615156108f657600080fd5b600160a060020a03841660009081526020819052604090205482111561091b57600080fd5b600160a060020a038416600090815260026020908152604080832033845290915290205482111561094b57600080fd5b600160a060020a038416600090815260208190526040902054610974908363ffffffff6107be16565b600160a060020a0380861660009081526020819052604080822093909355908516815220546109a9908363ffffffff6106e816565b600160a060020a038085166000908152602081815260408083209490945591871681526002825282812033825290915220546109eb908363ffffffff6107be16565b600160a060020a03808616600081815260026020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b60055460ff1681565b600f6020526000908152604090205460ff1681565b336000908152600260209081526040808320600160a060020a038616845290915281205480831115610ac957336000908152600260209081526040808320600160a060020a0388168452909152812055610afe565b610ad9818463ffffffff6107be16565b336000908152600260209081526040808320600160a060020a03891684529091529020555b336000818152600260209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526020819052604090205490565b600d805482908110610b8d57fe5b60009182526020909120600290910201805460019091015490915082565b6004805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156108565780601f1061082b57610100808354040283529160200191610856565b60095481565b600b5481565b6000600160a060020a0383161515610c2957600080fd5b33600090815260208190526040902054821115610c4557600080fd5b33600090815260208190526040902054610c65908363ffffffff6107be16565b3360009081526020819052604080822092909255600160a060020a03851681522054610c97908363ffffffff6106e816565b600160a060020a038416600081815260208181526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b601054600160a060020a0316331480610d165750601154600160a060020a031633145b1515610d2157600080fd5b600160a060020a03919091166000908152600f60205260409020805460ff1916911515919091179055565b600c5481565b60075481565b601054600090600160a060020a0316331480610d7e5750601154600160a060020a031633145b1515610d8957600080fd5b610d916106a4565b15610d9857fe5b8351835114610da357fe5b60088990556009889055600c879055600a869055600b8590556000610dc9600d82610f86565b50600090505b8351811015610e5a5760408051908101604052808583815181101515610df157fe5b9060200190602002015181526020018483815181101515610e0e57fe5b602090810290910101519052600d8054610e2b8260018301610f86565b81548110610e3557fe5b6000918252602091829020835160029092020190815591015160019182015501610dcf565b50600e805460ff1916911515919091179055505060006007555050505050565b336000908152600260209081526040808320600160a060020a0386168452909152812054610eae908363ffffffff6106e816565b336000818152600260209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b600160a060020a03918216600090815260026020908152604080832093909416825291909152205490565b60085481565b600080831515610f5757600091506106fb565b50828202828482811515610f6757fe5b04146106f757fe5b6000808284811515610f7d57fe5b04949350505050565b815481835581811115610fb257600202816002028360005260206000209182019101610fb29190610fb7565b505050565b6106e591905b80821115610fd75760008082556001820155600201610fbd565b50905600a165627a7a7230582064b224fd95f4a4d0f5ddbb5b03f3f62af56666c4121a5f8bf4449a73092f3c7c0029

Swarm Source

bzzr://64b224fd95f4a4d0f5ddbb5b03f3f62af56666c4121a5f8bf4449a73092f3c7c
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.