ETH Price: $2,379.23 (+1.16%)
Gas: 4.42 Gwei

Contract

0xf400559CEDa81333023164E3F3108b02CbA3606F
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $2,379.23/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve202144352024-07-01 21:43:4794 days ago1719870227IN
0xf400559C...2CbA3606F
0 ETH0.000106044.36451711
Approve148177212022-05-21 14:15:42866 days ago1653142542IN
0xf400559C...2CbA3606F
0 ETH0.0010713622.99995563
Approve148142672022-05-21 0:44:29867 days ago1653093869IN
0xf400559C...2CbA3606F
0 ETH0.0015942634.22562792
Approve148070272022-05-19 20:36:44868 days ago1652992604IN
0xf400559C...2CbA3606F
0 ETH0.0012015625.79510507
Approve148065672022-05-19 18:51:26868 days ago1652986286IN
0xf400559C...2CbA3606F
0 ETH0.0013379728.72362325
Approve148065662022-05-19 18:51:02868 days ago1652986262IN
0xf400559C...2CbA3606F
0 ETH0.00119425.63280929
Approve148065542022-05-19 18:48:16868 days ago1652986096IN
0xf400559C...2CbA3606F
0 ETH0.0005360422.0622044
Approve148062662022-05-19 17:40:46868 days ago1652982046IN
0xf400559C...2CbA3606F
0 ETH0.0009794521.02698186
Approve148057002022-05-19 15:26:16868 days ago1652973976IN
0xf400559C...2CbA3606F
0 ETH0.0019305641.44528849
Approve148056812022-05-19 15:22:19868 days ago1652973739IN
0xf400559C...2CbA3606F
0 ETH0.0027949960.00284998
Approve148056252022-05-19 15:06:23868 days ago1652972783IN
0xf400559C...2CbA3606F
0 ETH0.0019257641.34226134
Approve148055302022-05-19 14:43:48868 days ago1652971428IN
0xf400559C...2CbA3606F
0 ETH0.0014894431.97538755
Approve148053642022-05-19 14:07:04868 days ago1652969224IN
0xf400559C...2CbA3606F
0 ETH0.0025097653.87958351
Approve148052302022-05-19 13:29:14868 days ago1652966954IN
0xf400559C...2CbA3606F
0 ETH0.0007701816.53438919
Approve148051362022-05-19 13:10:46868 days ago1652965846IN
0xf400559C...2CbA3606F
0 ETH0.0010272622.05340659
Approve148050032022-05-19 12:40:22868 days ago1652964022IN
0xf400559C...2CbA3606F
0 ETH0.0012316526.44121686
Approve148049552022-05-19 12:29:44868 days ago1652963384IN
0xf400559C...2CbA3606F
0 ETH0.0010330722.17800801
Approve148049152022-05-19 12:18:54868 days ago1652962734IN
0xf400559C...2CbA3606F
0 ETH0.0013939430.11912336
Approve148049152022-05-19 12:18:54868 days ago1652962734IN
0xf400559C...2CbA3606F
0 ETH0.0013939430.11912336
Approve148046312022-05-19 11:15:06869 days ago1652958906IN
0xf400559C...2CbA3606F
0 ETH0.0009487820.36846965
Approve148043872022-05-19 10:12:05869 days ago1652955125IN
0xf400559C...2CbA3606F
0 ETH0.0011031223.68194409
Approve148036982022-05-19 7:27:01869 days ago1652945221IN
0xf400559C...2CbA3606F
0 ETH0.0007381415.84644215
Approve148036972022-05-19 7:26:13869 days ago1652945173IN
0xf400559C...2CbA3606F
0 ETH0.0006639214.25317673
Approve148036782022-05-19 7:21:31869 days ago1652944891IN
0xf400559C...2CbA3606F
0 ETH0.0008511318.27214674
Approve148036702022-05-19 7:18:55869 days ago1652944735IN
0xf400559C...2CbA3606F
0 ETH0.0008056817.29640388
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
148435612022-05-25 19:05:29862 days ago1653505529
0xf400559C...2CbA3606F
0.00013355 ETH
148435612022-05-25 19:05:29862 days ago1653505529
0xf400559C...2CbA3606F
0.00013355 ETH
148435612022-05-25 19:05:29862 days ago1653505529
0xf400559C...2CbA3606F
0.00026711 ETH
148310532022-05-23 18:12:21864 days ago1653329541
0xf400559C...2CbA3606F
0.00013355 ETH
148310532022-05-23 18:12:21864 days ago1653329541
0xf400559C...2CbA3606F
0.00013355 ETH
148310532022-05-23 18:12:21864 days ago1653329541
0xf400559C...2CbA3606F
0.00026711 ETH
148310532022-05-23 18:12:21864 days ago1653329541
0xf400559C...2CbA3606F
0.00009345 ETH
148310532022-05-23 18:12:21864 days ago1653329541
0xf400559C...2CbA3606F
0.00009345 ETH
148310532022-05-23 18:12:21864 days ago1653329541
0xf400559C...2CbA3606F
0.0001869 ETH
148218752022-05-22 6:31:16866 days ago1653201076
0xf400559C...2CbA3606F
0.0002081 ETH
148218752022-05-22 6:31:16866 days ago1653201076
0xf400559C...2CbA3606F
0.0002081 ETH
148218752022-05-22 6:31:16866 days ago1653201076
0xf400559C...2CbA3606F
0.0004162 ETH
148177642022-05-21 14:23:36866 days ago1653143016
0xf400559C...2CbA3606F
0.00030753 ETH
148177642022-05-21 14:23:36866 days ago1653143016
0xf400559C...2CbA3606F
0.00030753 ETH
148177642022-05-21 14:23:36866 days ago1653143016
0xf400559C...2CbA3606F
0.00061507 ETH
148119532022-05-20 15:46:14867 days ago1653061574
0xf400559C...2CbA3606F
0.00043096 ETH
148119532022-05-20 15:46:14867 days ago1653061574
0xf400559C...2CbA3606F
0.00043096 ETH
148119532022-05-20 15:46:14867 days ago1653061574
0xf400559C...2CbA3606F
0.00086192 ETH
148085182022-05-20 2:29:32868 days ago1653013772
0xf400559C...2CbA3606F
0.00024858 ETH
148085182022-05-20 2:29:32868 days ago1653013772
0xf400559C...2CbA3606F
0.00024858 ETH
148085182022-05-20 2:29:32868 days ago1653013772
0xf400559C...2CbA3606F
0.00049716 ETH
148080292022-05-20 0:27:14868 days ago1653006434
0xf400559C...2CbA3606F
0.00026673 ETH
148080292022-05-20 0:27:14868 days ago1653006434
0xf400559C...2CbA3606F
0.00026673 ETH
148080292022-05-20 0:27:14868 days ago1653006434
0xf400559C...2CbA3606F
0.00053346 ETH
148079882022-05-20 0:18:57868 days ago1653005937
0xf400559C...2CbA3606F
0.00033805 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
OnePercent

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-05-18
*/

/**
Welcome to the 1% club. 
Everything will be 1, Starting from TAX, LP AND LOCK.
Don't worry about the lock as we will gradually extend it by 1 day in every marketcap.
It is also community token, we are creating a safe place for traders to trade in this low tax

PLEASE PLEASE PLEASE, USE LOW SLIPPAGE DURING TRADING!!!

Code is clean and transparent, if there is any question regarding code, please ask team members.
Stealth launch by Safe Dev
Will be locked and Renounced.

https://t.me/OnePercent_Portal
*/

