ETH Price: $2,406.93 (-0.73%)

Contract

0xC1d51008c8f21e2CaBc516e07E4570d3d1C5A27b
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve188197012023-12-19 11:28:47291 days ago1702985327IN
0xC1d51008...3d1C5A27b
0 ETH0.0025574454.90327119
Approve182140612023-09-25 16:42:59376 days ago1695660179IN
0xC1d51008...3d1C5A27b
0 ETH0.0012155826.09625377
Approve182136682023-09-25 15:23:47376 days ago1695655427IN
0xC1d51008...3d1C5A27b
0 ETH0.0015030232.2668489
Transfer182136602023-09-25 15:22:11376 days ago1695655331IN
0xC1d51008...3d1C5A27b
0 ETH0.0023287936.36297598
Approve182136312023-09-25 15:16:11376 days ago1695654971IN
0xC1d51008...3d1C5A27b
0 ETH0.001314328.2154316
Approve182136002023-09-25 15:09:59376 days ago1695654599IN
0xC1d51008...3d1C5A27b
0 ETH0.0008385328.79470965
Approve182135942023-09-25 15:08:47376 days ago1695654527IN
0xC1d51008...3d1C5A27b
0 ETH0.0014221130.56924893
Approve182135712023-09-25 15:03:47376 days ago1695654227IN
0xC1d51008...3d1C5A27b
0 ETH0.0012723427.49179427
Approve182135632023-09-25 15:02:11376 days ago1695654131IN
0xC1d51008...3d1C5A27b
0 ETH0.0013948129.94380037
Approve182135582023-09-25 15:01:11376 days ago1695654071IN
0xC1d51008...3d1C5A27b
0 ETH0.0010669522.93492398
Approve182135522023-09-25 14:59:59376 days ago1695653999IN
0xC1d51008...3d1C5A27b
0 ETH0.0010833723.25784753
Approve182135442023-09-25 14:58:23376 days ago1695653903IN
0xC1d51008...3d1C5A27b
0 ETH0.0008554618.38879635
Approve182135172023-09-25 14:52:59376 days ago1695653579IN
0xC1d51008...3d1C5A27b
0 ETH0.000637321.88460007
Approve182135162023-09-25 14:52:47376 days ago1695653567IN
0xC1d51008...3d1C5A27b
0 ETH0.0009938621.47465031
Approve182135142023-09-25 14:52:23376 days ago1695653543IN
0xC1d51008...3d1C5A27b
0 ETH0.0012829327.54206787
Approve182135062023-09-25 14:50:47376 days ago1695653447IN
0xC1d51008...3d1C5A27b
0 ETH0.0010088321.65769233
Approve182135032023-09-25 14:50:11376 days ago1695653411IN
0xC1d51008...3d1C5A27b
0 ETH0.0008189817.60473659
Approve182135022023-09-25 14:49:59376 days ago1695653399IN
0xC1d51008...3d1C5A27b
0 ETH0.0008010317.31245844
Approve182134952023-09-25 14:48:35376 days ago1695653315IN
0xC1d51008...3d1C5A27b
0 ETH0.0008032917.37943786
Approve182134762023-09-25 14:44:47376 days ago1695653087IN
0xC1d51008...3d1C5A27b
0 ETH0.0009174919.85015241
Approve182134732023-09-25 14:44:11376 days ago1695653051IN
0xC1d51008...3d1C5A27b
0 ETH0.0008901919.1353363
Approve182134242023-09-25 14:34:11376 days ago1695652451IN
0xC1d51008...3d1C5A27b
0 ETH0.0009895321.24332331
Approve182134202023-09-25 14:33:23376 days ago1695652403IN
0xC1d51008...3d1C5A27b
0 ETH0.0010053221.72218674
Approve182134092023-09-25 14:30:59376 days ago1695652259IN
0xC1d51008...3d1C5A27b
0 ETH0.001021821.96436542
Approve182134062023-09-25 14:30:23376 days ago1695652223IN
0xC1d51008...3d1C5A27b
0 ETH0.0010839623.45172016
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
182140612023-09-25 16:42:59376 days ago1695660179
0xC1d51008...3d1C5A27b
0 ETH
182140612023-09-25 16:42:59376 days ago1695660179
0xC1d51008...3d1C5A27b
0 ETH
182136682023-09-25 15:23:47376 days ago1695655427
0xC1d51008...3d1C5A27b
0.09927766 ETH
182136682023-09-25 15:23:47376 days ago1695655427
0xC1d51008...3d1C5A27b
0.09927766 ETH
182135522023-09-25 14:59:59376 days ago1695653999
0xC1d51008...3d1C5A27b
0.19967895 ETH
182135522023-09-25 14:59:59376 days ago1695653999
0xC1d51008...3d1C5A27b
0.19967895 ETH
182135142023-09-25 14:52:23376 days ago1695653543
0xC1d51008...3d1C5A27b
0.13944778 ETH
182135142023-09-25 14:52:23376 days ago1695653543
0xC1d51008...3d1C5A27b
0.13944778 ETH
182135072023-09-25 14:50:59376 days ago1695653459
0xC1d51008...3d1C5A27b
0.15861559 ETH
182135072023-09-25 14:50:59376 days ago1695653459
0xC1d51008...3d1C5A27b
0.15861559 ETH
182134362023-09-25 14:36:35376 days ago1695652595
0xC1d51008...3d1C5A27b
0.1387448 ETH
182134362023-09-25 14:36:35376 days ago1695652595
0xC1d51008...3d1C5A27b
0.1387448 ETH
182134022023-09-25 14:29:35376 days ago1695652175
0xC1d51008...3d1C5A27b
0.11743372 ETH
182134022023-09-25 14:29:35376 days ago1695652175
0xC1d51008...3d1C5A27b
0.11743372 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
182133752023-09-25 14:24:11376 days ago1695651851
0xC1d51008...3d1C5A27b
0.10722774 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
UNIRUN

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2023-09-25
*/

// SPDX-License-Identifier: MIT

/*
An exciting #P2E inspired by the beloved retro game

Website: https://www.unirun.tech
Telegram: https://t.me/unirun_erc
Twitter: https://twitter.com/unirun_erc
*/

pragma solidity 0.8.19;

abstract contract Ownable {
    address internal owner;
    constructor(address _owner) {owner = _owner;}
    modifier onlyOwner() {require(isOwner(msg.sender), "!OWNER"); _;}
    function isOwner(address account) public view returns (bool) {return account == owner;}
    function transferOwnership(address payable adr) public onlyOwner {owner = adr; emit OwnershipTransferred(adr);}
    function renounceOwnership() public onlyOwner {owner = address(0); emit OwnershipTransferred(address(0));}
    event OwnershipTransferred(address owner);
}

interface IUniswapFactory {
    function createPair(address tokenA, address tokenB) external returns (address pair);
}
interface IUniswapRouter {
    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);

    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline) external;
}
interface IERC20 {
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    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) {
        return a + b;
    }

    function sub(uint256 a, uint256 b) internal pure returns (uint256) {
        return a - b;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        return a * b;
    }

    function div(uint256 a, uint256 b) internal pure returns (uint256) {
        return a / b;
    }

    function mod(uint256 a, uint256 b) internal pure returns (uint256) {
        return a % b;
    }

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

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

    function mod(
        uint256 a,
        uint256 b,
        string memory errorMessage
    ) internal pure returns (uint256) {
        unchecked {
            require(b > 0, errorMessage);
            return a % b;
        }
    }
}

