ERC-20
Overview
Max Total Supply
1,183,313.847046260662543031 CLEV
Holders
533 ( 0.188%)
Market
Price
$4.20 @ 0.001560 ETH (-4.29%)
Onchain Market Cap
$4,969,918.16
Circulating Supply Market Cap
$451,886.00
Other Info
Token Contract (WITH 18 Decimals)
Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Contract Source Code Verified (Exact Match)
Contract Name:
Vyper_contract
Compiler Version
vyper:0.3.1
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
- No Contract Security Audit Submitted- Submit Audit Here
[{"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}]
Contract Creation Code
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.