ETH Price: $3,451.31 (-1.18%)
Gas: 13 Gwei

Contract

0x217557F5072246d11a029060549EF18e14F09292
 

Overview

ETH Balance

1 wei

Eth Value

Less Than $0.01 (@ $3,451.31/ETH)

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve150733222022-07-04 2:21:39745 days ago1656901299IN
0x217557F5...e14F09292
0 ETH0.0002714211.17133413
Approve146771312022-04-29 4:37:15811 days ago1651207035IN
0x217557F5...e14F09292
0 ETH0.0009038237.19919709
Approve146482552022-04-24 15:34:24815 days ago1650814464IN
0x217557F5...e14F09292
0 ETH0.0019863442.64282453
Approve145474012022-04-08 21:01:02831 days ago1649451662IN
0x217557F5...e14F09292
0 ETH0.0040059686
Approve145452132022-04-08 12:49:55831 days ago1649422195IN
0x217557F5...e14F09292
0 ETH0.0016119434.60530638
Approve145451992022-04-08 12:47:29831 days ago1649422049IN
0x217557F5...e14F09292
0 ETH0.0023221849.85261245
Approve145451912022-04-08 12:45:07831 days ago1649421907IN
0x217557F5...e14F09292
0 ETH0.0015791433.90110415
Approve145451572022-04-08 12:38:44831 days ago1649421524IN
0x217557F5...e14F09292
0 ETH0.0022264547.79746913
Approve145450742022-04-08 12:18:29831 days ago1649420309IN
0x217557F5...e14F09292
0 ETH0.0021931647.08287028
Approve145450592022-04-08 12:15:37831 days ago1649420137IN
0x217557F5...e14F09292
0 ETH0.0018201239.07438711
Approve145449812022-04-08 11:58:12831 days ago1649419092IN
0x217557F5...e14F09292
0 ETH0.0023020649.42067309
Approve145449652022-04-08 11:53:40831 days ago1649418820IN
0x217557F5...e14F09292
0 ETH0.0013762129.54463003
Approve145449282022-04-08 11:45:15831 days ago1649418315IN
0x217557F5...e14F09292
0 ETH0.0013730229.47599971
Approve145449042022-04-08 11:40:01831 days ago1649418001IN
0x217557F5...e14F09292
0 ETH0.0015874134.07858626
Approve145448192022-04-08 11:21:40831 days ago1649416900IN
0x217557F5...e14F09292
0 ETH0.002026243.49858313
Approve145448042022-04-08 11:17:57831 days ago1649416677IN
0x217557F5...e14F09292
0 ETH0.0013524729.03489116
Approve145447822022-04-08 11:13:44831 days ago1649416424IN
0x217557F5...e14F09292
0 ETH0.0019676742.24192828
Approve145447692022-04-08 11:11:28831 days ago1649416288IN
0x217557F5...e14F09292
0 ETH0.0020559544.13717786
Approve145447652022-04-08 11:09:41831 days ago1649416181IN
0x217557F5...e14F09292
0 ETH0.0017813338.24176371
Approve145447642022-04-08 11:09:34831 days ago1649416174IN
0x217557F5...e14F09292
0 ETH0.0018166539
Approve145447432022-04-08 11:03:43831 days ago1649415823IN
0x217557F5...e14F09292
0 ETH0.0014756231.67877124
Approve145447412022-04-08 11:03:33831 days ago1649415813IN
0x217557F5...e14F09292
0 ETH0.0017575937.73194139
Approve145447082022-04-08 10:57:23831 days ago1649415443IN
0x217557F5...e14F09292
0 ETH0.0020057743.06002327
Approve145447042022-04-08 10:56:43831 days ago1649415403IN
0x217557F5...e14F09292
0 ETH0.0018894640.56293592
Approve145447032022-04-08 10:56:40831 days ago1649415400IN
0x217557F5...e14F09292
0 ETH0.0020495644
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
145499962022-04-09 6:43:48831 days ago1649486628
0x217557F5...e14F09292
0.00149141 ETH
145499962022-04-09 6:43:48831 days ago1649486628
0x217557F5...e14F09292
0.00149141 ETH
145499962022-04-09 6:43:48831 days ago1649486628
0x217557F5...e14F09292
0.00298283 ETH
145474012022-04-08 21:01:02831 days ago1649451662
0x217557F5...e14F09292
0.00523058 ETH
145474012022-04-08 21:01:02831 days ago1649451662
0x217557F5...e14F09292
0.00523058 ETH
145474012022-04-08 21:01:02831 days ago1649451662
0x217557F5...e14F09292
0.01046117 ETH
145463282022-04-08 16:54:05831 days ago1649436845
0x217557F5...e14F09292
0.00142969 ETH
145463282022-04-08 16:54:05831 days ago1649436845
0x217557F5...e14F09292
0.00142969 ETH
145463282022-04-08 16:54:05831 days ago1649436845
0x217557F5...e14F09292
0.00285938 ETH
145458012022-04-08 14:52:56831 days ago1649429576
0x217557F5...e14F09292
0.00098378 ETH
145458012022-04-08 14:52:56831 days ago1649429576
0x217557F5...e14F09292
0.00098378 ETH
145458012022-04-08 14:52:56831 days ago1649429576
0x217557F5...e14F09292
0.00196757 ETH
145457642022-04-08 14:46:02831 days ago1649429162
0x217557F5...e14F09292
0.00171478 ETH
145457642022-04-08 14:46:02831 days ago1649429162
0x217557F5...e14F09292
0.00171478 ETH
145457642022-04-08 14:46:02831 days ago1649429162
0x217557F5...e14F09292
0.00342956 ETH
145455052022-04-08 13:50:51831 days ago1649425851
0x217557F5...e14F09292
0.00463492 ETH
145455052022-04-08 13:50:51831 days ago1649425851
0x217557F5...e14F09292
0.00463492 ETH
145455052022-04-08 13:50:51831 days ago1649425851
0x217557F5...e14F09292
0.00926985 ETH
145454992022-04-08 13:49:19831 days ago1649425759
0x217557F5...e14F09292
0.00233385 ETH
145454992022-04-08 13:49:19831 days ago1649425759
0x217557F5...e14F09292
0.00233385 ETH
145454992022-04-08 13:49:19831 days ago1649425759
0x217557F5...e14F09292
0.0046677 ETH
145453442022-04-08 13:16:25831 days ago1649423785
0x217557F5...e14F09292
0.00562307 ETH
145453442022-04-08 13:16:25831 days ago1649423785
0x217557F5...e14F09292
0.00562307 ETH
145453442022-04-08 13:16:25831 days ago1649423785
0x217557F5...e14F09292
0.01124614 ETH
145452262022-04-08 12:52:56831 days ago1649422376
0x217557F5...e14F09292
0.00782192 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
BuyTheDip

Compiler Version
v0.8.7+commit.e28d00a7

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, Unlicense license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2022-04-08
*/

/**
 Buy the Dip

 The world is full of scam/rugs/jeets.

 We present you BUY THE DIP token.

 What is BUYTHEDIP?

  - Buy the Dip is an unique idea born from the greatest minds.
  - Buythedip rewards its users who ever eat up the dip, with 40% of the marketing wallet.

  for example-

  Not every chart goes up constantly.
  when there is a sell off > Chart Reversal > 3 highest buys in the next leg up, will be rewarded with the 40% of
  the total accumulated tax fee. (If there is 2 eth in the marketing wallet then the 3 highest buys in the reversal will 
  split 0.8 eth.)

  - Eat the Dip and Receive 40% of the marketing wallet (split buy top 3 buys in each reversal)

  The process is a looped.

  Dev Keeps the community updated.

  Lp will be locked for a month and will be exteded at $250K MCAP
  
  Contract will be Renounced.

 BUY THE DIP

*/

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

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

