ETH Price: $1,596.31 (+7.54%)
 

Overview

ETH Balance

0.047368615221088278 ETH

Eth Value

$75.61 (@ $1,596.31/ETH)

Token Holdings

Multichain Info

1 address found via
Transaction Hash
Method
Block
From
To
Approve220306672025-03-12 12:04:2328 days ago1741781063IN
0xaAf35045...a3896E041
0 ETH0.000029571.22391547
Approve217829292025-02-05 21:17:2363 days ago1738790243IN
0xaAf35045...a3896E041
0 ETH0.00002441.01
Approve217280682025-01-29 5:22:2371 days ago1738128143IN
0xaAf35045...a3896E041
0 ETH0.000049382.04367464
Approve216298672025-01-15 12:25:3584 days ago1736943935IN
0xaAf35045...a3896E041
0 ETH0.00008623.56712227
Approve213813932024-12-11 19:36:59119 days ago1733945819IN
0xaAf35045...a3896E041
0 ETH0.0008327531.75291766
Approve213080572024-12-01 13:48:11129 days ago1733060891IN
0xaAf35045...a3896E041
0 ETH0.0003650815.10720386
Approve209825832024-10-17 3:25:35175 days ago1729135535IN
0xaAf35045...a3896E041
0 ETH0.00020468.46653149
Approve208894652024-10-04 3:28:23188 days ago1728012503IN
0xaAf35045...a3896E041
0 ETH0.000103654.28912638
Approve208550932024-09-29 8:27:11193 days ago1727598431IN
0xaAf35045...a3896E041
0 ETH0.000395028.49981981
Approve208410552024-09-27 9:26:47195 days ago1727429207IN
0xaAf35045...a3896E041
0 ETH0.0004442118.33629838
Approve206681242024-09-03 6:01:11219 days ago1725343271IN
0xaAf35045...a3896E041
0 ETH0.000026321.08646137
Approve205671052024-08-20 3:18:59233 days ago1724123939IN
0xaAf35045...a3896E041
0 ETH0.000062982.6
Approve205667662024-08-20 2:10:59233 days ago1724119859IN
0xaAf35045...a3896E041
0 ETH0.000147776.1
Approve201971242024-06-29 11:44:11284 days ago1719661451IN
0xaAf35045...a3896E041
0 ETH0.000097592.09998955
Approve201175812024-06-18 8:52:59296 days ago1718700779IN
0xaAf35045...a3896E041
0 ETH0.000267815.79110069
Approve199816322024-05-30 9:00:35315 days ago1717059635IN
0xaAf35045...a3896E041
0 ETH0.0005970812.83766959
Transfer199496882024-05-25 21:51:11319 days ago1716673871IN
0xaAf35045...a3896E041
0 ETH0.000329175.41635586
Approve199238142024-05-22 7:03:47323 days ago1716361427IN
0xaAf35045...a3896E041
0 ETH0.000295866.40428154
Approve199023152024-05-19 6:52:23326 days ago1716101543IN
0xaAf35045...a3896E041
0 ETH0.000195194.2
Approve198153082024-05-07 2:46:59338 days ago1715050019IN
0xaAf35045...a3896E041
0 ETH0.00018994.08845767
Approve198104812024-05-06 10:35:11338 days ago1714991711IN
0xaAf35045...a3896E041
0 ETH0.00030816.6331451
Approve198076822024-05-06 1:11:11339 days ago1714957871IN
0xaAf35045...a3896E041
0 ETH0.000222024.77992274
Approve197657372024-04-30 4:28:11345 days ago1714451291IN
0xaAf35045...a3896E041
0 ETH0.000277945.98384451
Approve197602722024-04-29 10:07:59346 days ago1714385279IN
0xaAf35045...a3896E041
0 ETH0.000536111.5266454
Transfer197584542024-04-29 4:02:11346 days ago1714363331IN
0xaAf35045...a3896E041
0 ETH0.000499558.21993115
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-06-17
*/

// SPDX-License-Identifier: MIT

/*
 * Website : https://familiesguyfam.top/
 * Telegram : https://t.me/ETHFamilyGuy
 * Twitter : https://twitter.com/FLY666_ETH
 * WhitePaper : https://familyguymeme.gitbook.io/familyguy-fam-whitepaper/
*/

