MON Price: $0.02047 (+2.31%)

Contract

0xAcb9d41C2be3Bc24005c9d1a07c03350E62F97CB

Overview

MON Balance

Monad Chain LogoMonad Chain LogoMonad Chain Logo0 MON

MON Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve376947992025-11-24 13:24:4466 days ago1763990684IN
0xAcb9d41C...0E62F97CB
0 MON0.0239853300
Approve376809462025-11-24 11:52:1666 days ago1763985136IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve376522212025-11-24 8:40:2466 days ago1763973624IN
0xAcb9d41C...0E62F97CB
0 MON0.00657839112.2
Approve376247402025-11-24 5:36:5566 days ago1763962615IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve376247182025-11-24 5:36:4666 days ago1763962606IN
0xAcb9d41C...0E62F97CB
0 MON0.00657839112.2
Approve376129872025-11-24 4:18:2767 days ago1763957907IN
0xAcb9d41C...0E62F97CB
0 MON0.00657839112.2
Approve376116092025-11-24 4:09:1567 days ago1763957355IN
0xAcb9d41C...0E62F97CB
0 MON0.00986754112.2
Approve376095112025-11-24 3:55:1367 days ago1763956513IN
0xAcb9d41C...0E62F97CB
0 MON0.00657839112.2
Approve375989562025-11-24 2:44:4967 days ago1763952289IN
0xAcb9d41C...0E62F97CB
0 MON0.00986754112.2
Approve375961182025-11-24 2:25:5167 days ago1763951151IN
0xAcb9d41C...0E62F97CB
0 MON0.00814264102.4
Approve375841842025-11-24 1:05:4167 days ago1763946341IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve375825782025-11-24 0:54:5567 days ago1763945695IN
0xAcb9d41C...0E62F97CB
0 MON0.00657839112.2
Approve375797232025-11-24 0:35:5067 days ago1763944550IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve375791132025-11-24 0:31:4567 days ago1763944305IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve375714742025-11-23 23:40:4567 days ago1763941245IN
0xAcb9d41C...0E62F97CB
0 MON0.0087947100.0001
Approve375554042025-11-23 21:53:2267 days ago1763934802IN
0xAcb9d41C...0E62F97CB
0 MON0.00916569114.64
Approve375540922025-11-23 21:44:3867 days ago1763934278IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve375523952025-11-23 21:33:1867 days ago1763933598IN
0xAcb9d41C...0E62F97CB
0 MON0.00986754112.2
Transfer375516512025-11-23 21:28:2067 days ago1763933300IN
0xAcb9d41C...0E62F97CB
0 MON0.08042219102.4
Transfer375514352025-11-23 21:26:5467 days ago1763933214IN
0xAcb9d41C...0E62F97CB
0 MON0.15890135102.4
Approve375512872025-11-23 21:25:5467 days ago1763933154IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve375508602025-11-23 21:23:0467 days ago1763932984IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
Approve375506502025-11-23 21:21:3967 days ago1763932899IN
0xAcb9d41C...0E62F97CB
0 MON0.00657839112.2
Approve375505482025-11-23 21:20:5967 days ago1763932859IN
0xAcb9d41C...0E62F97CB
0 MON0.00506347102.4
Approve375505412025-11-23 21:20:5667 days ago1763932856IN
0xAcb9d41C...0E62F97CB
0 MON0.00818708102.4
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
376840702025-11-24 12:13:0766 days ago1763986387
0xAcb9d41C...0E62F97CB
0 MON
376840702025-11-24 12:13:0766 days ago1763986387
0xAcb9d41C...0E62F97CB
0 MON
376840702025-11-24 12:13:0766 days ago1763986387
0xAcb9d41C...0E62F97CB
0 MON
376840702025-11-24 12:13:0766 days ago1763986387
0xAcb9d41C...0E62F97CB
0 MON
376840702025-11-24 12:13:0766 days ago1763986387
0xAcb9d41C...0E62F97CB
0 MON
376840702025-11-24 12:13:0766 days ago1763986387
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376837712025-11-24 12:11:0766 days ago1763986267
0xAcb9d41C...0E62F97CB
0 MON
376809592025-11-24 11:52:2166 days ago1763985141
0xAcb9d41C...0E62F97CB
0 MON
376809592025-11-24 11:52:2166 days ago1763985141
0xAcb9d41C...0E62F97CB
0 MON
376809592025-11-24 11:52:2166 days ago1763985141
0xAcb9d41C...0E62F97CB
0 MON
376809592025-11-24 11:52:2166 days ago1763985141
0xAcb9d41C...0E62F97CB
0 MON
376809592025-11-24 11:52:2166 days ago1763985141
0xAcb9d41C...0E62F97CB
0 MON
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Molandak

Compiler Version
v0.8.6+commit.11564f7e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at monadscan.com on 2025-11-23
*/

// SPDX-License-Identifier: MIT
//TG:https://t.me/molandak_monad
//X:https://x.com/molandak_Mascot
pragma solidity ^0.8.6;

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

interface IUniswapV2Router02 {
    function factory() external view returns (address);
    function WETH() external view returns (address);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint256 amountIn,uint256 amountOutMin,address[] calldata path,address to,uint256 deadline
    ) external;
}

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

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

abstract contract Ownable is Context {
    address private _owner;
    event OwnershipTransferred(address indexed previousOwner,address indexed newOwner);
    constructor(){_transferOwnership(_msgSender());}
    function owner() public view returns (address) {return _owner;}
    modifier onlyOwner(){require(owner()==_msgSender(),"not owner");_;}

    function transferOwnership(address newOwner) public onlyOwner {
        require(newOwner!=address(0),"zero address");
        _transferOwnership(newOwner);
    }

    function _transferOwnership(address newOwner) internal {
        address oldOwner=_owner;
        _owner=newOwner;
        emit OwnershipTransferred(oldOwner,newOwner);
    }
}

library SafeMath {
    function add(uint256 a,uint256 b) internal pure returns(uint256){return a+b;}
    function sub(uint256 a,uint256 b) internal pure returns(uint256){return a-b;}
    function mul(uint256 a,uint256 b) internal pure returns(uint256){return a*b;}
    function div(uint256 a,uint256 b) internal pure returns(uint256){return a/b;}
}

library Address {
    function isContract(address account) internal view returns (bool) {
        uint256 size; assembly { size := extcodesize(account) } return size>0;
    }
}

contract ERC20 is Context, IERC20 {
    using SafeMath for uint256;

    string public name;
    string public symbol;
    uint8 public constant decimals = 18;
    uint256 internal _totalSupply;

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

    constructor(string memory n,string memory s){name=n;symbol=s;}

    function totalSupply() public view override returns(uint256){return _totalSupply;}
    function balanceOf(address account) public view override returns(uint256){return _balances[account];}
    function transfer(address to,uint256 amount) public override returns(bool){_transfer(_msgSender(),to,amount);return true;}
    function allowance(address owner,address spender) public view override returns(uint256){return _allowances[owner][spender];}
    function approve(address spender,uint256 amount) public override returns(bool){_approve(_msgSender(),spender,amount);return true;}
    function transferFrom(address from,address to,uint256 amount) public override returns(bool){
        uint256 currentAllowance=_allowances[from][_msgSender()];
        require(currentAllowance>=amount,"ERC20: exceeds allowance");
        _transfer(from,to,amount);
        _approve(from,_msgSender(),currentAllowance-amount);
        return true;
    }

    function _mint(address account,uint256 amount) internal virtual {
        _totalSupply=_totalSupply.add(amount);
        _balances[account]=_balances[account].add(amount);
        emit Transfer(address(0),account,amount);
    }

    function _transfer(address from,address to,uint256 amount) internal virtual {
        require(from!=address(0)&&to!=address(0),"zero addr");
        uint256 fromBal=_balances[from];
        require(fromBal>=amount,"insufficient");
        _balances[from]=fromBal-amount;
        _balances[to]=_balances[to].add(amount);
        emit Transfer(from,to,amount);
    }

    function _approve(address owner,address spender,uint256 amount) internal {
        _allowances[owner][spender]=amount;
        emit Approval(owner,spender,amount);
    }
}

library SafeMathUint {
    function toInt256Safe(uint256 a) internal pure returns (int256 b) {
        b = int256(a); require(b >= 0);
    }
}
library SafeMathInt {
    function toUint256Safe(int256 a) internal pure returns (uint256) {
        require(a >= 0); return uint256(a);
    }
}

interface DividendPayingTokenInterface {
    function distributeDividends(uint256 amount) external;
    function withdrawDividend() external;
}

contract DividendPayingToken is ERC20, Ownable, DividendPayingTokenInterface {
    using SafeMath for uint256;
    using SafeMathUint for uint256;
    using SafeMathInt for int256;

    address public rewardToken;
    uint256 internal constant magnitude = 2**128;
    uint256 internal magnifiedDividendPerShare;
    mapping(address => int256) internal magnifiedDividendCorrections;
    mapping(address => uint256) internal withdrawnDividends;

    uint256 public totalDividendsDistributed;

    constructor(address _rewardToken) ERC20("DIV_TRACKER","DIVT") {
        rewardToken = _rewardToken;
    }

    function distributeDividends(uint256 amount) external override onlyOwner {
        require(totalSupply() > 0,"no supply");
        magnifiedDividendPerShare = magnifiedDividendPerShare.add((amount * magnitude) / totalSupply());
        totalDividendsDistributed = totalDividendsDistributed.add(amount);
    }

    function withdrawDividend() external override {
        uint256 _withdrawableDividend = withdrawableDividendOf(msg.sender);
        if (_withdrawableDividend > 0) {
            withdrawnDividends[msg.sender] = withdrawnDividends[msg.sender].add(_withdrawableDividend);
            IERC20(rewardToken).transfer(msg.sender, _withdrawableDividend);
        }
    }

    function withdrawableDividendOf(address _owner) public view returns (uint256) {
        return accumulativeDividendOf(_owner).sub(withdrawnDividends[_owner]);
    }

    function accumulativeDividendOf(address _owner) public view returns (uint256) {
    return (int256(magnifiedDividendPerShare * balanceOf(_owner)) + magnifiedDividendCorrections[_owner]).toUint256Safe() / magnitude;
    }

    function _transfer(address, address, uint256) internal pure override {
        require(false, "non-transferable");
    }

    function _mint(address account, uint256 value) internal override {
        super._mint(account, value);
        magnifiedDividendCorrections[account] -= int256(magnifiedDividendPerShare * value);
    }

    function _setBalance(address account, uint256 newBalance) internal {
        uint256 currentBalance = balanceOf(account);
        if (newBalance > currentBalance) {
            _mint(account, newBalance - currentBalance);
        } else {
            uint256 burnAmount = currentBalance - newBalance;
            _balances[account] -= burnAmount;
            _totalSupply -= burnAmount;
        }
    }
}

