ETH Price: $2,636.11 (+1.86%)

Contract

0x2857FBb8659cfD16caDed5cdDc4207a7ba8E284e
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve192783562024-02-21 20:18:11353 days ago1708546691IN
0x2857FBb8...7ba8E284e
0 ETH0.0017163936.91320315
Approve192773212024-02-21 16:49:11353 days ago1708534151IN
0x2857FBb8...7ba8E284e
0 ETH0.0014169258.516609
Approve192773122024-02-21 16:47:11353 days ago1708534031IN
0x2857FBb8...7ba8E284e
0 ETH0.0017160859.00037518
Approve192773082024-02-21 16:46:23353 days ago1708533983IN
0x2857FBb8...7ba8E284e
0 ETH0.0013675652.00266686
Approve192773042024-02-21 16:45:35353 days ago1708533935IN
0x2857FBb8...7ba8E284e
0 ETH0.0023166950.14697619
Approve192765502024-02-21 14:12:35353 days ago1708524755IN
0x2857FBb8...7ba8E284e
0 ETH0.0030447865.48198208
Approve192763302024-02-21 13:28:35353 days ago1708522115IN
0x2857FBb8...7ba8E284e
0 ETH0.0025811655.51135729
Transfer192762842024-02-21 13:19:23353 days ago1708521563IN
0x2857FBb8...7ba8E284e
0 ETH0.0030266542.76985653
Approve192762692024-02-21 13:16:23353 days ago1708521383IN
0x2857FBb8...7ba8E284e
0 ETH0.0012784343.39854178
Approve192762672024-02-21 13:15:59353 days ago1708521359IN
0x2857FBb8...7ba8E284e
0 ETH0.0020340943.97277433
Approve192762332024-02-21 13:08:59353 days ago1708520939IN
0x2857FBb8...7ba8E284e
0 ETH0.001457531.3455224
Approve192762162024-02-21 13:05:35353 days ago1708520735IN
0x2857FBb8...7ba8E284e
0 ETH0.0008039427.62904322
Approve192761732024-02-21 12:56:47353 days ago1708520207IN
0x2857FBb8...7ba8E284e
0 ETH0.0016507835.50224048
Approve192761692024-02-21 12:55:59353 days ago1708520159IN
0x2857FBb8...7ba8E284e
0 ETH0.0007829426.90700911
Approve192761602024-02-21 12:54:11353 days ago1708520051IN
0x2857FBb8...7ba8E284e
0 ETH0.0016050334.51827562
Approve192761602024-02-21 12:54:11353 days ago1708520051IN
0x2857FBb8...7ba8E284e
0 ETH0.0015947134.51921652
Approve192761052024-02-21 12:42:47353 days ago1708519367IN
0x2857FBb8...7ba8E284e
0 ETH0.0015272532.84568924
Transfer192761012024-02-21 12:41:59353 days ago1708519319IN
0x2857FBb8...7ba8E284e
0 ETH0.0022673532.0402288
Approve192760842024-02-21 12:38:35353 days ago1708519115IN
0x2857FBb8...7ba8E284e
0 ETH0.0013251628.49933881
Approve192760832024-02-21 12:38:23353 days ago1708519103IN
0x2857FBb8...7ba8E284e
0 ETH0.0007865729.84192742
Approve192760732024-02-21 12:36:23353 days ago1708518983IN
0x2857FBb8...7ba8E284e
0 ETH0.0016443735.36446605
Approve192760732024-02-21 12:36:23353 days ago1708518983IN
0x2857FBb8...7ba8E284e
0 ETH0.0016697335.86346605
Approve192760652024-02-21 12:34:47353 days ago1708518887IN
0x2857FBb8...7ba8E284e
0 ETH0.0015371833.23075194
Transfer192760622024-02-21 12:34:11353 days ago1708518851IN
0x2857FBb8...7ba8E284e
0 ETH0.0043118864.70804071
Approve192760442024-02-21 12:30:35353 days ago1708518635IN
0x2857FBb8...7ba8E284e
0 ETH0.0016652535.76736436
View all transactions

Latest 2 internal transactions

Advanced mode:
Parent Transaction Hash Block
From
To
192759032024-02-21 12:01:59353 days ago1708516919
0x2857FBb8...7ba8E284e
0.4921608 ETH
192759032024-02-21 12:01:59353 days ago1708516919
0x2857FBb8...7ba8E284e
0.4921608 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MIKAI

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 2024-02-21
*/

// SPDX-License-Identifier: Unlicensed

/*

    The turquoise hair swayed in the wind The sound of the future had arrived, Hatsune Miku AI.
    The beauty had been derived from technology

    "It felt like magic"
    "Caressing my ears"
    "Hearing the sound of happiness"

    Web: https://hatsunemikuai.technology
    Telegram: https://t.me/HatsuneMiku_AI_official
    Twitter: https://x.com/HatsuneMiku_AI
    Medium: https://medium.com/@miku.ai
    Docs: https://docs.hatsunemikuai.technology

*/

pragma solidity 0.8.19;

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

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

        return c;
    }

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

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

        return c;
    }

    function mul(uint256 a, uint256 b) internal pure returns (uint256) {
        if (a == 0) {
            return 0;
        }

        uint256 c = a * b;
        require(c / a == b, "SafeMath: multiplication overflow");

        return c;
    }

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

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

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

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

abstract contract Context {
    function _msgSender() internal view virtual returns (address payable) {
        return payable(msg.sender);
    }

    function _msgData() internal view virtual returns (bytes memory) {
        this; // silence state mutability warning without generating bytecode - see https://github.com/ethereum/solidity/issues/2691
        return msg.data;
    }
}

