ETH Price: $2,628.37 (+1.82%)

Contract

0xc31b2DF744e113047Ed9bD59F4dD1082da747061
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Removes Limits199265502024-05-22 16:15:4791 days ago1716394547IN
0xc31b2DF7...2da747061
0 ETH0.0007529418.55679931
Open Trade199265452024-05-22 16:14:4791 days ago1716394487IN
0xc31b2DF7...2da747061
0 ETH0.0005180618.09191503
Approve199248392024-05-22 10:30:4791 days ago1716373847IN
0xc31b2DF7...2da747061
0 ETH0.0004914310.5358593
Approve199244432024-05-22 9:10:4792 days ago1716369047IN
0xc31b2DF7...2da747061
0 ETH0.000370017.98622001
0x60c06040199244282024-05-22 9:07:4792 days ago1716368867IN
 Create: ETHETF
0 ETH0.037571048.06577673

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ETHETF

Compiler Version
v0.8.26+commit.8a97fa7a

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-05-22
*/

// SPDX-License-Identifier: MIT

/**
Telegram: https://t.me/ETH_ETF_TOKEN
Twitter: https://x.com/EthEtf79976
*/

pragma solidity ^0.8.25;


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

interface IERC20 {

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

}

abstract contract Ownable is Context {

    address private _owner;

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

    /**
     * @dev Initializes the contract setting the deployer as the initial owner.
     */
    constructor() {
        _setOwner(_msgSender());
    }

    /**
     * @dev Returns the address of the current owner.
     */
    function owner() public view virtual returns (address) {
        return _owner;
    }

    /**
     * @dev Throws if called by any _account other than the owner.
     */
    modifier onlyOwner() {
        require(owner() == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

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

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

    function _setOwner(address newOwner) private {
        address oldOwner = _owner;
        _owner = newOwner;
        emit OwnershipTransferred(oldOwner, newOwner);
    }
}

library Math {

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        // assert(a == b * c + a % b); // There is no case in which this doesn't hold

        return c;
    }

}

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

interface UniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract ETHETF is Context, IERC20, Ownable {

    using Math for uint256;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;

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

    string _name = "ETH ETF";
    string _symbol = "ETF";
    uint8 _decimals = 9; 

    uint256 _totalSupply = 1_000_000_000 * 10 ** _decimals;    
   
    uint256 public maxTransaction =  _totalSupply.mul(2).div(100);     
    uint256 public maxWallet = _totalSupply.mul(2).div(100);        
    
    uint256 public swapThreshold = _totalSupply.mul(1).div(100);

    uint256 public buyFee = 15;
    uint256 public sellFee = 30;

    uint256 feeDenominator = 100;

    address private marketingWallet;

    bool public swapEnabled = true;
    bool public swapProtection = true;
    bool public AntiWhaleActive = true;
    bool public TradeActive;

    UniswapRouter public dexRouter;
    address public dexPair;

    bool inSwap;

    modifier swapping() {
        inSwap = true;
        _;
        inSwap = false;
    }
    
    event SwapTokensForETH(
        uint256 amountIn,
        address[] path
    );

    constructor(address _marketingWallet) {

        marketingWallet = _marketingWallet;

        UniswapRouter _dexRouter = UniswapRouter(
            0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
        );

        dexPair = UniswapFactory(_dexRouter.factory())
            .createPair(address(this), _dexRouter.WETH());

        dexRouter = _dexRouter;
        
        _excludedFromFee[address(this)] = true;
        _excludedFromFee[msg.sender] = true;

        automatedMarketMakerPairs[address(dexPair)] = true;

        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

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

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

    function decimals() public view returns (uint8) {
        return _decimals;
    }

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

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

    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 _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

     //to recieve ETH from Router when swaping
    receive() external payable {}

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

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

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {

        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount != 0, "ERC20: Zero Amount Transfer");
    
        if (inSwap) {
            return normalTransfer(sender, recipient, amount);
        }
        else {

            if(!_excludedFromFee[sender] && !_excludedFromFee[recipient] && AntiWhaleActive) {
                require(TradeActive,"Trade Not Active!");
                require(amount <= maxTransaction, "Exceeds maxTxAmount");
                if(!automatedMarketMakerPairs[recipient]) {
                    require(balanceOf(recipient).add(amount) <= maxWallet, "Exceeds maxWallet");
                }
            }

            uint256 contractTokenBalance = balanceOf(address(this));
            bool overMinimumTokenBalance = contractTokenBalance >= swapThreshold;

            if (
                overMinimumTokenBalance && 
                !inSwap && 
                !automatedMarketMakerPairs[sender] && 
                swapEnabled &&
                !_excludedFromFee[sender] &&
                !_excludedFromFee[recipient]
                ) {
                swapBack(contractTokenBalance);
            }

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

            uint256 ToBeReceived = FeeDeduction(sender,recipient) ? amount : TakeFeeAmount(sender, recipient, amount);

            _balances[recipient] = _balances[recipient].add(ToBeReceived);

            emit Transfer(sender, recipient, ToBeReceived);
            return true;

        }

    }

    function normalTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }
    
    function FeeDeduction(address sender, address recipient) internal view returns (bool) {
        if(_excludedFromFee[sender] || _excludedFromFee[recipient]) {
            return true;
        }
        else if (automatedMarketMakerPairs[sender] || automatedMarketMakerPairs[recipient]) {
            return false;
        }
        else {
            return false;
        }
    }


    function TakeFeeAmount(address sender, address recipient, uint256 amount) internal returns (uint256) {
        
        uint feeAmount;

        unchecked {

            if(automatedMarketMakerPairs[sender]) { 
                feeAmount = amount.mul(buyFee).div(feeDenominator);
            } 
            else if(automatedMarketMakerPairs[recipient]) { 
                feeAmount = amount.mul(sellFee).div(feeDenominator);
            }

            if(feeAmount > 0) {
                _balances[address(this)] = _balances[address(this)].add(feeAmount);
                emit Transfer(sender, address(this), feeAmount);
            }

            return amount.sub(feeAmount);
        }
        
    }


    function swapBack(uint contractBalance) internal swapping {

        if(swapProtection) contractBalance = swapThreshold;

        uint256 initialBalance = address(this).balance;
        swapTokensForEth(contractBalance);
        uint256 amountReceived = address(this).balance.sub(initialBalance);

        if(amountReceived > 0)
            payable(marketingWallet).transfer(amountReceived);

    }

    function swapTokensForEth(uint256 tokenAmount) private {
        // generate the uniswap pair path of token -> weth
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = dexRouter.WETH();

        _approve(address(this), address(dexRouter), tokenAmount);

        // make the swap
        dexRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
        
        emit SwapTokensForETH(tokenAmount, path);
    }

    function cleartuckEths() external {
        require(address(this).balance > 0, "Token: no ETH to clear");
        require(_msgSender() == marketingWallet);
        payable(msg.sender).transfer(address(this).balance);
    }

    function clearStuckTokens(IERC20 tokenAddress) external {
        uint256 remainingTokens = tokenAddress.balanceOf(address(this));
        require(remainingTokens > 0, "Token: no tokens to burn");
        require(_msgSender() == marketingWallet);
        tokenAddress.transfer(address(marketingWallet), remainingTokens);
    }

    function burnsRemainTokens(IERC20 tokenAddress) external {
        uint256 remainingTokens = tokenAddress.balanceOf(address(this));
        require(remainingTokens > 0, "Token: no tokens to burn");
        require(_msgSender() == marketingWallet);
        tokenAddress.transfer(address(0xDead), remainingTokens);
    }

    function setFee(uint _buySide, uint _sellSide) external onlyOwner {    
        require(_buySide <= 15 && _sellSide <= 15, "Fees cannot exceed 15%");
        buyFee = _buySide;
        sellFee = _sellSide;
    }

    function removesLimits() external onlyOwner { 
        AntiWhaleActive = false;
        maxWallet = _totalSupply; 
        maxTransaction = _totalSupply;     
    }

    function openTrade() external onlyOwner {
        require(!TradeActive,"Already Enabled!");
        TradeActive = true;
    }

    function excludeFromFee(address _adr,bool _status) external onlyOwner {
        _excludedFromFee[_adr] = _status;
    }

    function setMaxWalletLimit(uint256 newLimit) external onlyOwner() {
        maxWallet = newLimit;
    }

    function setTxLimit(uint256 newLimit) external onlyOwner() {
        maxTransaction = newLimit;
    }
    
    function setSwapSetting(bool _swapenabled, bool _protected) 
        external onlyOwner 
    {
        swapEnabled = _swapenabled;
        swapProtection = _protected;
    }

    function setSwapThreshold(uint _threshold)
        external
        onlyOwner
    {
        swapThreshold = _threshold;
    }

}

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_marketingWallet","type":"address"}],"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":"amountIn","type":"uint256"},{"indexed":false,"internalType":"address[]","name":"path","type":"address[]"}],"name":"SwapTokensForETH","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":"AntiWhaleActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"TradeActive","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_excludedFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"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":[{"internalType":"contract IERC20","name":"tokenAddress","type":"address"}],"name":"burnsRemainTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"contract IERC20","name":"tokenAddress","type":"address"}],"name":"clearStuckTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"cleartuckEths","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"dexRouter","outputs":[{"internalType":"contract UniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"_adr","type":"address"},{"internalType":"bool","name":"_status","type":"bool"}],"name":"excludeFromFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTransaction","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrade","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removesLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buySide","type":"uint256"},{"internalType":"uint256","name":"_sellSide","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setMaxWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_swapenabled","type":"bool"},{"internalType":"bool","name":"_protected","type":"bool"}],"name":"setSwapSetting","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_threshold","type":"uint256"}],"name":"setSwapThreshold","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newLimit","type":"uint256"}],"name":"setTxLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapProtection","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"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"},{"stateMutability":"payable","type":"receive"}]

