ETH Price: $3,341.40 (-0.99%)

Contract

0xBf866E56622F5fBaf17d9CE4cfb11AeD91Ee0944
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve214071692024-12-15 9:57:3512 days ago1734256655IN
0xBf866E56...D91Ee0944
0 ETH0.000261045.60465578
Transfer214033172024-12-14 21:03:5913 days ago1734210239IN
0xBf866E56...D91Ee0944
0 ETH0.000603317.7736202
Approve211543642024-11-10 2:45:2348 days ago1731206723IN
0xBf866E56...D91Ee0944
0 ETH0.000437059.38354388
Transfer210094472024-10-20 21:22:3568 days ago1729459355IN
0xBf866E56...D91Ee0944
0 ETH0.000510938.4740226
Approve203866012024-07-25 22:39:35155 days ago1721947175IN
0xBf866E56...D91Ee0944
0 ETH0.00011892.55279619
Approve180000112023-08-26 16:23:47489 days ago1693067027IN
0xBf866E56...D91Ee0944
0 ETH0.0010693922.95970481
Approve179934342023-08-25 18:16:23490 days ago1692987383IN
0xBf866E56...D91Ee0944
0 ETH0.0006368226.27938225
Approve179532492023-08-20 3:21:59496 days ago1692501719IN
0xBf866E56...D91Ee0944
0 ETH0.0005111710.98905172
Approve179507372023-08-19 18:55:11496 days ago1692471311IN
0xBf866E56...D91Ee0944
0 ETH0.0008416718.07058663
Approve179507362023-08-19 18:54:59496 days ago1692471299IN
0xBf866E56...D91Ee0944
0 ETH0.000763816.39886079
Approve179506952023-08-19 18:46:47496 days ago1692470807IN
0xBf866E56...D91Ee0944
0 ETH0.0006507413.98935438
Approve179465982023-08-19 4:59:35496 days ago1692421175IN
0xBf866E56...D91Ee0944
0 ETH0.0003925513.49880641
Approve179449112023-08-18 23:20:35497 days ago1692400835IN
0xBf866E56...D91Ee0944
0 ETH0.0009374520.1528999
Approve179446732023-08-18 22:32:47497 days ago1692397967IN
0xBf866E56...D91Ee0944
0 ETH0.0009626620.66825539
Approve179443292023-08-18 21:23:23497 days ago1692393803IN
0xBf866E56...D91Ee0944
0 ETH0.0008895319.26183525
Approve179443162023-08-18 21:20:47497 days ago1692393647IN
0xBf866E56...D91Ee0944
0 ETH0.0004725517.71376449
Approve179443152023-08-18 21:20:35497 days ago1692393635IN
0xBf866E56...D91Ee0944
0 ETH0.0008397518.02933724
Approve179442632023-08-18 21:10:11497 days ago1692393011IN
0xBf866E56...D91Ee0944
0 ETH0.0010265522.03994001
Approve179442222023-08-18 21:01:59497 days ago1692392519IN
0xBf866E56...D91Ee0944
0 ETH0.001200525.77468682
Approve179441412023-08-18 20:45:35497 days ago1692391535IN
0xBf866E56...D91Ee0944
0 ETH0.0011165423.97196859
Approve179441132023-08-18 20:39:59497 days ago1692391199IN
0xBf866E56...D91Ee0944
0 ETH0.0012522726.88602257
Approve179440822023-08-18 20:33:47497 days ago1692390827IN
0xBf866E56...D91Ee0944
0 ETH0.0010881623.5325378
Approve179440792023-08-18 20:33:11497 days ago1692390791IN
0xBf866E56...D91Ee0944
0 ETH0.0011930125.61371517
Approve179440782023-08-18 20:32:59497 days ago1692390779IN
0xBf866E56...D91Ee0944
0 ETH0.001144324.59965953
Approve179440722023-08-18 20:31:47497 days ago1692390707IN
0xBf866E56...D91Ee0944
0 ETH0.0012773427.42436972
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
214033172024-12-14 21:03:5913 days ago1734210239
0xBf866E56...D91Ee0944
0.00005267 ETH
211543682024-11-10 2:46:1148 days ago1731206771
0xBf866E56...D91Ee0944
0.00005267 ETH
210094472024-10-20 21:22:3568 days ago1729459355
0xBf866E56...D91Ee0944
0.00019054 ETH
205844692024-08-22 13:33:23127 days ago1724333603
0xBf866E56...D91Ee0944
0.00019054 ETH
205844692024-08-22 13:33:23127 days ago1724333603
0xBf866E56...D91Ee0944
0.00011438 ETH
203866032024-07-25 22:39:59155 days ago1721947199
0xBf866E56...D91Ee0944
0.00011438 ETH
203866032024-07-25 22:39:59155 days ago1721947199
0xBf866E56...D91Ee0944
0.00014978 ETH
201749932024-06-26 9:33:47184 days ago1719394427
0xBf866E56...D91Ee0944
0.00014978 ETH
201749932024-06-26 9:33:47184 days ago1719394427
0xBf866E56...D91Ee0944
0.00057138 ETH
198927012024-05-17 22:35:47224 days ago1715985347
0xBf866E56...D91Ee0944
0.00057138 ETH
198480042024-05-11 16:32:59230 days ago1715445179
0xBf866E56...D91Ee0944
0.00029447 ETH
180000122023-08-26 16:23:59489 days ago1693067039
0xBf866E56...D91Ee0944
0.00029447 ETH
180000122023-08-26 16:23:59489 days ago1693067039
0xBf866E56...D91Ee0944
0.00018187 ETH
179689962023-08-22 8:15:11493 days ago1692692111
0xBf866E56...D91Ee0944
0.00018187 ETH
179689962023-08-22 8:15:11493 days ago1692692111
0xBf866E56...D91Ee0944
0.00191391 ETH
179677232023-08-22 3:59:11494 days ago1692676751
0xBf866E56...D91Ee0944
0.00191391 ETH
179634832023-08-21 13:44:59494 days ago1692625499
0xBf866E56...D91Ee0944
0.00105883 ETH
179612472023-08-21 6:14:35494 days ago1692598475
0xBf866E56...D91Ee0944
0.00105883 ETH
179612472023-08-21 6:14:35494 days ago1692598475
0xBf866E56...D91Ee0944
0.00025893 ETH
179552532023-08-20 10:06:35495 days ago1692525995
0xBf866E56...D91Ee0944
0.00025893 ETH
179552532023-08-20 10:06:35495 days ago1692525995
0xBf866E56...D91Ee0944
0.00080784 ETH
179532502023-08-20 3:22:11496 days ago1692501731
0xBf866E56...D91Ee0944
0.00080784 ETH
179532502023-08-20 3:22:11496 days ago1692501731
0xBf866E56...D91Ee0944
0.00022389 ETH
179524972023-08-20 0:50:35496 days ago1692492635
0xBf866E56...D91Ee0944
0.00022389 ETH
179520172023-08-19 23:12:47496 days ago1692486767
0xBf866E56...D91Ee0944
0.00012727 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
AutismIntelligence

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-08-17
*/