library SafeMath {
    function add(uint256 a, uint256 b) internal pure returns (uint256) {
        uint256 c = a + b;
        require(c >= a, "SafeMath: addition overflow");
        return c;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return sub(a, b, "SafeMath: subtraction overflow");
    }

    function sub(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b <= a, errorMessage);
        uint256 c = a - b;
        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }
        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");
        return c;
    }

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

    function div(uint256 a, uint256 b, string memory errorMessage) internal pure returns (uint256) {
        require(b > 0, errorMessage);
        uint256 c = a / b;
        return c;
    }

}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;
    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);

    constructor () {
        address msgSender = _msgSender();
        _owner = msgSender;
        emit OwnershipTransferred(address(0), msgSender);
    }

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

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

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

}  

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

interface IUniswapV2Router02 {
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
}

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

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

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

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

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

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

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

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

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

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, _msgSender(), _allowances[sender][_msgSender()].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }

    function setCooldownEnabled(bool onoff) external onlyOwner() {
        cooldownEnabled = onoff;
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"_maxTxAmount","type":"uint256"}],"name":"MaxTxAmountUpdated","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"notbot","type":"address"}],"name":"delBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualsend","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualswap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"bots_","type":"address[]"}],"name":"setBots","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"onoff","type":"bool"}],"name":"setCooldownEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526200001a678ac7230489e8000060001962000229565b620000289060001962000203565b600855600f805462ffffff60a81b19169055678ac7230489e800006010553480156200005357600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350600c805473e6aac8f8a54384cc2a8b022bfbe41cf5e23e80ac6001600160a01b03199182168117909255600d8054909116909117905560085460026000620000da3390565b6001600160a01b03166001600160a01b031681526020019081526020016000208190555060016005600062000114620001f460201b60201c565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790553081526005909352818320805485166001908117909155600c54821684528284208054861682179055600d54909116835291208054909216179055620001853390565b6001600160a01b031673e6aac8f8a54384cc2a8b022bfbe41cf5e23e80ac6001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef678ac7230489e80000604051620001e691815260200190565b60405180910390a36200024c565b6000546001600160a01b031690565b6000828210156200022457634e487b7160e01b600052601160045260246000fd5b500390565b6000826200024757634e487b7160e01b600052601260045260246000fd5b500690565b611a04806200025c6000396000f3fe6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102cb578063b515566a146102eb578063c3c8cd801461030b578063c9567bf914610320578063dd62ed3e1461033557600080fd5b806370a082311461023c578063715018a61461025c5780638da5cb5b1461027157806395d89b411461029957600080fd5b8063273123b7116100d1578063273123b7146101c9578063313ce567146101eb5780635932ead1146102075780636fc3eaec1461022757600080fd5b806306fdde031461010e578063095ea7b31461015457806318160ddd1461018457806323b872dd146101a957600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600b81526a042555920544845204449560ac1b60208201525b60405161014b91906117bb565b60405180910390f35b34801561016057600080fd5b5061017461016f36600461165b565b61037b565b604051901515815260200161014b565b34801561019057600080fd5b50678ac7230489e800005b60405190815260200161014b565b3480156101b557600080fd5b506101746101c436600461161a565b610392565b3480156101d557600080fd5b506101e96101e43660046115a7565b6103fb565b005b3480156101f757600080fd5b506040516009815260200161014b565b34801561021357600080fd5b506101e9610222366004611753565b61044f565b34801561023357600080fd5b506101e9610497565b34801561024857600080fd5b5061019b6102573660046115a7565b6104c4565b34801561026857600080fd5b506101e96104e6565b34801561027d57600080fd5b506000546040516001600160a01b03909116815260200161014b565b3480156102a557600080fd5b5060408051808201909152600981526804255595448454449560bc1b602082015261013e565b3480156102d757600080fd5b506101746102e636600461165b565b61055a565b3480156102f757600080fd5b506101e9610306366004611687565b610567565b34801561031757600080fd5b506101e96105fd565b34801561032c57600080fd5b506101e9610633565b34801561034157600080fd5b5061019b6103503660046115e1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103883384846109f5565b5060015b92915050565b600061039f848484610b19565b6103f184336103ec856040518060600160405280602881526020016119a7602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e66565b6109f5565b5060019392505050565b6000546001600160a01b0316331461042e5760405162461bcd60e51b815260040161042590611810565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104795760405162461bcd60e51b815260040161042590611810565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600c546001600160a01b0316336001600160a01b0316146104b757600080fd5b476104c181610ea0565b50565b6001600160a01b03811660009081526002602052604081205461038c90610f25565b6000546001600160a01b031633146105105760405162461bcd60e51b815260040161042590611810565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610388338484610b19565b6000546001600160a01b031633146105915760405162461bcd60e51b815260040161042590611810565b60005b81518110156105f9576001600660008484815181106105b5576105b5611957565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105f181611926565b915050610594565b5050565b600c546001600160a01b0316336001600160a01b03161461061d57600080fd5b6000610628306104c4565b90506104c181610fa9565b6000546001600160a01b0316331461065d5760405162461bcd60e51b815260040161042590611810565b600f54600160a01b900460ff16156106b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610425565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f33082678ac7230489e800006109f5565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076491906115c4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ac57600080fd5b505afa1580156107c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e491906115c4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082c57600080fd5b505af1158015610840573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086491906115c4565b600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d7194730610894816104c4565b6000806108a96000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561090c57600080fd5b505af1158015610920573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610945919061178d565b5050600f8054670214e8348c4f000060105563ffff00ff60a01b198116630101000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109bd57600080fd5b505af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f99190611770565b6001600160a01b038316610a575760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610425565b6001600160a01b038216610ab85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610425565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b7d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610425565b6001600160a01b038216610bdf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610425565b60008111610c415760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610425565b6001600a556009600b556000546001600160a01b03848116911614801590610c7757506000546001600160a01b03838116911614155b15610e56576001600160a01b03831660009081526006602052604090205460ff16158015610cbe57506001600160a01b03821660009081526006602052604090205460ff16155b610cc757600080fd5b600f546001600160a01b038481169116148015610cf25750600e546001600160a01b03838116911614155b8015610d1757506001600160a01b03821660009081526005602052604090205460ff16155b8015610d2c5750600f54600160b81b900460ff165b15610d8957601054811115610d4057600080fd5b6001600160a01b0382166000908152600760205260409020544211610d6457600080fd5b610d6f42603c6118b6565b6001600160a01b0383166000908152600760205260409020555b600f546001600160a01b038381169116148015610db45750600e546001600160a01b03848116911614155b8015610dd957506001600160a01b03831660009081526005602052604090205460ff16155b15610de9576001600a556009600b555b6000610df4306104c4565b600f54909150600160a81b900460ff16158015610e1f5750600f546001600160a01b03858116911614155b8015610e345750600f54600160b01b900460ff165b15610e5457610e4281610fa9565b478015610e5257610e5247610ea0565b505b505b610e61838383611132565b505050565b60008184841115610e8a5760405162461bcd60e51b815260040161042591906117bb565b506000610e97848661190f565b95945050505050565b600c546001600160a01b03166108fc610eba83600261113d565b6040518115909202916000818181858888f19350505050158015610ee2573d6000803e3d6000fd5b50600d546001600160a01b03166108fc610efd83600261113d565b6040518115909202916000818181858888f193505050501580156105f9573d6000803e3d6000fd5b6000600854821115610f8c5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610425565b6000610f9661117f565b9050610fa2838261113d565b9392505050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ff157610ff1611957565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561104557600080fd5b505afa158015611059573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107d91906115c4565b8160018151811061109057611090611957565b6001600160a01b039283166020918202929092010152600e546110b691309116846109f5565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110ef908590600090869030904290600401611845565b600060405180830381600087803b15801561110957600080fd5b505af115801561111d573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b610e618383836111a2565b6000610fa283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611299565b600080600061118c6112c7565b909250905061119b828261113d565b9250505090565b6000806000806000806111b487611307565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111e69087611364565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461121590866113a6565b6001600160a01b03891660009081526002602052604090205561123781611405565b611241848361144f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161128691815260200190565b60405180910390a3505050505050505050565b600081836112ba5760405162461bcd60e51b815260040161042591906117bb565b506000610e9784866118ce565b6008546000908190678ac7230489e800006112e2828261113d565b8210156112fe57505060085492678ac7230489e8000092509050565b90939092509050565b60008060008060008060008060006113248a600a54600b54611473565b925092509250600061133461117f565b905060008060006113478e8787876114c8565b919e509c509a509598509396509194505050505091939550919395565b6000610fa283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e66565b6000806113b383856118b6565b905083811015610fa25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610425565b600061140f61117f565b9050600061141d8383611518565b3060009081526002602052604090205490915061143a90826113a6565b30600090815260026020526040902055505050565b60085461145c9083611364565b60085560095461146c90826113a6565b6009555050565b600080808061148d60646114878989611518565b9061113d565b905060006114a060646114878a89611518565b905060006114b8826114b28b86611364565b90611364565b9992985090965090945050505050565b60008080806114d78886611518565b905060006114e58887611518565b905060006114f38888611518565b90506000611505826114b28686611364565b939b939a50919850919650505050505050565b6000826115275750600061038c565b600061153383856118f0565b90508261154085836118ce565b14610fa25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610425565b80356115a281611983565b919050565b6000602082840312156115b957600080fd5b8135610fa281611983565b6000602082840312156115d657600080fd5b8151610fa281611983565b600080604083850312156115f457600080fd5b82356115ff81611983565b9150602083013561160f81611983565b809150509250929050565b60008060006060848603121561162f57600080fd5b833561163a81611983565b9250602084013561164a81611983565b929592945050506040919091013590565b6000806040838503121561166e57600080fd5b823561167981611983565b946020939093013593505050565b6000602080838503121561169a57600080fd5b823567ffffffffffffffff808211156116b257600080fd5b818501915085601f8301126116c657600080fd5b8135818111156116d8576116d861196d565b8060051b604051601f19603f830116810181811085821117156116fd576116fd61196d565b604052828152858101935084860182860187018a101561171c57600080fd5b600095505b838610156117465761173281611597565b855260019590950194938601938601611721565b5098975050505050505050565b60006020828403121561176557600080fd5b8135610fa281611998565b60006020828403121561178257600080fd5b8151610fa281611998565b6000806000606084860312156117a257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156117e8578581018301518582016040015282016117cc565b818111156117fa576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118955784516001600160a01b031683529383019391830191600101611870565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156118c9576118c9611941565b500190565b6000826118eb57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561190a5761190a611941565b500290565b60008282101561192157611921611941565b500390565b600060001982141561193a5761193a611941565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104c157600080fd5b80151581146104c157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122080c384b5dc77b6789fede6a44e52311751864ed4fc4bfda0d8b8ac464644df8364736f6c63430008070033

