ETH Price: $2,454.57 (-0.63%)

Contract

0x0A92Fd5271dB1C41564BD01ef6b1a75fC1db4d4f
 

Overview

ETH Balance

0 ETH

Eth Value

$0.00

Token Holdings

Multichain Info

No addresses found
Transaction Hash
Method
Block
From
To
Bridge197721072024-05-01 1:49:47165 days ago1714528187IN
0x0A92Fd52...fC1db4d4f
0.00042593 ETH0.001226466
Bridge197720822024-05-01 1:44:47165 days ago1714527887IN
0x0A92Fd52...fC1db4d4f
0.00045 ETH0.000176386.02773535
Bridge195199922024-03-26 17:09:59201 days ago1711472999IN
0x0A92Fd52...fC1db4d4f
0.00060028 ETH0.0124507560.91068815
Bridge195186552024-03-26 12:36:47201 days ago1711456607IN
0x0A92Fd52...fC1db4d4f
0.00060028 ETH0.0058442129.35328803
Bridge193648252024-03-04 22:35:47222 days ago1709591747IN
0x0A92Fd52...fC1db4d4f
0.00050659 ETH0.0157205277.90113583
Bridge193646902024-03-04 22:08:47222 days ago1709590127IN
0x0A92Fd52...fC1db4d4f
0.00050659 ETH0.0229694889.06319028
Commit_transfer_...192606232024-02-19 8:33:47237 days ago1708331627IN
0x0A92Fd52...fC1db4d4f
0 ETH0.0012906328.17804177
0x61125251192606222024-02-19 8:33:35237 days ago1708331615IN
 Create: Layer Zero Bridge (Ethereum Version)
0 ETH0.0321039328.48070607

Latest 5 internal transactions

Advanced mode:
Parent Transaction Hash Block From To
197721072024-05-01 1:49:47165 days ago1714528187
0x0A92Fd52...fC1db4d4f
0.00042593 ETH
195199922024-03-26 17:09:59201 days ago1711472999
0x0A92Fd52...fC1db4d4f
0.00060028 ETH
195186552024-03-26 12:36:47201 days ago1711456607
0x0A92Fd52...fC1db4d4f
0.00060028 ETH
193648252024-03-04 22:35:47222 days ago1709591747
0x0A92Fd52...fC1db4d4f
0.00050659 ETH
193646902024-03-04 22:08:47222 days ago1709590127
0x0A92Fd52...fC1db4d4f
0.00050659 ETH
Loading...
Loading

Contract Source Code Verified (Exact Match)

Contract Name:
Layer Zero Bridge (Ethereum Version)

Compiler Version
vyper:0.3.10

Optimization Enabled:
N/A

Other Settings:
None license

Contract Source Code (Vyper language format)

# @version 0.3.10
"""
@title Layer Zero Bridge (Ethereum Version)
@license MIT
@author Curve Finance
"""
from vyper.interfaces import ERC20


interface Endpoint:
    def send(
        _dst_chain_id: uint16,
        _destination: Bytes[40],
        _payload: Bytes[64],
        _refund_address: address,
        _zro_payment_address: address,
        _adapter_params: Bytes[86]
    ): payable
    def estimateFees(
        _dst_chain_id: uint16,
        _user_application: address,
        _payload: Bytes[64],
        _pay_in_zro: bool,
        _adapter_params: Bytes[86]
    ) -> uint256: view


event SetKilled:
    killed: bool

event SetDelay:
    delay: uint256

event SetLimit:
    limit: uint256

event Bridged:
    receiver: indexed(address)
    amount: uint256

event Delayed:
    nonce: indexed(uint64)
    receiver: indexed(address)
    amount: uint256

event Failed:
    nonce: indexed(uint64)
    receiver: indexed(address)
    amount: uint256

event Issued:
    nonce: indexed(uint64)
    receiver: indexed(address)
    amount: uint256

event TransferOwnership:
    owner: indexed(address)


CRVUSD: constant(address) = 0xf939E0A03FB07F59A73314E73794Be0E57ac1b4E
ISSUANCE_INTERVAL: constant(uint256) = 86400

LZ_ENDPOINT: public(constant(address)) = 0x66A71Dcef29A0fFBDBE3c6a460a3B5BC225Cd675


LZ_CHAIN_ID: public(immutable(uint16))
LZ_ADDRESS: immutable(Bytes[40])
KECCAK_LZ_ADDRESS: immutable(bytes32)


