ETH Price: $2,488.80 (-0.86%)

Token

Torochain (TORO)
 

Overview

Max Total Supply

1,000,000,000 TORO

Holders

284

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 6 Decimals)

Balance
0 TORO

Value
$0.00
0x2c27e8747ead4d4ee3c3f12c45596eb8cd3a3a55
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:
Torochain

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-07
*/

// SPDX-License-Identifier: Unlicensed
pragma solidity 0.8.19;

interface IERC20 {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, uint256 amount) external returns (bool);
    function allowance(address owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address from, address to, uint256 amount) external returns (bool);
}

interface Router {
    function WETH() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}

abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _transferOwnership(msg.sender);
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

    function owner() public view virtual returns (address) {
        return _owner;
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0));
        _transferOwnership(newOwner);
    }

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender());
    }

    function _transferOwnership(address newOwner) internal virtual {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

contract Torochain is Context, IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _whitelisted;
    uint256 private _supply = 1000000000 * 1e6;
    uint256 private _reserve = 1000000 * 1e6;
    uint8 private _decimals = 6;
    uint8 private _fee = 16;
    string private _name = "Torochain";
    string private _symbol = "TORO";
    address private _router;
    address private _pair;
    address private _treasury;
    address private _manager;
    bool private _liquify = true;
    bool private _swapping = false;

    modifier swapping() {
        _swapping = true;
        _;
        _swapping = false;
    }

    modifier managing() {
        require(_msgSender() == _manager);
        _;
    }

    constructor() {
        _treasury = msg.sender;
        _manager = msg.sender;
        _whitelisted[address(this)] = true;
        _whitelisted[msg.sender] = true;
        _balances[msg.sender] = _supply;
        emit Transfer(address(0), msg.sender, _supply);
    }

    function name() public view virtual override returns (string memory) {
        return _name;
    }

    function symbol() public view virtual override returns (string memory) {
        return _symbol;
    }

    function decimals() public view virtual override returns (uint8) {
        return _decimals;
    }

    function totalSupply() public view virtual override returns (uint256) {
        return _supply;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    function allowance(address owner, address spender) public view virtual override returns (uint256) {
        return _allowances[owner][spender];
    }

    function approve(address spender, uint256 amount) public virtual override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        address owner = _msgSender();
        _approve(owner, spender, allowance(owner, spender) + addedValue);
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        address owner = _msgSender();
        uint256 currentAllowance = allowance(owner, spender);
        require(currentAllowance >= subtractedValue);
        _approve(owner, spender, currentAllowance - subtractedValue);
        return true;
    }

    function transfer(address to, uint256 amount) public virtual override returns (bool) {
        _handle(_msgSender(), to, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        address spender = _msgSender();
        _spendAllowance(sender, spender, amount);
        _handle(sender, recipient, amount);
        return true;
    }

    function _transfer(address from, address to, uint256 amount) internal virtual {
        require(from != address(0) && to != address(0));
        require(_balances[from] >= amount);
        _balances[from] -= amount;
        _balances[to] += amount;
        emit Transfer(from, to, amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0) && spender != address(0));
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _spendAllowance(address owner, address spender, uint256 amount) internal virtual {
        uint256 currentAllowance = allowance(owner, spender);
        if (currentAllowance != type(uint256).max) {
            require(currentAllowance >= amount);
            _approve(owner, spender, currentAllowance - amount);
        }
    }

    function _handle(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (_swapping || _msgSender() == _pair || _whitelisted[sender] || _whitelisted[recipient] || _fee == 0) {
            _transfer(sender, recipient, amount);
            return true;
        }

        if (_liquify && balanceOf(address(this)) > _reserve) _swap();
        uint256 fee = amount * _fee / 100;
        _transfer(sender, address(this), fee);
        _transfer(sender, recipient, amount - fee);
        return true;
    }

    function _swap() internal swapping {
        uint256 eth = address(this).balance;
        uint256 tokens = balanceOf(address(this)) / 4;

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = address(Router(_router).WETH());
        Router(_router).swapExactTokensForETHSupportingFeeOnTransferTokens(tokens, 0, path, address(this), block.timestamp);

        uint256 ethAmount = address(this).balance - eth;
        Router(_router).addLiquidityETH{value: ethAmount}(address(this), tokens, 0, 0, _treasury, block.timestamp);
    
        Router(_router).swapExactTokensForETHSupportingFeeOnTransferTokens(balanceOf(address(this)), 0, path, address(this), block.timestamp);
        (bool success,) = payable(_treasury).call{value: address(this).balance}("");
        require(success);
    }

    function setRouter(address value) external managing {
        _router = value;
        _approve(address(this), _router, type(uint256).max);
    }

    function setPair(address value) external managing {
        _pair = value;
    }

    function setFee(uint8 value) external managing {
        require(value <= 16);
        _fee = value;
    }

    function setWhitelisted(address account) external managing {
        _whitelisted[account] = true;
    }

    function setReserve(uint256 value) external managing {
        _reserve = value;
    }

    function setManager(address account) external managing {
        _manager = account;
    }

    function setTreasury(address value) external managing {
        _treasury = value;
    }

    function setLiquify(bool value) external managing {
        _liquify = value;
    }

    function getEth(uint256 amount) external managing {
        (bool success,) = payable(_msgSender()).call{value: amount}("");
        require(success);
    }

    function getToken(IERC20 token, uint256 amount) external managing {
        token.transfer(_msgSender(), amount);
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"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":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","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":[{"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":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"getToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"addedValue","type":"uint256"}],"name":"increaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint8","name":"value","type":"uint8"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"value","type":"bool"}],"name":"setLiquify","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setManager","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setPair","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"}],"name":"setReserve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setRouter","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"value","type":"address"}],"name":"setTreasury","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"setWhitelisted","outputs":[],"stateMutability":"nonpayable","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":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

