ETH Price: $2,344.87 (+0.08%)

Token

ShowTime Protocol (STP)
 

Overview

Max Total Supply

100,000,000 STP

Holders

32

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

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:
StpToken

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-06-08
*/

// SPDX-License-Identifier: Unlicensed

pragma solidity ^ 0.8.7;

/**
 * @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 Subtracts 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
 */
abstract contract ERC20Basic {
    function totalSupply() public view virtual returns (uint256);
    function balanceOf(address who) public view virtual returns (uint256);
    function transfer(address to, uint256 value) public virtual 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;

    uint256 totalSupply_;

    /**
    * @dev total number of tokens in existence
    */
    function totalSupply() public view override 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 override 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);
        emit 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 override returns(uint256) {
        return balances[_owner];
    }
}

/**
 * @title ERC20 interface
 * @dev see https://github.com/ethereum/EIPs/issues/20
 */
abstract contract ERC20 is ERC20Basic {
    function allowance(address owner, address spender) public view  virtual returns (uint256);
    function transferFrom(address from, address to, uint256 value) public virtual returns (bool);
    function approve(address spender, uint256 value) public virtual 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
 */
contract StandardToken is ERC20, BasicToken {
    using SafeMath for uint256;
    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 override 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);
        emit 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 override returns (bool) {
        allowed[msg.sender][_spender] = _value;
        emit 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 override view returns (uint256) {
        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) public returns (bool success) {
        allowed[msg.sender][_spender] = allowed[msg.sender][_spender].add(_addedValue);
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }

    function decreaseApproval (address _spender, uint _subtractedValue) public 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);
        }
        emit Approval(msg.sender, _spender, allowed[msg.sender][_spender]);
        return true;
    }
}

/**
 * @title SafeERC20
 * @dev Wrappers around ERC20 operations that throw on failure.
 * To use this library you can add a `using SafeERC20 for ERC20;` statement to your contract,
 * which allows you to call the safe operations as `token.safeTransfer(...)`, etc.
 */
library SafeERC20 {
    function safeTransfer(ERC20Basic token, address to, uint256 value) internal {
        assert(token.transfer(to, value));
    }

    function safeTransferFrom(ERC20 token, address from, address to, uint256 value) internal {
        assert(token.transferFrom(from, to, value));
    }

    function safeApprove(ERC20 token, address spender, uint256 value) internal {
        assert(token.approve(spender, value));
    }
}

contract Owned {
    address public owner;

    constructor() {
        owner = msg.sender;
    }

    modifier onlyOwner {
        require(msg.sender == owner);
        _;
    }
}

/**
 * @title TokenVesting
 * @dev A token holder contract that can release its token balance gradually like a
 * typical vesting scheme, with a cliff and vesting period. Optionally revocable by the
 * owner.
 */
contract TokenVesting is Owned {
    using SafeMath for uint256;
    using SafeERC20 for ERC20Basic;

    event Released(uint256 amount);
    event Revoked();

    // beneficiary of tokens after they are released
    address public beneficiary;

    uint256 public cliff;
    uint256 public start;
    uint256 public duration;

    bool public revocable;

    mapping (address => uint256) public released;
    mapping (address => bool) public revoked;

    address internal ownerShip;

    /**
     * @dev Creates a vesting contract that vests its balance of any ERC20 token to the
     * _beneficiary, gradually in a linear fashion until _start + _duration. By then all
     * of the balance will have vested.
     * @param _beneficiary address of the beneficiary to whom vested tokens are transferred
     * @param _cliff duration in seconds of the cliff in which tokens will begin to vest
     * @param _start the time (as Unix time) at which point vesting starts
     * @param _duration duration in seconds of the period in which the tokens will vest
     * @param _revocable whether the vesting is revocable or not
     */
    constructor(
        address _beneficiary,
        uint256 _start,
        uint256 _cliff,
        uint256 _duration,
        bool _revocable,
        address _realOwner
    )

    {
        require(_beneficiary != address(0));
        require(_cliff <= _duration);

        beneficiary = _beneficiary;
        revocable = _revocable;
        duration = _duration;
        cliff = _start.add(_cliff);
        start = _start;
        ownerShip = _realOwner;
    }

    /**
     * @notice Transfers vested tokens to beneficiary.
     * @param token ERC20 token which is being vested
     */
    function release(ERC20Basic token) public {
        uint256 unreleased = releasableAmount(token);

        require(unreleased > 0);

        released[address(this)] = released[address(this)].add(unreleased);

        token.safeTransfer(beneficiary, unreleased);

        emit Released(unreleased);
    }

    /**
     * @notice Allows the owner to revoke the vesting. Tokens already vested
     * remain in the contract, the rest are returned to the owner.
     * @param token ERC20 token which is being vested
     */
    function revoke(ERC20Basic token) public onlyOwner {
        require(revocable);
        require(!revoked[address(token)]);

        uint256 balance = token.balanceOf(address(this));

        uint256 unreleased = releasableAmount(token);
        uint256 refund = balance.sub(unreleased);

        revoked[address(token)] = true;

        token.safeTransfer(ownerShip, refund);

        emit Revoked();
    }

    /**
     * @dev Calculates the amount that has already vested but hasn't been released yet.
     * @param token ERC20 token which is being vested
     */
    function releasableAmount(ERC20Basic token) public view returns (uint256) {
        return vestedAmount(token).sub(released[address(token)]);
    }

    /**
     * @dev Calculates the amount that has already vested.
     * @param token ERC20 token which is being vested
     */
    function vestedAmount(ERC20Basic token) public view returns (uint256) {
        uint256 currentBalance = token.balanceOf(address(this));
        uint256 totalBalance = currentBalance.add(released[address(token)]);

        if (block.timestamp < cliff) {
            return 0;
        } else if (block.timestamp >= start.add(duration) || revoked[address(token)]) {
            return totalBalance;
        } else {
            return totalBalance.mul(block.timestamp.sub(start)).div(duration);
        }
    }
}

/**
 * @title TokenVault
 * @dev TokenVault is a token holder contract that will allow a
 * beneficiary to spend the tokens from some function of a specified ERC20 token
 */
contract TokenVault {
    using SafeERC20 for ERC20;

    // ERC20 token contract being held
    ERC20 public token;

    constructor(ERC20 _token) {
        token = _token;
    }

    /**
     * @notice Allow the token itself to send tokens
     * using transferFrom().
     */
    function fillUpAllowance() public {
        uint256 amount = token.balanceOf(address(this));
        require(amount > 0);

        token.approve(address(token), amount);
    }
}

/**
 * @title Burnable Token
 * @dev Token that can be irreversibly burned (destroyed).
 */
contract BurnableToken is StandardToken {
    using SafeMath for uint256;
    event Burn(address indexed burner, uint256 value);

    /**
     * @dev Burns a specific amount of tokens.
     * @param _value The amount of token to be burned.
     */
    function burn(uint256 _value) public {
        require(_value > 0);
        require(_value <= balances[msg.sender]);
        // no need to require value <= totalSupply, since that would imply the
        // sender's balance is greater than the totalSupply, which *should* be an assertion failure

        address burner = msg.sender;
        balances[burner] = balances[burner].sub(_value);
        totalSupply_ = totalSupply_.sub(_value);
        emit Burn(burner, _value);
    }
}

