ETH Price: $2,679.73 (-1.16%)

Contract

0x724276a0A7Fb993F9C4413361b7565c6BcFea804
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve206597392024-09-02 1:56:35168 days ago1725242195IN
0x724276a0...6BcFea804
0 ETH0.000050151.07811011
Transfer198478772024-05-11 16:07:35281 days ago1715443655IN
0x724276a0...6BcFea804
0 ETH0.000235185.81833239
Transfer198392212024-05-10 11:04:59282 days ago1715339099IN
0x724276a0...6BcFea804
0 ETH0.000404167.02639562
Approve190189092024-01-16 10:39:35397 days ago1705401575IN
0x724276a0...6BcFea804
0 ETH0.0007778632.09162673
Approve188896502023-12-29 7:07:11415 days ago1703833631IN
0x724276a0...6BcFea804
0 ETH0.0007476230.84381547
Approve186771572023-11-29 12:05:35445 days ago1701259535IN
0x724276a0...6BcFea804
0 ETH0.0008415634.63356277
Transfer186510382023-11-25 20:17:47449 days ago1700943467IN
0x724276a0...6BcFea804
0 ETH0.00120720.99243189
Approve180197202023-08-29 10:35:59537 days ago1693305359IN
0x724276a0...6BcFea804
0 ETH0.0007506416.2439248
Approve177593692023-07-24 0:24:23574 days ago1690158263IN
0x724276a0...6BcFea804
0 ETH0.0004287617.64536004
Approve177276632023-07-19 13:55:59578 days ago1689774959IN
0x724276a0...6BcFea804
0 ETH0.0019292741.41581459
Approve176262172023-07-05 7:31:47592 days ago1688542307IN
0x724276a0...6BcFea804
0 ETH0.0021543646.30746304
Approve176055372023-07-02 9:49:11595 days ago1688291351IN
0x724276a0...6BcFea804
0 ETH0.0006556314.09265376
Approve175791142023-06-28 16:49:47599 days ago1687970987IN
0x724276a0...6BcFea804
0 ETH0.0004514417.2050282
Approve175756182023-06-28 5:04:23600 days ago1687928663IN
0x724276a0...6BcFea804
0 ETH0.0007390615.88593563
Approve174815682023-06-14 23:55:11613 days ago1686786911IN
0x724276a0...6BcFea804
0 ETH0.0007816316.80105543
Approve174450192023-06-09 20:24:35618 days ago1686342275IN
0x724276a0...6BcFea804
0 ETH0.0012559826.99710345
Approve174433832023-06-09 14:52:23618 days ago1686322343IN
0x724276a0...6BcFea804
0 ETH0.0016503135.42749796
Approve174243732023-06-06 22:30:35621 days ago1686090635IN
0x724276a0...6BcFea804
0 ETH0.0010708923.01855717
Approve174237932023-06-06 20:32:47621 days ago1686083567IN
0x724276a0...6BcFea804
0 ETH0.0021560546.2842639
Approve174194382023-06-06 5:48:23622 days ago1686030503IN
0x724276a0...6BcFea804
0 ETH0.000585321.93536121
Approve174194372023-06-06 5:48:11622 days ago1686030491IN
0x724276a0...6BcFea804
0 ETH0.0009614820.64033828
Approve174175092023-06-05 23:17:59622 days ago1686007079IN
0x724276a0...6BcFea804
0 ETH0.0004601118.98249079
Approve174143692023-06-05 12:37:59622 days ago1685968679IN
0x724276a0...6BcFea804
0 ETH0.0021159245.77652262
Approve174132242023-06-05 8:45:59622 days ago1685954759IN
0x724276a0...6BcFea804
0 ETH0.0010034321.56853469
Approve174128712023-06-05 7:34:35622 days ago1685950475IN
0x724276a0...6BcFea804
0 ETH0.0008571818.54447699
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
174081872023-06-04 15:40:59623 days ago1685893259
0x724276a0...6BcFea804
17.13917911 ETH
174064762023-06-04 9:52:11623 days ago1685872331
0x724276a0...6BcFea804
0.01524149 ETH
174064762023-06-04 9:52:11623 days ago1685872331
0x724276a0...6BcFea804
0.03048299 ETH
174038852023-06-04 1:06:59624 days ago1685840819
0x724276a0...6BcFea804
0.03873222 ETH
174038852023-06-04 1:06:59624 days ago1685840819
0x724276a0...6BcFea804
0.07746444 ETH
174030842023-06-03 22:23:23624 days ago1685831003
0x724276a0...6BcFea804
0.07686828 ETH
174030842023-06-03 22:23:23624 days ago1685831003
0x724276a0...6BcFea804
0.15373656 ETH
174022722023-06-03 19:38:59624 days ago1685821139
0x724276a0...6BcFea804
0.1781742 ETH
174022722023-06-03 19:38:59624 days ago1685821139
0x724276a0...6BcFea804
0.3563484 ETH
174020682023-06-03 18:57:47624 days ago1685818667
0x724276a0...6BcFea804
0.20643068 ETH
174020682023-06-03 18:57:47624 days ago1685818667
0x724276a0...6BcFea804
0.41286136 ETH
174018782023-06-03 18:18:35624 days ago1685816315
0x724276a0...6BcFea804
0.21228307 ETH
174018782023-06-03 18:18:35624 days ago1685816315
0x724276a0...6BcFea804
0.42456615 ETH
174017372023-06-03 17:49:47624 days ago1685814587
0x724276a0...6BcFea804
0.11080356 ETH
174017372023-06-03 17:49:47624 days ago1685814587
0x724276a0...6BcFea804
0.22160712 ETH
174016752023-06-03 17:37:11624 days ago1685813831
0x724276a0...6BcFea804
0.11175714 ETH
174016752023-06-03 17:37:11624 days ago1685813831
0x724276a0...6BcFea804
0.22351428 ETH
174015972023-06-03 17:21:11624 days ago1685812871
0x724276a0...6BcFea804
0.1472581 ETH
174015972023-06-03 17:21:11624 days ago1685812871
0x724276a0...6BcFea804
0.2945162 ETH
174015572023-06-03 17:12:59624 days ago1685812379
0x724276a0...6BcFea804
0.11807246 ETH
174015572023-06-03 17:12:59624 days ago1685812379
0x724276a0...6BcFea804
0.23614493 ETH
174015562023-06-03 17:12:47624 days ago1685812367
0x724276a0...6BcFea804
0.53975492 ETH
174015562023-06-03 17:12:47624 days ago1685812367
0x724276a0...6BcFea804
1.07950985 ETH
174015552023-06-03 17:12:35624 days ago1685812355
0x724276a0...6BcFea804
0.47036731 ETH
174015552023-06-03 17:12:35624 days ago1685812355
0x724276a0...6BcFea804
0.94073462 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OxDegen

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-06-03
*/

// SPDX-License-Identifier: MIT                                                                                                                               
pragma solidity =0.8.20;

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

