ETH Price: $2,645.91 (+1.75%)
Gas: 1 Gwei

Token

A U R A (AURA)
 

Overview

Max Total Supply

966,422,844 AURA

Holders

31 (0.00%)

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 9 Decimals)

Balance
9,047,052.779320413 AURA

Value
$0.00
0xFF2C741a126035d2E74D4e345Ee0961f1dd2ba13
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:
AURA

Compiler Version
v0.8.21+commit.d9974bed

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity Multiple files format)

File 1 of 6: AURA.sol
/** 

AURA

**/
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

import "./Ownable.sol";
import "./SafeMath.sol";
import "./IDEXFactory.sol";
import "./IDEXRouter.sol";
import "./IERC20.sol";

contract AURA is IERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "A  U  R  A";
    string constant _symbol = "AURA";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 966_422_844 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 1) / 100;

    mapping(address => uint256) _balances;
    mapping(address => mapping(address => uint256)) _allowances;

    mapping(address => bool) isFeeExempt;
    mapping(address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0;
    uint256 marketingFee = 50;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 1000;

    address public marketingFeeReceiver = 0xFAF55dB6E3e6be71d7d8aCedDc3dC2bc34548ADf;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 20; // 0.2%
    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () Ownable(msg.sender) {
        turnMF(false);
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[0xFAF55dB6E3e6be71d7d8aCedDc3dC2bc34548ADf] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[0xFAF55dB6E3e6be71d7d8aCedDc3dC2bc34548ADf] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable {}

    function totalSupply() external view override returns (uint256) {return _totalSupply;}

    function decimals() external pure override returns (uint8) {return _decimals;}

    function symbol() external pure override returns (string memory) {return _symbol;}

    function name() external pure override returns (string memory) {return _name;}

    function getOwner() external view override returns (address) {return owner;}

    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}

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

    function approve(address spender, uint256 amount) public override 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 override 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 _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (inSwap) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (recipient != pair && recipient != DEAD) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }if (shouldSwapBack()) {
            swapBack();
        }

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

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }

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

    function shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[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
        && _balances[address(this)] >= swapThreshold;
    }

    function swapBack() internal swapping {
        uint256 contractTokenBalance = swapThreshold;
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

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

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value : amountETHMarketing, gas : 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if (amountToLiquify > 0) {
            router.addLiquidityETH{value : amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                DEAD,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value : amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function clearStuckTBalance() external {
        _basicTransfer(address(this), marketingFeeReceiver, balanceOf(address(this)));
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent) / 1000;
    }

    function setSwapThreshold(uint256 _swapThreshold) external onlyOwner {
        swapThreshold = _totalSupply / 100000 * _swapThreshold;
    }

    function turnMF(bool _on) public onlyOwner {
        if (_on) {
            marketingFee = 50;
            totalFee = liquidityFee + marketingFee;
        } else {
            marketingFee = 0;
            totalFee = liquidityFee + marketingFee;
        }
    }

    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

File 2 of 6: IDEXFactory.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

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

File 3 of 6: IDEXRouter.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

File 4 of 6: IERC20.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address recipient, uint256 amount) external returns (bool);
    function allowance(address _owner, address spender) external view returns (uint256);
    function approve(address spender, uint256 amount) external returns (bool);
    function transferFrom(address sender, address recipient, uint256 amount) external returns (bool);
    event Transfer(address indexed from, address indexed to, uint256 value);
    event Approval(address indexed owner, address indexed spender, uint256 value);
}

File 5 of 6: Ownable.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

abstract contract Ownable {
    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() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }
    event OwnershipTransferred(address owner);
}

