Feature Tip: Add private address tag to any address under My Name Tag !
ERC-20
Overview
Max Total Supply
810,761,491.01212709540928755 veBoost
Holders
16
Market
Onchain Market Cap
$0.00
Circulating Supply Market Cap
-
Other Info
Token Contract (WITH 18 Decimals)
Balance
199,957.6625383168360661 veBoostValue
$0.00Loading...
Loading
Loading...
Loading
Loading...
Loading
# | Exchange | Pair | Price | 24H Volume | % Volume |
---|
Similar Match Source Code This contract matches the deployed Bytecode of the Source Code for Contract 0x78EDd3Fc...79E80dC19 The constructor portion of the code might be different and could alter the actual behaviour of the contract
Contract Name:
Boost Delegation V3
Compiler Version
vyper:0.3.10
Contract Source Code (Vyper language format)
# @version 0.3.10 """ @title Boost Delegation V3 @author CurveFi """ event Approval: _owner: indexed(address) _spender: indexed(address) _value: uint256 event Transfer: _from: indexed(address) _to: indexed(address) _value: uint256 event Boost: _from: indexed(address) _to: indexed(address) _bias: uint256 _slope: uint256 _start: uint256 interface VotingEscrow: def balanceOf(_user: address) -> uint256: view def totalSupply() -> uint256: view def locked__end(_user: address) -> uint256: view struct Point: bias: uint256 slope: uint256 ts: uint256 NAME: constant(String[32]) = "Vote-Escrowed Boost" SYMBOL: constant(String[8]) = "veBoost" VERSION: constant(String[8]) = "v3.0.0" EIP712_TYPEHASH: constant(bytes32) = keccak256("EIP712Domain(string name,string version,uint256 chainId,address verifyingContract,bytes32 salt)") PERMIT_TYPEHASH: constant(bytes32) = keccak256("Permit(address owner,address spender,uint256 value,uint256 nonce,uint256 deadline)") WEEK: constant(uint256) = 86400 * 7 DOMAIN_SEPARATOR: immutable(bytes32) VE: immutable(address) allowance: public(HashMap[address, HashMap[address, uint256]]) nonces: public(HashMap[address, uint256]) delegated: public(HashMap[address, Point]) delegated_slope_changes: public(HashMap[address, HashMap[uint256, uint256]]) received: public(HashMap[address, Point]) received_slope_changes: public(HashMap[address, HashMap[uint256, uint256]]) @external def __init__(_ve: address): DOMAIN_SEPARATOR = keccak256(_abi_encode(EIP712_TYPEHASH, keccak256(NAME), keccak256(VERSION), chain.id, self, block.prevhash)) VE = _ve log Transfer(ZERO_ADDRESS, msg.sender, 0) @view @internal def _checkpoint_read(_user: address, _delegated: bool) -> Point: point: Point = empty(Point) if _delegated: point = self.delegated[_user] else: point = self.received[_user] if point.ts == 0: point.ts = block.timestamp if point.ts == block.timestamp: return point ts: uint256 = (point.ts / WEEK) * WEEK for _ in range(255): ts += WEEK dslope: uint256 = 0 if block.timestamp < ts: ts = block.timestamp else: if _delegated: dslope = self.delegated_slope_changes[_user][ts] else: dslope = self.received_slope_changes[_user][ts] point.bias -= point.slope * (ts - point.ts) point.slope -= dslope point.ts = ts if ts == block.timestamp: break return point @internal def _checkpoint_write(_user: address, _delegated: bool) -> Point: point: Point = empty(Point) if _delegated: point = self.delegated[_user] else: point = self.received[_user] if point.ts == 0: point.ts = block.timestamp if point.ts == block.timestamp: return point dbias: uint256 = 0 ts: uint256 = (point.ts / WEEK) * WEEK for _ in range(255): ts += WEEK dslope: uint256 = 0 if block.timestamp < ts: ts = block.timestamp else: if _delegated: dslope = self.delegated_slope_changes[_user][ts] else: dslope = self.received_slope_changes[_user][ts] amount: uint256 = point.slope * (ts - point.ts) dbias += amount point.bias -= amount point.slope -= dslope point.ts = ts if ts == block.timestamp: break if _delegated == False and dbias != 0: # received boost log Transfer(_user, ZERO_ADDRESS, dbias) return point @view @internal def _balance_of(_user: address) -> uint256: amount: uint256 = VotingEscrow(VE).balanceOf(_user) point: Point = self._checkpoint_read(_user, True) amount -= (point.bias - point.slope * (block.timestamp - point.ts)) point = self._checkpoint_read(_user, False) amount += (point.bias - point.slope * (block.timestamp - point.ts)) return amount @internal def _boost(_from: address, _to: address, _amount: uint256, _endtime: uint256): assert _to not in [_from, ZERO_ADDRESS] assert _amount != 0 assert _endtime > block.timestamp assert _endtime % WEEK == 0 assert _endtime <= VotingEscrow(VE).locked__end(_from) # checkpoint delegated point point: Point = self._checkpoint_write(_from, True) assert _amount <= VotingEscrow(VE).balanceOf(_from) - (point.bias - point.slope * (block.timestamp - point.ts)) # calculate slope and bias being added slope: uint256 = _amount / (_endtime - block.timestamp) bias: uint256 = slope * (_endtime - block.timestamp) # update delegated point point.bias += bias point.slope += slope # store updated values self.delegated[_from] = point self.delegated_slope_changes[_from][_endtime] += slope # update received amount point = self._checkpoint_write(_to, False) point.bias += bias point.slope += slope # store updated values self.received[_to] = point self.received_slope_changes[_to][_endtime] += slope log Transfer(_from, _to, _amount) log Boost(_from, _to, bias, slope, block.timestamp) # also checkpoint received and delegated self.received[_from] = self._checkpoint_write(_from, False) self.delegated[_to] = self._checkpoint_write(_to, True) @external def boost(_to: address, _amount: uint256, _endtime: uint256, _from: address = msg.sender): # reduce approval if necessary if _from != msg.sender: allowance: uint256 = self.allowance[_from][msg.sender] if allowance != MAX_UINT256: self.allowance[_from][msg.sender] = allowance - _amount log Approval(_from, msg.sender, allowance - _amount) self._boost(_from, _to, _amount, _endtime) @external def checkpoint_user(_user: address): self.delegated[_user] = self._checkpoint_write(_user, True) self.received[_user] = self._checkpoint_write(_user, False) @external def approve(_spender: address, _value: uint256) -> bool: self.allowance[msg.sender][_spender] = _value log Approval(msg.sender, _spender, _value) return True @external def permit(_owner: address, _spender: address, _value: uint256, _deadline: uint256, _v: uint8, _r: bytes32, _s: bytes32) -> bool: assert _owner != ZERO_ADDRESS assert block.timestamp <= _deadline nonce: uint256 = self.nonces[_owner] digest: bytes32 = keccak256( concat( b"\x19\x01", DOMAIN_SEPARATOR, keccak256(_abi_encode(PERMIT_TYPEHASH, _owner, _spender, _value, nonce, _deadline)) ) ) assert ecrecover(digest, convert(_v, uint256), convert(_r, uint256), convert(_s, uint256)) == _owner self.allowance[_owner][_spender] = _value self.nonces[_owner] = nonce + 1 log Approval(_owner, _spender, _value) return True @external def increaseAllowance(_spender: address, _added_value: uint256) -> bool: allowance: uint256 = self.allowance[msg.sender][_spender] + _added_value self.allowance[msg.sender][_spender] = allowance log Approval(msg.sender, _spender, allowance) return True @external def decreaseAllowance(_spender: address, _subtracted_value: uint256) -> bool: allowance: uint256 = self.allowance[msg.sender][_spender] - _subtracted_value self.allowance[msg.sender][_spender] = allowance log Approval(msg.sender, _spender, allowance) return True @view @external def balanceOf(_user: address) -> uint256: return self._balance_of(_user) @view @external def adjusted_balance_of(_user: address) -> uint256: return self._balance_of(_user) @external def adjusted_balance_of_write(_user: address) -> uint256: amount: uint256 = VotingEscrow(VE).balanceOf(_user) point: Point = self._checkpoint_write(_user, True) self.delegated[_user] = point amount -= (point.bias - point.slope * (block.timestamp - point.ts)) point = self._checkpoint_write(_user, False) self.received[_user] = point amount += (point.bias - point.slope * (block.timestamp - point.ts)) return amount @view @external def totalSupply() -> uint256: return VotingEscrow(VE).totalSupply() @view @external def delegated_balance(_user: address) -> uint256: point: Point = self._checkpoint_read(_user, True) return point.bias - point.slope * (block.timestamp - point.ts) @view @external def received_balance(_user: address) -> uint256: point: Point = self._checkpoint_read(_user, False) return point.bias - point.slope * (block.timestamp - point.ts) @view @external def delegable_balance(_user: address) -> uint256: point: Point = self._checkpoint_read(_user, True) return VotingEscrow(VE).balanceOf(_user) - (point.bias - point.slope * (block.timestamp - point.ts)) @pure @external def name() -> String[32]: return NAME @pure @external def symbol() -> String[8]: return SYMBOL @pure @external def decimals() -> uint8: return 18 @pure @external def DOMAIN_SEPARATOR() -> bytes32: return DOMAIN_SEPARATOR @pure @external def VE() -> address: return VE
Contract Security Audit
- No Contract Security Audit Submitted- Submit Audit Here
[{"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":"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":"Boost","inputs":[{"name":"_from","type":"address","indexed":true},{"name":"_to","type":"address","indexed":true},{"name":"_bias","type":"uint256","indexed":false},{"name":"_slope","type":"uint256","indexed":false},{"name":"_start","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_ve","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"boost","inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_endtime","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"boost","inputs":[{"name":"_to","type":"address"},{"name":"_amount","type":"uint256"},{"name":"_endtime","type":"uint256"},{"name":"_from","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"checkpoint_user","inputs":[{"name":"_user","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"approve","inputs":[{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"permit","inputs":[{"name":"_owner","type":"address"},{"name":"_spender","type":"address"},{"name":"_value","type":"uint256"},{"name":"_deadline","type":"uint256"},{"name":"_v","type":"uint8"},{"name":"_r","type":"bytes32"},{"name":"_s","type":"bytes32"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"increaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_added_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"nonpayable","type":"function","name":"decreaseAllowance","inputs":[{"name":"_spender","type":"address"},{"name":"_subtracted_value","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]},{"stateMutability":"view","type":"function","name":"balanceOf","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"adjusted_balance_of","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"adjusted_balance_of_write","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"totalSupply","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"delegated_balance","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"received_balance","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"delegable_balance","inputs":[{"name":"_user","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"pure","type":"function","name":"name","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"pure","type":"function","name":"symbol","inputs":[],"outputs":[{"name":"","type":"string"}]},{"stateMutability":"pure","type":"function","name":"decimals","inputs":[],"outputs":[{"name":"","type":"uint8"}]},{"stateMutability":"pure","type":"function","name":"DOMAIN_SEPARATOR","inputs":[],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"pure","type":"function","name":"VE","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"allowance","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"nonces","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"delegated","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"bias","type":"uint256"},{"name":"slope","type":"uint256"},{"name":"ts","type":"uint256"}]}]},{"stateMutability":"view","type":"function","name":"delegated_slope_changes","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"received","inputs":[{"name":"arg0","type":"address"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"bias","type":"uint256"},{"name":"slope","type":"uint256"},{"name":"ts","type":"uint256"}]}]},{"stateMutability":"view","type":"function","name":"received_slope_changes","inputs":[{"name":"arg0","type":"address"},{"name":"arg1","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]}]
Contract Creation Code
6117dc5150346100f45760206118ca5f395f518060a01c6100f4576040527fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac564726080527f576a762e50ddf4c74071046cf7b508f5d87c41676ea1b6c8bf07aba60e5b630660a0527f68f731a9803f5c5f15be5330fe99b1ad2675b9961a3ce3fd24252ceec90e654560c0524660e052306101005260014303406101205260c060605260608051602082012090506117bc526040516117dc52335f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f60605260206060a36117bc6100f8610000396117fc610000f35b5f80fd5f3560e01c60026015820660011b61179201601e395f51565b63dd62ed3e811861006f5760443610341761178e576004358060a01c61178e576040526024358060a01c61178e576060525f6040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63a457c2d7811861011a5760443610341761178e576004358060a01c61178e576040525f336020525f5260405f20806040516020525f5260405f2090505460243580820382811161178e57905090506060526060515f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b6395d89b418118610dfa573461178e5760208060805260076040527f7665426f6f73740000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f3610dfa565b637ecebe0081146003361116156101dd5760243610341761178e576004358060a01c61178e5760405260016040516020525f5260405f205460605260206060f35b63c863657d8118610dfa573461178e5760206117dc60403960206040f3610dfa565b63f3598ad9811861024c5760243610341761178e576004358060a01c61178e5760405260026040516020525f5260405f2080546060526001810154608052600281015460a0525060606060f35b633644e5158118610dfa573461178e5760206117bc60403960206040f3610dfa565b63356a46808118610dfa5760443610341761178e576004358060a01c61178e5760405260036040516020525f5260405f20806024356020525f5260405f2090505460605260206060f3610dfa565b63df0cb93481186103095760243610341761178e576004358060a01c61178e5760405260046040516020525f5260405f2080546060526001810154608052600281015460a0525060606060f35b63ca83094681186103f75760243610341761178e576004358060a01c61178e57610140526101405160405260016060526103446101c0610dfe565b6101c080516101605260208101516101805260408101516101a0525060206117dc5f395f516370a082316101c052610140516101e05260206101c060246101dc845afa610393573d5f5f3e3d5ffd5b60203d1061178e576101c09050516101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e5790509050610200526020610200f35b6306fdde038118610dfa573461178e5760208060805260136040527f566f74652d457363726f77656420426f6f73740000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f3610dfa565b635ad600c981186104c35760443610341761178e576004358060a01c61178e5760405260056040516020525f5260405f20806024356020525f5260405f2090505460605260206060f35b6318160ddd8118610dfa573461178e57602060206117dc5f395f516318160ddd604052602060406004605c845afa6104fd573d5f5f3e3d5ffd5b60203d1061178e5760409050f3610dfa565b63a2114cdb811861052e5760643610341761178e57336103805261075c565b63d505accf81186107185760e43610341761178e576004358060a01c61178e576040526024358060a01c61178e576060526084358060081c61178e576080526040511561178e57606435421161178e5760016040516020525f5260405f205460a0525f600260e0527f19010000000000000000000000000000000000000000000000000000000000006101005260e080516020820183610220018151815250508083019250505060206117bc8261022001396020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96101405260405161016052606051610180526044356101a05260a0516101c0526064356101e05260c0610120526101208051602082012090508161022001526020810190508061020052610200905080516020820120905060c0526040515f6101605260c05160e0526080516101005260a4356101205260c435610140526020610160608060e060015afa50610160511861178e576044355f6040516020525f5260405f20806060516020525f5260405f2090505560a0516001810181811061178e57905060016040516020525f5260405f20556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560443560e052602060e0a3600160e052602060e0f35b63313ce5678118610dfa573461178e57601260405260206040f3610dfa565b63b4b3c24981186108585760843610341761178e576064358060a01c61178e57610380525b6004358060a01c61178e5761036052336103805114610836575f610380516020525f5260405f2080336020525f5260405f209050546103a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103a05114610836576103a05160243580820382811161178e57905090505f610380516020525f5260405f2080336020525f5260405f2090505533610380517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256103a05160243580820382811161178e57905090506103c05260206103c0a35b6103805161018052610360516101a052604060246101c03761085661135a565b005b63095ea7b38118610dfa5760443610341761178e576004358060a01c61178e576040526024355f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f3610dfa565b637de680618118610dfa5760243610341761178e576004358060a01c61178e57610180526101805160405260016060526109136101a0610fc3565b6101a0805161020052602081015161022052604081015161024052506002610180516020525f5260405f2061020051815561022051600182015561024051600282015550610180516040525f60605261096d6101a0610fc3565b6101a0805161020052602081015161022052604081015161024052506004610180516020525f5260405f206102005181556102205160018201556102405160028201555000610dfa565b63395093518118610dfa5760443610341761178e576004358060a01c61178e576040525f336020525f5260405f20806040516020525f5260405f2090505460243580820182811061178e57905090506060526060515f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f3610dfa565b6370a082318118610dfa5760243610341761178e576004358060a01c61178e576102405260206102405161014052610a9f610260611201565b610260f3610dfa565b63bbf7408a8118610dfa5760243610341761178e576004358060a01c61178e576102405260206102405161014052610ae1610260611201565b610260f3610dfa565b63c10ef6558118610dfa5760243610341761178e576004358060a01c61178e576101805260206117dc5f395f516370a082316101c052610180516101e05260206101c060246101dc845afa610b41573d5f5f3e3d5ffd5b60203d1061178e576101c09050516101a052610180516040526001606052610b6a610220610fc3565b61022080516101c05260208101516101e052604081015161020052506002610180516020525f5260405f206101c05181556101e0516001820155610200516002820155506101a0516101c0516101e051426102005180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e57905090506101a052610180516040525f606052610c17610220610fc3565b61022080516101c05260208101516101e052604081015161020052506004610180516020525f5260405f206101c05181556101e0516001820155610200516002820155506101a0516101c0516101e051426102005180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820182811061178e57905090506101a05260206101a0f3610dfa565b630a767cc68118610dfa5760243610341761178e576004358060a01c61178e5761014052610140516040526001606052610cf46101c0610dfe565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e57905090506101c05260206101c0f3610dfa565b6322c18bb68118610dfa5760243610341761178e576004358060a01c61178e5761014052610140516040525f606052610d966101c0610dfe565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e57905090506101c05260206101c0f35b5f5ffd5b606036608037606051610e345760046040516020525f5260405f208054608052600181015460a052600281015460c05250610e59565b60026040516020525f5260405f208054608052600181015460a052600281015460c052505b60c051610e65574260c0525b4260c05118610e8957608051815260a051602082015260c051604082015250610fc1565b60c05162093a808104905062093a8081028162093a8082041861178e57905060e0525f60ff905b806101005260e05162093a80810181811061178e57905060e0525f6101205260e0514210610f2d57606051610f065760056040516020525f5260405f208060e0516020525f5260405f2090505461012052610f32565b60036040516020525f5260405f208060e0516020525f5260405f2090505461012052610f32565b4260e0525b60805160a05160e05160c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905060805260a0516101205180820382811161178e579050905060a05260e05160c0524260e05118610f9d57610fa8565b600101818118610eb0575b5050608051815260a051602082015260c0516040820152505b565b606036608037606051610ff95760046040516020525f5260405f208054608052600181015460a052600281015460c0525061101e565b60026040516020525f5260405f208054608052600181015460a052600281015460c052505b60c05161102a574260c0525b4260c0511861104e57608051815260a051602082015260c0516040820152506111ff565b5f60e05260c05162093a808104905062093a8081028162093a8082041861178e579050610100525f60ff905b80610120526101005162093a80810181811061178e579050610100525f610140526101005142106110fc576060516110d45760056040516020525f5260405f2080610100516020525f5260405f2090505461014052611102565b60036040516020525f5260405f2080610100516020525f5260405f2090505461014052611102565b42610100525b60a0516101005160c05180820382811161178e579050905080820281158383830414171561178e57905090506101605260e0516101605180820182811061178e579050905060e0526080516101605180820382811161178e579050905060805260a0516101405180820382811161178e579050905060a0526101005160c0524261010051186111905761119b565b60010181811861107a575b50506060516111ae5760e05115156111b0565b5f5b156111e8575f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a35b608051815260a051602082015260c0516040820152505b565b60206117dc5f395f516370a0823161018052610140516101a0526020610180602461019c845afa611234573d5f5f3e3d5ffd5b60203d1061178e576101809050516101605261014051604052600160605261125d6101e0610dfe565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e579050905061016052610140516040525f6060526112e26101e0610dfe565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820182811061178e57905090506101605261016051815250565b6101a05161018051811461137057801515611372565b5f5b90501561178e576101c0511561178e57426101e051111561178e576101e05162093a808106905061178e5760206117dc5f395f5163adc635896102005261018051610220526020610200602461021c845afa6113d0573d5f5f3e3d5ffd5b60203d1061178e576102009050516101e0511161178e576101805160405260016060526113fe610260610fc3565b6102608051610200526020810151610220526040810151610240525060206117dc5f395f516370a082316102605261018051610280526020610260602461027c845afa61144d573d5f5f3e3d5ffd5b60203d1061178e576102609050516102005161022051426102405180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e57905090506101c0511161178e576101c0516101e0514280820382811161178e5790509050801561178e578082049050905061026052610260516101e0514280820382811161178e579050905080820281158383830414171561178e579050905061028052610200516102805180820182811061178e579050905061020052610220516102605180820182811061178e5790509050610220526002610180516020525f5260405f20610200518155610220516001820155610240516002820155506003610180516020525f5260405f20806101e0516020525f5260405f20905080546102605180820182811061178e57905090508155506101a0516040525f6060526115ae6102a0610fc3565b6102a080516102005260208101516102205260408101516102405250610200516102805180820182811061178e579050905061020052610220516102605180820182811061178e57905090506102205260046101a0516020525f5260405f206102005181556102205160018201556102405160028201555060056101a0516020525f5260405f20806101e0516020525f5260405f20905080546102605180820182811061178e57905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c0516102a05260206102a0a36101a051610180517f9c0aa947e19ab1e2400ff167e2cb40414b570fdaf31ab646a16749ca3c4301ad610280516102a052610260516102c052426102e05260606102a0a3610180516040525f6060526116ed6102a0610fc3565b6102a0805161030052602081015161032052604081015161034052506004610180516020525f5260405f20610300518155610320516001820155610340516002820155506101a05160405260016060526117486102a0610fc3565b6102a08051610300526020810151610320526040810151610340525060026101a0516020525f5260405f2061030051815561032051600182015561034051600282015550565b5f80fd01ff0dfa0dfa019c08d80dfa00180a6607370cb902bc09b7050f0dfa0dfa026e0aea0d5c0aa804790dfa841917bc81182a1840a16576797065728300030a00160000000000000000000000005f3b5dfeb7b28cdbd7faba78963ee202a494e2a2
Deployed Bytecode
0x5f3560e01c60026015820660011b61179201601e395f51565b63dd62ed3e811861006f5760443610341761178e576004358060a01c61178e576040526024358060a01c61178e576060525f6040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63a457c2d7811861011a5760443610341761178e576004358060a01c61178e576040525f336020525f5260405f20806040516020525f5260405f2090505460243580820382811161178e57905090506060526060515f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b6395d89b418118610dfa573461178e5760208060805260076040527f7665426f6f73740000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f3610dfa565b637ecebe0081146003361116156101dd5760243610341761178e576004358060a01c61178e5760405260016040516020525f5260405f205460605260206060f35b63c863657d8118610dfa573461178e5760206117dc60403960206040f3610dfa565b63f3598ad9811861024c5760243610341761178e576004358060a01c61178e5760405260026040516020525f5260405f2080546060526001810154608052600281015460a0525060606060f35b633644e5158118610dfa573461178e5760206117bc60403960206040f3610dfa565b63356a46808118610dfa5760443610341761178e576004358060a01c61178e5760405260036040516020525f5260405f20806024356020525f5260405f2090505460605260206060f3610dfa565b63df0cb93481186103095760243610341761178e576004358060a01c61178e5760405260046040516020525f5260405f2080546060526001810154608052600281015460a0525060606060f35b63ca83094681186103f75760243610341761178e576004358060a01c61178e57610140526101405160405260016060526103446101c0610dfe565b6101c080516101605260208101516101805260408101516101a0525060206117dc5f395f516370a082316101c052610140516101e05260206101c060246101dc845afa610393573d5f5f3e3d5ffd5b60203d1061178e576101c09050516101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e5790509050610200526020610200f35b6306fdde038118610dfa573461178e5760208060805260136040527f566f74652d457363726f77656420426f6f73740000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f3610dfa565b635ad600c981186104c35760443610341761178e576004358060a01c61178e5760405260056040516020525f5260405f20806024356020525f5260405f2090505460605260206060f35b6318160ddd8118610dfa573461178e57602060206117dc5f395f516318160ddd604052602060406004605c845afa6104fd573d5f5f3e3d5ffd5b60203d1061178e5760409050f3610dfa565b63a2114cdb811861052e5760643610341761178e57336103805261075c565b63d505accf81186107185760e43610341761178e576004358060a01c61178e576040526024358060a01c61178e576060526084358060081c61178e576080526040511561178e57606435421161178e5760016040516020525f5260405f205460a0525f600260e0527f19010000000000000000000000000000000000000000000000000000000000006101005260e080516020820183610220018151815250508083019250505060206117bc8261022001396020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96101405260405161016052606051610180526044356101a05260a0516101c0526064356101e05260c0610120526101208051602082012090508161022001526020810190508061020052610200905080516020820120905060c0526040515f6101605260c05160e0526080516101005260a4356101205260c435610140526020610160608060e060015afa50610160511861178e576044355f6040516020525f5260405f20806060516020525f5260405f2090505560a0516001810181811061178e57905060016040516020525f5260405f20556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560443560e052602060e0a3600160e052602060e0f35b63313ce5678118610dfa573461178e57601260405260206040f3610dfa565b63b4b3c24981186108585760843610341761178e576064358060a01c61178e57610380525b6004358060a01c61178e5761036052336103805114610836575f610380516020525f5260405f2080336020525f5260405f209050546103a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103a05114610836576103a05160243580820382811161178e57905090505f610380516020525f5260405f2080336020525f5260405f2090505533610380517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256103a05160243580820382811161178e57905090506103c05260206103c0a35b6103805161018052610360516101a052604060246101c03761085661135a565b005b63095ea7b38118610dfa5760443610341761178e576004358060a01c61178e576040526024355f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f3610dfa565b637de680618118610dfa5760243610341761178e576004358060a01c61178e57610180526101805160405260016060526109136101a0610fc3565b6101a0805161020052602081015161022052604081015161024052506002610180516020525f5260405f2061020051815561022051600182015561024051600282015550610180516040525f60605261096d6101a0610fc3565b6101a0805161020052602081015161022052604081015161024052506004610180516020525f5260405f206102005181556102205160018201556102405160028201555000610dfa565b63395093518118610dfa5760443610341761178e576004358060a01c61178e576040525f336020525f5260405f20806040516020525f5260405f2090505460243580820182811061178e57905090506060526060515f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f3610dfa565b6370a082318118610dfa5760243610341761178e576004358060a01c61178e576102405260206102405161014052610a9f610260611201565b610260f3610dfa565b63bbf7408a8118610dfa5760243610341761178e576004358060a01c61178e576102405260206102405161014052610ae1610260611201565b610260f3610dfa565b63c10ef6558118610dfa5760243610341761178e576004358060a01c61178e576101805260206117dc5f395f516370a082316101c052610180516101e05260206101c060246101dc845afa610b41573d5f5f3e3d5ffd5b60203d1061178e576101c09050516101a052610180516040526001606052610b6a610220610fc3565b61022080516101c05260208101516101e052604081015161020052506002610180516020525f5260405f206101c05181556101e0516001820155610200516002820155506101a0516101c0516101e051426102005180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e57905090506101a052610180516040525f606052610c17610220610fc3565b61022080516101c05260208101516101e052604081015161020052506004610180516020525f5260405f206101c05181556101e0516001820155610200516002820155506101a0516101c0516101e051426102005180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820182811061178e57905090506101a05260206101a0f3610dfa565b630a767cc68118610dfa5760243610341761178e576004358060a01c61178e5761014052610140516040526001606052610cf46101c0610dfe565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e57905090506101c05260206101c0f3610dfa565b6322c18bb68118610dfa5760243610341761178e576004358060a01c61178e5761014052610140516040525f606052610d966101c0610dfe565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e57905090506101c05260206101c0f35b5f5ffd5b606036608037606051610e345760046040516020525f5260405f208054608052600181015460a052600281015460c05250610e59565b60026040516020525f5260405f208054608052600181015460a052600281015460c052505b60c051610e65574260c0525b4260c05118610e8957608051815260a051602082015260c051604082015250610fc1565b60c05162093a808104905062093a8081028162093a8082041861178e57905060e0525f60ff905b806101005260e05162093a80810181811061178e57905060e0525f6101205260e0514210610f2d57606051610f065760056040516020525f5260405f208060e0516020525f5260405f2090505461012052610f32565b60036040516020525f5260405f208060e0516020525f5260405f2090505461012052610f32565b4260e0525b60805160a05160e05160c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905060805260a0516101205180820382811161178e579050905060a05260e05160c0524260e05118610f9d57610fa8565b600101818118610eb0575b5050608051815260a051602082015260c0516040820152505b565b606036608037606051610ff95760046040516020525f5260405f208054608052600181015460a052600281015460c0525061101e565b60026040516020525f5260405f208054608052600181015460a052600281015460c052505b60c05161102a574260c0525b4260c0511861104e57608051815260a051602082015260c0516040820152506111ff565b5f60e05260c05162093a808104905062093a8081028162093a8082041861178e579050610100525f60ff905b80610120526101005162093a80810181811061178e579050610100525f610140526101005142106110fc576060516110d45760056040516020525f5260405f2080610100516020525f5260405f2090505461014052611102565b60036040516020525f5260405f2080610100516020525f5260405f2090505461014052611102565b42610100525b60a0516101005160c05180820382811161178e579050905080820281158383830414171561178e57905090506101605260e0516101605180820182811061178e579050905060e0526080516101605180820382811161178e579050905060805260a0516101405180820382811161178e579050905060a0526101005160c0524261010051186111905761119b565b60010181811861107a575b50506060516111ae5760e05115156111b0565b5f5b156111e8575f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a35b608051815260a051602082015260c0516040820152505b565b60206117dc5f395f516370a0823161018052610140516101a0526020610180602461019c845afa611234573d5f5f3e3d5ffd5b60203d1061178e576101809050516101605261014051604052600160605261125d6101e0610dfe565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e579050905061016052610140516040525f6060526112e26101e0610dfe565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820182811061178e57905090506101605261016051815250565b6101a05161018051811461137057801515611372565b5f5b90501561178e576101c0511561178e57426101e051111561178e576101e05162093a808106905061178e5760206117dc5f395f5163adc635896102005261018051610220526020610200602461021c845afa6113d0573d5f5f3e3d5ffd5b60203d1061178e576102009050516101e0511161178e576101805160405260016060526113fe610260610fc3565b6102608051610200526020810151610220526040810151610240525060206117dc5f395f516370a082316102605261018051610280526020610260602461027c845afa61144d573d5f5f3e3d5ffd5b60203d1061178e576102609050516102005161022051426102405180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e57905090506101c0511161178e576101c0516101e0514280820382811161178e5790509050801561178e578082049050905061026052610260516101e0514280820382811161178e579050905080820281158383830414171561178e579050905061028052610200516102805180820182811061178e579050905061020052610220516102605180820182811061178e5790509050610220526002610180516020525f5260405f20610200518155610220516001820155610240516002820155506003610180516020525f5260405f20806101e0516020525f5260405f20905080546102605180820182811061178e57905090508155506101a0516040525f6060526115ae6102a0610fc3565b6102a080516102005260208101516102205260408101516102405250610200516102805180820182811061178e579050905061020052610220516102605180820182811061178e57905090506102205260046101a0516020525f5260405f206102005181556102205160018201556102405160028201555060056101a0516020525f5260405f20806101e0516020525f5260405f20905080546102605180820182811061178e57905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c0516102a05260206102a0a36101a051610180517f9c0aa947e19ab1e2400ff167e2cb40414b570fdaf31ab646a16749ca3c4301ad610280516102a052610260516102c052426102e05260606102a0a3610180516040525f6060526116ed6102a0610fc3565b6102a0805161030052602081015161032052604081015161034052506004610180516020525f5260405f20610300518155610320516001820155610340516002820155506101a05160405260016060526117486102a0610fc3565b6102a08051610300526020810151610320526040810151610340525060026101a0516020525f5260405f2061030051815561032051600182015561034051600282015550565b5f80fd01ff0dfa0dfa019c08d80dfa00180a6607370cb902bc09b7050f0dfa0dfa026e0aea0d5c0aa804790dfaec1c56c0e6529945ef20295effee7caf8627d2f4535d4b2198931c51e2e8e7250000000000000000000000005f3b5dfeb7b28cdbd7faba78963ee202a494e2a2
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.