Implement BlockCandidateTransactions

This commit is contained in:
Mike Zak 2021-06-06 12:53:37 +03:00
parent 04c98ac6df
commit 619b7ab8cd
3 changed files with 15 additions and 3 deletions

View File

@ -34,8 +34,8 @@ func (mp *mempool) RemoveTransaction(transactionID *externalapi.DomainTransactio
panic("mempool.RemoveTransaction not implemented") // TODO (Mike) panic("mempool.RemoveTransaction not implemented") // TODO (Mike)
} }
func (mp *mempool) BlockCandidateTransactions() ([]*externalapi.DomainTransaction, error) { func (mp *mempool) BlockCandidateTransactions() []*externalapi.DomainTransaction {
panic("mempool.BlockCandidateTransactions not implemented") // TODO (Mike) return mp.transactionsPool.allReadyTransactions()
} }
func (mp *mempool) RevalidateHighPriorityTransactions() (validTransactions []*externalapi.DomainTransaction, err error) { func (mp *mempool) RevalidateHighPriorityTransactions() (validTransactions []*externalapi.DomainTransaction, err error) {

View File

@ -5,7 +5,7 @@ import "github.com/kaspanet/kaspad/domain/consensus/model/externalapi"
type idToTransaction map[externalapi.DomainTransactionID]*mempoolTransaction type idToTransaction map[externalapi.DomainTransactionID]*mempoolTransaction
type mempoolTransaction struct { type mempoolTransaction struct {
transaction externalapi.DomainTransaction transaction *externalapi.DomainTransaction
parentsInPool idToTransaction parentsInPool idToTransaction
isHighPriority bool isHighPriority bool
addAtDAAScore uint64 addAtDAAScore uint64

View File

@ -35,3 +35,15 @@ func (tp *transactionsPool) addMempoolTransaction(transaction mempoolTransaction
func (tp *transactionsPool) expireOldTransactions() error { func (tp *transactionsPool) expireOldTransactions() error {
panic("transactionsPool.expireOldTransactions not implemented") // TODO (Mike) panic("transactionsPool.expireOldTransactions not implemented") // TODO (Mike)
} }
func (tp *transactionsPool) allReadyTransactions() []*externalapi.DomainTransaction {
result := []*externalapi.DomainTransaction{}
for _, mempoolTransaction := range tp.allTransactions {
if len(mempoolTransaction.parentsInPool) == 0 {
result = append(result, mempoolTransaction.transaction)
}
}
return result
}