ETH Price: $3,106.39 (-0.97%)

Token

Moon Ben ($MBEN)
 

Overview

Max Total Supply

200,000,000 $MBEN

Holders

26

Total Transfers

-

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

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:
MoonBenETH

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-05-27
*/

// SPDX-License-Identifier: UNLICENSED

/*

Twitter : https://twitter.com/MoonBenETH
Telegram : https://t.me/MoonBenErc

*/

pragma solidity 0.8.12;

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

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

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

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

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

interface ERC20 {
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

abstract contract Auth {
    address internal owner;

    constructor(address _owner) {
        owner = _owner;
    }

    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }

    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }

    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract MoonBenETH is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Moon Ben";
    string public constant symbol = "$MBEN";
    uint8 public constant decimals = 9;
    
    uint256 public constant totalSupply = 200 * 10**6 * 10**decimals;

    uint256 public _maxWalletToken = totalSupply / 66;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public totalFee = 10;
    uint256 public constant feeDenominator = 100;
    
    uint256 buyMultiplier = 200;
    uint256 sellMultiplier = 200;
    uint256 transferMultiplier = 200;


    IDEXRouter public router;
    address public immutable pair;

    bool public swapEnabled = true;
    uint256 swapThreshold = totalSupply / 100;
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        isFeeExempt[msg.sender] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view returns (address) { return owner; }
    function allowance(address holder, address spender) external view returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

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

        return _transferFrom(sender, recipient, amount);
    }

    function setMaxWalletPercent_base1000(uint256 maxWallPercent_base1000) external onlyOwner {
        _maxWalletToken = (totalSupply * maxWallPercent_base1000 ) / 1000;
    }


    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }
    
        if(shouldSwapBack()){ swapBack(); }

        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        balanceOf[sender] = balanceOf[sender].sub(amount, "Insufficient Balance");
        balanceOf[recipient] = balanceOf[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[address(this)].add(feeAmount);
            emit Transfer(sender, address(this), feeAmount);
        }

        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && balanceOf[address(this)] >= swapThreshold;
    }

    function clearStuckBalance(uint256 amountPercentage) external onlyOwner {
        uint256 amountETH = address(this).balance;
        uint256 amountToClear = ( amountETH * amountPercentage ) / 100;
        payable(msg.sender).transfer(amountToClear);
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }
        return ERC20(tokenAddress).transfer(msg.sender, tokens);
    }

    function swapBack() internal swapping {

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = WETH;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            address(this),
            block.timestamp
        );
    }

    function setMultipliers(uint256 _buy, uint256 _sell) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

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":"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":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":"spender","type":"address"}],"name":"approveMax","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercentage","type":"uint256"}],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"maxWallPercent_base1000","type":"uint256"}],"name":"setMaxWalletPercent_base1000","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalFee","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"},{"stateMutability":"payable","type":"receive"}]

