ETH Price: $1,962.03 (-6.04%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

More Info

Private Name Tags

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve242702742026-01-19 17:20:2327 days ago1768843223IN
0xaf4cb50c...273eE8Ca0
0 ETH0.000003260.07019055
Approve233217902025-09-08 23:55:35160 days ago1757375735IN
0xaf4cb50c...273eE8Ca0
0 ETH0.000053151.148207
Approve233216962025-09-08 23:36:35160 days ago1757374595IN
0xaf4cb50c...273eE8Ca0
0 ETH0.000099652.14416635
Enable Trading233152792025-09-08 2:05:59161 days ago1757297159IN
0xaf4cb50c...273eE8Ca0
0 ETH0.000005910.12765092

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
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:
EclipseProtocol

Compiler Version
v0.8.30+commit.73712a01

Optimization Enabled:
Yes with 200 runs

Other Settings:
default evmVersion
File 1 of 1 : EclipseProtocol.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

interface IERC20 {
    function totalSupply() external view returns (uint256);
    function balanceOf(address account) external view returns (uint256);
    function transfer(address to, 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 from, address to, 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);
}

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

interface IUniswapV2Router02 {
    function factory() external pure returns (address);
    function WETH() external pure returns (address);
    function addLiquidityETH(address token, uint amountTokenDesired, uint amountTokenMin, uint amountETHMin, address to, uint deadline) external payable returns (uint amountToken, uint amountETH, uint liquidity);
    function swapExactTokensForETHSupportingFeeOnTransferTokens(uint amountIn, uint amountOutMin, address[] calldata path, address to, uint deadline) external;
}

contract EclipseProtocol is IERC20 {
    string public constant name = "Eclipse Protocol";
    string public constant symbol = "ECPRO";
    uint8 public constant decimals = 18;
    uint256 public constant totalSupply_ = 333000000000 * 10**18;

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

    address public owner;
    address public immutable uniswapV2Pair;
    IUniswapV2Router02 public immutable uniswapV2Router;

    uint256 public fearIndex;
    bool public illusionEffect;

    uint256 public iteration;
    bytes32 public narrativeSeed;
    uint256 public prophecyWindow = 1000;

    bytes32 public identityHash;
    uint256 public awarenessLevel;
    bool public selfRefLoop;

    enum OmegaState { Dormant, Active, Recursive }
    OmegaState public omegaState;
    uint256 public cycleCount;
    uint256 public heartbeat = 10;
    address public sealAddress;

    bool public tradingEnabled;
    mapping(address => bool) public isExcludedFromFees;
    mapping(address => bool) public isBot;
    uint256 public maxTxAmount;
    uint256 public maxWalletAmount;

    uint256 public liquidityFee = 3;
    uint256 public treasuryFee = 2;
    uint256 public totalFee = 5;
    uint256 private constant FEE_DENOMINATOR = 100;

    bool private inSwapAndLiquify;
    bool public swapAndLiquifyEnabled = true;
    uint256 public swapTokensAtAmount;
    address public treasuryWallet;

    event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);
    event TradingEnabled();
    event SwapAndLiquify(uint256 tokensSwapped, uint256 ethReceived, uint256 tokensIntoLiqudity);
    event BotAdded(address indexed bot);
    event BotRemoved(address indexed bot);

    modifier onlyOwner() {
        require(msg.sender == owner, "Not owner");
        _;
    }

    modifier lockTheSwap() {
        inSwapAndLiquify = true;
        _;
        inSwapAndLiquify = false;
    }

    constructor(address routerAddress, address _treasury) {
        owner = msg.sender;
        treasuryWallet = _treasury;
        _balances[owner] = totalSupply_;
        IERC20(address(this));
        IUniswapV2Router02 _router = IUniswapV2Router02(routerAddress);
        uniswapV2Router = _router;
        uniswapV2Pair = IUniswapV2Factory(_router.factory()).createPair(address(this), _router.WETH());
        isExcludedFromFees[owner] = true;
        isExcludedFromFees[address(this)] = true;
        swapTokensAtAmount = totalSupply_ / 100000;
        maxTxAmount = totalSupply_ / 1000;
        maxWalletAmount = totalSupply_ / 100;
        identityHash = keccak256(abi.encodePacked(block.timestamp, owner));
    }

    receive() external payable {}

    function totalSupply() external pure override returns (uint256) {
        return totalSupply_;
    }

    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) external override returns (bool) {
        _allowances[msg.sender][spender] = amount;
        emit Approval(msg.sender, spender, amount);
        return true;
    }

    function transfer(address to, uint256 amount) external override returns (bool) {
        _transfer(msg.sender, to, amount);
        return true;
    }

    function transferFrom(address from, address to, uint256 amount) external override returns (bool) {
        require(_allowances[from][msg.sender] >= amount, "Not allowed");
        _allowances[from][msg.sender] -= amount;
        _transfer(from, to, amount);
        return true;
    }

    function renounceOwnership() external onlyOwner {
        address previous = owner;
        owner = address(0);
        emit OwnershipTransferred(previous, address(0));
    }

    function transferOwnership(address newOwner) external onlyOwner {
        require(newOwner != address(0), "Zero address");
        address previous = owner;
        owner = newOwner;
        emit OwnershipTransferred(previous, newOwner);
    }

    function enableTrading() external onlyOwner {
        tradingEnabled = true;
        emit TradingEnabled();
    }

    function setTradingLimits(uint256 _maxTx, uint256 _maxWallet) external onlyOwner {
        maxTxAmount = _maxTx;
        maxWalletAmount = _maxWallet;
    }

    function setFees(uint256 _liquidityFee, uint256 _treasuryFee) external onlyOwner {
        liquidityFee = _liquidityFee;
        treasuryFee = _treasuryFee;
        totalFee = liquidityFee + treasuryFee;
    }

    function excludeFromFees(address account, bool excluded) external onlyOwner {
        isExcludedFromFees[account] = excluded;
    }

    function markBot(address account, bool flagged) external onlyOwner {
        isBot[account] = flagged;
        if (flagged) emit BotAdded(account); else emit BotRemoved(account);
    }

    function setSwapAndLiquifyEnabled(bool enabled) external onlyOwner {
        swapAndLiquifyEnabled = enabled;
    }

    function setSwapTokensAtAmount(uint256 amount) external onlyOwner {
        swapTokensAtAmount = amount;
    }

    function setTreasuryWallet(address _treasury) external onlyOwner {
        treasuryWallet = _treasury;
    }

    function _transfer(address from, address to, uint256 amount) internal {
        require(!isBot[from] && !isBot[to], "Bot address");
        if (!isExcludedFromFees[from] && !isExcludedFromFees[to]) {
            require(tradingEnabled, "Trading not enabled");
        }
        if (from != owner && to != owner) {
            if (from == uniswapV2Pair) {
                require(amount <= maxTxAmount, "Exceeds max tx");
                require(_balances[to] + amount <= maxWalletAmount, "Exceeds max wallet");
            } else if (to == uniswapV2Pair) {
                require(amount <= maxTxAmount, "Exceeds max tx");
            } else {
                require(_balances[to] + amount <= maxWalletAmount, "Exceeds max wallet");
            }
        }
        uint256 contractTokenBalance = _balances[address(this)];
        bool overMinTokenBalance = contractTokenBalance >= swapTokensAtAmount;
        if (overMinTokenBalance && !inSwapAndLiquify && from != uniswapV2Pair && swapAndLiquifyEnabled) {
            swapAndLiquify(contractTokenBalance);
        }
        _balances[from] -= amount;
        uint256 transferAmount = amount;
        if (!isExcludedFromFees[from] && !isExcludedFromFees[to] && totalFee > 0) {
            uint256 feeAmount = (amount * totalFee) / FEE_DENOMINATOR;
            transferAmount = amount - feeAmount;
            _balances[address(this)] += feeAmount;
            emit Transfer(from, address(this), feeAmount);
        }
        if (illusionEffect && fearIndex > 0 && !isExcludedFromFees[from]) {
            uint256 penalty = (transferAmount * fearIndex) / FEE_DENOMINATOR;
            if (penalty > 0) {
                transferAmount -= penalty;
                _balances[sealAddress] += penalty;
                emit Transfer(address(this), sealAddress, penalty);
            }
        }
        _balances[to] += transferAmount;
        emit Transfer(from, to, transferAmount);
    }

    function swapAndLiquify(uint256 contractTokenBalance) private lockTheSwap {
        uint256 halfLiquidity = (contractTokenBalance * liquidityFee) / totalFee / 2;
        uint256 otherHalfLiquidity = (contractTokenBalance * liquidityFee) / totalFee - halfLiquidity;
        uint256 treasuryTokens = (contractTokenBalance * treasuryFee) / totalFee;
        uint256 tokensToSwap = halfLiquidity + treasuryTokens + otherHalfLiquidity;
        uint256 initialBalance = address(this).balance;
        swapTokensForEth(tokensToSwap);
        uint256 newBalance = address(this).balance - initialBalance;
        uint256 ethForLiquidity = (newBalance * halfLiquidity) / tokensToSwap;
        if (otherHalfLiquidity > 0 && ethForLiquidity > 0) {
            addLiquidity(otherHalfLiquidity, ethForLiquidity);
            emit SwapAndLiquify(halfLiquidity, ethForLiquidity, otherHalfLiquidity);
        }
        uint256 remainingEth = address(this).balance;
        if (remainingEth > 0) {
            payable(treasuryWallet).transfer(remainingEth);
        }
    }

    function swapTokensForEth(uint256 tokenAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        address[] memory path = new address[](2);
        path[0] = address(this);
        path[1] = uniswapV2Router.WETH();
        uniswapV2Router.swapExactTokensForETHSupportingFeeOnTransferTokens(tokenAmount, 0, path, address(this), block.timestamp);
    }

    function addLiquidity(uint256 tokenAmount, uint256 ethAmount) private {
        _approve(address(this), address(uniswapV2Router), tokenAmount);
        uniswapV2Router.addLiquidityETH{value: ethAmount}(address(this), tokenAmount, 0, 0, owner, block.timestamp);
    }

    function _approve(address owner_, address spender, uint256 amount) private {
        _allowances[owner_][spender] = amount;
        emit Approval(owner_, spender, amount);
    }

    function prophesyOutcome(bytes32 eventId) public view returns (uint256) {
        if (prophecyWindow == 0) return 0;
        return uint256(keccak256(abi.encodePacked(eventId, block.timestamp, narrativeSeed))) % prophecyWindow;
    }

    function evolve() external onlyOwner {
        iteration += 1;
        narrativeSeed = keccak256(abi.encodePacked(block.prevrandao, iteration));
    }

    function reflect() external onlyOwner {
        awarenessLevel += 1;
        selfRefLoop = true;
    }

    function triggerOmega() external {
        require(msg.sender == sealAddress || msg.sender == owner, "Unauthorized");
        omegaState = OmegaState.Active;
    }

    function loopCycle() external onlyOwner {
        require(omegaState == OmegaState.Active || omegaState == OmegaState.Recursive, "Omega not active");
        cycleCount += 1;
        if (cycleCount % heartbeat == 0) {
            omegaState = OmegaState.Recursive;
        }
    }

    function setSealAddress(address _seal) external onlyOwner {
        sealAddress = _seal;
    }

    function setFearMechanics(uint256 _fearIndex, bool _illusionEffect) external onlyOwner {
        fearIndex = _fearIndex;
        illusionEffect = _illusionEffect;
    }

    function rescueETH(address to) external onlyOwner {
        payable(to).transfer(address(this).balance);
    }

    function rescueTokens(address token, address to, uint256 amount) external onlyOwner {
        IERC20(token).transfer(to, amount);
    }
}

