ETH Price: $3,484.68 (+4.52%)

Token

DERIDEX PROTOCOL (DERIDEX)
 

Overview

Max Total Supply

1,000,000 DERIDEX

Holders

21

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 8 Decimals)

Filtered by Token Holder
thewindofchange.eth
Balance
21,552.57027996 DERIDEX

Value
$0.00
0x029628c78b3b566ed36d0574ef0dfed4bdf62ab4
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:
DeriDexProtocol

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-12-17
*/

// SPDX-License-Identifier: MIT

/**

DeriDex - DERIDEX PROTOCOL

https://t.me/DeriDexProtocolOfficial

https://twitter.com/DeridexProtocol

Tax : 0%

**/

pragma solidity 0.8.6;

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

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);
}

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;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

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

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

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

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

}

interface IUniswapV2Factory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    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);
}

contract DeriDexProtocol is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping(address => uint256) private _holderLastTransferTimestamp;
    bool public transferDelayEnabled = true;
    address payable private _taxWallet;

    uint256 private _initialTax=0;
    uint256 private _finalTax=0;

    uint8 private constant _decimals = 8;
    uint256 private constant _tTotal = 1000000 * 10**_decimals;
    string private constant _name = unicode"DERIDEX PROTOCOL";
    string private constant _symbol = unicode"DERIDEX";
    uint256 public _maxTxAmount = 20000 * 10**_decimals;
    uint256 public _maxWalletSize = 30000 * 10**_decimals;
    uint256 public _taxSwapThreshold= 10000 * 10**_decimals;
    uint256 public _maxTaxSwap= 10000 * 10**_decimals;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _taxWallet = payable(_msgSender());
        _balances[_msgSender()] = _tTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_taxWallet] = true;
        _isExcludedFromFee[0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D] = true;

        emit Transfer(address(0), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount=0;
        if (from != owner() && to != owner()) {

            if (transferDelayEnabled) {
                  if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                      require(
                          _holderLastTransferTimestamp[tx.origin] <
                              block.number,
                          "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                      );
                      _holderLastTransferTimestamp[tx.origin] = block.number;
                  }
              }

            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] ) {
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled && contractTokenBalance>_taxSwapThreshold) {
                swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }

        _balances[from]=_balances[from].sub(amount);
        _balances[to]=_balances[to].add(amount.sub(taxAmount));
        emit Transfer(from, to, amount.sub(taxAmount));
        if(taxAmount>0){
          _balances[address(this)]=_balances[address(this)].add(taxAmount);
          emit Transfer(from, address(this),taxAmount);
        }
    }


    function min(uint256 a, uint256 b) private pure returns (uint256){
      return (a>b)?b:a;
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize=_tTotal;
        transferDelayEnabled=false;
        emit MaxTxAmountUpdated(_tTotal);
    }

    function sendETHToFee(uint256 amount) private {
        _taxWallet.transfer(amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

        function reduceFee(uint256 _newFee) external onlyOwner() {
      require(_msgSender()==_taxWallet);
      _finalTax=_newFee;
    }

    receive() external payable {}

    function manualSwap() external {
        uint256 tokenBalance=balanceOf(address(this));
        if(tokenBalance>0){
          swapTokensForEth(tokenBalance);
        }
        uint256 ethBalance=address(this).balance;
        if(ethBalance>0){
          sendETHToFee(ethBalance);
        }
    }
}

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":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletSize","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_taxSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"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":"pure","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newFee","type":"uint256"}],"name":"reduceFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","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":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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"},{"stateMutability":"payable","type":"receive"}]