66038d7ea4c6800060045564e8d4a510006005556006805461ffff191661100617905560c060405260096080908152682a37b937b1b430b4b760b91b60a0526007906200004d90826200022f565b50604080518082019091526004815263544f524f60e01b60208201526008906200007890826200022f565b50600c805461ffff60a01b1916600160a01b1790553480156200009a57600080fd5b50620000a6336200013a565b600b8054336001600160a01b03199182168117909255600c805490911682179055306000908152600360209081526040808320805460ff19908116600190811790925585855282852080549091168217905560045490835281842081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3620002fb565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620001b557607f821691505b602082108103620001d657634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200022a57600081815260208120601f850160051c81016020861015620002055750805b601f850160051c820191505b81811015620002265782815560010162000211565b5050505b505050565b81516001600160401b038111156200024b576200024b6200018a565b62000263816200025c8454620001a0565b84620001dc565b602080601f8311600181146200029b5760008415620002825750858301515b600019600386901b1c1916600185901b17855562000226565b600085815260208120601f198616915b82811015620002cc57888601518255948401946001909101908401620002ab565b5085821015620002eb5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b61131a806200030b6000396000f3fe60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c2ea75241161006f578063c2ea7524146103c1578063cb122a09146103e1578063d0ebdbe714610401578063dd62ed3e14610421578063f0f4426014610441578063f2fde38b1461046157600080fd5b80638da5cb5b146103045780638e3073a61461032c57806395d89b411461034c578063a457c2d714610361578063a9059cbb14610381578063c0d78655146103a157600080fd5b80633a2f3557116101085780633a2f3557146102375780634256dbe31461025957806343d7cce61461027957806370a0823114610299578063715018a6146102cf5780638187f516146102e457600080fd5b806306fdde031461015b578063095ea7b31461018657806318160ddd146101b657806323b872dd146101d5578063313ce567146101f5578063395093511461021757600080fd5b3661015657005b600080fd5b34801561016757600080fd5b50610170610481565b60405161017d9190610fb9565b60405180910390f35b34801561019257600080fd5b506101a66101a136600461101c565b610513565b604051901515815260200161017d565b3480156101c257600080fd5b506004545b60405190815260200161017d565b3480156101e157600080fd5b506101a66101f0366004611048565b61052a565b34801561020157600080fd5b5060065460405160ff909116815260200161017d565b34801561022357600080fd5b506101a661023236600461101c565b610551565b34801561024357600080fd5b50610257610252366004611089565b61057d565b005b34801561026557600080fd5b506102576102743660046110a6565b6105c1565b34801561028557600080fd5b5061025761029436600461101c565b6105e6565b3480156102a557600080fd5b506101c76102b4366004611089565b6001600160a01b031660009081526001602052604090205490565b3480156102db57600080fd5b5061025761068c565b3480156102f057600080fd5b506102576102ff366004611089565b6106a0565b34801561031057600080fd5b506000546040516001600160a01b03909116815260200161017d565b34801561033857600080fd5b506102576103473660046110a6565b6106e2565b34801561035857600080fd5b5061017061075b565b34801561036d57600080fd5b506101a661037c36600461101c565b61076a565b34801561038d57600080fd5b506101a661039c36600461101c565b6107a1565b3480156103ad57600080fd5b506102576103bc366004611089565b6107ae565b3480156103cd57600080fd5b506102576103dc3660046110cd565b6107fd565b3480156103ed57600080fd5b506102576103fc3660046110ea565b61083b565b34801561040d57600080fd5b5061025761041c366004611089565b610888565b34801561042d57600080fd5b506101c761043c36600461110d565b6108ca565b34801561044d57600080fd5b5061025761045c366004611089565b6108f5565b34801561046d57600080fd5b5061025761047c366004611089565b610937565b60606007805461049090611146565b80601f01602080910402602001604051908101604052809291908181526020018280546104bc90611146565b80156105095780601f106104de57610100808354040283529160200191610509565b820191906000526020600020905b8154815290600101906020018083116104ec57829003601f168201915b5050505050905090565b600061052033848461095b565b5060015b92915050565b6000336105388582856109e6565b610543858585610a1f565b5060019150505b9392505050565b60003361057381858561056483836108ca565b61056e9190611196565b61095b565b5060019392505050565b600c546001600160a01b0316336001600160a01b03161461059d57600080fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b600c546001600160a01b0316336001600160a01b0316146105e157600080fd5b600555565b600c546001600160a01b0316336001600160a01b03161461060657600080fd5b6001600160a01b03821663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068791906111a9565b505050565b610694610b3a565b61069e6000610b51565b565b600c546001600160a01b0316336001600160a01b0316146106c057600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546001600160a01b0316336001600160a01b03161461070257600080fd5b604051600090339083908381818185875af1925050503d8060008114610744576040519150601f19603f3d011682016040523d82523d6000602084013e610749565b606091505b505090508061075757600080fd5b5050565b60606008805461049090611146565b6000338161077882866108ca565b90508381101561078757600080fd5b610796828661056e87856111c6565b506001949350505050565b6000610573338484610a1f565b600c546001600160a01b0316336001600160a01b0316146107ce57600080fd5b600980546001600160a01b0319166001600160a01b0383169081179091556107fa90309060001961095b565b50565b600c546001600160a01b0316336001600160a01b03161461081d57600080fd5b600c8054911515600160a01b0260ff60a01b19909216919091179055565b600c546001600160a01b0316336001600160a01b03161461085b57600080fd5b60108160ff16111561086c57600080fd5b6006805460ff9092166101000261ff0019909216919091179055565b600c546001600160a01b0316336001600160a01b0316146108a857600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600c546001600160a01b0316336001600160a01b03161461091557600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b61093f610b3a565b6001600160a01b03811661095257600080fd5b6107fa81610b51565b6001600160a01b0383161580159061097b57506001600160a01b03821615155b61098457600080fd5b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006109f284846108ca565b90506000198114610a195781811015610a0a57600080fd5b610a19848461056e85856111c6565b50505050565b600c54600090600160a81b900460ff1680610a4d5750600a546001600160a01b0316336001600160a01b0316145b80610a7057506001600160a01b03841660009081526003602052604090205460ff165b80610a9357506001600160a01b03831660009081526003602052604090205460ff165b80610aa65750600654610100900460ff16155b15610abe57610ab6848484610ba1565b50600161054a565b600c54600160a01b900460ff168015610ae7575060055430600090815260016020526040902054115b15610af457610af4610c90565b600654600090606490610b0f90610100900460ff16856111d9565b610b1991906111f0565b9050610b26853083610ba1565b6107968585610b3584876111c6565b610ba1565b6000546001600160a01b0316331461069e57600080fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831615801590610bc157506001600160a01b03821615155b610bca57600080fd5b6001600160a01b038316600090815260016020526040902054811115610bef57600080fd5b6001600160a01b03831660009081526001602052604081208054839290610c179084906111c6565b90915550506001600160a01b03821660009081526001602052604081208054839290610c44908490611196565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109d991815260200190565b600c805460ff60a81b1916600160a81b1790554760006004610cc7306001600160a01b031660009081526001602052604090205490565b610cd191906111f0565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d0b57610d0b611212565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190611228565b81600181518110610d9b57610d9b611212565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610de1908590600090869030904290600401611245565b600060405180830381600087803b158015610dfb57600080fd5b505af1158015610e0f573d6000803e3d6000fd5b5050505060008347610e2191906111c6565b600954600b5460405163f305d71960e01b81523060048201526024810187905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af1158015610e93573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610eb891906112b6565b50506009546001600160a01b0316905063791ac947610eec306001600160a01b031660009081526001602052604090205490565b60008530426040518663ffffffff1660e01b8152600401610f11959493929190611245565b600060405180830381600087803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b5050600b54604051600093506001600160a01b03909116915047908381818185875af1925050503d8060008114610f92576040519150601f19603f3d011682016040523d82523d6000602084013e610f97565b606091505b5050905080610fa557600080fd5b5050600c805460ff60a81b19169055505050565b600060208083528351808285015260005b81811015610fe657858101830151858201604001528201610fca565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107fa57600080fd5b6000806040838503121561102f57600080fd5b823561103a81611007565b946020939093013593505050565b60008060006060848603121561105d57600080fd5b833561106881611007565b9250602084013561107881611007565b929592945050506040919091013590565b60006020828403121561109b57600080fd5b813561054a81611007565b6000602082840312156110b857600080fd5b5035919050565b80151581146107fa57600080fd5b6000602082840312156110df57600080fd5b813561054a816110bf565b6000602082840312156110fc57600080fd5b813560ff8116811461054a57600080fd5b6000806040838503121561112057600080fd5b823561112b81611007565b9150602083013561113b81611007565b809150509250929050565b600181811c9082168061115a57607f821691505b60208210810361117a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561052457610524611180565b6000602082840312156111bb57600080fd5b815161054a816110bf565b8181038181111561052457610524611180565b808202811582820484141761052457610524611180565b60008261120d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123a57600080fd5b815161054a81611007565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112955784516001600160a01b031683529383019391830191600101611270565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156112cb57600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122058fa556c471a5dbfa8b9280bde530ebcb05dcf54bf1df0c4c3d7e3541728c40264736f6c63430008130033

