account/ChainRpcEndpointProvider.hpp¶
Loads RPC endpoints from the evmrelay ChainList provider and wires them into PublicChainInputValidator with weighted consensus support. More...
Namespaces¶
| Name |
|---|
| sgns |
Classes¶
| Name | |
|---|---|
| class | sgns::IBridgeInitObserver Observer interface notified when RPC endpoints have been loaded and wired. |
| class | sgns::ChainRpcEndpointProvider Encapsulates ChainList RPC endpoint loading and validator wiring. |
Detailed Description¶
Loads RPC endpoints from the evmrelay ChainList provider and wires them into PublicChainInputValidator with weighted consensus support.
Date: 2026-05-27 SuperGenius
Source code¶
#ifndef _CHAIN_RPC_ENDPOINT_PROVIDER_HPP_
#define _CHAIN_RPC_ENDPOINT_PROVIDER_HPP_
#include <cstdint>
#include <filesystem>
#include <string>
#include <unordered_map>
#include <vector>
#include "account/ChainContractPair.hpp"
#include "account/PublicChainInputValidator.hpp"
namespace sgns
{
class IBridgeInitObserver
{
public:
virtual void OnRpcEndpointsReady( std::vector<ChainContractPair> chains ) = 0;
virtual ~IBridgeInitObserver() = default;
};
class ChainRpcEndpointProvider
{
public:
ChainRpcEndpointProvider() = default;
void AddObserver( IBridgeInitObserver &observer );
bool Initialize( const std::filesystem::path &bridge_chains_config_path,
PublicChainInputValidator &validator );
private:
std::vector<IBridgeInitObserver *> observers_;
};
} // namespace sgns
#endif
Updated on 2026-06-28 at 18:54:57 -0700