+ utxo := &account.UTXO{}
+ switch bcOut := entryOutput.(type) {
+ case *bc.IntraChainOutput:
+ if statusFail && *out.AssetAmount().AssetId != *consensus.BTMAssetID {
+ continue
+ }
+ utxo = &account.UTXO{
+ OutputID: *tx.OutputID(i),
+ AssetID: *out.AssetAmount().AssetId,
+ Amount: out.AssetAmount().Amount,
+ ControlProgram: out.ControlProgram(),
+ SourceID: *bcOut.Source.Ref,
+ SourcePos: bcOut.Source.Position,
+ ValidHeight: vaildHeight,
+ }
+
+ case *bc.VoteOutput:
+ if statusFail && *out.AssetAmount().AssetId != *consensus.BTMAssetID {
+ continue
+ }
+ utxo = &account.UTXO{
+ OutputID: *tx.OutputID(i),
+ AssetID: *out.AssetAmount().AssetId,
+ Amount: out.AssetAmount().Amount,
+ ControlProgram: out.ControlProgram(),
+ SourceID: *bcOut.Source.Ref,
+ SourcePos: bcOut.Source.Position,
+ ValidHeight: vaildHeight,
+ Vote: bcOut.Vote,
+ }
+
+ default:
+ log.WithFields(log.Fields{"module": logModule}).Warn("txOutToUtxos fail on get bcOut")