public IEnumerable <SmartTransaction> GetTransactions() { lock (Lock) { return(ConfirmedStore.GetTransactions().Concat(MempoolStore.GetTransactions()).OrderByBlockchain().ToList()); } }
public IEnumerable <SmartTransaction> ReleaseToMempoolFromBlock(uint256 blockHash) { lock (Lock) { List <SmartTransaction> reorgedTxs = new(); foreach (var txHash in ConfirmedStore .GetTransactions() .Where(tx => tx.BlockHash == blockHash) .Select(tx => tx.GetHash())) { if (ConfirmedStore.TryRemove(txHash, out var removedTx)) { removedTx.SetUnconfirmed(); if (MempoolStore.TryAddOrUpdate(removedTx).isAdded) { reorgedTxs.Add(removedTx); } } } return(reorgedTxs); } }