60806040526005805460ff1916600117905560006006819055600755620000296008600a620002a6565b6200003790614e2062000374565b6008556008600a6200004a9190620002a6565b620000589061753062000374565b600955620000696008600a620002a6565b620000779061271062000374565b600a556008600a6200008a9190620002a6565b620000989061271062000374565b600b55600d805461ffff60a81b19169055348015620000b657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060058054610100600160a81b03191661010033021790556200011d6008600a620002a6565b6200012c90620f424062000374565b336000908152600160208190526040822092909255600390620001576000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526003909352818320805485166001908117909155600554610100900490911683529082208054841682179055737a250d5630b4cf539739df2c5dacb4c659f2488d9091527ffb19a963956c9cb662dd3ae48988c4b90766df71ea130109840abe0a1b23dba88054909216179055620001fd3390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002376008600a620002a6565b6200024690620f424062000374565b60405190815260200160405180910390a3620003ac565b600181815b808511156200029e57816000190482111562000282576200028262000396565b808516156200029057918102915b93841c939080029062000262565b509250929050565b6000620002b760ff841683620002be565b9392505050565b600082620002cf575060016200036e565b81620002de575060006200036e565b8160018114620002f75760028114620003025762000322565b60019150506200036e565b60ff84111562000316576200031662000396565b50506001821b6200036e565b5060208310610133831016604e8410600b841016171562000347575081810a6200036e565b6200035383836200025d565b80600019048211156200036a576200036a62000396565b0290505b92915050565b600081600019048311821515161562000391576200039162000396565b500290565b634e487b7160e01b600052601160045260246000fd5b61178680620003bc6000396000f3fe6080604052600436106101235760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed1461033a578063c876d0b914610350578063c9567bf91461036a578063dd62ed3e1461037f578063ec1f3f63146103c557600080fd5b80637d1db4a5146102965780638da5cb5b146102ac5780638f9a55c0146102d457806395d89b41146102ea578063a9059cbb1461031a57600080fd5b8063313ce567116100e7578063313ce5671461020357806351bc3c851461021f57806370a0823114610236578063715018a61461026c578063751039fc1461028157600080fd5b806306fdde031461012f578063095ea7b31461017a5780630faee56f146101aa57806318160ddd146101ce57806323b872dd146101e357600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152601081526f1111549251115608141493d513d0d3d360821b60208201525b60405161017191906114b0565b60405180910390f35b34801561018657600080fd5b5061019a61019536600461141b565b6103e5565b6040519015158152602001610171565b3480156101b657600080fd5b506101c0600b5481565b604051908152602001610171565b3480156101da57600080fd5b506101c06103fc565b3480156101ef57600080fd5b5061019a6101fe3660046113da565b61041c565b34801561020f57600080fd5b5060405160088152602001610171565b34801561022b57600080fd5b50610234610485565b005b34801561024257600080fd5b506101c0610251366004611367565b6001600160a01b031660009081526001602052604090205490565b34801561027857600080fd5b506102346104b8565b34801561028d57600080fd5b50610234610535565b3480156102a257600080fd5b506101c060085481565b3480156102b857600080fd5b506000546040516001600160a01b039091168152602001610171565b3480156102e057600080fd5b506101c060095481565b3480156102f657600080fd5b506040805180820190915260078152660888aa492888ab60cb1b6020820152610164565b34801561032657600080fd5b5061019a61033536600461141b565b6105ef565b34801561034657600080fd5b506101c0600a5481565b34801561035c57600080fd5b5060055461019a9060ff1681565b34801561037657600080fd5b506102346105fc565b34801561038b57600080fd5b506101c061039a3660046113a1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103d157600080fd5b506102346103e0366004611469565b610a01565b60006103f2338484610a55565b5060015b92915050565b600061040a6008600a611606565b61041790620f42406116b1565b905090565b6000610429848484610b79565b61047b843361047685604051806060016040528060288152602001611729602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110ad565b610a55565b5060019392505050565b3060009081526001602052604090205480156104a4576104a4816110e7565b4780156104b4576104b481611270565b5050565b6000546001600160a01b031633146104eb5760405162461bcd60e51b81526004016104e290611505565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461055f5760405162461bcd60e51b81526004016104e290611505565b61056b6008600a611606565b61057890620f42406116b1565b600890815561058890600a611606565b61059590620f42406116b1565b6009556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105cf6008600a611606565b6105dc90620f42406116b1565b60405190815260200160405180910390a1565b60006103f2338484610b79565b6000546001600160a01b031633146106265760405162461bcd60e51b81526004016104e290611505565b600d54600160a01b900460ff16156106805760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e2565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106c89030906106bb6008600a611606565b61047690620f42406116b1565b600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e9190611384565b6001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190611384565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082b57600080fd5b505af115801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108639190611384565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306108ab816001600160a01b031660009081526001602052604090205490565b6000806108c06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561092357600080fd5b505af1158015610937573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061095c9190611482565b5050600d805462ff00ff60a01b1981166201000160a01b17909155600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109c657600080fd5b505af11580156109da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fe9190611447565b50565b6000546001600160a01b03163314610a2b5760405162461bcd60e51b81526004016104e290611505565b60055461010090046001600160a01b0316336001600160a01b031614610a5057600080fd5b600755565b6001600160a01b038316610ab75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e2565b6001600160a01b038216610b185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e2565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bdd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e2565b6001600160a01b038216610c3f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e2565b60008111610ca15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e2565b600080546001600160a01b03858116911614801590610cce57506000546001600160a01b03848116911614155b15610f6a5760055460ff1615610db857600c546001600160a01b03848116911614801590610d0a5750600d546001600160a01b03848116911614155b15610db857326000908152600460205260409020544311610da55760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104e2565b3260009081526004602052604090204390555b600d546001600160a01b038581169116148015610de35750600c546001600160a01b03848116911614155b8015610e0857506001600160a01b03831660009081526003602052604090205460ff16155b15610eda57600854821115610e5f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e2565b60095482610e82856001600160a01b031660009081526001602052604090205490565b610e8c91906115ab565b1115610eda5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e2565b30600090815260016020526040902054600d54600160a81b900460ff16158015610f125750600d546001600160a01b03868116911614155b8015610f275750600d54600160b01b900460ff165b8015610f345750600a5481115b15610f6857610f56610f5184610f4c84600b546112ae565b6112ae565b6110e7565b478015610f6657610f6647611270565b505b505b6001600160a01b038416600090815260016020526040902054610f8d90836112c6565b6001600160a01b038516600090815260016020526040902055610fd2610fb383836112c6565b6001600160a01b03851660009081526001602052604090205490611308565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61101c85856112c6565b60405190815260200160405180910390a380156110a7573060009081526001602052604090205461104d9082611308565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061109e9085815260200190565b60405180910390a35b50505050565b600081848411156110d15760405162461bcd60e51b81526004016104e291906114b0565b5060006110de84866116d0565b95945050505050565b600d805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061112f5761112f6116fd565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561118357600080fd5b505afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb9190611384565b816001815181106111ce576111ce6116fd565b6001600160a01b039283166020918202929092010152600c546111f49130911684610a55565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061122d90859060009086903090429060040161153a565b600060405180830381600087803b15801561124757600080fd5b505af115801561125b573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156104b4573d6000803e3d6000fd5b60008183116112bd57826112bf565b815b9392505050565b60006112bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110ad565b60008061131583856115ab565b9050838110156112bf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e2565b60006020828403121561137957600080fd5b81356112bf81611713565b60006020828403121561139657600080fd5b81516112bf81611713565b600080604083850312156113b457600080fd5b82356113bf81611713565b915060208301356113cf81611713565b809150509250929050565b6000806000606084860312156113ef57600080fd5b83356113fa81611713565b9250602084013561140a81611713565b929592945050506040919091013590565b6000806040838503121561142e57600080fd5b823561143981611713565b946020939093013593505050565b60006020828403121561145957600080fd5b815180151581146112bf57600080fd5b60006020828403121561147b57600080fd5b5035919050565b60008060006060848603121561149757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156114dd578581018301518582016040015282016114c1565b818111156114ef576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561158a5784516001600160a01b031683529383019391830191600101611565565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156115be576115be6116e7565b500190565b600181815b808511156115fe5781600019048211156115e4576115e46116e7565b808516156115f157918102915b93841c93908002906115c8565b509250929050565b60006112bf60ff84168360008261161f575060016103f6565b8161162c575060006103f6565b8160018114611642576002811461164c57611668565b60019150506103f6565b60ff84111561165d5761165d6116e7565b50506001821b6103f6565b5060208310610133831016604e8410600b841016171561168b575081810a6103f6565b61169583836115c3565b80600019048211156116a9576116a96116e7565b029392505050565b60008160001904831182151516156116cb576116cb6116e7565b500290565b6000828210156116e2576116e26116e7565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146109fe57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037ba0a3ab939d22af48e8ff0530a2c06d8e01fab8bb5c7beb822f9e26aa44d3364736f6c63430008060033

