"context"
"time"
- dbm "github.com/tendermint/tmlibs/db"
-
- "github.com/bytom/account"
- "github.com/bytom/blockchain/pseudohsm"
- "github.com/bytom/blockchain/txbuilder"
- "github.com/bytom/consensus"
- "github.com/bytom/crypto/ed25519/chainkd"
- "github.com/bytom/database/leveldb"
- "github.com/bytom/protocol"
- "github.com/bytom/protocol/bc"
- "github.com/bytom/protocol/bc/types"
- "github.com/bytom/protocol/vm"
+ "github.com/bytom/bytom/account"
+ "github.com/bytom/bytom/blockchain/pseudohsm"
+ "github.com/bytom/bytom/blockchain/txbuilder"
+ "github.com/bytom/bytom/consensus"
+ "github.com/bytom/bytom/crypto/ed25519/chainkd"
+ "github.com/bytom/bytom/database"
+ "github.com/bytom/bytom/event"
+ "github.com/bytom/bytom/protocol"
+ "github.com/bytom/bytom/protocol/bc"
+ "github.com/bytom/bytom/protocol/bc/types"
+ "github.com/bytom/bytom/protocol/vm"
+ dbm "github.com/bytom/bytom/database/leveldb"
)
const (
assetVersion = 1
)
-// MockTxPool mock transaction pool
-func MockTxPool() *protocol.TxPool {
- return protocol.NewTxPool()
-}
-
// MockChain mock chain with genesis block
-func MockChain(testDB dbm.DB) (*protocol.Chain, *leveldb.Store, *protocol.TxPool, error) {
- store := leveldb.NewStore(testDB)
- txPool := MockTxPool()
+func MockChain(testDB dbm.DB) (*protocol.Chain, *database.Store, *protocol.TxPool, error) {
+ store := database.NewStore(testDB)
+ dispatcher := event.NewDispatcher()
+ txPool := protocol.NewTxPool(store, dispatcher)
chain, err := protocol.NewChain(store, txPool)
return chain, store, txPool, err
}
utxo.AccountID = controlProg.AccountID
utxo.Address = controlProg.Address
utxo.ControlProgramIndex = controlProg.KeyIndex
+ utxo.Change = controlProg.Change
return utxo
}
}
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()
}