public Task HandleAsync(Block block, TransactionResult transactionResult, LogEvent logEvent) { var eventData = new ExtraTokenListModified(); eventData.MergeFrom(logEvent); var blockIndex = new BlockIndex { BlockHash = block.GetHash(), BlockHeight = block.Height }; if (eventData.SymbolListToPayTxSizeFee == null) { return(Task.CompletedTask); } var newTokenInfoList = new List <AvailableTokenInfoInCache>(); foreach (var tokenInfo in eventData.SymbolListToPayTxSizeFee.SymbolsToPayTxSizeFee) { newTokenInfoList.Add(new AvailableTokenInfoInCache { TokenSymbol = tokenInfo.TokenSymbol, AddedTokenWeight = tokenInfo.AddedTokenWeight, BaseTokenWeight = tokenInfo.BaseTokenWeight }); } _symbolListToPayTxFeeService.SetExtraAcceptedTokenInfoToForkCache(blockIndex, newTokenInfoList); return(Task.CompletedTask); }
public async Task ProcessAsync(Block block, TransactionResult transactionResult, LogEvent logEvent) { var eventData = new ExtraTokenListModified(); eventData.MergeFrom(logEvent); if (eventData.SymbolListToPayTxSizeFee == null) { return; } var transactionSizeFeeSymbols = new TransactionSizeFeeSymbols(); foreach (var symbolToPayTxSizeFee in eventData.SymbolListToPayTxSizeFee.SymbolsToPayTxSizeFee) { transactionSizeFeeSymbols.TransactionSizeFeeSymbolList.Add(new TransactionSizeFeeSymbol { TokenSymbol = symbolToPayTxSizeFee.TokenSymbol, AddedTokenWeight = symbolToPayTxSizeFee.AddedTokenWeight, BaseTokenWeight = symbolToPayTxSizeFee.BaseTokenWeight }); } await _transactionSizeFeeSymbolsProvider.SetTransactionSizeFeeSymbolsAsync(new BlockIndex { BlockHash = block.GetHash(), BlockHeight = block.Height }, transactionSizeFeeSymbols); }