ETH Price: $3,144.61 (+5.58%)

Token

Yearn Shark Finance (YSKF)
 

Overview

Max Total Supply

15,000 YSKF

Holders

256 (0.00%)

Market

Price

$0.04 @ 0.000014 ETH

Onchain Market Cap

$655.19

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
100 YSKF

Value
$4.37 ( ~0.00138967847231362 Eth) [0.6667%]
0xa22f21efb6c12dca5aac0a5632bd7e810b6ac448
Loading...
Loading
Loading...
Loading
Loading...
Loading

OVERVIEW

Yearn Shark Finance DeFi project with its Own YSKF SWAP Exchange and Staking Platform.

# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
YearnSharkFinance

Compiler Version
v0.5.11+commit.22be8592

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2020-11-22
*/

pragma solidity 0.5.11;

library SafeMath {
    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;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        // assert(b > 0); // Solidity automatically throws when dividing by 0
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        assert(b <= a);
        return a - b;
    }

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

/**
 * @title Ownable
 * @dev The Ownable contract has an owner address, and provides basic authorization control
 * functions, this simplifies the implementation of "user permissions".
 */
contract Ownable {
    address public owner;


    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);


    /**
    * @dev The Ownable constructor sets the original `owner` of the contract to the sender
    * account.
    */
    constructor() public {
        owner = msg.sender;
    }

    /**
    * @dev Throws if called by any account other than the owner.
    */
    modifier onlyOwner() {
        require(msg.sender == owner);
        _;
    }

    /**
    * @dev Allows the current owner to transfer control of the contract to a newOwner.
    * @param newOwner The address to transfer ownership to.
    */
    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner != address(0));
        emit OwnershipTransferred(owner, newOwner);
        owner = newOwner;
    }
}

/**
 * @title ERC20Basic
 */