contract UNIRUN is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "UniRun";
    string private constant _symbol = "UNIRUN";

    uint8 private constant _decimals = 9;
    uint256 private _totalSupply = 10 ** 9 * 10 ** _decimals;
    uint256 private buyFee = 1600;
    uint256 private sellFee = 2200;
    uint256 private transferFee = 1600;
    uint256 private denominator = 10000;
    uint256 swapFeeAt;
    bool private inswap;
    modifier lockSwap {inswap = true; _; inswap = false;}
    IUniswapRouter router;
    address public pair;
    uint256 private feeSwapCount;
    uint256 private burnWeight = 0;
    uint256 private lpWeight = 0;
    uint256 private marketingWeight = 0;
    uint256 private devWeight = 100;
    uint256 private maxFeeSwap = ( _totalSupply * 1000 ) / 100000;
    uint256 private minFeeSwap = ( _totalSupply * 10 ) / 100000;
    uint256 public mTxAmount = ( _totalSupply * 250 ) / 10000;
    uint256 public mBuyAmount = ( _totalSupply * 250 ) / 10000;
    uint256 public mWalletAmount = ( _totalSupply * 250 ) / 10000;
    address internal devReceiver=0x5A1768a909D83B1e3098A525E78B4E35e60c3079; 
    address internal mktReceiver=0x5A1768a909D83B1e3098A525E78B4E35e60c3079;
    address internal lpReceiver=0x5A1768a909D83B1e3098A525E78B4E35e60c3079;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    bool private buyEnabled = false;
    bool private swapEnabled = true;
    
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExcluded;

    constructor() Ownable(msg.sender) {
        IUniswapRouter _router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IUniswapFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        isFeeExcluded[lpReceiver] = true;
        isFeeExcluded[mktReceiver] = true;
        isFeeExcluded[devReceiver] = true;
        isFeeExcluded[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }
    function name() public pure returns (string memory) {return _name;}
    function symbol() public pure returns (string memory) {return _symbol;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    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 decimals() public pure returns (uint8) {return _decimals;}
    function startTrading() external onlyOwner {buyEnabled = true;}    
    function approve(address spender, uint256 amount) public override returns (bool) {_approve(msg.sender, spender, amount);return true;}
    function totalSupply() public view override returns (uint256) {return _totalSupply.sub(balanceOf(DEAD)).sub(balanceOf(address(0)));}
    function getOwner() external view override returns (address) { return owner; }
    function getFeeDominator(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return sellFee;}
        if(sender == pair){return buyFee;}
        return transferFee;
    }
    function setTransactionRequirements(uint256 _liquidity, uint256 _marketing, uint256 _burn, uint256 _development, uint256 _total, uint256 _sell, uint256 _trans) external onlyOwner {
        lpWeight = _liquidity; marketingWeight = _marketing; burnWeight = _burn; devWeight = _development; buyFee = _total; sellFee = _sell; transferFee = _trans;
        require(buyFee <= denominator.div(1) && sellFee <= denominator.div(1) && transferFee <= denominator.div(1), "buyFee and sellFee cannot be more than 20%");
    }

    function swapTokensETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }
    function _transfer(address sender, address recipient, uint256 amount) private {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        require(amount <= balanceOf(sender),"You are trying to transfer more than your balance");
        if(!isFeeExcluded[sender] && !isFeeExcluded[recipient]){require(buyEnabled, "buyEnabled");}
        if(!isFeeExcluded[sender] && !isFeeExcluded[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= mWalletAmount, "Exceeds maximum wallet amount.");}
        if(sender != pair){require(amount <= mBuyAmount || isFeeExcluded[sender] || isFeeExcluded[recipient], "TX Limit Exceeded");}
        require(amount <= mTxAmount || isFeeExcluded[sender] || isFeeExcluded[recipient], "TX Limit Exceeded"); 
        if(recipient == pair && !isFeeExcluded[sender]){feeSwapCount += uint256(1);}
        if(shouldSwapFee(sender, recipient, amount)){swapAndSendETH(maxFeeSwap); feeSwapCount = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = !isFeeExcluded[sender] ? getReceiveAmount(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }
    
    function swapAndSendETH(uint256 tokens) private lockSwap {
        uint256 _denominator = (lpWeight.add(1).add(marketingWeight).add(devWeight)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(lpWeight).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensETH(toSwap);
        uint256 deltaBalance = address(this).balance.sub(initialBalance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(lpWeight));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(lpWeight);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingWeight);
        if(marketingAmt > 0){payable(mktReceiver).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(devReceiver).transfer(contractBalance);}
    }
    receive() external payable {}

    function shouldSwapFee(address sender, address recipient, uint256 amount) internal view returns (bool) {
        bool aboveMin = amount >= minFeeSwap;
        bool aboveThreshold = balanceOf(address(this)) >= maxFeeSwap;
        return !inswap && swapEnabled && buyEnabled && aboveMin && !isFeeExcluded[sender] && recipient == pair && feeSwapCount >= swapFeeAt && aboveThreshold;
    }

    function transferFrom(address sender, address recipient, uint256 amount) public override returns (bool) {
        _transfer(sender, recipient, amount);
        _approve(sender, msg.sender, _allowances[sender][msg.sender].sub(amount, "ERC20: transfer amount exceeds allowance"));
        return true;
    }
    
    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            lpReceiver,
            block.timestamp);
    }
    function getReceiveAmount(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if (isFeeExcluded[recipient]) {return mTxAmount;}
        if(getFeeDominator(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getFeeDominator(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnWeight > uint256(0) && getFeeDominator(sender, recipient) > burnWeight){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnWeight));}
        return amount.sub(feeAmount);} return amount;
    }
    function setTransactionLimits(uint256 _buy, uint256 _sell, uint256 _wallet) external onlyOwner {
        uint256 newTx = _totalSupply.mul(_buy).div(10000); uint256 newTransfer = _totalSupply.mul(_sell).div(10000); uint256 newWallet = _totalSupply.mul(_wallet).div(10000);
        mTxAmount = newTx; mBuyAmount = newTransfer; mWalletAmount = newWallet;
        uint256 limit = totalSupply().mul(5).div(1000);
        require(newTx >= limit && newTransfer >= limit && newWallet >= limit, "Max TXs and Max Wallet cannot be less than .5%");
    }
    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);
    }
}

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":"address","name":"owner","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":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExcluded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mBuyAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"mWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_wallet","type":"uint256"}],"name":"setTransactionLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidity","type":"uint256"},{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_burn","type":"uint256"},{"internalType":"uint256","name":"_development","type":"uint256"},{"internalType":"uint256","name":"_total","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setTransactionRequirements","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","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":"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 payable","name":"adr","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126009600a620004db565b6200002290633b9aca00620004f3565b6001556106406002556108986003556106406004556127106005556000600a556000600b556000600c556064600d55620186a06001546103e8620000679190620004f3565b6200007391906200050d565b600e55620186a0600154600a6200008b9190620004f3565b6200009791906200050d565b600f5561271060015460fa620000ae9190620004f3565b620000ba91906200050d565b60105561271060015460fa620000d19190620004f3565b620000dd91906200050d565b60115561271060015460fa620000f49190620004f3565b6200010091906200050d565b60125560138054735a1768a909d83b1e3098a525e78b4e35e60c30796001600160a01b03199182168117909255601480549091169091179055601580546001600160b01b0319167501005a1768a909d83b1e3098a525e78b4e35e60c30791790553480156200016e57600080fd5b50600080546001600160a01b031916331781556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d9291839163c45a0155916004808201926020929091908290030181865afa158015620001d6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001fc919062000530565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000270919062000530565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002be573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e4919062000530565b60078054610100600160a81b0319166101006001600160a01b038681169190910291909117909155600880546001600160a01b03191683831617905560155481166000908152601860209081526040808320805460ff19908116600190811790925560145486168552828520805482168317905560135490951684528184208054861682179055338085528285208054909616821790955554601683528184208190559051908152939450919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a350506200055b565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156200041d578160001904821115620004015762000401620003c6565b808516156200040f57918102915b93841c9390800290620003e1565b509250929050565b6000826200043657506001620004d5565b816200044557506000620004d5565b81600181146200045e5760028114620004695762000489565b6001915050620004d5565b60ff8411156200047d576200047d620003c6565b50506001821b620004d5565b5060208310610133831016604e8410600b8410161715620004ae575081810a620004d5565b620004ba8383620003dc565b8060001904821115620004d157620004d1620003c6565b0290505b92915050565b6000620004ec60ff84168362000425565b9392505050565b8082028115828204841417620004d557620004d5620003c6565b6000826200052b57634e487b7160e01b600052601260045260246000fd5b500490565b6000602082840312156200054357600080fd5b81516001600160a01b0381168114620004ec57600080fd5b6118df806200056b6000396000f3fe60806040526004361061012e5760003560e01c806370a08231116100ab578063a8aa1b311161006f578063a8aa1b311461035e578063a9059cbb1461037e578063bca238aa1461039e578063cb7f97d7146103ce578063dd62ed3e146103ee578063f2fde38b1461043457600080fd5b806370a0823114610292578063715018a6146102c8578063893d20e8146102dd57806395d89b411461030f5780639cc353511461033e57600080fd5b806323b872dd116100f257806323b872dd146101fa578063293230b81461021a5780632f54bf6e14610231578063313ce56714610260578063604eaa571461027c57600080fd5b806306fdde031461013a578063095ea7b31461017b5780630e7add85146101ab57806318160ddd146101cf578063234900a6146101e457600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260068152652ab734a93ab760d11b60208201525b6040516101729190611579565b60405180910390f35b34801561018757600080fd5b5061019b6101963660046115df565b610454565b6040519015158152602001610172565b3480156101b757600080fd5b506101c160125481565b604051908152602001610172565b3480156101db57600080fd5b506101c161046b565b3480156101f057600080fd5b506101c160115481565b34801561020657600080fd5b5061019b61021536600461160b565b6104dc565b34801561022657600080fd5b5061022f610546565b005b34801561023d57600080fd5b5061019b61024c36600461164c565b6000546001600160a01b0391821691161490565b34801561026c57600080fd5b5060405160098152602001610172565b34801561028857600080fd5b506101c160105481565b34801561029e57600080fd5b506101c16102ad36600461164c565b6001600160a01b031660009081526016602052604090205490565b3480156102d457600080fd5b5061022f61058e565b3480156102e957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610172565b34801561031b57600080fd5b506040805180820190915260068152652aa724a92aa760d11b6020820152610165565b34801561034a57600080fd5b5061022f610359366004611669565b6105fd565b34801561036a57600080fd5b506008546102f7906001600160a01b031681565b34801561038a57600080fd5b5061019b6103993660046115df565b61073e565b3480156103aa57600080fd5b5061019b6103b936600461164c565b60186020526000908152604090205460ff1681565b3480156103da57600080fd5b5061022f6103e9366004611695565b61074b565b3480156103fa57600080fd5b506101c16104093660046116e1565b6001600160a01b03918216600090815260176020908152604080832093909416825291909152205490565b34801561044057600080fd5b5061022f61044f36600461164c565b610840565b60006104613384846108be565b5060015b92915050565b60166020527f0263c2b778d062355049effc2dece97bc6547ff8a88a3258daa512061c2153dd5461dead60009081527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b575460015491926104d79290916104d191906109e2565b906109e2565b905090565b60006104e98484846109ee565b61053b843361053685604051806060016040528060288152602001611882602891396001600160a01b038a1660009081526017602090815260408083203384529091529020549190610f3c565b6108be565b5060015b9392505050565b6000546001600160a01b031633146105795760405162461bcd60e51b81526004016105709061171a565b60405180910390fd5b6015805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b85760405162461bcd60e51b81526004016105709061171a565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106275760405162461bcd60e51b81526004016105709061171a565b600061064a61271061064486600154610f6890919063ffffffff16565b90610f74565b9050600061066961271061064486600154610f6890919063ffffffff16565b9050600061068861271061064486600154610f6890919063ffffffff16565b601084905560118390556012819055905060006106b46103e861064460056106ae61046b565b90610f68565b90508084101580156106c65750808310155b80156106d25750808210155b6107355760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610570565b50505050505050565b60006104613384846109ee565b6000546001600160a01b031633146107755760405162461bcd60e51b81526004016105709061171a565b600b879055600c869055600a859055600d8490556002839055600382905560048190556005546107a6906001610f74565b600254111580156107c657506005546107c0906001610f74565b60035411155b80156107e157506005546107db906001610f74565b60045411155b6107355760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610570565b6000546001600160a01b0316331461086a5760405162461bcd60e51b81526004016105709061171a565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610570565b6001600160a01b0382166109815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610570565b6001600160a01b0383811660008181526017602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061053f8284611750565b6001600160a01b038316610a525760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610570565b6001600160a01b038216610ab45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610570565b6001600160a01b038316600090815260166020526040902054811115610b365760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610570565b6001600160a01b03831660009081526018602052604090205460ff16158015610b7857506001600160a01b03821660009081526018602052604090205460ff16155b15610bc357601554600160a01b900460ff16610bc35760405162461bcd60e51b815260206004820152600a602482015269189d5e515b98589b195960b21b6044820152606401610570565b6001600160a01b03831660009081526018602052604090205460ff16158015610c0557506001600160a01b03821660009081526018602052604090205460ff16155b8015610c1f57506008546001600160a01b03838116911614155b8015610c3657506001600160a01b03821661dead14155b15610caf576012546001600160a01b038316600090815260166020526040902054610c619083610f80565b1115610caf5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610570565b6008546001600160a01b03848116911614610d505760115481111580610ced57506001600160a01b03831660009081526018602052604090205460ff165b80610d1057506001600160a01b03821660009081526018602052604090205460ff165b610d505760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610570565b60105481111580610d7957506001600160a01b03831660009081526018602052604090205460ff165b80610d9c57506001600160a01b03821660009081526018602052604090205460ff165b610ddc5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610570565b6008546001600160a01b038381169116148015610e1257506001600160a01b03831660009081526018602052604090205460ff16155b15610e3057600160096000828254610e2a9190611763565b90915550505b610e3b838383610f8c565b15610e5157610e4b600e54611046565b60006009555b6001600160a01b038316600090815260166020526040902054610e7490826109e2565b6001600160a01b038416600090815260166020908152604080832093909355601890529081205460ff1615610ea95781610eb4565b610eb48484846111c3565b6001600160a01b038416600090815260166020526040902054909150610eda9082610f80565b6001600160a01b0380851660008181526016602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f2e9085815260200190565b60405180910390a350505050565b60008184841115610f605760405162461bcd60e51b81526004016105709190611579565b505050900390565b600061053f8284611776565b600061053f828461178d565b600061053f8284611763565b600f54600e543060009081526016602052604081205460075491938510159211159060ff16158015610fc75750601554600160a81b900460ff165b8015610fdc5750601554600160a01b900460ff165b8015610fe55750815b801561100a57506001600160a01b03861660009081526018602052604090205460ff16155b801561102357506008546001600160a01b038681169116145b8015611033575060065460095410155b801561103c5750805b9695505050505050565b6007805460ff19166001908117909155600d54600c54600b54600093611080936002936106ae93919261107a928391610f80565b90610f80565b9050600061109d82610644600b5486610f6890919063ffffffff16565b905060006110ab84836109e2565b9050476110b7826112f3565b60006110c347836109e2565b905060006110e66110df600b54886109e290919063ffffffff16565b8390610f74565b905060006110ff600b5483610f6890919063ffffffff16565b90508015611111576111118682611470565b600c54600090611126906106ae856002610f68565b9050801561116a576014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611168573d6000803e3d6000fd5b505b4780156111ad576013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111ab573d6000803e3d6000fd5b505b50506007805460ff191690555050505050505050565b6001600160a01b03821660009081526018602052604081205460ff16156111ed575060105461053f565b60006111f9858561152e565b11156112ec57600061121c61120e868661152e565b6005546106ae908690610f74565b306000908152601660205260409020549091506112399082610f80565b30600081815260166020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a9085815260200190565b60405180910390a36000600a541180156112ae5750600a546112ac868661152e565b115b156112da576112da3061dead6112d5600a546106ae60055489610f7490919063ffffffff16565b6109ee565b6112e483826109e2565b91505061053f565b5092915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611328576113286117af565b60200260200101906001600160a01b031690816001600160a01b031681525050600760019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf91906117c5565b816001815181106113d2576113d26117af565b6001600160a01b0392831660209182029290920101526007546113fd913091610100900416846108be565b60075460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061143a9085906000908690309042906004016117e2565b600060405180830381600087803b15801561145457600080fd5b505af1158015611468573d6000803e3d6000fd5b505050505050565b60075461148d90309061010090046001600160a01b0316846108be565b60075460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a4820152610100909204169063f305d71990839060c40160606040518083038185885af1158015611502573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115279190611853565b5050505050565b6008546000906001600160a01b03908116908316036115505750600354610465565b6008546001600160a01b039081169084160361156f5750600254610465565b5060045492915050565b600060208083528351808285015260005b818110156115a65785810183015185820160400152820161158a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115dc57600080fd5b50565b600080604083850312156115f257600080fd5b82356115fd816115c7565b946020939093013593505050565b60008060006060848603121561162057600080fd5b833561162b816115c7565b9250602084013561163b816115c7565b929592945050506040919091013590565b60006020828403121561165e57600080fd5b813561053f816115c7565b60008060006060848603121561167e57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a0312156116b057600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156116f457600080fd5b82356116ff816115c7565b9150602083013561170f816115c7565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156104655761046561173a565b808201808211156104655761046561173a565b80820281158282048414176104655761046561173a565b6000826117aa57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117d757600080fd5b815161053f816115c7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118325784516001600160a01b03168352938301939183019160010161180d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561186857600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200622ee510ea05f15402a0845a3eee78e769da46acb0a4cc460fd86d9e8177b1164736f6c63430008130033

Deployed Bytecode

0x60806040526004361061012e5760003560e01c806370a08231116100ab578063a8aa1b311161006f578063a8aa1b311461035e578063a9059cbb1461037e578063bca238aa1461039e578063cb7f97d7146103ce578063dd62ed3e146103ee578063f2fde38b1461043457600080fd5b806370a0823114610292578063715018a6146102c8578063893d20e8146102dd57806395d89b411461030f5780639cc353511461033e57600080fd5b806323b872dd116100f257806323b872dd146101fa578063293230b81461021a5780632f54bf6e14610231578063313ce56714610260578063604eaa571461027c57600080fd5b806306fdde031461013a578063095ea7b31461017b5780630e7add85146101ab57806318160ddd146101cf578063234900a6146101e457600080fd5b3661013557005b600080fd5b34801561014657600080fd5b506040805180820190915260068152652ab734a93ab760d11b60208201525b6040516101729190611579565b60405180910390f35b34801561018757600080fd5b5061019b6101963660046115df565b610454565b6040519015158152602001610172565b3480156101b757600080fd5b506101c160125481565b604051908152602001610172565b3480156101db57600080fd5b506101c161046b565b3480156101f057600080fd5b506101c160115481565b34801561020657600080fd5b5061019b61021536600461160b565b6104dc565b34801561022657600080fd5b5061022f610546565b005b34801561023d57600080fd5b5061019b61024c36600461164c565b6000546001600160a01b0391821691161490565b34801561026c57600080fd5b5060405160098152602001610172565b34801561028857600080fd5b506101c160105481565b34801561029e57600080fd5b506101c16102ad36600461164c565b6001600160a01b031660009081526016602052604090205490565b3480156102d457600080fd5b5061022f61058e565b3480156102e957600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610172565b34801561031b57600080fd5b506040805180820190915260068152652aa724a92aa760d11b6020820152610165565b34801561034a57600080fd5b5061022f610359366004611669565b6105fd565b34801561036a57600080fd5b506008546102f7906001600160a01b031681565b34801561038a57600080fd5b5061019b6103993660046115df565b61073e565b3480156103aa57600080fd5b5061019b6103b936600461164c565b60186020526000908152604090205460ff1681565b3480156103da57600080fd5b5061022f6103e9366004611695565b61074b565b3480156103fa57600080fd5b506101c16104093660046116e1565b6001600160a01b03918216600090815260176020908152604080832093909416825291909152205490565b34801561044057600080fd5b5061022f61044f36600461164c565b610840565b60006104613384846108be565b5060015b92915050565b60166020527f0263c2b778d062355049effc2dece97bc6547ff8a88a3258daa512061c2153dd5461dead60009081527f290d80ce586bfe95e1ebf348e3ba109df813891ad867417e64d38c5a50473b575460015491926104d79290916104d191906109e2565b906109e2565b905090565b60006104e98484846109ee565b61053b843361053685604051806060016040528060288152602001611882602891396001600160a01b038a1660009081526017602090815260408083203384529091529020549190610f3c565b6108be565b5060015b9392505050565b6000546001600160a01b031633146105795760405162461bcd60e51b81526004016105709061171a565b60405180910390fd5b6015805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146105b85760405162461bcd60e51b81526004016105709061171a565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b6000546001600160a01b031633146106275760405162461bcd60e51b81526004016105709061171a565b600061064a61271061064486600154610f6890919063ffffffff16565b90610f74565b9050600061066961271061064486600154610f6890919063ffffffff16565b9050600061068861271061064486600154610f6890919063ffffffff16565b601084905560118390556012819055905060006106b46103e861064460056106ae61046b565b90610f68565b90508084101580156106c65750808310155b80156106d25750808210155b6107355760405162461bcd60e51b815260206004820152602e60248201527f4d61782054587320616e64204d61782057616c6c65742063616e6e6f7420626560448201526d206c657373207468616e202e352560901b6064820152608401610570565b50505050505050565b60006104613384846109ee565b6000546001600160a01b031633146107755760405162461bcd60e51b81526004016105709061171a565b600b879055600c869055600a859055600d8490556002839055600382905560048190556005546107a6906001610f74565b600254111580156107c657506005546107c0906001610f74565b60035411155b80156107e157506005546107db906001610f74565b60045411155b6107355760405162461bcd60e51b815260206004820152602a60248201527f62757946656520616e642073656c6c4665652063616e6e6f74206265206d6f7260448201526965207468616e2032302560b01b6064820152608401610570565b6000546001600160a01b0316331461086a5760405162461bcd60e51b81526004016105709061171a565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a150565b6001600160a01b0383166109205760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610570565b6001600160a01b0382166109815760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610570565b6001600160a01b0383811660008181526017602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b600061053f8284611750565b6001600160a01b038316610a525760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610570565b6001600160a01b038216610ab45760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610570565b6001600160a01b038316600090815260166020526040902054811115610b365760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b6064820152608401610570565b6001600160a01b03831660009081526018602052604090205460ff16158015610b7857506001600160a01b03821660009081526018602052604090205460ff16155b15610bc357601554600160a01b900460ff16610bc35760405162461bcd60e51b815260206004820152600a602482015269189d5e515b98589b195960b21b6044820152606401610570565b6001600160a01b03831660009081526018602052604090205460ff16158015610c0557506001600160a01b03821660009081526018602052604090205460ff16155b8015610c1f57506008546001600160a01b03838116911614155b8015610c3657506001600160a01b03821661dead14155b15610caf576012546001600160a01b038316600090815260166020526040902054610c619083610f80565b1115610caf5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e00006044820152606401610570565b6008546001600160a01b03848116911614610d505760115481111580610ced57506001600160a01b03831660009081526018602052604090205460ff165b80610d1057506001600160a01b03821660009081526018602052604090205460ff165b610d505760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610570565b60105481111580610d7957506001600160a01b03831660009081526018602052604090205460ff165b80610d9c57506001600160a01b03821660009081526018602052604090205460ff165b610ddc5760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b6044820152606401610570565b6008546001600160a01b038381169116148015610e1257506001600160a01b03831660009081526018602052604090205460ff16155b15610e3057600160096000828254610e2a9190611763565b90915550505b610e3b838383610f8c565b15610e5157610e4b600e54611046565b60006009555b6001600160a01b038316600090815260166020526040902054610e7490826109e2565b6001600160a01b038416600090815260166020908152604080832093909355601890529081205460ff1615610ea95781610eb4565b610eb48484846111c3565b6001600160a01b038416600090815260166020526040902054909150610eda9082610f80565b6001600160a01b0380851660008181526016602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f2e9085815260200190565b60405180910390a350505050565b60008184841115610f605760405162461bcd60e51b81526004016105709190611579565b505050900390565b600061053f8284611776565b600061053f828461178d565b600061053f8284611763565b600f54600e543060009081526016602052604081205460075491938510159211159060ff16158015610fc75750601554600160a81b900460ff165b8015610fdc5750601554600160a01b900460ff165b8015610fe55750815b801561100a57506001600160a01b03861660009081526018602052604090205460ff16155b801561102357506008546001600160a01b038681169116145b8015611033575060065460095410155b801561103c5750805b9695505050505050565b6007805460ff19166001908117909155600d54600c54600b54600093611080936002936106ae93919261107a928391610f80565b90610f80565b9050600061109d82610644600b5486610f6890919063ffffffff16565b905060006110ab84836109e2565b9050476110b7826112f3565b60006110c347836109e2565b905060006110e66110df600b54886109e290919063ffffffff16565b8390610f74565b905060006110ff600b5483610f6890919063ffffffff16565b90508015611111576111118682611470565b600c54600090611126906106ae856002610f68565b9050801561116a576014546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611168573d6000803e3d6000fd5b505b4780156111ad576013546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156111ab573d6000803e3d6000fd5b505b50506007805460ff191690555050505050505050565b6001600160a01b03821660009081526018602052604081205460ff16156111ed575060105461053f565b60006111f9858561152e565b11156112ec57600061121c61120e868661152e565b6005546106ae908690610f74565b306000908152601660205260409020549091506112399082610f80565b30600081815260166020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061128a9085815260200190565b60405180910390a36000600a541180156112ae5750600a546112ac868661152e565b115b156112da576112da3061dead6112d5600a546106ae60055489610f7490919063ffffffff16565b6109ee565b6112e483826109e2565b91505061053f565b5092915050565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611328576113286117af565b60200260200101906001600160a01b031690816001600160a01b031681525050600760019054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801561139b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113bf91906117c5565b816001815181106113d2576113d26117af565b6001600160a01b0392831660209182029290920101526007546113fd913091610100900416846108be565b60075460405163791ac94760e01b81526101009091046001600160a01b03169063791ac9479061143a9085906000908690309042906004016117e2565b600060405180830381600087803b15801561145457600080fd5b505af1158015611468573d6000803e3d6000fd5b505050505050565b60075461148d90309061010090046001600160a01b0316846108be565b60075460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a4820152610100909204169063f305d71990839060c40160606040518083038185885af1158015611502573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906115279190611853565b5050505050565b6008546000906001600160a01b03908116908316036115505750600354610465565b6008546001600160a01b039081169084160361156f5750600254610465565b5060045492915050565b600060208083528351808285015260005b818110156115a65785810183015185820160400152820161158a565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146115dc57600080fd5b50565b600080604083850312156115f257600080fd5b82356115fd816115c7565b946020939093013593505050565b60008060006060848603121561162057600080fd5b833561162b816115c7565b9250602084013561163b816115c7565b929592945050506040919091013590565b60006020828403121561165e57600080fd5b813561053f816115c7565b60008060006060848603121561167e57600080fd5b505081359360208301359350604090920135919050565b600080600080600080600060e0888a0312156116b057600080fd5b505085359760208701359750604087013596606081013596506080810135955060a0810135945060c0013592509050565b600080604083850312156116f457600080fd5b82356116ff816115c7565b9150602083013561170f816115c7565b809150509250929050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156104655761046561173a565b808201808211156104655761046561173a565b80820281158282048414176104655761046561173a565b6000826117aa57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156117d757600080fd5b815161053f816115c7565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156118325784516001600160a01b03168352938301939183019160010161180d565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561186857600080fd5b835192506020840151915060408401519050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212200622ee510ea05f15402a0845a3eee78e769da46acb0a4cc460fd86d9e8177b1164736f6c63430008130033

Deployed Bytecode Sourcemap

3749:9637:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6008:67;;;;;;;;;;-1:-1:-1;6068:5:0;;;;;;;;;;;;-1:-1:-1;;;6068:5:0;;;;6008:67;;;;;;;:::i;:::-;;;;;;;;6691:133;;;;;;;;;;-1:-1:-1;6691:133:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;6691:133:0;1023:187:1;4797:61:0;;;;;;;;;;;;;;;;;;;1361:25:1;;;1349:2;1334:18;4797:61:0;1215:177:1;6830:132:0;;;;;;;;;;;;;:::i;4732:58::-;;;;;;;;;;;;;;;;11148:309;;;;;;;;;;-1:-1:-1;11148:309:0;;;;;:::i;:::-;;:::i;6618:63::-;;;;;;;;;;;;;:::i;:::-;;421:87;;;;;;;;;;-1:-1:-1;421:87:0;;;;;:::i;:::-;476:4;501:5;-1:-1:-1;;;;;490:16:0;;;501:5;;490:16;;421:87;6545:67;;;;;;;;;;-1:-1:-1;6545:67:0;;3957:1;2252:36:1;;2240:2;2225:18;6545:67:0;2110:184:1;4668:57:0;;;;;;;;;;;;;;;;6291:103;;;;;;;;;;-1:-1:-1;6291:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;6374:18:0;6357:7;6374:18;;;:9;:18;;;;;;;6291:103;631:106;;;;;;;;;;;;;:::i;6968:78::-;;;;;;;;;;-1:-1:-1;7020:7:0;7038:5;-1:-1:-1;;;;;7038:5:0;6968:78;;;-1:-1:-1;;;;;2463:32:1;;;2445:51;;2433:2;2418:18;6968:78:0;2299:203:1;6081:71:0;;;;;;;;;;-1:-1:-1;6143:7:0;;;;;;;;;;;;-1:-1:-1;;;6143:7:0;;;;6081:71;;12495:547;;;;;;;;;;-1:-1:-1;12495:547:0;;;;;:::i;:::-;;:::i;4321:19::-;;;;;;;;;;-1:-1:-1;4321:19:0;;;;-1:-1:-1;;;;;4321:19:0;;;6400:139;;;;;;;;;;-1:-1:-1;6400:139:0;;;;;:::i;:::-;;:::i;5384:46::-;;;;;;;;;;-1:-1:-1;5384:46:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7279:515;;;;;;;;;;-1:-1:-1;7279:515:0;;;;;:::i;:::-;;:::i;6158:127::-;;;;;;;;;;-1:-1:-1;6158:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;6256:18:0;;;6239:7;6256:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;6158:127;514:111;;;;;;;;;;-1:-1:-1;514:111:0;;;;;:::i;:::-;;:::i;6691:133::-;6766:4;6773:37;6782:10;6794:7;6803:6;6773:8;:37::i;:::-;-1:-1:-1;6818:4:0;6691:133;;;;;:::o;6830:132::-;6374:9;:18;;;;5132:42;6883:7;6374:18;;;;;6900:12;;6883:7;;6900:60;;6374:18;;6900:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;6893:67;;6830:132;:::o;11148:309::-;11246:4;11263:36;11273:6;11281:9;11292:6;11263:9;:36::i;:::-;11310:117;11319:6;11327:10;11339:87;11375:6;11339:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;11339:19:0;;;;;;:11;:19;;;;;;;;11359:10;11339:31;;;;;;;;;:87;:35;:87::i;:::-;11310:8;:117::i;:::-;-1:-1:-1;11445:4:0;11148:309;;;;;;:::o;6618:63::-;476:4;501:5;-1:-1:-1;;;;;501:5:0;388:10;490:16;372:38;;;;-1:-1:-1;;;372:38:0;;;;;;;:::i;:::-;;;;;;;;;6662:10:::1;:17:::0;;-1:-1:-1;;;;6662:17:0::1;-1:-1:-1::0;;;6662:17:0::1;::::0;;6618:63::o;631:106::-;476:4;501:5;-1:-1:-1;;;;;501:5:0;388:10;490:16;372:38;;;;-1:-1:-1;;;372:38:0;;;;;;;:::i;:::-;694:1:::1;678:18:::0;;-1:-1:-1;;;;;;678:18:0::1;::::0;;703:32:::1;::::0;2445:51:1;;;703:32:0::1;::::0;2433:2:1;2418:18;703:32:0::1;;;;;;;631:106::o:0;12495:547::-;476:4;501:5;-1:-1:-1;;;;;501:5:0;388:10;490:16;372:38;;;;-1:-1:-1;;;372:38:0;;;;;;;:::i;:::-;12601:13:::1;12617:33;12644:5;12617:22;12634:4;12617:12;;:16;;:22;;;;:::i;:::-;:26:::0;::::1;:33::i;:::-;12601:49;;12652:19;12674:34;12702:5;12674:23;12691:5;12674:12;;:16;;:23;;;;:::i;:34::-;12652:56;;12710:17;12730:36;12760:5;12730:25;12747:7;12730:12;;:16;;:25;;;;:::i;:36::-;12777:9;:17:::0;;;12796:10:::1;:24:::0;;;12822:13:::1;:25:::0;;;12710:56;-1:-1:-1;;12874:30:0::1;12899:4;12874:20;12892:1;12874:13;:11;:13::i;:::-;:17:::0;::::1;:20::i;:30::-;12858:46;;12932:5;12923;:14;;:38;;;;;12956:5;12941:11;:20;;12923:38;:60;;;;;12978:5;12965:9;:18;;12923:60;12915:119;;;::::0;-1:-1:-1;;;12915:119:0;;4614:2:1;12915:119:0::1;::::0;::::1;4596:21:1::0;4653:2;4633:18;;;4626:30;4692:34;4672:18;;;4665:62;-1:-1:-1;;;4743:18:1;;;4736:44;4797:19;;12915:119:0::1;4412:410:1::0;12915:119:0::1;12590:452;;;;12495:547:::0;;;:::o;6400:139::-;6478:4;6485:40;6495:10;6507:9;6518:6;6485:9;:40::i;7279:515::-;476:4;501:5;-1:-1:-1;;;;;501:5:0;388:10;490:16;372:38;;;;-1:-1:-1;;;372:38:0;;;;;;;:::i;:::-;7469:8:::1;:21:::0;;;7492:15:::1;:28:::0;;;7522:10:::1;:18:::0;;;7542:9:::1;:24:::0;;;-1:-1:-1;7568:15:0;;;7585:7:::1;:15:::0;;;7602:11:::1;:20:::0;;;7651:11:::1;::::0;:18:::1;::::0;-1:-1:-1;7651:15:0::1;:18::i;:::-;7641:6;;:28;;:61;;;;-1:-1:-1::0;7684:11:0::1;::::0;:18:::1;::::0;7700:1:::1;7684:15;:18::i;:::-;7673:7;;:29;;7641:61;:98;;;;-1:-1:-1::0;7721:11:0::1;::::0;:18:::1;::::0;7737:1:::1;7721:15;:18::i;:::-;7706:11;;:33;;7641:98;7633:153;;;::::0;-1:-1:-1;;;7633:153:0;;5029:2:1;7633:153:0::1;::::0;::::1;5011:21:1::0;5068:2;5048:18;;;5041:30;5107:34;5087:18;;;5080:62;-1:-1:-1;;;5158:18:1;;;5151:40;5208:19;;7633:153:0::1;4827:406:1::0;514:111:0;476:4;501:5;-1:-1:-1;;;;;501:5:0;388:10;490:16;372:38;;;;-1:-1:-1;;;372:38:0;;;;;;;:::i;:::-;580:5:::1;:11:::0;;-1:-1:-1;;;;;;580:11:0::1;-1:-1:-1::0;;;;;580:11:0;::::1;::::0;;::::1;::::0;;;598:25:::1;::::0;2445:51:1;;;598:25:0::1;::::0;2433:2:1;2418:18;598:25:0::1;;;;;;;514:111:::0;:::o;13048:335::-;-1:-1:-1;;;;;13141:19:0;;13133:68;;;;-1:-1:-1;;;13133:68:0;;5656:2:1;13133:68:0;;;5638:21:1;5695:2;5675:18;;;5668:30;5734:34;5714:18;;;5707:62;-1:-1:-1;;;5785:18:1;;;5778:34;5829:19;;13133:68:0;5454:400:1;13133:68:0;-1:-1:-1;;;;;13220:21:0;;13212:68;;;;-1:-1:-1;;;13212:68:0;;6061:2:1;13212:68:0;;;6043:21:1;6100:2;6080:18;;;6073:30;6139:34;6119:18;;;6112:62;-1:-1:-1;;;6190:18:1;;;6183:32;6232:19;;13212:68:0;5859:398:1;13212:68:0;-1:-1:-1;;;;;13291:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;13343:32;;1361:25:1;;;13343:32:0;;1334:18:1;13343:32:0;;;;;;;13048:335;;;:::o;2584:98::-;2642:7;2669:5;2673:1;2669;:5;:::i;8239:1431::-;-1:-1:-1;;;;;8336:20:0;;8328:70;;;;-1:-1:-1;;;8328:70:0;;6729:2:1;8328:70:0;;;6711:21:1;6768:2;6748:18;;;6741:30;6807:34;6787:18;;;6780:62;-1:-1:-1;;;6858:18:1;;;6851:35;6903:19;;8328:70:0;6527:401:1;8328:70:0;-1:-1:-1;;;;;8417:23:0;;8409:71;;;;-1:-1:-1;;;8409:71:0;;7135:2:1;8409:71:0;;;7117:21:1;7174:2;7154:18;;;7147:30;7213:34;7193:18;;;7186:62;-1:-1:-1;;;7264:18:1;;;7257:33;7307:19;;8409:71:0;6933:399:1;8409:71:0;-1:-1:-1;;;;;6374:18:0;;6357:7;6374:18;;;:9;:18;;;;;;8499:6;:27;;8491:88;;;;-1:-1:-1;;;8491:88:0;;7539:2:1;8491:88:0;;;7521:21:1;7578:2;7558:18;;;7551:30;7617:34;7597:18;;;7590:62;-1:-1:-1;;;7668:18:1;;;7661:47;7725:19;;8491:88:0;7337:413:1;8491:88:0;-1:-1:-1;;;;;8594:21:0;;;;;;:13;:21;;;;;;;;8593:22;:51;;;;-1:-1:-1;;;;;;8620:24:0;;;;;;:13;:24;;;;;;;;8619:25;8593:51;8590:91;;;8654:10;;-1:-1:-1;;;8654:10:0;;;;8646:33;;;;-1:-1:-1;;;8646:33:0;;7957:2:1;8646:33:0;;;7939:21:1;7996:2;7976:18;;;7969:30;-1:-1:-1;;;8015:18:1;;;8008:40;8065:18;;8646:33:0;7755:334:1;8646:33:0;-1:-1:-1;;;;;8695:21:0;;;;;;:13;:21;;;;;;;;8694:22;:51;;;;-1:-1:-1;;;;;;8721:24:0;;;;;;:13;:24;;;;;;;;8720:25;8694:51;:81;;;;-1:-1:-1;8770:4:0;;-1:-1:-1;;;;;8749:26:0;;;8770:4;;8749:26;;8694:81;:111;;;;-1:-1:-1;;;;;;8779:26:0;;5132:42;8779:26;;8694:111;8691:222;;;8863:13;;-1:-1:-1;;;;;8826:20:0;;;;;;:9;:20;;;;;;:32;;8851:6;8826:24;:32::i;:::-;8825:51;;8817:94;;;;-1:-1:-1;;;8817:94:0;;8296:2:1;8817:94:0;;;8278:21:1;8335:2;8315:18;;;8308:30;8374:32;8354:18;;;8347:60;8424:18;;8817:94:0;8094:354:1;8817:94:0;8936:4;;-1:-1:-1;;;;;8926:14:0;;;8936:4;;8926:14;8923:124;;8960:10;;8950:6;:20;;:45;;;-1:-1:-1;;;;;;8974:21:0;;;;;;:13;:21;;;;;;;;8950:45;:73;;;-1:-1:-1;;;;;;8999:24:0;;;;;;:13;:24;;;;;;;;8950:73;8942:103;;;;-1:-1:-1;;;8942:103:0;;8655:2:1;8942:103:0;;;8637:21:1;8694:2;8674:18;;;8667:30;-1:-1:-1;;;8713:18:1;;;8706:47;8770:18;;8942:103:0;8453:341:1;8942:103:0;9075:9;;9065:6;:19;;:44;;;-1:-1:-1;;;;;;9088:21:0;;;;;;:13;:21;;;;;;;;9065:44;:72;;;-1:-1:-1;;;;;;9113:24:0;;;;;;:13;:24;;;;;;;;9065:72;9057:102;;;;-1:-1:-1;;;9057:102:0;;8655:2:1;9057:102:0;;;8637:21:1;8694:2;8674:18;;;8667:30;-1:-1:-1;;;8713:18:1;;;8706:47;8770:18;;9057:102:0;8453:341:1;9057:102:0;9187:4;;-1:-1:-1;;;;;9174:17:0;;;9187:4;;9174:17;:43;;;;-1:-1:-1;;;;;;9196:21:0;;;;;;:13;:21;;;;;;;;9195:22;9174:43;9171:76;;;9243:1;9219:12;;:26;;;;;;;:::i;:::-;;;;-1:-1:-1;;9171:76:0;9260:40;9274:6;9282:9;9293:6;9260:13;:40::i;:::-;9257:100;;;9302:26;9317:10;;9302:14;:26::i;:::-;9353:1;9330:12;:25;9257:100;-1:-1:-1;;;;;9387:17:0;;;;;;:9;:17;;;;;;:29;;9409:6;9387:21;:29::i;:::-;-1:-1:-1;;;;;9367:17:0;;;;;;:9;:17;;;;;;;;:49;;;;9453:13;:21;;;;;;;;9452:22;:77;;9523:6;9452:77;;;9477:43;9494:6;9502:9;9513:6;9477:16;:43::i;:::-;-1:-1:-1;;;;;9563:20:0;;;;;;:9;:20;;;;;;9427:102;;-1:-1:-1;9563:40:0;;9427:102;9563:24;:40::i;:::-;-1:-1:-1;;;;;9540:20:0;;;;;;;:9;:20;;;;;;;:63;;;;9619:43;;;;;;;;;;9647:14;1361:25:1;;1349:2;1334:18;;1215:177;9619:43:0;;;;;;;;8317:1353;8239:1431;;;:::o;3008:240::-;3128:7;3189:12;3181:6;;;;3173:29;;;;-1:-1:-1;;;3173:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;3224:5:0;;;3008:240::o;2690:98::-;2748:7;2775:5;2779:1;2775;:5;:::i;2796:98::-;2854:7;2881:5;2885:1;2881;:5;:::i;2478:98::-;2536:7;2563:5;2567:1;2563;:5;:::i;10751:389::-;10891:10;;10962;;10952:4;10848;6374:18;;;:9;:18;;;;;;10991:6;;10848:4;;10881:20;;;;-1:-1:-1;10934:38:0;;10991:6;;10990:7;:22;;;;-1:-1:-1;11001:11:0;;-1:-1:-1;;;11001:11:0;;;;10990:22;:36;;;;-1:-1:-1;11016:10:0;;-1:-1:-1;;;11016:10:0;;;;10990:36;:48;;;;;11030:8;10990:48;:74;;;;-1:-1:-1;;;;;;11043:21:0;;;;;;:13;:21;;;;;;;;11042:22;10990:74;:95;;;;-1:-1:-1;11081:4:0;;-1:-1:-1;;;;;11068:17:0;;;11081:4;;11068:17;10990:95;:124;;;;;11105:9;;11089:12;;:25;;10990:124;:142;;;;;11118:14;10990:142;10983:149;10751:389;-1:-1:-1;;;;;;10751:389:0:o;9682:1026::-;4253:6;:13;;-1:-1:-1;;4253:13:0;4262:4;4253:13;;;;;;9815:9:::1;::::0;9794:15:::1;::::0;9774:8:::1;::::0;4253:6;;9773:60:::1;::::0;9831:1:::1;::::0;9774:51:::1;::::0;9815:9;;9774:36:::1;::::0;;;:12:::1;:15::i;:::-;:19:::0;::::1;:36::i;9773:60::-;9750:83;;9844:32;9879:38;9904:12;9879:20;9890:8;;9879:6;:10;;:20;;;;:::i;:38::-;9844:73:::0;-1:-1:-1;9928:14:0::1;9945:36;:6:::0;9844:73;9945:10:::1;:36::i;:::-;9928:53:::0;-1:-1:-1;10017:21:0::1;10049;9928:53:::0;10049:13:::1;:21::i;:::-;10081:20;10104:41;:21;10130:14:::0;10104:25:::1;:41::i;:::-;10081:64;;10156:19;10177:44;10194:26;10211:8;;10194:12;:16;;:26;;;;:::i;:::-;10177:12:::0;;:16:::1;:44::i;:::-;10156:65;;10232:29;10264:25;10280:8;;10264:11;:15;;:25;;;;:::i;:::-;10232:57:::0;-1:-1:-1;10303:34:0;;10300:103:::1;;10339:61;10352:24;10378:21;10339:12;:61::i;:::-;10459:15;::::0;10413:20:::1;::::0;10436:39:::1;::::0;:18:::1;:11:::0;10452:1:::1;10436:15;:18::i;:39::-;10413:62:::0;-1:-1:-1;10489:16:0;;10486:66:::1;;10515:11;::::0;10507:43:::1;::::0;-1:-1:-1;;;;;10515:11:0;;::::1;::::0;10507:43;::::1;;;::::0;10537:12;;10515:11:::1;10507:43:::0;10515:11;10507:43;10537:12;10515:11;10507:43;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10486:66;10588:21;10623:28:::0;;10620:81:::1;;10661:11;::::0;10653:46:::1;::::0;-1:-1:-1;;;;;10661:11:0;;::::1;::::0;10653:46;::::1;;;::::0;10683:15;;10661:11:::1;10653:46:::0;10661:11;10653:46;10683:15;10661:11;10653:46;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10620:81;-1:-1:-1::0;;4271:6:0;:14;;-1:-1:-1;;4271:14:0;;;-1:-1:-1;;;;;;;;9682:1026:0:o;11810:679::-;-1:-1:-1;;;;;11929:24:0;;11905:7;11929:24;;;:13;:24;;;;;;;;11925:49;;;-1:-1:-1;11963:9:0;;11956:16;;11925:49;12024:1;11987:34;12003:6;12011:9;11987:15;:34::i;:::-;:38;11984:483;;;12037:17;12057:63;12085:34;12101:6;12109:9;12085:15;:34::i;:::-;12068:11;;12057:23;;:6;;:10;:23::i;:63::-;12176:4;12158:24;;;;:9;:24;;;;;;12037:83;;-1:-1:-1;12158:39:0;;12037:83;12158:28;:39::i;:::-;12149:4;12131:24;;;;:9;:24;;;;;;;:66;;;;12213:42;;-1:-1:-1;;;;;12213:42:0;;;;;;;12245:9;1361:25:1;;1349:2;1334:18;;1215:177;12213:42:0;;;;;;;;12290:1;12269:10;;:23;:74;;;;;12333:10;;12296:34;12312:6;12320:9;12296:15;:34::i;:::-;:47;12269:74;12266:161;;;12345:80;12363:4;5132:42;12385:39;12413:10;;12385:23;12396:11;;12385:6;:10;;:23;;;;:::i;:39::-;12345:9;:80::i;:::-;12444:21;:6;12455:9;12444:10;:21::i;:::-;12437:28;;;;;11984:483;-1:-1:-1;12475:6:0;11810:679;-1:-1:-1;;11810:679:0:o;7802:431::-;7889:16;;;7903:1;7889:16;;;;;;;;7865:21;;7889:16;;;;;;;;;;-1:-1:-1;7889:16:0;7865:40;;7934:4;7916;7921:1;7916:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1;;;;;7916:23:0;;;-1:-1:-1;;;;;7916:23:0;;;;;7960:6;;;;;;;;;-1:-1:-1;;;;;7960:6:0;-1:-1:-1;;;;;7960:11:0;;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;7950:4;7955:1;7950:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;7950:23:0;;;:7;;;;;;;;;:23;8016:6;;7984:53;;8001:4;;8016:6;;;;8025:11;7984:8;:53::i;:::-;8048:6;;:177;;-1:-1:-1;;;8048:177:0;;:6;;;;-1:-1:-1;;;;;8048:6:0;;:57;;:177;;8120:11;;8146:1;;8162:4;;8189;;8209:15;;8048:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7854:379;7802:431;:::o;11469:335::-;11582:6;;11550:53;;11567:4;;11582:6;;;-1:-1:-1;;;;;11582:6:0;11591:11;11550:8;:53::i;:::-;11614:6;;11755:10;;11614:182;;-1:-1:-1;;;11614:182:0;;11677:4;11614:182;;;11170:34:1;11220:18;;;11213:34;;;11723:1:0;11263:18:1;;;11256:34;;;11306:18;;;11299:34;-1:-1:-1;;;;;11755:10:0;;;11349:19:1;;;11342:44;11780:15:0;11402:19:1;;;11395:35;11614:6:0;;;;;;:22;;11644:9;;11104:19:1;;11614:182:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;11469:335;;:::o;7052:221::-;7171:4;;7135:7;;-1:-1:-1;;;;;7171:4:0;;;7158:17;;;;7155:38;;-1:-1:-1;7184:7:0;;7177:14;;7155:38;7216:4;;-1:-1:-1;;;;;7216:4:0;;;7206:14;;;;7203:34;;-1:-1:-1;7229:6:0;;7222:13;;7203:34;-1:-1:-1;7254:11:0;;7052:221;;;;:::o;14:548:1:-;126:4;155:2;184;173:9;166:21;216:6;210:13;259:6;254:2;243:9;239:18;232:34;284:1;294:140;308:6;305:1;302:13;294:140;;;403:14;;;399:23;;393:30;369:17;;;388:2;365:26;358:66;323:10;;294:140;;;298:3;483:1;478:2;469:6;458:9;454:22;450:31;443:42;553:2;546;542:7;537:2;529:6;525:15;521:29;510:9;506:45;502:54;494:62;;;;14:548;;;;:::o;567:131::-;-1:-1:-1;;;;;642:31:1;;632:42;;622:70;;688:1;685;678:12;622:70;567:131;:::o;703:315::-;771:6;779;832:2;820:9;811:7;807:23;803:32;800:52;;;848:1;845;838:12;800:52;887:9;874:23;906:31;931:5;906:31;:::i;:::-;956:5;1008:2;993:18;;;;980:32;;-1:-1:-1;;;703:315:1:o;1397:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2507:316::-;2584:6;2592;2600;2653:2;2641:9;2632:7;2628:23;2624:32;2621:52;;;2669:1;2666;2659:12;2621:52;-1:-1:-1;;2692:23:1;;;2762:2;2747:18;;2734:32;;-1:-1:-1;2813:2:1;2798:18;;;2785:32;;2507:316;-1:-1:-1;2507:316:1:o;2828:592::-;2941:6;2949;2957;2965;2973;2981;2989;3042:3;3030:9;3021:7;3017:23;3013:33;3010:53;;;3059:1;3056;3049:12;3010:53;-1:-1:-1;;3082:23:1;;;3152:2;3137:18;;3124:32;;-1:-1:-1;3203:2:1;3188:18;;3175:32;;3254:2;3239:18;;3226:32;;-1:-1:-1;3305:3:1;3290:19;;3277:33;;-1:-1:-1;3357:3:1;3342:19;;3329:33;;-1:-1:-1;3409:3:1;3394:19;3381:33;;-1:-1:-1;2828:592:1;-1:-1:-1;2828:592:1:o;3425:388::-;3493:6;3501;3554:2;3542:9;3533:7;3529:23;3525:32;3522:52;;;3570:1;3567;3560:12;3522:52;3609:9;3596:23;3628:31;3653:5;3628:31;:::i;:::-;3678:5;-1:-1:-1;3735:2:1;3720:18;;3707:32;3748:33;3707:32;3748:33;:::i;:::-;3800:7;3790:17;;;3425:388;;;;;:::o;4078:329::-;4280:2;4262:21;;;4319:1;4299:18;;;4292:29;-1:-1:-1;;;4352:2:1;4337:18;;4330:36;4398:2;4383:18;;4078:329::o;6262:127::-;6323:10;6318:3;6314:20;6311:1;6304:31;6354:4;6351:1;6344:15;6378:4;6375:1;6368:15;6394:128;6461:9;;;6482:11;;;6479:37;;;6496:18;;:::i;8799:125::-;8864:9;;;8885:10;;;8882:36;;;8898:18;;:::i;8929:168::-;9002:9;;;9033;;9050:15;;;9044:22;;9030:37;9020:71;;9071:18;;:::i;9102:217::-;9142:1;9168;9158:132;;9212:10;9207:3;9203:20;9200:1;9193:31;9247:4;9244:1;9237:15;9275:4;9272:1;9265:15;9158:132;-1:-1:-1;9304:9:1;;9102:217::o;9456:127::-;9517:10;9512:3;9508:20;9505:1;9498:31;9548:4;9545:1;9538:15;9572:4;9569:1;9562:15;9588:251;9658:6;9711:2;9699:9;9690:7;9686:23;9682:32;9679:52;;;9727:1;9724;9717:12;9679:52;9759:9;9753:16;9778:31;9803:5;9778:31;:::i;9844:980::-;10106:4;10154:3;10143:9;10139:19;10185:6;10174:9;10167:25;10211:2;10249:6;10244:2;10233:9;10229:18;10222:34;10292:3;10287:2;10276:9;10272:18;10265:31;10316:6;10351;10345:13;10382:6;10374;10367:22;10420:3;10409:9;10405:19;10398:26;;10459:2;10451:6;10447:15;10433:29;;10480:1;10490:195;10504:6;10501:1;10498:13;10490:195;;;10569:13;;-1:-1:-1;;;;;10565:39:1;10553:52;;10660:15;;;;10625:12;;;;10601:1;10519:9;10490:195;;;-1:-1:-1;;;;;;;10741:32:1;;;;10736:2;10721:18;;10714:60;-1:-1:-1;;;10805:3:1;10790:19;10783:35;10702:3;9844:980;-1:-1:-1;;;9844:980:1:o;11441:306::-;11529:6;11537;11545;11598:2;11586:9;11577:7;11573:23;11569:32;11566:52;;;11614:1;11611;11604:12;11566:52;11643:9;11637:16;11627:26;;11693:2;11682:9;11678:18;11672:25;11662:35;;11737:2;11726:9;11722:18;11716:25;11706:35;;11441:306;;;;;:::o

Swarm Source

ipfs://0622ee510ea05f15402a0845a3eee78e769da46acb0a4cc460fd86d9e8177b11

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.