pragma solidity ^0.8.4;
// SPDX-License-Identifier: UNLICENSED
abstract contract Context {
    function _msgSender() internal view virtual returns (address) {
        return msg.sender;
    }
}

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

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

}

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    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);
}

contract OnePercent is Context, IERC20, Ownable {
    using SafeMath for uint256;
    mapping (address => uint256) private _rOwned;
    mapping (address => uint256) private _tOwned;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) private _isExcludedFromFee;
    mapping (address => bool) private bots;
    mapping (address => uint) private cooldown;
    uint256 private constant MAX = ~uint256(0);
    uint256 private constant _tTotal = 1000000000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet1;
    address payable private _feeAddrWallet2;
    
    string private constant _name = "OnePercent";
    string private constant _symbol = unicode"1 %";
    uint8 private constant _decimals = 9;
    
    IUniswapV2Router02 private uniswapV2Router;
    address private uniswapV2Pair;
    bool private tradingOpen;
    bool private inSwap = false;
    bool private swapEnabled = false;
    bool private cooldownEnabled = false;
    uint256 private _maxTxAmount = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }
    constructor () {
        _feeAddrWallet1 = payable(0x459F4d27280402E71ee8DA8ED535722960C9F3fF);
        _feeAddrWallet2 = payable(0x459F4d27280402E71ee8DA8ED535722960C9F3fF);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet1] = true;
        _isExcludedFromFee[_feeAddrWallet2] = true;
        emit Transfer(address(0x459F4d27280402E71ee8DA8ED535722960C9F3fF), _msgSender(), _tTotal);
    }

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

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

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

    function totalSupply() public pure override returns (uint256) {
        return _tTotal;
    }

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

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

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

    function approve(address spender, uint256 amount) public override returns (bool) {
        _approve(_msgSender(), spender, amount);
        return true;
    }

    function transferFrom(address 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 setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

    function tokenFromReflection(uint256 rAmount) private view returns(uint256) {
        require(rAmount <= _rTotal, "Amount must be less than total reflections");
        uint256 currentRate =  _getRate();
        return rAmount.div(currentRate);
    }

    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 _transfer(address from, address to, uint256 amount) private {
        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        require(amount > 0, "Transfer amount must be greater than zero");
        _feeAddr1 = 0;
        _feeAddr2 = 1;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount);
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = 1;
            }
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwap && from != uniswapV2Pair && swapEnabled) {
                swapTokensForEth(contractTokenBalance);
                uint256 contractETHBalance = address(this).balance;
                if(contractETHBalance > 0) {
                    sendETHToFee(address(this).balance);
                }
            }
        }
		
        _tokenTransfer(from,to,amount);
    }

    function swapTokensForEth(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp
        );
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet1.transfer(amount.div(2));
        _feeAddrWallet2.transfer(amount.div(2));
    }
    
    function openTrading() external onlyOwner() {
        require(!tradingOpen,"trading is already open");
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapV2Router = _uniswapV2Router;
        _approve(address(this), address(uniswapV2Router), _tTotal);
        uniswapV2Pair = IUniswapV2Factory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        uniswapV2Router.addLiquidityETH{value: address(this).balance}(address(this),balanceOf(address(this)),0,0,owner(),block.timestamp);
        swapEnabled = true;
        cooldownEnabled = true;
        _maxTxAmount = 30000000000 * 10**9;
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function setBots(address[] memory bots_) public onlyOwner {
        for (uint i = 0; i < bots_.length; i++) {
            bots[bots_[i]] = true;
        }
    }
    
    function delBot(address notbot) public onlyOwner {
        bots[notbot] = false;
    }
        
    function _tokenTransfer(address sender, address recipient, uint256 amount) private {
        _transferStandard(sender, recipient, amount);
    }

    function _transferStandard(address sender, address recipient, uint256 tAmount) private {
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee, uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getValues(tAmount);
        _rOwned[sender] = _rOwned[sender].sub(rAmount);
        _rOwned[recipient] = _rOwned[recipient].add(rTransferAmount); 
        _takeTeam(tTeam);
        _reflectFee(rFee, tFee);
        emit Transfer(sender, recipient, tTransferAmount);
    }

    function _takeTeam(uint256 tTeam) private {
        uint256 currentRate =  _getRate();
        uint256 rTeam = tTeam.mul(currentRate);
        _rOwned[address(this)] = _rOwned[address(this)].add(rTeam);
    }

    function _reflectFee(uint256 rFee, uint256 tFee) private {
        _rTotal = _rTotal.sub(rFee);
        _tFeeTotal = _tFeeTotal.add(tFee);
    }

    receive() external payable {}
    
    function manualswap() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet1);
        uint256 contractETHBalance = address(this).balance;
        sendETHToFee(contractETHBalance);
    }
    

    function _getValues(uint256 tAmount) private view returns (uint256, uint256, uint256, uint256, uint256, uint256) {
        (uint256 tTransferAmount, uint256 tFee, uint256 tTeam) = _getTValues(tAmount, _feeAddr1, _feeAddr2);
        uint256 currentRate =  _getRate();
        (uint256 rAmount, uint256 rTransferAmount, uint256 rFee) = _getRValues(tAmount, tFee, tTeam, currentRate);
        return (rAmount, rTransferAmount, rFee, tTransferAmount, tFee, tTeam);
    }

    function _getTValues(uint256 tAmount, uint256 taxFee, uint256 TeamFee) private pure returns (uint256, uint256, uint256) {
        uint256 tFee = tAmount.mul(taxFee).div(100);
        uint256 tTeam = tAmount.mul(TeamFee).div(100);
        uint256 tTransferAmount = tAmount.sub(tFee).sub(tTeam);
        return (tTransferAmount, tFee, tTeam);
    }

    function _getRValues(uint256 tAmount, uint256 tFee, uint256 tTeam, uint256 currentRate) private pure returns (uint256, uint256, uint256) {
        uint256 rAmount = tAmount.mul(currentRate);
        uint256 rFee = tFee.mul(currentRate);
        uint256 rTeam = tTeam.mul(currentRate);
        uint256 rTransferAmount = rAmount.sub(rFee).sub(rTeam);
        return (rAmount, rTransferAmount, rFee);
    }

	function _getRate() private view returns(uint256) {
        (uint256 rSupply, uint256 tSupply) = _getCurrentSupply();
        return rSupply.div(tSupply);
    }

    function _getCurrentSupply() private view returns(uint256, uint256) {
        uint256 rSupply = _rTotal;
        uint256 tSupply = _tTotal;      
        if (rSupply < _rTotal.div(_tTotal)) return (_rTotal, _tTotal);
        return (rSupply, tSupply);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","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":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","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":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","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":[{"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"},{"stateMutability":"payable","type":"receive"}]

60806040526200001b683635c9adc5dea000006000196200022c565b620000299060001962000206565b600855600f805462ffffff60a81b19169055683635c9adc5dea000006010553480156200005557600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c805473459f4d27280402e71ee8da8ed535722960c9f3ff6001600160a01b03199182168117909255600d8054909116909117905560085460026000620000dc3390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016005600062000116620001f760201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c54821684528284208054861682179055600d54909116835291208054909216179055620001873390565b6001600160a01b031673459f4d27280402e71ee8da8ed535722960c9f3ff6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef683635c9adc5dea00000604051620001e991815260200190565b60405180910390a36200024f565b6000546001600160a01b031690565b6000828210156200022757634e487b7160e01b600052601160045260246000fd5b500390565b6000826200024a57634e487b7160e01b600052601260045260246000fd5b500690565b611a17806200025f6000396000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102c5578063b515566a146102e5578063c3c8cd8014610305578063c9567bf91461031a578063dd62ed3e1461032f57600080fd5b806370a082311461023c578063715018a61461025c5780638da5cb5b1461027157806395d89b411461029957600080fd5b8063273123b7116100d1578063273123b7146101c9578063313ce567146101eb5780635932ead1146102075780636fc3eaec1461022757600080fd5b806306fdde031461010e578063095ea7b31461015357806318160ddd1461018357806323b872dd146101a957600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600a81526913db9954195c98d95b9d60b21b60208201525b60405161014a91906117ce565b60405180910390f35b34801561015f57600080fd5b5061017361016e36600461166e565b610375565b604051901515815260200161014a565b34801561018f57600080fd5b50683635c9adc5dea000005b60405190815260200161014a565b3480156101b557600080fd5b506101736101c436600461162d565b61038c565b3480156101d557600080fd5b506101e96101e43660046115ba565b6103f5565b005b3480156101f757600080fd5b506040516009815260200161014a565b34801561021357600080fd5b506101e9610222366004611766565b610449565b34801561023357600080fd5b506101e9610491565b34801561024857600080fd5b5061019b6102573660046115ba565b6104be565b34801561026857600080fd5b506101e96104e0565b34801561027d57600080fd5b506000546040516001600160a01b03909116815260200161014a565b3480156102a557600080fd5b5060408051808201909152600381526231202560e81b602082015261013d565b3480156102d157600080fd5b506101736102e036600461166e565b610554565b3480156102f157600080fd5b506101e961030036600461169a565b610561565b34801561031157600080fd5b506101e96105f7565b34801561032657600080fd5b506101e961062d565b34801561033b57600080fd5b5061019b61034a3660046115f4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103823384846109f1565b5060015b92915050565b6000610399848484610b15565b6103eb84336103e6856040518060600160405280602881526020016119ba602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e77565b6109f1565b5060019392505050565b6000546001600160a01b031633146104285760405162461bcd60e51b815260040161041f90611823565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104735760405162461bcd60e51b815260040161041f90611823565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600c546001600160a01b0316336001600160a01b0316146104b157600080fd5b476104bb81610eb1565b50565b6001600160a01b03811660009081526002602052604081205461038690610f36565b6000546001600160a01b0316331461050a5760405162461bcd60e51b815260040161041f90611823565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610382338484610b15565b6000546001600160a01b0316331461058b5760405162461bcd60e51b815260040161041f90611823565b60005b81518110156105f3576001600660008484815181106105af576105af61196a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105eb81611939565b91505061058e565b5050565b600c546001600160a01b0316336001600160a01b03161461061757600080fd5b6000610622306104be565b90506104bb81610fba565b6000546001600160a01b031633146106575760405162461bcd60e51b815260040161041f90611823565b600f54600160a01b900460ff16156106b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161041f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ee3082683635c9adc5dea000006109f1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561072757600080fd5b505afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f91906115d7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a757600080fd5b505afa1580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df91906115d7565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082757600080fd5b505af115801561083b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085f91906115d7565b600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d719473061088f816104be565b6000806108a46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561090757600080fd5b505af115801561091b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094091906117a0565b5050600f80546801a055690d9db8000060105563ffff00ff60a01b198116630101000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f39190611783565b6001600160a01b038316610a535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161041f565b6001600160a01b038216610ab45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161041f565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b795760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041f565b6001600160a01b038216610bdb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041f565b60008111610c3d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161041f565b6000600a556001600b55610c596000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610c8857506000546001600160a01b03838116911614155b15610e67576001600160a01b03831660009081526006602052604090205460ff16158015610ccf57506001600160a01b03821660009081526006602052604090205460ff16155b610cd857600080fd5b600f546001600160a01b038481169116148015610d035750600e546001600160a01b03838116911614155b8015610d2857506001600160a01b03821660009081526005602052604090205460ff16155b8015610d3d5750600f54600160b81b900460ff165b15610d9a57601054811115610d5157600080fd5b6001600160a01b0382166000908152600760205260409020544211610d7557600080fd5b610d8042601e6118c9565b6001600160a01b0383166000908152600760205260409020555b600f546001600160a01b038381169116148015610dc55750600e546001600160a01b03848116911614155b8015610dea57506001600160a01b03831660009081526005602052604090205460ff16155b15610dfa576000600a556001600b555b6000610e05306104be565b600f54909150600160a81b900460ff16158015610e305750600f546001600160a01b03858116911614155b8015610e455750600f54600160b01b900460ff165b15610e6557610e5381610fba565b478015610e6357610e6347610eb1565b505b505b610e72838383611143565b505050565b60008184841115610e9b5760405162461bcd60e51b815260040161041f91906117ce565b506000610ea88486611922565b95945050505050565b600c546001600160a01b03166108fc610ecb83600261114e565b6040518115909202916000818181858888f19350505050158015610ef3573d6000803e3d6000fd5b50600d546001600160a01b03166108fc610f0e83600261114e565b6040518115909202916000818181858888f193505050501580156105f3573d6000803e3d6000fd5b6000600854821115610f9d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161041f565b6000610fa7611190565b9050610fb3838261114e565b9392505050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110025761100261196a565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108e91906115d7565b816001815181106110a1576110a161196a565b6001600160a01b039283166020918202929092010152600e546110c791309116846109f1565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611100908590600090869030904290600401611858565b600060405180830381600087803b15801561111a57600080fd5b505af115801561112e573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b610e728383836111b3565b6000610fb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112aa565b600080600061119d6112d8565b90925090506111ac828261114e565b9250505090565b6000806000806000806111c58761131a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111f79087611377565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461122690866113b9565b6001600160a01b03891660009081526002602052604090205561124881611418565b6112528483611462565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161129791815260200190565b60405180910390a3505050505050505050565b600081836112cb5760405162461bcd60e51b815260040161041f91906117ce565b506000610ea884866118e1565b6008546000908190683635c9adc5dea000006112f4828261114e565b82101561131157505060085492683635c9adc5dea0000092509050565b90939092509050565b60008060008060008060008060006113378a600a54600b54611486565b9250925092506000611347611190565b9050600080600061135a8e8787876114db565b919e509c509a509598509396509194505050505091939550919395565b6000610fb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6000806113c683856118c9565b905083811015610fb35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041f565b6000611422611190565b90506000611430838361152b565b3060009081526002602052604090205490915061144d90826113b9565b30600090815260026020526040902055505050565b60085461146f9083611377565b60085560095461147f90826113b9565b6009555050565b60008080806114a0606461149a898961152b565b9061114e565b905060006114b3606461149a8a8961152b565b905060006114cb826114c58b86611377565b90611377565b9992985090965090945050505050565b60008080806114ea888661152b565b905060006114f8888761152b565b90506000611506888861152b565b90506000611518826114c58686611377565b939b939a50919850919650505050505050565b60008261153a57506000610386565b60006115468385611903565b90508261155385836118e1565b14610fb35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161041f565b80356115b581611996565b919050565b6000602082840312156115cc57600080fd5b8135610fb381611996565b6000602082840312156115e957600080fd5b8151610fb381611996565b6000806040838503121561160757600080fd5b823561161281611996565b9150602083013561162281611996565b809150509250929050565b60008060006060848603121561164257600080fd5b833561164d81611996565b9250602084013561165d81611996565b929592945050506040919091013590565b6000806040838503121561168157600080fd5b823561168c81611996565b946020939093013593505050565b600060208083850312156116ad57600080fd5b823567ffffffffffffffff808211156116c557600080fd5b818501915085601f8301126116d957600080fd5b8135818111156116eb576116eb611980565b8060051b604051601f19603f8301168101818110858211171561171057611710611980565b604052828152858101935084860182860187018a101561172f57600080fd5b600095505b8386101561175957611745816115aa565b855260019590950194938601938601611734565b5098975050505050505050565b60006020828403121561177857600080fd5b8135610fb3816119ab565b60006020828403121561179557600080fd5b8151610fb3816119ab565b6000806000606084860312156117b557600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156117fb578581018301518582016040015282016117df565b8181111561180d576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118a85784516001600160a01b031683529383019391830191600101611883565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156118dc576118dc611954565b500190565b6000826118fe57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561191d5761191d611954565b500290565b60008282101561193457611934611954565b500390565b600060001982141561194d5761194d611954565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104bb57600080fd5b80151581146104bb57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d4551401e7fc9b96854d678c5abc95ac2f0cced48030e7b6c8b639a8367d4b0264736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102c5578063b515566a146102e5578063c3c8cd8014610305578063c9567bf91461031a578063dd62ed3e1461032f57600080fd5b806370a082311461023c578063715018a61461025c5780638da5cb5b1461027157806395d89b411461029957600080fd5b8063273123b7116100d1578063273123b7146101c9578063313ce567146101eb5780635932ead1146102075780636fc3eaec1461022757600080fd5b806306fdde031461010e578063095ea7b31461015357806318160ddd1461018357806323b872dd146101a957600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600a81526913db9954195c98d95b9d60b21b60208201525b60405161014a91906117ce565b60405180910390f35b34801561015f57600080fd5b5061017361016e36600461166e565b610375565b604051901515815260200161014a565b34801561018f57600080fd5b50683635c9adc5dea000005b60405190815260200161014a565b3480156101b557600080fd5b506101736101c436600461162d565b61038c565b3480156101d557600080fd5b506101e96101e43660046115ba565b6103f5565b005b3480156101f757600080fd5b506040516009815260200161014a565b34801561021357600080fd5b506101e9610222366004611766565b610449565b34801561023357600080fd5b506101e9610491565b34801561024857600080fd5b5061019b6102573660046115ba565b6104be565b34801561026857600080fd5b506101e96104e0565b34801561027d57600080fd5b506000546040516001600160a01b03909116815260200161014a565b3480156102a557600080fd5b5060408051808201909152600381526231202560e81b602082015261013d565b3480156102d157600080fd5b506101736102e036600461166e565b610554565b3480156102f157600080fd5b506101e961030036600461169a565b610561565b34801561031157600080fd5b506101e96105f7565b34801561032657600080fd5b506101e961062d565b34801561033b57600080fd5b5061019b61034a3660046115f4565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103823384846109f1565b5060015b92915050565b6000610399848484610b15565b6103eb84336103e6856040518060600160405280602881526020016119ba602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e77565b6109f1565b5060019392505050565b6000546001600160a01b031633146104285760405162461bcd60e51b815260040161041f90611823565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104735760405162461bcd60e51b815260040161041f90611823565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600c546001600160a01b0316336001600160a01b0316146104b157600080fd5b476104bb81610eb1565b50565b6001600160a01b03811660009081526002602052604081205461038690610f36565b6000546001600160a01b0316331461050a5760405162461bcd60e51b815260040161041f90611823565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610382338484610b15565b6000546001600160a01b0316331461058b5760405162461bcd60e51b815260040161041f90611823565b60005b81518110156105f3576001600660008484815181106105af576105af61196a565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105eb81611939565b91505061058e565b5050565b600c546001600160a01b0316336001600160a01b03161461061757600080fd5b6000610622306104be565b90506104bb81610fba565b6000546001600160a01b031633146106575760405162461bcd60e51b815260040161041f90611823565b600f54600160a01b900460ff16156106b15760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e000000000000000000604482015260640161041f565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106ee3082683635c9adc5dea000006109f1565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561072757600080fd5b505afa15801561073b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061075f91906115d7565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107a757600080fd5b505afa1580156107bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107df91906115d7565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082757600080fd5b505af115801561083b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085f91906115d7565b600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d719473061088f816104be565b6000806108a46000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561090757600080fd5b505af115801561091b573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061094091906117a0565b5050600f80546801a055690d9db8000060105563ffff00ff60a01b198116630101000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109b957600080fd5b505af11580156109cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f39190611783565b6001600160a01b038316610a535760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b606482015260840161041f565b6001600160a01b038216610ab45760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b606482015260840161041f565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b795760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b606482015260840161041f565b6001600160a01b038216610bdb5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b606482015260840161041f565b60008111610c3d5760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b606482015260840161041f565b6000600a556001600b55610c596000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610c8857506000546001600160a01b03838116911614155b15610e67576001600160a01b03831660009081526006602052604090205460ff16158015610ccf57506001600160a01b03821660009081526006602052604090205460ff16155b610cd857600080fd5b600f546001600160a01b038481169116148015610d035750600e546001600160a01b03838116911614155b8015610d2857506001600160a01b03821660009081526005602052604090205460ff16155b8015610d3d5750600f54600160b81b900460ff165b15610d9a57601054811115610d5157600080fd5b6001600160a01b0382166000908152600760205260409020544211610d7557600080fd5b610d8042601e6118c9565b6001600160a01b0383166000908152600760205260409020555b600f546001600160a01b038381169116148015610dc55750600e546001600160a01b03848116911614155b8015610dea57506001600160a01b03831660009081526005602052604090205460ff16155b15610dfa576000600a556001600b555b6000610e05306104be565b600f54909150600160a81b900460ff16158015610e305750600f546001600160a01b03858116911614155b8015610e455750600f54600160b01b900460ff165b15610e6557610e5381610fba565b478015610e6357610e6347610eb1565b505b505b610e72838383611143565b505050565b60008184841115610e9b5760405162461bcd60e51b815260040161041f91906117ce565b506000610ea88486611922565b95945050505050565b600c546001600160a01b03166108fc610ecb83600261114e565b6040518115909202916000818181858888f19350505050158015610ef3573d6000803e3d6000fd5b50600d546001600160a01b03166108fc610f0e83600261114e565b6040518115909202916000818181858888f193505050501580156105f3573d6000803e3d6000fd5b6000600854821115610f9d5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b606482015260840161041f565b6000610fa7611190565b9050610fb3838261114e565b9392505050565b600f805460ff60a81b1916600160a81b17905560408051600280825260608201835260009260208301908036833701905050905030816000815181106110025761100261196a565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561105657600080fd5b505afa15801561106a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108e91906115d7565b816001815181106110a1576110a161196a565b6001600160a01b039283166020918202929092010152600e546110c791309116846109f1565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611100908590600090869030904290600401611858565b600060405180830381600087803b15801561111a57600080fd5b505af115801561112e573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b610e728383836111b3565b6000610fb383836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506112aa565b600080600061119d6112d8565b90925090506111ac828261114e565b9250505090565b6000806000806000806111c58761131a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111f79087611377565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461122690866113b9565b6001600160a01b03891660009081526002602052604090205561124881611418565b6112528483611462565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161129791815260200190565b60405180910390a3505050505050505050565b600081836112cb5760405162461bcd60e51b815260040161041f91906117ce565b506000610ea884866118e1565b6008546000908190683635c9adc5dea000006112f4828261114e565b82101561131157505060085492683635c9adc5dea0000092509050565b90939092509050565b60008060008060008060008060006113378a600a54600b54611486565b9250925092506000611347611190565b9050600080600061135a8e8787876114db565b919e509c509a509598509396509194505050505091939550919395565b6000610fb383836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e77565b6000806113c683856118c9565b905083811015610fb35760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161041f565b6000611422611190565b90506000611430838361152b565b3060009081526002602052604090205490915061144d90826113b9565b30600090815260026020526040902055505050565b60085461146f9083611377565b60085560095461147f90826113b9565b6009555050565b60008080806114a0606461149a898961152b565b9061114e565b905060006114b3606461149a8a8961152b565b905060006114cb826114c58b86611377565b90611377565b9992985090965090945050505050565b60008080806114ea888661152b565b905060006114f8888761152b565b90506000611506888861152b565b90506000611518826114c58686611377565b939b939a50919850919650505050505050565b60008261153a57506000610386565b60006115468385611903565b90508261155385836118e1565b14610fb35760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161041f565b80356115b581611996565b919050565b6000602082840312156115cc57600080fd5b8135610fb381611996565b6000602082840312156115e957600080fd5b8151610fb381611996565b6000806040838503121561160757600080fd5b823561161281611996565b9150602083013561162281611996565b809150509250929050565b60008060006060848603121561164257600080fd5b833561164d81611996565b9250602084013561165d81611996565b929592945050506040919091013590565b6000806040838503121561168157600080fd5b823561168c81611996565b946020939093013593505050565b600060208083850312156116ad57600080fd5b823567ffffffffffffffff808211156116c557600080fd5b818501915085601f8301126116d957600080fd5b8135818111156116eb576116eb611980565b8060051b604051601f19603f8301168101818110858211171561171057611710611980565b604052828152858101935084860182860187018a101561172f57600080fd5b600095505b8386101561175957611745816115aa565b855260019590950194938601938601611734565b5098975050505050505050565b60006020828403121561177857600080fd5b8135610fb3816119ab565b60006020828403121561179557600080fd5b8151610fb3816119ab565b6000806000606084860312156117b557600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156117fb578581018301518582016040015282016117df565b8181111561180d576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118a85784516001600160a01b031683529383019391830191600101611883565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156118dc576118dc611954565b500190565b6000826118fe57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561191d5761191d611954565b500290565b60008282101561193457611934611954565b500390565b600060001982141561194d5761194d611954565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104bb57600080fd5b80151581146104bb57600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d4551401e7fc9b96854d678c5abc95ac2f0cced48030e7b6c8b639a8367d4b0264736f6c63430008070033

Deployed Bytecode Sourcemap

4043:10368:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5942:83;;;;;;;;;;-1:-1:-1;6012:5:0;;;;;;;;;;;;-1:-1:-1;;;6012:5:0;;;;5942:83;;;;;;;:::i;:::-;;;;;;;;6794:161;;;;;;;;;;-1:-1:-1;6794:161:0;;;;;:::i;:::-;;:::i;:::-;;;5352:14:1;;5345:22;5327:41;;5315:2;5300:18;6794:161:0;5187:187:1;6219:95:0;;;;;;;;;;-1:-1:-1;4546:21:0;6219:95;;;10037:25:1;;;10025:2;10010:18;6219:95:0;9891:177:1;6963:313:0;;;;;;;;;;-1:-1:-1;6963:313:0;;;;;:::i;:::-;;:::i;11138:88::-;;;;;;;;;;-1:-1:-1;11138:88:0;;;;;:::i;:::-;;:::i;:::-;;6128:83;;;;;;;;;;-1:-1:-1;6128:83:0;;4970:1;11200:36:1;;11188:2;11173:18;6128:83:0;11058:184:1;7284:103:0;;;;;;;;;;-1:-1:-1;7284:103:0;;;;;:::i;:::-;;:::i;12515:194::-;;;;;;;;;;;;;:::i;6322:138::-;;;;;;;;;;-1:-1:-1;6322:138:0;;;;;:::i;:::-;;:::i;3122:148::-;;;;;;;;;;;;;:::i;2908:79::-;;;;;;;;;;-1:-1:-1;2946:7:0;2973:6;2908:79;;-1:-1:-1;;;;;2973:6:0;;;3925:51:1;;3913:2;3898:18;2908:79:0;3779:203:1;6033:87:0;;;;;;;;;;-1:-1:-1;6105:7:0;;;;;;;;;;;;-1:-1:-1;;;6105:7:0;;;;6033:87;;6468:167;;;;;;;;;;-1:-1:-1;6468:167:0;;;;;:::i;:::-;;:::i;10962:164::-;;;;;;;;;;-1:-1:-1;10962:164:0;;;;;:::i;:::-;;:::i;12308:195::-;;;;;;;;;;;;;:::i;10134:816::-;;;;;;;;;;;;;:::i;6643:143::-;;;;;;;;;;-1:-1:-1;6643:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6751:18:0;;;6724:7;6751:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6643:143;6794:161;6869:4;6886:39;706:10;6909:7;6918:6;6886:8;:39::i;:::-;-1:-1:-1;6943:4:0;6794:161;;;;;:::o;6963:313::-;7061:4;7078:36;7088:6;7096:9;7107:6;7078:9;:36::i;:::-;7125:121;7134:6;706:10;7156:89;7194:6;7156:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7156:19:0;;;;;;:11;:19;;;;;;;;706:10;7156:33;;;;;;;;;;:37;:89::i;:::-;7125:8;:121::i;:::-;-1:-1:-1;7264:4:0;6963:313;;;;;:::o;11138:88::-;3035:6;;-1:-1:-1;;;;;3035:6:0;706:10;3035:22;3027:67;;;;-1:-1:-1;;;3027:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11198:12:0::1;11213:5;11198:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;11198:20:0::1;::::0;;11138:88::o;7284:103::-;3035:6;;-1:-1:-1;;;;;3035:6:0;706:10;3035:22;3027:67;;;;-1:-1:-1;;;3027:67:0;;;;;;;:::i;:::-;7356:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7356:23:0::1;-1:-1:-1::0;;;;7356:23:0;;::::1;::::0;;;::::1;::::0;;7284:103::o;12515:194::-;12581:15;;-1:-1:-1;;;;;12581:15:0;706:10;-1:-1:-1;;;;;12565:31:0;;12557:40;;;;;;12637:21;12669:32;12637:21;12669:12;:32::i;:::-;12546:163;12515:194::o;6322:138::-;-1:-1:-1;;;;;6435:16:0;;6388:7;6435:16;;;:7;:16;;;;;;6415:37;;:19;:37::i;3122:148::-;3035:6;;-1:-1:-1;;;;;3035:6:0;706:10;3035:22;3027:67;;;;-1:-1:-1;;;3027:67:0;;;;;;;:::i;:::-;3229:1:::1;3213:6:::0;;3192:40:::1;::::0;-1:-1:-1;;;;;3213:6:0;;::::1;::::0;3192:40:::1;::::0;3229:1;;3192:40:::1;3260:1;3243:19:::0;;-1:-1:-1;;;;;;3243:19:0::1;::::0;;3122:148::o;6468:167::-;6546:4;6563:42;706:10;6587:9;6598:6;6563:9;:42::i;10962:164::-;3035:6;;-1:-1:-1;;;;;3035:6:0;706:10;3035:22;3027:67;;;;-1:-1:-1;;;3027:67:0;;;;;;;:::i;:::-;11036:6:::1;11031:88;11052:5;:12;11048:1;:16;11031:88;;;11103:4;11086;:14;11091:5;11097:1;11091:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11086:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11086:14:0;:21;;-1:-1:-1;;11086:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11066:3;::::1;::::0;::::1;:::i;:::-;;;;11031:88;;;;10962:164:::0;:::o;12308:195::-;12374:15;;-1:-1:-1;;;;;12374:15:0;706:10;-1:-1:-1;;;;;12358:31:0;;12350:40;;;;;;12401:23;12427:24;12445:4;12427:9;:24::i;:::-;12401:50;;12462:33;12479:15;12462:16;:33::i;10134:816::-;3035:6;;-1:-1:-1;;;;;3035:6:0;706:10;3035:22;3027:67;;;;-1:-1:-1;;;3027:67:0;;;;;;;:::i;:::-;10198:11:::1;::::0;-1:-1:-1;;;10198:11:0;::::1;;;10197:12;10189:47;;;::::0;-1:-1:-1;;;10189:47:0;;9741:2:1;10189:47:0::1;::::0;::::1;9723:21:1::0;9780:2;9760:18;;;9753:30;9819:25;9799:18;;;9792:53;9862:18;;10189:47:0::1;9539:347:1::0;10189:47:0::1;10358:15;:34:::0;;-1:-1:-1;;;;;;10358:34:0::1;10304:42;10358:34:::0;;::::1;::::0;;;10403:58:::1;10420:4;10304:42:::0;4546:21:::1;10403:8;:58::i;:::-;10506:16;-1:-1:-1::0;;;;;10506:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10488:56:0::1;;10553:4;10560:16;-1:-1:-1::0;;;;;10560:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10488:96;::::0;-1:-1:-1;;;;;;10488:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4217:15:1;;;10488:96:0::1;::::0;::::1;4199:34:1::0;4269:15;;4249:18;;;4242:43;4134:18;;10488:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10472:13;:112:::0;;-1:-1:-1;;;;;;10472:112:0::1;-1:-1:-1::0;;;;;10472:112:0;;::::1;;::::0;;10595:15:::1;::::0;::::1;:31;10634:21;10665:4;10671:24;10665:4:::0;10671:9:::1;:24::i;:::-;10696:1;10698::::0;10700:7:::1;2946::::0;2973:6;-1:-1:-1;;;;;2973:6:0;;2908:79;10700:7:::1;10595:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10595:129:0;;;-1:-1:-1;;;;;4934:15:1;;;10595:129:0::1;::::0;::::1;4916:34:1::0;4966:18;;;4959:34;;;;5009:18;;;5002:34;;;;5052:18;;;5045:34;5116:15;;;5095:19;;;5088:44;10708:15:0::1;5148:19:1::0;;;5141:35;4850:19;;10595:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10735:11:0::1;:18:::0;;10812:19:::1;10797:12;:34:::0;-1:-1:-1;;;;10842:18:0;;-1:-1:-1;;;10842:18:0;;;;10909:15:::1;::::0;10871:71:::1;::::0;-1:-1:-1;;;10871:71:0;;-1:-1:-1;;;;;10909:15:0;;::::1;10871:71;::::0;::::1;4470:51:1::0;-1:-1:-1;;4537:18:1;;;4530:34;10878:13:0;;;-1:-1:-1;10871:29:0::1;::::0;4443:18:1;;10871:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;7657:335::-:0;-1:-1:-1;;;;;7750:19:0;;7742:68;;;;-1:-1:-1;;;7742:68:0;;9336:2:1;7742:68:0;;;9318:21:1;9375:2;9355:18;;;9348:30;9414:34;9394:18;;;9387:62;-1:-1:-1;;;9465:18:1;;;9458:34;9509:19;;7742:68:0;9134:400:1;7742:68:0;-1:-1:-1;;;;;7829:21:0;;7821:68;;;;-1:-1:-1;;;7821:68:0;;6998:2:1;7821:68:0;;;6980:21:1;7037:2;7017:18;;;7010:30;7076:34;7056:18;;;7049:62;-1:-1:-1;;;7127:18:1;;;7120:32;7169:19;;7821:68:0;6796:398:1;7821:68:0;-1:-1:-1;;;;;7900:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7952:32;;10037:25:1;;;7952:32:0;;10010:18:1;7952:32:0;;;;;;;7657:335;;;:::o;8000:1461::-;-1:-1:-1;;;;;8088:18:0;;8080:68;;;;-1:-1:-1;;;8080:68:0;;8930:2:1;8080:68:0;;;8912:21:1;8969:2;8949:18;;;8942:30;9008:34;8988:18;;;8981:62;-1:-1:-1;;;9059:18:1;;;9052:35;9104:19;;8080:68:0;8728:401:1;8080:68:0;-1:-1:-1;;;;;8167:16:0;;8159:64;;;;-1:-1:-1;;;8159:64:0;;6183:2:1;8159:64:0;;;6165:21:1;6222:2;6202:18;;;6195:30;6261:34;6241:18;;;6234:62;-1:-1:-1;;;6312:18:1;;;6305:33;6355:19;;8159:64:0;5981:399:1;8159:64:0;8251:1;8242:6;:10;8234:64;;;;-1:-1:-1;;;8234:64:0;;8520:2:1;8234:64:0;;;8502:21:1;8559:2;8539:18;;;8532:30;8598:34;8578:18;;;8571:62;-1:-1:-1;;;8649:18:1;;;8642:39;8698:19;;8234:64:0;8318:405:1;8234:64:0;8321:1;8309:9;:13;8345:1;8333:9;:13;8369:7;2946;2973:6;-1:-1:-1;;;;;2973:6:0;;2908:79;8369:7;-1:-1:-1;;;;;8361:15:0;:4;-1:-1:-1;;;;;8361:15:0;;;:32;;;;-1:-1:-1;2946:7:0;2973:6;-1:-1:-1;;;;;8380:13:0;;;2973:6;;8380:13;;8361:32;8357:1052;;;-1:-1:-1;;;;;8419:10:0;;;;;;:4;:10;;;;;;;;8418:11;:24;;;;-1:-1:-1;;;;;;8434:8:0;;;;;;:4;:8;;;;;;;;8433:9;8418:24;8410:33;;;;;;8470:13;;-1:-1:-1;;;;;8462:21:0;;;8470:13;;8462:21;:55;;;;-1:-1:-1;8501:15:0;;-1:-1:-1;;;;;8487:30:0;;;8501:15;;8487:30;;8462:55;:83;;;;-1:-1:-1;;;;;;8523:22:0;;;;;;:18;:22;;;;;;;;8521:24;8462:83;:102;;;;-1:-1:-1;8549:15:0;;-1:-1:-1;;;8549:15:0;;;;8462:102;8458:325;;;8632:12;;8622:6;:22;;8614:31;;;;;;-1:-1:-1;;;;;8672:12:0;;;;;;:8;:12;;;;;;8687:15;-1:-1:-1;8664:39:0;;;;;;8737:30;:15;8756:10;8737:30;:::i;:::-;-1:-1:-1;;;;;8722:12:0;;;;;;:8;:12;;;;;:45;8458:325;8835:13;;-1:-1:-1;;;;;8829:19:0;;;8835:13;;8829:19;:55;;;;-1:-1:-1;8868:15:0;;-1:-1:-1;;;;;8852:32:0;;;8868:15;;8852:32;;8829:55;:85;;;;-1:-1:-1;;;;;;8890:24:0;;;;;;:18;:24;;;;;;;;8888:26;8829:85;8825:171;;;8947:1;8935:9;:13;8979:1;8967:9;:13;8825:171;9010:28;9041:24;9059:4;9041:9;:24::i;:::-;9085:6;;9010:55;;-1:-1:-1;;;;9085:6:0;;;;9084:7;:32;;;;-1:-1:-1;9103:13:0;;-1:-1:-1;;;;;9095:21:0;;;9103:13;;9095:21;;9084:32;:47;;;;-1:-1:-1;9120:11:0;;-1:-1:-1;;;9120:11:0;;;;9084:47;9080:318;;;9152:38;9169:20;9152:16;:38::i;:::-;9238:21;9281:22;;9278:105;;9328:35;9341:21;9328:12;:35::i;:::-;9133:265;9080:318;8395:1014;8357:1052;9423:30;9438:4;9443:2;9446:6;9423:14;:30::i;:::-;8000:1461;;;:::o;1763:190::-;1849:7;1885:12;1877:6;;;;1869:29;;;;-1:-1:-1;;;1869:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1909:9:0;1921:5;1925:1;1921;:5;:::i;:::-;1909:17;1763:190;-1:-1:-1;;;;;1763:190:0:o;9968:154::-;10025:15;;-1:-1:-1;;;;;10025:15:0;:39;10050:13;:6;10061:1;10050:10;:13::i;:::-;10025:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10075:15:0;;-1:-1:-1;;;;;10075:15:0;:39;10100:13;:6;10111:1;10100:10;:13::i;:::-;10075:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7395:254;7462:7;7501;;7490;:18;;7482:73;;;;-1:-1:-1;;;7482:73:0;;6587:2:1;7482:73:0;;;6569:21:1;6626:2;6606:18;;;6599:30;6665:34;6645:18;;;6638:62;-1:-1:-1;;;6716:18:1;;;6709:40;6766:19;;7482:73:0;6385:406:1;7482:73:0;7566:19;7589:10;:8;:10::i;:::-;7566:33;-1:-1:-1;7617:24:0;:7;7566:33;7617:11;:24::i;:::-;7610:31;7395:254;-1:-1:-1;;;7395:254:0:o;9469:483::-;5343:6;:13;;-1:-1:-1;;;;5343:13:0;-1:-1:-1;;;5343:13:0;;;9571:16:::1;::::0;;9585:1:::1;9571:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9571:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9571:16:0::1;9547:40;;9616:4;9598;9603:1;9598:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9598:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9642:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9642:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9598:7;;9642:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9632:4;9637:1;9632:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9632:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9707:15:::1;::::0;9675:62:::1;::::0;9692:4:::1;::::0;9707:15:::1;9725:11:::0;9675:8:::1;:62::i;:::-;9748:15;::::0;:196:::1;::::0;-1:-1:-1;;;9748:196:0;;-1:-1:-1;;;;;9748:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9829:11;;9748:15:::1;::::0;9871:4;;9898::::1;::::0;9918:15:::1;::::0;9748:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5379:6:0;:14;;-1:-1:-1;;;;5379:14:0;;;-1:-1:-1;;;;9469:483:0:o;11242:146::-;11336:44;11354:6;11362:9;11373:6;11336:17;:44::i;2215:132::-;2273:7;2300:39;2304:1;2307;2300:39;;;;;;;;;;;;;;;;;:3;:39::i;13975:163::-;14016:7;14037:15;14054;14073:19;:17;:19::i;:::-;14036:56;;-1:-1:-1;14036:56:0;-1:-1:-1;14110:20:0;14036:56;;14110:11;:20::i;:::-;14103:27;;;;13975:163;:::o;11396:488::-;11495:15;11512:23;11537:12;11551:23;11576:12;11590:13;11607:19;11618:7;11607:10;:19::i;:::-;-1:-1:-1;;;;;11655:15:0;;;;;;:7;:15;;;;;;11494:132;;-1:-1:-1;11494:132:0;;-1:-1:-1;11494:132:0;;-1:-1:-1;11494:132:0;-1:-1:-1;11494:132:0;-1:-1:-1;11494:132:0;-1:-1:-1;11655:28:0;;11494:132;11655:19;:28::i;:::-;-1:-1:-1;;;;;11637:15:0;;;;;;;:7;:15;;;;;;:46;;;;11715:18;;;;;;;:39;;11738:15;11715:22;:39::i;:::-;-1:-1:-1;;;;;11694:18:0;;;;;;:7;:18;;;;;:60;11766:16;11776:5;11766:9;:16::i;:::-;11793:23;11805:4;11811;11793:11;:23::i;:::-;11849:9;-1:-1:-1;;;;;11832:44:0;11841:6;-1:-1:-1;;;;;11832:44:0;;11860:15;11832:44;;;;10037:25:1;;10025:2;10010:18;;9891:177;11832:44:0;;;;;;;;11483:401;;;;;;11396:488;;;:::o;2355:189::-;2441:7;2476:12;2469:5;2461:28;;;;-1:-1:-1;;;2461:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2500:9:0;2512:5;2516:1;2512;:5;:::i;14146:262::-;14243:7;;14196;;;;4546:21;14317:20;14243:7;4546:21;14317:11;:20::i;:::-;14307:7;:30;14303:61;;;-1:-1:-1;;14347:7:0;;;4546:21;;-1:-1:-1;14146:262:0;-1:-1:-1;14146:262:0:o;14303:61::-;14383:7;;14392;;-1:-1:-1;14146:262:0;-1:-1:-1;14146:262:0:o;12723:471::-;12782:7;12791;12800;12809;12818;12827;12848:23;12873:12;12887:13;12904:42;12916:7;12925:9;;12936;;12904:11;:42::i;:::-;12847:99;;;;;;12957:19;12980:10;:8;:10::i;:::-;12957:33;;13002:15;13019:23;13044:12;13060:46;13072:7;13081:4;13087:5;13094:11;13060;:46::i;:::-;13001:105;;-1:-1:-1;13001:105:0;-1:-1:-1;13001:105:0;-1:-1:-1;13157:15:0;;-1:-1:-1;13174:4:0;;-1:-1:-1;13180:5:0;;-1:-1:-1;;;;;12723:471:0;;;;;;;:::o;1619:136::-;1677:7;1704:43;1708:1;1711;1704:43;;;;;;;;;;;;;;;;;:3;:43::i;1432:179::-;1490:7;;1522:5;1526:1;1522;:5;:::i;:::-;1510:17;;1551:1;1546;:6;;1538:46;;;;-1:-1:-1;;;1538:46:0;;7401:2:1;1538:46:0;;;7383:21:1;7440:2;7420:18;;;7413:30;7479:29;7459:18;;;7452:57;7526:18;;1538:46:0;7199:351:1;11892:212:0;11945:19;11968:10;:8;:10::i;:::-;11945:33;-1:-1:-1;11989:13:0;12005:22;:5;11945:33;12005:9;:22::i;:::-;12079:4;12063:22;;;;:7;:22;;;;;;11989:38;;-1:-1:-1;12063:33:0;;11989:38;12063:26;:33::i;:::-;12054:4;12038:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11892:212:0:o;12112:147::-;12190:7;;:17;;12202:4;12190:11;:17::i;:::-;12180:7;:27;12231:10;;:20;;12246:4;12231:14;:20::i;:::-;12218:10;:33;-1:-1:-1;;12112:147:0:o;13202:351::-;13295:7;;;;13348:28;13372:3;13348:19;:7;13360:6;13348:11;:19::i;:::-;:23;;:28::i;:::-;13333:43;-1:-1:-1;13387:13:0;13403:29;13428:3;13403:20;:7;13415;13403:11;:20::i;:29::-;13387:45;-1:-1:-1;13443:23:0;13469:28;13387:45;13469:17;:7;13481:4;13469:11;:17::i;:::-;:21;;:28::i;:::-;13443:54;13533:4;;-1:-1:-1;13539:5:0;;-1:-1:-1;13202:351:0;;-1:-1:-1;;;;;13202:351:0:o;13561:409::-;13671:7;;;;13727:24;:7;13739:11;13727;:24::i;:::-;13709:42;-1:-1:-1;13762:12:0;13777:21;:4;13786:11;13777:8;:21::i;:::-;13762:36;-1:-1:-1;13809:13:0;13825:22;:5;13835:11;13825:9;:22::i;:::-;13809:38;-1:-1:-1;13858:23:0;13884:28;13809:38;13884:17;:7;13896:4;13884:11;:17::i;:28::-;13931:7;;;;-1:-1:-1;13957:4:0;;-1:-1:-1;13561:409:0;;-1:-1:-1;;;;;;;13561:409:0:o;1961:246::-;2019:7;2043:6;2039:47;;-1:-1:-1;2073:1:0;2066:8;;2039:47;2096:9;2108:5;2112:1;2108;:5;:::i;:::-;2096:17;-1:-1:-1;2141:1:0;2132:5;2136:1;2096:17;2132:5;:::i;:::-;:10;2124:56;;;;-1:-1:-1;;;2124:56:0;;7757:2:1;2124:56:0;;;7739:21:1;7796:2;7776:18;;;7769:30;7835:34;7815:18;;;7808:62;-1:-1:-1;;;7886:18:1;;;7879:31;7927:19;;2124:56:0;7555:397:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:241::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3155:28;3177:5;3155:28;:::i;3218:245::-;3285:6;3338:2;3326:9;3317:7;3313:23;3309:32;3306:52;;;3354:1;3351;3344:12;3306:52;3386:9;3380:16;3405:28;3427:5;3405:28;:::i;3468:306::-;3556:6;3564;3572;3625:2;3613:9;3604:7;3600:23;3596:32;3593:52;;;3641:1;3638;3631:12;3593:52;3670:9;3664:16;3654:26;;3720:2;3709:9;3705:18;3699:25;3689:35;;3764:2;3753:9;3749:18;3743:25;3733:35;;3468:306;;;;;:::o;5379:597::-;5491:4;5520:2;5549;5538:9;5531:21;5581:6;5575:13;5624:6;5619:2;5608:9;5604:18;5597:34;5649:1;5659:140;5673:6;5670:1;5667:13;5659:140;;;5768:14;;;5764:23;;5758:30;5734:17;;;5753:2;5730:26;5723:66;5688:10;;5659:140;;;5817:6;5814:1;5811:13;5808:91;;;5887:1;5882:2;5873:6;5862:9;5858:22;5854:31;5847:42;5808:91;-1:-1:-1;5960:2:1;5939:15;-1:-1:-1;;5935:29:1;5920:45;;;;5967:2;5916:54;;5379:597;-1:-1:-1;;;5379:597:1:o;7957:356::-;8159:2;8141:21;;;8178:18;;;8171:30;8237:34;8232:2;8217:18;;8210:62;8304:2;8289:18;;7957:356::o;10073:980::-;10335:4;10383:3;10372:9;10368:19;10414:6;10403:9;10396:25;10440:2;10478:6;10473:2;10462:9;10458:18;10451:34;10521:3;10516:2;10505:9;10501:18;10494:31;10545:6;10580;10574:13;10611:6;10603;10596:22;10649:3;10638:9;10634:19;10627:26;;10688:2;10680:6;10676:15;10662:29;;10709:1;10719:195;10733:6;10730:1;10727:13;10719:195;;;10798:13;;-1:-1:-1;;;;;10794:39:1;10782:52;;10889:15;;;;10854:12;;;;10830:1;10748:9;10719:195;;;-1:-1:-1;;;;;;;10970:32:1;;;;10965:2;10950:18;;10943:60;-1:-1:-1;;;11034:3:1;11019:19;11012:35;10931:3;10073:980;-1:-1:-1;;;10073:980:1:o;11247:128::-;11287:3;11318:1;11314:6;11311:1;11308:13;11305:39;;;11324:18;;:::i;:::-;-1:-1:-1;11360:9:1;;11247:128::o;11380:217::-;11420:1;11446;11436:132;;11490:10;11485:3;11481:20;11478:1;11471:31;11525:4;11522:1;11515:15;11553:4;11550:1;11543:15;11436:132;-1:-1:-1;11582:9:1;;11380:217::o;11602:168::-;11642:7;11708:1;11704;11700:6;11696:14;11693:1;11690:21;11685:1;11678:9;11671:17;11667:45;11664:71;;;11715:18;;:::i;:::-;-1:-1:-1;11755:9:1;;11602:168::o;11775:125::-;11815:4;11843:1;11840;11837:8;11834:34;;;11848:18;;:::i;:::-;-1:-1:-1;11885:9:1;;11775:125::o;11905:135::-;11944:3;-1:-1:-1;;11965:17:1;;11962:43;;;11985:18;;:::i;:::-;-1:-1:-1;12032:1:1;12021:13;;11905:135::o;12045:127::-;12106:10;12101:3;12097:20;12094:1;12087:31;12137:4;12134:1;12127:15;12161:4;12158:1;12151:15;12177:127;12238:10;12233:3;12229:20;12226:1;12219:31;12269:4;12266:1;12259:15;12293:4;12290:1;12283:15;12309:127;12370:10;12365:3;12361:20;12358:1;12351:31;12401:4;12398:1;12391:15;12425:4;12422:1;12415:15;12441:131;-1:-1:-1;;;;;12516:31:1;;12506:42;;12496:70;;12562:1;12559;12552:12;12577:118;12663:5;12656:13;12649:21;12642:5;12639:32;12629:60;;12685:1;12682;12675:12

Swarm Source

ipfs://d4551401e7fc9b96854d678c5abc95ac2f0cced48030e7b6c8b639a8367d4b02

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.