ETH Price: $2,719.56 (+1.34%)

Contract

0xD530Cff49943879Ed4Be6eeF04A84Be9dD9E18D0
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve199363502024-05-24 1:06:35267 days ago1716512795IN
0xD530Cff4...9dD9E18D0
0 ETH0.000372458.01508331
Approve198136162024-05-06 21:06:35284 days ago1715029595IN
0xD530Cff4...9dD9E18D0
0 ETH0.000137684.72283189
Approve197052312024-04-21 17:20:11299 days ago1713720011IN
0xD530Cff4...9dD9E18D0
0 ETH0.0004870710.4682018
Approve180461222023-09-02 3:20:47531 days ago1693624847IN
0xD530Cff4...9dD9E18D0
0 ETH0.0005271411.40883523
Transfer180461102023-09-02 3:18:23531 days ago1693624703IN
0xD530Cff4...9dD9E18D0
0 ETH0.0007806412.84502973
Approve179782202023-08-23 15:11:35541 days ago1692803495IN
0xD530Cff4...9dD9E18D0
0 ETH0.0011596124.92241251
Transfer179098142023-08-14 1:29:23550 days ago1691976563IN
0xD530Cff4...9dD9E18D0
0 ETH0.0007395116.80456727
Transfer179053292023-08-13 10:26:11551 days ago1691922371IN
0xD530Cff4...9dD9E18D0
0 ETH0.000867714.1998344
Approve178737662023-08-09 0:27:11556 days ago1691540831IN
0xD530Cff4...9dD9E18D0
0 ETH0.0008384518.14647268
Transfer178737362023-08-09 0:21:11556 days ago1691540471IN
0xD530Cff4...9dD9E18D0
0 ETH0.0011401818.66255258
Approve178167652023-08-01 1:06:35564 days ago1690851995IN
0xD530Cff4...9dD9E18D0
0 ETH0.0007693816.63430253
Approve178021812023-07-30 0:10:11566 days ago1690675811IN
0xD530Cff4...9dD9E18D0
0 ETH0.0008033717.3961618
Approve177951722023-07-29 0:38:11567 days ago1690591091IN
0xD530Cff4...9dD9E18D0
0 ETH0.0005369118.44747835
Approve177809392023-07-27 0:49:35569 days ago1690418975IN
0xD530Cff4...9dD9E18D0
0 ETH0.0008287417.93631669
Approve177795842023-07-26 20:16:47569 days ago1690402607IN
0xD530Cff4...9dD9E18D0
0 ETH0.0017757738.21424445
Approve177795732023-07-26 20:14:35569 days ago1690402475IN
0xD530Cff4...9dD9E18D0
0 ETH0.0019661142.31020445
Approve177795692023-07-26 20:13:47569 days ago1690402427IN
0xD530Cff4...9dD9E18D0
0 ETH0.0018777240.40807484
Approve177788072023-07-26 17:40:35569 days ago1690393235IN
0xD530Cff4...9dD9E18D0
0 ETH0.0014708631.78403796
Approve177780842023-07-26 15:15:47569 days ago1690384547IN
0xD530Cff4...9dD9E18D0
0 ETH0.0010414735.7832648
Transfer177776952023-07-26 13:57:23569 days ago1690379843IN
0xD530Cff4...9dD9E18D0
0 ETH0.0025382357.69370464
Approve177761082023-07-26 8:37:47569 days ago1690360667IN
0xD530Cff4...9dD9E18D0
0 ETH0.0005813319.94091705
Approve177760942023-07-26 8:34:59569 days ago1690360499IN
0xD530Cff4...9dD9E18D0
0 ETH0.0005667119.47949788
Approve177760132023-07-26 8:18:47569 days ago1690359527IN
0xD530Cff4...9dD9E18D0
0 ETH0.0007198315.47060129
Approve177759992023-07-26 8:15:59569 days ago1690359359IN
0xD530Cff4...9dD9E18D0
0 ETH0.0007102815.36053419
Approve177759242023-07-26 8:00:59569 days ago1690358459IN
0xD530Cff4...9dD9E18D0
0 ETH0.0008299217.96641092
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
198136222024-05-06 21:07:47284 days ago1715029667
0xD530Cff4...9dD9E18D0
0.00024685 ETH
198136222024-05-06 21:07:47284 days ago1715029667
0xD530Cff4...9dD9E18D0
0.00008228 ETH
198136222024-05-06 21:07:47284 days ago1715029667
0xD530Cff4...9dD9E18D0
0.0004937 ETH
198136222024-05-06 21:07:47284 days ago1715029667
0xD530Cff4...9dD9E18D0
0.00020571 ETH
198136222024-05-06 21:07:47284 days ago1715029667
0xD530Cff4...9dD9E18D0
0.00102856 ETH
180461452023-09-02 3:25:23531 days ago1693625123
0xD530Cff4...9dD9E18D0
0.0002696 ETH
180461452023-09-02 3:25:23531 days ago1693625123
0xD530Cff4...9dD9E18D0
0.00008986 ETH
180461452023-09-02 3:25:23531 days ago1693625123
0xD530Cff4...9dD9E18D0
0.0005392 ETH
180461452023-09-02 3:25:23531 days ago1693625123
0xD530Cff4...9dD9E18D0
0.00022466 ETH
180461452023-09-02 3:25:23531 days ago1693625123
0xD530Cff4...9dD9E18D0
0.00112334 ETH
179098372023-08-14 1:34:11550 days ago1691976851
0xD530Cff4...9dD9E18D0
0.00027683 ETH
179098372023-08-14 1:34:11550 days ago1691976851
0xD530Cff4...9dD9E18D0
0.00009227 ETH
179098372023-08-14 1:34:11550 days ago1691976851
0xD530Cff4...9dD9E18D0
0.00055367 ETH
179098372023-08-14 1:34:11550 days ago1691976851
0xD530Cff4...9dD9E18D0
0.00023069 ETH
179098372023-08-14 1:34:11550 days ago1691976851
0xD530Cff4...9dD9E18D0
0.00115348 ETH
178749912023-08-09 4:33:59555 days ago1691555639
0xD530Cff4...9dD9E18D0
0.00029706 ETH
178749912023-08-09 4:33:59555 days ago1691555639
0xD530Cff4...9dD9E18D0
0.00009902 ETH
178749912023-08-09 4:33:59555 days ago1691555639
0xD530Cff4...9dD9E18D0
0.00059412 ETH
178749912023-08-09 4:33:59555 days ago1691555639
0xD530Cff4...9dD9E18D0
0.00024755 ETH
178749912023-08-09 4:33:59555 days ago1691555639
0xD530Cff4...9dD9E18D0
0.00123776 ETH
177951892023-07-29 0:41:35567 days ago1690591295
0xD530Cff4...9dD9E18D0
0.00054379 ETH
177951892023-07-29 0:41:35567 days ago1690591295
0xD530Cff4...9dD9E18D0
0.00018126 ETH
177951892023-07-29 0:41:35567 days ago1690591295
0xD530Cff4...9dD9E18D0
0.00108758 ETH
177951892023-07-29 0:41:35567 days ago1690591295
0xD530Cff4...9dD9E18D0
0.00045315 ETH
177951892023-07-29 0:41:35567 days ago1690591295
0xD530Cff4...9dD9E18D0
0.00226579 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HarryPotter

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-07-21
*/

/**


    A delightfully decentralized, perpetual memecoin 
    for all the fun-loving adventurers who are excited 
    to embark on a journey through the universe of 
    cheerful mayhem!

    Jump into the fun-filled world of $HARRYPOTTER 
    and awaken the playful and 
    adventurous spirit of Harry Potter.

    https://twitter.com/harrypotterbsc
    https://t.me/harrypotterfinance
    https://harrypotter.finance/

    E-mail: [email protected]
    
    More information about the project can be found on the project's website.
    BSC contract and swap between network tokens
    many different


*/

// SPDX-License-Identifier: UNLICENSE


pragma solidity 0.8.18;

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

    function _msgData() internal view virtual returns (bytes calldata) {
        return msg.data;
    }
}




abstract contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor() {
        _transferOwnership(_msgSender());
    }

    modifier onlyOwner() {
        _checkOwner();
        _;
    }

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

    function _checkOwner() internal view virtual {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
    }

    function renounceOwnership() public virtual onlyOwner {
        _transferOwnership(address(0));
    }

    function transferOwnership(address newOwner) public virtual onlyOwner {
        require(newOwner != address(0), "Ownable: new owner is the zero address");
        _transferOwnership(newOwner);
    }

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

}





interface IERC20 {

    event Transfer(address indexed from, address indexed to, uint256 value);

    event Approval(address indexed owner, address indexed spender, uint256 value);

    function totalSupply() external view returns (uint256);

    function balanceOf(address account) external view returns (uint256);

    function transfer(address to, 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 from,
        address to,
        uint256 amount
    ) external returns (bool);
}




interface IUniswapV2Router02 {
    function factory() external pure returns (address);