contract Ownable is Context {
    address private _owner;
    address private _previousOwner;

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

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

    function owner() public view returns (address) {
        return _owner;
    }   
    
    modifier onlyOwner() {
        require(_owner == _msgSender(), "Ownable: caller is not the owner");
        _;
    }
    
    function renounceOwnership() public virtual onlyOwner {
        emit OwnershipTransferred(_owner, address(0));
        _owner = address(0);
    }

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

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 IUniswapFactory {
    function getPair(address tokenA, address tokenB) external view returns (address pair);
    function allPairs(uint) external view returns (address pair);
    function allPairsLength() external view returns (uint);

    function createPair(address tokenA, address tokenB) external returns (address pair);

    function set(address) external;
    function setSetter(address) external;
}

contract MIKAI is Context, IERC20, Ownable {
    using SafeMath for uint256;

    string name_ = unicode"Hatsune Miku AI";
    string symbol_ = unicode"MIKAI";

    uint8 decimals_ = 9;
    uint256 totalTokenSupply_ = 10**9 * 10**9;

    mapping(address => uint256) balances_;
    mapping(address => mapping(address => uint256)) allowances_;
    mapping(address => bool) _isExcludedFromFee;
    mapping(address => bool) _isMaxWalletExempt;
    mapping(address => bool) excludedMaxTx_;
    mapping(address => bool) isLiquidityAddr_;

    uint256 sellMikaiLiquidityFee_ = 0;
    uint256 sellMikaiMarketingFee_ = 20;
    uint256 sellMikaiDevFee_ = 0;
    uint256 sellMikaiFee_ = 20;

    uint256 _maximumTx = 15 * 10**6 * 10**9;
    uint256 _maximumWallet = 15 * 10**6 * 10**9;
    uint256 _swapThreshold = 10**4 * 10**9;

    address payable marketingWallet_;
    address payable teamAddress_;

    IUniswapRouter private routerInstance_;
    address private pairAddress_;

    uint256 currentLiquidityFee_ = 0;
    uint256 currentMarketingFee_ = 20;
    uint256 currentDevelopmentFee_ = 0;
    uint256 currentTotalFee_ = 20;

    bool swapping_;
    bool _feeSwapEnabled = true;
    bool _maximumTxLifted = false;
    bool _isMaxWalletLifted = true;

    uint256 buyMikaiLiquidityFee_ = 0;
    uint256 buyMikaiMarketingFee_ = 20;
    uint256 buyMikaiDevFee_ = 0;
    uint256 buyMikaiFee_ = 20;

    modifier lockSwap() {
        swapping_ = true;
        _;
        swapping_ = false;
    }

    constructor(address _taxAddress) {
        balances_[_msgSender()] = totalTokenSupply_;
        IUniswapRouter _uniswapV2Router = IUniswapRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        pairAddress_ = IUniswapFactory(_uniswapV2Router.factory()).createPair(address(this), _uniswapV2Router.WETH());
        routerInstance_ = _uniswapV2Router;
        allowances_[address(this)][address(routerInstance_)] = totalTokenSupply_;
        marketingWallet_ = payable(_taxAddress);
        teamAddress_ = payable(_taxAddress);
        buyMikaiFee_ = buyMikaiLiquidityFee_.add(buyMikaiMarketingFee_).add(buyMikaiDevFee_);
        sellMikaiFee_ = sellMikaiLiquidityFee_.add(sellMikaiMarketingFee_).add(sellMikaiDevFee_);
        currentTotalFee_ = currentLiquidityFee_.add(currentMarketingFee_).add(currentDevelopmentFee_);

        _isExcludedFromFee[owner()] = true;
        _isExcludedFromFee[marketingWallet_] = true;
        _isMaxWalletExempt[owner()] = true;
        _isMaxWalletExempt[pairAddress_] = true;
        _isMaxWalletExempt[address(this)] = true;
        excludedMaxTx_[owner()] = true;
        excludedMaxTx_[marketingWallet_] = true;
        excludedMaxTx_[address(this)] = true;
        isLiquidityAddr_[pairAddress_] = true;
        emit Transfer(address(0), _msgSender(), totalTokenSupply_);
    }

    function name() public view returns (string memory) {
        return name_;
    }

    function symbol() public view returns (string memory) {
        return symbol_;
    }

    function decimals() public view returns (uint8) {
        return decimals_;
    }

    function totalSupply() public view override returns (uint256) {
        return totalTokenSupply_;
    }

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

        allowances_[owner][spender] = amount;
        emit Approval(owner, spender, amount);
    }

    function swapTokensForETH(uint256 tokenAmount) private {
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = routerInstance_.WETH();

        _approve(address(this), address(routerInstance_), tokenAmount);

        routerInstance_.swapExactTokensForETHSupportingFeeOnTransferTokens(
            tokenAmount,
            0, // accept any amount of ETH
            path,
            address(this), // The contract
            block.timestamp
        );
    }

    function getFeeAmount(address from, address to, uint256 amount) internal view returns (uint256) {
        if (isLiquidityAddr_[from]) {
            return amount.mul(buyMikaiFee_).div(100);
        } else if (isLiquidityAddr_[to]) {
            return amount.mul(sellMikaiFee_).div(100);
        }
    }

    function getMikaiAmount_(address sender, address receipient, uint256 amount) internal returns (uint256) {
        uint256 fee = getFeeAmount(sender, receipient, amount);
        if (fee > 0) {
            balances_[address(this)] = balances_[address(this)].add(fee);
            emit Transfer(sender, address(this), fee);
        }
        return amount.sub(fee);
    }

    function swapBackMikai_(uint256 tokenAmount) private lockSwap {
        uint256 lpFeeTokens = tokenAmount.mul(currentLiquidityFee_).div(currentTotalFee_).div(2);
        uint256 tokensToSwap = tokenAmount.sub(lpFeeTokens);

        swapTokensForETH(tokensToSwap);
        uint256 ethCA = address(this).balance;

        uint256 totalETHFee = currentTotalFee_.sub(currentLiquidityFee_.div(2));

        uint256 amountETHLiquidity_ = ethCA.mul(currentLiquidityFee_).div(totalETHFee).div(2);
        uint256 amountETHDevelopment_ = ethCA.mul(currentDevelopmentFee_).div(totalETHFee);
        uint256 amountETHMarketing_ = ethCA.sub(amountETHLiquidity_).sub(amountETHDevelopment_);

        if (amountETHMarketing_ > 0) {
            transferMikaiETH_(marketingWallet_, amountETHMarketing_);
        }

        if (amountETHDevelopment_ > 0) {
            transferMikaiETH_(teamAddress_, amountETHDevelopment_);
        }
    }

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

    receive() external payable {}

    function _transferBasic(address sender, address recipient, uint256 amount) internal returns (bool) {
        balances_[sender] = balances_[sender].sub(amount, "Insufficient Balance");
        balances_[recipient] = balances_[recipient].add(amount);
        emit Transfer(sender, recipient, amount);
        return true;
    }

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

    function removeLimits() external onlyOwner {
        _maximumTx = totalTokenSupply_;
        _isMaxWalletLifted = false;
        buyMikaiMarketingFee_ = 0;
        sellMikaiMarketingFee_ = 0;
        buyMikaiFee_ = 0;
        sellMikaiFee_ = 0;
    }

    function _checkSwaps(address from, address to, uint256 amount) internal {
        uint256 _feeAmount = balanceOf(address(this));
        bool minimumSwap = _feeAmount >= _swapThreshold;
        bool isNotReentrance = !swapping_ && isLiquidityAddr_[to] && _feeSwapEnabled;
        bool isSwapAbove = !_isExcludedFromFee[from] && amount > _swapThreshold;
        if (minimumSwap && isNotReentrance && isSwapAbove) {
            if (_maximumTxLifted) {
                _feeAmount = _swapThreshold;
            }
            swapBackMikai_(_feeAmount);
        }
    }

    function checkMaxWallet(address to, uint256 amount) internal view {
        if (_isMaxWalletLifted && !_isMaxWalletExempt[to]) {
            require(balances_[to].add(amount) <= _maximumWallet);
        }
    }

    function _transferInternal(address sender, address recipient, uint256 amount) internal returns (bool) {
        if (swapping_) {
            return _transferBasic(sender, recipient, amount);
        } else {
            if (!excludedMaxTx_[sender] && !excludedMaxTx_[recipient]) {
                require(amount <= _maximumTx, "Transfer amount exceeds the maxTx.");
            }
            _checkSwaps(sender, recipient, amount);
            uint256 subAmount;
            uint256 addAmount;

            if (_isExcludedFromFee[sender] || _isExcludedFromFee[recipient]) {
                addAmount = amount;
            } else {
                addAmount = getMikaiAmount_(sender, recipient, amount);
            }
            checkMaxWallet(recipient, addAmount);
            if (!_isMaxWalletLifted && _isExcludedFromFee[sender]) {
                subAmount = amount.sub(addAmount);
            } else {
                subAmount = amount;
            }
            
            balances_[sender] = balances_[sender].sub(subAmount, "Not enough balance");
            balances_[recipient] = balances_[recipient].add(addAmount);
            emit Transfer(sender, recipient, addAmount);
            return true;
        }
    }

    function _transfer(address sender, address recipient, uint256 amount) private returns (bool) {
        require(sender != address(0), "ERC20: transfer from the zero address");
        require(recipient != address(0), "ERC20: transfer to the zero address");
        return _transferInternal(sender, recipient, amount);
    }

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

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

    function transferMikaiETH_(address payable recipient, uint256 amount) private {
        recipient.transfer(amount);
    }

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"address","name":"_taxAddress","type":"address"}],"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":[{"internalType":"address","name":"owner","type":"address"},{"internalType":"address","name":"spender","type":"address"}],"name":"allowance","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"spender","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"approve","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"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"}]

