From: Paladz Date: Fri, 1 Nov 2019 02:35:16 +0000 (+0800) Subject: fix bug for vote & normal output (#433) X-Git-Tag: v1.1.0~12 X-Git-Url: http://git.osdn.net/view?p=bytom%2Fvapor.git;a=commitdiff_plain;h=b5adb513416f1c03bb6503e208eb21550b5ac4cc;ds=sidebyside fix bug for vote & normal output (#433) --- diff --git a/wallet/utxo.go b/wallet/utxo.go index bc60f56c..a1b44fa3 100644 --- a/wallet/utxo.go +++ b/wallet/utxo.go @@ -209,13 +209,9 @@ func txInToUtxos(tx *types.Tx, statusFail bool) []*account.UTXO { } func txOutToUtxos(tx *types.Tx, statusFail bool, blockHeight uint64) []*account.UTXO { - validHeight := uint64(0) - if tx.Inputs[0].InputType() == types.CoinbaseInputType { - validHeight = blockHeight + consensus.ActiveNetParams.CoinbasePendingBlockNumber - } - utxos := []*account.UTXO{} for i, out := range tx.Outputs { + validHeight := uint64(0) entryOutput, err := tx.Entry(*tx.ResultIds[i]) if err != nil { log.WithFields(log.Fields{"module": logModule, "err": err}).Error("txOutToUtxos fail on get entryOutput") @@ -228,6 +224,11 @@ func txOutToUtxos(tx *types.Tx, statusFail bool, blockHeight uint64) []*account. if (statusFail && *out.AssetAmount().AssetId != *consensus.BTMAssetID) || out.AssetAmount().Amount == uint64(0) { continue } + + if tx.Inputs[0].InputType() == types.CoinbaseInputType { + validHeight = blockHeight + consensus.ActiveNetParams.CoinbasePendingBlockNumber + } + utxo = &account.UTXO{ OutputID: *tx.OutputID(i), AssetID: *out.AssetAmount().AssetId,