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);
     }
 }