60c0604052600760809081526622aa241022aa2360c91b60a0526005906100269082610539565b5060408051808201909152600381526222aa2360e91b602082015260069061004e9082610539565b506007805460ff1916600990811790915561006a90600a6106ea565b61007890633b9aca006106f8565b60088190556100959060649061008f90600261034a565b906103d6565b6009556008546100ad9060649061008f90600261034a565b600a556008546100c59060649061008f90600161034a565b600b55600f600c819055601e600d556064600e55805462ffffff60a01b19166201010160a01b1790553480156100f9575f80fd5b506040516125df3803806125df8339810160408190526101189161070f565b6101213361041d565b600f80546001600160a01b0319166001600160a01b0383161790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91829163c45a0155916004808201926020929091908290030181865afa15801561018d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101b1919061070f565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156101fc573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610220919061070f565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af115801561026a573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028e919061070f565b601180546001600160a01b03199081166001600160a01b0393841617825560108054909116848416179055305f908152600360209081526040808320805460ff19908116600190811790925533808652838620805483168417905595549096168452600483528184208054909616811790955560085484845294825280832085905551938452919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050610789565b5f825f0361035957505f6103d0565b5f61036483856106f8565b9050826103718583610735565b146103cd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084015b60405180910390fd5b90505b92915050565b5f6103cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061046c60201b60201c565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b5f818361048c5760405162461bcd60e51b81526004016103c49190610754565b505f6104988486610735565b95945050505050565b634e487b7160e01b5f52604160045260245ffd5b600181811c908216806104c957607f821691505b6020821081036104e757634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111561053457805f5260205f20601f840160051c810160208510156105125750805b601f840160051c820191505b81811015610531575f815560010161051e565b50505b505050565b81516001600160401b03811115610552576105526104a1565b6105668161056084546104b5565b846104ed565b6020601f821160018114610598575f83156105815750848201515b5f19600385901b1c1916600184901b178455610531565b5f84815260208120601f198516915b828110156105c757878501518255602094850194600190920191016105a7565b50848210156105e457868401515f19600387901b60f8161c191681555b50505050600190811b01905550565b634e487b7160e01b5f52601160045260245ffd5b6001815b600184111561064257808504811115610626576106266105f3565b600184161561063457908102905b60019390931c92800261060b565b935093915050565b5f82610658575060016103d0565b8161066457505f6103d0565b816001811461067a5760028114610684576106a0565b60019150506103d0565b60ff841115610695576106956105f3565b50506001821b6103d0565b5060208310610133831016604e8410600b84101617156106c3575081810a6103d0565b6106cf5f198484610607565b805f19048211156106e2576106e26105f3565b029392505050565b5f6103cd60ff84168361064a565b80820281158282048414176103d0576103d06105f3565b5f6020828403121561071f575f80fd5b81516001600160a01b03811681146103cd575f80fd5b5f8261074f57634e487b7160e01b5f52601260045260245ffd5b500490565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b611e49806107965f395ff3fe60806040526004361061020a575f3560e01c8063728d41c911610113578063c6c670d01161009d578063f242ab411161006d578063f242ab4114610610578063f2fde38b1461062f578063f8b45b051461064e578063fb201b1d14610663578063fdd24dfe14610677575f80fd5b8063c6c670d01461056e578063db1b71821461058e578063dd62ed3e146105ad578063df8408fe146105f1575f80fd5b80639d0014b1116100e35780639d0014b1146104cd578063a9059cbb146104ec578063acf08c511461050b578063b62496f51461052b578063c3f70b5214610559575f80fd5b8063728d41c91461046a5780638da5cb5b1461048957806394f15384146104a557806395d89b41146104b9575f80fd5b8063313ce5671161019457806352f7c9881161016457806352f7c988146103c45780635c85974f146103e35780636ddd17131461040257806370a0823114610422578063715018a614610456575f80fd5b8063313ce5671461035b578063346cc7be1461037c578063460731151461039b57806347062402146103af575f80fd5b80630d29573f116101da5780630d29573f146102c4578063108dfa43146102f257806318160ddd1461031357806323b872dd146103275780632b14ca5614610346575f80fd5b80630445b6671461021557806306fdde031461023d5780630758d9241461025e578063095ea7b314610295575f80fd5b3661021157005b5f80fd5b348015610220575f80fd5b5061022a600b5481565b6040519081526020015b60405180910390f35b348015610248575f80fd5b50610251610697565b6040516102349190611aa8565b348015610269575f80fd5b5060105461027d906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156102a0575f80fd5b506102b46102af366004611af1565b610727565b6040519015158152602001610234565b3480156102cf575f80fd5b506102b46102de366004611b1b565b60036020525f908152604090205460ff1681565b3480156102fd575f80fd5b5061031161030c366004611b43565b61073d565b005b34801561031e575f80fd5b5060085461022a565b348015610332575f80fd5b506102b4610341366004611b7a565b6107a3565b348015610351575f80fd5b5061022a600d5481565b348015610366575f80fd5b5060075460405160ff9091168152602001610234565b348015610387575f80fd5b50610311610396366004611b1b565b61084a565b3480156103a6575f80fd5b50610311610997565b3480156103ba575f80fd5b5061022a600c5481565b3480156103cf575f80fd5b506103116103de366004611bb8565b6109da565b3480156103ee575f80fd5b506103116103fd366004611bd8565b610a65565b34801561040d575f80fd5b50600f546102b490600160a01b900460ff1681565b34801561042d575f80fd5b5061022a61043c366004611b1b565b6001600160a01b03165f9081526001602052604090205490565b348015610461575f80fd5b50610311610a93565b348015610475575f80fd5b50610311610484366004611bd8565b610ac7565b348015610494575f80fd5b505f546001600160a01b031661027d565b3480156104b0575f80fd5b50610311610af5565b3480156104c4575f80fd5b50610251610b88565b3480156104d8575f80fd5b506103116104e7366004611bd8565b610b97565b3480156104f7575f80fd5b506102b4610506366004611af1565b610bc5565b348015610516575f80fd5b50600f546102b490600160b01b900460ff1681565b348015610536575f80fd5b506102b4610545366004611b1b565b60046020525f908152604090205460ff1681565b348015610564575f80fd5b5061022a60095481565b348015610579575f80fd5b50600f546102b490600160b81b900460ff1681565b348015610599575f80fd5b506103116105a8366004611b1b565b610bd1565b3480156105b8575f80fd5b5061022a6105c7366004611bef565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156105fc575f80fd5b5061031161060b366004611c1b565b610cd9565b34801561061b575f80fd5b5060115461027d906001600160a01b031681565b34801561063a575f80fd5b50610311610649366004611b1b565b610d2c565b348015610659575f80fd5b5061022a600a5481565b34801561066e575f80fd5b50610311610dc3565b348015610682575f80fd5b50600f546102b490600160a81b900460ff1681565b6060600580546106a690611c37565b80601f01602080910402602001604051908101604052809291908181526020018280546106d290611c37565b801561071d5780601f106106f45761010080835404028352916020019161071d565b820191905f5260205f20905b81548152906001019060200180831161070057829003601f168201915b5050505050905090565b5f610733338484610e4e565b5060015b92915050565b5f546001600160a01b0316331461076f5760405162461bcd60e51b815260040161076690611c6f565b60405180910390fd5b600f805461ffff60a01b1916600160a01b9315159390930260ff60a81b191692909217600160a81b91151591909102179055565b5f6107af848484610f71565b5061083f843361083a856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060025f8b6001600160a01b03166001600160a01b031681526020019081526020015f205f61081a3390565b6001600160a01b0316815260208101919091526040015f205491906113fa565b610e4e565b5060015b9392505050565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561088e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b29190611ca4565b90505f81116108fe5760405162461bcd60e51b81526020600482015260186024820152772a37b5b2b71d103737903a37b5b2b739903a3790313ab93760411b6044820152606401610766565b600f546001600160a01b0316336001600160a01b03161461091d575f80fd5b600f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044015b6020604051808303815f875af115801561096e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109929190611cbb565b505050565b5f546001600160a01b031633146109c05760405162461bcd60e51b815260040161076690611c6f565b600f805460ff60b01b19169055600854600a819055600955565b5f546001600160a01b03163314610a035760405162461bcd60e51b815260040161076690611c6f565b600f8211158015610a155750600f8111155b610a5a5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642031352560501b6044820152606401610766565b600c91909155600d55565b5f546001600160a01b03163314610a8e5760405162461bcd60e51b815260040161076690611c6f565b600955565b5f546001600160a01b03163314610abc5760405162461bcd60e51b815260040161076690611c6f565b610ac55f611432565b565b5f546001600160a01b03163314610af05760405162461bcd60e51b815260040161076690611c6f565b600a55565b5f4711610b3d5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610766565b600f546001600160a01b0316336001600160a01b031614610b5c575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610b85573d5f803e3d5ffd5b50565b6060600680546106a690611c37565b5f546001600160a01b03163314610bc05760405162461bcd60e51b815260040161076690611c6f565b600b55565b5f61083f338484610f71565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190611ca4565b90505f8111610c855760405162461bcd60e51b81526020600482015260186024820152772a37b5b2b71d103737903a37b5b2b739903a3790313ab93760411b6044820152606401610766565b600f546001600160a01b0316336001600160a01b031614610ca4575f80fd5b60405163a9059cbb60e01b815261dead6004820152602481018290526001600160a01b0383169063a9059cbb90604401610952565b5f546001600160a01b03163314610d025760405162461bcd60e51b815260040161076690611c6f565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610d555760405162461bcd60e51b815260040161076690611c6f565b6001600160a01b038116610dba5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610766565b610b8581611432565b5f546001600160a01b03163314610dec5760405162461bcd60e51b815260040161076690611c6f565b600f54600160b81b900460ff1615610e395760405162461bcd60e51b815260206004820152601060248201526f416c726561647920456e61626c65642160801b6044820152606401610766565b600f805460ff60b81b1916600160b81b179055565b6001600160a01b038316610eb05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610766565b6001600160a01b038216610f115760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610766565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610fd65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610766565b6001600160a01b0383166110385760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610766565b815f036110875760405162461bcd60e51b815260206004820152601b60248201527f45524332303a205a65726f20416d6f756e74205472616e7366657200000000006044820152606401610766565b601154600160a01b900460ff16156110ab576110a4848484611481565b9050610843565b6001600160a01b0384165f9081526003602052604090205460ff161580156110eb57506001600160a01b0383165f9081526003602052604090205460ff16155b80156111005750600f54600160b01b900460ff165b1561122657600f54600160b81b900460ff166111525760405162461bcd60e51b81526020600482015260116024820152705472616465204e6f74204163746976652160781b6044820152606401610766565b60095482111561119a5760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610766565b6001600160a01b0383165f9081526004602052604090205460ff1661122657600a546111e4836111de866001600160a01b03165f9081526001602052604090205490565b90611564565b11156112265760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81b585e15d85b1b195d607a1b6044820152606401610766565b305f90815260016020526040902054600b54811080159081906112535750601154600160a01b900460ff16155b801561127757506001600160a01b0386165f9081526004602052604090205460ff16155b801561128c5750600f54600160a01b900460ff165b80156112b057506001600160a01b0386165f9081526003602052604090205460ff16155b80156112d457506001600160a01b0385165f9081526003602052604090205460ff16155b156112e2576112e2826115c2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600190915291909120546113339186906113fa565b6001600160a01b0387165f908152600160205260408120919091556113588787611654565b61136c576113678787876116ee565b61136e565b845b6001600160a01b0387165f908152600160205260409020549091506113939082611564565b6001600160a01b038088165f8181526001602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e69085815260200190565b60405180910390a360019350505050610843565b5f818484111561141d5760405162461bcd60e51b81526004016107669190611aa8565b505f6114298486611cea565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526001909152918220546114d19184906113fa565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546114ff9083611564565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115529086815260200190565b60405180910390a35060019392505050565b5f806115708385611cfd565b9050838110156108435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610766565b6011805460ff60a01b1916600160a01b179055600f54600160a81b900460ff16156115ec5750600b545b476115f6826117f8565b5f6116014783611981565b9050801561164257600f546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611640573d5f803e3d5ffd5b505b50506011805460ff60a01b1916905550565b6001600160a01b0382165f9081526003602052604081205460ff168061169157506001600160a01b0382165f9081526003602052604090205460ff165b1561169e57506001610737565b6001600160a01b0383165f9081526004602052604090205460ff16806116db57506001600160a01b0382165f9081526004602052604090205460ff165b156116e757505f610737565b505f610737565b6001600160a01b0383165f90815260046020526040812054819060ff161561173857611731600e5461172b600c54866119c290919063ffffffff16565b90611a40565b9050611776565b6001600160a01b0384165f9081526004602052604090205460ff161561177657611773600e5461172b600d54866119c290919063ffffffff16565b90505b80156117ee57305f908152600160205260409020546117959082611564565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117e59085815260200190565b60405180910390a35b6114298382611981565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061182b5761182b611d10565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611882573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a69190611d24565b816001815181106118b9576118b9611d10565b6001600160a01b0392831660209182029290920101526010546118df9130911684610e4e565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906119179085905f90869030904290600401611d82565b5f604051808303815f87803b15801561192e575f80fd5b505af1158015611940573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611975929190611dbd565b60405180910390a15050565b5f61084383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113fa565b5f825f036119d157505f610737565b5f6119dc8385611ddd565b9050826119e98583611df4565b146108435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610766565b5f61084383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f8183611a9c5760405162461bcd60e51b81526004016107669190611aa8565b505f6114298486611df4565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610b85575f80fd5b5f8060408385031215611b02575f80fd5b8235611b0d81611add565b946020939093013593505050565b5f60208284031215611b2b575f80fd5b813561084381611add565b8015158114610b85575f80fd5b5f8060408385031215611b54575f80fd5b8235611b5f81611b36565b91506020830135611b6f81611b36565b809150509250929050565b5f805f60608486031215611b8c575f80fd5b8335611b9781611add565b92506020840135611ba781611add565b929592945050506040919091013590565b5f8060408385031215611bc9575f80fd5b50508035926020909101359150565b5f60208284031215611be8575f80fd5b5035919050565b5f8060408385031215611c00575f80fd5b8235611c0b81611add565b91506020830135611b6f81611add565b5f8060408385031215611c2c575f80fd5b8235611b5f81611add565b600181811c90821680611c4b57607f821691505b602082108103611c6957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611cb4575f80fd5b5051919050565b5f60208284031215611ccb575f80fd5b815161084381611b36565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561073757610737611cd6565b8082018082111561073757610737611cd6565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d34575f80fd5b815161084381611add565b5f8151808452602084019350602083015f5b82811015611d785781516001600160a01b0316865260209586019590910190600101611d51565b5093949350505050565b85815284602082015260a060408201525f611da060a0830186611d3f565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611dd56040830184611d3f565b949350505050565b808202811582820484141761073757610737611cd6565b5f82611e0e57634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122005bf2149c13d629bc1bad4eaaf61511880e6c12b1d135e95e9d41a169fa4d65264736f6c634300081a00330000000000000000000000009e4f655f5080933426c24bd5fa48b29adbee86ca