60c0604052600f60809081526e48617473756e65204d696b7520414960881b60a0526002906200003090826200065d565b506040805180820190915260058152644d494b414960d81b60208201526003906200005c90826200065d565b506004805460ff19166009179055670de0b6b3a76400006005556000600c8190556014600d819055600e829055600f81905566354a6ba7a1800060108190556011556509184e72a000601255601782905560188190556019829055601a819055601b8054630100010063ffffff0019909116179055601c829055601d819055601e91909155601f55348015620000f157600080fd5b5060405162001c2c38038062001c2c833981016040819052620001149162000729565b600080546001600160a01b031916339081178255604051909182917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a3506005543360009081526006602090815260409182902092909255805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d92839263c45a015592600480830193928290030181865afa158015620001bc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e2919062000729565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000230573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000256919062000729565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303816000875af1158015620002a4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002ca919062000729565b601680546001600160a01b039283166001600160a01b03199182161790915560158054848416908316811790915560055430600090815260076020908152604080832094835293905291909120556013805492851692821683179055601480549091169091179055601e54601d54601c546200035492916200034d919062000549565b9062000549565b601f55600e54600d54600c546200037292916200034d919062000549565b600f556019546018546017546200039092916200034d919062000549565b601a55600160086000620003ac6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff19968716179055601354909116815260089092528120805490921660019081179092556009906200040c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff199687161790556016549091168152600990925280822080548416600190811790915530835290822080549093168117909255600a906200047c6000546001600160a01b031690565b6001600160a01b03908116825260208083019390935260409182016000908120805495151560ff1996871617905560135482168152600a845282812080548616600190811790915530825283822080548716821790556016549092168152600b90935291208054909216179055620004f13390565b6001600160a01b031660006001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6005546040516200053991815260200190565b60405180910390a3505062000776565b60008062000558838562000754565b905083811015620005af5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640160405180910390fd5b90505b92915050565b634e487b7160e01b600052604160045260246000fd5b600181811c90821680620005e357607f821691505b6020821081036200060457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200065857600081815260208120601f850160051c81016020861015620006335750805b601f850160051c820191505b8181101562000654578281556001016200063f565b5050505b505050565b81516001600160401b03811115620006795762000679620005b8565b62000691816200068a8454620005ce565b846200060a565b602080601f831160018114620006c95760008415620006b05750858301515b600019600386901b1c1916600185901b17855562000654565b600085815260208120601f198616915b82811015620006fa57888601518255948401946001909101908401620006d9565b5085821015620007195787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6000602082840312156200073c57600080fd5b81516001600160a01b0381168114620005af57600080fd5b80820180821115620005b257634e487b7160e01b600052601160045260246000fd5b6114a680620007866000396000f3fe6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb1461022d578063dd62ed3e1461024d578063f2fde38b1461029357600080fd5b8063715018a6146101c4578063751039fc146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190611197565b60405180910390f35b34801561010957600080fd5b5061011d6101183660046111fd565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506005545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004611229565b61035c565b34801561017857600080fd5b5060045460405160ff90911681526020016100f4565b34801561019a57600080fd5b5061013e6101a936600461126a565b6001600160a01b031660009081526006602052604090205490565b3480156101d057600080fd5b506101d96103c7565b005b3480156101e757600080fd5b506101d9610444565b3480156101fc57600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561022457600080fd5b506100e7610497565b34801561023957600080fd5b5061011d6102483660046111fd565b6104a6565b34801561025957600080fd5b5061013e610268366004611287565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561029f57600080fd5b506101d96102ae36600461126a565b6104b3565b6060600280546102c2906112c0565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee906112c0565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b600061035233848461059d565b5060015b92915050565b60006103698484846106c1565b506103bc84336103b785604051806060016040528060288152602001611449602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061079c565b61059d565b5060015b9392505050565b6000546001600160a01b031633146103fa5760405162461bcd60e51b81526004016103f1906112fa565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461046e5760405162461bcd60e51b81526004016103f1906112fa565b600554601055601b805463ff000000191690556000601d819055600d819055601f819055600f55565b6060600380546102c2906112c0565b60006103bc3384846106c1565b6000546001600160a01b031633146104dd5760405162461bcd60e51b81526004016103f1906112fa565b6001600160a01b0381166105425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166105ff5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f1565b6001600160a01b0382166106605760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f1565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f1565b6001600160a01b0383166107895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f1565b6107948484846107d6565b949350505050565b600081848411156107c05760405162461bcd60e51b81526004016103f19190611197565b5060006107cd8486611345565b95945050505050565b601b5460009060ff16156107f6576107ef848484610a3c565b90506103c0565b6001600160a01b0384166000908152600a602052604090205460ff1615801561083857506001600160a01b0383166000908152600a602052604090205460ff16155b1561089a5760105482111561089a5760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152613c1760f11b60648201526084016103f1565b6108a5848484610b22565b6001600160a01b038416600090815260086020526040812054819060ff16806108e657506001600160a01b03851660009081526008602052604090205460ff165b156108f2575082610900565b6108fd868686610beb565b90505b61090a8582610c7f565b601b546301000000900460ff1615801561093c57506001600160a01b03861660009081526008602052604090205460ff165b156109525761094b8482610ceb565b9150610956565b8391505b60408051808201825260128152714e6f7420656e6f7567682062616c616e636560701b6020808301919091526001600160a01b0389166000908152600690915291909120546109a691849061079c565b6001600160a01b0380881660009081526006602052604080822093909355908716815220546109d59082610d2d565b6001600160a01b0380871660008181526006602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a299085815260200190565b60405180910390a36001925050506103c0565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610a8d91849061079c565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610abc9083610d2d565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b109086815260200190565b60405180910390a35060019392505050565b30600090815260066020526040812054601254601b549192908310159160ff16158015610b6757506001600160a01b0385166000908152600b602052604090205460ff165b8015610b7a5750601b54610100900460ff165b6001600160a01b0387166000908152600860205260408120549192509060ff16158015610ba8575060125485115b9050828015610bb45750815b8015610bbd5750805b15610be257601b5462010000900460ff1615610bd95760125493505b610be284610d8c565b50505050505050565b600080610bf9858585610e9a565b90508015610c755730600090815260066020526040902054610c1b9082610d2d565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c6c9085815260200190565b60405180910390a35b6107cd8382610ceb565b601b546301000000900460ff168015610cb157506001600160a01b03821660009081526009602052604090205460ff16155b15610ce7576011546001600160a01b038316600090815260066020526040902054610cdc9083610d2d565b1115610ce757600080fd5b5050565b60006103c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061079c565b600080610d3a8385611358565b9050838110156103c05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f1565b601b805460ff19166001179055601a54601754600091610dbc91600291610db69182908790610f10565b90610f92565b90506000610dca8383610ceb565b9050610dd581610fd4565b6017544790600090610df590610dec906002610f92565b601a5490610ceb565b90506000610e176002610db684610db660175488610f1090919063ffffffff16565b90506000610e3483610db660195487610f1090919063ffffffff16565b90506000610e4c82610e468786610ceb565b90610ceb565b90508015610e6a57601354610e6a906001600160a01b03168261112e565b8115610e8657601454610e86906001600160a01b03168361112e565b5050601b805460ff19169055505050505050565b6001600160a01b0383166000908152600b602052604081205460ff1615610ed5576107ef6064610db6601f5485610f1090919063ffffffff16565b6001600160a01b0383166000908152600b602052604090205460ff16156103c0576107ef6064610db6600f5485610f1090919063ffffffff16565b600082600003610f2257506000610356565b6000610f2e838561136b565b905082610f3b8583611382565b146103c05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f1565b60006103c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611169565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611009576110096113a4565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611062573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108691906113ba565b81600181518110611099576110996113a4565b6001600160a01b0392831660209182029290920101526015546110bf913091168461059d565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906110f89085906000908690309042906004016113d7565b600060405180830381600087803b15801561111257600080fd5b505af1158015611126573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611164573d6000803e3d6000fd5b505050565b6000818361118a5760405162461bcd60e51b81526004016103f19190611197565b5060006107cd8486611382565b600060208083528351808285015260005b818110156111c4578581018301518582016040015282016111a8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111fa57600080fd5b50565b6000806040838503121561121057600080fd5b823561121b816111e5565b946020939093013593505050565b60008060006060848603121561123e57600080fd5b8335611249816111e5565b92506020840135611259816111e5565b929592945050506040919091013590565b60006020828403121561127c57600080fd5b81356103c0816111e5565b6000806040838503121561129a57600080fd5b82356112a5816111e5565b915060208301356112b5816111e5565b809150509250929050565b600181811c908216806112d457607f821691505b6020821081036112f457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103565761035661132f565b808201808211156103565761035661132f565b80820281158282048414176103565761035661132f565b60008261139f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113cc57600080fd5b81516103c0816111e5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114275784516001600160a01b031683529383019391830191600101611402565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202e9a0379fe3329644f6299072d9537e05cf19f26e63da42e2abdc466cdb9ada064736f6c634300081300330000000000000000000000003fa863664f6befe7bfe17238e081e0a80080b83a