contract StpToken is BurnableToken, Owned {
    using SafeMath for uint256;

    string public constant name = "ShowTime Protocol";
    string public constant symbol = "STP";
    uint8 public constant decimals = 18;
 
    /// Maximum tokens to be allocated ( 100 million STP )
    uint256 public constant HARD_CAP = 100000000 * 10**uint256(decimals);

    /// This address will be used to distribute the team, advisors and reserve tokens
    address public saleTokensAddress;

    /// This vault is used to keep the Founders, Advisors and Partners tokens
    TokenVault public reserveTokensVault;

    // Date when the vesting for regular users starts
    uint64 internal daySecond     = 86400;
    uint64 internal lock90Days    = 90;
    uint64 internal unlock100Days = 100;
    uint64 internal lock365Days   = 365;

    /// Store the vesting contract addresses for each sale contributor
    mapping(address => address) public vestingOf;

    constructor(address _saleTokensAddress) {
        require(_saleTokensAddress != address(0));

        saleTokensAddress = _saleTokensAddress;

        /// Maximum tokens to be sold - 60 million
        createTokensInt(60000000, saleTokensAddress);

        require(totalSupply_ <= HARD_CAP);
    }

    /// @dev Create a ReserveTokenVault 
    function createReserveTokensVault() external onlyOwner {
        require(address(reserveTokensVault) == address(0));

        /// Reserve tokens - 40 million
        reserveTokensVault = createTokenVaultInt(40000000);

        require(totalSupply_ <= HARD_CAP);
    }

    /// @dev Create a TokenVault and fill with the specified newly minted tokens
    function createTokenVaultInt(uint256 tokens) internal onlyOwner returns (TokenVault) {
        TokenVault tokenVault = new TokenVault(ERC20(this));
        createTokensInt(tokens, address(tokenVault));
        tokenVault.fillUpAllowance();
        return tokenVault;
    }

    // @dev create specified number of tokens and transfer to destination
    function createTokensInt(uint256 _tokens, address _destination) internal onlyOwner {
        uint256 tokens = _tokens * 10**uint256(decimals);
        totalSupply_ = totalSupply_.add(tokens);
        balances[_destination] = balances[_destination].add(tokens);
        emit Transfer(address(0), _destination, tokens);

        require(totalSupply_ <= HARD_CAP);
    }

    /// @dev vest Detail : second unit
    function vestTokensDetailInt(
                        address _beneficiary,
                        uint256 _startS,
                        uint256 _cliffS,
                        uint256 _durationS,
                        bool _revocable,
                        uint256 _tokensAmountInt) external onlyOwner {
        require(_beneficiary != address(0));

        uint256 tokensAmount = _tokensAmountInt * 10**uint256(decimals);

        if(vestingOf[_beneficiary] == address(0)) {
            TokenVesting vesting = new TokenVesting(_beneficiary, _startS, _cliffS, _durationS, _revocable, owner);
            vestingOf[_beneficiary] = address(vesting);
        }

        require(this.transferFrom(address(reserveTokensVault), vestingOf[_beneficiary], tokensAmount));
    }

    /// @dev vest StartAt : day unit
    function vestTokensStartAtInt(
                            address _beneficiary, 
                            uint256 _tokensAmountInt,
                            uint256 _startS,
                            uint256 _afterDay,
                            uint256 _cliffDay,
                            uint256 _durationDay ) public onlyOwner {
        require(_beneficiary != address(0));

        uint256 tokensAmount = _tokensAmountInt * 10**uint256(decimals);
        uint256 afterSec = _afterDay * daySecond;
        uint256 cliffSec = _cliffDay * daySecond;
        uint256 durationSec = _durationDay * daySecond;

        if(vestingOf[_beneficiary] == address(0)) {
            TokenVesting vesting = new TokenVesting(_beneficiary, _startS + afterSec, cliffSec, durationSec, true, owner);
            vestingOf[_beneficiary] = address(vesting);
        }

        require(this.transferFrom(address(reserveTokensVault), vestingOf[_beneficiary], tokensAmount));
    }

    /// @dev vest function from now
    function vestTokensFromNowInt(address _beneficiary, uint256 _tokensAmountInt, uint256 _afterDay, uint256 _cliffDay, uint256 _durationDay ) public onlyOwner {
        vestTokensStartAtInt(_beneficiary, _tokensAmountInt, block.timestamp, _afterDay, _cliffDay, _durationDay);
    }

    /// @dev vest the sale contributor tokens for 100 days, 1% gradual release 
    function vestCmdNow1PercentInt(address _beneficiary, uint256 _tokensAmountInt) external onlyOwner {
        vestTokensFromNowInt(_beneficiary, _tokensAmountInt, 0, 0, unlock100Days);
    }
    /// @dev vest the sale contributor tokens for 100 days, 1% gradual release after 3 month later, no cliff
    function vestCmd3Month1PercentInt(address _beneficiary, uint256 _tokensAmountInt) external onlyOwner {
        vestTokensFromNowInt(_beneficiary, _tokensAmountInt, lock90Days, 0, unlock100Days);
    }

    /// @dev vest the sale contributor tokens 100% release after 1 year
    function vestCmd1YearInstantInt(address _beneficiary, uint256 _tokensAmountInt) external onlyOwner {
        vestTokensFromNowInt(_beneficiary, _tokensAmountInt, 0, lock365Days, lock365Days);
    }

    /// @dev releases vested tokens for the caller's own address
    function releaseVestedTokens() external {
        releaseVestedTokensFor(msg.sender);
    }

    /// @dev releases vested tokens for the specified address.
    /// Can be called by anyone for any address.
    function releaseVestedTokensFor(address _owner) public {
        TokenVesting(vestingOf[_owner]).release(this);
    }

    /// @dev check the vested balance for an address
    function lockedBalanceOf(address _owner) public view returns (uint256) {
        return balances[vestingOf[_owner]];
    }

    /// @dev check the locked but releaseable balance of an owner
    function releaseableBalanceOf(address _owner) public view returns (uint256) {
        if (vestingOf[_owner] == address(0) ) {
            return 0;
        } else {
            return TokenVesting(vestingOf[_owner]).releasableAmount(this);
        }
    }

    /// @dev revoke vested tokens for the specified address.
    /// Tokens already vested remain in the contract, the rest are returned to the owner.
    function revokeVestedTokensFor(address _owner) public onlyOwner {
        TokenVesting(vestingOf[_owner]).revoke(this);
    }

    /// @dev Create a ReserveTokenVault 
    function makeReserveToVault() external onlyOwner {
        require(address(reserveTokensVault) != address(0));
        reserveTokensVault.fillUpAllowance();
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_saleTokensAddress","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"burner","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Burn","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"HARD_CAP","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"createReserveTokensVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"lockedBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"makeReserveToVault","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"releaseVestedTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"releaseVestedTokensFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"releaseableBalanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reserveTokensVault","outputs":[{"internalType":"contract TokenVault","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"revokeVestedTokensFor","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"saleTokensAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_from","type":"address"},{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_tokensAmountInt","type":"uint256"}],"name":"vestCmd1YearInstantInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_tokensAmountInt","type":"uint256"}],"name":"vestCmd3Month1PercentInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_tokensAmountInt","type":"uint256"}],"name":"vestCmdNow1PercentInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_startS","type":"uint256"},{"internalType":"uint256","name":"_cliffS","type":"uint256"},{"internalType":"uint256","name":"_durationS","type":"uint256"},{"internalType":"bool","name":"_revocable","type":"bool"},{"internalType":"uint256","name":"_tokensAmountInt","type":"uint256"}],"name":"vestTokensDetailInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_tokensAmountInt","type":"uint256"},{"internalType":"uint256","name":"_afterDay","type":"uint256"},{"internalType":"uint256","name":"_cliffDay","type":"uint256"},{"internalType":"uint256","name":"_durationDay","type":"uint256"}],"name":"vestTokensFromNowInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_beneficiary","type":"address"},{"internalType":"uint256","name":"_tokensAmountInt","type":"uint256"},{"internalType":"uint256","name":"_startS","type":"uint256"},{"internalType":"uint256","name":"_afterDay","type":"uint256"},{"internalType":"uint256","name":"_cliffDay","type":"uint256"},{"internalType":"uint256","name":"_durationDay","type":"uint256"}],"name":"vestTokensStartAtInt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"vestingOf","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