Deployed Bytecode

0x60806040526004361061014f5760003560e01c80638da5cb5b116100b6578063c2ea75241161006f578063c2ea7524146103c1578063cb122a09146103e1578063d0ebdbe714610401578063dd62ed3e14610421578063f0f4426014610441578063f2fde38b1461046157600080fd5b80638da5cb5b146103045780638e3073a61461032c57806395d89b411461034c578063a457c2d714610361578063a9059cbb14610381578063c0d78655146103a157600080fd5b80633a2f3557116101085780633a2f3557146102375780634256dbe31461025957806343d7cce61461027957806370a0823114610299578063715018a6146102cf5780638187f516146102e457600080fd5b806306fdde031461015b578063095ea7b31461018657806318160ddd146101b657806323b872dd146101d5578063313ce567146101f5578063395093511461021757600080fd5b3661015657005b600080fd5b34801561016757600080fd5b50610170610481565b60405161017d9190610fb9565b60405180910390f35b34801561019257600080fd5b506101a66101a136600461101c565b610513565b604051901515815260200161017d565b3480156101c257600080fd5b506004545b60405190815260200161017d565b3480156101e157600080fd5b506101a66101f0366004611048565b61052a565b34801561020157600080fd5b5060065460405160ff909116815260200161017d565b34801561022357600080fd5b506101a661023236600461101c565b610551565b34801561024357600080fd5b50610257610252366004611089565b61057d565b005b34801561026557600080fd5b506102576102743660046110a6565b6105c1565b34801561028557600080fd5b5061025761029436600461101c565b6105e6565b3480156102a557600080fd5b506101c76102b4366004611089565b6001600160a01b031660009081526001602052604090205490565b3480156102db57600080fd5b5061025761068c565b3480156102f057600080fd5b506102576102ff366004611089565b6106a0565b34801561031057600080fd5b506000546040516001600160a01b03909116815260200161017d565b34801561033857600080fd5b506102576103473660046110a6565b6106e2565b34801561035857600080fd5b5061017061075b565b34801561036d57600080fd5b506101a661037c36600461101c565b61076a565b34801561038d57600080fd5b506101a661039c36600461101c565b6107a1565b3480156103ad57600080fd5b506102576103bc366004611089565b6107ae565b3480156103cd57600080fd5b506102576103dc3660046110cd565b6107fd565b3480156103ed57600080fd5b506102576103fc3660046110ea565b61083b565b34801561040d57600080fd5b5061025761041c366004611089565b610888565b34801561042d57600080fd5b506101c761043c36600461110d565b6108ca565b34801561044d57600080fd5b5061025761045c366004611089565b6108f5565b34801561046d57600080fd5b5061025761047c366004611089565b610937565b60606007805461049090611146565b80601f01602080910402602001604051908101604052809291908181526020018280546104bc90611146565b80156105095780601f106104de57610100808354040283529160200191610509565b820191906000526020600020905b8154815290600101906020018083116104ec57829003601f168201915b5050505050905090565b600061052033848461095b565b5060015b92915050565b6000336105388582856109e6565b610543858585610a1f565b5060019150505b9392505050565b60003361057381858561056483836108ca565b61056e9190611196565b61095b565b5060019392505050565b600c546001600160a01b0316336001600160a01b03161461059d57600080fd5b6001600160a01b03166000908152600360205260409020805460ff19166001179055565b600c546001600160a01b0316336001600160a01b0316146105e157600080fd5b600555565b600c546001600160a01b0316336001600160a01b03161461060657600080fd5b6001600160a01b03821663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602481018490526044016020604051808303816000875af1158015610663573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061068791906111a9565b505050565b610694610b3a565b61069e6000610b51565b565b600c546001600160a01b0316336001600160a01b0316146106c057600080fd5b600a80546001600160a01b0319166001600160a01b0392909216919091179055565b600c546001600160a01b0316336001600160a01b03161461070257600080fd5b604051600090339083908381818185875af1925050503d8060008114610744576040519150601f19603f3d011682016040523d82523d6000602084013e610749565b606091505b505090508061075757600080fd5b5050565b60606008805461049090611146565b6000338161077882866108ca565b90508381101561078757600080fd5b610796828661056e87856111c6565b506001949350505050565b6000610573338484610a1f565b600c546001600160a01b0316336001600160a01b0316146107ce57600080fd5b600980546001600160a01b0319166001600160a01b0383169081179091556107fa90309060001961095b565b50565b600c546001600160a01b0316336001600160a01b03161461081d57600080fd5b600c8054911515600160a01b0260ff60a01b19909216919091179055565b600c546001600160a01b0316336001600160a01b03161461085b57600080fd5b60108160ff16111561086c57600080fd5b6006805460ff9092166101000261ff0019909216919091179055565b600c546001600160a01b0316336001600160a01b0316146108a857600080fd5b600c80546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b600c546001600160a01b0316336001600160a01b03161461091557600080fd5b600b80546001600160a01b0319166001600160a01b0392909216919091179055565b61093f610b3a565b6001600160a01b03811661095257600080fd5b6107fa81610b51565b6001600160a01b0383161580159061097b57506001600160a01b03821615155b61098457600080fd5b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b60006109f284846108ca565b90506000198114610a195781811015610a0a57600080fd5b610a19848461056e85856111c6565b50505050565b600c54600090600160a81b900460ff1680610a4d5750600a546001600160a01b0316336001600160a01b0316145b80610a7057506001600160a01b03841660009081526003602052604090205460ff165b80610a9357506001600160a01b03831660009081526003602052604090205460ff165b80610aa65750600654610100900460ff16155b15610abe57610ab6848484610ba1565b50600161054a565b600c54600160a01b900460ff168015610ae7575060055430600090815260016020526040902054115b15610af457610af4610c90565b600654600090606490610b0f90610100900460ff16856111d9565b610b1991906111f0565b9050610b26853083610ba1565b6107968585610b3584876111c6565b610ba1565b6000546001600160a01b0316331461069e57600080fd5b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b03831615801590610bc157506001600160a01b03821615155b610bca57600080fd5b6001600160a01b038316600090815260016020526040902054811115610bef57600080fd5b6001600160a01b03831660009081526001602052604081208054839290610c179084906111c6565b90915550506001600160a01b03821660009081526001602052604081208054839290610c44908490611196565b92505081905550816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516109d991815260200190565b600c805460ff60a81b1916600160a81b1790554760006004610cc7306001600160a01b031660009081526001602052604090205490565b610cd191906111f0565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610d0b57610d0b611212565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610d64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d889190611228565b81600181518110610d9b57610d9b611212565b6001600160a01b03928316602091820292909201015260095460405163791ac94760e01b815291169063791ac94790610de1908590600090869030904290600401611245565b600060405180830381600087803b158015610dfb57600080fd5b505af1158015610e0f573d6000803e3d6000fd5b5050505060008347610e2191906111c6565b600954600b5460405163f305d71960e01b81523060048201526024810187905260006044820181905260648201526001600160a01b0391821660848201524260a4820152929350169063f305d71990839060c40160606040518083038185885af1158015610e93573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610eb891906112b6565b50506009546001600160a01b0316905063791ac947610eec306001600160a01b031660009081526001602052604090205490565b60008530426040518663ffffffff1660e01b8152600401610f11959493929190611245565b600060405180830381600087803b158015610f2b57600080fd5b505af1158015610f3f573d6000803e3d6000fd5b5050600b54604051600093506001600160a01b03909116915047908381818185875af1925050503d8060008114610f92576040519150601f19603f3d011682016040523d82523d6000602084013e610f97565b606091505b5050905080610fa557600080fd5b5050600c805460ff60a81b19169055505050565b600060208083528351808285015260005b81811015610fe657858101830151858201604001528201610fca565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146107fa57600080fd5b6000806040838503121561102f57600080fd5b823561103a81611007565b946020939093013593505050565b60008060006060848603121561105d57600080fd5b833561106881611007565b9250602084013561107881611007565b929592945050506040919091013590565b60006020828403121561109b57600080fd5b813561054a81611007565b6000602082840312156110b857600080fd5b5035919050565b80151581146107fa57600080fd5b6000602082840312156110df57600080fd5b813561054a816110bf565b6000602082840312156110fc57600080fd5b813560ff8116811461054a57600080fd5b6000806040838503121561112057600080fd5b823561112b81611007565b9150602083013561113b81611007565b809150509250929050565b600181811c9082168061115a57607f821691505b60208210810361117a57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561052457610524611180565b6000602082840312156111bb57600080fd5b815161054a816110bf565b8181038181111561052457610524611180565b808202811582820484141761052457610524611180565b60008261120d57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561123a57600080fd5b815161054a81611007565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156112955784516001600160a01b031683529383019391830191600101611270565b50506001600160a01b03969096166060850152505050608001529392505050565b6000806000606084860312156112cb57600080fd5b835192506020840151915060408401519050925092509256fea264697066735822122058fa556c471a5dbfa8b9280bde530ebcb05dcf54bf1df0c4c3d7e3541728c40264736f6c63430008130033

