Holesky Testnet

Contract

0x2d86C5855581194a386941806E38cA119E50aEA3

Overview

ETH Balance

0.957670070036589794 ETH

Multichain Info

N/A
Transaction Hash
Method
Block
From
To
Add_relay10778052024-03-05 14:36:12212 days ago1709649372IN
0x2d86C585...19E50aEA3
0 ETH0.000490911.00000001
Add_relay10778012024-03-05 14:35:24212 days ago1709649324IN
0x2d86C585...19E50aEA3
0 ETH0.000464521.00000001
Add_relay10777972024-03-05 14:34:24212 days ago1709649264IN
0x2d86C585...19E50aEA3
0 ETH0.000417911.00000001
Add_relay10777912024-03-05 14:33:12212 days ago1709649192IN
0x2d86C585...19E50aEA3
0 ETH0.000373981.00000001
Add_relay10777862024-03-05 14:32:12212 days ago1709649132IN
0x2d86C585...19E50aEA3
0 ETH0.000369841.00000001
Add_relay10777822024-03-05 14:31:12212 days ago1709649072IN
0x2d86C585...19E50aEA3
0 ETH0.000346511.00000001
Add_relay10777692024-03-05 14:28:36212 days ago1709648916IN
0x2d86C585...19E50aEA3
0 ETH0.000319491.00000001
Add_relay10777592024-03-05 14:26:12212 days ago1709648772IN
0x2d86C585...19E50aEA3
0 ETH0.000350271.00000001
0x602061151271232023-10-17 17:06:48352 days ago1697562408IN
 Create: MEV Boost Relay Allowed List
0 ETH0.003546312.82

View more zero value Internal Transactions in Advanced View mode

Advanced mode:
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
MEV Boost Relay Allowed List

Compiler Version
vyper:0.3.6

Optimization Enabled:
N/A

Other Settings:
MIT license

Contract Source Code (Vyper language format)

# @version 0.3.6
# @title MEV Boost Relay Allowed List
# @notice Storage of the allowed list MEV-Boost relays.
# @license MIT
# @author Lido <[email protected]>
# @dev Relay data modification is supposed to be done by remove and add,
#      to reduce the number of lines of code of the contract.


# The relay was added
event RelayAdded:
    uri_hash: indexed(String[MAX_STRING_LENGTH])
    relay: Relay

# The relay was removed
event RelayRemoved:
    uri_hash: indexed(String[MAX_STRING_LENGTH])
    uri: String[MAX_STRING_LENGTH]

# Emitted every time the allowed list is changed
event AllowedListUpdated:
    allowed_list_version: indexed(uint256)

# Emitted when the contract owner is changed
event OwnerChanged:
    new_owner: indexed(address)

# Emitted when the contract manager is set or dismissed
# When the manager is dismissed the address is zero
event ManagerChanged:
    new_manager: indexed(address)

# The ERC20 token was transferred from the contract to the recipient
event ERC20Recovered:
    # the token address
    token: indexed(address)
    # the token amount
    amount: uint256
    # recipient of the recovery token transfer
    recipient: indexed(address)


struct Relay:
    uri: String[MAX_STRING_LENGTH]
    operator: String[MAX_STRING_LENGTH]
    is_mandatory: bool
    description: String[MAX_STRING_LENGTH]


# Just some sane limit
MAX_STRING_LENGTH: constant(uint256) = 1024

# Just some sane limit
MAX_NUM_RELAYS: constant(uint256) = 40

# Can change the allowed list, change the manager and call recovery functions
owner: address

# Manager can change the allowed list as well as the owner
# Can be assigned and dismissed by the owner
# Zero manager means manager is not assigned
manager: address

# List of the relays. Order might be arbitrary
relays: DynArray[Relay, MAX_NUM_RELAYS]

# Incremented each time the list of relays is modified.
# Introduced to facilitate easy versioning of the allowed list
allowed_list_version: uint256


@external
def __init__(owner: address):
    assert owner != empty(address), "zero owner address"
    self.owner = owner


@view
@external
def get_relays_amount() -> uint256:
    """
    @notice Return number of the allowed relays
    @return The number of the allowed relays
    """
    return len(self.relays)


@view
@external
def get_owner() -> address:
    """Return the address of owner of the contract"""
    return self.owner


@view
@external
def get_manager() -> address:
    """Return the address of manager of the contract"""
    return self.manager


@view
@external
def get_relays() -> DynArray[Relay, MAX_NUM_RELAYS]:
    """Return list of the allowed relays"""
    return self.relays