contract ERC20Basic {
    uint256 public totalSupply;
    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
 */
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, Ownable {

    using SafeMath for uint256;

    mapping(address => uint256) balances;

    /**
    * @dev transfer token for a specified address
    * @param _to The address to transfer to.
    * @param _value The amount to be transferred.
    */
    function transfer(address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(_value <= balanceOf(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 returns (uint256 balance) {
        return balances[_owner];
    }
    
}


/**
 * @title Standard ERC20 token
 *
 * @dev Implementation of the basic standard token.
 */
contract StandardToken is ERC20, BasicToken {

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

    /**
    * @dev Transfer tokens from one address to another
    * @param _from address The address which you want to send tokens from
    * @param _to address The address which you want to transfer to
    * @param _value uint256 the amount of tokens to be transferred
    */
    function transferFrom(address _from, address _to, uint256 _value) public returns (bool) {
        require(_to != address(0));
        require(allowed[_from][msg.sender] >= _value);
        require(balanceOf(_from) >= _value);
        require(balances[_to].add(_value) > balances[_to]); // Check for overflows
        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.
    * @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) {
        // To change the approve amount you first have to reduce the addresses`
        //  allowance to zero by calling `approve(_spender, 0)` if it is not
        //  already 0 to mitigate the race condition described here:
        //  https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
        require((_value == 0) || (allowed[msg.sender][_spender] == 0));
        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 view returns (uint256 remaining) {
        return allowed[_owner][_spender];
    }

    /**
    * approve should be called when allowed[_spender] == 0. To increment
    * allowed value is better to use this function to avoid 2 calls (and wait until 
    * the first transaction is mined)
    * From MonolithDAO Token.sol
    */
    function increaseApproval (address _spender, uint _addedValue) 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 Pausable
 * @dev Base contract which allows children to implement an emergency stop mechanism.
 */
contract Pausable is StandardToken {
    event Pause();
    event Unpause();

    bool public paused = false;

    address public founder;
    
    /**
    * @dev modifier to allow actions only when the contract IS paused
    */
    modifier whenNotPaused() {
        require(!paused || msg.sender == founder);
        _;
    }

    /**
    * @dev modifier to allow actions only when the contract IS NOT paused
    */
    modifier whenPaused() {
        require(paused);
        _;
    }

    /**
    * @dev called by the owner to pause, triggers stopped state
    */
    function pause() public onlyOwner whenNotPaused {
        paused = true;
        emit Pause();
    }

    /**
    * @dev called by the owner to unpause, returns to normal state
    */
    function unpause() public onlyOwner whenPaused {
        paused = false;
        emit Unpause();
    }
}


contract PausableToken is Pausable {

    function transfer(address _to, uint256 _value) public whenNotPaused returns (bool) {
        return super.transfer(_to, _value);
    }

    function transferFrom(address _from, address _to, uint256 _value) public whenNotPaused returns (bool) {
        return super.transferFrom(_from, _to, _value);
    }

    //The functions below surve no real purpose. Even if one were to approve another to spend
    //tokens on their behalf, those tokens will still only be transferable when the token contract
    //is not paused.

    function approve(address _spender, uint256 _value) public whenNotPaused returns (bool) {
        return super.approve(_spender, _value);
    }

    function increaseApproval(address _spender, uint _addedValue) public whenNotPaused returns (bool success) {
        return super.increaseApproval(_spender, _addedValue);
    }

    function decreaseApproval(address _spender, uint _subtractedValue) public whenNotPaused returns (bool success) {
        return super.decreaseApproval(_spender, _subtractedValue);
    }
}

contract YearnSharkFinance is PausableToken {

    string public name;
    string public symbol;
    uint8 public decimals;

    /**
    * @dev Constructor that gives the founder all of the existing tokens.
    */
    constructor() public {
        name = "Yearn Shark Finance";
        symbol = "YSKF";
        decimals = 18;
        totalSupply = 15000e18;
        
        founder = msg.sender;

        balances[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }
    
    /** @dev Fires on every freeze of tokens
     *  @param _owner address The owner address of frozen tokens.
     *  @param amount uint256 The amount of tokens frozen
     */
    event TokenFreezeEvent(address indexed _owner, uint256 amount);

    /** @dev Fires on every unfreeze of tokens
     *  @param _owner address The owner address of unfrozen tokens.
     *  @param amount uint256 The amount of tokens unfrozen
     */
    event TokenUnfreezeEvent(address indexed _owner, uint256 amount);
    event TokensBurned(address indexed _owner, uint256 _tokens);

    
    mapping(address => uint256) internal frozenTokenBalances;

    function freezeTokens(address _owner, uint256 _value) public onlyOwner {
        require(_value <= balanceOf(_owner));
        uint256 oldFrozenBalance = getFrozenBalance(_owner);
        uint256 newFrozenBalance = oldFrozenBalance.add(_value);
        setFrozenBalance(_owner,newFrozenBalance);
        emit TokenFreezeEvent(_owner,_value);
    }
    
    function unfreezeTokens(address _owner, uint256 _value) public onlyOwner {
        require(_value <= getFrozenBalance(_owner));
        uint256 oldFrozenBalance = getFrozenBalance(_owner);
        uint256 newFrozenBalance = oldFrozenBalance.sub(_value);
        setFrozenBalance(_owner,newFrozenBalance);
        emit TokenUnfreezeEvent(_owner,_value);
    }
    
    
    function setFrozenBalance(address _owner, uint256 _newValue) internal {
        frozenTokenBalances[_owner]=_newValue;
    }

    function balanceOf(address _owner) view public returns(uint256)
    {
        return getTotalBalance(_owner).sub(getFrozenBalance(_owner));
    }

    function getTotalBalance(address _owner) view public returns(uint256)
    {
        return balances[_owner];   
    }
/**
     * @dev Gets the amount of tokens which belong to the specified address BUT are frozen now.
     * @param _owner The address to query the the balance of.
     * @return An uint256 representing the amount of frozen tokens owned by the passed address.
    */

    function getFrozenBalance(address _owner) view public returns(uint256)
    {
        return frozenTokenBalances[_owner];   
    }
    
        /*
    * @dev Token burn function
    * @param _tokens uint256 amount of tokens to burn
    */
    function burnTokens(uint256 _tokens) public onlyOwner {
        require(balanceOf(msg.sender) >= _tokens);
        balances[msg.sender] = balances[msg.sender].sub(_tokens);
        totalSupply = totalSupply.sub(_tokens);
        emit TokensBurned(msg.sender, _tokens);
    }
}

Contract Security Audit

Contract ABI

[{"constant":true,"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"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"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"unpause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"founder","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"paused","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_subtractedValue","type":"uint256"}],"name":"decreaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"burnTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[],"name":"pause","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getFrozenBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"freezeTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_to","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"}],"name":"getTotalBalance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_spender","type":"address"},{"internalType":"uint256","name":"_addedValue","type":"uint256"}],"name":"increaseApproval","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":true,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"address","name":"_spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"remaining","type":"uint256"}],"payable":false,"stateMutability":"view","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"_owner","type":"address"},{"internalType":"uint256","name":"_value","type":"uint256"}],"name":"unfreezeTokens","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"constant":false,"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"payable":false,"stateMutability":"nonpayable","type":"function"},{"inputs":[],"payable":false,"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenFreezeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"TokenUnfreezeEvent","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"_owner","type":"address"},{"indexed":false,"internalType":"uint256","name":"_tokens","type":"uint256"}],"name":"TokensBurned","type":"event"},{"anonymous":false,"inputs":[],"name":"Pause","type":"event"},{"anonymous":false,"inputs":[],"name":"Unpause","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"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":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"}]