Settings
{
  "optimizer": {
    "enabled": true,
    "runs": 200
  },
  "outputSelection": {
    "*": {
      "*": [
        "evm.bytecode",
        "evm.deployedBytecode",
        "devdoc",
        "userdoc",
        "metadata",
        "abi"
      ]
    }
  },
  "remappings": []
}

Contract Security Audit

Contract ABI

API
[{"inputs":[{"internalType":"address","name":"routerAddress","type":"address"},{"internalType":"address","name":"_treasury","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"owner","type":"address"},{"indexed":true,"internalType":"address","name":"spender","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Approval","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bot","type":"address"}],"name":"BotAdded","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"bot","type":"address"}],"name":"BotRemoved","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"tokensSwapped","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"ethReceived","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"tokensIntoLiqudity","type":"uint256"}],"name":"SwapAndLiquify","type":"event"},{"anonymous":false,"inputs":[],"name":"TradingEnabled","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"from","type":"address"},{"indexed":true,"internalType":"address","name":"to","type":"address"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"Transfer","type":"event"},{"inputs":[{"internalType":"address","name":"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":[],"name":"awarenessLevel","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"cycleCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"evolve","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"excluded","type":"bool"}],"name":"excludeFromFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"fearIndex","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"heartbeat","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"identityHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"illusionEffect","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isBot","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"isExcludedFromFees","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"iteration","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"loopCycle","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"},{"internalType":"bool","name":"flagged","type":"bool"}],"name":"markBot","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"maxTxAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletAmount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"narrativeSeed","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"omegaState","outputs":[{"internalType":"enum EclipseProtocol.OmegaState","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"prophecyWindow","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"eventId","type":"bytes32"}],"name":"prophesyOutcome","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"reflect","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"}],"name":"rescueETH","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"token","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"rescueTokens","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"sealAddress","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"selfRefLoop","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_fearIndex","type":"uint256"},{"internalType":"bool","name":"_illusionEffect","type":"bool"}],"name":"setFearMechanics","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_liquidityFee","type":"uint256"},{"internalType":"uint256","name":"_treasuryFee","type":"uint256"}],"name":"setFees","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_seal","type":"address"}],"name":"setSealAddress","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"enabled","type":"bool"}],"name":"setSwapAndLiquifyEnabled","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"setSwapTokensAtAmount","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxTx","type":"uint256"},{"internalType":"uint256","name":"_maxWallet","type":"uint256"}],"name":"setTradingLimits","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"_treasury","type":"address"}],"name":"setTreasuryWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"swapAndLiquifyEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"swapTokensAtAmount","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":"pure","type":"function"},{"inputs":[],"name":"totalSupply_","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnabled","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"from","type":"address"},{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"amount","type":"uint256"}],"name":"transferFrom","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"treasuryFee","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"treasuryWallet","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"triggerOmega","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"uniswapV2Pair","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"uniswapV2Router","outputs":[{"internalType":"contract IUniswapV2Router02","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"stateMutability":"payable","type":"receive"}]

