ETH Price: $3,338.88 (-1.14%)

Token

CLever Token (CLEV)
 

Overview

Max Total Supply

1,212,893.556296120324522534 CLEV

Holders

588 ( -0.170%)

Market

Price

$14.72 @ 0.004409 ETH (-2.05%)

Onchain Market Cap

$17,853,793.15

Circulating Supply Market Cap

$1,638,077.00

Other Info

Token Contract (WITH 18 Decimals)

Balance
0.003829205403080491 CLEV

Value
$0.06 ( ~1.79700720544957E-05 Eth) [0.0000%]
0x000000fee13a103a10d593b9ae06b3e05f2e7e1c
Loading...
Loading
Loading...
Loading
Loading...
Loading

Click here to update the token information / general information
# Exchange Pair Price  24H Volume % Volume

Contract Source Code Verified (Exact Match)

Contract Name:
Vyper_contract

Compiler Version
vyper:0.3.1

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

Contract Source Code (Vyper language format)

# @version 0.3.1
"""
@title Curve DAO Token
@author Curve Finance
@license MIT
@notice ERC20 with piecewise-linear mining supply.
@dev Based on the ERC-20 token standard as defined at
     https://eips.ethereum.org/EIPS/eip-20
"""

# Original idea and credit:
# Curve Finance's ERC20CRV
# https://github.com/curvefi/curve-dao-contracts/blob/master/contracts/ERC20CRV.vy
# This contract is an almost-identical fork of Curve's contract
# The initial supply change to 1_035_000
# The initial rate change to 0.003059994926433282 per second
# The rate reduction coefficient change to 1/0.9 * 1e18, lead to 10% decay per year

from vyper.interfaces import ERC20

implements: ERC20


event Transfer:
    _from: indexed(address)
    _to: indexed(address)
    _value: uint256

event Approval:
    _owner: indexed(address)
    _spender: indexed(address)
    _value: uint256

event UpdateMiningParameters:
    time: uint256
    rate: uint256
    supply: uint256

event SetMinter:
    minter: address

event SetAdmin:
    admin: address


name: public(String[64])
symbol: public(String[32])
decimals: public(uint256)

balanceOf: public(HashMap[address, uint256])
allowances: HashMap[address, HashMap[address, uint256]]
total_supply: uint256

minter: public(address)
admin: public(address)

# General constants
YEAR: constant(uint256) = 86400 * 365

# Allocation:
# =========
# * Community Contributors - 4%
# * Reserve - 5%
# * IDO - 5%
# * Airdrop - 5%
# * Aladdin DAO - 30%
# * Initial Liquidity - 1%
# * Beta Bonus - 0.25%
# * Stragetic Partnerships - 0.75%
# * StakeDAO Partnership - 0.75%
# == 51.75% ==
# left for inflation: 48.25%

# Supply parameters
INITIAL_SUPPLY: constant(uint256) = 1_035_000
INITIAL_RATE: constant(uint256) = 96_500 * 10 ** 18 / YEAR
RATE_REDUCTION_TIME: constant(uint256) = YEAR
RATE_REDUCTION_COEFFICIENT: constant(uint256) = 1111111111111111111  # 1/0.9 * 1e18
RATE_DENOMINATOR: constant(uint256) = 10 ** 18
INFLATION_DELAY: constant(uint256) = 86400

# Supply variables
mining_epoch: public(int128)
start_epoch_time: public(uint256)
rate: public(uint256)

start_epoch_supply: uint256


@external
def __init__(_name: String[64], _symbol: String[32], _decimals: uint256):
    """
    @notice Contract constructor
    @param _name Token full name
    @param _symbol Token symbol
    @param _decimals Number of decimals for token
    """
    init_supply: uint256 = INITIAL_SUPPLY * 10 ** _decimals
    self.name = _name
    self.symbol = _symbol
    self.decimals = _decimals
    self.balanceOf[msg.sender] = init_supply
    self.total_supply = init_supply
    self.admin = msg.sender
    log Transfer(ZERO_ADDRESS, msg.sender, init_supply)

    self.start_epoch_time = block.timestamp + INFLATION_DELAY - RATE_REDUCTION_TIME
    self.mining_epoch = -1
    self.rate = 0
    self.start_epoch_supply = init_supply