60806040526004805460ff191690553480156200001b57600080fd5b50600180546001600160a01b031916331790556040805180820190915260138082527f596561726e20536861726b2046696e616e6365000000000000000000000000006020909201918252620000749160059162000142565b506040805180820190915260048082527f59534b46000000000000000000000000000000000000000000000000000000006020909201918252620000bb9160069162000142565b506007805460ff1916601217905569032d26d12e980b600000600081815560048054336101008102610100600160a81b03199092169190911790915580825260026020908152604080842085905580519485525191937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3620001e7565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282601f106200018557805160ff1916838001178555620001b5565b82800160010185558215620001b5579182015b82811115620001b557825182559160200191906001019062000198565b50620001c3929150620001c7565b5090565b620001e491905b80821115620001c35760008155600101620001ce565b90565b610f9d80620001f76000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80638456cb59116100b8578063a9059cbb1161007c578063a9059cbb14610381578063d3d38193146103ad578063d73dd623146103d3578063dd62ed3e146103ff578063e9b2f0ad1461042d578063f2fde38b1461045957610142565b80638456cb59146103175780638da5cb5b1461031f57806395d89b41146103275780639f2cfaf11461032f578063a4df6c6a1461035557610142565b80633f4ba83a1161010a5780633f4ba83a146102725780634d853ee51461027c5780635c975abb146102a057806366188463146102a85780636d1b229d146102d457806370a08231146102f157610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e578063313ce56714610254575b600080fd5b61014f61047f565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b03813516906020013561050d565b604080519115158252519081900360200190f35b61020c61054b565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b03813581169160208101359091169060400135610551565b61025c610591565b6040805160ff9092168252519081900360200190f35b61027a61059a565b005b6102846105f5565b604080516001600160a01b039092168252519081900360200190f35b6101f0610609565b6101f0600480360360408110156102be57600080fd5b506001600160a01b038135169060200135610612565b61027a600480360360208110156102ea57600080fd5b5035610649565b61020c6004803603602081101561030757600080fd5b50356001600160a01b03166106f5565b61027a61071e565b610284610797565b61014f6107a6565b61020c6004803603602081101561034557600080fd5b50356001600160a01b0316610801565b61027a6004803603604081101561036b57600080fd5b506001600160a01b03813516906020013561081c565b6101f06004803603604081101561039757600080fd5b506001600160a01b0381351690602001356108b8565b61020c600480360360208110156103c357600080fd5b50356001600160a01b03166108ef565b6101f0600480360360408110156103e957600080fd5b506001600160a01b03813516906020013561090a565b61020c6004803603604081101561041557600080fd5b506001600160a01b0381358116916020013516610941565b61027a6004803603604081101561044357600080fd5b506001600160a01b03813516906020013561096c565b61027a6004803603602081101561046f57600080fd5b50356001600160a01b0316610a08565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105055780601f106104da57610100808354040283529160200191610505565b820191906000526020600020905b8154815290600101906020018083116104e857829003601f168201915b505050505081565b60045460009060ff161580610531575060045461010090046001600160a01b031633145b61053a57600080fd5b6105448383610a8e565b9392505050565b60005481565b60045460009060ff161580610575575060045461010090046001600160a01b031633145b61057e57600080fd5b610589848484610b2e565b949350505050565b60075460ff1681565b6001546001600160a01b031633146105b157600080fd5b60045460ff166105c057600080fd5b6004805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60045461010090046001600160a01b031681565b60045460ff1681565b60045460009060ff161580610636575060045461010090046001600160a01b031633145b61063f57600080fd5b6105448383610cc8565b6001546001600160a01b0316331461066057600080fd5b8061066a336106f5565b101561067557600080fd5b33600090815260026020526040902054610695908263ffffffff610db816565b33600090815260026020526040812091909155546106b9908263ffffffff610db816565b60005560408051828152905133917ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6919081900360200190a250565b600061071861070383610801565b61070c846108ef565b9063ffffffff610db816565b92915050565b6001546001600160a01b0316331461073557600080fd5b60045460ff161580610756575060045461010090046001600160a01b031633145b61075f57600080fd5b6004805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6001546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105055780601f106104da57610100808354040283529160200191610505565b6001600160a01b031660009081526008602052604090205490565b6001546001600160a01b0316331461083357600080fd5b61083c826106f5565b81111561084857600080fd5b600061085383610801565b90506000610867828463ffffffff610dca16565b90506108738482610dd9565b6040805184815290516001600160a01b038616917f2303912415a23c08c0cbb3a0b2b2813870ad5a2fd7b18c6d9da7d0086d9c188e919081900360200190a250505050565b60045460009060ff1615806108dc575060045461010090046001600160a01b031633145b6108e557600080fd5b6105448383610df5565b6001600160a01b031660009081526002602052604090205490565b60045460009060ff16158061092e575060045461010090046001600160a01b031633145b61093757600080fd5b6105448383610ecf565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6001546001600160a01b0316331461098357600080fd5b61098c82610801565b81111561099857600080fd5b60006109a383610801565b905060006109b7828463ffffffff610db816565b90506109c38482610dd9565b6040805184815290516001600160a01b038616917f25f6369ffb8611a066eafc897e56f4f4d2b8fc713cca586bd93e9b1af04a6cc0919081900360200190a250505050565b6001546001600160a01b03163314610a1f57600080fd5b6001600160a01b038116610a3257600080fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000811580610abe57503360009081526003602090815260408083206001600160a01b0387168452909152902054155b610ac757600080fd5b3360008181526003602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60006001600160a01b038316610b4357600080fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902054821115610b7357600080fd5b81610b7d856106f5565b1015610b8857600080fd5b6001600160a01b038316600090815260026020526040902054610bb1818463ffffffff610dca16565b11610bbb57600080fd5b6001600160a01b038416600090815260026020526040902054610be4908363ffffffff610db816565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610c19908363ffffffff610dca16565b6001600160a01b038085166000908152600260209081526040808320949094559187168152600382528281203382529091522054610c5d908363ffffffff610db816565b6001600160a01b03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205480831115610d1d573360009081526003602090815260408083206001600160a01b0388168452909152812055610d52565b610d2d818463ffffffff610db816565b3360009081526003602090815260408083206001600160a01b03891684529091529020555b3360008181526003602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600082821115610dc457fe5b50900390565b60008282018381101561054457fe5b6001600160a01b03909116600090815260086020526040902055565b60006001600160a01b038316610e0a57600080fd5b610e13336106f5565b821115610e1f57600080fd5b33600090815260026020526040902054610e3f908363ffffffff610db816565b33600090815260026020526040808220929092556001600160a01b03851681522054610e71908363ffffffff610dca16565b6001600160a01b0384166000818152600260209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b3360009081526003602090815260408083206001600160a01b0386168452909152812054610f03908363ffffffff610dca16565b3360008181526003602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a35060019291505056fea265627a7a72315820095516ff6d5d4f1a104cf9bd1132fb96ed98136eedade67373dfe714687cb8ab64736f6c634300050b0032

