ETH Price: $1,800.71 (+10.62%)
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Approve222379522025-04-10 10:32:4712 days ago1744281167IN
0xD37A6aa3...0695A23CD
0 ETH0.000015750.6
Approve222379482025-04-10 10:31:5912 days ago1744281119IN
0xD37A6aa3...0695A23CD
0 ETH0.000024210.52465553
Approve222365672025-04-10 5:54:5913 days ago1744264499IN
0xD37A6aa3...0695A23CD
0 ETH0.000022630.94787436
Approve222006852025-04-05 5:39:4718 days ago1743831587IN
0xD37A6aa3...0695A23CD
0 ETH0.000041560.90043124
Approve221967472025-04-04 16:27:3518 days ago1743784055IN
0xD37A6aa3...0695A23CD
0 ETH0.00008231.7829088
Approve221924362025-04-04 2:02:1119 days ago1743732131IN
0xD37A6aa3...0695A23CD
0 ETH0.000034411.31056572
Approve221904482025-04-03 19:23:3519 days ago1743708215IN
0xD37A6aa3...0695A23CD
0 ETH0.00007031.53310316
Approve221721032025-04-01 5:55:4722 days ago1743486947IN
0xD37A6aa3...0695A23CD
0 ETH0.000017530.37996499
Approve221548692025-03-29 20:12:2324 days ago1743279143IN
0xD37A6aa3...0695A23CD
0 ETH0.000043950.95224983
Approve219662922025-03-03 12:15:3550 days ago1741004135IN
0xD37A6aa3...0695A23CD
0 ETH0.000033090.71699963
Approve219508562025-03-01 8:35:1152 days ago1740818111IN
0xD37A6aa3...0695A23CD
0 ETH0.000030520.66135585
Approve219439582025-02-28 9:30:2353 days ago1740735023IN
0xD37A6aa3...0695A23CD
0 ETH0.000140243.0381119
Approve218889392025-02-20 17:05:3561 days ago1740071135IN
0xD37A6aa3...0695A23CD
0 ETH0.00005892.24318662
Approve218889272025-02-20 17:03:1161 days ago1740070991IN
0xD37A6aa3...0695A23CD
0 ETH0.000103522.24272667
Approve217874452025-02-06 12:24:5975 days ago1738844699IN
0xD37A6aa3...0695A23CD
0 ETH0.000051021.10537582
Approve216563122025-01-19 5:01:4794 days ago1737262907IN
0xD37A6aa3...0695A23CD
0 ETH0.0006739514.6
Approve216250492025-01-14 20:14:5998 days ago1736885699IN
0xD37A6aa3...0695A23CD
0 ETH0.00040178.70230136
Approve216086652025-01-12 13:19:11100 days ago1736687951IN
0xD37A6aa3...0695A23CD
0 ETH0.00005732.4
Approve214725432024-12-24 13:11:47119 days ago1735045907IN
0xD37A6aa3...0695A23CD
0 ETH0.000337437.30987195
Approve214168092024-12-16 18:15:23127 days ago1734372923IN
0xD37A6aa3...0695A23CD
0 ETH0.0011406724.85303266
Approve214086612024-12-15 14:57:47128 days ago1734274667IN
0xD37A6aa3...0695A23CD
0 ETH0.000405278.77962145
Approve213497842024-12-07 9:40:23136 days ago1733564423IN
0xD37A6aa3...0695A23CD
0 ETH0.0005972512.93854867
Approve213482082024-12-07 4:23:47137 days ago1733545427IN
0xD37A6aa3...0695A23CD
0 ETH0.0004882410.63774251
Approve213481292024-12-07 4:07:59137 days ago1733544479IN
0xD37A6aa3...0695A23CD
0 ETH0.0003229612.29831485
Approve213481282024-12-07 4:07:47137 days ago1733544467IN
0xD37A6aa3...0695A23CD
0 ETH0.0005699912.34795926
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

API
[{"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.