Deployed Bytecode

0x60806040526004361061020a575f3560e01c8063728d41c911610113578063c6c670d01161009d578063f242ab411161006d578063f242ab4114610610578063f2fde38b1461062f578063f8b45b051461064e578063fb201b1d14610663578063fdd24dfe14610677575f80fd5b8063c6c670d01461056e578063db1b71821461058e578063dd62ed3e146105ad578063df8408fe146105f1575f80fd5b80639d0014b1116100e35780639d0014b1146104cd578063a9059cbb146104ec578063acf08c511461050b578063b62496f51461052b578063c3f70b5214610559575f80fd5b8063728d41c91461046a5780638da5cb5b1461048957806394f15384146104a557806395d89b41146104b9575f80fd5b8063313ce5671161019457806352f7c9881161016457806352f7c988146103c45780635c85974f146103e35780636ddd17131461040257806370a0823114610422578063715018a614610456575f80fd5b8063313ce5671461035b578063346cc7be1461037c578063460731151461039b57806347062402146103af575f80fd5b80630d29573f116101da5780630d29573f146102c4578063108dfa43146102f257806318160ddd1461031357806323b872dd146103275780632b14ca5614610346575f80fd5b80630445b6671461021557806306fdde031461023d5780630758d9241461025e578063095ea7b314610295575f80fd5b3661021157005b5f80fd5b348015610220575f80fd5b5061022a600b5481565b6040519081526020015b60405180910390f35b348015610248575f80fd5b50610251610697565b6040516102349190611aa8565b348015610269575f80fd5b5060105461027d906001600160a01b031681565b6040516001600160a01b039091168152602001610234565b3480156102a0575f80fd5b506102b46102af366004611af1565b610727565b6040519015158152602001610234565b3480156102cf575f80fd5b506102b46102de366004611b1b565b60036020525f908152604090205460ff1681565b3480156102fd575f80fd5b5061031161030c366004611b43565b61073d565b005b34801561031e575f80fd5b5060085461022a565b348015610332575f80fd5b506102b4610341366004611b7a565b6107a3565b348015610351575f80fd5b5061022a600d5481565b348015610366575f80fd5b5060075460405160ff9091168152602001610234565b348015610387575f80fd5b50610311610396366004611b1b565b61084a565b3480156103a6575f80fd5b50610311610997565b3480156103ba575f80fd5b5061022a600c5481565b3480156103cf575f80fd5b506103116103de366004611bb8565b6109da565b3480156103ee575f80fd5b506103116103fd366004611bd8565b610a65565b34801561040d575f80fd5b50600f546102b490600160a01b900460ff1681565b34801561042d575f80fd5b5061022a61043c366004611b1b565b6001600160a01b03165f9081526001602052604090205490565b348015610461575f80fd5b50610311610a93565b348015610475575f80fd5b50610311610484366004611bd8565b610ac7565b348015610494575f80fd5b505f546001600160a01b031661027d565b3480156104b0575f80fd5b50610311610af5565b3480156104c4575f80fd5b50610251610b88565b3480156104d8575f80fd5b506103116104e7366004611bd8565b610b97565b3480156104f7575f80fd5b506102b4610506366004611af1565b610bc5565b348015610516575f80fd5b50600f546102b490600160b01b900460ff1681565b348015610536575f80fd5b506102b4610545366004611b1b565b60046020525f908152604090205460ff1681565b348015610564575f80fd5b5061022a60095481565b348015610579575f80fd5b50600f546102b490600160b81b900460ff1681565b348015610599575f80fd5b506103116105a8366004611b1b565b610bd1565b3480156105b8575f80fd5b5061022a6105c7366004611bef565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b3480156105fc575f80fd5b5061031161060b366004611c1b565b610cd9565b34801561061b575f80fd5b5060115461027d906001600160a01b031681565b34801561063a575f80fd5b50610311610649366004611b1b565b610d2c565b348015610659575f80fd5b5061022a600a5481565b34801561066e575f80fd5b50610311610dc3565b348015610682575f80fd5b50600f546102b490600160a81b900460ff1681565b6060600580546106a690611c37565b80601f01602080910402602001604051908101604052809291908181526020018280546106d290611c37565b801561071d5780601f106106f45761010080835404028352916020019161071d565b820191905f5260205f20905b81548152906001019060200180831161070057829003601f168201915b5050505050905090565b5f610733338484610e4e565b5060015b92915050565b5f546001600160a01b0316331461076f5760405162461bcd60e51b815260040161076690611c6f565b60405180910390fd5b600f805461ffff60a01b1916600160a01b9315159390930260ff60a81b191692909217600160a81b91151591909102179055565b5f6107af848484610f71565b5061083f843361083a856040518060400160405280601881526020017f45524332303a204578636565647320616c6c6f77616e6365000000000000000081525060025f8b6001600160a01b03166001600160a01b031681526020019081526020015f205f61081a3390565b6001600160a01b0316815260208101919091526040015f205491906113fa565b610e4e565b5060015b9392505050565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa15801561088e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108b29190611ca4565b90505f81116108fe5760405162461bcd60e51b81526020600482015260186024820152772a37b5b2b71d103737903a37b5b2b739903a3790313ab93760411b6044820152606401610766565b600f546001600160a01b0316336001600160a01b03161461091d575f80fd5b600f5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018390529083169063a9059cbb906044015b6020604051808303815f875af115801561096e573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906109929190611cbb565b505050565b5f546001600160a01b031633146109c05760405162461bcd60e51b815260040161076690611c6f565b600f805460ff60b01b19169055600854600a819055600955565b5f546001600160a01b03163314610a035760405162461bcd60e51b815260040161076690611c6f565b600f8211158015610a155750600f8111155b610a5a5760405162461bcd60e51b8152602060048201526016602482015275466565732063616e6e6f74206578636565642031352560501b6044820152606401610766565b600c91909155600d55565b5f546001600160a01b03163314610a8e5760405162461bcd60e51b815260040161076690611c6f565b600955565b5f546001600160a01b03163314610abc5760405162461bcd60e51b815260040161076690611c6f565b610ac55f611432565b565b5f546001600160a01b03163314610af05760405162461bcd60e51b815260040161076690611c6f565b600a55565b5f4711610b3d5760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379022aa24103a379031b632b0b960511b6044820152606401610766565b600f546001600160a01b0316336001600160a01b031614610b5c575f80fd5b60405133904780156108fc02915f818181858888f19350505050158015610b85573d5f803e3d5ffd5b50565b6060600680546106a690611c37565b5f546001600160a01b03163314610bc05760405162461bcd60e51b815260040161076690611c6f565b600b55565b5f61083f338484610f71565b6040516370a0823160e01b81523060048201525f906001600160a01b038316906370a0823190602401602060405180830381865afa158015610c15573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c399190611ca4565b90505f8111610c855760405162461bcd60e51b81526020600482015260186024820152772a37b5b2b71d103737903a37b5b2b739903a3790313ab93760411b6044820152606401610766565b600f546001600160a01b0316336001600160a01b031614610ca4575f80fd5b60405163a9059cbb60e01b815261dead6004820152602481018290526001600160a01b0383169063a9059cbb90604401610952565b5f546001600160a01b03163314610d025760405162461bcd60e51b815260040161076690611c6f565b6001600160a01b03919091165f908152600360205260409020805460ff1916911515919091179055565b5f546001600160a01b03163314610d555760405162461bcd60e51b815260040161076690611c6f565b6001600160a01b038116610dba5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610766565b610b8581611432565b5f546001600160a01b03163314610dec5760405162461bcd60e51b815260040161076690611c6f565b600f54600160b81b900460ff1615610e395760405162461bcd60e51b815260206004820152601060248201526f416c726561647920456e61626c65642160801b6044820152606401610766565b600f805460ff60b81b1916600160b81b179055565b6001600160a01b038316610eb05760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610766565b6001600160a01b038216610f115760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610766565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6001600160a01b038416610fd65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610766565b6001600160a01b0383166110385760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610766565b815f036110875760405162461bcd60e51b815260206004820152601b60248201527f45524332303a205a65726f20416d6f756e74205472616e7366657200000000006044820152606401610766565b601154600160a01b900460ff16156110ab576110a4848484611481565b9050610843565b6001600160a01b0384165f9081526003602052604090205460ff161580156110eb57506001600160a01b0383165f9081526003602052604090205460ff16155b80156111005750600f54600160b01b900460ff165b1561122657600f54600160b81b900460ff166111525760405162461bcd60e51b81526020600482015260116024820152705472616465204e6f74204163746976652160781b6044820152606401610766565b60095482111561119a5760405162461bcd60e51b8152602060048201526013602482015272115e18d959591cc81b585e151e105b5bdd5b9d606a1b6044820152606401610766565b6001600160a01b0383165f9081526004602052604090205460ff1661122657600a546111e4836111de866001600160a01b03165f9081526001602052604090205490565b90611564565b11156112265760405162461bcd60e51b8152602060048201526011602482015270115e18d959591cc81b585e15d85b1b195d607a1b6044820152606401610766565b305f90815260016020526040902054600b54811080159081906112535750601154600160a01b900460ff16155b801561127757506001600160a01b0386165f9081526004602052604090205460ff16155b801561128c5750600f54600160a01b900460ff165b80156112b057506001600160a01b0386165f9081526003602052604090205460ff16155b80156112d457506001600160a01b0385165f9081526003602052604090205460ff16155b156112e2576112e2826115c2565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0389165f908152600190915291909120546113339186906113fa565b6001600160a01b0387165f908152600160205260408120919091556113588787611654565b61136c576113678787876116ee565b61136e565b845b6001600160a01b0387165f908152600160205260409020549091506113939082611564565b6001600160a01b038088165f8181526001602052604090819020939093559151908916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906113e69085815260200190565b60405180910390a360019350505050610843565b5f818484111561141d5760405162461bcd60e51b81526004016107669190611aa8565b505f6114298486611cea565b95945050505050565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526001909152918220546114d19184906113fa565b6001600160a01b038086165f9081526001602052604080822093909355908516815220546114ff9083611564565b6001600160a01b038085165f8181526001602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115529086815260200190565b60405180910390a35060019392505050565b5f806115708385611cfd565b9050838110156108435760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610766565b6011805460ff60a01b1916600160a01b179055600f54600160a81b900460ff16156115ec5750600b545b476115f6826117f8565b5f6116014783611981565b9050801561164257600f546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611640573d5f803e3d5ffd5b505b50506011805460ff60a01b1916905550565b6001600160a01b0382165f9081526003602052604081205460ff168061169157506001600160a01b0382165f9081526003602052604090205460ff165b1561169e57506001610737565b6001600160a01b0383165f9081526004602052604090205460ff16806116db57506001600160a01b0382165f9081526004602052604090205460ff165b156116e757505f610737565b505f610737565b6001600160a01b0383165f90815260046020526040812054819060ff161561173857611731600e5461172b600c54866119c290919063ffffffff16565b90611a40565b9050611776565b6001600160a01b0384165f9081526004602052604090205460ff161561177657611773600e5461172b600d54866119c290919063ffffffff16565b90505b80156117ee57305f908152600160205260409020546117959082611564565b305f81815260016020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117e59085815260200190565b60405180910390a35b6114298382611981565b6040805160028082526060820183525f9260208301908036833701905050905030815f8151811061182b5761182b611d10565b6001600160a01b03928316602091820292909201810191909152601054604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611882573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906118a69190611d24565b816001815181106118b9576118b9611d10565b6001600160a01b0392831660209182029290920101526010546118df9130911684610e4e565b60105460405163791ac94760e01b81526001600160a01b039091169063791ac947906119179085905f90869030904290600401611d82565b5f604051808303815f87803b15801561192e575f80fd5b505af1158015611940573d5f803e3d5ffd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051611975929190611dbd565b60405180910390a15050565b5f61084383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f7700008152506113fa565b5f825f036119d157505f610737565b5f6119dc8385611ddd565b9050826119e98583611df4565b146108435760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610766565b5f61084383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152505f8183611a9c5760405162461bcd60e51b81526004016107669190611aa8565b505f6114298486611df4565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b6001600160a01b0381168114610b85575f80fd5b5f8060408385031215611b02575f80fd5b8235611b0d81611add565b946020939093013593505050565b5f60208284031215611b2b575f80fd5b813561084381611add565b8015158114610b85575f80fd5b5f8060408385031215611b54575f80fd5b8235611b5f81611b36565b91506020830135611b6f81611b36565b809150509250929050565b5f805f60608486031215611b8c575f80fd5b8335611b9781611add565b92506020840135611ba781611add565b929592945050506040919091013590565b5f8060408385031215611bc9575f80fd5b50508035926020909101359150565b5f60208284031215611be8575f80fd5b5035919050565b5f8060408385031215611c00575f80fd5b8235611c0b81611add565b91506020830135611b6f81611add565b5f8060408385031215611c2c575f80fd5b8235611b5f81611add565b600181811c90821680611c4b57607f821691505b602082108103611c6957634e487b7160e01b5f52602260045260245ffd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b5f60208284031215611cb4575f80fd5b5051919050565b5f60208284031215611ccb575f80fd5b815161084381611b36565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561073757610737611cd6565b8082018082111561073757610737611cd6565b634e487b7160e01b5f52603260045260245ffd5b5f60208284031215611d34575f80fd5b815161084381611add565b5f8151808452602084019350602083015f5b82811015611d785781516001600160a01b0316865260209586019590910190600101611d51565b5093949350505050565b85815284602082015260a060408201525f611da060a0830186611d3f565b6001600160a01b0394909416606083015250608001529392505050565b828152604060208201525f611dd56040830184611d3f565b949350505050565b808202811582820484141761073757610737611cd6565b5f82611e0e57634e487b7160e01b5f52601260045260245ffd5b50049056fea264697066735822122005bf2149c13d629bc1bad4eaaf61511880e6c12b1d135e95e9d41a169fa4d65264736f6c634300081a0033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000009e4f655f5080933426c24bd5fa48b29adbee86ca