@internal
def _update_mining_parameters():
    """
    @dev Update mining rate and supply at the start of the epoch
         Any modifying mining call must also call this
    """
    _rate: uint256 = self.rate
    _start_epoch_supply: uint256 = self.start_epoch_supply

    self.start_epoch_time += RATE_REDUCTION_TIME
    self.mining_epoch += 1

    if _rate == 0:
        _rate = INITIAL_RATE
    else:
        _start_epoch_supply += _rate * RATE_REDUCTION_TIME
        self.start_epoch_supply = _start_epoch_supply
        _rate = _rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT

    self.rate = _rate

    log UpdateMiningParameters(block.timestamp, _rate, _start_epoch_supply)


@external
def update_mining_parameters():
    """
    @notice Update mining rate and supply at the start of the epoch
    @dev Callable by any address, but only once per epoch
         Total supply becomes slightly larger if this function is called late
    """
    assert block.timestamp >= self.start_epoch_time + RATE_REDUCTION_TIME  # dev: too soon!
    self._update_mining_parameters()


@external
def start_epoch_time_write() -> uint256:
    """
    @notice Get timestamp of the current mining epoch start
            while simultaneously updating mining parameters
    @return Timestamp of the epoch
    """
    _start_epoch_time: uint256 = self.start_epoch_time
    if block.timestamp >= _start_epoch_time + RATE_REDUCTION_TIME:
        self._update_mining_parameters()
        return self.start_epoch_time
    else:
        return _start_epoch_time


@external
def future_epoch_time_write() -> uint256:
    """
    @notice Get timestamp of the next mining epoch start
            while simultaneously updating mining parameters
    @return Timestamp of the next epoch
    """
    _start_epoch_time: uint256 = self.start_epoch_time
    if block.timestamp >= _start_epoch_time + RATE_REDUCTION_TIME:
        self._update_mining_parameters()
        return self.start_epoch_time + RATE_REDUCTION_TIME
    else:
        return _start_epoch_time + RATE_REDUCTION_TIME


@internal
@view
def _available_supply() -> uint256:
    return self.start_epoch_supply + (block.timestamp - self.start_epoch_time) * self.rate


@external
@view
def available_supply() -> uint256:
    """
    @notice Current number of tokens in existence (claimed or unclaimed)
    """
    return self._available_supply()


@external
@view
def mintable_in_timeframe(start: uint256, end: uint256) -> uint256:
    """
    @notice How much supply is mintable from start timestamp till end timestamp
    @param start Start of the time interval (timestamp)
    @param end End of the time interval (timestamp)
    @return Tokens mintable from `start` till `end`
    """
    assert start <= end  # dev: start > end
    to_mint: uint256 = 0
    current_epoch_time: uint256 = self.start_epoch_time
    current_rate: uint256 = self.rate

    # Special case if end is in future (not yet minted) epoch
    if end > current_epoch_time + RATE_REDUCTION_TIME:
        current_epoch_time += RATE_REDUCTION_TIME
        current_rate = current_rate * RATE_DENOMINATOR / RATE_REDUCTION_COEFFICIENT

    assert end <= current_epoch_time + RATE_REDUCTION_TIME  # dev: too far in future

    for i in range(999):  # Curve will not work in 1000 years. Darn!
        if end >= current_epoch_time:
            current_end: uint256 = end
            if current_end > current_epoch_time + RATE_REDUCTION_TIME:
                current_end = current_epoch_time + RATE_REDUCTION_TIME

            current_start: uint256 = start
            if current_start >= current_epoch_time + RATE_REDUCTION_TIME:
                break  # We should never get here but what if...
            elif current_start < current_epoch_time:
                current_start = current_epoch_time

            to_mint += current_rate * (current_end - current_start)

            if start >= current_epoch_time:
                break

        current_epoch_time -= RATE_REDUCTION_TIME
        current_rate = current_rate * RATE_REDUCTION_COEFFICIENT / RATE_DENOMINATOR  # double-division with rounding made rate a bit less => good
        assert current_rate <= INITIAL_RATE  # This should never happen

    return to_mint