60c06040526042620000146009600a62000454565b6200002490630bebc2006200046c565b6200003091906200048e565b600155600a600681905560c8600781905560088190556009908155815460ff60a01b1916600160a01b1782556064916200006b919062000454565b6200007b90630bebc2006200046c565b6200008791906200048e565b600b553480156200009757600080fd5b5060008054336001600160a01b031991821617909155600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000108573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200012e9190620004b1565b6001600160a01b03908116608052600a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa1580156200017f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a59190620004b1565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001f7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021d9190620004b1565b6001600160a01b0390811660a052306000818152600360209081526040808320600a8054909616845282528083206000199055338352600482528083208054600160ff199182168117909255600590935281842080548416821790559383528220805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549091169091179055620002c59060099062000454565b620002d590630bebc2006200046c565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003186009600a62000454565b6200032890630bebc2006200046c565b60405190815260200160405180910390a3620004dc565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003965781600019048211156200037a576200037a6200033f565b808516156200038857918102915b93841c93908002906200035a565b509250929050565b600082620003af575060016200044e565b81620003be575060006200044e565b8160018114620003d75760028114620003e25762000402565b60019150506200044e565b60ff841115620003f657620003f66200033f565b50506001821b6200044e565b5060208310610133831016604e8410600b841016171562000427575081810a6200044e565b62000433838362000355565b80600019048211156200044a576200044a6200033f565b0290505b92915050565b60006200046560ff8416836200039e565b9392505050565b60008160001904831182151516156200048957620004896200033f565b500290565b600082620004ac57634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c457600080fd5b81516001600160a01b03811681146200046557600080fd5b60805160a0516116a86200051e600039600081816104bf01528181610b1601528181610e0f01528181610fb80152610ffb01526000610ed901526116a86000f3fe6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610501578063dd62ed3e14610531578063df20fd4914610577578063f887ea401461059757600080fd5b806395d89b411461047c578063a8aa1b31146104ad578063a9059cbb146104e157600080fd5b8063715018a6116100c6578063715018a6146103ff57806377b54bad1461041457806378109e5414610434578063893d20e81461044a57600080fd5b80636ddd1713146103915780636f50f507146103b257806370a08231146103d257600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102eb578063313ce5671461031a5780633f4218e014610341578063571ac8b01461037157600080fd5b80631df4ccfc146102a057806323b872dd146102b65780632b112e49146102d657600080fd5b806306fdde03146101ac57806309302dc6146101f6578063095ea7b314610218578063180b0d7e1461024857806318160ddd1461026b5780631da1db5e1461028057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e06040518060400160405280600881526020016726b7b7b7102132b760c11b81525081565b6040516101ed919061128d565b60405180910390f35b34801561020257600080fd5b506102166102113660046112e2565b6105b7565b005b34801561022457600080fd5b50610238610233366004611317565b610622565b60405190151581526020016101ed565b34801561025457600080fd5b5061025d606481565b6040519081526020016101ed565b34801561027757600080fd5b5061025d61068f565b34801561028c57600080fd5b5061021661029b3660046112e2565b6106ac565b3480156102ac57600080fd5b5061025d60065481565b3480156102c257600080fd5b506102386102d1366004611341565b610725565b3480156102e257600080fd5b5061025d6107e7565b3480156102f757600080fd5b5061023861030636600461137d565b6000546001600160a01b0391821691161490565b34801561032657600080fd5b5061032f600981565b60405160ff90911681526020016101ed565b34801561034d57600080fd5b5061023861035c36600461137d565b60046020526000908152604090205460ff1681565b34801561037d57600080fd5b5061023861038c36600461137d565b61086e565b34801561039d57600080fd5b50600a5461023890600160a01b900460ff1681565b3480156103be57600080fd5b506102166103cd366004611398565b61087c565b3480156103de57600080fd5b5061025d6103ed36600461137d565b60026020526000908152604090205481565b34801561040b57600080fd5b506102166108ae565b34801561042057600080fd5b5061023861042f366004611317565b6108ea565b34801561044057600080fd5b5061025d60015481565b34801561045657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ed565b34801561048857600080fd5b506101e0604051806040016040528060058152602001641226a122a760d91b81525081565b3480156104b957600080fd5b506104647f000000000000000000000000000000000000000000000000000000000000000081565b3480156104ed57600080fd5b506102386104fc366004611317565b6109f6565b34801561050d57600080fd5b5061023861051c36600461137d565b60056020526000908152604090205460ff1681565b34801561053d57600080fd5b5061025d61054c3660046113ba565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058357600080fd5b506102166105923660046113fe565b610a03565b3480156105a357600080fd5b50600a54610464906001600160a01b031681565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061141c565b60405180910390fd5b6103e8816105fa6009600a611536565b61060890630bebc200611545565b6106129190611545565b61061c9190611564565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067d9086815260200190565b60405180910390a35060015b92915050565b61069b6009600a611536565b6106a990630bebc200611545565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105e19061141c565b47600060646106e58484611545565b6106ef9190611564565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a71565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aab565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108476009600a611536565b61085590630bebc200611545565b61085f9190611586565b6108699190611586565b905090565b600061068982600019610622565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016105e19061141c565b600855600755565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016105e19061141c565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109155760405162461bcd60e51b81526004016105e19061141c565b81610985576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610982919061159d565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e091906115b6565b60006107e0338484610aab565b6000546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016105e19061141c565b600a805460ff60a01b1916600160a01b841515021781558190610a5290600990611536565b610a6090630bebc200611545565b610a6a9190611564565b600b555050565b60008184841115610a955760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611586565b95945050505050565b600c5460009060ff1615610acb57610ac4848484610d1c565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b0d57506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4b57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610bc5576001546001600160a01b038416600090815260026020526040902054610b779084906115d3565b1115610bc55760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e1565b610bcd610e02565b15610bda57610bda610e75565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2c918490610a71565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7957506001600160a01b03841660009081526004602052604090205460ff165b610c8d57610c88858486610f94565b610c8f565b825b6001600160a01b038516600090815260026020526040902054909150610cb590826110fd565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d099085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d6d918490610a71565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9c90836110fd565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df09086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610e405750600c5460ff16155b8015610e555750600a54600160a01b900460ff165b8015610869575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb757610eb76115eb565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0b57610f0b6115eb565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f559190600090869030904290600401611601565b600060405180830381600087803b158015610f6f57600080fd5b505af1158015610f83573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa35750600654155b15610faf5750816107e0565b600060095490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610ff95750600854611038565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316141561103857506007545b600061106d611048606480611545565b611067846110616006548a61115c90919063ffffffff16565b9061115c565b906111db565b905080156110e9573060009081526002602052604090205461108f90826110fd565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e09085815260200190565b60405180910390a35b6110f3858261121d565b9695505050505050565b60008061110a83856115d3565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b60008261116b57506000610689565b60006111778385611545565b9050826111848583611564565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061125f565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a71565b600081836112805760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611564565b600060208083528351808285015260005b818110156112ba5785810183015185820160400152820161129e565b818111156112cc576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f457600080fd5b5035919050565b80356001600160a01b038116811461131257600080fd5b919050565b6000806040838503121561132a57600080fd5b611333836112fb565b946020939093013593505050565b60008060006060848603121561135657600080fd5b61135f846112fb565b925061136d602085016112fb565b9150604084013590509250925092565b60006020828403121561138f57600080fd5b6107e0826112fb565b600080604083850312156113ab57600080fd5b50508035926020909101359150565b600080604083850312156113cd57600080fd5b6113d6836112fb565b91506113e4602084016112fb565b90509250929050565b80151581146113fb57600080fd5b50565b6000806040838503121561141157600080fd5b8235611333816113ed565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148d5781600019048211156114735761147361143c565b8085161561148057918102915b93841c9390800290611457565b509250929050565b6000826114a457506001610689565b816114b157506000610689565b81600181146114c757600281146114d1576114ed565b6001915050610689565b60ff8411156114e2576114e261143c565b50506001821b610689565b5060208310610133831016604e8410600b8410161715611510575081810a610689565b61151a8383611452565b806000190482111561152e5761152e61143c565b029392505050565b60006107e060ff841683611495565b600081600019048311821515161561155f5761155f61143c565b500290565b60008261158157634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156115985761159861143c565b500390565b6000602082840312156115af57600080fd5b5051919050565b6000602082840312156115c857600080fd5b81516107e0816113ed565b600082198211156115e6576115e661143c565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b927004c2361427043367760be925822f83d2b92bcb8695ef3149a3789f47c3d64736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b14610501578063dd62ed3e14610531578063df20fd4914610577578063f887ea401461059757600080fd5b806395d89b411461047c578063a8aa1b31146104ad578063a9059cbb146104e157600080fd5b8063715018a6116100c6578063715018a6146103ff57806377b54bad1461041457806378109e5414610434578063893d20e81461044a57600080fd5b80636ddd1713146103915780636f50f507146103b257806370a08231146103d257600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102eb578063313ce5671461031a5780633f4218e014610341578063571ac8b01461037157600080fd5b80631df4ccfc146102a057806323b872dd146102b65780632b112e49146102d657600080fd5b806306fdde03146101ac57806309302dc6146101f6578063095ea7b314610218578063180b0d7e1461024857806318160ddd1461026b5780631da1db5e1461028057600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101e06040518060400160405280600881526020016726b7b7b7102132b760c11b81525081565b6040516101ed919061128d565b60405180910390f35b34801561020257600080fd5b506102166102113660046112e2565b6105b7565b005b34801561022457600080fd5b50610238610233366004611317565b610622565b60405190151581526020016101ed565b34801561025457600080fd5b5061025d606481565b6040519081526020016101ed565b34801561027757600080fd5b5061025d61068f565b34801561028c57600080fd5b5061021661029b3660046112e2565b6106ac565b3480156102ac57600080fd5b5061025d60065481565b3480156102c257600080fd5b506102386102d1366004611341565b610725565b3480156102e257600080fd5b5061025d6107e7565b3480156102f757600080fd5b5061023861030636600461137d565b6000546001600160a01b0391821691161490565b34801561032657600080fd5b5061032f600981565b60405160ff90911681526020016101ed565b34801561034d57600080fd5b5061023861035c36600461137d565b60046020526000908152604090205460ff1681565b34801561037d57600080fd5b5061023861038c36600461137d565b61086e565b34801561039d57600080fd5b50600a5461023890600160a01b900460ff1681565b3480156103be57600080fd5b506102166103cd366004611398565b61087c565b3480156103de57600080fd5b5061025d6103ed36600461137d565b60026020526000908152604090205481565b34801561040b57600080fd5b506102166108ae565b34801561042057600080fd5b5061023861042f366004611317565b6108ea565b34801561044057600080fd5b5061025d60015481565b34801561045657600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101ed565b34801561048857600080fd5b506101e0604051806040016040528060058152602001641226a122a760d91b81525081565b3480156104b957600080fd5b506104647f0000000000000000000000008af235c3e88f34c3a15f1d9f2aa96f220b433c3381565b3480156104ed57600080fd5b506102386104fc366004611317565b6109f6565b34801561050d57600080fd5b5061023861051c36600461137d565b60056020526000908152604090205460ff1681565b34801561053d57600080fd5b5061025d61054c3660046113ba565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058357600080fd5b506102166105923660046113fe565b610a03565b3480156105a357600080fd5b50600a54610464906001600160a01b031681565b6000546001600160a01b031633146105ea5760405162461bcd60e51b81526004016105e19061141c565b60405180910390fd5b6103e8816105fa6009600a611536565b61060890630bebc200611545565b6106129190611545565b61061c9190611564565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067d9086815260200190565b60405180910390a35060015b92915050565b61069b6009600a611536565b6106a990630bebc200611545565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105e19061141c565b47600060646106e58484611545565b6106ef9190611564565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a71565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aab565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108476009600a611536565b61085590630bebc200611545565b61085f9190611586565b6108699190611586565b905090565b600061068982600019610622565b6000546001600160a01b031633146108a65760405162461bcd60e51b81526004016105e19061141c565b600855600755565b6000546001600160a01b031633146108d85760405162461bcd60e51b81526004016105e19061141c565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109155760405162461bcd60e51b81526004016105e19061141c565b81610985576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610982919061159d565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e091906115b6565b60006107e0338484610aab565b6000546001600160a01b03163314610a2d5760405162461bcd60e51b81526004016105e19061141c565b600a805460ff60a01b1916600160a01b841515021781558190610a5290600990611536565b610a6090630bebc200611545565b610a6a9190611564565b600b555050565b60008184841115610a955760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611586565b95945050505050565b600c5460009060ff1615610acb57610ac4848484610d1c565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b0d57506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4b57507f0000000000000000000000008af235c3e88f34c3a15f1d9f2aa96f220b433c336001600160a01b0316836001600160a01b031614155b15610bc5576001546001600160a01b038416600090815260026020526040902054610b779084906115d3565b1115610bc55760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105e1565b610bcd610e02565b15610bda57610bda610e75565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2c918490610a71565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7957506001600160a01b03841660009081526004602052604090205460ff165b610c8d57610c88858486610f94565b610c8f565b825b6001600160a01b038516600090815260026020526040902054909150610cb590826110fd565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d099085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d6d918490610a71565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9c90836110fd565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df09086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f0000000000000000000000008af235c3e88f34c3a15f1d9f2aa96f220b433c331614801590610e405750600c5460ff16155b8015610e555750600a54600160a01b900460ff165b8015610869575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb757610eb76115eb565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0b57610f0b6115eb565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f559190600090869030904290600401611601565b600060405180830381600087803b158015610f6f57600080fd5b505af1158015610f83573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa35750600654155b15610faf5750816107e0565b600060095490507f0000000000000000000000008af235c3e88f34c3a15f1d9f2aa96f220b433c336001600160a01b0316836001600160a01b03161415610ff95750600854611038565b7f0000000000000000000000008af235c3e88f34c3a15f1d9f2aa96f220b433c336001600160a01b0316856001600160a01b0316141561103857506007545b600061106d611048606480611545565b611067846110616006548a61115c90919063ffffffff16565b9061115c565b906111db565b905080156110e9573060009081526002602052604090205461108f90826110fd565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e09085815260200190565b60405180910390a35b6110f3858261121d565b9695505050505050565b60008061110a83856115d3565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e1565b60008261116b57506000610689565b60006111778385611545565b9050826111848583611564565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e1565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061125f565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a71565b600081836112805760405162461bcd60e51b81526004016105e1919061128d565b506000610aa28486611564565b600060208083528351808285015260005b818110156112ba5785810183015185820160400152820161129e565b818111156112cc576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f457600080fd5b5035919050565b80356001600160a01b038116811461131257600080fd5b919050565b6000806040838503121561132a57600080fd5b611333836112fb565b946020939093013593505050565b60008060006060848603121561135657600080fd5b61135f846112fb565b925061136d602085016112fb565b9150604084013590509250925092565b60006020828403121561138f57600080fd5b6107e0826112fb565b600080604083850312156113ab57600080fd5b50508035926020909101359150565b600080604083850312156113cd57600080fd5b6113d6836112fb565b91506113e4602084016112fb565b90509250929050565b80151581146113fb57600080fd5b50565b6000806040838503121561141157600080fd5b8235611333816113ed565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148d5781600019048211156114735761147361143c565b8085161561148057918102915b93841c9390800290611457565b509250929050565b6000826114a457506001610689565b816114b157506000610689565b81600181146114c757600281146114d1576114ed565b6001915050610689565b60ff8411156114e2576114e261143c565b50506001821b610689565b5060208310610133831016604e8410600b8410161715611510575081810a610689565b61151a8383611452565b806000190482111561152e5761152e61143c565b029392505050565b60006107e060ff841683611495565b600081600019048311821515161561155f5761155f61143c565b500290565b60008261158157634e487b7160e01b600052601260045260246000fd5b500490565b6000828210156115985761159861143c565b500390565b6000602082840312156115af57600080fd5b5051919050565b6000602082840312156115c857600080fd5b81516107e0816113ed565b600082198211156115e6576115e661143c565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116515784516001600160a01b03168352938301939183019160010161162c565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220b927004c2361427043367760be925822f83d2b92bcb8695ef3149a3789f47c3d64736f6c634300080c0033

