ETH Price: $2,420.06 (+0.76%)
Gas: 4.12 Gwei

Contract

0xa2E88993a0f0dc6e6020431477f3A70c86109bBf
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To

There are no matching entries

Please try again later

Latest 25 internal transactions (View All)

Advanced mode:
Parent Transaction Hash Block From To
208989442024-10-05 11:09:5914 hrs ago1728126599
0xa2E88993...c86109bBf
0 ETH
208989442024-10-05 11:09:5914 hrs ago1728126599
0xa2E88993...c86109bBf
0 ETH
208989442024-10-05 11:09:5914 hrs ago1728126599
0xa2E88993...c86109bBf
0 ETH
208989442024-10-05 11:09:5914 hrs ago1728126599
0xa2E88993...c86109bBf
0 ETH
208989442024-10-05 11:09:5914 hrs ago1728126599
0xa2E88993...c86109bBf
0 ETH
208989442024-10-05 11:09:5914 hrs ago1728126599
0xa2E88993...c86109bBf
0 ETH
208989242024-10-05 11:05:5914 hrs ago1728126359
0xa2E88993...c86109bBf
0 ETH
208989242024-10-05 11:05:5914 hrs ago1728126359
0xa2E88993...c86109bBf
0 ETH
208926912024-10-04 14:15:1135 hrs ago1728051311
0xa2E88993...c86109bBf
0 ETH
208926912024-10-04 14:15:1135 hrs ago1728051311
0xa2E88993...c86109bBf
0 ETH
208915992024-10-04 10:36:1139 hrs ago1728038171
0xa2E88993...c86109bBf
0 ETH
208915992024-10-04 10:36:1139 hrs ago1728038171
0xa2E88993...c86109bBf
0 ETH
208915992024-10-04 10:36:1139 hrs ago1728038171
0xa2E88993...c86109bBf
0 ETH
208915992024-10-04 10:36:1139 hrs ago1728038171
0xa2E88993...c86109bBf
0 ETH
208915992024-10-04 10:36:1139 hrs ago1728038171
0xa2E88993...c86109bBf
0 ETH
208915992024-10-04 10:36:1139 hrs ago1728038171
0xa2E88993...c86109bBf
0 ETH
208749122024-10-02 2:45:353 days ago1727837135
0xa2E88993...c86109bBf
0 ETH
208749122024-10-02 2:45:353 days ago1727837135
0xa2E88993...c86109bBf
0 ETH
208716452024-10-01 15:49:354 days ago1727797775
0xa2E88993...c86109bBf
0 ETH
208716452024-10-01 15:49:354 days ago1727797775
0xa2E88993...c86109bBf
0 ETH
208716452024-10-01 15:49:354 days ago1727797775
0xa2E88993...c86109bBf
0 ETH
208716452024-10-01 15:49:354 days ago1727797775
0xa2E88993...c86109bBf
0 ETH
208716452024-10-01 15:49:354 days ago1727797775
0xa2E88993...c86109bBf
0 ETH
208716452024-10-01 15:49:354 days ago1727797775
0xa2E88993...c86109bBf
0 ETH
208680232024-10-01 3:41:474 days ago1727754107
0xa2E88993...c86109bBf
0 ETH
View All Internal Transactions
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Boost Delegation V2

Compiler Version
vyper:0.3.3

Optimization Enabled:
N/A

Other Settings:
GNU GPLv3 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

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


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)


@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

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"},{"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":"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"}]}]

