ETH Price: $2,068.20 (-0.26%)

Contract

0x1E251ef6d5600b3dAEd00A8635d5A3b4a4C73AE7
 

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
Approve169357072023-03-29 21:48:351097 days ago1680126515IN
0x1E251ef6...4a4C73AE7
0 ETH0.0013056928.11206344
Approve169348362023-03-29 18:51:471097 days ago1680115907IN
0x1E251ef6...4a4C73AE7
0 ETH0.0017555338.062906
Approve169348042023-03-29 18:45:111097 days ago1680115511IN
0x1E251ef6...4a4C73AE7
0 ETH0.0017232937.1032332
Approve169278972023-03-28 19:26:471098 days ago1680031607IN
0x1E251ef6...4a4C73AE7
0 ETH0.0016673735.89915652
Approve169232102023-03-28 3:35:591099 days ago1679974559IN
0x1E251ef6...4a4C73AE7
0 ETH0.0010726123.09378016
Approve169223312023-03-28 0:39:231099 days ago1679963963IN
0x1E251ef6...4a4C73AE7
0 ETH0.0009181719.8764689
Approve169222842023-03-28 0:29:591099 days ago1679963399IN
0x1E251ef6...4a4C73AE7
0 ETH0.0010236822.04025248
Approve169222112023-03-28 0:14:591099 days ago1679962499IN
0x1E251ef6...4a4C73AE7
0 ETH0.0017916138.82501627
Approve169221792023-03-28 0:08:351099 days ago1679962115IN
0x1E251ef6...4a4C73AE7
0 ETH0.0024163452.02475108
Approve169220262023-03-27 23:37:231099 days ago1679960243IN
0x1E251ef6...4a4C73AE7
0 ETH0.0011129323.93097059
Transfer169219342023-03-27 23:18:351099 days ago1679959115IN
0x1E251ef6...4a4C73AE7
0 ETH0.0010890623.62646029
Transfer169219272023-03-27 23:16:591099 days ago1679959019IN
0x1E251ef6...4a4C73AE7
0 ETH0.0011769423.12501148
Approve169219242023-03-27 23:16:231099 days ago1679958983IN
0x1E251ef6...4a4C73AE7
0 ETH0.0012710827.33154856
Transfer169219182023-03-27 23:15:111099 days ago1679958911IN
0x1E251ef6...4a4C73AE7
0 ETH0.0011468322.53336366
Approve169219152023-03-27 23:14:351099 days ago1679958875IN
0x1E251ef6...4a4C73AE7
0 ETH0.0009327720.21889686
Approve169219052023-03-27 23:12:351099 days ago1679958755IN
0x1E251ef6...4a4C73AE7
0 ETH0.0014761631.99731237
Approve169219032023-03-27 23:12:111099 days ago1679958731IN
0x1E251ef6...4a4C73AE7
0 ETH0.0009815521.27616668
Transfer169219002023-03-27 23:11:351099 days ago1679958695IN
0x1E251ef6...4a4C73AE7
0 ETH0.0011693722.9761447
Approve169219002023-03-27 23:11:351099 days ago1679958695IN
0x1E251ef6...4a4C73AE7
0 ETH0.0010685222.9761447
Transfer169218912023-03-27 23:09:471099 days ago1679958587IN
0x1E251ef6...4a4C73AE7
0 ETH0.0011101721.81301172
Approve169218902023-03-27 23:09:351099 days ago1679958575IN
0x1E251ef6...4a4C73AE7
0 ETH0.0010461422.52388088
Approve169218892023-03-27 23:09:231099 days ago1679958563IN
0x1E251ef6...4a4C73AE7
0 ETH0.0010260122.23983273
Approve169218832023-03-27 23:08:111099 days ago1679958491IN
0x1E251ef6...4a4C73AE7
0 ETH0.0010278922.10244361
Renounce Ownersh...169218822023-03-27 23:07:471099 days ago1679958467IN
0x1E251ef6...4a4C73AE7
0 ETH0.0005053422.23832736
Approve169218822023-03-27 23:07:471099 days ago1679958467IN
0x1E251ef6...4a4C73AE7
0 ETH0.0011272224.23832736
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Method Block
From
To
Transfer169348072023-03-29 18:45:471097 days ago1680115547
0x1E251ef6...4a4C73AE7
0.00112319 ETH
Transfer169348072023-03-29 18:45:471097 days ago1680115547
0x1E251ef6...4a4C73AE7
0.00112319 ETH
Transfer169279012023-03-28 19:27:351098 days ago1680031655
0x1E251ef6...4a4C73AE7
0.00114227 ETH
Transfer169279012023-03-28 19:27:351098 days ago1680031655
0x1E251ef6...4a4C73AE7
0.00114227 ETH
Transfer169239262023-03-28 6:00:351099 days ago1679983235
0x1E251ef6...4a4C73AE7
0.00066366 ETH
Transfer169239262023-03-28 6:00:351099 days ago1679983235
0x1E251ef6...4a4C73AE7
0.00066366 ETH
Transfer169223352023-03-28 0:40:111099 days ago1679964011
0x1E251ef6...4a4C73AE7
0.0006976 ETH
Transfer169223352023-03-28 0:40:111099 days ago1679964011
0x1E251ef6...4a4C73AE7
0.0006976 ETH
Transfer169223012023-03-28 0:33:231099 days ago1679963603
0x1E251ef6...4a4C73AE7
0.00277456 ETH
Transfer169223012023-03-28 0:33:231099 days ago1679963603
0x1E251ef6...4a4C73AE7
0.00277456 ETH
Transfer169222912023-03-28 0:31:231099 days ago1679963483
0x1E251ef6...4a4C73AE7
0.00151781 ETH
Transfer169222912023-03-28 0:31:231099 days ago1679963483
0x1E251ef6...4a4C73AE7
0.00151781 ETH
Transfer169222312023-03-28 0:19:231099 days ago1679962763
0x1E251ef6...4a4C73AE7
0.00508938 ETH
Transfer169222312023-03-28 0:19:231099 days ago1679962763
0x1E251ef6...4a4C73AE7
0.00508938 ETH
Transfer169222152023-03-28 0:15:471099 days ago1679962547
0x1E251ef6...4a4C73AE7
0.00333844 ETH
Transfer169222152023-03-28 0:15:471099 days ago1679962547
0x1E251ef6...4a4C73AE7
0.00333844 ETH
Transfer169221872023-03-28 0:10:111099 days ago1679962211
0x1E251ef6...4a4C73AE7
0.00727385 ETH
Transfer169221872023-03-28 0:10:111099 days ago1679962211
0x1E251ef6...4a4C73AE7
0.00727385 ETH
Transfer169221592023-03-28 0:04:351099 days ago1679961875
0x1E251ef6...4a4C73AE7
0.00309057 ETH
Transfer169221592023-03-28 0:04:351099 days ago1679961875
0x1E251ef6...4a4C73AE7
0.00309057 ETH
Transfer169221342023-03-27 23:59:351099 days ago1679961575
0x1E251ef6...4a4C73AE7
0.0009404 ETH
Transfer169221342023-03-27 23:59:351099 days ago1679961575
0x1E251ef6...4a4C73AE7
0.0009404 ETH
Transfer169220912023-03-27 23:50:351099 days ago1679961035
0x1E251ef6...4a4C73AE7
0.00178101 ETH
Transfer169220912023-03-27 23:50:351099 days ago1679961035
0x1E251ef6...4a4C73AE7
0.00178101 ETH
Transfer169220902023-03-27 23:50:231099 days ago1679961023
0x1E251ef6...4a4C73AE7
0.0019936 ETH
View All Internal Transactions
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:
PocketCookAI

