ETH Price: $3,302.67 (-3.20%)
Gas: 16 Gwei

Contract

0x7e4c69c07dC75B9E0C51680E701bdf43965Dc96F
 

Overview

ETH Balance

8.999520229312630596 ETH

Eth Value

$29,722.40 (@ $3,302.67/ETH)

Token Holdings

Transaction Hash
Method
Block
From
To
Value
Transfer202064192024-06-30 18:53:472 days ago1719773627IN
0x7e4c69c0...3965Dc96F
0 ETH0.000137963.96470047
Sell199189652024-05-21 14:46:2343 days ago1716302783IN
0x7e4c69c0...3965Dc96F
0 ETH0.0016282431.77679293
Sell197885702024-05-03 9:02:5961 days ago1714726979IN
0x7e4c69c0...3965Dc96F
0 ETH0.000340616.64902228
Sell197885682024-05-03 9:02:3561 days ago1714726955IN
0x7e4c69c0...3965Dc96F
0 ETH0.000345936.75281491
Sell197885652024-05-03 9:01:5961 days ago1714726919IN
0x7e4c69c0...3965Dc96F
0 ETH0.000348936.81135255
Sell197885582024-05-03 9:00:3561 days ago1714726835IN
0x7e4c69c0...3965Dc96F
0 ETH0.000331726.47547712
Sell197885512024-05-03 8:59:1161 days ago1714726751IN
0x7e4c69c0...3965Dc96F
0 ETH0.00032446.332534
Buy197885192024-05-03 8:52:4761 days ago1714726367IN
0x7e4c69c0...3965Dc96F
0.06 ETH0.00491019111
Buy197885192024-05-03 8:52:4761 days ago1714726367IN
0x7e4c69c0...3965Dc96F
0.06 ETH0.00491019111
Buy197885192024-05-03 8:52:4761 days ago1714726367IN
0x7e4c69c0...3965Dc96F
0.06 ETH0.00491019111
Buy197885192024-05-03 8:52:4761 days ago1714726367IN
0x7e4c69c0...3965Dc96F
0.06 ETH0.00491019111
Buy197885192024-05-03 8:52:4761 days ago1714726367IN
0x7e4c69c0...3965Dc96F
0.06 ETH0.00491019111
Transfer196515972024-04-14 5:09:3580 days ago1713071375IN
0x7e4c69c0...3965Dc96F
0 ETH0.000632512.22231203
Sell196126962024-04-08 18:21:1185 days ago1712600471IN
0x7e4c69c0...3965Dc96F
0 ETH0.0022176443.17854174
Transfer195832352024-04-04 15:17:1189 days ago1712243831IN
0x7e4c69c0...3965Dc96F
0 ETH0.0021141440.57620172
Sell195777222024-04-03 20:46:4790 days ago1712177207IN
0x7e4c69c0...3965Dc96F
0 ETH0.0015767430.71412356
Sell195673302024-04-02 9:49:2392 days ago1712051363IN
0x7e4c69c0...3965Dc96F
0 ETH0.0013102625.52930702
Sell195613832024-04-01 13:50:1193 days ago1711979411IN
0x7e4c69c0...3965Dc96F
0 ETH0.0010892321.22768695
Sell195484082024-03-30 18:01:1194 days ago1711821671IN
0x7e4c69c0...3965Dc96F
0 ETH0.0012099923.58111122
Sell195438442024-03-30 2:35:4795 days ago1711766147IN
0x7e4c69c0...3965Dc96F
0 ETH0.000953318.56995899
Sell195438372024-03-30 2:34:2395 days ago1711766063IN
0x7e4c69c0...3965Dc96F
0 ETH0.0010538820.53403618
Sell195427382024-03-29 22:52:3595 days ago1711752755IN
0x7e4c69c0...3965Dc96F
0 ETH0.0012493624.32555574
Sell195427362024-03-29 22:52:1195 days ago1711752731IN
0x7e4c69c0...3965Dc96F
0 ETH0.0011394622.19097991
Sell195335112024-03-28 15:34:5996 days ago1711640099IN
0x7e4c69c0...3965Dc96F
0 ETH0.002644351.48561529
Sell195335072024-03-28 15:34:1196 days ago1711640051IN
0x7e4c69c0...3965Dc96F
0 ETH0.0034959751.06589386
View all transactions

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To Value
199189652024-05-21 14:46:2343 days ago1716302783
0x7e4c69c0...3965Dc96F
1.14956579 ETH
197885702024-05-03 9:02:5961 days ago1714726979
0x7e4c69c0...3965Dc96F
0.05762655 ETH
197885682024-05-03 9:02:3561 days ago1714726955
0x7e4c69c0...3965Dc96F
0.05828469 ETH
197885652024-05-03 9:01:5961 days ago1714726919
0x7e4c69c0...3965Dc96F
0.05895418 ETH
197885582024-05-03 9:00:3561 days ago1714726835
0x7e4c69c0...3965Dc96F
0.06035905 ETH
197885512024-05-03 8:59:1161 days ago1714726751
0x7e4c69c0...3965Dc96F
0.05964104 ETH
196515972024-04-14 5:09:3580 days ago1713071375
0x7e4c69c0...3965Dc96F
0.00174842 ETH
196126962024-04-08 18:21:1185 days ago1712600471
0x7e4c69c0...3965Dc96F
0.13970608 ETH
195777222024-04-03 20:46:4790 days ago1712177207
0x7e4c69c0...3965Dc96F
0.0560645 ETH
195673302024-04-02 9:49:2392 days ago1712051363
0x7e4c69c0...3965Dc96F
0.00312585 ETH
195613832024-04-01 13:50:1193 days ago1711979411
0x7e4c69c0...3965Dc96F
0.0203104 ETH
195484082024-03-30 18:01:1194 days ago1711821671
0x7e4c69c0...3965Dc96F
0.06067709 ETH
195438442024-03-30 2:35:4795 days ago1711766147
0x7e4c69c0...3965Dc96F
0.00676348 ETH
195438372024-03-30 2:34:2395 days ago1711766063
0x7e4c69c0...3965Dc96F
0.00680416 ETH
195427382024-03-29 22:52:3595 days ago1711752755
0x7e4c69c0...3965Dc96F
0.12843101 ETH
195427362024-03-29 22:52:1195 days ago1711752731
0x7e4c69c0...3965Dc96F
0.13402257 ETH
195335112024-03-28 15:34:5996 days ago1711640099
0x7e4c69c0...3965Dc96F
0.10568296 ETH
195335072024-03-28 15:34:1196 days ago1711640051
0x7e4c69c0...3965Dc96F
0.15007842 ETH
195275562024-03-27 19:07:1197 days ago1711566431
0x7e4c69c0...3965Dc96F
0.17224231 ETH
195274952024-03-27 18:53:5997 days ago1711565639
0x7e4c69c0...3965Dc96F
0.15922985 ETH
195263532024-03-27 14:50:4798 days ago1711551047
0x7e4c69c0...3965Dc96F
0.00399729 ETH
195231652024-03-27 3:56:4798 days ago1711511807
0x7e4c69c0...3965Dc96F
0.03214006 ETH
195215712024-03-26 22:30:4798 days ago1711492247
0x7e4c69c0...3965Dc96F
0.1840904 ETH
195205492024-03-26 19:02:2398 days ago1711479743
0x7e4c69c0...3965Dc96F
0.10742709 ETH
195126072024-03-25 16:15:5999 days ago1711383359
0x7e4c69c0...3965Dc96F
0.0379796 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Relief