Deployed Bytecode Sourcemap

2544:6626:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2798:40;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2798:40:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5473:174;;;;;;;;;;-1:-1:-1;5473:174:0;;;;;:::i;:::-;;:::i;:::-;;4595:207;;;;;;;;;;-1:-1:-1;4595:207:0;;;;;:::i;:::-;;:::i;:::-;;;1403:14:1;;1396:22;1378:41;;1366:2;1351:18;4595:207:0;1238:187:1;3338:44:0;;;;;;;;;;;;3379:3;3338:44;;;;;1576:25:1;;;1564:2;1549:18;3338:44:0;1430:177:1;2938:64:0;;;;;;;;;;;;;:::i;7764:259::-;;;;;;;;;;-1:-1:-1;7764:259:0;;;;;:::i;:::-;;:::i;3303:28::-;;;;;;;;;;;;;;;;5104:361;;;;;;;;;;-1:-1:-1;5104:361:0;;;;;:::i;:::-;;:::i;9030:137::-;;;;;;;;;;;;;:::i;1864:103::-;;;;;;;;;;-1:-1:-1;1864:103:0;;;;;:::i;:::-;1919:4;1954:5;-1:-1:-1;;;;;1943:16:0;;;1954:5;;1943:16;;1864:103;2891:34;;;;;;;;;;;;2924:1;2891:34;;;;;2308:4:1;2296:17;;;2278:36;;2266:2;2251:18;2891:34:0;2136:184:1;3191:44:0;;;;;;;;;;-1:-1:-1;3191:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4810:122;;;;;;;;;;-1:-1:-1;4810:122:0;;;;;:::i;:::-;;:::i;3576:30::-;;;;;;;;;;-1:-1:-1;3576:30:0;;;;-1:-1:-1;;;3576:30:0;;;;;;8691:144;;;;;;;;;;-1:-1:-1;8691:144:0;;;;;:::i;:::-;;:::i;3069:45::-;;;;;;;;;;-1:-1:-1;3069:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;1975:85;;;;;;;;;;;;;:::i;8031:284::-;;;;;;;;;;-1:-1:-1;8031:284:0;;;;;:::i;:::-;;:::i;3011:49::-;;;;;;;;;;;;;;;;4388:69;;;;;;;;;;-1:-1:-1;4431:7:0;4449:5;-1:-1:-1;;;;;4449:5:0;4388:69;;;-1:-1:-1;;;;;2742:32:1;;;2724:51;;2712:2;2697:18;4388:69:0;2578:203:1;2845:39:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2845:39:0;;;;;3538:29;;;;;;;;;;;;;;;4940:156;;;;;;;;;;-1:-1:-1;4940:156:0;;;;;:::i;:::-;;:::i;3242:52::-;;;;;;;;;;-1:-1:-1;3242:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4463:124;;;;;;;;;;-1:-1:-1;4463:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;4556:19:0;;;4538:7;4556:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4463:124;8843:179;;;;;;;;;;-1:-1:-1;8843:179:0;;;;;:::i;:::-;;:::i;3507:24::-;;;;;;;;;;-1:-1:-1;3507:24:0;;;;-1:-1:-1;;;;;3507:24:0;;;5473:174;1919:4;1954:5;-1:-1:-1;;;;;1954:5:0;1823:10;1943:16;1807:38;;;;-1:-1:-1;;;1807:38:0;;;;;;;:::i;:::-;;;;;;;;;5635:4:::1;5607:23:::0;2990:12:::1;2924:1;2990:2;:12;:::i;:::-;2976:26;::::0;:11:::1;:26;:::i;:::-;5593:37;;;;:::i;:::-;5592:47;;;;:::i;:::-;5574:15;:65:::0;-1:-1:-1;5473:174:0:o;4595:207::-;4690:10;4661:4;4678:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4678:32:0;;;;;;;;;;:41;;;4735:37;4661:4;;4678:32;;4735:37;;;;4713:6;1576:25:1;;1564:2;1549:18;;1430:177;4735:37:0;;;;;;;;-1:-1:-1;4790:4:0;4595:207;;;;;:::o;2938:64::-;2990:12;2924:1;2990:2;:12;:::i;:::-;2976:26;;:11;:26;:::i;:::-;2938:64;:::o;7764:259::-;1919:4;1954:5;-1:-1:-1;;;;;1954:5:0;1823:10;1943:16;1807:38;;;;-1:-1:-1;;;1807:38:0;;;;;;;:::i;:::-;7867:21:::1;7847:17;7958:3;7925:28;7937:16:::0;7867:21;7925:28:::1;:::i;:::-;7923:38;;;;:::i;:::-;7972:43;::::0;7899:62;;-1:-1:-1;7980:10:0::1;::::0;7972:43;::::1;;;::::0;7899:62;;7972:43:::1;::::0;;;7899:62;7980:10;7972:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7836:187;;7764:259:::0;:::o;5104:361::-;-1:-1:-1;;;;;5215:19:0;;5195:4;5215:19;;;:11;:19;;;;;;;;5235:10;5215:31;;;;;;;;-1:-1:-1;;5215:52:0;5212:186;;5317:69;;;;;;;;;;;-1:-1:-1;;;5317:69:0;;;;;;;;-1:-1:-1;;;;;5317:19:0;;-1:-1:-1;5317:19:0;;;:11;:19;;;;;5337:10;5317:31;;;;;;;;;;:69;;5353:6;;5317:35;:69::i;:::-;-1:-1:-1;;;;;5283:19:0;;;;;;:11;:19;;;;;;;;5303:10;5283:31;;;;;;;:103;5212:186;5417:40;5431:6;5439:9;5450:6;5417:13;:40::i;:::-;5410:47;;5104:361;;;;;;:::o;9030:137::-;9143:9;:15;;;;2674:42;9083:7;9125:15;;;;;9083:7;;9143:15;2990:12;2924:1;2990:2;:12;:::i;:::-;2976:26;;:11;:26;:::i;:::-;9111:29;;;;:::i;:::-;:47;;;;:::i;:::-;9103:56;;9030:137;:::o;4810:122::-;4865:4;4889:35;4897:7;-1:-1:-1;;4889:7:0;:35::i;8691:144::-;1919:4;1954:5;-1:-1:-1;;;;;1954:5:0;1823:10;1943:16;1807:38;;;;-1:-1:-1;;;1807:38:0;;;;;;;:::i;:::-;8774:14:::1;:22:::0;8807:13:::1;:20:::0;8691:144::o;1975:85::-;1919:4;1954:5;-1:-1:-1;;;;;1954:5:0;1823:10;1943:16;1807:38;;;;-1:-1:-1;;;1807:38:0;;;;;;;:::i;:::-;2050:1:::1;2034:18:::0;;-1:-1:-1;;;;;;2034:18:0::1;::::0;;1975:85::o;8031:284::-;8122:12;1954:5;;-1:-1:-1;;;;;1954:5:0;1823:10;1943:16;1807:38;;;;-1:-1:-1;;;1807:38:0;;;;;;;:::i;:::-;8150:11;8147:95:::1;;8186:44;::::0;-1:-1:-1;;;8186:44:0;;8224:4:::1;8186:44;::::0;::::1;2724:51:1::0;-1:-1:-1;;;;;8186:29:0;::::1;::::0;::::1;::::0;2697:18:1;;8186:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8177:53;;8147:95;8259:48;::::0;-1:-1:-1;;;8259:48:0;;8288:10:::1;8259:48;::::0;::::1;6451:51:1::0;6518:18;;;6511:34;;;-1:-1:-1;;;;;8259:28:0;::::1;::::0;::::1;::::0;6424:18:1;;8259:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4940:156::-:0;5020:4;5044:44;5058:10;5070:9;5081:6;5044:13;:44::i;8843:179::-;1919:4;1954:5;-1:-1:-1;;;;;1954:5:0;1823:10;1943:16;1807:38;;;;-1:-1:-1;;;1807:38:0;;;;;;;:::i;:::-;8939:11:::1;:22:::0;;-1:-1:-1;;;;8939:22:0::1;-1:-1:-1::0;;;8939:22:0;::::1;;;;::::0;;9002:12;;2990::::1;::::0;2924:1:::1;::::0;2990:12:::1;:::i;:::-;2976:26;::::0;:11:::1;:26;:::i;:::-;8988;;;;:::i;:::-;8972:13;:42:::0;-1:-1:-1;;8843:179:0:o;514:192::-;600:7;636:12;628:6;;;;620:29;;;;-1:-1:-1;;;620:29:0;;;;;;;;:::i;:::-;-1:-1:-1;660:9:0;672:5;676:1;672;:5;:::i;:::-;660:17;514:192;-1:-1:-1;;;;;514:192:0:o;5657:821::-;5769:6;;5749:4;;5769:6;;5766:63;;;5785:41;5800:6;5808:9;5819:6;5785:14;:41::i;:::-;5778:48;;;;5766:63;-1:-1:-1;;;;;5846:27:0;;;;;;:19;:27;;;;;;;;5845:28;:63;;;;-1:-1:-1;;;;;;5878:30:0;;;;;;:19;:30;;;;;;;;5877:31;5845:63;:84;;;;;5925:4;-1:-1:-1;;;;;5912:17:0;:9;-1:-1:-1;;;;;5912:17:0;;;5845:84;5841:203;;;5989:15;;-1:-1:-1;;;;;5955:20:0;;;;;;:9;:20;;;;;;:29;;5978:6;;5955:29;:::i;:::-;5954:50;;5946:86;;;;-1:-1:-1;;;5946:86:0;;7141:2:1;5946:86:0;;;7123:21:1;7180:2;7160:18;;;7153:30;7219:26;7199:18;;;7192:54;7263:18;;5946:86:0;6939:348:1;5946:86:0;6063:16;:14;:16::i;:::-;6060:35;;;6082:10;:8;:10::i;:::-;6127:53;;;;;;;;;;;-1:-1:-1;;;6127:53:0;;;;;;;;-1:-1:-1;;;;;6127:17:0;;-1:-1:-1;6127:17:0;;;:9;:17;;;;;;;;:53;;6149:6;;6127:21;:53::i;:::-;-1:-1:-1;;;;;6107:17:0;;;;;;:9;:17;;;;;;;;:73;;;;6219:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;6242:22:0;;;;;;:11;:22;;;;;;;;6219:45;6218:93;;6277:34;6285:6;6293;6301:9;6277:7;:34::i;:::-;6218:93;;;6268:6;6218:93;-1:-1:-1;;;;;6347:20:0;;;;;;:9;:20;;;;;;6193:118;;-1:-1:-1;6347:40:0;;6193:118;6347:24;:40::i;:::-;-1:-1:-1;;;;;6324:20:0;;;;;;;:9;:20;;;;;;;:63;;;;6405:43;;;;;;;;;;6433:14;1576:25:1;;1564:2;1549:18;;1430:177;6405:43:0;;;;;;;;-1:-1:-1;6466:4:0;;5657:821;-1:-1:-1;;;;5657:821:0:o;6490:330::-;6620:53;;;;;;;;;;;-1:-1:-1;;;6620:53:0;;;;;;;;-1:-1:-1;;;;;6620:17:0;;6583:4;6620:17;;;:9;:17;;;;;;;:53;;6642:6;;6620:21;:53::i;:::-;-1:-1:-1;;;;;6600:17:0;;;;;;;:9;:17;;;;;;:73;;;;6707:20;;;;;;;:32;;6732:6;6707:24;:32::i;:::-;-1:-1:-1;;;;;6684:20:0;;;;;;;:9;:20;;;;;;;:55;;;;6755:35;;;;;;;;;;6783:6;1576:25:1;;1564:2;1549:18;;1430:177;6755:35:0;;;;;;;;-1:-1:-1;6808:4:0;6490:330;;;;;:::o;7559:197::-;7608:4;7632:10;-1:-1:-1;;;;;7646:4:0;7632:18;;;;;:38;;-1:-1:-1;7664:6:0;;;;7663:7;7632:38;:62;;;;-1:-1:-1;7683:11:0;;-1:-1:-1;;;7683:11:0;;;;7632:62;:116;;;;-1:-1:-1;;7735:13:0;;7725:4;7707:24;;;;:9;:24;;;;;;:41;;;7559:197::o;8323:360::-;3701:6;:13;;-1:-1:-1;;3701:13:0;3710:4;3701:13;;;8398:16:::1;::::0;;8412:1:::1;8398:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8398:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8398:16:0::1;8374:40;;8443:4;8425;8430:1;8425:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8425:23:0::1;;;-1:-1:-1::0;;;;;8425:23:0::1;;;::::0;::::1;8469:4;8459;8464:1;8459:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8459:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;8486:6:::1;::::0;8558:13:::1;::::0;8486:189:::1;::::0;-1:-1:-1;;;8486:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;8558:13;8486:6:::1;::::0;8602:4;;8629::::1;::::0;8649:15:::1;::::0;8486:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3719:6:0;:14;;-1:-1:-1;;3719:14:0;;;-1:-1:-1;;;8323:360:0:o;6828:723::-;6914:7;6937:11;;;:28;;-1:-1:-1;6952:8:0;;:13;6937:28;6934:72;;;-1:-1:-1;6988:6:0;6981:13;;6934:72;7018:18;7039;;7018:39;;7086:4;-1:-1:-1;;;;;7073:17:0;:9;-1:-1:-1;;;;;7073:17:0;;7070:154;;;-1:-1:-1;7120:14:0;;7070:154;;;7165:4;-1:-1:-1;;;;;7155:14:0;:6;-1:-1:-1;;;;;7155:14:0;;7152:72;;;-1:-1:-1;7199:13:0;;7152:72;7236:17;7256:62;7297:20;3379:3;;7297:20;:::i;:::-;7256:36;7281:10;7256:20;7267:8;;7256:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;7236:82;-1:-1:-1;7334:13:0;;7331:172;;7408:4;7390:24;;;;:9;:24;;;;;;:39;;7419:9;7390:28;:39::i;:::-;7381:4;7363:24;;;;:9;:24;;;;;;;:66;;;;7449:42;;-1:-1:-1;;;;;7449:42:0;;;;;;;7481:9;1576:25:1;;1564:2;1549:18;;1430:177;7449:42:0;;;;;;;;7331:172;7522:21;:6;7533:9;7522:10;:21::i;:::-;7515:28;6828:723;-1:-1:-1;;;;;;6828:723:0:o;185:181::-;243:7;;275:5;279:1;275;:5;:::i;:::-;263:17;;304:1;299;:6;;291:46;;;;-1:-1:-1;;;291:46:0;;8743:2:1;291:46:0;;;8725:21:1;8782:2;8762:18;;;8755:30;8821:29;8801:18;;;8794:57;8868:18;;291:46:0;8541:351:1;712:250:0;770:7;794:6;790:47;;-1:-1:-1;824:1:0;817:8;;790:47;849:9;861:5;865:1;861;:5;:::i;:::-;849:17;-1:-1:-1;894:1:0;885:5;889:1;849:17;885:5;:::i;:::-;:10;877:56;;;;-1:-1:-1;;;877:56:0;;9099:2:1;877:56:0;;;9081:21:1;9138:2;9118:18;;;9111:30;9177:34;9157:18;;;9150:62;-1:-1:-1;;;9228:18:1;;;9221:31;9269:19;;877:56:0;8897:397:1;968:132:0;1026:7;1053:39;1057:1;1060;1053:39;;;;;;;;;;;;;;;;;:3;:39::i;372:136::-;430:7;457:43;461:1;464;457:43;;;;;;;;;;;;;;;;;:3;:43::i;1106:189::-;1192:7;1227:12;1220:5;1212:28;;;;-1:-1:-1;;;1212:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1251:9:0;1263:5;1267:1;1263;:5;:::i;14:597: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;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:180::-;675:6;728:2;716:9;707:7;703:23;699:32;696:52;;;744:1;741;734:12;696:52;-1:-1:-1;767:23:1;;616:180;-1:-1:-1;616:180:1:o;801:173::-;869:20;;-1:-1:-1;;;;;918:31:1;;908:42;;898:70;;964:1;961;954:12;898:70;801:173;;;:::o;979:254::-;1047:6;1055;1108:2;1096:9;1087:7;1083:23;1079:32;1076:52;;;1124:1;1121;1114:12;1076:52;1147:29;1166:9;1147:29;:::i;:::-;1137:39;1223:2;1208:18;;;;1195:32;;-1:-1:-1;;;979:254:1:o;1612:328::-;1689:6;1697;1705;1758:2;1746:9;1737:7;1733:23;1729:32;1726:52;;;1774:1;1771;1764:12;1726:52;1797:29;1816:9;1797:29;:::i;:::-;1787:39;;1845:38;1879:2;1868:9;1864:18;1845:38;:::i;:::-;1835:48;;1930:2;1919:9;1915:18;1902:32;1892:42;;1612:328;;;;;:::o;1945:186::-;2004:6;2057:2;2045:9;2036:7;2032:23;2028:32;2025:52;;;2073:1;2070;2063:12;2025:52;2096:29;2115:9;2096:29;:::i;2325:248::-;2393:6;2401;2454:2;2442:9;2433:7;2429:23;2425:32;2422:52;;;2470:1;2467;2460:12;2422:52;-1:-1:-1;;2493:23:1;;;2563:2;2548:18;;;2535:32;;-1:-1:-1;2325:248:1:o;2786:260::-;2854:6;2862;2915:2;2903:9;2894:7;2890:23;2886:32;2883:52;;;2931:1;2928;2921:12;2883:52;2954:29;2973:9;2954:29;:::i;:::-;2944:39;;3002:38;3036:2;3025:9;3021:18;3002:38;:::i;:::-;2992:48;;2786:260;;;;;:::o;3051:118::-;3137:5;3130:13;3123:21;3116:5;3113:32;3103:60;;3159:1;3156;3149:12;3103:60;3051:118;:::o;3174:309::-;3239:6;3247;3300:2;3288:9;3279:7;3275:23;3271:32;3268:52;;;3316:1;3313;3306:12;3268:52;3355:9;3342:23;3374:28;3396:5;3374:28;:::i;3714:329::-;3916:2;3898:21;;;3955:1;3935:18;;;3928:29;-1:-1:-1;;;3988:2:1;3973:18;;3966:36;4034:2;4019:18;;3714:329::o;4048:127::-;4109:10;4104:3;4100:20;4097:1;4090:31;4140:4;4137:1;4130:15;4164:4;4161:1;4154:15;4180:422;4269:1;4312:5;4269:1;4326:270;4347:7;4337:8;4334:21;4326:270;;;4406:4;4402:1;4398:6;4394:17;4388:4;4385:27;4382:53;;;4415:18;;:::i;:::-;4465:7;4455:8;4451:22;4448:55;;;4485:16;;;;4448:55;4564:22;;;;4524:15;;;;4326:270;;;4330:3;4180:422;;;;;:::o;4607:806::-;4656:5;4686:8;4676:80;;-1:-1:-1;4727:1:1;4741:5;;4676:80;4775:4;4765:76;;-1:-1:-1;4812:1:1;4826:5;;4765:76;4857:4;4875:1;4870:59;;;;4943:1;4938:130;;;;4850:218;;4870:59;4900:1;4891:10;;4914:5;;;4938:130;4975:3;4965:8;4962:17;4959:43;;;4982:18;;:::i;:::-;-1:-1:-1;;5038:1:1;5024:16;;5053:5;;4850:218;;5152:2;5142:8;5139:16;5133:3;5127:4;5124:13;5120:36;5114:2;5104:8;5101:16;5096:2;5090:4;5087:12;5083:35;5080:77;5077:159;;;-1:-1:-1;5189:19:1;;;5221:5;;5077:159;5268:34;5293:8;5287:4;5268:34;:::i;:::-;5338:6;5334:1;5330:6;5326:19;5317:7;5314:32;5311:58;;;5349:18;;:::i;:::-;5387:20;;4607:806;-1:-1:-1;;;4607:806:1:o;5418:140::-;5476:5;5505:47;5546:4;5536:8;5532:19;5526:4;5505:47;:::i;5563:168::-;5603:7;5669:1;5665;5661:6;5657:14;5654:1;5651:21;5646:1;5639:9;5632:17;5628:45;5625:71;;;5676:18;;:::i;:::-;-1:-1:-1;5716:9:1;;5563:168::o;5736:217::-;5776:1;5802;5792:132;;5846:10;5841:3;5837:20;5834:1;5827:31;5881:4;5878:1;5871:15;5909:4;5906:1;5899:15;5792:132;-1:-1:-1;5938:9:1;;5736:217::o;5958:125::-;5998:4;6026:1;6023;6020:8;6017:34;;;6031:18;;:::i;:::-;-1:-1:-1;6068:9:1;;5958:125::o;6088:184::-;6158:6;6211:2;6199:9;6190:7;6186:23;6182:32;6179:52;;;6227:1;6224;6217:12;6179:52;-1:-1:-1;6250:16:1;;6088:184;-1:-1:-1;6088:184:1:o;6556:245::-;6623:6;6676:2;6664:9;6655:7;6651:23;6647:32;6644:52;;;6692:1;6689;6682:12;6644:52;6724:9;6718:16;6743:28;6765:5;6743:28;:::i;6806:128::-;6846:3;6877:1;6873:6;6870:1;6867:13;6864:39;;;6883:18;;:::i;:::-;-1:-1:-1;6919:9:1;;6806:128::o;7424:127::-;7485:10;7480:3;7476:20;7473:1;7466:31;7516:4;7513:1;7506:15;7540:4;7537:1;7530:15;7556:980;7818:4;7866:3;7855:9;7851:19;7897:6;7886:9;7879:25;7923:2;7961:6;7956:2;7945:9;7941:18;7934:34;8004:3;7999:2;7988:9;7984:18;7977:31;8028:6;8063;8057:13;8094:6;8086;8079:22;8132:3;8121:9;8117:19;8110:26;;8171:2;8163:6;8159:15;8145:29;;8192:1;8202:195;8216:6;8213:1;8210:13;8202:195;;;8281:13;;-1:-1:-1;;;;;8277:39:1;8265:52;;8372:15;;;;8337:12;;;;8313:1;8231:9;8202:195;;;-1:-1:-1;;;;;;;8453:32:1;;;;8448:2;8433:18;;8426:60;-1:-1:-1;;;8517:3:1;8502:19;8495:35;8414:3;7556:980;-1:-1:-1;;;7556:980:1:o

Swarm Source

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