Deployed Bytecode

0x6080604052600436106101235760003560e01c80637d1db4a5116100a0578063bf474bed11610064578063bf474bed1461033a578063c876d0b914610350578063c9567bf91461036a578063dd62ed3e1461037f578063ec1f3f63146103c557600080fd5b80637d1db4a5146102965780638da5cb5b146102ac5780638f9a55c0146102d457806395d89b41146102ea578063a9059cbb1461031a57600080fd5b8063313ce567116100e7578063313ce5671461020357806351bc3c851461021f57806370a0823114610236578063715018a61461026c578063751039fc1461028157600080fd5b806306fdde031461012f578063095ea7b31461017a5780630faee56f146101aa57806318160ddd146101ce57806323b872dd146101e357600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b5060408051808201909152601081526f1111549251115608141493d513d0d3d360821b60208201525b60405161017191906114b0565b60405180910390f35b34801561018657600080fd5b5061019a61019536600461141b565b6103e5565b6040519015158152602001610171565b3480156101b657600080fd5b506101c0600b5481565b604051908152602001610171565b3480156101da57600080fd5b506101c06103fc565b3480156101ef57600080fd5b5061019a6101fe3660046113da565b61041c565b34801561020f57600080fd5b5060405160088152602001610171565b34801561022b57600080fd5b50610234610485565b005b34801561024257600080fd5b506101c0610251366004611367565b6001600160a01b031660009081526001602052604090205490565b34801561027857600080fd5b506102346104b8565b34801561028d57600080fd5b50610234610535565b3480156102a257600080fd5b506101c060085481565b3480156102b857600080fd5b506000546040516001600160a01b039091168152602001610171565b3480156102e057600080fd5b506101c060095481565b3480156102f657600080fd5b506040805180820190915260078152660888aa492888ab60cb1b6020820152610164565b34801561032657600080fd5b5061019a61033536600461141b565b6105ef565b34801561034657600080fd5b506101c0600a5481565b34801561035c57600080fd5b5060055461019a9060ff1681565b34801561037657600080fd5b506102346105fc565b34801561038b57600080fd5b506101c061039a3660046113a1565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156103d157600080fd5b506102346103e0366004611469565b610a01565b60006103f2338484610a55565b5060015b92915050565b600061040a6008600a611606565b61041790620f42406116b1565b905090565b6000610429848484610b79565b61047b843361047685604051806060016040528060288152602001611729602891396001600160a01b038a16600090815260026020908152604080832033845290915290205491906110ad565b610a55565b5060019392505050565b3060009081526001602052604090205480156104a4576104a4816110e7565b4780156104b4576104b481611270565b5050565b6000546001600160a01b031633146104eb5760405162461bcd60e51b81526004016104e290611505565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461055f5760405162461bcd60e51b81526004016104e290611505565b61056b6008600a611606565b61057890620f42406116b1565b600890815561058890600a611606565b61059590620f42406116b1565b6009556005805460ff191690557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105cf6008600a611606565b6105dc90620f42406116b1565b60405190815260200160405180910390a1565b60006103f2338484610b79565b6000546001600160a01b031633146106265760405162461bcd60e51b81526004016104e290611505565b600d54600160a01b900460ff16156106805760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e00000000000000000060448201526064016104e2565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106c89030906106bb6008600a611606565b61047690620f42406116b1565b600c60009054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561071657600080fd5b505afa15801561072a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061074e9190611384565b6001600160a01b031663c9c6539630600c60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ab57600080fd5b505afa1580156107bf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e39190611384565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082b57600080fd5b505af115801561083f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108639190611384565b600d80546001600160a01b039283166001600160a01b0319909116179055600c541663f305d71947306108ab816001600160a01b031660009081526001602052604090205490565b6000806108c06000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561092357600080fd5b505af1158015610937573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061095c9190611482565b5050600d805462ff00ff60a01b1981166201000160a01b17909155600c5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109c657600080fd5b505af11580156109da573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109fe9190611447565b50565b6000546001600160a01b03163314610a2b5760405162461bcd60e51b81526004016104e290611505565b60055461010090046001600160a01b0316336001600160a01b031614610a5057600080fd5b600755565b6001600160a01b038316610ab75760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104e2565b6001600160a01b038216610b185760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104e2565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610bdd5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104e2565b6001600160a01b038216610c3f5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104e2565b60008111610ca15760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104e2565b600080546001600160a01b03858116911614801590610cce57506000546001600160a01b03848116911614155b15610f6a5760055460ff1615610db857600c546001600160a01b03848116911614801590610d0a5750600d546001600160a01b03848116911614155b15610db857326000908152600460205260409020544311610da55760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a4016104e2565b3260009081526004602052604090204390555b600d546001600160a01b038581169116148015610de35750600c546001600160a01b03848116911614155b8015610e0857506001600160a01b03831660009081526003602052604090205460ff16155b15610eda57600854821115610e5f5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e0000000000000060448201526064016104e2565b60095482610e82856001600160a01b031660009081526001602052604090205490565b610e8c91906115ab565b1115610eda5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e00000000000060448201526064016104e2565b30600090815260016020526040902054600d54600160a81b900460ff16158015610f125750600d546001600160a01b03868116911614155b8015610f275750600d54600160b01b900460ff165b8015610f345750600a5481115b15610f6857610f56610f5184610f4c84600b546112ae565b6112ae565b6110e7565b478015610f6657610f6647611270565b505b505b6001600160a01b038416600090815260016020526040902054610f8d90836112c6565b6001600160a01b038516600090815260016020526040902055610fd2610fb383836112c6565b6001600160a01b03851660009081526001602052604090205490611308565b6001600160a01b0380851660008181526001602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef61101c85856112c6565b60405190815260200160405180910390a380156110a7573060009081526001602052604090205461104d9082611308565b30600081815260016020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061109e9085815260200190565b60405180910390a35b50505050565b600081848411156110d15760405162461bcd60e51b81526004016104e291906114b0565b5060006110de84866116d0565b95945050505050565b600d805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061112f5761112f6116fd565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561118357600080fd5b505afa158015611197573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111bb9190611384565b816001815181106111ce576111ce6116fd565b6001600160a01b039283166020918202929092010152600c546111f49130911684610a55565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac9479061122d90859060009086903090429060040161153a565b600060405180830381600087803b15801561124757600080fd5b505af115801561125b573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b6005546040516101009091046001600160a01b0316906108fc8315029083906000818181858888f193505050501580156104b4573d6000803e3d6000fd5b60008183116112bd57826112bf565b815b9392505050565b60006112bf83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506110ad565b60008061131583856115ab565b9050838110156112bf5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104e2565b60006020828403121561137957600080fd5b81356112bf81611713565b60006020828403121561139657600080fd5b81516112bf81611713565b600080604083850312156113b457600080fd5b82356113bf81611713565b915060208301356113cf81611713565b809150509250929050565b6000806000606084860312156113ef57600080fd5b83356113fa81611713565b9250602084013561140a81611713565b929592945050506040919091013590565b6000806040838503121561142e57600080fd5b823561143981611713565b946020939093013593505050565b60006020828403121561145957600080fd5b815180151581146112bf57600080fd5b60006020828403121561147b57600080fd5b5035919050565b60008060006060848603121561149757600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156114dd578581018301518582016040015282016114c1565b818111156114ef576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b8181101561158a5784516001600160a01b031683529383019391830191600101611565565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156115be576115be6116e7565b500190565b600181815b808511156115fe5781600019048211156115e4576115e46116e7565b808516156115f157918102915b93841c93908002906115c8565b509250929050565b60006112bf60ff84168360008261161f575060016103f6565b8161162c575060006103f6565b8160018114611642576002811461164c57611668565b60019150506103f6565b60ff84111561165d5761165d6116e7565b50506001821b6103f6565b5060208310610133831016604e8410600b841016171561168b575081810a6103f6565b61169583836115c3565b80600019048211156116a9576116a96116e7565b029392505050565b60008160001904831182151516156116cb576116cb6116e7565b500290565b6000828210156116e2576116e26116e7565b500390565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146109fe57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122037ba0a3ab939d22af48e8ff0530a2c06d8e01fab8bb5c7beb822f9e26aa44d3364736f6c63430008060033

