ETH Price: $2,362.45 (+0.41%)

Token

PreOlympus (pOLY)
 

Overview

Max Total Supply

996,925,365.247152198806134907 pOLY

Holders

44

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
3,249,742.1131100814976 pOLY

Value
$0.00
0x8c0bb469e058673139f47cf4b54e2a8941985983
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:
PreOlympusToken

Compiler Version
v0.7.5+commit.eb77ed08

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, GNU AGPLv3 license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2021-01-21
*/

// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity 0.7.5;

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");

        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return div(a, b, "SafeMath: division by zero");
    }

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return mod(a, b, "SafeMath: modulo by zero");
    }

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }

    function sqrrt(uint256 a) internal pure returns (uint c) {
        if (a > 3) {
            c = a;
            uint b = add( div( a, 2), 1 );
            while (b < c) {
                c = b;
                b = div( add( div( a, b ), b), 2 );
            }
        } else if (a != 0) {
            c = 1;
        }
    }

    function percentageAmount( uint256 total_, uint8 percentage_ ) internal pure returns ( uint256 percentAmount_ ) {
        return div( mul( total_, percentage_ ), 1000 );
    }

    function percentageOfTotal( uint256 part_, uint256 total_ ) internal pure returns ( uint256 percent_ ) {
        return div( mul(part_, 100) , total_ );
    }

    function average(uint256 a, uint256 b) internal pure returns (uint256) {
        // (a + b) / 2 can overflow, so we distribute
        return (a / 2) + (b / 2) + ((a % 2 + b % 2) / 2);
    }

    function substractPercentage( uint256 total_, uint8 percentageToSub_ ) internal pure returns ( uint256 result_ ) {
        return sub( total_, div( mul( total_, percentageToSub_ ), 1000 ) );
    }

    function quadraticPricing( uint256 payment_, uint256 multiplier_ ) internal pure returns (uint256) {
        return sqrrt( mul( multiplier_, payment_ ) );
    }

    function bondingCurve( uint256 supply_, uint256 multiplier_ ) internal pure returns (uint256) {
        return mul( multiplier_, supply_ );
    }
}

