}
// SetUnconfirmedTransaction set unconfirmed tx by txID
-func (store *WalletStore) SetUnconfirmedTransaction(txID string, rawTx []byte) {
+func (store *WalletStore) SetUnconfirmedTransaction(txID string, tx *query.AnnotatedTx) error {
+ rawTx, err := json.Marshal(tx)
+ if err != nil {
+ return err
+ }
if store.batch == nil {
store.walletDB.Set(calcUnconfirmedTxKey(txID), rawTx)
} else {
store.batch.Set(calcUnconfirmedTxKey(txID), rawTx)
}
+ return nil
}
// DeleteStardardUTXO delete stardard utxo by outputID
GetTransactions() ([]*query.AnnotatedTx, error)
GetUnconfirmedTransactions() ([]*query.AnnotatedTx, error)
GetUnconfirmedTransaction(string) (*query.AnnotatedTx, error)
- SetUnconfirmedTransaction(string, []byte)
+ SetUnconfirmedTransaction(string, *query.AnnotatedTx) error
DeleteStardardUTXO(bc.Hash)
DeleteContractUTXO(bc.Hash)
SetStandardUTXO(bc.Hash, []byte)
package wallet
import (
- "encoding/json"
"fmt"
"sort"
"time"
annotatedTxs = append(annotatedTxs, annotatedTx)
annotateTxsAccount(annotatedTxs, w.store)
- rawTx, err := json.Marshal(annotatedTxs[0])
- if err != nil {
+ if err := w.store.SetUnconfirmedTransaction(tx.ID.String(), annotatedTxs[0]); err != nil {
return err
}
-
- w.store.SetUnconfirmedTransaction(tx.ID.String(), rawTx)
return nil
}