60c06040526103e8600755600a600c556003601255600260135560056014556015805461ff001916610100179055348015610038575f5ffd5b50604051612531380380612531833981016040819052610057916102d9565b600280546001600160a01b031990811633908117909255601780546001600160a01b03858116919093161790555f91825260208281526040928390206c0433fb24dbe236cf39c8000000905590841660a0819052825163c45a015560e01b815292518593919263c45a015592600480820193918290030181865afa1580156100e1573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610105919061030a565b6001600160a01b031663c9c6539630836001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015610150573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610174919061030a565b6040516001600160e01b031960e085901b1681526001600160a01b039283166004820152911660248201526044016020604051808303815f875af11580156101be573d5f5f3e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101e2919061030a565b6001600160a01b03908116608052600254165f908152600e60205260408082208054600160ff199182168117909255308452919092208054909116909117905561023c620186a06c0433fb24dbe236cf39c800000061032a565b6016556102586103e86c0433fb24dbe236cf39c800000061032a565b60105561027360646c0433fb24dbe236cf39c800000061032a565b6011556002546040805142602082015260609290921b6001600160601b0319169082015260540160405160208183030381529060405280519060200120600881905550505050610349565b80516001600160a01b03811681146102d4575f5ffd5b919050565b5f5f604083850312156102ea575f5ffd5b6102f3836102be565b9150610301602084016102be565b90509250929050565b5f6020828403121561031a575f5ffd5b610323826102be565b9392505050565b5f8261034457634e487b7160e01b5f52601260045260245ffd5b500490565b60805160a05161218f6103a25f395f818161047701528181611aee01528181611b6801528181611c1e01528181611c940152611cfb01525f8181610600015281816114a50152818161158f01526116a1015261218f5ff3fe608060405260043610610344575f3560e01c806370a08231116101bd578063a9059cbb116100f2578063c4a5d9ff11610092578063d844d9391161006d578063d844d9391461099c578063dd62ed3e146109b1578063e2f45605146109f5578063f2fde38b14610a0a575f5ffd5b8063c4a5d9ff14610949578063cc32d17614610968578063cea9d26f1461097d575f5ffd5b8063afa4f3b2116100cd578063afa4f3b2146108d7578063c0246668146108f6578063c0355f2c14610915578063c49b9a801461092a575f5ffd5b8063a9059cbb14610884578063aa4bde28146108a3578063aeb76426146108b8575f5ffd5b80638da5cb5b1161015d578063972873ea11610138578063972873ea1461081d57806398118cb414610831578063996d030914610846578063a8602fea14610865575f5ffd5b80638da5cb5b146107a3578063959c4108146107c257806395d89b41146107ed575f5ffd5b80637c97e93d116101985780637c97e93d146107465780638324d6bf146107655780638a8c523c1461077a5780638c0b5e221461078e575f5ffd5b806370a08231146106ea578063715018a61461071e578063734b814714610732575f5ffd5b8063313ce567116102935780634a74bb02116102335780634c73f3c61161020e5780634c73f3c6146106755780634fbee1931461069457806354c5f3c5146106c25780636226e280146106d6575f5ffd5b80634a74bb02146106225780634ada218b146106405780634b6e1eca14610660575f5ffd5b80633bbac5791161026e5780633bbac5791461058d5780633defb962146105bb5780634626402b146105d057806349bd5a5e146105ef575f5ffd5b8063313ce56714610532578063316fda0f14610558578063324536eb1461056d575f5ffd5b80630c0399a4116102fe57806318160ddd116102d957806318160ddd146104ca5780631df4ccfc146104e9578063212ff20a146104fe57806323b872dd14610513575f5ffd5b80630c0399a4146104435780631694505e1461046657806317c23cf3146104b1575f5ffd5b8063012b8f761461034f57806304824e701461037d57806306fdde031461039e578063095ea7b3146103e65780630b78f9c0146104055780630bcc739214610424575f5ffd5b3661034b57005b5f5ffd5b34801561035a575f5ffd5b50600a546103689060ff1681565b60405190151581526020015b60405180910390f35b348015610388575f5ffd5b5061039c610397366004611de8565b610a29565b005b3480156103a9575f5ffd5b506103d96040518060400160405280601081526020016f1158db1a5c1cd948141c9bdd1bd8dbdb60821b81525081565b6040516103749190611e0a565b3480156103f1575f5ffd5b50610368610400366004611e3f565b610a92565b348015610410575f5ffd5b5061039c61041f366004611e69565b610afe565b34801561042f575f5ffd5b5061039c61043e366004611e96565b610b43565b34801561044e575f5ffd5b5061045860055481565b604051908152602001610374565b348015610471575f5ffd5b506104997f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610374565b3480156104bc575f5ffd5b506004546103689060ff1681565b3480156104d5575f5ffd5b506c0433fb24dbe236cf39c8000000610458565b3480156104f4575f5ffd5b5061045860145481565b348015610509575f5ffd5b5061045860085481565b34801561051e575f5ffd5b5061036861052d366004611ec4565b610b86565b34801561053d575f5ffd5b50610546601281565b60405160ff9091168152602001610374565b348015610563575f5ffd5b50610458600b5481565b348015610578575f5ffd5b506104586c0433fb24dbe236cf39c800000081565b348015610598575f5ffd5b506103686105a7366004611de8565b600f6020525f908152604090205460ff1681565b3480156105c6575f5ffd5b50610458600c5481565b3480156105db575f5ffd5b50601754610499906001600160a01b031681565b3480156105fa575f5ffd5b506104997f000000000000000000000000000000000000000000000000000000000000000081565b34801561062d575f5ffd5b5060155461036890610100900460ff1681565b34801561064b575f5ffd5b50600d5461036890600160a01b900460ff1681565b34801561066b575f5ffd5b5061045860035481565b348015610680575f5ffd5b5061039c61068f366004611de8565b610c33565b34801561069f575f5ffd5b506103686106ae366004611de8565b600e6020525f908152604090205460ff1681565b3480156106cd575f5ffd5b5061039c610c7f565b3480156106e1575f5ffd5b5061039c610ccf565b3480156106f5575f5ffd5b50610458610704366004611de8565b6001600160a01b03165f9081526020819052604090205490565b348015610729575f5ffd5b5061039c610dc4565b34801561073d575f5ffd5b5061039c610e3b565b348015610751575f5ffd5b5061039c610760366004611e69565b610eb6565b348015610770575f5ffd5b5061045860065481565b348015610785575f5ffd5b5061039c610eeb565b348015610799575f5ffd5b5061045860105481565b3480156107ae575f5ffd5b50600254610499906001600160a01b031681565b3480156107cd575f5ffd5b50600a546107e090610100900460ff1681565b6040516103749190611f16565b3480156107f8575f5ffd5b506103d960405180604001604052806005815260200164454350524f60d81b81525081565b348015610828575f5ffd5b5061039c610f52565b34801561083c575f5ffd5b5061045860125481565b348015610851575f5ffd5b5061039c610860366004611f3c565b610fc6565b348015610870575f5ffd5b5061039c61087f366004611de8565b61108a565b34801561088f575f5ffd5b5061036861089e366004611e3f565b6110d6565b3480156108ae575f5ffd5b5061045860115481565b3480156108c3575f5ffd5b50600d54610499906001600160a01b031681565b3480156108e2575f5ffd5b5061039c6108f1366004611f68565b6110eb565b348015610901575f5ffd5b5061039c610910366004611f3c565b61111a565b348015610920575f5ffd5b5061045860095481565b348015610935575f5ffd5b5061039c610944366004611f7f565b61116e565b348015610954575f5ffd5b50610458610963366004611f68565b6111b2565b348015610973575f5ffd5b5061045860135481565b348015610988575f5ffd5b5061039c610997366004611ec4565b611204565b3480156109a7575f5ffd5b5061045860075481565b3480156109bc575f5ffd5b506104586109cb366004611f9a565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610a00575f5ffd5b5061045860165481565b348015610a15575f5ffd5b5061039c610a24366004611de8565b6112a4565b6002546001600160a01b03163314610a5c5760405162461bcd60e51b8152600401610a5390611fc6565b60405180910390fd5b6040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610a8e573d5f5f3e3d5ffd5b5050565b335f8181526001602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610aec9086815260200190565b60405180910390a35060015b92915050565b6002546001600160a01b03163314610b285760405162461bcd60e51b8152600401610a5390611fc6565b60128290556013819055610b3c8183611ffd565b6014555050565b6002546001600160a01b03163314610b6d5760405162461bcd60e51b8152600401610a5390611fc6565b6003919091556004805460ff1916911515919091179055565b6001600160a01b0383165f908152600160209081526040808320338452909152812054821115610be65760405162461bcd60e51b815260206004820152600b60248201526a139bdd08185b1b1bddd95960aa1b6044820152606401610a53565b6001600160a01b0384165f90815260016020908152604080832033845290915281208054849290610c18908490612010565b90915550610c299050848484611364565b5060019392505050565b6002546001600160a01b03163314610c5d5760405162461bcd60e51b8152600401610a5390611fc6565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b03163314610ca95760405162461bcd60e51b8152600401610a5390611fc6565b600160095f828254610cbb9190611ffd565b9091555050600a805460ff19166001179055565b6002546001600160a01b03163314610cf95760405162461bcd60e51b8152600401610a5390611fc6565b6001600a54610100900460ff166002811115610d1757610d17611f02565b1480610d3e57506002600a54610100900460ff166002811115610d3c57610d3c611f02565b145b610d7d5760405162461bcd60e51b815260206004820152601060248201526f4f6d656761206e6f742061637469766560801b6044820152606401610a53565b6001600b5f828254610d8f9190611ffd565b9091555050600c54600b54610da49190612037565b5f03610dc257600a80546002919061ff001916610100835b02179055505b565b6002546001600160a01b03163314610dee5760405162461bcd60e51b8152600401610a5390611fc6565b600280546001600160a01b031981169091556040516001600160a01b03909116905f9082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6002546001600160a01b03163314610e655760405162461bcd60e51b8152600401610a5390611fc6565b600160055f828254610e779190611ffd565b9091555050600554604051610e99914491602001918252602082015260400190565b60408051601f198184030181529190528051602090910120600655565b6002546001600160a01b03163314610ee05760405162461bcd60e51b8152600401610a5390611fc6565b601091909155601155565b6002546001600160a01b03163314610f155760405162461bcd60e51b8152600401610a5390611fc6565b600d805460ff60a01b1916600160a01b1790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c7905f90a1565b600d546001600160a01b0316331480610f7557506002546001600160a01b031633145b610fb05760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606401610a53565b600a80546001919061ff00191661010083610dbc565b6002546001600160a01b03163314610ff05760405162461bcd60e51b8152600401610a5390611fc6565b6001600160a01b0382165f908152600f60205260409020805460ff19168215801591909117909155611053576040516001600160a01b038316907f8ea6dd825d4c0cbaa8c5f268c15b1df21173aae98f549a108b836de11d4971d8905f90a25050565b6040516001600160a01b038316907ff98765b2b5e26c3266491f2a9f51d7fdae1c9c7ac2016fade7789d1f9e4ff3a0905f90a25050565b6002546001600160a01b031633146110b45760405162461bcd60e51b8152600401610a5390611fc6565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b5f6110e2338484611364565b50600192915050565b6002546001600160a01b031633146111155760405162461bcd60e51b8152600401610a5390611fc6565b601655565b6002546001600160a01b031633146111445760405162461bcd60e51b8152600401610a5390611fc6565b6001600160a01b03919091165f908152600e60205260409020805460ff1916911515919091179055565b6002546001600160a01b031633146111985760405162461bcd60e51b8152600401610a5390611fc6565b601580549115156101000261ff0019909216919091179055565b5f6007545f036111c357505f919050565b60075460065460408051602080820187905242828401526060808301949094528251808303909401845260809091019091528151910120610af89190612037565b6002546001600160a01b0316331461122e5760405162461bcd60e51b8152600401610a5390611fc6565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af115801561127a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129e919061204a565b50505050565b6002546001600160a01b031633146112ce5760405162461bcd60e51b8152600401610a5390611fc6565b6001600160a01b0381166113135760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610a53565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383165f908152600f602052604090205460ff161580156113a457506001600160a01b0382165f908152600f602052604090205460ff16155b6113de5760405162461bcd60e51b815260206004820152600b60248201526a426f74206164647265737360a81b6044820152606401610a53565b6001600160a01b0383165f908152600e602052604090205460ff1615801561141e57506001600160a01b0382165f908152600e602052604090205460ff16155b1561147257600d54600160a01b900460ff166114725760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610a53565b6002546001600160a01b0384811691161480159061149e57506002546001600160a01b03838116911614155b15611672577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b03160361158d5760105481111561151f5760405162461bcd60e51b815260206004820152600e60248201526d08af0c6cacac8e640dac2f040e8f60931b6044820152606401610a53565b6011546001600160a01b0383165f90815260208190526040902054611545908390611ffd565b11156115885760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b6044820152606401610a53565b611672565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031603611609576010548111156115885760405162461bcd60e51b815260206004820152600e60248201526d08af0c6cacac8e640dac2f040e8f60931b6044820152606401610a53565b6011546001600160a01b0383165f9081526020819052604090205461162f908390611ffd565b11156116725760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b6044820152606401610a53565b305f9081526020819052604090205460165481108015908190611698575060155460ff16155b80156116d657507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316856001600160a01b031614155b80156116e95750601554610100900460ff165b156116f7576116f78261196e565b6001600160a01b0385165f908152602081905260408120805485929061171e908490612010565b90915550506001600160a01b0385165f908152600e6020526040902054839060ff1615801561176557506001600160a01b0385165f908152600e602052604090205460ff16155b801561177257505f601454115b15611808575f6064601454866117889190612065565b611792919061207c565b905061179e8186612010565b305f908152602081905260408120805492945083929091906117c1908490611ffd565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505b60045460ff16801561181b57505f600354115b801561183f57506001600160a01b0386165f908152600e602052604090205460ff16155b156118eb575f6064600354836118559190612065565b61185f919061207c565b905080156118e9576118718183612010565b600d546001600160a01b03165f9081526020819052604081208054929450839290919061189f908490611ffd565b9091555050600d546040518281526001600160a01b039091169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0385165f9081526020819052604081208054839290611912908490611ffd565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161195e91815260200190565b60405180910390a3505050505050565b6015805460ff191660011790556014546012545f916002916119909085612065565b61199a919061207c565b6119a4919061207c565b90505f81601454601254856119b99190612065565b6119c3919061207c565b6119cd9190612010565b90505f601454601354856119e19190612065565b6119eb919061207c565b90505f826119f98386611ffd565b611a039190611ffd565b905047611a0f82611ae8565b5f611a1a8247612010565b90505f83611a288884612065565b611a32919061207c565b90505f86118015611a4257505f81115b15611a9357611a518682611c8e565b60408051888152602081018390529081018790527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b478015611ad3576017546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611ad1573d5f5f3e3d5ffd5b505b50506015805460ff1916905550505050505050565b611b13307f000000000000000000000000000000000000000000000000000000000000000083611d71565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b4657611b4661208f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bc2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611be691906120a3565b81600181518110611bf957611bf961208f565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f00000000000000000000000000000000000000000000000000000000000000009091169063791ac94790611c5d9085905f908690309042906004016120be565b5f604051808303815f87803b158015611c74575f5ffd5b505af1158015611c86573d5f5f3e3d5ffd5b505050505050565b611cb9307f000000000000000000000000000000000000000000000000000000000000000084611d71565b60025460405163f305d71960e01b8152306004820152602481018490525f6044820181905260648201526001600160a01b0391821660848201524260a48201527f00000000000000000000000000000000000000000000000000000000000000009091169063f305d71990839060c40160606040518083038185885af1158015611d45573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611d6a919061212e565b5050505050565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0381168114611de5575f5ffd5b50565b5f60208284031215611df8575f5ffd5b8135611e0381611dd1565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215611e50575f5ffd5b8235611e5b81611dd1565b946020939093013593505050565b5f5f60408385031215611e7a575f5ffd5b50508035926020909101359150565b8015158114611de5575f5ffd5b5f5f60408385031215611ea7575f5ffd5b823591506020830135611eb981611e89565b809150509250929050565b5f5f5f60608486031215611ed6575f5ffd5b8335611ee181611dd1565b92506020840135611ef181611dd1565b929592945050506040919091013590565b634e487b7160e01b5f52602160045260245ffd5b6020810160038310611f3657634e487b7160e01b5f52602160045260245ffd5b91905290565b5f5f60408385031215611f4d575f5ffd5b8235611f5881611dd1565b91506020830135611eb981611e89565b5f60208284031215611f78575f5ffd5b5035919050565b5f60208284031215611f8f575f5ffd5b8135611e0381611e89565b5f5f60408385031215611fab575f5ffd5b8235611fb681611dd1565b91506020830135611eb981611dd1565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610af857610af8611fe9565b81810381811115610af857610af8611fe9565b634e487b7160e01b5f52601260045260245ffd5b5f8261204557612045612023565b500690565b5f6020828403121561205a575f5ffd5b8151611e0381611e89565b8082028115828204841417610af857610af8611fe9565b5f8261208a5761208a612023565b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156120b3575f5ffd5b8151611e0381611dd1565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561210e5783516001600160a01b03168352602093840193909201916001016120e7565b50506001600160a01b039590951660608401525050608001529392505050565b5f5f5f60608486031215612140575f5ffd5b505081516020830151604090930151909492935091905056fea2646970667358221220d2c56a558b3f407c5aa6a551c215192c174ff3d69a2a2518cef7417ef640ebd664736f6c634300081e00330000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000061cd3452e8ebae660e256b0cac606f68e89b6632

