ETH Price: $3,279.61 (-3.93%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve216563122025-01-19 5:01:476 days ago1737262907IN
0xD37A6aa3...0695A23CD
0 ETH0.0006739514.6
Approve216250492025-01-14 20:14:5910 days ago1736885699IN
0xD37A6aa3...0695A23CD
0 ETH0.00040178.70230136
Approve216086652025-01-12 13:19:1112 days ago1736687951IN
0xD37A6aa3...0695A23CD
0 ETH0.00005732.4
Approve214725432024-12-24 13:11:4731 days ago1735045907IN
0xD37A6aa3...0695A23CD
0 ETH0.000337437.30987195
Approve214168092024-12-16 18:15:2339 days ago1734372923IN
0xD37A6aa3...0695A23CD
0 ETH0.0011406724.85303266
Approve214086612024-12-15 14:57:4740 days ago1734274667IN
0xD37A6aa3...0695A23CD
0 ETH0.000405278.77962145
Approve213497842024-12-07 9:40:2349 days ago1733564423IN
0xD37A6aa3...0695A23CD
0 ETH0.0005972512.93854867
Approve213482082024-12-07 4:23:4749 days ago1733545427IN
0xD37A6aa3...0695A23CD
0 ETH0.0004882410.63774251
Approve213481292024-12-07 4:07:5949 days ago1733544479IN
0xD37A6aa3...0695A23CD
0 ETH0.0003229612.29831485
Approve213481282024-12-07 4:07:4749 days ago1733544467IN
0xD37A6aa3...0695A23CD
0 ETH0.0005699912.34795926
Approve213468792024-12-06 23:56:5949 days ago1733529419IN
0xD37A6aa3...0695A23CD
0 ETH0.0007590316.44314748
Approve213462462024-12-06 21:48:5949 days ago1733521739IN
0xD37A6aa3...0695A23CD
0 ETH0.001149424.9
Approve213167602024-12-02 18:57:3553 days ago1733165855IN
0xD37A6aa3...0695A23CD
0 ETH0.0006705825.53528221
Approve212899932024-11-29 1:12:1157 days ago1732842731IN
0xD37A6aa3...0695A23CD
0 ETH0.000330837.20811216
Approve212777202024-11-27 7:53:1159 days ago1732693991IN
0xD37A6aa3...0695A23CD
0 ETH0.000366988
Approve212683472024-11-26 0:28:5960 days ago1732580939IN
0xD37A6aa3...0695A23CD
0 ETH0.000386168.36571889
Approve212529932024-11-23 21:01:4762 days ago1732395707IN
0xD37A6aa3...0695A23CD
0 ETH0.0004843310.49238834
Approve212523572024-11-23 18:53:3562 days ago1732388015IN
0xD37A6aa3...0695A23CD
0 ETH0.0005831512.63312003
Approve211593552024-11-10 19:26:4775 days ago1731266807IN
0xD37A6aa3...0695A23CD
0 ETH0.0014367431.12463076
Approve210142302024-10-21 13:23:4795 days ago1729517027IN
0xD37A6aa3...0695A23CD
0 ETH0.0004625310.08026308
Approve209222212024-10-08 17:01:11108 days ago1728406871IN
0xD37A6aa3...0695A23CD
0 ETH0.0014453331.31073154
Approve209215612024-10-08 14:48:59108 days ago1728398939IN
0xD37A6aa3...0695A23CD
0 ETH0.0017065236.96905641
Approve209214802024-10-08 14:32:47108 days ago1728397967IN
0xD37A6aa3...0695A23CD
0 ETH0.0016802636.40012061
Approve209214732024-10-08 14:31:23108 days ago1728397883IN
0xD37A6aa3...0695A23CD
0 ETH0.0016348235.41581529
Approve209214642024-10-08 14:29:35108 days ago1728397775IN
0xD37A6aa3...0695A23CD
0 ETH0.0016775336.34106437
View all transactions

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

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

Optimization Enabled:
N/A

Other Settings:
default evmVersion, MIT license

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

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

Deployed Bytecode

0x5f3560e01c60026015820660011b61179201601e395f51565b63dd62ed3e811861006f5760443610341761178e576004358060a01c61178e576040526024358060a01c61178e576060525f6040516020525f5260405f20806060516020525f5260405f2090505460805260206080f35b63a457c2d7811861011a5760443610341761178e576004358060a01c61178e576040525f336020525f5260405f20806040516020525f5260405f2090505460243580820382811161178e57905090506060526060515f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f35b6395d89b418118610dfa573461178e5760208060805260076040527f7665426f6f73740000000000000000000000000000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f3610dfa565b637ecebe0081146003361116156101dd5760243610341761178e576004358060a01c61178e5760405260016040516020525f5260405f205460605260206060f35b63c863657d8118610dfa573461178e5760206117dc60403960206040f3610dfa565b63f3598ad9811861024c5760243610341761178e576004358060a01c61178e5760405260026040516020525f5260405f2080546060526001810154608052600281015460a0525060606060f35b633644e5158118610dfa573461178e5760206117bc60403960206040f3610dfa565b63356a46808118610dfa5760443610341761178e576004358060a01c61178e5760405260036040516020525f5260405f20806024356020525f5260405f2090505460605260206060f3610dfa565b63df0cb93481186103095760243610341761178e576004358060a01c61178e5760405260046040516020525f5260405f2080546060526001810154608052600281015460a0525060606060f35b63ca83094681186103f75760243610341761178e576004358060a01c61178e57610140526101405160405260016060526103446101c0610dfe565b6101c080516101605260208101516101805260408101516101a0525060206117dc5f395f516370a082316101c052610140516101e05260206101c060246101dc845afa610393573d5f5f3e3d5ffd5b60203d1061178e576101c09050516101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e5790509050610200526020610200f35b6306fdde038118610dfa573461178e5760208060805260136040527f566f74652d457363726f77656420426f6f73740000000000000000000000000060605260408160800181518152602082015160208201528051806020830101601f825f03163682375050601f19601f8251602001011690509050810190506080f3610dfa565b635ad600c981186104c35760443610341761178e576004358060a01c61178e5760405260056040516020525f5260405f20806024356020525f5260405f2090505460605260206060f35b6318160ddd8118610dfa573461178e57602060206117dc5f395f516318160ddd604052602060406004605c845afa6104fd573d5f5f3e3d5ffd5b60203d1061178e5760409050f3610dfa565b63a2114cdb811861052e5760643610341761178e57336103805261075c565b63d505accf81186107185760e43610341761178e576004358060a01c61178e576040526024358060a01c61178e576060526084358060081c61178e576080526040511561178e57606435421161178e5760016040516020525f5260405f205460a0525f600260e0527f19010000000000000000000000000000000000000000000000000000000000006101005260e080516020820183610220018151815250508083019250505060206117bc8261022001396020810190507f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c96101405260405161016052606051610180526044356101a05260a0516101c0526064356101e05260c0610120526101208051602082012090508161022001526020810190508061020052610200905080516020820120905060c0526040515f6101605260c05160e0526080516101005260a4356101205260c435610140526020610160608060e060015afa50610160511861178e576044355f6040516020525f5260405f20806060516020525f5260405f2090505560a0516001810181811061178e57905060016040516020525f5260405f20556060516040517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560443560e052602060e0a3600160e052602060e0f35b63313ce5678118610dfa573461178e57601260405260206040f3610dfa565b63b4b3c24981186108585760843610341761178e576064358060a01c61178e57610380525b6004358060a01c61178e5761036052336103805114610836575f610380516020525f5260405f2080336020525f5260405f209050546103a0527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6103a05114610836576103a05160243580820382811161178e57905090505f610380516020525f5260405f2080336020525f5260405f2090505533610380517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9256103a05160243580820382811161178e57905090506103c05260206103c0a35b6103805161018052610360516101a052604060246101c03761085661135a565b005b63095ea7b38118610dfa5760443610341761178e576004358060a01c61178e576040526024355f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560243560605260206060a3600160605260206060f3610dfa565b637de680618118610dfa5760243610341761178e576004358060a01c61178e57610180526101805160405260016060526109136101a0610fc3565b6101a0805161020052602081015161022052604081015161024052506002610180516020525f5260405f2061020051815561022051600182015561024051600282015550610180516040525f60605261096d6101a0610fc3565b6101a0805161020052602081015161022052604081015161024052506004610180516020525f5260405f206102005181556102205160018201556102405160028201555000610dfa565b63395093518118610dfa5760443610341761178e576004358060a01c61178e576040525f336020525f5260405f20806040516020525f5260405f2090505460243580820182811061178e57905090506060526060515f336020525f5260405f20806040516020525f5260405f20905055604051337f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560605160805260206080a3600160805260206080f3610dfa565b6370a082318118610dfa5760243610341761178e576004358060a01c61178e576102405260206102405161014052610a9f610260611201565b610260f3610dfa565b63bbf7408a8118610dfa5760243610341761178e576004358060a01c61178e576102405260206102405161014052610ae1610260611201565b610260f3610dfa565b63c10ef6558118610dfa5760243610341761178e576004358060a01c61178e576101805260206117dc5f395f516370a082316101c052610180516101e05260206101c060246101dc845afa610b41573d5f5f3e3d5ffd5b60203d1061178e576101c09050516101a052610180516040526001606052610b6a610220610fc3565b61022080516101c05260208101516101e052604081015161020052506002610180516020525f5260405f206101c05181556101e0516001820155610200516002820155506101a0516101c0516101e051426102005180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e57905090506101a052610180516040525f606052610c17610220610fc3565b61022080516101c05260208101516101e052604081015161020052506004610180516020525f5260405f206101c05181556101e0516001820155610200516002820155506101a0516101c0516101e051426102005180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820182811061178e57905090506101a05260206101a0f3610dfa565b630a767cc68118610dfa5760243610341761178e576004358060a01c61178e5761014052610140516040526001606052610cf46101c0610dfe565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e57905090506101c05260206101c0f3610dfa565b6322c18bb68118610dfa5760243610341761178e576004358060a01c61178e5761014052610140516040525f606052610d966101c0610dfe565b6101c080516101605260208101516101805260408101516101a052506101605161018051426101a05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e57905090506101c05260206101c0f35b5f5ffd5b606036608037606051610e345760046040516020525f5260405f208054608052600181015460a052600281015460c05250610e59565b60026040516020525f5260405f208054608052600181015460a052600281015460c052505b60c051610e65574260c0525b4260c05118610e8957608051815260a051602082015260c051604082015250610fc1565b60c05162093a808104905062093a8081028162093a8082041861178e57905060e0525f60ff905b806101005260e05162093a80810181811061178e57905060e0525f6101205260e0514210610f2d57606051610f065760056040516020525f5260405f208060e0516020525f5260405f2090505461012052610f32565b60036040516020525f5260405f208060e0516020525f5260405f2090505461012052610f32565b4260e0525b60805160a05160e05160c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905060805260a0516101205180820382811161178e579050905060a05260e05160c0524260e05118610f9d57610fa8565b600101818118610eb0575b5050608051815260a051602082015260c0516040820152505b565b606036608037606051610ff95760046040516020525f5260405f208054608052600181015460a052600281015460c0525061101e565b60026040516020525f5260405f208054608052600181015460a052600281015460c052505b60c05161102a574260c0525b4260c0511861104e57608051815260a051602082015260c0516040820152506111ff565b5f60e05260c05162093a808104905062093a8081028162093a8082041861178e579050610100525f60ff905b80610120526101005162093a80810181811061178e579050610100525f610140526101005142106110fc576060516110d45760056040516020525f5260405f2080610100516020525f5260405f2090505461014052611102565b60036040516020525f5260405f2080610100516020525f5260405f2090505461014052611102565b42610100525b60a0516101005160c05180820382811161178e579050905080820281158383830414171561178e57905090506101605260e0516101605180820182811061178e579050905060e0526080516101605180820382811161178e579050905060805260a0516101405180820382811161178e579050905060a0526101005160c0524261010051186111905761119b565b60010181811861107a575b50506060516111ae5760e05115156111b0565b5f5b156111e8575f6040517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60e051610120526020610120a35b608051815260a051602082015260c0516040820152505b565b60206117dc5f395f516370a0823161018052610140516101a0526020610180602461019c845afa611234573d5f5f3e3d5ffd5b60203d1061178e576101809050516101605261014051604052600160605261125d6101e0610dfe565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e579050905061016052610140516040525f6060526112e26101e0610dfe565b6101e080516101805260208101516101a05260408101516101c0525061016051610180516101a051426101c05180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820182811061178e57905090506101605261016051815250565b6101a05161018051811461137057801515611372565b5f5b90501561178e576101c0511561178e57426101e051111561178e576101e05162093a808106905061178e5760206117dc5f395f5163adc635896102005261018051610220526020610200602461021c845afa6113d0573d5f5f3e3d5ffd5b60203d1061178e576102009050516101e0511161178e576101805160405260016060526113fe610260610fc3565b6102608051610200526020810151610220526040810151610240525060206117dc5f395f516370a082316102605261018051610280526020610260602461027c845afa61144d573d5f5f3e3d5ffd5b60203d1061178e576102609050516102005161022051426102405180820382811161178e579050905080820281158383830414171561178e579050905080820382811161178e579050905080820382811161178e57905090506101c0511161178e576101c0516101e0514280820382811161178e5790509050801561178e578082049050905061026052610260516101e0514280820382811161178e579050905080820281158383830414171561178e579050905061028052610200516102805180820182811061178e579050905061020052610220516102605180820182811061178e5790509050610220526002610180516020525f5260405f20610200518155610220516001820155610240516002820155506003610180516020525f5260405f20806101e0516020525f5260405f20905080546102605180820182811061178e57905090508155506101a0516040525f6060526115ae6102a0610fc3565b6102a080516102005260208101516102205260408101516102405250610200516102805180820182811061178e579050905061020052610220516102605180820182811061178e57905090506102205260046101a0516020525f5260405f206102005181556102205160018201556102405160028201555060056101a0516020525f5260405f20806101e0516020525f5260405f20905080546102605180820182811061178e57905090508155506101a051610180517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef6101c0516102a05260206102a0a36101a051610180517f9c0aa947e19ab1e2400ff167e2cb40414b570fdaf31ab646a16749ca3c4301ad610280516102a052610260516102c052426102e05260606102a0a3610180516040525f6060526116ed6102a0610fc3565b6102a0805161030052602081015161032052604081015161034052506004610180516020525f5260405f20610300518155610320516001820155610340516002820155506101a05160405260016060526117486102a0610fc3565b6102a08051610300526020810151610320526040810151610340525060026101a0516020525f5260405f2061030051815561032051600182015561034051600282015550565b5f80fd01ff0dfa0dfa019c08d80dfa00180a6607370cb902bc09b7050f0dfa0dfa026e0aea0d5c0aa804790dfa431715c16c921fd7263872254f3dd877e7b7146ec1b437eb0c567bb8b812df240000000000000000000000005f3b5dfeb7b28cdbd7faba78963ee202a494e2a2

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
[ Download: CSV Export  ]

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.