ETH Price: $3,406.49 (+6.17%)
 

Overview

ETH Balance

1 wei

Eth Value

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

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve190310432024-01-18 3:23:23372 days ago1705548203IN
0x367fF99e...6B653c543
0 ETH0.0014690731.60175749
Approve190309952024-01-18 3:13:35372 days ago1705547615IN
0x367fF99e...6B653c543
0 ETH0.0016363835.21904947
Approve190294532024-01-17 22:03:59372 days ago1705529039IN
0x367fF99e...6B653c543
0 ETH0.0016805236.40411268
Approve190289682024-01-17 20:26:23372 days ago1705523183IN
0x367fF99e...6B653c543
0 ETH0.0015755233.93563586
Approve190288992024-01-17 20:12:23372 days ago1705522343IN
0x367fF99e...6B653c543
0 ETH0.0015539733.47146948
Approve190288242024-01-17 19:56:47372 days ago1705521407IN
0x367fF99e...6B653c543
0 ETH0.001684436.28075117
Approve190286822024-01-17 19:28:11372 days ago1705519691IN
0x367fF99e...6B653c543
0 ETH0.0016051234.57303939
Remove Limits190286642024-01-17 19:24:35372 days ago1705519475IN
0x367fF99e...6B653c543
0 ETH0.0010797937.38902929
Approve190285872024-01-17 19:08:59372 days ago1705518539IN
0x367fF99e...6B653c543
0 ETH0.0018773840.38514754
Approve190285402024-01-17 18:59:35372 days ago1705517975IN
0x367fF99e...6B653c543
0 ETH0.0008840633.327087
Approve190285322024-01-17 18:57:59372 days ago1705517879IN
0x367fF99e...6B653c543
0 ETH0.000877733.08708096
Approve190285282024-01-17 18:57:11372 days ago1705517831IN
0x367fF99e...6B653c543
0 ETH0.0009438235.57987435
Approve190285262024-01-17 18:56:47372 days ago1705517807IN
0x367fF99e...6B653c543
0 ETH0.0017254337.1644593
Set Multipliers190285022024-01-17 18:51:59372 days ago1705517519IN
0x367fF99e...6B653c543
0 ETH0.0013862835.50308721
Approve190284972024-01-17 18:50:59372 days ago1705517459IN
0x367fF99e...6B653c543
0 ETH0.0016072834.57494702
Approve190284752024-01-17 18:46:23372 days ago1705517183IN
0x367fF99e...6B653c543
0 ETH0.0015829934.05247571
Approve190284472024-01-17 18:40:35372 days ago1705516835IN
0x367fF99e...6B653c543
0 ETH0.0017475837.59303398
Approve190284092024-01-17 18:32:59372 days ago1705516379IN
0x367fF99e...6B653c543
0 ETH0.0016841936.22929504
Approve190284052024-01-17 18:32:11372 days ago1705516331IN
0x367fF99e...6B653c543
0 ETH0.0041527489.33129457
Approve190284042024-01-17 18:31:59372 days ago1705516319IN
0x367fF99e...6B653c543
0 ETH0.0041859190.04479878
Approve190284022024-01-17 18:31:35372 days ago1705516295IN
0x367fF99e...6B653c543
0 ETH0.002003843.10468026
Approve190283982024-01-17 18:30:47372 days ago1705516247IN
0x367fF99e...6B653c543
0 ETH0.0017936938.58485612
Approve190283982024-01-17 18:30:47372 days ago1705516247IN
0x367fF99e...6B653c543
0 ETH0.0018866640.58485612
Approve190283962024-01-17 18:30:23372 days ago1705516223IN
0x367fF99e...6B653c543
0 ETH0.0019211841.32733961
Approve190283952024-01-17 18:30:11372 days ago1705516211IN
0x367fF99e...6B653c543
0 ETH0.0017936938.58487687
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block
From
To
190318172024-01-18 5:59:11372 days ago1705557551
0x367fF99e...6B653c543
0.00209823 ETH
190318172024-01-18 5:59:11372 days ago1705557551
0x367fF99e...6B653c543
0.00489587 ETH
190318172024-01-18 5:59:11372 days ago1705557551
0x367fF99e...6B653c543
0.0069941 ETH
190310442024-01-18 3:23:35372 days ago1705548215
0x367fF99e...6B653c543
0.00212951 ETH
190310442024-01-18 3:23:35372 days ago1705548215
0x367fF99e...6B653c543
0.00496886 ETH
190310442024-01-18 3:23:35372 days ago1705548215
0x367fF99e...6B653c543
0.00709838 ETH
190309952024-01-18 3:13:35372 days ago1705547615
0x367fF99e...6B653c543
0.00221802 ETH
190309952024-01-18 3:13:35372 days ago1705547615
0x367fF99e...6B653c543
0.00517538 ETH
190309952024-01-18 3:13:35372 days ago1705547615
0x367fF99e...6B653c543
0.0073934 ETH
190305312024-01-18 1:40:11372 days ago1705542011
0x367fF99e...6B653c543
0.0023514 ETH
190305312024-01-18 1:40:11372 days ago1705542011
0x367fF99e...6B653c543
0.0054866 ETH
190305312024-01-18 1:40:11372 days ago1705542011
0x367fF99e...6B653c543
0.007838 ETH
190305032024-01-18 1:34:35372 days ago1705541675
0x367fF99e...6B653c543
0.00246589 ETH
190305032024-01-18 1:34:35372 days ago1705541675
0x367fF99e...6B653c543
0.00575375 ETH
190305032024-01-18 1:34:35372 days ago1705541675
0x367fF99e...6B653c543
0.00821965 ETH
190291112024-01-17 20:54:59372 days ago1705524899
0x367fF99e...6B653c543
0.00250994 ETH
190291112024-01-17 20:54:59372 days ago1705524899
0x367fF99e...6B653c543
0.00585654 ETH
190291112024-01-17 20:54:59372 days ago1705524899
0x367fF99e...6B653c543
0.00836649 ETH
190288272024-01-17 19:57:23372 days ago1705521443
0x367fF99e...6B653c543
0.00312699 ETH
190288272024-01-17 19:57:23372 days ago1705521443
0x367fF99e...6B653c543
0.00729632 ETH
190288272024-01-17 19:57:23372 days ago1705521443
0x367fF99e...6B653c543
0.01042331 ETH
190287352024-01-17 19:38:47372 days ago1705520327
0x367fF99e...6B653c543
0.00314897 ETH
190287352024-01-17 19:38:47372 days ago1705520327
0x367fF99e...6B653c543
0.0073476 ETH
190287352024-01-17 19:38:47372 days ago1705520327
0x367fF99e...6B653c543
0.01049658 ETH
190285832024-01-17 19:08:11372 days ago1705518491
0x367fF99e...6B653c543
0.00254343 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Octane

Compiler Version
v0.8.22+commit.4fc1097e

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion, MIT license

Contract Source Code (Solidity)

/**
 *Submitted for verification at Etherscan.io on 2024-01-17
*/

// SPDX-License-Identifier: MIT

/**
 * 
 * TG: https://t.me/OctanePortal
 * Web: https://octanedapp.com/
 * X: https://twitter.com/octane_dapp
 **/

pragma solidity 0.8.22;

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 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 Auth {
    address public 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() external onlyOwner {
        owner = address(0);
        emit OwnershipTransferred(owner);
    }
    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 swapExactTokensForETHSupportingFeeOnTransferTokens(
        uint amountIn,
        uint amountOutMin,
        address[] calldata path,
        address to,
        uint deadline
    ) external;
}