@view
@external
def get_relay_by_uri(relay_uri: String[MAX_STRING_LENGTH]) -> Relay:
    """Find allowed relay by URI. Revert if no relay found"""
    index: uint256 = self._find_relay(relay_uri)
    assert index != max_value(uint256), "no relay with the URI"
    return self.relays[index]


@view
@external
def get_allowed_list_version() -> uint256:
    """
    @notice Return version of the allowed list
    @dev The version is incremented on every relays list update
    """
    return self.allowed_list_version


@external
def add_relay(
    uri: String[MAX_STRING_LENGTH],
    operator: String[MAX_STRING_LENGTH],
    is_mandatory: bool,
    description: String[MAX_STRING_LENGTH]
):
    """
    @notice Add relay to the allowed list. Can be executed only by the owner or
            manager. Reverts if relay with the URI is already allowed.
    @param uri URI of the relay. Must be non-empty
    @param operator Name of the relay operator
    @param is_mandatory If the relay is mandatory for usage for Lido Node Operator
    @param description Description of the relay in free format
    """
    self._check_sender_is_owner_or_manager()
    assert uri != empty(String[MAX_STRING_LENGTH]), "relay URI must not be empty"
    assert len(self.relays) < MAX_NUM_RELAYS, "already max number of relays"

    index: uint256 = self._find_relay(uri)
    assert index == max_value(uint256), "relay with the URI already exists"

    relay: Relay = Relay({
        uri: uri,
        operator: operator,
        is_mandatory: is_mandatory,
        description: description,
    })
    self.relays.append(relay)
    self._bump_version()

    log RelayAdded(uri, relay)


@external
def remove_relay(uri: String[MAX_STRING_LENGTH]):
    """
    @notice Remove relay from the allowed list. Can be executed only by the the owner or
            manager. Reverts if there is no such relay.
            Order of the relays might get changed.
    @param uri URI of the relay. Must be non-empty
    """
    self._check_sender_is_owner_or_manager()
    assert uri != empty(String[MAX_STRING_LENGTH]), "relay URI must not be empty"

    num_relays: uint256 = len(self.relays)
    index: uint256 = self._find_relay(uri)
    assert index < num_relays, "no relay with the URI"

    if index != (num_relays - 1):
        self.relays[index] = self.relays[num_relays - 1]

    self.relays.pop()
    self._bump_version()

    log RelayRemoved(uri, uri)


@external
def change_owner(owner: address):
    """
    @notice Change contract owner.
    @param owner Address of the new owner. Must be non-zero and
           not same as the current owner.
    """
    self._check_sender_is_owner()
    assert owner != empty(address), "zero owner address"
    assert owner != self.owner, "same owner"

    self.owner = owner
    log OwnerChanged(owner)


@external
def set_manager(manager: address):
    """
    @notice Set contract manager. Zero address is not allowed.
            Can update manager if it is already set.
            Can be called only by the owner.
    @param manager Address of the new manager
    """
    self._check_sender_is_owner()
    assert manager != empty(address), "zero manager address"
    assert manager != self.manager, "same manager"

    self.manager = manager
    log ManagerChanged(manager)


@external
def dismiss_manager():
    """
    @notice Dismiss the manager. Reverts if no manager set.
            Can be called only by the owner.
    """
    self._check_sender_is_owner()
    assert self.manager != empty(address), "no manager set"

    self.manager = empty(address)
    log ManagerChanged(empty(address))


@external
def recover_erc20(token: address, amount: uint256, recipient: address):
    """
    @notice Transfer ERC20 tokens from the contract's balance to the recipient.
            Can be called only by the owner.
    @param token Address of the token to recover. Must be non-zero
    @param amount Amount of the token to recover
    @param recipient Recipient of the token transfer. Must be non-zero
    """
    self._check_sender_is_owner()
    assert token != empty(address), "zero token address"
    assert recipient != empty(address), "zero recipient address"
    assert token.is_contract, "eoa token address"

    if amount > 0:
        self._safe_erc20_transfer(token, recipient, amount)
        log ERC20Recovered(token, amount, recipient)


@external
def __default__():
    """Prevent receiving ether"""
    raise


@view
@internal
def _find_relay(uri: String[MAX_STRING_LENGTH]) -> uint256:
    index: uint256 = max_value(uint256)
    i: uint256 = 0
    for r in self.relays:
        if r.uri == uri:
            index = i
            break
        i = i + 1
    return index


