private async Task WaitForIndexesToSyncAsync(Backend.Global global, TimeSpan timeout, BitcoinStore bitcoinStore) { var bestHash = await global.RpcClient.GetBestBlockHashAsync(); var times = 0; while (bitcoinStore.SmartHeaderChain.TipHash != bestHash) { if (times > timeout.TotalSeconds) { throw new TimeoutException($"{nameof(WasabiSynchronizer)} test timed out. Filter was not downloaded."); } await Task.Delay(TimeSpan.FromSeconds(1)); times++; } }
private static async Task AssertFiltersInitializedAsync(RegTestFixture regTestFixture, Backend.Global global) { var firstHash = await global.RpcClient.GetBlockHashAsync(0); while (true) { var client = new WasabiClient(regTestFixture.BackendHttpClient); FiltersResponse?filtersResponse = await client.GetFiltersAsync(firstHash, 1000); Assert.NotNull(filtersResponse); var filterCount = filtersResponse !.Filters.Count(); if (filterCount >= 101) { break; } else { await Task.Delay(100); } } }