contract BABYTOKENDividendTracker is DividendPayingToken {
    using SafeMath for uint256;

    mapping(address => bool) public excludedFromDividends;
    mapping(address => uint256) public lastClaimTimes;
    address[] private tokenHolders;
    uint256 public claimWait = 3600;
    uint256 public minimumTokenBalanceForDividends = 100 * 10**18;

    constructor(address rewardToken_) DividendPayingToken(rewardToken_) {}

    function excludeFromDividends(address account) external onlyOwner {
        excludedFromDividends[account] = true;
    }

    mapping(address => bool) private isInHolders;

    function setBalance(address payable account, uint256 newBalance) external onlyOwner {
        if (excludedFromDividends[account]) return;  

        _setBalance(account, newBalance); 

        if (newBalance > 0 && !isInHolders[account]) {
            tokenHolders.push(account);  
            isInHolders[account] = true; 
        }
    }

    function process(uint256 gas) public {
        uint256 gasUsed = 0;
        uint256 gasLeft = gasleft();
        uint256 iterations = 0;
        while (gasUsed < gas && iterations < tokenHolders.length) {
            address account = tokenHolders[iterations];
            if (withdrawableDividendOf(account) > 0) {
                withdrawDividendForUser(payable(account));
            }
            iterations++;
            uint256 newGasLeft = gasleft();
            if (gasLeft > newGasLeft) gasUsed = gasUsed.add(gasLeft.sub(newGasLeft));
            gasLeft = newGasLeft;
        }
    }

    function withdrawDividendForUser(address payable user) internal {
        uint256 amount = withdrawableDividendOf(user);
        if (amount > 0) {
            withdrawnDividends[user] = withdrawnDividends[user].add(amount);
            IERC20(rewardToken).transfer(user, amount);
            lastClaimTimes[user] = block.timestamp;
        }
    }
}