@internal
def _check_sender_is_owner_or_manager():
    assert (
        msg.sender == self.owner
        or
        (msg.sender == self.manager and msg.sender != empty(address))
    ), "msg.sender not owner or manager"


@internal
def _check_sender_is_owner():
    assert msg.sender == self.owner, "msg.sender not owner"


@internal
def _bump_version():
   new_version: uint256 = self.allowed_list_version + 1
   self.allowed_list_version = new_version
   log AllowedListUpdated(new_version)


@internal
def _safe_erc20_transfer(token: address, recipient: address, amount: uint256):
    response: Bytes[32] = raw_call(
        token,
        concat(
            method_id("transfer(address,uint256)"),
            convert(recipient, bytes32),
            convert(amount, bytes32)
        ),
        max_outsize=32
    )
    if len(response) > 0:
        assert convert(response, bool), "erc20 transfer failed"

Contract ABI

[{"name":"RelayAdded","inputs":[{"name":"uri_hash","type":"string","indexed":true},{"name":"relay","type":"tuple","components":[{"name":"uri","type":"string"},{"name":"operator","type":"string"},{"name":"is_mandatory","type":"bool"},{"name":"description","type":"string"}],"indexed":false}],"anonymous":false,"type":"event"},{"name":"RelayRemoved","inputs":[{"name":"uri_hash","type":"string","indexed":true},{"name":"uri","type":"string","indexed":false}],"anonymous":false,"type":"event"},{"name":"AllowedListUpdated","inputs":[{"name":"allowed_list_version","type":"uint256","indexed":true}],"anonymous":false,"type":"event"},{"name":"OwnerChanged","inputs":[{"name":"new_owner","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"ManagerChanged","inputs":[{"name":"new_manager","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"name":"ERC20Recovered","inputs":[{"name":"token","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false},{"name":"recipient","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"owner","type":"address"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"get_relays_amount","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"get_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"get_manager","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"get_relays","inputs":[],"outputs":[{"name":"","type":"tuple[]","components":[{"name":"uri","type":"string"},{"name":"operator","type":"string"},{"name":"is_mandatory","type":"bool"},{"name":"description","type":"string"}]}]},{"stateMutability":"view","type":"function","name":"get_relay_by_uri","inputs":[{"name":"relay_uri","type":"string"}],"outputs":[{"name":"","type":"tuple","components":[{"name":"uri","type":"string"},{"name":"operator","type":"string"},{"name":"is_mandatory","type":"bool"},{"name":"description","type":"string"}]}]},{"stateMutability":"view","type":"function","name":"get_allowed_list_version","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"add_relay","inputs":[{"name":"uri","type":"string"},{"name":"operator","type":"string"},{"name":"is_mandatory","type":"bool"},{"name":"description","type":"string"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"remove_relay","inputs":[{"name":"uri","type":"string"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"change_owner","inputs":[{"name":"owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_manager","inputs":[{"name":"manager","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"dismiss_manager","inputs":[],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"recover_erc20","inputs":[{"name":"token","type":"address"},{"name":"amount","type":"uint256"},{"name":"recipient","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"fallback"}]

60206115ff6000396000518060a01c6115fa57604052346115fa5760405161007e5760126060527f7a65726f206f776e65722061646472657373000000000000000000000000000060805260605060605180608001601f826000031636823750506308c379a06020526020604052601f19601f6060510116604401603cfd5b60405160005561156361009661000039611563610000f36003361161000c57611181565b60003560e01c346115515763312c3165811861003657600436186115515760025460405260206040f35b630ac298dc811861005557600436186115515760005460405260206040f35b639e4a0fc4811861007457600436186115515760015460405260206040f35b6304e469ea81186102545760043618611551576020806040528060400160006002548083528060051b6000826028811161155157801561024057905b828160051b60208801015260648102600301836020880101608080825280820183548082526001850160208301600083601f0160051c6020811161155157801561010c57905b808401548160051b8401526001018181186100f6575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190508060208301526021830181830181548082526001830160208301600083601f0160051c6020811161155157801561018057905b808401548160051b84015260010181811861016a575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050604283015460408301528060608301526043830181830181548082526001830160208301600083601f0160051c6020811161155157801561020057905b808401548160051b8401526001018181186101ea575b50505050508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905090509050830192506001018181186100b0575b505082016020019150509050810190506040f35b63f5f33c7b81186104b457604436106115515760043560040161040081351161155157803580611120526020820181816111403750505061112051806040528060608261114060045afa50506102ab611560611187565b61156051611540526115405119610322576015611560527f6e6f2072656c61792077697468207468652055524900000000000000000000006115805261156050611560518061158001601f826000031636823750506308c379a061152052602061154052601f19601f61156051011660440161153cfd5b6020806115605260646115405160025481101561155157026003018161156001608080825280820183548082526001850160208301600083601f0160051c6020811161155157801561038657905b808401548160051b840152600101818118610370575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190508060208301526021830181830181548082526001830160208301600083601f0160051c602081116115515780156103fa57905b808401548160051b8401526001018181186103e4575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050604283015460408301528060608301526043830181830181548082526001830160208301600083601f0160051c6020811161155157801561047a57905b808401548160051b840152600101818118610464575b50505050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190509050905081019050611560f35b6376650ad381186104d4576004361861155157610fa35460405260206040f35b632e21ecef81186109805760e43610611551576004356004016104008135116115515780358061112052602082018181611140375050506024356004016104008135116115515780358061154052602082018181611560375050506044358060011c611551576119605260643560040161040081351161155157803580611980526020820181816119a03750505061056a6112ed565b6000611da052611da08051602082012090506111205161114020186105ef57601b6121c0527f72656c617920555249206d757374206e6f7420626520656d70747900000000006121e0526121c0506121c051806121e001601f826000031636823750506308c379a06121805260206121a052601f19601f6121c051011660440161219cfd5b6027600254111561066057601c611da0527f616c7265616479206d6178206e756d626572206f662072656c61797300000000611dc052611da050611da05180611dc001601f826000031636823750506308c379a0611d60526020611d8052601f19601f611da0510116604401611d7cfd5b61112051806040528060608261114060045afa5050610680611dc0611187565b611dc051611da052611da051191561071d576021611dc0527f72656c61792077697468207468652055524920616c7265616479206578697374611de0527f7300000000000000000000000000000000000000000000000000000000000000611e0052611dc050611dc05180611de001601f826000031636823750506308c379a0611d80526020611da052601f19601f611dc0510116604401611d9cfd5b6111205180611dc05280611de08261114060045afa505061154051806121e052806122008261156060045afa5050611960516126005261198051806126205280612640826119a060045afa505060025460278111611551576001810160025560648102600301611dc05180825560018201600082601f0160051c602081116115515780156107bf57905b8060051b611de00151818401556001018181186107a7575b505050506121e05180602183015560016021830101600082601f0160051c6020811161155157801561080557905b8060051b6122000151818401556001018181186107ed575b505050506126005160428201556126205180604383015560016043830101600082601f0160051c6020811161155157801561085457905b8060051b61264001518184015560010181811861083c575b505050505050610862611374565b61112051611140207feee5faa84d45af657ab405cdbf2c6a8a6d466e83fa694a358fee5ff84431d0bf602080612a405280612a40016080808252808201611dc05180825260208201818183611de060045afa5050508051806020830101601f82600003163682375050601f19601f825160200101169050810190508060208301528082016121e0518082526020820181818361220060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050612600516040830152806060830152808201612620518082526020820181818361264060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050905081019050612a40a2005b63f5a70a808118610ca45760443610611551576004356004016104008135116115515780358061112052602082018181611140375050506109bf6112ed565b600061154052611540805160208201209050611120516111402018610a4457601b611960527f72656c617920555249206d757374206e6f7420626520656d70747900000000006119805261196050611960518061198001601f826000031636823750506308c379a061192052602061194052601f19601f61196051011660440161193cfd5b6002546115405261112051806040528060608261114060045afa5050610a6b611580611187565b6115805161156052611540516115605110610ae6576015611580527f6e6f2072656c61792077697468207468652055524900000000000000000000006115a0526115805061158051806115a001601f826000031636823750506308c379a061154052602061156052601f19601f61158051011660440161155cfd5b61154051600181038181116115515790506115605114610c1257606461156051600254811015611551570260030160646115405160018103818111611551579050600254811015611551570260030180548083556001820160018401600083601f0160051c60208111611551578015610b6e57905b8084015481840155600101818118610b5b575b50505050506021810180548060218501556001820160016021860101600083601f0160051c60208111611551578015610bb657905b8084015481840155600101818118610ba3575b505050505050604281015460428301556043810180548060438501556001820160016043860101600083601f0160051c60208111611551578015610c0957905b8084015481840155600101818118610bf6575b50505050505050505b6001600254801561155157038060025550610c2b611374565b61112051611140207fef756634af7ee7210f786ec0f91930afa63fda84d9ff6493ae681c332055dadb602080611580528061158001611120518082526020820181818361114060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050611580a2005b63253c8bd48118610dca5760243618611551576004358060a01c61155157608052610ccd6113ba565b608051610d3157601260a0527f7a65726f206f776e65722061646472657373000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b60005460805118610d9957600a60a0527f73616d65206f776e65720000000000000000000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b6080516000556080517fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf36600060a0a2005b639aece83e8118610ef05760243618611551576004358060a01c61155157608052610df36113ba565b608051610e5757601460a0527f7a65726f206d616e61676572206164647265737300000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b60015460805118610ebf57600c60a0527f73616d65206d616e61676572000000000000000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b6080516001556080517f198db6e425fb8aafd1823c6ca50be2d51e5764571a5ae0f0f21c6812e45def0b600060a0a2005b63417a02b48118610f9e576004361861155157610f0b6113ba565b600154610f6f57600e6080527f6e6f206d616e616765722073657400000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b600060015560007f198db6e425fb8aafd1823c6ca50be2d51e5764571a5ae0f0f21c6812e45def0b60006080a2005b63edd885b4811861117f5760643618611551576004358060a01c611551576101e0526044358060a01c6115515761020052610fd76113ba565b6101e051611045576012610220527f7a65726f20746f6b656e206164647265737300000000000000000000000000006102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b610200516110b3576016610220527f7a65726f20726563697069656e742061646472657373000000000000000000006102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b6101e0513b611122576011610220527f656f6120746f6b656e20616464726573730000000000000000000000000000006102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b6024351561117d576101e05160405261020051606052602435608052611146611423565b610200516101e0517f8619312ed4eff1cf9f0116e6db2f49d9570a86f0350d1c5ad1bd0f7b0cf9e132602435610220526020610220a35b005b505b60006000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610460526000610480526000600254602881116115515780156112e257905b606481026003018054806104a05260018201600082601f0160051c6020811161155157801561120a57905b808301548160051b6104c001526001018181186111f2575b50505050602181018054806108c05260018201600082601f0160051c6020811161155157801561124e57905b808301548160051b6108e00152600101818118611236575b50505050506042810154610ce05260438101805480610d005260018201600082601f0160051c6020811161155157801561129c57905b808301548160051b610d200152600101818118611284575b5050505050506040516060206104a0516104c020186112c25761048051610460526112e2565b6104805160018101818110611551579050610480526001018181186111c7575b505061046051815250565b60005433186112fd576001611311565b600154331861130e57331515611311565b60005b61137257601f6040527f6d73672e73656e646572206e6f74206f776e6572206f72206d616e616765720060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b565b610fa35460018101818110611551579050604052604051610fa3556040517f49f5627aa055ec3fcd474f99c8b7799b798c04af7b9f215305512c867e5a183960006060a2565b6000543318156114215760146040527f6d73672e73656e646572206e6f74206f776e657200000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b565b6000600460e0527fa9059cbb000000000000000000000000000000000000000000000000000000006101005260e08051602082018361014001815181525050808301925050506060518161014001526020810190506080518161014001526020810190508061012052610120505060206101c06101205161014060006040515af16114b3573d600060003e3d6000fd5b3d602081183d60201002186101a0526101a080518060a05260208201805160c05250505060a0511561154f5760c05160a05160200360031b1c61154f57601560e0527f6572633230207472616e73666572206661696c656400000000000000000000006101005260e05060e0518061010001601f826000031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b565b600080fda165767970657283000306000b005b600080fd000000000000000000000000e92329ec7ddb11d25e25b3c21eebf11f15eb325d

Deployed Bytecode

0x6003361161000c57611181565b60003560e01c346115515763312c3165811861003657600436186115515760025460405260206040f35b630ac298dc811861005557600436186115515760005460405260206040f35b639e4a0fc4811861007457600436186115515760015460405260206040f35b6304e469ea81186102545760043618611551576020806040528060400160006002548083528060051b6000826028811161155157801561024057905b828160051b60208801015260648102600301836020880101608080825280820183548082526001850160208301600083601f0160051c6020811161155157801561010c57905b808401548160051b8401526001018181186100f6575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190508060208301526021830181830181548082526001830160208301600083601f0160051c6020811161155157801561018057905b808401548160051b84015260010181811861016a575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050604283015460408301528060608301526043830181830181548082526001830160208301600083601f0160051c6020811161155157801561020057905b808401548160051b8401526001018181186101ea575b50505050508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905090509050830192506001018181186100b0575b505082016020019150509050810190506040f35b63f5f33c7b81186104b457604436106115515760043560040161040081351161155157803580611120526020820181816111403750505061112051806040528060608261114060045afa50506102ab611560611187565b61156051611540526115405119610322576015611560527f6e6f2072656c61792077697468207468652055524900000000000000000000006115805261156050611560518061158001601f826000031636823750506308c379a061152052602061154052601f19601f61156051011660440161153cfd5b6020806115605260646115405160025481101561155157026003018161156001608080825280820183548082526001850160208301600083601f0160051c6020811161155157801561038657905b808401548160051b840152600101818118610370575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050810190508060208301526021830181830181548082526001830160208301600083601f0160051c602081116115515780156103fa57905b808401548160051b8401526001018181186103e4575b50505050508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050604283015460408301528060608301526043830181830181548082526001830160208301600083601f0160051c6020811161155157801561047a57905b808401548160051b840152600101818118610464575b50505050508051806020830101601f82600003163682375050601f19601f8251602001011690509050810190509050905081019050611560f35b6376650ad381186104d4576004361861155157610fa35460405260206040f35b632e21ecef81186109805760e43610611551576004356004016104008135116115515780358061112052602082018181611140375050506024356004016104008135116115515780358061154052602082018181611560375050506044358060011c611551576119605260643560040161040081351161155157803580611980526020820181816119a03750505061056a6112ed565b6000611da052611da08051602082012090506111205161114020186105ef57601b6121c0527f72656c617920555249206d757374206e6f7420626520656d70747900000000006121e0526121c0506121c051806121e001601f826000031636823750506308c379a06121805260206121a052601f19601f6121c051011660440161219cfd5b6027600254111561066057601c611da0527f616c7265616479206d6178206e756d626572206f662072656c61797300000000611dc052611da050611da05180611dc001601f826000031636823750506308c379a0611d60526020611d8052601f19601f611da0510116604401611d7cfd5b61112051806040528060608261114060045afa5050610680611dc0611187565b611dc051611da052611da051191561071d576021611dc0527f72656c61792077697468207468652055524920616c7265616479206578697374611de0527f7300000000000000000000000000000000000000000000000000000000000000611e0052611dc050611dc05180611de001601f826000031636823750506308c379a0611d80526020611da052601f19601f611dc0510116604401611d9cfd5b6111205180611dc05280611de08261114060045afa505061154051806121e052806122008261156060045afa5050611960516126005261198051806126205280612640826119a060045afa505060025460278111611551576001810160025560648102600301611dc05180825560018201600082601f0160051c602081116115515780156107bf57905b8060051b611de00151818401556001018181186107a7575b505050506121e05180602183015560016021830101600082601f0160051c6020811161155157801561080557905b8060051b6122000151818401556001018181186107ed575b505050506126005160428201556126205180604383015560016043830101600082601f0160051c6020811161155157801561085457905b8060051b61264001518184015560010181811861083c575b505050505050610862611374565b61112051611140207feee5faa84d45af657ab405cdbf2c6a8a6d466e83fa694a358fee5ff84431d0bf602080612a405280612a40016080808252808201611dc05180825260208201818183611de060045afa5050508051806020830101601f82600003163682375050601f19601f825160200101169050810190508060208301528082016121e0518082526020820181818361220060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050612600516040830152806060830152808201612620518082526020820181818361264060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050905081019050612a40a2005b63f5a70a808118610ca45760443610611551576004356004016104008135116115515780358061112052602082018181611140375050506109bf6112ed565b600061154052611540805160208201209050611120516111402018610a4457601b611960527f72656c617920555249206d757374206e6f7420626520656d70747900000000006119805261196050611960518061198001601f826000031636823750506308c379a061192052602061194052601f19601f61196051011660440161193cfd5b6002546115405261112051806040528060608261114060045afa5050610a6b611580611187565b6115805161156052611540516115605110610ae6576015611580527f6e6f2072656c61792077697468207468652055524900000000000000000000006115a0526115805061158051806115a001601f826000031636823750506308c379a061154052602061156052601f19601f61158051011660440161155cfd5b61154051600181038181116115515790506115605114610c1257606461156051600254811015611551570260030160646115405160018103818111611551579050600254811015611551570260030180548083556001820160018401600083601f0160051c60208111611551578015610b6e57905b8084015481840155600101818118610b5b575b50505050506021810180548060218501556001820160016021860101600083601f0160051c60208111611551578015610bb657905b8084015481840155600101818118610ba3575b505050505050604281015460428301556043810180548060438501556001820160016043860101600083601f0160051c60208111611551578015610c0957905b8084015481840155600101818118610bf6575b50505050505050505b6001600254801561155157038060025550610c2b611374565b61112051611140207fef756634af7ee7210f786ec0f91930afa63fda84d9ff6493ae681c332055dadb602080611580528061158001611120518082526020820181818361114060045afa5050508051806020830101601f82600003163682375050601f19601f82516020010116905081019050611580a2005b63253c8bd48118610dca5760243618611551576004358060a01c61155157608052610ccd6113ba565b608051610d3157601260a0527f7a65726f206f776e65722061646472657373000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b60005460805118610d9957600a60a0527f73616d65206f776e65720000000000000000000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b6080516000556080517fa2ea9883a321a3e97b8266c2b078bfeec6d50c711ed71f874a90d500ae2eaf36600060a0a2005b639aece83e8118610ef05760243618611551576004358060a01c61155157608052610df36113ba565b608051610e5757601460a0527f7a65726f206d616e61676572206164647265737300000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b60015460805118610ebf57600c60a0527f73616d65206d616e61676572000000000000000000000000000000000000000060c05260a05060a0518060c001601f826000031636823750506308c379a06060526020608052601f19601f60a0510116604401607cfd5b6080516001556080517f198db6e425fb8aafd1823c6ca50be2d51e5764571a5ae0f0f21c6812e45def0b600060a0a2005b63417a02b48118610f9e576004361861155157610f0b6113ba565b600154610f6f57600e6080527f6e6f206d616e616765722073657400000000000000000000000000000000000060a0526080506080518060a001601f826000031636823750506308c379a06040526020606052601f19601f6080510116604401605cfd5b600060015560007f198db6e425fb8aafd1823c6ca50be2d51e5764571a5ae0f0f21c6812e45def0b60006080a2005b63edd885b4811861117f5760643618611551576004358060a01c611551576101e0526044358060a01c6115515761020052610fd76113ba565b6101e051611045576012610220527f7a65726f20746f6b656e206164647265737300000000000000000000000000006102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b610200516110b3576016610220527f7a65726f20726563697069656e742061646472657373000000000000000000006102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b6101e0513b611122576011610220527f656f6120746f6b656e20616464726573730000000000000000000000000000006102405261022050610220518061024001601f826000031636823750506308c379a06101e052602061020052601f19601f6102205101166044016101fcfd5b6024351561117d576101e05160405261020051606052602435608052611146611423565b610200516101e0517f8619312ed4eff1cf9f0116e6db2f49d9570a86f0350d1c5ad1bd0f7b0cf9e132602435610220526020610220a35b005b505b60006000fd5b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff610460526000610480526000600254602881116115515780156112e257905b606481026003018054806104a05260018201600082601f0160051c6020811161155157801561120a57905b808301548160051b6104c001526001018181186111f2575b50505050602181018054806108c05260018201600082601f0160051c6020811161155157801561124e57905b808301548160051b6108e00152600101818118611236575b50505050506042810154610ce05260438101805480610d005260018201600082601f0160051c6020811161155157801561129c57905b808301548160051b610d200152600101818118611284575b5050505050506040516060206104a0516104c020186112c25761048051610460526112e2565b6104805160018101818110611551579050610480526001018181186111c7575b505061046051815250565b60005433186112fd576001611311565b600154331861130e57331515611311565b60005b61137257601f6040527f6d73672e73656e646572206e6f74206f776e6572206f72206d616e616765720060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b565b610fa35460018101818110611551579050604052604051610fa3556040517f49f5627aa055ec3fcd474f99c8b7799b798c04af7b9f215305512c867e5a183960006060a2565b6000543318156114215760146040527f6d73672e73656e646572206e6f74206f776e657200000000000000000000000060605260405060405180606001601f826000031636823750506308c379a06000526020602052601f19601f6040510116604401601cfd5b565b6000600460e0527fa9059cbb000000000000000000000000000000000000000000000000000000006101005260e08051602082018361014001815181525050808301925050506060518161014001526020810190506080518161014001526020810190508061012052610120505060206101c06101205161014060006040515af16114b3573d600060003e3d6000fd5b3d602081183d60201002186101a0526101a080518060a05260208201805160c05250505060a0511561154f5760c05160a05160200360031b1c61154f57601560e0527f6572633230207472616e73666572206661696c656400000000000000000000006101005260e05060e0518061010001601f826000031636823750506308c379a060a052602060c052601f19601f60e051011660440160bcfd5b565b600080fda165767970657283000306000b

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

000000000000000000000000e92329ec7ddb11d25e25b3c21eebf11f15eb325d

-----Decoded View---------------
Arg [0] : owner (address): 0xE92329EC7ddB11D25e25b3c21eeBf11f15eB325d

-----Encoded View---------------
1 Constructor Arguments found :
Arg [0] : 000000000000000000000000e92329ec7ddb11d25e25b3c21eebf11f15eb325d


 Latest 25 blocks (From a total of 224 blocks with 0.96 Ether produced)

Block Transaction Difficulty Gas Used Reward
16736342024-06-05 1:55:12120 days ago17175525122090.00 TH18,717,603 (62.39%)
0.003169559234422761 ETH
16706262024-06-04 14:44:48121 days ago1717512288290.00 TH17,647,726 (58.83%)
0.003391851333849791 ETH
16700692024-06-04 12:41:00121 days ago1717504860340.00 TH17,942,503 (59.81%)
0.003309565023095962 ETH
16685002024-06-04 6:39:12121 days ago1717483152510.00 TH20,950,159 (69.83%)
0.017477600038139761 ETH
16675242024-06-04 2:54:00121 days ago1717469640360.00 TH5,704,915 (19.02%)
0.010422695127037478 ETH
16641022024-06-03 13:41:24122 days ago1717422084590.00 TH6,765,583 (22.55%)
0.004849200112191084 ETH
16571542024-06-02 11:02:00123 days ago17173261201500.00 TH13,173,485 (43.91%)
0.013363583728744881 ETH
16550262024-06-02 2:34:24123 days ago17172956641410.00 TH29,962,638 (99.88%)
0.010752202665884356 ETH
16549182024-06-02 2:09:12123 days ago17172941521540.00 TH15,641,833 (52.14%)
0.006897555318386506 ETH
16544372024-06-02 0:18:36123 days ago17172875161190.00 TH29,699,094 (99.00%)
0.014559429711607345 ETH
16520732024-06-01 15:02:24124 days ago1717254144490.00 TH29,984,127 (99.95%)
0.002970966192264905 ETH
16453482024-05-31 12:52:00125 days ago17171599201360.00 TH29,887,823 (99.63%)
0.014683191553540272 ETH
16408742024-05-30 18:16:24126 days ago1717092984960.00 TH9,057,514 (30.19%)
0.00576523659372755 ETH
16278612024-05-28 13:54:48128 days ago17169044882200.00 TH29,990,365 (99.97%)
0.015389510948087306 ETH
16237012024-05-27 21:21:24129 days ago1716844884970.00 TH7,698,373 (25.66%)
0.002949858018292286 ETH
16228592024-05-27 17:55:36129 days ago17168325361220.00 TH29,996,848 (99.99%)
0.012225607124691246 ETH
16220682024-05-27 14:46:24129 days ago1716821184860.00 TH21,615,300 (72.05%)
0.003591989999849275 ETH
16218402024-05-27 13:49:24129 days ago17168177641910.00 TH29,953,595 (99.85%)
0.012519431332376804 ETH
16191802024-05-27 3:20:36129 days ago17167800361300.00 TH13,931,499 (46.44%)
0.00936443902593146 ETH
16162822024-05-26 16:03:48130 days ago17167394281060.00 TH20,302,130 (67.67%)
0.00363474817790213 ETH
16160432024-05-26 15:07:24130 days ago1716736044980.00 TH22,561,616 (75.21%)
0.010365616209862911 ETH
16090162024-05-25 11:47:00131 days ago1716637620830.00 TH28,134,468 (93.78%)
0.042075684960767671 ETH
16079422024-05-25 7:36:36131 days ago1716622596460.00 TH4,740,530 (15.80%)
0.004826624683425458 ETH
16073622024-05-25 5:23:12131 days ago1716614592240.00 TH27,949,390 (93.16%)
0.00894410033883495 ETH
16073592024-05-25 5:22:36131 days ago1716614556450.00 TH25,537,341 (85.12%)
0.01706867704864414 ETH
View All Blocks Produced

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

Validator Index Block Amount
View All Withdrawals

Transaction Hash Block Value Eth2 PubKey Valid
View All Deposits
[ Download: CSV Export  ]
[ 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.