ETH Price: $2,019.44 (-2.51%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve216300992025-01-15 13:12:11407 days ago1736946731IN
0xB56e1a3F...C6d8e71dc
0 ETH0.000099424.08848434
Approve216300982025-01-15 13:11:59407 days ago1736946719IN
0xB56e1a3F...C6d8e71dc
0 ETH0.000091783.78336658
Approve216300962025-01-15 13:11:35407 days ago1736946695IN
0xB56e1a3F...C6d8e71dc
0 ETH0.00009974.1
Approve189931572024-01-12 20:19:23775 days ago1705090763IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0009517320.42207657
Approve189931532024-01-12 20:18:35775 days ago1705090715IN
0xB56e1a3F...C6d8e71dc
0 ETH0.00103722.39613483
Approve189930792024-01-12 20:03:47775 days ago1705089827IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0011644725.01943376
Approve189867042024-01-11 22:38:35776 days ago1705012715IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0009642820.71809101
Approve189866952024-01-11 22:36:47776 days ago1705012607IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0010264822.02609378
Approve189866542024-01-11 22:28:35776 days ago1705012115IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0009753420.95580987
Approve189866352024-01-11 22:24:47776 days ago1705011887IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0010193521.90144865
Approve189865902024-01-11 22:15:35776 days ago1705011335IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0010636822.97223799
Approve189865742024-01-11 22:12:23776 days ago1705011143IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0009805721.20491595
Approve189864832024-01-11 21:54:11776 days ago1705010051IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0012019625.9922813
Approve189864692024-01-11 21:51:23776 days ago1705009883IN
0xB56e1a3F...C6d8e71dc
0 ETH0.001230626.44022311
Approve189864592024-01-11 21:49:11776 days ago1705009751IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0012992627.87934261
Transfer189864532024-01-11 21:47:59776 days ago1705009679IN
0xB56e1a3F...C6d8e71dc
0 ETH0.001644423.39853692
Approve189864282024-01-11 21:42:59776 days ago1705009379IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0009735120.91653092
Approve189864022024-01-11 21:37:47776 days ago1705009067IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0010075621.62023871
Approve189863792024-01-11 21:33:11776 days ago1705008791IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0010892123.40232547
Approve189863592024-01-11 21:29:11776 days ago1705008551IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0010026421.65971384
Approve189863132024-01-11 21:19:47776 days ago1705007987IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0013436328.83150655
Approve189862922024-01-11 21:15:35776 days ago1705007735IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0013574329.12767666
Approve189862522024-01-11 21:07:35776 days ago1705007255IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0010704522.96976502
Approve189862502024-01-11 21:07:11776 days ago1705007231IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0011008823.62263054
Approve189862392024-01-11 21:04:59776 days ago1705007099IN
0xB56e1a3F...C6d8e71dc
0 ETH0.0015368332.97717399
View all transactions

Latest 22 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer189864592024-01-11 21:49:11776 days ago1705009751
0xB56e1a3F...C6d8e71dc
0.03415547 ETH
Transfer189864592024-01-11 21:49:11776 days ago1705009751
0xB56e1a3F...C6d8e71dc
0.03415547 ETH
Transfer189864032024-01-11 21:37:59776 days ago1705009079
0xB56e1a3F...C6d8e71dc
0.03415547 ETH
Transfer189864032024-01-11 21:37:59776 days ago1705009079
0xB56e1a3F...C6d8e71dc
0.03415547 ETH
Transfer189863132024-01-11 21:19:47776 days ago1705007987
0xB56e1a3F...C6d8e71dc
0.03089597 ETH
Transfer189863132024-01-11 21:19:47776 days ago1705007987
0xB56e1a3F...C6d8e71dc
0.03089597 ETH
Transfer189862212024-01-11 21:01:23776 days ago1705006883
0xB56e1a3F...C6d8e71dc
0.00248506 ETH
Transfer189862212024-01-11 21:01:23776 days ago1705006883
0xB56e1a3F...C6d8e71dc
0.00248506 ETH
Transfer189862162024-01-11 21:00:23776 days ago1705006823
0xB56e1a3F...C6d8e71dc
0.01196449 ETH
Transfer189862162024-01-11 21:00:23776 days ago1705006823
0xB56e1a3F...C6d8e71dc
0.01196449 ETH
Transfer189862082024-01-11 20:58:47776 days ago1705006727
0xB56e1a3F...C6d8e71dc
0.00059022 ETH
Transfer189862082024-01-11 20:58:47776 days ago1705006727
0xB56e1a3F...C6d8e71dc
0.00059022 ETH
Transfer189862072024-01-11 20:58:35776 days ago1705006715
0xB56e1a3F...C6d8e71dc
0.00215403 ETH
Transfer189862072024-01-11 20:58:35776 days ago1705006715
0xB56e1a3F...C6d8e71dc
0.00215403 ETH
Transfer189862022024-01-11 20:57:35776 days ago1705006655
0xB56e1a3F...C6d8e71dc
0.00920308 ETH
Transfer189862022024-01-11 20:57:35776 days ago1705006655
0xB56e1a3F...C6d8e71dc
0.00920308 ETH
Transfer189861922024-01-11 20:55:35776 days ago1705006535
0xB56e1a3F...C6d8e71dc
0.0013041 ETH
Transfer189861922024-01-11 20:55:35776 days ago1705006535
0xB56e1a3F...C6d8e71dc
0.0013041 ETH
Transfer189861922024-01-11 20:55:35776 days ago1705006535
0xB56e1a3F...C6d8e71dc
0.0103473 ETH
Transfer189861922024-01-11 20:55:35776 days ago1705006535
0xB56e1a3F...C6d8e71dc
0.0103473 ETH
Transfer189861772024-01-11 20:52:35776 days ago1705006355
0xB56e1a3F...C6d8e71dc
0.50638759 ETH
Transfer189861772024-01-11 20:52:35776 days ago1705006355
0xB56e1a3F...C6d8e71dc
0.50638759 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
STK

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2024-01-11
*/

// SPDX-License-Identifier: Unlicensed

/**
Web: https://stakerfi.pro
X: https://twitter.com/StakerFi
Tg: https://t.me/stakerfi_official
Medium: https://medium.com/@stakerfi
 */

pragma solidity 0.8.19;

interface IUniswapRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);

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

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 Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

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

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

interface IUniswapFactory {
    event PairCreated(address indexed token0, address indexed token1, address pair, uint);

