annotatedTxs := w.filterAccountTxs(b, txStatus)
saveExternalAssetDefinition(b, w.DB)
annotateTxsAccount(annotatedTxs, w.DB)
+ annotateTxsAsset(w, annotatedTxs)
for _, tx := range annotatedTxs {
rawTx, err := json.Marshal(tx)
// GetTransactions get all walletDB transactions, and filter transactions by accountID optional
func (w *Wallet) GetTransactions(accountID string) ([]*query.AnnotatedTx, error) {
annotatedTxs := []*query.AnnotatedTx{}
- annotatedAccTxs := []*query.AnnotatedTx{}
txIter := w.DB.IteratorPrefix([]byte(TxPrefix))
defer txIter.Release()
return nil, err
}
- annotateTxsAsset(w, []*query.AnnotatedTx{annotatedTx})
- annotatedTxs = append(annotatedTxs, annotatedTx)
- if accountID != "" && findTransactionsByAccount(annotatedTx, accountID) {
- annotatedAccTxs = append(annotatedAccTxs, annotatedTx)
+ if accountID == "" {
+ annotatedTxs = append(annotatedTxs, annotatedTx)
+ continue
}
- }
- if accountID != "" {
- return annotatedAccTxs, nil
+ if findTransactionsByAccount(annotatedTx, accountID) {
+ annotatedTxs = append(annotatedTxs, annotatedTx)
+ }
}
+
return annotatedTxs, nil
}
import (
"encoding/json"
- log "github.com/sirupsen/logrus"
-
"github.com/bytom/blockchain/query"
"github.com/bytom/errors"
"github.com/bytom/protocol/bc/types"
}
w.DB.Set(calcUnconfirmedTxKey(tx.ID.String()), rawTx)
- log.Debugf("insert unconfirmed tx=%s into db", tx.ID.String())
return nil
}
// GetUnconfirmedTxs get account unconfirmed transactions, filter transactions by accountID when accountID is not empty
func (w *Wallet) GetUnconfirmedTxs(accountID string) ([]*query.AnnotatedTx, error) {
annotatedTxs := []*query.AnnotatedTx{}
- annotatedAccTxs := []*query.AnnotatedTx{}
txIter := w.DB.IteratorPrefix([]byte(unconfirmedTxPrefix))
defer txIter.Release()
return nil, err
}
- annotatedTxs = append(annotatedTxs, annotatedTx)
- if accountID != "" && findTransactionsByAccount(annotatedTx, accountID) {
- annotatedAccTxs = append(annotatedAccTxs, annotatedTx)
+ if accountID == "" {
+ annotatedTxs = append(annotatedTxs, annotatedTx)
+ continue
}
- }
- if accountID != "" {
- return annotatedAccTxs, nil
+ if findTransactionsByAccount(annotatedTx, accountID) {
+ annotatedTxs = append(annotatedTxs, annotatedTx)
+ }
}
+
return annotatedTxs, nil
}