account/BridgeRelayer.hpp¶
Wires evmrelay burn events to MintFunds via shared EthWatchService. More...
Namespaces¶
| Name |
|---|
| sgns |
Classes¶
| Name | |
|---|---|
| class | sgns::BridgeRelayer Registers a BridgeSourceBurned watch on a shared EthWatchService and calls MintFunds when burns are detected. |
Detailed Description¶
Wires evmrelay burn events to MintFunds via shared EthWatchService.
Date: 2026-05-30
Source code¶
#pragma once
#include <memory>
#include <string>
#include "account/TransactionManager.hpp"
#include "base/logger.hpp"
#include "eth/eth_watch_service.hpp"
class BridgeRelayerTestAccess;
namespace sgns
{
class BridgeRelayer : public std::enable_shared_from_this<BridgeRelayer>
{
public:
static std::shared_ptr<BridgeRelayer> Create( std::weak_ptr<TransactionManager> tx_manager,
std::shared_ptr<eth::EthWatchService> watch_service );
void Start( const std::string &chain_name, const std::string &contract_address );
void Stop();
private:
friend class ::BridgeRelayerTestAccess;
explicit BridgeRelayer( std::weak_ptr<TransactionManager> tx_manager,
std::shared_ptr<eth::EthWatchService> watch_service );
void OnWatchEvent( const eth::WatchEventNotification ¬ification );
std::weak_ptr<TransactionManager> tx_manager_;
std::shared_ptr<eth::EthWatchService> watch_service_;
base::Logger logger_;
eth::EventWatchId watch_id_{ 0 };
};
} // namespace sgns
Updated on 2026-06-05 at 17:22:19 -0700