Compiler Version
v0.8.18+commit.87f61d96

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license
/**
 *Submitted for verification at Etherscan.io on 2023-03-26
*/

/**
PocketCookAI is an AI-driven cooking assistant that simplifies meal planning and recipe exploration.
Our Telegram bot enhances the cooking experience by optimizing ingredient usage and considering users' 
dietary needs.

Telegram : https://t.me/PocketCookAI
Web : https://pocketcookai.com/
Twitter : https://twitter.com/PocketCookAI
*/

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.5;
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;
    }
}

interface ERC20 {
    function totalSupply() external view returns (uint256);
    function decimals() external view returns (uint8);
    function symbol() external view returns (string memory);
    function name() external view returns (string memory);
    function getOwner() external view returns (address);
    function 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;
    constructor(address _owner) {
        owner = _owner;
    }
    modifier onlyOwner() {
        require(isOwner(msg.sender), "!OWNER"); _;
    }
    function isOwner(address account) public view returns (bool) {
        return account == owner;
    }
    function renounceOwnership() public onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(address(0));
    }  
    event OwnershipTransferred(address owner);
}

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

interface IDEXRouter {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidity(
        address tokenA,
        address tokenB,
        uint amountADesired,
        uint amountBDesired,
        uint amountAMin,
        uint amountBMin,
        address to,
        uint deadline
    ) external returns (uint amountA, uint amountB, uint liquidity);
    function addLiquidityETH(
        address token,
        uint amountTokenDesired,
        uint amountTokenMin,
        uint amountETHMin,
        address to,
        uint deadline
    ) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForTokensSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
    function swapExactETHForTokensSupportingFeeOnTransferTokens(
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external payable;
    function swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract PocketCookAI is ERC20, Ownable {
    using SafeMath for uint256;
    address routerAdress = 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D;
    address DEAD = 0x000000000000000000000000000000000000dEaD;

    string constant _name = "PocketCookAI";
    string constant _symbol = "$PCT";
    uint8 constant _decimals = 9;

    uint256 _totalSupply = 10_000_000 * (10 ** _decimals);
    uint256 public _maxWalletAmount = (_totalSupply * 3) / 100;

    mapping (address => uint256) _balances;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) isFeeExempt;
    mapping (address => bool) isTxLimitExempt;

    uint256 liquidityFee = 0; 
    uint256 marketingFee = 5;
    uint256 totalFee = liquidityFee + marketingFee;
    uint256 feeDenominator = 100;

    address public marketingFeeReceiver = msg.sender;

    IDEXRouter public router;
    address public pair;

    bool public swapEnabled = true;
    uint256 public swapThreshold = _totalSupply / 10000 * 1; // 0.01%
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Ownable(msg.sender) {
        router = IDEXRouter(routerAdress);
        pair = IDEXFactory(router.factory()).createPair(router.WETH(), address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        address _owner = owner;
        isFeeExempt[msg.sender] = true;
        isTxLimitExempt[_owner] = true;
        isTxLimitExempt[msg.sender] = true;
        isTxLimitExempt[DEAD] = true;

        _balances[_owner] = _totalSupply;
        emit Transfer(address(0), _owner, _totalSupply);
    }

    receive() external payable { }

    function totalSupply() external view override returns (uint256) { return _totalSupply; }
    function decimals() external pure override returns (uint8) { return _decimals; }
    function symbol() external pure override returns (string memory) { return _symbol; }
    function name() external pure override returns (string memory) { return _name; }
    function getOwner() external view override returns (address) { return owner; }
    function balanceOf(address account) public view override returns (uint256) { return _balances[account]; }
    function allowance(address holder, address spender) external view override returns (uint256) { return _allowances[holder][spender]; }

    function approve(address spender, uint256 amount) public override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function approveMax(address spender) external returns (bool) {
        return approve(spender, type(uint256).max);
    }

    function transfer(address recipient, uint256 amount) external override returns (bool) {
        return _transferFrom(msg.sender, recipient, amount);
    }

    function transferFrom(address sender, address recipient, uint256 amount) external override returns (bool) {
        if(_allowances[sender][msg.sender] != type(uint256).max){
            _allowances[sender][msg.sender] = _allowances[sender][msg.sender].sub(amount, "Insufficient Allowance");
        }

        return _transferFrom(sender, recipient, amount);
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }
        
        if (recipient != pair && recipient != DEAD && recipient != routerAdress && recipient != marketingFeeReceiver && recipient != address(this)) {
            require(isTxLimitExempt[recipient] || _balances[recipient] + amount <= _maxWalletAmount, "Transfer amount exceeds the bag size.");
        }
        
        if(shouldSwapBack() && recipient != DEAD && recipient != marketingFeeReceiver && recipient != address(this)){ swapBack(); } 

        _balances[sender] = _balances[sender].sub(amount, "Insufficient Balance");

        uint256 amountReceived = shouldTakeFee(sender) ? takeFee(sender, amount) : amount;
        _balances[recipient] = _balances[recipient].add(amountReceived);

        emit Transfer(sender, recipient, amountReceived);
        return true;
    }
    
    function _basicTransfer(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 shouldTakeFee(address sender) internal view returns (bool) {
        return !isFeeExempt[sender];
    }

    function takeFee(address sender, uint256 amount) internal returns (uint256) {
        uint256 feeAmount = amount.mul(totalFee).div(feeDenominator);
        _balances[address(this)] = _balances[address(this)].add(feeAmount);
        emit Transfer(sender, address(this), feeAmount);
        return amount.sub(feeAmount);
    }

    function shouldSwapBack() internal view returns (bool) {
        return msg.sender != pair
        && !inSwap
        && swapEnabled
        && _balances[address(this)] >= swapThreshold;
    }
    function toggleSwap (bool _swapEnabled) external onlyOwner {
        swapEnabled = _swapEnabled;
    }


    function swapBack() internal swapping {
        uint256 contractTokenBalance = balanceOf(address(this));
        uint256 amountToLiquify = contractTokenBalance.mul(liquidityFee).div(totalFee).div(2);
        uint256 amountToSwap = contractTokenBalance.sub(amountToLiquify);

        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = router.WETH();

        uint256 balanceBefore = address(this).balance;

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            amountToSwap,
            0,
            path,
            address(this),
            block.timestamp
        );
        uint256 amountETH = address(this).balance.sub(balanceBefore);
        uint256 totalETHFee = totalFee.sub(liquidityFee.div(2));
        uint256 amountETHLiquidity = amountETH.mul(liquidityFee).div(totalETHFee).div(2);
        uint256 amountETHMarketing = amountETH.mul(marketingFee).div(totalETHFee);


        (bool MarketingSuccess, /* bytes memory data */) = payable(marketingFeeReceiver).call{value: amountETHMarketing, gas: 30000}("");
        require(MarketingSuccess, "receiver rejected ETH transfer");

        if(amountToLiquify > 0){
            router.addLiquidityETH{value: amountETHLiquidity}(
                address(this),
                amountToLiquify,
                0,
                0,
                marketingFeeReceiver,
                block.timestamp
            );
            emit AutoLiquify(amountETHLiquidity, amountToLiquify);
        }
    }

    function buyTokens(uint256 amount, address to) internal swapping {
        address[] memory path = new address[](2);
        path[0] = router.WETH();
        path[1] = address(this);

        router.swapExactETHForTokensSupportingFeeOnTransferTokens{value: amount}(
            0,
            path,
            to,
            block.timestamp
        );
    }

    function clearStuckBalance() external {
        payable(marketingFeeReceiver).transfer(address(this).balance);
    }

    function setWalletLimit(uint256 amountPercent) external onlyOwner {
        _maxWalletAmount = (_totalSupply * amountPercent ) / 1000;
    }

    function setFee(uint256 _liquidityFee, uint256 _marketingFee) external onlyOwner {
         liquidityFee = _liquidityFee; 
         marketingFee = _marketingFee;
         totalFee = liquidityFee + marketingFee;
    }    
    
    event AutoLiquify(uint256 amountETH, uint256 amountBOG);
}

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":false,"internalType":"uint256","name":"amountETH","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amountBOG","type":"uint256"}],"name":"AutoLiquify","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"holder","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":"spender","type":"address"}],"name":"approveMax","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":"clearStuckBalance","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"marketingFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"pure","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_marketingFee","type":"uint256"}],"name":"setFee","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amountPercent","type":"uint256"}],"name":"setWalletLimit","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","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":[{"internalType":"bool","name":"_swapEnabled","type":"bool"}],"name":"toggleSwap","outputs":[],"stateMutability":"nonpayable","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"},{"stateMutability":"payable","type":"receive"}]

