ETH Price: $2,651.21 (+0.34%)

Contract

0x52a899D0d9776D61F97f2f0078da4fd727d559cE
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve209318972024-10-10 1:23:119 days ago1728523391IN
0x52a899D0...727d559cE
0 ETH0.0002473710.21126332
Approve192666602024-02-20 4:53:11242 days ago1708404791IN
0x52a899D0...727d559cE
0 ETH0.0004616619.10410144
Approve188657952023-12-25 22:46:11299 days ago1703544371IN
0x52a899D0...727d559cE
0 ETH0.000679914.6183693
Approve186567862023-11-26 15:37:47328 days ago1701013067IN
0x52a899D0...727d559cE
0 ETH0.0013016928.18379296
Approve183644152023-10-16 17:25:23369 days ago1697477123IN
0x52a899D0...727d559cE
0 ETH0.0007907417.0236345
Approve181768672023-09-20 11:40:59395 days ago1695210059IN
0x52a899D0...727d559cE
0 ETH0.000234119.66385494
Approve181176972023-09-12 3:52:35403 days ago1694490755IN
0x52a899D0...727d559cE
0 ETH0.000498110.70968554
Approve181102162023-09-11 2:44:47404 days ago1694400287IN
0x52a899D0...727d559cE
0 ETH0.000419649.07421349
Approve180401232023-09-01 7:10:35414 days ago1693552235IN
0x52a899D0...727d559cE
0 ETH0.000267311.03383624
Approve180400902023-09-01 7:03:59414 days ago1693551839IN
0x52a899D0...727d559cE
0 ETH0.0005590112.01934624
Approve180400872023-09-01 7:03:23414 days ago1693551803IN
0x52a899D0...727d559cE
0 ETH0.0002787811.50768827
Approve180400732023-09-01 7:00:35414 days ago1693551635IN
0x52a899D0...727d559cE
0 ETH0.0005940912.77349929
Transfer180400602023-09-01 6:57:59414 days ago1693551479IN
0x52a899D0...727d559cE
0 ETH0.0006936511.42243939
Approve180068522023-08-27 15:19:59419 days ago1693149599IN
0x52a899D0...727d559cE
0 ETH0.0007994117.18810822
Approve179811872023-08-24 1:08:23422 days ago1692839303IN
0x52a899D0...727d559cE
0 ETH0.0006811914.66519135
Approve179617352023-08-21 7:52:47425 days ago1692604367IN
0x52a899D0...727d559cE
0 ETH0.0005390511.67736797
Approve178773992023-08-09 12:38:59437 days ago1691584739IN
0x52a899D0...727d559cE
0 ETH0.0011665425.2247286
Approve178702342023-08-08 12:34:35438 days ago1691498075IN
0x52a899D0...727d559cE
0 ETH0.0006056525
Approve178702332023-08-08 12:34:23438 days ago1691498063IN
0x52a899D0...727d559cE
0 ETH0.0006056525
Approve178677082023-08-08 4:05:47438 days ago1691467547IN
0x52a899D0...727d559cE
0 ETH0.0005960622.68643154
Approve178677032023-08-08 4:04:47438 days ago1691467487IN
0x52a899D0...727d559cE
0 ETH0.0006564524.98491669
Approve178464522023-08-05 4:41:59441 days ago1691210519IN
0x52a899D0...727d559cE
0 ETH0.0006233913.50106647
Transfer From178463572023-08-05 4:22:47441 days ago1691209367IN
0x52a899D0...727d559cE
0 ETH0.000916614.75035382
Approve178463102023-08-05 4:13:11441 days ago1691208791IN
0x52a899D0...727d559cE
0 ETH0.0006492114.0420304
Approve178402362023-08-04 7:49:35442 days ago1691135375IN
0x52a899D0...727d559cE
0 ETH0.0006591914.25407914
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
ERC20

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

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

// SPDX-License-Identifier: MIT

pragma solidity ^0.8.7;

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

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

    function WETH() external pure returns (address);

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

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