Deployed Bytecode

0x6080604052600436106101025760003560e01c806370a0823111610095578063a9059cbb11610064578063a9059cbb146102cb578063b515566a146102eb578063c3c8cd801461030b578063c9567bf914610320578063dd62ed3e1461033557600080fd5b806370a082311461023c578063715018a61461025c5780638da5cb5b1461027157806395d89b411461029957600080fd5b8063273123b7116100d1578063273123b7146101c9578063313ce567146101eb5780635932ead1146102075780636fc3eaec1461022757600080fd5b806306fdde031461010e578063095ea7b31461015457806318160ddd1461018457806323b872dd146101a957600080fd5b3661010957005b600080fd5b34801561011a57600080fd5b5060408051808201909152600b81526a042555920544845204449560ac1b60208201525b60405161014b91906117bb565b60405180910390f35b34801561016057600080fd5b5061017461016f36600461165b565b61037b565b604051901515815260200161014b565b34801561019057600080fd5b50678ac7230489e800005b60405190815260200161014b565b3480156101b557600080fd5b506101746101c436600461161a565b610392565b3480156101d557600080fd5b506101e96101e43660046115a7565b6103fb565b005b3480156101f757600080fd5b506040516009815260200161014b565b34801561021357600080fd5b506101e9610222366004611753565b61044f565b34801561023357600080fd5b506101e9610497565b34801561024857600080fd5b5061019b6102573660046115a7565b6104c4565b34801561026857600080fd5b506101e96104e6565b34801561027d57600080fd5b506000546040516001600160a01b03909116815260200161014b565b3480156102a557600080fd5b5060408051808201909152600981526804255595448454449560bc1b602082015261013e565b3480156102d757600080fd5b506101746102e636600461165b565b61055a565b3480156102f757600080fd5b506101e9610306366004611687565b610567565b34801561031757600080fd5b506101e96105fd565b34801561032c57600080fd5b506101e9610633565b34801561034157600080fd5b5061019b6103503660046115e1565b6001600160a01b03918216600090815260046020908152604080832093909416825291909152205490565b60006103883384846109f5565b5060015b92915050565b600061039f848484610b19565b6103f184336103ec856040518060600160405280602881526020016119a7602891396001600160a01b038a1660009081526004602090815260408083203384529091529020549190610e66565b6109f5565b5060019392505050565b6000546001600160a01b0316331461042e5760405162461bcd60e51b815260040161042590611810565b60405180910390fd5b6001600160a01b03166000908152600660205260409020805460ff19169055565b6000546001600160a01b031633146104795760405162461bcd60e51b815260040161042590611810565b600f8054911515600160b81b0260ff60b81b19909216919091179055565b600c546001600160a01b0316336001600160a01b0316146104b757600080fd5b476104c181610ea0565b50565b6001600160a01b03811660009081526002602052604081205461038c90610f25565b6000546001600160a01b031633146105105760405162461bcd60e51b815260040161042590611810565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000610388338484610b19565b6000546001600160a01b031633146105915760405162461bcd60e51b815260040161042590611810565b60005b81518110156105f9576001600660008484815181106105b5576105b5611957565b6020908102919091018101516001600160a01b03168252810191909152604001600020805460ff1916911515919091179055806105f181611926565b915050610594565b5050565b600c546001600160a01b0316336001600160a01b03161461061d57600080fd5b6000610628306104c4565b90506104c181610fa9565b6000546001600160a01b0316331461065d5760405162461bcd60e51b815260040161042590611810565b600f54600160a01b900460ff16156106b75760405162461bcd60e51b815260206004820152601760248201527f74726164696e6720697320616c7265616479206f70656e0000000000000000006044820152606401610425565b600e80546001600160a01b031916737a250d5630b4cf539739df2c5dacb4c659f2488d9081179091556106f33082678ac7230489e800006109f5565b806001600160a01b031663c45a01556040518163ffffffff1660e01b815260040160206040518083038186803b15801561072c57600080fd5b505afa158015610740573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061076491906115c4565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156107ac57600080fd5b505afa1580156107c0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107e491906115c4565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b15801561082c57600080fd5b505af1158015610840573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061086491906115c4565b600f80546001600160a01b0319166001600160a01b03928316179055600e541663f305d7194730610894816104c4565b6000806108a96000546001600160a01b031690565b60405160e088901b6001600160e01b03191681526001600160a01b03958616600482015260248101949094526044840192909252606483015290911660848201524260a482015260c4016060604051808303818588803b15801561090c57600080fd5b505af1158015610920573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610945919061178d565b5050600f8054670214e8348c4f000060105563ffff00ff60a01b198116630101000160a01b17909155600e5460405163095ea7b360e01b81526001600160a01b03918216600482015260001960248201529116915063095ea7b390604401602060405180830381600087803b1580156109bd57600080fd5b505af11580156109d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105f99190611770565b6001600160a01b038316610a575760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610425565b6001600160a01b038216610ab85760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610425565b6001600160a01b0383811660008181526004602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b038316610b7d5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610425565b6001600160a01b038216610bdf5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610425565b60008111610c415760405162461bcd60e51b815260206004820152602960248201527f5472616e7366657220616d6f756e74206d7573742062652067726561746572206044820152687468616e207a65726f60b81b6064820152608401610425565b6001600a556009600b556000546001600160a01b03848116911614801590610c7757506000546001600160a01b03838116911614155b15610e56576001600160a01b03831660009081526006602052604090205460ff16158015610cbe57506001600160a01b03821660009081526006602052604090205460ff16155b610cc757600080fd5b600f546001600160a01b038481169116148015610cf25750600e546001600160a01b03838116911614155b8015610d1757506001600160a01b03821660009081526005602052604090205460ff16155b8015610d2c5750600f54600160b81b900460ff165b15610d8957601054811115610d4057600080fd5b6001600160a01b0382166000908152600760205260409020544211610d6457600080fd5b610d6f42603c6118b6565b6001600160a01b0383166000908152600760205260409020555b600f546001600160a01b038381169116148015610db45750600e546001600160a01b03848116911614155b8015610dd957506001600160a01b03831660009081526005602052604090205460ff16155b15610de9576001600a556009600b555b6000610df4306104c4565b600f54909150600160a81b900460ff16158015610e1f5750600f546001600160a01b03858116911614155b8015610e345750600f54600160b01b900460ff165b15610e5457610e4281610fa9565b478015610e5257610e5247610ea0565b505b505b610e61838383611132565b505050565b60008184841115610e8a5760405162461bcd60e51b815260040161042591906117bb565b506000610e97848661190f565b95945050505050565b600c546001600160a01b03166108fc610eba83600261113d565b6040518115909202916000818181858888f19350505050158015610ee2573d6000803e3d6000fd5b50600d546001600160a01b03166108fc610efd83600261113d565b6040518115909202916000818181858888f193505050501580156105f9573d6000803e3d6000fd5b6000600854821115610f8c5760405162461bcd60e51b815260206004820152602a60248201527f416d6f756e74206d757374206265206c657373207468616e20746f74616c207260448201526965666c656374696f6e7360b01b6064820152608401610425565b6000610f9661117f565b9050610fa2838261113d565b9392505050565b600f805460ff60a81b1916600160a81b1790556040805160028082526060820183526000926020830190803683370190505090503081600081518110610ff157610ff1611957565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b15801561104557600080fd5b505afa158015611059573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061107d91906115c4565b8160018151811061109057611090611957565b6001600160a01b039283166020918202929092010152600e546110b691309116846109f5565b600e5460405163791ac94760e01b81526001600160a01b039091169063791ac947906110ef908590600090869030904290600401611845565b600060405180830381600087803b15801561110957600080fd5b505af115801561111d573d6000803e3d6000fd5b5050600f805460ff60a81b1916905550505050565b610e618383836111a2565b6000610fa283836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611299565b600080600061118c6112c7565b909250905061119b828261113d565b9250505090565b6000806000806000806111b487611307565b6001600160a01b038f16600090815260026020526040902054959b509399509197509550935091506111e69087611364565b6001600160a01b03808b1660009081526002602052604080822093909355908a168152205461121590866113a6565b6001600160a01b03891660009081526002602052604090205561123781611405565b611241848361144f565b876001600160a01b0316896001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8560405161128691815260200190565b60405180910390a3505050505050505050565b600081836112ba5760405162461bcd60e51b815260040161042591906117bb565b506000610e9784866118ce565b6008546000908190678ac7230489e800006112e2828261113d565b8210156112fe57505060085492678ac7230489e8000092509050565b90939092509050565b60008060008060008060008060006113248a600a54600b54611473565b925092509250600061133461117f565b905060008060006113478e8787876114c8565b919e509c509a509598509396509194505050505091939550919395565b6000610fa283836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e66565b6000806113b383856118b6565b905083811015610fa25760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610425565b600061140f61117f565b9050600061141d8383611518565b3060009081526002602052604090205490915061143a90826113a6565b30600090815260026020526040902055505050565b60085461145c9083611364565b60085560095461146c90826113a6565b6009555050565b600080808061148d60646114878989611518565b9061113d565b905060006114a060646114878a89611518565b905060006114b8826114b28b86611364565b90611364565b9992985090965090945050505050565b60008080806114d78886611518565b905060006114e58887611518565b905060006114f38888611518565b90506000611505826114b28686611364565b939b939a50919850919650505050505050565b6000826115275750600061038c565b600061153383856118f0565b90508261154085836118ce565b14610fa25760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610425565b80356115a281611983565b919050565b6000602082840312156115b957600080fd5b8135610fa281611983565b6000602082840312156115d657600080fd5b8151610fa281611983565b600080604083850312156115f457600080fd5b82356115ff81611983565b9150602083013561160f81611983565b809150509250929050565b60008060006060848603121561162f57600080fd5b833561163a81611983565b9250602084013561164a81611983565b929592945050506040919091013590565b6000806040838503121561166e57600080fd5b823561167981611983565b946020939093013593505050565b6000602080838503121561169a57600080fd5b823567ffffffffffffffff808211156116b257600080fd5b818501915085601f8301126116c657600080fd5b8135818111156116d8576116d861196d565b8060051b604051601f19603f830116810181811085821117156116fd576116fd61196d565b604052828152858101935084860182860187018a101561171c57600080fd5b600095505b838610156117465761173281611597565b855260019590950194938601938601611721565b5098975050505050505050565b60006020828403121561176557600080fd5b8135610fa281611998565b60006020828403121561178257600080fd5b8151610fa281611998565b6000806000606084860312156117a257600080fd5b8351925060208401519150604084015190509250925092565b600060208083528351808285015260005b818110156117e8578581018301518582016040015282016117cc565b818111156117fa576000604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118955784516001600160a01b031683529383019391830191600101611870565b50506001600160a01b03969096166060850152505050608001529392505050565b600082198211156118c9576118c9611941565b500190565b6000826118eb57634e487b7160e01b600052601260045260246000fd5b500490565b600081600019048311821515161561190a5761190a611941565b500290565b60008282101561192157611921611941565b500390565b600060001982141561193a5761193a611941565b5060010190565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b6001600160a01b03811681146104c157600080fd5b80151581146104c157600080fdfe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a264697066735822122080c384b5dc77b6789fede6a44e52311751864ed4fc4bfda0d8b8ac464644df8364736f6c63430008070033