Deployed Bytecode Sourcemap

3607:7512:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5331:83;;;;;;;;;;-1:-1:-1;5401:5:0;;;;;;;;;;;;-1:-1:-1;;;5401:5:0;;;;5331:83;;;;;;;:::i;:::-;;;;;;;;6164:161;;;;;;;;;;-1:-1:-1;6164:161:0;;;;;:::i;:::-;;:::i;:::-;;;4047:14:1;;4040:22;4022:41;;4010:2;3995:18;6164:161:0;3977:92:1;4529:49:0;;;;;;;;;;;;;;;;;;;9110:25:1;;;9098:2;9083:18;4529:49:0;9065:76:1;5608:95:0;;;;;;;;;;;;;:::i;6333:313::-;;;;;;;;;;-1:-1:-1;6333:313:0;;;;;:::i;:::-;;:::i;5517:83::-;;;;;;;;;;-1:-1:-1;5517:83:0;;4155:1;10273:36:1;;10261:2;10246:18;5517:83:0;10228:87:1;10812:304:0;;;;;;;;;;;;;:::i;:::-;;5711:119;;;;;;;;;;-1:-1:-1;5711:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;5804:18:0;5777:7;5804:18;;;:9;:18;;;;;;;5711:119;2688:148;;;;;;;;;;;;;:::i;9647:196::-;;;;;;;;;;;;;:::i;4349:51::-;;;;;;;;;;;;;;;;2474:79;;;;;;;;;;-1:-1:-1;2512:7:0;2539:6;2474:79;;-1:-1:-1;;;;;2539:6:0;;;2620:51:1;;2608:2;2593:18;2474:79:0;2575:102:1;4407:53:0;;;;;;;;;;;;;;;;5422:87;;;;;;;;;;-1:-1:-1;5494:7:0;;;;;;;;;;;;-1:-1:-1;;;5494:7:0;;;;5422:87;;5838:167;;;;;;;;;;-1:-1:-1;5838:167:0;;;;;:::i;:::-;;:::i;4467:55::-;;;;;;;;;;;;;;;;3959:39;;;;;;;;;;-1:-1:-1;3959:39:0;;;;;;;;9951:671;;;;;;;;;;;;;:::i;6013:143::-;;;;;;;;;;-1:-1:-1;6013:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6121:18:0;;;6094:7;6121:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6013:143;10634:133;;;;;;;;;;-1:-1:-1;10634:133:0;;;;;:::i;:::-;;:::i;6164:161::-;6239:4;6256:39;309:10;6279:7;6288:6;6256:8;:39::i;:::-;-1:-1:-1;6313:4:0;6164:161;;;;;:::o;5608:95::-;5661:7;4208:13;4155:1;4208:2;:13;:::i;:::-;4198:23;;:7;:23;:::i;:::-;5681:14;;5608:95;:::o;6333:313::-;6431:4;6448:36;6458:6;6466:9;6477:6;6448:9;:36::i;:::-;6495:121;6504:6;309:10;6526:89;6564:6;6526:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6526:19:0;;;;;;:11;:19;;;;;;;;309:10;6526:33;;;;;;;;;;:37;:89::i;:::-;6495:8;:121::i;:::-;-1:-1:-1;6634:4:0;6333:313;;;;;:::o;10812:304::-;10893:4;10854:20;5804:18;;;:9;:18;;;;;;10913:14;;10910:73;;10941:30;10958:12;10941:16;:30::i;:::-;11012:21;11047:12;;11044:65;;11073:24;11086:10;11073:12;:24::i;:::-;10843:273;;10812:304::o;2688:148::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;;;;;;;;;2795:1:::1;2779:6:::0;;2758:40:::1;::::0;-1:-1:-1;;;;;2779:6:0;;::::1;::::0;2758:40:::1;::::0;2795:1;;2758:40:::1;2826:1;2809:19:::0;;-1:-1:-1;;;;;;2809:19:0::1;::::0;;2688:148::o;9647:196::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;4208:13:::1;4155:1;4208:2;:13;:::i;:::-;4198:23;::::0;:7:::1;:23;:::i;:::-;9700:12;:22:::0;;;4208:13:::1;::::0;:2:::1;:13;:::i;:::-;4198:23;::::0;:7:::1;:23;:::i;:::-;9733:14;:22:::0;9766:20:::1;:26:::0;;-1:-1:-1;;9766:26:0::1;::::0;;9808:27:::1;4208:13;4155:1;4208:2;:13;:::i;:::-;4198:23;::::0;:7:::1;:23;:::i;:::-;9808:27;::::0;9110:25:1;;;9098:2;9083:18;9808:27:0::1;;;;;;;9647:196::o:0;5838:167::-;5916:4;5933:42;309:10;5957:9;5968:6;5933:9;:42::i;9951:671::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;10015:11:::1;::::0;-1:-1:-1;;;10015:11:0;::::1;;;10014:12;10006:47;;;::::0;-1:-1:-1;;;10006:47:0;;8814:2:1;10006:47:0::1;::::0;::::1;8796:21:1::0;8853:2;8833:18;;;8826:30;8892:25;8872:18;;;8865:53;8935:18;;10006:47:0::1;8786:173:1::0;10006:47:0::1;10064:15;:80:::0;;-1:-1:-1;;;;;;10064:80:0::1;10101:42;10064:80:::0;;::::1;::::0;;;10155:58:::1;::::0;10172:4:::1;::::0;4208:13:::1;4155:1;4208:2;:13;:::i;:::-;4198:23;::::0;:7:::1;:23;:::i;10155:58::-;10258:15;;;;;;;;;-1:-1:-1::0;;;;;10258:15:0::1;-1:-1:-1::0;;;;;10258:23:0::1;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10240:55:0::1;;10304:4;10311:15;;;;;;;;;-1:-1:-1::0;;;;;10311:15:0::1;-1:-1:-1::0;;;;;10311:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10240:94;::::0;-1:-1:-1;;;;;;10240:94:0::1;::::0;;;;;;-1:-1:-1;;;;;2912:15:1;;;10240:94:0::1;::::0;::::1;2894:34:1::0;2964:15;;2944:18;;;2937:43;2829:18;;10240:94:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10224:13;:110:::0;;-1:-1:-1;;;;;10224:110:0;;::::1;-1:-1:-1::0;;;;;;10224:110:0;;::::1;;::::0;;10345:15:::1;::::0;::::1;:31;10384:21;10415:4;10421:24;10415:4:::0;-1:-1:-1;;;;;5804:18:0;5777:7;5804:18;;;:9;:18;;;;;;;5711:119;10421:24:::1;10446:1;10448::::0;10450:7:::1;2512::::0;2539:6;-1:-1:-1;;;;;2539:6:0;;2474:79;10450:7:::1;10345:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10345:129:0;;;-1:-1:-1;;;;;3629:15:1;;;10345:129:0::1;::::0;::::1;3611:34:1::0;3661:18;;;3654:34;;;;3704:18;;;3697:34;;;;3747:18;;;3740:34;3811:15;;;3790:19;;;3783:44;10458:15:0::1;3843:19:1::0;;;3836:35;3545:19;;10345:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10485:11:0::1;:18:::0;;-1:-1:-1;;;;10514:18:0;;-1:-1:-1;;;10514:18:0;;;;10581:15:::1;::::0;10543:71:::1;::::0;-1:-1:-1;;;10543:71:0;;-1:-1:-1;;;;;10581:15:0;;::::1;10543:71;::::0;::::1;3165:51:1::0;-1:-1:-1;;3232:18:1;;;3225:34;10550:13:0;;;-1:-1:-1;10543:29:0::1;::::0;3138:18:1;;10543:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9951:671::o:0;10634:133::-;2601:6;;-1:-1:-1;;;;;2601:6:0;309:10;2601:22;2593:67;;;;-1:-1:-1;;;2593:67:0;;;;;;;:::i;:::-;10722:10:::1;::::0;::::1;::::0;::::1;-1:-1:-1::0;;;;;10722:10:0::1;309::::0;-1:-1:-1;;;;;10708:24:0::1;;10700:33;;;::::0;::::1;;10742:9;:17:::0;10634:133::o;6654:335::-;-1:-1:-1;;;;;6747:19:0;;6739:68;;;;-1:-1:-1;;;6739:68:0;;8409:2:1;6739:68:0;;;8391:21:1;8448:2;8428:18;;;8421:30;8487:34;8467:18;;;8460:62;-1:-1:-1;;;8538:18:1;;;8531:34;8582:19;;6739:68:0;8381:226:1;6739:68:0;-1:-1:-1;;;;;6826:21:0;;6818:68;;;;-1:-1:-1;;;6818:68:0;;5636:2:1;6818:68:0;;;5618:21:1;5675:2;5655:18;;;5648:30;5714:34;5694:18;;;5687:62;-1:-1:-1;;;5765:18:1;;;5758:32;5807:19;;6818:68:0;5608:224:1;6818:68:0;-1:-1:-1;;;;;6897:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6949:32;;9110:25:1;;;6949:32:0;;9083:18:1;6949:32:0;;;;;;;6654:335;;;:::o;6997:2043::-;-1:-1:-1;;;;;7085:18:0;;7077:68;;;;-1:-1:-1;;;7077:68:0;;7648:2:1;7077:68:0;;;7630:21:1;7687:2;7667:18;;;7660:30;7726:34;7706:18;;;7699:62;-1:-1:-1;;;7777:18:1;;;7770:35;7822:19;;7077:68:0;7620:227:1;7077:68:0;-1:-1:-1;;;;;7164:16:0;;7156:64;;;;-1:-1:-1;;;7156:64:0;;4878:2:1;7156:64:0;;;4860:21:1;4917:2;4897:18;;;4890:30;4956:34;4936:18;;;4929:62;-1:-1:-1;;;5007:18:1;;;5000:33;5050:19;;7156:64:0;4850:225:1;7156:64:0;7248:1;7239:6;:10;7231:64;;;;-1:-1:-1;;;7231:64:0;;7238:2:1;7231:64:0;;;7220:21:1;7277:2;7257:18;;;7250:30;7316:34;7296:18;;;7289:62;-1:-1:-1;;;7367:18:1;;;7360:39;7416:19;;7231:64:0;7210:231:1;7231:64:0;7306:17;2539:6;;-1:-1:-1;;;;;7340:15:0;;;2539:6;;7340:15;;;;:32;;-1:-1:-1;2512:7:0;2539:6;-1:-1:-1;;;;;7359:13:0;;;2539:6;;7359:13;;7340:32;7336:1348;;;7395:20;;;;7391:508;;;7456:15;;-1:-1:-1;;;;;7442:30:0;;;7456:15;;7442:30;;;;:62;;-1:-1:-1;7490:13:0;;-1:-1:-1;;;;;7476:28:0;;;7490:13;;7476:28;;7442:62;7438:444;;;7596:9;7567:39;;;;:28;:39;;;;;;7640:12;-1:-1:-1;7531:250:0;;;;-1:-1:-1;;;7531:250:0;;6395:2:1;7531:250:0;;;6377:21:1;6434:2;6414:18;;;6407:30;6473:34;6453:18;;;6446:62;6544:34;6524:18;;;6517:62;-1:-1:-1;;;6595:19:1;;;6588:40;6645:19;;7531:250:0;6367:303:1;7531:250:0;7835:9;7806:39;;;;:28;:39;;;;;7848:12;7806:54;;7438:444;7927:13;;-1:-1:-1;;;;;7919:21:0;;;7927:13;;7919:21;:55;;;;-1:-1:-1;7958:15:0;;-1:-1:-1;;;;;7944:30:0;;;7958:15;;7944:30;;7919:55;:83;;;;-1:-1:-1;;;;;;7980:22:0;;;;;;:18;:22;;;;;;;;7978:24;7919:83;7915:283;;;8042:12;;8032:6;:22;;8024:60;;;;-1:-1:-1;;;8024:60:0;;5282:2:1;8024:60:0;;;5264:21:1;5321:2;5301:18;;;5294:30;5360:27;5340:18;;;5333:55;5405:18;;8024:60:0;5254:175:1;8024:60:0;8137:14;;8127:6;8111:13;8121:2;-1:-1:-1;;;;;5804:18:0;5777:7;5804:18;;;:9;:18;;;;;;;5711:119;8111:13;:22;;;;:::i;:::-;:40;;8103:79;;;;-1:-1:-1;;;8103:79:0;;8054:2:1;8103:79:0;;;8036:21:1;8093:2;8073:18;;;8066:30;8132:28;8112:18;;;8105:56;8178:18;;8103:79:0;8026:176:1;8103:79:0;8263:4;8214:28;5804:18;;;:9;:18;;;;;;8289:6;;-1:-1:-1;;;8289:6:0;;;;8288:7;:32;;;;-1:-1:-1;8307:13:0;;-1:-1:-1;;;;;8299:21:0;;;8307:13;;8299:21;;8288:32;:47;;;;-1:-1:-1;8324:11:0;;-1:-1:-1;;;8324:11:0;;;;8288:47;:89;;;;;8360:17;;8339:20;:38;8288:89;8284:389;;;8398:67;8415:49;8419:6;8426:37;8430:20;8451:11;;8426:3;:37::i;:::-;8415:3;:49::i;:::-;8398:16;:67::i;:::-;8513:21;8556:22;;8553:105;;8603:35;8616:21;8603:12;:35::i;:::-;8379:294;8284:389;7374:1310;7336:1348;-1:-1:-1;;;;;8712:15:0;;;;;;:9;:15;;;;;;:27;;8732:6;8712:19;:27::i;:::-;-1:-1:-1;;;;;8696:15:0;;;;;;:9;:15;;;;;:43;8764:40;8782:21;:6;8793:9;8782:10;:21::i;:::-;-1:-1:-1;;;;;8764:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;8750:13:0;;;;;;;:9;:13;;;;;:54;;;;8820:41;;;8839:21;:6;8850:9;8839:10;:21::i;:::-;8820:41;;9110:25:1;;;9098:2;9083:18;8820:41:0;;;;;;;8875:11;;8872:161;;8943:4;8925:24;;;;:9;:24;;;;;;:39;;8954:9;8925:28;:39::i;:::-;8918:4;8900:24;;;;:9;:24;;;;;;;:64;;;;8982:39;;-1:-1:-1;;;;;8982:39:0;;;;;;;9011:9;9110:25:1;;9098:2;9083:18;;9065:76;8982:39:0;;;;;;;;8872:161;7066:1974;6997:2043;;;:::o;1366:190::-;1452:7;1488:12;1480:6;;;;1472:29;;;;-1:-1:-1;;;1472:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1512:9:0;1524:5;1528:1;1524;:5;:::i;:::-;1512:17;1366:190;-1:-1:-1;;;;;1366:190:0:o;9156:483::-;4860:6;:13;;-1:-1:-1;;;;4860:13:0;-1:-1:-1;;;4860:13:0;;;9258:16:::1;::::0;;9272:1:::1;9258:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9258:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9258:16:0::1;9234:40;;9303:4;9285;9290:1;9285:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9285:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9329:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9329:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9285:7;;9329:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9319:4;9324:1;9319:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9319:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9394:15:::1;::::0;9362:62:::1;::::0;9379:4:::1;::::0;9394:15:::1;9412:11:::0;9362:8:::1;:62::i;:::-;9435:15;::::0;:196:::1;::::0;-1:-1:-1;;;9435:196:0;;-1:-1:-1;;;;;9435:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9516:11;;9435:15:::1;::::0;9558:4;;9585::::1;::::0;9605:15:::1;::::0;9435:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4896:6:0;:14;;-1:-1:-1;;;;4896:14:0;;;-1:-1:-1;;;;9156:483:0:o;9851:92::-;9908:10;;:27;;:10;;;;-1:-1:-1;;;;;9908:10:0;;:27;;;;;;;;;;;;:10;:27;;;;;;;;;;;;;;;;;;;9050:98;9107:7;9134:1;9132;:3;9131:9;;9139:1;9131:9;;;9137:1;9131:9;9124:16;9050:98;-1:-1:-1;;;9050:98:0:o;1222:136::-;1280:7;1307:43;1311:1;1314;1307:43;;;;;;;;;;;;;;;;;:3;:43::i;1035:179::-;1093:7;;1125:5;1129:1;1125;:5;:::i;:::-;1113:17;;1154:1;1149;:6;;1141:46;;;;-1:-1:-1;;;1141:46:0;;6039:2:1;1141:46:0;;;6021:21:1;6078:2;6058:18;;;6051:30;6117:29;6097:18;;;6090:57;6164:18;;1141:46:0;6011:177:1;14:247;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:315::-;1444:6;1452;1505:2;1493:9;1484:7;1480:23;1476:32;1473:2;;;1521:1;1518;1511:12;1473:2;1560:9;1547:23;1579:31;1604:5;1579:31;:::i;:::-;1629:5;1681:2;1666:18;;;;1653:32;;-1:-1:-1;;;1463:228:1:o;1696:277::-;1763:6;1816:2;1804:9;1795:7;1791:23;1787:32;1784:2;;;1832:1;1829;1822:12;1784:2;1864:9;1858:16;1917:5;1910:13;1903:21;1896:5;1893:32;1883:2;;1939:1;1936;1929:12;1978:180;2037:6;2090:2;2078:9;2069:7;2065:23;2061:32;2058:2;;;2106:1;2103;2096:12;2058:2;-1:-1:-1;2129:23:1;;2048:110;-1:-1:-1;2048:110:1:o;2163:306::-;2251:6;2259;2267;2320:2;2308:9;2299:7;2295:23;2291:32;2288:2;;;2336:1;2333;2326:12;2288:2;2365:9;2359:16;2349:26;;2415:2;2404:9;2400:18;2394:25;2384:35;;2459:2;2448:9;2444:18;2438:25;2428:35;;2278:191;;;;;:::o;4074:597::-;4186:4;4215:2;4244;4233:9;4226:21;4276:6;4270:13;4319:6;4314:2;4303:9;4299:18;4292:34;4344:1;4354:140;4368:6;4365:1;4362:13;4354:140;;;4463:14;;;4459:23;;4453:30;4429:17;;;4448:2;4425:26;4418:66;4383:10;;4354:140;;;4512:6;4509:1;4506:13;4503:2;;;4582:1;4577:2;4568:6;4557:9;4553:22;4549:31;4542:42;4503:2;-1:-1:-1;4655:2:1;4634:15;-1:-1:-1;;4630:29:1;4615:45;;;;4662:2;4611:54;;4195:476;-1:-1:-1;;;4195:476:1:o;6675:356::-;6877:2;6859:21;;;6896:18;;;6889:30;6955:34;6950:2;6935:18;;6928:62;7022:2;7007:18;;6849:182::o;9146:980::-;9408:4;9456:3;9445:9;9441:19;9487:6;9476:9;9469:25;9513:2;9551:6;9546:2;9535:9;9531:18;9524:34;9594:3;9589:2;9578:9;9574:18;9567:31;9618:6;9653;9647:13;9684:6;9676;9669:22;9722:3;9711:9;9707:19;9700:26;;9761:2;9753:6;9749:15;9735:29;;9782:1;9792:195;9806:6;9803:1;9800:13;9792:195;;;9871:13;;-1:-1:-1;;;;;9867:39:1;9855:52;;9962:15;;;;9927:12;;;;9903:1;9821:9;9792:195;;;-1:-1:-1;;;;;;;10043:32:1;;;;10038:2;10023:18;;10016:60;-1:-1:-1;;;10107:3:1;10092:19;10085:35;10004:3;9417:709;-1:-1:-1;;;9417:709:1:o;10320:128::-;10360:3;10391:1;10387:6;10384:1;10381:13;10378:2;;;10397:18;;:::i;:::-;-1:-1:-1;10433:9:1;;10368:80::o;10453:422::-;10542:1;10585:5;10542:1;10599:270;10620:7;10610:8;10607:21;10599:270;;;10679:4;10675:1;10671:6;10667:17;10661:4;10658:27;10655:2;;;10688:18;;:::i;:::-;10738:7;10728:8;10724:22;10721:2;;;10758:16;;;;10721:2;10837:22;;;;10797:15;;;;10599:270;;;10603:3;10517:358;;;;;:::o;10880:140::-;10938:5;10967:47;11008:4;10998:8;10994:19;10988:4;11074:5;11104:8;11094:2;;-1:-1:-1;11145:1:1;11159:5;;11094:2;11193:4;11183:2;;-1:-1:-1;11230:1:1;11244:5;;11183:2;11275:4;11293:1;11288:59;;;;11361:1;11356:130;;;;11268:218;;11288:59;11318:1;11309:10;;11332:5;;;11356:130;11393:3;11383:8;11380:17;11377:2;;;11400:18;;:::i;:::-;-1:-1:-1;;11456:1:1;11442:16;;11471:5;;11268:218;;11570:2;11560:8;11557:16;11551:3;11545:4;11542:13;11538:36;11532:2;11522:8;11519:16;11514:2;11508:4;11505:12;11501:35;11498:77;11495:2;;;-1:-1:-1;11607:19:1;;;11639:5;;11495:2;11686:34;11711:8;11705:4;11686:34;:::i;:::-;11756:6;11752:1;11748:6;11744:19;11735:7;11732:32;11729:2;;;11767:18;;:::i;:::-;11805:20;;11084:747;-1:-1:-1;;;11084:747:1:o;11836:168::-;11876:7;11942:1;11938;11934:6;11930:14;11927:1;11924:21;11919:1;11912:9;11905:17;11901:45;11898:2;;;11949:18;;:::i;:::-;-1:-1:-1;11989:9:1;;11888:116::o;12009:125::-;12049:4;12077:1;12074;12071:8;12068:2;;;12082:18;;:::i;:::-;-1:-1:-1;12119:9:1;;12058:76::o;12139:127::-;12200:10;12195:3;12191:20;12188:1;12181:31;12231:4;12228:1;12221:15;12255:4;12252:1;12245:15;12271:127;12332:10;12327:3;12323:20;12320:1;12313:31;12363:4;12360:1;12353:15;12387:4;12384:1;12377:15;12535:131;-1:-1:-1;;;;;12610:31:1;;12600:42;;12590:2;;12656:1;12653;12646:12

Swarm Source

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