File 6 of 6: SafeMath.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"clearStuckTBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"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":"_swapThreshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_on","type":"bool"}],"name":"turnMF","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a62000531565b620000589063399a713c62000548565b600355606460035460016200006e919062000548565b6200007a919062000562565b6004555f60098190556032600a819055620000959162000582565b600b556103e8600c55600d80546001600160a01b03191673faf55db6e3e6be71d7d8aceddc3dc2bc34548adf179055600f805460ff60a01b1916600160a01b179055600354620000e9906127109062000562565b620000f690601462000548565b60105534801562000105575f80fd5b505f80546001600160a01b031916331781556200012290620003a3565b600154600e80546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200017d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001a3919062000598565b6001600160a01b031663c9c65396600e5f9054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000202573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000228919062000598565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303815f875af115801562000272573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000298919062000598565b600f80546001600160a01b0319166001600160a01b03928316179055305f908152600660209081526040808320600e548516845282528083205f19905582547f78c12267d103cce24f5481bdf5f8468ccbcd0be2e03a39f7dd8dff24b9070ff1805460ff1990811660019081179092559186168086526008855283862080548416831790557f5ce5acc763aee2e04713329344f8e90eff99b71bf24101ba6c9023e6bd27aac58054841683179055600254909616855282852080549092161790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350620005c0565b5f546001600160a01b03163314620003ea5760405162461bcd60e51b815260206004820152600660248201526510a7aba722a960d11b604482015260640160405180910390fd5b80156200040d576032600a81905560095462000407919062000582565b600b5550565b5f600a81905560095462000407919062000582565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200047657815f19048211156200045a576200045a62000422565b808516156200046857918102915b93841c93908002906200043b565b509250929050565b5f826200048e575060016200052b565b816200049c57505f6200052b565b8160018114620004b55760028114620004c057620004e0565b60019150506200052b565b60ff841115620004d457620004d462000422565b50506001821b6200052b565b5060208310610133831016604e8410600b841016171562000505575081810a6200052b565b62000511838362000436565b805f190482111562000527576200052762000422565b0290505b92915050565b5f6200054160ff8416836200047e565b9392505050565b80820281158282048414176200052b576200052b62000422565b5f826200057d57634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156200052b576200052b62000422565b5f60208284031215620005a9575f80fd5b81516001600160a01b038116811462000541575f80fd5b6113cd80620005ce5f395ff3fe60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103cd578063d3efadf3146103ec578063dd62ed3e14610400578063e96fada214610444578063f1d5f51714610463578063f887ea4014610482575f80fd5b8063715018a614610300578063893d20e814610314578063942b9ae71461034457806395d89b41146103635780639d0014b11461038f578063a8aa1b31146103ae575f80fd5b8063313ce56711610104578063313ce56714610247578063364333f414610262578063571ac8b0146102785780636c0a24eb146102975780636ddd1713146102ac57806370a08231146102cc575f80fd5b80630445b6671461015557806306fdde031461017d578063095ea7b3146101b857806318160ddd146101e757806323b872dd146101fb5780632f54bf6e1461021a575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60105481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5060408051808201909152600a8152694120205520205220204160b01b60208201525b60405161017491906110ef565b3480156101c3575f80fd5b506101d76101d236600461114e565b6104a1565b6040519015158152602001610174565b3480156101f2575f80fd5b5060035461016a565b348015610206575f80fd5b506101d7610215366004611178565b61050d565b348015610225575f80fd5b506101d76102343660046111b6565b5f546001600160a01b0391821691161490565b348015610252575f80fd5b5060405160098152602001610174565b34801561026d575f80fd5b506102766105cb565b005b348015610283575f80fd5b506101d76102923660046111b6565b610604565b3480156102a2575f80fd5b5061016a60045481565b3480156102b7575f80fd5b50600f546101d790600160a01b900460ff1681565b3480156102d7575f80fd5b5061016a6102e63660046111b6565b6001600160a01b03165f9081526005602052604090205490565b34801561030b575f80fd5b50610276610610565b34801561031f575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610174565b34801561034f575f80fd5b5061027661035e3660046111d1565b610686565b34801561036e575f80fd5b506040805180820190915260048152634155524160e01b60208201526101ab565b34801561039a575f80fd5b506102766103a93660046111f0565b6106e2565b3480156103b9575f80fd5b50600f5461032c906001600160a01b031681565b3480156103d8575f80fd5b506101d76103e736600461114e565b61072d565b3480156103f7575f80fd5b50610276610739565b34801561040b575f80fd5b5061016a61041a366004611207565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b34801561044f575f80fd5b50600d5461032c906001600160a01b031681565b34801561046e575f80fd5b5061027661047d3660046111f0565b61075e565b34801561048d575f80fd5b50600e5461032c906001600160a01b031681565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104fb9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19146105b6576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f9081526006825283812033825290915291909120546105929184906107a8565b6001600160a01b0385165f9081526006602090815260408083203384529091529020555b6105c18484846107e0565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610601573d5f803e3d5ffd5b50565b5f610507825f196104a1565b5f546001600160a01b031633146106425760405162461bcd60e51b81526004016106399061123e565b60405180910390fd5b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146106af5760405162461bcd60e51b81526004016106399061123e565b80156106cf576032600a8190556009546106c99190611272565b600b5550565b5f600a8190556009546106c99190611272565b5f546001600160a01b0316331461070b5760405162461bcd60e51b81526004016106399061123e565b80620186a060035461071d9190611285565b61072791906112a4565b60105550565b5f6105c43384846107e0565b600d54305f81815260056020526040902054610601926001600160a01b031690610a03565b5f546001600160a01b031633146107875760405162461bcd60e51b81526004016106399061123e565b6103e88160035461079891906112a4565b6107a29190611285565b60045550565b5f81848411156107cb5760405162461bcd60e51b815260040161063991906110ef565b505f6107d784866112bb565b95945050505050565b6011545f9060ff16156107ff576107f8848484610a03565b90506105c4565b600f546001600160a01b0384811691161480159061082b57506002546001600160a01b03848116911614155b156108d4576001600160a01b0383165f9081526008602052604090205460ff168061087a57506004546001600160a01b0384165f90815260056020526040902054610877908490611272565b11155b6108d45760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610639565b6108dc610ae6565b156108e9576108e9610b3c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526005909152919091205461093a9184906107a8565b6001600160a01b0385165f90815260056020908152604080832093909355600790529081205460ff161561096e5782610978565b6109788584610ec2565b6001600160a01b0385165f9081526005602052604090205490915061099d9082610f65565b6001600160a01b038086165f8181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109f09085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600590915291822054610a539184906107a8565b6001600160a01b038086165f908152600560205260408082209390935590851681522054610a819083610f65565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ad49086815260200190565b60405180910390a35060019392505050565b600f545f906001600160a01b03163314801590610b06575060115460ff16155b8015610b1b5750600f54600160a01b900460ff165b8015610b375750601054305f9081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b546009545f91610b6e91600291610b689182908790610fc3565b90611041565b90505f610b7b8383611082565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610bb357610bb36112ce565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2e91906112e2565b81600181518110610c4157610c416112ce565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c8a9086905f908790309042906004016112fd565b5f604051808303815f87803b158015610ca1575f80fd5b505af1158015610cb3573d5f803e3d5ffd5b505050505f610ccb824761108290919063ffffffff16565b90505f610cf0610ce7600260095461104190919063ffffffff16565b600b5490611082565b90505f610d116002610b6884610b6860095488610fc390919063ffffffff16565b90505f610d2d83610b68600a5487610fc390919063ffffffff16565b600d546040519192505f916001600160a01b039091169061753090849084818181858888f193505050503d805f8114610d81576040519150601f19603f3d011682016040523d82523d5f602084013e610d86565b606091505b5050905080610dd75760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610639565b8815610eac57600e5460025460405163f305d71960e01b8152306004820152602481018c90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610e4a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e6f919061136c565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b5f80610edf600c54610b68600b5486610fc390919063ffffffff16565b305f90815260056020526040902054909150610efb9082610f65565b305f81815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4b9085815260200190565b60405180910390a3610f5d8382611082565b949350505050565b5f80610f718385611272565b9050838110156105c45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610639565b5f825f03610fd257505f610507565b5f610fdd83856112a4565b905082610fea8583611285565b146105c45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610639565b5f6105c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110c3565b5f6105c483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506107a8565b5f81836110e35760405162461bcd60e51b815260040161063991906110ef565b505f6107d78486611285565b5f6020808352835180828501525f5b8181101561111a578581018301518582016040015282016110fe565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610601575f80fd5b5f806040838503121561115f575f80fd5b823561116a8161113a565b946020939093013593505050565b5f805f6060848603121561118a575f80fd5b83356111958161113a565b925060208401356111a58161113a565b929592945050506040919091013590565b5f602082840312156111c6575f80fd5b81356105c48161113a565b5f602082840312156111e1575f80fd5b813580151581146105c4575f80fd5b5f60208284031215611200575f80fd5b5035919050565b5f8060408385031215611218575f80fd5b82356112238161113a565b915060208301356112338161113a565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105075761050761125e565b5f8261129f57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176105075761050761125e565b818103818111156105075761050761125e565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112f2575f80fd5b81516105c48161113a565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561134b5784516001600160a01b031683529383019391830191600101611326565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f6060848603121561137e575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e80c8ebcbf5993b955be50e8c7cb3bc8d8b7db00dcea203737f75b2c1a62405264736f6c63430008150033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c8063715018a6116100b3578063a9059cbb1161006d578063a9059cbb146103cd578063d3efadf3146103ec578063dd62ed3e14610400578063e96fada214610444578063f1d5f51714610463578063f887ea4014610482575f80fd5b8063715018a614610300578063893d20e814610314578063942b9ae71461034457806395d89b41146103635780639d0014b11461038f578063a8aa1b31146103ae575f80fd5b8063313ce56711610104578063313ce56714610247578063364333f414610262578063571ac8b0146102785780636c0a24eb146102975780636ddd1713146102ac57806370a08231146102cc575f80fd5b80630445b6671461015557806306fdde031461017d578063095ea7b3146101b857806318160ddd146101e757806323b872dd146101fb5780632f54bf6e1461021a575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b5061016a60105481565b6040519081526020015b60405180910390f35b348015610188575f80fd5b5060408051808201909152600a8152694120205520205220204160b01b60208201525b60405161017491906110ef565b3480156101c3575f80fd5b506101d76101d236600461114e565b6104a1565b6040519015158152602001610174565b3480156101f2575f80fd5b5060035461016a565b348015610206575f80fd5b506101d7610215366004611178565b61050d565b348015610225575f80fd5b506101d76102343660046111b6565b5f546001600160a01b0391821691161490565b348015610252575f80fd5b5060405160098152602001610174565b34801561026d575f80fd5b506102766105cb565b005b348015610283575f80fd5b506101d76102923660046111b6565b610604565b3480156102a2575f80fd5b5061016a60045481565b3480156102b7575f80fd5b50600f546101d790600160a01b900460ff1681565b3480156102d7575f80fd5b5061016a6102e63660046111b6565b6001600160a01b03165f9081526005602052604090205490565b34801561030b575f80fd5b50610276610610565b34801561031f575f80fd5b505f546001600160a01b03165b6040516001600160a01b039091168152602001610174565b34801561034f575f80fd5b5061027661035e3660046111d1565b610686565b34801561036e575f80fd5b506040805180820190915260048152634155524160e01b60208201526101ab565b34801561039a575f80fd5b506102766103a93660046111f0565b6106e2565b3480156103b9575f80fd5b50600f5461032c906001600160a01b031681565b3480156103d8575f80fd5b506101d76103e736600461114e565b61072d565b3480156103f7575f80fd5b50610276610739565b34801561040b575f80fd5b5061016a61041a366004611207565b6001600160a01b039182165f90815260066020908152604080832093909416825291909152205490565b34801561044f575f80fd5b50600d5461032c906001600160a01b031681565b34801561046e575f80fd5b5061027661047d3660046111f0565b61075e565b34801561048d575f80fd5b50600e5461032c906001600160a01b031681565b335f8181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906104fb9086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383165f9081526006602090815260408083203384529091528120545f19146105b6576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f9081526006825283812033825290915291909120546105929184906107a8565b6001600160a01b0385165f9081526006602090815260408083203384529091529020555b6105c18484846107e0565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610601573d5f803e3d5ffd5b50565b5f610507825f196104a1565b5f546001600160a01b031633146106425760405162461bcd60e51b81526004016106399061123e565b60405180910390fd5b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b031633146106af5760405162461bcd60e51b81526004016106399061123e565b80156106cf576032600a8190556009546106c99190611272565b600b5550565b5f600a8190556009546106c99190611272565b5f546001600160a01b0316331461070b5760405162461bcd60e51b81526004016106399061123e565b80620186a060035461071d9190611285565b61072791906112a4565b60105550565b5f6105c43384846107e0565b600d54305f81815260056020526040902054610601926001600160a01b031690610a03565b5f546001600160a01b031633146107875760405162461bcd60e51b81526004016106399061123e565b6103e88160035461079891906112a4565b6107a29190611285565b60045550565b5f81848411156107cb5760405162461bcd60e51b815260040161063991906110ef565b505f6107d784866112bb565b95945050505050565b6011545f9060ff16156107ff576107f8848484610a03565b90506105c4565b600f546001600160a01b0384811691161480159061082b57506002546001600160a01b03848116911614155b156108d4576001600160a01b0383165f9081526008602052604090205460ff168061087a57506004546001600160a01b0384165f90815260056020526040902054610877908490611272565b11155b6108d45760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b6064820152608401610639565b6108dc610ae6565b156108e9576108e9610b3c565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f9081526005909152919091205461093a9184906107a8565b6001600160a01b0385165f90815260056020908152604080832093909355600790529081205460ff161561096e5782610978565b6109788584610ec2565b6001600160a01b0385165f9081526005602052604090205490915061099d9082610f65565b6001600160a01b038086165f8181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906109f09085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f908152600590915291822054610a539184906107a8565b6001600160a01b038086165f908152600560205260408082209390935590851681522054610a819083610f65565b6001600160a01b038085165f8181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ad49086815260200190565b60405180910390a35060019392505050565b600f545f906001600160a01b03163314801590610b06575060115460ff16155b8015610b1b5750600f54600160a01b900460ff165b8015610b375750601054305f9081526005602052604090205410155b905090565b6011805460ff19166001179055601054600b546009545f91610b6e91600291610b689182908790610fc3565b90611041565b90505f610b7b8383611082565b6040805160028082526060820183529293505f92909160208301908036833701905050905030815f81518110610bb357610bb36112ce565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c0a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c2e91906112e2565b81600181518110610c4157610c416112ce565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610c8a9086905f908790309042906004016112fd565b5f604051808303815f87803b158015610ca1575f80fd5b505af1158015610cb3573d5f803e3d5ffd5b505050505f610ccb824761108290919063ffffffff16565b90505f610cf0610ce7600260095461104190919063ffffffff16565b600b5490611082565b90505f610d116002610b6884610b6860095488610fc390919063ffffffff16565b90505f610d2d83610b68600a5487610fc390919063ffffffff16565b600d546040519192505f916001600160a01b039091169061753090849084818181858888f193505050503d805f8114610d81576040519150601f19603f3d011682016040523d82523d5f602084013e610d86565b606091505b5050905080610dd75760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e7366657200006044820152606401610639565b8815610eac57600e5460025460405163f305d71960e01b8152306004820152602481018c90525f6044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610e4a573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610e6f919061136c565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b5f80610edf600c54610b68600b5486610fc390919063ffffffff16565b305f90815260056020526040902054909150610efb9082610f65565b305f81815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f4b9085815260200190565b60405180910390a3610f5d8382611082565b949350505050565b5f80610f718385611272565b9050838110156105c45760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610639565b5f825f03610fd257505f610507565b5f610fdd83856112a4565b905082610fea8583611285565b146105c45760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610639565b5f6105c483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506110c3565b5f6105c483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506107a8565b5f81836110e35760405162461bcd60e51b815260040161063991906110ef565b505f6107d78486611285565b5f6020808352835180828501525f5b8181101561111a578581018301518582016040015282016110fe565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610601575f80fd5b5f806040838503121561115f575f80fd5b823561116a8161113a565b946020939093013593505050565b5f805f6060848603121561118a575f80fd5b83356111958161113a565b925060208401356111a58161113a565b929592945050506040919091013590565b5f602082840312156111c6575f80fd5b81356105c48161113a565b5f602082840312156111e1575f80fd5b813580151581146105c4575f80fd5b5f60208284031215611200575f80fd5b5035919050565b5f8060408385031215611218575f80fd5b82356112238161113a565b915060208301356112338161113a565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b808201808211156105075761050761125e565b5f8261129f57634e487b7160e01b5f52601260045260245ffd5b500490565b80820281158282048414176105075761050761125e565b818103818111156105075761050761125e565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156112f2575f80fd5b81516105c48161113a565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b8181101561134b5784516001600160a01b031683529383019391830191600101611326565b50506001600160a01b03969096166060850152505050608001529392505050565b5f805f6060848603121561137e575f80fd5b835192506020840151915060408401519050925092509256fea2646970667358221220e80c8ebcbf5993b955be50e8c7cb3bc8d8b7db00dcea203737f75b2c1a62405264736f6c63430008150033

