OSDN Git Service

Add mempool new tx subscription support (#1578)
[bytom/bytom.git] / test / util.go
index 421aa3d..e062dc8 100644 (file)
@@ -12,6 +12,7 @@ import (
        "github.com/bytom/consensus"
        "github.com/bytom/crypto/ed25519/chainkd"
        "github.com/bytom/database/leveldb"
+       "github.com/bytom/event"
        "github.com/bytom/protocol"
        "github.com/bytom/protocol/bc"
        "github.com/bytom/protocol/bc/types"
@@ -26,7 +27,8 @@ const (
 // MockChain mock chain with genesis block
 func MockChain(testDB dbm.DB) (*protocol.Chain, *leveldb.Store, *protocol.TxPool, error) {
        store := leveldb.NewStore(testDB)
-       txPool := protocol.NewTxPool(store)
+       dispatcher := event.NewDispatcher()
+       txPool := protocol.NewTxPool(store, dispatcher)
        chain, err := protocol.NewChain(store, txPool)
        return chain, store, txPool, err
 }
@@ -43,6 +45,7 @@ func MockUTXO(controlProg *account.CtrlProgram) *account.UTXO {
        utxo.AccountID = controlProg.AccountID
        utxo.Address = controlProg.Address
        utxo.ControlProgramIndex = controlProg.KeyIndex
+       utxo.Change = controlProg.Change
        return utxo
 }
 
@@ -54,9 +57,13 @@ func MockTx(utxo *account.UTXO, testAccount *account.Account) (*txbuilder.Templa
        }
 
        b := txbuilder.NewBuilder(time.Now())
-       b.AddInput(txInput, sigInst)
+       if err := b.AddInput(txInput, sigInst); err != nil {
+               return nil, nil, err
+       }
        out := types.NewTxOutput(*consensus.BTMAssetID, 100, []byte{byte(vm.OP_FAIL)})
-       b.AddOutput(out)
+       if err := b.AddOutput(out); err != nil {
+               return nil, nil, err
+       }
        return b.Build()
 }