Compiler Version
v0.8.20+commit.a1b79de6

Optimization Enabled:
Yes with 200 runs

Other Settings:
paris EvmVersion
File 1 of 1 : Relief.sol
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;

// Website: https://relief.fi
// Twitter: https://twitter.com/relief_erc314a
// Telegram: https://t.me/relief_erc314a

/**
 * @title ERC314a
 * @dev Implementation of the ERC314a interface.
 * ERC314 is a derivative of ERC20 which aims to integrate a liquidity pool on the token in order to enable native swaps, notably to reduce gas consumption.
 * ERC413a is an improved version of ERC314, with the of a MEV Protection and other features.
 */

interface IERC314a {
    event Transfer(address indexed from, address indexed to, uint256 value);
    event AddLiquidity(uint32 _blockToUnlockLiquidity, uint256 value);
    event RemoveLiquidity(uint256 value);
    event Swap(
        address indexed sender,
        uint amount0In,
        uint amount1In,
        uint amount0Out,
        uint amount1Out
    );
}

contract Relief is IERC314a {
    mapping(address account => uint256) private _balances;

    uint256 private _totalSupply;
    uint256 public _maxWallet;
    uint32 public blockToUnlockLiquidity;

    string private _name;
    string private _symbol;

    address public owner;
    address public liquidityProvider;

    bool public tradingEnable;
    bool public liquidityAdded;
    bool public maxWalletEnable;

    uint256 presaleAmount;

    bool public presaleEnable = false;

    mapping(address account => uint32) private lastTransaction;

    modifier onlyOwner() {
        require(msg.sender == owner, "Ownable: caller is not the owner");
        _;
    }

    modifier onlyLiquidityProvider() {
        require(
            msg.sender == liquidityProvider,
            "You are not the liquidity provider"
        );
        _;
    }

    /**
     * @dev Sets the values for {name}, {symbol} and {totalSupply}.
     *
     * All two of these values are immutable: they can only be set once during
     * construction.
     */
    constructor(
        string memory name_,
        string memory symbol_,
        uint256 totalSupply_,
        uint256 tokensToLiq_,
        uint256 tokensToPresale_,
        uint256 maxWallet_
    ) {
        _name = name_;
        _symbol = symbol_;
        _totalSupply = totalSupply_;
        _maxWallet = maxWallet_;
        owner = tx.origin;
        tradingEnable = false;
        maxWalletEnable = true;
        presaleAmount = tokensToPresale_;
        _balances[address(this)] = tokensToLiq_;
        _balances[tx.origin] = totalSupply_ - tokensToLiq_ - tokensToPresale_;
        liquidityAdded = false;
    }

    /**
     * @dev Sends the presale amount to the investors
     */
    function presale(address[] memory _investors) public onlyOwner {
        require(presaleEnable == false, "Presale already enabled");
        uint256 _amount = presaleAmount / _investors.length;
        for (uint256 i = 0; i < _investors.length; i++) {
            _balances[_investors[i]] += _amount;
        }
        presaleEnable = true;
    }

    /**
     * @dev Returns the name of the token.
     */
    function name() public view virtual returns (string memory) {
        return _name;
    }

    /**
     * @dev Returns the symbol of the token, usually a shorter version of the
     * name.
     */
    function symbol() public view virtual returns (string memory) {
        return _symbol;
    }

    /**
     * @dev Returns the number of decimals used to get its user representation.
     */

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

    /**
     * @dev See {IERC20-totalSupply}.
     */
    function totalSupply() public view virtual returns (uint256) {
        return _totalSupply;
    }

    /**
     * @dev See {IERC20-balanceOf}.
     */
    function balanceOf(address account) public view virtual returns (uint256) {
        return _balances[account];
    }

    /**
     * @dev See {IERC20-transfer}.
     *
     * Requirements:
     *
     * - the caller must have a balance of at least `value`.
     * - if the receiver is the contract, the caller must send the amount of tokens to sell
     */
    function transfer(address to, uint256 value) public virtual returns (bool) {
        // sell or transfer
        if (to == address(this)) {
            sell(value, 0);
        } else {
            _transfer(msg.sender, to, value);
        }
        return true;
    }

    /**
     * @dev Transfers a `value` amount of tokens from `from` to `to`, or alternatively burns if `to` is the zero address.
     * All customizations to transfers and burns should be done by overriding this function.
     * This function includes MEV protection, which prevents the same address from making two transactions in the same block.(lastTransaction)
     * Emits a {Transfer} event.
     */
    function _transfer(
        address from,
        address to,
        uint256 value
    ) internal virtual {
        require(
            lastTransaction[msg.sender] != block.number,
            "You can't make two transactions in the same block"
        );

        lastTransaction[msg.sender] = uint32(block.number);

        require(
            _balances[from] >= value,
            "ERC20: transfer amount exceeds balance"
        );

        unchecked {
            _balances[from] = _balances[from] - value;
        }

        if (to == address(0)) {
            unchecked {
                _totalSupply -= value;
            }
        } else {
            unchecked {
                _balances[to] += value;
            }
        }

        emit Transfer(from, to, value);
    }

    /**
     * @dev Returns the amount of ETH and tokens in the contract, used for trading.
     */
    function getReserves() public view returns (uint256, uint256) {
        return (address(this).balance, _balances[address(this)]);
    }

    /**
     * @dev Enables or disables trading.
     * @param _tradingEnable: true to enable trading, false to disable trading.
     * onlyOwner modifier
     */
    function enableTrading(bool _tradingEnable) external onlyOwner {
        tradingEnable = _tradingEnable;
    }

    /**
     * @dev Enables or disables the max wallet.
     * @param _maxWalletEnable: true to enable max wallet, false to disable max wallet.
     * onlyOwner modifier
     */
    function enableMaxWallet(bool _maxWalletEnable) external onlyOwner {
        maxWalletEnable = _maxWalletEnable;
    }

    /**
     * @dev Sets the max wallet.
     * @param _maxWallet_: the new max wallet.
     * onlyOwner modifier
     */
    function setMaxWallet(uint256 _maxWallet_) external onlyOwner {
        _maxWallet = _maxWallet_;
    }

    /**
     * @dev Transfers the ownership of the contract to zero address
     * onlyOwner modifier
     */
    function renounceOwnership() external onlyOwner {
        owner = address(0);
    }

    /**
     * @dev Adds liquidity to the contract.
     * @param _blockToUnlockLiquidity: the block number to unlock the liquidity.
     * value: the amount of ETH to add to the liquidity.
     * onlyOwner modifier
     */
    function addLiquidity(
        uint32 _blockToUnlockLiquidity
    ) public payable onlyOwner {
        require(liquidityAdded == false, "Liquidity already added");

        liquidityAdded = true;

        require(msg.value > 0, "No ETH sent");
        require(block.number < _blockToUnlockLiquidity, "Block number too low");

        blockToUnlockLiquidity = _blockToUnlockLiquidity;
        liquidityProvider = msg.sender;

        emit AddLiquidity(_blockToUnlockLiquidity, msg.value);
    }

    function extendLock(uint32 _newBlockToUnlock) public onlyOwner{
        require(_newBlockToUnlock > blockToUnlockLiquidity, "Dev would never do that, nice try kid");
        blockToUnlockLiquidity = _newBlockToUnlock;
    }

    /**
     * @dev Removes liquidity from the contract.
     * onlyLiquidityProvider modifier
     */
    function removeLiquidity() public onlyLiquidityProvider {
        require(block.number > blockToUnlockLiquidity, "Liquidity locked");

        tradingEnable = false;

        payable(msg.sender).transfer(address(this).balance);

        emit RemoveLiquidity(address(this).balance);
    }

    /**
     * @dev Extends the liquidity lock, only if the new block number is higher than the current one.
     * @param _blockToUnlockLiquidity: the new block number to unlock the liquidity.
     * onlyLiquidityProvider modifier
     */
    function extendLiquidityLock(
        uint32 _blockToUnlockLiquidity
    ) public onlyLiquidityProvider {
        require(
            blockToUnlockLiquidity < _blockToUnlockLiquidity,
            "You can't shorten duration"
        );

        blockToUnlockLiquidity = _blockToUnlockLiquidity;
    }

    /**
     * @dev Estimates the amount of tokens or ETH to receive when buying or selling.
     * @param value: the amount of ETH or tokens to swap.
     * @param _buy: true if buying, false if selling.
     */
    function getAmountOut(
        uint256 value,
        bool _buy
    ) public view returns (uint256) {
        (uint256 reserveETH, uint256 reserveToken) = getReserves();

        if (_buy) {
            return (value * reserveToken) / (reserveETH + value);
        } else {
            return (value * reserveETH) / (reserveToken + value);
        }
    }

    /**
     * @dev Buys tokens with ETH.
     * internal function
     */
    function buy(uint256 _minAmount) public payable {
        require(tradingEnable, "Trading not enable");

        uint256 token_amount = getAmountOut(msg.value, true);

        if (maxWalletEnable) {
            require(
                token_amount + _balances[msg.sender] <= _maxWallet,
                "Max wallet exceeded"
            );
        }

        _transfer(address(this), msg.sender, token_amount);

        require(token_amount >= _minAmount, "Slippage too high");

        emit Swap(msg.sender, msg.value, 0, 0, token_amount);
    }

    /**
     * @dev Sells tokens for ETH.
     * internal function
     */
    function sell(uint256 _sellAmount, uint256 _minReceived) public payable {
        require(tradingEnable, "Trading not enable");

        uint256 ethAmount = getAmountOut(_sellAmount, false);

        require(ethAmount > 0, "Sell amount too low");
        require(
            address(this).balance >= ethAmount,
            "Insufficient ETH in reserves"
        );

        _transfer(msg.sender, address(this), _sellAmount);
        require(ethAmount >= _minReceived, "Slippage too high");
        payable(msg.sender).transfer(ethAmount);

        emit Swap(msg.sender, 0, _sellAmount, ethAmount, 0);
    }

    receive() external payable {
        buy(0);
    }
}

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

