81 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			81 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package core
 | |
| 
 | |
| import (
 | |
| 	"container/list"
 | |
| 	"fmt"
 | |
| 
 | |
| 	"github.com/ethereum/go-ethereum/core/types"
 | |
| 	// "github.com/ethereum/go-ethereum/crypto"
 | |
| 	"github.com/ethereum/go-ethereum/common"
 | |
| 	"github.com/ethereum/go-ethereum/ethdb"
 | |
| 	"github.com/ethereum/go-ethereum/event"
 | |
| )
 | |
| 
 | |
| // Implement our EthTest Manager
 | |
| type TestManager struct {
 | |
| 	// stateManager *StateManager
 | |
| 	eventMux *event.TypeMux
 | |
| 
 | |
| 	db         common.Database
 | |
| 	txPool     *TxPool
 | |
| 	blockChain *ChainManager
 | |
| 	Blocks     []*types.Block
 | |
| }
 | |
| 
 | |
| func (s *TestManager) IsListening() bool {
 | |
| 	return false
 | |
| }
 | |
| 
 | |
| func (s *TestManager) IsMining() bool {
 | |
| 	return false
 | |
| }
 | |
| 
 | |
| func (s *TestManager) PeerCount() int {
 | |
| 	return 0
 | |
| }
 | |
| 
 | |
| func (s *TestManager) Peers() *list.List {
 | |
| 	return list.New()
 | |
| }
 | |
| 
 | |
| func (s *TestManager) ChainManager() *ChainManager {
 | |
| 	return s.blockChain
 | |
| }
 | |
| 
 | |
| func (tm *TestManager) TxPool() *TxPool {
 | |
| 	return tm.txPool
 | |
| }
 | |
| 
 | |
| // func (tm *TestManager) StateManager() *StateManager {
 | |
| // 	return tm.stateManager
 | |
| // }
 | |
| 
 | |
| func (tm *TestManager) EventMux() *event.TypeMux {
 | |
| 	return tm.eventMux
 | |
| }
 | |
| 
 | |
| // func (tm *TestManager) KeyManager() *crypto.KeyManager {
 | |
| // 	return nil
 | |
| // }
 | |
| 
 | |
| func (tm *TestManager) Db() common.Database {
 | |
| 	return tm.db
 | |
| }
 | |
| 
 | |
| func NewTestManager() *TestManager {
 | |
| 	db, err := ethdb.NewMemDatabase()
 | |
| 	if err != nil {
 | |
| 		fmt.Println("Could not create mem-db, failing")
 | |
| 		return nil
 | |
| 	}
 | |
| 
 | |
| 	testManager := &TestManager{}
 | |
| 	testManager.eventMux = new(event.TypeMux)
 | |
| 	testManager.db = db
 | |
| 	// testManager.txPool = NewTxPool(testManager)
 | |
| 	// testManager.blockChain = NewChainManager(testManager)
 | |
| 	// testManager.stateManager = NewStateManager(testManager)
 | |
| 
 | |
| 	return testManager
 | |
| }
 |