    function feeTo() external view returns (address);
    function feeToSetter() external view returns (address);

    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function set(address) external;
    function setSetter(address) external;
}

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

        return c;
    }

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

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

        return c;
    }

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

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

        return c;
    }

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

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}

contract STK is Context, IERC20, Ownable {
    using SafeMath for uint256;
    
    string private _name = "Staker Protocol";
    string private _symbol = "STK";

    uint256 _buyFeeLp = 0;
    uint256 _buyFeeMkt = 24;
    uint256 _devbuyFees = 0;
    uint256 _buyFee = 24;

    uint256 _feeSellLp = 0;
    uint256 _feeSellMkt = 24;
    uint256 _feeSellDev = 0;
    uint256 _sellFee = 24;

    address payable marketingAddress;
    address payable devAddress;
        
    uint8 private _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10 ** 9;
    uint256 public maxTxAmount = 20 * 10 ** 6 * 10 ** 9;
    uint256 public maxWalletAmount = 20 * 10 ** 6 * 10 ** 9;
    uint256 public swapThreshold = 10 ** 4 * 10 ** 9; 

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) _isExcludedFromAll;
    mapping (address => bool) _isExcludedFromWalletLimit;
    mapping (address => bool) _isExcludedFromTxLimit;
    mapping (address => bool) _isPairAddress;

    uint256 _feeSeperateLp = 0;
    uint256 _feeSeperateMkt = 10;
    uint256 _feeSeperateDev = 0;
    uint256 _feeSeperateTotal = 10;
    
    bool swapping;
    bool _swapFeeEnabled = true;
    bool _maxTxDisabled = false;
    bool _maxWalletDisabled = true;

    IUniswapRouter public uniswapRouter;
    address _lpPair;

    modifier lockSwap {
        swapping = true;
        _;
        swapping = false;
    }
    
    constructor () {
        _balances[_msgSender()] = _totalSupply;
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D); 
        _lpPair = IUniswapFactory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());
        uniswapRouter = _uniswapV2Router;
        _allowances[address(this)][address(uniswapRouter)] = _totalSupply;
        marketingAddress = payable(0x1Ed3CE4BbaE95eE6Ea8dCa49Fc69fF19A527CBbE);
        devAddress = payable(0x1Ed3CE4BbaE95eE6Ea8dCa49Fc69fF19A527CBbE);
        _buyFee = _buyFeeLp.add(_buyFeeMkt).add(_devbuyFees);
        _sellFee = _feeSellLp.add(_feeSellMkt).add(_feeSellDev);
        _feeSeperateTotal = _feeSeperateLp.add(_feeSeperateMkt).add(_feeSeperateDev);
        
        _isExcludedFromAll[owner()] = true;
        _isExcludedFromAll[marketingAddress] = true;
        _isExcludedFromWalletLimit[owner()] = true;
        _isExcludedFromWalletLimit[address(_lpPair)] = true;
        _isExcludedFromWalletLimit[address(this)] = true;
        _isExcludedFromTxLimit[owner()] = true;
        _isExcludedFromTxLimit[marketingAddress] = true;
        _isExcludedFromTxLimit[address(this)] = true;
        _isPairAddress[address(_lpPair)] = true;
        emit Transfer(address(0), _msgSender(), _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 getTransferAmounts(address sender, address recipient, uint256 amount) internal returns (uint256) {
        uint256 fee = 0;
        if(_isPairAddress[sender]) {fee = amount.mul(_buyFee).div(100);}
        else if(_isPairAddress[recipient]) {fee = amount.mul(_sellFee).div(100);}
        if(fee > 0) {
            _balances[address(this)] = _balances[address(this)].add(fee);
            emit Transfer(sender, address(this), fee);
        }
        return amount.sub(fee);
    }
    
    receive() external payable {}
    
    function removeLimits() external onlyOwner {
        maxTxAmount = _totalSupply;
        _maxWalletDisabled = false;
        _buyFeeMkt = 2;
        _feeSellMkt = 2;
        _buyFee = 2;
        _sellFee = 2;
    }

    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);
    }
        
    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapRouter.WETH();

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

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

    function transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }
    function sendDevFee(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }
        
    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");
        if(swapping)
        { 
            return _transferBasic(sender, recipient, amount); 
        }
        else
        {
            if(!_isExcludedFromTxLimit[sender] && !_isExcludedFromTxLimit[recipient]) {
                require(amount <= maxTxAmount, "Transfer amount exceeds the maxTxAmount.");
            }            

            uint256 swapAmount = balanceOf(address(this));
            bool minimumSwap = swapAmount >= swapThreshold;
            
            if (minimumSwap && !swapping && _isPairAddress[recipient] && _swapFeeEnabled && !_isExcludedFromAll[sender] && amount > swapThreshold) 
            {
                if(_maxTxDisabled)
                    swapAmount = swapThreshold;
                swapBackFee(swapAmount);    
            }

            uint256 finalAmount;                                         
            if (_isExcludedFromAll[sender] || _isExcludedFromAll[recipient]) {
                finalAmount = amount;
            } else {
                finalAmount = getTransferAmounts(sender, recipient, amount);
            }
            if(_maxWalletDisabled && !_isExcludedFromWalletLimit[recipient])
                require(balanceOf(recipient).add(finalAmount) <= maxWalletAmount);

            uint256 amountToReduce = (!_maxWalletDisabled && _isExcludedFromAll[sender]) ? amount.sub(finalAmount) : amount;
            _balances[sender] = _balances[sender].sub(amountToReduce, "Insufficient Balance");
            _balances[recipient] = _balances[recipient].add(finalAmount);
            emit Transfer(sender, recipient, finalAmount);
            return true;
        }
    }
        
    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function balanceOf(address account) public view override returns (uint256) {
        return _balances[account];
    }
                
    function _transferBasic(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 allowance(address owner, address spender) public view override returns (uint256) {
        return _allowances[owner][spender];
    }
    
    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: transfer amount exceeds allowance"));
        return true;
    }
    
    function swapBackFee(uint256 tAmount) private lockSwap {
        uint256 lpFeetokens = tAmount.mul(_feeSeperateLp).div(_feeSeperateTotal).div(2);
        uint256 tokensToSwap = tAmount.sub(lpFeetokens);

        swapTokensForETH(tokensToSwap);
        uint256 ethCA = address(this).balance;

        uint256 totalETHFee = _feeSeperateTotal.sub(_feeSeperateLp.div(2));
        
        uint256 amountETHLiquidity = ethCA.mul(_feeSeperateLp).div(totalETHFee).div(2);
        uint256 amountETHDevelopment = ethCA.mul(_feeSeperateDev).div(totalETHFee);
        uint256 amountETHMarketing = ethCA.sub(amountETHLiquidity).sub(amountETHDevelopment);

        if(amountETHMarketing > 0)
            sendDevFee(marketingAddress, amountETHMarketing);

        if(amountETHDevelopment > 0)
            sendDevFee(devAddress, amountETHDevelopment);
    }
}