Contract Security Audit

Contract ABI

[{"inputs":[{"internalType":"string","name":"name_","type":"string"},{"internalType":"string","name":"symbol_","type":"string"},{"internalType":"uint256","name":"totalSupply_","type":"uint256"},{"internalType":"uint256","name":"tokensToLiq_","type":"uint256"},{"internalType":"uint256","name":"tokensToPresale_","type":"uint256"},{"internalType":"uint256","name":"maxWallet_","type":"uint256"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"},{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"AddLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"uint256","name":"value","type":"uint256"}],"name":"RemoveLiquidity","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"sender","type":"address"},{"indexed":false,"internalType":"uint256","name":"amount0In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1In","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount0Out","type":"uint256"},{"indexed":false,"internalType":"uint256","name":"amount1Out","type":"uint256"}],"name":"Swap","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":"_maxWallet","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"}],"name":"addLiquidity","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"name":"balanceOf","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"blockToUnlockLiquidity","outputs":[{"internalType":"uint32","name":"","type":"uint32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"uint256","name":"_minAmount","type":"uint256"}],"name":"buy","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[],"name":"decimals","outputs":[{"internalType":"uint8","name":"","type":"uint8"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bool","name":"_maxWalletEnable","type":"bool"}],"name":"enableMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bool","name":"_tradingEnable","type":"bool"}],"name":"enableTrading","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_blockToUnlockLiquidity","type":"uint32"}],"name":"extendLiquidityLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint32","name":"_newBlockToUnlock","type":"uint32"}],"name":"extendLock","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"value","type":"uint256"},{"internalType":"bool","name":"_buy","type":"bool"}],"name":"getAmountOut","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getReserves","outputs":[{"internalType":"uint256","name":"","type":"uint256"},{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityAdded","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"liquidityProvider","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"maxWalletEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"name","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address[]","name":"_investors","type":"address[]"}],"name":"presale","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"presaleEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"removeLiquidity","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_sellAmount","type":"uint256"},{"internalType":"uint256","name":"_minReceived","type":"uint256"}],"name":"sell","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"uint256","name":"_maxWallet_","type":"uint256"}],"name":"setMaxWallet","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"symbol","outputs":[{"internalType":"string","name":"","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"totalSupply","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tradingEnable","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"to","type":"address"},{"internalType":"uint256","name":"value","type":"uint256"}],"name":"transfer","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"nonpayable","type":"function"},{"stateMutability":"payable","type":"receive"}]

