core: don't remove transactions after block processing

The transaction pool drops processed transactions on its own
during pool maintenance.
release/0.9.36
Felix Lange 10 years ago committed by obscuren
parent 5721c43585
commit ec7a2c3442
  1. 5
      core/block_processor.go
  2. 2
      core/block_processor_test.go
  3. 3
      core/chain_makers.go
  4. 6
      core/chain_manager_test.go

@ -38,14 +38,12 @@ type BlockProcessor struct {
// Proof of work used for validating
Pow pow.PoW
txpool *TxPool
events event.Subscription
eventMux *event.TypeMux
}
func NewBlockProcessor(db, extra common.Database, pow pow.PoW, txpool *TxPool, chainManager *ChainManager, eventMux *event.TypeMux) *BlockProcessor {
func NewBlockProcessor(db, extra common.Database, pow pow.PoW, chainManager *ChainManager, eventMux *event.TypeMux) *BlockProcessor {
sm := &BlockProcessor{
db: db,
extraDb: extra,
@ -53,7 +51,6 @@ func NewBlockProcessor(db, extra common.Database, pow pow.PoW, txpool *TxPool, c
Pow: pow,
bc: chainManager,
eventMux: eventMux,
txpool: txpool,
}
return sm

@ -17,7 +17,7 @@ func proc() (*BlockProcessor, *ChainManager) {
var mux event.TypeMux
chainMan := NewChainManager(db, db, thePow(), &mux)
return NewBlockProcessor(db, db, ezp.New(), nil, chainMan, &mux), chainMan
return NewBlockProcessor(db, db, ezp.New(), chainMan, &mux), chainMan
}
func TestNumber(t *testing.T) {

@ -124,8 +124,7 @@ func newChainManager(block *types.Block, eventMux *event.TypeMux, db common.Data
// block processor with fake pow
func newBlockProcessor(db common.Database, cman *ChainManager, eventMux *event.TypeMux) *BlockProcessor {
chainMan := newChainManager(nil, eventMux, db)
txpool := NewTxPool(eventMux, chainMan.State, chainMan.GasLimit)
bman := NewBlockProcessor(db, db, FakePow{}, txpool, chainMan, eventMux)
bman := NewBlockProcessor(db, db, FakePow{}, chainMan, eventMux)
return bman
}

@ -267,8 +267,7 @@ func TestChainInsertions(t *testing.T) {
var eventMux event.TypeMux
chainMan := NewChainManager(db, db, thePow(), &eventMux)
txPool := NewTxPool(&eventMux, chainMan.State, func() *big.Int { return big.NewInt(100000000) })
blockMan := NewBlockProcessor(db, db, nil, txPool, chainMan, &eventMux)
blockMan := NewBlockProcessor(db, db, nil, chainMan, &eventMux)
chainMan.SetProcessor(blockMan)
const max = 2
@ -313,8 +312,7 @@ func TestChainMultipleInsertions(t *testing.T) {
}
var eventMux event.TypeMux
chainMan := NewChainManager(db, db, thePow(), &eventMux)
txPool := NewTxPool(&eventMux, chainMan.State, func() *big.Int { return big.NewInt(100000000) })
blockMan := NewBlockProcessor(db, db, nil, txPool, chainMan, &eventMux)
blockMan := NewBlockProcessor(db, db, nil, chainMan, &eventMux)
chainMan.SetProcessor(blockMan)
done := make(chan bool, max)
for i, chain := range chains {

Loading…
Cancel
Save