Deployed Bytecode Sourcemap

4407:10363:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6303:83;;;;;;;;;;-1:-1:-1;6373:5:0;;;;;;;;;;;;-1:-1:-1;;;6373:5:0;;;;6303:83;;;;;;;:::i;:::-;;;;;;;;7155:161;;;;;;;;;;-1:-1:-1;7155:161:0;;;;;:::i;:::-;;:::i;:::-;;;5352:14:1;;5345:22;5327:41;;5315:2;5300:18;7155:161:0;5187:187:1;6580:95:0;;;;;;;;;;-1:-1:-1;4909:19:0;6580:95;;;10037:25:1;;;10025:2;10010:18;6580:95:0;9891:177:1;7324:313:0;;;;;;;;;;-1:-1:-1;7324:313:0;;;;;:::i;:::-;;:::i;11497:88::-;;;;;;;;;;-1:-1:-1;11497:88:0;;;;;:::i;:::-;;:::i;:::-;;6489:83;;;;;;;;;;-1:-1:-1;6489:83:0;;5331:1;11200:36:1;;11188:2;11173:18;6489:83:0;11058:184:1;7645:103:0;;;;;;;;;;-1:-1:-1;7645:103:0;;;;;:::i;:::-;;:::i;12874:194::-;;;;;;;;;;;;;:::i;6683:138::-;;;;;;;;;;-1:-1:-1;6683:138:0;;;;;:::i;:::-;;:::i;3486:148::-;;;;;;;;;;;;;:::i;3272:79::-;;;;;;;;;;-1:-1:-1;3310:7:0;3337:6;3272:79;;-1:-1:-1;;;;;3337:6:0;;;3925:51:1;;3913:2;3898:18;3272:79:0;3779:203:1;6394:87:0;;;;;;;;;;-1:-1:-1;6466:7:0;;;;;;;;;;;;-1:-1:-1;;;6466:7:0;;;;6394:87;;6829:167;;;;;;;;;;-1:-1:-1;6829:167:0;;;;;:::i;:::-;;:::i;11321:164::-;;;;;;;;;;-1:-1:-1;11321:164:0;;;;;:::i;:::-;;:::i;12667:195::-;;;;;;;;;;;;;:::i;10495:814::-;;;;;;;;;;;;;:::i;7004:143::-;;;;;;;;;;-1:-1:-1;7004:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;7112:18:0;;;7085:7;7112:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7004:143;7155:161;7230:4;7247:39;1070:10;7270:7;7279:6;7247:8;:39::i;:::-;-1:-1:-1;7304:4:0;7155:161;;;;;:::o;7324:313::-;7422:4;7439:36;7449:6;7457:9;7468:6;7439:9;:36::i;:::-;7486:121;7495:6;1070:10;7517:89;7555:6;7517:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;7517:19:0;;;;;;:11;:19;;;;;;;;1070:10;7517:33;;;;;;;;;;:37;:89::i;:::-;7486:8;:121::i;:::-;-1:-1:-1;7625:4:0;7324:313;;;;;:::o;11497:88::-;3399:6;;-1:-1:-1;;;;;3399:6:0;1070:10;3399:22;3391:67;;;;-1:-1:-1;;;3391:67:0;;;;;;;:::i;:::-;;;;;;;;;-1:-1:-1;;;;;11557:12:0::1;11572:5;11557:12:::0;;;:4:::1;:12;::::0;;;;:20;;-1:-1:-1;;11557:20:0::1;::::0;;11497:88::o;7645:103::-;3399:6;;-1:-1:-1;;;;;3399:6:0;1070:10;3399:22;3391:67;;;;-1:-1:-1;;;3391:67:0;;;;;;;:::i;:::-;7717:15:::1;:23:::0;;;::::1;;-1:-1:-1::0;;;7717:23:0::1;-1:-1:-1::0;;;;7717:23:0;;::::1;::::0;;;::::1;::::0;;7645:103::o;12874:194::-;12940:15;;-1:-1:-1;;;;;12940:15:0;1070:10;-1:-1:-1;;;;;12924:31:0;;12916:40;;;;;;12996:21;13028:32;12996:21;13028:12;:32::i;:::-;12905:163;12874:194::o;6683:138::-;-1:-1:-1;;;;;6796:16:0;;6749:7;6796:16;;;:7;:16;;;;;;6776:37;;:19;:37::i;3486:148::-;3399:6;;-1:-1:-1;;;;;3399:6:0;1070:10;3399:22;3391:67;;;;-1:-1:-1;;;3391:67:0;;;;;;;:::i;:::-;3593:1:::1;3577:6:::0;;3556:40:::1;::::0;-1:-1:-1;;;;;3577:6:0;;::::1;::::0;3556:40:::1;::::0;3593:1;;3556:40:::1;3624:1;3607:19:::0;;-1:-1:-1;;;;;;3607:19:0::1;::::0;;3486:148::o;6829:167::-;6907:4;6924:42;1070:10;6948:9;6959:6;6924:9;:42::i;11321:164::-;3399:6;;-1:-1:-1;;;;;3399:6:0;1070:10;3399:22;3391:67;;;;-1:-1:-1;;;3391:67:0;;;;;;;:::i;:::-;11395:6:::1;11390:88;11411:5;:12;11407:1;:16;11390:88;;;11462:4;11445;:14;11450:5;11456:1;11450:8;;;;;;;;:::i;:::-;;::::0;;::::1;::::0;;;;;;;-1:-1:-1;;;;;11445:14:0::1;::::0;;;::::1;::::0;;;;;;-1:-1:-1;11445:14:0;:21;;-1:-1:-1;;11445:21:0::1;::::0;::::1;;::::0;;;::::1;::::0;;11425:3;::::1;::::0;::::1;:::i;:::-;;;;11390:88;;;;11321:164:::0;:::o;12667:195::-;12733:15;;-1:-1:-1;;;;;12733:15:0;1070:10;-1:-1:-1;;;;;12717:31:0;;12709:40;;;;;;12760:23;12786:24;12804:4;12786:9;:24::i;:::-;12760:50;;12821:33;12838:15;12821:16;:33::i;10495:814::-;3399:6;;-1:-1:-1;;;;;3399:6:0;1070:10;3399:22;3391:67;;;;-1:-1:-1;;;3391:67:0;;;;;;;:::i;:::-;10559:11:::1;::::0;-1:-1:-1;;;10559:11:0;::::1;;;10558:12;10550:47;;;::::0;-1:-1:-1;;;10550:47:0;;9741:2:1;10550:47:0::1;::::0;::::1;9723:21:1::0;9780:2;9760:18;;;9753:30;9819:25;9799:18;;;9792:53;9862:18;;10550:47:0::1;9539:347:1::0;10550:47:0::1;10719:15;:34:::0;;-1:-1:-1;;;;;;10719:34:0::1;10665:42;10719:34:::0;;::::1;::::0;;;10764:58:::1;10781:4;10665:42:::0;4909:19:::1;10764:8;:58::i;:::-;10867:16;-1:-1:-1::0;;;;;10867:24:0::1;;:26;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10849:56:0::1;;10914:4;10921:16;-1:-1:-1::0;;;;;10921:21:0::1;;:23;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10849:96;::::0;-1:-1:-1;;;;;;10849:96:0::1;::::0;;;;;;-1:-1:-1;;;;;4217:15:1;;;10849:96:0::1;::::0;::::1;4199:34:1::0;4269:15;;4249:18;;;4242:43;4134:18;;10849:96:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10833:13;:112:::0;;-1:-1:-1;;;;;;10833:112:0::1;-1:-1:-1::0;;;;;10833:112:0;;::::1;;::::0;;10956:15:::1;::::0;::::1;:31;10995:21;11026:4;11032:24;11026:4:::0;11032:9:::1;:24::i;:::-;11057:1;11059::::0;11061:7:::1;3310::::0;3337:6;-1:-1:-1;;;;;3337:6:0;;3272:79;11061:7:::1;10956:129;::::0;::::1;::::0;;;-1:-1:-1;;;;;;10956:129:0;;;-1:-1:-1;;;;;4934:15:1;;;10956:129:0::1;::::0;::::1;4916:34:1::0;4966:18;;;4959:34;;;;5009:18;;;5002:34;;;;5052:18;;;5045:34;5116:15;;;5095:19;;;5088:44;11069:15:0::1;5148:19:1::0;;;5141:35;4850:19;;10956:129:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11096:11:0::1;:18:::0;;11173:17:::1;11158:12;:32:::0;-1:-1:-1;;;;11201:18:0;;-1:-1:-1;;;11201:18:0;;;;11268:15:::1;::::0;11230:71:::1;::::0;-1:-1:-1;;;11230:71:0;;-1:-1:-1;;;;;11268:15:0;;::::1;11230:71;::::0;::::1;4470:51:1::0;-1:-1:-1;;4537:18:1;;;4530:34;11237:13:0;;;-1:-1:-1;11230:29:0::1;::::0;4443:18:1;;11230:71:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;8018:335::-:0;-1:-1:-1;;;;;8111:19:0;;8103:68;;;;-1:-1:-1;;;8103:68:0;;9336:2:1;8103:68:0;;;9318:21:1;9375:2;9355:18;;;9348:30;9414:34;9394:18;;;9387:62;-1:-1:-1;;;9465:18:1;;;9458:34;9509:19;;8103:68:0;9134:400:1;8103:68:0;-1:-1:-1;;;;;8190:21:0;;8182:68;;;;-1:-1:-1;;;8182:68:0;;6998:2:1;8182:68:0;;;6980:21:1;7037:2;7017:18;;;7010:30;7076:34;7056:18;;;7049:62;-1:-1:-1;;;7127:18:1;;;7120:32;7169:19;;8182:68:0;6796:398:1;8182:68:0;-1:-1:-1;;;;;8261:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8313:32;;10037:25:1;;;8313:32:0;;10010:18:1;8313:32:0;;;;;;;8018:335;;;:::o;8361:1461::-;-1:-1:-1;;;;;8449:18:0;;8441:68;;;;-1:-1:-1;;;8441:68:0;;8930:2:1;8441:68:0;;;8912:21:1;8969:2;8949:18;;;8942:30;9008:34;8988:18;;;8981:62;-1:-1:-1;;;9059:18:1;;;9052:35;9104:19;;8441:68:0;8728:401:1;8441:68:0;-1:-1:-1;;;;;8528:16:0;;8520:64;;;;-1:-1:-1;;;8520:64:0;;6183:2:1;8520:64:0;;;6165:21:1;6222:2;6202:18;;;6195:30;6261:34;6241:18;;;6234:62;-1:-1:-1;;;6312:18:1;;;6305:33;6355:19;;8520:64:0;5981:399:1;8520:64:0;8612:1;8603:6;:10;8595:64;;;;-1:-1:-1;;;8595:64:0;;8520:2:1;8595:64:0;;;8502:21:1;8559:2;8539:18;;;8532:30;8598:34;8578:18;;;8571:62;-1:-1:-1;;;8649:18:1;;;8642:39;8698:19;;8595:64:0;8318:405:1;8595:64:0;8682:1;8670:9;:13;8706:1;8694:9;:13;-1:-1:-1;3337:6:0;-1:-1:-1;;;;;8722:15:0;;;3337:6;;8722:15;;;;:32;;-1:-1:-1;3310:7:0;3337:6;-1:-1:-1;;;;;8741:13:0;;;3337:6;;8741:13;;8722:32;8718:1052;;;-1:-1:-1;;;;;8780:10:0;;;;;;:4;:10;;;;;;;;8779:11;:24;;;;-1:-1:-1;;;;;;8795:8:0;;;;;;:4;:8;;;;;;;;8794:9;8779:24;8771:33;;;;;;8831:13;;-1:-1:-1;;;;;8823:21:0;;;8831:13;;8823:21;:55;;;;-1:-1:-1;8862:15:0;;-1:-1:-1;;;;;8848:30:0;;;8862:15;;8848:30;;8823:55;:83;;;;-1:-1:-1;;;;;;8884:22:0;;;;;;:18;:22;;;;;;;;8882:24;8823:83;:102;;;;-1:-1:-1;8910:15:0;;-1:-1:-1;;;8910:15:0;;;;8823:102;8819:325;;;8993:12;;8983:6;:22;;8975:31;;;;;;-1:-1:-1;;;;;9033:12:0;;;;;;:8;:12;;;;;;9048:15;-1:-1:-1;9025:39:0;;;;;;9098:30;:15;9117:10;9098:30;:::i;:::-;-1:-1:-1;;;;;9083:12:0;;;;;;:8;:12;;;;;:45;8819:325;9196:13;;-1:-1:-1;;;;;9190:19:0;;;9196:13;;9190:19;:55;;;;-1:-1:-1;9229:15:0;;-1:-1:-1;;;;;9213:32:0;;;9229:15;;9213:32;;9190:55;:85;;;;-1:-1:-1;;;;;;9251:24:0;;;;;;:18;:24;;;;;;;;9249:26;9190:85;9186:171;;;9308:1;9296:9;:13;9340:1;9328:9;:13;9186:171;9371:28;9402:24;9420:4;9402:9;:24::i;:::-;9446:6;;9371:55;;-1:-1:-1;;;;9446:6:0;;;;9445:7;:32;;;;-1:-1:-1;9464:13:0;;-1:-1:-1;;;;;9456:21:0;;;9464:13;;9456:21;;9445:32;:47;;;;-1:-1:-1;9481:11:0;;-1:-1:-1;;;9481:11:0;;;;9445:47;9441:318;;;9513:38;9530:20;9513:16;:38::i;:::-;9599:21;9642:22;;9639:105;;9689:35;9702:21;9689:12;:35::i;:::-;9494:265;9441:318;8756:1014;8718:1052;9784:30;9799:4;9804:2;9807:6;9784:14;:30::i;:::-;8361:1461;;;:::o;2127:190::-;2213:7;2249:12;2241:6;;;;2233:29;;;;-1:-1:-1;;;2233:29:0;;;;;;;;:::i;:::-;-1:-1:-1;2273:9:0;2285:5;2289:1;2285;:5;:::i;:::-;2273:17;2127:190;-1:-1:-1;;;;;2127:190:0:o;10329:154::-;10386:15;;-1:-1:-1;;;;;10386:15:0;:39;10411:13;:6;10422:1;10411:10;:13::i;:::-;10386:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;10436:15:0;;-1:-1:-1;;;;;10436:15:0;:39;10461:13;:6;10472:1;10461:10;:13::i;:::-;10436:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7756:254;7823:7;7862;;7851;:18;;7843:73;;;;-1:-1:-1;;;7843:73:0;;6587:2:1;7843:73:0;;;6569:21:1;6626:2;6606:18;;;6599:30;6665:34;6645:18;;;6638:62;-1:-1:-1;;;6716:18:1;;;6709:40;6766:19;;7843:73:0;6385:406:1;7843:73:0;7927:19;7950:10;:8;:10::i;:::-;7927:33;-1:-1:-1;7978:24:0;:7;7927:33;7978:11;:24::i;:::-;7971:31;7756:254;-1:-1:-1;;;7756:254:0:o;9830:483::-;5704:6;:13;;-1:-1:-1;;;;5704:13:0;-1:-1:-1;;;5704:13:0;;;9932:16:::1;::::0;;9946:1:::1;9932:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9932:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9932:16:0::1;9908:40;;9977:4;9959;9964:1;9959:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9959:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10003:15:::1;::::0;:22:::1;::::0;;-1:-1:-1;;;10003:22:0;;;;:15;;;::::1;::::0;:20:::1;::::0;:22:::1;::::0;;::::1;::::0;9959:7;;10003:22;;;;;:15;:22;::::1;;::::0;::::1;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;9993:4;9998:1;9993:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9993:32:0;;::::1;:7;::::0;;::::1;::::0;;;;;:32;10068:15:::1;::::0;10036:62:::1;::::0;10053:4:::1;::::0;10068:15:::1;10086:11:::0;10036:8:::1;:62::i;:::-;10109:15;::::0;:196:::1;::::0;-1:-1:-1;;;10109:196:0;;-1:-1:-1;;;;;10109:15:0;;::::1;::::0;:66:::1;::::0;:196:::1;::::0;10190:11;;10109:15:::1;::::0;10232:4;;10259::::1;::::0;10279:15:::1;::::0;10109:196:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;5740:6:0;:14;;-1:-1:-1;;;;5740:14:0;;;-1:-1:-1;;;;9830:483:0:o;11601:146::-;11695:44;11713:6;11721:9;11732:6;11695:17;:44::i;2579:132::-;2637:7;2664:39;2668:1;2671;2664:39;;;;;;;;;;;;;;;;;:3;:39::i;14334:163::-;14375:7;14396:15;14413;14432:19;:17;:19::i;:::-;14395:56;;-1:-1:-1;14395:56:0;-1:-1:-1;14469:20:0;14395:56;;14469:11;:20::i;:::-;14462:27;;;;14334:163;:::o;11755:488::-;11854:15;11871:23;11896:12;11910:23;11935:12;11949:13;11966:19;11977:7;11966:10;:19::i;:::-;-1:-1:-1;;;;;12014:15:0;;;;;;:7;:15;;;;;;11853:132;;-1:-1:-1;11853:132:0;;-1:-1:-1;11853:132:0;;-1:-1:-1;11853:132:0;-1:-1:-1;11853:132:0;-1:-1:-1;11853:132:0;-1:-1:-1;12014:28:0;;11853:132;12014:19;:28::i;:::-;-1:-1:-1;;;;;11996:15:0;;;;;;;:7;:15;;;;;;:46;;;;12074:18;;;;;;;:39;;12097:15;12074:22;:39::i;:::-;-1:-1:-1;;;;;12053:18:0;;;;;;:7;:18;;;;;:60;12125:16;12135:5;12125:9;:16::i;:::-;12152:23;12164:4;12170;12152:11;:23::i;:::-;12208:9;-1:-1:-1;;;;;12191:44:0;12200:6;-1:-1:-1;;;;;12191:44:0;;12219:15;12191:44;;;;10037:25:1;;10025:2;10010:18;;9891:177;12191:44:0;;;;;;;;11842:401;;;;;;11755:488;;;:::o;2719:189::-;2805:7;2840:12;2833:5;2825:28;;;;-1:-1:-1;;;2825:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2864:9:0;2876:5;2880:1;2876;:5;:::i;14505:262::-;14602:7;;14555;;;;4909:19;14676:20;14602:7;4909:19;14676:11;:20::i;:::-;14666:7;:30;14662:61;;;-1:-1:-1;;14706:7:0;;;4909:19;;-1:-1:-1;14505:262:0;-1:-1:-1;14505:262:0:o;14662:61::-;14742:7;;14751;;-1:-1:-1;14505:262:0;-1:-1:-1;14505:262:0:o;13082:471::-;13141:7;13150;13159;13168;13177;13186;13207:23;13232:12;13246:13;13263:42;13275:7;13284:9;;13295;;13263:11;:42::i;:::-;13206:99;;;;;;13316:19;13339:10;:8;:10::i;:::-;13316:33;;13361:15;13378:23;13403:12;13419:46;13431:7;13440:4;13446:5;13453:11;13419;:46::i;:::-;13360:105;;-1:-1:-1;13360:105:0;-1:-1:-1;13360:105:0;-1:-1:-1;13516:15:0;;-1:-1:-1;13533:4:0;;-1:-1:-1;13539:5:0;;-1:-1:-1;;;;;13082:471:0;;;;;;;:::o;1983:136::-;2041:7;2068:43;2072:1;2075;2068:43;;;;;;;;;;;;;;;;;:3;:43::i;1796:179::-;1854:7;;1886:5;1890:1;1886;:5;:::i;:::-;1874:17;;1915:1;1910;:6;;1902:46;;;;-1:-1:-1;;;1902:46:0;;7401:2:1;1902:46:0;;;7383:21:1;7440:2;7420:18;;;7413:30;7479:29;7459:18;;;7452:57;7526:18;;1902:46:0;7199:351:1;12251:212:0;12304:19;12327:10;:8;:10::i;:::-;12304:33;-1:-1:-1;12348:13:0;12364:22;:5;12304:33;12364:9;:22::i;:::-;12438:4;12422:22;;;;:7;:22;;;;;;12348:38;;-1:-1:-1;12422:33:0;;12348:38;12422:26;:33::i;:::-;12413:4;12397:22;;;;:7;:22;;;;;:58;-1:-1:-1;;;12251:212:0:o;12471:147::-;12549:7;;:17;;12561:4;12549:11;:17::i;:::-;12539:7;:27;12590:10;;:20;;12605:4;12590:14;:20::i;:::-;12577:10;:33;-1:-1:-1;;12471:147:0:o;13561:351::-;13654:7;;;;13707:28;13731:3;13707:19;:7;13719:6;13707:11;:19::i;:::-;:23;;:28::i;:::-;13692:43;-1:-1:-1;13746:13:0;13762:29;13787:3;13762:20;:7;13774;13762:11;:20::i;:29::-;13746:45;-1:-1:-1;13802:23:0;13828:28;13746:45;13828:17;:7;13840:4;13828:11;:17::i;:::-;:21;;:28::i;:::-;13802:54;13892:4;;-1:-1:-1;13898:5:0;;-1:-1:-1;13561:351:0;;-1:-1:-1;;;;;13561:351:0:o;13920:409::-;14030:7;;;;14086:24;:7;14098:11;14086;:24::i;:::-;14068:42;-1:-1:-1;14121:12:0;14136:21;:4;14145:11;14136:8;:21::i;:::-;14121:36;-1:-1:-1;14168:13:0;14184:22;:5;14194:11;14184:9;:22::i;:::-;14168:38;-1:-1:-1;14217:23:0;14243:28;14168:38;14243:17;:7;14255:4;14243:11;:17::i;:28::-;14290:7;;;;-1:-1:-1;14316:4:0;;-1:-1:-1;13920:409:0;;-1:-1:-1;;;;;;;13920:409:0:o;2325:246::-;2383:7;2407:6;2403:47;;-1:-1:-1;2437:1:0;2430:8;;2403:47;2460:9;2472:5;2476:1;2472;:5;:::i;:::-;2460:17;-1:-1:-1;2505:1:0;2496:5;2500:1;2460:17;2496:5;:::i;:::-;:10;2488:56;;;;-1:-1:-1;;;2488:56:0;;7757:2:1;2488:56:0;;;7739:21:1;7796:2;7776:18;;;7769:30;7835:34;7815:18;;;7808:62;-1:-1:-1;;;7886:18:1;;;7879:31;7927:19;;2488:56:0;7555:397:1;14:134;82:20;;111:31;82:20;111:31;:::i;:::-;14:134;;;:::o;153:247::-;212:6;265:2;253:9;244:7;240:23;236:32;233:52;;;281:1;278;271:12;233:52;320:9;307:23;339:31;364:5;339:31;:::i;405:251::-;475:6;528:2;516:9;507:7;503:23;499:32;496:52;;;544:1;541;534:12;496:52;576:9;570:16;595:31;620:5;595:31;:::i;661:388::-;729:6;737;790:2;778:9;769:7;765:23;761:32;758:52;;;806:1;803;796:12;758:52;845:9;832:23;864:31;889:5;864:31;:::i;:::-;914:5;-1:-1:-1;971:2:1;956:18;;943:32;984:33;943:32;984:33;:::i;:::-;1036:7;1026:17;;;661:388;;;;;:::o;1054:456::-;1131:6;1139;1147;1200:2;1188:9;1179:7;1175:23;1171:32;1168:52;;;1216:1;1213;1206:12;1168:52;1255:9;1242:23;1274:31;1299:5;1274:31;:::i;:::-;1324:5;-1:-1:-1;1381:2:1;1366:18;;1353:32;1394:33;1353:32;1394:33;:::i;:::-;1054:456;;1446:7;;-1:-1:-1;;;1500:2:1;1485:18;;;;1472:32;;1054:456::o;1515:315::-;1583:6;1591;1644:2;1632:9;1623:7;1619:23;1615:32;1612:52;;;1660:1;1657;1650:12;1612:52;1699:9;1686:23;1718:31;1743:5;1718:31;:::i;:::-;1768:5;1820:2;1805:18;;;;1792:32;;-1:-1:-1;;;1515:315:1:o;1835:1132::-;1919:6;1950:2;1993;1981:9;1972:7;1968:23;1964:32;1961:52;;;2009:1;2006;1999:12;1961:52;2049:9;2036:23;2078:18;2119:2;2111:6;2108:14;2105:34;;;2135:1;2132;2125:12;2105:34;2173:6;2162:9;2158:22;2148:32;;2218:7;2211:4;2207:2;2203:13;2199:27;2189:55;;2240:1;2237;2230:12;2189:55;2276:2;2263:16;2298:2;2294;2291:10;2288:36;;;2304:18;;:::i;:::-;2350:2;2347:1;2343:10;2382:2;2376:9;2445:2;2441:7;2436:2;2432;2428:11;2424:25;2416:6;2412:38;2500:6;2488:10;2485:22;2480:2;2468:10;2465:18;2462:46;2459:72;;;2511:18;;:::i;:::-;2547:2;2540:22;2597:18;;;2631:15;;;;-1:-1:-1;2666:11:1;;;2696;;;2692:20;;2689:33;-1:-1:-1;2686:53:1;;;2735:1;2732;2725:12;2686:53;2757:1;2748:10;;2767:169;2781:2;2778:1;2775:9;2767:169;;;2838:23;2857:3;2838:23;:::i;:::-;2826:36;;2799:1;2792:9;;;;;2882:12;;;;2914;;2767:169;;;-1:-1:-1;2955:6:1;1835:1132;-1:-1:-1;;;;;;;;1835:1132:1:o;2972:241::-;3028:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:52;;;3097:1;3094;3087:12;3049:52;3136:9;3123:23;3155:28;3177:5;3155:28;:::i;3218:245::-;3285:6;3338:2;3326:9;3317:7;3313:23;3309:32;3306:52;;;3354:1;3351;3344:12;3306:52;3386:9;3380:16;3405:28;3427:5;3405:28;:::i;3468:306::-;3556:6;3564;3572;3625:2;3613:9;3604:7;3600:23;3596:32;3593:52;;;3641:1;3638;3631:12;3593:52;3670:9;3664:16;3654:26;;3720:2;3709:9;3705:18;3699:25;3689:35;;3764:2;3753:9;3749:18;3743:25;3733:35;;3468:306;;;;;:::o;5379:597::-;5491:4;5520:2;5549;5538:9;5531:21;5581:6;5575:13;5624:6;5619:2;5608:9;5604:18;5597:34;5649:1;5659:140;5673:6;5670:1;5667:13;5659:140;;;5768:14;;;5764:23;;5758:30;5734:17;;;5753:2;5730:26;5723:66;5688:10;;5659:140;;;5817:6;5814:1;5811:13;5808:91;;;5887:1;5882:2;5873:6;5862:9;5858:22;5854:31;5847:42;5808:91;-1:-1:-1;5960:2:1;5939:15;-1:-1:-1;;5935:29:1;5920:45;;;;5967:2;5916:54;;5379:597;-1:-1:-1;;;5379:597:1:o;7957:356::-;8159:2;8141:21;;;8178:18;;;8171:30;8237:34;8232:2;8217:18;;8210:62;8304:2;8289:18;;7957:356::o;10073:980::-;10335:4;10383:3;10372:9;10368:19;10414:6;10403:9;10396:25;10440:2;10478:6;10473:2;10462:9;10458:18;10451:34;10521:3;10516:2;10505:9;10501:18;10494:31;10545:6;10580;10574:13;10611:6;10603;10596:22;10649:3;10638:9;10634:19;10627:26;;10688:2;10680:6;10676:15;10662:29;;10709:1;10719:195;10733:6;10730:1;10727:13;10719:195;;;10798:13;;-1:-1:-1;;;;;10794:39:1;10782:52;;10889:15;;;;10854:12;;;;10830:1;10748:9;10719:195;;;-1:-1:-1;;;;;;;10970:32:1;;;;10965:2;10950:18;;10943:60;-1:-1:-1;;;11034:3:1;11019:19;11012:35;10931:3;10073:980;-1:-1:-1;;;10073:980:1:o;11247:128::-;11287:3;11318:1;11314:6;11311:1;11308:13;11305:39;;;11324:18;;:::i;:::-;-1:-1:-1;11360:9:1;;11247:128::o;11380:217::-;11420:1;11446;11436:132;;11490:10;11485:3;11481:20;11478:1;11471:31;11525:4;11522:1;11515:15;11553:4;11550:1;11543:15;11436:132;-1:-1:-1;11582:9:1;;11380:217::o;11602:168::-;11642:7;11708:1;11704;11700:6;11696:14;11693:1;11690:21;11685:1;11678:9;11671:17;11667:45;11664:71;;;11715:18;;:::i;:::-;-1:-1:-1;11755:9:1;;11602:168::o;11775:125::-;11815:4;11843:1;11840;11837:8;11834:34;;;11848:18;;:::i;:::-;-1:-1:-1;11885:9:1;;11775:125::o;11905:135::-;11944:3;-1:-1:-1;;11965:17:1;;11962:43;;;11985:18;;:::i;:::-;-1:-1:-1;12032:1:1;12021:13;;11905:135::o;12045:127::-;12106:10;12101:3;12097:20;12094:1;12087:31;12137:4;12134:1;12127:15;12161:4;12158:1;12151:15;12177:127;12238:10;12233:3;12229:20;12226:1;12219:31;12269:4;12266:1;12259:15;12293:4;12290:1;12283:15;12309:127;12370:10;12365:3;12361:20;12358:1;12351:31;12401:4;12398:1;12391:15;12425:4;12422:1;12415:15;12441:131;-1:-1:-1;;;;;12516:31:1;;12506:42;;12496:70;;12562:1;12559;12552:12;12577:118;12663:5;12656:13;12649:21;12642:5;12639:32;12629:60;;12685:1;12682;12675:12

Swarm Source

ipfs://80c384b5dc77b6789fede6a44e52311751864ed4fc4bfda0d8b8ac464644df83

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

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

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