60806040526009805460ff191690553480156200001b57600080fd5b5060405162001892380380620018928339810160408190526200003e91620001ac565b60046200004c8782620002ca565b5060056200005b8682620002ca565b5060018490556002819055600680546001600160a01b031916321790556007805462ff00ff60a01b1916600160b01b179055600882905530600090815260208190526040902083905581620000b1848662000396565b620000bd919062000396565b3260009081526020819052604090205550506007805460ff60a81b1916905550620003be92505050565b634e487b7160e01b600052604160045260246000fd5b600082601f8301126200010f57600080fd5b81516001600160401b03808211156200012c576200012c620000e7565b604051601f8301601f19908116603f01168101908282118183101715620001575762000157620000e7565b816040528381526020925086838588010111156200017457600080fd5b600091505b8382101562000198578582018301518183018401529082019062000179565b600093810190920192909252949350505050565b60008060008060008060c08789031215620001c657600080fd5b86516001600160401b0380821115620001de57600080fd5b620001ec8a838b01620000fd565b975060208901519150808211156200020357600080fd5b506200021289828a01620000fd565b95505060408701519350606087015192506080870151915060a087015190509295509295509295565b600181811c908216806200025057607f821691505b6020821081036200027157634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002c557600081815260208120601f850160051c81016020861015620002a05750805b601f850160051c820191505b81811015620002c157828155600101620002ac565b5050505b505050565b81516001600160401b03811115620002e657620002e6620000e7565b620002fe81620002f784546200023b565b8462000277565b602080601f8311600181146200033657600084156200031d5750858301515b600019600386901b1c1916600185901b178555620002c1565b600085815260208120601f198616915b82811015620003675788860151825594840194600190910190840162000346565b5085821015620003865787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b81810381811115620003b857634e487b7160e01b600052601160045260246000fd5b92915050565b6114c480620003ce6000396000f3fe6080604052600436106101a05760003560e01c806367b9a286116100ec5780639a540abf1161008a578063d79875eb11610064578063d79875eb146104c9578063d9443923146104dc578063d96a094a146104fd578063f275f64b1461051057600080fd5b80639a540abf14610476578063a9059cbb14610489578063ae19139e146104a957600080fd5b80637ec18cf6116100c65780637ec18cf61461041157806382247ec01461042b5780638da5cb5b1461044157806395d89b411461046157600080fd5b806367b9a286146103b157806370a08231146103c6578063715018a6146103fc57600080fd5b806318160ddd11610159578063313ce56711610133578063313ce5671461031d5780635b8bec55146103395780635d0044ca1461037157806365029d821461039157600080fd5b806318160ddd146102c857806327de2e85146102dd5780632f44b9ac146102fd57600080fd5b806304c0c476146101b657806306fdde03146101ed5780630902f1ac1461020f57806311106ee21461024857806312a54b62146102765780631693e8d4146102a757600080fd5b366101b1576101af6000610530565b005b600080fd5b3480156101c257600080fd5b506003546101d39063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156101f957600080fd5b506102026106a3565b6040516101e49190611103565b34801561021b57600080fd5b50610233306000908152602081905260409020544791565b604080519283526020830191909152016101e4565b34801561025457600080fd5b50610268610263366004611166565b610735565b6040519081526020016101e4565b34801561028257600080fd5b5060075461029790600160b01b900460ff1681565b60405190151581526020016101e4565b3480156102b357600080fd5b5060075461029790600160a01b900460ff1681565b3480156102d457600080fd5b50600154610268565b3480156102e957600080fd5b506101af6102f8366004611192565b61079c565b34801561030957600080fd5b506101af610318366004611192565b61083c565b34801561032957600080fd5b50604051601281526020016101e4565b34801561034557600080fd5b50600754610359906001600160a01b031681565b6040516001600160a01b0390911681526020016101e4565b34801561037d57600080fd5b506101af61038c3660046111bf565b6108cf565b34801561039d57600080fd5b506101af6103ac366004611205565b6108fe565b3480156103bd57600080fd5b506101af610a11565b3480156103d257600080fd5b506102686103e13660046112ca565b6001600160a01b031660009081526020819052604090205490565b34801561040857600080fd5b506101af610af4565b34801561041d57600080fd5b506009546102979060ff1681565b34801561043757600080fd5b5061026860025481565b34801561044d57600080fd5b50600654610359906001600160a01b031681565b34801561046d57600080fd5b50610202610b30565b6101af610484366004611192565b610b3f565b34801561049557600080fd5b506102976104a43660046112e5565b610cc3565b3480156104b557600080fd5b506101af6104c436600461130f565b610cf9565b6101af6104d736600461132a565b610d41565b3480156104e857600080fd5b5060075461029790600160a81b900460ff1681565b6101af61050b3660046111bf565b610530565b34801561051c57600080fd5b506101af61052b36600461130f565b610f00565b600754600160a01b900460ff166105835760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064015b60405180910390fd5b6000610590346001610735565b600754909150600160b01b900460ff161561060657600254336000908152602081905260409020546105c29083611362565b11156106065760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161057a565b610611303383610f48565b818110156106555760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b604482015260640161057a565b604080513481526000602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a25050565b6060600480546106b290611375565b80601f01602080910402602001604051908101604052809291908181526020018280546106de90611375565b801561072b5780601f106107005761010080835404028352916020019161072b565b820191906000526020600020905b81548152906001019060200180831161070e57829003601f168201915b5050505050905090565b6000806000610751306000908152602081905260409020544791565b915091508315610782576107658583611362565b61076f82876113af565b61077991906113c6565b92505050610796565b61078c8582611362565b61076f83876113af565b92915050565b6007546001600160a01b031633146107c65760405162461bcd60e51b815260040161057a906113e8565b60035463ffffffff8083169116106108205760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e000000000000604482015260640161057a565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b031633146108665760405162461bcd60e51b815260040161057a9061142a565b60035463ffffffff908116908216116108205760405162461bcd60e51b815260206004820152602560248201527f44657620776f756c64206e6576657220646f20746861742c206e6963652074726044820152641e481ada5960da1b606482015260840161057a565b6006546001600160a01b031633146108f95760405162461bcd60e51b815260040161057a9061142a565b600255565b6006546001600160a01b031633146109285760405162461bcd60e51b815260040161057a9061142a565b60095460ff161561097b5760405162461bcd60e51b815260206004820152601760248201527f50726573616c6520616c726561647920656e61626c6564000000000000000000604482015260640161057a565b6000815160085461098c91906113c6565b905060005b82518110156109ff57816000808584815181106109b0576109b061145f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109e79190611362565b909155508190506109f781611475565b915050610991565b50506009805460ff1916600117905550565b6007546001600160a01b03163314610a3b5760405162461bcd60e51b815260040161057a906113e8565b60035463ffffffff164311610a855760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161057a565b6007805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015610abe573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6006546001600160a01b03163314610b1e5760405162461bcd60e51b815260040161057a9061142a565b600680546001600160a01b0319169055565b6060600580546106b290611375565b6006546001600160a01b03163314610b695760405162461bcd60e51b815260040161057a9061142a565b600754600160a81b900460ff1615610bc35760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161057a565b6007805460ff60a81b1916600160a81b17905534610c115760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161057a565b8063ffffffff164310610c5d5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b604482015260640161057a565b6003805463ffffffff831663ffffffff199091168117909155600780546001600160a01b03191633179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b6000306001600160a01b03841603610ce557610ce0826000610d41565b610cf0565b610cf0338484610f48565b50600192915050565b6006546001600160a01b03163314610d235760405162461bcd60e51b815260040161057a9061142a565b60078054911515600160b01b0260ff60b01b19909216919091179055565b600754600160a01b900460ff16610d8f5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161057a565b6000610d9c836000610735565b905060008111610de45760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161057a565b80471015610e345760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161057a565b610e3f333085610f48565b81811015610e835760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b604482015260640161057a565b604051339082156108fc029083906000818181858888f19350505050158015610eb0573d6000803e3d6000fd5b50604080516000808252602082018690528183018490526060820152905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a2505050565b6006546001600160a01b03163314610f2a5760405162461bcd60e51b815260040161057a9061142a565b60078054911515600160a01b0260ff60a01b19909216919091179055565b336000908152600a60205260409020544363ffffffff90911603610fc85760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161057a565b336000908152600a60209081526040808320805463ffffffff19164363ffffffff161790556001600160a01b03861683529082905290205481111561105e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161057a565b6001600160a01b038084166000908152602081905260409020805483900390558216611092576001805482900390556110b1565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110f691815260200190565b60405180910390a3505050565b600060208083528351808285015260005b8181101561113057858101830151858201604001528201611114565b506000604082860101526040601f19601f8301168501019250505092915050565b8035801515811461116157600080fd5b919050565b6000806040838503121561117957600080fd5b8235915061118960208401611151565b90509250929050565b6000602082840312156111a457600080fd5b813563ffffffff811681146111b857600080fd5b9392505050565b6000602082840312156111d157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b038116811461116157600080fd5b6000602080838503121561121857600080fd5b823567ffffffffffffffff8082111561123057600080fd5b818501915085601f83011261124457600080fd5b813581811115611256576112566111d8565b8060051b604051601f19603f8301168101818110858211171561127b5761127b6111d8565b60405291825284820192508381018501918883111561129957600080fd5b938501935b828510156112be576112af856111ee565b8452938501939285019261129e565b98975050505050505050565b6000602082840312156112dc57600080fd5b6111b8826111ee565b600080604083850312156112f857600080fd5b611301836111ee565b946020939093013593505050565b60006020828403121561132157600080fd5b6111b882611151565b6000806040838503121561133d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b808201808211156107965761079661134c565b600181811c9082168061138957607f821691505b6020821081036113a957634e487b7160e01b600052602260045260246000fd5b50919050565b80820281158282048414176107965761079661134c565b6000826113e357634e487b7160e01b600052601260045260246000fd5b500490565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016114875761148761134c565b506001019056fea264697066735822122018c691fa47ce1190d5c7b34c42362add9f0d42d182bd8502c3c21ca360a1818764736f6c6343000814003300000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000000000000000000000005f4a8c8375d155400000000000000000000000000000000000000000000000005f4a8c8375d1554000000000000000000000000000000000000000000000000000878678326eac900000000000000000000000000000000000000000000000000000000000000000000652454c4945460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000652454c4945460000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x6080604052600436106101a05760003560e01c806367b9a286116100ec5780639a540abf1161008a578063d79875eb11610064578063d79875eb146104c9578063d9443923146104dc578063d96a094a146104fd578063f275f64b1461051057600080fd5b80639a540abf14610476578063a9059cbb14610489578063ae19139e146104a957600080fd5b80637ec18cf6116100c65780637ec18cf61461041157806382247ec01461042b5780638da5cb5b1461044157806395d89b411461046157600080fd5b806367b9a286146103b157806370a08231146103c6578063715018a6146103fc57600080fd5b806318160ddd11610159578063313ce56711610133578063313ce5671461031d5780635b8bec55146103395780635d0044ca1461037157806365029d821461039157600080fd5b806318160ddd146102c857806327de2e85146102dd5780632f44b9ac146102fd57600080fd5b806304c0c476146101b657806306fdde03146101ed5780630902f1ac1461020f57806311106ee21461024857806312a54b62146102765780631693e8d4146102a757600080fd5b366101b1576101af6000610530565b005b600080fd5b3480156101c257600080fd5b506003546101d39063ffffffff1681565b60405163ffffffff90911681526020015b60405180910390f35b3480156101f957600080fd5b506102026106a3565b6040516101e49190611103565b34801561021b57600080fd5b50610233306000908152602081905260409020544791565b604080519283526020830191909152016101e4565b34801561025457600080fd5b50610268610263366004611166565b610735565b6040519081526020016101e4565b34801561028257600080fd5b5060075461029790600160b01b900460ff1681565b60405190151581526020016101e4565b3480156102b357600080fd5b5060075461029790600160a01b900460ff1681565b3480156102d457600080fd5b50600154610268565b3480156102e957600080fd5b506101af6102f8366004611192565b61079c565b34801561030957600080fd5b506101af610318366004611192565b61083c565b34801561032957600080fd5b50604051601281526020016101e4565b34801561034557600080fd5b50600754610359906001600160a01b031681565b6040516001600160a01b0390911681526020016101e4565b34801561037d57600080fd5b506101af61038c3660046111bf565b6108cf565b34801561039d57600080fd5b506101af6103ac366004611205565b6108fe565b3480156103bd57600080fd5b506101af610a11565b3480156103d257600080fd5b506102686103e13660046112ca565b6001600160a01b031660009081526020819052604090205490565b34801561040857600080fd5b506101af610af4565b34801561041d57600080fd5b506009546102979060ff1681565b34801561043757600080fd5b5061026860025481565b34801561044d57600080fd5b50600654610359906001600160a01b031681565b34801561046d57600080fd5b50610202610b30565b6101af610484366004611192565b610b3f565b34801561049557600080fd5b506102976104a43660046112e5565b610cc3565b3480156104b557600080fd5b506101af6104c436600461130f565b610cf9565b6101af6104d736600461132a565b610d41565b3480156104e857600080fd5b5060075461029790600160a81b900460ff1681565b6101af61050b3660046111bf565b610530565b34801561051c57600080fd5b506101af61052b36600461130f565b610f00565b600754600160a01b900460ff166105835760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b60448201526064015b60405180910390fd5b6000610590346001610735565b600754909150600160b01b900460ff161561060657600254336000908152602081905260409020546105c29083611362565b11156106065760405162461bcd60e51b815260206004820152601360248201527213585e081dd85b1b195d08195e18d959591959606a1b604482015260640161057a565b610611303383610f48565b818110156106555760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b604482015260640161057a565b604080513481526000602082018190528183015260608101839052905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a25050565b6060600480546106b290611375565b80601f01602080910402602001604051908101604052809291908181526020018280546106de90611375565b801561072b5780601f106107005761010080835404028352916020019161072b565b820191906000526020600020905b81548152906001019060200180831161070e57829003601f168201915b5050505050905090565b6000806000610751306000908152602081905260409020544791565b915091508315610782576107658583611362565b61076f82876113af565b61077991906113c6565b92505050610796565b61078c8582611362565b61076f83876113af565b92915050565b6007546001600160a01b031633146107c65760405162461bcd60e51b815260040161057a906113e8565b60035463ffffffff8083169116106108205760405162461bcd60e51b815260206004820152601a60248201527f596f752063616e27742073686f7274656e206475726174696f6e000000000000604482015260640161057a565b6003805463ffffffff191663ffffffff92909216919091179055565b6006546001600160a01b031633146108665760405162461bcd60e51b815260040161057a9061142a565b60035463ffffffff908116908216116108205760405162461bcd60e51b815260206004820152602560248201527f44657620776f756c64206e6576657220646f20746861742c206e6963652074726044820152641e481ada5960da1b606482015260840161057a565b6006546001600160a01b031633146108f95760405162461bcd60e51b815260040161057a9061142a565b600255565b6006546001600160a01b031633146109285760405162461bcd60e51b815260040161057a9061142a565b60095460ff161561097b5760405162461bcd60e51b815260206004820152601760248201527f50726573616c6520616c726561647920656e61626c6564000000000000000000604482015260640161057a565b6000815160085461098c91906113c6565b905060005b82518110156109ff57816000808584815181106109b0576109b061145f565b60200260200101516001600160a01b03166001600160a01b0316815260200190815260200160002060008282546109e79190611362565b909155508190506109f781611475565b915050610991565b50506009805460ff1916600117905550565b6007546001600160a01b03163314610a3b5760405162461bcd60e51b815260040161057a906113e8565b60035463ffffffff164311610a855760405162461bcd60e51b815260206004820152601060248201526f131a5c5d5a591a5d1e481b1bd8dad95960821b604482015260640161057a565b6007805460ff60a01b1916905560405133904780156108fc02916000818181858888f19350505050158015610abe573d6000803e3d6000fd5b506040514781527f9a5a8a32afd899e7f95003c6e21c9fab2d50e11992439d14472229180c60c7aa9060200160405180910390a1565b6006546001600160a01b03163314610b1e5760405162461bcd60e51b815260040161057a9061142a565b600680546001600160a01b0319169055565b6060600580546106b290611375565b6006546001600160a01b03163314610b695760405162461bcd60e51b815260040161057a9061142a565b600754600160a81b900460ff1615610bc35760405162461bcd60e51b815260206004820152601760248201527f4c697175696469747920616c7265616479206164646564000000000000000000604482015260640161057a565b6007805460ff60a81b1916600160a81b17905534610c115760405162461bcd60e51b815260206004820152600b60248201526a139bc8115512081cd95b9d60aa1b604482015260640161057a565b8063ffffffff164310610c5d5760405162461bcd60e51b8152602060048201526014602482015273426c6f636b206e756d62657220746f6f206c6f7760601b604482015260640161057a565b6003805463ffffffff831663ffffffff199091168117909155600780546001600160a01b03191633179055604080519182523460208301527f0c6c8102f3ac634c5fb327ba1a5d5c18030294d9f5cc309afa9e8a9020a77175910160405180910390a150565b6000306001600160a01b03841603610ce557610ce0826000610d41565b610cf0565b610cf0338484610f48565b50600192915050565b6006546001600160a01b03163314610d235760405162461bcd60e51b815260040161057a9061142a565b60078054911515600160b01b0260ff60b01b19909216919091179055565b600754600160a01b900460ff16610d8f5760405162461bcd60e51b815260206004820152601260248201527154726164696e67206e6f7420656e61626c6560701b604482015260640161057a565b6000610d9c836000610735565b905060008111610de45760405162461bcd60e51b815260206004820152601360248201527253656c6c20616d6f756e7420746f6f206c6f7760681b604482015260640161057a565b80471015610e345760405162461bcd60e51b815260206004820152601c60248201527f496e73756666696369656e742045544820696e20726573657276657300000000604482015260640161057a565b610e3f333085610f48565b81811015610e835760405162461bcd60e51b81526020600482015260116024820152700a6d8d2e0e0c2ceca40e8dede40d0d2ced607b1b604482015260640161057a565b604051339082156108fc029083906000818181858888f19350505050158015610eb0573d6000803e3d6000fd5b50604080516000808252602082018690528183018490526060820152905133917f49926bbebe8474393f434dfa4f78694c0923efa07d19f2284518bfabd06eb737919081900360800190a2505050565b6006546001600160a01b03163314610f2a5760405162461bcd60e51b815260040161057a9061142a565b60078054911515600160a01b0260ff60a01b19909216919091179055565b336000908152600a60205260409020544363ffffffff90911603610fc85760405162461bcd60e51b815260206004820152603160248201527f596f752063616e2774206d616b652074776f207472616e73616374696f6e7320604482015270696e207468652073616d6520626c6f636b60781b606482015260840161057a565b336000908152600a60209081526040808320805463ffffffff19164363ffffffff161790556001600160a01b03861683529082905290205481111561105e5760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b606482015260840161057a565b6001600160a01b038084166000908152602081905260409020805483900390558216611092576001805482900390556110b1565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516110f691815260200190565b60405180910390a3505050565b600060208083528351808285015260005b8181101561113057858101830151858201604001528201611114565b506000604082860101526040601f19601f8301168501019250505092915050565b8035801515811461116157600080fd5b919050565b6000806040838503121561117957600080fd5b8235915061118960208401611151565b90509250929050565b6000602082840312156111a457600080fd5b813563ffffffff811681146111b857600080fd5b9392505050565b6000602082840312156111d157600080fd5b5035919050565b634e487b7160e01b600052604160045260246000fd5b80356001600160a01b038116811461116157600080fd5b6000602080838503121561121857600080fd5b823567ffffffffffffffff8082111561123057600080fd5b818501915085601f83011261124457600080fd5b813581811115611256576112566111d8565b8060051b604051601f19603f8301168101818110858211171561127b5761127b6111d8565b60405291825284820192508381018501918883111561129957600080fd5b938501935b828510156112be576112af856111ee565b8452938501939285019261129e565b98975050505050505050565b6000602082840312156112dc57600080fd5b6111b8826111ee565b600080604083850312156112f857600080fd5b611301836111ee565b946020939093013593505050565b60006020828403121561132157600080fd5b6111b882611151565b6000806040838503121561133d57600080fd5b50508035926020909101359150565b634e487b7160e01b600052601160045260246000fd5b808201808211156107965761079661134c565b600181811c9082168061138957607f821691505b6020821081036113a957634e487b7160e01b600052602260045260246000fd5b50919050565b80820281158282048414176107965761079661134c565b6000826113e357634e487b7160e01b600052601260045260246000fd5b500490565b60208082526022908201527f596f7520617265206e6f7420746865206c69717569646974792070726f76696460408201526132b960f11b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b634e487b7160e01b600052603260045260246000fd5b6000600182016114875761148761134c565b506001019056fea264697066735822122018c691fa47ce1190d5c7b34c42362add9f0d42d182bd8502c3c21ca360a1818764736f6c63430008140033

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