6080604052600180546001600160a01b0319908116737a250d5630b4cf539739df2c5dacb4c659f2488d179091556002805490911661dead179055620000486009600a6200046f565b62000057906298968062000487565b60038181556064916200006a9162000487565b620000769190620004a1565b600455600060098190556005600a8190556200009291620004c4565b600b556064600c55600d80546001600160a01b03191633179055600f805460ff60a01b1916600160a01b179055600354620000d19061271090620004a1565b620000de90600162000487565b601055348015620000ee57600080fd5b5060008054336001600160a01b031991821617909155600154600e80546001600160a01b039092169190921681179091556040805163c45a015560e01b8152905163c45a0155916004808201926020929091908290030181865afa1580156200015b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001819190620004da565b6001600160a01b031663c9c65396600e60009054906101000a90046001600160a01b03166001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620001e3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002099190620004da565b6040516001600160e01b031960e084901b1681526001600160a01b0390911660048201523060248201526044016020604051808303816000875af115801562000256573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200027c9190620004da565b600f80546001600160a01b0319166001600160a01b03928316179055306000908152600660209081526040808320600e54851684528252808320600019905582543380855260078452828520805460ff19908116600190811790925592871680875260088652848720805485168317905591865283862080548416821790556002549096168552828520805490921690951790556003548484526005835281842081905590519081528392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35062000505565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003b15781600019048211156200039557620003956200035a565b80851615620003a357918102915b93841c939080029062000375565b509250929050565b600082620003ca5750600162000469565b81620003d95750600062000469565b8160018114620003f25760028114620003fd576200041d565b600191505062000469565b60ff8411156200041157620004116200035a565b50506001821b62000469565b5060208310610133831016604e8410600b841016171562000442575081810a62000469565b6200044e838362000370565b80600019048211156200046557620004656200035a565b0290505b92915050565b60006200048060ff841683620003b9565b9392505050565b80820281158282048414176200046957620004696200035a565b600082620004bf57634e487b7160e01b600052601260045260246000fd5b500490565b808201808211156200046957620004696200035a565b600060208284031215620004ed57600080fd5b81516001600160a01b03811681146200048057600080fd5b6114b880620005156000396000f3fe6080604052600436106101445760003560e01c80636d8aa8f8116100b6578063a8aa1b311161006f578063a8aa1b31146103bf578063a9059cbb146103df578063dd62ed3e146103ff578063e96fada214610445578063f1d5f51714610465578063f887ea401461048557600080fd5b80636d8aa8f8146102d45780636ddd1713146102f457806370a0823114610315578063715018a61461034b578063893d20e81461036057806395d89b411461039257600080fd5b80632f54bf6e116101085780632f54bf6e1461021c578063313ce5671461024b578063364333f41461026757806352f7c9881461027e578063571ac8b01461029e5780636c0a24eb146102be57600080fd5b80630445b6671461015057806306fdde0314610179578063095ea7b3146101b757806318160ddd146101e757806323b872dd146101fc57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061016660105481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201909152600c81526b506f636b6574436f6f6b414960a01b60208201525b6040516101709190611198565b3480156101c357600080fd5b506101d76101d23660046111fb565b6104a5565b6040519015158152602001610170565b3480156101f357600080fd5b50600354610166565b34801561020857600080fd5b506101d7610217366004611227565b610512565b34801561022857600080fd5b506101d7610237366004611268565b6000546001600160a01b0391821691161490565b34801561025757600080fd5b5060405160098152602001610170565b34801561027357600080fd5b5061027c6105d4565b005b34801561028a57600080fd5b5061027c610299366004611285565b610610565b3480156102aa57600080fd5b506101d76102b9366004611268565b61065e565b3480156102ca57600080fd5b5061016660045481565b3480156102e057600080fd5b5061027c6102ef3660046112a7565b61066c565b34801561030057600080fd5b50600f546101d790600160a01b900460ff1681565b34801561032157600080fd5b50610166610330366004611268565b6001600160a01b031660009081526005602052604090205490565b34801561035757600080fd5b5061027c6106b4565b34801561036c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610170565b34801561039e57600080fd5b50604080518082019091526004815263091410d560e21b60208201526101aa565b3480156103cb57600080fd5b50600f5461037a906001600160a01b031681565b3480156103eb57600080fd5b506101d76103fa3660046111fb565b610723565b34801561040b57600080fd5b5061016661041a3660046112c9565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561045157600080fd5b50600d5461037a906001600160a01b031681565b34801561047157600080fd5b5061027c610480366004611302565b610730565b34801561049157600080fd5b50600e5461037a906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105009086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146105bf576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461059a91849061077b565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6105ca8484846107b5565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561060d573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106435760405162461bcd60e51b815260040161063a9061131b565b60405180910390fd5b6009829055600a8190556106578183611351565b600b555050565b600061050c826000196104a5565b6000546001600160a01b031633146106965760405162461bcd60e51b815260040161063a9061131b565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106de5760405162461bcd60e51b815260040161063a9061131b565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105cd3384846107b5565b6000546001600160a01b0316331461075a5760405162461bcd60e51b815260040161063a9061131b565b6103e88160035461076b9190611364565b610775919061137b565b60045550565b6000818484111561079f5760405162461bcd60e51b815260040161063a9190611198565b5060006107ac848661139d565b95945050505050565b60115460009060ff16156107d5576107ce848484610a71565b90506105cd565b600f546001600160a01b0384811691161480159061080157506002546001600160a01b03848116911614155b801561081b57506001546001600160a01b03848116911614155b80156108355750600d546001600160a01b03848116911614155b801561084a57506001600160a01b0383163014155b156108f5576001600160a01b03831660009081526008602052604090205460ff168061089b57506004546001600160a01b038416600090815260056020526040902054610898908490611351565b11155b6108f55760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161063a565b6108fd610b57565b801561091757506002546001600160a01b03848116911614155b80156109315750600d546001600160a01b03848116911614155b801561094657506001600160a01b0383163014155b1561095357610953610baf565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546109a591849061077b565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156109da57826109e4565b6109e48584610f5f565b6001600160a01b038516600090815260056020526040902054909150610a0a9082611005565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a5e9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610ac291849061077b565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610af19083611005565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b459086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610b78575060115460ff16155b8015610b8d5750600f54600160a01b900460ff165b8015610baa57506010543060009081526005602052604090205410155b905090565b6011805460ff191660011790553060009081526005602052604081205490506000610bf66002610bf0600b54610bf06009548761106490919063ffffffff16565b906110e6565b90506000610c048383611128565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c3e57610c3e6113b0565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb91906113c6565b81600181518110610cce57610cce6113b0565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610d189086906000908790309042906004016113e3565b600060405180830381600087803b158015610d3257600080fd5b505af1158015610d46573d6000803e3d6000fd5b505050506000610d5f824761112890919063ffffffff16565b90506000610d85610d7c60026009546110e690919063ffffffff16565b600b5490611128565b90506000610da76002610bf084610bf06009548861106490919063ffffffff16565b90506000610dc483610bf0600a548761106490919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610e1b576040519150601f19603f3d011682016040523d82523d6000602084013e610e20565b606091505b5050905080610e715760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161063a565b8815610f4957600e54600d5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0c9190611454565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610f7d600c54610bf0600b548661106490919063ffffffff16565b30600090815260056020526040902054909150610f9a9082611005565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610feb9085815260200190565b60405180910390a3610ffd8382611128565b949350505050565b6000806110128385611351565b9050838110156105cd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161063a565b6000826000036110765750600061050c565b60006110828385611364565b90508261108f858361137b565b146105cd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161063a565b60006105cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061116a565b60006105cd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061077b565b6000818361118b5760405162461bcd60e51b815260040161063a9190611198565b5060006107ac848661137b565b600060208083528351808285015260005b818110156111c5578581018301518582016040015282016111a9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461060d57600080fd5b6000806040838503121561120e57600080fd5b8235611219816111e6565b946020939093013593505050565b60008060006060848603121561123c57600080fd5b8335611247816111e6565b92506020840135611257816111e6565b929592945050506040919091013590565b60006020828403121561127a57600080fd5b81356105cd816111e6565b6000806040838503121561129857600080fd5b50508035926020909101359150565b6000602082840312156112b957600080fd5b813580151581146105cd57600080fd5b600080604083850312156112dc57600080fd5b82356112e7816111e6565b915060208301356112f7816111e6565b809150509250929050565b60006020828403121561131457600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561050c5761050c61133b565b808202811582820484141761050c5761050c61133b565b60008261139857634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561050c5761050c61133b565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113d857600080fd5b81516105cd816111e6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114335784516001600160a01b03168352938301939183019160010161140e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561146957600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220dc35f706e97ef553df5876403837baa350feae2f71dde34d9e49159019ba093c64736f6c63430008120033