Contract Security Audit

Contract ABI

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":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":[{"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":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c0604052600f60809081526e14dd185ad95c88141c9bdd1bd8dbdb608a1b60a05260029062000030908262000667565b506040805180820190915260038082526253544b60e81b60208301529062000059908262000667565b5060006004819055601860058190556006829055600781905560088290556009819055600a828155600b829055600d805460ff60a01b1916600960a01b179055670de0b6b3a7640000600e5566470de4df820000600f8190556010556509184e72a000601155908290556019819055601a91909155601b55601c805463ffffff0019166301000100179055348015620000f157600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600e543360009081526012602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa1580156200019a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c0919062000733565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200020e573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000234919062000733565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af115801562000282573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002a8919062000733565b601d80546001600160a01b03199081166001600160a01b0393841617909155601c8054600160201b600160c01b03191664010000000085851681029190911791829055600e54306000908152601360209081526040808320949095049096168152919094522091909155600c8054731ed3ce4bbae95ee6ea8dca49fc69ff19a527cbbe9083168117909155600d80549092161790556006546005546004546200035f929162000358919062000553565b9062000553565b600755600a546009546008546200037d929162000358919062000553565b600b55601a546019546018546200039b929162000358919062000553565b601b55600160146000620003b76000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600c5490911681526014909252812080549092166001908117909255601590620004176000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601d549091168152601590925280822080548416600190811790915530835290822080549093168117909255601690620004876000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055600c5482168152601684528281208054861660019081179091553082528382208054871682179055601d549092168152601790935291208054909216179055620004fc3390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600e546040516200054491815260200190565b60405180910390a35062000780565b6000806200056283856200075e565b905083811015620005b95760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005ed57607f821691505b6020821081036200060e57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200066257600081815260208120601f850160051c810160208610156200063d5750805b601f850160051c820191505b818110156200065e5782815560010162000649565b5050505b505050565b81516001600160401b03811115620006835762000683620005c2565b6200069b81620006948454620005d8565b8462000614565b602080601f831160018114620006d35760008415620006ba5750858301515b600019600386901b1c1916600185901b1785556200065e565b600085815260208120601f198616915b828110156200070457888601518255948401946001909101908401620006e3565b5085821015620007235787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200074657600080fd5b81516001600160a01b0381168114620005b957600080fd5b80820180821115620005bc57634e487b7160e01b600052601160045260246000fd5b61156780620007906000396000f3fe6080604052600436106101025760003560e01c8063735de9f71161009557806395d89b411161006457806395d89b41146102c0578063a9059cbb146102d5578063aa4bde28146102f5578063dd62ed3e1461030b578063f2fde38b1461035157600080fd5b8063735de9f714610237578063751039fc146102775780638c0b5e221461028c5780638da5cb5b146102a257600080fd5b806323b872dd116100d157806323b872dd1461019e578063313ce567146101be57806370a08231146101ea578063715018a61461022057600080fd5b80630445b6671461010e57806306fdde0314610137578063095ea7b31461015957806318160ddd1461018957600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012460115481565b6040519081526020015b60405180910390f35b34801561014357600080fd5b5061014c610371565b60405161012e9190611258565b34801561016557600080fd5b506101796101743660046112be565b610403565b604051901515815260200161012e565b34801561019557600080fd5b50600e54610124565b3480156101aa57600080fd5b506101796101b93660046112ea565b61041a565b3480156101ca57600080fd5b50600d54600160a01b900460ff1660405160ff909116815260200161012e565b3480156101f657600080fd5b5061012461020536600461132b565b6001600160a01b031660009081526012602052604090205490565b34801561022c57600080fd5b50610235610485565b005b34801561024357600080fd5b50601c5461025f9064010000000090046001600160a01b031681565b6040516001600160a01b03909116815260200161012e565b34801561028357600080fd5b50610235610502565b34801561029857600080fd5b50610124600f5481565b3480156102ae57600080fd5b506000546001600160a01b031661025f565b3480156102cc57600080fd5b5061014c610555565b3480156102e157600080fd5b506101796102f03660046112be565b610564565b34801561030157600080fd5b5061012460105481565b34801561031757600080fd5b50610124610326366004611348565b6001600160a01b03918216600090815260136020908152604080832093909416825291909152205490565b34801561035d57600080fd5b5061023561036c36600461132b565b610571565b60606002805461038090611381565b80601f01602080910402602001604051908101604052809291908181526020018280546103ac90611381565b80156103f95780601f106103ce576101008083540402835291602001916103f9565b820191906000526020600020905b8154815290600101906020018083116103dc57829003601f168201915b5050505050905090565b600061041033848461065b565b5060015b92915050565b600061042784848461077f565b5061047a84336104758560405180606001604052806028815260200161150a602891396001600160a01b038a1660009081526013602090815260408083203384529091529020549190610bd3565b61065b565b5060015b9392505050565b6000546001600160a01b031633146104b85760405162461bcd60e51b81526004016104af906113bb565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461052c5760405162461bcd60e51b81526004016104af906113bb565b600e54600f55601c805463ff000000191690556002600581905560098190556007819055600b55565b60606003805461038090611381565b600061047a33848461077f565b6000546001600160a01b0316331461059b5760405162461bcd60e51b81526004016104af906113bb565b6001600160a01b0381166106005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104af565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106bd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b03821661071e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b0383811660008181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b0383166108475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b601c5460ff16156108645761085d848484610c0d565b905061047e565b6001600160a01b03841660009081526016602052604090205460ff161580156108a657506001600160a01b03831660009081526016602052604090205460ff16155b1561090e57600f5482111561090e5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016104af565b30600090815260126020526040902054601154811080159081906109355750601c5460ff16155b801561095957506001600160a01b03851660009081526017602052604090205460ff165b801561096c5750601c54610100900460ff165b801561099157506001600160a01b03861660009081526014602052604090205460ff16155b801561099e575060115484115b156109c357601c5462010000900460ff16156109ba5760115491505b6109c382610cf3565b6001600160a01b03861660009081526014602052604081205460ff1680610a0257506001600160a01b03861660009081526014602052604090205460ff165b15610a0e575083610a1c565b610a19878787610e01565b90505b601c546301000000900460ff168015610a4e57506001600160a01b03861660009081526015602052604090205460ff16155b15610a8a57601054610a7f82610a79896001600160a01b031660009081526012602052604090205490565b90610f07565b1115610a8a57600080fd5b601c546000906301000000900460ff16158015610abf57506001600160a01b03881660009081526014602052604090205460ff165b610ac95785610ad3565b610ad38683610f66565b9050610b3b8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250601260008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610bd39092919063ffffffff16565b6001600160a01b03808a166000908152601260205260408082209390935590891681522054610b6a9083610f07565b6001600160a01b0380891660008181526012602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bbe9086815260200190565b60405180910390a3600194505050505061047e565b60008184841115610bf75760405162461bcd60e51b81526004016104af9190611258565b506000610c048486611406565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152601290915291822054610c5e918490610bd3565b6001600160a01b038086166000908152601260205260408082209390935590851681522054610c8d9083610f07565b6001600160a01b0380851660008181526012602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ce19086815260200190565b60405180910390a35060019392505050565b601c805460ff19166001179055601b54601854600091610d2391600291610d1d9182908790610fa8565b9061102a565b90506000610d318383610f66565b9050610d3c8161106c565b6018544790600090610d5c90610d5390600261102a565b601b5490610f66565b90506000610d7e6002610d1d84610d1d60185488610fa890919063ffffffff16565b90506000610d9b83610d1d601a5487610fa890919063ffffffff16565b90506000610db382610dad8786610f66565b90610f66565b90508015610dd157600c54610dd1906001600160a01b0316826111ef565b8115610ded57600d54610ded906001600160a01b0316836111ef565b5050601c805460ff19169055505050505050565b6001600160a01b038316600090815260176020526040812054819060ff1615610e4557610e3e6064610d1d60075486610fa890919063ffffffff16565b9050610e83565b6001600160a01b03841660009081526017602052604090205460ff1615610e8357610e806064610d1d600b5486610fa890919063ffffffff16565b90505b8015610efd5730600090815260126020526040902054610ea39082610f07565b30600081815260126020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef49085815260200190565b60405180910390a35b610c048382610f66565b600080610f148385611419565b90508381101561047e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104af565b600061047e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bd3565b600082600003610fba57506000610414565b6000610fc6838561142c565b905082610fd38583611443565b1461047e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104af565b600061047e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061122a565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110a1576110a1611465565b60200260200101906001600160a01b031690816001600160a01b031681525050601c60049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611138919061147b565b8160018151811061114b5761114b611465565b6001600160a01b039283166020918202929092010152601c546111799130916401000000009004168461065b565b601c5460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906111b9908590600090869030904290600401611498565b600060405180830381600087803b1580156111d357600080fd5b505af11580156111e7573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611225573d6000803e3d6000fd5b505050565b6000818361124b5760405162461bcd60e51b81526004016104af9190611258565b506000610c048486611443565b600060208083528351808285015260005b8181101561128557858101830151858201604001528201611269565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112bb57600080fd5b50565b600080604083850312156112d157600080fd5b82356112dc816112a6565b946020939093013593505050565b6000806000606084860312156112ff57600080fd5b833561130a816112a6565b9250602084013561131a816112a6565b929592945050506040919091013590565b60006020828403121561133d57600080fd5b813561047e816112a6565b6000806040838503121561135b57600080fd5b8235611366816112a6565b91506020830135611376816112a6565b809150509250929050565b600181811c9082168061139557607f821691505b6020821081036113b557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610414576104146113f0565b80820180821115610414576104146113f0565b8082028115828204841417610414576104146113f0565b60008261146057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148d57600080fd5b815161047e816112a6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114e85784516001600160a01b0316835293830193918301916001016114c3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220774b0d296b895548cefe6c6cb22461673a12ee6788b7e6c639cad12c24a8d10d64736f6c63430008130033

Deployed Bytecode

0x6080604052600436106101025760003560e01c8063735de9f71161009557806395d89b411161006457806395d89b41146102c0578063a9059cbb146102d5578063aa4bde28146102f5578063dd62ed3e1461030b578063f2fde38b1461035157600080fd5b8063735de9f714610237578063751039fc146102775780638c0b5e221461028c5780638da5cb5b146102a257600080fd5b806323b872dd116100d157806323b872dd1461019e578063313ce567146101be57806370a08231146101ea578063715018a61461022057600080fd5b80630445b6671461010e57806306fdde0314610137578063095ea7b31461015957806318160ddd1461018957600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5061012460115481565b6040519081526020015b60405180910390f35b34801561014357600080fd5b5061014c610371565b60405161012e9190611258565b34801561016557600080fd5b506101796101743660046112be565b610403565b604051901515815260200161012e565b34801561019557600080fd5b50600e54610124565b3480156101aa57600080fd5b506101796101b93660046112ea565b61041a565b3480156101ca57600080fd5b50600d54600160a01b900460ff1660405160ff909116815260200161012e565b3480156101f657600080fd5b5061012461020536600461132b565b6001600160a01b031660009081526012602052604090205490565b34801561022c57600080fd5b50610235610485565b005b34801561024357600080fd5b50601c5461025f9064010000000090046001600160a01b031681565b6040516001600160a01b03909116815260200161012e565b34801561028357600080fd5b50610235610502565b34801561029857600080fd5b50610124600f5481565b3480156102ae57600080fd5b506000546001600160a01b031661025f565b3480156102cc57600080fd5b5061014c610555565b3480156102e157600080fd5b506101796102f03660046112be565b610564565b34801561030157600080fd5b5061012460105481565b34801561031757600080fd5b50610124610326366004611348565b6001600160a01b03918216600090815260136020908152604080832093909416825291909152205490565b34801561035d57600080fd5b5061023561036c36600461132b565b610571565b60606002805461038090611381565b80601f01602080910402602001604051908101604052809291908181526020018280546103ac90611381565b80156103f95780601f106103ce576101008083540402835291602001916103f9565b820191906000526020600020905b8154815290600101906020018083116103dc57829003601f168201915b5050505050905090565b600061041033848461065b565b5060015b92915050565b600061042784848461077f565b5061047a84336104758560405180606001604052806028815260200161150a602891396001600160a01b038a1660009081526013602090815260408083203384529091529020549190610bd3565b61065b565b5060015b9392505050565b6000546001600160a01b031633146104b85760405162461bcd60e51b81526004016104af906113bb565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461052c5760405162461bcd60e51b81526004016104af906113bb565b600e54600f55601c805463ff000000191690556002600581905560098190556007819055600b55565b60606003805461038090611381565b600061047a33848461077f565b6000546001600160a01b0316331461059b5760405162461bcd60e51b81526004016104af906113bb565b6001600160a01b0381166106005760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016104af565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166106bd5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016104af565b6001600160a01b03821661071e5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016104af565b6001600160a01b0383811660008181526013602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107e55760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016104af565b6001600160a01b0383166108475760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016104af565b601c5460ff16156108645761085d848484610c0d565b905061047e565b6001600160a01b03841660009081526016602052604090205460ff161580156108a657506001600160a01b03831660009081526016602052604090205460ff16155b1561090e57600f5482111561090e5760405162461bcd60e51b815260206004820152602860248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152673c20b6b7bab73a1760c11b60648201526084016104af565b30600090815260126020526040902054601154811080159081906109355750601c5460ff16155b801561095957506001600160a01b03851660009081526017602052604090205460ff165b801561096c5750601c54610100900460ff165b801561099157506001600160a01b03861660009081526014602052604090205460ff16155b801561099e575060115484115b156109c357601c5462010000900460ff16156109ba5760115491505b6109c382610cf3565b6001600160a01b03861660009081526014602052604081205460ff1680610a0257506001600160a01b03861660009081526014602052604090205460ff165b15610a0e575083610a1c565b610a19878787610e01565b90505b601c546301000000900460ff168015610a4e57506001600160a01b03861660009081526015602052604090205460ff16155b15610a8a57601054610a7f82610a79896001600160a01b031660009081526012602052604090205490565b90610f07565b1115610a8a57600080fd5b601c546000906301000000900460ff16158015610abf57506001600160a01b03881660009081526014602052604090205460ff165b610ac95785610ad3565b610ad38683610f66565b9050610b3b8160405180604001604052806014815260200173496e73756666696369656e742042616c616e636560601b815250601260008c6001600160a01b03166001600160a01b0316815260200190815260200160002054610bd39092919063ffffffff16565b6001600160a01b03808a166000908152601260205260408082209390935590891681522054610b6a9083610f07565b6001600160a01b0380891660008181526012602052604090819020939093559151908a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610bbe9086815260200190565b60405180910390a3600194505050505061047e565b60008184841115610bf75760405162461bcd60e51b81526004016104af9190611258565b506000610c048486611406565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152601290915291822054610c5e918490610bd3565b6001600160a01b038086166000908152601260205260408082209390935590851681522054610c8d9083610f07565b6001600160a01b0380851660008181526012602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ce19086815260200190565b60405180910390a35060019392505050565b601c805460ff19166001179055601b54601854600091610d2391600291610d1d9182908790610fa8565b9061102a565b90506000610d318383610f66565b9050610d3c8161106c565b6018544790600090610d5c90610d5390600261102a565b601b5490610f66565b90506000610d7e6002610d1d84610d1d60185488610fa890919063ffffffff16565b90506000610d9b83610d1d601a5487610fa890919063ffffffff16565b90506000610db382610dad8786610f66565b90610f66565b90508015610dd157600c54610dd1906001600160a01b0316826111ef565b8115610ded57600d54610ded906001600160a01b0316836111ef565b5050601c805460ff19169055505050505050565b6001600160a01b038316600090815260176020526040812054819060ff1615610e4557610e3e6064610d1d60075486610fa890919063ffffffff16565b9050610e83565b6001600160a01b03841660009081526017602052604090205460ff1615610e8357610e806064610d1d600b5486610fa890919063ffffffff16565b90505b8015610efd5730600090815260126020526040902054610ea39082610f07565b30600081815260126020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610ef49085815260200190565b60405180910390a35b610c048382610f66565b600080610f148385611419565b90508381101561047e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016104af565b600061047e83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610bd3565b600082600003610fba57506000610414565b6000610fc6838561142c565b905082610fd38583611443565b1461047e5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016104af565b600061047e83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061122a565b60408051600280825260608201835260009260208301908036833701905050905030816000815181106110a1576110a1611465565b60200260200101906001600160a01b031690816001600160a01b031681525050601c60049054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611114573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611138919061147b565b8160018151811061114b5761114b611465565b6001600160a01b039283166020918202929092010152601c546111799130916401000000009004168461065b565b601c5460405163791ac94760e01b81526401000000009091046001600160a01b03169063791ac947906111b9908590600090869030904290600401611498565b600060405180830381600087803b1580156111d357600080fd5b505af11580156111e7573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611225573d6000803e3d6000fd5b505050565b6000818361124b5760405162461bcd60e51b81526004016104af9190611258565b506000610c048486611443565b600060208083528351808285015260005b8181101561128557858101830151858201604001528201611269565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146112bb57600080fd5b50565b600080604083850312156112d157600080fd5b82356112dc816112a6565b946020939093013593505050565b6000806000606084860312156112ff57600080fd5b833561130a816112a6565b9250602084013561131a816112a6565b929592945050506040919091013590565b60006020828403121561133d57600080fd5b813561047e816112a6565b6000806040838503121561135b57600080fd5b8235611366816112a6565b91506020830135611376816112a6565b809150509250929050565b600181811c9082168061139557607f821691505b6020821081036113b557634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b81810381811115610414576104146113f0565b80820180821115610414576104146113f0565b8082028115828204841417610414576104146113f0565b60008261146057634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b60006020828403121561148d57600080fd5b815161047e816112a6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114e85784516001600160a01b0316835293830193918301916001016114c3565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220774b0d296b895548cefe6c6cb22461673a12ee6788b7e6c639cad12c24a8d10d64736f6c63430008130033

Deployed Bytecode Sourcemap

5020:9216:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5721:48;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5721:48:0;;;;;;;;7918:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;12235:161::-;;;;;;;;;;-1:-1:-1;12235:161:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;12235:161:0;1205:187:1;8195:100:0;;;;;;;;;;-1:-1:-1;8275:12:0;;8195:100;;13048:313;;;;;;;;;;-1:-1:-1;13048:313:0;;;;;:::i;:::-;;:::i;8104:83::-;;;;;;;;;;-1:-1:-1;8170:9:0;;-1:-1:-1;;;8170:9:0;;;;8104:83;;2030:4:1;2018:17;;;2000:36;;1988:2;1973:18;8104:83:0;1858:184:1;12404:119:0;;;;;;;;;;-1:-1:-1;12404:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;12497:18:0;12470:7;12497:18;;;:9;:18;;;;;;;12404:119;2510:148;;;;;;;;;;;;;:::i;:::-;;6386:35;;;;;;;;;;-1:-1:-1;6386:35:0;;;;;;;-1:-1:-1;;;;;6386:35:0;;;;;;-1:-1:-1;;;;;2484:32:1;;;2466:51;;2454:2;2439:18;6386:35:0;2299:224:1;8855:221:0;;;;;;;;;;;;;:::i;5601:51::-;;;;;;;;;;;;;;;;2285:79;;;;;;;;;;-1:-1:-1;2323:7:0;2350:6;-1:-1:-1;;;;;2350:6:0;2285:79;;8009:87;;;;;;;;;;;;;:::i;9991:167::-;;;;;;;;;;-1:-1:-1;9991:167:0;;;;;:::i;:::-;;:::i;5659:55::-;;;;;;;;;;;;;;;;12893:143;;;;;;;;;;-1:-1:-1;12893:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;13001:18:0;;;12974:7;13001:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;12893:143;2666:244;;;;;;;;;;-1:-1:-1;2666:244:0;;;;;:::i;:::-;;:::i;7918:83::-;7955:13;7988:5;7981:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7918:83;:::o;12235:161::-;12310:4;12327:39;1661:10;12350:7;12359:6;12327:8;:39::i;:::-;-1:-1:-1;12384:4:0;12235:161;;;;;:::o;13048:313::-;13146:4;13163:36;13173:6;13181:9;13192:6;13163:9;:36::i;:::-;-1:-1:-1;13210:121:0;13219:6;1661:10;13241:89;13279:6;13241:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;13241:19:0;;;;;;:11;:19;;;;;;;;1661:10;13241:33;;;;;;;;;;:37;:89::i;:::-;13210:8;:121::i;:::-;-1:-1:-1;13349:4:0;13048:313;;;;;;:::o;2510:148::-;2419:6;;-1:-1:-1;;;;;2419:6:0;1661:10;2419:22;2411:67;;;;-1:-1:-1;;;2411:67:0;;;;;;;:::i;:::-;;;;;;;;;2617:1:::1;2601:6:::0;;2580:40:::1;::::0;-1:-1:-1;;;;;2601:6:0;;::::1;::::0;2580:40:::1;::::0;2617:1;;2580:40:::1;2648:1;2631:19:::0;;-1:-1:-1;;;;;;2631:19:0::1;::::0;;2510:148::o;8855:221::-;2419:6;;-1:-1:-1;;;;;2419:6:0;1661:10;2419:22;2411:67;;;;-1:-1:-1;;;2411:67:0;;;;;;;:::i;:::-;8923:12:::1;::::0;8909:11:::1;:26:::0;8946:18:::1;:26:::0;;-1:-1:-1;;8946:26:0::1;::::0;;8996:1:::1;8983:10;:14:::0;;;-1:-1:-1;9008:15:0;;;9034:7:::1;:11:::0;;;9056:8:::1;:12:::0;8855:221::o;8009:87::-;8048:13;8081:7;8074:14;;;;;:::i;9991:167::-;10069:4;10086:42;1661:10;10110:9;10121:6;10086:9;:42::i;2666:244::-;2419:6;;-1:-1:-1;;;;;2419:6:0;1661:10;2419:22;2411:67;;;;-1:-1:-1;;;2411:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2755:22:0;::::1;2747:73;;;::::0;-1:-1:-1;;;2747:73:0;;4077:2:1;2747:73:0::1;::::0;::::1;4059:21:1::0;4116:2;4096:18;;;4089:30;4155:34;4135:18;;;4128:62;-1:-1:-1;;;4206:18:1;;;4199:36;4252:19;;2747:73:0::1;3875:402:1::0;2747:73:0::1;2857:6;::::0;;2836:38:::1;::::0;-1:-1:-1;;;;;2836:38:0;;::::1;::::0;2857:6;::::1;::::0;2836:38:::1;::::0;::::1;2885:6;:17:::0;;-1:-1:-1;;;;;;2885:17:0::1;-1:-1:-1::0;;;;;2885:17:0;;;::::1;::::0;;;::::1;::::0;;2666:244::o;9084:337::-;-1:-1:-1;;;;;9177:19:0;;9169:68;;;;-1:-1:-1;;;9169:68:0;;4484:2:1;9169:68:0;;;4466:21:1;4523:2;4503:18;;;4496:30;4562:34;4542:18;;;4535:62;-1:-1:-1;;;4613:18:1;;;4606:34;4657:19;;9169:68:0;4282:400:1;9169:68:0;-1:-1:-1;;;;;9256:21:0;;9248:68;;;;-1:-1:-1;;;9248:68:0;;4889:2:1;9248:68:0;;;4871:21:1;4928:2;4908:18;;;4901:30;4967:34;4947:18;;;4940:62;-1:-1:-1;;;5018:18:1;;;5011:32;5060:19;;9248:68:0;4687:398:1;9248:68:0;-1:-1:-1;;;;;9329:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;9381:32;;160:25:1;;;9381:32:0;;133:18:1;9381:32:0;;;;;;;9084:337;;;:::o;10296:1923::-;10383:4;-1:-1:-1;;;;;10408:20:0;;10400:70;;;;-1:-1:-1;;;10400:70:0;;5292:2:1;10400:70:0;;;5274:21:1;5331:2;5311:18;;;5304:30;5370:34;5350:18;;;5343:62;-1:-1:-1;;;5421:18:1;;;5414:35;5466:19;;10400:70:0;5090:401:1;10400:70:0;-1:-1:-1;;;;;10489:23:0;;10481:71;;;;-1:-1:-1;;;10481:71:0;;5698:2:1;10481:71:0;;;5680:21:1;5737:2;5717:18;;;5710:30;5776:34;5756:18;;;5749:62;-1:-1:-1;;;5827:18:1;;;5820:33;5870:19;;10481:71:0;5496:399:1;10481:71:0;10566:8;;;;10563:1649;;;10608:41;10623:6;10631:9;10642:6;10608:14;:41::i;:::-;10601:48;;;;10563:1649;-1:-1:-1;;;;;10705:30:0;;;;;;:22;:30;;;;;;;;10704:31;:69;;;;-1:-1:-1;;;;;;10740:33:0;;;;;;:22;:33;;;;;;;;10739:34;10704:69;10701:183;;;10812:11;;10802:6;:21;;10794:74;;;;-1:-1:-1;;;10794:74:0;;6102:2:1;10794:74:0;;;6084:21:1;6141:2;6121:18;;;6114:30;6180:34;6160:18;;;6153:62;-1:-1:-1;;;6231:18:1;;;6224:38;6279:19;;10794:74:0;5900:404:1;10794:74:0;10951:4;10912:18;12497;;;:9;:18;;;;;;11005:13;;10991:27;;;;;;;11051:24;;-1:-1:-1;11067:8:0;;;;11066:9;11051:24;:53;;;;-1:-1:-1;;;;;;11079:25:0;;;;;;:14;:25;;;;;;;;11051:53;:72;;;;-1:-1:-1;11108:15:0;;;;;;;11051:72;:103;;;;-1:-1:-1;;;;;;11128:26:0;;;;;;:18;:26;;;;;;;;11127:27;11051:103;:129;;;;;11167:13;;11158:6;:22;11051:129;11047:296;;;11218:14;;;;;;;11215:66;;;11268:13;;11255:26;;11215:66;11300:23;11312:10;11300:11;:23::i;:::-;-1:-1:-1;;;;;11438:26:0;;11359:19;11438:26;;;:18;:26;;;;;;;;;:59;;-1:-1:-1;;;;;;11468:29:0;;;;;;:18;:29;;;;;;;;11438:59;11434:220;;;-1:-1:-1;11532:6:0;11434:220;;;11593:45;11612:6;11620:9;11631:6;11593:18;:45::i;:::-;11579:59;;11434:220;11671:18;;;;;;;:60;;;;-1:-1:-1;;;;;;11694:37:0;;;;;;:26;:37;;;;;;;;11693:38;11671:60;11668:147;;;11799:15;;11758:37;11783:11;11758:20;11768:9;-1:-1:-1;;;;;12497:18:0;12470:7;12497:18;;;:9;:18;;;;;;;12404:119;11758:20;:24;;:37::i;:::-;:56;;11750:65;;;;;;11859:18;;11832:22;;11859:18;;;;;11858:19;:49;;;;-1:-1:-1;;;;;;11881:26:0;;;;;;:18;:26;;;;;;;;11858:49;11857:86;;11937:6;11857:86;;;11911:23;:6;11922:11;11911:10;:23::i;:::-;11832:111;;11978:61;12000:14;11978:61;;;;;;;;;;;;;-1:-1:-1;;;11978:61:0;;;:9;:17;11988:6;-1:-1:-1;;;;;11978:17:0;-1:-1:-1;;;;;11978:17:0;;;;;;;;;;;;;:21;;:61;;;;;:::i;:::-;-1:-1:-1;;;;;11958:17:0;;;;;;;:9;:17;;;;;;:81;;;;12077:20;;;;;;;:37;;12102:11;12077:24;:37::i;:::-;-1:-1:-1;;;;;12054:20:0;;;;;;;:9;:20;;;;;;;:60;;;;12134:40;;;;;;;;;;12162:11;160:25:1;;148:2;133:18;;14:177;12134:40:0;;;;;;;;12196:4;12189:11;;;;;;;;3914:192;4000:7;4036:12;4028:6;;;;4020:29;;;;-1:-1:-1;;;4020:29:0;;;;;;;;:::i;:::-;-1:-1:-1;4060:9:0;4072:5;4076:1;4072;:5;:::i;:::-;4060:17;3914:192;-1:-1:-1;;;;;3914:192:0:o;12547:330::-;12677:53;;;;;;;;;;;-1:-1:-1;;;12677:53:0;;;;;;;;-1:-1:-1;;;;;12677:17:0;;12640:4;12677:17;;;:9;:17;;;;;;;:53;;12699:6;;12677:21;:53::i;:::-;-1:-1:-1;;;;;12657:17:0;;;;;;;:9;:17;;;;;;:73;;;;12764:20;;;;;;;:32;;12789:6;12764:24;:32::i;:::-;-1:-1:-1;;;;;12741:20:0;;;;;;;:9;:20;;;;;;;:55;;;;12812:35;;;;;;;;;;12840:6;160:25:1;;148:2;133:18;;14:177;12812:35:0;;;;;;;;-1:-1:-1;12865:4:0;12547:330;;;;;:::o;13373:860::-;6481:8;:15;;-1:-1:-1;;6481:15:0;6492:4;6481:15;;;13493:17:::1;::::0;13473:14:::1;::::0;6481:8;;13461:57:::1;::::0;13516:1:::1;::::0;13461:50:::1;::::0;;;:7;;:11:::1;:27::i;:::-;:31:::0;::::1;:50::i;:57::-;13439:79:::0;-1:-1:-1;13529:20:0::1;13552:24;:7:::0;13439:79;13552:11:::1;:24::i;:::-;13529:47;;13589:30;13606:12;13589:16;:30::i;:::-;13724:14;::::0;13646:21:::1;::::0;13630:13:::1;::::0;13702:44:::1;::::0;13724:21:::1;::::0;13743:1:::1;13724:18;:21::i;:::-;13702:17;::::0;;:21:::1;:44::i;:::-;13680:66;;13767:26;13796:49;13843:1;13796:42;13826:11;13796:25;13806:14;;13796:5;:9;;:25;;;;:::i;:49::-;13767:78;;13856:28;13887:43;13918:11;13887:26;13897:15;;13887:5;:9;;:26;;;;:::i;:43::-;13856:74:::0;-1:-1:-1;13941:26:0::1;13970:55;13856:74:::0;13970:29:::1;:5:::0;13980:18;13970:9:::1;:29::i;:::-;:33:::0;::::1;:55::i;:::-;13941:84:::0;-1:-1:-1;14041:22:0;;14038:88:::1;;14089:16;::::0;14078:48:::1;::::0;-1:-1:-1;;;;;14089:16:0::1;14107:18:::0;14078:10:::1;:48::i;:::-;14142:24:::0;;14139:86:::1;;14192:10;::::0;14181:44:::1;::::0;-1:-1:-1;;;;;14192:10:0::1;14204:20:::0;14181:10:::1;:44::i;:::-;-1:-1:-1::0;;6519:8:0;:16;;-1:-1:-1;;6519:16:0;;;-1:-1:-1;;;;;;13373:860:0:o;8307:495::-;-1:-1:-1;;;;;8453:22:0;;8404:7;8453:22;;;:14;:22;;;;;;8404:7;;8453:22;;8450:147;;;8484:28;8508:3;8484:19;8495:7;;8484:6;:10;;:19;;;;:::i;:28::-;8478:34;;8450:147;;;-1:-1:-1;;;;;8532:25:0;;;;;;:14;:25;;;;;;;;8529:68;;;8566:29;8591:3;8566:20;8577:8;;8566:6;:10;;:20;;;;:::i;:29::-;8560:35;;8529:68;8610:7;;8607:155;;8679:4;8661:24;;;;:9;:24;;;;;;:33;;8690:3;8661:28;:33::i;:::-;8652:4;8634:24;;;;:9;:24;;;;;;;:60;;;;8714:36;;-1:-1:-1;;;;;8714:36:0;;;;;;;8746:3;160:25:1;;148:2;133:18;;14:177;8714:36:0;;;;;;;;8607:155;8779:15;:6;8790:3;8779:10;:15::i;3581:181::-;3639:7;;3671:5;3675:1;3671;:5;:::i;:::-;3659:17;;3700:1;3695;:6;;3687:46;;;;-1:-1:-1;;;3687:46:0;;6906:2:1;3687:46:0;;;6888:21:1;6945:2;6925:18;;;6918:30;6984:29;6964:18;;;6957:57;7031:18;;3687:46:0;6704:351:1;3770:136:0;3828:7;3855:43;3859:1;3862;3855:43;;;;;;;;;;;;;;;;;:3;:43::i;4114:250::-;4172:7;4196:1;4201;4196:6;4192:47;;-1:-1:-1;4226:1:0;4219:8;;4192:47;4251:9;4263:5;4267:1;4263;:5;:::i;:::-;4251:17;-1:-1:-1;4296:1:0;4287:5;4291:1;4251:17;4287:5;:::i;:::-;:10;4279:56;;;;-1:-1:-1;;;4279:56:0;;7657:2:1;4279:56:0;;;7639:21:1;7696:2;7676:18;;;7669:30;7735:34;7715:18;;;7708:62;-1:-1:-1;;;7786:18:1;;;7779:31;7827:19;;4279:56:0;7455:397:1;4372:132:0;4430:7;4457:39;4461:1;4464;4457:39;;;;;;;;;;;;;;;;;:3;:39::i;9437:546::-;9527:16;;;9541:1;9527:16;;;;;;;;9503:21;;9527:16;;;;;;;;;;-1:-1:-1;9527:16:0;9503:40;;9572:4;9554;9559:1;9554:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;9554:23:0;;;-1:-1:-1;;;;;9554:23:0;;;;;9598:13;;;;;;;;;-1:-1:-1;;;;;9598:13:0;-1:-1:-1;;;;;9598:18:0;;:20;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9588:4;9593:1;9588:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;9588:30:0;;;:7;;;;;;;;;:30;9663:13;;9631:60;;9648:4;;9663:13;;;;9679:11;9631:8;:60::i;:::-;9737:13;;:238;;-1:-1:-1;;;9737:238:0;;:13;;;;-1:-1:-1;;;;;9737:13:0;;:64;;:238;;9816:11;;9842:1;;9886:4;;9913;;9949:15;;9737:13;:238;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9492:491;9437:546;:::o;10164:116::-;10246:26;;-1:-1:-1;;;;;10246:18:0;;;:26;;;;;10265:6;;10246:26;;;;10265:6;10246:18;:26;;;;;;;;;;;;;;;;;;;;;10164:116;;:::o;4512:189::-;4598:7;4633:12;4626:5;4618:28;;;;-1:-1:-1;;;4618:28:0;;;;;;;;:::i;:::-;-1:-1:-1;4657:9:0;4669:5;4673:1;4669;:5;:::i;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;804:70;749:131;:::o;885:315::-;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2736:388::-;2804:6;2812;2865:2;2853:9;2844:7;2840:23;2836:32;2833:52;;;2881:1;2878;2871:12;2833:52;2920:9;2907:23;2939:31;2964:5;2939:31;:::i;:::-;2989:5;-1:-1:-1;3046:2:1;3031:18;;3018:32;3059:33;3018:32;3059:33;:::i;:::-;3111:7;3101:17;;;2736:388;;;;;:::o;3129:380::-;3208:1;3204:12;;;;3251;;;3272:61;;3326:4;3318:6;3314:17;3304:27;;3272:61;3379:2;3371:6;3368:14;3348:18;3345:38;3342:161;;3425:10;3420:3;3416:20;3413:1;3406:31;3460:4;3457:1;3450:15;3488:4;3485:1;3478:15;3342:161;;3129:380;;;:::o;3514:356::-;3716:2;3698:21;;;3735:18;;;3728:30;3794:34;3789:2;3774:18;;3767:62;3861:2;3846:18;;3514:356::o;6309:127::-;6370:10;6365:3;6361:20;6358:1;6351:31;6401:4;6398:1;6391:15;6425:4;6422:1;6415:15;6441:128;6508:9;;;6529:11;;;6526:37;;;6543:18;;:::i;6574:125::-;6639:9;;;6660:10;;;6657:36;;;6673:18;;:::i;7060:168::-;7133:9;;;7164;;7181:15;;;7175:22;;7161:37;7151:71;;7202:18;;:::i;7233:217::-;7273:1;7299;7289:132;;7343:10;7338:3;7334:20;7331:1;7324:31;7378:4;7375:1;7368:15;7406:4;7403:1;7396:15;7289:132;-1:-1:-1;7435:9:1;;7233:217::o;7989:127::-;8050:10;8045:3;8041:20;8038:1;8031:31;8081:4;8078:1;8071:15;8105:4;8102:1;8095:15;8121:251;8191:6;8244:2;8232:9;8223:7;8219:23;8215:32;8212:52;;;8260:1;8257;8250:12;8212:52;8292:9;8286:16;8311:31;8336:5;8311:31;:::i;8377:980::-;8639:4;8687:3;8676:9;8672:19;8718:6;8707:9;8700:25;8744:2;8782:6;8777:2;8766:9;8762:18;8755:34;8825:3;8820:2;8809:9;8805:18;8798:31;8849:6;8884;8878:13;8915:6;8907;8900:22;8953:3;8942:9;8938:19;8931:26;;8992:2;8984:6;8980:15;8966:29;;9013:1;9023:195;9037:6;9034:1;9031:13;9023:195;;;9102:13;;-1:-1:-1;;;;;9098:39:1;9086:52;;9193:15;;;;9158:12;;;;9134:1;9052:9;9023:195;;;-1:-1:-1;;;;;;;9274:32:1;;;;9269:2;9254:18;;9247:60;-1:-1:-1;;;9338:3:1;9323:19;9316:35;9235:3;8377:980;-1:-1:-1;;;8377:980:1:o

Swarm Source

ipfs://774b0d296b895548cefe6c6cb22461673a12ee6788b7e6c639cad12c24a8d10d

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.