abstract contract Ownable {
    address internal _owner;

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

    constructor () {
        address msgSender = msg.sender;
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

    modifier onlyOwner() {
        require(_owner == msg.sender, "you are not owner");
        _;
    }

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

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

contract ERC20 is IERC20, Ownable {
    mapping(address => uint256) private _balances;
    mapping(address => mapping(address => uint256)) private _allowances;

    address public expenseAddress;

    string private _name;
    string private _symbol;
    uint8 private _decimals;

    mapping(address => bool) public _isExcludeFromFee;
    
    uint256 private _totalSupply;

    IUniswapRouter public _uniswapRouter;

    mapping(address => bool) public isMarketPair;
    bool private inSwap;

    uint256 private constant MAX = ~uint256(0);

    uint256 public _buyFee = 0;
    uint256 public _sellFee = 0;

    address public _uniswapPair;

    modifier lockTheSwap {
        inSwap = true;
        _;
        inSwap = false;
    }

    constructor (){
        _name = "DubaiPay";
        _symbol = "DPAY";
        _decimals = 18;
        uint256 Supply = 10000000;

        IUniswapRouter swapRouter = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);

        _uniswapRouter = swapRouter;
        _allowances[address(this)][address(swapRouter)] = MAX;

        IUniswapFactory swapFactory = IUniswapFactory(swapRouter.factory());
        address swapPair = swapFactory.createPair(address(this), swapRouter.WETH());
        _uniswapPair = swapPair;
        isMarketPair[swapPair] = true;

        _totalSupply = Supply * 10 ** _decimals;

        address receiveAddr = msg.sender;
        _balances[receiveAddr] = _totalSupply;
        emit Transfer(address(0), receiveAddr, _totalSupply);

        expenseAddress = receiveAddr;

        _isExcludeFromFee[address(this)] = true;
        _isExcludeFromFee[address(swapRouter)] = true;
        // _isExcludeFromFee[msg.sender] = true;
        _isExcludeFromFee[receiveAddr] = true;
        _isExcludeFromFee[expenseAddress] = true;
    }

    function setExpenseAddress(address newAddr) public onlyOwner{
        expenseAddress = newAddr;
    }

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

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

    function decimals() external view override 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 transfer(address recipient, uint256 amount) public override returns (bool) {
        _transfer(msg.sender, 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(msg.sender, spender, amount);
        return true;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        if (_allowances[sender][msg.sender] != MAX) {
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender] - amount;
        }
        return true;
    }

    function setBuyFee(uint256 newFundFee) public onlyOwner{
        _buyFee = newFundFee;
        require(_buyFee <= 15,"too high");
    }

    function setSellFee(uint256 newFundFee) public onlyOwner{
        _sellFee = newFundFee;
        require(_sellFee <= 15,"too high");
    }

    function _approve(address owner, address spender, uint256 amount) private {
        _allowances[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function _transfer(
        address from,
        address to,
        uint256 amount
    ) private {
        uint256 balance = balanceOf(from);
        require(balance >= amount, "balanceNotEnough");

        bool takeFee;
        bool sellFlag;

        if (isMarketPair[to] && !inSwap && !_isExcludeFromFee[from] && !_isExcludeFromFee[to]) {
            uint256 contractTokenBalance = balanceOf(address(this));
            if (contractTokenBalance > 0) {
                uint256 numTokensSellToFund = amount;
                numTokensSellToFund = numTokensSellToFund > contractTokenBalance ? 
                                                            contractTokenBalance:numTokensSellToFund;
                swapTokenForETH(numTokensSellToFund);
            }
        }

        if (!_isExcludeFromFee[from] && !_isExcludeFromFee[to] && !inSwap) {
            require(trading,"!trading");
            takeFee = true;
        }

        if (isMarketPair[to]) { sellFlag = true; }

        _transferToken(from, to, amount, takeFee, sellFlag);
    }

    bool public trading;
    function enableTrading() public onlyOwner{
        require(!trading);
        trading = true;
    }

    function _transferToken(
        address sender,
        address recipient,
        uint256 tAmount,
        bool takeFee,
        bool sellFlag
    ) private {
        _balances[sender] = _balances[sender] - tAmount;
        uint256 feeAmount;

        if (takeFee) {
            
            uint256 taxFee;

            if (sellFlag) {
                taxFee = _sellFee;
            } else {
                taxFee = _buyFee;
            }
            uint256 swapAmount = tAmount * taxFee / 100;
            if (swapAmount > 0) {
                feeAmount += swapAmount;
                _balances[address(this)] = _balances[address(this)] + swapAmount;
                emit Transfer(sender, address(this), swapAmount);
            }
        }

        _balances[recipient] = _balances[recipient] + (tAmount - feeAmount);
        emit Transfer(sender, recipient, tAmount - feeAmount);

    }

    event catchEvent(uint8);

    function swapTokenForETH(uint256 tokenAmount) private lockTheSwap {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = _uniswapRouter.WETH();
        try _uniswapRouter.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(expenseAddress),
            block.timestamp
        ) {} catch { emit catchEvent(0); }

    }

    function setIsExcludeFromFees(address account, bool value) public onlyOwner{
        _isExcludeFromFee[account] = value;
    }

    receive() external payable {}
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"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"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[],"name":"_buyFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"_isExcludeFromFee","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_sellFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapPair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_uniswapRouter","outputs":[{"internalType":"contract IUniswapRouter","name":"","type":"address"}],"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":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"expenseAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isMarketPair","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"setBuyFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newAddr","type":"address"}],"name":"setExpenseAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"value","type":"bool"}],"name":"setIsExcludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"setSellFee","outputs":[],"stateMutability":"nonpayable","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":[],"name":"trading","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526000600c556000600d553480156200001b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a35060408051808201909152600880825267447562616950617960c01b60209092019182526200008e91600491620003b3565b50604080518082019091526004808252634450415960e01b6020909201918252620000bc91600591620003b3565b506006805460ff19166012179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905162989680949392849263c45a01559260048083019392829003018186803b1580156200014b57600080fd5b505afa15801562000160573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000186919062000459565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001d457600080fd5b505afa158015620001e9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200020f919062000459565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200025857600080fd5b505af11580156200026d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000293919062000459565b600e80546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002e29160ff1690620004d4565b620002ee908562000595565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319166001600160a01b03928316908117825530600090815260076020526040808220805460ff199081166001908117909255988616835281832080548a16821790559282528082208054891684179055925490931683529120805490941617909255506200060a915050565b828054620003c190620005b7565b90600052602060002090601f016020900481019282620003e5576000855562000430565b82601f106200040057805160ff191683800117855562000430565b8280016001018555821562000430579182015b828111156200043057825182559160200191906001019062000413565b506200043e92915062000442565b5090565b5b808211156200043e576000815560010162000443565b6000602082840312156200046c57600080fd5b81516001600160a01b03811681146200048457600080fd5b9392505050565b600181815b80851115620004cc578160001904821115620004b057620004b0620005f4565b80851615620004be57918102915b93841c939080029062000490565b509250929050565b60006200048460ff841683600082620004f0575060016200058f565b81620004ff575060006200058f565b8160018114620005185760028114620005235762000543565b60019150506200058f565b60ff841115620005375762000537620005f4565b50506001821b6200058f565b5060208310610133831016604e8410600b841016171562000568575081810a6200058f565b6200057483836200048b565b80600019048211156200058b576200058b620005f4565b0290505b92915050565b6000816000190483118215151615620005b257620005b2620005f4565b500290565b600181811c90821680620005cc57607f821691505b60208210811415620005ee57634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61121d806200061a6000396000f3fe60806040526004361061016a5760003560e01c806365b61b77116100d15780638da5cb5b1161008a578063a9059cbb11610064578063a9059cbb1461044b578063dd62ed3e1461046b578063ec44acf2146104b1578063f2fde38b146104d257600080fd5b80638da5cb5b146103f857806395d89b41146104165780639998c49f1461042b57600080fd5b806365b61b771461033857806370a0823114610358578063715018a61461038e578063863587cd146103a35780638a8c523c146103c35780638b4cee08146103d857600080fd5b806336b2e0271161012357806336b2e027146102545780633ecad2711461028457806340b9a54b146102b45780634a90d7b3146102ca5780634bf28fd014610302578063590f897e1461032257600080fd5b806306fdde0314610176578063095ea7b3146101a15780630cc835a3146101d157806318160ddd146101f357806323b872dd14610212578063313ce5671461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f2565b604051610198919061100a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610fc5565b610584565b6040519015158152602001610198565b3480156101dd57600080fd5b506101f16101ec366004610ff1565b61059a565b005b3480156101ff57600080fd5b506008545b604051908152602001610198565b34801561021e57600080fd5b506101c161022d366004610f51565b610611565b34801561023e57600080fd5b5060065460405160ff9091168152602001610198565b34801561026057600080fd5b506101c161026f366004610ed7565b60076020526000908152604090205460ff1681565b34801561029057600080fd5b506101c161029f366004610ed7565b600a6020526000908152604090205460ff1681565b3480156102c057600080fd5b50610204600c5481565b3480156102d657600080fd5b506003546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b50600e546102ea906001600160a01b031681565b34801561032e57600080fd5b50610204600d5481565b34801561034457600080fd5b506009546102ea906001600160a01b031681565b34801561036457600080fd5b50610204610373366004610ed7565b6001600160a01b031660009081526001602052604090205490565b34801561039a57600080fd5b506101f16106a8565b3480156103af57600080fd5b506101f16103be366004610f92565b61071c565b3480156103cf57600080fd5b506101f1610771565b3480156103e457600080fd5b506101f16103f3366004610ff1565b6107c7565b34801561040457600080fd5b506000546001600160a01b03166102ea565b34801561042257600080fd5b5061018b610832565b34801561043757600080fd5b506101f1610446366004610ed7565b610841565b34801561045757600080fd5b506101c1610466366004610fc5565b61088d565b34801561047757600080fd5b50610204610486366004610f18565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104bd57600080fd5b50600e546101c190600160a01b900460ff1681565b3480156104de57600080fd5b506101f16104ed366004610ed7565b61089a565b6060600480546105019061116b565b80601f016020809104026020016040519081016040528092919081815260200182805461052d9061116b565b801561057a5780601f1061054f5761010080835404028352916020019161057a565b820191906000526020600020905b81548152906001019060200180831161055d57829003601f168201915b5050505050905090565b6000610591338484610960565b50600192915050565b6000546001600160a01b031633146105cd5760405162461bcd60e51b81526004016105c49061105f565b60405180910390fd5b600c819055600f81111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b50565b600061061e8484846109c1565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461069e576001600160a01b0384166000908152600260209081526040808320338452909152902054610679908390611154565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106d25760405162461bcd60e51b81526004016105c49061105f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107465760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461079b5760405162461bcd60e51b81526004016105c49061105f565b600e54600160a01b900460ff16156107b257600080fd5b600e805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107f15760405162461bcd60e51b81526004016105c49061105f565b600d819055600f81111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b6060600580546105019061116b565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016105c49061105f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60006105913384846109c1565b6000546001600160a01b031633146108c45760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b0381166109055760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105c4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a1d5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105c4565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610a4a5750600b5460ff16155b8015610a6f57506001600160a01b03861660009081526007602052604090205460ff16155b8015610a9457506001600160a01b03851660009081526007602052604090205460ff16155b15610ace57306000908152600160205260409020548015610acc5784818111610abd5780610abf565b815b9050610aca81610ba7565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610b1057506001600160a01b03851660009081526007602052604090205460ff16155b8015610b1f5750600b5460ff16155b15610b6d57600e54600160a01b900460ff16610b685760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016105c4565b600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610b92575060015b610b9f8686868585610d46565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610be957610be96111bc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190610efb565b81600181518110610c8857610c886111bc565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610cd4928792600092889290911690429060040161108a565b600060405180830381600087803b158015610cee57600080fd5b505af1925050508015610cff575060015b610d3857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610d6a908490611154565b6001600160a01b0386166000908152600160205260408120919091558215610e475760008215610d9d5750600d54610da2565b50600c545b60006064610db08388611135565b610dba9190611113565b90508015610e4457610dcc81846110fb565b30600090815260016020526040902054909350610dea9082906110fb565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b9085815260200190565b60405180910390a35b50505b610e518185611154565b6001600160a01b038616600090815260016020526040902054610e7491906110fb565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ebe8488611154565b60405190815260200160405180910390a3505050505050565b600060208284031215610ee957600080fd5b8135610ef4816111d2565b9392505050565b600060208284031215610f0d57600080fd5b8151610ef4816111d2565b60008060408385031215610f2b57600080fd5b8235610f36816111d2565b91506020830135610f46816111d2565b809150509250929050565b600080600060608486031215610f6657600080fd5b8335610f71816111d2565b92506020840135610f81816111d2565b929592945050506040919091013590565b60008060408385031215610fa557600080fd5b8235610fb0816111d2565b915060208301358015158114610f4657600080fd5b60008060408385031215610fd857600080fd5b8235610fe3816111d2565b946020939093013593505050565b60006020828403121561100357600080fd5b5035919050565b600060208083528351808285015260005b818110156110375785810183015185820160400152820161101b565b81811115611049576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110da5784516001600160a01b0316835293830193918301916001016110b5565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561110e5761110e6111a6565b500190565b60008261113057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561114f5761114f6111a6565b500290565b600082821015611166576111666111a6565b500390565b600181811c9082168061117f57607f821691505b602082108114156111a057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461060e57600080fdfea264697066735822122017ef7275239c2e7cdaaf4425dc261ec08ecbb6d07d890f9095fe297d7c6db14464736f6c63430008070033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806365b61b77116100d15780638da5cb5b1161008a578063a9059cbb11610064578063a9059cbb1461044b578063dd62ed3e1461046b578063ec44acf2146104b1578063f2fde38b146104d257600080fd5b80638da5cb5b146103f857806395d89b41146104165780639998c49f1461042b57600080fd5b806365b61b771461033857806370a0823114610358578063715018a61461038e578063863587cd146103a35780638a8c523c146103c35780638b4cee08146103d857600080fd5b806336b2e0271161012357806336b2e027146102545780633ecad2711461028457806340b9a54b146102b45780634a90d7b3146102ca5780634bf28fd014610302578063590f897e1461032257600080fd5b806306fdde0314610176578063095ea7b3146101a15780630cc835a3146101d157806318160ddd146101f357806323b872dd14610212578063313ce5671461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f2565b604051610198919061100a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610fc5565b610584565b6040519015158152602001610198565b3480156101dd57600080fd5b506101f16101ec366004610ff1565b61059a565b005b3480156101ff57600080fd5b506008545b604051908152602001610198565b34801561021e57600080fd5b506101c161022d366004610f51565b610611565b34801561023e57600080fd5b5060065460405160ff9091168152602001610198565b34801561026057600080fd5b506101c161026f366004610ed7565b60076020526000908152604090205460ff1681565b34801561029057600080fd5b506101c161029f366004610ed7565b600a6020526000908152604090205460ff1681565b3480156102c057600080fd5b50610204600c5481565b3480156102d657600080fd5b506003546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b50600e546102ea906001600160a01b031681565b34801561032e57600080fd5b50610204600d5481565b34801561034457600080fd5b506009546102ea906001600160a01b031681565b34801561036457600080fd5b50610204610373366004610ed7565b6001600160a01b031660009081526001602052604090205490565b34801561039a57600080fd5b506101f16106a8565b3480156103af57600080fd5b506101f16103be366004610f92565b61071c565b3480156103cf57600080fd5b506101f1610771565b3480156103e457600080fd5b506101f16103f3366004610ff1565b6107c7565b34801561040457600080fd5b506000546001600160a01b03166102ea565b34801561042257600080fd5b5061018b610832565b34801561043757600080fd5b506101f1610446366004610ed7565b610841565b34801561045757600080fd5b506101c1610466366004610fc5565b61088d565b34801561047757600080fd5b50610204610486366004610f18565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b3480156104bd57600080fd5b50600e546101c190600160a01b900460ff1681565b3480156104de57600080fd5b506101f16104ed366004610ed7565b61089a565b6060600480546105019061116b565b80601f016020809104026020016040519081016040528092919081815260200182805461052d9061116b565b801561057a5780601f1061054f5761010080835404028352916020019161057a565b820191906000526020600020905b81548152906001019060200180831161055d57829003601f168201915b5050505050905090565b6000610591338484610960565b50600192915050565b6000546001600160a01b031633146105cd5760405162461bcd60e51b81526004016105c49061105f565b60405180910390fd5b600c819055600f81111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b50565b600061061e8484846109c1565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461069e576001600160a01b0384166000908152600260209081526040808320338452909152902054610679908390611154565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106d25760405162461bcd60e51b81526004016105c49061105f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107465760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b0316331461079b5760405162461bcd60e51b81526004016105c49061105f565b600e54600160a01b900460ff16156107b257600080fd5b600e805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146107f15760405162461bcd60e51b81526004016105c49061105f565b600d819055600f81111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b6060600580546105019061116b565b6000546001600160a01b0316331461086b5760405162461bcd60e51b81526004016105c49061105f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b60006105913384846109c1565b6000546001600160a01b031633146108c45760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b0381166109055760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105c4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a1d5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105c4565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610a4a5750600b5460ff16155b8015610a6f57506001600160a01b03861660009081526007602052604090205460ff16155b8015610a9457506001600160a01b03851660009081526007602052604090205460ff16155b15610ace57306000908152600160205260409020548015610acc5784818111610abd5780610abf565b815b9050610aca81610ba7565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610b1057506001600160a01b03851660009081526007602052604090205460ff16155b8015610b1f5750600b5460ff16155b15610b6d57600e54600160a01b900460ff16610b685760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016105c4565b600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610b92575060015b610b9f8686868585610d46565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610be957610be96111bc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190610efb565b81600181518110610c8857610c886111bc565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610cd4928792600092889290911690429060040161108a565b600060405180830381600087803b158015610cee57600080fd5b505af1925050508015610cff575060015b610d3857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610d6a908490611154565b6001600160a01b0386166000908152600160205260408120919091558215610e475760008215610d9d5750600d54610da2565b50600c545b60006064610db08388611135565b610dba9190611113565b90508015610e4457610dcc81846110fb565b30600090815260016020526040902054909350610dea9082906110fb565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b9085815260200190565b60405180910390a35b50505b610e518185611154565b6001600160a01b038616600090815260016020526040902054610e7491906110fb565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ebe8488611154565b60405190815260200160405180910390a3505050505050565b600060208284031215610ee957600080fd5b8135610ef4816111d2565b9392505050565b600060208284031215610f0d57600080fd5b8151610ef4816111d2565b60008060408385031215610f2b57600080fd5b8235610f36816111d2565b91506020830135610f46816111d2565b809150509250929050565b600080600060608486031215610f6657600080fd5b8335610f71816111d2565b92506020840135610f81816111d2565b929592945050506040919091013590565b60008060408385031215610fa557600080fd5b8235610fb0816111d2565b915060208301358015158114610f4657600080fd5b60008060408385031215610fd857600080fd5b8235610fe3816111d2565b946020939093013593505050565b60006020828403121561100357600080fd5b5035919050565b600060208083528351808285015260005b818110156110375785810183015185820160400152820161101b565b81811115611049576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110da5784516001600160a01b0316835293830193918301916001016110b5565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561110e5761110e6111a6565b500190565b60008261113057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561114f5761114f6111a6565b500290565b600082821015611166576111666111a6565b500390565b600181811c9082168061117f57607f821691505b602082108114156111a057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461060e57600080fdfea264697066735822122017ef7275239c2e7cdaaf4425dc261ec08ecbb6d07d890f9095fe297d7c6db14464736f6c63430008070033

Deployed Bytecode Sourcemap

2293:6658:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4378:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5141:159;;;;;;;;;;-1:-1:-1;5141:159:0;;;;;:::i;:::-;;:::i;:::-;;;2675:14:1;;2668:22;2650:41;;2638:2;2623:18;5141:159:0;2510:187:1;5652:138:0;;;;;;;;;;-1:-1:-1;5652:138:0;;;;;:::i;:::-;;:::i;:::-;;4582:100;;;;;;;;;;-1:-1:-1;4662:12:0;;4582:100;;;5578:25:1;;;5566:2;5551:18;4582:100:0;5432:177:1;5308:336:0;;;;;;;;;;-1:-1:-1;5308:336:0;;;;;:::i;:::-;;:::i;4480:94::-;;;;;;;;;;-1:-1:-1;4557:9:0;;4480:94;;4557:9;;;;3084:36:1;;3072:2;3057:18;4480:94:0;2932:194:1;2588:49:0;;;;;;;;;;-1:-1:-1;2588:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2732:44;;;;;;;;;;-1:-1:-1;2732:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;2862:26;;;;;;;;;;;;;;;;2462:29;;;;;;;;;;-1:-1:-1;2462:29:0;;;;-1:-1:-1;;;;;2462:29:0;;;;;;-1:-1:-1;;;;;2466:32:1;;;2448:51;;2436:2;2421:18;2462:29:0;2302:203:1;2931:27:0;;;;;;;;;;-1:-1:-1;2931:27:0;;;;-1:-1:-1;;;;;2931:27:0;;;2895;;;;;;;;;;;;;;;;2687:36;;;;;;;;;;-1:-1:-1;2687:36:0;;;;-1:-1:-1;;;;;2687:36:0;;;4690:119;;;;;;;;;;-1:-1:-1;4690:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4783:18:0;4756:7;4783:18;;;:9;:18;;;;;;;4690:119;1916:148;;;;;;;;;;;;;:::i;8783:128::-;;;;;;;;;;-1:-1:-1;8783:128:0;;;;;:::i;:::-;;:::i;7246:102::-;;;;;;;;;;;;;:::i;5798:141::-;;;;;;;;;;-1:-1:-1;5798:141:0;;;;;:::i;:::-;;:::i;1719:79::-;;;;;;;;;;-1:-1:-1;1757:7:0;1784:6;-1:-1:-1;;;;;1784:6:0;1719:79;;4272:98;;;;;;;;;;;;;:::i;4161:103::-;;;;;;;;;;-1:-1:-1;4161:103:0;;;;;:::i;:::-;;:::i;4817:165::-;;;;;;;;;;-1:-1:-1;4817:165:0;;;;;:::i;:::-;;:::i;4990:143::-;;;;;;;;;;-1:-1:-1;4990:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5098:18:0;;;5071:7;5098:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;4990:143;7220:19;;;;;;;;;;-1:-1:-1;7220:19:0;;;;-1:-1:-1;;;7220:19:0;;;;;;2072:214;;;;;;;;;;-1:-1:-1;2072:214:0;;;;;:::i;:::-;;:::i;4378:94::-;4426:13;4459:5;4452:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4378:94;:::o;5141:159::-;5216:4;5233:37;5242:10;5254:7;5263:6;5233:8;:37::i;:::-;-1:-1:-1;5288:4:0;5141:159;;;;:::o;5652:138::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;;;;;;;;;5718:7:::1;:20:::0;;;5768:2:::1;5757:13:::0;::::1;;5749:33;;;::::0;-1:-1:-1;;;5749:33:0;;4616:2:1;5749:33:0::1;::::0;::::1;4598:21:1::0;4655:1;4635:18;;;4628:29;-1:-1:-1;;;4673:18:1;;;4666:38;4721:18;;5749:33:0::1;4414:331:1::0;5749:33:0::1;5652:138:::0;:::o;5308:336::-;5406:4;5423:36;5433:6;5441:9;5452:6;5423:9;:36::i;:::-;-1:-1:-1;;;;;5474:19:0;;2851:1;5474:19;;;:11;:19;;;;;;;;5494:10;5474:31;;;;;;;;-1:-1:-1;;5474:38:0;5470:145;;-1:-1:-1;;;;;5563:19:0;;;;;;:11;:19;;;;;;;;5583:10;5563:31;;;;;;;;:40;;5597:6;;5563:40;:::i;:::-;-1:-1:-1;;;;;5529:19:0;;;;;;:11;:19;;;;;;;;5549:10;5529:31;;;;;;;:74;5470:145;-1:-1:-1;5632:4:0;5308:336;;;;;:::o;1916:148::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;2023:1:::1;2007:6:::0;;1986:40:::1;::::0;-1:-1:-1;;;;;2007:6:0;;::::1;::::0;1986:40:::1;::::0;2023:1;;1986:40:::1;2054:1;2037:19:::0;;-1:-1:-1;;;;;;2037:19:0::1;::::0;;1916:148::o;8783:128::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;8869:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;8869:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;8783:128::o;7246:102::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;7307:7:::1;::::0;-1:-1:-1;;;7307:7:0;::::1;;;7306:8;7298:17;;;::::0;::::1;;7326:7;:14:::0;;-1:-1:-1;;;;7326:14:0::1;-1:-1:-1::0;;;7326:14:0::1;::::0;;7246:102::o;5798:141::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;5865:8:::1;:21:::0;;;5917:2:::1;5905:14:::0;::::1;;5897:34;;;::::0;-1:-1:-1;;;5897:34:0;;4616:2:1;5897:34:0::1;::::0;::::1;4598:21:1::0;4655:1;4635:18;;;4628:29;-1:-1:-1;;;4673:18:1;;;4666:38;4721:18;;5897:34:0::1;4414:331:1::0;4272:98:0;4322:13;4355:7;4348:14;;;;;:::i;4161:103::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;4232:14:::1;:24:::0;;-1:-1:-1;;;;;;4232:24:0::1;-1:-1:-1::0;;;;;4232:24:0;;;::::1;::::0;;;::::1;::::0;;4161:103::o;4817:165::-;4895:4;4912:40;4922:10;4934:9;4945:6;4912:9;:40::i;2072:214::-;1846:6;;-1:-1:-1;;;;;1846:6:0;1856:10;1846:20;1838:50;;;;-1:-1:-1;;;1838:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2161:22:0;::::1;2153:43;;;::::0;-1:-1:-1;;;2153:43:0;;4952:2:1;2153:43:0::1;::::0;::::1;4934:21:1::0;4991:1;4971:18;;;4964:29;-1:-1:-1;;;5009:18:1;;;5002:38;5057:18;;2153:43:0::1;4750:331:1::0;2153:43:0::1;2233:6;::::0;;2212:38:::1;::::0;-1:-1:-1;;;;;2212:38:0;;::::1;::::0;2233:6;::::1;::::0;2212:38:::1;::::0;::::1;2261:6;:17:::0;;-1:-1:-1;;;;;;2261:17:0::1;-1:-1:-1::0;;;;;2261:17:0;;;::::1;::::0;;;::::1;::::0;;2072:214::o;5947:177::-;-1:-1:-1;;;;;6032:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6084:32;;5578:25:1;;;6084:32:0;;5551:18:1;6084:32:0;;;;;;;5947:177;;;:::o;6132:1080::-;-1:-1:-1;;;;;4783:18:0;;6246:15;4783:18;;;:9;:18;;;;;;6298:17;;;;6290:46;;;;-1:-1:-1;;;6290:46:0;;4271:2:1;6290:46:0;;;4253:21:1;4310:2;4290:18;;;4283:30;-1:-1:-1;;;4329:18:1;;;4322:46;4385:18;;6290:46:0;4069:340:1;6290:46:0;-1:-1:-1;;;;;6402:16:0;;6349:12;6402:16;;;:12;:16;;;;;;6349:12;;6402:16;;:27;;;;-1:-1:-1;6423:6:0;;;;6422:7;6402:27;:55;;;;-1:-1:-1;;;;;;6434:23:0;;;;;;:17;:23;;;;;;;;6433:24;6402:55;:81;;;;-1:-1:-1;;;;;;6462:21:0;;;;;;:17;:21;;;;;;;;6461:22;6402:81;6398:527;;;6549:4;6500:28;4783:18;;;:9;:18;;;;;;6574:24;;6570:344;;6649:6;6696:42;;;:147;;6824:19;6696:147;;;6803:20;6696:147;6674:169;;6862:36;6878:19;6862:15;:36::i;:::-;6600:314;6570:344;6485:440;6398:527;-1:-1:-1;;;;;6942:23:0;;;;;;:17;:23;;;;;;;;6941:24;:50;;;;-1:-1:-1;;;;;;6970:21:0;;;;;;:17;:21;;;;;;;;6969:22;6941:50;:61;;;;-1:-1:-1;6996:6:0;;;;6995:7;6941:61;6937:150;;;7027:7;;-1:-1:-1;;;7027:7:0;;;;7019:27;;;;-1:-1:-1;;;7019:27:0;;3935:2:1;7019:27:0;;;3917:21:1;3974:1;3954:18;;;3947:29;-1:-1:-1;;;3992:18:1;;;3985:38;4040:18;;7019:27:0;3733:331:1;7019:27:0;7071:4;7061:14;;6937:150;-1:-1:-1;;;;;7103:16:0;;;;;;:12;:16;;;;;;;;7099:42;;;-1:-1:-1;7134:4:0;7099:42;7153:51;7168:4;7174:2;7178:6;7186:7;7195:8;7153:14;:51::i;:::-;6235:977;;;6132:1080;;;:::o;8320:455::-;2999:6;:13;;-1:-1:-1;;2999:13:0;3008:4;2999:13;;;8421:16:::1;::::0;;8435:1:::1;8421:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8421:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8421:16:0::1;8397:40;;8466:4;8448;8453:1;8448:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8448:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8492:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;8492:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;8448:7;;8492:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8482:4;8487:1;8482:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8482:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;8528:14:::1;::::0;8677::::1;::::0;8528:205:::1;::::0;-1:-1:-1;;;8528:205:0;;:14;;::::1;::::0;:65:::1;::::0;:205:::1;::::0;8608:11;;8528:14:::1;::::0;8650:4;;8677:14;;::::1;::::0;8707:15:::1;::::0;8528:205:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8524:242;;8750:13;::::0;8761:1:::1;3084:36:1::0;;8750:13:0::1;::::0;3072:2:1;3057:18;8750:13:0::1;;;;;;;8524:242;-1:-1:-1::0;;3035:6:0;:14;;-1:-1:-1;;3035:14:0;;;8320:455::o;7356:924::-;-1:-1:-1;;;;;7552:17:0;;;;;;:9;:17;;;;;;:27;;7572:7;;7552:27;:::i;:::-;-1:-1:-1;;;;;7532:17:0;;;;;;:9;:17;;;;;:47;;;;7620:507;;;;7662:14;7697:8;7693:123;;;-1:-1:-1;7735:8:0;;7693:123;;;-1:-1:-1;7793:7:0;;7693:123;7830:18;7870:3;7851:16;7861:6;7851:7;:16;:::i;:::-;:22;;;;:::i;:::-;7830:43;-1:-1:-1;7892:14:0;;7888:228;;7927:23;7940:10;7927:23;;:::i;:::-;8014:4;7996:24;;;;:9;:24;;;;;;7927:23;;-1:-1:-1;7996:37:0;;8023:10;;7996:37;:::i;:::-;7987:4;7969:24;;;;:9;:24;;;;;;;:64;;;;8057:43;;-1:-1:-1;;;;;8057:43:0;;;;;;;8089:10;5578:25:1;;5566:2;5551:18;;5432:177;8057:43:0;;;;;;;;7888:228;7633:494;;7620:507;8186:19;8196:9;8186:7;:19;:::i;:::-;-1:-1:-1;;;;;8162:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;8139:20:0;;;;;;;:9;:20;;;;;:67;;;;8222:48;;;8250:19;8260:9;8250:7;:19;:::i;:::-;8222:48;;5578:25:1;;;5566:2;5551:18;8222:48:0;;;;;;;7521:759;7356:924;;;;;:::o;14:247:1:-;73:6;126:2;114:9;105:7;101:23;97:32;94:52;;;142:1;139;132:12;94:52;181:9;168:23;200:31;225:5;200:31;:::i;:::-;250:5;14:247;-1:-1:-1;;;14:247:1:o;266:251::-;336:6;389:2;377:9;368:7;364:23;360:32;357:52;;;405:1;402;395:12;357:52;437:9;431:16;456:31;481:5;456:31;:::i;522:388::-;590:6;598;651:2;639:9;630:7;626:23;622:32;619:52;;;667:1;664;657:12;619:52;706:9;693:23;725:31;750:5;725:31;:::i;:::-;775:5;-1:-1:-1;832:2:1;817:18;;804:32;845:33;804:32;845:33;:::i;:::-;897:7;887:17;;;522:388;;;;;:::o;915:456::-;992:6;1000;1008;1061:2;1049:9;1040:7;1036:23;1032:32;1029:52;;;1077:1;1074;1067:12;1029:52;1116:9;1103:23;1135:31;1160:5;1135:31;:::i;:::-;1185:5;-1:-1:-1;1242:2:1;1227:18;;1214:32;1255:33;1214:32;1255:33;:::i;:::-;915:456;;1307:7;;-1:-1:-1;;;1361:2:1;1346:18;;;;1333:32;;915:456::o;1376:416::-;1441:6;1449;1502:2;1490:9;1481:7;1477:23;1473:32;1470:52;;;1518:1;1515;1508:12;1470:52;1557:9;1544:23;1576:31;1601:5;1576:31;:::i;:::-;1626:5;-1:-1:-1;1683:2:1;1668:18;;1655:32;1725:15;;1718:23;1706:36;;1696:64;;1756:1;1753;1746:12;1797:315;1865:6;1873;1926:2;1914:9;1905:7;1901:23;1897:32;1894:52;;;1942:1;1939;1932:12;1894:52;1981:9;1968:23;2000:31;2025:5;2000:31;:::i;:::-;2050:5;2102:2;2087:18;;;;2074:32;;-1:-1:-1;;;1797:315:1:o;2117:180::-;2176:6;2229:2;2217:9;2208:7;2204:23;2200:32;2197:52;;;2245:1;2242;2235:12;2197:52;-1:-1:-1;2268:23:1;;2117:180;-1:-1:-1;2117:180:1:o;3131:597::-;3243:4;3272:2;3301;3290:9;3283:21;3333:6;3327:13;3376:6;3371:2;3360:9;3356:18;3349:34;3401:1;3411:140;3425:6;3422:1;3419:13;3411:140;;;3520:14;;;3516:23;;3510:30;3486:17;;;3505:2;3482:26;3475:66;3440:10;;3411:140;;;3569:6;3566:1;3563:13;3560:91;;;3639:1;3634:2;3625:6;3614:9;3610:22;3606:31;3599:42;3560:91;-1:-1:-1;3712:2:1;3691:15;-1:-1:-1;;3687:29:1;3672:45;;;;3719:2;3668:54;;3131:597;-1:-1:-1;;;3131:597:1:o;5086:341::-;5288:2;5270:21;;;5327:2;5307:18;;;5300:30;-1:-1:-1;;;5361:2:1;5346:18;;5339:47;5418:2;5403:18;;5086:341::o;5614:980::-;5876:4;5924:3;5913:9;5909:19;5955:6;5944:9;5937:25;5981:2;6019:6;6014:2;6003:9;5999:18;5992:34;6062:3;6057:2;6046:9;6042:18;6035:31;6086:6;6121;6115:13;6152:6;6144;6137:22;6190:3;6179:9;6175:19;6168:26;;6229:2;6221:6;6217:15;6203:29;;6250:1;6260:195;6274:6;6271:1;6268:13;6260:195;;;6339:13;;-1:-1:-1;;;;;6335:39:1;6323:52;;6430:15;;;;6395:12;;;;6371:1;6289:9;6260:195;;;-1:-1:-1;;;;;;;6511:32:1;;;;6506:2;6491:18;;6484:60;-1:-1:-1;;;6575:3:1;6560:19;6553:35;6472:3;5614:980;-1:-1:-1;;;5614:980:1:o;6788:128::-;6828:3;6859:1;6855:6;6852:1;6849:13;6846:39;;;6865:18;;:::i;:::-;-1:-1:-1;6901:9:1;;6788:128::o;6921:217::-;6961:1;6987;6977:132;;7031:10;7026:3;7022:20;7019:1;7012:31;7066:4;7063:1;7056:15;7094:4;7091:1;7084:15;6977:132;-1:-1:-1;7123:9:1;;6921:217::o;7143:168::-;7183:7;7249:1;7245;7241:6;7237:14;7234:1;7231:21;7226:1;7219:9;7212:17;7208:45;7205:71;;;7256:18;;:::i;:::-;-1:-1:-1;7296:9:1;;7143:168::o;7316:125::-;7356:4;7384:1;7381;7378:8;7375:34;;;7389:18;;:::i;:::-;-1:-1:-1;7426:9:1;;7316:125::o;7446:380::-;7525:1;7521:12;;;;7568;;;7589:61;;7643:4;7635:6;7631:17;7621:27;;7589:61;7696:2;7688:6;7685:14;7665:18;7662:38;7659:161;;;7742:10;7737:3;7733:20;7730:1;7723:31;7777:4;7774:1;7767:15;7805:4;7802:1;7795:15;7659:161;;7446:380;;;:::o;7831:127::-;7892:10;7887:3;7883:20;7880:1;7873:31;7923:4;7920:1;7913:15;7947:4;7944:1;7937:15;7963:127;8024:10;8019:3;8015:20;8012:1;8005:31;8055:4;8052:1;8045:15;8079:4;8076:1;8069:15;8227:131;-1:-1:-1;;;;;8302:31:1;;8292:42;;8282:70;;8348:1;8345;8338:12

Swarm Source

ipfs://17ef7275239c2e7cdaaf4425dc261ec08ecbb6d07d890f9095fe297d7c6db144

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.