ETH Price: $3,502.56 (+2.14%)
Gas: 3 Gwei

Token

Ben AI (BenAI)
 

Overview

Max Total Supply

5,000,000,000 BenAI

Holders

42

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
78,016,261.178341087586453471 BenAI

Value
$0.00
0x841df42983f8a2d95fe7f8d0628b700c560d1d72
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:
BenAIErc

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-29
*/

// SPDX-License-Identifier: UNLICENSED

/*

Twitter : https://twitter.com/BenAi_ETH
Telegram : https://t.me/BenAIErc

*/

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 BenAIErc is ERC20, Auth {
    using SafeMath for uint256;

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

    string public constant name = "Ben AI";
    string public constant symbol = "BenAI";
    uint8 public constant decimals = 18;
    
    uint256 public constant totalSupply = 5 * 10**9 * 10**decimals;

    uint256 public _maxWalletToken = totalSupply / 100;

    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 = 180;
    uint256 sellMultiplier = 180;
    uint256 transferMultiplier = 180;


    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"}]

60c06040526064620000146012600a62000458565b620000259064012a05f20062000470565b62000031919062000492565b600155600a600681905560b460078190556008819055600955805460ff60a01b1916600160a01b1781556064906200006c9060129062000458565b6200007d9064012a05f20062000470565b62000089919062000492565b600b553480156200009957600080fd5b5060008054336001600160a01b031991821617909155600a8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa1580156200010a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001309190620004b5565b6001600160a01b03908116608052600a546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000181573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001a79190620004b5565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303816000875af1158015620001f9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200021f9190620004b5565b6001600160a01b0390811660a052306000818152600360209081526040808320600a8054909616845282528083206000199055338352600482528083208054600160ff199182168117909255600590935281842080548416821790559383528220805482168417905561dead9091527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba80549091169091179055620002c79060129062000458565b620002d89064012a05f20062000470565b33600081815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6200031b6012600a62000458565b6200032c9064012a05f20062000470565b60405190815260200160405180910390a3620004e0565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200039a5781600019048211156200037e576200037e62000343565b808516156200038c57918102915b93841c93908002906200035e565b509250929050565b600082620003b35750600162000452565b81620003c25750600062000452565b8160018114620003db5760028114620003e65762000406565b600191505062000452565b60ff841115620003fa57620003fa62000343565b50506001821b62000452565b5060208310610133831016604e8410600b84101617156200042b575081810a62000452565b62000437838362000359565b80600019048211156200044e576200044e62000343565b0290505b92915050565b60006200046960ff841683620003a2565b9392505050565b60008160001904831182151516156200048d576200048d62000343565b500290565b600082620004b057634e487b7160e01b600052601260045260246000fd5b500490565b600060208284031215620004c857600080fd5b81516001600160a01b03811681146200046957600080fd5b60805160a0516116aa62000522600039600081816104bd01528181610b1801528181610e1101528181610fba0152610ffd01526000610edb01526116aa6000f3fe6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b146104ff578063dd62ed3e1461052f578063df20fd4914610575578063f887ea401461059557600080fd5b806395d89b411461047a578063a8aa1b31146104ab578063a9059cbb146104df57600080fd5b8063715018a6116100c6578063715018a6146103fd57806377b54bad1461041257806378109e5414610432578063893d20e81461044857600080fd5b80636ddd17131461038f5780636f50f507146103b057806370a08231146103d057600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102e9578063313ce567146103185780633f4218e01461033f578063571ac8b01461036f57600080fd5b80631df4ccfc1461029e57806323b872dd146102b45780632b112e49146102d457600080fd5b806306fdde03146101ac57806309302dc6146101f4578063095ea7b314610216578063180b0d7e1461024657806318160ddd146102695780631da1db5e1461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101de6040518060400160405280600681526020016542656e20414960d01b81525081565b6040516101eb919061128f565b60405180910390f35b34801561020057600080fd5b5061021461020f3660046112e4565b6105b5565b005b34801561022257600080fd5b50610236610231366004611319565b610621565b60405190151581526020016101eb565b34801561025257600080fd5b5061025b606481565b6040519081526020016101eb565b34801561027557600080fd5b5061025b61068e565b34801561028a57600080fd5b506102146102993660046112e4565b6106ac565b3480156102aa57600080fd5b5061025b60065481565b3480156102c057600080fd5b506102366102cf366004611343565b610725565b3480156102e057600080fd5b5061025b6107e7565b3480156102f557600080fd5b5061023661030436600461137f565b6000546001600160a01b0391821691161490565b34801561032457600080fd5b5061032d601281565b60405160ff90911681526020016101eb565b34801561034b57600080fd5b5061023661035a36600461137f565b60046020526000908152604090205460ff1681565b34801561037b57600080fd5b5061023661038a36600461137f565b61086f565b34801561039b57600080fd5b50600a5461023690600160a01b900460ff1681565b3480156103bc57600080fd5b506102146103cb36600461139a565b61087d565b3480156103dc57600080fd5b5061025b6103eb36600461137f565b60026020526000908152604090205481565b34801561040957600080fd5b506102146108af565b34801561041e57600080fd5b5061023661042d366004611319565b6108eb565b34801561043e57600080fd5b5061025b60015481565b34801561045457600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101eb565b34801561048657600080fd5b506101de6040518060400160405280600581526020016442656e414960d81b81525081565b3480156104b757600080fd5b506104627f000000000000000000000000000000000000000000000000000000000000000081565b3480156104eb57600080fd5b506102366104fa366004611319565b6109f7565b34801561050b57600080fd5b5061023661051a36600461137f565b60056020526000908152604090205460ff1681565b34801561053b57600080fd5b5061025b61054a3660046113bc565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058157600080fd5b50610214610590366004611400565b610a04565b3480156105a157600080fd5b50600a54610462906001600160a01b031681565b6000546001600160a01b031633146105e85760405162461bcd60e51b81526004016105df9061141e565b60405180910390fd5b6103e8816105f86012600a611538565b6106079064012a05f200611547565b6106119190611547565b61061b9190611566565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067c9086815260200190565b60405180910390a35060015b92915050565b61069a6012600a611538565b6106a99064012a05f200611547565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105df9061141e565b47600060646106e58484611547565b6106ef9190611566565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a73565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aad565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108476012600a611538565b6108569064012a05f200611547565b6108609190611588565b61086a9190611588565b905090565b600061068882600019610621565b6000546001600160a01b031633146108a75760405162461bcd60e51b81526004016105df9061141e565b600855600755565b6000546001600160a01b031633146108d95760405162461bcd60e51b81526004016105df9061141e565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109165760405162461bcd60e51b81526004016105df9061141e565b81610986576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610983919061159f565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e091906115b8565b60006107e0338484610aad565b6000546001600160a01b03163314610a2e5760405162461bcd60e51b81526004016105df9061141e565b600a805460ff60a01b1916600160a01b841515021781558190610a5390601290611538565b610a629064012a05f200611547565b610a6c9190611566565b600b555050565b60008184841115610a975760405162461bcd60e51b81526004016105df919061128f565b506000610aa48486611588565b95945050505050565b600c5460009060ff1615610acd57610ac6848484610d1e565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b0f57506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4d57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610bc7576001546001600160a01b038416600090815260026020526040902054610b799084906115d5565b1115610bc75760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105df565b610bcf610e04565b15610bdc57610bdc610e77565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2e918490610a73565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7b57506001600160a01b03841660009081526004602052604090205460ff165b610c8f57610c8a858486610f96565b610c91565b825b6001600160a01b038516600090815260026020526040902054909150610cb790826110ff565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0b9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d6f918490610a73565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9e90836110ff565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df29086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590610e425750600c5460ff16155b8015610e575750600a54600160a01b900460ff165b801561086a575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb957610eb96115ed565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000000000000000000000000000000000000000000081600181518110610f0d57610f0d6115ed565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f579190600090869030904290600401611603565b600060405180830381600087803b158015610f7157600080fd5b505af1158015610f85573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa55750600654155b15610fb15750816107e0565b600060095490507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03161415610ffb575060085461103a565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316141561103a57506007545b600061106f61104a606480611547565b611069846110636006548a61115e90919063ffffffff16565b9061115e565b906111dd565b905080156110eb573060009081526002602052604090205461109190826110ff565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e29085815260200190565b60405180910390a35b6110f5858261121f565b9695505050505050565b60008061110c83856115d5565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105df565b60008261116d57506000610688565b60006111798385611547565b9050826111868583611566565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105df565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611261565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a73565b600081836112825760405162461bcd60e51b81526004016105df919061128f565b506000610aa48486611566565b600060208083528351808285015260005b818110156112bc578581018301518582016040015282016112a0565b818111156112ce576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f657600080fd5b5035919050565b80356001600160a01b038116811461131457600080fd5b919050565b6000806040838503121561132c57600080fd5b611335836112fd565b946020939093013593505050565b60008060006060848603121561135857600080fd5b611361846112fd565b925061136f602085016112fd565b9150604084013590509250925092565b60006020828403121561139157600080fd5b6107e0826112fd565b600080604083850312156113ad57600080fd5b50508035926020909101359150565b600080604083850312156113cf57600080fd5b6113d8836112fd565b91506113e6602084016112fd565b90509250929050565b80151581146113fd57600080fd5b50565b6000806040838503121561141357600080fd5b8235611335816113ef565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148f5781600019048211156114755761147561143e565b8085161561148257918102915b93841c9390800290611459565b509250929050565b6000826114a657506001610688565b816114b357506000610688565b81600181146114c957600281146114d3576114ef565b6001915050610688565b60ff8411156114e4576114e461143e565b50506001821b610688565b5060208310610133831016604e8410600b8410161715611512575081810a610688565b61151c8383611454565b80600019048211156115305761153061143e565b029392505050565b60006107e060ff841683611497565b60008160001904831182151516156115615761156161143e565b500290565b60008261158357634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561159a5761159a61143e565b500390565b6000602082840312156115b157600080fd5b5051919050565b6000602082840312156115ca57600080fd5b81516107e0816113ef565b600082198211156115e8576115e861143e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116535784516001600160a01b03168352938301939183019160010161162e565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122057733b93dc9d7329ba30a04688613ac20544291e81df82862c6dae8768a2cc0664736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101a05760003560e01c80636ddd1713116100ec57806395d89b411161008a578063c867d60b11610064578063c867d60b146104ff578063dd62ed3e1461052f578063df20fd4914610575578063f887ea401461059557600080fd5b806395d89b411461047a578063a8aa1b31146104ab578063a9059cbb146104df57600080fd5b8063715018a6116100c6578063715018a6146103fd57806377b54bad1461041257806378109e5414610432578063893d20e81461044857600080fd5b80636ddd17131461038f5780636f50f507146103b057806370a08231146103d057600080fd5b80631df4ccfc116101595780632f54bf6e116101335780632f54bf6e146102e9578063313ce567146103185780633f4218e01461033f578063571ac8b01461036f57600080fd5b80631df4ccfc1461029e57806323b872dd146102b45780632b112e49146102d457600080fd5b806306fdde03146101ac57806309302dc6146101f4578063095ea7b314610216578063180b0d7e1461024657806318160ddd146102695780631da1db5e1461027e57600080fd5b366101a757005b600080fd5b3480156101b857600080fd5b506101de6040518060400160405280600681526020016542656e20414960d01b81525081565b6040516101eb919061128f565b60405180910390f35b34801561020057600080fd5b5061021461020f3660046112e4565b6105b5565b005b34801561022257600080fd5b50610236610231366004611319565b610621565b60405190151581526020016101eb565b34801561025257600080fd5b5061025b606481565b6040519081526020016101eb565b34801561027557600080fd5b5061025b61068e565b34801561028a57600080fd5b506102146102993660046112e4565b6106ac565b3480156102aa57600080fd5b5061025b60065481565b3480156102c057600080fd5b506102366102cf366004611343565b610725565b3480156102e057600080fd5b5061025b6107e7565b3480156102f557600080fd5b5061023661030436600461137f565b6000546001600160a01b0391821691161490565b34801561032457600080fd5b5061032d601281565b60405160ff90911681526020016101eb565b34801561034b57600080fd5b5061023661035a36600461137f565b60046020526000908152604090205460ff1681565b34801561037b57600080fd5b5061023661038a36600461137f565b61086f565b34801561039b57600080fd5b50600a5461023690600160a01b900460ff1681565b3480156103bc57600080fd5b506102146103cb36600461139a565b61087d565b3480156103dc57600080fd5b5061025b6103eb36600461137f565b60026020526000908152604090205481565b34801561040957600080fd5b506102146108af565b34801561041e57600080fd5b5061023661042d366004611319565b6108eb565b34801561043e57600080fd5b5061025b60015481565b34801561045457600080fd5b506000546001600160a01b03165b6040516001600160a01b0390911681526020016101eb565b34801561048657600080fd5b506101de6040518060400160405280600581526020016442656e414960d81b81525081565b3480156104b757600080fd5b506104627f000000000000000000000000d21582e272df7d0c5c3fb00a477e3eea1bba039881565b3480156104eb57600080fd5b506102366104fa366004611319565b6109f7565b34801561050b57600080fd5b5061023661051a36600461137f565b60056020526000908152604090205460ff1681565b34801561053b57600080fd5b5061025b61054a3660046113bc565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b34801561058157600080fd5b50610214610590366004611400565b610a04565b3480156105a157600080fd5b50600a54610462906001600160a01b031681565b6000546001600160a01b031633146105e85760405162461bcd60e51b81526004016105df9061141e565b60405180910390fd5b6103e8816105f86012600a611538565b6106079064012a05f200611547565b6106119190611547565b61061b9190611566565b60015550565b3360008181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259061067c9086815260200190565b60405180910390a35060015b92915050565b61069a6012600a611538565b6106a99064012a05f200611547565b81565b6000546001600160a01b031633146106d65760405162461bcd60e51b81526004016105df9061141e565b47600060646106e58484611547565b6106ef9190611566565b604051909150339082156108fc029083906000818181858888f1935050505015801561071f573d6000803e3d6000fd5b50505050565b6001600160a01b0383166000908152600360209081526040808320338452909152812054600019146107d2576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b03871660009081526003825283812033825290915291909120546107ad918490610a73565b6001600160a01b03851660009081526003602090815260408083203384529091529020555b6107dd848484610aad565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc549091906108476012600a611538565b6108569064012a05f200611547565b6108609190611588565b61086a9190611588565b905090565b600061068882600019610621565b6000546001600160a01b031633146108a75760405162461bcd60e51b81526004016105df9061141e565b600855600755565b6000546001600160a01b031633146108d95760405162461bcd60e51b81526004016105df9061141e565b600080546001600160a01b0319169055565b600080546001600160a01b031633146109165760405162461bcd60e51b81526004016105df9061141e565b81610986576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa15801561095f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610983919061159f565b91505b60405163a9059cbb60e01b8152336004820152602481018390526001600160a01b0384169063a9059cbb906044016020604051808303816000875af11580156109d3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e091906115b8565b60006107e0338484610aad565b6000546001600160a01b03163314610a2e5760405162461bcd60e51b81526004016105df9061141e565b600a805460ff60a01b1916600160a01b841515021781558190610a5390601290611538565b610a629064012a05f200611547565b610a6c9190611566565b600b555050565b60008184841115610a975760405162461bcd60e51b81526004016105df919061128f565b506000610aa48486611588565b95945050505050565b600c5460009060ff1615610acd57610ac6848484610d1e565b90506107e0565b6001600160a01b03841660009081526005602052604090205460ff16158015610b0f57506001600160a01b03831660009081526005602052604090205460ff16155b8015610b4d57507f000000000000000000000000d21582e272df7d0c5c3fb00a477e3eea1bba03986001600160a01b0316836001600160a01b031614155b15610bc7576001546001600160a01b038416600090815260026020526040902054610b799084906115d5565b1115610bc75760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d69742072656163686564000000000000000060448201526064016105df565b610bcf610e04565b15610bdc57610bdc610e77565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b038716600090815260029091529190912054610c2e918490610a73565b6001600160a01b038516600090815260026020908152604080832093909355600490529081205460ff1680610c7b57506001600160a01b03841660009081526004602052604090205460ff165b610c8f57610c8a858486610f96565b610c91565b825b6001600160a01b038516600090815260026020526040902054909150610cb790826110ff565b6001600160a01b0380861660008181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610d0b9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600290915291822054610d6f918490610a73565b6001600160a01b038086166000908152600260205260408082209390935590851681522054610d9e90836110ff565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610df29086815260200190565b60405180910390a35060019392505050565b6000336001600160a01b037f000000000000000000000000d21582e272df7d0c5c3fb00a477e3eea1bba03981614801590610e425750600c5460ff16155b8015610e575750600a54600160a01b900460ff165b801561086a575050600b5430600090815260026020526040902054101590565b600c805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610eb957610eb96115ed565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc281600181518110610f0d57610f0d6115ed565b6001600160a01b039283166020918202929092010152600a54600b5460405163791ac94760e01b8152919092169163791ac94791610f579190600090869030904290600401611603565b600060405180830381600087803b158015610f7157600080fd5b505af1158015610f85573d6000803e3d6000fd5b5050600c805460ff19169055505050565b6000821580610fa55750600654155b15610fb15750816107e0565b600060095490507f000000000000000000000000d21582e272df7d0c5c3fb00a477e3eea1bba03986001600160a01b0316836001600160a01b03161415610ffb575060085461103a565b7f000000000000000000000000d21582e272df7d0c5c3fb00a477e3eea1bba03986001600160a01b0316856001600160a01b0316141561103a57506007545b600061106f61104a606480611547565b611069846110636006548a61115e90919063ffffffff16565b9061115e565b906111dd565b905080156110eb573060009081526002602052604090205461109190826110ff565b30600081815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110e29085815260200190565b60405180910390a35b6110f5858261121f565b9695505050505050565b60008061110c83856115d5565b9050838110156107e05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105df565b60008261116d57506000610688565b60006111798385611547565b9050826111868583611566565b146107e05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105df565b60006107e083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611261565b60006107e083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610a73565b600081836112825760405162461bcd60e51b81526004016105df919061128f565b506000610aa48486611566565b600060208083528351808285015260005b818110156112bc578581018301518582016040015282016112a0565b818111156112ce576000604083870101525b50601f01601f1916929092016040019392505050565b6000602082840312156112f657600080fd5b5035919050565b80356001600160a01b038116811461131457600080fd5b919050565b6000806040838503121561132c57600080fd5b611335836112fd565b946020939093013593505050565b60008060006060848603121561135857600080fd5b611361846112fd565b925061136f602085016112fd565b9150604084013590509250925092565b60006020828403121561139157600080fd5b6107e0826112fd565b600080604083850312156113ad57600080fd5b50508035926020909101359150565b600080604083850312156113cf57600080fd5b6113d8836112fd565b91506113e6602084016112fd565b90509250929050565b80151581146113fd57600080fd5b50565b6000806040838503121561141357600080fd5b8235611335816113ef565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b600181815b8085111561148f5781600019048211156114755761147561143e565b8085161561148257918102915b93841c9390800290611459565b509250929050565b6000826114a657506001610688565b816114b357506000610688565b81600181146114c957600281146114d3576114ef565b6001915050610688565b60ff8411156114e4576114e461143e565b50506001821b610688565b5060208310610133831016604e8410600b8410161715611512575081810a610688565b61151c8383611454565b80600019048211156115305761153061143e565b029392505050565b60006107e060ff841683611497565b60008160001904831182151516156115615761156161143e565b500290565b60008261158357634e487b7160e01b600052601260045260246000fd5b500490565b60008282101561159a5761159a61143e565b500390565b6000602082840312156115b157600080fd5b5051919050565b6000602082840312156115ca57600080fd5b81516107e0816113ef565b600082198211156115e8576115e861143e565b500190565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156116535784516001600160a01b03168352938301939183019160010161162e565b50506001600160a01b0396909616606085015250505060800152939250505056fea264697066735822122057733b93dc9d7329ba30a04688613ac20544291e81df82862c6dae8768a2cc0664736f6c634300080c0033

Deployed Bytecode Sourcemap

2541:6622:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2793:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2793:38:0;;;;;;;;;;;;:::i;:::-;;;;;;;;5466:174;;;;;;;;;;-1:-1:-1;5466:174:0;;;;;:::i;:::-;;:::i;:::-;;4588:207;;;;;;;;;;-1:-1:-1;4588:207:0;;;;;:::i;:::-;;:::i;:::-;;;1403:14:1;;1396:22;1378:41;;1366:2;1351:18;4588:207:0;1238:187:1;3331:44:0;;;;;;;;;;;;3372:3;3331:44;;;;;1576:25:1;;;1564:2;1549:18;3331:44:0;1430:177:1;2932:62:0;;;;;;;;;;;;;:::i;7757:259::-;;;;;;;;;;-1:-1:-1;7757:259:0;;;;;:::i;:::-;;:::i;3296:28::-;;;;;;;;;;;;;;;;5097:361;;;;;;;;;;-1:-1:-1;5097:361:0;;;;;:::i;:::-;;:::i;9023:137::-;;;;;;;;;;;;;:::i;1861:103::-;;;;;;;;;;-1:-1:-1;1861:103:0;;;;;:::i;:::-;1916:4;1951:5;-1:-1:-1;;;;;1940:16:0;;;1951:5;;1940:16;;1861:103;2884:35;;;;;;;;;;;;2917:2;2884:35;;;;;2308:4:1;2296:17;;;2278:36;;2266:2;2251:18;2884:35:0;2136:184:1;3184:44:0;;;;;;;;;;-1:-1:-1;3184:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4803:122;;;;;;;;;;-1:-1:-1;4803:122:0;;;;;:::i;:::-;;:::i;3569:30::-;;;;;;;;;;-1:-1:-1;3569:30:0;;;;-1:-1:-1;;;3569:30:0;;;;;;8684:144;;;;;;;;;;-1:-1:-1;8684:144:0;;;;;:::i;:::-;;:::i;3062:45::-;;;;;;;;;;-1:-1:-1;3062:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;1972:85;;;;;;;;;;;;;:::i;8024:284::-;;;;;;;;;;-1:-1:-1;8024:284:0;;;;;:::i;:::-;;:::i;3003:50::-;;;;;;;;;;;;;;;;4381:69;;;;;;;;;;-1:-1:-1;4424:7:0;4442:5;-1:-1:-1;;;;;4442:5:0;4381:69;;;-1:-1:-1;;;;;2742:32:1;;;2724:51;;2712:2;2697:18;4381:69:0;2578:203:1;2838:39:0;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;2838:39:0;;;;;3531:29;;;;;;;;;;;;;;;4933:156;;;;;;;;;;-1:-1:-1;4933:156:0;;;;;:::i;:::-;;:::i;3235:52::-;;;;;;;;;;-1:-1:-1;3235:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4456:124;;;;;;;;;;-1:-1:-1;4456:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;4549:19:0;;;4531:7;4549:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;4456:124;8836:179;;;;;;;;;;-1:-1:-1;8836:179:0;;;;;:::i;:::-;;:::i;3500:24::-;;;;;;;;;;-1:-1:-1;3500:24:0;;;;-1:-1:-1;;;;;3500:24:0;;;5466:174;1916:4;1951:5;-1:-1:-1;;;;;1951:5:0;1820:10;1940:16;1804:38;;;;-1:-1:-1;;;1804:38:0;;;;;;;:::i;:::-;;;;;;;;;5628:4:::1;5600:23:::0;2982:12:::1;2917:2;2982;:12;:::i;:::-;2970:24;::::0;:9:::1;:24;:::i;:::-;5586:37;;;;:::i;:::-;5585:47;;;;:::i;:::-;5567:15;:65:::0;-1:-1:-1;5466:174:0:o;4588:207::-;4683:10;4654:4;4671:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;4671:32:0;;;;;;;;;;:41;;;4728:37;4654:4;;4671:32;;4728:37;;;;4706:6;1576:25:1;;1564:2;1549:18;;1430:177;4728:37:0;;;;;;;;-1:-1:-1;4783:4:0;4588:207;;;;;:::o;2932:62::-;2982:12;2917:2;2982;:12;:::i;:::-;2970:24;;:9;:24;:::i;:::-;2932:62;:::o;7757:259::-;1916:4;1951:5;-1:-1:-1;;;;;1951:5:0;1820:10;1940:16;1804:38;;;;-1:-1:-1;;;1804:38:0;;;;;;;:::i;:::-;7860:21:::1;7840:17;7951:3;7918:28;7930:16:::0;7860:21;7918:28:::1;:::i;:::-;7916:38;;;;:::i;:::-;7965:43;::::0;7892:62;;-1:-1:-1;7973:10:0::1;::::0;7965:43;::::1;;;::::0;7892:62;;7965:43:::1;::::0;;;7892:62;7973:10;7965:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;7829:187;;7757:259:::0;:::o;5097:361::-;-1:-1:-1;;;;;5208:19:0;;5188:4;5208:19;;;:11;:19;;;;;;;;5228:10;5208:31;;;;;;;;-1:-1:-1;;5208:52:0;5205:186;;5310:69;;;;;;;;;;;-1:-1:-1;;;5310:69:0;;;;;;;;-1:-1:-1;;;;;5310:19:0;;-1:-1:-1;5310:19:0;;;:11;:19;;;;;5330:10;5310:31;;;;;;;;;;:69;;5346:6;;5310:35;:69::i;:::-;-1:-1:-1;;;;;5276:19:0;;;;;;:11;:19;;;;;;;;5296:10;5276:31;;;;;;;:103;5205:186;5410:40;5424:6;5432:9;5443:6;5410:13;:40::i;:::-;5403:47;;5097:361;;;;;;:::o;9023:137::-;9136:9;:15;;;;2669:42;9076:7;9118:15;;;;;9076:7;;9136:15;2982:12;2917:2;2982;:12;:::i;:::-;2970:24;;:9;:24;:::i;:::-;9104:29;;;;:::i;:::-;:47;;;;:::i;:::-;9096:56;;9023:137;:::o;4803:122::-;4858:4;4882:35;4890:7;-1:-1:-1;;4882:7:0;:35::i;8684:144::-;1916:4;1951:5;-1:-1:-1;;;;;1951:5:0;1820:10;1940:16;1804:38;;;;-1:-1:-1;;;1804:38:0;;;;;;;:::i;:::-;8767:14:::1;:22:::0;8800:13:::1;:20:::0;8684:144::o;1972:85::-;1916:4;1951:5;-1:-1:-1;;;;;1951:5:0;1820:10;1940:16;1804:38;;;;-1:-1:-1;;;1804:38:0;;;;;;;:::i;:::-;2047:1:::1;2031:18:::0;;-1:-1:-1;;;;;;2031:18:0::1;::::0;;1972:85::o;8024:284::-;8115:12;1951:5;;-1:-1:-1;;;;;1951:5:0;1820:10;1940:16;1804:38;;;;-1:-1:-1;;;1804:38:0;;;;;;;:::i;:::-;8143:11;8140:95:::1;;8179:44;::::0;-1:-1:-1;;;8179:44:0;;8217:4:::1;8179:44;::::0;::::1;2724:51:1::0;-1:-1:-1;;;;;8179:29:0;::::1;::::0;::::1;::::0;2697:18:1;;8179:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8170:53;;8140:95;8252:48;::::0;-1:-1:-1;;;8252:48:0;;8281:10:::1;8252:48;::::0;::::1;6451:51:1::0;6518:18;;;6511:34;;;-1:-1:-1;;;;;8252:28:0;::::1;::::0;::::1;::::0;6424:18:1;;8252:48:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4933:156::-:0;5013:4;5037:44;5051:10;5063:9;5074:6;5037:13;:44::i;8836:179::-;1916:4;1951:5;-1:-1:-1;;;;;1951:5:0;1820:10;1940:16;1804:38;;;;-1:-1:-1;;;1804:38:0;;;;;;;:::i;:::-;8932:11:::1;:22:::0;;-1:-1:-1;;;;8932:22:0::1;-1:-1:-1::0;;;8932:22:0;::::1;;;;::::0;;8995:12;;2982::::1;::::0;2917:2:::1;::::0;2982:12:::1;:::i;:::-;2970:24;::::0;:9:::1;:24;:::i;:::-;8981:26;;;;:::i;:::-;8965:13;:42:::0;-1:-1:-1;;8836:179:0:o;511:192::-;597:7;633:12;625:6;;;;617:29;;;;-1:-1:-1;;;617:29:0;;;;;;;;:::i;:::-;-1:-1:-1;657:9:0;669:5;673:1;669;:5;:::i;:::-;657:17;511:192;-1:-1:-1;;;;;511:192:0:o;5650:821::-;5762:6;;5742:4;;5762:6;;5759:63;;;5778:41;5793:6;5801:9;5812:6;5778:14;:41::i;:::-;5771:48;;;;5759:63;-1:-1:-1;;;;;5839:27:0;;;;;;:19;:27;;;;;;;;5838:28;:63;;;;-1:-1:-1;;;;;;5871:30:0;;;;;;:19;:30;;;;;;;;5870:31;5838:63;:84;;;;;5918:4;-1:-1:-1;;;;;5905:17:0;:9;-1:-1:-1;;;;;5905:17:0;;;5838:84;5834:203;;;5982:15;;-1:-1:-1;;;;;5948:20:0;;;;;;:9;:20;;;;;;:29;;5971:6;;5948:29;:::i;:::-;5947:50;;5939:86;;;;-1:-1:-1;;;5939:86:0;;7141:2:1;5939:86:0;;;7123:21:1;7180:2;7160:18;;;7153:30;7219:26;7199:18;;;7192:54;7263:18;;5939:86:0;6939:348:1;5939:86:0;6056:16;:14;:16::i;:::-;6053:35;;;6075:10;:8;:10::i;:::-;6120:53;;;;;;;;;;;-1:-1:-1;;;6120:53:0;;;;;;;;-1:-1:-1;;;;;6120:17:0;;-1:-1:-1;6120:17:0;;;:9;:17;;;;;;;;:53;;6142:6;;6120:21;:53::i;:::-;-1:-1:-1;;;;;6100:17:0;;;;;;:9;:17;;;;;;;;:73;;;;6212:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;6235:22:0;;;;;;:11;:22;;;;;;;;6212:45;6211:93;;6270:34;6278:6;6286;6294:9;6270:7;:34::i;:::-;6211:93;;;6261:6;6211:93;-1:-1:-1;;;;;6340:20:0;;;;;;:9;:20;;;;;;6186:118;;-1:-1:-1;6340:40:0;;6186:118;6340:24;:40::i;:::-;-1:-1:-1;;;;;6317:20:0;;;;;;;:9;:20;;;;;;;:63;;;;6398:43;;;;;;;;;;6426:14;1576:25:1;;1564:2;1549:18;;1430:177;6398:43:0;;;;;;;;-1:-1:-1;6459:4:0;;5650:821;-1:-1:-1;;;;5650:821:0:o;6483:330::-;6613:53;;;;;;;;;;;-1:-1:-1;;;6613:53:0;;;;;;;;-1:-1:-1;;;;;6613:17:0;;6576:4;6613:17;;;:9;:17;;;;;;;:53;;6635:6;;6613:21;:53::i;:::-;-1:-1:-1;;;;;6593:17:0;;;;;;;:9;:17;;;;;;:73;;;;6700:20;;;;;;;:32;;6725:6;6700:24;:32::i;:::-;-1:-1:-1;;;;;6677:20:0;;;;;;;:9;:20;;;;;;;:55;;;;6748:35;;;;;;;;;;6776:6;1576:25:1;;1564:2;1549:18;;1430:177;6748:35:0;;;;;;;;-1:-1:-1;6801:4:0;6483:330;;;;;:::o;7552:197::-;7601:4;7625:10;-1:-1:-1;;;;;7639:4:0;7625:18;;;;;:38;;-1:-1:-1;7657:6:0;;;;7656:7;7625:38;:62;;;;-1:-1:-1;7676:11:0;;-1:-1:-1;;;7676:11:0;;;;7625:62;:116;;;;-1:-1:-1;;7728:13:0;;7718:4;7700:24;;;;:9;:24;;;;;;:41;;;7552:197::o;8316:360::-;3694:6;:13;;-1:-1:-1;;3694:13:0;3703:4;3694:13;;;8391:16:::1;::::0;;8405:1:::1;8391:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8391:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8391:16:0::1;8367:40;;8436:4;8418;8423:1;8418:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;8418:23:0::1;;;-1:-1:-1::0;;;;;8418:23:0::1;;;::::0;::::1;8462:4;8452;8457:1;8452:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8452:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;8479:6:::1;::::0;8551:13:::1;::::0;8479:189:::1;::::0;-1:-1:-1;;;8479:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;8551:13;8479:6:::1;::::0;8595:4;;8622::::1;::::0;8642:15:::1;::::0;8479:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;3712:6:0;:14;;-1:-1:-1;;3712:14:0;;;-1:-1:-1;;;8316:360:0:o;6821:723::-;6907:7;6930:11;;;:28;;-1:-1:-1;6945:8:0;;:13;6930:28;6927:72;;;-1:-1:-1;6981:6:0;6974:13;;6927:72;7011:18;7032;;7011:39;;7079:4;-1:-1:-1;;;;;7066:17:0;:9;-1:-1:-1;;;;;7066:17:0;;7063:154;;;-1:-1:-1;7113:14:0;;7063:154;;;7158:4;-1:-1:-1;;;;;7148:14:0;:6;-1:-1:-1;;;;;7148:14:0;;7145:72;;;-1:-1:-1;7192:13:0;;7145:72;7229:17;7249:62;7290:20;3372:3;;7290:20;:::i;:::-;7249:36;7274:10;7249:20;7260:8;;7249:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;7229:82;-1:-1:-1;7327:13:0;;7324:172;;7401:4;7383:24;;;;:9;:24;;;;;;:39;;7412:9;7383:28;:39::i;:::-;7374:4;7356:24;;;;:9;:24;;;;;;;:66;;;;7442:42;;-1:-1:-1;;;;;7442:42:0;;;;;;;7474:9;1576:25:1;;1564:2;1549:18;;1430:177;7442:42:0;;;;;;;;7324:172;7515:21;:6;7526:9;7515:10;:21::i;:::-;7508:28;6821:723;-1:-1:-1;;;;;;6821:723:0:o;182:181::-;240:7;;272:5;276:1;272;:5;:::i;:::-;260:17;;301:1;296;:6;;288:46;;;;-1:-1:-1;;;288:46:0;;8743:2:1;288:46:0;;;8725:21:1;8782:2;8762:18;;;8755:30;8821:29;8801:18;;;8794:57;8868:18;;288:46:0;8541:351:1;709:250:0;767:7;791:6;787:47;;-1:-1:-1;821:1:0;814:8;;787:47;846:9;858:5;862:1;858;:5;:::i;:::-;846:17;-1:-1:-1;891:1:0;882:5;886:1;846:17;882:5;:::i;:::-;:10;874:56;;;;-1:-1:-1;;;874:56:0;;9099:2:1;874: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;;874:56:0;8897:397:1;965:132:0;1023:7;1050:39;1054:1;1057;1050:39;;;;;;;;;;;;;;;;;:3;:39::i;369:136::-;427:7;454:43;458:1;461;454:43;;;;;;;;;;;;;;;;;:3;:43::i;1103:189::-;1189:7;1224:12;1217:5;1209:28;;;;-1:-1:-1;;;1209:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1248:9:0;1260:5;1264:1;1260;: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://57733b93dc9d7329ba30a04688613ac20544291e81df82862c6dae8768a2cc06
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.