@external
def set_minter(_minter: address):
    """
    @notice Set the minter address
    @dev Only callable once, when minter has not yet been set
    @param _minter Address of the minter
    """
    assert msg.sender == self.admin  # dev: admin only
    assert self.minter == ZERO_ADDRESS  # dev: can set the minter only once, at creation
    self.minter = _minter
    log SetMinter(_minter)


@external
def set_admin(_admin: address):
    """
    @notice Set the new admin.
    @dev After all is set up, admin only can change the token name
    @param _admin New admin address
    """
    assert msg.sender == self.admin  # dev: admin only
    self.admin = _admin
    log SetAdmin(_admin)


@external
@view
def totalSupply() -> uint256:
    """
    @notice Total number of tokens in existence.
    """
    return self.total_supply


@external
@view
def allowance(_owner : address, _spender : address) -> uint256:
    """
    @notice Check the amount of tokens that an owner allowed to a spender
    @param _owner The address which owns the funds
    @param _spender The address which will spend the funds
    @return uint256 specifying the amount of tokens still available for the spender
    """
    return self.allowances[_owner][_spender]


@external
def transfer(_to : address, _value : uint256) -> bool:
    """
    @notice Transfer `_value` tokens from `msg.sender` to `_to`
    @dev Vyper does not allow underflows, so the subtraction in
         this function will revert on an insufficient balance
    @param _to The address to transfer to
    @param _value The amount to be transferred
    @return bool success
    """
    assert _to != ZERO_ADDRESS  # dev: transfers to 0x0 are not allowed
    self.balanceOf[msg.sender] -= _value
    self.balanceOf[_to] += _value
    log Transfer(msg.sender, _to, _value)
    return True


@external
def transferFrom(_from : address, _to : address, _value : uint256) -> bool:
    """
     @notice Transfer `_value` tokens from `_from` to `_to`
     @param _from address The address which you want to send tokens from
     @param _to address The address which you want to transfer to
     @param _value uint256 the amount of tokens to be transferred
     @return bool success
    """
    assert _to != ZERO_ADDRESS  # dev: transfers to 0x0 are not allowed
    # NOTE: vyper does not allow underflows
    #       so the following subtraction would revert on insufficient balance
    self.balanceOf[_from] -= _value
    self.balanceOf[_to] += _value
    self.allowances[_from][msg.sender] -= _value
    log Transfer(_from, _to, _value)
    return True


@external
def approve(_spender : address, _value : uint256) -> bool:
    """
    @notice Approve `_spender` to transfer `_value` tokens on behalf of `msg.sender`
    @dev Approval may only be from zero -> nonzero or from nonzero -> zero in order
        to mitigate the potential race condition described here:
        https://github.com/ethereum/EIPs/issues/20#issuecomment-263524729
    @param _spender The address which will spend the funds
    @param _value The amount of tokens to be spent
    @return bool success
    """
    assert _value == 0 or self.allowances[msg.sender][_spender] == 0
    self.allowances[msg.sender][_spender] = _value
    log Approval(msg.sender, _spender, _value)
    return True


@external
def mint(_to: address, _value: uint256) -> bool:
    """
    @notice Mint `_value` tokens and assign them to `_to`
    @dev Emits a Transfer event originating from 0x00
    @param _to The account that will receive the created tokens
    @param _value The amount that will be created
    @return bool success
    """
    assert msg.sender == self.minter  # dev: minter only
    assert _to != ZERO_ADDRESS  # dev: zero address

    if block.timestamp >= self.start_epoch_time + RATE_REDUCTION_TIME:
        self._update_mining_parameters()

    _total_supply: uint256 = self.total_supply + _value
    assert _total_supply <= self._available_supply()  # dev: exceeds allowable mint amount
    self.total_supply = _total_supply

    self.balanceOf[_to] += _value
    log Transfer(ZERO_ADDRESS, _to, _value)

    return True


