Skip to content

eth/eth_handshake.hpp

Namespaces

Name
eth

Functions

Name
rlp::outcome::result< EthStatusHandshakeResult, StatusValidationError, rlp::outcome::policy::all_narrow > PerformEthStatusHandshake(const EthStatusHandshakeStart & start, boost::asio::yield_context yield)
Execute the ETH Status startup handshake for a negotiated ETH session.

Functions Documentation

function PerformEthStatusHandshake

rlp::outcome::result< EthStatusHandshakeResult, StatusValidationError, rlp::outcome::policy::all_narrow > PerformEthStatusHandshake(
    const EthStatusHandshakeStart & start,
    boost::asio::yield_context yield
)

Execute the ETH Status startup handshake for a negotiated ETH session.

Parameters:

  • start Handshake parameters bound to the negotiated ETH session/channel.
  • yield Boost.Asio stackful coroutine context used to await the first ETH message.

Return: ETH-layer handshake result containing the validated remote status.

Source code

// Copyright 2026 Genius Ventures, Inc.
// SPDX-License-Identifier: MIT

#ifndef EVMRELAY_INCLUDE_ETH_ETH_HANDSHAKE_HPP
#define EVMRELAY_INCLUDE_ETH_ETH_HANDSHAKE_HPP

#include <eth/eth_peer_session.hpp>
#include <boost/asio/spawn.hpp>

namespace eth {

[[nodiscard]] rlp::outcome::result<EthStatusHandshakeResult, StatusValidationError, rlp::outcome::policy::all_narrow>
PerformEthStatusHandshake(
    const EthStatusHandshakeStart& start,
    boost::asio::yield_context     yield) noexcept;

} // namespace eth


#endif // EVMRELAY_INCLUDE_ETH_ETH_HANDSHAKE_HPP

Updated on 2026-06-05 at 17:22:19 -0700