Deployed Bytecode

0x608060405260043610610344575f3560e01c806370a08231116101bd578063a9059cbb116100f2578063c4a5d9ff11610092578063d844d9391161006d578063d844d9391461099c578063dd62ed3e146109b1578063e2f45605146109f5578063f2fde38b14610a0a575f5ffd5b8063c4a5d9ff14610949578063cc32d17614610968578063cea9d26f1461097d575f5ffd5b8063afa4f3b2116100cd578063afa4f3b2146108d7578063c0246668146108f6578063c0355f2c14610915578063c49b9a801461092a575f5ffd5b8063a9059cbb14610884578063aa4bde28146108a3578063aeb76426146108b8575f5ffd5b80638da5cb5b1161015d578063972873ea11610138578063972873ea1461081d57806398118cb414610831578063996d030914610846578063a8602fea14610865575f5ffd5b80638da5cb5b146107a3578063959c4108146107c257806395d89b41146107ed575f5ffd5b80637c97e93d116101985780637c97e93d146107465780638324d6bf146107655780638a8c523c1461077a5780638c0b5e221461078e575f5ffd5b806370a08231146106ea578063715018a61461071e578063734b814714610732575f5ffd5b8063313ce567116102935780634a74bb02116102335780634c73f3c61161020e5780634c73f3c6146106755780634fbee1931461069457806354c5f3c5146106c25780636226e280146106d6575f5ffd5b80634a74bb02146106225780634ada218b146106405780634b6e1eca14610660575f5ffd5b80633bbac5791161026e5780633bbac5791461058d5780633defb962146105bb5780634626402b146105d057806349bd5a5e146105ef575f5ffd5b8063313ce56714610532578063316fda0f14610558578063324536eb1461056d575f5ffd5b80630c0399a4116102fe57806318160ddd116102d957806318160ddd146104ca5780631df4ccfc146104e9578063212ff20a146104fe57806323b872dd14610513575f5ffd5b80630c0399a4146104435780631694505e1461046657806317c23cf3146104b1575f5ffd5b8063012b8f761461034f57806304824e701461037d57806306fdde031461039e578063095ea7b3146103e65780630b78f9c0146104055780630bcc739214610424575f5ffd5b3661034b57005b5f5ffd5b34801561035a575f5ffd5b50600a546103689060ff1681565b60405190151581526020015b60405180910390f35b348015610388575f5ffd5b5061039c610397366004611de8565b610a29565b005b3480156103a9575f5ffd5b506103d96040518060400160405280601081526020016f1158db1a5c1cd948141c9bdd1bd8dbdb60821b81525081565b6040516103749190611e0a565b3480156103f1575f5ffd5b50610368610400366004611e3f565b610a92565b348015610410575f5ffd5b5061039c61041f366004611e69565b610afe565b34801561042f575f5ffd5b5061039c61043e366004611e96565b610b43565b34801561044e575f5ffd5b5061045860055481565b604051908152602001610374565b348015610471575f5ffd5b506104997f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d81565b6040516001600160a01b039091168152602001610374565b3480156104bc575f5ffd5b506004546103689060ff1681565b3480156104d5575f5ffd5b506c0433fb24dbe236cf39c8000000610458565b3480156104f4575f5ffd5b5061045860145481565b348015610509575f5ffd5b5061045860085481565b34801561051e575f5ffd5b5061036861052d366004611ec4565b610b86565b34801561053d575f5ffd5b50610546601281565b60405160ff9091168152602001610374565b348015610563575f5ffd5b50610458600b5481565b348015610578575f5ffd5b506104586c0433fb24dbe236cf39c800000081565b348015610598575f5ffd5b506103686105a7366004611de8565b600f6020525f908152604090205460ff1681565b3480156105c6575f5ffd5b50610458600c5481565b3480156105db575f5ffd5b50601754610499906001600160a01b031681565b3480156105fa575f5ffd5b506104997f0000000000000000000000004ae23c837c5d7d47b5e8b31344c61906e032324981565b34801561062d575f5ffd5b5060155461036890610100900460ff1681565b34801561064b575f5ffd5b50600d5461036890600160a01b900460ff1681565b34801561066b575f5ffd5b5061045860035481565b348015610680575f5ffd5b5061039c61068f366004611de8565b610c33565b34801561069f575f5ffd5b506103686106ae366004611de8565b600e6020525f908152604090205460ff1681565b3480156106cd575f5ffd5b5061039c610c7f565b3480156106e1575f5ffd5b5061039c610ccf565b3480156106f5575f5ffd5b50610458610704366004611de8565b6001600160a01b03165f9081526020819052604090205490565b348015610729575f5ffd5b5061039c610dc4565b34801561073d575f5ffd5b5061039c610e3b565b348015610751575f5ffd5b5061039c610760366004611e69565b610eb6565b348015610770575f5ffd5b5061045860065481565b348015610785575f5ffd5b5061039c610eeb565b348015610799575f5ffd5b5061045860105481565b3480156107ae575f5ffd5b50600254610499906001600160a01b031681565b3480156107cd575f5ffd5b50600a546107e090610100900460ff1681565b6040516103749190611f16565b3480156107f8575f5ffd5b506103d960405180604001604052806005815260200164454350524f60d81b81525081565b348015610828575f5ffd5b5061039c610f52565b34801561083c575f5ffd5b5061045860125481565b348015610851575f5ffd5b5061039c610860366004611f3c565b610fc6565b348015610870575f5ffd5b5061039c61087f366004611de8565b61108a565b34801561088f575f5ffd5b5061036861089e366004611e3f565b6110d6565b3480156108ae575f5ffd5b5061045860115481565b3480156108c3575f5ffd5b50600d54610499906001600160a01b031681565b3480156108e2575f5ffd5b5061039c6108f1366004611f68565b6110eb565b348015610901575f5ffd5b5061039c610910366004611f3c565b61111a565b348015610920575f5ffd5b5061045860095481565b348015610935575f5ffd5b5061039c610944366004611f7f565b61116e565b348015610954575f5ffd5b50610458610963366004611f68565b6111b2565b348015610973575f5ffd5b5061045860135481565b348015610988575f5ffd5b5061039c610997366004611ec4565b611204565b3480156109a7575f5ffd5b5061045860075481565b3480156109bc575f5ffd5b506104586109cb366004611f9a565b6001600160a01b039182165f90815260016020908152604080832093909416825291909152205490565b348015610a00575f5ffd5b5061045860165481565b348015610a15575f5ffd5b5061039c610a24366004611de8565b6112a4565b6002546001600160a01b03163314610a5c5760405162461bcd60e51b8152600401610a5390611fc6565b60405180910390fd5b6040516001600160a01b038216904780156108fc02915f818181858888f19350505050158015610a8e573d5f5f3e3d5ffd5b5050565b335f8181526001602090815260408083206001600160a01b038716808552925280832085905551919290917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92590610aec9086815260200190565b60405180910390a35060015b92915050565b6002546001600160a01b03163314610b285760405162461bcd60e51b8152600401610a5390611fc6565b60128290556013819055610b3c8183611ffd565b6014555050565b6002546001600160a01b03163314610b6d5760405162461bcd60e51b8152600401610a5390611fc6565b6003919091556004805460ff1916911515919091179055565b6001600160a01b0383165f908152600160209081526040808320338452909152812054821115610be65760405162461bcd60e51b815260206004820152600b60248201526a139bdd08185b1b1bddd95960aa1b6044820152606401610a53565b6001600160a01b0384165f90815260016020908152604080832033845290915281208054849290610c18908490612010565b90915550610c299050848484611364565b5060019392505050565b6002546001600160a01b03163314610c5d5760405162461bcd60e51b8152600401610a5390611fc6565b600d80546001600160a01b0319166001600160a01b0392909216919091179055565b6002546001600160a01b03163314610ca95760405162461bcd60e51b8152600401610a5390611fc6565b600160095f828254610cbb9190611ffd565b9091555050600a805460ff19166001179055565b6002546001600160a01b03163314610cf95760405162461bcd60e51b8152600401610a5390611fc6565b6001600a54610100900460ff166002811115610d1757610d17611f02565b1480610d3e57506002600a54610100900460ff166002811115610d3c57610d3c611f02565b145b610d7d5760405162461bcd60e51b815260206004820152601060248201526f4f6d656761206e6f742061637469766560801b6044820152606401610a53565b6001600b5f828254610d8f9190611ffd565b9091555050600c54600b54610da49190612037565b5f03610dc257600a80546002919061ff001916610100835b02179055505b565b6002546001600160a01b03163314610dee5760405162461bcd60e51b8152600401610a5390611fc6565b600280546001600160a01b031981169091556040516001600160a01b03909116905f9082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a350565b6002546001600160a01b03163314610e655760405162461bcd60e51b8152600401610a5390611fc6565b600160055f828254610e779190611ffd565b9091555050600554604051610e99914491602001918252602082015260400190565b60408051601f198184030181529190528051602090910120600655565b6002546001600160a01b03163314610ee05760405162461bcd60e51b8152600401610a5390611fc6565b601091909155601155565b6002546001600160a01b03163314610f155760405162461bcd60e51b8152600401610a5390611fc6565b600d805460ff60a01b1916600160a01b1790556040517f799663458a5ef2936f7fa0c99b3336c69c25890f82974f04e811e5bb359186c7905f90a1565b600d546001600160a01b0316331480610f7557506002546001600160a01b031633145b610fb05760405162461bcd60e51b815260206004820152600c60248201526b155b985d5d1a1bdc9a5e995960a21b6044820152606401610a53565b600a80546001919061ff00191661010083610dbc565b6002546001600160a01b03163314610ff05760405162461bcd60e51b8152600401610a5390611fc6565b6001600160a01b0382165f908152600f60205260409020805460ff19168215801591909117909155611053576040516001600160a01b038316907f8ea6dd825d4c0cbaa8c5f268c15b1df21173aae98f549a108b836de11d4971d8905f90a25050565b6040516001600160a01b038316907ff98765b2b5e26c3266491f2a9f51d7fdae1c9c7ac2016fade7789d1f9e4ff3a0905f90a25050565b6002546001600160a01b031633146110b45760405162461bcd60e51b8152600401610a5390611fc6565b601780546001600160a01b0319166001600160a01b0392909216919091179055565b5f6110e2338484611364565b50600192915050565b6002546001600160a01b031633146111155760405162461bcd60e51b8152600401610a5390611fc6565b601655565b6002546001600160a01b031633146111445760405162461bcd60e51b8152600401610a5390611fc6565b6001600160a01b03919091165f908152600e60205260409020805460ff1916911515919091179055565b6002546001600160a01b031633146111985760405162461bcd60e51b8152600401610a5390611fc6565b601580549115156101000261ff0019909216919091179055565b5f6007545f036111c357505f919050565b60075460065460408051602080820187905242828401526060808301949094528251808303909401845260809091019091528151910120610af89190612037565b6002546001600160a01b0316331461122e5760405162461bcd60e51b8152600401610a5390611fc6565b60405163a9059cbb60e01b81526001600160a01b0383811660048301526024820183905284169063a9059cbb906044016020604051808303815f875af115801561127a573d5f5f3e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061129e919061204a565b50505050565b6002546001600160a01b031633146112ce5760405162461bcd60e51b8152600401610a5390611fc6565b6001600160a01b0381166113135760405162461bcd60e51b815260206004820152600c60248201526b5a65726f206164647265737360a01b6044820152606401610a53565b600280546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6001600160a01b0383165f908152600f602052604090205460ff161580156113a457506001600160a01b0382165f908152600f602052604090205460ff16155b6113de5760405162461bcd60e51b815260206004820152600b60248201526a426f74206164647265737360a81b6044820152606401610a53565b6001600160a01b0383165f908152600e602052604090205460ff1615801561141e57506001600160a01b0382165f908152600e602052604090205460ff16155b1561147257600d54600160a01b900460ff166114725760405162461bcd60e51b8152602060048201526013602482015272151c98591a5b99c81b9bdd08195b98589b1959606a1b6044820152606401610a53565b6002546001600160a01b0384811691161480159061149e57506002546001600160a01b03838116911614155b15611672577f0000000000000000000000004ae23c837c5d7d47b5e8b31344c61906e03232496001600160a01b0316836001600160a01b03160361158d5760105481111561151f5760405162461bcd60e51b815260206004820152600e60248201526d08af0c6cacac8e640dac2f040e8f60931b6044820152606401610a53565b6011546001600160a01b0383165f90815260208190526040902054611545908390611ffd565b11156115885760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b6044820152606401610a53565b611672565b7f0000000000000000000000004ae23c837c5d7d47b5e8b31344c61906e03232496001600160a01b0316826001600160a01b031603611609576010548111156115885760405162461bcd60e51b815260206004820152600e60248201526d08af0c6cacac8e640dac2f040e8f60931b6044820152606401610a53565b6011546001600160a01b0383165f9081526020819052604090205461162f908390611ffd565b11156116725760405162461bcd60e51b8152602060048201526012602482015271115e18d959591cc81b585e081dd85b1b195d60721b6044820152606401610a53565b305f9081526020819052604090205460165481108015908190611698575060155460ff16155b80156116d657507f0000000000000000000000004ae23c837c5d7d47b5e8b31344c61906e03232496001600160a01b0316856001600160a01b031614155b80156116e95750601554610100900460ff165b156116f7576116f78261196e565b6001600160a01b0385165f908152602081905260408120805485929061171e908490612010565b90915550506001600160a01b0385165f908152600e6020526040902054839060ff1615801561176557506001600160a01b0385165f908152600e602052604090205460ff16155b801561177257505f601454115b15611808575f6064601454866117889190612065565b611792919061207c565b905061179e8186612010565b305f908152602081905260408120805492945083929091906117c1908490611ffd565b909155505060405181815230906001600160a01b038916907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a3505b60045460ff16801561181b57505f600354115b801561183f57506001600160a01b0386165f908152600e602052604090205460ff16155b156118eb575f6064600354836118559190612065565b61185f919061207c565b905080156118e9576118718183612010565b600d546001600160a01b03165f9081526020819052604081208054929450839290919061189f908490611ffd565b9091555050600d546040518281526001600160a01b039091169030907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9060200160405180910390a35b505b6001600160a01b0385165f9081526020819052604081208054839290611912908490611ffd565b92505081905550846001600160a01b0316866001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161195e91815260200190565b60405180910390a3505050505050565b6015805460ff191660011790556014546012545f916002916119909085612065565b61199a919061207c565b6119a4919061207c565b90505f81601454601254856119b99190612065565b6119c3919061207c565b6119cd9190612010565b90505f601454601354856119e19190612065565b6119eb919061207c565b90505f826119f98386611ffd565b611a039190611ffd565b905047611a0f82611ae8565b5f611a1a8247612010565b90505f83611a288884612065565b611a32919061207c565b90505f86118015611a4257505f81115b15611a9357611a518682611c8e565b60408051888152602081018390529081018790527f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5619060600160405180910390a15b478015611ad3576017546040516001600160a01b039091169082156108fc029083905f818181858888f19350505050158015611ad1573d5f5f3e3d5ffd5b505b50506015805460ff1916905550505050505050565b611b13307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d83611d71565b6040805160028082526060820183525f9260208301908036833701905050905030815f81518110611b4657611b4661208f565b60200260200101906001600160a01b031690816001600160a01b0316815250507f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d6001600160a01b031663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015611bc2573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611be691906120a3565b81600181518110611bf957611bf961208f565b6001600160a01b03928316602091820292909201015260405163791ac94760e01b81527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063791ac94790611c5d9085905f908690309042906004016120be565b5f604051808303815f87803b158015611c74575f5ffd5b505af1158015611c86573d5f5f3e3d5ffd5b505050505050565b611cb9307f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d84611d71565b60025460405163f305d71960e01b8152306004820152602481018490525f6044820181905260648201526001600160a01b0391821660848201524260a48201527f0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d9091169063f305d71990839060c40160606040518083038185885af1158015611d45573d5f5f3e3d5ffd5b50505050506040513d601f19601f82011682018060405250810190611d6a919061212e565b5050505050565b6001600160a01b038381165f8181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6001600160a01b0381168114611de5575f5ffd5b50565b5f60208284031215611df8575f5ffd5b8135611e0381611dd1565b9392505050565b602081525f82518060208401528060208501604085015e5f604082850101526040601f19601f83011684010191505092915050565b5f5f60408385031215611e50575f5ffd5b8235611e5b81611dd1565b946020939093013593505050565b5f5f60408385031215611e7a575f5ffd5b50508035926020909101359150565b8015158114611de5575f5ffd5b5f5f60408385031215611ea7575f5ffd5b823591506020830135611eb981611e89565b809150509250929050565b5f5f5f60608486031215611ed6575f5ffd5b8335611ee181611dd1565b92506020840135611ef181611dd1565b929592945050506040919091013590565b634e487b7160e01b5f52602160045260245ffd5b6020810160038310611f3657634e487b7160e01b5f52602160045260245ffd5b91905290565b5f5f60408385031215611f4d575f5ffd5b8235611f5881611dd1565b91506020830135611eb981611e89565b5f60208284031215611f78575f5ffd5b5035919050565b5f60208284031215611f8f575f5ffd5b8135611e0381611e89565b5f5f60408385031215611fab575f5ffd5b8235611fb681611dd1565b91506020830135611eb981611dd1565b6020808252600990820152682737ba1037bbb732b960b91b604082015260600190565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610af857610af8611fe9565b81810381811115610af857610af8611fe9565b634e487b7160e01b5f52601260045260245ffd5b5f8261204557612045612023565b500690565b5f6020828403121561205a575f5ffd5b8151611e0381611e89565b8082028115828204841417610af857610af8611fe9565b5f8261208a5761208a612023565b500490565b634e487b7160e01b5f52603260045260245ffd5b5f602082840312156120b3575f5ffd5b8151611e0381611dd1565b5f60a0820187835286602084015260a0604084015280865180835260c0850191506020880192505f5b8181101561210e5783516001600160a01b03168352602093840193909201916001016120e7565b50506001600160a01b039590951660608401525050608001529392505050565b5f5f5f60608486031215612140575f5ffd5b505081516020830151604090930151909492935091905056fea2646970667358221220d2c56a558b3f407c5aa6a551c215192c174ff3d69a2a2518cef7417ef640ebd664736f6c634300081e0033

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

0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d00000000000000000000000061cd3452e8ebae660e256b0cac606f68e89b6632

-----Decoded View---------------
Arg [0] : routerAddress (address): 0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D
Arg [1] : _treasury (address): 0x61CD3452e8Ebae660E256B0Cac606F68E89B6632

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 0000000000000000000000007a250d5630b4cf539739df2c5dacb4c659f2488d
Arg [1] : 00000000000000000000000061cd3452e8ebae660e256b0cac606f68e89b6632


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