contract Octane is ERC20, Auth {
    using SafeMath for uint256;

    address immutable WETH;
    address constant DEAD = 0x000000000000000000000000000000000000dEaD;
    address constant ZERO = 0x0000000000000000000000000000000000000000;

    string public constant name = "Octane";
    string public constant symbol = "C8H18";
    uint8 public constant decimals = 18;

    uint256 public constant totalSupply = 10000000 * 10**decimals;

    uint256 public _maxWalletToken = 2* totalSupply / 100;

    mapping (address => uint256) public balanceOf;
    mapping (address => mapping (address => uint256)) _allowances;

    mapping (address => bool) public isFeeExempt;
    mapping (address => bool) public isWalletLimitExempt;

    uint256 public marketingFee = 7;
    uint256 public treasuryFee = 3;
    uint256 public totalFee = marketingFee + treasuryFee;
    uint256 public constant feeDenominator = 100;
    
    uint256 buyMultiplier = 250;
    uint256 sellMultiplier = 350;
    uint256 transferMultiplier = 450;

    address public marketingFeeReceiver;
    address public treasuryFeeReceiver;

    IDEXRouter public router;
    address public immutable pair;

    bool public tradingOpen = false;
    bool public swapEnabled = false;

    uint256 public swapThreshold = totalSupply / 500;
    
    bool inSwap;
    modifier swapping() { inSwap = true; _; inSwap = false; }

    constructor () Auth(msg.sender) {
        router = IDEXRouter(0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D);
        WETH = router.WETH();

        pair = IDEXFactory(router.factory()).createPair(WETH, address(this));
        _allowances[address(this)][address(router)] = type(uint256).max;

        marketingFeeReceiver = 0x0D7BB57765B9784c08854888F108E68367A0b995;
        treasuryFeeReceiver = 0x413dd15B46030CF366Cb8F305B1eDcb572aaBAc1;

        isFeeExempt[msg.sender] = true;
        isFeeExempt[marketingFeeReceiver] = true;

        isWalletLimitExempt[msg.sender] = true;
        isWalletLimitExempt[marketingFeeReceiver] = true;
        isWalletLimitExempt[address(this)] = true;
        isWalletLimitExempt[DEAD] = true;

        balanceOf[msg.sender] = totalSupply;
        emit Transfer(address(0), msg.sender, totalSupply);
    }

    receive() external payable { }

    function getOwner() external view override returns (address) { return owner; }
    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 setMaxWalletPercent(uint256 _newmaxwallet) external onlyOwner {
        require(_newmaxwallet >= 1,"Cannot set max wallet less than 1%");
        _maxWalletToken = (totalSupply * _newmaxwallet ) / 100;
    }

    function removeLimits() external onlyOwner {
        _maxWalletToken = totalSupply;
    }

    function _transferFrom(address sender, address recipient, uint256 amount) internal returns (bool) {
        if(inSwap){ return _basicTransfer(sender, recipient, amount); }

        if(!isFeeExempt[sender]){
            require(tradingOpen,"trading not open yet");
        }

        if (!isWalletLimitExempt[sender] && !isWalletLimitExempt[recipient] && recipient != pair) {
            require((balanceOf[recipient] + amount) <= _maxWalletToken,"max wallet limit reached");
        }

        if(shouldSwapBack()){ swapBack(); }

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

        uint256 amountReceived = (isFeeExempt[sender] || isFeeExempt[recipient]) ? amount : takeFee(sender, amount, recipient);

        balanceOf[recipient] = balanceOf[recipient].add(amountReceived);

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

    function takeFee(address sender, uint256 amount, address recipient) internal returns (uint256) {
        if(amount == 0 || totalFee == 0){
            return amount;
        }

        uint256 multiplier = transferMultiplier;

        if(recipient == pair) {
            multiplier = sellMultiplier;
        } else if(sender == pair) {
            multiplier = buyMultiplier;
        }

        uint256 feeAmount = amount.mul(totalFee).mul(multiplier).div(feeDenominator * 100);

        if(feeAmount > 0){
            balanceOf[address(this)] = balanceOf[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
        && balanceOf[address(this)] >= swapThreshold;
    }

    function manualSwap() external {
        payable(treasuryFeeReceiver).transfer(address(this).balance);
    }

    function openTrading() external onlyOwner {
        tradingOpen = true;
        swapEnabled = true;
    }

    function manage_FeeExempt(address[] calldata addresses, bool status) external onlyOwner {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isFeeExempt[addresses[i]] = status;
        }
    }

    function manage_WalletLimitExempt(address[] calldata addresses, bool status) external onlyOwner {
        require(addresses.length < 501,"GAS Error: max limit is 500 addresses");
        for (uint256 i=0; i < addresses.length; ++i) {
            isWalletLimitExempt[addresses[i]] = status;
        }
    }

    function swapBack() internal swapping {

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

        router.swapExactTokensForETHSupportingFeeOnTransferTokens(
            swapThreshold,
            0,
            path,
            address(this),
            block.timestamp
        );

        uint256 amountETH = address(this).balance;

        uint256 amountETHMarketing = (amountETH * marketingFee) / totalFee;
        uint256 amountETHTreasury = (amountETH * treasuryFee) / totalFee;

        payable(marketingFeeReceiver).transfer(amountETHMarketing);
        payable(treasuryFeeReceiver).transfer(amountETHTreasury);
    }

    function setMultipliers(uint256 _buy, uint256 _sell, uint256 _trans) external onlyOwner {
        sellMultiplier = _sell;
        buyMultiplier = _buy;
        transferMultiplier = _trans;
    }

    function setFees(uint256 _marketing, uint256 _treasury) external onlyOwner {
        marketingFee = _marketing;
        treasuryFee = _treasury;
        totalFee = marketingFee + treasuryFee;
    }

    function setSwapBackSettings(bool _enabled, uint256 _denominator) external onlyOwner {
        swapEnabled = _enabled;
        swapThreshold = totalSupply / _denominator;
    }

    function clearStuckToken(address tokenAddress, uint256 tokens) external onlyOwner returns (bool success) {
        if(tokens == 0){
            tokens = ERC20(tokenAddress).balanceOf(address(this));
        }

        return ERC20(tokenAddress).transfer(treasuryFeeReceiver, tokens);
    }

    function getCirculatingSupply() public view returns (uint256) {
        return (totalSupply - balanceOf[DEAD] - balanceOf[ZERO]);
    }
}

Contract Security Audit

Contract ABI

[{"inputs":[],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"address","name":"owner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[],"name":"_maxWalletToken","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":"","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"tokenAddress","type":"address"},{"internalType":"uint256","name":"tokens","type":"uint256"}],"name":"clearStuckToken","outputs":[{"internalType":"bool","name":"success","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"feeDenominator","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getCirculatingSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getOwner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isFeeExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"isOwner","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isWalletLimitExempt","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_FeeExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address[]","name":"addresses","type":"address[]"},{"internalType":"bool","name":"status","type":"bool"}],"name":"manage_WalletLimitExempt","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"manualSwap","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"marketingFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"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":"view","type":"function"},{"inputs":[],"name":"openTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"router","outputs":[{"internalType":"contract IDEXRouter","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_marketing","type":"uint256"},{"internalType":"uint256","name":"_treasury","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_newmaxwallet","type":"uint256"}],"name":"setMaxWalletPercent","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_buy","type":"uint256"},{"internalType":"uint256","name":"_sell","type":"uint256"},{"internalType":"uint256","name":"_trans","type":"uint256"}],"name":"setMultipliers","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_enabled","type":"bool"},{"internalType":"uint256","name":"_denominator","type":"uint256"}],"name":"setSwapBackSettings","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":"view","type":"function"},{"inputs":[],"name":"totalFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingOpen","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"sender","type":"address"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryFeeReceiver","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526064620000146012600a620004cb565b620000239062989680620004e2565b62000030906002620004e2565b6200003c9190620004fc565b60015560076006819055600380825562000056916200051c565b60085560fa60095561015e600a9081556101c2600b55600e805461ffff60a01b191690556101f4906200008c90601290620004cb565b6200009b9062989680620004e2565b620000a79190620004fc565b600f55348015620000b6575f80fd5b505f8054336001600160a01b031991821617909155600e8054737a250d5630b4cf539739df2c5dacb4c659f2488d921682179055604080516315ab88c960e31b8152905163ad5c4648916004808201926020929091908290030181865afa15801562000124573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200014a919062000532565b6001600160a01b03908116608052600e546040805163c45a015560e01b81529051919092169163c45a01559160048083019260209291908290030181865afa15801562000199573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620001bf919062000532565b6080516040516364e329cb60e11b81526001600160a01b03918216600482015230602482015291169063c9c65396906044016020604051808303815f875af11580156200020e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000234919062000532565b6001600160a01b0390811660a052305f818152600360209081526040808320600e548616845282528083205f199055600c80546001600160a01b0319908116730d7bb57765b9784c08854888f108e68367a0b995178255600d805490911673413dd15b46030cf366cb8f305b1edcb572aabac11790553380855260048452828520805460ff199081166001908117909255835489168752848720805482168317905591865260059094528285208054821685179055905490951683528083208054861683179055928252918120805484168317905561dead90527f7d509c07f0d4edcc2dd1b53aae68677132eb562dcba78e36381b63ccaf66e6ba8054909216179055620003456012600a620004cb565b620003549062989680620004e2565b335f81815260026020526040812092909255907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef620003966012600a620004cb565b620003a59062989680620004e2565b60405190815260200160405180910390a36200055a565b634e487b7160e01b5f52601160045260245ffd5b600181815b808511156200041057815f1904821115620003f457620003f4620003bc565b808516156200040257918102915b93841c9390800290620003d5565b509250929050565b5f826200042857506001620004c5565b816200043657505f620004c5565b81600181146200044f57600281146200045a576200047a565b6001915050620004c5565b60ff8411156200046e576200046e620003bc565b50506001821b620004c5565b5060208310610133831016604e8410600b84101617156200049f575081810a620004c5565b620004ab8383620003d0565b805f1904821115620004c157620004c1620003bc565b0290505b92915050565b5f620004db60ff84168362000418565b9392505050565b8082028115828204841417620004c557620004c5620003bc565b5f826200051757634e487b7160e01b5f52601260045260245ffd5b500490565b80820180821115620004c557620004c5620003bc565b5f6020828403121562000543575f80fd5b81516001600160a01b0381168114620004db575f80fd5b60805160a051611c55620005985f395f81816105f801528181610f8d0152818161127c015281816114cf015261150301525f6113430152611c555ff3fe608060405260043610610229575f3560e01c80636ddd171311610129578063a8aa1b31116100a8578063dd62ed3e1161006d578063dd62ed3e14610690578063df20fd49146106d4578063e96fada2146106f3578063f887ea4014610712578063ffb54a9914610731575f80fd5b8063a8aa1b31146105e7578063a9059cbb1461061a578063c867d60b14610639578063c9567bf914610667578063cc32d1761461067b575f80fd5b806378109e54116100ee57806378109e541461054957806382bf293c1461055e578063893d20e81461057d5780638da5cb5b1461059957806395d89b41146105b7575f80fd5b80636ddd1713146104b757806370a08231146104d7578063715018a614610502578063751039fc1461051657806377b54bad1461052a575f80fd5b806323b872dd116101b55780633f4218e01161017a5780633f4218e01461042257806351bc3c8514610450578063571ac8b0146104645780636b67c4df146104835780636ce46bc314610498575f80fd5b806323b872dd146103655780632af10fac146103845780632b112e49146103bb5780632f54bf6e146103cf578063313ce567146103fc575f80fd5b8063095ea7b3116101fb578063095ea7b3146102da5780630b78f9c014610309578063180b0d7e1461032857806318160ddd1461033c5780631df4ccfc14610350575f80fd5b806210868314610234578062bff446146102555780630445b6671461027457806306fdde031461029c575f80fd5b3661023057005b5f80fd5b34801561023f575f80fd5b5061025361024e366004611798565b610751565b005b348015610260575f80fd5b5061025361026f366004611798565b61080e565b34801561027f575f80fd5b50610289600f5481565b6040519081526020015b60405180910390f35b3480156102a7575f80fd5b506102cd604051806040016040528060068152602001654f6374616e6560d01b81525081565b6040516102939190611817565b3480156102e5575f80fd5b506102f96102f436600461187e565b6108bc565b6040519015158152602001610293565b348015610314575f80fd5b506102536103233660046118a6565b610928565b348015610333575f80fd5b50610289606481565b348015610347575f80fd5b5061028961096c565b34801561035b575f80fd5b5061028960085481565b348015610370575f80fd5b506102f961037f3660046118c6565b610988565b34801561038f575f80fd5b50600d546103a3906001600160a01b031681565b6040516001600160a01b039091168152602001610293565b3480156103c6575f80fd5b50610289610a46565b3480156103da575f80fd5b506102f96103e93660046118ff565b5f546001600160a01b0391821691161490565b348015610407575f80fd5b50610410601281565b60405160ff9091168152602001610293565b34801561042d575f80fd5b506102f961043c3660046118ff565b60046020525f908152604090205460ff1681565b34801561045b575f80fd5b50610253610acb565b34801561046f575f80fd5b506102f961047e3660046118ff565b610b04565b34801561048e575f80fd5b5061028960065481565b3480156104a3575f80fd5b506102536104b2366004611918565b610b10565b3480156104c2575f80fd5b50600e546102f990600160a81b900460ff1681565b3480156104e2575f80fd5b506102896104f13660046118ff565b60026020525f908152604090205481565b34801561050d575f80fd5b50610253610b4a565b348015610521575f80fd5b50610253610bb7565b348015610535575f80fd5b506102f961054436600461187e565b610bfe565b348015610554575f80fd5b5061028960015481565b348015610569575f80fd5b50610253610578366004611941565b610d0c565b348015610588575f80fd5b505f546001600160a01b03166103a3565b3480156105a4575f80fd5b505f546103a3906001600160a01b031681565b3480156105c2575f80fd5b506102cd60405180604001604052806005815260200164086709062760db1b81525081565b3480156105f2575f80fd5b506103a37f000000000000000000000000000000000000000000000000000000000000000081565b348015610625575f80fd5b506102f961063436600461187e565b610dc7565b348015610644575f80fd5b506102f96106533660046118ff565b60056020525f908152604090205460ff1681565b348015610672575f80fd5b50610253610dd3565b348015610686575f80fd5b5061028960075481565b34801561069b575f80fd5b506102896106aa366004611958565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b3480156106df575f80fd5b506102536106ee366004611989565b610e13565b3480156106fe575f80fd5b50600c546103a3906001600160a01b031681565b34801561071d575f80fd5b50600e546103a3906001600160a01b031681565b34801561073c575f80fd5b50600e546102f990600160a01b900460ff1681565b5f546001600160a01b031633146107835760405162461bcd60e51b815260040161077a906119a5565b60405180910390fd5b6101f582106107a45760405162461bcd60e51b815260040161077a906119c5565b5f5b82811015610808578160055f8686858181106107c4576107c4611a0a565b90506020020160208101906107d991906118ff565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016107a6565b50505050565b5f546001600160a01b031633146108375760405162461bcd60e51b815260040161077a906119a5565b6101f582106108585760405162461bcd60e51b815260040161077a906119c5565b5f5b82811015610808578160045f86868581811061087857610878611a0a565b905060200201602081019061088d91906118ff565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905560010161085a565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109169086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146109515760405162461bcd60e51b815260040161077a906119a5565b600682905560078190556109658183611a32565b6008555050565b6109786012600a611b25565b6109859062989680611b33565b81565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f1914610a31576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600382528381203382529091529190912054610a0d918490610e7e565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b610a3c848484610eb6565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54909190610aa56012600a611b25565b610ab29062989680611b33565b610abc9190611b4a565b610ac69190611b4a565b905090565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610b01573d5f803e3d5ffd5b50565b5f610922825f196108bc565b5f546001600160a01b03163314610b395760405162461bcd60e51b815260040161077a906119a5565b600a91909155600991909155600b55565b5f546001600160a01b03163314610b735760405162461bcd60e51b815260040161077a906119a5565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b03163314610be05760405162461bcd60e51b815260040161077a906119a5565b610bec6012600a611b25565b610bf99062989680611b33565b600155565b5f80546001600160a01b03163314610c285760405162461bcd60e51b815260040161077a906119a5565b815f03610c98576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610c71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c959190611b5d565b91505b600d5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3f9190611b74565b5f546001600160a01b03163314610d355760405162461bcd60e51b815260040161077a906119a5565b6001811015610d915760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b606482015260840161077a565b606481610da06012600a611b25565b610dad9062989680611b33565b610db79190611b33565b610dc19190611b8f565b60015550565b5f610a3f338484610eb6565b5f546001600160a01b03163314610dfc5760405162461bcd60e51b815260040161077a906119a5565b600e805461ffff60a01b191661010160a01b179055565b5f546001600160a01b03163314610e3c5760405162461bcd60e51b815260040161077a906119a5565b600e805460ff60a81b1916600160a81b8415150217905580610e606012600a611b25565b610e6d9062989680611b33565b610e779190611b8f565b600f555050565b5f8184841115610ea15760405162461bcd60e51b815260040161077a9190611817565b505f610ead8486611b4a565b95945050505050565b6010545f9060ff1615610ed557610ece84848461118d565b9050610a3f565b6001600160a01b0384165f9081526004602052604090205460ff16610f4457600e54600160a01b900460ff16610f445760405162461bcd60e51b81526020600482015260146024820152731d1c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161077a565b6001600160a01b0384165f9081526005602052604090205460ff16158015610f8457506001600160a01b0383165f9081526005602052604090205460ff16155b8015610fc257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b031614155b1561103b576001546001600160a01b0384165f90815260026020526040902054610fed908490611a32565b111561103b5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161077a565b611043611270565b15611050576110506112e1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600290915291909120546110a1918490610e7e565b6001600160a01b0385165f90815260026020908152604080832093909355600490529081205460ff16806110ec57506001600160a01b0384165f9081526004602052604090205460ff165b611100576110fb8584866114a8565b611102565b825b6001600160a01b0385165f908152600260205260409020549091506111279082611601565b6001600160a01b038086165f8181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061117a9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526002909152918220546111dd918490610e7e565b6001600160a01b038086165f90815260026020526040808220939093559085168152205461120b9083611601565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125e9086815260200190565b60405180910390a35060019392505050565b5f336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016148015906112ad575060105460ff16155b80156112c25750600e54600160a81b900460ff165b8015610ac6575050600f54305f90815260026020526040902054101590565b6010805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061132157611321611a0a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000008160018151811061137557611375611a0a565b6001600160a01b039283166020918202929092010152600e54600f5460405163791ac94760e01b8152919092169163791ac947916113be91905f90869030904290600401611bae565b5f604051808303815f87803b1580156113d5575f80fd5b505af11580156113e7573d5f803e3d5ffd5b50506008546006544793505f92506113ff9084611b33565b6114099190611b8f565b90505f6008546007548461141d9190611b33565b6114279190611b8f565b600c546040519192506001600160a01b03169083156108fc029084905f818181858888f1935050505015801561145f573d5f803e3d5ffd5b50600d546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611497573d5f803e3d5ffd5b50506010805460ff19169055505050565b5f8215806114b65750600854155b156114c2575081610a3f565b600b546001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116908416036115015750600a5461153f565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b03160361153f57506009545b5f61157361154e606480611b33565b61156d846115676008548a61165f90919063ffffffff16565b9061165f565b906116dd565b905080156115ed57305f908152600260205260409020546115949082611601565b305f81815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115e49085815260200190565b60405180910390a35b6115f7858261171e565b9695505050505050565b5f8061160d8385611a32565b905083811015610a3f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161077a565b5f825f0361166e57505f610922565b5f6116798385611b33565b9050826116868583611b8f565b14610a3f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161077a565b5f610a3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061175f565b5f610a3f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e7e565b5f818361177f5760405162461bcd60e51b815260040161077a9190611817565b505f610ead8486611b8f565b8015158114610b01575f80fd5b5f805f604084860312156117aa575f80fd5b833567ffffffffffffffff808211156117c1575f80fd5b818601915086601f8301126117d4575f80fd5b8135818111156117e2575f80fd5b8760208260051b85010111156117f6575f80fd5b6020928301955093505084013561180c8161178b565b809150509250925092565b5f602080835283518060208501525f5b8181101561184357858101830151858201604001528201611827565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611879575f80fd5b919050565b5f806040838503121561188f575f80fd5b61189883611863565b946020939093013593505050565b5f80604083850312156118b7575f80fd5b50508035926020909101359150565b5f805f606084860312156118d8575f80fd5b6118e184611863565b92506118ef60208501611863565b9150604084013590509250925092565b5f6020828403121561190f575f80fd5b610a3f82611863565b5f805f6060848603121561192a575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215611951575f80fd5b5035919050565b5f8060408385031215611969575f80fd5b61197283611863565b915061198060208401611863565b90509250929050565b5f806040838503121561199a575f80fd5b82356118988161178b565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561092257610922611a1e565b600181815b80851115611a7f57815f1904821115611a6557611a65611a1e565b80851615611a7257918102915b93841c9390800290611a4a565b509250929050565b5f82611a9557506001610922565b81611aa157505f610922565b8160018114611ab75760028114611ac157611add565b6001915050610922565b60ff841115611ad257611ad2611a1e565b50506001821b610922565b5060208310610133831016604e8410600b8410161715611b00575081810a610922565b611b0a8383611a45565b805f1904821115611b1d57611b1d611a1e565b029392505050565b5f610a3f60ff841683611a87565b808202811582820484141761092257610922611a1e565b8181038181111561092257610922611a1e565b5f60208284031215611b6d575f80fd5b5051919050565b5f60208284031215611b84575f80fd5b8151610a3f8161178b565b5f82611ba957634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bfe5784516001600160a01b031683529383019391830191600101611bd9565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bfc62df50b0ed7d9cdc714fc0e93bfa28e0eb7797a9c52263888e2ce15560cca64736f6c63430008160033

Deployed Bytecode

0x608060405260043610610229575f3560e01c80636ddd171311610129578063a8aa1b31116100a8578063dd62ed3e1161006d578063dd62ed3e14610690578063df20fd49146106d4578063e96fada2146106f3578063f887ea4014610712578063ffb54a9914610731575f80fd5b8063a8aa1b31146105e7578063a9059cbb1461061a578063c867d60b14610639578063c9567bf914610667578063cc32d1761461067b575f80fd5b806378109e54116100ee57806378109e541461054957806382bf293c1461055e578063893d20e81461057d5780638da5cb5b1461059957806395d89b41146105b7575f80fd5b80636ddd1713146104b757806370a08231146104d7578063715018a614610502578063751039fc1461051657806377b54bad1461052a575f80fd5b806323b872dd116101b55780633f4218e01161017a5780633f4218e01461042257806351bc3c8514610450578063571ac8b0146104645780636b67c4df146104835780636ce46bc314610498575f80fd5b806323b872dd146103655780632af10fac146103845780632b112e49146103bb5780632f54bf6e146103cf578063313ce567146103fc575f80fd5b8063095ea7b3116101fb578063095ea7b3146102da5780630b78f9c014610309578063180b0d7e1461032857806318160ddd1461033c5780631df4ccfc14610350575f80fd5b806210868314610234578062bff446146102555780630445b6671461027457806306fdde031461029c575f80fd5b3661023057005b5f80fd5b34801561023f575f80fd5b5061025361024e366004611798565b610751565b005b348015610260575f80fd5b5061025361026f366004611798565b61080e565b34801561027f575f80fd5b50610289600f5481565b6040519081526020015b60405180910390f35b3480156102a7575f80fd5b506102cd604051806040016040528060068152602001654f6374616e6560d01b81525081565b6040516102939190611817565b3480156102e5575f80fd5b506102f96102f436600461187e565b6108bc565b6040519015158152602001610293565b348015610314575f80fd5b506102536103233660046118a6565b610928565b348015610333575f80fd5b50610289606481565b348015610347575f80fd5b5061028961096c565b34801561035b575f80fd5b5061028960085481565b348015610370575f80fd5b506102f961037f3660046118c6565b610988565b34801561038f575f80fd5b50600d546103a3906001600160a01b031681565b6040516001600160a01b039091168152602001610293565b3480156103c6575f80fd5b50610289610a46565b3480156103da575f80fd5b506102f96103e93660046118ff565b5f546001600160a01b0391821691161490565b348015610407575f80fd5b50610410601281565b60405160ff9091168152602001610293565b34801561042d575f80fd5b506102f961043c3660046118ff565b60046020525f908152604090205460ff1681565b34801561045b575f80fd5b50610253610acb565b34801561046f575f80fd5b506102f961047e3660046118ff565b610b04565b34801561048e575f80fd5b5061028960065481565b3480156104a3575f80fd5b506102536104b2366004611918565b610b10565b3480156104c2575f80fd5b50600e546102f990600160a81b900460ff1681565b3480156104e2575f80fd5b506102896104f13660046118ff565b60026020525f908152604090205481565b34801561050d575f80fd5b50610253610b4a565b348015610521575f80fd5b50610253610bb7565b348015610535575f80fd5b506102f961054436600461187e565b610bfe565b348015610554575f80fd5b5061028960015481565b348015610569575f80fd5b50610253610578366004611941565b610d0c565b348015610588575f80fd5b505f546001600160a01b03166103a3565b3480156105a4575f80fd5b505f546103a3906001600160a01b031681565b3480156105c2575f80fd5b506102cd60405180604001604052806005815260200164086709062760db1b81525081565b3480156105f2575f80fd5b506103a37f00000000000000000000000063c9d4ee3d51e4e5cc26caf4f68ea48d56eff85781565b348015610625575f80fd5b506102f961063436600461187e565b610dc7565b348015610644575f80fd5b506102f96106533660046118ff565b60056020525f908152604090205460ff1681565b348015610672575f80fd5b50610253610dd3565b348015610686575f80fd5b5061028960075481565b34801561069b575f80fd5b506102896106aa366004611958565b6001600160a01b039182165f90815260036020908152604080832093909416825291909152205490565b3480156106df575f80fd5b506102536106ee366004611989565b610e13565b3480156106fe575f80fd5b50600c546103a3906001600160a01b031681565b34801561071d575f80fd5b50600e546103a3906001600160a01b031681565b34801561073c575f80fd5b50600e546102f990600160a01b900460ff1681565b5f546001600160a01b031633146107835760405162461bcd60e51b815260040161077a906119a5565b60405180910390fd5b6101f582106107a45760405162461bcd60e51b815260040161077a906119c5565b5f5b82811015610808578160055f8686858181106107c4576107c4611a0a565b90506020020160208101906107d991906118ff565b6001600160a01b0316815260208101919091526040015f20805460ff19169115159190911790556001016107a6565b50505050565b5f546001600160a01b031633146108375760405162461bcd60e51b815260040161077a906119a5565b6101f582106108585760405162461bcd60e51b815260040161077a906119c5565b5f5b82811015610808578160045f86868581811061087857610878611a0a565b905060200201602081019061088d91906118ff565b6001600160a01b0316815260208101919091526040015f20805460ff191691151591909117905560010161085a565b335f8181526003602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925906109169086815260200190565b60405180910390a35060015b92915050565b5f546001600160a01b031633146109515760405162461bcd60e51b815260040161077a906119a5565b600682905560078190556109658183611a32565b6008555050565b6109786012600a611b25565b6109859062989680611b33565b81565b6001600160a01b0383165f9081526003602090815260408083203384529091528120545f1914610a31576040805180820182526016815275496e73756666696369656e7420416c6c6f77616e636560501b6020808301919091526001600160a01b0387165f908152600382528381203382529091529190912054610a0d918490610e7e565b6001600160a01b0385165f9081526003602090815260408083203384529091529020555b610a3c848484610eb6565b90505b9392505050565b60026020527fac33ff75c19e70fe83507db0d683fd3465c996598dc972688b7ace676c89077b5461dead5f9081527f6a9609baa168169acaea398c4407efea4be641bb08e21e88806d9836fd9333cc54909190610aa56012600a611b25565b610ab29062989680611b33565b610abc9190611b4a565b610ac69190611b4a565b905090565b600d546040516001600160a01b03909116904780156108fc02915f818181858888f19350505050158015610b01573d5f803e3d5ffd5b50565b5f610922825f196108bc565b5f546001600160a01b03163314610b395760405162461bcd60e51b815260040161077a906119a5565b600a91909155600991909155600b55565b5f546001600160a01b03163314610b735760405162461bcd60e51b815260040161077a906119a5565b5f80546001600160a01b03191681556040519081527f04dba622d284ed0014ee4b9a6a68386be1a4c08a4913ae272de89199cc6861639060200160405180910390a1565b5f546001600160a01b03163314610be05760405162461bcd60e51b815260040161077a906119a5565b610bec6012600a611b25565b610bf99062989680611b33565b600155565b5f80546001600160a01b03163314610c285760405162461bcd60e51b815260040161077a906119a5565b815f03610c98576040516370a0823160e01b81523060048201526001600160a01b038416906370a0823190602401602060405180830381865afa158015610c71573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c959190611b5d565b91505b600d5460405163a9059cbb60e01b81526001600160a01b039182166004820152602481018490529084169063a9059cbb906044016020604051808303815f875af1158015610ce8573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a3f9190611b74565b5f546001600160a01b03163314610d355760405162461bcd60e51b815260040161077a906119a5565b6001811015610d915760405162461bcd60e51b815260206004820152602260248201527f43616e6e6f7420736574206d61782077616c6c6574206c657373207468616e20604482015261312560f01b606482015260840161077a565b606481610da06012600a611b25565b610dad9062989680611b33565b610db79190611b33565b610dc19190611b8f565b60015550565b5f610a3f338484610eb6565b5f546001600160a01b03163314610dfc5760405162461bcd60e51b815260040161077a906119a5565b600e805461ffff60a01b191661010160a01b179055565b5f546001600160a01b03163314610e3c5760405162461bcd60e51b815260040161077a906119a5565b600e805460ff60a81b1916600160a81b8415150217905580610e606012600a611b25565b610e6d9062989680611b33565b610e779190611b8f565b600f555050565b5f8184841115610ea15760405162461bcd60e51b815260040161077a9190611817565b505f610ead8486611b4a565b95945050505050565b6010545f9060ff1615610ed557610ece84848461118d565b9050610a3f565b6001600160a01b0384165f9081526004602052604090205460ff16610f4457600e54600160a01b900460ff16610f445760405162461bcd60e51b81526020600482015260146024820152731d1c98591a5b99c81b9bdd081bdc195b881e595d60621b604482015260640161077a565b6001600160a01b0384165f9081526005602052604090205460ff16158015610f8457506001600160a01b0383165f9081526005602052604090205460ff16155b8015610fc257507f00000000000000000000000063c9d4ee3d51e4e5cc26caf4f68ea48d56eff8576001600160a01b0316836001600160a01b031614155b1561103b576001546001600160a01b0384165f90815260026020526040902054610fed908490611a32565b111561103b5760405162461bcd60e51b815260206004820152601860248201527f6d61782077616c6c6574206c696d697420726561636865640000000000000000604482015260640161077a565b611043611270565b15611050576110506112e1565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0387165f908152600290915291909120546110a1918490610e7e565b6001600160a01b0385165f90815260026020908152604080832093909355600490529081205460ff16806110ec57506001600160a01b0384165f9081526004602052604090205460ff165b611100576110fb8584866114a8565b611102565b825b6001600160a01b0385165f908152600260205260409020549091506111279082611601565b6001600160a01b038086165f8181526002602052604090819020939093559151908716907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061117a9085815260200190565b60405180910390a3506001949350505050565b6040805180820182526014815273496e73756666696369656e742042616c616e636560601b6020808301919091526001600160a01b0386165f9081526002909152918220546111dd918490610e7e565b6001600160a01b038086165f90815260026020526040808220939093559085168152205461120b9083611601565b6001600160a01b038085165f8181526002602052604090819020939093559151908616907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061125e9086815260200190565b60405180910390a35060019392505050565b5f336001600160a01b037f00000000000000000000000063c9d4ee3d51e4e5cc26caf4f68ea48d56eff85716148015906112ad575060105460ff16155b80156112c25750600e54600160a81b900460ff165b8015610ac6575050600f54305f90815260026020526040902054101590565b6010805460ff191660011790556040805160028082526060820183525f9260208301908036833701905050905030815f8151811061132157611321611a0a565b60200260200101906001600160a01b031690816001600160a01b0316815250507f000000000000000000000000c02aaa39b223fe8d0a0e5c4f27ead9083c756cc28160018151811061137557611375611a0a565b6001600160a01b039283166020918202929092010152600e54600f5460405163791ac94760e01b8152919092169163791ac947916113be91905f90869030904290600401611bae565b5f604051808303815f87803b1580156113d5575f80fd5b505af11580156113e7573d5f803e3d5ffd5b50506008546006544793505f92506113ff9084611b33565b6114099190611b8f565b90505f6008546007548461141d9190611b33565b6114279190611b8f565b600c546040519192506001600160a01b03169083156108fc029084905f818181858888f1935050505015801561145f573d5f803e3d5ffd5b50600d546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611497573d5f803e3d5ffd5b50506010805460ff19169055505050565b5f8215806114b65750600854155b156114c2575081610a3f565b600b546001600160a01b037f00000000000000000000000063c9d4ee3d51e4e5cc26caf4f68ea48d56eff8578116908416036115015750600a5461153f565b7f00000000000000000000000063c9d4ee3d51e4e5cc26caf4f68ea48d56eff8576001600160a01b0316856001600160a01b03160361153f57506009545b5f61157361154e606480611b33565b61156d846115676008548a61165f90919063ffffffff16565b9061165f565b906116dd565b905080156115ed57305f908152600260205260409020546115949082611601565b305f81815260026020526040908190209290925590516001600160a01b038816907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef906115e49085815260200190565b60405180910390a35b6115f7858261171e565b9695505050505050565b5f8061160d8385611a32565b905083811015610a3f5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f770000000000604482015260640161077a565b5f825f0361166e57505f610922565b5f6116798385611b33565b9050826116868583611b8f565b14610a3f5760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b606482015260840161077a565b5f610a3f83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525061175f565b5f610a3f83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250610e7e565b5f818361177f5760405162461bcd60e51b815260040161077a9190611817565b505f610ead8486611b8f565b8015158114610b01575f80fd5b5f805f604084860312156117aa575f80fd5b833567ffffffffffffffff808211156117c1575f80fd5b818601915086601f8301126117d4575f80fd5b8135818111156117e2575f80fd5b8760208260051b85010111156117f6575f80fd5b6020928301955093505084013561180c8161178b565b809150509250925092565b5f602080835283518060208501525f5b8181101561184357858101830151858201604001528201611827565b505f604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b0381168114611879575f80fd5b919050565b5f806040838503121561188f575f80fd5b61189883611863565b946020939093013593505050565b5f80604083850312156118b7575f80fd5b50508035926020909101359150565b5f805f606084860312156118d8575f80fd5b6118e184611863565b92506118ef60208501611863565b9150604084013590509250925092565b5f6020828403121561190f575f80fd5b610a3f82611863565b5f805f6060848603121561192a575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215611951575f80fd5b5035919050565b5f8060408385031215611969575f80fd5b61197283611863565b915061198060208401611863565b90509250929050565b5f806040838503121561199a575f80fd5b82356118988161178b565b60208082526006908201526510a7aba722a960d11b604082015260600190565b60208082526025908201527f474153204572726f723a206d6178206c696d6974206973203530302061646472604082015264657373657360d81b606082015260800190565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b8082018082111561092257610922611a1e565b600181815b80851115611a7f57815f1904821115611a6557611a65611a1e565b80851615611a7257918102915b93841c9390800290611a4a565b509250929050565b5f82611a9557506001610922565b81611aa157505f610922565b8160018114611ab75760028114611ac157611add565b6001915050610922565b60ff841115611ad257611ad2611a1e565b50506001821b610922565b5060208310610133831016604e8410600b8410161715611b00575081810a610922565b611b0a8383611a45565b805f1904821115611b1d57611b1d611a1e565b029392505050565b5f610a3f60ff841683611a87565b808202811582820484141761092257610922611a1e565b8181038181111561092257610922611a1e565b5f60208284031215611b6d575f80fd5b5051919050565b5f60208284031215611b84575f80fd5b8151610a3f8161178b565b5f82611ba957634e487b7160e01b5f52601260045260245ffd5b500490565b5f60a08201878352602087602085015260a0604085015281875180845260c0860191506020890193505f5b81811015611bfe5784516001600160a01b031683529383019391830191600101611bd9565b50506001600160a01b0396909616606085015250505060800152939250505056fea2646970667358221220bfc62df50b0ed7d9cdc714fc0e93bfa28e0eb7797a9c52263888e2ce15560cca64736f6c63430008160033

Deployed Bytecode Sourcemap

2987:8604:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9514:310;;;;;;;;;;-1:-1:-1;9514:310:0;;;;;:::i;:::-;;:::i;:::-;;9212:294;;;;;;;;;;-1:-1:-1;9212:294:0;;;;;:::i;:::-;;:::i;4271:48::-;;;;;;;;;;;;;;;;;;;1038:25:1;;;1026:2;1011:18;4271:48:0;;;;;;;;3237:38;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3237:38:0;;;;;;;;;;;;:::i;5547:216::-;;;;;;;;;;-1:-1:-1;5547:216:0;;;;;:::i;:::-;;:::i;:::-;;;2229:14:1;;2222:22;2204:41;;2192:2;2177:18;5547:216:0;2064:187:1;10752:201:0;;;;;;;;;;-1:-1:-1;10752:201:0;;;;;:::i;:::-;;:::i;3872:44::-;;;;;;;;;;;;3913:3;3872:44;;3372:61;;;;;;;;;;;;;:::i;3813:52::-;;;;;;;;;;;;;;;;6065:370;;;;;;;;;;-1:-1:-1;6065:370:0;;;;;:::i;:::-;;:::i;4081:34::-;;;;;;;;;;-1:-1:-1;4081:34:0;;;;-1:-1:-1;;;;;4081:34:0;;;;;;-1:-1:-1;;;;;3006:32:1;;;2988:51;;2976:2;2961:18;4081:34:0;2842:203:1;11451:137:0;;;;;;;;;;;;;:::i;2218:103::-;;;;;;;;;;-1:-1:-1;2218:103:0;;;;;:::i;:::-;2273:4;2308:5;-1:-1:-1;;;;;2297:16:0;;;2308:5;;2297:16;;2218:103;3328:35;;;;;;;;;;;;3361:2;3328:35;;;;;3413:4:1;3401:17;;;3383:36;;3371:2;3356:18;3328:35:0;3241:184:1;3626:44:0;;;;;;;;;;-1:-1:-1;3626:44:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;8978:110;;;;;;;;;;;;;:::i;5771:122::-;;;;;;;;;;-1:-1:-1;5771:122:0;;;;;:::i;:::-;;:::i;3738:31::-;;;;;;;;;;;;;;;;10546:198;;;;;;;;;;-1:-1:-1;10546:198:0;;;;;:::i;:::-;;:::i;4231:31::-;;;;;;;;;;-1:-1:-1;4231:31:0;;;;-1:-1:-1;;;4231:31:0;;;;;;3504:45;;;;;;;;;;-1:-1:-1;3504:45:0;;;;;:::i;:::-;;;;;;;;;;;;;;2329:128;;;;;;;;;;;;;:::i;6670:91::-;;;;;;;;;;;;;:::i;11148:295::-;;;;;;;;;;-1:-1:-1;11148:295:0;;;;;:::i;:::-;;:::i;3442:53::-;;;;;;;;;;;;;;;;6443:219;;;;;;;;;;-1:-1:-1;6443:219:0;;;;;:::i;:::-;;:::i;5322:78::-;;;;;;;;;;-1:-1:-1;5374:7:0;5392:5;-1:-1:-1;;;;;5392:5:0;5322:78;;2031:20;;;;;;;;;;-1:-1:-1;2031:20:0;;;;-1:-1:-1;;;;;2031:20:0;;;3282:39;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;3282:39:0;;;;;4155:29;;;;;;;;;;;;;;;5901:156;;;;;;;;;;-1:-1:-1;5901:156:0;;;;;:::i;:::-;;:::i;3677:52::-;;;;;;;;;;-1:-1:-1;3677:52:0;;;;;:::i;:::-;;;;;;;;;;;;;;;;9096:108;;;;;;;;;;;;;:::i;3776:30::-;;;;;;;;;;;;;;;;5406:133;;;;;;;;;;-1:-1:-1;5406:133:0;;;;;:::i;:::-;-1:-1:-1;;;;;5508:19:0;;;5490:7;5508:19;;;:11;:19;;;;;;;;:28;;;;;;;;;;;;;5406:133;10961:179;;;;;;;;;;-1:-1:-1;10961:179:0;;;;;:::i;:::-;;:::i;4039:35::-;;;;;;;;;;-1:-1:-1;4039:35:0;;;;-1:-1:-1;;;;;4039:35:0;;;4124:24;;;;;;;;;;-1:-1:-1;4124:24:0;;;;-1:-1:-1;;;;;4124:24:0;;;4193:31;;;;;;;;;;-1:-1:-1;4193:31:0;;;;-1:-1:-1;;;4193:31:0;;;;;;9514:310;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;;;;;;;;;9648:3:::1;9629:22:::0;::::1;9621:71;;;;-1:-1:-1::0;;;9621:71:0::1;;;;;;;:::i;:::-;9708:9;9703:114;9721:20:::0;;::::1;9703:114;;;9799:6;9763:19;:33;9783:9;;9793:1;9783:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9763:33:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9763:33:0;:42;;-1:-1:-1;;9763:42:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;9743:3:0::1;9703:114;;;;9514:310:::0;;;:::o;9212:294::-;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;9338:3:::1;9319:22:::0;::::1;9311:71;;;;-1:-1:-1::0;;;9311:71:0::1;;;;;;;:::i;:::-;9398:9;9393:106;9411:20:::0;;::::1;9393:106;;;9481:6;9453:11;:25;9465:9;;9475:1;9465:12;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9453:25:0::1;::::0;;::::1;::::0;::::1;::::0;;;;;;-1:-1:-1;9453:25:0;:34;;-1:-1:-1;;9453:34:0::1;::::0;::::1;;::::0;;;::::1;::::0;;-1:-1:-1;9433:3:0::1;9393:106;;5547:216:::0;5651:10;5622:4;5639:23;;;:11;:23;;;;;;;;-1:-1:-1;;;;;5639:32:0;;;;;;;;;;:41;;;5696:37;5622:4;;5639:32;;5696:37;;;;5674:6;1038:25:1;;1026:2;1011:18;;892:177;5696:37:0;;;;;;;;-1:-1:-1;5751:4:0;5547:216;;;;;:::o;10752:201::-;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;10838:12:::1;:25:::0;;;10874:11:::1;:23:::0;;;10919:26:::1;10888:9:::0;10853:10;10919:26:::1;:::i;:::-;10908:8;:37:::0;-1:-1:-1;;10752:201:0:o;3372:61::-;3421:12;3361:2;3421;:12;:::i;:::-;3410:23;;:8;:23;:::i;:::-;3372:61;:::o;6065:370::-;-1:-1:-1;;;;;6185:19:0;;6165:4;6185:19;;;:11;:19;;;;;;;;6205:10;6185:31;;;;;;;;-1:-1:-1;;6185:52:0;6182:186;;6287:69;;;;;;;;;;;-1:-1:-1;;;6287:69:0;;;;;;;;-1:-1:-1;;;;;6287:19:0;;-1:-1:-1;6287:19:0;;;:11;:19;;;;;6307:10;6287:31;;;;;;;;;;:69;;6323:6;;6287:35;:69::i;:::-;-1:-1:-1;;;;;6253:19:0;;;;;;:11;:19;;;;;;;;6273:10;6253:31;;;;;;;:103;6182:186;6387:40;6401:6;6409:9;6420:6;6387:13;:40::i;:::-;6380:47;;6065:370;;;;;;:::o;11451:137::-;11564:9;:15;;;;3113:42;11504:7;11546:15;;;;;11504:7;;11564:15;3421:12;3361:2;3421;:12;:::i;:::-;3410:23;;:8;:23;:::i;:::-;11532:29;;;;:::i;:::-;:47;;;;:::i;:::-;11524:56;;11451:137;:::o;8978:110::-;9028:19;;9020:60;;-1:-1:-1;;;;;9028:19:0;;;;9058:21;9020:60;;;;;9028:19;9020:60;9028:19;9020:60;9058:21;9028:19;9020:60;;;;;;;;;;;;;;;;;;;;;8978:110::o;5771:122::-;5826:4;5850:35;5858:7;-1:-1:-1;;5850:7:0;:35::i;10546:198::-;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;10645:14:::1;:22:::0;;;;10678:13:::1;:20:::0;;;;10709:18:::1;:27:::0;10546:198::o;2329:128::-;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;2404:1:::1;2388:18:::0;;-1:-1:-1;;;;;;2388:18:0::1;::::0;;2422:27:::1;::::0;2988:51:1;;;2422:27:0::1;::::0;2976:2:1;2961:18;2422:27:0::1;;;;;;;2329:128::o:0;6670:91::-;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;3421:12:::1;3361:2;3421;:12;:::i;:::-;3410:23;::::0;:8:::1;:23;:::i;:::-;6724:15;:29:::0;6670:91::o;11148:295::-;11239:12;2308:5;;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;11267:6:::1;11277:1;11267:11:::0;11264:95:::1;;11303:44;::::0;-1:-1:-1;;;11303:44:0;;11341:4:::1;11303:44;::::0;::::1;2988:51:1::0;-1:-1:-1;;;;;11303:29:0;::::1;::::0;::::1;::::0;2961:18:1;;11303:44:0::1;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;11294:53;;11264:95;11407:19;::::0;11378:57:::1;::::0;-1:-1:-1;;;11378:57:0;;-1:-1:-1;;;;;11407:19:0;;::::1;11378:57;::::0;::::1;7921:51:1::0;7988:18;;;7981:34;;;11378:28:0;;::::1;::::0;::::1;::::0;7894:18:1;;11378:57:0::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;6443:219::-:0;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;6550:1:::1;6533:13;:18;;6525:64;;;::::0;-1:-1:-1;;;6525:64:0;;8478:2:1;6525:64:0::1;::::0;::::1;8460:21:1::0;8517:2;8497:18;;;8490:30;8556:34;8536:18;;;8529:62;-1:-1:-1;;;8607:18:1;;;8600:32;8649:19;;6525:64:0::1;8276:398:1::0;6525:64:0::1;6651:3;6633:13:::0;3421:12:::1;3361:2;3421;:12;:::i;:::-;3410:23;::::0;:8:::1;:23;:::i;:::-;6619:27;;;;:::i;:::-;6618:36;;;;:::i;:::-;6600:15;:54:::0;-1:-1:-1;6443:219:0:o;5901:156::-;5981:4;6005:44;6019:10;6031:9;6042:6;6005:13;:44::i;9096:108::-;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;9149:11:::1;:18:::0;;-1:-1:-1;;;;9178:18:0;-1:-1:-1;;;9178:18:0;;;9096:108::o;10961:179::-;2273:4;2308:5;-1:-1:-1;;;;;2308:5:0;2177:10;2297:16;2161:38;;;;-1:-1:-1;;;2161:38:0;;;;;;;:::i;:::-;11057:11:::1;:22:::0;;-1:-1:-1;;;;11057:22:0::1;-1:-1:-1::0;;;11057:22:0;::::1;;;;::::0;;11120:12;3421::::1;3361:2;3421;:12;:::i;:::-;3410:23;::::0;:8:::1;:23;:::i;:::-;11106:26;;;;:::i;:::-;11090:13;:42:::0;-1:-1:-1;;10961:179:0:o;539:192::-;625:7;661:12;653:6;;;;645:29;;;;-1:-1:-1;;;645:29:0;;;;;;;;:::i;:::-;-1:-1:-1;685:9:0;697:5;701:1;697;:5;:::i;:::-;685:17;539:192;-1:-1:-1;;;;;539:192:0:o;6769:923::-;6881:6;;6861:4;;6881:6;;6878:63;;;6897:41;6912:6;6920:9;6931:6;6897:14;:41::i;:::-;6890:48;;;;6878:63;-1:-1:-1;;;;;6957:19:0;;;;;;:11;:19;;;;;;;;6953:94;;7000:11;;-1:-1:-1;;;7000:11:0;;;;6992:43;;;;-1:-1:-1;;;6992:43:0;;9103:2:1;6992:43:0;;;9085:21:1;9142:2;9122:18;;;9115:30;-1:-1:-1;;;9161:18:1;;;9154:50;9221:18;;6992:43:0;8901:344:1;6992:43:0;-1:-1:-1;;;;;7064:27:0;;;;;;:19;:27;;;;;;;;7063:28;:63;;;;-1:-1:-1;;;;;;7096:30:0;;;;;;:19;:30;;;;;;;;7095:31;7063:63;:84;;;;;7143:4;-1:-1:-1;;;;;7130:17:0;:9;-1:-1:-1;;;;;7130:17:0;;;7063:84;7059:203;;;7207:15;;-1:-1:-1;;;;;7173:20:0;;;;;;:9;:20;;;;;;:29;;7196:6;;7173:29;:::i;:::-;7172:50;;7164:86;;;;-1:-1:-1;;;7164:86:0;;9452:2:1;7164:86:0;;;9434:21:1;9491:2;9471:18;;;9464:30;9530:26;9510:18;;;9503:54;9574:18;;7164:86:0;9250:348:1;7164:86:0;7277:16;:14;:16::i;:::-;7274:35;;;7296:10;:8;:10::i;:::-;7341:53;;;;;;;;;;;-1:-1:-1;;;7341:53:0;;;;;;;;-1:-1:-1;;;;;7341:17:0;;-1:-1:-1;7341:17:0;;;:9;:17;;;;;;;;:53;;7363:6;;7341:21;:53::i;:::-;-1:-1:-1;;;;;7321:17:0;;;;;;:9;:17;;;;;;;;:73;;;;7433:11;:19;;;;;;;;;:45;;-1:-1:-1;;;;;;7456:22:0;;;;;;:11;:22;;;;;;;;7433:45;7432:93;;7491:34;7499:6;7507;7515:9;7491:7;:34::i;:::-;7432:93;;;7482:6;7432:93;-1:-1:-1;;;;;7561:20:0;;;;;;:9;:20;;;;;;7407:118;;-1:-1:-1;7561:40:0;;7407:118;7561:24;:40::i;:::-;-1:-1:-1;;;;;7538:20:0;;;;;;;:9;:20;;;;;;;:63;;;;7619:43;;;;;;;;;;7647:14;1038:25:1;;1026:2;1011:18;;892:177;7619:43:0;;;;;;;;-1:-1:-1;7680:4:0;;6769:923;-1:-1:-1;;;;6769:923:0:o;7704:330::-;7834:53;;;;;;;;;;;-1:-1:-1;;;7834:53:0;;;;;;;;-1:-1:-1;;;;;7834:17:0;;7797:4;7834:17;;;:9;:17;;;;;;;:53;;7856:6;;7834:21;:53::i;:::-;-1:-1:-1;;;;;7814:17:0;;;;;;;:9;:17;;;;;;:73;;;;7921:20;;;;;;;:32;;7946:6;7921:24;:32::i;:::-;-1:-1:-1;;;;;7898:20:0;;;;;;;:9;:20;;;;;;;:55;;;;7969:35;;;;;;;;;;7997:6;1038:25:1;;1026:2;1011:18;;892:177;7969:35:0;;;;;;;;-1:-1:-1;8022:4:0;7704:330;;;;;:::o;8773:197::-;8822:4;8846:10;-1:-1:-1;;;;;8860:4:0;8846:18;;;;;:38;;-1:-1:-1;8878:6:0;;;;8877:7;8846:38;:62;;;;-1:-1:-1;8897:11:0;;-1:-1:-1;;;8897:11:0;;;;8846:62;:116;;;;-1:-1:-1;;8949:13:0;;8939:4;8921:24;;;;:9;:24;;;;;;:41;;;8773:197::o;9832:706::-;4372:6;:13;;-1:-1:-1;;4372:13:0;4381:4;4372:13;;;9907:16:::1;::::0;;9921:1:::1;9907:16:::0;;;;;::::1;::::0;;-1:-1:-1;;9907:16:0::1;::::0;::::1;::::0;;::::1;::::0;::::1;;::::0;-1:-1:-1;9907:16:0::1;9883:40;;9952:4;9934;9939:1;9934:7;;;;;;;;:::i;:::-;;;;;;:23;-1:-1:-1::0;;;;;9934:23:0::1;;;-1:-1:-1::0;;;;;9934:23:0::1;;;::::0;::::1;9978:4;9968;9973:1;9968:7;;;;;;;;:::i;:::-;-1:-1:-1::0;;;;;9968:14:0;;::::1;:7;::::0;;::::1;::::0;;;;;:14;9995:6:::1;::::0;10067:13:::1;::::0;9995:189:::1;::::0;-1:-1:-1;;;9995:189:0;;:6;;;::::1;::::0;:57:::1;::::0;:189:::1;::::0;10067:13;9995:6:::1;::::0;10111:4;;10138::::1;::::0;10158:15:::1;::::0;9995:189:::1;;;:::i;:::-;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;10309:8:0::1;::::0;10293:12:::1;::::0;10217:21:::1;::::0;-1:-1:-1;10197:17:0::1;::::0;-1:-1:-1;10281:24:0::1;::::0;10217:21;10281:24:::1;:::i;:::-;10280:37;;;;:::i;:::-;10251:66;;10328:25;10384:8;;10369:11;;10357:9;:23;;;;:::i;:::-;10356:36;;;;:::i;:::-;10413:20;::::0;10405:58:::1;::::0;10328:64;;-1:-1:-1;;;;;;10413:20:0::1;::::0;10405:58;::::1;;;::::0;10444:18;;10413:20:::1;10405:58:::0;10413:20;10405:58;10444:18;10413:20;10405:58;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;10482:19:0::1;::::0;10474:56:::1;::::0;-1:-1:-1;;;;;10482:19:0;;::::1;::::0;10474:56;::::1;;;::::0;10512:17;;10482:19:::1;10474:56:::0;10482:19;10474:56;10512:17;10482:19;10474:56;::::1;;;;;;;;;;;;;::::0;::::1;;;;;-1:-1:-1::0;;4390:6:0;:14;;-1:-1:-1;;4390:14:0;;;-1:-1:-1;;;9832:706:0:o;8042:723::-;8128:7;8151:11;;;:28;;-1:-1:-1;8166:8:0;;:13;8151:28;8148:72;;;-1:-1:-1;8202:6:0;8195:13;;8148:72;8253:18;;-1:-1:-1;;;;;8300:4:0;8287:17;;;;;;8284:154;;-1:-1:-1;8334:14:0;;8284:154;;;8379:4;-1:-1:-1;;;;;8369:14:0;:6;-1:-1:-1;;;;;8369:14:0;;8366:72;;-1:-1:-1;8413:13:0;;8366:72;8450:17;8470:62;8511:20;3913:3;;8511:20;:::i;:::-;8470:36;8495:10;8470:20;8481:8;;8470:6;:10;;:20;;;;:::i;:::-;:24;;:36::i;:::-;:40;;:62::i;:::-;8450:82;-1:-1:-1;8548:13:0;;8545:172;;8622:4;8604:24;;;;:9;:24;;;;;;:39;;8633:9;8604:28;:39::i;:::-;8595:4;8577:24;;;;:9;:24;;;;;;;:66;;;;8663:42;;-1:-1:-1;;;;;8663:42:0;;;;;;;8695:9;1038:25:1;;1026:2;1011:18;;892:177;8663:42:0;;;;;;;;8545:172;8736:21;:6;8747:9;8736:10;:21::i;:::-;8729:28;8042:723;-1:-1:-1;;;;;;8042:723:0:o;210:181::-;268:7;;300:5;304:1;300;:5;:::i;:::-;288:17;;329:1;324;:6;;316:46;;;;-1:-1:-1;;;316:46:0;;10922:2:1;316:46:0;;;10904:21:1;10961:2;10941:18;;;10934:30;11000:29;10980:18;;;10973:57;11047:18;;316:46:0;10720:351:1;737:250:0;795:7;819:1;824;819:6;815:47;;-1:-1:-1;849:1:0;842:8;;815:47;874:9;886:5;890:1;886;:5;:::i;:::-;874:17;-1:-1:-1;919:1:0;910:5;914:1;874:17;910:5;:::i;:::-;:10;902:56;;;;-1:-1:-1;;;902:56:0;;11278:2:1;902:56:0;;;11260:21:1;11317:2;11297:18;;;11290:30;11356:34;11336:18;;;11329:62;-1:-1:-1;;;11407:18:1;;;11400:31;11448:19;;902:56:0;11076:397:1;993:132:0;1051:7;1078:39;1082:1;1085;1078:39;;;;;;;;;;;;;;;;;:3;:39::i;397:136::-;455:7;482:43;486:1;489;482:43;;;;;;;;;;;;;;;;;:3;:43::i;1131:189::-;1217:7;1252:12;1245:5;1237:28;;;;-1:-1:-1;;;1237:28:0;;;;;;;;:::i;:::-;-1:-1:-1;1276:9:0;1288:5;1292:1;1288;:5;:::i;14:118:1:-;100:5;93:13;86:21;79:5;76:32;66:60;;122:1;119;112:12;137:750;229:6;237;245;298:2;286:9;277:7;273:23;269:32;266:52;;;314:1;311;304:12;266:52;354:9;341:23;383:18;424:2;416:6;413:14;410:34;;;440:1;437;430:12;410:34;478:6;467:9;463:22;453:32;;523:7;516:4;512:2;508:13;504:27;494:55;;545:1;542;535:12;494:55;585:2;572:16;611:2;603:6;600:14;597:34;;;627:1;624;617:12;597:34;682:7;675:4;665:6;662:1;658:14;654:2;650:23;646:34;643:47;640:67;;;703:1;700;693:12;640:67;734:4;726:13;;;;-1:-1:-1;758:6:1;-1:-1:-1;;799:20:1;;786:34;829:28;786:34;829:28;:::i;:::-;876:5;866:15;;;137:750;;;;;:::o;1074:548::-;1186:4;1215:2;1244;1233:9;1226:21;1276:6;1270:13;1319:6;1314:2;1303:9;1299:18;1292:34;1344:1;1354:140;1368:6;1365:1;1362:13;1354:140;;;1463:14;;;1459:23;;1453:30;1429:17;;;1448:2;1425:26;1418:66;1383:10;;1354:140;;;1358:3;1543:1;1538:2;1529:6;1518:9;1514:22;1510:31;1503:42;1613:2;1606;1602:7;1597:2;1589:6;1585:15;1581:29;1570:9;1566:45;1562:54;1554:62;;;;1074:548;;;;:::o;1627:173::-;1695:20;;-1:-1:-1;;;;;1744:31:1;;1734:42;;1724:70;;1790:1;1787;1780:12;1724:70;1627:173;;;:::o;1805:254::-;1873:6;1881;1934:2;1922:9;1913:7;1909:23;1905:32;1902:52;;;1950:1;1947;1940:12;1902:52;1973:29;1992:9;1973:29;:::i;:::-;1963:39;2049:2;2034:18;;;;2021:32;;-1:-1:-1;;;1805:254:1:o;2256:248::-;2324:6;2332;2385:2;2373:9;2364:7;2360:23;2356:32;2353:52;;;2401:1;2398;2391:12;2353:52;-1:-1:-1;;2424:23:1;;;2494:2;2479:18;;;2466:32;;-1:-1:-1;2256:248:1:o;2509:328::-;2586:6;2594;2602;2655:2;2643:9;2634:7;2630:23;2626:32;2623:52;;;2671:1;2668;2661:12;2623:52;2694:29;2713:9;2694:29;:::i;:::-;2684:39;;2742:38;2776:2;2765:9;2761:18;2742:38;:::i;:::-;2732:48;;2827:2;2816:9;2812:18;2799:32;2789:42;;2509:328;;;;;:::o;3050:186::-;3109:6;3162:2;3150:9;3141:7;3137:23;3133:32;3130:52;;;3178:1;3175;3168:12;3130:52;3201:29;3220:9;3201:29;:::i;3430:316::-;3507:6;3515;3523;3576:2;3564:9;3555:7;3551:23;3547:32;3544:52;;;3592:1;3589;3582:12;3544:52;-1:-1:-1;;3615:23:1;;;3685:2;3670:18;;3657:32;;-1:-1:-1;3736:2:1;3721:18;;;3708:32;;3430:316;-1:-1:-1;3430:316:1:o;3751:180::-;3810:6;3863:2;3851:9;3842:7;3838:23;3834:32;3831:52;;;3879:1;3876;3869:12;3831:52;-1:-1:-1;3902:23:1;;3751:180;-1:-1:-1;3751:180:1:o;3936:260::-;4004:6;4012;4065:2;4053:9;4044:7;4040:23;4036:32;4033:52;;;4081:1;4078;4071:12;4033:52;4104:29;4123:9;4104:29;:::i;:::-;4094:39;;4152:38;4186:2;4175:9;4171:18;4152:38;:::i;:::-;4142:48;;3936:260;;;;;:::o;4201:309::-;4266:6;4274;4327:2;4315:9;4306:7;4302:23;4298:32;4295:52;;;4343:1;4340;4333:12;4295:52;4382:9;4369:23;4401:28;4423:5;4401:28;:::i;4741:329::-;4943:2;4925:21;;;4982:1;4962:18;;;4955:29;-1:-1:-1;;;5015:2:1;5000:18;;4993:36;5061:2;5046:18;;4741:329::o;5075:401::-;5277:2;5259:21;;;5316:2;5296:18;;;5289:30;5355:34;5350:2;5335:18;;5328:62;-1:-1:-1;;;5421:2:1;5406:18;;5399:35;5466:3;5451:19;;5075:401::o;5481:127::-;5542:10;5537:3;5533:20;5530:1;5523:31;5573:4;5570:1;5563:15;5597:4;5594:1;5587:15;5613:127;5674:10;5669:3;5665:20;5662:1;5655:31;5705:4;5702:1;5695:15;5729:4;5726:1;5719:15;5745:125;5810:9;;;5831:10;;;5828:36;;;5844:18;;:::i;5875:416::-;5964:1;6001:5;5964:1;6015:270;6036:7;6026:8;6023:21;6015:270;;;6095:4;6091:1;6087:6;6083:17;6077:4;6074:27;6071:53;;;6104:18;;:::i;:::-;6154:7;6144:8;6140:22;6137:55;;;6174:16;;;;6137:55;6253:22;;;;6213:15;;;;6015:270;;;6019:3;5875:416;;;;;:::o;6296:806::-;6345:5;6375:8;6365:80;;-1:-1:-1;6416:1:1;6430:5;;6365:80;6464:4;6454:76;;-1:-1:-1;6501:1:1;6515:5;;6454:76;6546:4;6564:1;6559:59;;;;6632:1;6627:130;;;;6539:218;;6559:59;6589:1;6580:10;;6603:5;;;6627:130;6664:3;6654:8;6651:17;6648:43;;;6671:18;;:::i;:::-;-1:-1:-1;;6727:1:1;6713:16;;6742:5;;6539:218;;6841:2;6831:8;6828:16;6822:3;6816:4;6813:13;6809:36;6803:2;6793:8;6790:16;6785:2;6779:4;6776:12;6772:35;6769:77;6766:159;;;-1:-1:-1;6878:19:1;;;6910:5;;6766:159;6957:34;6982:8;6976:4;6957:34;:::i;:::-;7027:6;7023:1;7019:6;7015:19;7006:7;7003:32;7000:58;;;7038:18;;:::i;:::-;7076:20;;6296:806;-1:-1:-1;;;6296:806:1:o;7107:140::-;7165:5;7194:47;7235:4;7225:8;7221:19;7215:4;7194:47;:::i;7252:168::-;7325:9;;;7356;;7373:15;;;7367:22;;7353:37;7343:71;;7394:18;;:::i;7425:128::-;7492:9;;;7513:11;;;7510:37;;;7527:18;;:::i;7558:184::-;7628:6;7681:2;7669:9;7660:7;7656:23;7652:32;7649:52;;;7697:1;7694;7687:12;7649:52;-1:-1:-1;7720:16:1;;7558:184;-1:-1:-1;7558:184:1:o;8026:245::-;8093:6;8146:2;8134:9;8125:7;8121:23;8117:32;8114:52;;;8162:1;8159;8152:12;8114:52;8194:9;8188:16;8213:28;8235:5;8213:28;:::i;8679:217::-;8719:1;8745;8735:132;;8789:10;8784:3;8780:20;8777:1;8770:31;8824:4;8821:1;8814:15;8852:4;8849:1;8842:15;8735:132;-1:-1:-1;8881:9:1;;8679:217::o;9735:980::-;9997:4;10045:3;10034:9;10030:19;10076:6;10065:9;10058:25;10102:2;10140:6;10135:2;10124:9;10120:18;10113:34;10183:3;10178:2;10167:9;10163:18;10156:31;10207:6;10242;10236:13;10273:6;10265;10258:22;10311:3;10300:9;10296:19;10289:26;;10350:2;10342:6;10338:15;10324:29;;10371:1;10381:195;10395:6;10392:1;10389:13;10381:195;;;10460:13;;-1:-1:-1;;;;;10456:39:1;10444:52;;10551:15;;;;10516:12;;;;10492:1;10410:9;10381:195;;;-1:-1:-1;;;;;;;10632:32:1;;;;10627:2;10612:18;;10605:60;-1:-1:-1;;;10696:3:1;10681:19;10674:35;10593:3;9735:980;-1:-1:-1;;;9735:980:1:o

Swarm Source

ipfs://bfc62df50b0ed7d9cdc714fc0e93bfa28e0eb7797a9c52263888e2ce15560cca

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.