Beispiel #1
0
        public async Task UpdateCrossChainDataWithLibAsync(Hash blockHash, long blockHeight)
        {
            if (CrossChainConfigOptions.Value.CrossChainDataValidationIgnored ||
                blockHeight <= AElfConstants.GenesisBlockHeight)
            {
                return;
            }

            _crossChainIndexingDataService.UpdateCrossChainDataWithLib(blockHash, blockHeight);

            var chainIdHeightPairs =
                await _crossChainIndexingDataService.GetAllChainIdHeightPairsAtLibAsync();

            await _crossChainCacheEntityService.UpdateCrossChainCacheAsync(blockHash, blockHeight, chainIdHeightPairs);
        }
        public async Task HandleEventAsync(NewIrreversibleBlockFoundEvent eventData)
        {
            await _crossChainService.UpdateWithLibAsync(eventData.BlockHash, eventData.BlockHeight);

            _crossChainIndexingDataService.UpdateCrossChainDataWithLib(eventData.BlockHash, eventData.BlockHeight);
        }