@external
def burn(_value: uint256) -> bool:
    """
    @notice Burn `_value` tokens belonging to `msg.sender`
    @dev Emits a Transfer event with a destination of 0x00
    @param _value The amount that will be burned
    @return bool success
    """
    self.balanceOf[msg.sender] -= _value
    self.total_supply -= _value

    log Transfer(msg.sender, ZERO_ADDRESS, _value)
    return True


@external
def set_name(_name: String[64], _symbol: String[32]):
    """
    @notice Change the token name and symbol to `_name` and `_symbol`
    @dev Only callable by the admin account
    @param _name New token name
    @param _symbol New token symbol
    """
    assert msg.sender == self.admin, "Only admin is allowed to change name"
    self.name = _name
    self.symbol = _symbol

Contract Security Audit

Contract ABI

[{"name":"Transfer","inputs":[{"name":"_from","type":"address","indexed":true},{"name":"_to","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Approval","inputs":[{"name":"_owner","type":"address","indexed":true},{"name":"_spender","type":"address","indexed":true},{"name":"_value","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"UpdateMiningParameters","inputs":[{"name":"time","type":"uint256","indexed":false},{"name":"rate","type":"uint256","indexed":false},{"name":"supply","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetMinter","inputs":[{"name":"minter","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetAdmin","inputs":[{"name":"admin","type":"address","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"},{"name":"_decimals","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"update_mining_parameters","inputs":[],"outputs":[],"gas":154609},{"stateMutability":"nonpayable","type":"function","name":"start_epoch_time_write","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":156818},{"stateMutability":"nonpayable","type":"function","name":"future_epoch_time_write","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":157007},{"stateMutability":"view","type":"function","name":"available_supply","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":7587},{"stateMutability":"view","type":"function","name":"mintable_in_timeframe","inputs":[{"name":"start","type":"uint256"},{"name":"end","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}],"gas":1972778},{"stateMutability":"nonpayable","type":"function","name":"set_minter","inputs":[{"name":"_minter","type":"address"}],"outputs":[],"gas":41786},{"stateMutability":"nonpayable","type":"function","name":"set_admin","inputs":[{"name":"_admin","type":"address"}],"outputs":[],"gas":39625},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2670},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3232},{"stateMutability":"nonpayable","type":"function","name":"transfer","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":79002},{"stateMutability":"nonpayable","type":"function","name":"transferFrom","inputs":[{"name":"_from","type":"address"},{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":116690},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":41855},{"stateMutability":"nonpayable","type":"function","name":"mint","inputs":[{"name":"_to","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":242750},{"stateMutability":"nonpayable","type":"function","name":"burn","inputs":[{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}],"gas":78749},{"stateMutability":"nonpayable","type":"function","name":"set_name","inputs":[{"name":"_name","type":"string"},{"name":"_symbol","type":"string"}],"outputs":[],"gas":189008},{"stateMutability":"view","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":13199},{"stateMutability":"view","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}],"gas":10958},{"stateMutability":"view","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":2970},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}],"gas":3266},{"stateMutability":"view","type":"function","name":"minter","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":3030},{"stateMutability":"view","type":"function","name":"admin","inputs":[],"outputs":[{"name":"","type":"address"}],"gas":3060},{"stateMutability":"view","type":"function","name":"mining_epoch","inputs":[],"outputs":[{"name":"","type":"int128"}],"gas":3090},{"stateMutability":"view","type":"function","name":"start_epoch_time","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":3120},{"stateMutability":"view","type":"function","name":"rate","inputs":[],"outputs":[{"name":"","type":"uint256"}],"gas":3150}]