608060405260058054600160a01b600160e01b0319166102a360a71b179055600680546001600160c01b03191671016d0000000000000064000000000000005a1790553480156200004f57600080fd5b506040516200281338038062002813833981016040819052620000729162000230565b600380546001600160a01b031916331790556001600160a01b0381166200009857600080fd5b600480546001600160a01b0319166001600160a01b038316908117909155620000c790630393870090620000fb565b620000d56012600a620002bf565b620000e5906305f5e10062000388565b6001541115620000f457600080fd5b50620003d6565b6003546001600160a01b031633146200011357600080fd5b6000620001236012600a620002bf565b6200012f908462000388565b90506200014d816001546200020360201b620011c61790919060201c565b6001556001600160a01b0382166000908152602081815260409091205462000180918390620011c662000203821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620001df6012600a620002bf565b620001ef906305f5e10062000388565b6001541115620001fe57600080fd5b505050565b6000806200021283856200025b565b905083811015620002275762000227620003aa565b90505b92915050565b6000602082840312156200024357600080fd5b81516001600160a01b03811681146200022757600080fd5b60008219821115620002715762000271620003c0565b500190565b600181815b80851115620002b75781600019048211156200029b576200029b620003c0565b80851615620002a957918102915b93841c93908002906200027b565b509250929050565b6000620002cd8383620002d4565b9392505050565b600082620002e5575060016200022a565b81620002f4575060006200022a565b81600181146200030d5760028114620003185762000338565b60019150506200022a565b60ff8411156200032c576200032c620003c0565b50506001821b6200022a565b5060208310610133831016604e8410600b84101617156200035d575081810a6200022a565b62000369838362000276565b8060001904821115620003805762000380620003c0565b029392505050565b6000816000190483118215151615620003a557620003a5620003c0565b500290565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b61242d80620003e66000396000f3fe60806040523480156200001157600080fd5b5060043610620002015760003560e01c80638da5cb5b1162000119578063c26fe7ce11620000af578063de9ab12d116200007a578063de9ab12d1462000500578063e4fe9d151462000517578063edfedf93146200052b578063fb17eaf9146200054257600080fd5b8063c26fe7ce146200046a578063c47cfca11462000481578063d73dd62314620004ad578063dd62ed3e14620004c457600080fd5b8063afa3174411620000f0578063afa31744146200041e578063b0dd5b621462000432578063b8c78391146200043c578063bbae7ab4146200045357600080fd5b80638da5cb5b14620003b757806395d89b4114620003e4578063a9059cbb146200040757600080fd5b806342966c68116200019b5780636618846311620001665780636618846314620003465780636e68751c146200035d57806370a0823114620003745780638b88cb9414620003a057600080fd5b806342966c6814620002d357806354dd1da414620002ea5780635935573614620002f457806362290f35146200032f57600080fd5b806323b872dd11620001dc57806323b872dd146200028a578063313ce56714620002a15780633390297314620002bd5780633a03171c14620002c957600080fd5b806306fdde031462000206578063095ea7b3146200024f57806318160ddd1462000277575b600080fd5b620002376040518060400160405280601181526020017014da1bddd51a5b5948141c9bdd1bd8dbdb607a1b81525081565b60405162000246919062001640565b60405180910390f35b620002666200026036600462001492565b62000559565b604051901515815260200162000246565b6001545b60405190815260200162000246565b620002666200029b36600462001451565b620005c7565b620002aa601281565b60405160ff909116815260200162000246565b620002c762000730565b005b6200027b620007bd565b620002c7620002e4366004620015d2565b620007de565b620002c762000892565b6200027b62000305366004620013fb565b6001600160a01b039081166000908152600760209081526040808320549093168252819052205490565b620002c76200034036600462001565565b6200089d565b620002666200035736600462001492565b62000ac1565b620002c76200036e366004620013fb565b62000bad565b6200027b62000385366004620013fb565b6001600160a01b031660009081526020819052604090205490565b620002c7620003b136600462001492565b62000c37565b600354620003cb906001600160a01b031681565b6040516001600160a01b03909116815260200162000246565b620002376040518060400160405280600381526020016205354560ec1b81525081565b620002666200041836600462001492565b62000c83565b600454620003cb906001600160a01b031681565b620002c762000d4f565b6200027b6200044d366004620013fb565b62000de9565b620002c76200046436600462001492565b62000ea6565b620002c76200047b366004620013fb565b62000ee5565b620003cb62000492366004620013fb565b6007602052600090815260409020546001600160a01b031681565b62000266620004be36600462001492565b62000f25565b6200027b620004d536600462001419565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b620002c76200051136600462001520565b62000fad565b600554620003cb906001600160a01b031681565b620002c76200053c366004620014bf565b62000fd5565b620002c76200055336600462001492565b6200117e565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005b59086815260200190565b60405180910390a35060015b92915050565b60006001600160a01b038316620005dd57600080fd5b6001600160a01b0384166000908152602081905260409020548211156200060357600080fd5b6001600160a01b03841660009081526002602090815260408083203384529091529020548211156200063457600080fd5b6001600160a01b038416600090815260208190526040902054620006599083620011f1565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546200068a9083620011c6565b6001600160a01b03808516600090815260208181526040808320949094559187168152600282528281203382529091522054620006c89083620011f1565b6001600160a01b03858116600081815260026020908152604080832033845282529182902094909455518581529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35060019392505050565b6003546001600160a01b031633146200074857600080fd5b6005546001600160a01b0316156200075f57600080fd5b6200076e6302625a0062001212565b600580546001600160a01b0319166001600160a01b03929092169190911790556200079c6012600a620016fc565b620007ac906305f5e100620017b8565b6001541115620007bb57600080fd5b565b620007cb6012600a620016fc565b620007db906305f5e100620017b8565b81565b60008111620007ec57600080fd5b336000908152602081905260409020548111156200080957600080fd5b33600081815260208190526040902054620008259083620011f1565b6001600160a01b0382166000908152602081905260409020556001546200084d9083620011f1565b6001556040518281526001600160a01b038216907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a25050565b620007bb3362000ee5565b6003546001600160a01b03163314620008b557600080fd5b6001600160a01b038616620008c957600080fd5b6000620008d96012600a620016fc565b620008e59087620017b8565b6005549091506000906200090b90600160a01b900467ffffffffffffffff1686620017b8565b6005549091506000906200093190600160a01b900467ffffffffffffffff1686620017b8565b6005549091506000906200095790600160a01b900467ffffffffffffffff1686620017b8565b6001600160a01b038b81166000908152600760205260409020549192501662000a0a5760008a62000989858b62001698565b600354604051869186916001916001600160a01b031690620009ab90620013c7565b620009bc9695949392919062001606565b604051809103906000f080158015620009d9573d6000803e3d6000fd5b506001600160a01b03808d1660009081526007602052604090208054919092166001600160a01b0319909116179055505b6005546001600160a01b038b8116600090815260076020526040908190205490516323b872dd60e01b815292821660048401521660248201526044810185905230906323b872dd90606401602060405180830381600087803b15801562000a7057600080fd5b505af115801562000a85573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000aab9190620015b2565b62000ab557600080fd5b50505050505050505050565b3360009081526002602090815260408083206001600160a01b03861684529091528120548083111562000b18573360009081526002602090815260408083206001600160a01b038816845290915281205562000b49565b62000b248184620011f1565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b038916808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6003546001600160a01b0316331462000bc557600080fd5b6001600160a01b03818116600090815260076020526040908190205490516374a8f10360e01b81523060048201529116906374a8f103906024015b600060405180830381600087803b15801562000c1b57600080fd5b505af115801562000c30573d6000803e3d6000fd5b5050505050565b6003546001600160a01b0316331462000c4f57600080fd5b62000c7f8282600080600660089054906101000a900467ffffffffffffffff1667ffffffffffffffff1662000fad565b5050565b60006001600160a01b03831662000c9957600080fd5b3360009081526020819052604090205482111562000cb657600080fd5b3360009081526020819052604090205462000cd29083620011f1565b33600090815260208190526040808220929092556001600160a01b0385168152205462000d009083620011c6565b6001600160a01b038416600081815260208181526040918290209390935551848152909133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101620005b5565b6003546001600160a01b0316331462000d6757600080fd5b6005546001600160a01b031662000d7d57600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b03166312d60f866040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dce57600080fd5b505af115801562000de3573d6000803e3d6000fd5b50505050565b6001600160a01b0381811660009081526007602052604081205490911662000e1357506000919050565b6001600160a01b03828116600090815260076020526040908190205490516302e4d97960e31b8152306004820152911690631726cbc89060240160206040518083038186803b15801562000e6657600080fd5b505afa15801562000e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c19190620015ec565b919050565b6003546001600160a01b0316331462000ebe57600080fd5b60065462000c7f9083908390600090600160801b900467ffffffffffffffff168062000fad565b6001600160a01b0381811660009081526007602052604090819020549051631916558760e01b815230600482015291169063191655879060240162000c00565b3360009081526002602090815260408083206001600160a01b038616845290915281205462000f559083620011c6565b3360008181526002602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101620005b5565b6003546001600160a01b0316331462000fc557600080fd5b62000c308585428686866200089d565b6003546001600160a01b0316331462000fed57600080fd5b6001600160a01b0386166200100157600080fd5b6000620010116012600a620016fc565b6200101d9083620017b8565b6001600160a01b0388811660009081526007602052604090205491925016620010ca5760008787878787600360009054906101000a90046001600160a01b03166040516200106b90620013c7565b6200107c9695949392919062001606565b604051809103906000f08015801562001099573d6000803e3d6000fd5b506001600160a01b03808a1660009081526007602052604090208054919092166001600160a01b0319909116179055505b6005546001600160a01b03888116600090815260076020526040908190205490516323b872dd60e01b815292821660048401521660248201526044810182905230906323b872dd90606401602060405180830381600087803b1580156200113057600080fd5b505af115801562001145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200116b9190620015b2565b6200117557600080fd5b50505050505050565b6003546001600160a01b031633146200119657600080fd5b60065462000c7f908390839067ffffffffffffffff80821691600091680100000000000000009091041662000fad565b600080620011d5838562001698565b905083811015620011ea57620011ea620017f4565b9392505050565b600082821115620012065762001206620017f4565b620011ea8284620017da565b6003546000906001600160a01b031633146200122d57600080fd5b6000306040516200123e90620013d5565b6001600160a01b039091168152602001604051809103906000f0801580156200126b573d6000803e3d6000fd5b5090506200127a8382620012d6565b806001600160a01b03166312d60f866040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620012b657600080fd5b505af1158015620012cb573d6000803e3d6000fd5b509295945050505050565b6003546001600160a01b03163314620012ee57600080fd5b6000620012fe6012600a620016fc565b6200130a9084620017b8565b6001549091506200131c9082620011c6565b6001556001600160a01b038216600090815260208190526040902054620013449082620011c6565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620013a36012600a620016fc565b620013b3906305f5e100620017b8565b6001541115620013c257600080fd5b505050565b610932806200183383390190565b610293806200216583390190565b80356001600160a01b038116811462000ea157600080fd5b6000602082840312156200140e57600080fd5b620011ea82620013e3565b600080604083850312156200142d57600080fd5b6200143883620013e3565b91506200144860208401620013e3565b90509250929050565b6000806000606084860312156200146757600080fd5b6200147284620013e3565b92506200148260208501620013e3565b9150604084013590509250925092565b60008060408385031215620014a657600080fd5b620014b183620013e3565b946020939093013593505050565b60008060008060008060c08789031215620014d957600080fd5b620014e487620013e3565b955060208701359450604087013593506060870135925060808701356200150b8162001820565b8092505060a087013590509295509295509295565b600080600080600060a086880312156200153957600080fd5b6200154486620013e3565b97602087013597506040870135966060810135965060800135945092505050565b60008060008060008060c087890312156200157f57600080fd5b6200158a87620013e3565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b600060208284031215620015c557600080fd5b8151620011ea8162001820565b600060208284031215620015e557600080fd5b5035919050565b600060208284031215620015ff57600080fd5b5051919050565b6001600160a01b0396871681526020810195909552604085019390935260608401919091521515608083015290911660a082015260c00190565b600060208083528351808285015260005b818110156200166f5785810183015185820160400152820162001651565b8181111562001682576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115620016ae57620016ae6200180a565b500190565b600181815b80851115620016f4578160001904821115620016d857620016d86200180a565b80851615620016e657918102915b93841c9390800290620016b8565b509250929050565b6000620011ea83836000826200171557506001620005c1565b816200172457506000620005c1565b81600181146200173d5760028114620017485762001768565b6001915050620005c1565b60ff8411156200175c576200175c6200180a565b50506001821b620005c1565b5060208310610133831016604e8410600b84101617156200178d575081810a620005c1565b620017998383620016b3565b8060001904821115620017b057620017b06200180a565b029392505050565b6000816000190483118215151615620017d557620017d56200180a565b500290565b600082821015620017ef57620017ef6200180a565b500390565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80151581146200182f57600080fd5b5056fe608060405234801561001057600080fd5b5060405161093238038061093283398101604081905261002f91610119565b600080546001600160a01b031916331790556001600160a01b03861661005457600080fd5b8284111561006157600080fd5b600180546001600160a01b0319166001600160a01b0388161790556005805460ff191683151517905560048390556100a485856100d7602090811b61050f17901c565b6002556003949094555050600880546001600160a01b0319166001600160a01b0390931692909217909155506101bb9050565b6000806100e4838561017f565b9050838110156100f6576100f66101a5565b9392505050565b80516001600160a01b038116811461011457600080fd5b919050565b60008060008060008060c0878903121561013257600080fd5b61013b876100fd565b95506020870151945060408701519350606087015192506080870151801515811461016557600080fd5b915061017360a088016100fd565b90509295509295509295565b600082198211156101a057634e487b7160e01b600052601160045260246000fd5b500190565b634e487b7160e01b600052600160045260246000fd5b610768806101ca6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806374a8f1031161007157806374a8f10314610144578063872a7810146101575780638da5cb5b146101745780639852595c14610187578063be9a6555146101a7578063fa01dc06146101b057600080fd5b80630fb5a6b4146100b957806313d033c0146100d55780631726cbc8146100de57806319165587146100f1578063384711cc1461010657806338af3eed14610119575b600080fd5b6100c260045481565b6040519081526020015b60405180910390f35b6100c260025481565b6100c26100ec366004610626565b6101d3565b6101046100ff366004610626565b610205565b005b6100c2610114366004610626565b61029a565b60015461012c906001600160a01b031681565b6040516001600160a01b0390911681526020016100cc565b610104610152366004610626565b6103c8565b6005546101649060ff1681565b60405190151581526020016100cc565b60005461012c906001600160a01b031681565b6100c2610195366004610626565b60066020526000908152604090205481565b6100c260035481565b6101646101be366004610626565b60076020526000908152604090205460ff1681565b6001600160a01b0381166000908152600660205260408120546101ff906101f98461029a565b90610535565b92915050565b6000610210826101d3565b90506000811161021f57600080fd5b30600090815260066020526040902054610239908261050f565b30600090815260066020526040902055600154610263906001600160a01b03848116911683610551565b6040518181527ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659060200160405180910390a15050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038416906370a082319060240160206040518083038186803b1580156102de57600080fd5b505afa1580156102f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103169190610665565b6001600160a01b0384166000908152600660205260408120549192509061033e90839061050f565b9050600254421015610354575060009392505050565b6004546003546103639161050f565b4210158061038957506001600160a01b03841660009081526007602052604090205460ff165b15610395579392505050565b6103c06004546103ba6103b36003544261053590919063ffffffff16565b84906105e4565b90610619565b949350505050565b6000546001600160a01b031633146103df57600080fd5b60055460ff166103ee57600080fd5b6001600160a01b03811660009081526007602052604090205460ff161561041457600080fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b15801561045657600080fd5b505afa15801561046a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048e9190610665565b9050600061049b836101d3565b905060006104a98383610535565b6001600160a01b038086166000818152600760205260409020805460ff191660011790556008549293506104e09290911683610551565b6040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a150505050565b60008061051c838561067e565b90508381101561052e5761052e6106ee565b9392505050565b600082821115610547576105476106ee565b61052e82846106d7565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b15801561059b57600080fd5b505af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190610643565b6105df576105df6106ee565b505050565b6000826105f3575060006101ff565b60006105ff83856106b8565b90508261060c8583610696565b1461052e5761052e6106ee565b6000806103c08385610696565b60006020828403121561063857600080fd5b813561052e8161071a565b60006020828403121561065557600080fd5b8151801515811461052e57600080fd5b60006020828403121561067757600080fd5b5051919050565b6000821982111561069157610691610704565b500190565b6000826106b357634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156106d2576106d2610704565b500290565b6000828210156106e9576106e9610704565b500390565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461072f57600080fd5b5056fea2646970667358221220e61fd8229f165ef9b7bd4d9a863d1de7951eb1275b6d599b82d5ce2faaf3beae64736f6c63430008070033608060405234801561001057600080fd5b5060405161029338038061029383398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610200806100936000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806312d60f861461003b578063fc0c546a14610045575b600080fd5b610043610074565b005b600054610058906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b600080546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156100b857600080fd5b505afa1580156100cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f091906101b1565b9050600081116100ff57600080fd5b60005460405163095ea7b360e01b81526001600160a01b0390911660048201819052602482018390529063095ea7b390604401602060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101849190610188565b5050565b60006020828403121561019a57600080fd5b815180151581146101aa57600080fd5b9392505050565b6000602082840312156101c357600080fd5b505191905056fea2646970667358221220ac801aea97f7a8ae588db133958c5a6d69f48137b0ab9382821ab75c93e3aff364736f6c63430008070033a2646970667358221220dbb6e9747aaa1b9486dc7fa843ceb0a57bcc9cabdf1396c7cb2af3cb8a31539164736f6c6343000807003300000000000000000000000050b80eaf448bcc77b671c0676d005ad66318d764

