public async Task <bool> StartIndexingRequest(int chainId, long targetHeight, ICrossChainDataProducer crossChainDataProducer) { var requestData = new RequestCrossChainBlockData { FromChainId = LocalChainId, NextHeight = targetHeight }; using (var serverStream = RequestIndexing(requestData)) { while (await serverStream.ResponseStream.MoveNext()) { var response = serverStream.ResponseStream.Current; // requestCrossChain failed or useless response if (!response.Success || !crossChainDataProducer.AddNewBlockInfo(response.BlockInfoResult)) { break; } crossChainDataProducer.Logger.LogTrace( $"Received response from chain {ChainHelpers.ConvertChainIdToBase58(response.BlockInfoResult.ChainId)} at height {response.Height}"); } } return(true); }
public GrpcClientTests() { _server = GetRequiredService <ICrossChainServer>(); _certificateStore = GetRequiredService <ICertificateStore>(); _crossChainDataProducer = GetRequiredService <ICrossChainDataProducer>(); InitServerAndClient(); }
protected CrossChainWithChainTestBase() { _crossChainDataProducer = Application.ServiceProvider.GetRequiredService <ICrossChainDataProducer>(); _crossChainMemoryCacheService = Application.ServiceProvider.GetRequiredService <ICrossChainMemoryCacheService>(); }
public CrossChainTestBase() { MultiChainBlockInfoCacheProvider = GetRequiredService <IMultiChainBlockInfoCacheProvider>(); CrossChainDataProducer = GetRequiredService <ICrossChainDataProducer>(); CrossChainMemoryCacheService = GetRequiredService <ICrossChainMemoryCacheService>(); }
public CrossChainDataProducerTest() { _crossChainDataProducer = GetRequiredService <ICrossChainDataProducer>(); }
public CrossChainGrpcClientController(ICrossChainDataProducer crossChainDataProducer, ICrossChainMemoryCacheService crossChainMemoryCacheService) { _crossChainDataProducer = crossChainDataProducer; _crossChainMemoryCacheService = crossChainMemoryCacheService; }