6020610f98608039608051610f9801604060208260803960805111610f935780602081608039608051602001808260e03950505060206020610f9801608039608051610f9801602060208260803960805111610f935780602081608039608051602001808261014039505050620fcaf8604e60206040610f98016080396080511015610f935760206040610f9801608039608051600a0a808202821582848304141715610f9357905090506101805260e0806000602082510160c060006003818352015b8260c05160200211156100d5576100f4565b60c05160200285015160c05185015581516001018083528114156100c3575b505050505050610140806003602082510160c060006002818352015b8260c051602002111561012257610141565b60c05160200285015160c0518501558151600101808352811415610110575b50505050505060206040610f98016080396080516005556101805160063360a0526080526040608020556101805160085533600a553360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef610180516101a05260206101a0a342620151808181830110610f9357808201905090506301e13380808210610f935780820390509050600c557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600b556000600d5561018051600e55610f7b56600436101561000d57610c17565b60046000601c3760005134610d6e5763d43b40fa811861004f57600c546301e133808181830110610d6e57808201905090504210610d6e5761004d610c1d565b005b63adc4cf4381186100b257600c5461018052610180516301e133808181830110610d6e578082019050905042101561009757610180516101a05260206101a06100b0566100b0565b61009f610c1d565b600c546101a05260206101a06100b0565bf35b63b26b238e811861013f57600c5461018052610180516301e133808181830110610d6e578082019050905042101561010f57610180516301e133808181830110610d6e57808201905090506101a05260206101a061013d5661013d565b610117610c1d565b600c546301e133808181830110610d6e57808201905090506101a05260206101a061013d565bf35b6324f92a2581186101625761015460e0610d2d565b60e051610100526020610100f35b63d725a9ca81186103a25760243560043511610d6e57600060e052600c5461010052600d5461012052610100516301e133808181830110610d6e578082019050905060243511156102005761010080516301e133808181830110610d6e578082019050905081525061012051670de0b6b3a7640000808202821582848304141715610d6e5790509050670f6b75ab2bc471c780820490509050610120525b610100516301e133808181830110610d6e578082019050905060243511610d6e5761014060006103e7818352015b61010051602435106103215760243561016052610100516301e133808181830110610d6e578082019050905061016051111561028257610100516301e133808181830110610d6e5780820190509050610160525b60043561018052610100516301e133808181830110610d6e578082019050905061018051101561039257610100516101805110156102cb5761010051610180526102cb56610392565b60e08051610120516101605161018051808210610d6e5780820390509050808202821582848304141715610d6e57905090508181830110610d6e5780820190509050815250610100516004351061032157610392565b61010080516301e13380808210610d6e578082039050905081525061012051670f6b75ab2bc471c7808202821582848304141715610d6e5790509050670de0b6b3a76400008082049050905061012052660adf0c969ac4026101205111610d6e57815160010180835281141561022e575b505060e051610140526020610140f35b631652e9fc8118610401576004358060a01c610d6e5760e052600a543318610d6e57600954610d6e5760e0516009557fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c60e051610100526020610100a1005b63e9333fab8118610459576004358060a01c610d6e5760e052600a543318610d6e5760e051600a557f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a160e051610100526020610100a1005b6318160ddd81186104705760085460e052602060e0f35b63dd62ed3e81186104c3576004358060a01c610d6e5760e0526024358060a01c610d6e5761010052600760e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b63a9059cbb8118610571576004358060a01c610d6e5760e052600060e05114610d6e5760063360a05260805260406080208054602435808210610d6e5780820390509050815550600660e05160a052608052604060802080546024358181830110610d6e578082019050905081555060e051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610100526020610100a36001610100526020610100f35b6323b872dd8118610667576004358060a01c610d6e5760e0526024358060a01c610d6e576101005260006101005114610d6e57600660e05160a05260805260406080208054604435808210610d6e578082039050905081555060066101005160a052608052604060802080546044358181830110610d6e5780820190509050815550600760e05160a05260805260406080203360a05260805260406080208054604435808210610d6e57808203905090508155506101005160e0517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef604435610120526020610120a36001610120526020610120f35b63095ea7b38118610712576004358060a01c610d6e5760e052602435156106ab5760073360a052608052604060802060e05160a052608052604060802054156106ae565b60015b15610d6e5760243560073360a052608052604060802060e05160a05260805260406080205560e051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602435610100526020610100a36001610100526020610100f35b6340c10f198118610809576004358060a01c610d6e57610180526009543318610d6e5760006101805114610d6e57600c546301e133808181830110610d6e5780820190509050421061076657610766610c1d565b6008546024358181830110610d6e57808201905090506101a05261078b6101c0610d2d565b6101c0516101a05111610d6e576101a05160085560066101805160a052608052604060802080546024358181830110610d6e57808201905090508155506101805160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6024356101c05260206101c0a360016101c05260206101c0f35b6342966c68811861088a5760063360a05260805260406080208054600435808210610d6e578082039050905081555060088054600435808210610d6e57808203905090508155506000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60043560e052602060e0a3600160e052602060e0f35b63e1430e068118610a10576004356004016040813511610d6e57808035602001808260e0375050506024356004016020813511610d6e57808035602001808261014037505050600a543314610975576024610180527f4f6e6c792061646d696e20697320616c6c6f77656420746f206368616e6765206101a0527f6e616d65000000000000000000000000000000000000000000000000000000006101c0526101805061018051806101a001818260206001820306601f82010390500336823750506308c379a0610140526020610160526101805160206001820306601f820103905060440161015cfd5b60e0806000602082510160c060006003818352015b8260c051602002111561099c576109bb565b60c05160200285015160c051850155815160010180835281141561098a575b505050505050610140806003602082510160c060006002818352015b8260c05160200211156109e957610a08565b60c05160200285015160c05185015581516001018083528114156109d7575b505050505050005b6306fdde038118610ab35760e08060208082528083018060008082602082540160c060006003818352015b8260c0516020021115610a4d57610a6c565b60c05185015460c0516020028501528151600101808352811415610a3b575b5050505050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f820103905090509050810190509050905060e0f35b6395d89b418118610b565760e08060208082528083018060038082602082540160c060006002818352015b8260c0516020021115610af057610b0f565b60c05185015460c0516020028501528151600101808352811415610ade575b5050505050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f820103905090509050810190509050905060e0f35b63313ce5678118610b6d5760055460e052602060e0f35b6370a082318118610ba2576004358060a01c610d6e5760e052600660e05160a052608052604060802054610100526020610100f35b63075461728118610bb95760095460e052602060e0f35b63f851a4408118610bd057600a5460e052602060e0f35b63f9a40bf68118610be757600b5460e052602060e0f35b637375be268118610bfe57600c5460e052602060e0f35b632c4e722e8118610c1557600d5460e052602060e0f35b505b60006000fd5b600d5460e052600e5461010052600c80546301e133808181830110610d6e5780820190509050815550600b805460018082018060801d81607f1d18610d6e579050905081555060e05115610cde57610100805160e0516301e13380808202821582848304141715610d6e57905090508181830110610d6e578082019050905081525061010051600e5560e051670de0b6b3a7640000808202821582848304141715610d6e5790509050670f6b75ab2bc471c78082049050905060e052610cea565b660adf0c969ac40260e0525b60e051600d557f27e46362a1e6129b6dd539c984ce739291a97128dfcaeca1255e8ac83abd9441426101205260e0516101405261010051610160526060610120a1565b600e5442600c54808210610d6e5780820390509050600d54808202821582848304141715610d6e57905090508181830110610d6e5780820190509050815250565b600080fd5b610208610f7b03610208600039610208610f7b036000f35b600080fd000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c434c6576657220546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004434c455600000000000000000000000000000000000000000000000000000000

