DataFetcher<Optional<SyncStateAdapter>> getSyncingDataFetcher() {
    return dataFetchingEnvironment -> {
      final Synchronizer synchronizer =
          dataFetchingEnvironment.getGraphQlContext().get(GraphQLContextType.SYNCHRONIZER);
      final Optional<SyncStatus> syncStatus = synchronizer.getSyncStatus();
      return syncStatus.map(SyncStateAdapter::new);
    };
  }
Returns a DataFetcher that fetches the syncing state of the Ethereum node.

<p>The DataFetcher is a functional interface. It has a single method that takes a
DataFetchingEnvironment object as input and returns the syncing state as an
Optional<SyncStateAdapter>.

<p>The SyncStateAdapter is a wrapper around the SyncStatus of the Ethereum node. It provides
information about the current syncing state of the node such as the current block, highest
block, and starting block.

@return a DataFetcher that fetches the syncing state of the Ethereum node
ethereum/api/src/main/java/org/hyperledger/besu/ethereum/api/graphql/GraphQLDataFetchers.java