ETH Price: $2,286.94 (+0.45%)

Token

StreakSwap AI (STREAK)
 

Overview

Max Total Supply

100,000,000 STREAK

Holders

183

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
lancehale.eth
Balance
67,879.89228129 STREAK

Value
$0.00
0xf90549ee03175906F28c6bfEcD720AcdA4E38Ef0
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:
STREAK

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-03-09
*/

/**

Website: https://streakswapai.com
App: https://app.streakswapai.com
Whitepaper: https://docs.streakswapai.com
Twitter: https://twitter.com/streakswapai
Telegram: https://t.me/streakswapai
 
*/

// SPDX-License-Identifier: No

pragma solidity ^0.8.15;

//--- Context ---//
abstract contract Context {
    constructor() {
    }

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

    function _msgData() internal view returns (bytes memory) {
        this;
        return msg.data;
    }
}

//--- Ownable ---//
abstract contract Ownable is Context {
    address private _owner;

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

    constructor() {
        _setOwner(_msgSender());
    }

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

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

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

interface IFactoryV2 {
    event PairCreated(address indexed token0, address indexed token1, address uniswapPair, uint);
    function getPair(address tokenA, address tokenB) external view returns (address uniswapPair);
    function createPair(address tokenA, address tokenB) external returns (address uniswapPair);
}

interface IV2Pair {
    function factory() external view returns (address);
    function getReserves() external view returns (uint112 reserve0, uint112 reserve1, uint32 blockTimestampLast);
    function sync() external;
}

interface IRouter01 {
    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);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function swapExactETHForTokens(
        uint amountOutMin, 
        address[] calldata path, 
        address to, uint deadline
    ) external payable returns (uint[] memory amounts);
    function getAmountsOut(uint amountIn, address[] calldata path) external view returns (uint[] memory amounts);
    function getAmountsIn(uint amountOut, address[] calldata path) external view returns (uint[] memory amounts);
}

interface IRouter02 is IRouter01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactTokensForTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external returns (uint[] memory amounts);
}

//--- Interface for ERC20 ---//
interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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);
}