Deployed Bytecode

0x6080604052600436106100c65760003560e01c8063715018a61161007f57806395d89b411161005957806395d89b4114610218578063a9059cbb1461022d578063dd62ed3e1461024d578063f2fde38b1461029357600080fd5b8063715018a6146101c4578063751039fc146101db5780638da5cb5b146101f057600080fd5b806306fdde03146100d2578063095ea7b3146100fd57806318160ddd1461012d57806323b872dd1461014c578063313ce5671461016c57806370a082311461018e57600080fd5b366100cd57005b600080fd5b3480156100de57600080fd5b506100e76102b3565b6040516100f49190611197565b60405180910390f35b34801561010957600080fd5b5061011d6101183660046111fd565b610345565b60405190151581526020016100f4565b34801561013957600080fd5b506005545b6040519081526020016100f4565b34801561015857600080fd5b5061011d610167366004611229565b61035c565b34801561017857600080fd5b5060045460405160ff90911681526020016100f4565b34801561019a57600080fd5b5061013e6101a936600461126a565b6001600160a01b031660009081526006602052604090205490565b3480156101d057600080fd5b506101d96103c7565b005b3480156101e757600080fd5b506101d9610444565b3480156101fc57600080fd5b506000546040516001600160a01b0390911681526020016100f4565b34801561022457600080fd5b506100e7610497565b34801561023957600080fd5b5061011d6102483660046111fd565b6104a6565b34801561025957600080fd5b5061013e610268366004611287565b6001600160a01b03918216600090815260076020908152604080832093909416825291909152205490565b34801561029f57600080fd5b506101d96102ae36600461126a565b6104b3565b6060600280546102c2906112c0565b80601f01602080910402602001604051908101604052809291908181526020018280546102ee906112c0565b801561033b5780601f106103105761010080835404028352916020019161033b565b820191906000526020600020905b81548152906001019060200180831161031e57829003601f168201915b5050505050905090565b600061035233848461059d565b5060015b92915050565b60006103698484846106c1565b506103bc84336103b785604051806060016040528060288152602001611449602891396001600160a01b038a166000908152600760209081526040808320338452909152902054919061079c565b61059d565b5060015b9392505050565b6000546001600160a01b031633146103fa5760405162461bcd60e51b81526004016103f1906112fa565b60405180910390fd5b600080546040516001600160a01b03909116907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600080546001600160a01b0319169055565b6000546001600160a01b0316331461046e5760405162461bcd60e51b81526004016103f1906112fa565b600554601055601b805463ff000000191690556000601d819055600d819055601f819055600f55565b6060600380546102c2906112c0565b60006103bc3384846106c1565b6000546001600160a01b031633146104dd5760405162461bcd60e51b81526004016103f1906112fa565b6001600160a01b0381166105425760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084016103f1565b600080546040516001600160a01b03808516939216917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e091a3600080546001600160a01b0319166001600160a01b0392909216919091179055565b6001600160a01b0383166105ff5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b60648201526084016103f1565b6001600160a01b0382166106605760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b60648201526084016103f1565b6001600160a01b0383811660008181526007602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60006001600160a01b0384166107275760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b60648201526084016103f1565b6001600160a01b0383166107895760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b60648201526084016103f1565b6107948484846107d6565b949350505050565b600081848411156107c05760405162461bcd60e51b81526004016103f19190611197565b5060006107cd8486611345565b95945050505050565b601b5460009060ff16156107f6576107ef848484610a3c565b90506103c0565b6001600160a01b0384166000908152600a602052604090205460ff1615801561083857506001600160a01b0383166000908152600a602052604090205460ff16155b1561089a5760105482111561089a5760405162461bcd60e51b815260206004820152602260248201527f5472616e7366657220616d6f756e74206578636565647320746865206d6178546044820152613c1760f11b60648201526084016103f1565b6108a5848484610b22565b6001600160a01b038416600090815260086020526040812054819060ff16806108e657506001600160a01b03851660009081526008602052604090205460ff165b156108f2575082610900565b6108fd868686610beb565b90505b61090a8582610c7f565b601b546301000000900460ff1615801561093c57506001600160a01b03861660009081526008602052604090205460ff165b156109525761094b8482610ceb565b9150610956565b8391505b60408051808201825260128152714e6f7420656e6f7567682062616c616e636560701b6020808301919091526001600160a01b0389166000908152600690915291909120546109a691849061079c565b6001600160a01b0380881660009081526006602052604080822093909355908716815220546109d59082610d2d565b6001600160a01b0380871660008181526006602052604090819020939093559151908816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a299085815260200190565b60405180910390a36001925050506103c0565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600690915291822054610a8d91849061079c565b6001600160a01b038086166000908152600660205260408082209390935590851681522054610abc9083610d2d565b6001600160a01b0380851660008181526006602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b109086815260200190565b60405180910390a35060019392505050565b30600090815260066020526040812054601254601b549192908310159160ff16158015610b6757506001600160a01b0385166000908152600b602052604090205460ff165b8015610b7a5750601b54610100900460ff165b6001600160a01b0387166000908152600860205260408120549192509060ff16158015610ba8575060125485115b9050828015610bb45750815b8015610bbd5750805b15610be257601b5462010000900460ff1615610bd95760125493505b610be284610d8c565b50505050505050565b600080610bf9858585610e9a565b90508015610c755730600090815260066020526040902054610c1b9082610d2d565b30600081815260066020526040908190209290925590516001600160a01b038716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610c6c9085815260200190565b60405180910390a35b6107cd8382610ceb565b601b546301000000900460ff168015610cb157506001600160a01b03821660009081526009602052604090205460ff16155b15610ce7576011546001600160a01b038316600090815260066020526040902054610cdc9083610d2d565b1115610ce757600080fd5b5050565b60006103c083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061079c565b600080610d3a8385611358565b9050838110156103c05760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016103f1565b601b805460ff19166001179055601a54601754600091610dbc91600291610db69182908790610f10565b90610f92565b90506000610dca8383610ceb565b9050610dd581610fd4565b6017544790600090610df590610dec906002610f92565b601a5490610ceb565b90506000610e176002610db684610db660175488610f1090919063ffffffff16565b90506000610e3483610db660195487610f1090919063ffffffff16565b90506000610e4c82610e468786610ceb565b90610ceb565b90508015610e6a57601354610e6a906001600160a01b03168261112e565b8115610e8657601454610e86906001600160a01b03168361112e565b5050601b805460ff19169055505050505050565b6001600160a01b0383166000908152600b602052604081205460ff1615610ed5576107ef6064610db6601f5485610f1090919063ffffffff16565b6001600160a01b0383166000908152600b602052604090205460ff16156103c0576107ef6064610db6600f5485610f1090919063ffffffff16565b600082600003610f2257506000610356565b6000610f2e838561136b565b905082610f3b8583611382565b146103c05760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b60648201526084016103f1565b60006103c083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611169565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110611009576110096113a4565b6001600160a01b03928316602091820292909201810191909152601554604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015611062573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061108691906113ba565b81600181518110611099576110996113a4565b6001600160a01b0392831660209182029290920101526015546110bf913091168461059d565b60155460405163791ac94760e01b81526001600160a01b039091169063791ac947906110f89085906000908690309042906004016113d7565b600060405180830381600087803b15801561111257600080fd5b505af1158015611126573d6000803e3d6000fd5b505050505050565b6040516001600160a01b0383169082156108fc029083906000818181858888f19350505050158015611164573d6000803e3d6000fd5b505050565b6000818361118a5760405162461bcd60e51b81526004016103f19190611197565b5060006107cd8486611382565b600060208083528351808285015260005b818110156111c4578581018301518582016040015282016111a8565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b03811681146111fa57600080fd5b50565b6000806040838503121561121057600080fd5b823561121b816111e5565b946020939093013593505050565b60008060006060848603121561123e57600080fd5b8335611249816111e5565b92506020840135611259816111e5565b929592945050506040919091013590565b60006020828403121561127c57600080fd5b81356103c0816111e5565b6000806040838503121561129a57600080fd5b82356112a5816111e5565b915060208301356112b5816111e5565b809150509250929050565b600181811c908216806112d457607f821691505b6020821081036112f457634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052601160045260246000fd5b818103818111156103565761035661132f565b808201808211156103565761035661132f565b80820281158282048414176103565761035661132f565b60008261139f57634e487b7160e01b600052601260045260246000fd5b500490565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113cc57600080fd5b81516103c0816111e5565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114275784516001600160a01b031683529383019391830191600101611402565b50506001600160a01b0396909616606085015250505060800152939250505056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e6365a26469706673582212202e9a0379fe3329644f6299072d9537e05cf19f26e63da42e2abdc466cdb9ada064736f6c63430008130033