library Context {
    function _msgSender() internal view returns (address payable) {
        return msg.sender;
    }

    function _msgData() internal view returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable {
    
    address internal _owner;

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

    constructor () {
        address msgSender = Context._msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == Context._msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        emit OwnershipTransferred(_owner, newOwner);
        _owner = newOwner;
    }
}

interface IERC20 {
  function totalSupply() external view returns (uint256);

  function balanceOf(address account) external view returns (uint256);

  function transfer(address recipient, 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 sender, address recipient, uint256 amount) external returns (bool);

  event Transfer(address indexed from, address indexed to, uint256 value);

  event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract ERC20 is IERC20 {

    using SafeMath for uint256;

    
  mapping (address => uint256) internal _balances;

  mapping (address => mapping (address => uint256)) internal _allowances;

  uint256 internal _totalSupply;

  string internal _name;
    
  string internal _symbol;
    
  uint8 internal _decimals;

  constructor (string memory name_, string memory symbol_, uint8 decimals_) {
    _name = name_;
    _symbol = symbol_;
    _decimals = decimals_;
  }

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

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

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

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

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

  function transfer(address recipient, uint256 amount) public virtual override returns (bool) {
    _transfer(Context._msgSender(), recipient, amount);
    return true;
  }

    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(Context._msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public virtual override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, Context._msgSender(), _allowances[sender][Context._msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {
        _approve(Context._msgSender(), spender, _allowances[Context._msgSender()][spender].add(addedValue));
        return true;
    }

    function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {
        _approve(Context._msgSender(), spender, _allowances[Context._msgSender()][spender].sub(subtractedValue, "ERC20: decreased allowance below zero"));
        return true;
    }

  function _transfer(address sender, address recipient, uint256 amount) internal virtual {
    require(sender != address(0), "ERC20: transfer from the zero address");
    require(recipient != address(0), "ERC20: transfer to the zero address");

    _beforeTokenTransfer(sender, recipient, amount);

    _balances[sender] = _balances[sender].sub(amount, "ERC20: transfer amount exceeds balance");
    _balances[recipient] = _balances[recipient].add(amount);
    emit Transfer(sender, recipient, amount);
  }

    function _mint(address account_, uint256 ammount_) internal virtual {
        require(account_ != address(0), "ERC20: mint to the zero address");
        _beforeTokenTransfer(address( this ), account_, ammount_);
        _totalSupply = _totalSupply.add(ammount_);
        _balances[account_] = _balances[account_].add(ammount_);
        emit Transfer(address( this ), account_, ammount_);
    }

    function _burn(address account, uint256 amount) internal virtual {
        require(account != address(0), "ERC20: burn from the zero address");

        _beforeTokenTransfer(account, address(0), amount);

        _balances[account] = _balances[account].sub(amount, "ERC20: burn amount exceeds balance");
        _totalSupply = _totalSupply.sub(amount);
        emit Transfer(account, address(0), amount);
    }

    function _approve(address owner, address spender, uint256 amount) internal virtual {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _beforeTokenTransfer(address from, address to, uint256 amount) internal virtual { }
}

abstract contract Divine is ERC20, Ownable {

    constructor ( string memory name_, string memory symbol_, uint8 decimals_ ) ERC20( name_, symbol_, decimals_ ) {}
}

contract PreOlympusToken is Divine {

  using SafeMath for uint256;

  bool public requireSellerApproval;
  bool public allowMinting;

  mapping( address => bool ) public isApprovedSeller;
    
  constructor() Divine( "PreOlympus", "pOLY", 18 ) {
    uint256 initialSupply_ = 1000000000 * 1e18;
    requireSellerApproval = true;
    allowMinting = true;
    _addApprovedSeller( address(this) );
    _addApprovedSeller( msg.sender );
    _mint( owner(), initialSupply_ );
  }

  function allowOpenTrading() external onlyOwner() returns ( bool ) {
    requireSellerApproval = false;
    return requireSellerApproval;
  }

  function disableMinting() external onlyOwner() returns ( bool ) {
    allowMinting = false;
    return allowMinting;
  }

  function _addApprovedSeller( address approvedSeller_ ) internal {
    isApprovedSeller[approvedSeller_] = true;
  }

  function addApprovedSeller( address approvedSeller_ ) external onlyOwner() returns ( bool ) {
    _addApprovedSeller( approvedSeller_ );
    return isApprovedSeller[approvedSeller_];
  }

  function addApprovedSellers( address[] calldata approvedSellers_ ) external onlyOwner() returns ( bool ) {

    for( uint256 iteration_; approvedSellers_.length > iteration_; iteration_++ ) {
      _addApprovedSeller( approvedSellers_[iteration_] );
    }
    return true;
  }

  function _removeApprovedSeller( address disapprovedSeller_ ) internal {
    isApprovedSeller[disapprovedSeller_] = false;
  }

  function removeApprovedSeller( address disapprovedSeller_ ) external onlyOwner() returns ( bool ) {
    _removeApprovedSeller( disapprovedSeller_ );
    return isApprovedSeller[disapprovedSeller_];
  }

  function removeApprovedSellers( address[] calldata disapprovedSellers_ ) external onlyOwner() returns ( bool ) {

    for( uint256 iteration_; disapprovedSellers_.length > iteration_; iteration_++ ) {
      _removeApprovedSeller( disapprovedSellers_[iteration_] );
    }
    return true;
  }
  function _beforeTokenTransfer(address from_, address to_, uint256 amount_ ) internal override {
    require( (_balances[to_] > 0 || isApprovedSeller[from_] == true), "Account not approved to transfer pOLY." );
  }

  function mint( address recipient_, uint256 amount_) public virtual onlyOwner() {
    require( allowMinting, "Minting has been disabled." );
    _mint( recipient_, amount_ );
  }

   function burn(uint256 amount_) public virtual {
    _burn( msg.sender, amount_ );
  }

    function burnFrom( address account_, uint256 amount_ ) public virtual {
      _burnFrom( account_, amount_ );
    }

    function _burnFrom( address account_, uint256 amount_ ) internal virtual {
      uint256 decreasedAllowance_ = allowance( account_, msg.sender ).sub( amount_, "ERC20: burn amount exceeds allowance");
      _approve( account_, msg.sender, decreasedAllowance_ );
      _burn( account_, amount_ );
    }
}

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":"approvedSeller_","type":"address"}],"name":"addApprovedSeller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"approvedSellers_","type":"address[]"}],"name":"addApprovedSellers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"allowMinting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"allowOpenTrading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":[{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"burn","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"burnFrom","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"subtractedValue","type":"uint256"}],"name":"decreaseAllowance","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"disableMinting","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"address","name":"","type":"address"}],"name":"isApprovedSeller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient_","type":"address"},{"internalType":"uint256","name":"amount_","type":"uint256"}],"name":"mint","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"disapprovedSeller_","type":"address"}],"name":"removeApprovedSeller","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"disapprovedSellers_","type":"address[]"}],"name":"removeApprovedSellers","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"requireSellerApproval","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","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"}]