Deployed Bytecode

0x6080604052600436106101445760003560e01c80636d8aa8f8116100b6578063a8aa1b311161006f578063a8aa1b31146103bf578063a9059cbb146103df578063dd62ed3e146103ff578063e96fada214610445578063f1d5f51714610465578063f887ea401461048557600080fd5b80636d8aa8f8146102d45780636ddd1713146102f457806370a0823114610315578063715018a61461034b578063893d20e81461036057806395d89b411461039257600080fd5b80632f54bf6e116101085780632f54bf6e1461021c578063313ce5671461024b578063364333f41461026757806352f7c9881461027e578063571ac8b01461029e5780636c0a24eb146102be57600080fd5b80630445b6671461015057806306fdde0314610179578063095ea7b3146101b757806318160ddd146101e757806323b872dd146101fc57600080fd5b3661014b57005b600080fd5b34801561015c57600080fd5b5061016660105481565b6040519081526020015b60405180910390f35b34801561018557600080fd5b5060408051808201909152600c81526b506f636b6574436f6f6b414960a01b60208201525b6040516101709190611198565b3480156101c357600080fd5b506101d76101d23660046111fb565b6104a5565b6040519015158152602001610170565b3480156101f357600080fd5b50600354610166565b34801561020857600080fd5b506101d7610217366004611227565b610512565b34801561022857600080fd5b506101d7610237366004611268565b6000546001600160a01b0391821691161490565b34801561025757600080fd5b5060405160098152602001610170565b34801561027357600080fd5b5061027c6105d4565b005b34801561028a57600080fd5b5061027c610299366004611285565b610610565b3480156102aa57600080fd5b506101d76102b9366004611268565b61065e565b3480156102ca57600080fd5b5061016660045481565b3480156102e057600080fd5b5061027c6102ef3660046112a7565b61066c565b34801561030057600080fd5b50600f546101d790600160a01b900460ff1681565b34801561032157600080fd5b50610166610330366004611268565b6001600160a01b031660009081526005602052604090205490565b34801561035757600080fd5b5061027c6106b4565b34801561036c57600080fd5b506000546001600160a01b03165b6040516001600160a01b039091168152602001610170565b34801561039e57600080fd5b50604080518082019091526004815263091410d560e21b60208201526101aa565b3480156103cb57600080fd5b50600f5461037a906001600160a01b031681565b3480156103eb57600080fd5b506101d76103fa3660046111fb565b610723565b34801561040b57600080fd5b5061016661041a3660046112c9565b6001600160a01b03918216600090815260066020908152604080832093909416825291909152205490565b34801561045157600080fd5b50600d5461037a906001600160a01b031681565b34801561047157600080fd5b5061027c610480366004611302565b610730565b34801561049157600080fd5b50600e5461037a906001600160a01b031681565b3360008181526006602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906105009086815260200190565b60405180910390a35060015b92915050565b6001600160a01b0383166000908152600660209081526040808320338452909152812054600019146105bf576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b038716600090815260068252838120338252909152919091205461059a91849061077b565b6001600160a01b03851660009081526006602090815260408083203384529091529020555b6105ca8484846107b5565b90505b9392505050565b600d546040516001600160a01b03909116904780156108fc02916000818181858888f1935050505015801561060d573d6000803e3d6000fd5b50565b6000546001600160a01b031633146106435760405162461bcd60e51b815260040161063a9061131b565b60405180910390fd5b6009829055600a8190556106578183611351565b600b555050565b600061050c826000196104a5565b6000546001600160a01b031633146106965760405162461bcd60e51b815260040161063a9061131b565b600f8054911515600160a01b0260ff60a01b19909216919091179055565b6000546001600160a01b031633146106de5760405162461bcd60e51b815260040161063a9061131b565b600080546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b60006105cd3384846107b5565b6000546001600160a01b0316331461075a5760405162461bcd60e51b815260040161063a9061131b565b6103e88160035461076b9190611364565b610775919061137b565b60045550565b6000818484111561079f5760405162461bcd60e51b815260040161063a9190611198565b5060006107ac848661139d565b95945050505050565b60115460009060ff16156107d5576107ce848484610a71565b90506105cd565b600f546001600160a01b0384811691161480159061080157506002546001600160a01b03848116911614155b801561081b57506001546001600160a01b03848116911614155b80156108355750600d546001600160a01b03848116911614155b801561084a57506001600160a01b0383163014155b156108f5576001600160a01b03831660009081526008602052604090205460ff168061089b57506004546001600160a01b038416600090815260056020526040902054610898908490611351565b11155b6108f55760405162461bcd60e51b815260206004820152602560248201527f5472616e7366657220616d6f756e74206578636565647320746865206261672060448201526439b4bd329760d91b606482015260840161063a565b6108fd610b57565b801561091757506002546001600160a01b03848116911614155b80156109315750600d546001600160a01b03848116911614155b801561094657506001600160a01b0383163014155b1561095357610953610baf565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387166000908152600590915291909120546109a591849061077b565b6001600160a01b038516600090815260056020908152604080832093909355600790529081205460ff16156109da57826109e4565b6109e48584610f5f565b6001600160a01b038516600090815260056020526040902054909150610a0a9082611005565b6001600160a01b0380861660008181526005602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610a5e9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386166000908152600590915291822054610ac291849061077b565b6001600160a01b038086166000908152600560205260408082209390935590851681522054610af19083611005565b6001600160a01b0380851660008181526005602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610b459086815260200190565b60405180910390a35060019392505050565b600f546000906001600160a01b03163314801590610b78575060115460ff16155b8015610b8d5750600f54600160a01b900460ff165b8015610baa57506010543060009081526005602052604090205410155b905090565b6011805460ff191660011790553060009081526005602052604081205490506000610bf66002610bf0600b54610bf06009548761106490919063ffffffff16565b906110e6565b90506000610c048383611128565b60408051600280825260608201835292935060009290916020830190803683370190505090503081600081518110610c3e57610c3e6113b0565b6001600160a01b03928316602091820292909201810191909152600e54604080516315ab88c960e31b81529051919093169263ad5c46489260048083019391928290030181865afa158015610c97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610cbb91906113c6565b81600181518110610cce57610cce6113b0565b6001600160a01b039283166020918202929092010152600e5460405163791ac94760e01b81524792919091169063791ac94790610d189086906000908790309042906004016113e3565b600060405180830381600087803b158015610d3257600080fd5b505af1158015610d46573d6000803e3d6000fd5b505050506000610d5f824761112890919063ffffffff16565b90506000610d85610d7c60026009546110e690919063ffffffff16565b600b5490611128565b90506000610da76002610bf084610bf06009548861106490919063ffffffff16565b90506000610dc483610bf0600a548761106490919063ffffffff16565b600d546040519192506000916001600160a01b039091169061753090849084818181858888f193505050503d8060008114610e1b576040519150601f19603f3d011682016040523d82523d6000602084013e610e20565b606091505b5050905080610e715760405162461bcd60e51b815260206004820152601e60248201527f72656365697665722072656a656374656420455448207472616e736665720000604482015260640161063a565b8815610f4957600e54600d5460405163f305d71960e01b8152306004820152602481018c905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990859060c40160606040518083038185885af1158015610ee7573d6000803e3d6000fd5b50505050506040513d601f19601f82011682018060405250810190610f0c9190611454565b505060408051858152602081018c90527f424db2872186fa7e7afa7a5e902ed3b49a2ef19c2f5431e672462495dd6b450692500160405180910390a15b50506011805460ff191690555050505050505050565b600080610f7d600c54610bf0600b548661106490919063ffffffff16565b30600090815260056020526040902054909150610f9a9082611005565b30600081815260056020526040908190209290925590516001600160a01b038616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610feb9085815260200190565b60405180910390a3610ffd8382611128565b949350505050565b6000806110128385611351565b9050838110156105cd5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161063a565b6000826000036110765750600061050c565b60006110828385611364565b90508261108f858361137b565b146105cd5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161063a565b60006105cd83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061116a565b60006105cd83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061077b565b6000818361118b5760405162461bcd60e51b815260040161063a9190611198565b5060006107ac848661137b565b600060208083528351808285015260005b818110156111c5578581018301518582016040015282016111a9565b506000604082860101526040601f19601f8301168501019250505092915050565b6001600160a01b038116811461060d57600080fd5b6000806040838503121561120e57600080fd5b8235611219816111e6565b946020939093013593505050565b60008060006060848603121561123c57600080fd5b8335611247816111e6565b92506020840135611257816111e6565b929592945050506040919091013590565b60006020828403121561127a57600080fd5b81356105cd816111e6565b6000806040838503121561129857600080fd5b50508035926020909101359150565b6000602082840312156112b957600080fd5b813580151581146105cd57600080fd5b600080604083850312156112dc57600080fd5b82356112e7816111e6565b915060208301356112f7816111e6565b809150509250929050565b60006020828403121561131457600080fd5b5035919050565b60208082526006908201526510a7aba722a960d11b604082015260600190565b634e487b7160e01b600052601160045260246000fd5b8082018082111561050c5761050c61133b565b808202811582820484141761050c5761050c61133b565b60008261139857634e487b7160e01b600052601260045260246000fd5b500490565b8181038181111561050c5761050c61133b565b634e487b7160e01b600052603260045260246000fd5b6000602082840312156113d857600080fd5b81516105cd816111e6565b600060a082018783526020878185015260a0604085015281875180845260c086019150828901935060005b818110156114335784516001600160a01b03168352938301939183019160010161140e565b50506001600160a01b03969096166060850152505050608001529392505050565b60008060006060848603121561146957600080fd5b835192506020840151915060408401519050925092509256fea2646970667358221220dc35f706e97ef553df5876403837baa350feae2f71dde34d9e49159019ba093c64736f6c63430008120033

