availableNetworks method

  1. @override
List<BtcNetwork> availableNetworks()
override

Returns network providers built from dashboard metadata and host configuration.

Implementation

@override
List<BtcNetwork> availableNetworks() {
  List<BtcNetwork> instrumentationOperation() {
    final configured = _btcService.getNetworks((_state.projectSettings?.networks?.map((networkGroup) => (networkGroup.chainName == "bitcoin" ? networkGroup.networks?.map((networkConfiguration) => NetworkData(chain: "BTC", networkId: networkConfiguration.networkId, name: networkConfiguration.name, displayName: (networkConfiguration.vanityName == "" ? networkConfiguration.name : (networkConfiguration.vanityName ?? networkConfiguration.name)), rpcUrls: NetworkRpcUrls(http: [...(networkConfiguration.privateCustomerRpcUrls ?? <String>[]), ...networkConfiguration.rpcUrls]), blockExplorerUrls: (networkConfiguration.blockExplorerUrls ?? <String>[]), iconUrl: firstOrNull(networkConfiguration.iconUrls), nativeCurrency: networkConfiguration.nativeCurrency, cluster: networkConfiguration.cluster, genesisHash: networkConfiguration.genesisHash, testnet: (networkConfiguration.testnet ?? false))).toList() ?? const [] : <NetworkData>[])).toList() ?? const []).expand((items) => items).toList(), (_btcState.btcNetworks ?? <BtcNetwork>[]));
    return configured;
  }
  return _api.instrumentation.run("btc.availableNetworks", instrumentationOperation);
}