00000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000d3c21bcecceda1000000000000000000000000000000000000000000000000005f4a8c8375d155400000000000000000000000000000000000000000000000005f4a8c8375d1554000000000000000000000000000000000000000000000000000878678326eac900000000000000000000000000000000000000000000000000000000000000000000652454c4945460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000652454c4945460000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : name_ (string): RELIEF
Arg [1] : symbol_ (string): RELIEF
Arg [2] : totalSupply_ (uint256): 1000000000000000000000000
Arg [3] : tokensToLiq_ (uint256): 450000000000000000000000
Arg [4] : tokensToPresale_ (uint256): 450000000000000000000000
Arg [5] : maxWallet_ (uint256): 2500000000000000000000

-----Encoded View---------------
10 Constructor Arguments found :
Arg [0] : 00000000000000000000000000000000000000000000000000000000000000c0
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000100
Arg [2] : 00000000000000000000000000000000000000000000d3c21bcecceda1000000
Arg [3] : 000000000000000000000000000000000000000000005f4a8c8375d155400000
Arg [4] : 000000000000000000000000000000000000000000005f4a8c8375d155400000
Arg [5] : 0000000000000000000000000000000000000000000000878678326eac900000
Arg [6] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [7] : 52454c4945460000000000000000000000000000000000000000000000000000
Arg [8] : 0000000000000000000000000000000000000000000000000000000000000006
Arg [9] : 52454c4945460000000000000000000000000000000000000000000000000000


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.