Skip to content

sgns::BridgeRelayer

Registers a BridgeSourceBurned watch on a shared EthWatchService and calls MintFunds when burns are detected.

#include <BridgeRelayer.hpp>

Inherits from std::enable_shared_from_this< BridgeRelayer >

Public Functions

Name
std::shared_ptr< BridgeRelayer > Create(std::weak_ptr< TransactionManager > tx_manager, std::shared_ptr< eth::EthWatchService > watch_service)
Factory method to create a BridgeRelayer instance with weak TransactionManager reference.
void Start(const std::string & chain_name, const std::string & contract_address)
Register the BridgeSourceBurned watch on the EthWatchService.
void Stop()
Stop watching (currently a no-op — EthWatchService lifecycle is external).

Friends

Name
class ::BridgeRelayerTestAccess
Friend accessor for unit testing OnWatchEvent.

Public Functions Documentation

function Create

static std::shared_ptr< BridgeRelayer > Create(
    std::weak_ptr< TransactionManager > tx_manager,
    std::shared_ptr< eth::EthWatchService > watch_service
)

Factory method to create a BridgeRelayer instance with weak TransactionManager reference.

Parameters:

  • tx_manager Weak pointer to the TransactionManager to call MintFunds on.
  • watch_service Shared EthWatchService for event detection.

Return: If successful, a shared pointer to the created BridgeRelayer; otherwise, a nullptr

function Start

void Start(
    const std::string & chain_name,
    const std::string & contract_address
)

Register the BridgeSourceBurned watch on the EthWatchService.

Parameters:

  • chain_name Chain name for logging (e.g. "ethereum-mainnet").
  • contract_address GNUS bridge contract address.

function Stop

void Stop()

Stop watching (currently a no-op — EthWatchService lifecycle is external).

Friends

friend ::BridgeRelayerTestAccess

friend class ::BridgeRelayerTestAccess(
    ::BridgeRelayerTestAccess 
);

Friend accessor for unit testing OnWatchEvent.


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