contract Molandak is ERC20, Ownable {
    using SafeMath for uint256;
    using Address for address;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapV2Pair;
    BABYTOKENDividendTracker public dividendTracker;
    uint256 public _startTimeForSwap;

    address public constant _rewardToken = 0x754704Bc059F8C67012fEd69BC8A327a5aafb603; 

    uint256 public _swapTokensAtAmount;
    uint256 public constant _buyTokenRewardsFee = 500;  
    uint256 public constant _sellTokenRewardsFee = 500; 
    uint256 public gasForProcessing = 300000;

    mapping(address => bool) public automatedMarketMakerPairs;
    mapping(address => bool) public _isExcludedFromFees;

    event SwapAndSendDividends(uint256 tokensSwapped, uint256 amount);

    constructor() ERC20("Mascot of Monad", "Molandak") {
        uint256 totalSupply = 1000000000 * 10**18; 
        _mint(msg.sender, totalSupply); 
        _swapTokensAtAmount = totalSupply / 10000; // 0.01%
    }

    function initialize(address router) external onlyOwner {
        require(address(uniswapV2Router) == address(0), "already inited");

        uniswapV2Router = IUniswapV2Router02(router);
        address pair = IUniswapV2Factory(uniswapV2Router.factory()).createPair(address(this), _rewardToken);
        uniswapV2Pair = pair;
        automatedMarketMakerPairs[pair] = true;

        dividendTracker = new BABYTOKENDividendTracker(_rewardToken);
        dividendTracker.excludeFromDividends(address(this));
        dividendTracker.excludeFromDividends(owner());
        dividendTracker.excludeFromDividends(address(pair));
        dividendTracker.excludeFromDividends(address(uniswapV2Router));
    }

    function _transfer(address from, address to, uint256 amount) internal override {
        require(from != address(0) && to != address(0), "zero address");

        if (_startTimeForSwap == 0 && msg.sender == address(uniswapV2Router)) {
            _startTimeForSwap = block.timestamp;
        }

        uint256 contractTokenBalance = balanceOf(address(this));
        bool canSwap = contractTokenBalance >= _swapTokensAtAmount;

        if (
            canSwap &&
            from != uniswapV2Pair &&
            from != address(this) &&
            _startTimeForSwap > 0
        ) {
            swapAndSendDividends(contractTokenBalance);
        }

        uint256 fees = 0;

        if (!_isExcludedFromFees[from] && !_isExcludedFromFees[to]) {
            if (automatedMarketMakerPairs[to]) {
                fees = amount.mul(_sellTokenRewardsFee).div(10000);
            } else if (automatedMarketMakerPairs[from]) {
                fees = amount.mul(_buyTokenRewardsFee).div(10000);
            }
        }

        if (fees > 0) {
            super._transfer(from, address(this), fees);
            amount = amount.sub(fees);
        }

        super._transfer(from, to, amount);

        try dividendTracker.setBalance(payable(from), balanceOf(from)) {} catch {}
        try dividendTracker.setBalance(payable(to), balanceOf(to)) {} catch {}

        if (from != address(this)) {
            try dividendTracker.process(gasForProcessing) {} catch {}
        }
    }

    function swapAndSendDividends(uint256 tokens) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _rewardToken;

        _approve(address(this), address(uniswapV2Router), tokens);

        uniswapV2Router.swapExactTokensForTokensSupportingFeeOnTransferTokens(
            tokens,
            0,
            path,
            address(dividendTracker),
            block.timestamp
        );

        uint256 dividends = IERC20(_rewardToken).balanceOf(address(dividendTracker));
        dividendTracker.distributeDividends(dividends);
        emit SwapAndSendDividends(tokens, dividends);
    }

    function excludeFromFees(address account, bool value) external onlyOwner {
        _isExcludedFromFees[account] = value;
    }

    function setGasForProcessing(uint256 gas) external onlyOwner {
        require(gas >= 200000 && gas <= 500000, "invalid");
        gasForProcessing = gas;
    }

    function setSwapTokensAtAmount(uint256 amount) external onlyOwner {
        _swapTokensAtAmount = amount;
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SwapAndSendDividends","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":"_buyTokenRewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_rewardToken","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellTokenRewardsFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_startTimeForSwap","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_swapTokensAtAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"automatedMarketMakerPairs","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"view","type":"function"},{"inputs":[],"name":"dividendTracker","outputs":[{"internalType":"contract BABYTOKENDividendTracker","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"gasForProcessing","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"router","type":"address"}],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"gas","type":"uint256"}],"name":"setGasForProcessing","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"}]

6080604052620493e0600b553480156200001857600080fd5b50604080518082018252600f81526e13585cd8dbdd081bd988135bdb9859608a1b6020808301918252835180850190945260088452674d6f6c616e64616b60c01b9084015281519192916200007091600091620001ee565b50805162000086906001906020840190620001ee565b505050620000a36200009d620000d460201b60201c565b620000d8565b6b033b2e3c9fd0803ce8000000620000bc33826200012a565b620000ca61271082620002bb565b600a55506200031b565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6200014681600254620001d960201b62000b251790919060201c565b6002556001600160a01b0382166000908152600360209081526040909120546200017b91839062000b25620001d9821b17901c565b6001600160a01b0383166000818152600360205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620001cd9085815260200190565b60405180910390a35050565b6000620001e7828462000294565b9392505050565b828054620001fc90620002de565b90600052602060002090601f0160209004810192826200022057600085556200026b565b82601f106200023b57805160ff19168380011785556200026b565b828001600101855582156200026b579182015b828111156200026b5782518255916020019190600101906200024e565b50620002799291506200027d565b5090565b5b808211156200027957600081556001016200027e565b60008219821115620002b657634e487b7160e01b600052601160045260246000fd5b500190565b600082620002d957634e487b7160e01b600052601260045260246000fd5b500490565b600181811c90821680620002f357607f821691505b602082108114156200031557634e487b7160e01b600052602260045260246000fd5b50919050565b612920806200032b6000396000f3fe60806040523480156200001157600080fd5b5060043610620001af5760003560e01c80638da5cb5b11620000f0578063b62496f511620000a3578063dd62ed3e116200007a578063dd62ed3e14620003c0578063df646269146200023e578063e0bf7fd114620003fc578063f2fde38b146200042257600080fd5b8063b62496f5146200036c578063c02466681462000392578063c4d66de814620003a957600080fd5b80638da5cb5b14620002fc57806395d89b41146200030e5780639c1b8af51462000318578063a9059cbb1462000322578063afa4f3b21462000339578063b59c6e0e146200035057600080fd5b80632c1f5216116200016657806349bd5a5e116200013d57806349bd5a5e14620002995780635960e46d14620002ad578063690c22ca14620002c657806370a0823114620002d057600080fd5b80632c1f5216146200025f5780632fd689e31462000273578063313ce567146200027d57600080fd5b806306fdde0314620001b4578063095ea7b314620001d65780631694505e14620001fe57806318160ddd146200022b5780631890d414146200023e57806323b872dd1462000248575b600080fd5b620001be62000439565b604051620001cd9190620014ac565b60405180910390f35b620001ed620001e736600462001449565b620004cf565b6040519015158152602001620001cd565b60065462000212906001600160a01b031681565b6040516001600160a01b039091168152602001620001cd565b6002545b604051908152602001620001cd565b6200022f6101f481565b620001ed62000259366004620013cc565b620004e7565b60085462000212906001600160a01b031681565b6200022f600a5481565b62000286601281565b60405160ff9091168152602001620001cd565b60075462000212906001600160a01b031681565b620002c4620002be36600462001478565b62000591565b005b6200022f60095481565b6200022f620002e13660046200134e565b6001600160a01b031660009081526003602052604090205490565b6005546001600160a01b031662000212565b620001be62000612565b6200022f600b5481565b620001ed6200033336600462001449565b62000621565b620002c46200034a36600462001478565b62000630565b6200021273754704bc059f8c67012fed69bc8a327a5aafb60381565b620001ed6200037d3660046200134e565b600c6020526000908152604090205460ff1681565b620002c4620003a336600462001412565b62000662565b620002c4620003ba3660046200134e565b620006ba565b6200022f620003d13660046200138e565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b620001ed6200040d3660046200134e565b600d6020526000908152604090205460ff1681565b620002c4620004333660046200134e565b62000aa3565b60008054620004489062001614565b80601f0160208091040260200160405190810160405280929190818152602001828054620004769062001614565b8015620004c75780601f106200049b57610100808354040283529160200191620004c7565b820191906000526020600020905b815481529060010190602001808311620004a957829003601f168201915b505050505081565b6000620004de33848462000b3a565b50600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205482811015620005615760405162461bcd60e51b815260206004820152601860248201527f45524332303a206578636565647320616c6c6f77616e6365000000000000000060448201526064015b60405180910390fd5b6200056e85858562000b9b565b620005868533620005808685620015fa565b62000b3a565b506001949350505050565b6005546001600160a01b03163314620005be5760405162461bcd60e51b8152600401620005589062001504565b62030d408110158015620005d557506207a1208111155b6200060d5760405162461bcd60e51b81526020600482015260076024820152661a5b9d985b1a5960ca1b604482015260640162000558565b600b55565b60018054620004489062001614565b6000620004de33848462000b9b565b6005546001600160a01b031633146200065d5760405162461bcd60e51b8152600401620005589062001504565b600a55565b6005546001600160a01b031633146200068f5760405162461bcd60e51b8152600401620005589062001504565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314620006e75760405162461bcd60e51b8152600401620005589062001504565b6006546001600160a01b031615620007335760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b604482015260640162000558565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a0155916004808301926020929190829003018186803b1580156200078b57600080fd5b505afa158015620007a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007c691906200136e565b6040516364e329cb60e11b815230600482015273754704bc059f8c67012fed69bc8a327a5aafb60360248201526001600160a01b03919091169063c9c6539690604401602060405180830381600087803b1580156200082457600080fd5b505af115801562000839573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200085f91906200136e565b600780546001600160a01b0319166001600160a01b0383169081179091556000908152600c602052604090819020805460ff191660011790555190915073754704bc059f8c67012fed69bc8a327a5aafb60390620008bd9062001340565b6001600160a01b039091168152602001604051809103906000f080158015620008ea573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216918217905560405163031e79db60e41b81523060048201526331e79db090602401600060405180830381600087803b1580156200094157600080fd5b505af115801562000956573d6000803e3d6000fd5b50506008546001600160a01b031691506331e79db09050620009806005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620009c257600080fd5b505af1158015620009d7573d6000803e3d6000fd5b505060085460405163031e79db60e41b81526001600160a01b03858116600483015290911692506331e79db09150602401600060405180830381600087803b15801562000a2357600080fd5b505af115801562000a38573d6000803e3d6000fd5b505060085460065460405163031e79db60e41b81526001600160a01b039182166004820152911692506331e79db09150602401600060405180830381600087803b15801562000a8657600080fd5b505af115801562000a9b573d6000803e3d6000fd5b505050505050565b6005546001600160a01b0316331462000ad05760405162461bcd60e51b8152600401620005589062001504565b6001600160a01b03811662000b175760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000558565b62000b228162000f1b565b50565b600062000b3382846200159a565b9392505050565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383161580159062000bbc57506001600160a01b03821615155b62000bf95760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000558565b60095415801562000c1457506006546001600160a01b031633145b1562000c1f57426009555b30600090815260036020526040902054600a548110801590819062000c5257506007546001600160a01b03868116911614155b801562000c6857506001600160a01b0385163014155b801562000c7757506000600954115b1562000c885762000c888262000f6d565b6001600160a01b0385166000908152600d602052604081205460ff1615801562000ccb57506001600160a01b0385166000908152600d602052604090205460ff16155b1562000d51576001600160a01b0385166000908152600c602052604090205460ff161562000d175762000d0f61271062000d08866101f4620011c1565b90620011cf565b905062000d51565b6001600160a01b0386166000908152600c602052604090205460ff161562000d515762000d4e61271062000d08866101f4620011c1565b90505b801562000d745762000d65863083620011dd565b62000d71848262001332565b93505b62000d81868686620011dd565b6008546001600160a01b031663e30443bc8762000db3816001600160a01b031660009081526003602052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000dfa57600080fd5b505af192505050801562000e0c575060015b506008546001600160a01b031663e30443bc8662000e3f816001600160a01b031660009081526003602052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e8657600080fd5b505af192505050801562000e98575060015b506001600160a01b038616301462000a9b57600854600b546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c4799162000ee39160040190815260200190565b600060405180830381600087803b15801562000efe57600080fd5b505af192505050801562000f10575060015b62000a9b5762000a9b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811062000fa55762000fa562001667565b60200260200101906001600160a01b031690816001600160a01b03168152505073754704bc059f8c67012fed69bc8a327a5aafb6038160018151811062000ff05762000ff062001667565b6001600160a01b03928316602091820292909201015260065462001018913091168462000b3a565b600654600854604051635c11d79560e01b81526001600160a01b0392831692635c11d79592620010579287926000928892911690429060040162001527565b600060405180830381600087803b1580156200107257600080fd5b505af115801562001087573d6000803e3d6000fd5b50506008546040516370a0823160e01b81526001600160a01b0390911660048201526000925073754704bc059f8c67012fed69bc8a327a5aafb60391506370a082319060240160206040518083038186803b158015620010e657600080fd5b505afa158015620010fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001121919062001492565b600854604051633243c79160e01b8152600481018390529192506001600160a01b031690633243c79190602401600060405180830381600087803b1580156200116957600080fd5b505af11580156200117e573d6000803e3d6000fd5b505060408051868152602081018590527f9a09f18f542774e34ce9654d958f46dae6e04103273bca804fa692f08557ec40935001905060405180910390a1505050565b600062000b338284620015d8565b600062000b338284620015b5565b6001600160a01b03831615801590620011fe57506001600160a01b03821615155b620012385760405162461bcd60e51b81526020600482015260096024820152683d32b9379030b2323960b91b604482015260640162000558565b6001600160a01b03831660009081526003602052604090205481811015620012925760405162461bcd60e51b815260206004820152600c60248201526b1a5b9cdd59999a58da595b9d60a21b604482015260640162000558565b6200129e8282620015fa565b6001600160a01b038086166000908152600360205260408082209390935590851681522054620012cf908362000b25565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620013249086815260200190565b60405180910390a350505050565b600062000b338284620015fa565b611257806200169483390190565b6000602082840312156200136157600080fd5b813562000b33816200167d565b6000602082840312156200138157600080fd5b815162000b33816200167d565b60008060408385031215620013a257600080fd5b8235620013af816200167d565b91506020830135620013c1816200167d565b809150509250929050565b600080600060608486031215620013e257600080fd5b8335620013ef816200167d565b9250602084013562001401816200167d565b929592945050506040919091013590565b600080604083850312156200142657600080fd5b823562001433816200167d565b915060208301358015158114620013c157600080fd5b600080604083850312156200145d57600080fd5b82356200146a816200167d565b946020939093013593505050565b6000602082840312156200148b57600080fd5b5035919050565b600060208284031215620014a557600080fd5b5051919050565b600060208083528351808285015260005b81811015620014db57858101830151858201604001528201620014bd565b81811115620014ee576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015620015795784516001600160a01b03168352938301939183019160010162001552565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115620015b057620015b062001651565b500190565b600082620015d357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615620015f557620015f562001651565b500290565b6000828210156200160f576200160f62001651565b500390565b600181811c908216806200162957607f821691505b602082108114156200164b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811462000b2257600080fdfe6080604052610e10600e5568056bc75e2d63100000600f553480156200002457600080fd5b5060405162001257380380620012578339810160408190526200004791620001ed565b604080518082018252600b81526a2224ab2faa2920a1a5a2a960a91b6020808301918252835180850190945260048452631112559560e21b90840152815184939162000097916000919062000147565b508051620000ad90600190602084019062000147565b505050620000ca620000c4620000f160201b60201c565b620000f5565b600680546001600160a01b0319166001600160a01b0392909216919091179055506200025c565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805462000155906200021f565b90600052602060002090601f016020900481019282620001795760008555620001c4565b82601f106200019457805160ff1916838001178555620001c4565b82800160010185558215620001c4579182015b82811115620001c4578251825591602001919060010190620001a7565b50620001d2929150620001d6565b5090565b5b80821115620001d25760008155600101620001d7565b6000602082840312156200020057600080fd5b81516001600160a01b03811681146200021857600080fd5b9392505050565b600181811c908216806200023457607f821691505b602082108114156200025657634e487b7160e01b600052602260045260246000fd5b50919050565b610feb806200026c6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063be10b6141161007c578063be10b614146102f1578063dd62ed3e146102fa578063e30443bc14610333578063f2fde38b14610346578063f7c618c114610359578063ffb2c4791461036c57600080fd5b806370a082311461026c57806385a6b3ae146102955780638da5cb5b1461029e57806395d89b41146102c3578063a8b9d240146102cb578063a9059cbb146102de57600080fd5b8063313ce56711610115578063313ce567146101f657806331e79db0146102105780633243c791146102255780634e7b827f146102385780636a4740021461025b5780636f2789ec1461026357600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e578063226cfa3d146101b057806323b872dd146101d057806327ce0147146101e3575b600080fd5b61016561037f565b6040516101729190610db6565b60405180910390f35b61018e610189366004610cd5565b61040d565b6040519015158152602001610172565b6002545b604051908152602001610172565b6101a26101be366004610cb8565b600c6020526000908152604090205481565b61018e6101de366004610d3a565b610423565b6101a26101f1366004610cb8565b6104c6565b6101fe601281565b60405160ff9091168152602001610172565b61022361021e366004610cb8565b610520565b005b610223610233366004610d9d565b61056e565b61018e610246366004610cb8565b600b6020526000908152604090205460ff1681565b61022361061f565b6101a2600e5481565b6101a261027a366004610cb8565b6001600160a01b031660009081526003602052604090205490565b6101a2600a5481565b6005546001600160a01b03165b6040516001600160a01b039091168152602001610172565b6101656106eb565b6101a26102d9366004610cb8565b6106f8565b61018e6102ec366004610cd5565b610724565b6101a2600f5481565b6101a2610308366004610d01565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610223610341366004610cd5565b610731565b610223610354366004610cb8565b610821565b6006546102ab906001600160a01b031681565b61022361037a366004610d9d565b610899565b6000805461038c90610f1e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b890610f1e565b80156104055780601f106103da57610100808354040283529160200191610405565b820191906000526020600020905b8154815290600101906020018083116103e857829003601f168201915b505050505081565b600061041a33848461093a565b50600192915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120548281101561049c5760405162461bcd60e51b815260206004820152601860248201527f45524332303a206578636565647320616c6c6f77616e6365000000000000000060448201526064015b60405180910390fd5b6104a785858561099b565b6104bb85336104b68685610f07565b61093a565b506001949350505050565b6001600160a01b0381166000908152600860209081526040808320546003909252822054600160801b91610510916007546105019190610ea9565b61050b9190610e2e565b6109d6565b61051a9190610e87565b92915050565b6005546001600160a01b0316331461054a5760405162461bcd60e51b815260040161049390610e0b565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6005546001600160a01b031633146105985760405162461bcd60e51b815260040161049390610e0b565b60006105a360025490565b116105dc5760405162461bcd60e51b81526020600482015260096024820152686e6f20737570706c7960b81b6044820152606401610493565b6106096105e860025490565b6105f6600160801b84610ea9565b6106009190610e87565b600754906109e9565b600755600a5461061990826109e9565b600a5550565b600061062a336106f8565b905080156106e8573360009081526009602052604090205461064c90826109e9565b336000818152600960205260409081902092909255600654915163a9059cbb60e01b81526004810191909152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b1580156106ae57600080fd5b505af11580156106c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e69190610d7b565b505b50565b6001805461038c90610f1e565b6001600160a01b03811660009081526009602052604081205461051a9061071e846104c6565b906109fc565b600061041a33848461099b565b6005546001600160a01b0316331461075b5760405162461bcd60e51b815260040161049390610e0b565b6001600160a01b0382166000908152600b602052604090205460ff1615610781576106e6565b61078b8282610a08565b6000811180156107b457506001600160a01b03821660009081526010602052604090205460ff16155b156106e657600d805460018181019092557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0385166001600160a01b031990911681179091556000908152601060205260409020805460ff191690911790555050565b6005546001600160a01b0316331461084b5760405162461bcd60e51b815260040161049390610e0b565b6001600160a01b0381166108905760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b6044820152606401610493565b6106e881610a9e565b6000805a905060005b83831080156108b25750600d5481105b15610934576000600d82815481106108cc576108cc610f8a565b60009182526020822001546001600160a01b031691506108eb826106f8565b11156108fa576108fa81610af0565b8161090481610f59565b92505060005a90508084111561092b5761092861092185836109fc565b86906109e9565b94505b92506108a29050565b50505050565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60405162461bcd60e51b815260206004820152601060248201526f6e6f6e2d7472616e7366657261626c6560801b6044820152606401610493565b6000808212156109e557600080fd5b5090565b60006109f58284610e6f565b9392505050565b60006109f58284610f07565b6001600160a01b03821660009081526003602052604090205480821115610a4157610a3c83610a378385610f07565b610bdf565b505050565b6000610a4d8383610f07565b6001600160a01b038516600090815260036020526040812080549293508392909190610a7a908490610f07565b925050819055508060026000828254610a939190610f07565b909155505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610afb826106f8565b905080156106e6576001600160a01b038216600090815260096020526040902054610b2690826109e9565b6001600160a01b038381166000818152600960205260409081902093909355600654925163a9059cbb60e01b815260048101919091526024810184905291169063a9059cbb90604401602060405180830381600087803b158015610b8957600080fd5b505af1158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc19190610d7b565b50506001600160a01b03166000908152600c60205260409020429055565b610be98282610c28565b80600754610bf79190610ea9565b6001600160a01b03831660009081526008602052604081208054909190610c1f908490610ec8565b90915550505050565b600254610c3590826109e9565b6002556001600160a01b038216600090815260036020526040902054610c5b90826109e9565b6001600160a01b0383166000818152600360205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cac9085815260200190565b60405180910390a35050565b600060208284031215610cca57600080fd5b81356109f581610fa0565b60008060408385031215610ce857600080fd5b8235610cf381610fa0565b946020939093013593505050565b60008060408385031215610d1457600080fd5b8235610d1f81610fa0565b91506020830135610d2f81610fa0565b809150509250929050565b600080600060608486031215610d4f57600080fd5b8335610d5a81610fa0565b92506020840135610d6a81610fa0565b929592945050506040919091013590565b600060208284031215610d8d57600080fd5b815180151581146109f557600080fd5b600060208284031215610daf57600080fd5b5035919050565b600060208083528351808285015260005b81811015610de357858101830151858201604001528201610dc7565b81811115610df5576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600080821280156001600160ff1b0384900385131615610e5057610e50610f74565b600160ff1b8390038412811615610e6957610e69610f74565b50500190565b60008219821115610e8257610e82610f74565b500190565b600082610ea457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610ec357610ec3610f74565b500290565b60008083128015600160ff1b850184121615610ee657610ee6610f74565b6001600160ff1b0384018313811615610f0157610f01610f74565b50500390565b600082821015610f1957610f19610f74565b500390565b600181811c90821680610f3257607f821691505b60208210811415610f5357634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610f6d57610f6d610f74565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146106e857600080fdfea264697066735822122097950d0883f9357706786b8e3fc12d6641a2d10ceec50c90c891ca2bb1c4debe64736f6c63430008060033a2646970667358221220dc16f16e1cafb71c7cc6db999533b0ae19378f53ca0e7ccbbdcfc95997aab4f164736f6c63430008060033

Deployed Bytecode

0x60806040523480156200001157600080fd5b5060043610620001af5760003560e01c80638da5cb5b11620000f0578063b62496f511620000a3578063dd62ed3e116200007a578063dd62ed3e14620003c0578063df646269146200023e578063e0bf7fd114620003fc578063f2fde38b146200042257600080fd5b8063b62496f5146200036c578063c02466681462000392578063c4d66de814620003a957600080fd5b80638da5cb5b14620002fc57806395d89b41146200030e5780639c1b8af51462000318578063a9059cbb1462000322578063afa4f3b21462000339578063b59c6e0e146200035057600080fd5b80632c1f5216116200016657806349bd5a5e116200013d57806349bd5a5e14620002995780635960e46d14620002ad578063690c22ca14620002c657806370a0823114620002d057600080fd5b80632c1f5216146200025f5780632fd689e31462000273578063313ce567146200027d57600080fd5b806306fdde0314620001b4578063095ea7b314620001d65780631694505e14620001fe57806318160ddd146200022b5780631890d414146200023e57806323b872dd1462000248575b600080fd5b620001be62000439565b604051620001cd9190620014ac565b60405180910390f35b620001ed620001e736600462001449565b620004cf565b6040519015158152602001620001cd565b60065462000212906001600160a01b031681565b6040516001600160a01b039091168152602001620001cd565b6002545b604051908152602001620001cd565b6200022f6101f481565b620001ed62000259366004620013cc565b620004e7565b60085462000212906001600160a01b031681565b6200022f600a5481565b62000286601281565b60405160ff9091168152602001620001cd565b60075462000212906001600160a01b031681565b620002c4620002be36600462001478565b62000591565b005b6200022f60095481565b6200022f620002e13660046200134e565b6001600160a01b031660009081526003602052604090205490565b6005546001600160a01b031662000212565b620001be62000612565b6200022f600b5481565b620001ed6200033336600462001449565b62000621565b620002c46200034a36600462001478565b62000630565b6200021273754704bc059f8c67012fed69bc8a327a5aafb60381565b620001ed6200037d3660046200134e565b600c6020526000908152604090205460ff1681565b620002c4620003a336600462001412565b62000662565b620002c4620003ba3660046200134e565b620006ba565b6200022f620003d13660046200138e565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b620001ed6200040d3660046200134e565b600d6020526000908152604090205460ff1681565b620002c4620004333660046200134e565b62000aa3565b60008054620004489062001614565b80601f0160208091040260200160405190810160405280929190818152602001828054620004769062001614565b8015620004c75780601f106200049b57610100808354040283529160200191620004c7565b820191906000526020600020905b815481529060010190602001808311620004a957829003601f168201915b505050505081565b6000620004de33848462000b3a565b50600192915050565b6001600160a01b038316600090815260046020908152604080832033845290915281205482811015620005615760405162461bcd60e51b815260206004820152601860248201527f45524332303a206578636565647320616c6c6f77616e6365000000000000000060448201526064015b60405180910390fd5b6200056e85858562000b9b565b620005868533620005808685620015fa565b62000b3a565b506001949350505050565b6005546001600160a01b03163314620005be5760405162461bcd60e51b8152600401620005589062001504565b62030d408110158015620005d557506207a1208111155b6200060d5760405162461bcd60e51b81526020600482015260076024820152661a5b9d985b1a5960ca1b604482015260640162000558565b600b55565b60018054620004489062001614565b6000620004de33848462000b9b565b6005546001600160a01b031633146200065d5760405162461bcd60e51b8152600401620005589062001504565b600a55565b6005546001600160a01b031633146200068f5760405162461bcd60e51b8152600401620005589062001504565b6001600160a01b03919091166000908152600d60205260409020805460ff1916911515919091179055565b6005546001600160a01b03163314620006e75760405162461bcd60e51b8152600401620005589062001504565b6006546001600160a01b031615620007335760405162461bcd60e51b815260206004820152600e60248201526d185b1c9958591e481a5b9a5d195960921b604482015260640162000558565b600680546001600160a01b0319166001600160a01b0383169081179091556040805163c45a015560e01b815290516000929163c45a0155916004808301926020929190829003018186803b1580156200078b57600080fd5b505afa158015620007a0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620007c691906200136e565b6040516364e329cb60e11b815230600482015273754704bc059f8c67012fed69bc8a327a5aafb60360248201526001600160a01b03919091169063c9c6539690604401602060405180830381600087803b1580156200082457600080fd5b505af115801562000839573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200085f91906200136e565b600780546001600160a01b0319166001600160a01b0383169081179091556000908152600c602052604090819020805460ff191660011790555190915073754704bc059f8c67012fed69bc8a327a5aafb60390620008bd9062001340565b6001600160a01b039091168152602001604051809103906000f080158015620008ea573d6000803e3d6000fd5b50600880546001600160a01b0319166001600160a01b0392909216918217905560405163031e79db60e41b81523060048201526331e79db090602401600060405180830381600087803b1580156200094157600080fd5b505af115801562000956573d6000803e3d6000fd5b50506008546001600160a01b031691506331e79db09050620009806005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b158015620009c257600080fd5b505af1158015620009d7573d6000803e3d6000fd5b505060085460405163031e79db60e41b81526001600160a01b03858116600483015290911692506331e79db09150602401600060405180830381600087803b15801562000a2357600080fd5b505af115801562000a38573d6000803e3d6000fd5b505060085460065460405163031e79db60e41b81526001600160a01b039182166004820152911692506331e79db09150602401600060405180830381600087803b15801562000a8657600080fd5b505af115801562000a9b573d6000803e3d6000fd5b505050505050565b6005546001600160a01b0316331462000ad05760405162461bcd60e51b8152600401620005589062001504565b6001600160a01b03811662000b175760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000558565b62000b228162000f1b565b50565b600062000b3382846200159a565b9392505050565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0383161580159062000bbc57506001600160a01b03821615155b62000bf95760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b604482015260640162000558565b60095415801562000c1457506006546001600160a01b031633145b1562000c1f57426009555b30600090815260036020526040902054600a548110801590819062000c5257506007546001600160a01b03868116911614155b801562000c6857506001600160a01b0385163014155b801562000c7757506000600954115b1562000c885762000c888262000f6d565b6001600160a01b0385166000908152600d602052604081205460ff1615801562000ccb57506001600160a01b0385166000908152600d602052604090205460ff16155b1562000d51576001600160a01b0385166000908152600c602052604090205460ff161562000d175762000d0f61271062000d08866101f4620011c1565b90620011cf565b905062000d51565b6001600160a01b0386166000908152600c602052604090205460ff161562000d515762000d4e61271062000d08866101f4620011c1565b90505b801562000d745762000d65863083620011dd565b62000d71848262001332565b93505b62000d81868686620011dd565b6008546001600160a01b031663e30443bc8762000db3816001600160a01b031660009081526003602052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000dfa57600080fd5b505af192505050801562000e0c575060015b506008546001600160a01b031663e30443bc8662000e3f816001600160a01b031660009081526003602052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801562000e8657600080fd5b505af192505050801562000e98575060015b506001600160a01b038616301462000a9b57600854600b546040516001624d3b8760e01b031981526001600160a01b039092169163ffb2c4799162000ee39160040190815260200190565b600060405180830381600087803b15801562000efe57600080fd5b505af192505050801562000f10575060015b62000a9b5762000a9b565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b604080516002808252606082018352600092602083019080368337019050509050308160008151811062000fa55762000fa562001667565b60200260200101906001600160a01b031690816001600160a01b03168152505073754704bc059f8c67012fed69bc8a327a5aafb6038160018151811062000ff05762000ff062001667565b6001600160a01b03928316602091820292909201015260065462001018913091168462000b3a565b600654600854604051635c11d79560e01b81526001600160a01b0392831692635c11d79592620010579287926000928892911690429060040162001527565b600060405180830381600087803b1580156200107257600080fd5b505af115801562001087573d6000803e3d6000fd5b50506008546040516370a0823160e01b81526001600160a01b0390911660048201526000925073754704bc059f8c67012fed69bc8a327a5aafb60391506370a082319060240160206040518083038186803b158015620010e657600080fd5b505afa158015620010fb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062001121919062001492565b600854604051633243c79160e01b8152600481018390529192506001600160a01b031690633243c79190602401600060405180830381600087803b1580156200116957600080fd5b505af11580156200117e573d6000803e3d6000fd5b505060408051868152602081018590527f9a09f18f542774e34ce9654d958f46dae6e04103273bca804fa692f08557ec40935001905060405180910390a1505050565b600062000b338284620015d8565b600062000b338284620015b5565b6001600160a01b03831615801590620011fe57506001600160a01b03821615155b620012385760405162461bcd60e51b81526020600482015260096024820152683d32b9379030b2323960b91b604482015260640162000558565b6001600160a01b03831660009081526003602052604090205481811015620012925760405162461bcd60e51b815260206004820152600c60248201526b1a5b9cdd59999a58da595b9d60a21b604482015260640162000558565b6200129e8282620015fa565b6001600160a01b038086166000908152600360205260408082209390935590851681522054620012cf908362000b25565b6001600160a01b0380851660008181526003602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90620013249086815260200190565b60405180910390a350505050565b600062000b338284620015fa565b611257806200169483390190565b6000602082840312156200136157600080fd5b813562000b33816200167d565b6000602082840312156200138157600080fd5b815162000b33816200167d565b60008060408385031215620013a257600080fd5b8235620013af816200167d565b91506020830135620013c1816200167d565b809150509250929050565b600080600060608486031215620013e257600080fd5b8335620013ef816200167d565b9250602084013562001401816200167d565b929592945050506040919091013590565b600080604083850312156200142657600080fd5b823562001433816200167d565b915060208301358015158114620013c157600080fd5b600080604083850312156200145d57600080fd5b82356200146a816200167d565b946020939093013593505050565b6000602082840312156200148b57600080fd5b5035919050565b600060208284031215620014a557600080fd5b5051919050565b600060208083528351808285015260005b81811015620014db57858101830151858201604001528201620014bd565b81811115620014ee576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015620015795784516001600160a01b03168352938301939183019160010162001552565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115620015b057620015b062001651565b500190565b600082620015d357634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615620015f557620015f562001651565b500290565b6000828210156200160f576200160f62001651565b500390565b600181811c908216806200162957607f821691505b602082108114156200164b57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811462000b2257600080fdfe6080604052610e10600e5568056bc75e2d63100000600f553480156200002457600080fd5b5060405162001257380380620012578339810160408190526200004791620001ed565b604080518082018252600b81526a2224ab2faa2920a1a5a2a960a91b6020808301918252835180850190945260048452631112559560e21b90840152815184939162000097916000919062000147565b508051620000ad90600190602084019062000147565b505050620000ca620000c4620000f160201b60201c565b620000f5565b600680546001600160a01b0319166001600160a01b0392909216919091179055506200025c565b3390565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b82805462000155906200021f565b90600052602060002090601f016020900481019282620001795760008555620001c4565b82601f106200019457805160ff1916838001178555620001c4565b82800160010185558215620001c4579182015b82811115620001c4578251825591602001919060010190620001a7565b50620001d2929150620001d6565b5090565b5b80821115620001d25760008155600101620001d7565b6000602082840312156200020057600080fd5b81516001600160a01b03811681146200021857600080fd5b9392505050565b600181811c908216806200023457607f821691505b602082108114156200025657634e487b7160e01b600052602260045260246000fd5b50919050565b610feb806200026c6000396000f3fe608060405234801561001057600080fd5b50600436106101585760003560e01c806370a08231116100c3578063be10b6141161007c578063be10b614146102f1578063dd62ed3e146102fa578063e30443bc14610333578063f2fde38b14610346578063f7c618c114610359578063ffb2c4791461036c57600080fd5b806370a082311461026c57806385a6b3ae146102955780638da5cb5b1461029e57806395d89b41146102c3578063a8b9d240146102cb578063a9059cbb146102de57600080fd5b8063313ce56711610115578063313ce567146101f657806331e79db0146102105780633243c791146102255780634e7b827f146102385780636a4740021461025b5780636f2789ec1461026357600080fd5b806306fdde031461015d578063095ea7b31461017b57806318160ddd1461019e578063226cfa3d146101b057806323b872dd146101d057806327ce0147146101e3575b600080fd5b61016561037f565b6040516101729190610db6565b60405180910390f35b61018e610189366004610cd5565b61040d565b6040519015158152602001610172565b6002545b604051908152602001610172565b6101a26101be366004610cb8565b600c6020526000908152604090205481565b61018e6101de366004610d3a565b610423565b6101a26101f1366004610cb8565b6104c6565b6101fe601281565b60405160ff9091168152602001610172565b61022361021e366004610cb8565b610520565b005b610223610233366004610d9d565b61056e565b61018e610246366004610cb8565b600b6020526000908152604090205460ff1681565b61022361061f565b6101a2600e5481565b6101a261027a366004610cb8565b6001600160a01b031660009081526003602052604090205490565b6101a2600a5481565b6005546001600160a01b03165b6040516001600160a01b039091168152602001610172565b6101656106eb565b6101a26102d9366004610cb8565b6106f8565b61018e6102ec366004610cd5565b610724565b6101a2600f5481565b6101a2610308366004610d01565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b610223610341366004610cd5565b610731565b610223610354366004610cb8565b610821565b6006546102ab906001600160a01b031681565b61022361037a366004610d9d565b610899565b6000805461038c90610f1e565b80601f01602080910402602001604051908101604052809291908181526020018280546103b890610f1e565b80156104055780601f106103da57610100808354040283529160200191610405565b820191906000526020600020905b8154815290600101906020018083116103e857829003601f168201915b505050505081565b600061041a33848461093a565b50600192915050565b6001600160a01b03831660009081526004602090815260408083203384529091528120548281101561049c5760405162461bcd60e51b815260206004820152601860248201527f45524332303a206578636565647320616c6c6f77616e6365000000000000000060448201526064015b60405180910390fd5b6104a785858561099b565b6104bb85336104b68685610f07565b61093a565b506001949350505050565b6001600160a01b0381166000908152600860209081526040808320546003909252822054600160801b91610510916007546105019190610ea9565b61050b9190610e2e565b6109d6565b61051a9190610e87565b92915050565b6005546001600160a01b0316331461054a5760405162461bcd60e51b815260040161049390610e0b565b6001600160a01b03166000908152600b60205260409020805460ff19166001179055565b6005546001600160a01b031633146105985760405162461bcd60e51b815260040161049390610e0b565b60006105a360025490565b116105dc5760405162461bcd60e51b81526020600482015260096024820152686e6f20737570706c7960b81b6044820152606401610493565b6106096105e860025490565b6105f6600160801b84610ea9565b6106009190610e87565b600754906109e9565b600755600a5461061990826109e9565b600a5550565b600061062a336106f8565b905080156106e8573360009081526009602052604090205461064c90826109e9565b336000818152600960205260409081902092909255600654915163a9059cbb60e01b81526004810191909152602481018390526001600160a01b039091169063a9059cbb90604401602060405180830381600087803b1580156106ae57600080fd5b505af11580156106c2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106e69190610d7b565b505b50565b6001805461038c90610f1e565b6001600160a01b03811660009081526009602052604081205461051a9061071e846104c6565b906109fc565b600061041a33848461099b565b6005546001600160a01b0316331461075b5760405162461bcd60e51b815260040161049390610e0b565b6001600160a01b0382166000908152600b602052604090205460ff1615610781576106e6565b61078b8282610a08565b6000811180156107b457506001600160a01b03821660009081526010602052604090205460ff16155b156106e657600d805460018181019092557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0385166001600160a01b031990911681179091556000908152601060205260409020805460ff191690911790555050565b6005546001600160a01b0316331461084b5760405162461bcd60e51b815260040161049390610e0b565b6001600160a01b0381166108905760405162461bcd60e51b815260206004820152600c60248201526b7a65726f206164647265737360a01b6044820152606401610493565b6106e881610a9e565b6000805a905060005b83831080156108b25750600d5481105b15610934576000600d82815481106108cc576108cc610f8a565b60009182526020822001546001600160a01b031691506108eb826106f8565b11156108fa576108fa81610af0565b8161090481610f59565b92505060005a90508084111561092b5761092861092185836109fc565b86906109e9565b94505b92506108a29050565b50505050565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60405162461bcd60e51b815260206004820152601060248201526f6e6f6e2d7472616e7366657261626c6560801b6044820152606401610493565b6000808212156109e557600080fd5b5090565b60006109f58284610e6f565b9392505050565b60006109f58284610f07565b6001600160a01b03821660009081526003602052604090205480821115610a4157610a3c83610a378385610f07565b610bdf565b505050565b6000610a4d8383610f07565b6001600160a01b038516600090815260036020526040812080549293508392909190610a7a908490610f07565b925050819055508060026000828254610a939190610f07565b909155505050505050565b600580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6000610afb826106f8565b905080156106e6576001600160a01b038216600090815260096020526040902054610b2690826109e9565b6001600160a01b038381166000818152600960205260409081902093909355600654925163a9059cbb60e01b815260048101919091526024810184905291169063a9059cbb90604401602060405180830381600087803b158015610b8957600080fd5b505af1158015610b9d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bc19190610d7b565b50506001600160a01b03166000908152600c60205260409020429055565b610be98282610c28565b80600754610bf79190610ea9565b6001600160a01b03831660009081526008602052604081208054909190610c1f908490610ec8565b90915550505050565b600254610c3590826109e9565b6002556001600160a01b038216600090815260036020526040902054610c5b90826109e9565b6001600160a01b0383166000818152600360205260408082209390935591519091907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610cac9085815260200190565b60405180910390a35050565b600060208284031215610cca57600080fd5b81356109f581610fa0565b60008060408385031215610ce857600080fd5b8235610cf381610fa0565b946020939093013593505050565b60008060408385031215610d1457600080fd5b8235610d1f81610fa0565b91506020830135610d2f81610fa0565b809150509250929050565b600080600060608486031215610d4f57600080fd5b8335610d5a81610fa0565b92506020840135610d6a81610fa0565b929592945050506040919091013590565b600060208284031215610d8d57600080fd5b815180151581146109f557600080fd5b600060208284031215610daf57600080fd5b5035919050565b600060208083528351808285015260005b81811015610de357858101830151858201604001528201610dc7565b81811115610df5576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252600990820152683737ba1037bbb732b960b91b604082015260600190565b600080821280156001600160ff1b0384900385131615610e5057610e50610f74565b600160ff1b8390038412811615610e6957610e69610f74565b50500190565b60008219821115610e8257610e82610f74565b500190565b600082610ea457634e487b7160e01b600052601260045260246000fd5b500490565b6000816000190483118215151615610ec357610ec3610f74565b500290565b60008083128015600160ff1b850184121615610ee657610ee6610f74565b6001600160ff1b0384018313811615610f0157610f01610f74565b50500390565b600082821015610f1957610f19610f74565b500390565b600181811c90821680610f3257607f821691505b60208210811415610f5357634e487b7160e01b600052602260045260246000fd5b50919050565b6000600019821415610f6d57610f6d610f74565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b03811681146106e857600080fdfea264697066735822122097950d0883f9357706786b8e3fc12d6641a2d10ceec50c90c891ca2bb1c4debe64736f6c63430008060033a2646970667358221220dc16f16e1cafb71c7cc6db999533b0ae19378f53ca0e7ccbbdcfc95997aab4f164736f6c63430008060033

Deployed Bytecode Sourcemap

9692:4351:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2730:18;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3508:130;;;;;;:::i;:::-;;:::i;:::-;;;3468:14:1;;3461:22;3443:41;;3431:2;3416:18;3508:130:0;3398:92:1;9802:41:0;;;;;-1:-1:-1;;;;;9802:41:0;;;;;;-1:-1:-1;;;;;2655:32:1;;;2637:51;;2625:2;2610:18;9802:41:0;2592:102:1;3055:82:0;3123:12;;3055:82;;;7104:25:1;;;7092:2;7077:18;3055:82:0;7059:76:1;10170:50:0;;10217:3;10170:50;;3644:357;;;;;;:::i;:::-;;:::i;9885:47::-;;;;;-1:-1:-1;;;;;9885:47:0;;;10071:34;;;;;;2782:35;;2815:2;2782:35;;;;;8550:4:1;8538:17;;;8520:36;;8508:2;8493:18;2782:35:0;8475:87:1;9850:28:0;;;;;-1:-1:-1;;;;;9850:28:0;;;13756:163;;;;;;:::i;:::-;;:::i;:::-;;9939:32;;;;;;3143:101;;;;;;:::i;:::-;-1:-1:-1;;;;;3224:18:0;3208:7;3224:18;;;:9;:18;;;;;;;3143:101;1612:63;1667:6;;-1:-1:-1;;;;;1667:6:0;1612:63;;2755:20;;;:::i;10228:40::-;;;;;;3250:122;;;;;;:::i;:::-;;:::i;13927:113::-;;;;;;:::i;:::-;;:::i;9980:81::-;;10019:42;9980:81;;10277:57;;;;;;:::i;:::-;;;;;;;;;;;;;;;;13620:128;;;;;;:::i;:::-;;:::i;10698:712::-;;;;;;:::i;:::-;;:::i;3378:124::-;;;;;;:::i;:::-;-1:-1:-1;;;;;3473:18:0;;;3457:7;3473:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;3378:124;10341:51;;;;;;:::i;:::-;;;;;;;;;;;;;;;;1756:164;;;;;;:::i;:::-;;:::i;2730:18::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3508:130::-;3581:4;3587:37;1371:10;3609:7;3617:6;3587:8;:37::i;:::-;-1:-1:-1;3632:4:0;3508:130;;;;:::o;3644:357::-;-1:-1:-1;;;;;3771:17:0;;3730:4;3771:17;;;:11;:17;;;;;;;;1371:10;3771:31;;;;;;;;3821:24;;;;3813:60;;;;-1:-1:-1;;;3813:60:0;;5114:2:1;3813:60:0;;;5096:21:1;5153:2;5133:18;;;5126:30;5192:26;5172:18;;;5165:54;5236:18;;3813:60:0;;;;;;;;;3884:25;3894:4;3899:2;3902:6;3884:9;:25::i;:::-;3920:51;3929:4;1371:10;3947:23;3964:6;3947:16;:23;:::i;:::-;3920:8;:51::i;:::-;-1:-1:-1;3989:4:0;;3644:357;-1:-1:-1;;;;3644:357:0:o;13756:163::-;1667:6;;-1:-1:-1;;;;;1667:6:0;1371:10;1710:21;1702:42;;;;-1:-1:-1;;;1702:42:0;;;;;;;:::i;:::-;13843:6:::1;13836:3;:13;;:30;;;;;13860:6;13853:3;:13;;13836:30;13828:50;;;::::0;-1:-1:-1;;;13828:50:0;;6825:2:1;13828:50:0::1;::::0;::::1;6807:21:1::0;6864:1;6844:18;;;6837:29;-1:-1:-1;;;6882:18:1;;;6875:37;6929:18;;13828:50:0::1;6797:156:1::0;13828:50:0::1;13889:16;:22:::0;13756:163::o;2755:20::-;;;;;;;:::i;3250:122::-;3319:4;3325:33;1371:10;3348:2;3351:6;3325:9;:33::i;13927:113::-;1667:6;;-1:-1:-1;;;;;1667:6:0;1371:10;1710:21;1702:42;;;;-1:-1:-1;;;1702:42:0;;;;;;;:::i;:::-;14004:19:::1;:28:::0;13927:113::o;13620:128::-;1667:6;;-1:-1:-1;;;;;1667:6:0;1371:10;1710:21;1702:42;;;;-1:-1:-1;;;1702:42:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13704:28:0;;;::::1;;::::0;;;:19:::1;:28;::::0;;;;:36;;-1:-1:-1;;13704:36:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13620:128::o;10698:712::-;1667:6;;-1:-1:-1;;;;;1667:6:0;1371:10;1710:21;1702:42;;;;-1:-1:-1;;;1702:42:0;;;;;;;:::i;:::-;10780:15:::1;::::0;-1:-1:-1;;;;;10780:15:0::1;10772:38:::0;10764:65:::1;;;::::0;-1:-1:-1;;;10764:65:0;;6145:2:1;10764:65:0::1;::::0;::::1;6127:21:1::0;6184:2;6164:18;;;6157:30;-1:-1:-1;;;6203:18:1;;;6196:44;6257:18;;10764:65:0::1;6117:164:1::0;10764:65:0::1;10842:15;:44:::0;;-1:-1:-1;;;;;;10842:44:0::1;-1:-1:-1::0;;;;;10842:44:0;::::1;::::0;;::::1;::::0;;;10930:25:::1;::::0;;-1:-1:-1;;;10930:25:0;;;;-1:-1:-1;;10842:44:0;10930:23:::1;::::0;:25:::1;::::0;;::::1;::::0;::::1;::::0;;;;;;;;10842:44;10930:25;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10912:84;::::0;-1:-1:-1;;;10912:84:0;;10976:4:::1;10912:84;::::0;::::1;3206:34:1::0;10019:42:0::1;3256:18:1::0;;;3249:43;-1:-1:-1;;;;;10912:55:0;;;::::1;::::0;::::1;::::0;3141:18:1;;10912:84:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11007:13;:20:::0;;-1:-1:-1;;;;;;11007:20:0::1;-1:-1:-1::0;;;;;11007:20:0;::::1;::::0;;::::1;::::0;;;-1:-1:-1;11038:31:0;;;:25:::1;:31;::::0;;;;;;:38;;-1:-1:-1;;11038:38:0::1;-1:-1:-1::0;11038:38:0::1;::::0;;11107:42;11007:20;;-1:-1:-1;10019:42:0::1;::::0;11107::::1;::::0;::::1;:::i;:::-;-1:-1:-1::0;;;;;2655:32:1;;;2637:51;;2625:2;2610:18;11107:42:0::1;;;;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;11089:15:0::1;:60:::0;;-1:-1:-1;;;;;;11089:60:0::1;-1:-1:-1::0;;;;;11089:60:0;;;::::1;::::0;;::::1;::::0;;11160:51:::1;::::0;-1:-1:-1;;;11160:51:0;;11205:4:::1;11160:51;::::0;::::1;2637::1::0;11160:36:0::1;::::0;2610:18:1;;11160:51:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11222:15:0::1;::::0;-1:-1:-1;;;;;11222:15:0::1;::::0;-1:-1:-1;11222:36:0::1;::::0;-1:-1:-1;11259:7:0::1;1667:6:::0;;-1:-1:-1;;;;;1667:6:0;;1612:63;11259:7:::1;11222:45;::::0;-1:-1:-1;;;;;;11222:45:0::1;::::0;;;;;;-1:-1:-1;;;;;2655:32:1;;;11222:45:0::1;::::0;::::1;2637:51:1::0;2610:18;;11222:45:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11278:15:0::1;::::0;:51:::1;::::0;-1:-1:-1;;;11278:51:0;;-1:-1:-1;;;;;2655:32:1;;;11278:51:0::1;::::0;::::1;2637::1::0;11278:15:0;;::::1;::::0;-1:-1:-1;11278:36:0::1;::::0;-1:-1:-1;2610:18:1;;11278:51:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;11340:15:0::1;::::0;11385::::1;::::0;11340:62:::1;::::0;-1:-1:-1;;;11340:62:0;;-1:-1:-1;;;;;11385:15:0;;::::1;11340:62;::::0;::::1;2637:51:1::0;11340:15:0;::::1;::::0;-1:-1:-1;11340:36:0::1;::::0;-1:-1:-1;2610:18:1;;11340:62:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10753:657;10698:712:::0;:::o;1756:164::-;1667:6;;-1:-1:-1;;;;;1667:6:0;1371:10;1710:21;1702:42;;;;-1:-1:-1;;;1702:42:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1837:20:0;::::1;1829:44;;;::::0;-1:-1:-1;;;1829:44:0;;5804:2:1;1829:44:0::1;::::0;::::1;5786:21:1::0;5843:2;5823:18;;;5816:30;-1:-1:-1;;;5862:18:1;;;5855:42;5914:18;;1829:44:0::1;5776:162:1::0;1829:44:0::1;1884:28;1903:8;1884:18;:28::i;:::-;1756:164:::0;:::o;2137:77::-;2193:7;2209:3;2211:1;2209;:3;:::i;:::-;2202:10;2137:77;-1:-1:-1;;;2137:77:0:o;4627:172::-;-1:-1:-1;;;;;4711:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:34;;;4761:30;;7104:25:1;;;4761:30:0;;7077:18:1;4761:30:0;;;;;;;4627:172;;;:::o;11418:1517::-;-1:-1:-1;;;;;11516:18:0;;;;;;:38;;-1:-1:-1;;;;;;11538:16:0;;;;11516:38;11508:63;;;;-1:-1:-1;;;11508:63:0;;5804:2:1;11508:63:0;;;5786:21:1;5843:2;5823:18;;;5816:30;-1:-1:-1;;;5862:18:1;;;5855:42;5914:18;;11508:63:0;5776:162:1;11508:63:0;11588:17;;:22;:64;;;;-1:-1:-1;11636:15:0;;-1:-1:-1;;;;;11636:15:0;11614:10;:38;11588:64;11584:132;;;11689:15;11669:17;:35;11584:132;11777:4;11728:28;3224:18;;;:9;:18;;;;;;11833:19;;11809:43;;;;;;;11883:45;;-1:-1:-1;11915:13:0;;-1:-1:-1;;;;;11907:21:0;;;11915:13;;11907:21;;11883:45;:83;;;;-1:-1:-1;;;;;;11945:21:0;;11961:4;11945:21;;11883:83;:121;;;;;12003:1;11983:17;;:21;11883:121;11865:220;;;12031:42;12052:20;12031;:42::i;:::-;-1:-1:-1;;;;;12131:25:0;;12097:12;12131:25;;;:19;:25;;;;;;;;12130:26;:54;;;;-1:-1:-1;;;;;;12161:23:0;;;;;;:19;:23;;;;;;;;12160:24;12130:54;12126:333;;;-1:-1:-1;;;;;12205:29:0;;;;;;:25;:29;;;;;;;;12201:247;;;12262:43;12299:5;12262:32;:6;10217:3;12262:10;:32::i;:::-;:36;;:43::i;:::-;12255:50;;12201:247;;;-1:-1:-1;;;;;12331:31:0;;;;;;:25;:31;;;;;;;;12327:121;;;12390:42;12426:5;12390:31;:6;10158:3;12390:10;:31::i;:42::-;12383:49;;12327:121;12475:8;;12471:123;;12500:42;12516:4;12530;12537;12500:15;:42::i;:::-;12566:16;:6;12577:4;12566:10;:16::i;:::-;12557:25;;12471:123;12606:33;12622:4;12628:2;12632:6;12606:15;:33::i;:::-;12656:15;;-1:-1:-1;;;;;12656:15:0;:26;12691:4;12698:15;12691:4;-1:-1:-1;;;;;3224:18:0;3208:7;3224:18;;;:9;:18;;;;;;;3143:101;12698:15;12656:58;;-1:-1:-1;;;;;;12656:58:0;;;;;;;-1:-1:-1;;;;;2907:32:1;;;12656:58:0;;;2889:51:1;2956:18;;;2949:34;2862:18;;12656:58:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12652:74;12740:15;;-1:-1:-1;;;;;12740:15:0;:26;12775:2;12780:13;12775:2;-1:-1:-1;;;;;3224:18:0;3208:7;3224:18;;;:9;:18;;;;;;;3143:101;12780:13;12740:54;;-1:-1:-1;;;;;;12740:54:0;;;;;;;-1:-1:-1;;;;;2907:32:1;;;12740:54:0;;;2889:51:1;2956:18;;;2949:34;2862:18;;12740:54:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12736:70;-1:-1:-1;;;;;12822:21:0;;12838:4;12822:21;12818:110;;12864:15;;12888:16;;12864:41;;-1:-1:-1;;;;;;12864:41:0;;-1:-1:-1;;;;;12864:15:0;;;;:23;;:41;;;;7104:25:1;;;7092:2;7077:18;;7059:76;12864:41:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12860:57;;;;1928:178;2011:6;;;-1:-1:-1;;;;;2028:15:0;;;-1:-1:-1;;;;;;2028:15:0;;;;;;;2059:39;;2011:6;;;2028:15;2011:6;;2059:39;;1994:16;;2059:39;1983:123;1928:178;:::o;12943:669::-;13032:16;;;13046:1;13032:16;;;;;;;;13008:21;;13032:16;;;;;;;;;;-1:-1:-1;13032:16:0;13008:40;;13077:4;13059;13064:1;13059:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;13059:23:0;;;-1:-1:-1;;;;;13059:23:0;;;;;10019:42;13093:4;13098:1;13093:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;13093:22:0;;;:7;;;;;;;;;:22;13160:15;;13128:57;;13145:4;;13160:15;13178:6;13128:8;:57::i;:::-;13198:15;;13346;;13198:205;;-1:-1:-1;;;13198:205:0;;-1:-1:-1;;;;;13198:15:0;;;;:69;;:205;;13282:6;;13198:15;;13319:4;;13346:15;;;13377;;13198:205;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13475:15:0;;13436:56;;-1:-1:-1;;;13436:56:0;;-1:-1:-1;;;;;13475:15:0;;;13436:56;;;2637:51:1;13416:17:0;;-1:-1:-1;10019:42:0;;-1:-1:-1;13436:30:0;;2610:18:1;;13436:56:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;13503:15;;:46;;-1:-1:-1;;;13503:46:0;;;;;7104:25:1;;;13416:76:0;;-1:-1:-1;;;;;;13503:15:0;;:35;;7077:18:1;;13503:46:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;13565:39:0;;;8299:25:1;;;8355:2;8340:18;;8333:34;;;13565:39:0;;-1:-1:-1;8272:18:1;;-1:-1:-1;13565:39:0;;;;;;;12997:615;;12943:669;:::o;2303:77::-;2359:7;2375:3;2377:1;2375;:3;:::i;2386:77::-;2442:7;2458:3;2460:1;2458;:3;:::i;4248:371::-;-1:-1:-1;;;;;4343:16:0;;;;;;:32;;-1:-1:-1;;;;;;4361:14:0;;;;4343:32;4335:53;;;;-1:-1:-1;;;4335:53:0;;5467:2:1;4335:53:0;;;5449:21:1;5506:1;5486:18;;;5479:29;-1:-1:-1;;;5524:18:1;;;5517:39;5573:18;;4335:53:0;5439:158:1;4335:53:0;-1:-1:-1;;;;;4415:15:0;;4399;4415;;;:9;:15;;;;;;4449;;;;4441:39;;;;-1:-1:-1;;;4441:39:0;;4773:2:1;4441:39:0;;;4755:21:1;4812:2;4792:18;;;4785:30;-1:-1:-1;;;4831:18:1;;;4824:42;4883:18;;4441:39:0;4745:162:1;4441:39:0;4507:14;4515:6;4507:7;:14;:::i;:::-;-1:-1:-1;;;;;4491:15:0;;;;;;;:9;:15;;;;;;:30;;;;4546:13;;;;;;;:25;;4564:6;4546:17;:25::i;:::-;-1:-1:-1;;;;;4532:13:0;;;;;;;:9;:13;;;;;;;:39;;;;4587:24;;;;;;;;;;4604:6;7104:25:1;;7092:2;7077:18;;7059:76;4587:24:0;;;;;;;;4324:295;4248:371;;;:::o;2220:77::-;2276:7;2292:3;2294:1;2292;:3;:::i;-1:-1:-1:-;;;;;;;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:2;;;142:1;139;132:12;94:2;181:9;168:23;200:31;225:5;200:31;:::i;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:2;;;405:1;402;395:12;357:2;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:2;;;667:1;664;657:12;619:2;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;609:301;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:2;;;1077:1;1074;1067:12;1029:2;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;1019:352;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;1019:352::o;1376:416::-;1441:6;1449;1502:2;1490:9;1481:7;1477:23;1473:32;1470:2;;;1518:1;1515;1508:12;1470:2;1557:9;1544:23;1576:31;1601:5;1576:31;:::i;:::-;1626:5;-1:-1:-1;1683:2:1;1668:18;;1655:32;1725:15;;1718:23;1706:36;;1696:2;;1756:1;1753;1746:12;1797:315;1865:6;1873;1926:2;1914:9;1905:7;1901:23;1897:32;1894:2;;;1942:1;1939;1932:12;1894:2;1981:9;1968:23;2000:31;2025:5;2000:31;:::i;:::-;2050:5;2102:2;2087:18;;;;2074:32;;-1:-1:-1;;;1884:228:1:o;2117:180::-;2176:6;2229:2;2217:9;2208:7;2204:23;2200:32;2197:2;;;2245:1;2242;2235:12;2197:2;-1:-1:-1;2268:23:1;;2187:110;-1:-1:-1;2187:110:1:o;2302:184::-;2372:6;2425:2;2413:9;2404:7;2400:23;2396:32;2393:2;;;2441:1;2438;2431:12;2393:2;-1:-1:-1;2464:16:1;;2383:103;-1:-1:-1;2383:103:1:o;3969:597::-;4081:4;4110:2;4139;4128:9;4121:21;4171:6;4165:13;4214:6;4209:2;4198:9;4194:18;4187:34;4239:1;4249:140;4263:6;4260:1;4257:13;4249:140;;;4358:14;;;4354:23;;4348:30;4324:17;;;4343:2;4320:26;4313:66;4278:10;;4249:140;;;4407:6;4404:1;4401:13;4398:2;;;4477:1;4472:2;4463:6;4452:9;4448:22;4444:31;4437:42;4398:2;-1:-1:-1;4550:2:1;4529:15;-1:-1:-1;;4525:29:1;4510:45;;;;4557:2;4506:54;;4090:476;-1:-1:-1;;;4090:476:1:o;6286:332::-;6488:2;6470:21;;;6527:1;6507:18;;;6500:29;-1:-1:-1;;;6560:2:1;6545:18;;6538:39;6609:2;6594:18;;6460:158::o;7140:980::-;7402:4;7450:3;7439:9;7435:19;7481:6;7470:9;7463:25;7507:2;7545:6;7540:2;7529:9;7525:18;7518:34;7588:3;7583:2;7572:9;7568:18;7561:31;7612:6;7647;7641:13;7678:6;7670;7663:22;7716:3;7705:9;7701:19;7694:26;;7755:2;7747:6;7743:15;7729:29;;7776:1;7786:195;7800:6;7797:1;7794:13;7786:195;;;7865:13;;-1:-1:-1;;;;;7861:39:1;7849:52;;7956:15;;;;7921:12;;;;7897:1;7815:9;7786:195;;;-1:-1:-1;;;;;;;8037:32:1;;;;8032:2;8017:18;;8010:60;-1:-1:-1;;;8101:3:1;8086:19;8079:35;7998:3;7411:709;-1:-1:-1;;;7411:709:1:o;8567:128::-;8607:3;8638:1;8634:6;8631:1;8628:13;8625:2;;;8644:18;;:::i;:::-;-1:-1:-1;8680:9:1;;8615:80::o;8700:217::-;8740:1;8766;8756:2;;8810:10;8805:3;8801:20;8798:1;8791:31;8845:4;8842:1;8835:15;8873:4;8870:1;8863:15;8756:2;-1:-1:-1;8902:9:1;;8746:171::o;8922:168::-;8962:7;9028:1;9024;9020:6;9016:14;9013:1;9010:21;9005:1;8998:9;8991:17;8987:45;8984:2;;;9035:18;;:::i;:::-;-1:-1:-1;9075:9:1;;8974:116::o;9095:125::-;9135:4;9163:1;9160;9157:8;9154:2;;;9168:18;;:::i;:::-;-1:-1:-1;9205:9:1;;9144:76::o;9225:380::-;9304:1;9300:12;;;;9347;;;9368:2;;9422:4;9414:6;9410:17;9400:27;;9368:2;9475;9467:6;9464:14;9444:18;9441:38;9438:2;;;9521:10;9516:3;9512:20;9509:1;9502:31;9556:4;9553:1;9546:15;9584:4;9581:1;9574:15;9438:2;;9280:325;;;:::o;9610:127::-;9671:10;9666:3;9662:20;9659:1;9652:31;9702:4;9699:1;9692:15;9726:4;9723:1;9716:15;9742:127;9803:10;9798:3;9794:20;9791:1;9784:31;9834:4;9831:1;9824:15;9858:4;9855:1;9848:15;10006:131;-1:-1:-1;;;;;10081:31:1;;10071:42;;10061:2;;10127:1;10124;10117:12

Swarm Source

ipfs://dc16f16e1cafb71c7cc6db999533b0ae19378f53ca0e7ccbbdcfc95997aab4f1

Block Transaction Gas Used Reward
view all blocks produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ 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.