60806040523480156200001157600080fd5b506040518060400160405280600a8152602001695072654f6c796d70757360b01b81525060405180604001604052806004815260200163704f4c5960e01b815250601282828282600390805190602001906200006f929190620003a9565b50815162000085906004906020850190620003a9565b5080600560006101000a81548160ff021916908360ff1602179055505050506000620000bb6200017660201b62000e851760201c565b60058054610100600160a81b0319166101006001600160a01b03841690810291909117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350506005805460ff60b01b1960ff60a81b19909116600160a81b1716600160b01b179055506b033b2e3c9fd0803ce800000090506200014f306200017a565b6200015a336200017a565b6200016f620001686200019e565b82620001b2565b5062000455565b3390565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b60055461010090046001600160a01b031690565b6001600160a01b0382166200020e576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b6200021b308383620002c1565b62000237816002546200034760201b62000e891790919060201c565b6002556001600160a01b038216600090815260208181526040909120546200026a91839062000e8962000347821b17901c565b6001600160a01b038316600081815260208181526040918290209390935580518481529051919230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b0382166000908152602081905260409020541515806200030557506001600160a01b03831660009081526006602052604090205460ff1615156001145b620003425760405162461bcd60e51b815260040180806020018281038252602681526020018062001b746026913960400191505060405180910390fd5b505050565b600082820183811015620003a2576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b828054600181600116156101000203166002900490600052602060002090601f016020900481019282620003e157600085556200042c565b82601f10620003fc57805160ff19168380011785556200042c565b828001600101855582156200042c579182015b828111156200042c5782518255916020019190600101906200040f565b506200043a9291506200043e565b5090565b5b808211156200043a57600081556001016200043f565b61170f80620004656000396000f3fe608060405234801561001057600080fd5b506004361061018e5760003560e01c8063715018a6116100de578063a2efb97511610097578063b93ea6a111610071578063b93ea6a114610575578063dd62ed3e1461057d578063ea46d196146105ab578063f2fde38b146105b35761018e565b8063a2efb975146104f7578063a457c2d71461051d578063a9059cbb146105495761018e565b8063715018a61461041f57806379cc6790146104275780637e5cd5c1146104535780638da5cb5b1461045b57806395d89b411461047f5780639a9429b6146104875761018e565b806323b872dd1161014b57806340c10f191161012557806340c10f191461033e57806342966c681461036c5780635b0ed0ef1461038957806370a08231146103f95761018e565b806323b872dd146102be578063313ce567146102f457806339509351146103125761018e565b806306fdde03146101935780630775b33d14610210578063095ea7b31461024a5780630c4b56bf146102765780631602a1241461029c57806318160ddd146102a4575b600080fd5b61019b6105d9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102366004803603602081101561022657600080fd5b50356001600160a01b031661066f565b604080519115158252519081900360200190f35b6102366004803603604081101561026057600080fd5b506001600160a01b0381351690602001356106f6565b6102366004803603602081101561028c57600080fd5b50356001600160a01b0316610713565b610236610728565b6102ac610738565b60408051918252519081900360200190f35b610236600480360360608110156102d457600080fd5b506001600160a01b0381358116916020810135909116906040013561073e565b6102fc6107c5565b6040805160ff9092168252519081900360200190f35b6102366004803603604081101561032857600080fd5b506001600160a01b0381351690602001356107ce565b61036a6004803603604081101561035457600080fd5b506001600160a01b03813516906020013561081c565b005b61036a6004803603602081101561038257600080fd5b50356108e5565b6102366004803603602081101561039f57600080fd5b8101906020810181356401000000008111156103ba57600080fd5b8201836020820111156103cc57600080fd5b803590602001918460208302840111640100000000831117156103ee57600080fd5b5090925090506108f2565b6102ac6004803603602081101561040f57600080fd5b50356001600160a01b0316610988565b61036a6109a3565b61036a6004803603604081101561043d57600080fd5b506001600160a01b038135169060200135610a50565b610236610a5a565b610463610ad6565b604080516001600160a01b039092168252519081900360200190f35b61019b610aea565b6102366004803603602081101561049d57600080fd5b8101906020810181356401000000008111156104b857600080fd5b8201836020820111156104ca57600080fd5b803590602001918460208302840111640100000000831117156104ec57600080fd5b509092509050610b4b565b6102366004803603602081101561050d57600080fd5b50356001600160a01b0316610be1565b6102366004803603604081101561053357600080fd5b506001600160a01b038135169060200135610c49565b6102366004803603604081101561055f57600080fd5b506001600160a01b038135169060200135610cb1565b610236610cc5565b6102ac6004803603604081101561059357600080fd5b506001600160a01b0381358116916020013516610cd5565b610236610d00565b61036a600480360360208110156105c957600080fd5b50356001600160a01b0316610d7c565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b6000610679610e85565b60055461010090046001600160a01b039081169116146106ce576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b6106d782610eea565b506001600160a01b031660009081526006602052604090205460ff1690565b600061070a610703610e85565b8484610f0b565b50600192915050565b60066020526000908152604090205460ff1681565b600554600160b01b900460ff1681565b60025490565b600061074b848484610ff7565b6107bb84610757610e85565b6107b6856040518060600160405280602881526020016115df602891396001600160a01b038a16600090815260016020526040812090610795610e85565b6001600160a01b031681526020810191909152604001600020549190611152565b610f0b565b5060019392505050565b60055460ff1690565b600061070a6107db610e85565b846107b685600160006107ec610e85565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610e89565b610824610e85565b60055461010090046001600160a01b03908116911614610879576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b600554600160b01b900460ff166108d7576040805162461bcd60e51b815260206004820152601a60248201527f4d696e74696e6720686173206265656e2064697361626c65642e000000000000604482015290519081900360640190fd5b6108e182826111e9565b5050565b6108ef33826112d9565b50565b60006108fc610e85565b60055461010090046001600160a01b03908116911614610951576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b60005b808311156107bb5761098084848381811061096b57fe5b905060200201356001600160a01b03166113d5565b600101610954565b6001600160a01b031660009081526020819052604090205490565b6109ab610e85565b60055461010090046001600160a01b03908116911614610a00576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6108e182826113f9565b6000610a64610e85565b60055461010090046001600160a01b03908116911614610ab9576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b506005805460ff60b01b191690819055600160b01b900460ff1690565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106655780601f1061063a57610100808354040283529160200191610665565b6000610b55610e85565b60055461010090046001600160a01b03908116911614610baa576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b60005b808311156107bb57610bd9848483818110610bc457fe5b905060200201356001600160a01b0316610eea565b600101610bad565b6000610beb610e85565b60055461010090046001600160a01b03908116911614610c40576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b6106d7826113d5565b600061070a610c56610e85565b846107b6856040518060600160405280602581526020016116b56025913960016000610c80610e85565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611152565b600061070a610cbe610e85565b8484610ff7565b600554600160a81b900460ff1681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000610d0a610e85565b60055461010090046001600160a01b03908116911614610d5f576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b506005805460ff60a81b191690819055600160a81b900460ff1690565b610d84610e85565b60055461010090046001600160a01b03908116911614610dd9576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b6001600160a01b038116610e1e5760405162461bcd60e51b815260040180806020018281038252602681526020018061154b6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b600082820183811015610ee3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b038316610f505760405162461bcd60e51b81526004018080602001828103825260248152602001806116916024913960400191505060405180910390fd5b6001600160a01b038216610f955760405162461bcd60e51b81526004018080602001828103825260228152602001806115716022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661103c5760405162461bcd60e51b815260040180806020018281038252602581526020018061166c6025913960400191505060405180910390fd5b6001600160a01b0382166110815760405162461bcd60e51b81526004018080602001828103825260238152602001806115066023913960400191505060405180910390fd5b61108c838383611445565b6110c981604051806060016040528060268152602001611593602691396001600160a01b0386166000908152602081905260409020549190611152565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546110f89082610e89565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156111e15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111a657818101518382015260200161118e565b50505050905090810190601f1680156111d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216611244576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61124f308383611445565b60025461125c9082610e89565b6002556001600160a01b0382166000908152602081905260409020546112829082610e89565b6001600160a01b038316600081815260208181526040918290209390935580518481529051919230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03821661131e5760405162461bcd60e51b815260040180806020018281038252602181526020018061164b6021913960400191505060405180910390fd5b61132a82600083611445565b61136781604051806060016040528060228152602001611529602291396001600160a01b0385166000908152602081905260409020549190611152565b6001600160a01b03831660009081526020819052604090205560025461138d90826114c3565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600061142982604051806060016040528060248152602001611627602491396114228633610cd5565b9190611152565b9050611436833383610f0b565b61144083836112d9565b505050565b6001600160a01b03821660009081526020819052604090205415158061148857506001600160a01b03831660009081526006602052604090205460ff1615156001145b6114405760405162461bcd60e51b81526004018080602001828103825260268152602001806115b96026913960400191505060405180910390fd5b6000610ee383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654163636f756e74206e6f7420617070726f76656420746f207472616e7366657220704f4c592e45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122047a8532bda475168197a80e219c3b697aa0c2222787d3945199d1f372cd2554f64736f6c634300070500334163636f756e74206e6f7420617070726f76656420746f207472616e7366657220704f4c592e