Deployed Bytecode Sourcemap

4433:7942:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5414:55;;;;;;;;;;;;;;;;;;;160:25:1;;;148:2;133:18;5414:55:0;;;;;;;;6437:80;;;;;;;;;;-1:-1:-1;6509:5:0;;;;;;;;;;;;-1:-1:-1;;;6509:5:0;;;;6437:80;;;;;;;:::i;6859:216::-;;;;;;;;;;-1:-1:-1;6859:216:0;;;;;:::i;:::-;;:::i;:::-;;;1370:14:1;;1363:22;1345:41;;1333:2;1318:18;6859:216:0;1205:187:1;6167:88:0;;;;;;;;;;-1:-1:-1;6240:12:0;;6167:88;;7377:370;;;;;;;;;;-1:-1:-1;7377:370:0;;;;;:::i;:::-;;:::i;2671:103::-;;;;;;;;;;-1:-1:-1;2671:103:0;;;;;:::i;:::-;2726:4;2761:5;-1:-1:-1;;;;;2750:16:0;;;2761:5;;2750:16;;2671:103;6261:80;;;;;;;;;;-1:-1:-1;6261:80:0;;4762:1;2252:36:1;;2240:2;2225:18;6261:80:0;2110:184:1;11804:118:0;;;;;;;;;;;;;:::i;:::-;;12080:220;;;;;;;;;;-1:-1:-1;12080:220:0;;;;;:::i;:::-;;:::i;7083:122::-;;;;;;;;;;-1:-1:-1;7083:122:0;;;;;:::i;:::-;;:::i;4832:58::-;;;;;;;;;;;;;;;;9743:104;;;;;;;;;;-1:-1:-1;9743:104:0;;;;;:::i;:::-;;:::i;5377:30::-;;;;;;;;;;-1:-1:-1;5377:30:0;;;;-1:-1:-1;;;5377:30:0;;;;;;6607:105;;;;;;;;;;-1:-1:-1;6607:105:0;;;;;:::i;:::-;-1:-1:-1;;;;;6691:18:0;6673:7;6691:18;;;:9;:18;;;;;;;6607:105;2780:131;;;;;;;;;;;;;:::i;6523:78::-;;;;;;;;;;-1:-1:-1;6575:7:0;6593:5;-1:-1:-1;;;;;6593:5:0;6523:78;;;-1:-1:-1;;;;;2994:32:1;;;2976:51;;2964:2;2949:18;6523:78:0;2830:203:1;6347:84:0;;;;;;;;;;-1:-1:-1;6421:7:0;;;;;;;;;;;;-1:-1:-1;;;6421:7:0;;;;6347:84;;5349:19;;;;;;;;;;-1:-1:-1;5349:19:0;;;;-1:-1:-1;;;;;5349:19:0;;;7213:156;;;;;;;;;;-1:-1:-1;7213:156:0;;;;;:::i;:::-;;:::i;6718:133::-;;;;;;;;;;-1:-1:-1;6718:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;6820:19:0;;;6802:7;6820:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;6718:133;5261:48;;;;;;;;;;-1:-1:-1;5261:48:0;;;;-1:-1:-1;;;;;5261:48:0;;;11930:142;;;;;;;;;;-1:-1:-1;11930:142:0;;;;;:::i;:::-;;:::i;5318:24::-;;;;;;;;;;-1:-1:-1;5318:24:0;;;;-1:-1:-1;;;;;5318:24:0;;;6859:216;6963:10;6934:4;6951:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;6951:32:0;;;;;;;;;;:41;;;7008:37;6934:4;;6951:32;;7008:37;;;;6986:6;160:25:1;;148:2;133:18;;14:177;7008:37:0;;;;;;;;-1:-1:-1;7063:4:0;6859:216;;;;;:::o;7377:370::-;-1:-1:-1;;;;;7497:19:0;;7477:4;7497:19;;;:11;:19;;;;;;;;7517:10;7497:31;;;;;;;;-1:-1:-1;;7497:52:0;7494:186;;7599:69;;;;;;;;;;;-1:-1:-1;;;7599:69:0;;;;;;;;-1:-1:-1;;;;;7599:19:0;;-1:-1:-1;7599:19:0;;;:11;:19;;;;;7619:10;7599:31;;;;;;;;;;:69;;7635:6;;7599:35;:69::i;:::-;-1:-1:-1;;;;;7565:19:0;;;;;;:11;:19;;;;;;;;7585:10;7565:31;;;;;;;:103;7494:186;7699:40;7713:6;7721:9;7732:6;7699:13;:40::i;:::-;7692:47;;7377:370;;;;;;:::o;11804:118::-;11861:20;;11853:61;;-1:-1:-1;;;;;11861:20:0;;;;11892:21;11853:61;;;;;11861:20;11853:61;11861:20;11853:61;11892:21;11861:20;11853:61;;;;;;;;;;;;;;;;;;;;;11804:118::o;12080:220::-;2726:4;2761:5;-1:-1:-1;;;;;2761:5:0;2632:10;2750:16;2616:38;;;;-1:-1:-1;;;2616:38:0;;;;;;;:::i;:::-;;;;;;;;;12173:12:::1;:28:::0;;;12214:12:::1;:28:::0;;;12265:27:::1;12229:13:::0;12188;12265:27:::1;:::i;:::-;12254:8;:38:::0;-1:-1:-1;;12080:220:0:o;7083:122::-;7138:4;7162:35;7170:7;-1:-1:-1;;7162:7:0;:35::i;9743:104::-;2726:4;2761:5;-1:-1:-1;;;;;2761:5:0;2632:10;2750:16;2616:38;;;;-1:-1:-1;;;2616:38:0;;;;;;;:::i;:::-;9813:11:::1;:26:::0;;;::::1;;-1:-1:-1::0;;;9813:26:0::1;-1:-1:-1::0;;;;9813:26:0;;::::1;::::0;;;::::1;::::0;;9743:104::o;2780:131::-;2726:4;2761:5;-1:-1:-1;;;;;2761:5:0;2632:10;2750:16;2616:38;;;;-1:-1:-1;;;2616:38:0;;;;;;;:::i;:::-;2853:1:::1;2837:18:::0;;-1:-1:-1;;;;;;2837:18:0::1;::::0;;2871:32:::1;::::0;2976:51:1;;;2871:32:0::1;::::0;2964:2:1;2949:18;2871:32:0::1;;;;;;;2780:131::o:0;7213:156::-;7293:4;7317:44;7331:10;7343:9;7354:6;7317:13;:44::i;11930:142::-;2726:4;2761:5;-1:-1:-1;;;;;2761:5:0;2632:10;2750:16;2616:38;;;;-1:-1:-1;;;2616:38:0;;;;;;;:::i;:::-;12060:4:::1;12042:13;12027:12;;:28;;;;:::i;:::-;12026:38;;;;:::i;:::-;12007:16;:57:::0;-1:-1:-1;11930:142:0:o;760:190::-;846:7;882:12;874:6;;;;866:29;;;;-1:-1:-1;;;866:29:0;;;;;;;;:::i;:::-;-1:-1:-1;906:9:0;918:5;922:1;918;:5;:::i;:::-;906:17;760:190;-1:-1:-1;;;;;760:190:0:o;7755:976::-;7867:6;;7847:4;;7867:6;;7864:63;;;7883:41;7898:6;7906:9;7917:6;7883:14;:41::i;:::-;7876:48;;;;7864:63;7964:4;;-1:-1:-1;;;;;7951:17:0;;;7964:4;;7951:17;;;;:38;;-1:-1:-1;7985:4:0;;-1:-1:-1;;;;;7972:17:0;;;7985:4;;7972:17;;7951:38;:67;;;;-1:-1:-1;8006:12:0;;-1:-1:-1;;;;;7993:25:0;;;8006:12;;7993:25;;7951:67;:104;;;;-1:-1:-1;8035:20:0;;-1:-1:-1;;;;;8022:33:0;;;8035:20;;8022:33;;7951:104;:134;;;;-1:-1:-1;;;;;;8059:26:0;;8080:4;8059:26;;7951:134;7947:296;;;-1:-1:-1;;;;;8110:26:0;;;;;;:15;:26;;;;;;;;;:79;;-1:-1:-1;8173:16:0;;-1:-1:-1;;;;;8140:20:0;;;;;;:9;:20;;;;;;:29;;8163:6;;8140:29;:::i;:::-;:49;;8110:79;8102:129;;;;-1:-1:-1;;;8102:129:0;;5168:2:1;8102:129:0;;;5150:21:1;5207:2;5187:18;;;5180:30;5246:34;5226:18;;;5219:62;-1:-1:-1;;;5297:18:1;;;5290:35;5342:19;;8102:129:0;4966:401:1;8102:129:0;8266:16;:14;:16::i;:::-;:37;;;;-1:-1:-1;8299:4:0;;-1:-1:-1;;;;;8286:17:0;;;8299:4;;8286:17;;8266:37;:74;;;;-1:-1:-1;8320:20:0;;-1:-1:-1;;;;;8307:33:0;;;8320:20;;8307:33;;8266:74;:104;;;;-1:-1:-1;;;;;;8344:26:0;;8365:4;8344:26;;8266:104;8263:123;;;8373:10;:8;:10::i;:::-;8419:53;;;;;;;;;;;-1:-1:-1;;;8419:53:0;;;;;;;;-1:-1:-1;;;;;8419:17:0;;-1:-1:-1;8419:17:0;;;:9;:17;;;;;;;;:53;;8441:6;;8419:21;:53::i;:::-;-1:-1:-1;;;;;8399:17:0;;;;;;:9;:17;;;;;;;;:73;;;;9168:11;:19;;;;;;;;9167:20;8510:56;;8560:6;8510:56;;;8534:23;8542:6;8550;8534:7;:23::i;:::-;-1:-1:-1;;;;;8600:20:0;;;;;;:9;:20;;;;;;8485:81;;-1:-1:-1;8600:40:0;;8485:81;8600:24;:40::i;:::-;-1:-1:-1;;;;;8577:20:0;;;;;;;:9;:20;;;;;;;:63;;;;8658:43;;;;;;;;;;8686:14;160:25:1;;148:2;133:18;;14:177;8658:43:0;;;;;;;;-1:-1:-1;8719:4:0;;7755:976;-1:-1:-1;;;;7755:976:0:o;8743:330::-;8873:53;;;;;;;;;;;-1:-1:-1;;;8873:53:0;;;;;;;;-1:-1:-1;;;;;8873:17:0;;8836:4;8873:17;;;:9;:17;;;;;;;:53;;8895:6;;8873:21;:53::i;:::-;-1:-1:-1;;;;;8853:17:0;;;;;;;:9;:17;;;;;;:73;;;;8960:20;;;;;;;:32;;8985:6;8960:24;:32::i;:::-;-1:-1:-1;;;;;8937:20:0;;;;;;;:9;:20;;;;;;;:55;;;;9008:35;;;;;;;;;;9036:6;160:25:1;;148:2;133:18;;14:177;9008:35:0;;;;;;;;-1:-1:-1;9061:4:0;8743:330;;;;;:::o;9540:197::-;9627:4;;9589;;-1:-1:-1;;;;;9627:4:0;9613:10;:18;;;;:38;;-1:-1:-1;9645:6:0;;;;9644:7;9613:38;:62;;;;-1:-1:-1;9664:11:0;;-1:-1:-1;;;9664:11:0;;;;9613:62;:116;;;;-1:-1:-1;9716:13:0;;9706:4;9688:24;;;;:9;:24;;;;;;:41;;9613:116;9606:123;;9540:197;:::o;9857:1561::-;5525:6;:13;;-1:-1:-1;;5525:13:0;5534:4;5525:13;;;9955:4:::1;-1:-1:-1::0;6691:18:0;;;:9;:18;;;;;;9906:55:::1;;9972:23;9998:59;10055:1;9998:52;10041:8;;9998:38;10023:12;;9998:20;:24;;:38;;;;:::i;:::-;:42:::0;::::1;:52::i;:59::-;9972:85:::0;-1:-1:-1;10068:20:0::1;10091:41;:20:::0;9972:85;10091:24:::1;:41::i;:::-;10169:16;::::0;;10183:1:::1;10169:16:::0;;;;;::::1;::::0;;10068:64;;-1:-1:-1;10145:21:0::1;::::0;10169:16;;::::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;10169:16:0::1;10145:40;;10214:4;10196;10201:1;10196:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10196:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;;:23;;;;10240:6:::1;::::0;:13:::1;::::0;;-1:-1:-1;;;10240:13:0;;;;:6;;;::::1;::::0;:11:::1;::::0;:13:::1;::::0;;::::1;::::0;10196:7;;10240:13;;;;;:6;:13:::1;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;10230:4;10235:1;10230:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;10230:23:0;;::::1;:7;::::0;;::::1;::::0;;;;;:23;10324:6:::1;::::0;:188:::1;::::0;-1:-1:-1;;;10324:188:0;;10290:21:::1;::::0;10324:6;;;::::1;::::0;:57:::1;::::0;:188:::1;::::0;10396:12;;10266:21:::1;::::0;10439:4;;10466::::1;::::0;10486:15:::1;::::0;10324:188:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;10523:17;10543:40;10569:13;10543:21;:25;;:40;;;;:::i;:::-;10523:60;;10594:19;10616:33;10629:19;10646:1;10629:12;;:16;;:19;;;;:::i;:::-;10616:8;::::0;;:12:::1;:33::i;:::-;10594:55;;10660:26;10689:51;10738:1;10689:44;10721:11;10689:27;10703:12;;10689:9;:13;;:27;;;;:::i;:51::-;10660:80;;10751:26;10780:44;10812:11;10780:27;10794:12;;10780:9;:13;;:27;;;;:::i;:44::-;10898:20;::::0;10890:77:::1;::::0;10751:73;;-1:-1:-1;10840:21:0::1;::::0;-1:-1:-1;;;;;10898:20:0;;::::1;::::0;10957:5:::1;::::0;10751:73;;10840:21;10890:77;10840:21;10890:77;10751:73;10898:20;10957:5;10890:77:::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10839:128;;;10986:16;10978:59;;;::::0;-1:-1:-1;;;10978:59:0;;7289:2:1;10978:59:0::1;::::0;::::1;7271:21:1::0;7328:2;7308:18;;;7301:30;7367:32;7347:18;;;7340:60;7417:18;;10978:59:0::1;7087:354:1::0;10978:59:0::1;11053:19:::0;;11050:361:::1;;11088:6;::::0;11262:20:::1;::::0;11088:243:::1;::::0;-1:-1:-1;;;11088:243:0;;11164:4:::1;11088:243;::::0;::::1;7787:34:1::0;7837:18;;;7830:34;;;11088:6:0::1;7880:18:1::0;;;7873:34;;;7923:18;;;7916:34;-1:-1:-1;;;;;11262:20:0;;::::1;7966:19:1::0;;;7959:44;11301:15:0::1;8019:19:1::0;;;8012:35;11088:6:0;::::1;::::0;:22:::1;::::0;11118:18;;7721:19:1;;11088:243:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;11351:48:0::1;::::0;;8543:25:1;;;8599:2;8584:18;;8577:34;;;11351:48:0::1;::::0;-1:-1:-1;8516:18:1;11351:48:0::1;;;;;;;11050:361;-1:-1:-1::0;;5543:6:0;:14;;-1:-1:-1;;5543:14:0;;;-1:-1:-1;;;;;;;;9857:1561:0:o;9203:329::-;9270:7;9290:17;9310:40;9335:14;;9310:20;9321:8;;9310:6;:10;;:20;;;;:::i;:40::-;9406:4;9388:24;;;;:9;:24;;;;;;9290:60;;-1:-1:-1;9388:39:0;;9290:60;9388:28;:39::i;:::-;9379:4;9361:24;;;;:9;:24;;;;;;;:66;;;;9443:42;;-1:-1:-1;;;;;9443:42:0;;;;;;;9475:9;160:25:1;;148:2;133:18;;14:177;9443:42:0;;;;;;;;9503:21;:6;9514:9;9503:10;:21::i;:::-;9496:28;9203:329;-1:-1:-1;;;;9203:329:0:o;433:179::-;491:7;;523:5;527:1;523;:5;:::i;:::-;511:17;;552:1;547;:6;;539:46;;;;-1:-1:-1;;;539:46:0;;8824:2:1;539:46:0;;;8806:21:1;8863:2;8843:18;;;8836:30;8902:29;8882:18;;;8875:57;8949:18;;539:46:0;8622:351:1;956:246:0;1014:7;1038:1;1043;1038:6;1034:47;;-1:-1:-1;1068:1:0;1061:8;;1034:47;1091:9;1103:5;1107:1;1103;:5;:::i;:::-;1091:17;-1:-1:-1;1136:1:0;1127:5;1131:1;1091:17;1127:5;:::i;:::-;:10;1119:56;;;;-1:-1:-1;;;1119:56:0;;9180:2:1;1119:56:0;;;9162:21:1;9219:2;9199:18;;;9192:30;9258:34;9238:18;;;9231:62;-1:-1:-1;;;9309:18:1;;;9302:31;9350:19;;1119:56:0;8978:397:1;1208:132:0;1266:7;1293:39;1297:1;1300;1293:39;;;;;;;;;;;;;;;;;:3;:39::i;618:136::-;676:7;703:43;707:1;710;703:43;;;;;;;;;;;;;;;;;:3;:43::i;1346:189::-;1432:7;1467:12;1460:5;1452:28;;;;-1:-1:-1;;;1452:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1491:9:0;1503:5;1507:1;1503;:5;:::i;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:456::-;1474:6;1482;1490;1543:2;1531:9;1522:7;1518:23;1514:32;1511:52;;;1559:1;1556;1549:12;1511:52;1598:9;1585:23;1617:31;1642:5;1617:31;:::i;:::-;1667:5;-1:-1:-1;1724:2:1;1709:18;;1696:32;1737:33;1696:32;1737:33;:::i;:::-;1397:456;;1789:7;;-1:-1:-1;;;1843:2:1;1828:18;;;;1815:32;;1397:456::o;1858:247::-;1917:6;1970:2;1958:9;1949:7;1945:23;1941:32;1938:52;;;1986:1;1983;1976:12;1938:52;2025:9;2012:23;2044:31;2069:5;2044:31;:::i;2299:248::-;2367:6;2375;2428:2;2416:9;2407:7;2403:23;2399:32;2396:52;;;2444:1;2441;2434:12;2396:52;-1:-1:-1;;2467:23:1;;;2537:2;2522:18;;;2509:32;;-1:-1:-1;2299:248:1:o;2552:273::-;2608:6;2661:2;2649:9;2640:7;2636:23;2632:32;2629:52;;;2677:1;2674;2667:12;2629:52;2716:9;2703:23;2769:5;2762:13;2755:21;2748:5;2745:32;2735:60;;2791:1;2788;2781:12;3038:388;3106:6;3114;3167:2;3155:9;3146:7;3142:23;3138:32;3135:52;;;3183:1;3180;3173:12;3135:52;3222:9;3209:23;3241:31;3266:5;3241:31;:::i;:::-;3291:5;-1:-1:-1;3348:2:1;3333:18;;3320:32;3361:33;3320:32;3361:33;:::i;:::-;3413:7;3403:17;;;3038:388;;;;;:::o;3431:180::-;3490:6;3543:2;3531:9;3522:7;3518:23;3514:32;3511:52;;;3559:1;3556;3549:12;3511:52;-1:-1:-1;3582:23:1;;3431:180;-1:-1:-1;3431:180:1:o;3842:329::-;4044:2;4026:21;;;4083:1;4063:18;;;4056:29;-1:-1:-1;;;4116:2:1;4101:18;;4094:36;4162:2;4147:18;;3842:329::o;4176:127::-;4237:10;4232:3;4228:20;4225:1;4218:31;4268:4;4265:1;4258:15;4292:4;4289:1;4282:15;4308:125;4373:9;;;4394:10;;;4391:36;;;4407:18;;:::i;4438:168::-;4511:9;;;4542;;4559:15;;;4553:22;;4539:37;4529:71;;4580:18;;:::i;4611:217::-;4651:1;4677;4667:132;;4721:10;4716:3;4712:20;4709:1;4702:31;4756:4;4753:1;4746:15;4784:4;4781:1;4774:15;4667:132;-1:-1:-1;4813:9:1;;4611:217::o;4833:128::-;4900:9;;;4921:11;;;4918:37;;;4935:18;;:::i;5504:127::-;5565:10;5560:3;5556:20;5553:1;5546:31;5596:4;5593:1;5586:15;5620:4;5617:1;5610:15;5636:251;5706:6;5759:2;5747:9;5738:7;5734:23;5730:32;5727:52;;;5775:1;5772;5765:12;5727:52;5807:9;5801:16;5826:31;5851:5;5826:31;:::i;5892:980::-;6154:4;6202:3;6191:9;6187:19;6233:6;6222:9;6215:25;6259:2;6297:6;6292:2;6281:9;6277:18;6270:34;6340:3;6335:2;6324:9;6320:18;6313:31;6364:6;6399;6393:13;6430:6;6422;6415:22;6468:3;6457:9;6453:19;6446:26;;6507:2;6499:6;6495:15;6481:29;;6528:1;6538:195;6552:6;6549:1;6546:13;6538:195;;;6617:13;;-1:-1:-1;;;;;6613:39:1;6601:52;;6708:15;;;;6673:12;;;;6649:1;6567:9;6538:195;;;-1:-1:-1;;;;;;;6789:32:1;;;;6784:2;6769:18;;6762:60;-1:-1:-1;;;6853:3:1;6838:19;6831:35;6750:3;5892:980;-1:-1:-1;;;5892:980:1:o;8058:306::-;8146:6;8154;8162;8215:2;8203:9;8194:7;8190:23;8186:32;8183:52;;;8231:1;8228;8221:12;8183:52;8260:9;8254:16;8244:26;;8310:2;8299:9;8295:18;8289:25;8279:35;;8354:2;8343:9;8339:18;8333:25;8323:35;;8058:306;;;;;:::o

Swarm Source

ipfs://dc35f706e97ef553df5876403837baa350feae2f71dde34d9e49159019ba093c

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.