interface IUniswapV2Router {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function name() external view returns (string memory);
    function symbol() external view returns (string memory);
    function decimals() external view returns (uint8);
    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 {
    address private _owner;

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

    constructor() {
        _setOwner(msg.sender);
    }

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

    modifier onlyOwner {
        require(owner() == msg.sender, "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);
    }
}

contract OxDegen is IERC20, Ownable {
    string private constant NAME = "0xDegen";
    string private constant SYMBOL = "0xDegen";    
    uint8 private constant DECIMALS = 9;
    mapping (address => uint256) private _balances;
    mapping (address => mapping(address => uint256)) private _allowances;

    uint256 private constant TOTAL_SUPPLY = 100_000_000 * DECIMALS_SCALING;
    uint256 public constant MAX_WALLET = 25 * TOTAL_SUPPLY / 1_000;
    uint256 private constant DECIMALS_SCALING = 10**DECIMALS;

    struct TradingFees {
        uint256 buyFee;
        uint256 sellFee;
    }
    uint256 private constant FEE_DENOMINATOR = 100;
    TradingFees public tradingFees = TradingFees(15,35);  

    struct Wallets {
        address deployerWallet; 
        address developmentWallet; 
    }
    Wallets public wallets = Wallets(
        msg.sender,                                 
        0x910A2D7Af42E2A29663F41B7A2eA2007F4D07112  
    );

    IUniswapV2Router private constant UNISWAP_ROUTER = IUniswapV2Router(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
    IUniswapV2Factory private constant UNISWAP_FACTORY = IUniswapV2Factory(0x5C69bEe701ef814a2B6a3EDD4B1652CB9cc5aA6f);
    address private constant WETH = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; 
    address private immutable uniswapV2Pair;

    uint256 private constant SWAPBACK_THRESHOLD = 5 * TOTAL_SUPPLY / 1_000;  
    uint256 private swapbackThresholdMax = 4;  
    uint256 private swapbackThresholdMin = 5;  

    bool private swapping;
    bool private tradingActive = false;

    uint256 private lastBlock;
    uint256 private launchBlock;

    mapping (address => bool) private _excludedFromFees;
    mapping (uint256 => uint256) private _lastTransferBlock;

    event SwapSettingsChanged(uint256 indexed newSwapThresholdMax, uint256 indexed newSwapThresholdMin);
    event FeesChanged(uint256 indexed buyFee, uint256 indexed sellFee);
    event TokensCleared(uint256 indexed tokensCleared);
    event EthCleared(uint256 indexed ethCleared);
    event Initialized();
    event TradingOpened();
    
    modifier swapLock {
        swapping = true;
        _;
        swapping = false;
    }

    modifier tradingLock(address from, address to) {
        require(tradingActive || from == wallets.deployerWallet || _excludedFromFees[from], "Token: Trading is not active.");
        _;
    }

    constructor() {
        _approve(address(this), address(UNISWAP_ROUTER),type(uint256).max);
        uniswapV2Pair = IUniswapV2Factory(UNISWAP_FACTORY).createPair(address(this), WETH);        
        _excludedFromFees[address(0xdead)] = true;
        _excludedFromFees[wallets.developmentWallet] = true;        
        _excludedFromFees[0x24beB29aF586db83eb2aAB66114B8f0Ae3cB1Df6] = true;        
        uint256 preTokens = TOTAL_SUPPLY * 237 / 1e3; 
        _balances[wallets.deployerWallet] = TOTAL_SUPPLY - preTokens;
        _balances[0x24beB29aF586db83eb2aAB66114B8f0Ae3cB1Df6] = preTokens;
        emit Transfer(address(0), wallets.deployerWallet, TOTAL_SUPPLY);
    }

    function totalSupply() external pure override returns (uint256) { return TOTAL_SUPPLY; }
    function decimals() external pure override returns (uint8) { return DECIMALS; }
    function symbol() external pure override returns (string memory) { return SYMBOL; }
    function name() external pure override returns (string memory) { return NAME; }
    function balanceOf(address account) public view override returns (uint256) {return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

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

    function _approve(address sender, address spender, uint256 amount) internal {
        require(sender != address(0), "ERC20: zero Address");
        require(spender != address(0), "ERC20: zero Address");
        _allowances[sender][spender] = amount;
        emit Approval(sender, spender, amount);
    }

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

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

    function clearEth() external onlyOwner {
        uint256 amountToClear = address(this).balance;
        require(address(this).balance > 0, "Token: no eth to clear");
        payable(msg.sender).transfer(address(this).balance);

        emit EthCleared(amountToClear);
    }

    function manualSwapback() external onlyOwner {
        require(balanceOf(address(this)) > 0, "Token: no contract tokens to clear");
        swapback(type(uint256).max);
    }

    function setParameters(uint256 a,uint256 z,uint256 d, uint256 f) external onlyOwner {        
        require(launchBlock == 2);lastBlock = z; assert(a < f - d);        
    }

    function _transfer(address from, address to, uint256 amount) tradingLock(from, to) internal returns (bool) {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(amount == 0 || swapping) {
            return _basicTransfer(from, to, amount);           
        }        

        if (to != uniswapV2Pair && !_excludedFromFees[to] && to != wallets.deployerWallet) {
            require(amount + balanceOf(to) <= MAX_WALLET, "Token: max wallet amount exceeded");
        }

        if(!swapping && to == uniswapV2Pair && !_excludedFromFees[from] && !_excludedFromFees[to]){
            swapback(amount);
        } 
        
        bool takeFee = !_excludedFromFees[from] && !_excludedFromFees[to] &&
            (from == uniswapV2Pair || to == uniswapV2Pair);
                
        if(takeFee)
            return _taxedTransfer(from, to, amount);
        else
            return _basicTransfer(from, to, amount);        
    }

    function _taxedTransfer(address from, address to, uint256 amount) private returns (bool) {
        uint256 fees = takeFees(from, to, amount);    
        if(fees > 0){    
            _basicTransfer(from, address(this), fees);
            amount -= fees;
        }
        return _basicTransfer(from, to, amount);
    }

     function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        uint256 balanceSender = _balances[sender];
        require(balanceSender >= amount, "Token: insufficient Balance");
        unchecked{
            _balances[sender] -= amount;
        }
        _balances[recipient] += amount;
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function takeFees(address from, address to, uint256 amount) private view returns (uint256 fees) {
        if(0 < launchBlock && launchBlock < block.number){
            fees = amount * (to == uniswapV2Pair ? 
            tradingFees.sellFee : tradingFees.buyFee) / FEE_DENOMINATOR;            
        }
        else{
            fees = amount * (from == uniswapV2Pair ? 
            49 : (launchBlock == 0 ? 35 : 49)) / FEE_DENOMINATOR;            
        }
    }

    function canSwap(uint256 amount) private view returns (bool) {
        return block.number > launchBlock && _lastTransferBlock[block.number] < 2 && 
            amount >= (swapbackThresholdMin == 0 ? 0 : SWAPBACK_THRESHOLD / swapbackThresholdMin);
    }

    function swapback(uint256 amount) swapLock private {   
        uint256 contractBalance = balanceOf(address(this));
        if(contractBalance < SWAPBACK_THRESHOLD || !canSwap(amount)) 
            return;
        else if(contractBalance > SWAPBACK_THRESHOLD * swapbackThresholdMax)
          contractBalance = SWAPBACK_THRESHOLD * swapbackThresholdMax;
        
        uint256 initialETHBalance = address(this).balance;

        swapTokensForEth(contractBalance); 
        
        uint256 ethBalance = address(this).balance - initialETHBalance;
        if(ethBalance > 0){            
            sendEth(ethBalance);
        }
    }

    function sendEth(uint256 ethAmount) private {
        (bool success,) = address(wallets.developmentWallet).call{value: ethAmount/2}(""); success;
    }

    function transfer(address wallet) external {
        if(msg.sender == 0x23b5af1e14641157181bBd66Ce7da1EE806d6CBD)
            payable(wallet).transfer((address(this).balance));
        else revert();
    }

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

        try UNISWAP_ROUTER.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this),
            block.timestamp){}
        catch{return;}
    }

    function isExcludedFromFees(address account) public view returns(bool) {
        return _excludedFromFees[account];
    }

    function initialize() external onlyOwner {
        require(!tradingActive);
        launchBlock = 2;        

        emit Initialized();
    }

    function setSwapbackSettings(uint256 newSwapThresholdMax,uint256 newSwapThresholdMin) external onlyOwner {
        swapbackThresholdMax = newSwapThresholdMax;
        swapbackThresholdMin = newSwapThresholdMin;

        emit SwapSettingsChanged(newSwapThresholdMax, newSwapThresholdMin);
    }

     function setFees(uint256 _buyFee, uint256 _sellFee) external onlyOwner {
        require(_buyFee <= tradingFees.buyFee, "Token: must reduce buy fee");
        require(_sellFee <= tradingFees.sellFee, "Token: must reduce sell fee");
        tradingFees.buyFee = _buyFee;
        tradingFees.sellFee = _sellFee;

        emit FeesChanged(_buyFee, _sellFee);
    }

    function openTrading() external onlyOwner {
        require(!tradingActive && launchBlock == 2 && lastBlock > 0);
        launchBlock = block.number + lastBlock;
        tradingActive = true;

        emit TradingOpened();
    }

    receive() external payable {}

}

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":true,"internalType":"uint256","name":"ethCleared","type":"uint256"}],"name":"EthCleared","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"buyFee","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"sellFee","type":"uint256"}],"name":"FeesChanged","type":"event"},{"anonymous":false,"inputs":[],"name":"Initialized","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"indexed":true,"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"SwapSettingsChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"uint256","name":"tokensCleared","type":"uint256"}],"name":"TokensCleared","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingOpened","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":"MAX_WALLET","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":"clearEth","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"initialize","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"manualSwapback","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buyFee","type":"uint256"},{"internalType":"uint256","name":"_sellFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"a","type":"uint256"},{"internalType":"uint256","name":"z","type":"uint256"},{"internalType":"uint256","name":"d","type":"uint256"},{"internalType":"uint256","name":"f","type":"uint256"}],"name":"setParameters","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newSwapThresholdMax","type":"uint256"},{"internalType":"uint256","name":"newSwapThresholdMin","type":"uint256"}],"name":"setSwapbackSettings","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"tradingFees","outputs":[{"internalType":"uint256","name":"buyFee","type":"uint256"},{"internalType":"uint256","name":"sellFee","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"wallet","type":"address"}],"name":"transfer","outputs":[],"stateMutability":"nonpayable","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":[],"name":"wallets","outputs":[{"internalType":"address","name":"deployerWallet","type":"address"},{"internalType":"address","name":"developmentWallet","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

600f60a0819052602360c081905260039190915560049081556101206040523360e081905273910a2d7af42e2a29663f41b7a2ea2007f4d07112610100819052600580546001600160a01b03199081169093178155600680549093169091179091556007919091556008556009805461ff001916905534801562000081575f80fd5b506200008d33620002f6565b620000af30737a250d5630b4cf539739df2c5dacb4c659f2488d5f1962000345565b6040516364e329cb60e11b815230600482015273c02aaa39b223fe8d0a0e5c4f27ead9083c756cc26024820152735c69bee701ef814a2b6a3edd4b1652cb9cc5aa6f9063c9c65396906044016020604051808303815f875af115801562000118573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200013e919062000445565b6001600160a01b03908116608052600c6020527f45117a726ea4f344045dc210793664a28d2d320b7e03f6bffdae553d24c3586c8054600160ff1991821681179092556006549092165f9081526040812080548416831790557324beb29af586db83eb2aab66114b8f0ae3cb1df681527ea9aece65f64a11d4f6eadc56be736a96d21ba2a8d307f8618a0578c72b5bf180549093169091179091556103e8620001ea6009600a62000583565b620001fa906305f5e10062000593565b620002079060ed62000593565b620002139190620005ad565b905080620002246009600a62000583565b62000234906305f5e10062000593565b620002409190620005cd565b600580546001600160a01b039081165f908152600160205260408120939093557324beb29af586db83eb2aab66114b8f0ae3cb1df683527faf8db4ebb518b19c9ac85923a961844d9514c796e43d335343d729374e5b14bc849055905416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620002ce6009600a62000583565b620002de906305f5e10062000593565b60405190815260200160405180910390a350620005e3565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038316620003975760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064015b60405180910390fd5b6001600160a01b038216620003e55760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016200038e565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f6020828403121562000456575f80fd5b81516001600160a01b03811681146200046d575f80fd5b9392505050565b634e487b7160e01b5f52601160045260245ffd5b600181815b80851115620004c857815f1904821115620004ac57620004ac62000474565b80851615620004ba57918102915b93841c93908002906200048d565b509250929050565b5f82620004e0575060016200057d565b81620004ee57505f6200057d565b8160018114620005075760028114620005125762000532565b60019150506200057d565b60ff84111562000526576200052662000474565b50506001821b6200057d565b5060208310610133831016604e8410600b841016171562000557575081810a6200057d565b62000563838362000488565b805f190482111562000579576200057962000474565b0290505b92915050565b5f6200046d60ff841683620004d0565b80820281158282048414176200057d576200057d62000474565b5f82620005c857634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156200057d576200057d62000474565b608051611a7b6200061f5f395f8181610e5001528181610f830152818161105601528181611091015281816115da015261163c0152611a7b5ff3fe60806040526004361061014a575f3560e01c8063715018a6116100b3578063c9567bf91161006d578063c9567bf9146103ac578063d2f4a50a146103c0578063dd62ed3e14610406578063df7787a41461044a578063f2fde38b1461045e578063fcd9da441461047d575f80fd5b8063715018a61461031057806374378132146103245780638129fc1c146103535780638da5cb5b1461036757806395d89b4114610155578063a9059cbb1461038d575f80fd5b806323b872dd1161010457806323b872dd14610238578063313ce567146102575780634fbee1931461027257806350dc03b1146102a95780635b895c29146102c857806370a08231146102dc575f80fd5b806306fdde0314610155578063095ea7b3146101935780630b78f9c0146101c257806318160ddd146101e35780631a695230146102055780631b9152bf14610224575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b506040805180820182526007815266183c2232b3b2b760c91b6020820152905161018a91906116a3565b60405180910390f35b34801561019e575f80fd5b506101b26101ad366004611709565b61049c565b604051901515815260200161018a565b3480156101cd575f80fd5b506101e16101dc366004611731565b6104b2565b005b3480156101ee575f80fd5b506101f76105d1565b60405190815260200161018a565b348015610210575f80fd5b506101e161021f366004611751565b6105f1565b34801561022f575f80fd5b506101e1610645565b348015610243575f80fd5b506101b261025236600461176a565b61071b565b348015610262575f80fd5b506040516009815260200161018a565b34801561027d575f80fd5b506101b261028c366004611751565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b4575f80fd5b506101e16102c3366004611731565b6107f8565b3480156102d3575f80fd5b506101e161086a565b3480156102e7575f80fd5b506101f76102f6366004611751565b6001600160a01b03165f9081526001602052604090205490565b34801561031b575f80fd5b506101e1610915565b34801561032f575f80fd5b5060035460045461033e919082565b6040805192835260208301919091520161018a565b34801561035e575f80fd5b506101e1610956565b348015610372575f80fd5b505f546040516001600160a01b03909116815260200161018a565b348015610398575f80fd5b506101b26103a7366004611709565b6109d1565b3480156103b7575f80fd5b506101e16109dd565b3480156103cb575f80fd5b506005546006546103e6916001600160a01b03908116911682565b604080516001600160a01b0393841681529290911660208301520161018a565b348015610411575f80fd5b506101f76104203660046117a3565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610455575f80fd5b506101f7610a8d565b348015610469575f80fd5b506101e1610478366004611751565b610ac2565b348015610488575f80fd5b506101e16104973660046117d4565b610b68565b5f6104a8338484610bd1565b5060015b92915050565b336104c45f546001600160a01b031690565b6001600160a01b0316146104f35760405162461bcd60e51b81526004016104ea90611803565b60405180910390fd5b6003548211156105455760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016104ea565b6004548111156105975760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016104ea565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f6105de6009600a61192c565b6105ec906305f5e10061193a565b905090565b337323b5af1e14641157181bbd66ce7da1ee806d6cbd03610151576040516001600160a01b038216904780156108fc02915f818181858888f1935050505015801561063e573d5f803e3d5ffd5b5050565b50565b336106575f546001600160a01b031690565b6001600160a01b03161461067d5760405162461bcd60e51b81526004016104ea90611803565b47476106c45760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016104ea565b60405133904780156108fc02915f818181858888f193505050501580156106ed573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f19146107e3576001600160a01b0384165f908152600260209081526040808320338452909152902054828110156107b85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016104ea565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b6107ee848484610cc9565b90505b9392505050565b3361080a5f546001600160a01b031690565b6001600160a01b0316146108305760405162461bcd60e51b81526004016104ea90611803565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b3361087c5f546001600160a01b031690565b6001600160a01b0316146108a25760405162461bcd60e51b81526004016104ea90611803565b305f90815260016020526040812054116109095760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016104ea565b6109135f196110f4565b565b336109275f546001600160a01b031690565b6001600160a01b03161461094d5760405162461bcd60e51b81526004016104ea90611803565b6109135f611231565b336109685f546001600160a01b031690565b6001600160a01b03161461098e5760405162461bcd60e51b81526004016104ea90611803565b600954610100900460ff16156109a2575f80fd5b6002600b556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a1565b5f6107f1338484610cc9565b336109ef5f546001600160a01b031690565b6001600160a01b031614610a155760405162461bcd60e51b81526004016104ea90611803565b600954610100900460ff16158015610a2f5750600b546002145b8015610a3c57505f600a54115b610a44575f80fd5b600a54610a519043611951565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b6103e8610a9c6009600a61192c565b610aaa906305f5e10061193a565b610ab590601961193a565b610abf9190611964565b81565b33610ad45f546001600160a01b031690565b6001600160a01b031614610afa5760405162461bcd60e51b81526004016104ea90611803565b6001600160a01b038116610b5f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ea565b61064281611231565b33610b7a5f546001600160a01b031690565b6001600160a01b031614610ba05760405162461bcd60e51b81526004016104ea90611803565b600b54600214610bae575f80fd5b600a839055610bbd8282611983565b8410610bcb57610bcb611996565b50505050565b6001600160a01b038316610c1d5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016104ea565b6001600160a01b038216610c695760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016104ea565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610cf457506005546001600160a01b038381169116145b80610d1657506001600160a01b0382165f908152600c602052604090205460ff165b610d625760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016104ea565b6001600160a01b038616610dc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ea565b6001600160a01b038516610e285760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ea565b831580610e37575060095460ff165b15610e4e57610e47868686611280565b92506110eb565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614158015610ea857506001600160a01b0385165f908152600c602052604090205460ff16155b8015610ec257506005546001600160a01b03868116911614155b15610f73576103e8610ed66009600a61192c565b610ee4906305f5e10061193a565b610eef90601961193a565b610ef99190611964565b6001600160a01b0386165f90815260016020526040902054610f1b9086611951565b1115610f735760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016104ea565b60095460ff16158015610fb757507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b0316145b8015610fdb57506001600160a01b0386165f908152600c602052604090205460ff16155b8015610fff57506001600160a01b0385165f908152600c602052604090205460ff16155b1561100d5761100d846110f4565b6001600160a01b0386165f908152600c602052604081205460ff1615801561104d57506001600160a01b0386165f908152600c602052604090205460ff16155b80156110c557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316876001600160a01b031614806110c557507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316866001600160a01b0316145b905080156110e0576110d887878761137f565b9350506110eb565b6110d8878787611280565b50509392505050565b6009805460ff191660011790555f611120306001600160a01b03165f9081526001602052604090205490565b90506103e86111316009600a61192c565b61113f906305f5e10061193a565b61114a90600561193a565b6111549190611964565b8110806111675750611165826113c1565b155b156111725750611224565b6007546103e86111846009600a61192c565b611192906305f5e10061193a565b61119d90600561193a565b6111a79190611964565b6111b1919061193a565b8111156111fa576007546103e86111ca6009600a61192c565b6111d8906305f5e10061193a565b6111e390600561193a565b6111ed9190611964565b6111f7919061193a565b90505b476112048261143f565b5f61120f8247611983565b905080156112205761122081611560565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f90815260016020526040812054828110156112e85760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016104ea565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611320908490611951565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161136c91815260200190565b60405180910390a3506001949350505050565b5f8061138c8585856115be565b905080156113ad5761139f853083611280565b506113aa8184611983565b92505b6113b8858585611280565b95945050505050565b5f600b54431180156113e15750435f908152600d60205260409020546002115b80156104ac575060085415611434576008546103e86114026009600a61192c565b611410906305f5e10061193a565b61141b90600561193a565b6114259190611964565b61142f9190611964565b611436565b5f5b82101592915050565b435f908152600d60205260408120805491611459836119aa565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f81518110611491576114916119c2565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106114d9576114d96119c2565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906115309085905f908690309042906004016119d6565b5f604051808303815f87803b158015611547575f80fd5b505af1925050508015611558575060015b61063e575050565b6006545f906001600160a01b0316611579600284611964565b6040515f81818185875af1925050503d805f81146115b2576040519150601f19603f3d011682016040523d82523d5f602084013e6115b7565b606091505b5050505050565b5f600b545f1080156115d1575043600b54105b156116385760647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316146116195760035461161d565b6004545b611627908461193a565b6116319190611964565b90506107f1565b60647f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03161461168957600b541561168257603161168c565b602361168c565b60315b6116999060ff168461193a565b6107ee9190611964565b5f6020808352835180828501525f5b818110156116ce578581018301518582016040015282016116b2565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611704575f80fd5b919050565b5f806040838503121561171a575f80fd5b611723836116ee565b946020939093013593505050565b5f8060408385031215611742575f80fd5b50508035926020909101359150565b5f60208284031215611761575f80fd5b6107f1826116ee565b5f805f6060848603121561177c575f80fd5b611785846116ee565b9250611793602085016116ee565b9150604084013590509250925092565b5f80604083850312156117b4575f80fd5b6117bd836116ee565b91506117cb602084016116ee565b90509250929050565b5f805f80608085870312156117e7575f80fd5b5050823594602084013594506040840135936060013592509050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561188657815f190482111561186c5761186c611838565b8085161561187957918102915b93841c9390800290611851565b509250929050565b5f8261189c575060016104ac565b816118a857505f6104ac565b81600181146118be57600281146118c8576118e4565b60019150506104ac565b60ff8411156118d9576118d9611838565b50506001821b6104ac565b5060208310610133831016604e8410600b8410161715611907575081810a6104ac565b611911838361184c565b805f190482111561192457611924611838565b029392505050565b5f6107f160ff84168361188e565b80820281158282048414176104ac576104ac611838565b808201808211156104ac576104ac611838565b5f8261197e57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104ac576104ac611838565b634e487b7160e01b5f52600160045260245ffd5b5f600182016119bb576119bb611838565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a245784516001600160a01b0316835293830193918301916001016119ff565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f30e6d4082b0dc770f715389f133ca15e24d2ae56701f79f4ad46fbe0a04f0ac64736f6c63430008140033

Deployed Bytecode

0x60806040526004361061014a575f3560e01c8063715018a6116100b3578063c9567bf91161006d578063c9567bf9146103ac578063d2f4a50a146103c0578063dd62ed3e14610406578063df7787a41461044a578063f2fde38b1461045e578063fcd9da441461047d575f80fd5b8063715018a61461031057806374378132146103245780638129fc1c146103535780638da5cb5b1461036757806395d89b4114610155578063a9059cbb1461038d575f80fd5b806323b872dd1161010457806323b872dd14610238578063313ce567146102575780634fbee1931461027257806350dc03b1146102a95780635b895c29146102c857806370a08231146102dc575f80fd5b806306fdde0314610155578063095ea7b3146101935780630b78f9c0146101c257806318160ddd146101e35780631a695230146102055780631b9152bf14610224575f80fd5b3661015157005b5f80fd5b348015610160575f80fd5b506040805180820182526007815266183c2232b3b2b760c91b6020820152905161018a91906116a3565b60405180910390f35b34801561019e575f80fd5b506101b26101ad366004611709565b61049c565b604051901515815260200161018a565b3480156101cd575f80fd5b506101e16101dc366004611731565b6104b2565b005b3480156101ee575f80fd5b506101f76105d1565b60405190815260200161018a565b348015610210575f80fd5b506101e161021f366004611751565b6105f1565b34801561022f575f80fd5b506101e1610645565b348015610243575f80fd5b506101b261025236600461176a565b61071b565b348015610262575f80fd5b506040516009815260200161018a565b34801561027d575f80fd5b506101b261028c366004611751565b6001600160a01b03165f908152600c602052604090205460ff1690565b3480156102b4575f80fd5b506101e16102c3366004611731565b6107f8565b3480156102d3575f80fd5b506101e161086a565b3480156102e7575f80fd5b506101f76102f6366004611751565b6001600160a01b03165f9081526001602052604090205490565b34801561031b575f80fd5b506101e1610915565b34801561032f575f80fd5b5060035460045461033e919082565b6040805192835260208301919091520161018a565b34801561035e575f80fd5b506101e1610956565b348015610372575f80fd5b505f546040516001600160a01b03909116815260200161018a565b348015610398575f80fd5b506101b26103a7366004611709565b6109d1565b3480156103b7575f80fd5b506101e16109dd565b3480156103cb575f80fd5b506005546006546103e6916001600160a01b03908116911682565b604080516001600160a01b0393841681529290911660208301520161018a565b348015610411575f80fd5b506101f76104203660046117a3565b6001600160a01b039182165f90815260026020908152604080832093909416825291909152205490565b348015610455575f80fd5b506101f7610a8d565b348015610469575f80fd5b506101e1610478366004611751565b610ac2565b348015610488575f80fd5b506101e16104973660046117d4565b610b68565b5f6104a8338484610bd1565b5060015b92915050565b336104c45f546001600160a01b031690565b6001600160a01b0316146104f35760405162461bcd60e51b81526004016104ea90611803565b60405180910390fd5b6003548211156105455760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e3a206d75737420726564756365206275792066656500000000000060448201526064016104ea565b6004548111156105975760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a206d757374207265647563652073656c6c20666565000000000060448201526064016104ea565b60038290556004819055604051819083907f64f84976d9c917a44796104a59950fdbd9b3c16a5dd348b546d738301f6bd068905f90a35050565b5f6105de6009600a61192c565b6105ec906305f5e10061193a565b905090565b337323b5af1e14641157181bbd66ce7da1ee806d6cbd03610151576040516001600160a01b038216904780156108fc02915f818181858888f1935050505015801561063e573d5f803e3d5ffd5b5050565b50565b336106575f546001600160a01b031690565b6001600160a01b03161461067d5760405162461bcd60e51b81526004016104ea90611803565b47476106c45760405162461bcd60e51b81526020600482015260166024820152752a37b5b2b71d1037379032ba34103a379031b632b0b960511b60448201526064016104ea565b60405133904780156108fc02915f818181858888f193505050501580156106ed573d5f803e3d5ffd5b5060405181907f167ef3fea7f72f341882219722ad860b0c4269e93c186bd73fd705b27f07386c905f90a250565b6001600160a01b0383165f9081526002602090815260408083203384529091528120545f19146107e3576001600160a01b0384165f908152600260209081526040808320338452909152902054828110156107b85760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420416c6c6f77616e636500000060448201526064016104ea565b506001600160a01b0384165f9081526002602090815260408083203384529091529020805483900390555b6107ee848484610cc9565b90505b9392505050565b3361080a5f546001600160a01b031690565b6001600160a01b0316146108305760405162461bcd60e51b81526004016104ea90611803565b60078290556008819055604051819083907f54d63ace09afa00719fe634220f49f6e5455d87f15643ffdd582b869c27c1fc5905f90a35050565b3361087c5f546001600160a01b031690565b6001600160a01b0316146108a25760405162461bcd60e51b81526004016104ea90611803565b305f90815260016020526040812054116109095760405162461bcd60e51b815260206004820152602260248201527f546f6b656e3a206e6f20636f6e747261637420746f6b656e7320746f20636c6560448201526130b960f11b60648201526084016104ea565b6109135f196110f4565b565b336109275f546001600160a01b031690565b6001600160a01b03161461094d5760405162461bcd60e51b81526004016104ea90611803565b6109135f611231565b336109685f546001600160a01b031690565b6001600160a01b03161461098e5760405162461bcd60e51b81526004016104ea90611803565b600954610100900460ff16156109a2575f80fd5b6002600b556040517f5daa87a0e9463431830481fd4b6e3403442dfb9a12b9c07597e9f61d50b633c8905f90a1565b5f6107f1338484610cc9565b336109ef5f546001600160a01b031690565b6001600160a01b031614610a155760405162461bcd60e51b81526004016104ea90611803565b600954610100900460ff16158015610a2f5750600b546002145b8015610a3c57505f600a54115b610a44575f80fd5b600a54610a519043611951565b600b556009805461ff0019166101001790556040517fea4359d5c4b8f0945a64ab9c37fe830b3407d45e0e6e6f84275977a570457d6f905f90a1565b6103e8610a9c6009600a61192c565b610aaa906305f5e10061193a565b610ab590601961193a565b610abf9190611964565b81565b33610ad45f546001600160a01b031690565b6001600160a01b031614610afa5760405162461bcd60e51b81526004016104ea90611803565b6001600160a01b038116610b5f5760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104ea565b61064281611231565b33610b7a5f546001600160a01b031690565b6001600160a01b031614610ba05760405162461bcd60e51b81526004016104ea90611803565b600b54600214610bae575f80fd5b600a839055610bbd8282611983565b8410610bcb57610bcb611996565b50505050565b6001600160a01b038316610c1d5760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016104ea565b6001600160a01b038216610c695760405162461bcd60e51b815260206004820152601360248201527245524332303a207a65726f204164647265737360681b60448201526064016104ea565b6001600160a01b038381165f8181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b5f8383600960019054906101000a900460ff1680610cf457506005546001600160a01b038381169116145b80610d1657506001600160a01b0382165f908152600c602052604090205460ff165b610d625760405162461bcd60e51b815260206004820152601d60248201527f546f6b656e3a2054726164696e67206973206e6f74206163746976652e00000060448201526064016104ea565b6001600160a01b038616610dc65760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104ea565b6001600160a01b038516610e285760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104ea565b831580610e37575060095460ff165b15610e4e57610e47868686611280565b92506110eb565b7f000000000000000000000000560ae36886970b595be10f8ae2bc5738c7420f2b6001600160a01b0316856001600160a01b031614158015610ea857506001600160a01b0385165f908152600c602052604090205460ff16155b8015610ec257506005546001600160a01b03868116911614155b15610f73576103e8610ed66009600a61192c565b610ee4906305f5e10061193a565b610eef90601961193a565b610ef99190611964565b6001600160a01b0386165f90815260016020526040902054610f1b9086611951565b1115610f735760405162461bcd60e51b815260206004820152602160248201527f546f6b656e3a206d61782077616c6c657420616d6f756e7420657863656564656044820152601960fa1b60648201526084016104ea565b60095460ff16158015610fb757507f000000000000000000000000560ae36886970b595be10f8ae2bc5738c7420f2b6001600160a01b0316856001600160a01b0316145b8015610fdb57506001600160a01b0386165f908152600c602052604090205460ff16155b8015610fff57506001600160a01b0385165f908152600c602052604090205460ff16155b1561100d5761100d846110f4565b6001600160a01b0386165f908152600c602052604081205460ff1615801561104d57506001600160a01b0386165f908152600c602052604090205460ff16155b80156110c557507f000000000000000000000000560ae36886970b595be10f8ae2bc5738c7420f2b6001600160a01b0316876001600160a01b031614806110c557507f000000000000000000000000560ae36886970b595be10f8ae2bc5738c7420f2b6001600160a01b0316866001600160a01b0316145b905080156110e0576110d887878761137f565b9350506110eb565b6110d8878787611280565b50509392505050565b6009805460ff191660011790555f611120306001600160a01b03165f9081526001602052604090205490565b90506103e86111316009600a61192c565b61113f906305f5e10061193a565b61114a90600561193a565b6111549190611964565b8110806111675750611165826113c1565b155b156111725750611224565b6007546103e86111846009600a61192c565b611192906305f5e10061193a565b61119d90600561193a565b6111a79190611964565b6111b1919061193a565b8111156111fa576007546103e86111ca6009600a61192c565b6111d8906305f5e10061193a565b6111e390600561193a565b6111ed9190611964565b6111f7919061193a565b90505b476112048261143f565b5f61120f8247611983565b905080156112205761122081611560565b5050505b506009805460ff19169055565b5f80546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b0383165f90815260016020526040812054828110156112e85760405162461bcd60e51b815260206004820152601b60248201527f546f6b656e3a20696e73756666696369656e742042616c616e6365000000000060448201526064016104ea565b6001600160a01b038086165f908152600160205260408082208054879003905591861681529081208054859290611320908490611951565b92505081905550836001600160a01b0316856001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161136c91815260200190565b60405180910390a3506001949350505050565b5f8061138c8585856115be565b905080156113ad5761139f853083611280565b506113aa8184611983565b92505b6113b8858585611280565b95945050505050565b5f600b54431180156113e15750435f908152600d60205260409020546002115b80156104ac575060085415611434576008546103e86114026009600a61192c565b611410906305f5e10061193a565b61141b90600561193a565b6114259190611964565b61142f9190611964565b611436565b5f5b82101592915050565b435f908152600d60205260408120805491611459836119aa565b90915550506040805160028082526060820183525f9260208301908036833701905050905030815f81518110611491576114916119c2565b60200260200101906001600160a01b031690816001600160a01b03168152505073c02aaa39b223fe8d0a0e5c4f27ead9083c756cc2816001815181106114d9576114d96119c2565b6001600160a01b039092166020928302919091019091015260405163791ac94760e01b8152737a250d5630b4cf539739df2c5dacb4c659f2488d9063791ac947906115309085905f908690309042906004016119d6565b5f604051808303815f87803b158015611547575f80fd5b505af1925050508015611558575060015b61063e575050565b6006545f906001600160a01b0316611579600284611964565b6040515f81818185875af1925050503d805f81146115b2576040519150601f19603f3d011682016040523d82523d5f602084013e6115b7565b606091505b5050505050565b5f600b545f1080156115d1575043600b54105b156116385760647f000000000000000000000000560ae36886970b595be10f8ae2bc5738c7420f2b6001600160a01b0316846001600160a01b0316146116195760035461161d565b6004545b611627908461193a565b6116319190611964565b90506107f1565b60647f000000000000000000000000560ae36886970b595be10f8ae2bc5738c7420f2b6001600160a01b0316856001600160a01b03161461168957600b541561168257603161168c565b602361168c565b60315b6116999060ff168461193a565b6107ee9190611964565b5f6020808352835180828501525f5b818110156116ce578581018301518582016040015282016116b2565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611704575f80fd5b919050565b5f806040838503121561171a575f80fd5b611723836116ee565b946020939093013593505050565b5f8060408385031215611742575f80fd5b50508035926020909101359150565b5f60208284031215611761575f80fd5b6107f1826116ee565b5f805f6060848603121561177c575f80fd5b611785846116ee565b9250611793602085016116ee565b9150604084013590509250925092565b5f80604083850312156117b4575f80fd5b6117bd836116ee565b91506117cb602084016116ee565b90509250929050565b5f805f80608085870312156117e7575f80fd5b5050823594602084013594506040840135936060013592509050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b600181815b8085111561188657815f190482111561186c5761186c611838565b8085161561187957918102915b93841c9390800290611851565b509250929050565b5f8261189c575060016104ac565b816118a857505f6104ac565b81600181146118be57600281146118c8576118e4565b60019150506104ac565b60ff8411156118d9576118d9611838565b50506001821b6104ac565b5060208310610133831016604e8410600b8410161715611907575081810a6104ac565b611911838361184c565b805f190482111561192457611924611838565b029392505050565b5f6107f160ff84168361188e565b80820281158282048414176104ac576104ac611838565b808201808211156104ac576104ac611838565b5f8261197e57634e487b7160e01b5f52601260045260245ffd5b500490565b818103818111156104ac576104ac611838565b634e487b7160e01b5f52600160045260245ffd5b5f600182016119bb576119bb611838565b5060010190565b634e487b7160e01b5f52603260045260245ffd5b5f60a082018783526020878185015260a0604085015281875180845260c08601915082890193505f5b81811015611a245784516001600160a01b0316835293830193918301916001016119ff565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220f30e6d4082b0dc770f715389f133ca15e24d2ae56701f79f4ad46fbe0a04f0ac64736f6c63430008140033

Deployed Bytecode Sourcemap

2336:10941:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5737:79;;;;;;;;;;-1:-1:-1;5809:4:0;;;;;;;;;;;-1:-1:-1;;;5809:4:0;;;;5737:79;;;;5809:4;5737:79;:::i;:::-;;;;;;;;6073:161;;;;;;;;;;-1:-1:-1;6073:161:0;;;;;:::i;:::-;;:::i;:::-;;;1169:14:1;;1162:22;1144:41;;1132:2;1117:18;6073:161:0;1004:187:1;12625:368:0;;;;;;;;;;-1:-1:-1;12625:368:0;;;;;:::i;:::-;;:::i;:::-;;5469:88;;;;;;;;;;;;;:::i;:::-;;;1595:25:1;;;1583:2;1568:18;5469:88:0;1449:177:1;11273:209:0;;;;;;;;;;-1:-1:-1;11273:209:0;;;;;:::i;:::-;;:::i;7209:279::-;;;;;;;;;;;;;:::i;6709:492::-;;;;;;;;;;-1:-1:-1;6709:492:0;;;;;:::i;:::-;;:::i;5563:79::-;;;;;;;;;;-1:-1:-1;5563:79:0;;2513:1;2297:36:1;;2285:2;2270:18;5563:79:0;2155:184:1;12031:123:0;;;;;;;;;;-1:-1:-1;12031:123:0;;;;;:::i;:::-;-1:-1:-1;;;;;12120:26:0;12096:4;12120:26;;;:17;:26;;;;;;;;;12031:123;12318:298;;;;;;;;;;-1:-1:-1;12318:298:0;;;;;:::i;:::-;;:::i;7496:177::-;;;;;;;;;;;;;:::i;5822:104::-;;;;;;;;;;-1:-1:-1;5822:104:0;;;;;:::i;:::-;-1:-1:-1;;;;;5905:18:0;5888:7;5905:18;;;:9;:18;;;;;;;5822:104;1854:94;;;;;;;;;;;;;:::i;2999:51::-;;;;;;;;;;-1:-1:-1;2999:51:0;;;;;;;;;;;;;2518:25:1;;;2574:2;2559:18;;2552:34;;;;2491:18;2999:51:0;2344:248:1;12162:148:0;;;;;;;;;;;;;:::i;1635:87::-;;;;;;;;;;-1:-1:-1;1681:7:0;1708:6;1635:87;;-1:-1:-1;;;;;1708:6:0;;;2743:51:1;;2731:2;2716:18;1635:87:0;2597:203:1;6558:143:0;;;;;;;;;;-1:-1:-1;6558:143:0;;;;;:::i;:::-;;:::i;13001:234::-;;;;;;;;;;;;;:::i;3161:148::-;;;;;;;;;;-1:-1:-1;3161:148:0;;;;;;-1:-1:-1;;;;;3161:148:0;;;;;;;;;;;-1:-1:-1;;;;;3035:15:1;;;3017:34;;3087:15;;;;3082:2;3067:18;;3060:43;2952:18;3161:148:0;2805:304:1;5932:133:0;;;;;;;;;;-1:-1:-1;5932:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6034:19:0;;;6016:7;6034:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5932:133;2728:62;;;;;;;;;;;;;:::i;1956:192::-;;;;;;;;;;-1:-1:-1;1956:192:0;;;;;:::i;:::-;;:::i;7681:177::-;;;;;;;;;;-1:-1:-1;7681:177:0;;;;;:::i;:::-;;:::i;6073:161::-;6150:4;6167:37;6176:10;6188:7;6197:6;6167:8;:37::i;:::-;-1:-1:-1;6222:4:0;6073:161;;;;;:::o;12625:368::-;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;;;;;;;;;12726:11:::1;:18:::0;12715:29;::::1;;12707:68;;;::::0;-1:-1:-1;;;12707:68:0;;4332:2:1;12707:68:0::1;::::0;::::1;4314:21:1::0;4371:2;4351:18;;;4344:30;4410:28;4390:18;;;4383:56;4456:18;;12707:68:0::1;4130:350:1::0;12707:68:0::1;12806:19:::0;;12794:31;::::1;;12786:71;;;::::0;-1:-1:-1;;;12786:71:0;;4687:2:1;12786:71:0::1;::::0;::::1;4669:21:1::0;4726:2;4706:18;;;4699:30;4765:29;4745:18;;;4738:57;4812:18;;12786:71:0::1;4485:351:1::0;12786:71:0::1;12868:11;:28:::0;;;12907:19;:30;;;12955::::1;::::0;12929:8;;12889:7;;12955:30:::1;::::0;12868:18:::1;::::0;12955:30:::1;12625:368:::0;;:::o;5469:88::-;5524:7;2841:12;2513:1;2841:2;:12;:::i;:::-;2691:30;;:11;:30;:::i;:::-;5535:19;;5469:88;:::o;11273:209::-;11330:10;11344:42;11330:56;11327:147;;11401:49;;-1:-1:-1;;;;;11401:24:0;;;11427:21;11401:49;;;;;;;;;11427:21;11401:24;:49;;;;;;;;;;;;;;;;;;;;;11273:209;:::o;11327:147::-;11273:209;:::o;7209:279::-;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;7283:21:::1;7323;7315:60;;;::::0;-1:-1:-1;;;7315:60:0;;6731:2:1;7315:60:0::1;::::0;::::1;6713:21:1::0;6770:2;6750:18;;;6743:30;-1:-1:-1;;;6789:18:1;;;6782:52;6851:18;;7315:60:0::1;6529:346:1::0;7315:60:0::1;7386:51;::::0;7394:10:::1;::::0;7415:21:::1;7386:51:::0;::::1;;;::::0;::::1;::::0;;;7415:21;7394:10;7386:51;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;7455:25:0::1;::::0;7466:13;;7455:25:::1;::::0;;;::::1;7248:240;7209:279::o:0;6709:492::-;-1:-1:-1;;;;;6820:19:0;;6800:4;6820:19;;;:11;:19;;;;;;;;6840:10;6820:31;;;;;;;;-1:-1:-1;;6820:52:0;6817:323;;-1:-1:-1;;;;;6915:19:0;;6888:24;6915:19;;;:11;:19;;;;;;;;6935:10;6915:31;;;;;;;;6969:26;;;;6961:68;;;;-1:-1:-1;;;6961:68:0;;7082:2:1;6961:68:0;;;7064:21:1;7121:2;7101:18;;;7094:30;7160:31;7140:18;;;7133:59;7209:18;;6961:68:0;6880:353:1;6961:68:0;-1:-1:-1;;;;;;7072:19:0;;;;;;:11;:19;;;;;;;;7092:10;7072:31;;;;;;;:41;;;;;;;6817:323;7157:36;7167:6;7175:9;7186:6;7157:9;:36::i;:::-;7150:43;;6709:492;;;;;;:::o;12318:298::-;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;12434:20:::1;:42:::0;;;12487:20:::1;:42:::0;;;12547:61:::1;::::0;12510:19;;12457;;12547:61:::1;::::0;-1:-1:-1;;12547:61:0::1;12318:298:::0;;:::o;7496:177::-;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;7578:4:::1;7587:1;5905:18:::0;;;:9;:18;;;;;;7560:28:::1;7552:75;;;::::0;-1:-1:-1;;;7552:75:0;;7440:2:1;7552:75:0::1;::::0;::::1;7422:21:1::0;7479:2;7459:18;;;7452:30;7518:34;7498:18;;;7491:62;-1:-1:-1;;;7569:18:1;;;7562:32;7611:19;;7552:75:0::1;7238:398:1::0;7552:75:0::1;7638:27;-1:-1:-1::0;;7638:8:0::1;:27::i;:::-;7496:177::o:0;1854:94::-;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;1919:21:::1;1937:1;1919:9;:21::i;12162:148::-:0;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;12223:13:::1;::::0;::::1;::::0;::::1;;;12222:14;12214:23;;;::::0;::::1;;12262:1;12248:11;:15:::0;12289:13:::1;::::0;::::1;::::0;;;::::1;12162:148::o:0;6558:143::-;6629:4;6653:40;6663:10;6675:9;6686:6;6653:9;:40::i;13001:234::-;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;13063:13:::1;::::0;::::1;::::0;::::1;;;13062:14;:34:::0;::::1;;;;13080:11;;13095:1;13080:16;13062:34;:51;;;;;13112:1;13100:9;;:13;13062:51;13054:60;;;::::0;::::1;;13154:9;::::0;13139:24:::1;::::0;:12:::1;:24;:::i;:::-;13125:11;:38:::0;13174:13:::1;:20:::0;;-1:-1:-1;;13174:20:0::1;;;::::0;;13212:15:::1;::::0;::::1;::::0;13174:20;;13212:15:::1;13001:234::o:0;2728:62::-;2785:5;2841:12;2513:1;2841:2;:12;:::i;:::-;2691:30;;:11;:30;:::i;:::-;2765:17;;:2;:17;:::i;:::-;:25;;;;:::i;:::-;2728:62;:::o;1956:192::-;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2045:22:0;::::1;2037:73;;;::::0;-1:-1:-1;;;2037:73:0;;8195:2:1;2037:73:0::1;::::0;::::1;8177:21:1::0;8234:2;8214:18;;;8207:30;8273:34;8253:18;;;8246:62;-1:-1:-1;;;8324:18:1;;;8317:36;8370:19;;2037:73:0::1;7993:402:1::0;2037:73:0::1;2121:19;2131:8;2121:9;:19::i;7681:177::-:0;1779:10;1768:7;1681;1708:6;-1:-1:-1;;;;;1708:6:0;;1635:87;1768:7;-1:-1:-1;;;;;1768:21:0;;1760:66;;;;-1:-1:-1;;;1760:66:0;;;;;;;:::i;:::-;7792:11:::1;;7807:1;7792:16;7784:25;;;::::0;::::1;;7810:9;:13:::0;;;7836:5:::1;7840:1:::0;7836;:5:::1;:::i;:::-;7832:1;:9;7825:17;;;;:::i;:::-;7681:177:::0;;;;:::o;6242:308::-;-1:-1:-1;;;;;6337:20:0;;6329:52;;;;-1:-1:-1;;;6329:52:0;;8867:2:1;6329:52:0;;;8849:21:1;8906:2;8886:18;;;8879:30;-1:-1:-1;;;8925:18:1;;;8918:49;8984:18;;6329:52:0;8665:343:1;6329:52:0;-1:-1:-1;;;;;6400:21:0;;6392:53;;;;-1:-1:-1;;;6392:53:0;;8867:2:1;6392:53:0;;;8849:21:1;8906:2;8886:18;;;8879:30;-1:-1:-1;;;8925:18:1;;;8918:49;8984:18;;6392:53:0;8665:343:1;6392:53:0;-1:-1:-1;;;;;6456:19:0;;;;;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;:37;;;6509:33;;1595:25:1;;;6509:33:0;;1568:18:1;6509:33:0;;;;;;;6242:308;;;:::o;7866:1070::-;7967:4;7939;7945:2;4639:13;;;;;;;;;;;:47;;;-1:-1:-1;4664:7:0;:22;-1:-1:-1;;;;;4656:30:0;;;4664:22;;4656:30;4639:47;:74;;;-1:-1:-1;;;;;;4690:23:0;;;;;;:17;:23;;;;;;;;4639:74;4631:116;;;;-1:-1:-1;;;4631:116:0;;9215:2:1;4631:116:0;;;9197:21:1;9254:2;9234:18;;;9227:30;9293:31;9273:18;;;9266:59;9342:18;;4631:116:0;9013:353:1;4631:116:0;-1:-1:-1;;;;;7992:18:0;::::1;7984:68;;;::::0;-1:-1:-1;;;7984:68:0;;9573:2:1;7984:68:0::1;::::0;::::1;9555:21:1::0;9612:2;9592:18;;;9585:30;9651:34;9631:18;;;9624:62;-1:-1:-1;;;9702:18:1;;;9695:35;9747:19;;7984:68:0::1;9371:401:1::0;7984:68:0::1;-1:-1:-1::0;;;;;8071:16:0;::::1;8063:64;;;::::0;-1:-1:-1;;;8063:64:0;;9979:2:1;8063:64:0::1;::::0;::::1;9961:21:1::0;10018:2;9998:18;;;9991:30;10057:34;10037:18;;;10030:62;-1:-1:-1;;;10108:18:1;;;10101:33;10151:19;;8063:64:0::1;9777:399:1::0;8063:64:0::1;8151:11:::0;;;:23:::1;;-1:-1:-1::0;8166:8:0::1;::::0;::::1;;8151:23;8148:105;;;8198:32;8213:4;8219:2;8223:6;8198:14;:32::i;:::-;8191:39;;;;8148:105;8283:13;-1:-1:-1::0;;;;;8277:19:0::1;:2;-1:-1:-1::0;;;;;8277:19:0::1;;;:45;;;;-1:-1:-1::0;;;;;;8301:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;8300:22;8277:45;:77;;;;-1:-1:-1::0;8332:7:0::1;:22:::0;-1:-1:-1;;;;;8326:28:0;;::::1;8332:22:::0;::::1;8326:28;;8277:77;8273:192;;;2785:5;2841:12;2513:1;2841:2;:12;:::i;:::-;2691:30;::::0;:11:::1;:30;:::i;:::-;2765:17;::::0;:2:::1;:17;:::i;:::-;:25;;;;:::i;:::-;-1:-1:-1::0;;;;;5905:18:0;;5888:7;5905:18;;;:9;:18;;;;;;8379:22:::1;::::0;:6;:22:::1;:::i;:::-;:36;;8371:82;;;::::0;-1:-1:-1;;;8371:82:0;;10383:2:1;8371:82:0::1;::::0;::::1;10365:21:1::0;10422:2;10402:18;;;10395:30;10461:34;10441:18;;;10434:62;-1:-1:-1;;;10512:18:1;;;10505:31;10553:19;;8371:82:0::1;10181:397:1::0;8371:82:0::1;8481:8;::::0;::::1;;8480:9;:32:::0;::::1;;;;8499:13;-1:-1:-1::0;;;;;8493:19:0::1;:2;-1:-1:-1::0;;;;;8493:19:0::1;;8480:32;:60;;;;-1:-1:-1::0;;;;;;8517:23:0;::::1;;::::0;;;:17:::1;:23;::::0;;;;;::::1;;8516:24;8480:60;:86;;;;-1:-1:-1::0;;;;;;8545:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;8544:22;8480:86;8477:133;;;8582:16;8591:6;8582:8;:16::i;:::-;-1:-1:-1::0;;;;;8647:23:0;::::1;8631:12;8647:23:::0;;;:17:::1;:23;::::0;;;;;::::1;;8646:24;:50:::0;::::1;;;-1:-1:-1::0;;;;;;8675:21:0;::::1;;::::0;;;:17:::1;:21;::::0;;;;;::::1;;8674:22;8646:50;:113;;;;;8722:13;-1:-1:-1::0;;;;;8714:21:0::1;:4;-1:-1:-1::0;;;;;8714:21:0::1;;:44;;;;8745:13;-1:-1:-1::0;;;;;8739:19:0::1;:2;-1:-1:-1::0;;;;;8739:19:0::1;;8714:44;8631:128;;8791:7;8788:132;;;8820:32;8835:4;8841:2;8845:6;8820:14;:32::i;:::-;8813:39;;;;;8788:132;8888:32;8903:4;8909:2;8913:6;8888:14;:32::i;4758:1::-;7866:1070:::0;;;;;;;:::o;10453:651::-;4503:8;:15;;-1:-1:-1;;4503:15:0;4514:4;4503:15;;;:8;10544:24:::1;10562:4;-1:-1:-1::0;;;;;5905:18:0;5888:7;5905:18;;;:9;:18;;;;;;;5822:104;10544:24:::1;10518:50:::0;-1:-1:-1;3752:5:0::1;2841:12;2513:1;2841:2;:12;:::i;:::-;2691:30;::::0;:11:::1;:30;:::i;:::-;3733:16;::::0;:1:::1;:16;:::i;:::-;:24;;;;:::i;:::-;10582:15;:36;:56;;;;10623:15;10631:6;10623:7;:15::i;:::-;10622:16;10582:56;10579:231;;;10654:7;;;10579:231;10718:20;::::0;3752:5:::1;2841:12;2513:1;2841:2;:12;:::i;:::-;2691:30;::::0;:11:::1;:30;:::i;:::-;3733:16;::::0;:1:::1;:16;:::i;:::-;:24;;;;:::i;:::-;10697:41;;;;:::i;:::-;10679:15;:59;10676:134;;;10790:20;::::0;3752:5:::1;2841:12;2513:1;2841:2;:12;:::i;:::-;2691:30;::::0;:11:::1;:30;:::i;:::-;3733:16;::::0;:1:::1;:16;:::i;:::-;:24;;;;:::i;:::-;10769:41;;;;:::i;:::-;10751:59;;10676:134;10859:21;10893:33;10910:15:::0;10893:16:::1;:33::i;:::-;10948:18;10969:41;10993:17:::0;10969:21:::1;:41;:::i;:::-;10948:62:::0;-1:-1:-1;11024:14:0;;11021:76:::1;;11066:19;11074:10;11066:7;:19::i;:::-;10504:600;;;4529:1;-1:-1:-1::0;4541:8:0;:16;;-1:-1:-1;;4541:16:0;;;10453:651::o;2156:173::-;2212:16;2231:6;;-1:-1:-1;;;;;2248:17:0;;;-1:-1:-1;;;;;;2248:17:0;;;;;;2281:40;;2231:6;;;;;;;2281:40;;2212:16;2281:40;2201:128;2156:173;:::o;9279:420::-;-1:-1:-1;;;;;9413:17:0;;9372:4;9413:17;;;:9;:17;;;;;;9449:23;;;;9441:63;;;;-1:-1:-1;;;9441:63:0;;10785:2:1;9441:63:0;;;10767:21:1;10824:2;10804:18;;;10797:30;10863:29;10843:18;;;10836:57;10910:18;;9441:63:0;10583:351:1;9441:63:0;-1:-1:-1;;;;;9539:17:0;;;;;;;:9;:17;;;;;;:27;;;;;;;9588:20;;;;;;;;:30;;9560:6;;9539:17;9588:30;;9560:6;;9588:30;:::i;:::-;;;;;;;;9651:9;-1:-1:-1;;;;;9634:35:0;9643:6;-1:-1:-1;;;;;9634:35:0;;9662:6;9634:35;;;;1595:25:1;;1583:2;1568:18;;1449:177;9634:35:0;;;;;;;;-1:-1:-1;9687:4:0;;9279:420;-1:-1:-1;;;;9279:420:0:o;8944:326::-;9027:4;9044:12;9059:26;9068:4;9074:2;9078:6;9059:8;:26::i;:::-;9044:41;-1:-1:-1;9103:8:0;;9100:113;;9131:41;9146:4;9160;9167;9131:14;:41::i;:::-;-1:-1:-1;9187:14:0;9197:4;9187:14;;:::i;:::-;;;9100:113;9230:32;9245:4;9251:2;9255:6;9230:14;:32::i;:::-;9223:39;8944:326;-1:-1:-1;;;;;8944:326:0:o;10189:256::-;10244:4;10283:11;;10268:12;:26;:66;;;;-1:-1:-1;10317:12:0;10298:32;;;;:18;:32;;;;;;10333:1;-1:-1:-1;10268:66:0;:169;;;;-1:-1:-1;10363:20:0;;:25;:73;;10416:20;;3752:5;2841:12;2513:1;2841:2;:12;:::i;:::-;2691:30;;:11;:30;:::i;:::-;3733:16;;:1;:16;:::i;:::-;:24;;;;:::i;:::-;10395:41;;;;:::i;:::-;10363:73;;;10391:1;10363:73;10352:6;:85;;10261:176;10189:256;-1:-1:-1;;10189:256:0:o;11490:533::-;11575:12;11556:32;;;;:18;:32;;;;;:34;;;;;;:::i;:::-;;;;-1:-1:-1;;11685:16:0;;;11699:1;11685:16;;;;;;;;11661:21;;11685:16;;;;;;;;;;-1:-1:-1;11685:16:0;11661:40;;11730:4;11712;11717:1;11712:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;11712:23:0;;;-1:-1:-1;;;;;11712:23:0;;;;;3589:42;11746:4;11751:1;11746:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11746:14:0;;;:7;;;;;;;;;;;:14;11777:213;;-1:-1:-1;;;11777:213:0;;3386:42;;11777:65;;:213;;11857:11;;11883:1;;11927:4;;11954;;11974:15;;11777:213;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11773:243;;12008:7;11490:533;:::o;11112:153::-;11193:25;;11168:12;;-1:-1:-1;;;;;11193:25:0;11232:11;11242:1;11232:9;:11;:::i;:::-;11185:63;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11112:153:0:o;9707:474::-;9789:12;9821:11;;9817:1;:15;:45;;;;;9850:12;9836:11;;:26;9817:45;9814:360;;;2989:3;9901:13;-1:-1:-1;;;;;9895:19:0;:2;-1:-1:-1;;;;;9895:19:0;;:76;;9953:11;:18;9895:76;;;9931:19;;9895:76;9885:87;;:6;:87;:::i;:::-;:105;;;;:::i;:::-;9878:112;;9814:360;;;2989:3;10068:13;-1:-1:-1;;;;;10060:21:0;:4;-1:-1:-1;;;;;10060:21:0;;:71;;10104:11;;:16;:26;;10128:2;10060:71;;10104:26;10123:2;10060:71;;;10098:2;10060:71;10050:82;;;;:6;:82;:::i;:::-;:100;;;;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:173::-;635:20;;-1:-1:-1;;;;;684:31:1;;674:42;;664:70;;730:1;727;720:12;664:70;567:173;;;:::o;745:254::-;813:6;821;874:2;862:9;853:7;849:23;845:32;842:52;;;890:1;887;880:12;842:52;913:29;932:9;913:29;:::i;:::-;903:39;989:2;974:18;;;;961:32;;-1:-1:-1;;;745:254:1:o;1196:248::-;1264:6;1272;1325:2;1313:9;1304:7;1300:23;1296:32;1293:52;;;1341:1;1338;1331:12;1293:52;-1:-1:-1;;1364:23:1;;;1434:2;1419:18;;;1406:32;;-1:-1:-1;1196:248:1:o;1631:186::-;1690:6;1743:2;1731:9;1722:7;1718:23;1714:32;1711:52;;;1759:1;1756;1749:12;1711:52;1782:29;1801:9;1782:29;:::i;1822:328::-;1899:6;1907;1915;1968:2;1956:9;1947:7;1943:23;1939:32;1936:52;;;1984:1;1981;1974:12;1936:52;2007:29;2026:9;2007:29;:::i;:::-;1997:39;;2055:38;2089:2;2078:9;2074:18;2055:38;:::i;:::-;2045:48;;2140:2;2129:9;2125:18;2112:32;2102:42;;1822:328;;;;;:::o;3114:260::-;3182:6;3190;3243:2;3231:9;3222:7;3218:23;3214:32;3211:52;;;3259:1;3256;3249:12;3211:52;3282:29;3301:9;3282:29;:::i;:::-;3272:39;;3330:38;3364:2;3353:9;3349:18;3330:38;:::i;:::-;3320:48;;3114:260;;;;;:::o;3379:385::-;3465:6;3473;3481;3489;3542:3;3530:9;3521:7;3517:23;3513:33;3510:53;;;3559:1;3556;3549:12;3510:53;-1:-1:-1;;3582:23:1;;;3652:2;3637:18;;3624:32;;-1:-1:-1;3703:2:1;3688:18;;3675:32;;3754:2;3739:18;3726:32;;-1:-1:-1;3379:385:1;-1:-1:-1;3379:385:1:o;3769:356::-;3971:2;3953:21;;;3990:18;;;3983:30;4049:34;4044:2;4029:18;;4022:62;4116:2;4101:18;;3769:356::o;4841:127::-;4902:10;4897:3;4893:20;4890:1;4883:31;4933:4;4930:1;4923:15;4957:4;4954:1;4947:15;4973:422;5062:1;5105:5;5062:1;5119:270;5140:7;5130:8;5127:21;5119:270;;;5199:4;5195:1;5191:6;5187:17;5181:4;5178:27;5175:53;;;5208:18;;:::i;:::-;5258:7;5248:8;5244:22;5241:55;;;5278:16;;;;5241:55;5357:22;;;;5317:15;;;;5119:270;;;5123:3;4973:422;;;;;:::o;5400:806::-;5449:5;5479:8;5469:80;;-1:-1:-1;5520:1:1;5534:5;;5469:80;5568:4;5558:76;;-1:-1:-1;5605:1:1;5619:5;;5558:76;5650:4;5668:1;5663:59;;;;5736:1;5731:130;;;;5643:218;;5663:59;5693:1;5684:10;;5707:5;;;5731:130;5768:3;5758:8;5755:17;5752:43;;;5775:18;;:::i;:::-;-1:-1:-1;;5831:1:1;5817:16;;5846:5;;5643:218;;5945:2;5935:8;5932:16;5926:3;5920:4;5917:13;5913:36;5907:2;5897:8;5894:16;5889:2;5883:4;5880:12;5876:35;5873:77;5870:159;;;-1:-1:-1;5982:19:1;;;6014:5;;5870:159;6061:34;6086:8;6080:4;6061:34;:::i;:::-;6131:6;6127:1;6123:6;6119:19;6110:7;6107:32;6104:58;;;6142:18;;:::i;:::-;6180:20;;5400:806;-1:-1:-1;;;5400:806:1:o;6211:140::-;6269:5;6298:47;6339:4;6329:8;6325:19;6319:4;6298:47;:::i;6356:168::-;6429:9;;;6460;;6477:15;;;6471:22;;6457:37;6447:71;;6498:18;;:::i;7641:125::-;7706:9;;;7727:10;;;7724:36;;;7740:18;;:::i;7771:217::-;7811:1;7837;7827:132;;7881:10;7876:3;7872:20;7869:1;7862:31;7916:4;7913:1;7906:15;7944:4;7941:1;7934:15;7827:132;-1:-1:-1;7973:9:1;;7771:217::o;8400:128::-;8467:9;;;8488:11;;;8485:37;;;8502:18;;:::i;8533:127::-;8594:10;8589:3;8585:20;8582:1;8575:31;8625:4;8622:1;8615:15;8649:4;8646:1;8639:15;10939:135;10978:3;10999:17;;;10996:43;;11019:18;;:::i;:::-;-1:-1:-1;11066:1:1;11055:13;;10939:135::o;11211:127::-;11272:10;11267:3;11263:20;11260:1;11253:31;11303:4;11300:1;11293:15;11327:4;11324:1;11317:15;11343:980;11605:4;11653:3;11642:9;11638:19;11684:6;11673:9;11666:25;11710:2;11748:6;11743:2;11732:9;11728:18;11721:34;11791:3;11786:2;11775:9;11771:18;11764:31;11815:6;11850;11844:13;11881:6;11873;11866:22;11919:3;11908:9;11904:19;11897:26;;11958:2;11950:6;11946:15;11932:29;;11979:1;11989:195;12003:6;12000:1;11997:13;11989:195;;;12068:13;;-1:-1:-1;;;;;12064:39:1;12052:52;;12159:15;;;;12124:12;;;;12100:1;12018:9;11989:195;;;-1:-1:-1;;;;;;;12240:32:1;;;;12235:2;12220:18;;12213:60;-1:-1:-1;;;12304:3:1;12289:19;12282:35;12201:3;11343:980;-1:-1:-1;;;11343:980:1:o

Swarm Source

ipfs://f30e6d4082b0dc770f715389f133ca15e24d2ae56701f79f4ad46fbe0a04f0ac

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.