Deployed Bytecode Sourcemap

201:7897:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1173:56;;;;;;;;;;;;;;;;;;;160:25:6;;;148:2;133:18;1173:56:0;;;;;;;;2284:78;;;;;;;;;;-1:-1:-1;2355:5:0;;;;;;;;;;;;-1:-1:-1;;;2355:5:0;;;;2284:78;;;;;;;:::i;2696:212::-;;;;;;;;;;-1:-1:-1;2696:212:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:6;;1363:22;1345:41;;1333:2;1318:18;2696:212:0;1205:187:6;2020:86:0;;;;;;;;;;-1:-1:-1;2092:12:0;;2020:86;;3200:366;;;;;;;;;;-1:-1:-1;3200:366:0;;;;;:::i;:::-;;:::i;265:101:4:-;;;;;;;;;;-1:-1:-1;265:101:4;;;;;:::i;:::-;320:4;354:5;-1:-1:-1;;;;;343:16:4;;;354:5;;343:16;;265:101;2112:78:0;;;;;;;;;;-1:-1:-1;2112:78:0;;514:1;2252:36:6;;2240:2;2225:18;2112:78:0;2110:184:6;7221:116:0;;;;;;;;;;;;;:::i;:::-;;2914:120;;;;;;;;;;-1:-1:-1;2914:120:0;;;;;:::i;:::-;;:::i;582:58::-;;;;;;;;;;;;;;;;1137:30;;;;;;;;;;-1:-1:-1;1137:30:0;;;;-1:-1:-1;;;1137:30:0;;;;;;2450:103;;;;;;;;;;-1:-1:-1;2450:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;2533:18:0;2516:7;2533:18;;;:9;:18;;;;;;;2450:103;371:128:4;;;;;;;;;;;;;:::i;2368:76:0:-;;;;;;;;;;-1:-1:-1;2420:7:0;2437:5;-1:-1:-1;;;;;2437:5:0;2368:76;;;-1:-1:-1;;;;;2463:32:6;;;2445:51;;2433:2;2418:18;2368:76:0;2299:203:6;7773:261:0;;;;;;;;;;-1:-1:-1;7773:261:0;;;;;:::i;:::-;;:::i;2196:82::-;;;;;;;;;;-1:-1:-1;2269:7:0;;;;;;;;;;;;-1:-1:-1;;;2269:7:0;;;;2196:82;;7627:140;;;;;;;;;;-1:-1:-1;7627:140:0;;;;;:::i;:::-;;:::i;1111:19::-;;;;;;;;;;-1:-1:-1;1111:19:0;;;;-1:-1:-1;;;;;1111:19:0;;;3040:154;;;;;;;;;;-1:-1:-1;3040:154:0;;;;;:::i;:::-;;:::i;7343:133::-;;;;;;;;;;;;;:::i;2559:131::-;;;;;;;;;;-1:-1:-1;2559:131:0;;;;;:::i;:::-;-1:-1:-1;;;;;2660:19:0;;;2643:7;2660:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;2559:131;994:80;;;;;;;;;;-1:-1:-1;994:80:0;;;;-1:-1:-1;;;;;994:80:0;;;7482:139;;;;;;;;;;-1:-1:-1;7482:139:0;;;;;:::i;:::-;;:::i;1081:24::-;;;;;;;;;;-1:-1:-1;1081:24:0;;;;-1:-1:-1;;;;;1081:24:0;;;2696:212;2799:10;2771:4;2787:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;2787:32:0;;;;;;;;;;:41;;;2843:37;2771:4;;2787:32;;2843:37;;;;2822:6;160:25:6;;148:2;133:18;;14:177;2843:37:0;;;;;;;;-1:-1:-1;2897:4:0;2696:212;;;;;:::o;3200:366::-;-1:-1:-1;;;;;3320:19:0;;3300:4;3320:19;;;:11;:19;;;;;;;;3340:10;3320:31;;;;;;;;-1:-1:-1;;3320:52:0;3316:186;;3422:69;;;;;;;;;;;-1:-1:-1;;;3422:69:0;;;;;;;;-1:-1:-1;;;;;3422:19:0;;-1:-1:-1;3422:19:0;;;:11;:19;;;;;3442:10;3422:31;;;;;;;;;;:69;;3458:6;;3422:35;:69::i;:::-;-1:-1:-1;;;;;3388:19:0;;;;;;:11;:19;;;;;;;;3408:10;3388:31;;;;;;;:103;3316:186;3519:40;3533:6;3541:9;3552:6;3519:13;:40::i;:::-;3512:47;;3200:366;;;;;;:::o;7221:116::-;7277:20;;7269:61;;-1:-1:-1;;;;;7277:20:0;;;;7308:21;7269:61;;;;;7277:20;7269:61;7277:20;7269:61;7308:21;7277:20;7269:61;;;;;;;;;;;;;;;;;;;;;7221:116::o;2914:120::-;2969:4;2992:35;3000:7;-1:-1:-1;;2992:7:0;:35::i;371:128:4:-;320:4;354:5;-1:-1:-1;;;;;354:5:4;228:10;343:16;212:38;;;;-1:-1:-1;;;212:38:4;;;;;;;:::i;:::-;;;;;;;;;443:1:::1;427:18:::0;;-1:-1:-1;;;;;;427:18:4::1;::::0;;460:32:::1;::::0;2445:51:6;;;460:32:4::1;::::0;2433:2:6;2418:18;460:32:4::1;;;;;;;371:128::o:0;7773:261:0:-;320:4:4;354:5;-1:-1:-1;;;;;354:5:4;228:10;343:16;212:38;;;;-1:-1:-1;;;212:38:4;;;;;;;:::i;:::-;7830:3:0::1;7826:202;;;7864:2;7849:12;:17:::0;;;7891:12:::1;::::0;:27:::1;::::0;7864:2;7891:27:::1;:::i;:::-;7880:8;:38:::0;7269:61;7221:116::o;7826:202::-:1;7964:1;7949:12;:16:::0;;;7990:12:::1;::::0;:27:::1;::::0;7964:1;7990:27:::1;:::i;7627:140::-:0;320:4:4;354:5;-1:-1:-1;;;;;354:5:4;228:10;343:16;212:38;;;;-1:-1:-1;;;212:38:4;;;;;;;:::i;:::-;7746:14:0::1;7737:6;7722:12;;:21;;;;:::i;:::-;:38;;;;:::i;:::-;7706:13;:54:::0;-1:-1:-1;7627:140:0:o;3040:154::-;3120:4;3143:44;3157:10;3169:9;3180:6;3143:13;:44::i;7343:133::-;7422:20;;7415:4;2516:7;2533:18;;;:9;:18;;;;;;7392:77;;-1:-1:-1;;;;;7422:20:0;;7392:14;:77::i;7482:139::-;320:4:4;354:5;-1:-1:-1;;;;;354:5:4;228:10;343:16;212:38;;;;-1:-1:-1;;;212:38:4;;;;;;;:::i;:::-;7610:4:0::1;7593:13;7578:12;;:28;;;;:::i;:::-;7577:37;;;;:::i;:::-;7558:16;:56:::0;-1:-1:-1;7482:139:0:o;399:186:5:-;485:7;520:12;512:6;;;;504:29;;;;-1:-1:-1;;;504:29:5;;;;;;;;:::i;:::-;-1:-1:-1;543:9:5;555:5;559:1;555;:5;:::i;:::-;543:17;399:186;-1:-1:-1;;;;;399:186:5:o;3572:793:0:-;3684:6;;3664:4;;3684:6;;3680:85;;;3713:41;3728:6;3736:9;3747:6;3713:14;:41::i;:::-;3706:48;;;;3680:85;3792:4;;-1:-1:-1;;;;;3779:17:0;;;3792:4;;3779:17;;;;:38;;-1:-1:-1;3813:4:0;;-1:-1:-1;;;;;3800:17:0;;;3813:4;;3800:17;;3779:38;3775:198;;;-1:-1:-1;;;;;3841:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;3904:16:0;;-1:-1:-1;;;;;3871:20:0;;;;;;:9;:20;;;;;;:29;;3894:6;;3871:29;:::i;:::-;:49;;3841:79;3833:129;;;;-1:-1:-1;;;3833:129:0;;4916:2:6;3833:129:0;;;4898:21:6;4955:2;4935:18;;;4928:30;4994:34;4974:18;;;4967:62;-1:-1:-1;;;5045:18:6;;;5038:35;5090:19;;3833:129:0;4714:401:6;3833:129:0;3977:16;:14;:16::i;:::-;3973:57;;;4009:10;:8;:10::i;:::-;4060:53;;;;;;;;;;;-1:-1:-1;;;4060:53:0;;;;;;;;-1:-1:-1;;;;;4060:17:0;;-1:-1:-1;4060:17:0;;;:9;:17;;;;;;;;:53;;4082:6;;4060:21;:53::i;:::-;-1:-1:-1;;;;;4040:17:0;;;;;;:9;:17;;;;;;;;:73;;;;4788:11;:19;;;;;;;;4787:20;4149:56;;4199:6;4149:56;;;4173:23;4181:6;4189;4173:7;:23::i;:::-;-1:-1:-1;;;;;4238:20:0;;;;;;:9;:20;;;;;;4124:81;;-1:-1:-1;4238:40:0;;4124:81;4238:24;:40::i;:::-;-1:-1:-1;;;;;4215:20:0;;;;;;;:9;:20;;;;;;;:63;;;;4294:43;;;;;;;;;;4322:14;160:25:6;;148:2;133:18;;14:177;4294:43:0;;;;;;;;-1:-1:-1;4354:4:0;;3572:793;-1:-1:-1;;;;3572:793:0:o;4371:325::-;4500:53;;;;;;;;;;;-1:-1:-1;;;4500:53:0;;;;;;;;-1:-1:-1;;;;;4500:17:0;;4464:4;4500:17;;;:9;:17;;;;;;;:53;;4522:6;;4500:21;:53::i;:::-;-1:-1:-1;;;;;4480:17:0;;;;;;;:9;:17;;;;;;:73;;;;4586:20;;;;;;;:32;;4611:6;4586:24;:32::i;:::-;-1:-1:-1;;;;;4563:20:0;;;;;;;:9;:20;;;;;;;:55;;;;4633:35;;;;;;;;;;4661:6;160:25:6;;148:2;133:18;;14:177;4633:35:0;;;;;;;;-1:-1:-1;4685:4:0;4371:325;;;;;:::o;5150:192::-;5236:4;;5199;;-1:-1:-1;;;;;5236:4:0;5222:10;:18;;;;:37;;-1:-1:-1;5253:6:0;;;;5252:7;5222:37;:60;;;;-1:-1:-1;5271:11:0;;-1:-1:-1;;;5271:11:0;;;;5222:60;:113;;;;-1:-1:-1;5322:13:0;;5312:4;5294:24;;;;:9;:24;;;;;;:41;;5222:113;5215:120;;5150:192;:::o;5348:1501::-;1291:6;:13;;-1:-1:-1;;1291:13:0;1300:4;1291:13;;;5427::::1;::::0;5519:8:::1;::::0;5501:12:::1;::::0;1291:6;;5476:59:::1;::::0;5533:1:::1;::::0;5476:52:::1;::::0;;;5427:13;;5476:24:::1;:38::i;:::-;:42:::0;::::1;:52::i;:59::-;5450:85:::0;-1:-1:-1;5545:20:0::1;5568:41;:20:::0;5450:85;5568:24:::1;:41::i;:::-;5644:16;::::0;;5658:1:::1;5644:16:::0;;;;;::::1;::::0;;5545:64;;-1:-1:-1;5620:21:0::1;::::0;5644:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;5644:16:0::1;5620:40;;5688:4;5670;5675:1;5670:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5670:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;5713:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;5713:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;5670:7;;5713:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5703:4;5708:1;5703:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5703:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;5793:6:::1;::::0;:182:::1;::::0;-1:-1:-1;;;5793:182:0;;5761:21:::1;::::0;5793:6;;;::::1;::::0;:57:::1;::::0;:182:::1;::::0;5864:12;;5737:21:::1;::::0;5905:4;;5931::::1;::::0;5950:15:::1;::::0;5793:182:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;5985:17;6005:40;6031:13;6005:21;:25;;:40;;;;:::i;:::-;5985:60;;6055:19;6077:33;6090:19;6107:1;6090:12;;:16;;:19;;;;:::i;:::-;6077:8;::::0;;:12:::1;:33::i;:::-;6055:55;;6120:26;6149:51;6198:1;6149:44;6181:11;6149:27;6163:12;;6149:9;:13;;:27;;;;:::i;:51::-;6120:80;;6210:26;6239:44;6271:11;6239:27;6253:12;;6239:9;:13;;:27;;;;:::i;:44::-;6354:20;::::0;6346:79:::1;::::0;6210:73;;-1:-1:-1;6296:21:0::1;::::0;-1:-1:-1;;;;;6354:20:0;;::::1;::::0;6415:5:::1;::::0;6210:73;;6296:21;6346:79;6296:21;6346:79;6210:73;6354:20;6415:5;6346:79:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6295:130;;;6443:16;6435:59;;;::::0;-1:-1:-1;;;6435:59:0;;7037:2:6;6435:59:0::1;::::0;::::1;7019:21:6::0;7076:2;7056:18;;;7049:30;7115:32;7095:18;;;7088:60;7165:18;;6435:59:0::1;6835:354:6::0;6435:59:0::1;6509:19:::0;;6505:338:::1;;6544:6;::::0;6714:4:::1;::::0;6544:221:::1;::::0;-1:-1:-1;;;6544:221:0;;6620:4:::1;6544:221;::::0;::::1;7535:34:6::0;7585:18;;;7578:34;;;6544:6:0::1;7628:18:6::0;;;7621:34;;;7671:18;;;7664:34;-1:-1:-1;;;;;6714:4:0;;::::1;7714:19:6::0;;;7707:44;6736:15:0::1;7767:19:6::0;;;7760:35;6544:6:0;::::1;::::0;:22:::1;::::0;6575:18;;7469:19:6;;6544:221:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;6784:48:0::1;::::0;;8291:25:6;;;8347:2;8332:18;;8325:34;;;6784:48:0::1;::::0;-1:-1:-1;8264:18:6;6784:48:0::1;;;;;;;6505:338;-1:-1:-1::0;;1325:6:0;:14;;-1:-1:-1;;1325:14:0;;;-1:-1:-1;;;;;;;;5348:1501:0:o;4820:324::-;4887:7;4906:17;4926:40;4951:14;;4926:20;4937:8;;4926:6;:10;;:20;;;;:::i;:40::-;5021:4;5003:24;;;;:9;:24;;;;;;4906:60;;-1:-1:-1;5003:39:0;;4906:60;5003:28;:39::i;:::-;4994:4;4976:24;;;;:9;:24;;;;;;;:66;;;;5057:42;;-1:-1:-1;;;;;5057:42:0;;;;;;;5089:9;160:25:6;;148:2;133:18;;14:177;5057:42:0;;;;;;;;5116:21;:6;5127:9;5116:10;:21::i;:::-;5109:28;4820:324;-1:-1:-1;;;;4820:324:0:o;80:175:5:-;138:7;;169:5;173:1;169;:5;:::i;:::-;157:17;;197:1;192;:6;;184:46;;;;-1:-1:-1;;;184:46:5;;8572:2:6;184:46:5;;;8554:21:6;8611:2;8591:18;;;8584:30;8650:29;8630:18;;;8623:57;8697:18;;184:46:5;8370:351:6;590:239:5;648:7;671:1;676;671:6;667:45;;-1:-1:-1;700:1:5;693:8;;667:45;721:9;733:5;737:1;733;:5;:::i;:::-;721:17;-1:-1:-1;765:1:5;756:5;760:1;721:17;756:5;:::i;:::-;:10;748:56;;;;-1:-1:-1;;;748:56:5;;8928:2:6;748:56:5;;;8910:21:6;8967:2;8947:18;;;8940:30;9006:34;8986:18;;;8979:62;-1:-1:-1;;;9057:18:6;;;9050:31;9098:19;;748:56:5;8726:397:6;834:130:5;892:7;918:39;922:1;925;918:39;;;;;;;;;;;;;;;;;:3;:39::i;260:134::-;318:7;344:43;348:1;351;344:43;;;;;;;;;;;;;;;;;:3;:43::i;969:185::-;1055:7;1089:12;1082:5;1074:28;;;;-1:-1:-1;;;1074:28:5;;;;;;;;:::i;:::-;-1:-1:-1;1112:9:5;1124:5;1128:1;1124;:5;:::i;196:548:6:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:6;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:6:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:6;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:6;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:273::-;2563:6;2616:2;2604:9;2595:7;2591:23;2587:32;2584:52;;;2632:1;2629;2622:12;2584:52;2671:9;2658:23;2724:5;2717:13;2710:21;2703:5;2700:32;2690:60;;2746:1;2743;2736:12;2785:180;2844:6;2897:2;2885:9;2876:7;2872:23;2868:32;2865:52;;;2913:1;2910;2903:12;2865:52;-1:-1:-1;2936:23:6;;2785:180;-1:-1:-1;2785:180:6:o;2970:388::-;3038:6;3046;3099:2;3087:9;3078:7;3074:23;3070:32;3067:52;;;3115:1;3112;3105:12;3067:52;3154:9;3141:23;3173:31;3198:5;3173:31;:::i;:::-;3223:5;-1:-1:-1;3280:2:6;3265:18;;3252:32;3293:33;3252:32;3293:33;:::i;:::-;3345:7;3335:17;;;2970:388;;;;;:::o;3590:329::-;3792:2;3774:21;;;3831:1;3811:18;;;3804:29;-1:-1:-1;;;3864:2:6;3849:18;;3842:36;3910:2;3895:18;;3590:329::o;3924:127::-;3985:10;3980:3;3976:20;3973:1;3966:31;4016:4;4013:1;4006:15;4040:4;4037:1;4030:15;4056:125;4121:9;;;4142:10;;;4139:36;;;4155:18;;:::i;4186:217::-;4226:1;4252;4242:132;;4296:10;4291:3;4287:20;4284:1;4277:31;4331:4;4328:1;4321:15;4359:4;4356:1;4349:15;4242:132;-1:-1:-1;4388:9:6;;4186:217::o;4408:168::-;4481:9;;;4512;;4529:15;;;4523:22;;4509:37;4499:71;;4550:18;;:::i;4581:128::-;4648:9;;;4669:11;;;4666:37;;;4683:18;;:::i;5252:127::-;5313:10;5308:3;5304:20;5301:1;5294:31;5344:4;5341:1;5334:15;5368:4;5365:1;5358:15;5384:251;5454:6;5507:2;5495:9;5486:7;5482:23;5478:32;5475:52;;;5523:1;5520;5513:12;5475:52;5555:9;5549:16;5574:31;5599:5;5574:31;:::i;5640:980::-;5902:4;5950:3;5939:9;5935:19;5981:6;5970:9;5963:25;6007:2;6045:6;6040:2;6029:9;6025:18;6018:34;6088:3;6083:2;6072:9;6068:18;6061:31;6112:6;6147;6141:13;6178:6;6170;6163:22;6216:3;6205:9;6201:19;6194:26;;6255:2;6247:6;6243:15;6229:29;;6276:1;6286:195;6300:6;6297:1;6294:13;6286:195;;;6365:13;;-1:-1:-1;;;;;6361:39:6;6349:52;;6456:15;;;;6421:12;;;;6397:1;6315:9;6286:195;;;-1:-1:-1;;;;;;;6537:32:6;;;;6532:2;6517:18;;6510:60;-1:-1:-1;;;6601:3:6;6586:19;6579:35;6498:3;5640:980;-1:-1:-1;;;5640:980:6:o;7806:306::-;7894:6;7902;7910;7963:2;7951:9;7942:7;7938:23;7934:32;7931:52;;;7979:1;7976;7969:12;7931:52;8008:9;8002:16;7992:26;;8058:2;8047:9;8043:18;8037:25;8027:35;;8102:2;8091:9;8087:18;8081:25;8071:35;;7806:306;;;;;:::o

Swarm Source

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