/**

    Website : https://autismintelligence.lol/
    Twitter : https://twitter.com/aierc20
    Telegram : https://t.me/autismIntelligencerc20

    */

    // SPDX-License-Identifier: MIT

    pragma solidity 0.8.20;


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

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

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

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

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

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

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

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

    }

    contract Ownable is Context {
        address private _owner;
        event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
        constructor () {
            _owner = _msgSender();
            emit OwnershipTransferred(address(0), _msgSender());
        }

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

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

        function transferOwnership(address _address) external onlyOwner (){
            emit OwnershipTransferred(_owner, _address);
            _owner = _address;
        }

    }  

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

    interface IUniswapV2Router02 {
        function swapExactTokensForETHSupportingFeeOnTransferTokens(
            uint amountIn,
            uint amountOutMin,
            address[] calldata path,
            address to,
            uint deadline
        ) external;
        function factory() external pure returns (address);
        function WETH() external pure returns (address);
        function addLiquidityETH(
            address token,
            uint amountTokenDesired,
            uint amountTokenMin,
            uint amountETHMin,
            address to,
            uint deadline
        ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    }

    contract AutismIntelligence is Context, IERC20, Ownable {
        using SafeMath for uint256;
        mapping (address => uint256) private balance;
        mapping (address => mapping (address => uint256)) private _allowances;
        mapping (address => bool) private _isExcludedFromFee;
        mapping(address => uint256) private _holderLastTransferTimestamp;
        mapping (address => bool) private bots;
        bool public transferDelayEnabled = true;
        address payable public deployerWallet;


        
        uint256 private constant _tTotal = 69_000000000;
        uint256 private  maxWallet = _tTotal/100; 
        uint256 public _maxTaxSwap= _tTotal/100;
        uint256 private taxSellPerc = 0;
        uint256 private taxBuyPerc = 0;
        string private constant _name = unicode"Autism Intelligence";
        string private constant _symbol = unicode"AI";
        uint8 private constant _decimals = 9;
        bool private inSwap = false;

        
        modifier lockTheSwap {
            inSwap = true;
            _;
            inSwap = false;
        }
        IUniswapV2Router02 private uniswapV2Router;
        address private uniswapV2Pair;
        bool private tradingOpen;
        bool private phase2;
        bool private paused;
        uint256 private _maxTxAmount = _tTotal;
        event MaxTxAmountUpdated(uint _maxTxAmount);
        event MaxWalletPercUpdated(uint _maxWalletPerc);
        event MaxTaxSwapPercUpdated(uint _maxTaxSwap);
        
        constructor () { 
            deployerWallet = payable(_msgSender());
            balance[_msgSender()] = _tTotal;
            _isExcludedFromFee[owner()] = true;
            _isExcludedFromFee[address(this)] = true;
            emit Transfer(address(0),owner(), _tTotal);
        }

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

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

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

        function totalSupply() external pure override returns (uint256) {
            return _tTotal;
        }

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

        function transfer(address recipient, uint256 amount) external override returns (bool) {
            _transfer(_msgSender(), recipient, amount);
            return true;
        }

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

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

        function isWhitelisted(address _addr) external view returns(bool){
            return _isExcludedFromFee[_addr];
        }

        function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
            _transfer(sender, recipient, amount);
            _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
            return true;
        }

        function _approve(address holder, address spender, uint256 amount) private {
            require(holder != address(0), "ERC20: approve from the zero address");
            require(spender != address(0), "ERC20: approve to the zero address");
            _allowances[holder][spender] = amount;
            emit Approval(holder, spender, amount);
        }

        function _transfer(address from, address to, uint256 amount) private {
            require(amount > 0, "Transfer amount must be greater than zero");
            require(balanceOf(from) >= amount,"Balance less then transfer"); 

            uint256 taxAmount=0;
            if (!(_isExcludedFromFee[from] || _isExcludedFromFee[to]) ) {  
                require(!bots[from] && !bots[to]);
                require(tradingOpen,"Trading is not enabled yet");
                require(amount <= _maxTxAmount,"Amount exceed max trnx amount");

                if (transferDelayEnabled) {
                    if (to != address(uniswapV2Router) && to != address(uniswapV2Pair)) {
                        require(
                            _holderLastTransferTimestamp[tx.origin] <
                                block.number,
                            "_transfer:: Transfer Delay enabled.  Only one purchase per block allowed."
                        );
                        _holderLastTransferTimestamp[tx.origin] = block.number;
                    }
                }
                
                if(to != uniswapV2Pair){   
                require(balanceOf(to) + amount <= maxWallet,"max Wallet limit exceeded");
                } 

                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) { 
                    sendETHToFee(address(this).balance);
                }

                
                if(from == uniswapV2Pair){
                    taxAmount = amount.mul(taxBuyPerc).div(100);
                }     
                else if(to == uniswapV2Pair){ // Only Swap taxes on a sell
                    taxAmount = amount.mul(taxSellPerc).div(100);
                    uint256 contractTokenBalance = balanceOf(address(this));
                    if(!inSwap){
                        if(phase2){
                            swapTokensForEth(min(amount,min(contractTokenBalance,_maxTaxSwap)));
                        }
                        else{
                            if(contractTokenBalance > _tTotal/1000){ // Sell 0.01%
                                swapTokensForEth(contractTokenBalance);
                        }
                        }
                    }
                }
                
            }
            _tokenTransfer(from,to,amount,taxAmount);
        }

        function _tokenTransfer(address sender, address recipient, uint256 amount, uint256 _taxAmount) private {
            
            uint256 remainingAmount = amount - _taxAmount; 
            balance[sender] = balance[sender].sub(amount); 
            balance[recipient] = balance[recipient].add(remainingAmount); 
            balance[address(this)] = balance[address(this)].add(_taxAmount); 
            emit Transfer(sender, recipient, remainingAmount);
        }


        function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
            address[] memory path = new address[](2);
            path[0] = address(this);
            path[1] = uniswapV2Router.WETH();
            _approve(address(this), address(uniswapV2Router), tokenAmount);
            uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
                tokenAmount,
                0,
                path,
                address(this),
                block.timestamp
            );
        }
        

        function removeLimits() external onlyOwner{
            require(tradingOpen,"Trading is not enabled yet");
            _maxTxAmount = _tTotal;
            maxWallet = _tTotal;
            _maxTaxSwap = _tTotal;
            emit MaxTxAmountUpdated(_tTotal);
            emit MaxWalletPercUpdated(_tTotal);
            emit MaxTaxSwapPercUpdated(_tTotal);
            transferDelayEnabled=false;

        }

        function sendETHToFee(uint256 amount) private {
            deployerWallet.transfer(amount);        
        }
        
        
        function openTrading() external onlyOwner {
            require(!tradingOpen,"trading is already open");
            IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
            uniswapV2Router = _uniswapV2Router;
            _approve(address(this), address(uniswapV2Router), _tTotal);
            uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
            uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
            _maxTxAmount = _tTotal*20/1000;
            maxWallet = _tTotal*20/1000;
            _maxTaxSwap = _tTotal*20/1000;
            taxSellPerc = 30;
            taxBuyPerc = 15;
            IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
            tradingOpen = true;
        }

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

        function setPhase2() external onlyOwner{
            phase2 = true;
        }

        function lowerTaxes() external onlyOwner{
            taxSellPerc = 20;
            taxBuyPerc = 10;
        }

        function dropTaxes() external onlyOwner{
            taxSellPerc = 2;
            taxBuyPerc = 2;
        }

        event addressWhitelisted(address _address,bool _bool);

        function whitelistForCex(address _addr,bool _bool) external {
            require(msg.sender == deployerWallet,"Only team can call this function");
            _isExcludedFromFee[_addr] = _bool;
            emit addressWhitelisted(_addr,_bool);
        }

        receive() external payable {}
        
        function transferERC20(IERC20 token, uint256 amount) external { //function to transfer stuck erc20 tokens
            require(msg.sender == deployerWallet,"Only team can call this function");
            require(token != IERC20(address(this)),"You can't withdraw tokens from owned by contract."); 
            uint256 erc20balance = token.balanceOf(address(this));
            require(amount <= erc20balance, "balance is low");
            token.transfer(deployerWallet, amount);
        }


        function manualswap() external {
            require(msg.sender == deployerWallet,"Only team can call this function");
            uint256 contractBalance = balanceOf(address(this));
            swapTokensForEth(contractBalance);
        }

        function manualsend() external {
            require(msg.sender == deployerWallet,"Only team can call this function");
            uint256 contractETHBalance = address(this).balance;
            sendETHToFee(contractETHBalance);
        }

        function addBots(address[] memory bots_) external {
            require(msg.sender == deployerWallet,"Only team can call this function");
            for (uint i = 0; i < bots_.length; i++) {
                bots[bots_[i]] = true;
            }
        }

        function delBots(address[] memory notbot) external {
            require(msg.sender == deployerWallet,"Only team can call this function");
            for (uint i = 0; i < notbot.length; i++) {
            bots[notbot[i]] = false;
        }
        }

        function isBot(address a) public view returns (bool){
        return bots[a];
        }
    }

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":"_maxTaxSwap","type":"uint256"}],"name":"MaxTaxSwapPercUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxWalletPerc","type":"uint256"}],"name":"MaxWalletPercUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"_address","type":"address"},{"indexed":false,"internalType":"bool","name":"_bool","type":"bool"}],"name":"addressWhitelisted","type":"event"},{"inputs":[],"name":"_maxTaxSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"addBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address[]","name":"notbot","type":"address[]"}],"name":"delBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"deployerWallet","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dropTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"a","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"}],"name":"isWhitelisted","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"lowerTaxes","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"setPhase2","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"transferDelayEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"token","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_addr","type":"address"},{"internalType":"bool","name":"_bool","type":"bool"}],"name":"whitelistForCex","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526006805460ff19166001179055620000236064641010b8720062000195565b600755620000386064641010b8720062000195565b6008555f6009819055600a55600b805460ff19169055641010b87200600d5534801562000063575f80fd5b505f80546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a360068054610100600160a81b03191661010033908102919091179091555f9081526001602081905260408220641010b87200905590600390620000ec5f546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081015f908120805494151560ff1995861617905530815260039092529020805490911660011790556200013d5f546001600160a01b031690565b6001600160a01b03165f6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef641010b872006040516200018791815260200190565b60405180910390a3620001b5565b5f82620001b057634e487b7160e01b5f52601260045260245ffd5b500490565b611f1580620001c35f395ff3fe608060405260043610610198575f3560e01c806370a08231116100e7578063c3c8cd8011610087578063d34628cc11610062578063d34628cc146104bb578063dd62ed3e146104da578063f2fde38b1461051e578063f7448a311461053d575f80fd5b8063c3c8cd801461047a578063c876d0b91461048e578063c9567bf9146104a7575f80fd5b806382f3ccd1116100c257806382f3ccd1146104015780638da5cb5b1461041557806395d89b4114610431578063a9059cbb1461045b575f80fd5b806370a082311461039a578063751039fc146103ce57806379e939a3146103e2575f80fd5b806331c2d8471161015257806356dda5871161012d57806356dda587146103225780635d60c7be146103365780636f340b65146103725780636fc3eaec14610386575f80fd5b806331c2d847146102935780633af32abf146102b45780633bbac579146102eb575f80fd5b806306fdde03146101a3578063095ea7b3146101f05780630faee56f1461021f57806318160ddd1461024257806323b872dd14610259578063313ce56714610278575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152601381527241757469736d20496e74656c6c6967656e636560681b60208201525b6040516101e79190611a94565b60405180910390f35b3480156101fb575f80fd5b5061020f61020a366004611b03565b61055c565b60405190151581526020016101e7565b34801561022a575f80fd5b5061023460085481565b6040519081526020016101e7565b34801561024d575f80fd5b50641010b87200610234565b348015610264575f80fd5b5061020f610273366004611b2d565b610572565b348015610283575f80fd5b50604051600981526020016101e7565b34801561029e575f80fd5b506102b26102ad366004611b7f565b6105d9565b005b3480156102bf575f80fd5b5061020f6102ce366004611c3f565b6001600160a01b03165f9081526003602052604090205460ff1690565b3480156102f6575f80fd5b5061020f610305366004611c3f565b6001600160a01b03165f9081526005602052604090205460ff1690565b34801561032d575f80fd5b506102b2610679565b348015610341575f80fd5b5060065461035a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101e7565b34801561037d575f80fd5b506102b26106b7565b348015610391575f80fd5b506102b26106ec565b3480156103a5575f80fd5b506102346103b4366004611c3f565b6001600160a01b03165f9081526001602052604090205490565b3480156103d9575f80fd5b506102b2610728565b3480156103ed575f80fd5b506102b26103fc366004611c67565b61086e565b34801561040c575f80fd5b506102b26108ff565b348015610420575f80fd5b505f546001600160a01b031661035a565b34801561043c575f80fd5b50604080518082019091526002815261414960f01b60208201526101da565b348015610466575f80fd5b5061020f610475366004611b03565b610933565b348015610485575f80fd5b506102b261093f565b348015610499575f80fd5b5060065461020f9060ff1681565b3480156104b2575f80fd5b506102b2610986565b3480156104c6575f80fd5b506102b26104d5366004611b7f565b610d91565b3480156104e5575f80fd5b506102346104f4366004611c9e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610529575f80fd5b506102b2610538366004611c3f565b610e25565b348015610548575f80fd5b506102b2610557366004611b03565b610ea7565b5f610568338484611072565b5060015b92915050565b5f61057e848484611195565b6105cf84336105ca85604051806060016040528060288152602001611eb8602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061160d565b611072565b5060019392505050565b60065461010090046001600160a01b031633146106115760405162461bcd60e51b815260040161060890611cca565b60405180910390fd5b5f5b8151811015610675575f60055f84848151811061063257610632611cff565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061066d81611d27565b915050610613565b5050565b5f546001600160a01b031633146106a25760405162461bcd60e51b815260040161060890611d3f565b600c805460ff60a81b1916600160a81b179055565b5f546001600160a01b031633146106e05760405162461bcd60e51b815260040161060890611d3f565b60026009819055600a55565b60065461010090046001600160a01b0316331461071b5760405162461bcd60e51b815260040161060890611cca565b4761072581611645565b50565b5f546001600160a01b031633146107515760405162461bcd60e51b815260040161060890611d3f565b600c54600160a01b900460ff166107aa5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610608565b641010b87200600d819055600781905560088190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1604051641010b8720081527f9a67c283449381e8ee7fa29c87cef05ccedd0faaff767bf879b02d34290fdc7b9060200160405180910390a1604051641010b8720081527f8731543e21093ca66ef786ff7b72c9887cea0eec2b8b9484b95429eaffc4903c9060200160405180910390a16006805460ff19169055565b60065461010090046001600160a01b0316331461089d5760405162461bcd60e51b815260040161060890611cca565b6001600160a01b0382165f81815260036020908152604091829020805460ff19168515159081179091558251938452908301527ff3ef47a8986c54ec89de9fdd967838ffa1f8c90d7b1ca23b3d78e32232226fdb910160405180910390a15050565b5f546001600160a01b031633146109285760405162461bcd60e51b815260040161060890611d3f565b6014600955600a8055565b5f610568338484611195565b60065461010090046001600160a01b0316331461096e5760405162461bcd60e51b815260040161060890611cca565b305f9081526001602052604090205461072581611680565b5f546001600160a01b031633146109af5760405162461bcd60e51b815260040161060890611d3f565b600c54600160a01b900460ff1615610a095760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610608565b600b8054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d001790819055737a250d5630b4cf539739df2c5dacb4c659f2488d90610a699030906001600160a01b0361010090910416641010b87200611072565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac99190611d74565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b389190611d74565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190611d74565b600c80546001600160a01b039283166001600160a01b0319909116179055600b5461010090041663f305d7194730610bf2816001600160a01b03165f9081526001602052604090205490565b5f80610c055f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c6b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c909190611d8f565b5050506103e8641010b872006014610ca89190611dba565b610cb29190611dd1565b600d556103e8610cc8641010b872006014611dba565b610cd29190611dd1565b6007556103e8610ce8641010b872006014611dba565b610cf29190611dd1565b600855601e600955600f600a55600c54600b5460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610d56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7a9190611df0565b5050600c805460ff60a01b1916600160a01b179055565b60065461010090046001600160a01b03163314610dc05760405162461bcd60e51b815260040161060890611cca565b5f5b815181101561067557600160055f848481518110610de257610de2611cff565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610e1d81611d27565b915050610dc2565b5f546001600160a01b03163314610e4e5760405162461bcd60e51b815260040161060890611d3f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b60065461010090046001600160a01b03163314610ed65760405162461bcd60e51b815260040161060890611cca565b306001600160a01b03831603610f485760405162461bcd60e51b815260206004820152603160248201527f596f752063616e277420776974686472617720746f6b656e732066726f6d206f6044820152703bb732b210313c9031b7b73a3930b1ba1760791b6064820152608401610608565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610f8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb09190611e0b565b905080821115610ff35760405162461bcd60e51b815260206004820152600e60248201526d62616c616e6365206973206c6f7760901b6044820152606401610608565b60065460405163a9059cbb60e01b81526101009091046001600160a01b0390811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af1158015611048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061106c9190611df0565b50505050565b6001600160a01b0383166110d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610608565b6001600160a01b0382166111355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610608565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f81116111f65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610608565b80611215846001600160a01b03165f9081526001602052604090205490565b10156112635760405162461bcd60e51b815260206004820152601a60248201527f42616c616e6365206c657373207468656e207472616e736665720000000000006044820152606401610608565b6001600160a01b0383165f9081526003602052604081205460ff16806112a057506001600160a01b0383165f9081526003602052604090205460ff165b611601576001600160a01b0384165f9081526005602052604090205460ff161580156112e457506001600160a01b0383165f9081526005602052604090205460ff16155b6112ec575f80fd5b600c54600160a01b900460ff166113455760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610608565b600d548211156113975760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e7420657863656564206d61782074726e7820616d6f756e740000006044820152606401610608565b60065460ff161561147f57600b546001600160a01b0384811661010090920416148015906113d35750600c546001600160a01b03848116911614155b1561147f57325f90815260046020526040902054431161146d5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610608565b325f9081526004602052604090204390555b600c546001600160a01b0384811691161461150e57600754826114b6856001600160a01b03165f9081526001602052604090205490565b6114c09190611e22565b111561150e5760405162461bcd60e51b815260206004820152601960248201527f6d61782057616c6c6574206c696d6974206578636565646564000000000000006044820152606401610608565b47801561151e5761151e47611645565b600c546001600160a01b039081169086160361155b57611554606461154e600a548661180a90919063ffffffff16565b9061188f565b91506115ff565b600c546001600160a01b03908116908516036115ff5761158b606461154e6009548661180a90919063ffffffff16565b305f90815260016020526040902054600b549193509060ff166115fd57600c54600160a81b900460ff16156115dc576115d76115d2856115cd846008546118d0565b6118d0565b611680565b6115fd565b6115ed6103e8641010b87200611dd1565b8111156115fd576115fd81611680565b505b505b61106c848484846118e4565b5f81848411156116305760405162461bcd60e51b81526004016106089190611a94565b505f61163c8486611e35565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610675573d5f803e3d5ffd5b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106116c0576116c0611cff565b60200260200101906001600160a01b031690816001600160a01b031681525050600b60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611731573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117559190611d74565b8160018151811061176857611768611cff565b6001600160a01b039283166020918202929092010152600b5461179391309161010090041684611072565b600b5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906117cf9085905f90869030904290600401611e48565b5f604051808303815f87803b1580156117e6575f80fd5b505af11580156117f8573d5f803e3d5ffd5b5050600b805460ff1916905550505050565b5f825f0361181957505f61056c565b5f6118248385611dba565b9050826118318583611dd1565b146118885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610608565b9392505050565b5f61188883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c9565b5f8183116118de5782611888565b50919050565b5f6118ef8284611e35565b6001600160a01b0386165f9081526001602052604090205490915061191490846119f5565b6001600160a01b038087165f9081526001602052604080822093909355908616815220546119429082611a36565b6001600160a01b0385165f9081526001602052604080822092909255308152205461196d9083611a36565b305f9081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f81836119e95760405162461bcd60e51b81526004016106089190611a94565b505f61163c8486611dd1565b5f61188883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160d565b5f80611a428385611e22565b9050838110156118885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610608565b5f6020808352835180828501525f5b81811015611abf57858101830151858201604001528201611aa3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610725575f80fd5b8035611afe81611adf565b919050565b5f8060408385031215611b14575f80fd5b8235611b1f81611adf565b946020939093013593505050565b5f805f60608486031215611b3f575f80fd5b8335611b4a81611adf565b92506020840135611b5a81611adf565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611b90575f80fd5b823567ffffffffffffffff80821115611ba7575f80fd5b818501915085601f830112611bba575f80fd5b813581811115611bcc57611bcc611b6b565b8060051b604051601f19603f83011681018181108582111715611bf157611bf1611b6b565b604052918252848201925083810185019188831115611c0e575f80fd5b938501935b82851015611c3357611c2485611af3565b84529385019392850192611c13565b98975050505050505050565b5f60208284031215611c4f575f80fd5b813561188881611adf565b8015158114610725575f80fd5b5f8060408385031215611c78575f80fd5b8235611c8381611adf565b91506020830135611c9381611c5a565b809150509250929050565b5f8060408385031215611caf575f80fd5b8235611cba81611adf565b91506020830135611c9381611adf565b6020808252818101527f4f6e6c79207465616d2063616e2063616c6c20746869732066756e6374696f6e604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611d3857611d38611d13565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611d84575f80fd5b815161188881611adf565b5f805f60608486031215611da1575f80fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761056c5761056c611d13565b5f82611deb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611e00575f80fd5b815161188881611c5a565b5f60208284031215611e1b575f80fd5b5051919050565b8082018082111561056c5761056c611d13565b8181038181111561056c5761056c611d13565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e965784516001600160a01b031683529383019391830191600101611e71565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202e690984b5da7233b95befb2082dae92bd25ff3253b5fef35f0e4d46d869d33464736f6c63430008140033

Deployed Bytecode

0x608060405260043610610198575f3560e01c806370a08231116100e7578063c3c8cd8011610087578063d34628cc11610062578063d34628cc146104bb578063dd62ed3e146104da578063f2fde38b1461051e578063f7448a311461053d575f80fd5b8063c3c8cd801461047a578063c876d0b91461048e578063c9567bf9146104a7575f80fd5b806382f3ccd1116100c257806382f3ccd1146104015780638da5cb5b1461041557806395d89b4114610431578063a9059cbb1461045b575f80fd5b806370a082311461039a578063751039fc146103ce57806379e939a3146103e2575f80fd5b806331c2d8471161015257806356dda5871161012d57806356dda587146103225780635d60c7be146103365780636f340b65146103725780636fc3eaec14610386575f80fd5b806331c2d847146102935780633af32abf146102b45780633bbac579146102eb575f80fd5b806306fdde03146101a3578063095ea7b3146101f05780630faee56f1461021f57806318160ddd1461024257806323b872dd14610259578063313ce56714610278575f80fd5b3661019f57005b5f80fd5b3480156101ae575f80fd5b5060408051808201909152601381527241757469736d20496e74656c6c6967656e636560681b60208201525b6040516101e79190611a94565b60405180910390f35b3480156101fb575f80fd5b5061020f61020a366004611b03565b61055c565b60405190151581526020016101e7565b34801561022a575f80fd5b5061023460085481565b6040519081526020016101e7565b34801561024d575f80fd5b50641010b87200610234565b348015610264575f80fd5b5061020f610273366004611b2d565b610572565b348015610283575f80fd5b50604051600981526020016101e7565b34801561029e575f80fd5b506102b26102ad366004611b7f565b6105d9565b005b3480156102bf575f80fd5b5061020f6102ce366004611c3f565b6001600160a01b03165f9081526003602052604090205460ff1690565b3480156102f6575f80fd5b5061020f610305366004611c3f565b6001600160a01b03165f9081526005602052604090205460ff1690565b34801561032d575f80fd5b506102b2610679565b348015610341575f80fd5b5060065461035a9061010090046001600160a01b031681565b6040516001600160a01b0390911681526020016101e7565b34801561037d575f80fd5b506102b26106b7565b348015610391575f80fd5b506102b26106ec565b3480156103a5575f80fd5b506102346103b4366004611c3f565b6001600160a01b03165f9081526001602052604090205490565b3480156103d9575f80fd5b506102b2610728565b3480156103ed575f80fd5b506102b26103fc366004611c67565b61086e565b34801561040c575f80fd5b506102b26108ff565b348015610420575f80fd5b505f546001600160a01b031661035a565b34801561043c575f80fd5b50604080518082019091526002815261414960f01b60208201526101da565b348015610466575f80fd5b5061020f610475366004611b03565b610933565b348015610485575f80fd5b506102b261093f565b348015610499575f80fd5b5060065461020f9060ff1681565b3480156104b2575f80fd5b506102b2610986565b3480156104c6575f80fd5b506102b26104d5366004611b7f565b610d91565b3480156104e5575f80fd5b506102346104f4366004611c9e565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610529575f80fd5b506102b2610538366004611c3f565b610e25565b348015610548575f80fd5b506102b2610557366004611b03565b610ea7565b5f610568338484611072565b5060015b92915050565b5f61057e848484611195565b6105cf84336105ca85604051806060016040528060288152602001611eb8602891396001600160a01b038a165f908152600260209081526040808320338452909152902054919061160d565b611072565b5060019392505050565b60065461010090046001600160a01b031633146106115760405162461bcd60e51b815260040161060890611cca565b60405180910390fd5b5f5b8151811015610675575f60055f84848151811061063257610632611cff565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff19169115159190911790558061066d81611d27565b915050610613565b5050565b5f546001600160a01b031633146106a25760405162461bcd60e51b815260040161060890611d3f565b600c805460ff60a81b1916600160a81b179055565b5f546001600160a01b031633146106e05760405162461bcd60e51b815260040161060890611d3f565b60026009819055600a55565b60065461010090046001600160a01b0316331461071b5760405162461bcd60e51b815260040161060890611cca565b4761072581611645565b50565b5f546001600160a01b031633146107515760405162461bcd60e51b815260040161060890611d3f565b600c54600160a01b900460ff166107aa5760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610608565b641010b87200600d819055600781905560088190556040519081527f947f344d56e1e8c70dc492fb94c4ddddd490c016aab685f5e7e47b2e85cb44cf9060200160405180910390a1604051641010b8720081527f9a67c283449381e8ee7fa29c87cef05ccedd0faaff767bf879b02d34290fdc7b9060200160405180910390a1604051641010b8720081527f8731543e21093ca66ef786ff7b72c9887cea0eec2b8b9484b95429eaffc4903c9060200160405180910390a16006805460ff19169055565b60065461010090046001600160a01b0316331461089d5760405162461bcd60e51b815260040161060890611cca565b6001600160a01b0382165f81815260036020908152604091829020805460ff19168515159081179091558251938452908301527ff3ef47a8986c54ec89de9fdd967838ffa1f8c90d7b1ca23b3d78e32232226fdb910160405180910390a15050565b5f546001600160a01b031633146109285760405162461bcd60e51b815260040161060890611d3f565b6014600955600a8055565b5f610568338484611195565b60065461010090046001600160a01b0316331461096e5760405162461bcd60e51b815260040161060890611cca565b305f9081526001602052604090205461072581611680565b5f546001600160a01b031633146109af5760405162461bcd60e51b815260040161060890611d3f565b600c54600160a01b900460ff1615610a095760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610608565b600b8054610100600160a81b031916747a250d5630b4cf539739df2c5dacb4c659f2488d001790819055737a250d5630b4cf539739df2c5dacb4c659f2488d90610a699030906001600160a01b0361010090910416641010b87200611072565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015610aa5573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ac99190611d74565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610b14573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b389190611d74565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af1158015610b82573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610ba69190611d74565b600c80546001600160a01b039283166001600160a01b0319909116179055600b5461010090041663f305d7194730610bf2816001600160a01b03165f9081526001602052604090205490565b5f80610c055f546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af1158015610c6b573d5f803e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190610c909190611d8f565b5050506103e8641010b872006014610ca89190611dba565b610cb29190611dd1565b600d556103e8610cc8641010b872006014611dba565b610cd29190611dd1565b6007556103e8610ce8641010b872006014611dba565b610cf29190611dd1565b600855601e600955600f600a55600c54600b5460405163095ea7b360e01b81526001600160a01b03610100909204821660048201525f19602482015291169063095ea7b3906044016020604051808303815f875af1158015610d56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d7a9190611df0565b5050600c805460ff60a01b1916600160a01b179055565b60065461010090046001600160a01b03163314610dc05760405162461bcd60e51b815260040161060890611cca565b5f5b815181101561067557600160055f848481518110610de257610de2611cff565b6020908102919091018101516001600160a01b031682528101919091526040015f20805460ff191691151591909117905580610e1d81611d27565b915050610dc2565b5f546001600160a01b03163314610e4e5760405162461bcd60e51b815260040161060890611d3f565b5f80546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a35f80546001600160a01b0319166001600160a01b0392909216919091179055565b60065461010090046001600160a01b03163314610ed65760405162461bcd60e51b815260040161060890611cca565b306001600160a01b03831603610f485760405162461bcd60e51b815260206004820152603160248201527f596f752063616e277420776974686472617720746f6b656e732066726f6d206f6044820152703bb732b210313c9031b7b73a3930b1ba1760791b6064820152608401610608565b6040516370a0823160e01b81523060048201525f906001600160a01b038416906370a0823190602401602060405180830381865afa158015610f8c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610fb09190611e0b565b905080821115610ff35760405162461bcd60e51b815260206004820152600e60248201526d62616c616e6365206973206c6f7760901b6044820152606401610608565b60065460405163a9059cbb60e01b81526101009091046001600160a01b0390811660048301526024820184905284169063a9059cbb906044016020604051808303815f875af1158015611048573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061106c9190611df0565b50505050565b6001600160a01b0383166110d45760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610608565b6001600160a01b0382166111355760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610608565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f81116111f65760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610608565b80611215846001600160a01b03165f9081526001602052604090205490565b10156112635760405162461bcd60e51b815260206004820152601a60248201527f42616c616e6365206c657373207468656e207472616e736665720000000000006044820152606401610608565b6001600160a01b0383165f9081526003602052604081205460ff16806112a057506001600160a01b0383165f9081526003602052604090205460ff165b611601576001600160a01b0384165f9081526005602052604090205460ff161580156112e457506001600160a01b0383165f9081526005602052604090205460ff16155b6112ec575f80fd5b600c54600160a01b900460ff166113455760405162461bcd60e51b815260206004820152601a60248201527f54726164696e67206973206e6f7420656e61626c6564207965740000000000006044820152606401610608565b600d548211156113975760405162461bcd60e51b815260206004820152601d60248201527f416d6f756e7420657863656564206d61782074726e7820616d6f756e740000006044820152606401610608565b60065460ff161561147f57600b546001600160a01b0384811661010090920416148015906113d35750600c546001600160a01b03848116911614155b1561147f57325f90815260046020526040902054431161146d5760405162461bcd60e51b815260206004820152604960248201527f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60448201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b6064820152681030b63637bbb2b21760b91b608482015260a401610608565b325f9081526004602052604090204390555b600c546001600160a01b0384811691161461150e57600754826114b6856001600160a01b03165f9081526001602052604090205490565b6114c09190611e22565b111561150e5760405162461bcd60e51b815260206004820152601960248201527f6d61782057616c6c6574206c696d6974206578636565646564000000000000006044820152606401610608565b47801561151e5761151e47611645565b600c546001600160a01b039081169086160361155b57611554606461154e600a548661180a90919063ffffffff16565b9061188f565b91506115ff565b600c546001600160a01b03908116908516036115ff5761158b606461154e6009548661180a90919063ffffffff16565b305f90815260016020526040902054600b549193509060ff166115fd57600c54600160a81b900460ff16156115dc576115d76115d2856115cd846008546118d0565b6118d0565b611680565b6115fd565b6115ed6103e8641010b87200611dd1565b8111156115fd576115fd81611680565b505b505b61106c848484846118e4565b5f81848411156116305760405162461bcd60e51b81526004016106089190611a94565b505f61163c8486611e35565b95945050505050565b6006546040516101009091046001600160a01b0316906108fc8315029083905f818181858888f19350505050158015610675573d5f803e3d5ffd5b600b805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f815181106116c0576116c0611cff565b60200260200101906001600160a01b031690816001600160a01b031681525050600b60019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611731573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117559190611d74565b8160018151811061176857611768611cff565b6001600160a01b039283166020918202929092010152600b5461179391309161010090041684611072565b600b5460405163791ac94760e01b81526101009091046001600160a01b03169063791ac947906117cf9085905f90869030904290600401611e48565b5f604051808303815f87803b1580156117e6575f80fd5b505af11580156117f8573d5f803e3d5ffd5b5050600b805460ff1916905550505050565b5f825f0361181957505f61056c565b5f6118248385611dba565b9050826118318583611dd1565b146118885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610608565b9392505050565b5f61188883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506119c9565b5f8183116118de5782611888565b50919050565b5f6118ef8284611e35565b6001600160a01b0386165f9081526001602052604090205490915061191490846119f5565b6001600160a01b038087165f9081526001602052604080822093909355908616815220546119429082611a36565b6001600160a01b0385165f9081526001602052604080822092909255308152205461196d9083611a36565b305f9081526001602090815260409182902092909255518281526001600160a01b0386811692908816917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050505050565b5f81836119e95760405162461bcd60e51b81526004016106089190611a94565b505f61163c8486611dd1565b5f61188883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061160d565b5f80611a428385611e22565b9050838110156118885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610608565b5f6020808352835180828501525f5b81811015611abf57858101830151858201604001528201611aa3565b505f604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610725575f80fd5b8035611afe81611adf565b919050565b5f8060408385031215611b14575f80fd5b8235611b1f81611adf565b946020939093013593505050565b5f805f60608486031215611b3f575f80fd5b8335611b4a81611adf565b92506020840135611b5a81611adf565b929592945050506040919091013590565b634e487b7160e01b5f52604160045260245ffd5b5f6020808385031215611b90575f80fd5b823567ffffffffffffffff80821115611ba7575f80fd5b818501915085601f830112611bba575f80fd5b813581811115611bcc57611bcc611b6b565b8060051b604051601f19603f83011681018181108582111715611bf157611bf1611b6b565b604052918252848201925083810185019188831115611c0e575f80fd5b938501935b82851015611c3357611c2485611af3565b84529385019392850192611c13565b98975050505050505050565b5f60208284031215611c4f575f80fd5b813561188881611adf565b8015158114610725575f80fd5b5f8060408385031215611c78575f80fd5b8235611c8381611adf565b91506020830135611c9381611c5a565b809150509250929050565b5f8060408385031215611caf575f80fd5b8235611cba81611adf565b91506020830135611c9381611adf565b6020808252818101527f4f6e6c79207465616d2063616e2063616c6c20746869732066756e6374696f6e604082015260600190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f60018201611d3857611d38611d13565b5060010190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611d84575f80fd5b815161188881611adf565b5f805f60608486031215611da1575f80fd5b8351925060208401519150604084015190509250925092565b808202811582820484141761056c5761056c611d13565b5f82611deb57634e487b7160e01b5f52601260045260245ffd5b500490565b5f60208284031215611e00575f80fd5b815161188881611c5a565b5f60208284031215611e1b575f80fd5b5051919050565b8082018082111561056c5761056c611d13565b8181038181111561056c5761056c611d13565b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611e965784516001600160a01b031683529383019391830191600101611e71565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202e690984b5da7233b95befb2082dae92bd25ff3253b5fef35f0e4d46d869d33464736f6c63430008140033

Deployed Bytecode Sourcemap

3967:11273:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5803:93;;;;;;;;;;-1:-1:-1;5879:5:0;;;;;;;;;;;;-1:-1:-1;;;5879:5:0;;;;5803:93;;;;;;;:::i;:::-;;;;;;;;6736:175;;;;;;;;;;-1:-1:-1;6736:175:0;;;;;:::i;:::-;;:::i;:::-;;;1327:14:1;;1320:22;1302:41;;1290:2;1275:18;6736:175:0;1162:187:1;4615:39:0;;;;;;;;;;;;;;;;;;;1500:25:1;;;1488:2;1473:18;4615:39:0;1354:177:1;6122:105:0;;;;;;;;;;-1:-1:-1;4540:12:0;6122:105;;7059:331;;;;;;;;;;-1:-1:-1;7059:331:0;;;;;:::i;:::-;;:::i;6017:93::-;;;;;;;;;;-1:-1:-1;6017:93:0;;4910:1;2139:36:1;;2127:2;2112:18;6017:93:0;1997:184:1;14877:255:0;;;;;;;;;;-1:-1:-1;14877:255:0;;;;;:::i;:::-;;:::i;:::-;;6923:124;;;;;;;;;;-1:-1:-1;6923:124:0;;;;;:::i;:::-;-1:-1:-1;;;;;7010:25:0;6983:4;7010:25;;;:18;:25;;;;;;;;;6923:124;15144:89;;;;;;;;;;-1:-1:-1;15144:89:0;;;;;:::i;:::-;-1:-1:-1;;;;;15214:7:0;15191:4;15214:7;;;:4;:7;;;;;;;;;15144:89;12865:79;;;;;;;;;;;;;:::i;4443:37::-;;;;;;;;;;-1:-1:-1;4443:37:0;;;;;;;-1:-1:-1;;;;;4443:37:0;;;;;;-1:-1:-1;;;;;3876:32:1;;;3858:51;;3846:2;3831:18;4443:37:0;3696:219:1;13081:110:0;;;;;;;;;;;;;:::i;14352:242::-;;;;;;;;;;;;;:::i;6239:125::-;;;;;;;;;;-1:-1:-1;6239:125:0;;;;;:::i;:::-;-1:-1:-1;;;;;6336:16:0;6305:7;6336:16;;;:7;:16;;;;;;;6239:125;11234:414;;;;;;;;;;;;;:::i;13269:258::-;;;;;;;;;;-1:-1:-1;13269:258:0;;;;;:::i;:::-;;:::i;12956:113::-;;;;;;;;;;;;;:::i;2688:87::-;;;;;;;;;;-1:-1:-1;2726:7:0;2757:6;-1:-1:-1;;;;;2757:6:0;2688:87;;5908:97;;;;;;;;;;-1:-1:-1;5986:7:0;;;;;;;;;;;;-1:-1:-1;;;5986:7:0;;;;5908:97;;6376:181;;;;;;;;;;-1:-1:-1;6376:181:0;;;;;:::i;:::-;;:::i;14097:243::-;;;;;;;;;;;;;:::i;4393:39::-;;;;;;;;;;-1:-1:-1;4393:39:0;;;;;;;;11802:935;;;;;;;;;;;;;:::i;14606:259::-;;;;;;;;;;-1:-1:-1;14606:259:0;;;;;:::i;:::-;;:::i;6569:155::-;;;;;;;;;;-1:-1:-1;6569:155:0;;;;;:::i;:::-;-1:-1:-1;;;;;6684:19:0;;;6653:7;6684:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6569:155;2930:168;;;;;;;;;;-1:-1:-1;2930:168:0;;;;;:::i;:::-;;:::i;13588:495::-;;;;;;;;;;-1:-1:-1;13588:495:0;;;;;:::i;:::-;;:::i;6736:175::-;6813:4;6834:39;358:10;6857:7;6866:6;6834:8;:39::i;:::-;-1:-1:-1;6895:4:0;6736:175;;;;;:::o;7059:331::-;7159:4;7180:36;7190:6;7198:9;7209:6;7180:9;:36::i;:::-;7231:121;7240:6;358:10;7262:89;7300:6;7262:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7262:19:0;;;;;;:11;:19;;;;;;;;358:10;7262:33;;;;;;;;;;:37;:89::i;:::-;7231:8;:121::i;:::-;-1:-1:-1;7374:4:0;7059:331;;;;;:::o;14877:255::-;14965:14;;;;;-1:-1:-1;;;;;14965:14:0;14951:10;:28;14943:72;;;;-1:-1:-1;;;14943:72:0;;;;;;;:::i;:::-;;;;;;;;;15035:6;15030:91;15051:6;:13;15047:1;:17;15030:91;;;15104:5;15086:4;:15;15091:6;15098:1;15091:9;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;15086:15:0;;;;;;;;;;;-1:-1:-1;15086:15:0;:23;;-1:-1:-1;;15086:23:0;;;;;;;;;;15066:3;;;;:::i;:::-;;;;15030:91;;;;14877:255;:::o;12865:79::-;2831:6;;-1:-1:-1;;;;;2831:6:0;358:10;2831:22;2823:67;;;;-1:-1:-1;;;2823:67:0;;;;;;;:::i;:::-;12919:6:::1;:13:::0;;-1:-1:-1;;;;12919:13:0::1;-1:-1:-1::0;;;12919:13:0::1;::::0;;12865:79::o;13081:110::-;2831:6;;-1:-1:-1;;;;;2831:6:0;358:10;2831:22;2823:67;;;;-1:-1:-1;;;2823:67:0;;;;;;;:::i;:::-;13149:1:::1;13135:11;:15:::0;;;13165:10:::1;:14:::0;13081:110::o;14352:242::-;14420:14;;;;;-1:-1:-1;;;;;14420:14:0;14406:10;:28;14398:72;;;;-1:-1:-1;;;14398:72:0;;;;;;;:::i;:::-;14514:21;14550:32;14514:21;14550:12;:32::i;:::-;14383:211;14352:242::o;11234:414::-;2831:6;;-1:-1:-1;;;;;2831:6:0;358:10;2831:22;2823:67;;;;-1:-1:-1;;;2823:67:0;;;;;;;:::i;:::-;11299:11:::1;::::0;-1:-1:-1;;;11299:11:0;::::1;;;11291:49;;;::::0;-1:-1:-1;;;11291:49:0;;6692:2:1;11291:49:0::1;::::0;::::1;6674:21:1::0;6731:2;6711:18;;;6704:30;6770:28;6750:18;;;6743:56;6816:18;;11291:49:0::1;6490:350:1::0;11291:49:0::1;4540:12;11355;:22:::0;;;11392:9:::1;:19:::0;;;11426:11:::1;:21:::0;;;11467:27:::1;::::0;1500:25:1;;;11467:27:0::1;::::0;1488:2:1;1473:18;11467:27:0::1;;;;;;;11514:29;::::0;4540:12:::1;1500:25:1::0;;11514:29:0::1;::::0;1488:2:1;1473:18;11514:29:0::1;;;;;;;11563:30;::::0;4540:12:::1;1500:25:1::0;;11563:30:0::1;::::0;1488:2:1;1473:18;11563:30:0::1;;;;;;;11608:20;:26:::0;;-1:-1:-1;;11608:26:0::1;::::0;;11234:414::o;13269:258::-;13366:14;;;;;-1:-1:-1;;;;;13366:14:0;13352:10;:28;13344:72;;;;-1:-1:-1;;;13344:72:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13431:25:0;;;;;;:18;:25;;;;;;;;;:33;;-1:-1:-1;;13431:33:0;;;;;;;;;;13484:31;;7013:51:1;;;7080:18;;;7073:50;13484:31:0;;6986:18:1;13484:31:0;;;;;;;13269:258;;:::o;12956:113::-;2831:6;;-1:-1:-1;;;;;2831:6:0;358:10;2831:22;2823:67;;;;-1:-1:-1;;;2823:67:0;;;;;;;:::i;:::-;13025:2:::1;13011:11;:16:::0;13055:2:::1;13042:15:::0;;12956:113::o;6376:181::-;6456:4;6477:42;358:10;6501:9;6512:6;6477:9;:42::i;14097:243::-;14165:14;;;;;-1:-1:-1;;;;;14165:14:0;14151:10;:28;14143:72;;;;-1:-1:-1;;;14143:72:0;;;;;;;:::i;:::-;14274:4;14230:23;6336:16;;;:7;:16;;;;;;14295:33;6336:16;14295;:33::i;11802:935::-;2831:6;;-1:-1:-1;;;;;2831:6:0;358:10;2831:22;2823:67;;;;-1:-1:-1;;;2823:67:0;;;;;;;:::i;:::-;11868:11:::1;::::0;-1:-1:-1;;;11868:11:0;::::1;;;11867:12;11859:47;;;::::0;-1:-1:-1;;;11859:47:0;;7336:2:1;11859:47:0::1;::::0;::::1;7318:21:1::0;7375:2;7355:18;;;7348:30;7414:25;7394:18;;;7387:53;7457:18;;11859:47:0::1;7134:347:1::0;11859:47:0::1;12036:15;:34:::0;;-1:-1:-1;;;;;;12036:34:0::1;::::0;::::1;::::0;;;;11978:42:::1;::::0;12085:58:::1;::::0;12102:4:::1;::::0;-1:-1:-1;;;;;12036:34:0::1;12117:15:::0;;::::1;;4540:12;12085:8;:58::i;:::-;12192:16;-1:-1:-1::0;;;;;12192:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12174:56:0::1;;12239:4;12246:16;-1:-1:-1::0;;;;;12246:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12174:96;::::0;-1:-1:-1;;;;;;12174:96:0::1;::::0;;;;;;-1:-1:-1;;;;;7972:15:1;;;12174:96:0::1;::::0;::::1;7954:34:1::0;8024:15;;8004:18;;;7997:43;7889:18;;12174:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12158:13;:112:::0;;-1:-1:-1;;;;;12158:112:0;;::::1;-1:-1:-1::0;;;;;;12158:112:0;;::::1;;::::0;;12285:15:::1;::::0;12158:112:::1;12285:15:::0;::::1;;:31;12324:21;12355:4;12361:24;12355:4:::0;-1:-1:-1;;;;;6336:16:0;6305:7;6336:16;;;:7;:16;;;;;;;6239:125;12361:24:::1;12386:1;12388::::0;12390:7:::1;2726::::0;2757:6;-1:-1:-1;;;;;2757:6:0;;2688:87;12390:7:::1;12285:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;12285:129:0;;;-1:-1:-1;;;;;8410:15:1;;;12285:129:0::1;::::0;::::1;8392:34:1::0;8442:18;;;8435:34;;;;8485:18;;;8478:34;;;;8528:18;;;8521:34;8592:15;;;8571:19;;;8564:44;12398:15:0::1;8624:19:1::0;;;8617:35;8326:19;;12285:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;12455:4;4540:12;12452:2;12444:10;;;;:::i;:::-;:15;;;;:::i;:::-;12429:12;:30:::0;12497:4:::1;12486:10;4540:12;12494:2;12486:10;:::i;:::-;:15;;;;:::i;:::-;12474:9;:27:::0;12541:4:::1;12530:10;4540:12;12538:2;12530:10;:::i;:::-;:15;;;;:::i;:::-;12516:11;:29:::0;12574:2:::1;12560:11;:16:::0;12604:2:::1;12591:10;:15:::0;12628:13:::1;::::0;12659:15:::1;::::0;12621:71:::1;::::0;-1:-1:-1;;;12621:71:0;;-1:-1:-1;;;;;12628:13:0::1;12659:15:::0;;::::1;::::0;::::1;12621:71;::::0;::::1;9543:51:1::0;-1:-1:-1;;9610:18:1;;;9603:34;12628:13:0;::::1;::::0;12621:29:::1;::::0;9516:18:1;;12621:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;12707:11:0::1;:18:::0;;-1:-1:-1;;;;12707:18:0::1;-1:-1:-1::0;;;12707:18:0::1;::::0;;11802:935::o;14606:259::-;14693:14;;;;;-1:-1:-1;;;;;14693:14:0;14679:10;:28;14671:72;;;;-1:-1:-1;;;14671:72:0;;;;;;;:::i;:::-;14763:6;14758:96;14779:5;:12;14775:1;:16;14758:96;;;14834:4;14817;:14;14822:5;14828:1;14822:8;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;;;;;14817:14:0;;;;;;;;;;;-1:-1:-1;14817:14:0;:21;;-1:-1:-1;;14817:21:0;;;;;;;;;;14793:3;;;;:::i;:::-;;;;14758:96;;2930:168;2831:6;;-1:-1:-1;;;;;2831:6:0;358:10;2831:22;2823:67;;;;-1:-1:-1;;;2823:67:0;;;;;;;:::i;:::-;3037:6:::1;::::0;;3016:38:::1;::::0;-1:-1:-1;;;;;3016:38:0;;::::1;::::0;3037:6;::::1;::::0;3016:38:::1;::::0;::::1;3069:6;:17:::0;;-1:-1:-1;;;;;;3069:17:0::1;-1:-1:-1::0;;;;;3069:17:0;;;::::1;::::0;;;::::1;::::0;;2930:168::o;13588:495::-;13729:14;;;;;-1:-1:-1;;;;;13729:14:0;13715:10;:28;13707:72;;;;-1:-1:-1;;;13707:72:0;;;;;;;:::i;:::-;13826:4;-1:-1:-1;;;;;13802:30:0;;;13794:91;;;;-1:-1:-1;;;13794:91:0;;10100:2:1;13794:91:0;;;10082:21:1;10139:2;10119:18;;;10112:30;10178:34;10158:18;;;10151:62;-1:-1:-1;;;10229:18:1;;;10222:47;10286:19;;13794:91:0;9898:413:1;13794:91:0;13924:30;;-1:-1:-1;;;13924:30:0;;13948:4;13924:30;;;3858:51:1;13901:20:0;;-1:-1:-1;;;;;13924:15:0;;;;;3831:18:1;;13924:30:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13901:53;;13987:12;13977:6;:22;;13969:49;;;;-1:-1:-1;;;13969:49:0;;10707:2:1;13969:49:0;;;10689:21:1;10746:2;10726:18;;;10719:30;-1:-1:-1;;;10765:18:1;;;10758:44;10819:18;;13969:49:0;10505:338:1;13969:49:0;14048:14;;14033:38;;-1:-1:-1;;;14033:38:0;;14048:14;;;;-1:-1:-1;;;;;14048:14:0;;;14033:38;;;9543:51:1;9610:18;;;9603:34;;;14033:14:0;;;;;9516:18:1;;14033:38:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;13650:433;13588:495;;:::o;7402:359::-;-1:-1:-1;;;;;7500:20:0;;7492:69;;;;-1:-1:-1;;;7492:69:0;;11337:2:1;7492:69:0;;;11319:21:1;11376:2;11356:18;;;11349:30;11415:34;11395:18;;;11388:62;-1:-1:-1;;;11466:18:1;;;11459:34;11510:19;;7492:69:0;11135:400:1;7492:69:0;-1:-1:-1;;;;;7584:21:0;;7576:68;;;;-1:-1:-1;;;7576:68:0;;11742:2:1;7576:68:0;;;11724:21:1;11781:2;11761:18;;;11754:30;11820:34;11800:18;;;11793:62;-1:-1:-1;;;11871:18:1;;;11864:32;11913:19;;7576:68:0;11540:398:1;7576:68:0;-1:-1:-1;;;;;7659:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;7716:33;;1500:25:1;;;7716:33:0;;1473:18:1;7716:33:0;;;;;;;7402:359;;;:::o;7773:2412::-;7874:1;7865:6;:10;7857:64;;;;-1:-1:-1;;;7857:64:0;;12145:2:1;7857:64:0;;;12127:21:1;12184:2;12164:18;;;12157:30;12223:34;12203:18;;;12196:62;-1:-1:-1;;;12274:18:1;;;12267:39;12323:19;;7857:64:0;11943:405:1;7857:64:0;7963:6;7944:15;7954:4;-1:-1:-1;;;;;6336:16:0;6305:7;6336:16;;;:7;:16;;;;;;;6239:125;7944:15;:25;;7936:63;;;;-1:-1:-1;;;7936:63:0;;12555:2:1;7936:63:0;;;12537:21:1;12594:2;12574:18;;;12567:30;12633:28;12613:18;;;12606:56;12679:18;;7936:63:0;12353:350:1;7936:63:0;-1:-1:-1;;;;;8057:24:0;;8017:17;8057:24;;;:18;:24;;;;;;;;;:50;;-1:-1:-1;;;;;;8085:22:0;;;;;;:18;:22;;;;;;;;8057:50;8051:2068;;-1:-1:-1;;;;;8141:10:0;;;;;;:4;:10;;;;;;;;8140:11;:24;;;;-1:-1:-1;;;;;;8156:8:0;;;;;;:4;:8;;;;;;;;8155:9;8140:24;8132:33;;;;;;8192:11;;-1:-1:-1;;;8192:11:0;;;;8184:49;;;;-1:-1:-1;;;8184:49:0;;6692:2:1;8184:49:0;;;6674:21:1;6731:2;6711:18;;;6704:30;6770:28;6750:18;;;6743:56;6816:18;;8184:49:0;6490:350:1;8184:49:0;8270:12;;8260:6;:22;;8252:63;;;;-1:-1:-1;;;8252:63:0;;12910:2:1;8252:63:0;;;12892:21:1;12949:2;12929:18;;;12922:30;12988:31;12968:18;;;12961:59;13037:18;;8252:63:0;12708:353:1;8252:63:0;8340:20;;;;8336:526;;;8403:15;;-1:-1:-1;;;;;8389:30:0;;;8403:15;;;;;8389:30;;;;:62;;-1:-1:-1;8437:13:0;;-1:-1:-1;;;;;8423:28:0;;;8437:13;;8423:28;;8389:62;8385:458;;;8547:9;8518:39;;;;:28;:39;;;;;;8593:12;-1:-1:-1;8480:258:0;;;;-1:-1:-1;;;8480:258:0;;13268:2:1;8480:258:0;;;13250:21:1;13307:2;13287:18;;;13280:30;13346:34;13326:18;;;13319:62;13417:34;13397:18;;;13390:62;-1:-1:-1;;;13468:19:1;;;13461:40;13518:19;;8480:258:0;13066:477:1;8480:258:0;8794:9;8765:39;;;;:28;:39;;;;;8807:12;8765:54;;8385:458;8907:13;;-1:-1:-1;;;;;8901:19:0;;;8907:13;;8901:19;8898:137;;8977:9;;8967:6;8951:13;8961:2;-1:-1:-1;;;;;6336:16:0;6305:7;6336:16;;;:7;:16;;;;;;;6239:125;8951:13;:22;;;;:::i;:::-;:35;;8943:72;;;;-1:-1:-1;;;8943:72:0;;13880:2:1;8943:72:0;;;13862:21:1;13919:2;13899:18;;;13892:30;13958:27;13938:18;;;13931:55;14003:18;;8943:72:0;13678:349:1;8943:72:0;9085:21;9128:22;;9125:106;;9176:35;9189:21;9176:12;:35::i;:::-;9280:13;;-1:-1:-1;;;;;9280:13:0;;;9272:21;;;;9269:817;;9329:31;9356:3;9329:22;9340:10;;9329:6;:10;;:22;;;;:::i;:::-;:26;;:31::i;:::-;9317:43;;9269:817;;;9417:13;;-1:-1:-1;;;;;9417:13:0;;;9411:19;;;;9408:678;;9495:32;9523:3;9495:23;9506:11;;9495:6;:10;;:23;;;;:::i;:32::-;9599:4;9550:28;6336:16;;;:7;:16;;;;;;9632:6;;9483:44;;-1:-1:-1;6336:16:0;9632:6;;9628:439;;9669:6;;-1:-1:-1;;;9669:6:0;;;;9666:378;;;9707:67;9724:49;9728:6;9735:37;9739:20;9760:11;;9735:3;:37::i;:::-;9724:3;:49::i;:::-;9707:16;:67::i;:::-;9666:378;;;9889:12;9897:4;4540:12;9889;:::i;:::-;9866:20;:35;9863:154;;;9951:38;9968:20;9951:16;:38::i;:::-;9431:655;9408:678;8111:2008;8051:2068;10133:40;10148:4;10153:2;10156:6;10163:9;10133:14;:40::i;1503:206::-;1589:7;1629:12;1621:6;;;;1613:29;;;;-1:-1:-1;;;1613:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1657:9:0;1669:5;1673:1;1669;:5;:::i;:::-;1657:17;1503:206;-1:-1:-1;;;;;1503:206:0:o;11660:112::-;11721:14;;:31;;:14;;;;-1:-1:-1;;;;;11721:14:0;;:31;;;;;;;;;;;;:14;:31;;;;;;;;;;;;;;;;;;;10681:531;5008:6;:13;;-1:-1:-1;;5008:13:0;5017:4;5008:13;;;10787:16:::1;::::0;;10801:1:::1;10787:16:::0;;;;;::::1;::::0;;-1:-1:-1;;10787:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10787:16:0::1;10763:40;;10836:4;10818;10823:1;10818:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;10818:23:0::1;;;-1:-1:-1::0;;;;;10818:23:0::1;;;::::0;::::1;10866:15;;;;;;;;;-1:-1:-1::0;;;;;10866:15:0::1;-1:-1:-1::0;;;;;10866:20:0::1;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10856:4;10861:1;10856:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10856:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10935:15:::1;::::0;10903:62:::1;::::0;10920:4:::1;::::0;10935:15:::1;::::0;::::1;;10953:11:::0;10903:8:::1;:62::i;:::-;10980:15;::::0;:220:::1;::::0;-1:-1:-1;;;10980:220:0;;:15:::1;::::0;;::::1;-1:-1:-1::0;;;;;10980:15:0::1;::::0;:66:::1;::::0;:220:::1;::::0;11065:11;;11095:1:::1;::::0;11115:4;;11146::::1;::::0;11170:15:::1;::::0;10980:220:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5052:6:0;:14;;-1:-1:-1;;5052:14:0;;;-1:-1:-1;;;;10681:531:0:o;1721:274::-;1779:7;1807:1;1812;1807:6;1803:55;;-1:-1:-1;1841:1:0;1834:8;;1803:55;1872:9;1884:5;1888:1;1884;:5;:::i;:::-;1872:17;-1:-1:-1;1921:1:0;1912:5;1916:1;1872:17;1912:5;:::i;:::-;:10;1904:56;;;;-1:-1:-1;;;1904:56:0;;15352:2:1;1904:56:0;;;15334:21:1;15391:2;15371:18;;;15364:30;15430:34;15410:18;;;15403:62;-1:-1:-1;;;15481:18:1;;;15474:31;15522:19;;1904:56:0;15150:397:1;1904:56:0;1982:1;1721:274;-1:-1:-1;;;1721:274:0:o;2007:140::-;2065:7;2096:39;2100:1;2103;2096:39;;;;;;;;;;;;;;;;;:3;:39::i;12749:104::-;12806:7;12835:1;12833;:3;12832:9;;12840:1;12832:9;;;-1:-1:-1;12838:1:0;12749:104;-1:-1:-1;12749:104:0:o;10197:470::-;10329:23;10355:19;10364:10;10355:6;:19;:::i;:::-;-1:-1:-1;;;;;10408:15:0;;;;;;:7;:15;;;;;;10329:45;;-1:-1:-1;10408:27:0;;10428:6;10408:19;:27::i;:::-;-1:-1:-1;;;;;10390:15:0;;;;;;;:7;:15;;;;;;:45;;;;10472:18;;;;;;;:39;;10495:15;10472:22;:39::i;:::-;-1:-1:-1;;;;;10451:18:0;;;;;;:7;:18;;;;;;:60;;;;10568:4;10552:22;;;;:38;;10579:10;10552:26;:38::i;:::-;10543:4;10527:22;;;;:7;:22;;;;;;;;;:63;;;;10611:44;1500:25:1;;;-1:-1:-1;;;;;10611:44:0;;;;;;;;;;1473:18:1;10611:44:0;;;;;;;10300:367;10197:470;;;;:::o;2159:205::-;2245:7;2284:12;2277:5;2269:28;;;;-1:-1:-1;;;2269:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2312:9:0;2324:5;2328:1;2324;:5;:::i;1347:144::-;1405:7;1436:43;1440:1;1443;1436:43;;;;;;;;;;;;;;;;;:3;:43::i;1140:195::-;1198:7;;1234:5;1238:1;1234;:5;:::i;:::-;1222:17;;1267:1;1262;:6;;1254:46;;;;-1:-1:-1;;;1254:46:0;;15754:2:1;1254:46:0;;;15736:21:1;15793:2;15773:18;;;15766:30;15832:29;15812:18;;;15805:57;15879:18;;1254:46:0;15552:351:1;14:548;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;703:134;771:20;;800:31;771:20;800:31;:::i;:::-;703:134;;;:::o;842:315::-;910:6;918;971:2;959:9;950:7;946:23;942:32;939:52;;;987:1;984;977:12;939:52;1026:9;1013:23;1045:31;1070:5;1045:31;:::i;:::-;1095:5;1147:2;1132:18;;;;1119:32;;-1:-1:-1;;;842:315:1:o;1536:456::-;1613:6;1621;1629;1682:2;1670:9;1661:7;1657:23;1653:32;1650:52;;;1698:1;1695;1688:12;1650:52;1737:9;1724:23;1756:31;1781:5;1756:31;:::i;:::-;1806:5;-1:-1:-1;1863:2:1;1848:18;;1835:32;1876:33;1835:32;1876:33;:::i;:::-;1536:456;;1928:7;;-1:-1:-1;;;1982:2:1;1967:18;;;;1954:32;;1536:456::o;2186:127::-;2247:10;2242:3;2238:20;2235:1;2228:31;2278:4;2275:1;2268:15;2302:4;2299:1;2292:15;2318:1121;2402:6;2433:2;2476;2464:9;2455:7;2451:23;2447:32;2444:52;;;2492:1;2489;2482:12;2444:52;2532:9;2519:23;2561:18;2602:2;2594:6;2591:14;2588:34;;;2618:1;2615;2608:12;2588:34;2656:6;2645:9;2641:22;2631:32;;2701:7;2694:4;2690:2;2686:13;2682:27;2672:55;;2723:1;2720;2713:12;2672:55;2759:2;2746:16;2781:2;2777;2774:10;2771:36;;;2787:18;;:::i;:::-;2833:2;2830:1;2826:10;2865:2;2859:9;2928:2;2924:7;2919:2;2915;2911:11;2907:25;2899:6;2895:38;2983:6;2971:10;2968:22;2963:2;2951:10;2948:18;2945:46;2942:72;;;2994:18;;:::i;:::-;3030:2;3023:22;3080:18;;;3114:15;;;;-1:-1:-1;3156:11:1;;;3152:20;;;3184:19;;;3181:39;;;3216:1;3213;3206:12;3181:39;3240:11;;;;3260:148;3276:6;3271:3;3268:15;3260:148;;;3342:23;3361:3;3342:23;:::i;:::-;3330:36;;3293:12;;;;3386;;;;3260:148;;;3427:6;2318:1121;-1:-1:-1;;;;;;;;2318:1121:1:o;3444:247::-;3503:6;3556:2;3544:9;3535:7;3531:23;3527:32;3524:52;;;3572:1;3569;3562:12;3524:52;3611:9;3598:23;3630:31;3655:5;3630:31;:::i;3920:118::-;4006:5;3999:13;3992:21;3985:5;3982:32;3972:60;;4028:1;4025;4018:12;4043:382;4108:6;4116;4169:2;4157:9;4148:7;4144:23;4140:32;4137:52;;;4185:1;4182;4175:12;4137:52;4224:9;4211:23;4243:31;4268:5;4243:31;:::i;:::-;4293:5;-1:-1:-1;4350:2:1;4335:18;;4322:32;4363:30;4322:32;4363:30;:::i;:::-;4412:7;4402:17;;;4043:382;;;;;:::o;4638:388::-;4706:6;4714;4767:2;4755:9;4746:7;4742:23;4738:32;4735:52;;;4783:1;4780;4773:12;4735:52;4822:9;4809:23;4841:31;4866:5;4841:31;:::i;:::-;4891:5;-1:-1:-1;4948:2:1;4933:18;;4920:32;4961:33;4920:32;4961:33;:::i;5364:356::-;5566:2;5548:21;;;5585:18;;;5578:30;5644:34;5639:2;5624:18;;5617:62;5711:2;5696:18;;5364:356::o;5725:127::-;5786:10;5781:3;5777:20;5774:1;5767:31;5817:4;5814:1;5807:15;5841:4;5838:1;5831:15;5857:127;5918:10;5913:3;5909:20;5906:1;5899:31;5949:4;5946:1;5939:15;5973:4;5970:1;5963:15;5989:135;6028:3;6049:17;;;6046:43;;6069:18;;:::i;:::-;-1:-1:-1;6116:1:1;6105:13;;5989:135::o;6129:356::-;6331:2;6313:21;;;6350:18;;;6343:30;6409:34;6404:2;6389:18;;6382:62;6476:2;6461:18;;6129:356::o;7486:251::-;7556:6;7609:2;7597:9;7588:7;7584:23;7580:32;7577:52;;;7625:1;7622;7615:12;7577:52;7657:9;7651:16;7676:31;7701:5;7676:31;:::i;8663:306::-;8751:6;8759;8767;8820:2;8808:9;8799:7;8795:23;8791:32;8788:52;;;8836:1;8833;8826:12;8788:52;8865:9;8859:16;8849:26;;8915:2;8904:9;8900:18;8894:25;8884:35;;8959:2;8948:9;8944:18;8938:25;8928:35;;8663:306;;;;;:::o;8974:168::-;9047:9;;;9078;;9095:15;;;9089:22;;9075:37;9065:71;;9116:18;;:::i;9147:217::-;9187:1;9213;9203:132;;9257:10;9252:3;9248:20;9245:1;9238:31;9292:4;9289:1;9282:15;9320:4;9317:1;9310:15;9203:132;-1:-1:-1;9349:9:1;;9147:217::o;9648:245::-;9715:6;9768:2;9756:9;9747:7;9743:23;9739:32;9736:52;;;9784:1;9781;9774:12;9736:52;9816:9;9810:16;9835:28;9857:5;9835:28;:::i;10316:184::-;10386:6;10439:2;10427:9;10418:7;10414:23;10410:32;10407:52;;;10455:1;10452;10445:12;10407:52;-1:-1:-1;10478:16:1;;10316:184;-1:-1:-1;10316:184:1:o;13548:125::-;13613:9;;;13634:10;;;13631:36;;;13647:18;;:::i;14032:128::-;14099:9;;;14120:11;;;14117:37;;;14134:18;;:::i;14165:980::-;14427:4;14475:3;14464:9;14460:19;14506:6;14495:9;14488:25;14532:2;14570:6;14565:2;14554:9;14550:18;14543:34;14613:3;14608:2;14597:9;14593:18;14586:31;14637:6;14672;14666:13;14703:6;14695;14688:22;14741:3;14730:9;14726:19;14719:26;;14780:2;14772:6;14768:15;14754:29;;14801:1;14811:195;14825:6;14822:1;14819:13;14811:195;;;14890:13;;-1:-1:-1;;;;;14886:39:1;14874:52;;14981:15;;;;14946:12;;;;14922:1;14840:9;14811:195;;;-1:-1:-1;;;;;;;15062:32:1;;;;15057:2;15042:18;;15035:60;-1:-1:-1;;;15126:3:1;15111:19;15104:35;15023:3;14165:980;-1:-1:-1;;;14165:980:1:o

Swarm Source

ipfs://2e690984b5da7233b95befb2082dae92bd25ff3253b5fef35f0e4d46d869d334

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.