Deployed Bytecode Sourcemap

2593:6627:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3735:100;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4460:169;;;;;;;;;;-1:-1:-1;4460:169:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;4460:169:0;1023:187:1;4063:103:0;;;;;;;;;;-1:-1:-1;4151:7:0;;4063:103;;;1361:25:1;;;1349:2;1334:18;4063:103:0;1215:177:1;5415:279:0;;;;;;;;;;-1:-1:-1;5415:279:0;;;;;:::i;:::-;;:::i;3955:100::-;;;;;;;;;;-1:-1:-1;4038:9:0;;3955:100;;4038:9;;;;2000:36:1;;1988:2;1973:18;3955:100:0;1858:184:1;4637:238:0;;;;;;;;;;-1:-1:-1;4637:238:0;;;;;:::i;:::-;;:::i;8391:106::-;;;;;;;;;;-1:-1:-1;8391:106:0;;;;;:::i;:::-;;:::i;:::-;;8505:88;;;;;;;;;;-1:-1:-1;8505:88:0;;;;;:::i;:::-;;:::i;9059:121::-;;;;;;;;;;-1:-1:-1;9059:121:0;;;;;:::i;:::-;;:::i;4174:119::-;;;;;;;;;;-1:-1:-1;4174:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4267:18:0;4240:7;4267:18;;;:9;:18;;;;;;;4174:119;2013:103;;;;;;;;;;;;;:::i;8184:82::-;;;;;;;;;;-1:-1:-1;8184:82:0;;;;;:::i;:::-;;:::i;1918:87::-;;;;;;;;;;-1:-1:-1;1964:7:0;1991:6;1918:87;;-1:-1:-1;;;;;1991:6:0;;;2963:51:1;;2951:2;2936:18;1918:87:0;2817:203:1;8892:159:0;;;;;;;;;;-1:-1:-1;8892:159:0;;;;;:::i;:::-;;:::i;3843:104::-;;;;;;;;;;;;;:::i;4883:357::-;;;;;;;;;;-1:-1:-1;4883:357:0;;;;;:::i;:::-;;:::i;5248:159::-;;;;;;;;;;-1:-1:-1;5248:159:0;;;;;:::i;:::-;;:::i;8028:148::-;;;;;;;;;;-1:-1:-1;8028:148:0;;;;;:::i;:::-;;:::i;8799:85::-;;;;;;;;;;-1:-1:-1;8799:85:0;;;;;:::i;:::-;;:::i;8274:109::-;;;;;;;;;;-1:-1:-1;8274:109:0;;;;;:::i;:::-;;:::i;8601:92::-;;;;;;;;;;-1:-1:-1;8601:92:0;;;;;:::i;:::-;;:::i;4301:151::-;;;;;;;;;;-1:-1:-1;4301:151:0;;;;;:::i;:::-;;:::i;8701:90::-;;;;;;;;;;-1:-1:-1;8701:90:0;;;;;:::i;:::-;;:::i;2124:159::-;;;;;;;;;;-1:-1:-1;2124:159:0;;;;;:::i;:::-;;:::i;3735:100::-;3789:13;3822:5;3815:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3735:100;:::o;4460:169::-;4543:4;4560:39;1473:10;4583:7;4592:6;4560:8;:39::i;:::-;-1:-1:-1;4617:4:0;4460:169;;;;;:::o;5415:279::-;5521:4;1473:10;5579:40;5595:6;1473:10;5612:6;5579:15;:40::i;:::-;5630:34;5638:6;5646:9;5657:6;5630:7;:34::i;:::-;;5682:4;5675:11;;;5415:279;;;;;;:::o;4637:238::-;4725:4;1473:10;4781:64;1473:10;4797:7;4834:10;4806:25;1473:10;4797:7;4806:9;:25::i;:::-;:38;;;;:::i;:::-;4781:8;:64::i;:::-;-1:-1:-1;4863:4:0;;4637:238;-1:-1:-1;;;4637:238:0:o;8391:106::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;-1:-1:-1;;;;;8461:21:0::1;;::::0;;;:12:::1;:21;::::0;;;;:28;;-1:-1:-1;;8461:28:0::1;8485:4;8461:28;::::0;;8391:106::o;8505:88::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8569:8:::1;:16:::0;8505:88::o;9059:121::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;-1:-1:-1;;;;;9136:14:0;::::1;;1473:10:::0;9136:36:::1;::::0;-1:-1:-1;;;;;;9136:36:0::1;::::0;;;;;;-1:-1:-1;;;;;4900:32:1;;;9136:36:0::1;::::0;::::1;4882:51:1::0;4949:18;;;4942:34;;;4855:18;;9136:36:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9059:121:::0;;:::o;2013:103::-;1877:13;:11;:13::i;:::-;2078:30:::1;2105:1;2078:18;:30::i;:::-;2013:103::o:0;8184:82::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8245:5:::1;:13:::0;;-1:-1:-1;;;;;;8245:13:0::1;-1:-1:-1::0;;;;;8245:13:0;;;::::1;::::0;;;::::1;::::0;;8184:82::o;8892:159::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8971:45:::1;::::0;8954:12:::1;::::0;1473:10;;9005:6;;8954:12;8971:45;8954:12;8971:45;9005:6;1473:10;8971:45:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8953:63;;;9035:7;9027:16;;;::::0;::::1;;8942:109;8892:159:::0;:::o;3843:104::-;3899:13;3932:7;3925:14;;;;;:::i;4883:357::-;4976:4;1473:10;4976:4;5059:25;1473:10;5076:7;5059:9;:25::i;:::-;5032:52;;5123:15;5103:16;:35;;5095:44;;;;;;5150:60;5159:5;5166:7;5175:34;5194:15;5175:16;:34;:::i;5150:60::-;-1:-1:-1;5228:4:0;;4883:357;-1:-1:-1;;;;4883:357:0:o;5248:159::-;5327:4;5344:33;1473:10;5366:2;5370:6;5344:7;:33::i;8028:148::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8091:7:::1;:15:::0;;-1:-1:-1;;;;;;8091:15:0::1;-1:-1:-1::0;;;;;8091:15:0;::::1;::::0;;::::1;::::0;;;8117:51:::1;::::0;8134:4:::1;::::0;-1:-1:-1;;8117:8:0::1;:51::i;:::-;8028:148:::0;:::o;8799:85::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8860:8:::1;:16:::0;;;::::1;;-1:-1:-1::0;;;8860:16:0::1;-1:-1:-1::0;;;;8860:16:0;;::::1;::::0;;;::::1;::::0;;8799:85::o;8274:109::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8349:2:::1;8340:5;:11;;;;8332:20;;;::::0;::::1;;8363:4;:12:::0;;::::1;::::0;;::::1;;;-1:-1:-1::0;;8363:12:0;;::::1;::::0;;;::::1;::::0;;8274:109::o;8601:92::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8667:8:::1;:18:::0;;-1:-1:-1;;;;;;8667:18:0::1;-1:-1:-1::0;;;;;8667:18:0;;;::::1;::::0;;;::::1;::::0;;8601:92::o;4301:151::-;-1:-1:-1;;;;;4417:18:0;;;4390:7;4417:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4301:151::o;8701:90::-;3417:8;;-1:-1:-1;;;;;3417:8:0;1473:10;-1:-1:-1;;;;;3401:24:0;;3393:33;;;;;;8766:9:::1;:17:::0;;-1:-1:-1;;;;;;8766:17:0::1;-1:-1:-1::0;;;;;8766:17:0;;;::::1;::::0;;;::::1;::::0;;8701:90::o;2124:159::-;1877:13;:11;:13::i;:::-;-1:-1:-1;;;;;2213:22:0;::::1;2205:31;;;::::0;::::1;;2247:28;2266:8;2247:18;:28::i;6011:250::-:0;-1:-1:-1;;;;;6113:19:0;;;;;;:44;;-1:-1:-1;;;;;;6136:21:0;;;;6113:44;6105:53;;;;;;-1:-1:-1;;;;;6169:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6221:32;;1361:25:1;;;6221:32:0;;1334:18:1;6221:32:0;;;;;;;;6011:250;;;:::o;6269:342::-;6370:24;6397:25;6407:5;6414:7;6397:9;:25::i;:::-;6370:52;;-1:-1:-1;;6437:16:0;:37;6433:171;;6519:6;6499:16;:26;;6491:35;;;;;;6541:51;6550:5;6557:7;6566:25;6585:6;6566:16;:25;:::i;6541:51::-;6359:252;6269:342;;;:::o;6619:543::-;6726:9;;6705:4;;-1:-1:-1;;;6726:9:0;;;;;:34;;-1:-1:-1;6755:5:0;;-1:-1:-1;;;;;6755:5:0;1473:10;-1:-1:-1;;;;;6739:21:0;;6726:34;:58;;;-1:-1:-1;;;;;;6764:20:0;;;;;;:12;:20;;;;;;;;6726:58;:85;;;-1:-1:-1;;;;;;6788:23:0;;;;;;:12;:23;;;;;;;;6726:85;:98;;;-1:-1:-1;6815:4:0;;;;;;;:9;6726:98;6722:193;;;6841:36;6851:6;6859:9;6870:6;6841:9;:36::i;:::-;-1:-1:-1;6899:4:0;6892:11;;6722:193;6931:8;;-1:-1:-1;;;6931:8:0;;;;:47;;;;-1:-1:-1;6970:8:0;;6961:4;4240:7;4267:18;;;:9;:18;;;;;;6943:35;6931:47;6927:60;;;6980:7;:5;:7::i;:::-;7021:4;;6998:11;;7028:3;;7012:13;;7021:4;;;;;7012:6;:13;:::i;:::-;:19;;;;:::i;:::-;6998:33;;7042:37;7052:6;7068:4;7075:3;7042:9;:37::i;:::-;7090:42;7100:6;7108:9;7119:12;7128:3;7119:6;:12;:::i;:::-;7090:9;:42::i;2291:96::-;1964:7;1991:6;-1:-1:-1;;;;;1991:6:0;1473:10;2355:23;2347:32;;;;;2395:191;2469:16;2488:6;;-1:-1:-1;;;;;2505:17:0;;;-1:-1:-1;;;;;;2505:17:0;;;;;;2538:40;;2488:6;;;;;;;2538:40;;2469:16;2538:40;2458:128;2395:191;:::o;5702:301::-;-1:-1:-1;;;;;5799:18:0;;;;;;:38;;-1:-1:-1;;;;;;5821:16:0;;;;5799:38;5791:47;;;;;;-1:-1:-1;;;;;5857:15:0;;;;;;:9;:15;;;;;;:25;-1:-1:-1;5857:25:0;5849:34;;;;;;-1:-1:-1;;;;;5894:15:0;;;;;;:9;:15;;;;;:25;;5913:6;;5894:15;:25;;5913:6;;5894:25;:::i;:::-;;;;-1:-1:-1;;;;;;;5930:13:0;;;;;;:9;:13;;;;;:23;;5947:6;;5930:13;:23;;5947:6;;5930:23;:::i;:::-;;;;;;;;5984:2;-1:-1:-1;;;;;5969:26:0;5978:4;-1:-1:-1;;;;;5969:26:0;;5988:6;5969:26;;;;1361:25:1;;1349:2;1334:18;;1215:177;7170:850:0;3290:9;:16;;-1:-1:-1;;;;3290:16:0;-1:-1:-1;;;3290:16:0;;;7230:21:::1;3290:16:::0;7306:1:::1;7279:24;7297:4;-1:-1:-1::0;;;;;4267:18:0;4240:7;4267:18;;;:9;:18;;;;;;;4174:119;7279:24:::1;:28;;;;:::i;:::-;7344:16;::::0;;7358:1:::1;7344:16:::0;;;;;::::1;::::0;;7262:45;;-1:-1:-1;7320:21:0::1;::::0;7344:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7344:16:0::1;7320:40;;7389:4;7371;7376:1;7371:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7371:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;7430:7:::1;::::0;7423:22:::1;::::0;;-1:-1:-1;;;7423:22:0;;;;7430:7;;;::::1;::::0;7423:20:::1;::::0;:22:::1;::::0;;::::1;::::0;7371:7;;7423:22;;;;;7430:7;7423:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7405:4;7410:1;7405:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;7405:41:0;;::::1;:7;::::0;;::::1;::::0;;;;;:41;7464:7:::1;::::0;7457:115:::1;::::0;-1:-1:-1;;;7457:115:0;;7464:7;::::1;::::0;7457:66:::1;::::0;:115:::1;::::0;7524:6;;7464:7:::1;::::0;7535:4;;7549::::1;::::0;7556:15:::1;::::0;7457:115:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;7585:17;7629:3;7605:21;:27;;;;:::i;:::-;7650:7;::::0;7722:9:::1;::::0;7643:106:::1;::::0;-1:-1:-1;;;7643:106:0;;7701:4:::1;7643:106;::::0;::::1;7821:34:1::0;7871:18;;;7864:34;;;7650:7:0::1;7914:18:1::0;;;7907:34;;;7957:18;;;7950:34;-1:-1:-1;;;;;7722:9:0;;::::1;8000:19:1::0;;;7993:44;7733:15:0::1;8053:19:1::0;;;8046:35;7585:47:0;;-1:-1:-1;7650:7:0::1;::::0;7643:31:::1;::::0;7585:47;;7755:19:1;;7643:106:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;7773:7:0::1;::::0;-1:-1:-1;;;;;7773:7:0::1;::::0;-1:-1:-1;7766:66:0::1;7833:24;7851:4;-1:-1:-1::0;;;;;4267:18:0;4240:7;4267:18;;;:9;:18;;;;;;;4174:119;7833:24:::1;7859:1;7862:4;7876;7883:15;7766:133;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;7936:9:0::1;::::0;7928:57:::1;::::0;7911:12:::1;::::0;-1:-1:-1;;;;;;7936:9:0;;::::1;::::0;-1:-1:-1;7959:21:0::1;::::0;7911:12;7928:57;7911:12;7928:57;7959:21;7936:9;7928:57:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7910:75;;;8004:7;7996:16;;;::::0;::::1;;-1:-1:-1::0;;3329:9:0;:17;;-1:-1:-1;;;;3329:17:0;;;-1:-1:-1;;;7170:850:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:315;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2299:180::-;2358:6;2411:2;2399:9;2390:7;2386:23;2382:32;2379:52;;;2427:1;2424;2417:12;2379:52;-1:-1:-1;2450:23:1;;2299:180;-1:-1:-1;2299:180:1:o;3025:118::-;3111:5;3104:13;3097:21;3090:5;3087:32;3077:60;;3133:1;3130;3123:12;3148:241;3204:6;3257:2;3245:9;3236:7;3232:23;3228:32;3225:52;;;3273:1;3270;3263:12;3225:52;3312:9;3299:23;3331:28;3353:5;3331:28;:::i;3394:269::-;3451:6;3504:2;3492:9;3483:7;3479:23;3475:32;3472:52;;;3520:1;3517;3510:12;3472:52;3559:9;3546:23;3609:4;3602:5;3598:16;3591:5;3588:27;3578:55;;3629:1;3626;3619:12;3668:388;3736:6;3744;3797:2;3785:9;3776:7;3772:23;3768:32;3765:52;;;3813:1;3810;3803:12;3765:52;3852:9;3839:23;3871:31;3896:5;3871:31;:::i;:::-;3921:5;-1:-1:-1;3978:2:1;3963:18;;3950:32;3991:33;3950:32;3991:33;:::i;:::-;4043:7;4033:17;;;3668:388;;;;;:::o;4061:380::-;4140:1;4136:12;;;;4183;;;4204:61;;4258:4;4250:6;4246:17;4236:27;;4204:61;4311:2;4303:6;4300:14;4280:18;4277:38;4274:161;;4357:10;4352:3;4348:20;4345:1;4338:31;4392:4;4389:1;4382:15;4420:4;4417:1;4410:15;4274:161;;4061:380;;;:::o;4446:127::-;4507:10;4502:3;4498:20;4495:1;4488:31;4538:4;4535:1;4528:15;4562:4;4559:1;4552:15;4578:125;4643:9;;;4664:10;;;4661:36;;;4677:18;;:::i;4987:245::-;5054:6;5107:2;5095:9;5086:7;5082:23;5078:32;5075:52;;;5123:1;5120;5113:12;5075:52;5155:9;5149:16;5174:28;5196:5;5174:28;:::i;5447:128::-;5514:9;;;5535:11;;;5532:37;;;5549:18;;:::i;5580:168::-;5653:9;;;5684;;5701:15;;;5695:22;;5681:37;5671:71;;5722:18;;:::i;5753:217::-;5793:1;5819;5809:132;;5863:10;5858:3;5854:20;5851:1;5844:31;5898:4;5895:1;5888:15;5926:4;5923:1;5916:15;5809:132;-1:-1:-1;5955:9:1;;5753:217::o;6107:127::-;6168:10;6163:3;6159:20;6156:1;6149:31;6199:4;6196:1;6189:15;6223:4;6220:1;6213:15;6239:251;6309:6;6362:2;6350:9;6341:7;6337:23;6333:32;6330:52;;;6378:1;6375;6368:12;6330:52;6410:9;6404:16;6429:31;6454:5;6429:31;:::i;6495:980::-;6757:4;6805:3;6794:9;6790:19;6836:6;6825:9;6818:25;6862:2;6900:6;6895:2;6884:9;6880:18;6873:34;6943:3;6938:2;6927:9;6923:18;6916:31;6967:6;7002;6996:13;7033:6;7025;7018:22;7071:3;7060:9;7056:19;7049:26;;7110:2;7102:6;7098:15;7084:29;;7131:1;7141:195;7155:6;7152:1;7149:13;7141:195;;;7220:13;;-1:-1:-1;;;;;7216:39:1;7204:52;;7311:15;;;;7276:12;;;;7252:1;7170:9;7141:195;;;-1:-1:-1;;;;;;;7392:32:1;;;;7387:2;7372:18;;7365:60;-1:-1:-1;;;7456:3:1;7441:19;7434:35;7353:3;6495:980;-1:-1:-1;;;6495:980:1:o;8092:306::-;8180:6;8188;8196;8249:2;8237:9;8228:7;8224:23;8220:32;8217:52;;;8265:1;8262;8255:12;8217:52;8294:9;8288:16;8278:26;;8344:2;8333:9;8329:18;8323:25;8313:35;;8388:2;8377:9;8373:18;8367:25;8357:35;;8092:306;;;;;:::o

Swarm Source

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