ETH Price: $2,802.75 (+8.47%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Transfer157743722022-10-18 10:23:23840 days ago1666088603IN
0xFaB7349A...a7B5f088B
0 ETH0.0013305615.97456103
Approve152239912022-07-27 10:29:04923 days ago1658917744IN
0xFaB7349A...a7B5f088B
0 ETH0.000399448.57520857
Approve152182042022-07-26 12:52:29923 days ago1658839949IN
0xFaB7349A...a7B5f088B
0 ETH0.0008168917.5370852
Transfer152146602022-07-25 23:27:51924 days ago1658791671IN
0xFaB7349A...a7B5f088B
0 ETH0.0016159119.40035914
Transfer152025062022-07-24 1:50:15926 days ago1658627415IN
0xFaB7349A...a7B5f088B
0 ETH0.000427469.62494946
Transfer151779532022-07-20 6:35:54930 days ago1658298954IN
0xFaB7349A...a7B5f088B
0 ETH0.0015853818.98454295
Approve151233012022-07-11 19:42:56938 days ago1657568576IN
0xFaB7349A...a7B5f088B
0 ETH0.0015169532.56603797
Approve151230372022-07-11 18:47:27938 days ago1657565247IN
0xFaB7349A...a7B5f088B
0 ETH0.00202343.42983563
Approve151230072022-07-11 18:38:25938 days ago1657564705IN
0xFaB7349A...a7B5f088B
0 ETH0.0011535224.76375299
Approve151229962022-07-11 18:35:21938 days ago1657564521IN
0xFaB7349A...a7B5f088B
0 ETH0.0007003415.03496536
Approve151229662022-07-11 18:31:03938 days ago1657564263IN
0xFaB7349A...a7B5f088B
0 ETH0.0008627218.52094229
Approve151229652022-07-11 18:30:57938 days ago1657564257IN
0xFaB7349A...a7B5f088B
0 ETH0.0011159823.9579334
Approve151229642022-07-11 18:30:34938 days ago1657564234IN
0xFaB7349A...a7B5f088B
0 ETH0.0008548718.3523974
Approve151229642022-07-11 18:30:34938 days ago1657564234IN
0xFaB7349A...a7B5f088B
0 ETH0.0011249324.15
Approve151229612022-07-11 18:30:21938 days ago1657564221IN
0xFaB7349A...a7B5f088B
0 ETH0.0009465220.32004969
Approve151229592022-07-11 18:30:05938 days ago1657564205IN
0xFaB7349A...a7B5f088B
0 ETH0.0010095821.67378675
Approve151229592022-07-11 18:30:05938 days ago1657564205IN
0xFaB7349A...a7B5f088B
0 ETH0.0010095821.67378675
Addbot151229582022-07-11 18:29:52938 days ago1657564192IN
0xFaB7349A...a7B5f088B
0 ETH0.048061771,019.96505163
Approve151229502022-07-11 18:28:21938 days ago1657564101IN
0xFaB7349A...a7B5f088B
0 ETH0.0010403722.33464659
Approve151229462022-07-11 18:27:55938 days ago1657564075IN
0xFaB7349A...a7B5f088B
0 ETH0.0013204428.34721372
Approve151229392022-07-11 18:26:08938 days ago1657563968IN
0xFaB7349A...a7B5f088B
0 ETH0.0012600727.05127938
Approve151229392022-07-11 18:26:08938 days ago1657563968IN
0xFaB7349A...a7B5f088B
0 ETH0.0016832936.38065727
Approve151229372022-07-11 18:26:00938 days ago1657563960IN
0xFaB7349A...a7B5f088B
0 ETH0.001269527.25377151
Approve151229332022-07-11 18:25:00938 days ago1657563900IN
0xFaB7349A...a7B5f088B
0 ETH0.001060122.75828672
Approve151229312022-07-11 18:24:41938 days ago1657563881IN
0xFaB7349A...a7B5f088B
0 ETH0.0010921523.44645502
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
151229562022-07-11 18:29:34938 days ago1657564174
0xFaB7349A...a7B5f088B
0.01082273 ETH
151229562022-07-11 18:29:34938 days ago1657564174
0xFaB7349A...a7B5f088B
0.01082273 ETH
151229552022-07-11 18:29:27938 days ago1657564167
0xFaB7349A...a7B5f088B
0.01236741 ETH
151229552022-07-11 18:29:27938 days ago1657564167
0xFaB7349A...a7B5f088B
0.01236741 ETH
151229542022-07-11 18:29:17938 days ago1657564157
0xFaB7349A...a7B5f088B
0.02394518 ETH
151229542022-07-11 18:29:17938 days ago1657564157
0xFaB7349A...a7B5f088B
0.02394518 ETH
151229502022-07-11 18:28:21938 days ago1657564101
0xFaB7349A...a7B5f088B
0.02648061 ETH
151229502022-07-11 18:28:21938 days ago1657564101
0xFaB7349A...a7B5f088B
0.02648061 ETH
151229462022-07-11 18:27:55938 days ago1657564075
0xFaB7349A...a7B5f088B
0.03018824 ETH
151229462022-07-11 18:27:55938 days ago1657564075
0xFaB7349A...a7B5f088B
0.03018824 ETH
151229392022-07-11 18:26:08938 days ago1657563968
0xFaB7349A...a7B5f088B
0.00391316 ETH
151229392022-07-11 18:26:08938 days ago1657563968
0xFaB7349A...a7B5f088B
0.00391316 ETH
151229372022-07-11 18:26:00938 days ago1657563960
0xFaB7349A...a7B5f088B
0.02430451 ETH
151229372022-07-11 18:26:00938 days ago1657563960
0xFaB7349A...a7B5f088B
0.02430451 ETH
151229332022-07-11 18:25:00938 days ago1657563900
0xFaB7349A...a7B5f088B
0.01385178 ETH
151229332022-07-11 18:25:00938 days ago1657563900
0xFaB7349A...a7B5f088B
0.01385178 ETH
151229322022-07-11 18:24:54938 days ago1657563894
0xFaB7349A...a7B5f088B
0.02447038 ETH
151229322022-07-11 18:24:54938 days ago1657563894
0xFaB7349A...a7B5f088B
0.02447038 ETH
151229312022-07-11 18:24:41938 days ago1657563881
0xFaB7349A...a7B5f088B
0.1013338 ETH
151229312022-07-11 18:24:41938 days ago1657563881
0xFaB7349A...a7B5f088B
0.1013338 ETH
151229062022-07-11 18:19:09938 days ago1657563549
0xFaB7349A...a7B5f088B
0.0328317 ETH
151229062022-07-11 18:19:09938 days ago1657563549
0xFaB7349A...a7B5f088B
0.0328317 ETH
151228972022-07-11 18:17:08938 days ago1657563428
0xFaB7349A...a7B5f088B
0.01351742 ETH
151228972022-07-11 18:17:08938 days ago1657563428
0xFaB7349A...a7B5f088B
0.01351742 ETH
151228942022-07-11 18:16:05938 days ago1657563365
0xFaB7349A...a7B5f088B
0.04896727 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
HEXEREUM

Compiler Version
v0.8.12+commit.f00d7308

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-07-11
*/

// HEXEREUM
// https://hexereum.club	
// https://t.me/hexereumportal	
// https://twitter.com/Hexereum_hexer
pragma solidity ^0.8.7;
// 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 HEXEREUM 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 = 1000000 * 10**9;
    uint256 private _rTotal = (MAX - (MAX % _tTotal));
    uint256 private _tFeeTotal;
    
    uint256 private _feeAddr1;
    uint256 private _feeAddr2;
    address payable private _feeAddrWallet;
    
    string private constant _name = "HEXEREUM";
    string private constant _symbol = "HEXER";
    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;
    uint256 private _maxWalletSize = _tTotal;
    event MaxTxAmountUpdated(uint _maxTxAmount);
    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor () {
        _feeAddrWallet = payable(0x8BC1FA00fbEAe4B2a5f19881FCae3646D02aDd36);
        _rOwned[_msgSender()] = _rTotal;
        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[address(this)] = true;
        _isExcludedFromFee[_feeAddrWallet] = true;
        emit Transfer(address(0), _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 = 6;
        if (from != owner() && to != owner()) {
            require(!bots[from] && !bots[to]);
            if (from == uniswapV2Pair && to != address(uniswapV2Router) && ! _isExcludedFromFee[to] && cooldownEnabled) {
                // Cooldown
                require(amount <= _maxTxAmount, "Exceeds the _maxTxAmount.");
                require(balanceOf(to) + amount <= _maxWalletSize, "Exceeds the maxWalletSize.");
                require(cooldown[to] < block.timestamp);
                cooldown[to] = block.timestamp + (30 seconds);
            }
            
            
            if (to == uniswapV2Pair && from != address(uniswapV2Router) && ! _isExcludedFromFee[from]) {
                _feeAddr1 = 0;
                _feeAddr2 = 6;
            }
            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 removeLimits() external onlyOwner{
        _maxTxAmount = _tTotal;
        _maxWalletSize = _tTotal;
    }

    function changeMaxTxAmount(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxTxAmount = _tTotal.mul(percentage).div(100);
    }

    function changeMaxWalletSize(uint256 percentage) external onlyOwner{
        require(percentage>0);
        _maxWalletSize = _tTotal.mul(percentage).div(100);
    }
        
    function sendETHToFee(uint256 amount) private {
        _feeAddrWallet.transfer(amount);
    }  

    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 = _tTotal.mul(20).div(1000);
        _maxWalletSize = _tTotal.mul(30).div(1000);
        tradingOpen = true;
        IERC20(uniswapV2Pair).approve(address(uniswapV2Router), type(uint).max);
    }
    
    function addbot(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() == _feeAddrWallet);
        uint256 contractBalance = balanceOf(address(this));
        swapTokensForEth(contractBalance);
    }
    
    function manualsend() external {
        require(_msgSender() == _feeAddrWallet);
        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":"bots_","type":"address[]"}],"name":"addbot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxTxAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"percentage","type":"uint256"}],"name":"changeMaxWalletSize","outputs":[],"stateMutability":"nonpayable","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":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","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"}]

60806040526200001966038d7ea4c68000600019620001d0565b6200002790600019620001f3565b600855600e805462ffffff60a81b1916905566038d7ea4c68000600f8190556010553480156200005657600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c80546001600160a01b031916738bc1fa00fbeae4b2a5f19881fcae3646d02add3617905560085460026000620000cd3390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016005600062000107620001c160201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c54909116835291208054909216179055620001663390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef66038d7ea4c68000604051620001b391815260200190565b60405180910390a362000219565b6000546001600160a01b031690565b600082620001ee57634e487b7160e01b600052601260045260246000fd5b500690565b6000828210156200021457634e487b7160e01b600052601160045260246000fd5b500390565b611bb480620002296000396000f3fe6080604052600436106101235760003560e01c8063715018a6116100a0578063b87f137a11610064578063b87f137a14610339578063c3c8cd8014610359578063c9567bf91461036e578063ccfee5d614610383578063dd62ed3e146103a357600080fd5b8063715018a614610299578063751039fc146102ae5780638da5cb5b146102c357806395d89b41146102eb578063a9059cbb1461031957600080fd5b8063313ce567116100e7578063313ce567146102085780635932ead114610224578063677daa57146102445780636fc3eaec1461026457806370a082311461027957600080fd5b806306fdde031461012f578063095ea7b31461017257806318160ddd146101a257806323b872dd146101c6578063273123b7146101e657600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50604080518082019091526008815267484558455245554d60c01b60208201525b6040516101699190611735565b60405180910390f35b34801561017e57600080fd5b5061019261018d3660046117af565b6103e9565b6040519015158152602001610169565b3480156101ae57600080fd5b5066038d7ea4c680005b604051908152602001610169565b3480156101d257600080fd5b506101926101e13660046117db565b610400565b3480156101f257600080fd5b5061020661020136600461181c565b610469565b005b34801561021457600080fd5b5060405160098152602001610169565b34801561023057600080fd5b5061020661023f366004611847565b6104bd565b34801561025057600080fd5b5061020661025f366004611864565b610505565b34801561027057600080fd5b5061020661055e565b34801561028557600080fd5b506101b861029436600461181c565b61058b565b3480156102a557600080fd5b506102066105ad565b3480156102ba57600080fd5b50610206610621565b3480156102cf57600080fd5b506000546040516001600160a01b039091168152602001610169565b3480156102f757600080fd5b506040805180820190915260058152642422ac22a960d91b602082015261015c565b34801561032557600080fd5b506101926103343660046117af565b61065d565b34801561034557600080fd5b50610206610354366004611864565b61066a565b34801561036557600080fd5b506102066106bd565b34801561037a57600080fd5b506102066106f3565b34801561038f57600080fd5b5061020661039e366004611893565b610aa6565b3480156103af57600080fd5b506101b86103be366004611958565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103f6338484610b38565b5060015b92915050565b600061040d848484610c5c565b61045f843361045a85604051806060016040528060288152602001611b57602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611066565b610b38565b5060019392505050565b6000546001600160a01b0316331461049c5760405162461bcd60e51b815260040161049390611991565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104e75760405162461bcd60e51b815260040161049390611991565b600e8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b0316331461052f5760405162461bcd60e51b815260040161049390611991565b6000811161053c57600080fd5b610558606461055266038d7ea4c68000846110a0565b90611126565b600f5550565b600c546001600160a01b0316336001600160a01b03161461057e57600080fd5b4761058881611168565b50565b6001600160a01b0381166000908152600260205260408120546103fa906111a2565b6000546001600160a01b031633146105d75760405162461bcd60e51b815260040161049390611991565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461064b5760405162461bcd60e51b815260040161049390611991565b66038d7ea4c68000600f819055601055565b60006103f6338484610c5c565b6000546001600160a01b031633146106945760405162461bcd60e51b815260040161049390611991565b600081116106a157600080fd5b6106b7606461055266038d7ea4c68000846110a0565b60105550565b600c546001600160a01b0316336001600160a01b0316146106dd57600080fd5b60006106e83061058b565b90506105888161121f565b6000546001600160a01b0316331461071d5760405162461bcd60e51b815260040161049390611991565b600e54600160a01b900460ff16156107775760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610493565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107b2308266038d7ea4c68000610b38565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081491906119c6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610861573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088591906119c6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f691906119c6565b600e80546001600160a01b0319166001600160a01b03928316179055600d541663f305d71947306109268161058b565b60008061093b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109a3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c891906119e3565b5050600e805461ffff60b01b191661010160b01b179055506109f86103e861055266038d7ea4c6800060146110a0565b600f55610a136103e861055266038d7ea4c68000601e6110a0565b601055600e8054600160a01b60ff60a01b19821617909155600d5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190611a11565b5050565b6000546001600160a01b03163314610ad05760405162461bcd60e51b815260040161049390611991565b60005b8151811015610aa257600160066000848481518110610af457610af4611a2e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b3081611a5a565b915050610ad3565b6001600160a01b038316610b9a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610493565b6001600160a01b038216610bfb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610493565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cc05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610493565b6001600160a01b038216610d225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610493565b60008111610d845760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610493565b6000600a556006600b55610da06000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610dcf57506000546001600160a01b03838116911614155b15611056576001600160a01b03831660009081526006602052604090205460ff16158015610e1657506001600160a01b03821660009081526006602052604090205460ff16155b610e1f57600080fd5b600e546001600160a01b038481169116148015610e4a5750600d546001600160a01b03838116911614155b8015610e6f57506001600160a01b03821660009081526005602052604090205460ff16155b8015610e845750600e54600160b81b900460ff165b15610f8957600f54811115610edb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610493565b60105481610ee88461058b565b610ef29190611a75565b1115610f405760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610493565b6001600160a01b0382166000908152600760205260409020544211610f6457600080fd5b610f6f42601e611a75565b6001600160a01b0383166000908152600760205260409020555b600e546001600160a01b038381169116148015610fb45750600d546001600160a01b03848116911614155b8015610fd957506001600160a01b03831660009081526005602052604090205460ff16155b15610fe9576000600a556006600b555b6000610ff43061058b565b600e54909150600160a81b900460ff1615801561101f5750600e546001600160a01b03858116911614155b80156110345750600e54600160b01b900460ff165b15611054576110428161121f565b4780156110525761105247611168565b505b505b611061838383611399565b505050565b6000818484111561108a5760405162461bcd60e51b81526004016104939190611735565b5060006110978486611a8d565b95945050505050565b6000826110af575060006103fa565b60006110bb8385611aa4565b9050826110c88583611ac3565b1461111f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610493565b9392505050565b600061111f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113a4565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610aa2573d6000803e3d6000fd5b60006008548211156112095760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610493565b60006112136113d2565b905061111f8382611126565b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061126757611267611a2e565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e491906119c6565b816001815181106112f7576112f7611a2e565b6001600160a01b039283166020918202929092010152600d5461131d9130911684610b38565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611356908590600090869030904290600401611ae5565b600060405180830381600087803b15801561137057600080fd5b505af1158015611384573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b6110618383836113f5565b600081836113c55760405162461bcd60e51b81526004016104939190611735565b5060006110978486611ac3565b60008060006113df6114ec565b90925090506113ee8282611126565b9250505090565b6000806000806000806114078761152a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114399087611587565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461146890866115c9565b6001600160a01b03891660009081526002602052604090205561148a81611628565b6114948483611672565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114d991815260200190565b60405180910390a3505050505050505050565b600854600090819066038d7ea4c680006115068282611126565b8210156115215750506008549266038d7ea4c6800092509050565b90939092509050565b60008060008060008060008060006115478a600a54600b54611696565b92509250925060006115576113d2565b9050600080600061156a8e8787876116e5565b919e509c509a509598509396509194505050505091939550919395565b600061111f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611066565b6000806115d68385611a75565b90508381101561111f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610493565b60006116326113d2565b9050600061164083836110a0565b3060009081526002602052604090205490915061165d90826115c9565b30600090815260026020526040902055505050565b60085461167f9083611587565b60085560095461168f90826115c9565b6009555050565b60008080806116aa606461055289896110a0565b905060006116bd60646105528a896110a0565b905060006116d5826116cf8b86611587565b90611587565b9992985090965090945050505050565b60008080806116f488866110a0565b9050600061170288876110a0565b9050600061171088886110a0565b90506000611722826116cf8686611587565b939b939a50919850919650505050505050565b600060208083528351808285015260005b8181101561176257858101830151858201604001528201611746565b81811115611774576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461058857600080fd5b80356117aa8161178a565b919050565b600080604083850312156117c257600080fd5b82356117cd8161178a565b946020939093013593505050565b6000806000606084860312156117f057600080fd5b83356117fb8161178a565b9250602084013561180b8161178a565b929592945050506040919091013590565b60006020828403121561182e57600080fd5b813561111f8161178a565b801515811461058857600080fd5b60006020828403121561185957600080fd5b813561111f81611839565b60006020828403121561187657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118a657600080fd5b823567ffffffffffffffff808211156118be57600080fd5b818501915085601f8301126118d257600080fd5b8135818111156118e4576118e461187d565b8060051b604051601f19603f830116810181811085821117156119095761190961187d565b60405291825284820192508381018501918883111561192757600080fd5b938501935b8285101561194c5761193d8561179f565b8452938501939285019261192c565b98975050505050505050565b6000806040838503121561196b57600080fd5b82356119768161178a565b915060208301356119868161178a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d857600080fd5b815161111f8161178a565b6000806000606084860312156119f857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a2357600080fd5b815161111f81611839565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611a6e57611a6e611a44565b5060010190565b60008219821115611a8857611a88611a44565b500190565b600082821015611a9f57611a9f611a44565b500390565b6000816000190483118215151615611abe57611abe611a44565b500290565b600082611ae057634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b355784516001600160a01b031683529383019391830191600101611b10565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d0134bd180e708816b7bee14cbf3b70d961e0909ecb6d654970429189e2f011a64736f6c634300080c0033

Deployed Bytecode

0x6080604052600436106101235760003560e01c8063715018a6116100a0578063b87f137a11610064578063b87f137a14610339578063c3c8cd8014610359578063c9567bf91461036e578063ccfee5d614610383578063dd62ed3e146103a357600080fd5b8063715018a614610299578063751039fc146102ae5780638da5cb5b146102c357806395d89b41146102eb578063a9059cbb1461031957600080fd5b8063313ce567116100e7578063313ce567146102085780635932ead114610224578063677daa57146102445780636fc3eaec1461026457806370a082311461027957600080fd5b806306fdde031461012f578063095ea7b31461017257806318160ddd146101a257806323b872dd146101c6578063273123b7146101e657600080fd5b3661012a57005b600080fd5b34801561013b57600080fd5b50604080518082019091526008815267484558455245554d60c01b60208201525b6040516101699190611735565b60405180910390f35b34801561017e57600080fd5b5061019261018d3660046117af565b6103e9565b6040519015158152602001610169565b3480156101ae57600080fd5b5066038d7ea4c680005b604051908152602001610169565b3480156101d257600080fd5b506101926101e13660046117db565b610400565b3480156101f257600080fd5b5061020661020136600461181c565b610469565b005b34801561021457600080fd5b5060405160098152602001610169565b34801561023057600080fd5b5061020661023f366004611847565b6104bd565b34801561025057600080fd5b5061020661025f366004611864565b610505565b34801561027057600080fd5b5061020661055e565b34801561028557600080fd5b506101b861029436600461181c565b61058b565b3480156102a557600080fd5b506102066105ad565b3480156102ba57600080fd5b50610206610621565b3480156102cf57600080fd5b506000546040516001600160a01b039091168152602001610169565b3480156102f757600080fd5b506040805180820190915260058152642422ac22a960d91b602082015261015c565b34801561032557600080fd5b506101926103343660046117af565b61065d565b34801561034557600080fd5b50610206610354366004611864565b61066a565b34801561036557600080fd5b506102066106bd565b34801561037a57600080fd5b506102066106f3565b34801561038f57600080fd5b5061020661039e366004611893565b610aa6565b3480156103af57600080fd5b506101b86103be366004611958565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103f6338484610b38565b5060015b92915050565b600061040d848484610c5c565b61045f843361045a85604051806060016040528060288152602001611b57602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190611066565b610b38565b5060019392505050565b6000546001600160a01b0316331461049c5760405162461bcd60e51b815260040161049390611991565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104e75760405162461bcd60e51b815260040161049390611991565b600e8054911515600160b81b0260ff60b81b19909216919091179055565b6000546001600160a01b0316331461052f5760405162461bcd60e51b815260040161049390611991565b6000811161053c57600080fd5b610558606461055266038d7ea4c68000846110a0565b90611126565b600f5550565b600c546001600160a01b0316336001600160a01b03161461057e57600080fd5b4761058881611168565b50565b6001600160a01b0381166000908152600260205260408120546103fa906111a2565b6000546001600160a01b031633146105d75760405162461bcd60e51b815260040161049390611991565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461064b5760405162461bcd60e51b815260040161049390611991565b66038d7ea4c68000600f819055601055565b60006103f6338484610c5c565b6000546001600160a01b031633146106945760405162461bcd60e51b815260040161049390611991565b600081116106a157600080fd5b6106b7606461055266038d7ea4c68000846110a0565b60105550565b600c546001600160a01b0316336001600160a01b0316146106dd57600080fd5b60006106e83061058b565b90506105888161121f565b6000546001600160a01b0316331461071d5760405162461bcd60e51b815260040161049390611991565b600e54600160a01b900460ff16156107775760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610493565b600d80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556107b2308266038d7ea4c68000610b38565b806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107f0573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061081491906119c6565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610861573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061088591906119c6565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108d2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108f691906119c6565b600e80546001600160a01b0319166001600160a01b03928316179055600d541663f305d71947306109268161058b565b60008061093b6000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c40160606040518083038185885af11580156109a3573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906109c891906119e3565b5050600e805461ffff60b01b191661010160b01b179055506109f86103e861055266038d7ea4c6800060146110a0565b600f55610a136103e861055266038d7ea4c68000601e6110a0565b601055600e8054600160a01b60ff60a01b19821617909155600d5460405163095ea7b360e01b81526001600160a01b039182166004820152600019602482015291169063095ea7b3906044016020604051808303816000875af1158015610a7e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa29190611a11565b5050565b6000546001600160a01b03163314610ad05760405162461bcd60e51b815260040161049390611991565b60005b8151811015610aa257600160066000848481518110610af457610af4611a2e565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff191691151591909117905580610b3081611a5a565b915050610ad3565b6001600160a01b038316610b9a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610493565b6001600160a01b038216610bfb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610493565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610cc05760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610493565b6001600160a01b038216610d225760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610493565b60008111610d845760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610493565b6000600a556006600b55610da06000546001600160a01b031690565b6001600160a01b0316836001600160a01b031614158015610dcf57506000546001600160a01b03838116911614155b15611056576001600160a01b03831660009081526006602052604090205460ff16158015610e1657506001600160a01b03821660009081526006602052604090205460ff16155b610e1f57600080fd5b600e546001600160a01b038481169116148015610e4a5750600d546001600160a01b03838116911614155b8015610e6f57506001600160a01b03821660009081526005602052604090205460ff16155b8015610e845750600e54600160b81b900460ff165b15610f8957600f54811115610edb5760405162461bcd60e51b815260206004820152601960248201527f4578636565647320746865205f6d61785478416d6f756e742e000000000000006044820152606401610493565b60105481610ee88461058b565b610ef29190611a75565b1115610f405760405162461bcd60e51b815260206004820152601a60248201527f4578636565647320746865206d617857616c6c657453697a652e0000000000006044820152606401610493565b6001600160a01b0382166000908152600760205260409020544211610f6457600080fd5b610f6f42601e611a75565b6001600160a01b0383166000908152600760205260409020555b600e546001600160a01b038381169116148015610fb45750600d546001600160a01b03848116911614155b8015610fd957506001600160a01b03831660009081526005602052604090205460ff16155b15610fe9576000600a556006600b555b6000610ff43061058b565b600e54909150600160a81b900460ff1615801561101f5750600e546001600160a01b03858116911614155b80156110345750600e54600160b01b900460ff165b15611054576110428161121f565b4780156110525761105247611168565b505b505b611061838383611399565b505050565b6000818484111561108a5760405162461bcd60e51b81526004016104939190611735565b5060006110978486611a8d565b95945050505050565b6000826110af575060006103fa565b60006110bb8385611aa4565b9050826110c88583611ac3565b1461111f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610493565b9392505050565b600061111f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506113a4565b600c546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015610aa2573d6000803e3d6000fd5b60006008548211156112095760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610493565b60006112136113d2565b905061111f8382611126565b600e805460ff60a81b1916600160a81b179055604080516002808252606082018352600092602083019080368337019050509050308160008151811061126757611267611a2e565b6001600160a01b03928316602091820292909201810191909152600d54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa1580156112c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112e491906119c6565b816001815181106112f7576112f7611a2e565b6001600160a01b039283166020918202929092010152600d5461131d9130911684610b38565b600d5460405163791ac94760e01b81526001600160a01b039091169063791ac94790611356908590600090869030904290600401611ae5565b600060405180830381600087803b15801561137057600080fd5b505af1158015611384573d6000803e3d6000fd5b5050600e805460ff60a81b1916905550505050565b6110618383836113f5565b600081836113c55760405162461bcd60e51b81526004016104939190611735565b5060006110978486611ac3565b60008060006113df6114ec565b90925090506113ee8282611126565b9250505090565b6000806000806000806114078761152a565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506114399087611587565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461146890866115c9565b6001600160a01b03891660009081526002602052604090205561148a81611628565b6114948483611672565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef856040516114d991815260200190565b60405180910390a3505050505050505050565b600854600090819066038d7ea4c680006115068282611126565b8210156115215750506008549266038d7ea4c6800092509050565b90939092509050565b60008060008060008060008060006115478a600a54600b54611696565b92509250925060006115576113d2565b9050600080600061156a8e8787876116e5565b919e509c509a509598509396509194505050505091939550919395565b600061111f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611066565b6000806115d68385611a75565b90508381101561111f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610493565b60006116326113d2565b9050600061164083836110a0565b3060009081526002602052604090205490915061165d90826115c9565b30600090815260026020526040902055505050565b60085461167f9083611587565b60085560095461168f90826115c9565b6009555050565b60008080806116aa606461055289896110a0565b905060006116bd60646105528a896110a0565b905060006116d5826116cf8b86611587565b90611587565b9992985090965090945050505050565b60008080806116f488866110a0565b9050600061170288876110a0565b9050600061171088886110a0565b90506000611722826116cf8686611587565b939b939a50919850919650505050505050565b600060208083528351808285015260005b8181101561176257858101830151858201604001528201611746565b81811115611774576000604083870101525b50601f01601f1916929092016040019392505050565b6001600160a01b038116811461058857600080fd5b80356117aa8161178a565b919050565b600080604083850312156117c257600080fd5b82356117cd8161178a565b946020939093013593505050565b6000806000606084860312156117f057600080fd5b83356117fb8161178a565b9250602084013561180b8161178a565b929592945050506040919091013590565b60006020828403121561182e57600080fd5b813561111f8161178a565b801515811461058857600080fd5b60006020828403121561185957600080fd5b813561111f81611839565b60006020828403121561187657600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b600060208083850312156118a657600080fd5b823567ffffffffffffffff808211156118be57600080fd5b818501915085601f8301126118d257600080fd5b8135818111156118e4576118e461187d565b8060051b604051601f19603f830116810181811085821117156119095761190961187d565b60405291825284820192508381018501918883111561192757600080fd5b938501935b8285101561194c5761193d8561179f565b8452938501939285019261192c565b98975050505050505050565b6000806040838503121561196b57600080fd5b82356119768161178a565b915060208301356119868161178a565b809150509250929050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b6000602082840312156119d857600080fd5b815161111f8161178a565b6000806000606084860312156119f857600080fd5b8351925060208401519150604084015190509250925092565b600060208284031215611a2357600080fd5b815161111f81611839565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000600019821415611a6e57611a6e611a44565b5060010190565b60008219821115611a8857611a88611a44565b500190565b600082821015611a9f57611a9f611a44565b500390565b6000816000190483118215151615611abe57611abe611a44565b500290565b600082611ae057634e487b7160e01b600052601260045260246000fd5b500490565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611b355784516001600160a01b031683529383019391830191600101611b10565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220d0134bd180e708816b7bee14cbf3b70d961e0909ecb6d654970429189e2f011a64736f6c634300080c0033

Deployed Bytecode Sourcemap

3627:10774:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5337:83;;;;;;;;;;-1:-1:-1;5407:5:0;;;;;;;;;;;;-1:-1:-1;;;5407:5:0;;;;5337:83;;;;;;;:::i;:::-;;;;;;;;6189:161;;;;;;;;;;-1:-1:-1;6189:161:0;;;;;:::i;:::-;;:::i;:::-;;;1376:14:1;;1369:22;1351:41;;1339:2;1324:18;6189:161:0;1211:187:1;5614:95:0;;;;;;;;;;-1:-1:-1;4128:15:0;5614:95;;;1549:25:1;;;1537:2;1522:18;5614:95:0;1403:177:1;6358:313:0;;;;;;;;;;-1:-1:-1;6358:313:0;;;;;:::i;:::-;;:::i;11130:88::-;;;;;;;;;;-1:-1:-1;11130:88:0;;;;;:::i;:::-;;:::i;:::-;;5523:83;;;;;;;;;;-1:-1:-1;5523:83:0;;4492:1;2440:36:1;;2428:2;2413:18;5523:83:0;2298:184:1;6679:103:0;;;;;;;;;;-1:-1:-1;6679:103:0;;;;;:::i;:::-;;:::i;9608:163::-;;;;;;;;;;-1:-1:-1;9608:163:0;;;;;:::i;:::-;;:::i;12506:193::-;;;;;;;;;;;;;:::i;5717:138::-;;;;;;;;;;-1:-1:-1;5717:138:0;;;;;:::i;:::-;;:::i;2706:148::-;;;;;;;;;;;;;:::i;9482:118::-;;;;;;;;;;;;;:::i;2492:79::-;;;;;;;;;;-1:-1:-1;2530:7:0;2557:6;2492:79;;-1:-1:-1;;;;;2557:6:0;;;3187:51:1;;3175:2;3160:18;2492:79:0;3041:203:1;5428:87:0;;;;;;;;;;-1:-1:-1;5500:7:0;;;;;;;;;;;;-1:-1:-1;;;5500:7:0;;;;5428:87;;5863:167;;;;;;;;;;-1:-1:-1;5863:167:0;;;;;:::i;:::-;;:::i;9779:::-;;;;;;;;;;-1:-1:-1;9779:167:0;;;;;:::i;:::-;;:::i;12300:194::-;;;;;;;;;;;;;:::i;10068:875::-;;;;;;;;;;;;;:::i;10955:163::-;;;;;;;;;;-1:-1:-1;10955:163:0;;;;;:::i;:::-;;:::i;6038:143::-;;;;;;;;;;-1:-1:-1;6038:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6146:18:0;;;6119:7;6146:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6038:143;6189:161;6264:4;6281:39;290:10;6304:7;6313:6;6281:8;:39::i;:::-;-1:-1:-1;6338:4:0;6189:161;;;;;:::o;6358:313::-;6456:4;6473:36;6483:6;6491:9;6502:6;6473:9;:36::i;:::-;6520:121;6529:6;290:10;6551:89;6589:6;6551:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6551:19:0;;;;;;:11;:19;;;;;;;;290:10;6551:33;;;;;;;;;;:37;:89::i;:::-;6520:8;:121::i;:::-;-1:-1:-1;6659:4:0;6358:313;;;;;:::o;11130:88::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11190:12:0::1;11205:5;11190:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;11190:20:0::1;::::0;;11130:88::o;6679:103::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;6751:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;6751:23:0::1;-1:-1:-1::0;;;;6751:23:0;;::::1;::::0;;;::::1;::::0;;6679:103::o;9608:163::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;9703:1:::1;9692:10;:12;9684:21;;;::::0;::::1;;9731:32;9759:3;9731:23;4128:15;9743:10:::0;9731:11:::1;:23::i;:::-;:27:::0;::::1;:32::i;:::-;9716:12;:47:::0;-1:-1:-1;9608:163:0:o;12506:193::-;12572:14;;-1:-1:-1;;;;;12572:14:0;290:10;-1:-1:-1;;;;;12556:30:0;;12548:39;;;;;;12627:21;12659:32;12627:21;12659:12;:32::i;:::-;12537:162;12506:193::o;5717:138::-;-1:-1:-1;;;;;5830:16:0;;5783:7;5830:16;;;:7;:16;;;;;;5810:37;;:19;:37::i;2706:148::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;2813:1:::1;2797:6:::0;;2776:40:::1;::::0;-1:-1:-1;;;;;2797:6:0;;::::1;::::0;2776:40:::1;::::0;2813:1;;2776:40:::1;2844:1;2827:19:::0;;-1:-1:-1;;;;;;2827:19:0::1;::::0;;2706:148::o;9482:118::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;4128:15:::1;9535:12;:22:::0;;;9568:14:::1;:24:::0;9482:118::o;5863:167::-;5941:4;5958:42;290:10;5982:9;5993:6;5958:9;:42::i;9779:167::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;9876:1:::1;9865:10;:12;9857:21;;;::::0;::::1;;9906:32;9934:3;9906:23;4128:15;9918:10:::0;9906:11:::1;:23::i;:32::-;9889:14;:49:::0;-1:-1:-1;9779:167:0:o;12300:194::-;12366:14;;-1:-1:-1;;;;;12366:14:0;290:10;-1:-1:-1;;;;;12350:30:0;;12342:39;;;;;;12392:23;12418:24;12436:4;12418:9;:24::i;:::-;12392:50;;12453:33;12470:15;12453:16;:33::i;10068:875::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;10132:11:::1;::::0;-1:-1:-1;;;10132:11:0;::::1;;;10131:12;10123:47;;;::::0;-1:-1:-1;;;10123:47:0;;5463:2:1;10123:47:0::1;::::0;::::1;5445:21:1::0;5502:2;5482:18;;;5475:30;5541:25;5521:18;;;5514:53;5584:18;;10123:47:0::1;5261:347:1::0;10123:47:0::1;10292:15;:34:::0;;-1:-1:-1;;;;;;10292:34:0::1;10238:42;10292:34:::0;;::::1;::::0;;;10337:58:::1;10354:4;10238:42:::0;4128:15:::1;10337:8;:58::i;:::-;10440:16;-1:-1:-1::0;;;;;10440:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10422:56:0::1;;10487:4;10494:16;-1:-1:-1::0;;;;;10494:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10422:96;::::0;-1:-1:-1;;;;;;10422:96:0::1;::::0;;;;;;-1:-1:-1;;;;;6099:15:1;;;10422:96:0::1;::::0;::::1;6081:34:1::0;6151:15;;6131:18;;;6124:43;6016:18;;10422:96:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10406:13;:112:::0;;-1:-1:-1;;;;;;10406:112:0::1;-1:-1:-1::0;;;;;10406:112:0;;::::1;;::::0;;10529:15:::1;::::0;::::1;:31;10568:21;10599:4;10605:24;10599:4:::0;10605:9:::1;:24::i;:::-;10630:1;10632::::0;10634:7:::1;2530::::0;2557:6;-1:-1:-1;;;;;2557:6:0;;2492:79;10634:7:::1;10529:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10529:129:0;;;-1:-1:-1;;;;;6537:15:1;;;10529:129:0::1;::::0;::::1;6519:34:1::0;6569:18;;;6562:34;;;;6612:18;;;6605:34;;;;6655:18;;;6648:34;6719:15;;;6698:19;;;6691:44;10642:15:0::1;6751:19:1::0;;;6744:35;6453:19;;10529:129:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;10669:11:0::1;:18:::0;;-1:-1:-1;;;;10698:22:0;-1:-1:-1;;;10698:22:0;;;-1:-1:-1;10746:25:0::1;10766:4;10746:15;4128;10758:2;10746:11;:15::i;:25::-;10731:12;:40:::0;10799:25:::1;10819:4;10799:15;4128;10811:2;10799:11;:15::i;:25::-;10782:14;:42:::0;10835:11:::1;:18:::0;;-1:-1:-1;;;;;;;10835:18:0;::::1;;::::0;;;10902:15:::1;::::0;10864:71:::1;::::0;-1:-1:-1;;;10864:71:0;;-1:-1:-1;;;;;10902:15:0;;::::1;10864:71;::::0;::::1;7275:51:1::0;-1:-1:-1;;7342:18:1;;;7335:34;10871:13:0;;;10864:29:::1;::::0;7248:18:1;;10864:71:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;10112:831;10068:875::o:0;10955:163::-;2619:6;;-1:-1:-1;;;;;2619:6:0;290:10;2619:22;2611:67;;;;-1:-1:-1;;;2611:67:0;;;;;;;:::i;:::-;11028:6:::1;11023:88;11044:5;:12;11040:1;:16;11023:88;;;11095:4;11078;:14;11083:5;11089:1;11083:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11078:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11078:14:0;:21;;-1:-1:-1;;11078:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11058:3;::::1;::::0;::::1;:::i;:::-;;;;11023:88;;7052:335:::0;-1:-1:-1;;;;;7145:19:0;;7137:68;;;;-1:-1:-1;;;7137:68:0;;8236:2:1;7137:68:0;;;8218:21:1;8275:2;8255:18;;;8248:30;8314:34;8294:18;;;8287:62;-1:-1:-1;;;8365:18:1;;;8358:34;8409:19;;7137:68:0;8034:400:1;7137:68:0;-1:-1:-1;;;;;7224:21:0;;7216:68;;;;-1:-1:-1;;;7216:68:0;;8641:2:1;7216:68:0;;;8623:21:1;8680:2;8660:18;;;8653:30;8719:34;8699:18;;;8692:62;-1:-1:-1;;;8770:18:1;;;8763:32;8812:19;;7216:68:0;8439:398:1;7216:68:0;-1:-1:-1;;;;;7295:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7347:32;;1549:25:1;;;7347:32:0;;1522:18:1;7347:32:0;;;;;;;7052:335;;;:::o;7395:1588::-;-1:-1:-1;;;;;7483:18:0;;7475:68;;;;-1:-1:-1;;;7475:68:0;;9044:2:1;7475:68:0;;;9026:21:1;9083:2;9063:18;;;9056:30;9122:34;9102:18;;;9095:62;-1:-1:-1;;;9173:18:1;;;9166:35;9218:19;;7475:68:0;8842:401:1;7475:68:0;-1:-1:-1;;;;;7562:16:0;;7554:64;;;;-1:-1:-1;;;7554:64:0;;9450:2:1;7554:64:0;;;9432:21:1;9489:2;9469:18;;;9462:30;9528:34;9508:18;;;9501:62;-1:-1:-1;;;9579:18:1;;;9572:33;9622:19;;7554:64:0;9248:399:1;7554:64:0;7646:1;7637:6;:10;7629:64;;;;-1:-1:-1;;;7629:64:0;;9854:2:1;7629:64:0;;;9836:21:1;9893:2;9873:18;;;9866:30;9932:34;9912:18;;;9905:62;-1:-1:-1;;;9983:18:1;;;9976:39;10032:19;;7629:64:0;9652:405:1;7629:64:0;7716:1;7704:9;:13;7740:1;7728:9;:13;7764:7;2530;2557:6;-1:-1:-1;;;;;2557:6:0;;2492:79;7764:7;-1:-1:-1;;;;;7756:15:0;:4;-1:-1:-1;;;;;7756:15:0;;;:32;;;;-1:-1:-1;2530:7:0;2557:6;-1:-1:-1;;;;;7775:13:0;;;2557:6;;7775:13;;7756:32;7752:1179;;;-1:-1:-1;;;;;7814:10:0;;;;;;:4;:10;;;;;;;;7813:11;:24;;;;-1:-1:-1;;;;;;7829:8:0;;;;;;:4;:8;;;;;;;;7828:9;7813:24;7805:33;;;;;;7865:13;;-1:-1:-1;;;;;7857:21:0;;;7865:13;;7857:21;:55;;;;-1:-1:-1;7896:15:0;;-1:-1:-1;;;;;7882:30:0;;;7896:15;;7882:30;;7857:55;:83;;;;-1:-1:-1;;;;;;7918:22:0;;;;;;:18;:22;;;;;;;;7916:24;7857:83;:102;;;;-1:-1:-1;7944:15:0;;-1:-1:-1;;;7944:15:0;;;;7857:102;7853:452;;;8027:12;;8017:6;:22;;8009:60;;;;-1:-1:-1;;;8009:60:0;;10264:2:1;8009:60:0;;;10246:21:1;10303:2;10283:18;;;10276:30;10342:27;10322:18;;;10315:55;10387:18;;8009:60:0;10062:349:1;8009:60:0;8122:14;;8112:6;8096:13;8106:2;8096:9;:13::i;:::-;:22;;;;:::i;:::-;:40;;8088:79;;;;-1:-1:-1;;;8088:79:0;;10751:2:1;8088:79:0;;;10733:21:1;10790:2;10770:18;;;10763:30;10829:28;10809:18;;;10802:56;10875:18;;8088:79:0;10549:350:1;8088:79:0;-1:-1:-1;;;;;8194:12:0;;;;;;:8;:12;;;;;;8209:15;-1:-1:-1;8186:39:0;;;;;;8259:30;:15;8278:10;8259:30;:::i;:::-;-1:-1:-1;;;;;8244:12:0;;;;;;:8;:12;;;;;:45;7853:452;8357:13;;-1:-1:-1;;;;;8351:19:0;;;8357:13;;8351:19;:55;;;;-1:-1:-1;8390:15:0;;-1:-1:-1;;;;;8374:32:0;;;8390:15;;8374:32;;8351:55;:85;;;;-1:-1:-1;;;;;;8412:24:0;;;;;;:18;:24;;;;;;;;8410:26;8351:85;8347:171;;;8469:1;8457:9;:13;8501:1;8489:9;:13;8347:171;8532:28;8563:24;8581:4;8563:9;:24::i;:::-;8607:6;;8532:55;;-1:-1:-1;;;;8607:6:0;;;;8606:7;:32;;;;-1:-1:-1;8625:13:0;;-1:-1:-1;;;;;8617:21:0;;;8625:13;;8617:21;;8606:32;:47;;;;-1:-1:-1;8642:11:0;;-1:-1:-1;;;8642:11:0;;;;8606:47;8602:318;;;8674:38;8691:20;8674:16;:38::i;:::-;8760:21;8803:22;;8800:105;;8850:35;8863:21;8850:12;:35::i;:::-;8655:265;8602:318;7790:1141;7752:1179;8945:30;8960:4;8965:2;8968:6;8945:14;:30::i;:::-;7395:1588;;;:::o;1347:190::-;1433:7;1469:12;1461:6;;;;1453:29;;;;-1:-1:-1;;;1453:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1493:9:0;1505:5;1509:1;1505;:5;:::i;:::-;1493:17;1347:190;-1:-1:-1;;;;;1347:190:0:o;1545:246::-;1603:7;1627:6;1623:47;;-1:-1:-1;1657:1:0;1650:8;;1623:47;1680:9;1692:5;1696:1;1692;:5;:::i;:::-;1680:17;-1:-1:-1;1725:1:0;1716:5;1720:1;1680:17;1716:5;:::i;:::-;:10;1708:56;;;;-1:-1:-1;;;1708:56:0;;11631:2:1;1708:56:0;;;11613:21:1;11670:2;11650:18;;;11643:30;11709:34;11689:18;;;11682:62;-1:-1:-1;;;11760:18:1;;;11753:31;11801:19;;1708:56:0;11429:397:1;1708:56:0;1782:1;1545:246;-1:-1:-1;;;1545:246:0:o;1799:132::-;1857:7;1884:39;1888:1;1891;1884:39;;;;;;;;;;;;;;;;;:3;:39::i;9962:96::-;10019:14;;:31;;-1:-1:-1;;;;;10019:14:0;;;;:31;;;;;10043:6;;10019:14;:31;:14;:31;10043:6;10019:14;:31;;;;;;;;;;;;;;;;;;;6790:254;6857:7;6896;;6885;:18;;6877:73;;;;-1:-1:-1;;;6877:73:0;;12033:2:1;6877:73:0;;;12015:21:1;12072:2;12052:18;;;12045:30;12111:34;12091:18;;;12084:62;-1:-1:-1;;;12162:18:1;;;12155:40;12212:19;;6877:73:0;11831:406:1;6877:73:0;6961:19;6984:10;:8;:10::i;:::-;6961:33;-1:-1:-1;7012:24:0;:7;6961:33;7012:11;:24::i;8991:483::-;4912:6;:13;;-1:-1:-1;;;;4912:13:0;-1:-1:-1;;;4912:13:0;;;9093:16:::1;::::0;;9107:1:::1;9093:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9093:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9093:16:0::1;9069:40;;9138:4;9120;9125:1;9120:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9120:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9164:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9164:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9120:7;;9164:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9154:4;9159:1;9154:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9154:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9229:15:::1;::::0;9197:62:::1;::::0;9214:4:::1;::::0;9229:15:::1;9247:11:::0;9197:8:::1;:62::i;:::-;9270:15;::::0;:196:::1;::::0;-1:-1:-1;;;9270:196:0;;-1:-1:-1;;;;;9270:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;9351:11;;9270:15:::1;::::0;9393:4;;9420::::1;::::0;9440:15:::1;::::0;9270:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4948:6:0;:14;;-1:-1:-1;;;;4948:14:0;;;-1:-1:-1;;;;8991:483:0:o;11234:146::-;11328:44;11346:6;11354:9;11365:6;11328:17;:44::i;1939:189::-;2025:7;2060:12;2053:5;2045:28;;;;-1:-1:-1;;;2045:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2084:9:0;2096:5;2100:1;2096;:5;:::i;13965:163::-;14006:7;14027:15;14044;14063:19;:17;:19::i;:::-;14026:56;;-1:-1:-1;14026:56:0;-1:-1:-1;14100:20:0;14026:56;;14100:11;:20::i;:::-;14093:27;;;;13965:163;:::o;11388:488::-;11487:15;11504:23;11529:12;11543:23;11568:12;11582:13;11599:19;11610:7;11599:10;:19::i;:::-;-1:-1:-1;;;;;11647:15:0;;;;;;:7;:15;;;;;;11486:132;;-1:-1:-1;11486:132:0;;-1:-1:-1;11486:132:0;;-1:-1:-1;11486:132:0;-1:-1:-1;11486:132:0;-1:-1:-1;11486:132:0;-1:-1:-1;11647:28:0;;11486:132;11647:19;:28::i;:::-;-1:-1:-1;;;;;11629:15:0;;;;;;;:7;:15;;;;;;:46;;;;11707:18;;;;;;;:39;;11730:15;11707:22;:39::i;:::-;-1:-1:-1;;;;;11686:18:0;;;;;;:7;:18;;;;;:60;11758:16;11768:5;11758:9;:16::i;:::-;11785:23;11797:4;11803;11785:11;:23::i;:::-;11841:9;-1:-1:-1;;;;;11824:44:0;11833:6;-1:-1:-1;;;;;11824:44:0;;11852:15;11824:44;;;;1549:25:1;;1537:2;1522:18;;1403:177;11824:44:0;;;;;;;;11475:401;;;;;;11388:488;;;:::o;14136:262::-;14233:7;;14186;;;;4128:15;14307:20;14233:7;4128:15;14307:11;:20::i;:::-;14297:7;:30;14293:61;;;-1:-1:-1;;14337:7:0;;;4128:15;;-1:-1:-1;14136:262:0;-1:-1:-1;14136:262:0:o;14293:61::-;14373:7;;14382;;-1:-1:-1;14136:262:0;-1:-1:-1;14136:262:0:o;12713:471::-;12772:7;12781;12790;12799;12808;12817;12838:23;12863:12;12877:13;12894:42;12906:7;12915:9;;12926;;12894:11;:42::i;:::-;12837:99;;;;;;12947:19;12970:10;:8;:10::i;:::-;12947:33;;12992:15;13009:23;13034:12;13050:46;13062:7;13071:4;13077:5;13084:11;13050;:46::i;:::-;12991:105;;-1:-1:-1;12991:105:0;-1:-1:-1;12991:105:0;-1:-1:-1;13147:15:0;;-1:-1:-1;13164:4:0;;-1:-1:-1;13170:5:0;;-1:-1:-1;;;;;12713:471:0;;;;;;;:::o;1203:136::-;1261:7;1288:43;1292:1;1295;1288:43;;;;;;;;;;;;;;;;;:3;:43::i;1016:179::-;1074:7;;1106:5;1110:1;1106;:5;:::i;:::-;1094:17;;1135:1;1130;:6;;1122:46;;;;-1:-1:-1;;;1122:46:0;;13429:2:1;1122:46:0;;;13411:21:1;13468:2;13448:18;;;13441:30;13507:29;13487:18;;;13480:57;13554:18;;1122:46:0;13227:351:1;11884:212:0;11937:19;11960:10;:8;:10::i;:::-;11937:33;-1:-1:-1;11981:13:0;11997:22;:5;11937:33;11997:9;:22::i;:::-;12071:4;12055:22;;;;:7;:22;;;;;;11981:38;;-1:-1:-1;12055:33:0;;11981:38;12055:26;:33::i;:::-;12046:4;12030:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;11884:212:0:o;12104:147::-;12182:7;;:17;;12194:4;12182:11;:17::i;:::-;12172:7;:27;12223:10;;:20;;12238:4;12223:14;:20::i;:::-;12210:10;:33;-1:-1:-1;;12104:147:0:o;13192:351::-;13285:7;;;;13338:28;13362:3;13338:19;:7;13350:6;13338:11;:19::i;:28::-;13323:43;-1:-1:-1;13377:13:0;13393:29;13418:3;13393:20;:7;13405;13393:11;:20::i;:29::-;13377:45;-1:-1:-1;13433:23:0;13459:28;13377:45;13459:17;:7;13471:4;13459:11;:17::i;:::-;:21;;:28::i;:::-;13433:54;13523:4;;-1:-1:-1;13529:5:0;;-1:-1:-1;13192:351:0;;-1:-1:-1;;;;;13192:351:0:o;13551:409::-;13661:7;;;;13717:24;:7;13729:11;13717;:24::i;:::-;13699:42;-1:-1:-1;13752:12:0;13767:21;:4;13776:11;13767:8;:21::i;:::-;13752:36;-1:-1:-1;13799:13:0;13815:22;:5;13825:11;13815:9;:22::i;:::-;13799:38;-1:-1:-1;13848:23:0;13874:28;13799:38;13874:17;:7;13886:4;13874:11;:17::i;:28::-;13921:7;;;;-1:-1:-1;13947:4:0;;-1:-1:-1;13551:409:0;;-1:-1:-1;;;;;;;13551:409:0:o;14:597:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;452:6;449:1;446:13;443:91;;;522:1;517:2;508:6;497:9;493:22;489:31;482:42;443:91;-1:-1:-1;595:2:1;574:15;-1:-1:-1;;570:29:1;555:45;;;;602:2;551:54;;14:597;-1:-1:-1;;;14:597:1:o;616:131::-;-1:-1:-1;;;;;691:31:1;;681:42;;671:70;;737:1;734;727:12;752:134;820:20;;849:31;820:20;849:31;:::i;:::-;752:134;;;:::o;891:315::-;959:6;967;1020:2;1008:9;999:7;995:23;991:32;988:52;;;1036:1;1033;1026:12;988:52;1075:9;1062:23;1094:31;1119:5;1094:31;:::i;:::-;1144:5;1196:2;1181:18;;;;1168:32;;-1:-1:-1;;;891:315:1:o;1585:456::-;1662:6;1670;1678;1731:2;1719:9;1710:7;1706:23;1702:32;1699:52;;;1747:1;1744;1737:12;1699:52;1786:9;1773:23;1805:31;1830:5;1805:31;:::i;:::-;1855:5;-1:-1:-1;1912:2:1;1897:18;;1884:32;1925:33;1884:32;1925:33;:::i;:::-;1585:456;;1977:7;;-1:-1:-1;;;2031:2:1;2016:18;;;;2003:32;;1585:456::o;2046:247::-;2105:6;2158:2;2146:9;2137:7;2133:23;2129:32;2126:52;;;2174:1;2171;2164:12;2126:52;2213:9;2200:23;2232:31;2257:5;2232:31;:::i;2487:118::-;2573:5;2566:13;2559:21;2552:5;2549:32;2539:60;;2595:1;2592;2585:12;2610:241;2666:6;2719:2;2707:9;2698:7;2694:23;2690:32;2687:52;;;2735:1;2732;2725:12;2687:52;2774:9;2761:23;2793:28;2815:5;2793:28;:::i;2856:180::-;2915:6;2968:2;2956:9;2947:7;2943:23;2939:32;2936:52;;;2984:1;2981;2974:12;2936:52;-1:-1:-1;3007:23:1;;2856:180;-1:-1:-1;2856:180:1:o;3249:127::-;3310:10;3305:3;3301:20;3298:1;3291:31;3341:4;3338:1;3331:15;3365:4;3362:1;3355:15;3381:1121;3465:6;3496:2;3539;3527:9;3518:7;3514:23;3510:32;3507:52;;;3555:1;3552;3545:12;3507:52;3595:9;3582:23;3624:18;3665:2;3657:6;3654:14;3651:34;;;3681:1;3678;3671:12;3651:34;3719:6;3708:9;3704:22;3694:32;;3764:7;3757:4;3753:2;3749:13;3745:27;3735:55;;3786:1;3783;3776:12;3735:55;3822:2;3809:16;3844:2;3840;3837:10;3834:36;;;3850:18;;:::i;:::-;3896:2;3893:1;3889:10;3928:2;3922:9;3991:2;3987:7;3982:2;3978;3974:11;3970:25;3962:6;3958:38;4046:6;4034:10;4031:22;4026:2;4014:10;4011:18;4008:46;4005:72;;;4057:18;;:::i;:::-;4093:2;4086:22;4143:18;;;4177:15;;;;-1:-1:-1;4219:11:1;;;4215:20;;;4247:19;;;4244:39;;;4279:1;4276;4269:12;4244:39;4303:11;;;;4323:148;4339:6;4334:3;4331:15;4323:148;;;4405:23;4424:3;4405:23;:::i;:::-;4393:36;;4356:12;;;;4449;;;;4323:148;;;4490:6;3381:1121;-1:-1:-1;;;;;;;;3381:1121:1:o;4507:388::-;4575:6;4583;4636:2;4624:9;4615:7;4611:23;4607:32;4604:52;;;4652:1;4649;4642:12;4604:52;4691:9;4678:23;4710:31;4735:5;4710:31;:::i;:::-;4760:5;-1:-1:-1;4817:2:1;4802:18;;4789:32;4830:33;4789:32;4830:33;:::i;:::-;4882:7;4872:17;;;4507:388;;;;;:::o;4900:356::-;5102:2;5084:21;;;5121:18;;;5114:30;5180:34;5175:2;5160:18;;5153:62;5247:2;5232:18;;4900:356::o;5613:251::-;5683:6;5736:2;5724:9;5715:7;5711:23;5707:32;5704:52;;;5752:1;5749;5742:12;5704:52;5784:9;5778:16;5803:31;5828:5;5803:31;:::i;6790:306::-;6878:6;6886;6894;6947:2;6935:9;6926:7;6922:23;6918:32;6915:52;;;6963:1;6960;6953:12;6915:52;6992:9;6986:16;6976:26;;7042:2;7031:9;7027:18;7021:25;7011:35;;7086:2;7075:9;7071:18;7065:25;7055:35;;6790:306;;;;;:::o;7380:245::-;7447:6;7500:2;7488:9;7479:7;7475:23;7471:32;7468:52;;;7516:1;7513;7506:12;7468:52;7548:9;7542:16;7567:28;7589:5;7567:28;:::i;7630:127::-;7691:10;7686:3;7682:20;7679:1;7672:31;7722:4;7719:1;7712:15;7746:4;7743:1;7736:15;7762:127;7823:10;7818:3;7814:20;7811:1;7804:31;7854:4;7851:1;7844:15;7878:4;7875:1;7868:15;7894:135;7933:3;-1:-1:-1;;7954:17:1;;7951:43;;;7974:18;;:::i;:::-;-1:-1:-1;8021:1:1;8010:13;;7894:135::o;10416:128::-;10456:3;10487:1;10483:6;10480:1;10477:13;10474:39;;;10493:18;;:::i;:::-;-1:-1:-1;10529:9:1;;10416:128::o;10904:125::-;10944:4;10972:1;10969;10966:8;10963:34;;;10977:18;;:::i;:::-;-1:-1:-1;11014:9:1;;10904:125::o;11034:168::-;11074:7;11140:1;11136;11132:6;11128:14;11125:1;11122:21;11117:1;11110:9;11103:17;11099:45;11096:71;;;11147:18;;:::i;:::-;-1:-1:-1;11187:9:1;;11034:168::o;11207:217::-;11247:1;11273;11263:132;;11317:10;11312:3;11308:20;11305:1;11298:31;11352:4;11349:1;11342:15;11380:4;11377:1;11370:15;11263:132;-1:-1:-1;11409:9:1;;11207:217::o;12242:980::-;12504:4;12552:3;12541:9;12537:19;12583:6;12572:9;12565:25;12609:2;12647:6;12642:2;12631:9;12627:18;12620:34;12690:3;12685:2;12674:9;12670:18;12663:31;12714:6;12749;12743:13;12780:6;12772;12765:22;12818:3;12807:9;12803:19;12796:26;;12857:2;12849:6;12845:15;12831:29;;12878:1;12888:195;12902:6;12899:1;12896:13;12888:195;;;12967:13;;-1:-1:-1;;;;;12963:39:1;12951:52;;13058:15;;;;13023:12;;;;12999:1;12917:9;12888:195;;;-1:-1:-1;;;;;;;13139:32:1;;;;13134:2;13119:18;;13112:60;-1:-1:-1;;;13203:3:1;13188:19;13181:35;13100:3;12242:980;-1:-1:-1;;;12242:980:1:o

Swarm Source

ipfs://d0134bd180e708816b7bee14cbf3b70d961e0909ecb6d654970429189e2f011a

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.