limit: public(uint256)
delay: public(uint256)
issued: public(HashMap[uint256, uint256])
delayed: public(HashMap[uint64, bytes32])
failed: public(HashMap[uint64, bytes32])


owner: public(address)
future_owner: public(address)

is_killed: public(bool)


@external
def __init__(_delay: uint256, _limit: uint256, _lz_chain_id: uint16):
    self.delay = _delay
    log SetDelay(_delay)

    self.limit = _limit
    log SetLimit(_limit)

    self.owner = msg.sender
    log TransferOwnership(msg.sender)

    LZ_CHAIN_ID = _lz_chain_id
    LZ_ADDRESS = concat(
        slice(convert(self, bytes32), 12, 20), slice(convert(self, bytes32), 12, 20)
    )
    KECCAK_LZ_ADDRESS = keccak256(LZ_ADDRESS)


@payable
@external
def bridge(
    _amount: uint256,
    _receiver: address = msg.sender,
    _refund_address: address = msg.sender,
    _zro_payment_address: address = empty(address),
    _native_amount: uint256 = 0,
    _native_receiver: address = empty(address)
):
    """
    @notice Bridge CRVUSD
    """
    assert not self.is_killed  # dev: dead
    assert _amount != 0 and _receiver != empty(address)  # dev: invalid

    assert ERC20(CRVUSD).transferFrom(msg.sender, self, _amount)

    adapter_params: Bytes[86] = b""
    if _native_amount == 0:
        adapter_params = concat(
            b"\x00\x01",
            convert(500_000, bytes32)
        )
    else:
        adapter_params = concat(
            b"\x00\x02",
            convert(500_000, bytes32),
            convert(_native_amount, bytes32),
            slice(convert(_native_receiver, bytes32), 12, 20)
        )

    Endpoint(LZ_ENDPOINT).send(
        LZ_CHAIN_ID,
        LZ_ADDRESS,
        _abi_encode(_receiver, _amount),
        _refund_address,
        _zro_payment_address,
        adapter_params,
        value=msg.value
    )
    log Bridged(_receiver, _amount)


@external
def lzReceive(_lz_chain_id: uint16, _lz_address: Bytes[40], _nonce: uint64, _payload: Bytes[64]):
    """
    @dev LayerZero method which should not revert at all
    """
    assert msg.sender == LZ_ENDPOINT  # dev: invalid caller

    assert _lz_chain_id == LZ_CHAIN_ID  # dev: invalid source chain
    assert keccak256(_lz_address) == KECCAK_LZ_ADDRESS  # dev: invalid source address

    receiver: address = empty(address)
    amount: uint256 = empty(uint256)
    receiver, amount = _abi_decode(_payload, (address, uint256))

    if receiver in [empty(address), CRVUSD] or amount == 0:
        # precaution
        return

    period: uint256 = block.timestamp / ISSUANCE_INTERVAL
    issued: uint256 = self.issued[period] + amount

    if ERC20(CRVUSD).balanceOf(self) < amount:
        self.failed[_nonce] = keccak256(_payload)
        log Failed(_nonce, receiver, amount)
    elif issued > self.limit or self.is_killed:
        self.delayed[_nonce] = keccak256(_abi_encode(block.timestamp, _payload))
        log Delayed(_nonce, receiver, amount)
    else:
        self.issued[period] = issued

        ERC20(CRVUSD).transfer(receiver, amount)

        log Issued(_nonce, receiver, amount)


@external
def retry(_nonce: uint64, _timestamp: uint256, _receiver: address, _amount: uint256):
    """
    @notice Retry a previously delayed bridge attempt
    """
    assert not self.is_killed  # dev: dead

    assert _timestamp + self.delay < block.timestamp  # dev: too soon
    assert self.delayed[_nonce] == keccak256(
        _abi_encode(_timestamp, _abi_encode(_receiver, _amount))
    )  # dev: incorrect

    self.delayed[_nonce] = empty(bytes32)

    ERC20(CRVUSD).transfer(_receiver, _amount)

    log Issued(_nonce, _receiver, _amount)


@payable
@external
def recover(_nonce: uint64, _receiver: address, _amount: uint256):
    assert not self.is_killed  # dev: dead

    assert self.failed[_nonce] == keccak256(_abi_encode(_receiver, _amount))
    self.failed[_nonce] = empty(bytes32)

    Endpoint(LZ_ENDPOINT).send(
        LZ_CHAIN_ID,
        LZ_ADDRESS,
        _abi_encode(_receiver, _amount),
        msg.sender,
        empty(address),
        concat(
            b"\x00\x01",
            convert(500_000, bytes32)
        ),
        value=msg.value
    )