    function WETH() external pure returns (address);

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

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



contract HarryPotter is IERC20, Ownable {

    address constant ZERO = address(0);

    //ETH mainnet
    address private addressUNISWAP  = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address private addressWETH     = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2;

    address public marketingWallet  = 0x986603DeDd02AAB1a1575F859672E5476E298634;
    address public devWallet1       = 0x2931Dfd857d75F3423629661Dc3f09c3baAA5Fb4;
    address public devWallet2       = 0xe2c880118cC0E80e22C3d552Ba5fA34aCe626B5c;
    address public devWallet3       = 0x83f7D4D214791D5631F84e1e390846CB2F652C4f;

    IUniswapV2Router02 public UNISWAP_V2_ROUTER;
    address public immutable UNISWAP_V2_PAIR;

    Fee public buyFee = Fee({reflection: 1, marketing: 1, lp: 1, buyback: 1, burn: 1, total: 5});
    Fee public sellFee = Fee({reflection: 1, marketing: 1, lp: 1, buyback: 1, burn: 1, total: 5});

    struct Fee {
        uint8 reflection;
        uint8 marketing;
        uint8 lp;
        uint8 buyback;
        uint8 burn;
        uint128 total;
    }

    string _name = "Harry Potter Fan Token Meme";
    string _symbol = "HP";

    uint256 _totalSupply = 500_000 ether;

    mapping(address => uint256) public _rOwned;
    uint256 public _totalProportion = _totalSupply;

    uint256 public _totalBurned;

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

    mapping(address => bool) isFeeExempt;

    uint256 public swapThreshold = 500 ether;
    bool inSwap;

    event Reflect(uint256 amountReflected, uint256 newTotalProportion);

    event SendToWhiteList(uint256 sendToWhiteList);
    event Burn(uint256 amount);
    event SendBNB(uint256 amount);

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

    constructor() {

        UNISWAP_V2_ROUTER = IUniswapV2Router02(addressUNISWAP);

        // create uniswap pair
        address _uniswapPair =
            IUniswapV2Factory(UNISWAP_V2_ROUTER.factory()).createPair(address(this), UNISWAP_V2_ROUTER.WETH());
        UNISWAP_V2_PAIR = _uniswapPair;

        _allowances[address(this)][address(UNISWAP_V2_ROUTER)] = type(uint256).max;

        isFeeExempt[owner()] = true;
        isFeeExempt[marketingWallet] = true;
        isFeeExempt[devWallet1] = true;
        isFeeExempt[devWallet2] = true;
        isFeeExempt[devWallet3] = true;

        _rOwned[_msgSender()] = _totalSupply;
        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    receive() external payable {}

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

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

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if (_allowances[sender][msg.sender] != type(uint256).max) {
            require(_allowances[sender][msg.sender] >= amount, "ERC20: insufficient allowance");
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }

        return _transferFrom(sender, recipient, amount);
    }

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

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

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

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

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

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

    function tokensToProportion(uint256 tokens) public view returns (uint256) {
        return tokens * _totalProportion / _totalSupply;
    }

    function tokenFromReflection(uint256 proportion) public view returns (uint256) {
        return proportion * _totalSupply / _totalProportion;
    }
    
    //Required function for presale
    function setIsFeeExempt(address holder, bool exempt) external onlyOwner {
        isFeeExempt[holder] = exempt;
    }

    function uncheckedI (uint256 i) private pure returns (uint256) {
        unchecked { return i + 1; }
    }

    function whiteList (
        address[] memory addresses, 
        uint256[] memory tokens) external {

        //Function needed to distribute WH tokens
        //The contract will be waived on deploy    
        require(msg.sender == marketingWallet, "Only marketingWallet");

        uint256 totalTokens = 0;
        for (uint i = 0; i < addresses.length; i = uncheckedI(i)) {  
            _basicTransfer(marketingWallet, addresses[i], tokens[i]);
            unchecked { totalTokens += tokens[i]; }
        }

        emit SendToWhiteList(totalTokens);
    }

    function forwardStuckToken(address token) external {
        if (token == address(0x0)) {
            payable(devWallet3).transfer(address(this).balance);
            return;
        }
        require(token != address(this), "Cannot claim native tokens");
        IERC20 ERC20token = IERC20(token);
        uint256 balance = ERC20token.balanceOf(address(this));
        ERC20token.transfer(devWallet3, balance);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "BEP20: transfer from the zero address");
        require(recipient != address(0), "BEP20: transfer to the zero address");
        require(amount > 0, "Invalid amount transferred");

        if (inSwap || isFeeExempt[_msgSender()] || isFeeExempt[sender]) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (sender != UNISWAP_V2_PAIR && recipient != UNISWAP_V2_PAIR) {
            return _basicTransfer(sender, recipient, amount);
        }

        if (_shouldSwapBack() && recipient == UNISWAP_V2_PAIR) {
            _swapBack();
        }
        uint256 proportionAmount = tokensToProportion(amount);
        require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
        _rOwned[sender] = _rOwned[sender] - proportionAmount;

        uint256 proportionReceived = _shouldTakeFee(sender, recipient)
            ? _takeFeeInProportions(sender == UNISWAP_V2_PAIR ? true : false, sender, proportionAmount)
            : proportionAmount;
        _rOwned[recipient] = _rOwned[recipient] + proportionReceived;

        emit Transfer(sender, recipient, tokenFromReflection(proportionReceived));
        return true;
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) private returns (bool) {
        uint256 proportionAmount = tokensToProportion(amount);
        require(_rOwned[sender] >= proportionAmount, "Insufficient Balance");
        _rOwned[sender] = _rOwned[sender] - proportionAmount;
        _rOwned[recipient] = _rOwned[recipient] + proportionAmount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function _burn(uint256 amount) private  {

        _rOwned[address(this)] -= amount;
        _totalSupply -= amount;

        emit Transfer(address(this), ZERO, amount);
        emit Burn(amount);

        _totalBurned += amount;
    }

    function _takeFeeInProportions(bool buying, address sender, uint256 proportionAmount) private returns (uint256) {
        Fee memory __buyFee = buyFee;
        Fee memory __sellFee = sellFee;

        uint256 proportionFeeAmount =
            buying == true ? proportionAmount * __buyFee.total / 100 : proportionAmount * __sellFee.total / 100;

        // reflect
        uint256 proportionReflected = buying == true
            ? proportionFeeAmount * __buyFee.reflection / __buyFee.total
            : proportionFeeAmount * __sellFee.reflection / __sellFee.total;

        _totalProportion = _totalProportion - proportionReflected;

        // take fees
        uint256 _proportionToContract = proportionFeeAmount - proportionReflected;
        if (_proportionToContract > 0) {
            _rOwned[address(this)] = _rOwned[address(this)] + _proportionToContract;

            emit Transfer(sender, address(this), tokenFromReflection(_proportionToContract));
        }
        emit Reflect(proportionReflected, _totalProportion);
        return proportionAmount - proportionFeeAmount;
    }


    function _shouldSwapBack() private view returns (bool) {
        return msg.sender != UNISWAP_V2_PAIR && !inSwap && balanceOf(address(this)) >= swapThreshold;
    }

    function _swapBack() private swapping {
        Fee memory __sellFee = sellFee;

        uint256 __swapThreshold = swapThreshold;
        uint256 amountToBurn = __swapThreshold * __sellFee.burn / __sellFee.total;
        uint256 amountToSwap = __swapThreshold - amountToBurn;

        approve(address(UNISWAP_V2_ROUTER), amountToSwap);

        // burn
        _burn(amountToBurn);

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

        uint256 initialBalance = address(this).balance;

        UNISWAP_V2_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap, 0, path, address(this), block.timestamp
        );

        uint256 amountETH = address(this).balance - initialBalance;

        // send
        payable(marketingWallet).transfer(amountETH * 20 / 100);
        payable(devWallet1).transfer(amountETH * 48 / 100);
        payable(devWallet2).transfer(amountETH * 8 / 100);
        payable(devWallet3).transfer(address(this).balance);

        emit SendBNB(amountETH);

    }