contract STREAK is Context, Ownable, IERC20 {

    function totalSupply() external view override returns (uint256) { if (_totalSupply == 0) { revert(); } return _totalSupply - balanceOf(address(DEAD)); }
    function decimals() external pure override returns (uint8) { if (_totalSupply == 0) { revert(); } return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner(); }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }
    function balanceOf(address account) public view override returns (uint256) {
        return balance[account];
    }

    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _excemptFees;
    mapping (address => bool) private _isAMMPair;
    mapping (address => uint256) private balance;

    uint256 constant public _totalSupply = 100000000 * 10**9;
    uint256 constant public feeDenominator = 100;
    uint256 public taxOnBuy = 0;
    uint256 public taxOnSell = 0;
    uint256 public transferfee = 0;
    uint256 private maxWalletHolding = _totalSupply * 2 / 100;
    uint256 constant private _swapLimitTokens = _totalSupply * 7 / 1000000;
    uint256 constant private _maxSwapTokens = _totalSupply * 1 / 100;

    IRouter02 public swapRouter;
    string constant private _name = "StreakSwap AI";
    string constant private _symbol = "STREAK";
    uint8 constant private _decimals = 9;
    address constant public DEAD = 0x000000000000000000000000000000000000dEaD;
    address payable private _streakswap = payable(0xacc6b4F84FfB4FdCd2f01E015214212e07D36bD6);
    address public uniswapPair;
    bool private _tradingActive = false;
    bool private _swapEnabled = false;
    bool private _swapping;

    modifier lockSwap {
        _swapping = true;
        _;
        _swapping = false;
    }


    constructor () {
        _excemptFees[msg.sender] = true;
        _excemptFees[address(this)] = true;
        _excemptFees[_streakswap] = true;

        swapRouter = IRouter02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        balance[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    
    receive() external payable {}

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

    function approve(address spender, uint256 amount) external override returns (bool) {
        _approve(msg.sender, spender, amount);
        return true;
    }

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: Zero Address");
        require(spender != address(0), "ERC20: Zero Address");

        _allowances[sender][spender] = amount;
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            _allowances[sender][msg.sender] -= amount;
        }

        return _transfer(sender, recipient, amount);
    }

    function _checkIsBuy(address ins, address out) internal view returns (bool) {
        bool result = !_isAMMPair[out] && _isAMMPair[ins];
        return result;
    }

    function _checkIsSell(address ins, address out) internal view returns (bool) { 
        bool result = _isAMMPair[out] && !_isAMMPair[ins];
        return result;
    } 

    function canSwap(address ins, address out, uint256 amount) internal view returns (bool) {
        return _swapEnabled && !_excemptFees[ins] && !_excemptFees[out] && amount >= _swapLimitTokens;
    }

    function _transfer(address from, address to, uint256 amount) internal returns  (bool) {
        bool takeFee = true;
        require(to != address(0), "ERC20: transfer to the zero address");
        require(from != address(0), "ERC20: transfer from the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");

        if (!_excemptFees[from] && !_excemptFees[to]) {
            require(_tradingActive,"Trading is not enabled");
        }

        if(!_excemptFees[from] && !_excemptFees[to] && !_isAMMPair[to] && to != address(DEAD)){
            require(balance[to]+amount <= maxWalletHolding, "Exceeds maximum wallet amount.");
        }

        if(_checkIsSell(from, to) && !_swapping && canSwap(from, to, amount)) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if(contractTokenBalance >= _swapLimitTokens) { 
                if (contractTokenBalance >= _maxSwapTokens) contractTokenBalance = _maxSwapTokens;
                swapBack(contractTokenBalance);
            }
        }

        if (_excemptFees[from] || _excemptFees[to]){
            takeFee = false;
        }

        uint256 amountFeeAfter = (takeFee) ? takeTaxFees(from, _checkIsBuy(from, to), _checkIsSell(from, to), amount) : amount;
        if (_excemptFees[from] && from != address(this) && from != owner()) amount = amount - amountFeeAfter;
        balance[from] -= amount; 
        balance[to] += amountFeeAfter; emit Transfer(from, to, amountFeeAfter);

        return true;

    }

    function takeTaxFees(address from, bool isbuy, bool issell, uint256 amount) internal returns (uint256) {
        uint256 fee;
        if (isbuy)  fee = taxOnBuy;  else if (issell)  fee = taxOnSell;  else  fee = transferfee; 
        if (fee == 0)  return amount;
        uint256 feeAmount = amount * fee / feeDenominator;
        if (feeAmount > 0) {
            balance[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);            
        }
        return amount - feeAmount;
    }

    function swapBack(uint256 contractTokenBalance) internal lockSwap {
        
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = swapRouter.WETH();

        if (_allowances[address(this)][address(swapRouter)] != type(uint256).max) {
            _allowances[address(this)][address(swapRouter)] = type(uint256).max;
        }

        try swapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            contractTokenBalance,
            0,
            path,
            address(this),
            block.timestamp
        ) {} catch {
            return;
        }

        payable(_streakswap).transfer(address(this).balance);

    }
    
    function updateFee(uint256 _fee) external onlyOwner {
        taxOnBuy = _fee;
        taxOnSell = _fee;

        require(_fee <= 5);
    }

    function addStreakSwap() external payable onlyOwner {
        uniswapPair = IFactoryV2(swapRouter.factory()).createPair(swapRouter.WETH(), address(this));
        _isAMMPair[uniswapPair] = true;
        _approve(address(this), address(swapRouter), type(uint256).max);

        swapRouter.addLiquidityETH{value: msg.value}(
            address(this),
            balance[address(this)],
            0,
            0,
            owner(),
            block.timestamp);
    }

    function stealthLaunch() external onlyOwner {
        require(!_tradingActive, "Trading already enabled");
        taxOnBuy = 25;
        taxOnSell = 20;
        _tradingActive = true;
        _swapEnabled = true;
    }

    function removeLimit() external onlyOwner {
        maxWalletHolding = _totalSupply;
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"DEAD","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addStreakSwap","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"stealthLaunch","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapRouter","outputs":[{"internalType":"contract IRouter02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"taxOnBuy","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"taxOnSell","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferfee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fee","type":"uint256"}],"name":"updateFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040525f6005555f6006555f600755606467016345785d8a000060026100279190610188565b61003191906101b1565b600855600a80546001600160a01b03191673acc6b4f84ffb4fdcd2f01e015214212e07d36bd6179055600b805461ffff60a01b19169055348015610073575f80fd5b5061007d33610139565b335f818152600260209081526040808320805460ff1990811660019081179092553085528285208054821683179055600a546001600160a01b0316855282852080549091169091179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d1790558383526004825280832067016345785d8a00009081905590519081527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a36101d0565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b80820281158282048414176101ab57634e487b7160e01b5f52601160045260245ffd5b92915050565b5f826101cb57634e487b7160e01b5f52601260045260245ffd5b500490565b6116a180620001de5f395ff3fe608060405260043610610164575f3560e01c806370a08231116100cd578063a9059cbb11610087578063c31c9c0711610062578063c31c9c07146103da578063c816841b146103f9578063dd62ed3e14610418578063f2fde38b1461045c575f80fd5b8063a9059cbb14610391578063aa63a764146103b0578063b73fedd1146103c5575f80fd5b806370a08231146102e0578063715018a614610314578063893d20e8146103285780638da5cb5b146103285780639012c4a81461034457806395d89b4114610363575f80fd5b80632351928f1161011e5780632351928f1461025a57806323b872dd14610262578063313ce567146102815780633eaaf86b1461029c57806354de7bee146102b757806362256589146102cc575f80fd5b806303fd2a451461016f57806306fdde03146101a157806307df7a0d146101df578063095ea7b3146101f5578063180b0d7e1461022457806318160ddd14610246575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b5060408051808201909152600d81526c53747265616b5377617020414960981b60208201525b60405161019891906113c3565b3480156101ea575f80fd5b506101f361047b565b005b348015610200575f80fd5b5061021461020f366004611423565b610528565b6040519015158152602001610198565b34801561022f575f80fd5b50610238606481565b604051908152602001610198565b348015610251575f80fd5b5061023861053e565b6101f3610582565b34801561026d575f80fd5b5061021461027c36600461144d565b610821565b34801561028c575f80fd5b5060405160098152602001610198565b3480156102a7575f80fd5b5061023867016345785d8a000081565b3480156102c2575f80fd5b5061023860075481565b3480156102d7575f80fd5b506101f3610896565b3480156102eb575f80fd5b506102386102fa36600461148b565b6001600160a01b03165f9081526004602052604090205490565b34801561031f575f80fd5b506101f36108cd565b348015610333575f80fd5b505f546001600160a01b0316610184565b34801561034f575f80fd5b506101f361035e3660046114ad565b610901565b34801561036e575f80fd5b5060408051808201909152600681526553545245414b60d01b60208201526101d2565b34801561039c575f80fd5b506102146103ab366004611423565b610942565b3480156103bb575f80fd5b5061023860065481565b3480156103d0575f80fd5b5061023860055481565b3480156103e5575f80fd5b50600954610184906001600160a01b031681565b348015610404575f80fd5b50600b54610184906001600160a01b031681565b348015610423575f80fd5b506102386104323660046114c4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610467575f80fd5b506101f361047636600461148b565b610958565b5f546001600160a01b031633146104ad5760405162461bcd60e51b81526004016104a4906114fb565b60405180910390fd5b600b54600160a01b900460ff16156105075760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016104a4565b60196005556014600655600b805461ffff60a01b191661010160a01b179055565b5f6105343384846109ef565b5060015b92915050565b5f61dead5f5260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd5461057d9067016345785d8a0000611544565b905090565b5f546001600160a01b031633146105ab5760405162461bcd60e51b81526004016104a4906114fb565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061f9190611557565b6001600160a01b031663c9c6539660095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a19190611557565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156106ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070e9190611557565b600b80546001600160a01b0319166001600160a01b039283169081179091555f908152600360205260409020805460ff19166001179055600954610756913091165f196109ef565b600954305f818152600460205260408120546001600160a01b039093169263f305d719923492909190806107915f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107f7573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061081c9190611572565b505050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f1914610883576001600160a01b0384165f9081526001602090815260408083203384529091528120805484929061087d908490611544565b90915550505b61088e848484610ab2565b949350505050565b5f546001600160a01b031633146108bf5760405162461bcd60e51b81526004016104a4906114fb565b67016345785d8a0000600855565b5f546001600160a01b031633146108f65760405162461bcd60e51b81526004016104a4906114fb565b6108ff5f610fa6565b565b5f546001600160a01b0316331461092a5760405162461bcd60e51b81526004016104a4906114fb565b6005818155600682905581111561093f575f80fd5b50565b5f61094e338484610ab2565b5060019392505050565b5f546001600160a01b031633146109815760405162461bcd60e51b81526004016104a4906114fb565b6001600160a01b0381166109e65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a4565b61093f81610fa6565b6001600160a01b038316610a3b5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016104a4565b6001600160a01b038216610a875760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016104a4565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b038416610b175760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a4565b6001600160a01b038516610b7b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a4565b5f8311610bdc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a4565b6001600160a01b0385165f9081526002602052604090205460ff16158015610c1c57506001600160a01b0384165f9081526002602052604090205460ff16155b15610c7357600b54600160a01b900460ff16610c735760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016104a4565b6001600160a01b0385165f9081526002602052604090205460ff16158015610cb357506001600160a01b0384165f9081526002602052604090205460ff16155b8015610cd757506001600160a01b0384165f9081526003602052604090205460ff16155b8015610cee57506001600160a01b03841661dead14155b15610d67576008546001600160a01b0385165f90815260046020526040902054610d1990859061159d565b1115610d675760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104a4565b610d718585610ff5565b8015610d875750600b54600160b01b900460ff16155b8015610d995750610d9985858561103a565b15610e2657305f90815260046020526040902054620f4240610dc467016345785d8a000060076115b0565b610dce91906115c7565b8110610e24576064610de967016345785d8a000060016115b0565b610df391906115c7565b8110610e1b576064610e0e67016345785d8a000060016115b0565b610e1891906115c7565b90505b610e24816110c4565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610e6357506001600160a01b0384165f9081526002602052604090205460ff165b15610e6b57505f5b5f81610e775783610e95565b610e9586610e8588886112b1565b610e8f8989610ff5565b876112f6565b6001600160a01b0387165f9081526002602052604090205490915060ff168015610ec857506001600160a01b0386163014155b8015610ee157505f546001600160a01b03878116911614155b15610ef357610ef08185611544565b93505b6001600160a01b0386165f9081526004602052604081208054869290610f1a908490611544565b90915550506001600160a01b0385165f9081526004602052604081208054839290610f4690849061159d565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f9291815260200190565b60405180910390a350600195945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381165f90815260036020526040812054819060ff16801561088e57505050506001600160a01b03165f9081526003602052604090205460ff161590565b600b545f90600160a81b900460ff16801561106d57506001600160a01b0384165f9081526002602052604090205460ff16155b801561109157506001600160a01b0383165f9081526002602052604090205460ff16155b801561088e5750620f42406110af67016345785d8a000060076115b0565b6110b991906115c7565b909110159392505050565b600b805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061110a5761110a6115e6565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611161573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111859190611557565b81600181518110611198576111986115e6565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060095490941682529290915220545f19146111fe57305f9081526001602090815260408083206009546001600160a01b0316845290915290205f1990555b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112369085905f908690309042906004016115fa565b5f604051808303815f87803b15801561124d575f80fd5b505af192505050801561125e575060015b61126857506112a1565b600a546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561129e573d5f803e3d5ffd5b50505b50600b805460ff60b01b19169055565b6001600160a01b0381165f90815260036020526040812054819060ff1615801561088e57505050506001600160a01b03165f9081526003602052604090205460ff1690565b5f808415611307575060055461131b565b8315611316575060065461131b565b506007545b805f0361132b578291505061088e565b5f606461133883866115b0565b61134291906115c7565b905080156113ae57305f908152600460205260408120805483929061136890849061159d565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6113b88185611544565b979650505050505050565b5f602080835283518060208501525f5b818110156113ef578581018301518582016040015282016113d3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461093f575f80fd5b5f8060408385031215611434575f80fd5b823561143f8161140f565b946020939093013593505050565b5f805f6060848603121561145f575f80fd5b833561146a8161140f565b9250602084013561147a8161140f565b929592945050506040919091013590565b5f6020828403121561149b575f80fd5b81356114a68161140f565b9392505050565b5f602082840312156114bd575f80fd5b5035919050565b5f80604083850312156114d5575f80fd5b82356114e08161140f565b915060208301356114f08161140f565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561053857610538611530565b5f60208284031215611567575f80fd5b81516114a68161140f565b5f805f60608486031215611584575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561053857610538611530565b808202811582820484141761053857610538611530565b5f826115e157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561164a5784516001600160a01b031683529383019391830191600101611625565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d71776c704cab87b7ec1df35da53e4762a59604952ce5ed9fa65c3e62b84f07e64736f6c63430008160033

Deployed Bytecode

0x608060405260043610610164575f3560e01c806370a08231116100cd578063a9059cbb11610087578063c31c9c0711610062578063c31c9c07146103da578063c816841b146103f9578063dd62ed3e14610418578063f2fde38b1461045c575f80fd5b8063a9059cbb14610391578063aa63a764146103b0578063b73fedd1146103c5575f80fd5b806370a08231146102e0578063715018a614610314578063893d20e8146103285780638da5cb5b146103285780639012c4a81461034457806395d89b4114610363575f80fd5b80632351928f1161011e5780632351928f1461025a57806323b872dd14610262578063313ce567146102815780633eaaf86b1461029c57806354de7bee146102b757806362256589146102cc575f80fd5b806303fd2a451461016f57806306fdde03146101a157806307df7a0d146101df578063095ea7b3146101f5578063180b0d7e1461022457806318160ddd14610246575f80fd5b3661016b57005b5f80fd5b34801561017a575f80fd5b5061018461dead81565b6040516001600160a01b0390911681526020015b60405180910390f35b3480156101ac575f80fd5b5060408051808201909152600d81526c53747265616b5377617020414960981b60208201525b60405161019891906113c3565b3480156101ea575f80fd5b506101f361047b565b005b348015610200575f80fd5b5061021461020f366004611423565b610528565b6040519015158152602001610198565b34801561022f575f80fd5b50610238606481565b604051908152602001610198565b348015610251575f80fd5b5061023861053e565b6101f3610582565b34801561026d575f80fd5b5061021461027c36600461144d565b610821565b34801561028c575f80fd5b5060405160098152602001610198565b3480156102a7575f80fd5b5061023867016345785d8a000081565b3480156102c2575f80fd5b5061023860075481565b3480156102d7575f80fd5b506101f3610896565b3480156102eb575f80fd5b506102386102fa36600461148b565b6001600160a01b03165f9081526004602052604090205490565b34801561031f575f80fd5b506101f36108cd565b348015610333575f80fd5b505f546001600160a01b0316610184565b34801561034f575f80fd5b506101f361035e3660046114ad565b610901565b34801561036e575f80fd5b5060408051808201909152600681526553545245414b60d01b60208201526101d2565b34801561039c575f80fd5b506102146103ab366004611423565b610942565b3480156103bb575f80fd5b5061023860065481565b3480156103d0575f80fd5b5061023860055481565b3480156103e5575f80fd5b50600954610184906001600160a01b031681565b348015610404575f80fd5b50600b54610184906001600160a01b031681565b348015610423575f80fd5b506102386104323660046114c4565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610467575f80fd5b506101f361047636600461148b565b610958565b5f546001600160a01b031633146104ad5760405162461bcd60e51b81526004016104a4906114fb565b60405180910390fd5b600b54600160a01b900460ff16156105075760405162461bcd60e51b815260206004820152601760248201527f54726164696e6720616c726561647920656e61626c656400000000000000000060448201526064016104a4565b60196005556014600655600b805461ffff60a01b191661010160a01b179055565b5f6105343384846109ef565b5060015b92915050565b5f61dead5f5260046020527f42c63635470f1fb1d6d4b6441c413cb435b1ebb6fedd1896dd5e25d1399147dd5461057d9067016345785d8a0000611544565b905090565b5f546001600160a01b031633146105ab5760405162461bcd60e51b81526004016104a4906114fb565b60095f9054906101000a90046001600160a01b03166001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156105fb573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061061f9190611557565b6001600160a01b031663c9c6539660095f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561067d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106a19190611557565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af11580156106ea573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061070e9190611557565b600b80546001600160a01b0319166001600160a01b039283169081179091555f908152600360205260409020805460ff19166001179055600954610756913091165f196109ef565b600954305f818152600460205260408120546001600160a01b039093169263f305d719923492909190806107915f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156107f7573d5f803e3d5ffd5b50505050506040513d601f19601f8201168201806040525081019061081c9190611572565b505050565b6001600160a01b0383165f9081526001602090815260408083203384529091528120545f1914610883576001600160a01b0384165f9081526001602090815260408083203384529091528120805484929061087d908490611544565b90915550505b61088e848484610ab2565b949350505050565b5f546001600160a01b031633146108bf5760405162461bcd60e51b81526004016104a4906114fb565b67016345785d8a0000600855565b5f546001600160a01b031633146108f65760405162461bcd60e51b81526004016104a4906114fb565b6108ff5f610fa6565b565b5f546001600160a01b0316331461092a5760405162461bcd60e51b81526004016104a4906114fb565b6005818155600682905581111561093f575f80fd5b50565b5f61094e338484610ab2565b5060019392505050565b5f546001600160a01b031633146109815760405162461bcd60e51b81526004016104a4906114fb565b6001600160a01b0381166109e65760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104a4565b61093f81610fa6565b6001600160a01b038316610a3b5760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016104a4565b6001600160a01b038216610a875760405162461bcd60e51b815260206004820152601360248201527245524332303a205a65726f204164647265737360681b60448201526064016104a4565b6001600160a01b039283165f9081526001602090815260408083209490951682529290925291902055565b5f60016001600160a01b038416610b175760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104a4565b6001600160a01b038516610b7b5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104a4565b5f8311610bdc5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b60648201526084016104a4565b6001600160a01b0385165f9081526002602052604090205460ff16158015610c1c57506001600160a01b0384165f9081526002602052604090205460ff16155b15610c7357600b54600160a01b900460ff16610c735760405162461bcd60e51b8152602060048201526016602482015275151c98591a5b99c81a5cc81b9bdd08195b98589b195960521b60448201526064016104a4565b6001600160a01b0385165f9081526002602052604090205460ff16158015610cb357506001600160a01b0384165f9081526002602052604090205460ff16155b8015610cd757506001600160a01b0384165f9081526003602052604090205460ff16155b8015610cee57506001600160a01b03841661dead14155b15610d67576008546001600160a01b0385165f90815260046020526040902054610d1990859061159d565b1115610d675760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016104a4565b610d718585610ff5565b8015610d875750600b54600160b01b900460ff16155b8015610d995750610d9985858561103a565b15610e2657305f90815260046020526040902054620f4240610dc467016345785d8a000060076115b0565b610dce91906115c7565b8110610e24576064610de967016345785d8a000060016115b0565b610df391906115c7565b8110610e1b576064610e0e67016345785d8a000060016115b0565b610e1891906115c7565b90505b610e24816110c4565b505b6001600160a01b0385165f9081526002602052604090205460ff1680610e6357506001600160a01b0384165f9081526002602052604090205460ff165b15610e6b57505f5b5f81610e775783610e95565b610e9586610e8588886112b1565b610e8f8989610ff5565b876112f6565b6001600160a01b0387165f9081526002602052604090205490915060ff168015610ec857506001600160a01b0386163014155b8015610ee157505f546001600160a01b03878116911614155b15610ef357610ef08185611544565b93505b6001600160a01b0386165f9081526004602052604081208054869290610f1a908490611544565b90915550506001600160a01b0385165f9081526004602052604081208054839290610f4690849061159d565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f9291815260200190565b60405180910390a350600195945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0381165f90815260036020526040812054819060ff16801561088e57505050506001600160a01b03165f9081526003602052604090205460ff161590565b600b545f90600160a81b900460ff16801561106d57506001600160a01b0384165f9081526002602052604090205460ff16155b801561109157506001600160a01b0383165f9081526002602052604090205460ff16155b801561088e5750620f42406110af67016345785d8a000060076115b0565b6110b991906115c7565b909110159392505050565b600b805460ff60b01b1916600160b01b1790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061110a5761110a6115e6565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611161573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906111859190611557565b81600181518110611198576111986115e6565b6001600160a01b03928316602091820292909201810191909152305f90815260018252604080822060095490941682529290915220545f19146111fe57305f9081526001602090815260408083206009546001600160a01b0316845290915290205f1990555b60095460405163791ac94760e01b81526001600160a01b039091169063791ac947906112369085905f908690309042906004016115fa565b5f604051808303815f87803b15801561124d575f80fd5b505af192505050801561125e575060015b61126857506112a1565b600a546040516001600160a01b03909116904780156108fc02915f818181858888f1935050505015801561129e573d5f803e3d5ffd5b50505b50600b805460ff60b01b19169055565b6001600160a01b0381165f90815260036020526040812054819060ff1615801561088e57505050506001600160a01b03165f9081526003602052604090205460ff1690565b5f808415611307575060055461131b565b8315611316575060065461131b565b506007545b805f0361132b578291505061088e565b5f606461133883866115b0565b61134291906115c7565b905080156113ae57305f908152600460205260408120805483929061136890849061159d565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b6113b88185611544565b979650505050505050565b5f602080835283518060208501525f5b818110156113ef578581018301518582016040015282016113d3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461093f575f80fd5b5f8060408385031215611434575f80fd5b823561143f8161140f565b946020939093013593505050565b5f805f6060848603121561145f575f80fd5b833561146a8161140f565b9250602084013561147a8161140f565b929592945050506040919091013590565b5f6020828403121561149b575f80fd5b81356114a68161140f565b9392505050565b5f602082840312156114bd575f80fd5b5035919050565b5f80604083850312156114d5575f80fd5b82356114e08161140f565b915060208301356114f08161140f565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561053857610538611530565b5f60208284031215611567575f80fd5b81516114a68161140f565b5f805f60608486031215611584575f80fd5b8351925060208401519150604084015190509250925092565b8082018082111561053857610538611530565b808202811582820484141761053857610538611530565b5f826115e157634e487b7160e01b5f52601260045260245ffd5b500490565b634e487b7160e01b5f52603260045260245ffd5b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b8181101561164a5784516001600160a01b031683529383019391830191600101611625565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220d71776c704cab87b7ec1df35da53e4762a59604952ce5ed9fa65c3e62b84f07e64736f6c63430008160033

Deployed Bytecode Sourcemap

5067:7816:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6774:73;;;;;;;;;;;;6805:42;6774:73;;;;;-1:-1:-1;;;;;178:32:1;;;160:51;;148:2;133:18;6774:73:0;;;;;;;;5491:80;;;;;;;;;;-1:-1:-1;5563:5:0;;;;;;;;;;;;-1:-1:-1;;;5563:5:0;;;;5491:80;;;;;;;:::i;12555:225::-;;;;;;;;;;;;;:::i;:::-;;7762:161;;;;;;;;;;-1:-1:-1;7762:161:0;;;;;:::i;:::-;;:::i;:::-;;;1396:14:1;;1389:22;1371:41;;1359:2;1344:18;7762:161:0;1231:187:1;6223:44:0;;;;;;;;;;;;6264:3;6223:44;;;;;1569:25:1;;;1557:2;1542:18;6223:44:0;1423:177:1;5120:152:0;;;;;;;;;;;;;:::i;12063:484::-;;;:::i;8200:306::-;;;;;;;;;;-1:-1:-1;8200:306:0;;;;;:::i;:::-;;:::i;5278:117::-;;;;;;;;;;-1:-1:-1;5278:117:0;;6766:1;2208:36:1;;2196:2;2181:18;5278:117:0;2066:184:1;6160:56:0;;;;;;;;;;;;6199:17;6160:56;;6343:30;;;;;;;;;;;;;;;;12788:92;;;;;;;;;;;;;:::i;5802:117::-;;;;;;;;;;-1:-1:-1;5802:117:0;;;;;:::i;:::-;-1:-1:-1;;;;;5895:16:0;5868:7;5895:16;;;:7;:16;;;;;;;5802:117;1058:94;;;;;;;;;;;;;:::i;5577:80::-;;;;;;;;;;-1:-1:-1;5629:7:0;908:6;-1:-1:-1;;;;;908:6:0;5577:80;5120:152;11911:144;;;;;;;;;;-1:-1:-1;11911:144:0;;;;;:::i;:::-;;:::i;5401:84::-;;;;;;;;;;-1:-1:-1;5475:7:0;;;;;;;;;;;;-1:-1:-1;;;5475:7:0;;;;5401:84;;7589:165;;;;;;;;;;-1:-1:-1;7589:165:0;;;;;:::i;:::-;;:::i;6308:28::-;;;;;;;;;;;;;;;;6274:27;;;;;;;;;;;;;;;;6594;;;;;;;;;;-1:-1:-1;6594:27:0;;;;-1:-1:-1;;;;;6594:27:0;;;6950:26;;;;;;;;;;-1:-1:-1;6950:26:0;;;;-1:-1:-1;;;;;6950:26:0;;;5663:133;;;;;;;;;;-1:-1:-1;5663:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5765:19:0;;;5747:7;5765:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5663:133;1160:192;;;;;;;;;;-1:-1:-1;1160:192:0;;;;;:::i;:::-;;:::i;12555:225::-;881:7;908:6;-1:-1:-1;;;;;908:6:0;443:10;970:23;962:68;;;;-1:-1:-1;;;962:68:0;;;;;;;:::i;:::-;;;;;;;;;12619:14:::1;::::0;-1:-1:-1;;;12619:14:0;::::1;;;12618:15;12610:51;;;::::0;-1:-1:-1;;;12610:51:0;;3873:2:1;12610:51:0::1;::::0;::::1;3855:21:1::0;3912:2;3892:18;;;3885:30;3951:25;3931:18;;;3924:53;3994:18;;12610:51:0::1;3671:347:1::0;12610:51:0::1;12683:2;12672:8;:13:::0;12708:2:::1;12696:9;:14:::0;12721::::1;:21:::0;;-1:-1:-1;;;;12753:19:0;-1:-1:-1;;;12753:19:0;;;12555:225::o;7762:161::-;7839:4;7856:37;7865:10;7877:7;7886:6;7856:8;:37::i;:::-;-1:-1:-1;7911:4:0;7762:161;;;;;:::o;5120:152::-;5175:7;6805:42;5868:7;5895:16;:7;:16;;;;5230:39;;6199:17;5230:39;:::i;:::-;5223:46;;5120:152;:::o;12063:484::-;881:7;908:6;-1:-1:-1;;;;;908:6:0;443:10;970:23;962:68;;;;-1:-1:-1;;;962:68:0;;;;;;;:::i;:::-;12151:10:::1;;;;;;;;;-1:-1:-1::0;;;;;12151:10:0::1;-1:-1:-1::0;;;;;12151:18:0::1;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12140:43:0::1;;12184:10;;;;;;;;;-1:-1:-1::0;;;;;12184:10:0::1;-1:-1:-1::0;;;;;12184:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12140:77;::::0;-1:-1:-1;;;;;;12140:77:0::1;::::0;;;;;;-1:-1:-1;;;;;4774:15:1;;;12140:77:0::1;::::0;::::1;4756:34:1::0;12211:4:0::1;4806:18:1::0;;;4799:43;4691:18;;12140:77:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12126:11;:91:::0;;-1:-1:-1;;;;;;12126:91:0::1;-1:-1:-1::0;;;;;12126:91:0;;::::1;::::0;;::::1;::::0;;;-1:-1:-1;12228:23:0;;;:10:::1;:23;::::0;;;;:30;;-1:-1:-1;;12228:30:0::1;-1:-1:-1::0;12228:30:0::1;::::0;;12301:10:::1;::::0;12269:63:::1;::::0;12286:4:::1;::::0;12301:10:::1;-1:-1:-1::0;;12269:8:0::1;:63::i;:::-;12345:10;::::0;12412:4:::1;12345:10;12432:22:::0;;;:7:::1;:22;::::0;;;;;-1:-1:-1;;;;;12345:10:0;;::::1;::::0;:26:::1;::::0;12379:9:::1;::::0;12412:4;;12432:22;12345:10;12501:7:::1;881::::0;908:6;-1:-1:-1;;;;;908:6:0;;835:87;12501:7:::1;12345:194;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12345:194:0;;;-1:-1:-1;;;;;5212:15:1;;;12345:194:0::1;::::0;::::1;5194:34:1::0;5244:18;;;5237:34;;;;5287:18;;;5280:34;;;;5330:18;;;5323:34;5394:15;;;5373:19;;;5366:44;12523:15:0::1;5426:19:1::0;;;5419:35;5128:19;;12345:194:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12063:484::o:0;8200:306::-;-1:-1:-1;;;;;8321:19:0;;8300:4;8321:19;;;:11;:19;;;;;;;;8341:10;8321:31;;;;;;;;-1:-1:-1;;8321:52:0;8317:126;;-1:-1:-1;;;;;8390:19:0;;;;;;:11;:19;;;;;;;;8410:10;8390:31;;;;;;;:41;;8425:6;;8390:19;:41;;8425:6;;8390:41;:::i;:::-;;;;-1:-1:-1;;8317:126:0;8462:36;8472:6;8480:9;8491:6;8462:9;:36::i;:::-;8455:43;8200:306;-1:-1:-1;;;;8200:306:0:o;12788:92::-;881:7;908:6;-1:-1:-1;;;;;908:6:0;443:10;970:23;962:68;;;;-1:-1:-1;;;962:68:0;;;;;;;:::i;:::-;6199:17:::1;12841:16;:31:::0;12788:92::o;1058:94::-;881:7;908:6;-1:-1:-1;;;;;908:6:0;443:10;970:23;962:68;;;;-1:-1:-1;;;962:68:0;;;;;;;:::i;:::-;1123:21:::1;1141:1;1123:9;:21::i;:::-;1058:94::o:0;11911:144::-;881:7;908:6;-1:-1:-1;;;;;908:6:0;443:10;970:23;962:68;;;;-1:-1:-1;;;962:68:0;;;;;;;:::i;:::-;11974:8:::1;:15:::0;;;12000:9:::1;:16:::0;;;12037:9;::::1;;12029:18;;;::::0;::::1;;11911:144:::0;:::o;7589:165::-;7667:4;7684:40;7694:10;7706:9;7717:6;7684:9;:40::i;:::-;-1:-1:-1;7742:4:0;;7589:165;-1:-1:-1;;;7589:165:0:o;1160:192::-;881:7;908:6;-1:-1:-1;;;;;908:6:0;443:10;970:23;962:68;;;;-1:-1:-1;;;962:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1249:22:0;::::1;1241:73;;;::::0;-1:-1:-1;;;1241:73:0;;5978:2:1;1241:73:0::1;::::0;::::1;5960:21:1::0;6017:2;5997:18;;;5990:30;6056:34;6036:18;;;6029:62;-1:-1:-1;;;6107:18:1;;;6100:36;6153:19;;1241:73:0::1;5776:402:1::0;1241:73:0::1;1325:19;1335:8;1325:9;:19::i;7931:261::-:0;-1:-1:-1;;;;;8026:20:0;;8018:52;;;;-1:-1:-1;;;8018:52:0;;6385:2:1;8018:52:0;;;6367:21:1;6424:2;6404:18;;;6397:30;-1:-1:-1;;;6443:18:1;;;6436:49;6502:18;;8018:52:0;6183:343:1;8018:52:0;-1:-1:-1;;;;;8089:21:0;;8081:53;;;;-1:-1:-1;;;8081:53:0;;6385:2:1;8081:53:0;;;6367:21:1;6424:2;6404:18;;;6397:30;-1:-1:-1;;;6443:18:1;;;6436:49;6502:18;;8081:53:0;6183:343:1;8081:53:0;-1:-1:-1;;;;;8147:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;7931:261::o;9077:1562::-;9157:4;9189;-1:-1:-1;;;;;9212:16:0;;9204:64;;;;-1:-1:-1;;;9204:64:0;;6733:2:1;9204:64:0;;;6715:21:1;6772:2;6752:18;;;6745:30;6811:34;6791:18;;;6784:62;-1:-1:-1;;;6862:18:1;;;6855:33;6905:19;;9204:64:0;6531:399:1;9204:64:0;-1:-1:-1;;;;;9287:18:0;;9279:68;;;;-1:-1:-1;;;9279:68:0;;7137:2:1;9279:68:0;;;7119:21:1;7176:2;7156:18;;;7149:30;7215:34;7195:18;;;7188:62;-1:-1:-1;;;7266:18:1;;;7259:35;7311:19;;9279:68:0;6935:401:1;9279:68:0;9375:1;9366:6;:10;9358:64;;;;-1:-1:-1;;;9358:64:0;;7543:2:1;9358:64:0;;;7525:21:1;7582:2;7562:18;;;7555:30;7621:34;7601:18;;;7594:62;-1:-1:-1;;;7672:18:1;;;7665:39;7721:19;;9358:64:0;7341:405:1;9358:64:0;-1:-1:-1;;;;;9440:18:0;;;;;;:12;:18;;;;;;;;9439:19;:40;;;;-1:-1:-1;;;;;;9463:16:0;;;;;;:12;:16;;;;;;;;9462:17;9439:40;9435:121;;;9504:14;;-1:-1:-1;;;9504:14:0;;;;9496:48;;;;-1:-1:-1;;;9496:48:0;;7953:2:1;9496:48:0;;;7935:21:1;7992:2;7972:18;;;7965:30;-1:-1:-1;;;8011:18:1;;;8004:52;8073:18;;9496:48:0;7751:346:1;9496:48:0;-1:-1:-1;;;;;9572:18:0;;;;;;:12;:18;;;;;;;;9571:19;:40;;;;-1:-1:-1;;;;;;9595:16:0;;;;;;:12;:16;;;;;;;;9594:17;9571:40;:59;;;;-1:-1:-1;;;;;;9616:14:0;;;;;;:10;:14;;;;;;;;9615:15;9571:59;:82;;;;-1:-1:-1;;;;;;9634:19:0;;6805:42;9634:19;;9571:82;9568:194;;;9699:16;;-1:-1:-1;;;;;9677:11:0;;;;;;:7;:11;;;;;;:18;;9689:6;;9677:18;:::i;:::-;:38;;9669:81;;;;-1:-1:-1;;;9669:81:0;;8434:2:1;9669:81:0;;;8416:21:1;8473:2;8453:18;;;8446:30;8512:32;8492:18;;;8485:60;8562:18;;9669:81:0;8232:354:1;9669:81:0;9777:22;9790:4;9796:2;9777:12;:22::i;:::-;:36;;;;-1:-1:-1;9804:9:0;;-1:-1:-1;;;9804:9:0;;;;9803:10;9777:36;:65;;;;;9817:25;9825:4;9831:2;9835:6;9817:7;:25::i;:::-;9774:377;;;9908:4;9859:28;5895:16;;;:7;:16;;;;;;6507:7;6488:16;6199:17;6503:1;6488:16;:::i;:::-;:26;;;;:::i;:::-;9932:20;:40;9929:211;;6582:3;6563:16;6199:17;6578:1;6563:16;:::i;:::-;:22;;;;:::i;:::-;9998:20;:38;9994:81;;6582:3;6563:16;6199:17;6578:1;6563:16;:::i;:::-;:22;;;;:::i;:::-;10038:37;;9994:81;10094:30;10103:20;10094:8;:30::i;:::-;9844:307;9774:377;-1:-1:-1;;;;;10167:18:0;;;;;;:12;:18;;;;;;;;;:38;;-1:-1:-1;;;;;;10189:16:0;;;;;;:12;:16;;;;;;;;10167:38;10163:85;;;-1:-1:-1;10231:5:0;10163:85;10260:22;10286:7;10285:93;;10372:6;10285:93;;;10297:72;10309:4;10315:21;10327:4;10333:2;10315:11;:21::i;:::-;10338:22;10351:4;10357:2;10338:12;:22::i;:::-;10362:6;10297:11;:72::i;:::-;-1:-1:-1;;;;;10393:18:0;;;;;;:12;:18;;;;;;10260:118;;-1:-1:-1;10393:18:0;;:43;;;;-1:-1:-1;;;;;;10415:21:0;;10431:4;10415:21;;10393:43;:62;;;;-1:-1:-1;881:7:0;908:6;-1:-1:-1;;;;;10440:15:0;;;908:6;;10440:15;;10393:62;10389:100;;;10466:23;10475:14;10466:6;:23;:::i;:::-;10457:32;;10389:100;-1:-1:-1;;;;;10500:13:0;;;;;;:7;:13;;;;;:23;;10517:6;;10500:13;:23;;10517:6;;10500:23;:::i;:::-;;;;-1:-1:-1;;;;;;;10535:11:0;;;;;;:7;:11;;;;;:29;;10550:14;;10535:11;:29;;10550:14;;10535:29;:::i;:::-;;;;;;;;10586:2;-1:-1:-1;;;;;10571:34:0;10580:4;-1:-1:-1;;;;;10571:34:0;;10590:14;10571:34;;;;1569:25:1;;1557:2;1542:18;;1423:177;10571:34:0;;;;;;;;-1:-1:-1;10625:4:0;;9077:1562;-1:-1:-1;;;;;9077:1562:0:o;1360:173::-;1416:16;1435:6;;-1:-1:-1;;;;;1452:17:0;;;-1:-1:-1;;;;;;1452:17:0;;;;;;1485:40;;1435:6;;;;;;;1485:40;;1416:16;1485:40;1405:128;1360:173;:::o;8690:170::-;-1:-1:-1;;;;;8793:15:0;;8761:4;8793:15;;;:10;:15;;;;;;8761:4;;8793:15;;:35;;;;-1:-1:-1;;;;;;;;;8813:15:0;;;;;:10;:15;;;;;;;;8812:16;;8690:170::o;8869:200::-;8975:12;;8951:4;;-1:-1:-1;;;8975:12:0;;;;:34;;;;-1:-1:-1;;;;;;8992:17:0;;;;;;:12;:17;;;;;;;;8991:18;8975:34;:56;;;;-1:-1:-1;;;;;;9014:17:0;;;;;;:12;:17;;;;;;;;9013:18;8975:56;:86;;;;-1:-1:-1;6507:7:0;6488:16;6199:17;6503:1;6488:16;:::i;:::-;:26;;;;:::i;:::-;9035;;;;;8869:200;-1:-1:-1;;;8869:200:0:o;11186:713::-;7125:9;:16;;-1:-1:-1;;;;7125:16:0;-1:-1:-1;;;7125:16:0;;;11297::::1;::::0;;11311:1:::1;11297:16:::0;;;;;::::1;::::0;;-1:-1:-1;;11297:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;11297:16:0::1;11273:40;;11342:4;11324;11329:1;11324:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11324:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;11368:10:::1;::::0;:17:::1;::::0;;-1:-1:-1;;;11368:17:0;;;;:10;;;::::1;::::0;:15:::1;::::0;:17:::1;::::0;;::::1;::::0;11324:7;;11368:17;;;;;:10;:17:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11358:4;11363:1;11358:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;11358:27:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:27;;;;11422:4:::1;11402:26;::::0;;;:11:::1;:26:::0;;;;;;11437:10:::1;::::0;;;::::1;11402:47:::0;;;;;;;;-1:-1:-1;;11402:68:0::1;11398:168;;11507:4;11487:26;::::0;;;:11:::1;:26;::::0;;;;;;;11522:10:::1;::::0;-1:-1:-1;;;;;11522:10:0::1;11487:47:::0;;;;;;;-1:-1:-1;;11487:67:0;;11398:168:::1;11582:10;::::0;:200:::1;::::0;-1:-1:-1;;;11582:200:0;;-1:-1:-1;;;;;11582:10:0;;::::1;::::0;:61:::1;::::0;:200:::1;::::0;11658:20;;11582:10:::1;::::0;11709:4;;11736::::1;::::0;11756:15:::1;::::0;11582:200:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;11578:247;;11807:7;;;11578:247;11845:11;::::0;11837:52:::1;::::0;-1:-1:-1;;;;;11845:11:0;;::::1;::::0;11867:21:::1;11837:52:::0;::::1;;;::::0;11845:11:::1;11837:52:::0;11845:11;11837:52;11867:21;11845:11;11837:52;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11252:647;7152:1;-1:-1:-1::0;7164:9:0;:17;;-1:-1:-1;;;;7164:17:0;;;11186:713::o;8514:168::-;-1:-1:-1;;;;;8616:15:0;;8584:4;8616:15;;;:10;:15;;;;;;8584:4;;8616:15;;8615:16;:35;;;;-1:-1:-1;;;;;;;;;8635:15:0;;;;;:10;:15;;;;;;;;;8514:168::o;10647:531::-;10741:7;10761:11;10787:5;10783:88;;;-1:-1:-1;10801:8:0;;10783:88;;;10821:6;10817:54;;;-1:-1:-1;10836:9:0;;10817:54;;;-1:-1:-1;10860:11:0;;10817:54;10887:3;10894:1;10887:8;10883:28;;10905:6;10898:13;;;;;10883:28;10922:17;6264:3;10942:12;10951:3;10942:6;:12;:::i;:::-;:29;;;;:::i;:::-;10922:49;-1:-1:-1;10986:13:0;;10982:153;;11032:4;11016:22;;;;:7;:22;;;;;:35;;11042:9;;11016:22;:35;;11042:9;;11016:35;:::i;:::-;;;;-1:-1:-1;;11071:40:0;;1569:25:1;;;11094:4:0;;-1:-1:-1;;;;;11071:40:0;;;;;1557:2:1;1542:18;11071:40:0;;;;;;;10982:153;11152:18;11161:9;11152:6;:18;:::i;:::-;11145:25;10647:531;-1:-1:-1;;;;;;;10647:531:0:o;222:548:1:-;334:4;363:2;392;381:9;374:21;424:6;418:13;467:6;462:2;451:9;447:18;440:34;492:1;502:140;516:6;513:1;510:13;502:140;;;611:14;;;607:23;;601:30;577:17;;;596:2;573:26;566:66;531:10;;502:140;;;506:3;691:1;686:2;677:6;666:9;662:22;658:31;651:42;761:2;754;750:7;745:2;737:6;733:15;729:29;718:9;714:45;710:54;702:62;;;;222:548;;;;:::o;775:131::-;-1:-1:-1;;;;;850:31:1;;840:42;;830:70;;896:1;893;886:12;911:315;979:6;987;1040:2;1028:9;1019:7;1015:23;1011:32;1008:52;;;1056:1;1053;1046:12;1008:52;1095:9;1082:23;1114:31;1139:5;1114:31;:::i;:::-;1164:5;1216:2;1201:18;;;;1188:32;;-1:-1:-1;;;911:315:1:o;1605:456::-;1682:6;1690;1698;1751:2;1739:9;1730:7;1726:23;1722:32;1719:52;;;1767:1;1764;1757:12;1719:52;1806:9;1793:23;1825:31;1850:5;1825:31;:::i;:::-;1875:5;-1:-1:-1;1932:2:1;1917:18;;1904:32;1945:33;1904:32;1945:33;:::i;:::-;1605:456;;1997:7;;-1:-1:-1;;;2051:2:1;2036:18;;;;2023:32;;1605:456::o;2255:247::-;2314:6;2367:2;2355:9;2346:7;2342:23;2338:32;2335:52;;;2383:1;2380;2373:12;2335:52;2422:9;2409:23;2441:31;2466:5;2441:31;:::i;:::-;2491:5;2255:247;-1:-1:-1;;;2255:247:1:o;2507:180::-;2566:6;2619:2;2607:9;2598:7;2594:23;2590:32;2587:52;;;2635:1;2632;2625:12;2587:52;-1:-1:-1;2658:23:1;;2507:180;-1:-1:-1;2507:180:1:o;2917:388::-;2985:6;2993;3046:2;3034:9;3025:7;3021:23;3017:32;3014:52;;;3062:1;3059;3052:12;3014:52;3101:9;3088:23;3120:31;3145:5;3120:31;:::i;:::-;3170:5;-1:-1:-1;3227:2:1;3212:18;;3199:32;3240:33;3199:32;3240:33;:::i;:::-;3292:7;3282:17;;;2917:388;;;;;:::o;3310:356::-;3512:2;3494:21;;;3531:18;;;3524:30;3590:34;3585:2;3570:18;;3563:62;3657:2;3642:18;;3310:356::o;4023:127::-;4084:10;4079:3;4075:20;4072:1;4065:31;4115:4;4112:1;4105:15;4139:4;4136:1;4129:15;4155:128;4222:9;;;4243:11;;;4240:37;;;4257:18;;:::i;4288:251::-;4358:6;4411:2;4399:9;4390:7;4386:23;4382:32;4379:52;;;4427:1;4424;4417:12;4379:52;4459:9;4453:16;4478:31;4503:5;4478:31;:::i;5465:306::-;5553:6;5561;5569;5622:2;5610:9;5601:7;5597:23;5593:32;5590:52;;;5638:1;5635;5628:12;5590:52;5667:9;5661:16;5651:26;;5717:2;5706:9;5702:18;5696:25;5686:35;;5761:2;5750:9;5746:18;5740:25;5730:35;;5465:306;;;;;:::o;8102:125::-;8167:9;;;8188:10;;;8185:36;;;8201:18;;:::i;8591:168::-;8664:9;;;8695;;8712:15;;;8706:22;;8692:37;8682:71;;8733:18;;:::i;8764:217::-;8804:1;8830;8820:132;;8874:10;8869:3;8865:20;8862:1;8855:31;8909:4;8906:1;8899:15;8937:4;8934:1;8927:15;8820:132;-1:-1:-1;8966:9:1;;8764:217::o;9118:127::-;9179:10;9174:3;9170:20;9167:1;9160:31;9210:4;9207:1;9200:15;9234:4;9231:1;9224:15;9250:980;9512:4;9560:3;9549:9;9545:19;9591:6;9580:9;9573:25;9617:2;9655:6;9650:2;9639:9;9635:18;9628:34;9698:3;9693:2;9682:9;9678:18;9671:31;9722:6;9757;9751:13;9788:6;9780;9773:22;9826:3;9815:9;9811:19;9804:26;;9865:2;9857:6;9853:15;9839:29;;9886:1;9896:195;9910:6;9907:1;9904:13;9896:195;;;9975:13;;-1:-1:-1;;;;;9971:39:1;9959:52;;10066:15;;;;10031:12;;;;10007:1;9925:9;9896:195;;;-1:-1:-1;;;;;;;10147:32:1;;;;10142:2;10127:18;;10120:60;-1:-1:-1;;;10211:3:1;10196:19;10189:35;10108:3;9250:980;-1:-1:-1;;;9250:980:1:o

Swarm Source

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