@view
@external
def quote(_native_amount: uint256 = 0) -> uint256:
    """
    @notice Quote the cost of calling the `bridge` method
    """
    adapter_params: Bytes[86] = b""
    if _native_amount == 0:
        adapter_params = concat(
            b"\x00\x01",
            convert(500_000, bytes32)
        )
    else:
        adapter_params = concat(
            b"\x00\x02",
            convert(500_000, bytes32),
            convert(_native_amount, bytes32),
            b"\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00"
        )

    return Endpoint(LZ_ENDPOINT).estimateFees(
        LZ_CHAIN_ID,
        self,
        concat(empty(bytes32), empty(bytes32)),
        False,
        adapter_params
    )


@external
def set_delay(_delay: uint256):
    """
    @notice Set the delay for retrying a delayed bridge attempt
    """
    assert msg.sender == self.owner

    self.delay = _delay
    log SetDelay(_delay)


@external
def set_limit(_limit: uint256):
    """
    @notice Set the issuance limit for the issuance interval
    """
    assert msg.sender == self.owner

    self.limit = _limit
    log SetLimit(_limit)


@external
def set_killed(_killed: bool):
    """
    @notice Set the kill status of this side of the bridge
    """
    assert msg.sender == self.owner

    self.is_killed = _killed
    log SetKilled(_killed)


@external
def commit_transfer_ownership(_future_owner: address):
    """
    @notice Transfer ownership to `_future_owner`
    @param _future_owner The account to commit as the future owner
    """
    assert msg.sender == self.owner  # dev: only owner

    self.future_owner = _future_owner


@external
def accept_transfer_ownership():
    """
    @notice Accept the transfer of ownership
    @dev Only the committed future owner can call this function
    """
    assert msg.sender == self.future_owner  # dev: only future owner

    self.owner = msg.sender
    log TransferOwnership(msg.sender)

Contract Security Audit

Contract ABI

