-func mockTxData(utxo *account.UTXO, testAccount *account.Account) (*txbuilder.Template, *types.TxData, error) {
- txInput, sigInst, err := account.UtxoToInputs(testAccount.Signer, utxo)
- if err != nil {
- return nil, nil, err
+func mockTxData(utxos []*account.UTXO, testAccount *account.Account) (*txbuilder.Template, *types.TxData, error) {
+ tplBuilder := txbuilder.NewBuilder(time.Now())
+
+ for _, utxo := range utxos {
+ txInput, sigInst, err := account.UtxoToInputs(testAccount.Signer, utxo)
+ if err != nil {
+ return nil, nil, err
+ }
+ tplBuilder.AddInput(txInput, sigInst)
+
+ out := &types.TxOutput{}
+ if utxo.AssetID == *consensus.BTMAssetID {
+ out = types.NewTxOutput(utxo.AssetID, 100, utxo.ControlProgram)
+ } else {
+ out = types.NewTxOutput(utxo.AssetID, utxo.Amount, utxo.ControlProgram)
+ }
+ tplBuilder.AddOutput(out)