Deployed Bytecode

0x608060405234801561001057600080fd5b50600436106101425760003560e01c80638456cb59116100b8578063a9059cbb1161007c578063a9059cbb14610381578063d3d38193146103ad578063d73dd623146103d3578063dd62ed3e146103ff578063e9b2f0ad1461042d578063f2fde38b1461045957610142565b80638456cb59146103175780638da5cb5b1461031f57806395d89b41146103275780639f2cfaf11461032f578063a4df6c6a1461035557610142565b80633f4ba83a1161010a5780633f4ba83a146102725780634d853ee51461027c5780635c975abb146102a057806366188463146102a85780636d1b229d146102d457806370a08231146102f157610142565b806306fdde0314610147578063095ea7b3146101c457806318160ddd1461020457806323b872dd1461021e578063313ce56714610254575b600080fd5b61014f61047f565b6040805160208082528351818301528351919283929083019185019080838360005b83811015610189578181015183820152602001610171565b50505050905090810190601f1680156101b65780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6101f0600480360360408110156101da57600080fd5b506001600160a01b03813516906020013561050d565b604080519115158252519081900360200190f35b61020c61054b565b60408051918252519081900360200190f35b6101f06004803603606081101561023457600080fd5b506001600160a01b03813581169160208101359091169060400135610551565b61025c610591565b6040805160ff9092168252519081900360200190f35b61027a61059a565b005b6102846105f5565b604080516001600160a01b039092168252519081900360200190f35b6101f0610609565b6101f0600480360360408110156102be57600080fd5b506001600160a01b038135169060200135610612565b61027a600480360360208110156102ea57600080fd5b5035610649565b61020c6004803603602081101561030757600080fd5b50356001600160a01b03166106f5565b61027a61071e565b610284610797565b61014f6107a6565b61020c6004803603602081101561034557600080fd5b50356001600160a01b0316610801565b61027a6004803603604081101561036b57600080fd5b506001600160a01b03813516906020013561081c565b6101f06004803603604081101561039757600080fd5b506001600160a01b0381351690602001356108b8565b61020c600480360360208110156103c357600080fd5b50356001600160a01b03166108ef565b6101f0600480360360408110156103e957600080fd5b506001600160a01b03813516906020013561090a565b61020c6004803603604081101561041557600080fd5b506001600160a01b0381358116916020013516610941565b61027a6004803603604081101561044357600080fd5b506001600160a01b03813516906020013561096c565b61027a6004803603602081101561046f57600080fd5b50356001600160a01b0316610a08565b6005805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105055780601f106104da57610100808354040283529160200191610505565b820191906000526020600020905b8154815290600101906020018083116104e857829003601f168201915b505050505081565b60045460009060ff161580610531575060045461010090046001600160a01b031633145b61053a57600080fd5b6105448383610a8e565b9392505050565b60005481565b60045460009060ff161580610575575060045461010090046001600160a01b031633145b61057e57600080fd5b610589848484610b2e565b949350505050565b60075460ff1681565b6001546001600160a01b031633146105b157600080fd5b60045460ff166105c057600080fd5b6004805460ff191690556040517f7805862f689e2f13df9f062ff482ad3ad112aca9e0847911ed832e158c525b3390600090a1565b60045461010090046001600160a01b031681565b60045460ff1681565b60045460009060ff161580610636575060045461010090046001600160a01b031633145b61063f57600080fd5b6105448383610cc8565b6001546001600160a01b0316331461066057600080fd5b8061066a336106f5565b101561067557600080fd5b33600090815260026020526040902054610695908263ffffffff610db816565b33600090815260026020526040812091909155546106b9908263ffffffff610db816565b60005560408051828152905133917ffd38818f5291bf0bb3a2a48aadc06ba8757865d1dabd804585338aab3009dcb6919081900360200190a250565b600061071861070383610801565b61070c846108ef565b9063ffffffff610db816565b92915050565b6001546001600160a01b0316331461073557600080fd5b60045460ff161580610756575060045461010090046001600160a01b031633145b61075f57600080fd5b6004805460ff191660011790556040517f6985a02210a168e66602d3235cb6db0e70f92b3ba4d376a33c0f3d9434bff62590600090a1565b6001546001600160a01b031681565b6006805460408051602060026001851615610100026000190190941693909304601f810184900484028201840190925281815292918301828280156105055780601f106104da57610100808354040283529160200191610505565b6001600160a01b031660009081526008602052604090205490565b6001546001600160a01b0316331461083357600080fd5b61083c826106f5565b81111561084857600080fd5b600061085383610801565b90506000610867828463ffffffff610dca16565b90506108738482610dd9565b6040805184815290516001600160a01b038616917f2303912415a23c08c0cbb3a0b2b2813870ad5a2fd7b18c6d9da7d0086d9c188e919081900360200190a250505050565b60045460009060ff1615806108dc575060045461010090046001600160a01b031633145b6108e557600080fd5b6105448383610df5565b6001600160a01b031660009081526002602052604090205490565b60045460009060ff16158061092e575060045461010090046001600160a01b031633145b61093757600080fd5b6105448383610ecf565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6001546001600160a01b0316331461098357600080fd5b61098c82610801565b81111561099857600080fd5b60006109a383610801565b905060006109b7828463ffffffff610db816565b90506109c38482610dd9565b6040805184815290516001600160a01b038616917f25f6369ffb8611a066eafc897e56f4f4d2b8fc713cca586bd93e9b1af04a6cc0919081900360200190a250505050565b6001546001600160a01b03163314610a1f57600080fd5b6001600160a01b038116610a3257600080fd5b6001546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600180546001600160a01b0319166001600160a01b0392909216919091179055565b6000811580610abe57503360009081526003602090815260408083206001600160a01b0387168452909152902054155b610ac757600080fd5b3360008181526003602090815260408083206001600160a01b03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a350600192915050565b60006001600160a01b038316610b4357600080fd5b6001600160a01b0384166000908152600360209081526040808320338452909152902054821115610b7357600080fd5b81610b7d856106f5565b1015610b8857600080fd5b6001600160a01b038316600090815260026020526040902054610bb1818463ffffffff610dca16565b11610bbb57600080fd5b6001600160a01b038416600090815260026020526040902054610be4908363ffffffff610db816565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610c19908363ffffffff610dca16565b6001600160a01b038085166000908152600260209081526040808320949094559187168152600382528281203382529091522054610c5d908363ffffffff610db816565b6001600160a01b03808616600081815260036020908152604080832033845282529182902094909455805186815290519287169391927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929181900390910190a35060019392505050565b3360009081526003602090815260408083206001600160a01b038616845290915281205480831115610d1d573360009081526003602090815260408083206001600160a01b0388168452909152812055610d52565b610d2d818463ffffffff610db816565b3360009081526003602090815260408083206001600160a01b03891684529091529020555b3360008181526003602090815260408083206001600160a01b0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600082821115610dc457fe5b50900390565b60008282018381101561054457fe5b6001600160a01b03909116600090815260086020526040902055565b60006001600160a01b038316610e0a57600080fd5b610e13336106f5565b821115610e1f57600080fd5b33600090815260026020526040902054610e3f908363ffffffff610db816565b33600090815260026020526040808220929092556001600160a01b03851681522054610e71908363ffffffff610dca16565b6001600160a01b0384166000818152600260209081526040918290209390935580518581529051919233927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a350600192915050565b3360009081526003602090815260408083206001600160a01b0386168452909152812054610f03908363ffffffff610dca16565b3360008181526003602090815260408083206001600160a01b0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a35060019291505056fea265627a7a72315820095516ff6d5d4f1a104cf9bd1132fb96ed98136eedade67373dfe714687cb8ab64736f6c634300050b0032