[{"name":"SetKilled","inputs":[{"name":"killed","type":"bool","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetDelay","inputs":[{"name":"delay","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"SetLimit","inputs":[{"name":"limit","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Bridged","inputs":[{"name":"receiver","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Delayed","inputs":[{"name":"nonce","type":"uint64","indexed":true},{"name":"receiver","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Failed","inputs":[{"name":"nonce","type":"uint64","indexed":true},{"name":"receiver","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"Issued","inputs":[{"name":"nonce","type":"uint64","indexed":true},{"name":"receiver","type":"address","indexed":true},{"name":"amount","type":"uint256","indexed":false}],"anonymous":false,"type":"event"},{"name":"TransferOwnership","inputs":[{"name":"owner","type":"address","indexed":true}],"anonymous":false,"type":"event"},{"stateMutability":"nonpayable","type":"constructor","inputs":[{"name":"_delay","type":"uint256"},{"name":"_limit","type":"uint256"},{"name":"_lz_chain_id","type":"uint16"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"bridge","inputs":[{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"bridge","inputs":[{"name":"_amount","type":"uint256"},{"name":"_receiver","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"bridge","inputs":[{"name":"_amount","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_refund_address","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"bridge","inputs":[{"name":"_amount","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_refund_address","type":"address"},{"name":"_zro_payment_address","type":"address"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"bridge","inputs":[{"name":"_amount","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_refund_address","type":"address"},{"name":"_zro_payment_address","type":"address"},{"name":"_native_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"bridge","inputs":[{"name":"_amount","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_refund_address","type":"address"},{"name":"_zro_payment_address","type":"address"},{"name":"_native_amount","type":"uint256"},{"name":"_native_receiver","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"lzReceive","inputs":[{"name":"_lz_chain_id","type":"uint16"},{"name":"_lz_address","type":"bytes"},{"name":"_nonce","type":"uint64"},{"name":"_payload","type":"bytes"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"retry","inputs":[{"name":"_nonce","type":"uint64"},{"name":"_timestamp","type":"uint256"},{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"payable","type":"function","name":"recover","inputs":[{"name":"_nonce","type":"uint64"},{"name":"_receiver","type":"address"},{"name":"_amount","type":"uint256"}],"outputs":[]},{"stateMutability":"view","type":"function","name":"quote","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"quote","inputs":[{"name":"_native_amount","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"nonpayable","type":"function","name":"set_delay","inputs":[{"name":"_delay","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_limit","inputs":[{"name":"_limit","type":"uint256"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"set_killed","inputs":[{"name":"_killed","type":"bool"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"commit_transfer_ownership","inputs":[{"name":"_future_owner","type":"address"}],"outputs":[]},{"stateMutability":"nonpayable","type":"function","name":"accept_transfer_ownership","inputs":[],"outputs":[]},{"stateMutability":"view","type":"function","name":"LZ_ENDPOINT","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"LZ_CHAIN_ID","inputs":[],"outputs":[{"name":"","type":"uint16"}]},{"stateMutability":"view","type":"function","name":"limit","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"delay","inputs":[],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"issued","inputs":[{"name":"arg0","type":"uint256"}],"outputs":[{"name":"","type":"uint256"}]},{"stateMutability":"view","type":"function","name":"delayed","inputs":[{"name":"arg0","type":"uint64"}],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"view","type":"function","name":"failed","inputs":[{"name":"arg0","type":"uint64"}],"outputs":[{"name":"","type":"bytes32"}]},{"stateMutability":"view","type":"function","name":"owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"future_owner","inputs":[],"outputs":[{"name":"","type":"address"}]},{"stateMutability":"view","type":"function","name":"is_killed","inputs":[],"outputs":[{"name":"","type":"bool"}]}]

6112525150346101db5760206114086000396000518060101c6101db5760405260206113c86000396000516001557fcf57d2e955986c39a021abcc2ff70c02efcd0a4dd6ce2255a84612dd7b65ea2960206113c860603960206060a160206113e86000396000516000557f479881bf41e329f328c21c2cbb11514b05a021cd33ea4e5a576ea6bc03874fd660206113e860603960206060a133600555337fcfaaa26691e16e66e73290fc725eee1a6b4e0e693a1640484937aac25ffb55a460006060a26040516111d2526000306060526060600c8101805160a052506014608052608090508051602082018361014001815181525050808301925050503060c05260c0600c810180516101005250601460e05260e09050805160208201836101400181518152505080830192505050806101205261012090506020815101600081601f0160051c600381116101db57801561017457905b8060051b8401518160051b6020016111d20152600101818118610156575b5050505060206111f25101600081601f0160051c600381116101db5780156101b757905b8060051b6020016111d201518160051b60600152600101818118610198575b5050506060805160208201209050611252526111d26101e061000039611272610000f35b600080fd60003560e01c60026017820660011b6111a401601e39600051565b63cd4d1c648118610048573461119f577366a71dcef29a0ffbdbe3c6a460a3b5bc225cd67560405260206040f35b6323d5c67f811861119957606336111561119f576004358060401c61119f576040526024358060a01c61119f5760605260075461119f5760605160a05260443560c0526040608052608080516020820120905060046040516020526000526040600020541861119f576000600460405160205260005260406000205563c58031006101805260c060206111d26101a039806101c052806101a001602060206111f260003960005101806111f28339508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101e05260605160a05260443560c05260406080526080816101a00160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050336102005260006102205280610240526000600260e0527e010000000000000000000000000000000000000000000000000000000000006101005260e08051602082018361014001815181525050808301925050506207a12081610140015260208101905080610120526101209050816101a00160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f8251602001011690509050810150507366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6753b1561119f5760006101806101e461019c347366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6755af1610269573d600060003e3d6000fd5b00611199565b63935ec990811861028d573461119f5760206111d260403960206040f35b63f1fa402881186111995760243610341761119f576004358060401c61119f57604052600460405160205260005260406000205460605260206060f3611199565b63a4d66daf8118611199573461119f5760005460405260206040f3611199565b636a42b8f8811861030a573461119f5760015460405260206040f35b63999b93af8118611199573461119f57600060405261044956611199565b63647dfbed81186111995760243610341761119f57600260043560205260005260406000205460405260206040f3611199565b639155ba6881186103985760243610341761119f576004358060401c61119f57604052600360405160205260005260406000205460605260206060f35b6390fd50b3811861119957602336111561119f57336040523360605260603660803761077f56611199565b638da5cb5b81186103df573461119f5760055460405260206040f35b637bb44652811861042d5760a336111561119f576024358060a01c61119f576040526044358060a01c61119f576060526064358060a01c61119f5760805260843560a052600060c05261077f565b63ed1bd76c81186111995760243610341761119f576004356040525b60006060526040516104ca576000600260e0527e010000000000000000000000000000000000000000000000000000000000006101005260e08051602082018361014001815181525050808301925050506207a120816101400152602081019050806101205261012090506020815101806060828460045afa505050610571565b6000600260e0527e020000000000000000000000000000000000000000000000000000000000006101005260e08051602082018361018001815181525050808301925050506207a120816101800152602081019050604051816101800152602081019050601461012052600061014052610120805160208201836101800181518152505080830192505050806101605261016090506020815101806060828460045afa5050505b60206340a7bb106101405260a060206111d2610160393061018052806101a0526000600081610100015260208101905060008161010001526020810190508060e05260e09050816101600160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060006101c052806101e0528061016001602060605101808282606060045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905081015050602061014061018461015c7366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6755afa61066b573d600060003e3d6000fd5b60203d1061119f57610140f3611199565b631ec0cdc18118611199573461119f5760065460405260206040f3611199565b639c868ac08118611199573461119f5760075460405260206040f3611199565b639394d2e8811861119957604336111561119f576024358060a01c61119f576040523360605260603660803761077f56611199565b63a334defb811861072c57606336111561119f576024358060a01c61119f576040526044358060a01c61119f5760605260603660803761077f565b639dee238081186111995760c336111561119f576024358060a01c61119f576040526044358060a01c61119f576060526064358060a01c61119f5760805260843560a05260a4358060a01c61119f5760c0525b60075461119f576004351561079857604051151561079b565b60005b1561119f576323b872dd60e0523361010052306101205260043561014052602060e0606460fc600073f939e0a03fb07f59a73314e73794be0e57ac1b4e5af16107e9573d600060003e3d6000fd5b60203d1061119f5760e0518060011c61119f5761016052610160511561119f57600060e05260a05161088c5760006002610160527e0100000000000000000000000000000000000000000000000000000000000061018052610160805160208201836101c001815181525050808301925050506207a120816101c00152602081019050806101a0526101a0905060208151018060e0828460045afa505050610946565b60006002610160527e02000000000000000000000000000000000000000000000000000000000000610180526101608051602082018361022001815181525050808301925050506207a12081610220015260208101905060a05181610220015260208101905060c0516101a0526101a0600c810180516101e0525060146101c0526101c090508051602082018361022001815181525050808301925050508061020052610200905060208151018060e0828460045afa5050505b63c58031006101c05260c060206111d26101e0398061020052806101e001602060206111f260003960005101806111f28339508051806020830101601f82600003163682375050601f19601f825160200101169050810190508061022052604051610180526004356101a052604061016052610160816101e00160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060605161024052608051610260528061028052806101e001602060e0510180828260e060045afa50508051806020830101601f82600003163682375050601f19601f825160200101169050810150507366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6753b1561119f5760006101c06102046101dc347366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6755af1610a93573d600060003e3d6000fd5b6040517f48b87fc02925b37a6aefac60c14fa9d8e9988d7dfadf262d4bd845872ca40730600435610160526020610160a200611199565b63d7843e398118610b1357608336111561119f576024358060a01c61119f576040526044358060a01c61119f576060526064358060a01c61119f5760805260403660a03761077f565b638c84dede8118610b655760243610341761119f57600554331861119f576004356001557fcf57d2e955986c39a021abcc2ff70c02efcd0a4dd6ce2255a84612dd7b65ea2960043560405260206040a1005b6390b2299781186111995760243610341761119f576004358060011c61119f57604052600554331861119f576040516007557ff6a23ecf31263066d4cc1ac21837c1714818045ecc5c0dd89f279e0bd4b7ef8760405160605260206060a100611199565b621d356781186111995760c43610341761119f576004358060101c61119f57604052602435600401602881351161119f576020813501808260603750506044358060401c61119f5760c052606435600401604081351161119f576020813501808260e03750507366a71dcef29a0ffbdbe3c6a460a3b5bc225cd675331861119f5760206111d26000396000516040511861119f5760206112526000396000516060516080201861119f5760403661014037604060e0511861119f57610100518060a01c61119f5761018052610120516101a052610180805161014052602081015161016052506101405180610cbf576001610cd8565b73f939e0a03fb07f59a73314e73794be0e57ac1b4e8118155b9050610ce8576101605115610ceb565b60015b15610cf557610f43565b426201518081049050610180526002610180516020526000526040600020546101605180820182811061119f57905090506101a052610160516370a082316101c052306101e05260206101c060246101dc73f939e0a03fb07f59a73314e73794be0e57ac1b4e5afa610d6c573d600060003e3d6000fd5b60203d1061119f576101c05110610ef4576000546101a05111610d9157600754610d94565b60015b610e50576101a05160026101805160205260005260406000205563a9059cbb6101c052610140516101e052610160516102005260206101c060446101dc600073f939e0a03fb07f59a73314e73794be0e57ac1b4e5af1610df9573d600060003e3d6000fd5b60203d1061119f576101c0518060011c61119f5761022052610220506101405160c0517f83eb516a22c3ab50120e5536c25737d192eed519684038efeb18c136a65cdffa610160516101c05260206101c0a3610f43565b6040426101e0528061020052806101e001602060e0510180828260e060045afa50508051806020830101601f82600003163682375050601f19601f825160200101169050810190506101c0526101c0805160208201209050600360c0516020526000526040600020556101405160c0517f2f9d03e55b4e245db68169fb64481b4794dd8a7f22fb8f4a5b99c1c6a6f743c5610160516101c05260206101c0a3610f43565b60e05161010020600460c0516020526000526040600020556101405160c0517fa2f2736acb0088f79e8ebb85d9e9d12fc03e606561ad5daf671cd2834728396e61016051610200526020610200a35b00611199565b63b5fb0b4281186111995760843610341761119f576004358060401c61119f576040526044358060a01c61119f5760605260075461119f574260243560015480820182811061119f5790509050101561119f57604060243561010052806101205260605160a05260643560c05260406080526080816101000160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060e05260e080516020820120905060036040516020526000526040600020541861119f576000600360405160205260005260406000205563a9059cbb60805260605160a05260643560c052602060806044609c600073f939e0a03fb07f59a73314e73794be0e57ac1b4e5af1611074573d600060003e3d6000fd5b60203d1061119f576080518060011c61119f5760e05260e0506060516040517f83eb516a22c3ab50120e5536c25737d192eed519684038efeb18c136a65cdffa60643560805260206080a300611199565b63be02842681186111995760243610341761119f57600554331861119f576004356000557f479881bf41e329f328c21c2cbb11514b05a021cd33ea4e5a576ea6bc03874fd660043560405260206040a100611199565b636b441a4081186111995760243610341761119f576004358060a01c61119f57604052600554331861119f5760405160065500611199565b63e5ea47b88118611199573461119f57600654331861119f5733600555337fcfaaa26691e16e66e73290fc725eee1a6b4e0e693a1640484937aac25ffb55a460006040a2005b60006000fd5b600080fd0f4902ee02ce119911991199035b11990328111b1199067c03c306f10aca115310c50bc9001a026f1199069c06bc841911d281182e18a0a16576797065728300030a0016000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066

Deployed Bytecode

0x60003560e01c60026017820660011b6111a401601e39600051565b63cd4d1c648118610048573461119f577366a71dcef29a0ffbdbe3c6a460a3b5bc225cd67560405260206040f35b6323d5c67f811861119957606336111561119f576004358060401c61119f576040526024358060a01c61119f5760605260075461119f5760605160a05260443560c0526040608052608080516020820120905060046040516020526000526040600020541861119f576000600460405160205260005260406000205563c58031006101805260c060206111d26101a039806101c052806101a001602060206111f260003960005101806111f28339508051806020830101601f82600003163682375050601f19601f82516020010116905081019050806101e05260605160a05260443560c05260406080526080816101a00160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f825160200101169050905081019050336102005260006102205280610240526000600260e0527e010000000000000000000000000000000000000000000000000000000000006101005260e08051602082018361014001815181525050808301925050506207a12081610140015260208101905080610120526101209050816101a00160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f8251602001011690509050810150507366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6753b1561119f5760006101806101e461019c347366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6755af1610269573d600060003e3d6000fd5b00611199565b63935ec990811861028d573461119f5760206111d260403960206040f35b63f1fa402881186111995760243610341761119f576004358060401c61119f57604052600460405160205260005260406000205460605260206060f3611199565b63a4d66daf8118611199573461119f5760005460405260206040f3611199565b636a42b8f8811861030a573461119f5760015460405260206040f35b63999b93af8118611199573461119f57600060405261044956611199565b63647dfbed81186111995760243610341761119f57600260043560205260005260406000205460405260206040f3611199565b639155ba6881186103985760243610341761119f576004358060401c61119f57604052600360405160205260005260406000205460605260206060f35b6390fd50b3811861119957602336111561119f57336040523360605260603660803761077f56611199565b638da5cb5b81186103df573461119f5760055460405260206040f35b637bb44652811861042d5760a336111561119f576024358060a01c61119f576040526044358060a01c61119f576060526064358060a01c61119f5760805260843560a052600060c05261077f565b63ed1bd76c81186111995760243610341761119f576004356040525b60006060526040516104ca576000600260e0527e010000000000000000000000000000000000000000000000000000000000006101005260e08051602082018361014001815181525050808301925050506207a120816101400152602081019050806101205261012090506020815101806060828460045afa505050610571565b6000600260e0527e020000000000000000000000000000000000000000000000000000000000006101005260e08051602082018361018001815181525050808301925050506207a120816101800152602081019050604051816101800152602081019050601461012052600061014052610120805160208201836101800181518152505080830192505050806101605261016090506020815101806060828460045afa5050505b60206340a7bb106101405260a060206111d2610160393061018052806101a0526000600081610100015260208101905060008161010001526020810190508060e05260e09050816101600160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060006101c052806101e0528061016001602060605101808282606060045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905081015050602061014061018461015c7366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6755afa61066b573d600060003e3d6000fd5b60203d1061119f57610140f3611199565b631ec0cdc18118611199573461119f5760065460405260206040f3611199565b639c868ac08118611199573461119f5760075460405260206040f3611199565b639394d2e8811861119957604336111561119f576024358060a01c61119f576040523360605260603660803761077f56611199565b63a334defb811861072c57606336111561119f576024358060a01c61119f576040526044358060a01c61119f5760605260603660803761077f565b639dee238081186111995760c336111561119f576024358060a01c61119f576040526044358060a01c61119f576060526064358060a01c61119f5760805260843560a05260a4358060a01c61119f5760c0525b60075461119f576004351561079857604051151561079b565b60005b1561119f576323b872dd60e0523361010052306101205260043561014052602060e0606460fc600073f939e0a03fb07f59a73314e73794be0e57ac1b4e5af16107e9573d600060003e3d6000fd5b60203d1061119f5760e0518060011c61119f5761016052610160511561119f57600060e05260a05161088c5760006002610160527e0100000000000000000000000000000000000000000000000000000000000061018052610160805160208201836101c001815181525050808301925050506207a120816101c00152602081019050806101a0526101a0905060208151018060e0828460045afa505050610946565b60006002610160527e02000000000000000000000000000000000000000000000000000000000000610180526101608051602082018361022001815181525050808301925050506207a12081610220015260208101905060a05181610220015260208101905060c0516101a0526101a0600c810180516101e0525060146101c0526101c090508051602082018361022001815181525050808301925050508061020052610200905060208151018060e0828460045afa5050505b63c58031006101c05260c060206111d26101e0398061020052806101e001602060206111f260003960005101806111f28339508051806020830101601f82600003163682375050601f19601f825160200101169050810190508061022052604051610180526004356101a052604061016052610160816101e00160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060605161024052608051610260528061028052806101e001602060e0510180828260e060045afa50508051806020830101601f82600003163682375050601f19601f825160200101169050810150507366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6753b1561119f5760006101c06102046101dc347366a71dcef29a0ffbdbe3c6a460a3b5bc225cd6755af1610a93573d600060003e3d6000fd5b6040517f48b87fc02925b37a6aefac60c14fa9d8e9988d7dfadf262d4bd845872ca40730600435610160526020610160a200611199565b63d7843e398118610b1357608336111561119f576024358060a01c61119f576040526044358060a01c61119f576060526064358060a01c61119f5760805260403660a03761077f565b638c84dede8118610b655760243610341761119f57600554331861119f576004356001557fcf57d2e955986c39a021abcc2ff70c02efcd0a4dd6ce2255a84612dd7b65ea2960043560405260206040a1005b6390b2299781186111995760243610341761119f576004358060011c61119f57604052600554331861119f576040516007557ff6a23ecf31263066d4cc1ac21837c1714818045ecc5c0dd89f279e0bd4b7ef8760405160605260206060a100611199565b621d356781186111995760c43610341761119f576004358060101c61119f57604052602435600401602881351161119f576020813501808260603750506044358060401c61119f5760c052606435600401604081351161119f576020813501808260e03750507366a71dcef29a0ffbdbe3c6a460a3b5bc225cd675331861119f5760206111d26000396000516040511861119f5760206112526000396000516060516080201861119f5760403661014037604060e0511861119f57610100518060a01c61119f5761018052610120516101a052610180805161014052602081015161016052506101405180610cbf576001610cd8565b73f939e0a03fb07f59a73314e73794be0e57ac1b4e8118155b9050610ce8576101605115610ceb565b60015b15610cf557610f43565b426201518081049050610180526002610180516020526000526040600020546101605180820182811061119f57905090506101a052610160516370a082316101c052306101e05260206101c060246101dc73f939e0a03fb07f59a73314e73794be0e57ac1b4e5afa610d6c573d600060003e3d6000fd5b60203d1061119f576101c05110610ef4576000546101a05111610d9157600754610d94565b60015b610e50576101a05160026101805160205260005260406000205563a9059cbb6101c052610140516101e052610160516102005260206101c060446101dc600073f939e0a03fb07f59a73314e73794be0e57ac1b4e5af1610df9573d600060003e3d6000fd5b60203d1061119f576101c0518060011c61119f5761022052610220506101405160c0517f83eb516a22c3ab50120e5536c25737d192eed519684038efeb18c136a65cdffa610160516101c05260206101c0a3610f43565b6040426101e0528061020052806101e001602060e0510180828260e060045afa50508051806020830101601f82600003163682375050601f19601f825160200101169050810190506101c0526101c0805160208201209050600360c0516020526000526040600020556101405160c0517f2f9d03e55b4e245db68169fb64481b4794dd8a7f22fb8f4a5b99c1c6a6f743c5610160516101c05260206101c0a3610f43565b60e05161010020600460c0516020526000526040600020556101405160c0517fa2f2736acb0088f79e8ebb85d9e9d12fc03e606561ad5daf671cd2834728396e61016051610200526020610200a35b00611199565b63b5fb0b4281186111995760843610341761119f576004358060401c61119f576040526044358060a01c61119f5760605260075461119f574260243560015480820182811061119f5790509050101561119f57604060243561010052806101205260605160a05260643560c05260406080526080816101000160208251018082828560045afa50508051806020830101601f82600003163682375050601f19601f82516020010116905090508101905060e05260e080516020820120905060036040516020526000526040600020541861119f576000600360405160205260005260406000205563a9059cbb60805260605160a05260643560c052602060806044609c600073f939e0a03fb07f59a73314e73794be0e57ac1b4e5af1611074573d600060003e3d6000fd5b60203d1061119f576080518060011c61119f5760e05260e0506060516040517f83eb516a22c3ab50120e5536c25737d192eed519684038efeb18c136a65cdffa60643560805260206080a300611199565b63be02842681186111995760243610341761119f57600554331861119f576004356000557f479881bf41e329f328c21c2cbb11514b05a021cd33ea4e5a576ea6bc03874fd660043560405260206040a100611199565b636b441a4081186111995760243610341761119f576004358060a01c61119f57604052600554331861119f5760405160065500611199565b63e5ea47b88118611199573461119f57600654331861119f5733600555337fcfaaa26691e16e66e73290fc725eee1a6b4e0e693a1640484937aac25ffb55a460006040a2005b60006000fd5b600080fd0f4902ee02ce119911991199035b11990328111b1199067c03c306f10aca115310c50bc9001a026f1199069c06bc000000000000000000000000000000000000000000000000000000000000006600000000000000000000000000000000000000000000000000000000000000280a92fd5271db1c41564bd01ef6b1a75fc1db4d4f0a92fd5271db1c41564bd01ef6b1a75fc1db4d4f000000000000000000000000000000000000000000000000d6ff0aeea7f2a81992d9205c9ecac3baac2df5b41bad0abaecec8ca86b23a60f

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

000000000000000000000000000000000000000000000000000000000001518000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000066

-----Decoded View---------------
Arg [0] : _delay (uint256): 86400
Arg [1] : _limit (uint256): 0
Arg [2] : _lz_chain_id (uint16): 102

-----Encoded View---------------
3 Constructor Arguments found :
Arg [0] : 0000000000000000000000000000000000000000000000000000000000015180
Arg [1] : 0000000000000000000000000000000000000000000000000000000000000000
Arg [2] : 0000000000000000000000000000000000000000000000000000000000000066


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  ]
[ 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.