Deployed Bytecode

0x608060405234801561001057600080fd5b506004361061018e5760003560e01c8063715018a6116100de578063a2efb97511610097578063b93ea6a111610071578063b93ea6a114610575578063dd62ed3e1461057d578063ea46d196146105ab578063f2fde38b146105b35761018e565b8063a2efb975146104f7578063a457c2d71461051d578063a9059cbb146105495761018e565b8063715018a61461041f57806379cc6790146104275780637e5cd5c1146104535780638da5cb5b1461045b57806395d89b411461047f5780639a9429b6146104875761018e565b806323b872dd1161014b57806340c10f191161012557806340c10f191461033e57806342966c681461036c5780635b0ed0ef1461038957806370a08231146103f95761018e565b806323b872dd146102be578063313ce567146102f457806339509351146103125761018e565b806306fdde03146101935780630775b33d14610210578063095ea7b31461024a5780630c4b56bf146102765780631602a1241461029c57806318160ddd146102a4575b600080fd5b61019b6105d9565b6040805160208082528351818301528351919283929083019185019080838360005b838110156101d55781810151838201526020016101bd565b50505050905090810190601f1680156102025780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6102366004803603602081101561022657600080fd5b50356001600160a01b031661066f565b604080519115158252519081900360200190f35b6102366004803603604081101561026057600080fd5b506001600160a01b0381351690602001356106f6565b6102366004803603602081101561028c57600080fd5b50356001600160a01b0316610713565b610236610728565b6102ac610738565b60408051918252519081900360200190f35b610236600480360360608110156102d457600080fd5b506001600160a01b0381358116916020810135909116906040013561073e565b6102fc6107c5565b6040805160ff9092168252519081900360200190f35b6102366004803603604081101561032857600080fd5b506001600160a01b0381351690602001356107ce565b61036a6004803603604081101561035457600080fd5b506001600160a01b03813516906020013561081c565b005b61036a6004803603602081101561038257600080fd5b50356108e5565b6102366004803603602081101561039f57600080fd5b8101906020810181356401000000008111156103ba57600080fd5b8201836020820111156103cc57600080fd5b803590602001918460208302840111640100000000831117156103ee57600080fd5b5090925090506108f2565b6102ac6004803603602081101561040f57600080fd5b50356001600160a01b0316610988565b61036a6109a3565b61036a6004803603604081101561043d57600080fd5b506001600160a01b038135169060200135610a50565b610236610a5a565b610463610ad6565b604080516001600160a01b039092168252519081900360200190f35b61019b610aea565b6102366004803603602081101561049d57600080fd5b8101906020810181356401000000008111156104b857600080fd5b8201836020820111156104ca57600080fd5b803590602001918460208302840111640100000000831117156104ec57600080fd5b509092509050610b4b565b6102366004803603602081101561050d57600080fd5b50356001600160a01b0316610be1565b6102366004803603604081101561053357600080fd5b506001600160a01b038135169060200135610c49565b6102366004803603604081101561055f57600080fd5b506001600160a01b038135169060200135610cb1565b610236610cc5565b6102ac6004803603604081101561059357600080fd5b506001600160a01b0381358116916020013516610cd5565b610236610d00565b61036a600480360360208110156105c957600080fd5b50356001600160a01b0316610d7c565b60038054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106655780601f1061063a57610100808354040283529160200191610665565b820191906000526020600020905b81548152906001019060200180831161064857829003601f168201915b5050505050905090565b6000610679610e85565b60055461010090046001600160a01b039081169116146106ce576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b6106d782610eea565b506001600160a01b031660009081526006602052604090205460ff1690565b600061070a610703610e85565b8484610f0b565b50600192915050565b60066020526000908152604090205460ff1681565b600554600160b01b900460ff1681565b60025490565b600061074b848484610ff7565b6107bb84610757610e85565b6107b6856040518060600160405280602881526020016115df602891396001600160a01b038a16600090815260016020526040812090610795610e85565b6001600160a01b031681526020810191909152604001600020549190611152565b610f0b565b5060019392505050565b60055460ff1690565b600061070a6107db610e85565b846107b685600160006107ec610e85565b6001600160a01b03908116825260208083019390935260409182016000908120918c168152925290205490610e89565b610824610e85565b60055461010090046001600160a01b03908116911614610879576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b600554600160b01b900460ff166108d7576040805162461bcd60e51b815260206004820152601a60248201527f4d696e74696e6720686173206265656e2064697361626c65642e000000000000604482015290519081900360640190fd5b6108e182826111e9565b5050565b6108ef33826112d9565b50565b60006108fc610e85565b60055461010090046001600160a01b03908116911614610951576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b60005b808311156107bb5761098084848381811061096b57fe5b905060200201356001600160a01b03166113d5565b600101610954565b6001600160a01b031660009081526020819052604090205490565b6109ab610e85565b60055461010090046001600160a01b03908116911614610a00576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b60055460405160009161010090046001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a360058054610100600160a81b0319169055565b6108e182826113f9565b6000610a64610e85565b60055461010090046001600160a01b03908116911614610ab9576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b506005805460ff60b01b191690819055600160b01b900460ff1690565b60055461010090046001600160a01b031690565b60048054604080516020601f60026000196101006001881615020190951694909404938401819004810282018101909252828152606093909290918301828280156106655780601f1061063a57610100808354040283529160200191610665565b6000610b55610e85565b60055461010090046001600160a01b03908116911614610baa576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b60005b808311156107bb57610bd9848483818110610bc457fe5b905060200201356001600160a01b0316610eea565b600101610bad565b6000610beb610e85565b60055461010090046001600160a01b03908116911614610c40576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b6106d7826113d5565b600061070a610c56610e85565b846107b6856040518060600160405280602581526020016116b56025913960016000610c80610e85565b6001600160a01b03908116825260208083019390935260409182016000908120918d16815292529020549190611152565b600061070a610cbe610e85565b8484610ff7565b600554600160a81b900460ff1681565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6000610d0a610e85565b60055461010090046001600160a01b03908116911614610d5f576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b506005805460ff60a81b191690819055600160a81b900460ff1690565b610d84610e85565b60055461010090046001600160a01b03908116911614610dd9576040805162461bcd60e51b81526020600482018190526024820152600080516020611607833981519152604482015290519081900360640190fd5b6001600160a01b038116610e1e5760405162461bcd60e51b815260040180806020018281038252602681526020018061154b6026913960400191505060405180910390fd5b6005546040516001600160a01b0380841692610100900416907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0390921661010002610100600160a81b0319909216919091179055565b3390565b600082820183811015610ee3576040805162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015290519081900360640190fd5b9392505050565b6001600160a01b03166000908152600660205260409020805460ff19169055565b6001600160a01b038316610f505760405162461bcd60e51b81526004018080602001828103825260248152602001806116916024913960400191505060405180910390fd5b6001600160a01b038216610f955760405162461bcd60e51b81526004018080602001828103825260228152602001806115716022913960400191505060405180910390fd5b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6001600160a01b03831661103c5760405162461bcd60e51b815260040180806020018281038252602581526020018061166c6025913960400191505060405180910390fd5b6001600160a01b0382166110815760405162461bcd60e51b81526004018080602001828103825260238152602001806115066023913960400191505060405180910390fd5b61108c838383611445565b6110c981604051806060016040528060268152602001611593602691396001600160a01b0386166000908152602081905260409020549190611152565b6001600160a01b0380851660009081526020819052604080822093909355908416815220546110f89082610e89565b6001600160a01b038084166000818152602081815260409182902094909455805185815290519193928716927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92918290030190a3505050565b600081848411156111e15760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b838110156111a657818101518382015260200161118e565b50505050905090810190601f1680156111d35780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b6001600160a01b038216611244576040805162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f206164647265737300604482015290519081900360640190fd5b61124f308383611445565b60025461125c9082610e89565b6002556001600160a01b0382166000908152602081905260409020546112829082610e89565b6001600160a01b038316600081815260208181526040918290209390935580518481529051919230927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9281900390910190a35050565b6001600160a01b03821661131e5760405162461bcd60e51b815260040180806020018281038252602181526020018061164b6021913960400191505060405180910390fd5b61132a82600083611445565b61136781604051806060016040528060228152602001611529602291396001600160a01b0385166000908152602081905260409020549190611152565b6001600160a01b03831660009081526020819052604090205560025461138d90826114c3565b6002556040805182815290516000916001600160a01b038516917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9181900360200190a35050565b6001600160a01b03166000908152600660205260409020805460ff19166001179055565b600061142982604051806060016040528060248152602001611627602491396114228633610cd5565b9190611152565b9050611436833383610f0b565b61144083836112d9565b505050565b6001600160a01b03821660009081526020819052604090205415158061148857506001600160a01b03831660009081526006602052604090205460ff1615156001145b6114405760405162461bcd60e51b81526004018080602001828103825260268152602001806115b96026913960400191505060405180910390fd5b6000610ee383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061115256fe45524332303a207472616e7366657220746f20746865207a65726f206164647265737345524332303a206275726e20616d6f756e7420657863656564732062616c616e63654f776e61626c653a206e6577206f776e657220697320746865207a65726f206164647265737345524332303a20617070726f766520746f20746865207a65726f206164647265737345524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e63654163636f756e74206e6f7420617070726f76656420746f207472616e7366657220704f4c592e45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e63654f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657245524332303a206275726e20616d6f756e74206578636565647320616c6c6f77616e636545524332303a206275726e2066726f6d20746865207a65726f206164647265737345524332303a207472616e736665722066726f6d20746865207a65726f206164647265737345524332303a20617070726f76652066726f6d20746865207a65726f206164647265737345524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122047a8532bda475168197a80e219c3b697aa0c2222787d3945199d1f372cd2554f64736f6c63430007050033

