• R/O
  • HTTP
  • SSH
  • HTTPS

vapor: Commit

Golang implemented sidechain for Bytom


Commit MetaInfo

Revisionef9af467ccc6cd0f2e8e02e28178358b9a5e3a7d (tree)
Time2019-06-28 17:43:03
AuthorChengcheng Zhang <943420582@qq.c...>
CommiterChengcheng Zhang

Log Message

update SetStandardUTXO

Change Summary

Incremental Difference

--- a/database/wallet_store.go
+++ b/database/wallet_store.go
@@ -416,21 +416,31 @@ func (store *WalletStore) DeleteContractUTXO(outputID bc.Hash) {
416416 }
417417
418418 // SetStandardUTXO set standard utxo
419-func (store *WalletStore) SetStandardUTXO(outputID bc.Hash, data []byte) {
419+func (store *WalletStore) SetStandardUTXO(outputID bc.Hash, utxo *acc.UTXO) error {
420+ data, err := json.Marshal(utxo)
421+ if err != nil {
422+ return err
423+ }
420424 if store.batch == nil {
421425 store.walletDB.Set(StandardUTXOKey(outputID), data)
422426 } else {
423427 store.batch.Set(StandardUTXOKey(outputID), data)
424428 }
429+ return nil
425430 }
426431
427432 // SetContractUTXO set standard utxo
428-func (store *WalletStore) SetContractUTXO(outputID bc.Hash, data []byte) {
433+func (store *WalletStore) SetContractUTXO(outputID bc.Hash, utxo *acc.UTXO) error {
434+ data, err := json.Marshal(utxo)
435+ if err != nil {
436+ return err
437+ }
429438 if store.batch == nil {
430439 store.walletDB.Set(ContractUTXOKey(outputID), data)
431440 } else {
432441 store.batch.Set(ContractUTXOKey(outputID), data)
433442 }
443+ return nil
434444 }
435445
436446 // GetWalletInfo get wallet information
--- a/wallet/store.go
+++ b/wallet/store.go
@@ -29,8 +29,8 @@ type WalletStorer interface {
2929 SetUnconfirmedTransaction(string, *query.AnnotatedTx) error
3030 DeleteStardardUTXO(bc.Hash)
3131 DeleteContractUTXO(bc.Hash)
32- SetStandardUTXO(bc.Hash, []byte)
33- SetContractUTXO(bc.Hash, []byte)
32+ SetStandardUTXO(bc.Hash, *acc.UTXO) error
33+ SetContractUTXO(bc.Hash, *acc.UTXO) error
3434 GetWalletInfo() []byte
3535 SetWalletInfo([]byte)
3636 DeleteWalletTransactions()
--- a/wallet/utxo.go
+++ b/wallet/utxo.go
@@ -10,7 +10,6 @@ import (
1010 "github.com/vapor/consensus/segwit"
1111 "github.com/vapor/crypto/sha3pool"
1212 "github.com/vapor/database"
13- "github.com/vapor/errors"
1413 "github.com/vapor/protocol/bc"
1514 "github.com/vapor/protocol/bc/types"
1615 )
@@ -155,15 +154,14 @@ func (w *Wallet) filterAccountUtxo(utxos []*account.UTXO) []*account.UTXO {
155154
156155 func (w *Wallet) saveUtxos(utxos []*account.UTXO) error {
157156 for _, utxo := range utxos {
158- data, err := json.Marshal(utxo)
159- if err != nil {
160- return errors.Wrap(err, "failed marshal accountutxo")
161- }
162-
163157 if segwit.IsP2WScript(utxo.ControlProgram) {
164- w.store.SetStandardUTXO(utxo.OutputID, data)
158+ if err := w.store.SetStandardUTXO(utxo.OutputID, utxo); err != nil {
159+ return err
160+ }
165161 } else {
166- w.store.SetContractUTXO(utxo.OutputID, data)
162+ if err := w.store.SetContractUTXO(utxo.OutputID, utxo); err != nil {
163+ return err
164+ }
167165 }
168166 }
169167 return nil
Show on old repository browser