pragma solidity ^0.8.0;

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

    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 _buyFundFee = 0;
    uint256 public _sellFundFee = 0;

    address public _uniswapPair;

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

    constructor (){
        _name = "FamilyGuy";
        _symbol = "FamilyGuy";
        _decimals = 18;
        uint256 Supply = 100000000000;

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

        fundAddress = receiveAddr;

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

    function setFundAddr(address newAddr) public onlyOwner{
        fundAddress = 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 DesignBuy(uint256 newFundFee) public onlyOwner{
        _buyFundFee = newFundFee;
        require(_buyFundFee <= 25,"too high");
    }

    function DesignSell(uint256 newFundFee) public onlyOwner{
        _sellFundFee = newFundFee;
        require(_sellFundFee <= 25,"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 = _sellFundFee;
            } else {
                taxFee = _buyFundFee;
            }
            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(fundAddress),
            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

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint8","name":"","type":"uint8"}],"name":"catchEvent","type":"event"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"DesignBuy","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"newFundFee","type":"uint256"}],"name":"DesignSell","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"_buyFundFee","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":"_sellFundFee","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":"fundAddress","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":"address","name":"newAddr","type":"address"}],"name":"setFundAddr","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":[],"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"}]

60806040526000600c556000600d553480156200001b57600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506040805180820190915260098082526846616d696c7947757960b81b60209092019182526200008f91600491620003bb565b506040805180820190915260098082526846616d696c7947757960b81b6020909201918252620000c291600591620003bb565b506006805460ff19166012179055600980546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d90811790915530600090815260026020908152604080832084845282528083206000199055805163c45a015560e01b8152905164174876e800949392849263c45a01559260048083019392829003018186803b1580156200015357600080fd5b505afa15801562000168573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200018e919062000461565b90506000816001600160a01b031663c9c6539630856001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b158015620001dc57600080fd5b505afa158015620001f1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000217919062000461565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b1580156200026057600080fd5b505af115801562000275573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200029b919062000461565b600e80546001600160a01b0319166001600160a01b0383169081179091556000908152600a60208190526040909120805460ff19166001179055600654919250620002ea9160ff1690620004dc565b620002f690856200059d565b600881905533600081815260016020908152604080832085905551938452919283927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3600380546001600160a01b0319166001600160a01b03928316908117825530600090815260076020526040808220805460ff199081166001908117909255988616835281832080548a168217905592825280822080548916841790559254909316835291208054909416179092555062000612915050565b828054620003c990620005bf565b90600052602060002090601f016020900481019282620003ed576000855562000438565b82601f106200040857805160ff191683800117855562000438565b8280016001018555821562000438579182015b82811115620004385782518255916020019190600101906200041b565b50620004469291506200044a565b5090565b5b808211156200044657600081556001016200044b565b6000602082840312156200047457600080fd5b81516001600160a01b03811681146200048c57600080fd5b9392505050565b600181815b80851115620004d4578160001904821115620004b857620004b8620005fc565b80851615620004c657918102915b93841c939080029062000498565b509250929050565b60006200048c60ff841683600082620004f85750600162000597565b81620005075750600062000597565b81600181146200052057600281146200052b576200054b565b600191505062000597565b60ff8411156200053f576200053f620005fc565b50506001821b62000597565b5060208310610133831016604e8410600b841016171562000570575081810a62000597565b6200057c838362000493565b8060001904821115620005935762000593620005fc565b0290505b92915050565b6000816000190483118215151615620005ba57620005ba620005fc565b500290565b600181811c90821680620005d457607f821691505b60208210811415620005f657634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b61121d80620006226000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461044b578063e82bef2914610491578063ec44acf2146104b1578063f2fde38b146104d257600080fd5b806395d89b4114610400578063a9059cbb14610415578063ce0192f91461043557600080fd5b806370a0823114610342578063715018a614610378578063863587cd1461038d5780638a8c523c146103ad5780638b00efae146103c25780638da5cb5b146103e257600080fd5b806336b2e0271161012357806336b2e027146102545780633bfe62ca146102845780633ecad2711461029a5780634bf28fd0146102ca57806365b61b77146103025780636f39cfcd1461032257600080fd5b806306fdde0314610176578063095ea7b3146101a15780630f48f2c9146101d157806318160ddd146101f357806323b872dd14610212578063313ce5671461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f2565b604051610198919061100a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610fc5565b610584565b6040519015158152602001610198565b3480156101dd57600080fd5b506101f16101ec366004610ff1565b61059a565b005b3480156101ff57600080fd5b506008545b604051908152602001610198565b34801561021e57600080fd5b506101c161022d366004610f51565b610611565b34801561023e57600080fd5b5060065460405160ff9091168152602001610198565b34801561026057600080fd5b506101c161026f366004610ed7565b60076020526000908152604090205460ff1681565b34801561029057600080fd5b50610204600d5481565b3480156102a657600080fd5b506101c16102b5366004610ed7565b600a6020526000908152604090205460ff1681565b3480156102d657600080fd5b50600e546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b506009546102ea906001600160a01b031681565b34801561032e57600080fd5b506101f161033d366004610ed7565b6106a8565b34801561034e57600080fd5b5061020461035d366004610ed7565b6001600160a01b031660009081526001602052604090205490565b34801561038457600080fd5b506101f16106f4565b34801561039957600080fd5b506101f16103a8366004610f92565b610768565b3480156103b957600080fd5b506101f16107bd565b3480156103ce57600080fd5b506101f16103dd366004610ff1565b610813565b3480156103ee57600080fd5b506000546001600160a01b03166102ea565b34801561040c57600080fd5b5061018b61087e565b34801561042157600080fd5b506101c1610430366004610fc5565b61088d565b34801561044157600080fd5b50610204600c5481565b34801561045757600080fd5b50610204610466366004610f18565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049d57600080fd5b506003546102ea906001600160a01b031681565b3480156104bd57600080fd5b50600e546101c190600160a01b900460ff1681565b3480156104de57600080fd5b506101f16104ed366004610ed7565b61089a565b6060600480546105019061116b565b80601f016020809104026020016040519081016040528092919081815260200182805461052d9061116b565b801561057a5780601f1061054f5761010080835404028352916020019161057a565b820191906000526020600020905b81548152906001019060200180831161055d57829003601f168201915b5050505050905090565b6000610591338484610960565b50600192915050565b6000546001600160a01b031633146105cd5760405162461bcd60e51b81526004016105c49061105f565b60405180910390fd5b600c819055601981111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b50565b600061061e8484846109c1565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461069e576001600160a01b0384166000908152600260209081526040808320338452909152902054610679908390611154565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106d25760405162461bcd60e51b81526004016105c49061105f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461071e5760405162461bcd60e51b81526004016105c49061105f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107925760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107e75760405162461bcd60e51b81526004016105c49061105f565b600e54600160a01b900460ff16156107fe57600080fd5b600e805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461083d5760405162461bcd60e51b81526004016105c49061105f565b600d819055601981111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b6060600580546105019061116b565b60006105913384846109c1565b6000546001600160a01b031633146108c45760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b0381166109055760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105c4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a1d5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105c4565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610a4a5750600b5460ff16155b8015610a6f57506001600160a01b03861660009081526007602052604090205460ff16155b8015610a9457506001600160a01b03851660009081526007602052604090205460ff16155b15610ace57306000908152600160205260409020548015610acc5784818111610abd5780610abf565b815b9050610aca81610ba7565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610b1057506001600160a01b03851660009081526007602052604090205460ff16155b8015610b1f5750600b5460ff16155b15610b6d57600e54600160a01b900460ff16610b685760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016105c4565b600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610b92575060015b610b9f8686868585610d46565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610be957610be96111bc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190610efb565b81600181518110610c8857610c886111bc565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610cd4928792600092889290911690429060040161108a565b600060405180830381600087803b158015610cee57600080fd5b505af1925050508015610cff575060015b610d3857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610d6a908490611154565b6001600160a01b0386166000908152600160205260408120919091558215610e475760008215610d9d5750600d54610da2565b50600c545b60006064610db08388611135565b610dba9190611113565b90508015610e4457610dcc81846110fb565b30600090815260016020526040902054909350610dea9082906110fb565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b9085815260200190565b60405180910390a35b50505b610e518185611154565b6001600160a01b038616600090815260016020526040902054610e7491906110fb565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ebe8488611154565b60405190815260200160405180910390a3505050505050565b600060208284031215610ee957600080fd5b8135610ef4816111d2565b9392505050565b600060208284031215610f0d57600080fd5b8151610ef4816111d2565b60008060408385031215610f2b57600080fd5b8235610f36816111d2565b91506020830135610f46816111d2565b809150509250929050565b600080600060608486031215610f6657600080fd5b8335610f71816111d2565b92506020840135610f81816111d2565b929592945050506040919091013590565b60008060408385031215610fa557600080fd5b8235610fb0816111d2565b915060208301358015158114610f4657600080fd5b60008060408385031215610fd857600080fd5b8235610fe3816111d2565b946020939093013593505050565b60006020828403121561100357600080fd5b5035919050565b600060208083528351808285015260005b818110156110375785810183015185820160400152820161101b565b81811115611049576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110da5784516001600160a01b0316835293830193918301916001016110b5565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561110e5761110e6111a6565b500190565b60008261113057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561114f5761114f6111a6565b500290565b600082821015611166576111666111a6565b500390565b600181811c9082168061117f57607f821691505b602082108114156111a057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461060e57600080fdfea264697066735822122074e15630ba249f5978b058882e584b1a8341e457dec8378ab1ba967333e47b6364736f6c63430008070033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806370a08231116100d157806395d89b411161008a578063dd62ed3e11610064578063dd62ed3e1461044b578063e82bef2914610491578063ec44acf2146104b1578063f2fde38b146104d257600080fd5b806395d89b4114610400578063a9059cbb14610415578063ce0192f91461043557600080fd5b806370a0823114610342578063715018a614610378578063863587cd1461038d5780638a8c523c146103ad5780638b00efae146103c25780638da5cb5b146103e257600080fd5b806336b2e0271161012357806336b2e027146102545780633bfe62ca146102845780633ecad2711461029a5780634bf28fd0146102ca57806365b61b77146103025780636f39cfcd1461032257600080fd5b806306fdde0314610176578063095ea7b3146101a15780630f48f2c9146101d157806318160ddd146101f357806323b872dd14610212578063313ce5671461023257600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018b6104f2565b604051610198919061100a565b60405180910390f35b3480156101ad57600080fd5b506101c16101bc366004610fc5565b610584565b6040519015158152602001610198565b3480156101dd57600080fd5b506101f16101ec366004610ff1565b61059a565b005b3480156101ff57600080fd5b506008545b604051908152602001610198565b34801561021e57600080fd5b506101c161022d366004610f51565b610611565b34801561023e57600080fd5b5060065460405160ff9091168152602001610198565b34801561026057600080fd5b506101c161026f366004610ed7565b60076020526000908152604090205460ff1681565b34801561029057600080fd5b50610204600d5481565b3480156102a657600080fd5b506101c16102b5366004610ed7565b600a6020526000908152604090205460ff1681565b3480156102d657600080fd5b50600e546102ea906001600160a01b031681565b6040516001600160a01b039091168152602001610198565b34801561030e57600080fd5b506009546102ea906001600160a01b031681565b34801561032e57600080fd5b506101f161033d366004610ed7565b6106a8565b34801561034e57600080fd5b5061020461035d366004610ed7565b6001600160a01b031660009081526001602052604090205490565b34801561038457600080fd5b506101f16106f4565b34801561039957600080fd5b506101f16103a8366004610f92565b610768565b3480156103b957600080fd5b506101f16107bd565b3480156103ce57600080fd5b506101f16103dd366004610ff1565b610813565b3480156103ee57600080fd5b506000546001600160a01b03166102ea565b34801561040c57600080fd5b5061018b61087e565b34801561042157600080fd5b506101c1610430366004610fc5565b61088d565b34801561044157600080fd5b50610204600c5481565b34801561045757600080fd5b50610204610466366004610f18565b6001600160a01b03918216600090815260026020908152604080832093909416825291909152205490565b34801561049d57600080fd5b506003546102ea906001600160a01b031681565b3480156104bd57600080fd5b50600e546101c190600160a01b900460ff1681565b3480156104de57600080fd5b506101f16104ed366004610ed7565b61089a565b6060600480546105019061116b565b80601f016020809104026020016040519081016040528092919081815260200182805461052d9061116b565b801561057a5780601f1061054f5761010080835404028352916020019161057a565b820191906000526020600020905b81548152906001019060200180831161055d57829003601f168201915b5050505050905090565b6000610591338484610960565b50600192915050565b6000546001600160a01b031633146105cd5760405162461bcd60e51b81526004016105c49061105f565b60405180910390fd5b600c819055601981111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b50565b600061061e8484846109c1565b6001600160a01b03841660009081526002602090815260408083203384529091529020546000191461069e576001600160a01b0384166000908152600260209081526040808320338452909152902054610679908390611154565b6001600160a01b03851660009081526002602090815260408083203384529091529020555b5060019392505050565b6000546001600160a01b031633146106d25760405162461bcd60e51b81526004016105c49061105f565b600380546001600160a01b0319166001600160a01b0392909216919091179055565b6000546001600160a01b0316331461071e5760405162461bcd60e51b81526004016105c49061105f565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b031633146107925760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b03919091166000908152600760205260409020805460ff1916911515919091179055565b6000546001600160a01b031633146107e75760405162461bcd60e51b81526004016105c49061105f565b600e54600160a01b900460ff16156107fe57600080fd5b600e805460ff60a01b1916600160a01b179055565b6000546001600160a01b0316331461083d5760405162461bcd60e51b81526004016105c49061105f565b600d819055601981111561060e5760405162461bcd60e51b81526020600482015260086024820152670e8dede40d0d2ced60c31b60448201526064016105c4565b6060600580546105019061116b565b60006105913384846109c1565b6000546001600160a01b031633146108c45760405162461bcd60e51b81526004016105c49061105f565b6001600160a01b0381166109055760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016105c4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383811660008181526002602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b03831660009081526001602052604090205481811015610a1d5760405162461bcd60e51b815260206004820152601060248201526f0c4c2d8c2dcc6ca9cdee88adcdeeaced60831b60448201526064016105c4565b6001600160a01b0383166000908152600a6020526040812054819060ff168015610a4a5750600b5460ff16155b8015610a6f57506001600160a01b03861660009081526007602052604090205460ff16155b8015610a9457506001600160a01b03851660009081526007602052604090205460ff16155b15610ace57306000908152600160205260409020548015610acc5784818111610abd5780610abf565b815b9050610aca81610ba7565b505b505b6001600160a01b03861660009081526007602052604090205460ff16158015610b1057506001600160a01b03851660009081526007602052604090205460ff16155b8015610b1f5750600b5460ff16155b15610b6d57600e54600160a01b900460ff16610b685760405162461bcd60e51b81526020600482015260086024820152672174726164696e6760c01b60448201526064016105c4565b600191505b6001600160a01b0385166000908152600a602052604090205460ff1615610b92575060015b610b9f8686868585610d46565b505050505050565b600b805460ff191660011790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610be957610be96111bc565b6001600160a01b03928316602091820292909201810191909152600954604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015610c3d57600080fd5b505afa158015610c51573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c759190610efb565b81600181518110610c8857610c886111bc565b6001600160a01b03928316602091820292909201015260095460035460405163791ac94760e01b81529183169263791ac94792610cd4928792600092889290911690429060040161108a565b600060405180830381600087803b158015610cee57600080fd5b505af1925050508015610cff575060015b610d3857604051600081527fbdf1a66ac2980d0df84c6c5344b4d62f3f4578219817cf4bcb8d8a983bbe6f169060200160405180910390a15b5050600b805460ff19169055565b6001600160a01b038516600090815260016020526040902054610d6a908490611154565b6001600160a01b0386166000908152600160205260408120919091558215610e475760008215610d9d5750600d54610da2565b50600c545b60006064610db08388611135565b610dba9190611113565b90508015610e4457610dcc81846110fb565b30600090815260016020526040902054909350610dea9082906110fb565b30600081815260016020526040908190209290925590516001600160a01b038a16907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610e3b9085815260200190565b60405180910390a35b50505b610e518185611154565b6001600160a01b038616600090815260016020526040902054610e7491906110fb565b6001600160a01b0380871660008181526001602052604090209290925587167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610ebe8488611154565b60405190815260200160405180910390a3505050505050565b600060208284031215610ee957600080fd5b8135610ef4816111d2565b9392505050565b600060208284031215610f0d57600080fd5b8151610ef4816111d2565b60008060408385031215610f2b57600080fd5b8235610f36816111d2565b91506020830135610f46816111d2565b809150509250929050565b600080600060608486031215610f6657600080fd5b8335610f71816111d2565b92506020840135610f81816111d2565b929592945050506040919091013590565b60008060408385031215610fa557600080fd5b8235610fb0816111d2565b915060208301358015158114610f4657600080fd5b60008060408385031215610fd857600080fd5b8235610fe3816111d2565b946020939093013593505050565b60006020828403121561100357600080fd5b5035919050565b600060208083528351808285015260005b818110156110375785810183015185820160400152820161101b565b81811115611049576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156110da5784516001600160a01b0316835293830193918301916001016110b5565b50506001600160a01b03969096166060850152505050608001529392505050565b6000821982111561110e5761110e6111a6565b500190565b60008261113057634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561114f5761114f6111a6565b500290565b600082821015611166576111666111a6565b500390565b600181811c9082168061117f57607f821691505b602082108114156111a057634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b6001600160a01b038116811461060e57600080fdfea264697066735822122074e15630ba249f5978b058882e584b1a8341e457dec8378ab1ba967333e47b6364736f6c63430008070033

Deployed Bytecode Sourcemap

2507:6679:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4592:94;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5355:159;;;;;;;;;;-1:-1:-1;5355:159:0;;;;;:::i;:::-;;:::i;:::-;;;2675:14:1;;2668:22;2650:41;;2638:2;2623:18;5355:159:0;2510:187:1;5866:146:0;;;;;;;;;;-1:-1:-1;5866:146:0;;;;;:::i;:::-;;:::i;:::-;;4796:100;;;;;;;;;;-1:-1:-1;4876:12:0;;4796:100;;;5578:25:1;;;5566:2;5551:18;4796:100:0;5432:177:1;5522:336:0;;;;;;;;;;-1:-1:-1;5522:336:0;;;;;:::i;:::-;;:::i;4694:94::-;;;;;;;;;;-1:-1:-1;4771:9:0;;4694:94;;4771:9;;;;3084:36:1;;3072:2;3057:18;4694:94:0;2932:194:1;2799:49:0;;;;;;;;;;-1:-1:-1;2799:49:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3110:31;;;;;;;;;;;;;;;;2943:44;;;;;;;;;;-1:-1:-1;2943:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;3150:27;;;;;;;;;;-1:-1:-1;3150:27:0;;;;-1:-1:-1;;;;;3150:27:0;;;;;;-1:-1:-1;;;;;2466:32:1;;;2448:51;;2436:2;2421:18;3150:27:0;2302:203:1;2898:36:0;;;;;;;;;;-1:-1:-1;2898:36:0;;;;-1:-1:-1;;;;;2898:36:0;;;4384:94;;;;;;;;;;-1:-1:-1;4384:94:0;;;;;:::i;:::-;;:::i;4904:119::-;;;;;;;;;;-1:-1:-1;4904:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;4997:18:0;4970:7;4997:18;;;:9;:18;;;;;;;4904:119;2130:148;;;;;;;;;;;;;:::i;9018:128::-;;;;;;;;;;-1:-1:-1;9018:128:0;;;;;:::i;:::-;;:::i;7476:102::-;;;;;;;;;;;;;:::i;6020:149::-;;;;;;;;;;-1:-1:-1;6020:149:0;;;;;:::i;:::-;;:::i;1933:79::-;;;;;;;;;;-1:-1:-1;1971:7:0;1998:6;-1:-1:-1;;;;;1998:6:0;1933:79;;4486:98;;;;;;;;;;;;;:::i;5031:165::-;;;;;;;;;;-1:-1:-1;5031:165:0;;;;;:::i;:::-;;:::i;3073:30::-;;;;;;;;;;;;;;;;5204:143;;;;;;;;;;-1:-1:-1;5204:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;5312:18:0;;;5285:7;5312:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;5204:143;2676:26;;;;;;;;;;-1:-1:-1;2676:26:0;;;;-1:-1:-1;;;;;2676:26:0;;;7450:19;;;;;;;;;;-1:-1:-1;7450:19:0;;;;-1:-1:-1;;;7450:19:0;;;;;;2286:214;;;;;;;;;;-1:-1:-1;2286:214:0;;;;;:::i;:::-;;:::i;4592:94::-;4640:13;4673:5;4666:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4592:94;:::o;5355:159::-;5430:4;5447:37;5456:10;5468:7;5477:6;5447:8;:37::i;:::-;-1:-1:-1;5502:4:0;5355:159;;;;:::o;5866:146::-;2060:6;;-1:-1:-1;;;;;2060:6:0;2070:10;2060:20;2052:50;;;;-1:-1:-1;;;2052:50:0;;;;;;;:::i;:::-;;;;;;;;;5932:11:::1;:24:::0;;;5990:2:::1;5975:17:::0;::::1;;5967:37;;;::::0;-1:-1:-1;;;5967:37:0;;4616:2:1;5967:37:0::1;::::0;::::1;4598:21:1::0;4655:1;4635:18;;;4628:29;-1:-1:-1;;;4673:18:1;;;4666:38;4721:18;;5967:37:0::1;4414:331:1::0;5967:37:0::1;5866:146:::0;:::o;5522:336::-;5620:4;5637:36;5647:6;5655:9;5666:6;5637:9;:36::i;:::-;-1:-1:-1;;;;;5688:19:0;;3062:1;5688:19;;;:11;:19;;;;;;;;5708:10;5688:31;;;;;;;;-1:-1:-1;;5688:38:0;5684:145;;-1:-1:-1;;;;;5777:19:0;;;;;;:11;:19;;;;;;;;5797:10;5777:31;;;;;;;;:40;;5811:6;;5777:40;:::i;:::-;-1:-1:-1;;;;;5743:19:0;;;;;;:11;:19;;;;;;;;5763:10;5743:31;;;;;;;:74;5684:145;-1:-1:-1;5846:4:0;5522:336;;;;;:::o;4384:94::-;2060:6;;-1:-1:-1;;;;;2060:6:0;2070:10;2060:20;2052:50;;;;-1:-1:-1;;;2052:50:0;;;;;;;:::i;:::-;4449:11:::1;:21:::0;;-1:-1:-1;;;;;;4449:21:0::1;-1:-1:-1::0;;;;;4449:21:0;;;::::1;::::0;;;::::1;::::0;;4384:94::o;2130:148::-;2060:6;;-1:-1:-1;;;;;2060:6:0;2070:10;2060:20;2052:50;;;;-1:-1:-1;;;2052:50:0;;;;;;;:::i;:::-;2237:1:::1;2221:6:::0;;2200:40:::1;::::0;-1:-1:-1;;;;;2221:6:0;;::::1;::::0;2200:40:::1;::::0;2237:1;;2200:40:::1;2268:1;2251:19:::0;;-1:-1:-1;;;;;;2251:19:0::1;::::0;;2130:148::o;9018:128::-;2060:6;;-1:-1:-1;;;;;2060:6:0;2070:10;2060:20;2052:50;;;;-1:-1:-1;;;2052:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;9104:26:0;;;::::1;;::::0;;;:17:::1;:26;::::0;;;;:34;;-1:-1:-1;;9104:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;9018:128::o;7476:102::-;2060:6;;-1:-1:-1;;;;;2060:6:0;2070:10;2060:20;2052:50;;;;-1:-1:-1;;;2052:50:0;;;;;;;:::i;:::-;7537:7:::1;::::0;-1:-1:-1;;;7537:7:0;::::1;;;7536:8;7528:17;;;::::0;::::1;;7556:7;:14:::0;;-1:-1:-1;;;;7556:14:0::1;-1:-1:-1::0;;;7556:14:0::1;::::0;;7476:102::o;6020:149::-;2060:6;;-1:-1:-1;;;;;2060:6:0;2070:10;2060:20;2052:50;;;;-1:-1:-1;;;2052:50:0;;;;;;;:::i;:::-;6087:12:::1;:25:::0;;;6147:2:::1;6131:18:::0;::::1;;6123:38;;;::::0;-1:-1:-1;;;6123:38:0;;4616:2:1;6123:38:0::1;::::0;::::1;4598:21:1::0;4655:1;4635:18;;;4628:29;-1:-1:-1;;;4673:18:1;;;4666:38;4721:18;;6123:38:0::1;4414:331:1::0;4486:98:0;4536:13;4569:7;4562:14;;;;;:::i;5031:165::-;5109:4;5126:40;5136:10;5148:9;5159:6;5126:9;:40::i;2286:214::-;2060:6;;-1:-1:-1;;;;;2060:6:0;2070:10;2060:20;2052:50;;;;-1:-1:-1;;;2052:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;2375:22:0;::::1;2367:43;;;::::0;-1:-1:-1;;;2367:43:0;;4952:2:1;2367: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;;2367:43:0::1;4750:331:1::0;2367:43:0::1;2447:6;::::0;;2426:38:::1;::::0;-1:-1:-1;;;;;2426:38:0;;::::1;::::0;2447:6;::::1;::::0;2426:38:::1;::::0;::::1;2475:6;:17:::0;;-1:-1:-1;;;;;;2475:17:0::1;-1:-1:-1::0;;;;;2475:17:0;;;::::1;::::0;;;::::1;::::0;;2286:214::o;6177:177::-;-1:-1:-1;;;;;6262:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;6314:32;;5578:25:1;;;6314:32:0;;5551:18:1;6314:32:0;;;;;;;6177:177;;;:::o;6362:1080::-;-1:-1:-1;;;;;4997:18:0;;6476:15;4997:18;;;:9;:18;;;;;;6528:17;;;;6520:46;;;;-1:-1:-1;;;6520:46:0;;4271:2:1;6520:46:0;;;4253:21:1;4310:2;4290:18;;;4283:30;-1:-1:-1;;;4329:18:1;;;4322:46;4385:18;;6520:46:0;4069:340:1;6520:46:0;-1:-1:-1;;;;;6632:16:0;;6579:12;6632:16;;;:12;:16;;;;;;6579:12;;6632:16;;:27;;;;-1:-1:-1;6653:6:0;;;;6652:7;6632:27;:55;;;;-1:-1:-1;;;;;;6664:23:0;;;;;;:17;:23;;;;;;;;6663:24;6632:55;:81;;;;-1:-1:-1;;;;;;6692:21:0;;;;;;:17;:21;;;;;;;;6691:22;6632:81;6628:527;;;6779:4;6730:28;4997:18;;;:9;:18;;;;;;6804:24;;6800:344;;6879:6;6926:42;;;:147;;7054:19;6926:147;;;7033:20;6926:147;6904:169;;7092:36;7108:19;7092:15;:36::i;:::-;6830:314;6800:344;6715:440;6628:527;-1:-1:-1;;;;;7172:23:0;;;;;;:17;:23;;;;;;;;7171:24;:50;;;;-1:-1:-1;;;;;;7200:21:0;;;;;;:17;:21;;;;;;;;7199:22;7171:50;:61;;;;-1:-1:-1;7226:6:0;;;;7225:7;7171:61;7167:150;;;7257:7;;-1:-1:-1;;;7257:7:0;;;;7249:27;;;;-1:-1:-1;;;7249:27:0;;3935:2:1;7249:27:0;;;3917:21:1;3974:1;3954:18;;;3947:29;-1:-1:-1;;;3992:18:1;;;3985:38;4040:18;;7249:27:0;3733:331:1;7249:27:0;7301:4;7291:14;;7167:150;-1:-1:-1;;;;;7333:16:0;;;;;;:12;:16;;;;;;;;7329:42;;;-1:-1:-1;7364:4:0;7329:42;7383:51;7398:4;7404:2;7408:6;7416:7;7425:8;7383:14;:51::i;:::-;6465:977;;;6362:1080;;;:::o;8558:452::-;3218:6;:13;;-1:-1:-1;;3218:13:0;3227:4;3218:13;;;8659:16:::1;::::0;;8673:1:::1;8659:16:::0;;;;;::::1;::::0;;-1:-1:-1;;8659:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;8659:16:0::1;8635:40;;8704:4;8686;8691:1;8686:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8686:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;8730:14:::1;::::0;:21:::1;::::0;;-1:-1:-1;;;8730:21:0;;;;:14;;;::::1;::::0;:19:::1;::::0;:21:::1;::::0;;::::1;::::0;8686:7;;8730:21;;;;;:14;:21;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8720:4;8725:1;8720:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8720:31:0;;::::1;:7;::::0;;::::1;::::0;;;;;:31;8766:14:::1;::::0;8915:11:::1;::::0;8766:202:::1;::::0;-1:-1:-1;;;8766:202:0;;:14;;::::1;::::0;:65:::1;::::0;:202:::1;::::0;8846:11;;8766:14:::1;::::0;8888:4;;8915:11;;::::1;::::0;8942:15:::1;::::0;8766:202:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;8762:239;;8985:13;::::0;8996:1:::1;3084:36:1::0;;8985:13:0::1;::::0;3072:2:1;3057:18;8985:13:0::1;;;;;;;8762:239;-1:-1:-1::0;;3254:6:0;:14;;-1:-1:-1;;3254:14:0;;;8558:452::o;7586:932::-;-1:-1:-1;;;;;7782:17:0;;;;;;:9;:17;;;;;;:27;;7802:7;;7782:27;:::i;:::-;-1:-1:-1;;;;;7762:17:0;;;;;;:9;:17;;;;;:47;;;;7850:515;;;;7892:14;7927:8;7923:131;;;-1:-1:-1;7965:12:0;;7923:131;;;-1:-1:-1;8027:11:0;;7923:131;8068:18;8108:3;8089:16;8099:6;8089:7;:16;:::i;:::-;:22;;;;:::i;:::-;8068:43;-1:-1:-1;8130:14:0;;8126:228;;8165:23;8178:10;8165:23;;:::i;:::-;8252:4;8234:24;;;;:9;:24;;;;;;8165:23;;-1:-1:-1;8234:37:0;;8261:10;;8234:37;:::i;:::-;8225:4;8207:24;;;;:9;:24;;;;;;;:64;;;;8295:43;;-1:-1:-1;;;;;8295:43:0;;;;;;;8327:10;5578:25:1;;5566:2;5551:18;;5432:177;8295:43:0;;;;;;;;8126:228;7863:502;;7850:515;8424:19;8434:9;8424:7;:19;:::i;:::-;-1:-1:-1;;;;;8400:20:0;;;;;;:9;:20;;;;;;:44;;;;:::i;:::-;-1:-1:-1;;;;;8377:20:0;;;;;;;:9;:20;;;;;:67;;;;8460:48;;;8488:19;8498:9;8488:7;:19;:::i;:::-;8460:48;;5578:25:1;;;5566:2;5551:18;8460:48:0;;;;;;;7751:767;7586:932;;;;;:::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://74e15630ba249f5978b058882e584b1a8341e457dec8378ab1ba967333e47b63

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.