sgns::ChainRpcEndpointProvider¶
Encapsulates ChainList RPC endpoint loading and validator wiring. More...
#include <ChainRpcEndpointProvider.hpp>
Public Types¶
| Name | |
|---|---|
| using std::unordered_map< std::string, uint64_t > | ChainIdMap Mapping from config-level chain name to its numeric EVM chain ID. |
Public Functions¶
| Name | |
|---|---|
| ChainRpcEndpointProvider(ChainIdMap chain_id_map) Constructs the provider with the configured chain name -> ID mapping. |
|
| bool | Initialize(PublicChainInputValidator & validator, const ChainRpcProviderConfig & config, const base::Logger & logger) const Loads RPC endpoints and wires them into the validator. |
Detailed Description¶
Encapsulates ChainList RPC endpoint loading and validator wiring.
Loads the chainid.network chains.json, filters to configured chains, groups endpoints by chain ID with consensus weights (public=25%, direct=50%), and calls PublicChainInputValidator::SetRpcEndpoints for each chain.
Public Types Documentation¶
using ChainIdMap¶
Mapping from config-level chain name to its numeric EVM chain ID.
Public Functions Documentation¶
function ChainRpcEndpointProvider¶
Constructs the provider with the configured chain name -> ID mapping.
Parameters:
- chain_id_map Maps config keys (e.g. "ethereum-mainnet") to numeric chain IDs (e.g. 1).
function Initialize¶
bool Initialize(
PublicChainInputValidator & validator,
const ChainRpcProviderConfig & config,
const base::Logger & logger
) const
Loads RPC endpoints and wires them into the validator.
Parameters:
- validator PublicChainInputValidator to configure.
- config Filesystem paths and direct-endpoint definitions.
- logger Logger for diagnostic output.
Return: True when at least one chain received RPC endpoints.
Public endpoints from the ChainList provider in config.chains_json_path contribute 25% consensus weight. Direct endpoints from config.direct_endpoints contribute 50% consensus weight.
Updated on 2026-06-05 at 17:22:18 -0700