예제 #1
0
        public List <string> GetAllHashesRelevantWithCurrentWalletFromPool()
        {
            var accountIds = new AccountDac().SelectAll().Select(a => a.Id).ToList();
            var txs        = TransactionPool.Instance.GetAllTransactions();
            var result     = new List <string>();

            foreach (var tx in txs)
            {
                bool isOK   = false;
                var  entity = this.ConvertTxMsgToEntity(tx);

                foreach (var input in entity.Inputs)
                {
                    if (accountIds.Contains(input.AccountId))
                    {
                        result.Add(tx.Hash);
                        isOK = true;
                    }
                }

                if (!isOK)
                {
                    foreach (var output in entity.Outputs)
                    {
                        result.Add(tx.Hash);
                        isOK = true;
                    }
                }
            }

            return(result);
        }