Deployed Bytecode

0x60806040523480156200001157600080fd5b5060043610620002015760003560e01c80638da5cb5b1162000119578063c26fe7ce11620000af578063de9ab12d116200007a578063de9ab12d1462000500578063e4fe9d151462000517578063edfedf93146200052b578063fb17eaf9146200054257600080fd5b8063c26fe7ce146200046a578063c47cfca11462000481578063d73dd62314620004ad578063dd62ed3e14620004c457600080fd5b8063afa3174411620000f0578063afa31744146200041e578063b0dd5b621462000432578063b8c78391146200043c578063bbae7ab4146200045357600080fd5b80638da5cb5b14620003b757806395d89b4114620003e4578063a9059cbb146200040757600080fd5b806342966c68116200019b5780636618846311620001665780636618846314620003465780636e68751c146200035d57806370a0823114620003745780638b88cb9414620003a057600080fd5b806342966c6814620002d357806354dd1da414620002ea5780635935573614620002f457806362290f35146200032f57600080fd5b806323b872dd11620001dc57806323b872dd146200028a578063313ce56714620002a15780633390297314620002bd5780633a03171c14620002c957600080fd5b806306fdde031462000206578063095ea7b3146200024f57806318160ddd1462000277575b600080fd5b620002376040518060400160405280601181526020017014da1bddd51a5b5948141c9bdd1bd8dbdb607a1b81525081565b60405162000246919062001640565b60405180910390f35b620002666200026036600462001492565b62000559565b604051901515815260200162000246565b6001545b60405190815260200162000246565b620002666200029b36600462001451565b620005c7565b620002aa601281565b60405160ff909116815260200162000246565b620002c762000730565b005b6200027b620007bd565b620002c7620002e4366004620015d2565b620007de565b620002c762000892565b6200027b62000305366004620013fb565b6001600160a01b039081166000908152600760209081526040808320549093168252819052205490565b620002c76200034036600462001565565b6200089d565b620002666200035736600462001492565b62000ac1565b620002c76200036e366004620013fb565b62000bad565b6200027b62000385366004620013fb565b6001600160a01b031660009081526020819052604090205490565b620002c7620003b136600462001492565b62000c37565b600354620003cb906001600160a01b031681565b6040516001600160a01b03909116815260200162000246565b620002376040518060400160405280600381526020016205354560ec1b81525081565b620002666200041836600462001492565b62000c83565b600454620003cb906001600160a01b031681565b620002c762000d4f565b6200027b6200044d366004620013fb565b62000de9565b620002c76200046436600462001492565b62000ea6565b620002c76200047b366004620013fb565b62000ee5565b620003cb62000492366004620013fb565b6007602052600090815260409020546001600160a01b031681565b62000266620004be36600462001492565b62000f25565b6200027b620004d536600462001419565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b620002c76200051136600462001520565b62000fad565b600554620003cb906001600160a01b031681565b620002c76200053c366004620014bf565b62000fd5565b620002c76200055336600462001492565b6200117e565b3360008181526002602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590620005b59086815260200190565b60405180910390a35060015b92915050565b60006001600160a01b038316620005dd57600080fd5b6001600160a01b0384166000908152602081905260409020548211156200060357600080fd5b6001600160a01b03841660009081526002602090815260408083203384529091529020548211156200063457600080fd5b6001600160a01b038416600090815260208190526040902054620006599083620011f1565b6001600160a01b0380861660009081526020819052604080822093909355908516815220546200068a9083620011c6565b6001600160a01b03808516600090815260208181526040808320949094559187168152600282528281203382529091522054620006c89083620011f1565b6001600160a01b03858116600081815260026020908152604080832033845282529182902094909455518581529186169290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35060019392505050565b6003546001600160a01b031633146200074857600080fd5b6005546001600160a01b0316156200075f57600080fd5b6200076e6302625a0062001212565b600580546001600160a01b0319166001600160a01b03929092169190911790556200079c6012600a620016fc565b620007ac906305f5e100620017b8565b6001541115620007bb57600080fd5b565b620007cb6012600a620016fc565b620007db906305f5e100620017b8565b81565b60008111620007ec57600080fd5b336000908152602081905260409020548111156200080957600080fd5b33600081815260208190526040902054620008259083620011f1565b6001600160a01b0382166000908152602081905260409020556001546200084d9083620011f1565b6001556040518281526001600160a01b038216907fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca59060200160405180910390a25050565b620007bb3362000ee5565b6003546001600160a01b03163314620008b557600080fd5b6001600160a01b038616620008c957600080fd5b6000620008d96012600a620016fc565b620008e59087620017b8565b6005549091506000906200090b90600160a01b900467ffffffffffffffff1686620017b8565b6005549091506000906200093190600160a01b900467ffffffffffffffff1686620017b8565b6005549091506000906200095790600160a01b900467ffffffffffffffff1686620017b8565b6001600160a01b038b81166000908152600760205260409020549192501662000a0a5760008a62000989858b62001698565b600354604051869186916001916001600160a01b031690620009ab90620013c7565b620009bc9695949392919062001606565b604051809103906000f080158015620009d9573d6000803e3d6000fd5b506001600160a01b03808d1660009081526007602052604090208054919092166001600160a01b0319909116179055505b6005546001600160a01b038b8116600090815260076020526040908190205490516323b872dd60e01b815292821660048401521660248201526044810185905230906323b872dd90606401602060405180830381600087803b15801562000a7057600080fd5b505af115801562000a85573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000aab9190620015b2565b62000ab557600080fd5b50505050505050505050565b3360009081526002602090815260408083206001600160a01b03861684529091528120548083111562000b18573360009081526002602090815260408083206001600160a01b038816845290915281205562000b49565b62000b248184620011f1565b3360009081526002602090815260408083206001600160a01b03891684529091529020555b3360008181526002602090815260408083206001600160a01b038916808552908352928190205490519081529192917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a35060019392505050565b6003546001600160a01b0316331462000bc557600080fd5b6001600160a01b03818116600090815260076020526040908190205490516374a8f10360e01b81523060048201529116906374a8f103906024015b600060405180830381600087803b15801562000c1b57600080fd5b505af115801562000c30573d6000803e3d6000fd5b5050505050565b6003546001600160a01b0316331462000c4f57600080fd5b62000c7f8282600080600660089054906101000a900467ffffffffffffffff1667ffffffffffffffff1662000fad565b5050565b60006001600160a01b03831662000c9957600080fd5b3360009081526020819052604090205482111562000cb657600080fd5b3360009081526020819052604090205462000cd29083620011f1565b33600090815260208190526040808220929092556001600160a01b0385168152205462000d009083620011c6565b6001600160a01b038416600081815260208181526040918290209390935551848152909133917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101620005b5565b6003546001600160a01b0316331462000d6757600080fd5b6005546001600160a01b031662000d7d57600080fd5b600560009054906101000a90046001600160a01b03166001600160a01b03166312d60f866040518163ffffffff1660e01b8152600401600060405180830381600087803b15801562000dce57600080fd5b505af115801562000de3573d6000803e3d6000fd5b50505050565b6001600160a01b0381811660009081526007602052604081205490911662000e1357506000919050565b6001600160a01b03828116600090815260076020526040908190205490516302e4d97960e31b8152306004820152911690631726cbc89060240160206040518083038186803b15801562000e6657600080fd5b505afa15801562000e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620005c19190620015ec565b919050565b6003546001600160a01b0316331462000ebe57600080fd5b60065462000c7f9083908390600090600160801b900467ffffffffffffffff168062000fad565b6001600160a01b0381811660009081526007602052604090819020549051631916558760e01b815230600482015291169063191655879060240162000c00565b3360009081526002602090815260408083206001600160a01b038616845290915281205462000f559083620011c6565b3360008181526002602090815260408083206001600160a01b038916808552908352928190208590555193845290927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259101620005b5565b6003546001600160a01b0316331462000fc557600080fd5b62000c308585428686866200089d565b6003546001600160a01b0316331462000fed57600080fd5b6001600160a01b0386166200100157600080fd5b6000620010116012600a620016fc565b6200101d9083620017b8565b6001600160a01b0388811660009081526007602052604090205491925016620010ca5760008787878787600360009054906101000a90046001600160a01b03166040516200106b90620013c7565b6200107c9695949392919062001606565b604051809103906000f08015801562001099573d6000803e3d6000fd5b506001600160a01b03808a1660009081526007602052604090208054919092166001600160a01b0319909116179055505b6005546001600160a01b03888116600090815260076020526040908190205490516323b872dd60e01b815292821660048401521660248201526044810182905230906323b872dd90606401602060405180830381600087803b1580156200113057600080fd5b505af115801562001145573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200116b9190620015b2565b6200117557600080fd5b50505050505050565b6003546001600160a01b031633146200119657600080fd5b60065462000c7f908390839067ffffffffffffffff80821691600091680100000000000000009091041662000fad565b600080620011d5838562001698565b905083811015620011ea57620011ea620017f4565b9392505050565b600082821115620012065762001206620017f4565b620011ea8284620017da565b6003546000906001600160a01b031633146200122d57600080fd5b6000306040516200123e90620013d5565b6001600160a01b039091168152602001604051809103906000f0801580156200126b573d6000803e3d6000fd5b5090506200127a8382620012d6565b806001600160a01b03166312d60f866040518163ffffffff1660e01b8152600401600060405180830381600087803b158015620012b657600080fd5b505af1158015620012cb573d6000803e3d6000fd5b509295945050505050565b6003546001600160a01b03163314620012ee57600080fd5b6000620012fe6012600a620016fc565b6200130a9084620017b8565b6001549091506200131c9082620011c6565b6001556001600160a01b038216600090815260208190526040902054620013449082620011c6565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620013a36012600a620016fc565b620013b3906305f5e100620017b8565b6001541115620013c257600080fd5b505050565b610932806200183383390190565b610293806200216583390190565b80356001600160a01b038116811462000ea157600080fd5b6000602082840312156200140e57600080fd5b620011ea82620013e3565b600080604083850312156200142d57600080fd5b6200143883620013e3565b91506200144860208401620013e3565b90509250929050565b6000806000606084860312156200146757600080fd5b6200147284620013e3565b92506200148260208501620013e3565b9150604084013590509250925092565b60008060408385031215620014a657600080fd5b620014b183620013e3565b946020939093013593505050565b60008060008060008060c08789031215620014d957600080fd5b620014e487620013e3565b955060208701359450604087013593506060870135925060808701356200150b8162001820565b8092505060a087013590509295509295509295565b600080600080600060a086880312156200153957600080fd5b6200154486620013e3565b97602087013597506040870135966060810135965060800135945092505050565b60008060008060008060c087890312156200157f57600080fd5b6200158a87620013e3565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b600060208284031215620015c557600080fd5b8151620011ea8162001820565b600060208284031215620015e557600080fd5b5035919050565b600060208284031215620015ff57600080fd5b5051919050565b6001600160a01b0396871681526020810195909552604085019390935260608401919091521515608083015290911660a082015260c00190565b600060208083528351808285015260005b818110156200166f5785810183015185820160400152820162001651565b8181111562001682576000604083870101525b50601f01601f1916929092016040019392505050565b60008219821115620016ae57620016ae6200180a565b500190565b600181815b80851115620016f4578160001904821115620016d857620016d86200180a565b80851615620016e657918102915b93841c9390800290620016b8565b509250929050565b6000620011ea83836000826200171557506001620005c1565b816200172457506000620005c1565b81600181146200173d5760028114620017485762001768565b6001915050620005c1565b60ff8411156200175c576200175c6200180a565b50506001821b620005c1565b5060208310610133831016604e8410600b84101617156200178d575081810a620005c1565b620017998383620016b3565b8060001904821115620017b057620017b06200180a565b029392505050565b6000816000190483118215151615620017d557620017d56200180a565b500290565b600082821015620017ef57620017ef6200180a565b500390565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b80151581146200182f57600080fd5b5056fe608060405234801561001057600080fd5b5060405161093238038061093283398101604081905261002f91610119565b600080546001600160a01b031916331790556001600160a01b03861661005457600080fd5b8284111561006157600080fd5b600180546001600160a01b0319166001600160a01b0388161790556005805460ff191683151517905560048390556100a485856100d7602090811b61050f17901c565b6002556003949094555050600880546001600160a01b0319166001600160a01b0390931692909217909155506101bb9050565b6000806100e4838561017f565b9050838110156100f6576100f66101a5565b9392505050565b80516001600160a01b038116811461011457600080fd5b919050565b60008060008060008060c0878903121561013257600080fd5b61013b876100fd565b95506020870151945060408701519350606087015192506080870151801515811461016557600080fd5b915061017360a088016100fd565b90509295509295509295565b600082198211156101a057634e487b7160e01b600052601160045260246000fd5b500190565b634e487b7160e01b600052600160045260246000fd5b610768806101ca6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806374a8f1031161007157806374a8f10314610144578063872a7810146101575780638da5cb5b146101745780639852595c14610187578063be9a6555146101a7578063fa01dc06146101b057600080fd5b80630fb5a6b4146100b957806313d033c0146100d55780631726cbc8146100de57806319165587146100f1578063384711cc1461010657806338af3eed14610119575b600080fd5b6100c260045481565b6040519081526020015b60405180910390f35b6100c260025481565b6100c26100ec366004610626565b6101d3565b6101046100ff366004610626565b610205565b005b6100c2610114366004610626565b61029a565b60015461012c906001600160a01b031681565b6040516001600160a01b0390911681526020016100cc565b610104610152366004610626565b6103c8565b6005546101649060ff1681565b60405190151581526020016100cc565b60005461012c906001600160a01b031681565b6100c2610195366004610626565b60066020526000908152604090205481565b6100c260035481565b6101646101be366004610626565b60076020526000908152604090205460ff1681565b6001600160a01b0381166000908152600660205260408120546101ff906101f98461029a565b90610535565b92915050565b6000610210826101d3565b90506000811161021f57600080fd5b30600090815260066020526040902054610239908261050f565b30600090815260066020526040902055600154610263906001600160a01b03848116911683610551565b6040518181527ffb81f9b30d73d830c3544b34d827c08142579ee75710b490bab0b3995468c5659060200160405180910390a15050565b6040516370a0823160e01b815230600482015260009081906001600160a01b038416906370a082319060240160206040518083038186803b1580156102de57600080fd5b505afa1580156102f2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103169190610665565b6001600160a01b0384166000908152600660205260408120549192509061033e90839061050f565b9050600254421015610354575060009392505050565b6004546003546103639161050f565b4210158061038957506001600160a01b03841660009081526007602052604090205460ff165b15610395579392505050565b6103c06004546103ba6103b36003544261053590919063ffffffff16565b84906105e4565b90610619565b949350505050565b6000546001600160a01b031633146103df57600080fd5b60055460ff166103ee57600080fd5b6001600160a01b03811660009081526007602052604090205460ff161561041457600080fd5b6040516370a0823160e01b81523060048201526000906001600160a01b038316906370a082319060240160206040518083038186803b15801561045657600080fd5b505afa15801561046a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061048e9190610665565b9050600061049b836101d3565b905060006104a98383610535565b6001600160a01b038086166000818152600760205260409020805460ff191660011790556008549293506104e09290911683610551565b6040517f44825a4b2df8acb19ce4e1afba9aa850c8b65cdb7942e2078f27d0b0960efee690600090a150505050565b60008061051c838561067e565b90508381101561052e5761052e6106ee565b9392505050565b600082821115610547576105476106ee565b61052e82846106d7565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb90604401602060405180830381600087803b15801561059b57600080fd5b505af11580156105af573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105d39190610643565b6105df576105df6106ee565b505050565b6000826105f3575060006101ff565b60006105ff83856106b8565b90508261060c8583610696565b1461052e5761052e6106ee565b6000806103c08385610696565b60006020828403121561063857600080fd5b813561052e8161071a565b60006020828403121561065557600080fd5b8151801515811461052e57600080fd5b60006020828403121561067757600080fd5b5051919050565b6000821982111561069157610691610704565b500190565b6000826106b357634e487b7160e01b600052601260045260246000fd5b500490565b60008160001904831182151516156106d2576106d2610704565b500290565b6000828210156106e9576106e9610704565b500390565b634e487b7160e01b600052600160045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6001600160a01b038116811461072f57600080fd5b5056fea2646970667358221220e61fd8229f165ef9b7bd4d9a863d1de7951eb1275b6d599b82d5ce2faaf3beae64736f6c63430008070033608060405234801561001057600080fd5b5060405161029338038061029383398101604081905261002f91610054565b600080546001600160a01b0319166001600160a01b0392909216919091179055610084565b60006020828403121561006657600080fd5b81516001600160a01b038116811461007d57600080fd5b9392505050565b610200806100936000396000f3fe608060405234801561001057600080fd5b50600436106100365760003560e01c806312d60f861461003b578063fc0c546a14610045575b600080fd5b610043610074565b005b600054610058906001600160a01b031681565b6040516001600160a01b03909116815260200160405180910390f35b600080546040516370a0823160e01b81523060048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156100b857600080fd5b505afa1580156100cc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906100f091906101b1565b9050600081116100ff57600080fd5b60005460405163095ea7b360e01b81526001600160a01b0390911660048201819052602482018390529063095ea7b390604401602060405180830381600087803b15801561014c57600080fd5b505af1158015610160573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101849190610188565b5050565b60006020828403121561019a57600080fd5b815180151581146101aa57600080fd5b9392505050565b6000602082840312156101c357600080fd5b505191905056fea2646970667358221220ac801aea97f7a8ae588db133958c5a6d69f48137b0ab9382821ab75c93e3aff364736f6c63430008070033a2646970667358221220dbb6e9747aaa1b9486dc7fa843ceb0a57bcc9cabdf1396c7cb2af3cb8a31539164736f6c63430008070033

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