Deployed Bytecode

0x600436101561000d57610c17565b60046000601c3760005134610d6e5763d43b40fa811861004f57600c546301e133808181830110610d6e57808201905090504210610d6e5761004d610c1d565b005b63adc4cf4381186100b257600c5461018052610180516301e133808181830110610d6e578082019050905042101561009757610180516101a05260206101a06100b0566100b0565b61009f610c1d565b600c546101a05260206101a06100b0565bf35b63b26b238e811861013f57600c5461018052610180516301e133808181830110610d6e578082019050905042101561010f57610180516301e133808181830110610d6e57808201905090506101a05260206101a061013d5661013d565b610117610c1d565b600c546301e133808181830110610d6e57808201905090506101a05260206101a061013d565bf35b6324f92a2581186101625761015460e0610d2d565b60e051610100526020610100f35b63d725a9ca81186103a25760243560043511610d6e57600060e052600c5461010052600d5461012052610100516301e133808181830110610d6e578082019050905060243511156102005761010080516301e133808181830110610d6e578082019050905081525061012051670de0b6b3a7640000808202821582848304141715610d6e5790509050670f6b75ab2bc471c780820490509050610120525b610100516301e133808181830110610d6e578082019050905060243511610d6e5761014060006103e7818352015b61010051602435106103215760243561016052610100516301e133808181830110610d6e578082019050905061016051111561028257610100516301e133808181830110610d6e5780820190509050610160525b60043561018052610100516301e133808181830110610d6e578082019050905061018051101561039257610100516101805110156102cb5761010051610180526102cb56610392565b60e08051610120516101605161018051808210610d6e5780820390509050808202821582848304141715610d6e57905090508181830110610d6e5780820190509050815250610100516004351061032157610392565b61010080516301e13380808210610d6e578082039050905081525061012051670f6b75ab2bc471c7808202821582848304141715610d6e5790509050670de0b6b3a76400008082049050905061012052660adf0c969ac4026101205111610d6e57815160010180835281141561022e575b505060e051610140526020610140f35b631652e9fc8118610401576004358060a01c610d6e5760e052600a543318610d6e57600954610d6e5760e0516009557fcec52196e972044edde8689a1b608e459c5946b7f3e5c8cd3d6d8e126d422e1c60e051610100526020610100a1005b63e9333fab8118610459576004358060a01c610d6e5760e052600a543318610d6e5760e051600a557f5a272403b402d892977df56625f4164ccaf70ca3863991c43ecfe76a6905b0a160e051610100526020610100a1005b6318160ddd81186104705760085460e052602060e0f35b63dd62ed3e81186104c3576004358060a01c610d6e5760e0526024358060a01c610d6e5761010052600760e05160a05260805260406080206101005160a052608052604060802054610120526020610120f35b63a9059cbb8118610571576004358060a01c610d6e5760e052600060e05114610d6e5760063360a05260805260406080208054602435808210610d6e5780820390509050815550600660e05160a052608052604060802080546024358181830110610d6e578082019050905081555060e051337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef602435610100526020610100a36001610100526020610100f35b6323b872dd8118610667576004358060a01c610d6e5760e0526024358060a01c610d6e576101005260006101005114610d6e57600660e05160a05260805260406080208054604435808210610d6e578082039050905081555060066101005160a052608052604060802080546044358181830110610d6e5780820190509050815550600760e05160a05260805260406080203360a05260805260406080208054604435808210610d6e57808203905090508155506101005160e0517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef604435610120526020610120a36001610120526020610120f35b63095ea7b38118610712576004358060a01c610d6e5760e052602435156106ab5760073360a052608052604060802060e05160a052608052604060802054156106ae565b60015b15610d6e5760243560073360a052608052604060802060e05160a05260805260406080205560e051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925602435610100526020610100a36001610100526020610100f35b6340c10f198118610809576004358060a01c610d6e57610180526009543318610d6e5760006101805114610d6e57600c546301e133808181830110610d6e5780820190509050421061076657610766610c1d565b6008546024358181830110610d6e57808201905090506101a05261078b6101c0610d2d565b6101c0516101a05111610d6e576101a05160085560066101805160a052608052604060802080546024358181830110610d6e57808201905090508155506101805160007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6024356101c05260206101c0a360016101c05260206101c0f35b6342966c68811861088a5760063360a05260805260406080208054600435808210610d6e578082039050905081555060088054600435808210610d6e57808203905090508155506000337fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60043560e052602060e0a3600160e052602060e0f35b63e1430e068118610a10576004356004016040813511610d6e57808035602001808260e0375050506024356004016020813511610d6e57808035602001808261014037505050600a543314610975576024610180527f4f6e6c792061646d696e20697320616c6c6f77656420746f206368616e6765206101a0527f6e616d65000000000000000000000000000000000000000000000000000000006101c0526101805061018051806101a001818260206001820306601f82010390500336823750506308c379a0610140526020610160526101805160206001820306601f820103905060440161015cfd5b60e0806000602082510160c060006003818352015b8260c051602002111561099c576109bb565b60c05160200285015160c051850155815160010180835281141561098a575b505050505050610140806003602082510160c060006002818352015b8260c05160200211156109e957610a08565b60c05160200285015160c05185015581516001018083528114156109d7575b505050505050005b6306fdde038118610ab35760e08060208082528083018060008082602082540160c060006003818352015b8260c0516020021115610a4d57610a6c565b60c05185015460c0516020028501528151600101808352811415610a3b575b5050505050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f820103905090509050810190509050905060e0f35b6395d89b418118610b565760e08060208082528083018060038082602082540160c060006002818352015b8260c0516020021115610af057610b0f565b60c05185015460c0516020028501528151600101808352811415610ade575b5050505050508051806020830101818260206001820306601f8201039050033682375050805160200160206001820306601f820103905090509050810190509050905060e0f35b63313ce5678118610b6d5760055460e052602060e0f35b6370a082318118610ba2576004358060a01c610d6e5760e052600660e05160a052608052604060802054610100526020610100f35b63075461728118610bb95760095460e052602060e0f35b63f851a4408118610bd057600a5460e052602060e0f35b63f9a40bf68118610be757600b5460e052602060e0f35b637375be268118610bfe57600c5460e052602060e0f35b632c4e722e8118610c1557600d5460e052602060e0f35b505b60006000fd5b600d5460e052600e5461010052600c80546301e133808181830110610d6e5780820190509050815550600b805460018082018060801d81607f1d18610d6e579050905081555060e05115610cde57610100805160e0516301e13380808202821582848304141715610d6e57905090508181830110610d6e578082019050905081525061010051600e5560e051670de0b6b3a7640000808202821582848304141715610d6e5790509050670f6b75ab2bc471c78082049050905060e052610cea565b660adf0c969ac40260e0525b60e051600d557f27e46362a1e6129b6dd539c984ce739291a97128dfcaeca1255e8ac83abd9441426101205260e0516101405261010051610160526060610120a1565b600e5442600c54808210610d6e5780820390509050600d54808202821582848304141715610d6e57905090508181830110610d6e5780820190509050815250565b600080fd

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

000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a00000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000c434c6576657220546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004434c455600000000000000000000000000000000000000000000000000000000

-----Decoded View---------------
Arg [0] : _name (string): CLever Token
Arg [1] : _symbol (string): CLEV
Arg [2] : _decimals (uint256): 18

-----Encoded View---------------
7 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000000060
Arg [1] : 00000000000000000000000000000000000000000000000000000000000000a0
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000012
Arg [3] : 000000000000000000000000000000000000000000000000000000000000000c
Arg [4] : 434c6576657220546f6b656e0000000000000000000000000000000000000000
Arg [5] : 0000000000000000000000000000000000000000000000000000000000000004
Arg [6] : 434c455600000000000000000000000000000000000000000000000000000000


Loading...
Loading
Loading...
Loading
[ Download: CSV Export  ]
[ Download: CSV Export  ]

A token is a representation of an on-chain or off-chain asset. The token page shows information such as price, total supply, holders, transfers and social links. Learn more about this page in our Knowledge Base.