602061166e6000396000518060a01c611669576040527fd87cd6ef79d4e2b95e15ce8abf732db51ec771f1ca2edccf22a46c729ac56472610160527f576a762e50ddf4c74071046cf7b508f5d87c41676ea1b6c8bf07aba60e5b6306610180527fd61c1033330c368dfc371f5b1e7133f4794e104642e5a3c87aba7a6a3441c8ff6101a052466101c052306101e05260014303406102005260c0610140526101408051602082012090506300001569526040516300001589523360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600060605260206060a36115696100ff6300000000396115696040016300000000f3600436101561000d57610b65565b60003560e01c346115645763a2114cdb811861002d573361032052610048565b63b4b3c2498118610154576064358060a01c61156457610320525b6004358060a01c611564576103005233610320511461012c57600061032051602052600052604060002080336020526000526040600020905054610340527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610340511461012c5761034051602435808210611564578082039050905060006103205160205260005260406000208033602052600052604060002090505533610320517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925610340516024358082106115645780820390509050610360526020610360a35b6103205161018052610300516101a0526024356101c0526044356101e052610152611108565b005b637de6806181186101fa576004358060a01c611564576101805260026101805160205260005260406000206101805160405260016060526101966101a0610d4a565b6101a0805182556020810151600183015560408101516002830155505060046101805160205260005260406000206101805160405260006060526101db6101a0610d4a565b6101a08051825560208101516001830155604081015160028301555050005b63095ea7b38118610271576004358060a01c611564576040526024356000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b63d505accf8118610463576004358060a01c611564576040526024358060a01c611564576060526084358060081c6115645760805260006040511461156457606435421161156457600160405160205260005260406000205460a05260006002610360527f19010000000000000000000000000000000000000000000000000000000000006103805261036080516020820183610580018151815250508083019250505060206115696000396000518161058001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96104a0526040516104c0526060516104e0526044356105005260a051610520526064356105405260c0610480526104808051602082012090508161058001526020810190508061056052610560905080516020820120905060c05260405160c05160e0526080516101005260a4356101205260c4356101405260206000608060e060015afa5060005118611564576044356000604051602052600052604060002080606051602052600052604060002090505560a05160018181830110611564578082019050905060016040516020526000526040600020556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560443560e052602060e0a3600160e052602060e0f35b63395093518118610510576004358060a01c611564576040526000336020526000526040600020806040516020526000526040600020905054602435818183011061156457808201905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b63a457c2d781186105bb576004358060a01c61156457604052600033602052600052604060002080604051602052600052604060002090505460243580821061156457808203905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b6370a0823181186105ef576004358060a01c6115645761024052602061024051610140526105ea610260610faa565b610260f35b63bbf7408a8118610623576004358060a01c61156457610240526020610240516101405261061e610260610faa565b610260f35b6318160ddd81186106685760206318160ddd604052602060406004605c60206115896000396000515afa61065c573d600060003e3d6000fd5b60203d10611564576040f35b630a767cc681186106fd576004358060a01c61156457610140526101405160405260016060526106996101c0610b6b565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a0518082106115645780820390509050808202821582848304141715611564579050905080821061156457808203905090506101c05260206101c0f35b6322c18bb68118610792576004358060a01c611564576101405261014051604052600060605261072e6101c0610b6b565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a0518082106115645780820390509050808202821582848304141715611564579050905080821061156457808203905090506101c05260206101c0f35b63ca8309468118610878576004358060a01c61156457610140526101405160405260016060526107c36101c0610b6b565b6101c080516101605260208101516101805260408101516101a052506370a082316101c052610140516101e05260206101c060246101dc60206115896000396000515afa610816573d600060003e3d6000fd5b60203d10611564576101c0516101605161018051426101a0518082106115645780820390509050808202821582848304141715611564579050905080821061156457808203905090508082106115645780820390509050610200526020610200f35b6306fdde0381186108f85760208060805260136040527f566f74652d457363726f77656420426f6f7374000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b6395d89b4181186109785760208060805260076040527f7665426f6f7374000000000000000000000000000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b63313ce567811861098e57601260405260206040f35b633644e51581186109ad57602061156960003960005160405260206040f35b63c863657d81186109cc57602061158960003960005160405260206040f35b63dd62ed3e8118610a1e576004358060a01c611564576040526024358060a01c611564576060526000604051602052600052604060002080606051602052600052604060002090505460805260206080f35b637ecebe008118610a51576004358060a01c61156457604052600160405160205260005260406000205460605260206060f35b63f3598ad98118610a96576004358060a01c611564576040526002604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b63356a46808118610ada576004358060a01c611564576040526003604051602052600052604060002080602435602052600052604060002090505460605260206060f35b63df0cb9348118610b1f576004358060a01c611564576040526004604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b635ad600c98118610b63576004358060a01c611564576040526005604051602052600052604060002080602435602052600052604060002090505460605260206060f35b505b60006000fd5b606036608037606051610ba357600460405160205260005260406000208054608052600181015460a052600281015460c05250610bca565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610bd6574260c0525b4260c05118610bfa57608051815260a051602082015260c051604082015250610d48565b60c05162093a808082049050905062093a80808202821582848304141715611564579050905060e052600060ff905b806101005260e05162093a808181830110611564578082019050905060e05260006101205260e0514210610cb457606051610c8957600560405160205260005260406000208060e051602052600052604060002090505461012052610cb9565b600360405160205260005260406000208060e051602052600052604060002090505461012052610cb9565b4260e0525b60805160a05160e05160c05180821061156457808203905090508082028215828483041417156115645790509050808210611564578082039050905060805260a05161012051808210611564578082039050905060a05260e05160c0524260e05118610d2457610d2f565b600101818118610c29575b5050608051815260a051602082015260c0516040820152505b565b606036608037606051610d8257600460405160205260005260406000208054608052600181015460a052600281015460c05250610da9565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610db5574260c0525b4260c05118610dd957608051815260a051602082015260c051604082015250610fa8565b600060e05260c05162093a808082049050905062093a80808202821582848304141715611564579050905061010052600060ff905b80610120526101005162093a808181830110611564578082019050905061010052600061014052610100514210610e9e57606051610e7257600560405160205260005260406000208061010051602052600052604060002090505461014052610ea4565b600360405160205260005260406000208061010051602052600052604060002090505461014052610ea4565b42610100525b60a0516101005160c051808210611564578082039050905080820282158284830414171561156457905090506101605260e051610160518181830110611564578082019050905060e05260805161016051808210611564578082039050905060805260a05161014051808210611564578082039050905060a0526101005160c052426101005118610f3457610f3f565b600101818118610e0e575b505060605115610f50576000610f58565b600060e05114155b15610f915760006040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a35b608051815260a051602082015260c0516040820152505b565b6370a0823161018052610140516101a0526020610180602461019c60206115896000396000515afa610fe1573d600060003e3d6000fd5b60203d106115645761018051610160526101405160405260016060526110086101e0610b6b565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180821061156457808203905090508082028215828483041417156115645790509050808210611564578082039050905080821061156457808203905090506101605261014051604052600060605261108e6101e0610b6b565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c051808210611564578082039050905080820282158284830414171561156457905090508082106115645780820390509050818183011061156457808201905090506101605261016051815250565b6101a051610180516102205260006102405260016102005260006002905b60208102610220015183186111405760006102005261114b565b600101818118611126575b5050610200519050156115645760006101c0511461156457426101e0511115611564576101e05162093a80808206905090506115645763adc635896102005261018051610220526020610200602461021c60206115896000396000515afa6111b8573d600060003e3d6000fd5b60203d1061156457610200516101e05111611564576101805160405260016060526111e4610260610d4a565b610260805161020052602081015161022052604081015161024052506370a082316102605261018051610280526020610260602461027c60206115896000396000515afa611237573d600060003e3d6000fd5b60203d1061156457610260516102005161022051426102405180821061156457808203905090508082028215828483041417156115645790509050808210611564578082039050905080821061156457808203905090506101c05111611564576101c0516101e0514280821061156457808203905090508080156115645782049050905061026052610260516101e05142808210611564578082039050905080820282158284830414171561156457905090506102805261020051610280518181830110611564578082019050905061020052610220516102605181818301106115645780820190509050610220526002610180516020526000526040600020610200518155610220516001820155610240516002820155506003610180516020526000526040600020806101e05160205260005260406000209050805461026051818183011061156457808201905090508155506101a05160405260006060526113a36102a0610d4a565b6102a080516102005260208101516102205260408101516102405250610200516102805181818301106115645780820190509050610200526102205161026051818183011061156457808201905090506102205260046101a05160205260005260406000206102005181556102205160018201556102405160028201555060056101a0516020526000526040600020806101e05160205260005260406000209050805461026051818183011061156457808201905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c0516102a05260206102a0a36101a051610180517f9c0aa947e19ab1e2400ff167e2cb40414b570fdaf31ab646a16749ca3c4301ad610280516102a052610260516102c052426102e05260606102a0a360046101805160205260005260406000206101805160405260006060526115006102a0610d4a565b6102a0805182556020810151600183015560408101516002830155505060026101a05160205260005260406000206101a05160405260016060526115456102a0610d4a565b6102a08051825560208101516001830155604081015160028301555050565b600080fd005b600080fd0000000000000000000000000ab4bc35ef33089b9082ca7bb8657d7c4e819a1a