Constructor Arguments (ABI-Encoded and is the last bytes of the Contract Creation Code above)

0000000000000000000000003fa863664f6befe7bfe17238e081e0a80080b83a

-----Decoded View---------------
Arg [0] : _taxAddress (address): 0x3Fa863664f6befE7BFE17238E081E0A80080b83A

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000003fa863664f6befe7bfe17238e081e0a80080b83a


Deployed Bytecode Sourcemap

5143:9923:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8040:83;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14644:161;;;;;;;;;;-1:-1:-1;14644:161:0;;;;;:::i;:::-;;:::i;:::-;;;1188:14:1;;1181:22;1163:41;;1151:2;1136:18;14644:161:0;1023:187:1;8317:105:0;;;;;;;;;;-1:-1:-1;8397:17:0;;8317:105;;;1361:25:1;;;1349:2;1334:18;8317:105:0;1215:177:1;14323:313:0;;;;;;;;;;-1:-1:-1;14323:313:0;;;;;:::i;:::-;;:::i;8226:83::-;;;;;;;;;;-1:-1:-1;8292:9:0;;8226:83;;8292:9;;;;2000:36:1;;1988:2;1973:18;8226:83:0;1858:184:1;14944:119:0;;;;;;;;;;-1:-1:-1;14944:119:0;;;;;:::i;:::-;-1:-1:-1;;;;;15037:18:0;15010:7;15037:18;;;:9;:18;;;;;;;14944:119;3668:148;;;;;;;;;;;;;:::i;:::-;;11655:257;;;;;;;;;;;;;:::i;3443:79::-;;;;;;;;;;-1:-1:-1;3481:7:0;3508:6;3443:79;;-1:-1:-1;;;;;3508:6:0;;;2445:51:1;;2433:2;2418:18;3443:79:0;2299:203:1;8131:87:0;;;;;;;;;;;;;:::i;10954:167::-;;;;;;;;;;-1:-1:-1;10954:167:0;;;;;:::i;:::-;;:::i;11504:143::-;;;;;;;;;;-1:-1:-1;11504:143:0;;;;;:::i;:::-;-1:-1:-1;;;;;11612:18:0;;;11585:7;11612:18;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;11504:143;3824:244;;;;;;;;;;-1:-1:-1;3824:244:0;;;;;:::i;:::-;;:::i;8040:83::-;8077:13;8110:5;8103:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8040:83;:::o;14644:161::-;14719:4;14736:39;2819:10;14759:7;14768:6;14736:8;:39::i;:::-;-1:-1:-1;14793:4:0;14644:161;;;;;:::o;14323:313::-;14421:4;14438:36;14448:6;14456:9;14467:6;14438:9;:36::i;:::-;-1:-1:-1;14485:121:0;14494:6;2819:10;14516:89;14554:6;14516:89;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;14516:19:0;;;;;;:11;:19;;;;;;;;2819:10;14516:33;;;;;;;;;;:37;:89::i;:::-;14485:8;:121::i;:::-;-1:-1:-1;14624:4:0;14323:313;;;;;;:::o;3668:148::-;3577:6;;-1:-1:-1;;;;;3577:6:0;2819:10;3577:22;3569:67;;;;-1:-1:-1;;;3569:67:0;;;;;;;:::i;:::-;;;;;;;;;3775:1:::1;3759:6:::0;;3738:40:::1;::::0;-1:-1:-1;;;;;3759:6:0;;::::1;::::0;3738:40:::1;::::0;3775:1;;3738:40:::1;3806:1;3789:19:::0;;-1:-1:-1;;;;;;3789:19:0::1;::::0;;3668:148::o;11655:257::-;3577:6;;-1:-1:-1;;;;;3577:6:0;2819:10;3577:22;3569:67;;;;-1:-1:-1;;;3569:67:0;;;;;;;:::i;:::-;11722:17:::1;::::0;11709:10:::1;:30:::0;11750:18:::1;:26:::0;;-1:-1:-1;;11750:26:0::1;::::0;;-1:-1:-1;11787:21:0::1;:25:::0;;;11823:22:::1;:26:::0;;;11860:12:::1;:16:::0;;;11887:13:::1;:17:::0;11655:257::o;8131:87::-;8170:13;8203:7;8196:14;;;;;:::i;10954:167::-;11032:4;11049:42;2819:10;11073:9;11084:6;11049:9;:42::i;3824:244::-;3577:6;;-1:-1:-1;;;;;3577:6:0;2819:10;3577:22;3569:67;;;;-1:-1:-1;;;3569:67:0;;;;;;;:::i;:::-;-1:-1:-1;;;;;3913:22:0;::::1;3905:73;;;::::0;-1:-1:-1;;;3905:73:0;;3848:2:1;3905:73:0::1;::::0;::::1;3830:21:1::0;3887:2;3867:18;;;3860:30;3926:34;3906:18;;;3899:62;-1:-1:-1;;;3977:18:1;;;3970:36;4023:19;;3905:73:0::1;3646:402:1::0;3905:73:0::1;4015:6;::::0;;3994:38:::1;::::0;-1:-1:-1;;;;;3994:38:0;;::::1;::::0;4015:6;::::1;::::0;3994:38:::1;::::0;::::1;4043:6;:17:::0;;-1:-1:-1;;;;;;4043:17:0::1;-1:-1:-1::0;;;;;4043:17:0;;;::::1;::::0;;;::::1;::::0;;3824:244::o;8430:337::-;-1:-1:-1;;;;;8523:19:0;;8515:68;;;;-1:-1:-1;;;8515:68:0;;4255:2:1;8515:68:0;;;4237:21:1;4294:2;4274:18;;;4267:30;4333:34;4313:18;;;4306:62;-1:-1:-1;;;4384:18:1;;;4377:34;4428:19;;8515:68:0;4053:400:1;8515:68:0;-1:-1:-1;;;;;8602:21:0;;8594:68;;;;-1:-1:-1;;;8594:68:0;;4660:2:1;8594:68:0;;;4642:21:1;4699:2;4679:18;;;4672:30;4738:34;4718:18;;;4711:62;-1:-1:-1;;;4789:18:1;;;4782:32;4831:19;;8594:68:0;4458:398:1;8594:68:0;-1:-1:-1;;;;;8675:18:0;;;;;;;:11;:18;;;;;;;;:27;;;;;;;;;;;;;:36;;;8727:32;;1361:25:1;;;8727:32:0;;1334:18:1;8727:32:0;;;;;;;8430:337;;;:::o;13989:326::-;14076:4;-1:-1:-1;;;;;14101:20:0;;14093:70;;;;-1:-1:-1;;;14093:70:0;;5063:2:1;14093:70:0;;;5045:21:1;5102:2;5082:18;;;5075:30;5141:34;5121:18;;;5114:62;-1:-1:-1;;;5192:18:1;;;5185:35;5237:19;;14093:70:0;4861:401:1;14093:70:0;-1:-1:-1;;;;;14182:23:0;;14174:71;;;;-1:-1:-1;;;14174:71:0;;5469:2:1;14174:71:0;;;5451:21:1;5508:2;5488:18;;;5481:30;5547:34;5527:18;;;5520:62;-1:-1:-1;;;5598:18:1;;;5591:33;5641:19;;14174:71:0;5267:399:1;14174:71:0;14263:44;14281:6;14289:9;14300:6;14263:17;:44::i;:::-;14256:51;13989:326;-1:-1:-1;;;;13989:326:0:o;1584:192::-;1670:7;1706:12;1698:6;;;;1690:29;;;;-1:-1:-1;;;1690:29:0;;;;;;;;:::i;:::-;-1:-1:-1;1730:9:0;1742:5;1746:1;1742;:5;:::i;:::-;1730:17;1584:192;-1:-1:-1;;;;;1584:192:0:o;12725:1256::-;12842:9;;12821:4;;12842:9;;12838:1136;;;12875:41;12890:6;12898:9;12909:6;12875:14;:41::i;:::-;12868:48;;;;12838:1136;-1:-1:-1;;;;;12954:22:0;;;;;;:14;:22;;;;;;;;12953:23;:53;;;;-1:-1:-1;;;;;;12981:25:0;;;;;;:14;:25;;;;;;;;12980:26;12953:53;12949:161;;;13045:10;;13035:6;:20;;13027:67;;;;-1:-1:-1;;;13027:67:0;;6138:2:1;13027:67:0;;;6120:21:1;6177:2;6157:18;;;6150:30;6216:34;6196:18;;;6189:62;-1:-1:-1;;;6267:18:1;;;6260:32;6309:19;;13027:67:0;5936:398:1;13027:67:0;13124:38;13136:6;13144:9;13155:6;13124:11;:38::i;:::-;-1:-1:-1;;;;;13247:26:0;;13177:17;13247:26;;;:18;:26;;;;;;13177:17;;13247:26;;;:59;;-1:-1:-1;;;;;;13277:29:0;;;;;;:18;:29;;;;;;;;13247:59;13243:213;;;-1:-1:-1;13339:6:0;13243:213;;;13398:42;13414:6;13422:9;13433:6;13398:15;:42::i;:::-;13386:54;;13243:213;13470:36;13485:9;13496;13470:14;:36::i;:::-;13526:18;;;;;;;13525:19;:49;;;;-1:-1:-1;;;;;;13548:26:0;;;;;;:18;:26;;;;;;;;13525:49;13521:182;;;13607:21;:6;13618:9;13607:10;:21::i;:::-;13595:33;;13521:182;;;13681:6;13669:18;;13521:182;13751:54;;;;;;;;;;;-1:-1:-1;;;13751:54:0;;;;;;;;-1:-1:-1;;;;;13751:17:0;;-1:-1:-1;13751:17:0;;;:9;:17;;;;;;;;:54;;13773:9;;13751:21;:54::i;:::-;-1:-1:-1;;;;;13731:17:0;;;;;;;:9;:17;;;;;;:74;;;;13843:20;;;;;;;:35;;13868:9;13843:24;:35::i;:::-;-1:-1:-1;;;;;13820:20:0;;;;;;;:9;:20;;;;;;;:58;;;;13898:38;;;;;;;;;;13926:9;1361:25:1;;1349:2;1334:18;;1215:177;13898:38:0;;;;;;;;13958:4;13951:11;;;;;;11166:330;11296:53;;;;;;;;;;;-1:-1:-1;;;11296:53:0;;;;;;;;-1:-1:-1;;;;;11296:17:0;;11259:4;11296:17;;;:9;:17;;;;;;;:53;;11318:6;;11296:21;:53::i;:::-;-1:-1:-1;;;;;11276:17:0;;;;;;;:9;:17;;;;;;:73;;;;11383:20;;;;;;;:32;;11408:6;11383:24;:32::i;:::-;-1:-1:-1;;;;;11360:20:0;;;;;;;:9;:20;;;;;;;:55;;;;11431:35;;;;;;;;;;11459:6;1361:25:1;;1349:2;1334:18;;1215:177;11431:35:0;;;;;;;;-1:-1:-1;11484:4:0;11166:330;;;;;:::o;11920:575::-;12042:4;12003:18;15037;;;:9;:18;;;;;;12092:14;;12141:9;;15037:18;;12078:28;;;;;12141:9;;12140:10;:34;;;;-1:-1:-1;;;;;;12154:20:0;;;;;;:16;:20;;;;;;;;12140:34;:53;;;;-1:-1:-1;12178:15:0;;;;;;;12140:53;-1:-1:-1;;;;;12224:24:0;;12204:16;12224:24;;;:18;:24;;;;;;12117:76;;-1:-1:-1;12204:16:0;12224:24;;12223:25;:52;;;;;12261:14;;12252:6;:23;12223:52;12204:71;;12290:11;:30;;;;;12305:15;12290:30;:45;;;;;12324:11;12290:45;12286:202;;;12356:16;;;;;;;12352:84;;;12406:14;;12393:27;;12352:84;12450:26;12465:10;12450:14;:26::i;:::-;11992:503;;;;11920:575;;;:::o;9619:376::-;9714:7;9734:11;9748:40;9761:6;9769:10;9781:6;9748:12;:40::i;:::-;9734:54;-1:-1:-1;9803:7:0;;9799:156;;9872:4;9854:24;;;;:9;:24;;;;;;:33;;9883:3;9854:28;:33::i;:::-;9845:4;9827:24;;;;:9;:24;;;;;;;:60;;;;9907:36;;-1:-1:-1;;;;;9907:36:0;;;;;;;9939:3;1361:25:1;;1349:2;1334:18;;1215:177;9907:36:0;;;;;;;;9799:156;9972:15;:6;9983:3;9972:10;:15::i;12503:214::-;12584:18;;;;;;;:45;;;;-1:-1:-1;;;;;;12607:22:0;;;;;;:18;:22;;;;;;;;12606:23;12584:45;12580:130;;;12683:14;;-1:-1:-1;;;;;12654:13:0;;;;;;:9;:13;;;;;;:25;;12672:6;12654:17;:25::i;:::-;:43;;12646:52;;;;;;12503:214;;:::o;1440:136::-;1498:7;1525:43;1529:1;1532;1525:43;;;;;;;;;;;;;;;;;:3;:43::i;1251:181::-;1309:7;;1341:5;1345:1;1341;:5;:::i;:::-;1329:17;;1370:1;1365;:6;;1357:46;;;;-1:-1:-1;;;1357:46:0;;6671:2:1;1357:46:0;;;6653:21:1;6710:2;6690:18;;;6683:30;6749:29;6729:18;;;6722:57;6796:18;;1357:46:0;6469:351:1;10003:943:0;6618:9;:16;;-1:-1:-1;;6618:16:0;6630:4;6618:16;;;10140::::1;::::0;10114:20:::1;::::0;6618:9;;10098:66:::1;::::0;10162:1:::1;::::0;10098:59:::1;::::0;;;:11;;:15:::1;:37::i;:::-;:41:::0;::::1;:59::i;:66::-;10076:88:::0;-1:-1:-1;10175:20:0::1;10198:28;:11:::0;10076:88;10198:15:::1;:28::i;:::-;10175:51;;10239:30;10256:12;10239:16;:30::i;:::-;10373:20;::::0;10296:21:::1;::::0;10280:13:::1;::::0;10352:49:::1;::::0;10373:27:::1;::::0;10398:1:::1;10373:24;:27::i;:::-;10352:16;::::0;;:20:::1;:49::i;:::-;10330:71;;10414:27;10444:55;10497:1;10444:48;10480:11;10444:31;10454:20;;10444:5;:9;;:31;;;;:::i;:55::-;10414:85;;10510:29;10542:50;10580:11;10542:33;10552:22;;10542:5;:9;;:33;;;;:::i;:50::-;10510:82:::0;-1:-1:-1;10603:27:0::1;10633:57;10510:82:::0;10633:30:::1;:5:::0;10643:19;10633:9:::1;:30::i;:::-;:34:::0;::::1;:57::i;:::-;10603:87:::0;-1:-1:-1;10707:23:0;;10703:112:::1;;10765:16;::::0;10747:56:::1;::::0;-1:-1:-1;;;;;10765:16:0::1;10783:19:::0;10747:17:::1;:56::i;:::-;10831:25:::0;;10827:112:::1;;10891:12;::::0;10873:54:::1;::::0;-1:-1:-1;;;;;10891:12:0::1;10905:21:::0;10873:17:::1;:54::i;:::-;-1:-1:-1::0;;6657:9:0;:17;;-1:-1:-1;;6657:17:0;;;-1:-1:-1;;;;;;10003:943:0:o;9302:309::-;-1:-1:-1;;;;;9413:22:0;;9389:7;9413:22;;;:16;:22;;;;;;;;9409:195;;;9459:33;9488:3;9459:24;9470:12;;9459:6;:10;;:24;;;;:::i;9409:195::-;-1:-1:-1;;;;;9514:20:0;;;;;;:16;:20;;;;;;;;9510:94;;;9558:34;9588:3;9558:25;9569:13;;9558:6;:10;;:25;;;;:::i;1784:250::-;1842:7;1866:1;1871;1866:6;1862:47;;-1:-1:-1;1896:1:0;1889:8;;1862:47;1921:9;1933:5;1937:1;1933;:5;:::i;:::-;1921:17;-1:-1:-1;1966:1:0;1957:5;1961:1;1921:17;1957:5;:::i;:::-;:10;1949:56;;;;-1:-1:-1;;;1949:56:0;;7422:2:1;1949:56:0;;;7404:21:1;7461:2;7441:18;;;7434:30;7500:34;7480:18;;;7473:62;-1:-1:-1;;;7551:18:1;;;7544:31;7592:19;;1949:56:0;7220:397:1;2042:132:0;2100:7;2127:39;2131:1;2134;2127:39;;;;;;;;;;;;;;;;;:3;:39::i;8775:519::-;8865:16;;;8879:1;8865:16;;;;;;;;8841:21;;8865:16;;;;;;;;;;-1:-1:-1;8865:16:0;8841:40;;8910:4;8892;8897:1;8892:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8892:23:0;;;:7;;;;;;;;;;:23;;;;8936:15;;:22;;;-1:-1:-1;;;8936:22:0;;;;:15;;;;;:20;;:22;;;;;8892:7;;8936:22;;;;;:15;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8926:4;8931:1;8926:7;;;;;;;;:::i;:::-;-1:-1:-1;;;;;8926:32:0;;;:7;;;;;;;;;:32;9003:15;;8971:62;;8988:4;;9003:15;9021:11;8971:8;:62::i;:::-;9046:15;;:240;;-1:-1:-1;;;9046:240:0;;-1:-1:-1;;;;;9046:15:0;;;;:66;;:240;;9127:11;;9046:15;;9197:4;;9224;;9260:15;;9046:240;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8830:464;8775:519;:::o;14813:123::-;14902:26;;-1:-1:-1;;;;;14902:18:0;;;:26;;;;;14921:6;;14902:26;;;;14921:6;14902:18;:26;;;;;;;;;;;;;;;;;;;;;14813:123;;:::o;2182:189::-;2268:7;2303:12;2296:5;2288:28;;;;-1:-1:-1;;;2288:28:0;;;;;;;;:::i;:::-;-1:-1:-1;2327:9:0;2339:5;2343:1;2339;:5;:::i;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;2047:247::-;2106:6;2159:2;2147:9;2138:7;2134:23;2130:32;2127:52;;;2175:1;2172;2165:12;2127:52;2214:9;2201:23;2233:31;2258:5;2233:31;:::i;2507:388::-;2575:6;2583;2636:2;2624:9;2615:7;2611:23;2607:32;2604:52;;;2652:1;2649;2642:12;2604:52;2691:9;2678:23;2710:31;2735:5;2710:31;:::i;:::-;2760:5;-1:-1:-1;2817:2:1;2802:18;;2789:32;2830:33;2789:32;2830:33;:::i;:::-;2882:7;2872:17;;;2507:388;;;;;:::o;2900:380::-;2979:1;2975:12;;;;3022;;;3043:61;;3097:4;3089:6;3085:17;3075:27;;3043:61;3150:2;3142:6;3139:14;3119:18;3116:38;3113:161;;3196:10;3191:3;3187:20;3184:1;3177:31;3231:4;3228:1;3221:15;3259:4;3256:1;3249:15;3113:161;;2900:380;;;:::o;3285:356::-;3487:2;3469:21;;;3506:18;;;3499:30;3565:34;3560:2;3545:18;;3538:62;3632:2;3617:18;;3285:356::o;5671:127::-;5732:10;5727:3;5723:20;5720:1;5713:31;5763:4;5760:1;5753:15;5787:4;5784:1;5777:15;5803:128;5870:9;;;5891:11;;;5888:37;;;5905:18;;:::i;6339:125::-;6404:9;;;6425:10;;;6422:36;;;6438:18;;:::i;6825:168::-;6898:9;;;6929;;6946:15;;;6940:22;;6926:37;6916:71;;6967:18;;:::i;6998:217::-;7038:1;7064;7054:132;;7108:10;7103:3;7099:20;7096:1;7089:31;7143:4;7140:1;7133:15;7171:4;7168:1;7161:15;7054:132;-1:-1:-1;7200:9:1;;6998:217::o;7754:127::-;7815:10;7810:3;7806:20;7803:1;7796:31;7846:4;7843:1;7836:15;7870:4;7867:1;7860:15;7886:251;7956:6;8009:2;7997:9;7988:7;7984:23;7980:32;7977:52;;;8025:1;8022;8015:12;7977:52;8057:9;8051:16;8076:31;8101:5;8076:31;:::i;8142:980::-;8404:4;8452:3;8441:9;8437:19;8483:6;8472:9;8465:25;8509:2;8547:6;8542:2;8531:9;8527:18;8520:34;8590:3;8585:2;8574:9;8570:18;8563:31;8614:6;8649;8643:13;8680:6;8672;8665:22;8718:3;8707:9;8703:19;8696:26;;8757:2;8749:6;8745:15;8731:29;;8778:1;8788:195;8802:6;8799:1;8796:13;8788:195;;;8867:13;;-1:-1:-1;;;;;8863:39:1;8851:52;;8958:15;;;;8923:12;;;;8899:1;8817:9;8788:195;;;-1:-1:-1;;;;;;;9039:32:1;;;;9034:2;9019:18;;9012:60;-1:-1:-1;;;9103:3:1;9088:19;9081:35;9000:3;8142:980;-1:-1:-1;;;8142:980:1:o

Swarm Source

ipfs://2e9a0379fe3329644f6299072d9537e05cf19f26e63da42e2abdc466cdb9ada0

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.