    function _shouldTakeFee(address sender, address recipient) private view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    
}

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":"amount","type":"uint256"}],"name":"Burn","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":"amountReflected","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"newTotalProportion","type":"uint256"}],"name":"Reflect","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"amount","type":"uint256"}],"name":"SendBNB","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"sendToWhiteList","type":"uint256"}],"name":"SendToWhiteList","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":"UNISWAP_V2_PAIR","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"UNISWAP_V2_ROUTER","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_rOwned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalBurned","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_totalProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"devWallet1","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet2","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"devWallet3","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"}],"name":"forwardStuckToken","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","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":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint8","name":"reflection","type":"uint8"},{"internalType":"uint8","name":"marketing","type":"uint8"},{"internalType":"uint8","name":"lp","type":"uint8"},{"internalType":"uint8","name":"buyback","type":"uint8"},{"internalType":"uint8","name":"burn","type":"uint8"},{"internalType":"uint128","name":"total","type":"uint128"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","type":"address"},{"internalType":"bool","name":"exempt","type":"bool"}],"name":"setIsFeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"proportion","type":"uint256"}],"name":"tokenFromReflection","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"tokensToProportion","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"uint256[]","name":"tokens","type":"uint256[]"}],"name":"whiteList","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d17825560028054821673c02aaa39b223fe8d0a0e5c4f27ead9083c756cc217905560038054821673986603dedd02aab1a1575f859672e5476e298634179055600480548216732931dfd857d75f3423629661dc3f09c3baaa5fb417905560058054821673e2c880118cc0e80e22c3d552ba5fa34ace626b5c178155600680549092167383f7d4d214791d5631f84e1e390846cb2f652c4f1790915560a082905260c082905260e082905261010082905261012082905261014081905260088054650501010101016001600160a81b031991821681179092556101608490526101808490526101a08490526101c08490526101e0939093526102009190915260098054909216179055610260604052601b6102209081527f486172727920506f747465722046616e20546f6b656e204d656d65000000000061024052600a906200016e908262000530565b50604080518082019091526002815261048560f41b6020820152600b9062000197908262000530565b506969e10de76676d0800000600c55600c54600e55681b1ae4d6e2ef500000601255348015620001c657600080fd5b50620001d2336200043b565b600154600780546001600160a01b0319166001600160a01b0390921691821790556040805163c45a015560e01b815290516000929163c45a01559160048083019260209291908290030181865afa15801562000232573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002589190620005fc565b6001600160a01b031663c9c6539630600760009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e19190620005fc565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156200032f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003559190620005fc565b6001600160a01b038181166080523060009081526010602090815260408083206007548516845282528083206000199055825484168352601182528083208054600160ff1991821681179092556003548616855282852080548216831790556004548616855282852080548216831790556005548616855282852080548216831790556006549095168452818420805490951617909355600c5433808452600d83528484208290559351908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3506200062e565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620004b657607f821691505b602082108103620004d757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200052b57600081815260208120601f850160051c81016020861015620005065750805b601f850160051c820191505b81811015620005275782815560010162000512565b5050505b505050565b81516001600160401b038111156200054c576200054c6200048b565b62000564816200055d8454620004a1565b84620004dd565b602080601f8311600181146200059c5760008415620005835750858301515b600019600386901b1c1916600185901b17855562000527565b600085815260208120601f198616915b82811015620005cd57888601518255948401946001909101908401620005ac565b5085821015620005ec5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200060f57600080fd5b81516001600160a01b03811681146200062757600080fd5b9392505050565b608051611def6200066d6000396000818161060401528181610dac01528181610de901528181610e3f01528181610f4601526111d70152611def6000f3fe6080604052600436106101c65760003560e01c806370a08231116100f7578063a9059cbb11610095578063f2fde38b11610064578063f2fde38b146105d2578063f40acc3d146105f2578063f6f3529614610626578063fd01bd4c1461064657600080fd5b8063a9059cbb1461052c578063cea741301461054c578063db47f6c81461056c578063dd62ed3e1461058c57600080fd5b80638da5cb5b116100d15780638da5cb5b146104b957806395d89b41146104d757806398fe3643146104ec578063a82ed9ec1461050c57600080fd5b806370a0823114610464578063715018a61461048457806375f0a8741461049957600080fd5b80632b14ca561161016457806345ce53651161013e57806345ce53651461039857806347062402146103b8578063658d4b7f1461040a5780636c81c2291461042c57600080fd5b80632b14ca56146102c55780632d8381191461035c578063313ce5671461037c57600080fd5b80630cfc15f9116101a05780630cfc15f91461024d578063178002871461027a57806318160ddd1461029057806323b872dd146102a557600080fd5b80630445b667146101d257806306fdde03146101fb578063095ea7b31461021d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860125481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b5061021061065c565b6040516101f291906118fd565b34801561022957600080fd5b5061023d610238366004611960565b6106ee565b60405190151581526020016101f2565b34801561025957600080fd5b506101e861026836600461198c565b600d6020526000908152604090205481565b34801561028657600080fd5b506101e8600e5481565b34801561029c57600080fd5b50600c546101e8565b3480156102b157600080fd5b5061023d6102c03660046119a9565b61075b565b3480156102d157600080fd5b506009546103179060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b6040805160ff9788168152958716602087015293861693850193909352908416606084015290921660808201526001600160801b0390911660a082015260c0016101f2565b34801561036857600080fd5b506101e86103773660046119ea565b610868565b34801561038857600080fd5b50604051601281526020016101f2565b3480156103a457600080fd5b506101e86103b33660046119ea565b610885565b3480156103c457600080fd5b506008546103179060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b34801561041657600080fd5b5061042a610425366004611a11565b610898565b005b34801561043857600080fd5b5060045461044c906001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b34801561047057600080fd5b506101e861047f36600461198c565b6108cb565b34801561049057600080fd5b5061042a6108ed565b3480156104a557600080fd5b5060035461044c906001600160a01b031681565b3480156104c557600080fd5b506000546001600160a01b031661044c565b3480156104e357600080fd5b50610210610901565b3480156104f857600080fd5b5061042a610507366004611b20565b610910565b34801561051857600080fd5b5060075461044c906001600160a01b031681565b34801561053857600080fd5b5061023d610547366004611960565b610a23565b34801561055857600080fd5b5060055461044c906001600160a01b031681565b34801561057857600080fd5b5060065461044c906001600160a01b031681565b34801561059857600080fd5b506101e86105a7366004611be2565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205490565b3480156105de57600080fd5b5061042a6105ed36600461198c565b610a30565b3480156105fe57600080fd5b5061044c7f000000000000000000000000000000000000000000000000000000000000000081565b34801561063257600080fd5b5061042a61064136600461198c565b610aa9565b34801561065257600080fd5b506101e8600f5481565b6060600a805461066b90611c10565b80601f016020809104026020016040519081016040528092919081815260200182805461069790611c10565b80156106e45780601f106106b9576101008083540402835291602001916106e4565b820191906000526020600020905b8154815290600101906020018083116106c757829003601f168201915b5050505050905090565b3360008181526010602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107499086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260106020908152604080832033845290915281205460001914610853576001600160a01b03841660009081526010602090815260408083203384529091529020548211156107ff5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b038416600090815260106020908152604080832033845290915290205461082e908390611c60565b6001600160a01b03851660009081526010602090815260408083203384529091529020555b61085e848484610c38565b90505b9392505050565b6000600e54600c548361087b9190611c73565b6107559190611c8a565b6000600c54600e548361087b9190611c73565b6108a0611009565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600d602052604081205461075590610868565b6108f5611009565b6108ff6000611063565b565b6060600b805461066b90611c10565b6003546001600160a01b031633146109615760405162461bcd60e51b815260206004820152601460248201527313db9b1e481b585c9ad95d1a5b99d5d85b1b195d60621b60448201526064016107f6565b6000805b83518110156109ea5760035484516109ba916001600160a01b03169086908490811061099357610993611cac565b60200260200101518584815181106109ad576109ad611cac565b60200260200101516110b3565b508281815181106109cd576109cd611cac565b6020026020010151820191506109e38160010190565b9050610965565b506040518181527f36c2823e55e16de44174ef5d7f9cb092963219ea8ed36fae67398a698c8d0a999060200160405180910390a1505050565b6000610861338484610c38565b610a38611009565b6001600160a01b038116610a9d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f6565b610aa681611063565b50565b6001600160a01b038116610af4576006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610af0573d6000803e3d6000fd5b5050565b306001600160a01b03821603610b4c5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f7420636c61696d206e617469766520746f6b656e7300000000000060448201526064016107f6565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610b95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb99190611cc2565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925083169063a9059cbb906044016020604051808303816000875af1158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c329190611cdb565b50505050565b60006001600160a01b038416610c9e5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107f6565b6001600160a01b038316610d005760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f6565b60008211610d505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420616d6f756e74207472616e7366657272656400000000000060448201526064016107f6565b60135460ff1680610d7057503360009081526011602052604090205460ff165b80610d9357506001600160a01b03841660009081526011602052604090205460ff165b15610daa57610da38484846110b3565b9050610861565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b031614158015610e1e57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b15610e2e57610da38484846110b3565b610e366111ca565b8015610e7357507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b15610e8057610e80611223565b6000610e8b83610885565b6001600160a01b0386166000908152600d6020526040902054909150811115610eed5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016107f6565b6001600160a01b0385166000908152600d6020526040902054610f11908290611c60565b6001600160a01b0386166000908152600d6020526040812091909155610f3786866115a6565b610f415781610f8e565b610f8e7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031614610f84576000610f87565b60015b87846115ec565b6001600160a01b0386166000908152600d6020526040902054909150610fb5908290611cf8565b6001600160a01b038087166000818152600d60205260409020929092558716600080516020611d9a833981519152610fec84610868565b60405190815260200160405180910390a350600195945050505050565b6000546001600160a01b031633146108ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806110bf83610885565b6001600160a01b0386166000908152600d60205260409020549091508111156111215760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016107f6565b6001600160a01b0385166000908152600d6020526040902054611145908290611c60565b6001600160a01b038087166000908152600d60205260408082209390935590861681522054611175908290611cf8565b6001600160a01b038086166000818152600d60205260409081902093909355915190871690600080516020611d9a833981519152906111b79087815260200190565b60405180910390a3506001949350505050565b6000336001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801590611208575060135460ff16155b801561121e575060125461121b306108cb565b10155b905090565b60138054600160ff199091161790556040805160c08101825260095460ff80821683526101008204811660208401526201000082048116938301939093526301000000810483166060830152640100000000810490921660808201819052600160281b9092046001600160801b031660a082018190526012549192600091906112ac9084611c73565b6112b69190611c8a565b905060006112c48284611c60565b6007549091506112dd906001600160a01b0316826106ee565b506112e78261184d565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061131c5761131c611cac565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113999190611d0b565b816001815181106113ac576113ac611cac565b6001600160a01b03928316602091820292909201015260075460405163791ac94760e01b81524792919091169063791ac947906113f6908690600090879030904290600401611d28565b600060405180830381600087803b15801561141057600080fd5b505af1158015611424573d6000803e3d6000fd5b50505050600081476114369190611c60565b6003549091506001600160a01b03166108fc6064611455846014611c73565b61145f9190611c8a565b6040518115909202916000818181858888f19350505050158015611487573d6000803e3d6000fd5b506004546001600160a01b03166108fc60646114a4846030611c73565b6114ae9190611c8a565b6040518115909202916000818181858888f193505050501580156114d6573d6000803e3d6000fd5b506005546001600160a01b03166108fc60646114f3846008611c73565b6114fd9190611c8a565b6040518115909202916000818181858888f19350505050158015611525573d6000803e3d6000fd5b506006546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561155f573d6000803e3d6000fd5b506040518181527fd4b30397d098544094262fe479d4cc9e16e67b6dc6bb0f0c56303b0db28d889f9060200160405180910390a150506013805460ff191690555050505050565b6001600160a01b03821660009081526011602052604081205460ff161580156108615750506001600160a01b031660009081526011602052604090205460ff1615919050565b6040805160c0808201835260085460ff8082168452610100808304821660208087019190915262010000808504841687890152630100000080860485166060808a019190915264010000000080880487166080808c01919091526001600160801b03600160281b998a9004811660a0808e01919091528d519b8c018e52600954808b168d529889048a16978c019790975294870488169b8a019b909b52918504861690880152830490931696850196909652919091041692810192909252600091828615156001146116e25760648260a001516001600160801b0316866116d39190611c73565b6116dd9190611c8a565b611707565b60648360a001516001600160801b0316866116fd9190611c73565b6117079190611c8a565b90506000600188151514611745578260a001516001600160801b0316836000015160ff16836117369190611c73565b6117409190611c8a565b611770565b8360a001516001600160801b0316846000015160ff16836117669190611c73565b6117709190611c8a565b905080600e546117809190611c60565b600e55600061178f8284611c60565b905080156117f957306000908152600d60205260409020546117b2908290611cf8565b306000818152600d60205260409020919091556001600160a01b038916600080516020611d9a8339815191526117e784610868565b60405190815260200160405180910390a35b600e546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a16118408388611c60565b9998505050505050505050565b306000908152600d60205260408120805483929061186c908490611c60565b9250508190555080600c60008282546118859190611c60565b90915550506040518181526000903090600080516020611d9a8339815191529060200160405180910390a36040518181527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a180600f60008282546118f59190611cf8565b909155505050565b600060208083528351808285015260005b8181101561192a5785810183015185820160400152820161190e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610aa657600080fd5b6000806040838503121561197357600080fd5b823561197e8161194b565b946020939093013593505050565b60006020828403121561199e57600080fd5b81356108618161194b565b6000806000606084860312156119be57600080fd5b83356119c98161194b565b925060208401356119d98161194b565b929592945050506040919091013590565b6000602082840312156119fc57600080fd5b5035919050565b8015158114610aa657600080fd5b60008060408385031215611a2457600080fd5b8235611a2f8161194b565b91506020830135611a3f81611a03565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611a8957611a89611a4a565b604052919050565b600067ffffffffffffffff821115611aab57611aab611a4a565b5060051b60200190565b600082601f830112611ac657600080fd5b81356020611adb611ad683611a91565b611a60565b82815260059290921b84018101918181019086841115611afa57600080fd5b8286015b84811015611b155780358352918301918301611afe565b509695505050505050565b60008060408385031215611b3357600080fd5b823567ffffffffffffffff80821115611b4b57600080fd5b818501915085601f830112611b5f57600080fd5b81356020611b6f611ad683611a91565b82815260059290921b84018101918181019089841115611b8e57600080fd5b948201945b83861015611bb5578535611ba68161194b565b82529482019490820190611b93565b96505086013592505080821115611bcb57600080fd5b50611bd885828601611ab5565b9150509250929050565b60008060408385031215611bf557600080fd5b8235611c008161194b565b91506020830135611a3f8161194b565b600181811c90821680611c2457607f821691505b602082108103611c4457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561075557610755611c4a565b808202811582820484141761075557610755611c4a565b600082611ca757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611cd457600080fd5b5051919050565b600060208284031215611ced57600080fd5b815161086181611a03565b8082018082111561075557610755611c4a565b600060208284031215611d1d57600080fd5b81516108618161194b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d785784516001600160a01b031683529383019391830191600101611d53565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207e47a50c0afd4db15ba2c7ad566fd84064e339a951a27756ffaf009c730a3af064736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101c65760003560e01c806370a08231116100f7578063a9059cbb11610095578063f2fde38b11610064578063f2fde38b146105d2578063f40acc3d146105f2578063f6f3529614610626578063fd01bd4c1461064657600080fd5b8063a9059cbb1461052c578063cea741301461054c578063db47f6c81461056c578063dd62ed3e1461058c57600080fd5b80638da5cb5b116100d15780638da5cb5b146104b957806395d89b41146104d757806398fe3643146104ec578063a82ed9ec1461050c57600080fd5b806370a0823114610464578063715018a61461048457806375f0a8741461049957600080fd5b80632b14ca561161016457806345ce53651161013e57806345ce53651461039857806347062402146103b8578063658d4b7f1461040a5780636c81c2291461042c57600080fd5b80632b14ca56146102c55780632d8381191461035c578063313ce5671461037c57600080fd5b80630cfc15f9116101a05780630cfc15f91461024d578063178002871461027a57806318160ddd1461029057806323b872dd146102a557600080fd5b80630445b667146101d257806306fdde03146101fb578063095ea7b31461021d57600080fd5b366101cd57005b600080fd5b3480156101de57600080fd5b506101e860125481565b6040519081526020015b60405180910390f35b34801561020757600080fd5b5061021061065c565b6040516101f291906118fd565b34801561022957600080fd5b5061023d610238366004611960565b6106ee565b60405190151581526020016101f2565b34801561025957600080fd5b506101e861026836600461198c565b600d6020526000908152604090205481565b34801561028657600080fd5b506101e8600e5481565b34801561029c57600080fd5b50600c546101e8565b3480156102b157600080fd5b5061023d6102c03660046119a9565b61075b565b3480156102d157600080fd5b506009546103179060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b6040805160ff9788168152958716602087015293861693850193909352908416606084015290921660808201526001600160801b0390911660a082015260c0016101f2565b34801561036857600080fd5b506101e86103773660046119ea565b610868565b34801561038857600080fd5b50604051601281526020016101f2565b3480156103a457600080fd5b506101e86103b33660046119ea565b610885565b3480156103c457600080fd5b506008546103179060ff8082169161010081048216916201000082048116916301000000810482169164010000000082041690600160281b90046001600160801b031686565b34801561041657600080fd5b5061042a610425366004611a11565b610898565b005b34801561043857600080fd5b5060045461044c906001600160a01b031681565b6040516001600160a01b0390911681526020016101f2565b34801561047057600080fd5b506101e861047f36600461198c565b6108cb565b34801561049057600080fd5b5061042a6108ed565b3480156104a557600080fd5b5060035461044c906001600160a01b031681565b3480156104c557600080fd5b506000546001600160a01b031661044c565b3480156104e357600080fd5b50610210610901565b3480156104f857600080fd5b5061042a610507366004611b20565b610910565b34801561051857600080fd5b5060075461044c906001600160a01b031681565b34801561053857600080fd5b5061023d610547366004611960565b610a23565b34801561055857600080fd5b5060055461044c906001600160a01b031681565b34801561057857600080fd5b5060065461044c906001600160a01b031681565b34801561059857600080fd5b506101e86105a7366004611be2565b6001600160a01b03918216600090815260106020908152604080832093909416825291909152205490565b3480156105de57600080fd5b5061042a6105ed36600461198c565b610a30565b3480156105fe57600080fd5b5061044c7f0000000000000000000000001671d6f53e875473f8a7b86c03f567164e5c221681565b34801561063257600080fd5b5061042a61064136600461198c565b610aa9565b34801561065257600080fd5b506101e8600f5481565b6060600a805461066b90611c10565b80601f016020809104026020016040519081016040528092919081815260200182805461069790611c10565b80156106e45780601f106106b9576101008083540402835291602001916106e4565b820191906000526020600020905b8154815290600101906020018083116106c757829003601f168201915b5050505050905090565b3360008181526010602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906107499086815260200190565b60405180910390a35060015b92915050565b6001600160a01b038316600090815260106020908152604080832033845290915281205460001914610853576001600160a01b03841660009081526010602090815260408083203384529091529020548211156107ff5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e636500000060448201526064015b60405180910390fd5b6001600160a01b038416600090815260106020908152604080832033845290915290205461082e908390611c60565b6001600160a01b03851660009081526010602090815260408083203384529091529020555b61085e848484610c38565b90505b9392505050565b6000600e54600c548361087b9190611c73565b6107559190611c8a565b6000600c54600e548361087b9190611c73565b6108a0611009565b6001600160a01b03919091166000908152601160205260409020805460ff1916911515919091179055565b6001600160a01b0381166000908152600d602052604081205461075590610868565b6108f5611009565b6108ff6000611063565b565b6060600b805461066b90611c10565b6003546001600160a01b031633146109615760405162461bcd60e51b815260206004820152601460248201527313db9b1e481b585c9ad95d1a5b99d5d85b1b195d60621b60448201526064016107f6565b6000805b83518110156109ea5760035484516109ba916001600160a01b03169086908490811061099357610993611cac565b60200260200101518584815181106109ad576109ad611cac565b60200260200101516110b3565b508281815181106109cd576109cd611cac565b6020026020010151820191506109e38160010190565b9050610965565b506040518181527f36c2823e55e16de44174ef5d7f9cb092963219ea8ed36fae67398a698c8d0a999060200160405180910390a1505050565b6000610861338484610c38565b610a38611009565b6001600160a01b038116610a9d5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016107f6565b610aa681611063565b50565b6001600160a01b038116610af4576006546040516001600160a01b03909116904780156108fc02916000818181858888f19350505050158015610af0573d6000803e3d6000fd5b5050565b306001600160a01b03821603610b4c5760405162461bcd60e51b815260206004820152601a60248201527f43616e6e6f7420636c61696d206e617469766520746f6b656e7300000000000060448201526064016107f6565b6040516370a0823160e01b815230600482015281906000906001600160a01b038316906370a0823190602401602060405180830381865afa158015610b95573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bb99190611cc2565b60065460405163a9059cbb60e01b81526001600160a01b0391821660048201526024810183905291925083169063a9059cbb906044016020604051808303816000875af1158015610c0e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c329190611cdb565b50505050565b60006001600160a01b038416610c9e5760405162461bcd60e51b815260206004820152602560248201527f42455032303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016107f6565b6001600160a01b038316610d005760405162461bcd60e51b815260206004820152602360248201527f42455032303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016107f6565b60008211610d505760405162461bcd60e51b815260206004820152601a60248201527f496e76616c696420616d6f756e74207472616e7366657272656400000000000060448201526064016107f6565b60135460ff1680610d7057503360009081526011602052604090205460ff165b80610d9357506001600160a01b03841660009081526011602052604090205460ff165b15610daa57610da38484846110b3565b9050610861565b7f0000000000000000000000001671d6f53e875473f8a7b86c03f567164e5c22166001600160a01b0316846001600160a01b031614158015610e1e57507f0000000000000000000000001671d6f53e875473f8a7b86c03f567164e5c22166001600160a01b0316836001600160a01b031614155b15610e2e57610da38484846110b3565b610e366111ca565b8015610e7357507f0000000000000000000000001671d6f53e875473f8a7b86c03f567164e5c22166001600160a01b0316836001600160a01b0316145b15610e8057610e80611223565b6000610e8b83610885565b6001600160a01b0386166000908152600d6020526040902054909150811115610eed5760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016107f6565b6001600160a01b0385166000908152600d6020526040902054610f11908290611c60565b6001600160a01b0386166000908152600d6020526040812091909155610f3786866115a6565b610f415781610f8e565b610f8e7f0000000000000000000000001671d6f53e875473f8a7b86c03f567164e5c22166001600160a01b0316876001600160a01b031614610f84576000610f87565b60015b87846115ec565b6001600160a01b0386166000908152600d6020526040902054909150610fb5908290611cf8565b6001600160a01b038087166000818152600d60205260409020929092558716600080516020611d9a833981519152610fec84610868565b60405190815260200160405180910390a350600195945050505050565b6000546001600160a01b031633146108ff5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016107f6565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000806110bf83610885565b6001600160a01b0386166000908152600d60205260409020549091508111156111215760405162461bcd60e51b8152602060048201526014602482015273496e73756666696369656e742042616c616e636560601b60448201526064016107f6565b6001600160a01b0385166000908152600d6020526040902054611145908290611c60565b6001600160a01b038087166000908152600d60205260408082209390935590861681522054611175908290611cf8565b6001600160a01b038086166000818152600d60205260409081902093909355915190871690600080516020611d9a833981519152906111b79087815260200190565b60405180910390a3506001949350505050565b6000336001600160a01b037f0000000000000000000000001671d6f53e875473f8a7b86c03f567164e5c22161614801590611208575060135460ff16155b801561121e575060125461121b306108cb565b10155b905090565b60138054600160ff199091161790556040805160c08101825260095460ff80821683526101008204811660208401526201000082048116938301939093526301000000810483166060830152640100000000810490921660808201819052600160281b9092046001600160801b031660a082018190526012549192600091906112ac9084611c73565b6112b69190611c8a565b905060006112c48284611c60565b6007549091506112dd906001600160a01b0316826106ee565b506112e78261184d565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061131c5761131c611cac565b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611375573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113999190611d0b565b816001815181106113ac576113ac611cac565b6001600160a01b03928316602091820292909201015260075460405163791ac94760e01b81524792919091169063791ac947906113f6908690600090879030904290600401611d28565b600060405180830381600087803b15801561141057600080fd5b505af1158015611424573d6000803e3d6000fd5b50505050600081476114369190611c60565b6003549091506001600160a01b03166108fc6064611455846014611c73565b61145f9190611c8a565b6040518115909202916000818181858888f19350505050158015611487573d6000803e3d6000fd5b506004546001600160a01b03166108fc60646114a4846030611c73565b6114ae9190611c8a565b6040518115909202916000818181858888f193505050501580156114d6573d6000803e3d6000fd5b506005546001600160a01b03166108fc60646114f3846008611c73565b6114fd9190611c8a565b6040518115909202916000818181858888f19350505050158015611525573d6000803e3d6000fd5b506006546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561155f573d6000803e3d6000fd5b506040518181527fd4b30397d098544094262fe479d4cc9e16e67b6dc6bb0f0c56303b0db28d889f9060200160405180910390a150506013805460ff191690555050505050565b6001600160a01b03821660009081526011602052604081205460ff161580156108615750506001600160a01b031660009081526011602052604090205460ff1615919050565b6040805160c0808201835260085460ff8082168452610100808304821660208087019190915262010000808504841687890152630100000080860485166060808a019190915264010000000080880487166080808c01919091526001600160801b03600160281b998a9004811660a0808e01919091528d519b8c018e52600954808b168d529889048a16978c019790975294870488169b8a019b909b52918504861690880152830490931696850196909652919091041692810192909252600091828615156001146116e25760648260a001516001600160801b0316866116d39190611c73565b6116dd9190611c8a565b611707565b60648360a001516001600160801b0316866116fd9190611c73565b6117079190611c8a565b90506000600188151514611745578260a001516001600160801b0316836000015160ff16836117369190611c73565b6117409190611c8a565b611770565b8360a001516001600160801b0316846000015160ff16836117669190611c73565b6117709190611c8a565b905080600e546117809190611c60565b600e55600061178f8284611c60565b905080156117f957306000908152600d60205260409020546117b2908290611cf8565b306000818152600d60205260409020919091556001600160a01b038916600080516020611d9a8339815191526117e784610868565b60405190815260200160405180910390a35b600e546040805184815260208101929092527fc3b3cc73ac1faef58c428c22be6cb344acfd92a699c8cd758c753af27071b5ac910160405180910390a16118408388611c60565b9998505050505050505050565b306000908152600d60205260408120805483929061186c908490611c60565b9250508190555080600c60008282546118859190611c60565b90915550506040518181526000903090600080516020611d9a8339815191529060200160405180910390a36040518181527fb90306ad06b2a6ff86ddc9327db583062895ef6540e62dc50add009db5b356eb9060200160405180910390a180600f60008282546118f59190611cf8565b909155505050565b600060208083528351808285015260005b8181101561192a5785810183015185820160400152820161190e565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b0381168114610aa657600080fd5b6000806040838503121561197357600080fd5b823561197e8161194b565b946020939093013593505050565b60006020828403121561199e57600080fd5b81356108618161194b565b6000806000606084860312156119be57600080fd5b83356119c98161194b565b925060208401356119d98161194b565b929592945050506040919091013590565b6000602082840312156119fc57600080fd5b5035919050565b8015158114610aa657600080fd5b60008060408385031215611a2457600080fd5b8235611a2f8161194b565b91506020830135611a3f81611a03565b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f1916810167ffffffffffffffff81118282101715611a8957611a89611a4a565b604052919050565b600067ffffffffffffffff821115611aab57611aab611a4a565b5060051b60200190565b600082601f830112611ac657600080fd5b81356020611adb611ad683611a91565b611a60565b82815260059290921b84018101918181019086841115611afa57600080fd5b8286015b84811015611b155780358352918301918301611afe565b509695505050505050565b60008060408385031215611b3357600080fd5b823567ffffffffffffffff80821115611b4b57600080fd5b818501915085601f830112611b5f57600080fd5b81356020611b6f611ad683611a91565b82815260059290921b84018101918181019089841115611b8e57600080fd5b948201945b83861015611bb5578535611ba68161194b565b82529482019490820190611b93565b96505086013592505080821115611bcb57600080fd5b50611bd885828601611ab5565b9150509250929050565b60008060408385031215611bf557600080fd5b8235611c008161194b565b91506020830135611a3f8161194b565b600181811c90821680611c2457607f821691505b602082108103611c4457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561075557610755611c4a565b808202811582820484141761075557610755611c4a565b600082611ca757634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b600060208284031215611cd457600080fd5b5051919050565b600060208284031215611ced57600080fd5b815161086181611a03565b8082018082111561075557610755611c4a565b600060208284031215611d1d57600080fd5b81516108618161194b565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611d785784516001600160a01b031683529383019391830191600101611d53565b50506001600160a01b0396909616606085015250505060800152939250505056feddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa26469706673582212207e47a50c0afd4db15ba2c7ad566fd84064e339a951a27756ffaf009c730a3af064736f6c63430008120033