Deployed Bytecode

0x600436101561000d57610b65565b60003560e01c346115645763a2114cdb811861002d573361032052610048565b63b4b3c2498118610154576064358060a01c61156457610320525b6004358060a01c611564576103005233610320511461012c57600061032051602052600052604060002080336020526000526040600020905054610340527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610340511461012c5761034051602435808210611564578082039050905060006103205160205260005260406000208033602052600052604060002090505533610320517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925610340516024358082106115645780820390509050610360526020610360a35b6103205161018052610300516101a0526024356101c0526044356101e052610152611108565b005b637de6806181186101fa576004358060a01c611564576101805260026101805160205260005260406000206101805160405260016060526101966101a0610d4a565b6101a0805182556020810151600183015560408101516002830155505060046101805160205260005260406000206101805160405260006060526101db6101a0610d4a565b6101a08051825560208101516001830155604081015160028301555050005b63095ea7b38118610271576004358060a01c611564576040526024356000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f35b63d505accf8118610463576004358060a01c611564576040526024358060a01c611564576060526084358060081c6115645760805260006040511461156457606435421161156457600160405160205260005260406000205460a05260006002610360527f19010000000000000000000000000000000000000000000000000000000000006103805261036080516020820183610580018151815250508083019250505060206115696000396000518161058001526020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96104a0526040516104c0526060516104e0526044356105005260a051610520526064356105405260c0610480526104808051602082012090508161058001526020810190508061056052610560905080516020820120905060c05260405160c05160e0526080516101005260a4356101205260c4356101405260206000608060e060015afa5060005118611564576044356000604051602052600052604060002080606051602052600052604060002090505560a05160018181830110611564578082019050905060016040516020526000526040600020556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560443560e052602060e0a3600160e052602060e0f35b63395093518118610510576004358060a01c611564576040526000336020526000526040600020806040516020526000526040600020905054602435818183011061156457808201905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b63a457c2d781186105bb576004358060a01c61156457604052600033602052600052604060002080604051602052600052604060002090505460243580821061156457808203905090506060526060516000336020526000526040600020806040516020526000526040600020905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b6370a0823181186105ef576004358060a01c6115645761024052602061024051610140526105ea610260610faa565b610260f35b63bbf7408a8118610623576004358060a01c61156457610240526020610240516101405261061e610260610faa565b610260f35b6318160ddd81186106685760206318160ddd604052602060406004605c60206115896000396000515afa61065c573d600060003e3d6000fd5b60203d10611564576040f35b630a767cc681186106fd576004358060a01c61156457610140526101405160405260016060526106996101c0610b6b565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a0518082106115645780820390509050808202821582848304141715611564579050905080821061156457808203905090506101c05260206101c0f35b6322c18bb68118610792576004358060a01c611564576101405261014051604052600060605261072e6101c0610b6b565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a0518082106115645780820390509050808202821582848304141715611564579050905080821061156457808203905090506101c05260206101c0f35b63ca8309468118610878576004358060a01c61156457610140526101405160405260016060526107c36101c0610b6b565b6101c080516101605260208101516101805260408101516101a052506370a082316101c052610140516101e05260206101c060246101dc60206115896000396000515afa610816573d600060003e3d6000fd5b60203d10611564576101c0516101605161018051426101a0518082106115645780820390509050808202821582848304141715611564579050905080821061156457808203905090508082106115645780820390509050610200526020610200f35b6306fdde0381186108f85760208060805260136040527f566f74652d457363726f77656420426f6f7374000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b6395d89b4181186109785760208060805260076040527f7665426f6f7374000000000000000000000000000000000000000000000000006060526040816080018151808252602083016020830181518152505050805180602083010181600003601f163682375050601f19601f8251602001011690509050810190506080f35b63313ce567811861098e57601260405260206040f35b633644e51581186109ad57602061156960003960005160405260206040f35b63c863657d81186109cc57602061158960003960005160405260206040f35b63dd62ed3e8118610a1e576004358060a01c611564576040526024358060a01c611564576060526000604051602052600052604060002080606051602052600052604060002090505460805260206080f35b637ecebe008118610a51576004358060a01c61156457604052600160405160205260005260406000205460605260206060f35b63f3598ad98118610a96576004358060a01c611564576040526002604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b63356a46808118610ada576004358060a01c611564576040526003604051602052600052604060002080602435602052600052604060002090505460605260206060f35b63df0cb9348118610b1f576004358060a01c611564576040526004604051602052600052604060002080546060526001810154608052600281015460a0525060606060f35b635ad600c98118610b63576004358060a01c611564576040526005604051602052600052604060002080602435602052600052604060002090505460605260206060f35b505b60006000fd5b606036608037606051610ba357600460405160205260005260406000208054608052600181015460a052600281015460c05250610bca565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610bd6574260c0525b4260c05118610bfa57608051815260a051602082015260c051604082015250610d48565b60c05162093a808082049050905062093a80808202821582848304141715611564579050905060e052600060ff905b806101005260e05162093a808181830110611564578082019050905060e05260006101205260e0514210610cb457606051610c8957600560405160205260005260406000208060e051602052600052604060002090505461012052610cb9565b600360405160205260005260406000208060e051602052600052604060002090505461012052610cb9565b4260e0525b60805160a05160e05160c05180821061156457808203905090508082028215828483041417156115645790509050808210611564578082039050905060805260a05161012051808210611564578082039050905060a05260e05160c0524260e05118610d2457610d2f565b600101818118610c29575b5050608051815260a051602082015260c0516040820152505b565b606036608037606051610d8257600460405160205260005260406000208054608052600181015460a052600281015460c05250610da9565b600260405160205260005260406000208054608052600181015460a052600281015460c052505b60c051610db5574260c0525b4260c05118610dd957608051815260a051602082015260c051604082015250610fa8565b600060e05260c05162093a808082049050905062093a80808202821582848304141715611564579050905061010052600060ff905b80610120526101005162093a808181830110611564578082019050905061010052600061014052610100514210610e9e57606051610e7257600560405160205260005260406000208061010051602052600052604060002090505461014052610ea4565b600360405160205260005260406000208061010051602052600052604060002090505461014052610ea4565b42610100525b60a0516101005160c051808210611564578082039050905080820282158284830414171561156457905090506101605260e051610160518181830110611564578082019050905060e05260805161016051808210611564578082039050905060805260a05161014051808210611564578082039050905060a0526101005160c052426101005118610f3457610f3f565b600101818118610e0e575b505060605115610f50576000610f58565b600060e05114155b15610f915760006040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a35b608051815260a051602082015260c0516040820152505b565b6370a0823161018052610140516101a0526020610180602461019c60206115896000396000515afa610fe1573d600060003e3d6000fd5b60203d106115645761018051610160526101405160405260016060526110086101e0610b6b565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180821061156457808203905090508082028215828483041417156115645790509050808210611564578082039050905080821061156457808203905090506101605261014051604052600060605261108e6101e0610b6b565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c051808210611564578082039050905080820282158284830414171561156457905090508082106115645780820390509050818183011061156457808201905090506101605261016051815250565b6101a051610180516102205260006102405260016102005260006002905b60208102610220015183186111405760006102005261114b565b600101818118611126575b5050610200519050156115645760006101c0511461156457426101e0511115611564576101e05162093a80808206905090506115645763adc635896102005261018051610220526020610200602461021c60206115896000396000515afa6111b8573d600060003e3d6000fd5b60203d1061156457610200516101e05111611564576101805160405260016060526111e4610260610d4a565b610260805161020052602081015161022052604081015161024052506370a082316102605261018051610280526020610260602461027c60206115896000396000515afa611237573d600060003e3d6000fd5b60203d1061156457610260516102005161022051426102405180821061156457808203905090508082028215828483041417156115645790509050808210611564578082039050905080821061156457808203905090506101c05111611564576101c0516101e0514280821061156457808203905090508080156115645782049050905061026052610260516101e05142808210611564578082039050905080820282158284830414171561156457905090506102805261020051610280518181830110611564578082019050905061020052610220516102605181818301106115645780820190509050610220526002610180516020526000526040600020610200518155610220516001820155610240516002820155506003610180516020526000526040600020806101e05160205260005260406000209050805461026051818183011061156457808201905090508155506101a05160405260006060526113a36102a0610d4a565b6102a080516102005260208101516102205260408101516102405250610200516102805181818301106115645780820190509050610200526102205161026051818183011061156457808201905090506102205260046101a05160205260005260406000206102005181556102205160018201556102405160028201555060056101a0516020526000526040600020806101e05160205260005260406000209050805461026051818183011061156457808201905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c0516102a05260206102a0a36101a051610180517f9c0aa947e19ab1e2400ff167e2cb40414b570fdaf31ab646a16749ca3c4301ad610280516102a052610260516102c052426102e05260606102a0a360046101805160205260005260406000206101805160405260006060526115006102a0610d4a565b6102a0805182556020810151600183015560408101516002830155505060026101a05160205260005260406000206101a05160405260016060526115456102a0610d4a565b6102a08051825560208101516001830155604081015160028301555050565b600080fdd44caa9a31964c3c111d0a038d8c458f85ca46be707ee57573e5dd9e4c31d3f10000000000000000000000000ab4bc35ef33089b9082ca7bb8657d7c4e819a1a

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

0000000000000000000000000ab4bc35ef33089b9082ca7bb8657d7c4e819a1a

-----Decoded View---------------
Arg [0] : _ve (address): 0x0aB4bC35Ef33089B9082Ca7BB8657D7c4E819a1A

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 0000000000000000000000000ab4bc35ef33089b9082ca7bb8657d7c4e819a1a


Block Transaction Difficulty Gas Used Reward
View All Blocks Produced

Block Uncle Number Difficulty Gas Used Reward
View All Uncles
Loading...
Loading
Loading...
Loading

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
Loading...
Loading

A contract address hosts a smart contract, which is a set of code stored on the blockchain that runs when predetermined conditions are met. Learn more about addresses in our Knowledge Base.