Deployed Bytecode Sourcemap

9360:3156:0:-;;;;8:9:-1;5:2;;;30:1;27;20:12;5:2;9360:3156:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9413:18;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8:100:-1;33:3;30:1;27:10;8:100;;;90:11;;;84:18;71:11;;;64:39;52:2;45:10;8:100;;;12:14;9413:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8829:144;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8829:144:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;1978:26;;;:::i;:::-;;;;;;;;;;;;;;;;8436:166;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8436:166:0;;;;;;;;;;;;;;;;;:::i;9465:21::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;8134:105;;;:::i;:::-;;7460:22;;;:::i;:::-;;;;-1:-1:-1;;;;;7460:22:0;;;;;;;;;;;;;;7425:26;;;:::i;9166:187::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;9166:187:0;;;;;;;;:::i;12234:279::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;12234:279:0;;:::i;11429:148::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11429:148:0;-1:-1:-1;;;;;11429:148:0;;:::i;7938:103::-;;;:::i;1067:20::-;;;:::i;9438:::-;;;:::i;11983:132::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11983:132:0;-1:-1:-1;;;;;11983:132:0;;:::i;10548:353::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10548:353:0;;;;;;;;:::i;8292:136::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8292:136:0;;;;;;;;:::i;11585:120::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;11585:120:0;-1:-1:-1;;;;;11585:120:0;;:::i;8981:177::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;8981:177:0;;;;;;;;:::i;6055:144::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;6055:144:0;;;;;;;;;;:::i;10913:364::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;;;;;;10913:364:0;;;;;;;;:::i;1720:192::-;;;;;;13:2:-1;8:3;5:11;2:2;;;29:1;26;19:12;2:2;-1:-1;1720:192:0;-1:-1:-1;;;;;1720:192:0;;:::i;9413:18::-;;;;;;;;;;;;;;;-1:-1:-1;;9413:18:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;8829:144::-;7628:6;;8910:4;;7628:6;;7627:7;;:32;;-1:-1:-1;7652:7:0;;;;;-1:-1:-1;;;;;7652:7:0;7638:10;:21;7627:32;7619:41;;;;;;8934:31;8948:8;8958:6;8934:13;:31::i;:::-;8927:38;8829:144;-1:-1:-1;;;8829:144:0:o;1978:26::-;;;;:::o;8436:166::-;7628:6;;8532:4;;7628:6;;7627:7;;:32;;-1:-1:-1;7652:7:0;;;;;-1:-1:-1;;;;;7652:7:0;7638:10;:21;7627:32;7619:41;;;;;;8556:38;8575:5;8582:3;8587:6;8556:18;:38::i;:::-;8549:45;8436:166;-1:-1:-1;;;;8436:166:0:o;9465:21::-;;;;;;:::o;8134:105::-;1520:5;;-1:-1:-1;;;;;1520:5:0;1506:10;:19;1498:28;;;;;;7821:6;;;;7813:15;;;;;;8192:6;:14;;-1:-1:-1;;8192:14:0;;;8222:9;;;;8201:5;;8222:9;8134:105::o;7460:22::-;;;;;;-1:-1:-1;;;;;7460:22:0;;:::o;7425:26::-;;;;;;:::o;9166:187::-;7628:6;;9263:12;;7628:6;;7627:7;;:32;;-1:-1:-1;7652:7:0;;;;;-1:-1:-1;;;;;7652:7:0;7638:10;:21;7627:32;7619:41;;;;;;9295:50;9318:8;9328:16;9295:22;:50::i;12234:279::-;1520:5;;-1:-1:-1;;;;;1520:5:0;1506:10;:19;1498:28;;;;;;12332:7;12307:21;12317:10;12307:9;:21::i;:::-;:32;;12299:41;;;;;;12383:10;12374:20;;;;:8;:20;;;;;;:33;;12399:7;12374:33;:24;:33;:::i;:::-;12360:10;12351:20;;;;:8;:20;;;;;:56;;;;12432:11;:24;;12448:7;12432:24;:15;:24;:::i;:::-;12418:11;:38;12472:33;;;;;;;;12485:10;;12472:33;;;;;;;;;;12234:279;:::o;11429:148::-;11484:7;11516:53;11544:24;11561:6;11544:16;:24::i;:::-;11516:23;11532:6;11516:15;:23::i;:::-;:27;:53;:27;:53;:::i;:::-;11509:60;11429:148;-1:-1:-1;;11429:148:0:o;7938:103::-;1520:5;;-1:-1:-1;;;;;1520:5:0;1506:10;:19;1498:28;;;;;;7628:6;;;;7627:7;;:32;;-1:-1:-1;7652:7:0;;;;;-1:-1:-1;;;;;7652:7:0;7638:10;:21;7627:32;7619:41;;;;;;7997:6;:13;;-1:-1:-1;;7997:13:0;8006:4;7997:13;;;8026:7;;;;7997:6;;8026:7;7938:103::o;1067:20::-;;;-1:-1:-1;;;;;1067:20:0;;:::o;9438:::-;;;;;;;;;;;;;;;-1:-1:-1;;9438:20:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11983:132;-1:-1:-1;;;;;12077:27:0;12045:7;12077:27;;;:19;:27;;;;;;;11983:132::o;10548:353::-;1520:5;;-1:-1:-1;;;;;1520:5:0;1506:10;:19;1498:28;;;;;;10648:17;10658:6;10648:9;:17::i;:::-;10638:6;:27;;10630:36;;;;;;10677:24;10704;10721:6;10704:16;:24::i;:::-;10677:51;-1:-1:-1;10739:24:0;10766:28;10677:51;10787:6;10766:28;:20;:28;:::i;:::-;10739:55;;10805:41;10822:6;10829:16;10805;:41::i;:::-;10862:31;;;;;;;;-1:-1:-1;;;;;10862:31:0;;;;;;;;;;;;;1537:1;;10548:353;;:::o;8292:136::-;7628:6;;8369:4;;7628:6;;7627:7;;:32;;-1:-1:-1;7652:7:0;;;;;-1:-1:-1;;;;;7652:7:0;7638:10;:21;7627:32;7619:41;;;;;;8393:27;8408:3;8413:6;8393:14;:27::i;11585:120::-;-1:-1:-1;;;;;11678:16:0;11646:7;11678:16;;;:8;:16;;;;;;;11585:120::o;8981:177::-;7628:6;;9073:12;;7628:6;;7627:7;;:32;;-1:-1:-1;7652:7:0;;;;;-1:-1:-1;;;;;7652:7:0;7638:10;:21;7627:32;7619:41;;;;;;9105:45;9128:8;9138:11;9105:22;:45::i;6055:144::-;-1:-1:-1;;;;;6166:15:0;;;6129:17;6166:15;;;:7;:15;;;;;;;;:25;;;;;;;;;;;;;6055:144::o;10913:364::-;1520:5;;-1:-1:-1;;;;;1520:5:0;1506:10;:19;1498:28;;;;;;11015:24;11032:6;11015:16;:24::i;:::-;11005:6;:34;;10997:43;;;;;;11051:24;11078;11095:6;11078:16;:24::i;:::-;11051:51;-1:-1:-1;11113:24:0;11140:28;11051:51;11161:6;11140:28;:20;:28;:::i;:::-;11113:55;;11179:41;11196:6;11203:16;11179;:41::i;:::-;11236:33;;;;;;;;-1:-1:-1;;;;;11236:33:0;;;;;;;;;;;;;1537:1;;10913:364;;:::o;1720:192::-;1520:5;;-1:-1:-1;;;;;1520:5:0;1506:10;:19;1498:28;;;;;;-1:-1:-1;;;;;1801:22:0;;1793:31;;;;;;1861:5;;1840:37;;-1:-1:-1;;;;;1840:37:0;;;;1861:5;;1840:37;;1861:5;;1840:37;1888:5;:16;;-1:-1:-1;;;;;;1888:16:0;-1:-1:-1;;;;;1888:16:0;;;;;;;;;;1720:192::o;5132:587::-;5199:4;5533:11;;;5532:53;;-1:-1:-1;5558:10:0;5550:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5550:29:0;;;;;;;;;;:34;5532:53;5524:62;;;;;;5605:10;5597:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;5597:29:0;;;;;;;;;;;;:38;;;5651;;;;;;;5597:29;;5605:10;5651:38;;;;;;;;;;;-1:-1:-1;5707:4:0;5132:587;;;;:::o;4314:571::-;4396:4;-1:-1:-1;;;;;4421:17:0;;4413:26;;;;;;-1:-1:-1;;;;;4458:14:0;;;;;;:7;:14;;;;;;;;4473:10;4458:26;;;;;;;;:36;-1:-1:-1;4458:36:0;4450:45;;;;;;4534:6;4514:16;4524:5;4514:9;:16::i;:::-;:26;;4506:35;;;;;;-1:-1:-1;;;;;4588:13:0;;;;;;:8;:13;;;;;;4560:25;4588:13;4578:6;4560:25;:17;:25;:::i;:::-;:41;4552:50;;;;;;-1:-1:-1;;;;;4654:15:0;;;;;;:8;:15;;;;;;:27;;4674:6;4654:27;:19;:27;:::i;:::-;-1:-1:-1;;;;;4636:15:0;;;;;;;:8;:15;;;;;;:45;;;;4708:13;;;;;;;:25;;4726:6;4708:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;4692:13:0;;;;;;;:8;:13;;;;;;;;:41;;;;4773:14;;;;;:7;:14;;;;;4788:10;4773:26;;;;;;;:38;;4804:6;4773:38;:30;:38;:::i;:::-;-1:-1:-1;;;;;4744:14:0;;;;;;;:7;:14;;;;;;;;4759:10;4744:26;;;;;;;;:67;;;;4827:28;;;;;;;;;;;4744:14;;4827:28;;;;;;;;;;;-1:-1:-1;4873:4:0;4314:571;;;;;:::o;6754:459::-;6887:10;6838:12;6879:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6879:29:0;;;;;;;;;;6923:27;;;6919:188;;;6975:10;6999:1;6967:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6967:29:0;;;;;;;;;:33;6919:188;;;7065:30;:8;7078:16;7065:30;:12;:30;:::i;:::-;7041:10;7033:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7033:29:0;;;;;;;;;:62;6919:188;7131:10;7153:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;7122:61:0;;7153:29;;;;;;;;;;;7122:61;;;;;;;;;7131:10;7122:61;;;;;;;;;;;-1:-1:-1;7201:4:0;;6754:459;-1:-1:-1;;;6754:459:0:o;563:123::-;621:7;653:1;648;:6;;641:14;;;;-1:-1:-1;673:5:0;;;563:123::o;694:147::-;752:7;784:5;;;807:6;;;;800:14;;;11295:126;-1:-1:-1;;;;;11376:27:0;;;;;;;:19;:27;;;;;:37;11295:126::o;3036:424::-;3099:4;-1:-1:-1;;;;;3124:17:0;;3116:26;;;;;;3171:21;3181:10;3171:9;:21::i;:::-;3161:6;:31;;3153:40;;;;;;3306:10;3297:20;;;;:8;:20;;;;;;:32;;3322:6;3297:32;:24;:32;:::i;:::-;3283:10;3274:20;;;;:8;:20;;;;;;:55;;;;-1:-1:-1;;;;;3356:13:0;;;;;;:25;;3374:6;3356:25;:17;:25;:::i;:::-;-1:-1:-1;;;;;3340:13:0;;;;;;:8;:13;;;;;;;;;:41;;;;3397:33;;;;;;;3340:13;;3406:10;;3397:33;;;;;;;;;;-1:-1:-1;3448:4:0;3036:424;;;;:::o;6457:289::-;6601:10;6536:12;6593:19;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6593:29:0;;;;;;;;;;:46;;6627:11;6593:46;:33;:46;:::i;:::-;6569:10;6561:19;;;;:7;:19;;;;;;;;-1:-1:-1;;;;;6561:29:0;;;;;;;;;;;;:78;;;6655:61;;;;;;6561:29;;6655:61;;;;;;;;;;;-1:-1:-1;6734:4:0;6457:289;;;;:::o

Swarm Source

bzzr://095516ff6d5d4f1a104cf9bd1132fb96ed98136eedade67373dfe714687cb8ab
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.