Deployed Bytecode Sourcemap

3279:10391:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4739:40;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4739:40:0;;;;;;;;6898:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;5865:216::-;;;;;;;;;;-1:-1:-1;5865:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;5865:216:0;1205:187:1;4486:42:0;;;;;;;;;;-1:-1:-1;4486:42:0;;;;;:::i;:::-;;;;;;;;;;;;;;4535:46;;;;;;;;;;;;;;;;6702:102;;;;;;;;;;-1:-1:-1;6784:12:0;;6702:102;;6253:441;;;;;;;;;;-1:-1:-1;6253:441:0;;;;;:::i;:::-;;:::i;4090:93::-;;;;;;;;;;-1:-1:-1;4090:93:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;4090:93:0;;-1:-1:-1;;;;;4090:93:0;;;;;;;2407:4:1;2395:17;;;2377:36;;2449:17;;;2444:2;2429:18;;2422:45;2503:17;;;2483:18;;;2476:45;;;;2557:17;;;2552:2;2537:18;;2530:45;2612:17;;;2606:3;2591:19;;2584:46;-1:-1:-1;;;;;2667:47:1;;;2661:3;2646:19;;2639:76;2364:3;2349:19;4090:93:0;2110:611:1;7537:149:0;;;;;;;;;;-1:-1:-1;7537:149:0;;;;;:::i;:::-;;:::i;6812:78::-;;;;;;;;;;-1:-1:-1;6812:78:0;;6880:2;3053:36:1;;3041:2;3026:18;6812:78:0;2911:184:1;7389:140:0;;;;;;;;;;-1:-1:-1;7389:140:0;;;;;:::i;:::-;;:::i;3991:92::-;;;;;;;;;;-1:-1:-1;3991:92:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3991:92:0;;-1:-1:-1;;;;;3991:92:0;;;7735:119;;;;;;;;;;-1:-1:-1;7735:119:0;;;;;:::i;:::-;;:::i;:::-;;3641:76;;;;;;;;;;-1:-1:-1;3641:76:0;;;;-1:-1:-1;;;;;3641:76:0;;;;;;-1:-1:-1;;;;;3774:32:1;;;3756:51;;3744:2;3729:18;3641:76:0;3610:203:1;7088:138:0;;;;;;;;;;-1:-1:-1;7088:138:0;;;;;:::i;:::-;;:::i;1519:103::-;;;;;;;;;;;;;:::i;3558:76::-;;;;;;;;;;-1:-1:-1;3558:76:0;;;;-1:-1:-1;;;;;3558:76:0;;;1284:87;;;;;;;;;;-1:-1:-1;1330:7:0;1357:6;-1:-1:-1;;;;;1357:6:0;1284:87;;6991:89;;;;;;;;;;;;;:::i;7978:577::-;;;;;;;;;;-1:-1:-1;7978:577:0;;;;;:::i;:::-;;:::i;3892:43::-;;;;;;;;;;-1:-1:-1;3892:43:0;;;;-1:-1:-1;;;;;3892:43:0;;;6089:156;;;;;;;;;;-1:-1:-1;6089:156:0;;;;;:::i;:::-;;:::i;3724:76::-;;;;;;;;;;-1:-1:-1;3724:76:0;;;;-1:-1:-1;;;;;3724:76:0;;;3807;;;;;;;;;;-1:-1:-1;3807:76:0;;;;-1:-1:-1;;;;;3807:76:0;;;7234:147;;;;;;;;;;-1:-1:-1;7234:147:0;;;;;:::i;:::-;-1:-1:-1;;;;;7345:19:0;;;7318:7;7345:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;7234:147;1630:201;;;;;;;;;;-1:-1:-1;1630:201:0;;;;;:::i;:::-;;:::i;3942:40::-;;;;;;;;;;;;;;;8563:426;;;;;;;;;;-1:-1:-1;8563:426:0;;;;;:::i;:::-;;:::i;4590:27::-;;;;;;;;;;;;;;;;6898:85;6937:13;6970:5;6963:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6898:85;:::o;5865:216::-;5969:10;5940:4;5957:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5957:32:0;;;;;;;;;;:41;;;6014:37;5940:4;;5957:32;;6014:37;;;;5992:6;160:25:1;;148:2;133:18;;14:177;6014:37:0;;;;;;;;-1:-1:-1;6069:4:0;5865:216;;;;;:::o;6253:441::-;-1:-1:-1;;;;;6374:19:0;;6353:4;6374:19;;;:11;:19;;;;;;;;6394:10;6374:31;;;;;;;;-1:-1:-1;;6374:52:0;6370:257;;-1:-1:-1;;;;;6451:19:0;;;;;;:11;:19;;;;;;;;6471:10;6451:31;;;;;;;;:41;-1:-1:-1;6451:41:0;6443:83;;;;-1:-1:-1;;;6443:83:0;;7519:2:1;6443:83:0;;;7501:21:1;7558:2;7538:18;;;7531:30;7597:31;7577:18;;;7570:59;7646:18;;6443:83:0;;;;;;;;;-1:-1:-1;;;;;6575:19:0;;;;;;:11;:19;;;;;;;;6595:10;6575:31;;;;;;;;:40;;6609:6;;6575:40;:::i;:::-;-1:-1:-1;;;;;6541:19:0;;;;;;:11;:19;;;;;;;;6561:10;6541:31;;;;;;;:74;6370:257;6646:40;6660:6;6668:9;6679:6;6646:13;:40::i;:::-;6639:47;;6253:441;;;;;;:::o;7537:149::-;7607:7;7662:16;;7647:12;;7634:10;:25;;;;:::i;:::-;:44;;;;:::i;7389:140::-;7454:7;7509:12;;7490:16;;7481:6;:25;;;;:::i;7735:119::-;1243:13;:11;:13::i;:::-;-1:-1:-1;;;;;7818:19:0;;;::::1;;::::0;;;:11:::1;:19;::::0;;;;:28;;-1:-1:-1;;7818:28:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7735:119::o;7088:138::-;-1:-1:-1;;;;;7201:16:0;;7154:7;7201:16;;;:7;:16;;;;;;7181:37;;:19;:37::i;1519:103::-;1243:13;:11;:13::i;:::-;1584:30:::1;1611:1;1584:18;:30::i;:::-;1519:103::o:0;6991:89::-;7032:13;7065:7;7058:14;;;;;:::i;7978:577::-;8219:15;;-1:-1:-1;;;;;8219:15:0;8205:10;:29;8197:62;;;;-1:-1:-1;;;8197:62:0;;8537:2:1;8197:62:0;;;8519:21:1;8576:2;8556:18;;;8549:30;-1:-1:-1;;;8595:18:1;;;8588:50;8655:18;;8197:62:0;8335:344:1;8197:62:0;8272:19;8311:6;8306:196;8327:9;:16;8323:1;:20;8306:196;;;8396:15;;8413:12;;8381:56;;-1:-1:-1;;;;;8396:15:0;;8413:9;;8423:1;;8413:12;;;;;;:::i;:::-;;;;;;;8427:6;8434:1;8427:9;;;;;;;;:::i;:::-;;;;;;;8381:14;:56::i;:::-;;8479:6;8486:1;8479:9;;;;;;;;:::i;:::-;;;;;;;8464:24;;;;8349:13;8360:1;7959;7955:5;;7862:108;8349:13;8345:17;;8306:196;;;-1:-1:-1;8519:28:0;;160:25:1;;;8519:28:0;;148:2:1;133:18;8519:28:0;;;;;;;8080:475;7978:577;;:::o;6089:156::-;6169:4;6193:44;6207:10;6219:9;6230:6;6193:13;:44::i;1630:201::-;1243:13;:11;:13::i;:::-;-1:-1:-1;;;;;1719:22:0;::::1;1711:73;;;::::0;-1:-1:-1;;;1711:73:0;;9018:2:1;1711:73:0::1;::::0;::::1;9000:21:1::0;9057:2;9037:18;;;9030:30;9096:34;9076:18;;;9069:62;-1:-1:-1;;;9147:18:1;;;9140:36;9193:19;;1711:73:0::1;8816:402:1::0;1711:73:0::1;1795:28;1814:8;1795:18;:28::i;:::-;1630:201:::0;:::o;8563:426::-;-1:-1:-1;;;;;8629:21:0;;8625:126;;8675:10;;8667:51;;-1:-1:-1;;;;;8675:10:0;;;;8696:21;8667:51;;;;;8675:10;8667:51;8675:10;8667:51;8696:21;8675:10;8667:51;;;;;;;;;;;;;;;;;;;;;8563:426;:::o;8625:126::-;8786:4;-1:-1:-1;;;;;8769:22:0;;;8761:61;;;;-1:-1:-1;;;8761:61:0;;9425:2:1;8761:61:0;;;9407:21:1;9464:2;9444:18;;;9437:30;9503:28;9483:18;;;9476:56;9549:18;;8761:61:0;9223:350:1;8761:61:0;8895:35;;-1:-1:-1;;;8895:35:0;;8924:4;8895:35;;;3756:51:1;8860:5:0;;8833:17;;-1:-1:-1;;;;;8895:20:0;;;;;3729:18:1;;8895:35:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8961:10;;8941:40;;-1:-1:-1;;;8941:40:0;;-1:-1:-1;;;;;8961:10:0;;;8941:40;;;9941:51:1;10008:18;;;10001:34;;;8877:53:0;;-1:-1:-1;8941:19:0;;;;;9914:18:1;;8941:40:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;8614:375;;8563:426;:::o;8997:1331::-;9088:4;-1:-1:-1;;;;;9113:20:0;;9105:70;;;;-1:-1:-1;;;9105:70:0;;10498:2:1;9105:70:0;;;10480:21:1;10537:2;10517:18;;;10510:30;10576:34;10556:18;;;10549:62;-1:-1:-1;;;10627:18:1;;;10620:35;10672:19;;9105:70:0;10296:401:1;9105:70:0;-1:-1:-1;;;;;9194:23:0;;9186:71;;;;-1:-1:-1;;;9186:71:0;;10904:2:1;9186:71:0;;;10886:21:1;10943:2;10923:18;;;10916:30;10982:34;10962:18;;;10955:62;-1:-1:-1;;;11033:18:1;;;11026:33;11076:19;;9186:71:0;10702:399:1;9186:71:0;9285:1;9276:6;:10;9268:49;;;;-1:-1:-1;;;9268:49:0;;11308:2:1;9268:49:0;;;11290:21:1;11347:2;11327:18;;;11320:30;11386:28;11366:18;;;11359:56;11432:18;;9268:49:0;11106:350:1;9268:49:0;9334:6;;;;;:35;;-1:-1:-1;831:10:0;9344:25;;;;:11;:25;;;;;;;;9334:35;:58;;;-1:-1:-1;;;;;;9373:19:0;;;;;;:11;:19;;;;;;;;9334:58;9330:139;;;9416:41;9431:6;9439:9;9450:6;9416:14;:41::i;:::-;9409:48;;;;9330:139;9495:15;-1:-1:-1;;;;;9485:25:0;:6;-1:-1:-1;;;;;9485:25:0;;;:57;;;;;9527:15;-1:-1:-1;;;;;9514:28:0;:9;-1:-1:-1;;;;;9514:28:0;;;9485:57;9481:138;;;9566:41;9581:6;9589:9;9600:6;9566:14;:41::i;9481:138::-;9635:17;:15;:17::i;:::-;:49;;;;;9669:15;-1:-1:-1;;;;;9656:28:0;:9;-1:-1:-1;;;;;9656:28:0;;9635:49;9631:93;;;9701:11;:9;:11::i;:::-;9734:24;9761:26;9780:6;9761:18;:26::i;:::-;-1:-1:-1;;;;;9806:15:0;;;;;;:7;:15;;;;;;9734:53;;-1:-1:-1;9806:35:0;-1:-1:-1;9806:35:0;9798:68;;;;-1:-1:-1;;;9798:68:0;;11663:2:1;9798:68:0;;;11645:21:1;11702:2;11682:18;;;11675:30;-1:-1:-1;;;11721:18:1;;;11714:50;11781:18;;9798:68:0;11461:344:1;9798:68:0;-1:-1:-1;;;;;9895:15:0;;;;;;:7;:15;;;;;;:34;;9913:16;;9895:34;:::i;:::-;-1:-1:-1;;;;;9877:15:0;;;;;;:7;:15;;;;;:52;;;;9971:33;9885:6;9994:9;9971:14;:33::i;:::-;:170;;10125:16;9971:170;;;10020:89;10052:15;-1:-1:-1;;;;;10042:25:0;:6;-1:-1:-1;;;;;10042:25:0;;:40;;10077:5;10042:40;;;10070:4;10042:40;10084:6;10092:16;10020:21;:89::i;:::-;-1:-1:-1;;;;;10173:18:0;;;;;;:7;:18;;;;;;9942:199;;-1:-1:-1;10173:39:0;;9942:199;;10173:39;:::i;:::-;-1:-1:-1;;;;;10152:18:0;;;;;;;:7;:18;;;;;:60;;;;10230:68;;-1:-1:-1;;;;;;;;;;;10258:39:0;10278:18;10258:19;:39::i;:::-;10230:68;;160:25:1;;;148:2;133:18;10230:68:0;;;;;;;-1:-1:-1;10316:4:0;;8997:1331;-1:-1:-1;;;;;8997:1331:0:o;1379:132::-;1330:7;1357:6;-1:-1:-1;;;;;1357:6:0;831:10;1443:23;1435:68;;;;-1:-1:-1;;;1435:68:0;;12142:2:1;1435:68:0;;;12124:21:1;;;12161:18;;;12154:30;12220:34;12200:18;;;12193:62;12272:18;;1435:68:0;11940:356:1;1839:191:0;1913:16;1932:6;;-1:-1:-1;;;;;1949:17:0;;;-1:-1:-1;;;;;;1949:17:0;;;;;;1982:40;;1932:6;;;;;;;1982:40;;1913:16;1982:40;1902:128;1839:191;:::o;10336:454::-;10428:4;10445:24;10472:26;10491:6;10472:18;:26::i;:::-;-1:-1:-1;;;;;10517:15:0;;;;;;:7;:15;;;;;;10445:53;;-1:-1:-1;10517:35:0;-1:-1:-1;10517:35:0;10509:68;;;;-1:-1:-1;;;10509:68:0;;11663:2:1;10509:68:0;;;11645:21:1;11702:2;11682:18;;;11675:30;-1:-1:-1;;;11721:18:1;;;11714:50;11781:18;;10509:68:0;11461:344:1;10509:68:0;-1:-1:-1;;;;;10606:15:0;;;;;;:7;:15;;;;;;:34;;10624:16;;10606:34;:::i;:::-;-1:-1:-1;;;;;10588:15:0;;;;;;;:7;:15;;;;;;:52;;;;10672:18;;;;;;;:37;;10693:16;;10672:37;:::i;:::-;-1:-1:-1;;;;;10651:18:0;;;;;;;:7;:18;;;;;;;:58;;;;10725:35;;;;;;-1:-1:-1;;;;;;;;;;;10725:35:0;;;10753:6;160:25:1;;148:2;133:18;;14:177;10725:35:0;;;;;;;;-1:-1:-1;10778:4:0;;10336:454;-1:-1:-1;;;;10336:454:0:o;12174:166::-;12223:4;12247:10;-1:-1:-1;;;;;12261:15:0;12247:29;;;;;:40;;-1:-1:-1;12281:6:0;;;;12280:7;12247:40;:85;;;;;12319:13;;12291:24;12309:4;12291:9;:24::i;:::-;:41;;12247:85;12240:92;;12174:166;:::o;12348:1143::-;5036:6;:13;;5045:4;-1:-1:-1;;5036:13:0;;;;;;12397:30:::1;::::0;;::::1;::::0;::::1;::::0;;12420:7:::1;12397:30:::0;5036:13;12397:30;;::::1;::::0;;5036:13;12397:30;::::1;::::0;::::1;;::::0;::::1;::::0;;;::::1;::::0;::::1;::::0;;;;;;;;;::::1;::::0;::::1;::::0;;;;;;::::1;::::0;;::::1;::::0;;;;;;-1:-1:-1;;;12397:30:0;;::::1;-1:-1:-1::0;;;;;12397:30:0::1;::::0;;;;;;12466:13:::1;::::0;12397:30;;-1:-1:-1;;12397:30:0;12513:32:::1;::::0;12466:13;12513:32:::1;:::i;:::-;:50;;;;:::i;:::-;12490:73:::0;-1:-1:-1;12574:20:0::1;12597:30;12490:73:::0;12597:15;:30:::1;:::i;:::-;12656:17;::::0;12574:53;;-1:-1:-1;12640:49:0::1;::::0;-1:-1:-1;;;;;12656:17:0::1;12574:53:::0;12640:7:::1;:49::i;:::-;;12719:19;12725:12;12719:5;:19::i;:::-;12792:16;::::0;;12806:1:::1;12792:16:::0;;;;;::::1;::::0;;12768:21:::1;::::0;12792:16:::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;12792:16:0::1;12768:40;;12837:4;12819;12824:1;12819:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12819:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;12863:17:::1;::::0;:24:::1;::::0;;-1:-1:-1;;;12863:24:0;;;;:17;;;::::1;::::0;:22:::1;::::0;:24:::1;::::0;;::::1;::::0;12819:7;;12863:24;;;;;:17;:24:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12853:4;12858:1;12853:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;12853:34:0;;::::1;:7;::::0;;::::1;::::0;;;;;:34;12959:17:::1;::::0;:147:::1;::::0;-1:-1:-1;;;12959:147:0;;12925:21:::1;::::0;12959:17;;;::::1;::::0;:68:::1;::::0;:147:::1;::::0;13042:12;;12900:22:::1;::::0;13059:4;;13073::::1;::::0;13080:15:::1;::::0;12959:147:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;13119:17;13163:14;13139:21;:38;;;;:::i;:::-;13215:15;::::0;13119:58;;-1:-1:-1;;;;;;13215:15:0::1;13207:55;13258:3;13241:14;13119:58:::0;13253:2:::1;13241:14;:::i;:::-;:20;;;;:::i;:::-;13207:55;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13281:10:0::1;::::0;-1:-1:-1;;;;;13281:10:0::1;13273:50;13319:3;13302:14;:9:::0;13314:2:::1;13302:14;:::i;:::-;:20;;;;:::i;:::-;13273:50;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13342:10:0::1;::::0;-1:-1:-1;;;;;13342:10:0::1;13334:49;13379:3;13363:13;:9:::0;13375:1:::1;13363:13;:::i;:::-;:19;;;;:::i;:::-;13334:49;::::0;;::::1;::::0;;::::1;::::0;::::1;::::0;;;;;;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13402:10:0::1;::::0;13394:51:::1;::::0;-1:-1:-1;;;;;13402:10:0;;::::1;::::0;13423:21:::1;13394:51:::0;::::1;;;::::0;13402:10:::1;13394:51:::0;13402:10;13394:51;13423:21;13402:10;13394:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;13463:18:0::1;::::0;160:25:1;;;13463:18:0::1;::::0;148:2:1;133:18;13463::0::1;;;;;;;-1:-1:-1::0;;5072:6:0;:14;;-1:-1:-1;;5072:14:0;;;-1:-1:-1;;;;;12348:1143:0:o;13499:160::-;-1:-1:-1;;;;;13605:19:0;;13580:4;13605:19;;;:11;:19;;;;;;;;13604:20;:47;;;;-1:-1:-1;;;;;;;13629:22:0;;;;;:11;:22;;;;;;;;13628:23;;13499:160;-1:-1:-1;13499:160:0:o;11050:1114::-;11173:28;;;;;;;;;11195:6;11173:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;;;;11173:28:0;;;;;;;;;;;;;;11212:30;;;;;;;11235:7;11212:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11153:7;;;11298:14;;;11173:28;11298:14;:99;;11394:3;11376:9;:15;;;-1:-1:-1;;;;;11357:34:0;:16;:34;;;;:::i;:::-;:40;;;;:::i;:::-;11298:99;;;11351:3;11334:8;:14;;;-1:-1:-1;;;;;11315:33:0;:16;:33;;;;:::i;:::-;:39;;;;:::i;:::-;11255:142;-1:-1:-1;11430:27:0;11470:4;11460:14;;;;:164;;11609:9;:15;;;-1:-1:-1;;;;;11564:60:0;11586:9;:20;;;11564:42;;:19;:42;;;;:::i;:::-;:60;;;;:::i;:::-;11460:164;;;11534:8;:14;;;-1:-1:-1;;;;;11490:58:0;11512:8;:19;;;11490:41;;:19;:41;;;;:::i;:::-;:58;;;;:::i;:::-;11430:194;;11675:19;11656:16;;:38;;;;:::i;:::-;11637:16;:57;11729:29;11761:41;11783:19;11761;:41;:::i;:::-;11729:73;-1:-1:-1;11817:25:0;;11813:226;;11900:4;11884:22;;;;:7;:22;;;;;;:46;;11909:21;;11884:46;:::i;:::-;11875:4;11859:22;;;;:7;:22;;;;;:71;;;;-1:-1:-1;;;;;11952:75:0;;-1:-1:-1;;;;;;;;;;;11984:42:0;12004:21;11984:19;:42::i;:::-;11952:75;;160:25:1;;;148:2;133:18;11952:75:0;;;;;;;11813:226;12083:16;;12054:46;;;13716:25:1;;;13772:2;13757:18;;13750:34;;;;12054:46:0;;13689:18:1;12054:46:0;;;;;;;12118:38;12137:19;12118:16;:38;:::i;:::-;12111:45;11050:1114;-1:-1:-1;;;;;;;;;11050:1114:0:o;10798:244::-;10867:4;10851:22;;;;:7;:22;;;;;:32;;10877:6;;10851:22;:32;;10877:6;;10851:32;:::i;:::-;;;;;;;;10910:6;10894:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;10934:37:0;;160:25:1;;;3360:1:0;;10951:4;;-1:-1:-1;;;;;;;;;;;10934:37:0;148:2:1;133:18;10934:37:0;;;;;;;10987:12;;160:25:1;;;10987:12:0;;148:2:1;133:18;10987:12:0;;;;;;;11028:6;11012:12;;:22;;;;;;;:::i;:::-;;;;-1:-1:-1;;;10798:244:0:o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:247::-;1456:6;1509:2;1497:9;1488:7;1484:23;1480:32;1477:52;;;1525:1;1522;1515:12;1477:52;1564:9;1551:23;1583:31;1608:5;1583:31;:::i;1649:456::-;1726:6;1734;1742;1795:2;1783:9;1774:7;1770:23;1766:32;1763:52;;;1811:1;1808;1801:12;1763:52;1850:9;1837:23;1869:31;1894:5;1869:31;:::i;:::-;1919:5;-1:-1:-1;1976:2:1;1961:18;;1948:32;1989:33;1948:32;1989:33;:::i;:::-;1649:456;;2041:7;;-1:-1:-1;;;2095:2:1;2080:18;;;;2067:32;;1649:456::o;2726:180::-;2785:6;2838:2;2826:9;2817:7;2813:23;2809:32;2806:52;;;2854:1;2851;2844:12;2806:52;-1:-1:-1;2877:23:1;;2726:180;-1:-1:-1;2726:180:1:o;3100:118::-;3186:5;3179:13;3172:21;3165:5;3162:32;3152:60;;3208:1;3205;3198:12;3223:382;3288:6;3296;3349:2;3337:9;3328:7;3324:23;3320:32;3317:52;;;3365:1;3362;3355:12;3317:52;3404:9;3391:23;3423:31;3448:5;3423:31;:::i;:::-;3473:5;-1:-1:-1;3530:2:1;3515:18;;3502:32;3543:30;3502:32;3543:30;:::i;:::-;3592:7;3582:17;;;3223:382;;;;;:::o;3818:127::-;3879:10;3874:3;3870:20;3867:1;3860:31;3910:4;3907:1;3900:15;3934:4;3931:1;3924:15;3950:275;4021:2;4015:9;4086:2;4067:13;;-1:-1:-1;;4063:27:1;4051:40;;4121:18;4106:34;;4142:22;;;4103:62;4100:88;;;4168:18;;:::i;:::-;4204:2;4197:22;3950:275;;-1:-1:-1;3950:275:1:o;4230:183::-;4290:4;4323:18;4315:6;4312:30;4309:56;;;4345:18;;:::i;:::-;-1:-1:-1;4390:1:1;4386:14;4402:4;4382:25;;4230:183::o;4418:662::-;4472:5;4525:3;4518:4;4510:6;4506:17;4502:27;4492:55;;4543:1;4540;4533:12;4492:55;4579:6;4566:20;4605:4;4629:60;4645:43;4685:2;4645:43;:::i;:::-;4629:60;:::i;:::-;4723:15;;;4809:1;4805:10;;;;4793:23;;4789:32;;;4754:12;;;;4833:15;;;4830:35;;;4861:1;4858;4851:12;4830:35;4897:2;4889:6;4885:15;4909:142;4925:6;4920:3;4917:15;4909:142;;;4991:17;;4979:30;;5029:12;;;;4942;;4909:142;;;-1:-1:-1;5069:5:1;4418:662;-1:-1:-1;;;;;;4418:662:1:o;5085:1215::-;5203:6;5211;5264:2;5252:9;5243:7;5239:23;5235:32;5232:52;;;5280:1;5277;5270:12;5232:52;5320:9;5307:23;5349:18;5390:2;5382:6;5379:14;5376:34;;;5406:1;5403;5396:12;5376:34;5444:6;5433:9;5429:22;5419:32;;5489:7;5482:4;5478:2;5474:13;5470:27;5460:55;;5511:1;5508;5501:12;5460:55;5547:2;5534:16;5569:4;5593:60;5609:43;5649:2;5609:43;:::i;5593:60::-;5687:15;;;5769:1;5765:10;;;;5757:19;;5753:28;;;5718:12;;;;5793:19;;;5790:39;;;5825:1;5822;5815:12;5790:39;5849:11;;;;5869:217;5885:6;5880:3;5877:15;5869:217;;;5965:3;5952:17;5982:31;6007:5;5982:31;:::i;:::-;6026:18;;5902:12;;;;6064;;;;5869:217;;;6105:5;-1:-1:-1;;6148:18:1;;6135:32;;-1:-1:-1;;6179:16:1;;;6176:36;;;6208:1;6205;6198:12;6176:36;;6231:63;6286:7;6275:8;6264:9;6260:24;6231:63;:::i;:::-;6221:73;;;5085:1215;;;;;:::o;6539:388::-;6607:6;6615;6668:2;6656:9;6647:7;6643:23;6639:32;6636:52;;;6684:1;6681;6674:12;6636:52;6723:9;6710:23;6742:31;6767:5;6742:31;:::i;:::-;6792:5;-1:-1:-1;6849:2:1;6834:18;;6821:32;6862:33;6821:32;6862:33;:::i;6932:380::-;7011:1;7007:12;;;;7054;;;7075:61;;7129:4;7121:6;7117:17;7107:27;;7075:61;7182:2;7174:6;7171:14;7151:18;7148:38;7145:161;;7228:10;7223:3;7219:20;7216:1;7209:31;7263:4;7260:1;7253:15;7291:4;7288:1;7281:15;7145:161;;6932:380;;;:::o;7675:127::-;7736:10;7731:3;7727:20;7724:1;7717:31;7767:4;7764:1;7757:15;7791:4;7788:1;7781:15;7807:128;7874:9;;;7895:11;;;7892:37;;;7909:18;;:::i;7940:168::-;8013:9;;;8044;;8061:15;;;8055:22;;8041:37;8031:71;;8082:18;;:::i;8113:217::-;8153:1;8179;8169:132;;8223:10;8218:3;8214:20;8211:1;8204:31;8258:4;8255:1;8248:15;8286:4;8283:1;8276:15;8169:132;-1:-1:-1;8315:9:1;;8113:217::o;8684:127::-;8745:10;8740:3;8736:20;8733:1;8726:31;8776:4;8773:1;8766:15;8800:4;8797:1;8790:15;9578:184;9648:6;9701:2;9689:9;9680:7;9676:23;9672:32;9669:52;;;9717:1;9714;9707:12;9669:52;-1:-1:-1;9740:16:1;;9578:184;-1:-1:-1;9578:184:1:o;10046:245::-;10113:6;10166:2;10154:9;10145:7;10141:23;10137:32;10134:52;;;10182:1;10179;10172:12;10134:52;10214:9;10208:16;10233:28;10255:5;10233:28;:::i;11810:125::-;11875:9;;;11896:10;;;11893:36;;;11909:18;;:::i;12301:251::-;12371:6;12424:2;12412:9;12403:7;12399:23;12395:32;12392:52;;;12440:1;12437;12430:12;12392:52;12472:9;12466:16;12491:31;12516:5;12491:31;:::i;12557:980::-;12819:4;12867:3;12856:9;12852:19;12898:6;12887:9;12880:25;12924:2;12962:6;12957:2;12946:9;12942:18;12935:34;13005:3;13000:2;12989:9;12985:18;12978:31;13029:6;13064;13058:13;13095:6;13087;13080:22;13133:3;13122:9;13118:19;13111:26;;13172:2;13164:6;13160:15;13146:29;;13193:1;13203:195;13217:6;13214:1;13211:13;13203:195;;;13282:13;;-1:-1:-1;;;;;13278:39:1;13266:52;;13373:15;;;;13338:12;;;;13314:1;13232:9;13203:195;;;-1:-1:-1;;;;;;;13454:32:1;;;;13449:2;13434:18;;13427:60;-1:-1:-1;;;13518:3:1;13503:19;13496:35;13415:3;12557:980;-1:-1:-1;;;12557:980:1:o

Swarm Source

ipfs://7e47a50c0afd4db15ba2c7ad566fd84064e339a951a27756ffaf009c730a3af0

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.