00000000000000000000000050b80EAF448BCC77b671c0676d005AD66318d764

-----Decoded View---------------
Arg [0] : _saleTokensAddress (address): 0x50b80EAF448BCC77b671c0676d005AD66318d764

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 00000000000000000000000050b80EAF448BCC77b671c0676d005AD66318d764


Deployed Bytecode Sourcemap

13526:6944:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13610:49;;;;;;;;;;;;;;;-1:-1:-1;;;13610:49:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5411:215;;;;;;:::i;:::-;;:::i;:::-;;;4817:14:1;;4810:22;4792:41;;4780:2;4765:18;5411:215:0;4652:187:1;2110:99:0;2189:12;;2110:99;;;6264:25:1;;;6252:2;6237:18;2110:99:0;6118:177:1;4257:497:0;;;;;;:::i;:::-;;:::i;13710:35::-;;13743:2;13710:35;;;;;6472:4:1;6460:17;;;6442:36;;6430:2;6415:18;13710:35:0;6300:184:1;14851:274:0;;;:::i;:::-;;13815:68;;;:::i;13029:490::-;;;;;;:::i;:::-;;:::i;19106:93::-;;;:::i;19502:124::-;;;;;;:::i;:::-;-1:-1:-1;;;;;19600:17:0;;;19564:7;19600:17;;;:9;:17;;;;;;;;;;;;19591:27;;;;;;;;19502:124;16838:992;;;;;;:::i;:::-;;:::i;6669:459::-;;;;;;:::i;:::-;;:::i;20123:127::-;;;;;;:::i;:::-;;:::i;3034:115::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3125:16:0;3098:7;3125:16;;;;;;;;;;;;3034:115;18244:190;;;;;;:::i;:::-;;:::i;7890:20::-;;;;;-1:-1:-1;;;;;7890:20:0;;;;;;-1:-1:-1;;;;;3622:32:1;;;3604:51;;3592:2;3577:18;7890:20:0;3458:203:1;13666:37:0;;;;;;;;;;;;;;;-1:-1:-1;;;13666:37:0;;;;;2382:431;;;;;;:::i;:::-;;:::i;13979:32::-;;;;;-1:-1:-1;;;;;13979:32:0;;;20300:165;;;:::i;19701:261::-;;;;;;:::i;:::-;;:::i;18833:199::-;;;;;;:::i;:::-;;:::i;19321:119::-;;;;;;:::i;:::-;;:::i;14442:44::-;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;14442:44:0;;;6372:289;;;;;;:::i;:::-;;:::i;5967:143::-;;;;;;:::i;:::-;-1:-1:-1;;;;;6077:15:0;;;6050:7;6077:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;5967:143;17875:280;;;;;;:::i;:::-;;:::i;14099:36::-;;;;;-1:-1:-1;;;;;14099:36:0;;;15997:795;;;;;;:::i;:::-;;:::i;18550:202::-;;;;;;:::i;:::-;;:::i;5411:215::-;5512:10;5487:4;5504:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5504:29:0;;;;;;;;;;:38;;;5558;5487:4;;5504:29;;5558:38;;;;5536:6;6264:25:1;;6252:2;6237:18;;6118:177;5558:38:0;;;;;;;;-1:-1:-1;5614:4:0;5411:215;;;;;:::o;4257:497::-;4348:4;-1:-1:-1;;;;;4373:17:0;;4365:26;;;;;;-1:-1:-1;;;;;4420:15:0;;:8;:15;;;;;;;;;;;4410:25;;;4402:34;;;;;;-1:-1:-1;;;;;4465:14:0;;;;;;:7;:14;;;;;;;;4480:10;4465:26;;;;;;;;4455:36;;;4447:45;;;;;;-1:-1:-1;;;;;4523:15:0;;:8;:15;;;;;;;;;;;:27;;4543:6;4523:19;:27::i;:::-;-1:-1:-1;;;;;4505:15:0;;;:8;:15;;;;;;;;;;;:45;;;;4577:13;;;;;;;:25;;4595:6;4577:17;:25::i;:::-;-1:-1:-1;;;;;4561:13:0;;;:8;:13;;;;;;;;;;;:41;;;;4642:14;;;;;:7;:14;;;;;4657:10;4642:26;;;;;;;:38;;4673:6;4642:30;:38::i;:::-;-1:-1:-1;;;;;4613:14:0;;;;;;;:7;:14;;;;;;;;4628:10;4613:26;;;;;;;;:67;;;;4696:28;6264:25:1;;;4696:28:0;;;;4613:14;;4696:28;;6237:18:1;4696:28:0;;;;;;;-1:-1:-1;4742:4:0;4257:497;;;;;:::o;14851:274::-;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;14933:18:::1;::::0;-1:-1:-1;;;;;14933:18:0::1;14925:41:::0;14917:50:::1;;;::::0;::::1;;15042:29;15062:8;15042:19;:29::i;:::-;15021:18;:50:::0;;-1:-1:-1;;;;;;15021:50:0::1;-1:-1:-1::0;;;;;15021:50:0;;;::::1;::::0;;;::::1;::::0;;13862:21:::1;13743:2;13862;:21;:::i;:::-;13850:33;::::0;:9:::1;:33;:::i;:::-;15092:12;;:24;;15084:33;;;::::0;::::1;;14851:274::o:0;13815:68::-;13862:21;13743:2;13862;:21;:::i;:::-;13850:33;;:9;:33;:::i;:::-;13815:68;:::o;13029:490::-;13094:1;13085:6;:10;13077:19;;;;;;13134:10;13125:8;:20;;;;;;;;;;;13115:30;;;13107:39;;;;;;13357:10;13340:14;13397:16;;;;;;;;;;;:28;;13418:6;13397:20;:28::i;:::-;-1:-1:-1;;;;;13378:16:0;;:8;:16;;;;;;;;;;:47;13451:12;;:24;;13468:6;13451:16;:24::i;:::-;13436:12;:39;13491:20;;6264:25:1;;;-1:-1:-1;;;;;13491:20:0;;;;;6252:2:1;6237:18;13491:20:0;;;;;;;13066:453;13029:490;:::o;19106:93::-;19157:34;19180:10;19157:22;:34::i;16838:992::-;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;-1:-1:-1;;;;;17206:26:0;::::1;17198:35;;;::::0;::::1;;17246:20;17288:21;13743:2;17288;:21;:::i;:::-;17269:40;::::0;:16;:40:::1;:::i;:::-;17351:9;::::0;17246:63;;-1:-1:-1;17320:16:0::1;::::0;17339:21:::1;::::0;-1:-1:-1;;;17351:9:0;::::1;;;17339::::0;:21:::1;:::i;:::-;17402:9;::::0;17320:40;;-1:-1:-1;17371:16:0::1;::::0;17390:21:::1;::::0;-1:-1:-1;;;17402:9:0;::::1;;;17390::::0;:21:::1;:::i;:::-;17459:9;::::0;17371:40;;-1:-1:-1;17422:19:0::1;::::0;17444:24:::1;::::0;-1:-1:-1;;;17459:9:0;::::1;;;17444:12:::0;:24:::1;:::i;:::-;-1:-1:-1::0;;;;;17484:23:0;;::::1;17519:1;17484:23:::0;;;:9:::1;:23;::::0;;;;;17422:46;;-1:-1:-1;17484:23:0::1;17481:235;;17538:20;17578:12:::0;17592:18:::1;17602:8:::0;17592:7;:18:::1;:::i;:::-;17641:5;::::0;17561:86:::1;::::0;17612:8;;17622:11;;17635:4:::1;::::0;-1:-1:-1;;;;;17641:5:0::1;::::0;17561:86:::1;::::0;::::1;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;17662:23:0;;::::1;;::::0;;;:9:::1;:23;::::0;;;;:42;;;;;::::1;-1:-1:-1::0;;;;;;17662:42:0;;::::1;;::::0;;-1:-1:-1;17481:235:0::1;17762:18;::::0;-1:-1:-1;;;;;17783:23:0;;::::1;17762:18;17783:23:::0;;;:9:::1;:23;::::0;;;;;;;17736:85;;-1:-1:-1;;;17736:85:0;;17762:18;;::::1;17736:85;::::0;::::1;3906:34:1::0;17783:23:0::1;3956:18:1::0;;;3949:43;4008:18;;;4001:34;;;17736:4:0::1;::::0;:17:::1;::::0;3841:18:1;;17736:85:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;17728:94;;;::::0;::::1;;17187:643;;;;16838:992:::0;;;;;;:::o;6669:459::-;6802:10;6753:12;6794:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6794:29:0;;;;;;;;;;6838:27;;;6834:188;;;6890:10;6914:1;6882:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6882:29:0;;;;;;;;;:33;6834:188;;;6980:30;:8;6993:16;6980:12;:30::i;:::-;6956:10;6948:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6948:29:0;;;;;;;;;:62;6834:188;7046:10;7068:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7037:61:0;;7068:29;;;;;;;;;;;7037:61;;6264:25:1;;;7037:61:0;;7046:10;7037:61;;6237:18:1;7037:61:0;;;;;;;-1:-1:-1;7116:4:0;;6669:459;-1:-1:-1;;;6669:459:0:o;20123:127::-;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;-1:-1:-1;;;;;20211:17:0;;::::1;;::::0;;;:9:::1;:17;::::0;;;;;;;20198:44;;-1:-1:-1;;;20198:44:0;;20237:4:::1;20198:44;::::0;::::1;3604:51:1::0;20211:17:0;::::1;::::0;20198:38:::1;::::0;3577:18:1;;20198:44:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20123:127:::0;:::o;18244:190::-;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;18353:73:::1;18374:12;18388:16;18406:1;18409::::0;18412:13:::1;;;;;;;;;;;18353:73;;:20;:73::i;:::-;18244:190:::0;;:::o;2382:431::-;2453:4;-1:-1:-1;;;;;2478:17:0;;2470:26;;;;;;2534:10;2525:8;:20;;;;;;;;;;;2515:30;;;2507:39;;;;;;2659:10;2650:8;:20;;;;;;;;;;;:32;;2675:6;2650:24;:32::i;:::-;2636:10;2627:8;:20;;;;;;;;;;;:55;;;;-1:-1:-1;;;;;2709:13:0;;;;;;:25;;2727:6;2709:17;:25::i;:::-;-1:-1:-1;;;;;2693:13:0;;:8;:13;;;;;;;;;;;;:41;;;;2750:33;6264:25:1;;;2693:13:0;;2759:10;;2750:33;;6237:18:1;2750:33:0;6118:177:1;20300:165:0;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;20376:18:::1;::::0;-1:-1:-1;;;;;20376:18:0::1;20360:50;;;::::0;::::1;;20421:18;;;;;;;;;-1:-1:-1::0;;;;;20421:18:0::1;-1:-1:-1::0;;;;;20421:34:0::1;;:36;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;20300:165::o:0;19701:261::-;-1:-1:-1;;;;;19792:17:0;;;19768:7;19792:17;;;:9;:17;;;;;;19768:7;;19792:17;19788:167;;-1:-1:-1;19848:1:0;;19701:261;-1:-1:-1;19701:261:0:o;19788:167::-;-1:-1:-1;;;;;19902:17:0;;;;;;;:9;:17;;;;;;;;19889:54;;-1:-1:-1;;;19889:54:0;;19938:4;19889:54;;;3604:51:1;19902:17:0;;;19889:48;;3577:18:1;;19889:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;19788:167::-;19701:261;;;:::o;18833:199::-;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;18999:11:::1;::::0;18943:81:::1;::::0;18964:12;;18978:16;;18996:1:::1;::::0;-1:-1:-1;;;18999:11:0;::::1;;;::::0;18943:20:::1;:81::i;19321:119::-:0;-1:-1:-1;;;;;19400:17:0;;;;;;;:9;:17;;;;;;;;19387:45;;-1:-1:-1;;;19387:45:0;;19427:4;19387:45;;;3604:51:1;19400:17:0;;;19387:39;;3577:18:1;;19387:45:0;3458:203:1;6372:289:0;6516:10;6451:12;6508:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6508:29:0;;;;;;;;;;:46;;6542:11;6508:33;:46::i;:::-;6484:10;6476:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6476:29:0;;;;;;;;;;;;:78;;;6570:61;6264:25:1;;;6476:29:0;;6570:61;;6237:18:1;6570:61:0;6118:177:1;17875:280:0;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;18042:105:::1;18063:12;18077:16;18095:15;18112:9;18123;18134:12;18042:20;:105::i;15997:795::-:0;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;-1:-1:-1;;;;;16334:26:0;::::1;16326:35;;;::::0;::::1;;16374:20;16416:21;13743:2;16416;:21;:::i;:::-;16397:40;::::0;:16;:40:::1;:::i;:::-;-1:-1:-1::0;;;;;16453:23:0;;::::1;16488:1;16453:23:::0;;;:9:::1;:23;::::0;;;;;16374:63;;-1:-1:-1;16453:23:0::1;16450:228;;16507:20;16547:12;16561:7;16570;16579:10;16591;16603:5;;;;;;;;;-1:-1:-1::0;;;;;16603:5:0::1;16530:79;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;;;;;16624:23:0;;::::1;;::::0;;;:9:::1;:23;::::0;;;;:42;;;;;::::1;-1:-1:-1::0;;;;;;16624:42:0;;::::1;;::::0;;-1:-1:-1;16450:228:0::1;16724:18;::::0;-1:-1:-1;;;;;16745:23:0;;::::1;16724:18;16745:23:::0;;;:9:::1;:23;::::0;;;;;;;16698:85;;-1:-1:-1;;;16698:85:0;;16724:18;;::::1;16698:85;::::0;::::1;3906:34:1::0;16745:23:0::1;3956:18:1::0;;;3949:43;4008:18;;;4001:34;;;16698:4:0::1;::::0;:17:::1;::::0;3841:18:1;;16698:85:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;16690:94;;;::::0;::::1;;16315:477;15997:795:::0;;;;;;:::o;18550:202::-;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;18715:10:::1;::::0;18662:82:::1;::::0;18683:12;;18697:16;;18715:10:::1;::::0;;::::1;::::0;::::1;::::0;18730:13;;;::::1;;18662:20;:82::i;1175:147::-:0;1233:7;;1265:5;1269:1;1265;:5;:::i;:::-;1253:17;;1293:1;1288;:6;;1281:14;;;;:::i;:::-;1313:1;1175:147;-1:-1:-1;;;1175:147:0:o;977:123::-;1035:7;1067:1;1062;:6;;1055:14;;;;:::i;:::-;1087:5;1091:1;1087;:5;:::i;15215:277::-;8030:5;;15288:10;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;15311:21:::1;15356:4;15335:27;;;;;:::i;:::-;-1:-1:-1::0;;;;;3622:32:1;;;3604:51;;3592:2;3577:18;15335:27:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;;15311:51;;15373:44;15389:6;15405:10;15373:15;:44::i;:::-;15428:10;-1:-1:-1::0;;;;;15428:26:0::1;;:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;15474:10:0;;15215:277;-1:-1:-1;;;;;15215:277:0:o;15575:374::-;8030:5;;-1:-1:-1;;;;;8030:5:0;8016:10;:19;8008:28;;;;;;15669:14:::1;15696:21;13743:2;15696;:21;:::i;:::-;15686:31;::::0;:7;:31:::1;:::i;:::-;15743:12;::::0;15669:48;;-1:-1:-1;15743:24:0::1;::::0;15669:48;15743:16:::1;:24::i;:::-;15728:12;:39:::0;-1:-1:-1;;;;;15803:22:0;::::1;:8;:22:::0;;;::::1;::::0;;;;;;;:34:::1;::::0;15830:6;15803:26:::1;:34::i;:::-;-1:-1:-1::0;;;;;15778:22:0;::::1;:8;:22:::0;;;::::1;::::0;;;;;;;:59;;;;15853:42;;6264:25:1;;;15778:22:0;;:8;;15853:42:::1;::::0;6237:18:1;15853:42:0::1;;;;;;;13862:21;13743:2;13862;:21;:::i;:::-;13850:33;::::0;:9:::1;:33;:::i;:::-;15916:12;;:24;;15908:33;;;::::0;::::1;;15658:291;15575:374:::0;;:::o;-1:-1:-1:-;;;;;;;;:::o;:::-;;;;;;;;:::o;14:173:1:-;82:20;;-1:-1:-1;;;;;131:31:1;;121:42;;111:70;;177:1;174;167:12;192:186;251:6;304:2;292:9;283:7;279:23;275:32;272:52;;;320:1;317;310:12;272:52;343:29;362:9;343:29;:::i;383:260::-;451:6;459;512:2;500:9;491:7;487:23;483:32;480:52;;;528:1;525;518:12;480:52;551:29;570:9;551:29;:::i;:::-;541:39;;599:38;633:2;622:9;618:18;599:38;:::i;:::-;589:48;;383:260;;;;;:::o;648:328::-;725:6;733;741;794:2;782:9;773:7;769:23;765:32;762:52;;;810:1;807;800:12;762:52;833:29;852:9;833:29;:::i;:::-;823:39;;881:38;915:2;904:9;900:18;881:38;:::i;:::-;871:48;;966:2;955:9;951:18;938:32;928:42;;648:328;;;;;:::o;981:254::-;1049:6;1057;1110:2;1098:9;1089:7;1085:23;1081:32;1078:52;;;1126:1;1123;1116:12;1078:52;1149:29;1168:9;1149:29;:::i;:::-;1139:39;1225:2;1210:18;;;;1197:32;;-1:-1:-1;;;981:254:1:o;1240:590::-;1341:6;1349;1357;1365;1373;1381;1434:3;1422:9;1413:7;1409:23;1405:33;1402:53;;;1451:1;1448;1441:12;1402:53;1474:29;1493:9;1474:29;:::i;:::-;1464:39;;1550:2;1539:9;1535:18;1522:32;1512:42;;1601:2;1590:9;1586:18;1573:32;1563:42;;1652:2;1641:9;1637:18;1624:32;1614:42;;1706:3;1695:9;1691:19;1678:33;1720:28;1742:5;1720:28;:::i;:::-;1767:5;1757:15;;;1819:3;1808:9;1804:19;1791:33;1781:43;;1240:590;;;;;;;;:::o;1835:460::-;1930:6;1938;1946;1954;1962;2015:3;2003:9;1994:7;1990:23;1986:33;1983:53;;;2032:1;2029;2022:12;1983:53;2055:29;2074:9;2055:29;:::i;:::-;2045:39;2131:2;2116:18;;2103:32;;-1:-1:-1;2182:2:1;2167:18;;2154:32;;2233:2;2218:18;;2205:32;;-1:-1:-1;2284:3:1;2269:19;2256:33;;-1:-1:-1;1835:460:1;-1:-1:-1;;;1835:460:1:o;2300:529::-;2404:6;2412;2420;2428;2436;2444;2497:3;2485:9;2476:7;2472:23;2468:33;2465:53;;;2514:1;2511;2504:12;2465:53;2537:29;2556:9;2537:29;:::i;:::-;2527:39;2613:2;2598:18;;2585:32;;-1:-1:-1;2664:2:1;2649:18;;2636:32;;2715:2;2700:18;;2687:32;;-1:-1:-1;2766:3:1;2751:19;;2738:33;;-1:-1:-1;2818:3:1;2803:19;2790:33;;-1:-1:-1;2300:529:1;-1:-1:-1;;;2300:529:1:o;2834:245::-;2901:6;2954:2;2942:9;2933:7;2929:23;2925:32;2922:52;;;2970:1;2967;2960:12;2922:52;3002:9;2996:16;3021:28;3043:5;3021:28;:::i;3084:180::-;3143:6;3196:2;3184:9;3175:7;3171:23;3167:32;3164:52;;;3212:1;3209;3202:12;3164:52;-1:-1:-1;3235:23:1;;3084:180;-1:-1:-1;3084:180:1:o;3269:184::-;3339:6;3392:2;3380:9;3371:7;3367:23;3363:32;3360:52;;;3408:1;3405;3398:12;3360:52;-1:-1:-1;3431:16:1;;3269:184;-1:-1:-1;3269:184:1:o;4046:601::-;-1:-1:-1;;;;;4383:15:1;;;4365:34;;4430:2;4415:18;;4408:34;;;;4473:2;4458:18;;4451:34;;;;4516:2;4501:18;;4494:34;;;;4572:14;4565:22;4559:3;4544:19;;4537:51;4625:15;;;4345:3;4604:19;;4597:44;4314:3;4299:19;;4046:601::o;5516:597::-;5628:4;5657:2;5686;5675:9;5668:21;5718:6;5712:13;5761:6;5756:2;5745:9;5741:18;5734:34;5786:1;5796:140;5810:6;5807:1;5804:13;5796:140;;;5905:14;;;5901:23;;5895:30;5871:17;;;5890:2;5867:26;5860:66;5825:10;;5796:140;;;5954:6;5951:1;5948:13;5945:91;;;6024:1;6019:2;6010:6;5999:9;5995:22;5991:31;5984:42;5945:91;-1:-1:-1;6097:2:1;6076:15;-1:-1:-1;;6072:29:1;6057:45;;;;6104:2;6053:54;;5516:597;-1:-1:-1;;;5516:597:1:o;6489:128::-;6529:3;6560:1;6556:6;6553:1;6550:13;6547:39;;;6566:18;;:::i;:::-;-1:-1:-1;6602:9:1;;6489:128::o;6622:422::-;6711:1;6754:5;6711:1;6768:270;6789:7;6779:8;6776:21;6768:270;;;6848:4;6844:1;6840:6;6836:17;6830:4;6827:27;6824:53;;;6857:18;;:::i;:::-;6907:7;6897:8;6893:22;6890:55;;;6927:16;;;;6890:55;7006:22;;;;6966:15;;;;6768:270;;;6772:3;6622:422;;;;;:::o;7049:131::-;7109:5;7138:36;7165:8;7159:4;7234:5;7264:8;7254:80;;-1:-1:-1;7305:1:1;7319:5;;7254:80;7353:4;7343:76;;-1:-1:-1;7390:1:1;7404:5;;7343:76;7435:4;7453:1;7448:59;;;;7521:1;7516:130;;;;7428:218;;7448:59;7478:1;7469:10;;7492:5;;;7516:130;7553:3;7543:8;7540:17;7537:43;;;7560:18;;:::i;:::-;-1:-1:-1;;7616:1:1;7602:16;;7631:5;;7428:218;;7730:2;7720:8;7717:16;7711:3;7705:4;7702:13;7698:36;7692:2;7682:8;7679:16;7674:2;7668:4;7665:12;7661:35;7658:77;7655:159;;;-1:-1:-1;7767:19:1;;;7799:5;;7655:159;7846:34;7871:8;7865:4;7846:34;:::i;:::-;7916:6;7912:1;7908:6;7904:19;7895:7;7892:32;7889:58;;;7927:18;;:::i;:::-;7965:20;;7185:806;-1:-1:-1;;;7185:806:1:o;7996:168::-;8036:7;8102:1;8098;8094:6;8090:14;8087:1;8084:21;8079:1;8072:9;8065:17;8061:45;8058:71;;;8109:18;;:::i;:::-;-1:-1:-1;8149:9:1;;7996:168::o;8169:125::-;8209:4;8237:1;8234;8231:8;8228:34;;;8242:18;;:::i;:::-;-1:-1:-1;8279:9:1;;8169:125::o;8299:127::-;8360:10;8355:3;8351:20;8348:1;8341:31;8391:4;8388:1;8381:15;8415:4;8412:1;8405:15;8431:127;8492:10;8487:3;8483:20;8480:1;8473:31;8523:4;8520:1;8513:15;8547:4;8544:1;8537:15;8563:118;8649:5;8642:13;8635:21;8628:5;8625:32;8615:60;;8671:1;8668;8661:12;8615:60;8563:118;:::o

Swarm Source

ipfs://dbb6e9747aaa1b9486dc7fa843ceb0a57bcc9cabdf1396c7cb2af3cb8a315391
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.