Deployed Bytecode Sourcemap

9399:2959:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:77;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10912:204;;;;;;;;;;;;;;;;-1:-1:-1;10912:204:0;-1:-1:-1;;;;;10912:204:0;;:::i;:::-;;;;;;;;;;;;;;;;;;6356:177;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6356:177:0;;;;;;;;:::i;9543:50::-;;;;;;;;;;;;;;;;-1:-1:-1;9543:50:0;-1:-1:-1;;;;;9543:50:0;;:::i;9512:24::-;;;:::i;5797:94::-;;;:::i;:::-;;;;;;;;;;;;;;;;6541:337;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6541:337:0;;;;;;;;;;;;;;;;;:::i;5714:77::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;6886:234;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6886:234:0;;;;;;;;:::i;11644:180::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11644:180:0;;;;;;;;:::i;:::-;;11831:87;;;;;;;;;;;;;;;;-1:-1:-1;11831:87:0;;:::i;10491:282::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10491:282:0;;-1:-1:-1;10491:282:0;-1:-1:-1;10491:282:0;:::i;5897:113::-;;;;;;;;;;;;;;;;-1:-1:-1;5897:113:0;-1:-1:-1;;;;;5897:113:0;;:::i;3958:148::-;;;:::i;11926:117::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;11926:117:0;;;;;;;;:::i;10044:123::-;;;:::i;3736:79::-;;;:::i;:::-;;;;-1:-1:-1;;;;;3736:79:0;;;;;;;;;;;;;;5627:81;;;:::i;11122:297::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;11122:297:0;;-1:-1:-1;11122:297:0;-1:-1:-1;11122:297:0;:::i;10296:189::-;;;;;;;;;;;;;;;;-1:-1:-1;10296:189:0;-1:-1:-1;;;;;10296:189:0;;:::i;7128:285::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;7128:285:0;;;;;;;;:::i;6016:173::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6016:173:0;;;;;;;;:::i;9474:33::-;;;:::i;6197:151::-;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;6197:151:0;;;;;;;;;;:::i;9895:143::-;;;:::i;4114:244::-;;;;;;;;;;;;;;;;-1:-1:-1;4114:244:0;-1:-1:-1;;;;;4114:244:0;;:::i;5544:77::-;5610:5;5603:12;;;;;;;;-1:-1:-1;;5603:12:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5581:13;;5603:12;;5610:5;;5603:12;;5610:5;5603:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5544:77;:::o;10912:204::-;11003:4;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;11017:43:::1;11040:18;11017:21;:43::i;:::-;-1:-1:-1::0;;;;;;11074:36:0::1;;::::0;;;:16:::1;:36;::::0;;;;;::::1;;::::0;10912:204::o;6356:177::-;6439:4;6456:47;6465:20;:18;:20::i;:::-;6487:7;6496:6;6456:8;:47::i;:::-;-1:-1:-1;6521:4:0;6356:177;;;;:::o;9543:50::-;;;;;;;;;;;;;;;:::o;9512:24::-;;;-1:-1:-1;;;9512:24:0;;;;;:::o;5797:94::-;5873:12;;5797:94;:::o;6541:337::-;6647:4;6664:36;6674:6;6682:9;6693:6;6664:9;:36::i;:::-;6711:137;6720:6;6728:20;:18;:20::i;:::-;6750:97;6796:6;6750:97;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6750:19:0;;;;;;:11;:19;;;;;;6770:20;:18;:20::i;:::-;-1:-1:-1;;;;;6750:41:0;;;;;;;;;;;;-1:-1:-1;6750:41:0;;;:97;:45;:97::i;:::-;6711:8;:137::i;:::-;-1:-1:-1;6866:4:0;6541:337;;;;;:::o;5714:77::-;5776:9;;;;5714:77;:::o;6886:234::-;6974:4;6991:99;7000:20;:18;:20::i;:::-;7022:7;7031:58;7078:10;7031:11;:33;7043:20;:18;:20::i;:::-;-1:-1:-1;;;;;7031:33:0;;;;;;;;;;;;;;;;;-1:-1:-1;7031:33:0;;;:42;;;;;;;;;;;:46;:58::i;11644:180::-;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;11739:12:::1;::::0;-1:-1:-1;;;11739:12:0;::::1;;;11730:53;;;::::0;;-1:-1:-1;;;11730:53:0;;::::1;;::::0;::::1;::::0;::::1;::::0;;;;::::1;::::0;;;;;;;;;;;;;::::1;;11790:28;11797:10;11809:7;11790:5;:28::i;:::-;11644:180:::0;;:::o;11831:87::-;11884:28;11891:10;11903:7;11884:5;:28::i;:::-;11831:87;:::o;10491:282::-;10589:4;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;10610:18:::1;10605:145;10630:36:::0;;::::1;10605:145;;;10692:50;10712:16;;10729:10;10712:28;;;;;;;;;;;;;-1:-1:-1::0;;;;;10712:28:0::1;10692:18;:50::i;:::-;10668:12;;10605:145;;5897:113:::0;-1:-1:-1;;;;;5986:18:0;5963:7;5986:18;;;;;;;;;;;;5897:113::o;3958:148::-;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;4049:6:::1;::::0;4028:40:::1;::::0;4065:1:::1;::::0;4049:6:::1;::::0;::::1;-1:-1:-1::0;;;;;4049:6:0::1;::::0;4028:40:::1;::::0;4065:1;;4028:40:::1;4079:6;:19:::0;;-1:-1:-1;;;;;;4079:19:0::1;::::0;;3958:148::o;11926:117::-;12005:30;12016:8;12026:7;12005:9;:30::i;10044:123::-;10101:4;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;-1:-1:-1;10115:12:0::1;:20:::0;;-1:-1:-1;;;;10115:20:0::1;::::0;;;;-1:-1:-1;;;10149:12:0;::::1;10115:20;10149:12;10044:123:::0;:::o;3736:79::-;3801:6;;;;;-1:-1:-1;;;;;3801:6:0;;3736:79::o;5627:81::-;5695:7;5688:14;;;;;;;;-1:-1:-1;;5688:14:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5666:13;;5688:14;;5695:7;;5688:14;;5695:7;5688:14;;;;;;;;;;;;;;;;;;;;;;;;11122:297;11226:4;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;11247:18:::1;11242:154;11267:39:::0;;::::1;11242:154;;;11332:56;11355:19;;11375:10;11355:31;;;;;;;;;;;;;-1:-1:-1::0;;;;;11355:31:0::1;11332:21;:56::i;:::-;11308:12;;11242:154;;10296:189:::0;10381:4;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;10395:37:::1;10415:15;10395:18;:37::i;7128:285::-:0;7221:4;7238:145;7247:20;:18;:20::i;:::-;7269:7;7278:104;7325:15;7278:104;;;;;;;;;;;;;;;;;:11;:33;7290:20;:18;:20::i;:::-;-1:-1:-1;;;;;7278:33:0;;;;;;;;;;;;;;;;;-1:-1:-1;7278:33:0;;;:42;;;;;;;;;;;:104;:46;:104::i;6016:173::-;6102:4;6115:50;6125:20;:18;:20::i;:::-;6147:9;6158:6;6115:9;:50::i;9474:33::-;;;-1:-1:-1;;;9474:33:0;;;;;:::o;6197:151::-;-1:-1:-1;;;;;6313:18:0;;;6286:7;6313:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6197:151::o;9895:143::-;9954:4;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;-1:-1:-1;9968:21:0::1;:29:::0;;-1:-1:-1;;;;9968:29:0::1;::::0;;;;-1:-1:-1;;;10011:21:0;::::1;9968:29;10011:21;9895:143:::0;:::o;4114:244::-;3873:20;:18;:20::i;:::-;3863:6;;;;;-1:-1:-1;;;;;3863:6:0;;;:30;;;3855:75;;;;;-1:-1:-1;;;3855:75:0;;;;;;;;;;;;;-1:-1:-1;;;;;;;;;;;3855:75:0;;;;;;;;;;;;;;;-1:-1:-1;;;;;4203:22:0;::::1;4195:73;;;;-1:-1:-1::0;;;4195:73:0::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4305:6;::::0;4284:38:::1;::::0;-1:-1:-1;;;;;4284:38:0;;::::1;::::0;4305:6:::1;::::0;::::1;;::::0;4284:38:::1;::::0;;;::::1;4333:6;:17:::0;;-1:-1:-1;;;;;4333:17:0;;::::1;;;-1:-1:-1::0;;;;;;4333:17:0;;::::1;::::0;;;::::1;::::0;;4114:244::o;3074:98::-;3154:10;3074:98;:::o;97:181::-;155:7;187:5;;;211:6;;;;203:46;;;;;-1:-1:-1;;;203:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;269:1;97:181;-1:-1:-1;;;97:181:0:o;10779:127::-;-1:-1:-1;;;;;10856:36:0;10895:5;10856:36;;;:16;:36;;;;;:44;;-1:-1:-1;;10856:44:0;;;10779:127::o;8774:346::-;-1:-1:-1;;;;;8876:19:0;;8868:68;;;;-1:-1:-1;;;8868:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8955:21:0;;8947:68;;;;-1:-1:-1;;;8947:68:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;9028:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9080:32;;;;;;;;;;;;;;;;;8774:346;;;:::o;7419:513::-;-1:-1:-1;;;;;7521:20:0;;7513:70;;;;-1:-1:-1;;;7513:70:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7598:23:0;;7590:71;;;;-1:-1:-1;;;7590:71:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7670:47;7691:6;7699:9;7710:6;7670:20;:47::i;:::-;7746:71;7768:6;7746:71;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7746:17:0;;:9;:17;;;;;;;;;;;;:71;:21;:71::i;:::-;-1:-1:-1;;;;;7726:17:0;;;:9;:17;;;;;;;;;;;:91;;;;7847:20;;;;;;;:32;;7872:6;7847:24;:32::i;:::-;-1:-1:-1;;;;;7824:20:0;;;:9;:20;;;;;;;;;;;;:55;;;;7891:35;;;;;;;7824:20;;7891:35;;;;;;;;;;;;;7419:513;;;:::o;430:192::-;516:7;552:12;544:6;;;;536:29;;;;-1:-1:-1;;;536:29:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;588:5:0;;;430:192::o;7940:400::-;-1:-1:-1;;;;;8027:22:0;;8019:66;;;;;-1:-1:-1;;;8019:66:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;8096:57;8126:4;8134:8;8144;8096:20;:57::i;:::-;8179:12;;:26;;8196:8;8179:16;:26::i;:::-;8164:12;:41;-1:-1:-1;;;;;8238:19:0;;:9;:19;;;;;;;;;;;:33;;8262:8;8238:23;:33::i;:::-;-1:-1:-1;;;;;8216:19:0;;:9;:19;;;;;;;;;;;;:55;;;;8287:45;;;;;;;8216:19;;8305:4;;8287:45;;;;;;;;;;7940:400;;:::o;8348:418::-;-1:-1:-1;;;;;8432:21:0;;8424:67;;;;-1:-1:-1;;;8424:67:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8504:49;8525:7;8542:1;8546:6;8504:20;:49::i;:::-;8587:68;8610:6;8587:68;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;8587:18:0;;:9;:18;;;;;;;;;;;;:68;:22;:68::i;:::-;-1:-1:-1;;;;;8566:18:0;;:9;:18;;;;;;;;;;:89;8681:12;;:24;;8698:6;8681:16;:24::i;:::-;8666:12;:39;8721:37;;;;;;;;8747:1;;-1:-1:-1;;;;;8721:37:0;;;;;;;;;;;;8348:418;;:::o;10173:117::-;-1:-1:-1;;;;;10244:33:0;;;;;:16;:33;;;;;:40;;-1:-1:-1;;10244:40:0;10280:4;10244:40;;;10173:117::o;12051:304::-;12133:27;12163:87;12202:7;12163:87;;;;;;;;;;;;;;;;;:33;12174:8;12184:10;12163:9;:33::i;:::-;:37;:87;:37;:87::i;:::-;12133:117;;12259:53;12269:8;12279:10;12291:19;12259:8;:53::i;:::-;12321:26;12328:8;12338:7;12321:5;:26::i;:::-;12051:304;;;:::o;11423:215::-;-1:-1:-1;;;;;11534:14:0;;11551:1;11534:14;;;;;;;;;;;:18;;;:53;;-1:-1:-1;;;;;;11556:23:0;;;;;;:16;:23;;;;;;;;:31;;:23;:31;11534:53;11524:108;;;;-1:-1:-1;;;11524:108:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;286:136;344:7;371:43;375:1;378;371:43;;;;;;;;;;;;;;;;;:3;:43::i

Swarm Source

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