ETH Price: $3,272.11 (-4.06%)
Gas: 8 Gwei

Token

Vote-Escrowed Boost (veBoost)
 

Overview

Max Total Supply

686,534,016.002985665470431568 veBoost

Holders

116

Market

Onchain Market Cap

$0.00

Circulating Supply Market Cap

-

Other Info

Token Contract (WITH 18 Decimals)

Balance
1,218.392198941310680027 veBoost

Value
$0.00
0x2303fD39E04cf4D6471dF5ee945bD0E2CFb6C7a2
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.3

Optimization Enabled:
N/A

Other Settings:
None license

Contract Source Code (Vyper language format)

# @version 0.3.3
"""
@title Boost Delegation V2
@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

event Migrate:
    _token_id: indexed(uint256)


interface BoostV1:
    def ownerOf(_token_id: uint256) -> address: view
    def token_boost(_token_id: uint256) -> int256: view
    def token_expiry(_token_id: uint256) -> uint256: view

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]) = "v2.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


BOOST_V1: immutable(address)
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]])

migrated: public(HashMap[uint256, bool])


@external
def __init__(_boost_v1: address, _ve: address):
    BOOST_V1 = _boost_v1
    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 migrate(_token_id: uint256):
    assert not self.migrated[_token_id]

    self._boost(
        convert(shift(_token_id, -96), address),  # from
        BoostV1(BOOST_V1).ownerOf(_token_id),  # to
        convert(BoostV1(BOOST_V1).token_boost(_token_id), uint256),  # amount
        BoostV1(BOOST_V1).token_expiry(_token_id),  # expiry
    )

    self.migrated[_token_id] = True
    log Migrate(_token_id)


@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)


@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 BOOST_V1() -> address:
    return BOOST_V1


@pure
@external
def DOMAIN_SEPARATOR() -> bytes32:
    return DOMAIN_SEPARATOR


@pure
@external
def VE() -> address:
    return VE

Contract Security Audit

Contract ABI

[{"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"},{"name":"Migrate","inputs":[{"name":"_token_id","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_boost_v1","type":"address"},{"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":"migrate","inputs":[{"name":"_token_id","type":"uint256"}],"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":"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":"BOOST_V1","inputs":[],"outputs":[{"name":"","type":"address"}]},{"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"}]},{"stateMutability":"view","type":"function","name":"migrated","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"bool"}]}]

60206118376000396000518060a01c6118325760405260206118576000396000518060a01c611832576060526040516300001713527fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac56472610180527f576a762e50ddf4c74071046cf7b508f5d87c41676ea1b6c8bf07aba60e5b63066101a0527fd61c1033330c368dfc371f5b1e7133f4794e104642e5a3c87aba7a6a3441c8ff6101c052466101e052306102005260014303406102205260c0610160526101608051602082012090506300001733526060516300001753523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600060805260206080a361171361011e6300000000396117136060016300000000f3600436101561000d57610d0f565b60003560e01c3461170e5763a2114cdb811861002d573361032052610048565b63b4b3c2498118610154576064358060a01c61170e57610320525b6004358060a01c61170e576103005233610320511461012c57600061032051602052600052604060002080336020526000526040600020905054610340527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610340511461012c576103405160243580821061170e578082039050905060006103205160205260005260406000208033602052600052604060002090505533610320517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256103405160243580821061170e5780820390509050610360526020610360a35b6103205161018052610300516101a0526024356101c0526044356101e0526101526112b2565b005b63454b060881186102ba57600660043560205260005260406000205461170e5760043560601c8060a01c61170e5761018052636352211e61030052600435610320526020610300602461031c60206117136000396000515afa6101bc573d600060003e3d6000fd5b60203d1061170e57610300518060a01c61170e5761034052610340516101a05263f01e4f0b61036052600435610380526020610360602461037c60206117136000396000515afa610212573d600060003e3d6000fd5b60203d1061170e5761036051806000811261170e5790506101c052636d1ac9b56103a0526004356103c05260206103a060246103bc60206117136000396000515afa610263573d600060003e3d6000fd5b60203d1061170e576103a0516101e05261027b6112b2565b600160066004356020526000526040600020556004357fd5837b673ffaac69230366d3f7eb7cb2ba2b9fd8f2d4e9d0f5e92d3756b1d5466000610300a2005b637de680618118610360576004358060a01c61170e576101805260026101805160205260005260406000206101805160405260016060526102fc6101a0610ef4565b6101a0805182556020810151600183015560408101516002830155505060046101805160205260005260406000206101805160405260006060526103416101a0610ef4565b6101a08051825560208101516001830155604081015160028301555050005b63095ea7b381186103d7576004358060a01c61170e576040526024356000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b63d505accf81186105c9576004358060a01c61170e576040526024358060a01c61170e576060526084358060081c61170e5760805260006040511461170e57606435421161170e57600160405160205260005260406000205460a05260006002610360527f19010000000000000000000000000000000000000000000000000000000000006103805261036080516020820183610580018151815250508083019250505060206117336000396000518161058001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96104a0526040516104c0526060516104e0526044356105005260a051610520526064356105405260c0610480526104808051602082012090508161058001526020810190508061056052610560905080516020820120905060c05260405160c05160e0526080516101005260a4356101205260c4356101405260206000608060e060015afa506000511861170e576044356000604051602052600052604060002080606051602052600052604060002090505560a0516001818183011061170e578082019050905060016040516020526000526040600020556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560443560e052602060e0a3600160e052602060e0f35b63395093518118610676576004358060a01c61170e576040526000336020526000526040600020806040516020526000526040600020905054602435818183011061170e57808201905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b63a457c2d78118610721576004358060a01c61170e57604052600033602052600052604060002080604051602052600052604060002090505460243580821061170e57808203905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b6370a082318118610755576004358060a01c61170e576102405260206102405161014052610750610260611154565b610260f35b63bbf7408a8118610789576004358060a01c61170e576102405260206102405161014052610784610260611154565b610260f35b6318160ddd81186107ce5760206318160ddd604052602060406004605c60206117536000396000515afa6107c2573d600060003e3d6000fd5b60203d1061170e576040f35b630a767cc68118610863576004358060a01c61170e57610140526101405160405260016060526107ff6101c0610d15565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e57808203905090506101c05260206101c0f35b6322c18bb681186108f8576004358060a01c61170e57610140526101405160405260006060526108946101c0610d15565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e57808203905090506101c05260206101c0f35b63ca83094681186109de576004358060a01c61170e57610140526101405160405260016060526109296101c0610d15565b6101c080516101605260208101516101805260408101516101a052506370a082316101c052610140516101e05260206101c060246101dc60206117536000396000515afa61097c573d600060003e3d6000fd5b60203d1061170e576101c0516101605161018051426101a05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905080821061170e5780820390509050610200526020610200f35b6306fdde038118610a5e5760208060805260136040527f566f74652d457363726f77656420426f6f7374000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b6395d89b418118610ade5760208060805260076040527f7665426f6f7374000000000000000000000000000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b63313ce5678118610af457601260405260206040f35b635d14140a8118610b1357602061171360003960005160405260206040f35b633644e5158118610b3257602061173360003960005160405260206040f35b63c863657d8118610b5157602061175360003960005160405260206040f35b63dd62ed3e8118610ba3576004358060a01c61170e576040526024358060a01c61170e576060526000604051602052600052604060002080606051602052600052604060002090505460805260206080f35b637ecebe008118610bd6576004358060a01c61170e57604052600160405160205260005260406000205460605260206060f35b63f3598ad98118610c1b576004358060a01c61170e576040526002604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b63356a46808118610c5f576004358060a01c61170e576040526003604051602052600052604060002080602435602052600052604060002090505460605260206060f35b63df0cb9348118610ca4576004358060a01c61170e576040526004604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b635ad600c98118610ce8576004358060a01c61170e576040526005604051602052600052604060002080602435602052600052604060002090505460605260206060f35b630e359f168118610d0d57600660043560205260005260406000205460405260206040f35b505b60006000fd5b606036608037606051610d4d57600460405160205260005260406000208054608052600181015460a052600281015460c05250610d74565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610d80574260c0525b4260c05118610da457608051815260a051602082015260c051604082015250610ef2565b60c05162093a808082049050905062093a8080820282158284830414171561170e579050905060e052600060ff905b806101005260e05162093a80818183011061170e578082019050905060e05260006101205260e0514210610e5e57606051610e3357600560405160205260005260406000208060e051602052600052604060002090505461012052610e63565b600360405160205260005260406000208060e051602052600052604060002090505461012052610e63565b4260e0525b60805160a05160e05160c05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905060805260a0516101205180821061170e578082039050905060a05260e05160c0524260e05118610ece57610ed9565b600101818118610dd3575b5050608051815260a051602082015260c0516040820152505b565b606036608037606051610f2c57600460405160205260005260406000208054608052600181015460a052600281015460c05250610f53565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610f5f574260c0525b4260c05118610f8357608051815260a051602082015260c051604082015250611152565b600060e05260c05162093a808082049050905062093a8080820282158284830414171561170e579050905061010052600060ff905b80610120526101005162093a80818183011061170e5780820190509050610100526000610140526101005142106110485760605161101c5760056040516020526000526040600020806101005160205260005260406000209050546101405261104e565b60036040516020526000526040600020806101005160205260005260406000209050546101405261104e565b42610100525b60a0516101005160c05180821061170e578082039050905080820282158284830414171561170e57905090506101605260e05161016051818183011061170e578082019050905060e0526080516101605180821061170e578082039050905060805260a0516101405180821061170e578082039050905060a0526101005160c0524261010051186110de576110e9565b600101818118610fb8575b5050606051156110fa576000611102565b600060e05114155b1561113b5760006040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a35b608051815260a051602082015260c0516040820152505b565b6370a0823161018052610140516101a0526020610180602461019c60206117536000396000515afa61118b573d600060003e3d6000fd5b60203d1061170e5761018051610160526101405160405260016060526111b26101e0610d15565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905080821061170e5780820390509050610160526101405160405260006060526112386101e0610d15565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e5780820390509050818183011061170e57808201905090506101605261016051815250565b6101a051610180516102205260006102405260016102005260006002905b60208102610220015183186112ea576000610200526112f5565b6001018181186112d0575b50506102005190501561170e5760006101c0511461170e57426101e051111561170e576101e05162093a808082069050905061170e5763adc635896102005261018051610220526020610200602461021c60206117536000396000515afa611362573d600060003e3d6000fd5b60203d1061170e57610200516101e0511161170e5761018051604052600160605261138e610260610ef4565b610260805161020052602081015161022052604081015161024052506370a082316102605261018051610280526020610260602461027c60206117536000396000515afa6113e1573d600060003e3d6000fd5b60203d1061170e57610260516102005161022051426102405180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905080821061170e57808203905090506101c0511161170e576101c0516101e0514280821061170e578082039050905080801561170e5782049050905061026052610260516101e0514280821061170e578082039050905080820282158284830414171561170e5790509050610280526102005161028051818183011061170e5780820190509050610200526102205161026051818183011061170e5780820190509050610220526002610180516020526000526040600020610200518155610220516001820155610240516002820155506003610180516020526000526040600020806101e05160205260005260406000209050805461026051818183011061170e57808201905090508155506101a051604052600060605261154d6102a0610ef4565b6102a0805161020052602081015161022052604081015161024052506102005161028051818183011061170e5780820190509050610200526102205161026051818183011061170e57808201905090506102205260046101a05160205260005260406000206102005181556102205160018201556102405160028201555060056101a0516020526000526040600020806101e05160205260005260406000209050805461026051818183011061170e57808201905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c0516102a05260206102a0a36101a051610180517f9c0aa947e19ab1e2400ff167e2cb40414b570fdaf31ab646a16749ca3c4301ad610280516102a052610260516102c052426102e05260606102a0a360046101805160205260005260406000206101805160405260006060526116aa6102a0610ef4565b6102a0805182556020810151600183015560408101516002830155505060026101a05160205260005260406000206101a05160405260016060526116ef6102a0610ef4565b6102a08051825560208101516001830155604081015160028301555050565b600080fd005b600080fd000000000000000000000000d30dd0b919cb4012b3add78f6dcb6eb7ef225ac80000000000000000000000005f3b5dfeb7b28cdbd7faba78963ee202a494e2a2

Deployed Bytecode

0x600436101561000d57610d0f565b60003560e01c3461170e5763a2114cdb811861002d573361032052610048565b63b4b3c2498118610154576064358060a01c61170e57610320525b6004358060a01c61170e576103005233610320511461012c57600061032051602052600052604060002080336020526000526040600020905054610340527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610340511461012c576103405160243580821061170e578082039050905060006103205160205260005260406000208033602052600052604060002090505533610320517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256103405160243580821061170e5780820390509050610360526020610360a35b6103205161018052610300516101a0526024356101c0526044356101e0526101526112b2565b005b63454b060881186102ba57600660043560205260005260406000205461170e5760043560601c8060a01c61170e5761018052636352211e61030052600435610320526020610300602461031c60206117136000396000515afa6101bc573d600060003e3d6000fd5b60203d1061170e57610300518060a01c61170e5761034052610340516101a05263f01e4f0b61036052600435610380526020610360602461037c60206117136000396000515afa610212573d600060003e3d6000fd5b60203d1061170e5761036051806000811261170e5790506101c052636d1ac9b56103a0526004356103c05260206103a060246103bc60206117136000396000515afa610263573d600060003e3d6000fd5b60203d1061170e576103a0516101e05261027b6112b2565b600160066004356020526000526040600020556004357fd5837b673ffaac69230366d3f7eb7cb2ba2b9fd8f2d4e9d0f5e92d3756b1d5466000610300a2005b637de680618118610360576004358060a01c61170e576101805260026101805160205260005260406000206101805160405260016060526102fc6101a0610ef4565b6101a0805182556020810151600183015560408101516002830155505060046101805160205260005260406000206101805160405260006060526103416101a0610ef4565b6101a08051825560208101516001830155604081015160028301555050005b63095ea7b381186103d7576004358060a01c61170e576040526024356000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b63d505accf81186105c9576004358060a01c61170e576040526024358060a01c61170e576060526084358060081c61170e5760805260006040511461170e57606435421161170e57600160405160205260005260406000205460a05260006002610360527f19010000000000000000000000000000000000000000000000000000000000006103805261036080516020820183610580018151815250508083019250505060206117336000396000518161058001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96104a0526040516104c0526060516104e0526044356105005260a051610520526064356105405260c0610480526104808051602082012090508161058001526020810190508061056052610560905080516020820120905060c05260405160c05160e0526080516101005260a4356101205260c4356101405260206000608060e060015afa506000511861170e576044356000604051602052600052604060002080606051602052600052604060002090505560a0516001818183011061170e578082019050905060016040516020526000526040600020556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560443560e052602060e0a3600160e052602060e0f35b63395093518118610676576004358060a01c61170e576040526000336020526000526040600020806040516020526000526040600020905054602435818183011061170e57808201905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b63a457c2d78118610721576004358060a01c61170e57604052600033602052600052604060002080604051602052600052604060002090505460243580821061170e57808203905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b6370a082318118610755576004358060a01c61170e576102405260206102405161014052610750610260611154565b610260f35b63bbf7408a8118610789576004358060a01c61170e576102405260206102405161014052610784610260611154565b610260f35b6318160ddd81186107ce5760206318160ddd604052602060406004605c60206117536000396000515afa6107c2573d600060003e3d6000fd5b60203d1061170e576040f35b630a767cc68118610863576004358060a01c61170e57610140526101405160405260016060526107ff6101c0610d15565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e57808203905090506101c05260206101c0f35b6322c18bb681186108f8576004358060a01c61170e57610140526101405160405260006060526108946101c0610d15565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e57808203905090506101c05260206101c0f35b63ca83094681186109de576004358060a01c61170e57610140526101405160405260016060526109296101c0610d15565b6101c080516101605260208101516101805260408101516101a052506370a082316101c052610140516101e05260206101c060246101dc60206117536000396000515afa61097c573d600060003e3d6000fd5b60203d1061170e576101c0516101605161018051426101a05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905080821061170e5780820390509050610200526020610200f35b6306fdde038118610a5e5760208060805260136040527f566f74652d457363726f77656420426f6f7374000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b6395d89b418118610ade5760208060805260076040527f7665426f6f7374000000000000000000000000000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b63313ce5678118610af457601260405260206040f35b635d14140a8118610b1357602061171360003960005160405260206040f35b633644e5158118610b3257602061173360003960005160405260206040f35b63c863657d8118610b5157602061175360003960005160405260206040f35b63dd62ed3e8118610ba3576004358060a01c61170e576040526024358060a01c61170e576060526000604051602052600052604060002080606051602052600052604060002090505460805260206080f35b637ecebe008118610bd6576004358060a01c61170e57604052600160405160205260005260406000205460605260206060f35b63f3598ad98118610c1b576004358060a01c61170e576040526002604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b63356a46808118610c5f576004358060a01c61170e576040526003604051602052600052604060002080602435602052600052604060002090505460605260206060f35b63df0cb9348118610ca4576004358060a01c61170e576040526004604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b635ad600c98118610ce8576004358060a01c61170e576040526005604051602052600052604060002080602435602052600052604060002090505460605260206060f35b630e359f168118610d0d57600660043560205260005260406000205460405260206040f35b505b60006000fd5b606036608037606051610d4d57600460405160205260005260406000208054608052600181015460a052600281015460c05250610d74565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610d80574260c0525b4260c05118610da457608051815260a051602082015260c051604082015250610ef2565b60c05162093a808082049050905062093a8080820282158284830414171561170e579050905060e052600060ff905b806101005260e05162093a80818183011061170e578082019050905060e05260006101205260e0514210610e5e57606051610e3357600560405160205260005260406000208060e051602052600052604060002090505461012052610e63565b600360405160205260005260406000208060e051602052600052604060002090505461012052610e63565b4260e0525b60805160a05160e05160c05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905060805260a0516101205180821061170e578082039050905060a05260e05160c0524260e05118610ece57610ed9565b600101818118610dd3575b5050608051815260a051602082015260c0516040820152505b565b606036608037606051610f2c57600460405160205260005260406000208054608052600181015460a052600281015460c05250610f53565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610f5f574260c0525b4260c05118610f8357608051815260a051602082015260c051604082015250611152565b600060e05260c05162093a808082049050905062093a8080820282158284830414171561170e579050905061010052600060ff905b80610120526101005162093a80818183011061170e5780820190509050610100526000610140526101005142106110485760605161101c5760056040516020526000526040600020806101005160205260005260406000209050546101405261104e565b60036040516020526000526040600020806101005160205260005260406000209050546101405261104e565b42610100525b60a0516101005160c05180821061170e578082039050905080820282158284830414171561170e57905090506101605260e05161016051818183011061170e578082019050905060e0526080516101605180821061170e578082039050905060805260a0516101405180821061170e578082039050905060a0526101005160c0524261010051186110de576110e9565b600101818118610fb8575b5050606051156110fa576000611102565b600060e05114155b1561113b5760006040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a35b608051815260a051602082015260c0516040820152505b565b6370a0823161018052610140516101a0526020610180602461019c60206117536000396000515afa61118b573d600060003e3d6000fd5b60203d1061170e5761018051610160526101405160405260016060526111b26101e0610d15565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905080821061170e5780820390509050610160526101405160405260006060526112386101e0610d15565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180821061170e578082039050905080820282158284830414171561170e579050905080821061170e5780820390509050818183011061170e57808201905090506101605261016051815250565b6101a051610180516102205260006102405260016102005260006002905b60208102610220015183186112ea576000610200526112f5565b6001018181186112d0575b50506102005190501561170e5760006101c0511461170e57426101e051111561170e576101e05162093a808082069050905061170e5763adc635896102005261018051610220526020610200602461021c60206117536000396000515afa611362573d600060003e3d6000fd5b60203d1061170e57610200516101e0511161170e5761018051604052600160605261138e610260610ef4565b610260805161020052602081015161022052604081015161024052506370a082316102605261018051610280526020610260602461027c60206117536000396000515afa6113e1573d600060003e3d6000fd5b60203d1061170e57610260516102005161022051426102405180821061170e578082039050905080820282158284830414171561170e579050905080821061170e578082039050905080821061170e57808203905090506101c0511161170e576101c0516101e0514280821061170e578082039050905080801561170e5782049050905061026052610260516101e0514280821061170e578082039050905080820282158284830414171561170e5790509050610280526102005161028051818183011061170e5780820190509050610200526102205161026051818183011061170e5780820190509050610220526002610180516020526000526040600020610200518155610220516001820155610240516002820155506003610180516020526000526040600020806101e05160205260005260406000209050805461026051818183011061170e57808201905090508155506101a051604052600060605261154d6102a0610ef4565b6102a0805161020052602081015161022052604081015161024052506102005161028051818183011061170e5780820190509050610200526102205161026051818183011061170e57808201905090506102205260046101a05160205260005260406000206102005181556102205160018201556102405160028201555060056101a0516020526000526040600020806101e05160205260005260406000209050805461026051818183011061170e57808201905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c0516102a05260206102a0a36101a051610180517f9c0aa947e19ab1e2400ff167e2cb40414b570fdaf31ab646a16749ca3c4301ad610280516102a052610260516102c052426102e05260606102a0a360046101805160205260005260406000206101805160405260006060526116aa6102a0610ef4565b6102a0805182556020810151600183015560408101516002830155505060026101a05160205260005260406000206101a05160405260016060526116ef6102a0610ef4565b6102a08051825560208101516001830155604081015160028301555050565b600080fd000000000000000000000000d30dd0b919cb4012b3add78f6dcb6eb7ef225ac8f7fec3bcdf66ea5177abaa39c13228857f988827098e7f44ea5ecc785492c0a00000000000000000000000005f3b5dfeb7b28cdbd7faba78963ee202a494e2a2

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

000000000000000000000000d30dd0b919cb4012b3add78f6dcb6eb7ef225ac80000000000000000000000005f3b5dfeb7b28cdbd7faba78963ee202a494e2a2

-----Decoded View---------------
Arg [0] : _boost_v1 (address): 0xd30DD0B919cB4012b3AdD78f6Dcb6eb7ef225Ac8
Arg [1] : _ve (address): 0x5f3b5DfEb7B28CDbD7FAba78963EE202a494e2A2

-----Encoded View---------------
2 Constructor Arguments found :
Arg [0] : 000000000000000000000000d30dd0b919cb4012b3add78f6dcb6eb7ef225ac8
Arg [1] : 0000000000000000000000005f3b5dfeb7b28cdbd7faba78963ee202a494e2a2


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.