/// <inheritdoc /> public async Task <bool> CheckFileChangeAsync() { AssertFilePathSet(); if (!File.Exists(FilePath)) { throw new FileNotFoundException($"{nameof(Config)} file did not exist at path: `{FilePath}`."); } string jsonString = await File.ReadAllTextAsync(FilePath, Encoding.UTF8); var config = JsonConvert.DeserializeObject <Config>(jsonString); if (Network != config.Network) { return(true); } if (!TestNetBackendUriV3.Equals(config.TestNetBackendUriV3, StringComparison.OrdinalIgnoreCase)) { return(true); } if (!RegTestBackendUriV3.Equals(config.RegTestBackendUriV3, StringComparison.OrdinalIgnoreCase)) { return(true); } if (!MainNetBackendUriV3.Equals(config.MainNetBackendUriV3, StringComparison.OrdinalIgnoreCase)) { return(true); } if (!MainNetBlindingRsaPubKey.Equals(config.MainNetBlindingRsaPubKey, StringComparison.Ordinal)) { return(true); } if (!TestNetBlindingRsaPubKey.Equals(config.TestNetBlindingRsaPubKey, StringComparison.Ordinal)) { return(true); } if (!RegTestBlindingRsaPubKey.Equals(config.RegTestBlindingRsaPubKey, StringComparison.Ordinal)) { return(true); } if (!TorHost.Equals(config.TorHost, StringComparison.Ordinal)) { return(true); } if (TorSocks5Port != config.TorSocks5Port) { return(true); } return(false); }