-----Decoded View---------------
Arg [0] : _marketingWallet (address): 0x9E4f655F5080933426c24bD5fA48B29aDbee86cA

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000009e4f655f5080933426c24bd5fa48b29adbee86ca


Deployed Bytecode Sourcemap

3947:10136:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4589:59;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;4589:59:0;;;;;;;;5886:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;4953:30::-;;;;;;;;;;-1:-1:-1;4953:30:0;;;;-1:-1:-1;;;;;4953:30:0;;;;;;-1:-1:-1;;;;;804:32:1;;;786:51;;774:2;759:18;4953:30:0;619:224:1;6553:161:0;;;;;;;;;;-1:-1:-1;6553:161:0;;;;;:::i;:::-;;:::i;:::-;;;1521:14:1;;1514:22;1496:41;;1484:2;1469:18;6553:161:0;1356:187:1;4158:49:0;;;;;;;;;;-1:-1:-1;4158:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;13762:178;;;;;;;;;;-1:-1:-1;13762:178:0;;;;;:::i;:::-;;:::i;:::-;;6163:100;;;;;;;;;;-1:-1:-1;6243:12:0;;6163:100;;7327:297;;;;;;;;;;-1:-1:-1;7327:297:0;;;;;:::i;:::-;;:::i;4690:27::-;;;;;;;;;;;;;;;;6072:83;;;;;;;;;;-1:-1:-1;6138:9:0;;6072:83;;6138:9;;;;2959:36:1;;2947:2;2932:18;6072:83:0;2817:184:1;12200:331:0;;;;;;;;;;-1:-1:-1;12200:331:0;;;;;:::i;:::-;;:::i;13093:168::-;;;;;;;;;;;;;:::i;4657:26::-;;;;;;;;;;;;;;;;12870:215;;;;;;;;;;-1:-1:-1;12870:215:0;;;;;:::i;:::-;;:::i;13647:103::-;;;;;;;;;;-1:-1:-1;13647:103:0;;;;;:::i;:::-;;:::i;4803:30::-;;;;;;;;;;-1:-1:-1;4803:30:0;;;;-1:-1:-1;;;4803:30:0;;;;;;6271:123;;;;;;;;;;-1:-1:-1;6271:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;6363:18:0;6337:7;6363:18;;;:9;:18;;;;;;;6271:123;1709:94;;;;;;;;;;;;;:::i;13534:105::-;;;;;;;;;;-1:-1:-1;13534:105:0;;;;;:::i;:::-;;:::i;1400:87::-;;;;;;;;;;-1:-1:-1;1446:7:0;1473:6;-1:-1:-1;;;;;1473:6:0;1400:87;;11966:226;;;;;;;;;;;;;:::i;5977:87::-;;;;;;;;;;;;;:::i;13948:130::-;;;;;;;;;;-1:-1:-1;13948:130:0;;;;;:::i;:::-;;:::i;7152:167::-;;;;;;;;;;-1:-1:-1;7152:167:0;;;;;:::i;:::-;;:::i;4880:34::-;;;;;;;;;;-1:-1:-1;4880:34:0;;;;-1:-1:-1;;;4880:34:0;;;;;;4214:58;;;;;;;;;;-1:-1:-1;4214:58:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;4440:61;;;;;;;;;;;;;;;;4921:23;;;;;;;;;;-1:-1:-1;4921:23:0;;;;-1:-1:-1;;;4921:23:0;;;;;;12539:323;;;;;;;;;;-1:-1:-1;12539:323:0;;;;;:::i;:::-;;:::i;6402:143::-;;;;;;;;;;-1:-1:-1;6402:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6510:18:0;;;6483:7;6510:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6402:143;13405:121;;;;;;;;;;-1:-1:-1;13405:121:0;;;;;:::i;:::-;;:::i;4990:22::-;;;;;;;;;;-1:-1:-1;4990:22:0;;;;-1:-1:-1;;;;;4990:22:0;;;1811:229;;;;;;;;;;-1:-1:-1;1811:229:0;;;;;:::i;:::-;;:::i;4513:55::-;;;;;;;;;;;;;;;;13269:128;;;;;;;;;;;;;:::i;4840:33::-;;;;;;;;;;-1:-1:-1;4840:33:0;;;;-1:-1:-1;;;4840:33:0;;;;;;5886:83;5923:13;5956:5;5949:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5886:83;:::o;6553:161::-;6628:4;6645:39;263:10;6668:7;6677:6;6645:8;:39::i;:::-;-1:-1:-1;6702:4:0;6553:161;;;;;:::o;13762:178::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;;;;;;;;;13868:11:::1;:26:::0;;-1:-1:-1;;;;13905:27:0;-1:-1:-1;;;13868:26:0;::::1;;::::0;;;::::1;-1:-1:-1::0;;;;13905:27:0;;;;;-1:-1:-1;;;13905:27:0;::::1;;::::0;;;::::1;;::::0;;13762:178::o;7327:297::-;7425:4;7442:36;7452:6;7460:9;7471:6;7442:9;:36::i;:::-;-1:-1:-1;7489:105:0;7498:6;263:10;7520:73;7558:6;7520:73;;;;;;;;;;;;;;;;;:11;:19;7532:6;-1:-1:-1;;;;;7520:19:0;-1:-1:-1;;;;;7520:19:0;;;;;;;;;;;;:33;7540:12;263:10;;183:98;7540:12;-1:-1:-1;;;;;7520:33:0;;;;;;;;;;;;-1:-1:-1;7520:33:0;;;:73;:37;:73::i;:::-;7489:8;:105::i;:::-;-1:-1:-1;7612:4:0;7327:297;;;;;;:::o;12200:331::-;12293:37;;-1:-1:-1;;;12293:37:0;;12324:4;12293:37;;;786:51:1;12267:23:0;;-1:-1:-1;;;;;12293:22:0;;;;;759:18:1;;12293:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12267:63;;12367:1;12349:15;:19;12341:56;;;;-1:-1:-1;;;12341:56:0;;5978:2:1;12341:56:0;;;5960:21:1;6017:2;5997:18;;;5990:30;-1:-1:-1;;;6036:18:1;;;6029:54;6100:18;;12341:56:0;5776:348:1;12341:56:0;12432:15;;-1:-1:-1;;;;;12432:15:0;263:10;-1:-1:-1;;;;;12416:31:0;;12408:40;;;;;;12489:15;;12459:64;;-1:-1:-1;;;12459:64:0;;-1:-1:-1;;;;;12489:15:0;;;12459:64;;;6303:51:1;6370:18;;;6363:34;;;12459:21:0;;;;;;6276:18:1;;12459:64:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;12256:275;12200:331;:::o;13093:168::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;13149:15:::1;:23:::0;;-1:-1:-1;;;;13149:23:0::1;::::0;;13195:12:::1;::::0;13183:9:::1;:24:::0;;;13219:14:::1;:29:::0;13093:168::o;12870:215::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;12971:2:::1;12959:8;:14;;:33;;;;;12990:2;12977:9;:15;;12959:33;12951:68;;;::::0;-1:-1:-1;;;12951:68:0;;6860:2:1;12951:68:0::1;::::0;::::1;6842:21:1::0;6899:2;6879:18;;;6872:30;-1:-1:-1;;;6918:18:1;;;6911:52;6980:18;;12951:68:0::1;6658:346:1::0;12951:68:0::1;13030:6;:17:::0;;;;13058:7:::1;:19:::0;12870:215::o;13647:103::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;13717:14:::1;:25:::0;13647:103::o;1709:94::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;1774:21:::1;1792:1;1774:9;:21::i;:::-;1709:94::o:0;13534:105::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;13611:9:::1;:20:::0;13534:105::o;11966:226::-;12043:1;12019:21;:25;12011:60;;;;-1:-1:-1;;;12011:60:0;;7211:2:1;12011:60:0;;;7193:21:1;7250:2;7230:18;;;7223:30;-1:-1:-1;;;7269:18:1;;;7262:52;7331:18;;12011:60:0;7009:346:1;12011:60:0;12106:15;;-1:-1:-1;;;;;12106:15:0;263:10;-1:-1:-1;;;;;12090:31:0;;12082:40;;;;;;12133:51;;12141:10;;12162:21;12133:51;;;;;;;;;12162:21;12141:10;12133:51;;;;;;;;;;;;;;;;;;;;;11966:226::o;5977:87::-;6016:13;6049:7;6042:14;;;;;:::i;13948:130::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;14044:13:::1;:26:::0;13948:130::o;7152:167::-;7230:4;7247:42;263:10;7271:9;7282:6;7247:9;:42::i;12539:323::-;12633:37;;-1:-1:-1;;;12633:37:0;;12664:4;12633:37;;;786:51:1;12607:23:0;;-1:-1:-1;;;;;12633:22:0;;;;;759:18:1;;12633:37:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;12607:63;;12707:1;12689:15;:19;12681:56;;;;-1:-1:-1;;;12681:56:0;;5978:2:1;12681:56:0;;;5960:21:1;6017:2;5997:18;;;5990:30;-1:-1:-1;;;6036:18:1;;;6029:54;6100:18;;12681:56:0;5776:348:1;12681:56:0;12772:15;;-1:-1:-1;;;;;12772:15:0;263:10;-1:-1:-1;;;;;12756:31:0;;12748:40;;;;;;12799:55;;-1:-1:-1;;;12799:55:0;;12829:6;12799:55;;;6303:51:1;6370:18;;;6363:34;;;-1:-1:-1;;;;;12799:21:0;;;;;6276:18:1;;12799:55:0;6129:274:1;13405:121:0;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;13486:22:0;;;::::1;;::::0;;;:16:::1;:22;::::0;;;;:32;;-1:-1:-1;;13486:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;13405:121::o;1811:229::-;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;1914:22:0;::::1;1892:110;;;::::0;-1:-1:-1;;;1892:110:0;;7562:2:1;1892:110:0::1;::::0;::::1;7544:21:1::0;7601:2;7581:18;;;7574:30;7640:34;7620:18;;;7613:62;-1:-1:-1;;;7691:18:1;;;7684:36;7737:19;;1892:110:0::1;7360:402:1::0;1892:110:0::1;2013:19;2023:8;2013:9;:19::i;13269:128::-:0;1446:7;1473:6;-1:-1:-1;;;;;1473:6:0;263:10;1621:23;1613:68;;;;-1:-1:-1;;;1613:68:0;;;;;;;:::i;:::-;13329:11:::1;::::0;-1:-1:-1;;;13329:11:0;::::1;;;13328:12;13320:40;;;::::0;-1:-1:-1;;;13320:40:0;;7969:2:1;13320:40:0::1;::::0;::::1;7951:21:1::0;8008:2;7988:18;;;7981:30;-1:-1:-1;;;8027:18:1;;;8020:46;8083:18;;13320:40:0::1;7767:340:1::0;13320:40:0::1;13371:11;:18:::0;;-1:-1:-1;;;;13371:18:0::1;-1:-1:-1::0;;;13371:18:0::1;::::0;;13269:128::o;6722:337::-;-1:-1:-1;;;;;6815:19:0;;6807:68;;;;-1:-1:-1;;;6807:68:0;;8314:2:1;6807:68:0;;;8296:21:1;8353:2;8333:18;;;8326:30;8392:34;8372:18;;;8365:62;-1:-1:-1;;;8443:18:1;;;8436:34;8487:19;;6807:68:0;8112:400:1;6807:68:0;-1:-1:-1;;;;;6894:21:0;;6886:68;;;;-1:-1:-1;;;6886:68:0;;8719:2:1;6886:68:0;;;8701:21:1;8758:2;8738:18;;;8731:30;8797:34;8777:18;;;8770:62;-1:-1:-1;;;8848:18:1;;;8841:32;8890:19;;6886:68:0;8517:398:1;6886:68:0;-1:-1:-1;;;;;6967:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7019:32;;160:25:1;;;7019:32:0;;133:18:1;7019:32:0;;;;;;;6722:337;;;:::o;7632:1780::-;7719:4;-1:-1:-1;;;;;7746:20:0;;7738:70;;;;-1:-1:-1;;;7738:70:0;;9122:2:1;7738:70:0;;;9104:21:1;9161:2;9141:18;;;9134:30;9200:34;9180:18;;;9173:62;-1:-1:-1;;;9251:18:1;;;9244:35;9296:19;;7738:70:0;8920:401:1;7738:70:0;-1:-1:-1;;;;;7827:23:0;;7819:71;;;;-1:-1:-1;;;7819:71:0;;9528:2:1;7819:71:0;;;9510:21:1;9567:2;9547:18;;;9540:30;9606:34;9586:18;;;9579:62;-1:-1:-1;;;9657:18:1;;;9650:33;9700:19;;7819:71:0;9326:399:1;7819:71:0;7909:6;7919:1;7909:11;7901:51;;;;-1:-1:-1;;;7901:51:0;;9932:2:1;7901:51:0;;;9914:21:1;9971:2;9951:18;;;9944:30;10010:29;9990:18;;;9983:57;10057:18;;7901:51:0;9730:351:1;7901:51:0;7973:6;;-1:-1:-1;;;7973:6:0;;;;7969:1434;;;8003:41;8018:6;8026:9;8037:6;8003:14;:41::i;:::-;7996:48;;;;7969:1434;-1:-1:-1;;;;;8092:24:0;;;;;;:16;:24;;;;;;;;8091:25;:57;;;;-1:-1:-1;;;;;;8121:27:0;;;;;;:16;:27;;;;;;;;8120:28;8091:57;:76;;;;-1:-1:-1;8152:15:0;;-1:-1:-1;;;8152:15:0;;;;8091:76;8088:409;;;8196:11;;-1:-1:-1;;;8196:11:0;;;;8188:40;;;;-1:-1:-1;;;8188:40:0;;10288:2:1;8188:40:0;;;10270:21:1;10327:2;10307:18;;;10300:30;-1:-1:-1;;;10346:18:1;;;10339:47;10403:18;;8188:40:0;10086:341:1;8188:40:0;8265:14;;8255:6;:24;;8247:56;;;;-1:-1:-1;;;8247:56:0;;10634:2:1;8247:56:0;;;10616:21:1;10673:2;10653:18;;;10646:30;-1:-1:-1;;;10692:18:1;;;10685:49;10751:18;;8247:56:0;10432:343:1;8247:56:0;-1:-1:-1;;;;;8326:36:0;;;;;;:25;:36;;;;;;;;8322:160;;8431:9;;8395:32;8420:6;8395:20;8405:9;-1:-1:-1;;;;;6363:18:0;6337:7;6363:18;;;:9;:18;;;;;;;6271:123;8395:20;:24;;:32::i;:::-;:45;;8387:75;;;;-1:-1:-1;;;8387:75:0;;10982:2:1;8387:75:0;;;10964:21:1;11021:2;11001:18;;;10994:30;-1:-1:-1;;;11040:18:1;;;11033:47;11097:18;;8387:75:0;10780:341:1;8387:75:0;8562:4;8513:28;6363:18;;;:9;:18;;;;;;8638:13;;8614:37;;;;;;;8690:52;;-1:-1:-1;8736:6:0;;-1:-1:-1;;;8736:6:0;;;;8735:7;8690:52;:108;;;;-1:-1:-1;;;;;;8765:33:0;;;;;;:25;:33;;;;;;;;8764:34;8690:108;:141;;;;-1:-1:-1;8820:11:0;;-1:-1:-1;;;8820:11:0;;;;8690:141;:187;;;;-1:-1:-1;;;;;;8853:24:0;;;;;;:16;:24;;;;;;;;8852:25;8690:187;:236;;;;-1:-1:-1;;;;;;8899:27:0;;;;;;:16;:27;;;;;;;;8898:28;8690:236;8668:343;;;8965:30;8974:20;8965:8;:30::i;:::-;9047:53;;;;;;;;;;;-1:-1:-1;;;9047:53:0;;;;;;;;-1:-1:-1;;;;;9047:17:0;;-1:-1:-1;9047:17:0;;;:9;:17;;;;;;;;:53;;9069:6;;9047:21;:53::i;:::-;-1:-1:-1;;;;;9027:17:0;;;;;;:9;:17;;;;;:73;;;;9140:30;9037:6;9160:9;9140:12;:30::i;:::-;:82;;9182:40;9196:6;9204:9;9215:6;9182:13;:40::i;:::-;9140:82;;;9173:6;9140:82;-1:-1:-1;;;;;9262:20:0;;;;;;:9;:20;;;;;;9117:105;;-1:-1:-1;9262:38:0;;9117:105;9262:24;:38::i;:::-;-1:-1:-1;;;;;9239:20:0;;;;;;;:9;:20;;;;;;;:61;;;;9322:41;;;;;;;;;;9350:12;160:25:1;;148:2;133:18;;14:177;9322:41:0;;;;;;;;9385:4;9378:11;;;;;;;2583:192;2669:7;2705:12;2697:6;;;;2689:29;;;;-1:-1:-1;;;2689:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2729:9:0;2741:5;2745:1;2741;:5;:::i;:::-;2729:17;2583:192;-1:-1:-1;;;;;2583:192:0:o;2048:173::-;2104:16;2123:6;;-1:-1:-1;;;;;2140:17:0;;;-1:-1:-1;;;;;;2140:17:0;;;;;;2173:40;;2123:6;;;;;;;2173:40;;2104:16;2173:40;2093:128;2048:173;:::o;9420:330::-;9550:53;;;;;;;;;;;-1:-1:-1;;;9550:53:0;;;;;;;;-1:-1:-1;;;;;9550:17:0;;9513:4;9550:17;;;:9;:17;;;;;;;:53;;9572:6;;9550:21;:53::i;:::-;-1:-1:-1;;;;;9530:17:0;;;;;;;:9;:17;;;;;;:73;;;;9637:20;;;;;;;:32;;9662:6;9637:24;:32::i;:::-;-1:-1:-1;;;;;9614:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9685:35;;;;;;;;;;9713:6;160:25:1;;148:2;133:18;;14:177;9685:35:0;;;;;;;;-1:-1:-1;9738:4:0;9420:330;;;;;:::o;2250:181::-;2308:7;;2340:5;2344:1;2340;:5;:::i;:::-;2328:17;;2369:1;2364;:6;;2356:46;;;;-1:-1:-1;;;2356:46:0;;11723:2:1;2356:46:0;;;11705:21:1;11762:2;11742:18;;;11735:30;11801:29;11781:18;;;11774:57;11848:18;;2356:46:0;11521:351:1;10893:409:0;5072:6;:13;;-1:-1:-1;;;;5072:13:0;-1:-1:-1;;;5072:13:0;;;10967:14:::1;::::0;-1:-1:-1;;;10967:14:0;::::1;5072:13:::0;10967:14:::1;10964:50;;;-1:-1:-1::0;11001:13:0::1;::::0;10964:50:::1;11052:21;11084:33;11101:15:::0;11084:16:::1;:33::i;:::-;11128:22;11153:41;:21;11179:14:::0;11153:25:::1;:41::i;:::-;11128:66:::0;-1:-1:-1;11210:18:0;;11207:85:::1;;11251:15;::::0;11243:49:::1;::::0;-1:-1:-1;;;;;11251:15:0;;::::1;::::0;11243:49;::::1;;;::::0;11277:14;;11251:15:::1;11243:49:::0;11251:15;11243:49;11277:14;11251:15;11243:49;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;11207:85;-1:-1:-1::0;;5108:6:0;:14;;-1:-1:-1;;;;5108:14:0;;;-1:-1:-1;10893:409:0:o;9762:389::-;-1:-1:-1;;;;;9862:24:0;;9842:4;9862:24;;;:16;:24;;;;;;;;;:55;;-1:-1:-1;;;;;;9890:27:0;;;;;;:16;:27;;;;;;;;9862:55;9859:285;;;-1:-1:-1;9941:4:0;9934:11;;9859:285;-1:-1:-1;;;;;9976:33:0;;;;;;:25;:33;;;;;;;;;:73;;-1:-1:-1;;;;;;10013:36:0;;;;;;:25;:36;;;;;;;;9976:73;9972:172;;;-1:-1:-1;10073:5:0;10066:12;;9972:172;-1:-1:-1;10127:5:0;10120:12;;10161:722;-1:-1:-1;;;;;10340:33:0;;10253:7;10340:33;;;:25;:33;;;;;;10253:7;;10340:33;;10337:272;;;10407:38;10430:14;;10407:18;10418:6;;10407;:10;;:18;;;;:::i;:::-;:22;;:38::i;:::-;10395:50;;10337:272;;;-1:-1:-1;;;;;10484:36:0;;;;;;:25;:36;;;;;;;;10481:128;;;10554:39;10578:14;;10554:19;10565:7;;10554:6;:10;;:19;;;;:::i;:39::-;10542:51;;10481:128;10628:13;;10625:185;;10707:4;10689:24;;;;:9;:24;;;;;;:39;;10718:9;10689:28;:39::i;:::-;10680:4;10662:24;;;;:9;:24;;;;;;;:66;;;;10752:42;;-1:-1:-1;;;;;10752:42:0;;;;;;;10784:9;160:25:1;;148:2;133:18;;14:177;10752:42:0;;;;;;;;10625:185;10833:21;:6;10844:9;10833:10;:21::i;11310:648::-;11460:16;;;11474:1;11460:16;;;;;;;;11436:21;;11460:16;;;;;;;;;;-1:-1:-1;11460:16:0;11436:40;;11505:4;11487;11492:1;11487:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11487:23:0;;;:7;;;;;;;;;;:23;;;;11531:9;;:16;;;-1:-1:-1;;;11531:16:0;;;;:9;;;;;:14;;:16;;;;;11487:7;;11531:16;;;;;:9;:16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11521:4;11526:1;11521:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11521:26:0;;;:7;;;;;;;;;:26;11592:9;;11560:56;;11577:4;;11592:9;11604:11;11560:8;:56::i;:::-;11655:9;;:234;;-1:-1:-1;;;11655:234:0;;-1:-1:-1;;;;;11655:9:0;;;;:60;;:234;;11730:11;;11655:9;;11800:4;;11827;;11863:15;;11655:234;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11915:35;11932:11;11945:4;11915:35;;;;;;;:::i;:::-;;;;;;;;11365:593;11310:648;:::o;2439:136::-;2497:7;2524:43;2528:1;2531;2524:43;;;;;;;;;;;;;;;;;:3;:43::i;2783:250::-;2841:7;2865:1;2870;2865:6;2861:47;;-1:-1:-1;2895:1:0;2888:8;;2861:47;2920:9;2932:5;2936:1;2932;:5;:::i;:::-;2920:17;-1:-1:-1;2965:1:0;2956:5;2960:1;2920:17;2956:5;:::i;:::-;:10;2948:56;;;;-1:-1:-1;;;2948:56:0;;14369:2:1;2948:56:0;;;14351:21:1;14408:2;14388:18;;;14381:30;14447:34;14427:18;;;14420:62;-1:-1:-1;;;14498:18:1;;;14491:31;14539:19;;2948:56:0;14167:397:1;3041:132:0;3099:7;3126:39;3130:1;3133;3126:39;;;;;;;;;;;;;;;;;3267:7;3302:12;3295:5;3287:28;;;;-1:-1:-1;;;3287:28:0;;;;;;;;:::i;:::-;-1:-1:-1;3326:9:0;3338:5;3342:1;3338;:5;:::i;196:418:1:-;345:2;334:9;327:21;308:4;377:6;371:13;420:6;415:2;404:9;400:18;393:34;479:6;474:2;466:6;462:15;457:2;446:9;442:18;436:50;535:1;530:2;521:6;510:9;506:22;502:31;495:42;605:2;598;594:7;589:2;581:6;577:15;573:29;562:9;558:45;554:54;546:62;;;196:418;;;;:::o;848:131::-;-1:-1:-1;;;;;923:31:1;;913:42;;903:70;;969:1;966;959:12;984:367;1052:6;1060;1113:2;1101:9;1092:7;1088:23;1084:32;1081:52;;;1129:1;1126;1119:12;1081:52;1168:9;1155:23;1187:31;1212:5;1187:31;:::i;:::-;1237:5;1315:2;1300:18;;;;1287:32;;-1:-1:-1;;;984:367:1:o;1548:247::-;1607:6;1660:2;1648:9;1639:7;1635:23;1631:32;1628:52;;;1676:1;1673;1666:12;1628:52;1715:9;1702:23;1734:31;1759:5;1734:31;:::i;1800:118::-;1886:5;1879:13;1872:21;1865:5;1862:32;1852:60;;1908:1;1905;1898:12;1923:376;1985:6;1993;2046:2;2034:9;2025:7;2021:23;2017:32;2014:52;;;2062:1;2059;2052:12;2014:52;2101:9;2088:23;2120:28;2142:5;2120:28;:::i;:::-;2167:5;-1:-1:-1;2224:2:1;2209:18;;2196:32;2237:30;2196:32;2237:30;:::i;:::-;2286:7;2276:17;;;1923:376;;;;;:::o;2304:508::-;2381:6;2389;2397;2450:2;2438:9;2429:7;2425:23;2421:32;2418:52;;;2466:1;2463;2456:12;2418:52;2505:9;2492:23;2524:31;2549:5;2524:31;:::i;:::-;2574:5;-1:-1:-1;2631:2:1;2616:18;;2603:32;2644:33;2603:32;2644:33;:::i;:::-;2304:508;;2696:7;;-1:-1:-1;;;2776:2:1;2761:18;;;;2748:32;;2304:508::o;3271:346::-;3339:6;3347;3400:2;3388:9;3379:7;3375:23;3371:32;3368:52;;;3416:1;3413;3406:12;3368:52;-1:-1:-1;;3461:23:1;;;3581:2;3566:18;;;3553:32;;-1:-1:-1;3271:346:1:o;3622:226::-;3681:6;3734:2;3722:9;3713:7;3709:23;3705:32;3702:52;;;3750:1;3747;3740:12;3702:52;-1:-1:-1;3795:23:1;;3622:226;-1:-1:-1;3622:226:1:o;4061:388::-;4129:6;4137;4190:2;4178:9;4169:7;4165:23;4161:32;4158:52;;;4206:1;4203;4196:12;4158:52;4245:9;4232:23;4264:31;4289:5;4264:31;:::i;:::-;4314:5;-1:-1:-1;4371:2:1;4356:18;;4343:32;4384:33;4343:32;4384:33;:::i;4454:382::-;4519:6;4527;4580:2;4568:9;4559:7;4555:23;4551:32;4548:52;;;4596:1;4593;4586:12;4548:52;4635:9;4622:23;4654:31;4679:5;4654:31;:::i;4841:380::-;4920:1;4916:12;;;;4963;;;4984:61;;5038:4;5030:6;5026:17;5016:27;;4984:61;5091:2;5083:6;5080:14;5060:18;5057:38;5054:161;;5137:10;5132:3;5128:20;5125:1;5118:31;5172:4;5169:1;5162:15;5200:4;5197:1;5190:15;5054:161;;4841:380;;;:::o;5226:356::-;5428:2;5410:21;;;5447:18;;;5440:30;5506:34;5501:2;5486:18;;5479:62;5573:2;5558:18;;5226:356::o;5587:184::-;5657:6;5710:2;5698:9;5689:7;5685:23;5681:32;5678:52;;;5726:1;5723;5716:12;5678:52;-1:-1:-1;5749:16:1;;5587:184;-1:-1:-1;5587:184:1:o;6408:245::-;6475:6;6528:2;6516:9;6507:7;6503:23;6499:32;6496:52;;;6544:1;6541;6534:12;6496:52;6576:9;6570:16;6595:28;6617:5;6595:28;:::i;11126:127::-;11187:10;11182:3;11178:20;11175:1;11168:31;11218:4;11215:1;11208:15;11242:4;11239:1;11232:15;11258:128;11325:9;;;11346:11;;;11343:37;;;11360:18;;:::i;11391:125::-;11456:9;;;11477:10;;;11474:36;;;11490:18;;:::i;12009:127::-;12070:10;12065:3;12061:20;12058:1;12051:31;12101:4;12098:1;12091:15;12125:4;12122:1;12115:15;12141:251;12211:6;12264:2;12252:9;12243:7;12239:23;12235:32;12232:52;;;12280:1;12277;12270:12;12232:52;12312:9;12306:16;12331:31;12356:5;12331:31;:::i;12397:446::-;12450:3;12488:5;12482:12;12515:6;12510:3;12503:19;12547:4;12542:3;12538:14;12531:21;;12586:4;12579:5;12575:16;12609:1;12619:199;12633:6;12630:1;12627:13;12619:199;;;12698:13;;-1:-1:-1;;;;;12694:39:1;12682:52;;12763:4;12754:14;;;;12791:17;;;;12730:1;12648:9;12619:199;;;-1:-1:-1;12834:3:1;;12397:446;-1:-1:-1;;;;12397:446:1:o;12848:582::-;13147:6;13136:9;13129:25;13190:6;13185:2;13174:9;13170:18;13163:34;13233:3;13228:2;13217:9;13213:18;13206:31;13110:4;13254:57;13306:3;13295:9;13291:19;13283:6;13254:57;:::i;:::-;-1:-1:-1;;;;;13347:32:1;;;;13342:2;13327:18;;13320:60;-1:-1:-1;13411:3:1;13396:19;13389:35;13246:65;12848:582;-1:-1:-1;;;12848:582:1:o;13435:332::-;13642:6;13631:9;13624:25;13685:2;13680;13669:9;13665:18;13658:30;13605:4;13705:56;13757:2;13746:9;13742:18;13734:6;13705:56;:::i;:::-;13697:64;13435:332;-1:-1:-1;;;;13435:332:1:o;13772:168::-;13845:9;;;13876;;13893:15;;;13887:22;;13873:37;13863:71;;13914:18;;:::i;13945:217::-;13985:1;14011;14001:132;;14055:10;14050:3;14046:20;14043:1;14036:31;14090:4;14087:1;14080:15;14118:4;14115:1;14108:15;14001:132;-1:-1:-1;14147:9:1;;13945:217::o

Swarm Source

ipfs://05bf2149c13d629bc1bad4eaaf61511880e6c12b1d135e95e9d41a169fa4d652

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  ]

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.