| 
									
										
										
										
											2014-12-04 10:28:02 +01:00
										 |  |  | package core | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | import ( | 
					
						
							|  |  |  | 	"container/list" | 
					
						
							|  |  |  | 	"fmt" | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-12-04 10:53:49 +01:00
										 |  |  | 	"github.com/ethereum/go-ethereum/core/types" | 
					
						
							| 
									
										
										
										
											2015-03-11 14:43:39 -05:00
										 |  |  | 	// "github.com/ethereum/go-ethereum/crypto" | 
					
						
							| 
									
										
										
										
											2014-10-23 15:01:27 +02:00
										 |  |  | 	"github.com/ethereum/go-ethereum/ethdb" | 
					
						
							| 
									
										
										
										
											2015-03-16 11:27:38 +01:00
										 |  |  | 	"github.com/ethereum/go-ethereum/common" | 
					
						
							| 
									
										
										
										
											2014-10-23 15:01:27 +02:00
										 |  |  | 	"github.com/ethereum/go-ethereum/event" | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | ) | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | // Implement our EthTest Manager | 
					
						
							|  |  |  | type TestManager struct { | 
					
						
							| 
									
										
										
										
											2014-11-14 20:58:09 -06:00
										 |  |  | 	// stateManager *StateManager | 
					
						
							|  |  |  | 	eventMux *event.TypeMux | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-16 11:27:38 +01:00
										 |  |  | 	db         common.Database | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | 	txPool     *TxPool | 
					
						
							| 
									
										
										
										
											2014-10-29 18:38:05 +01:00
										 |  |  | 	blockChain *ChainManager | 
					
						
							| 
									
										
										
										
											2014-11-18 19:52:45 +01:00
										 |  |  | 	Blocks     []*types.Block | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 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() | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-29 18:38:05 +01:00
										 |  |  | func (s *TestManager) ChainManager() *ChainManager { | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | 	return s.blockChain | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | func (tm *TestManager) TxPool() *TxPool { | 
					
						
							|  |  |  | 	return tm.txPool | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-11-14 20:58:09 -06:00
										 |  |  | // func (tm *TestManager) StateManager() *StateManager { | 
					
						
							|  |  |  | // 	return tm.stateManager | 
					
						
							|  |  |  | // } | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-10-14 02:01:46 +02:00
										 |  |  | func (tm *TestManager) EventMux() *event.TypeMux { | 
					
						
							|  |  |  | 	return tm.eventMux | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | } | 
					
						
							| 
									
										
										
										
											2015-03-11 14:43:39 -05:00
										 |  |  | 
 | 
					
						
							|  |  |  | // func (tm *TestManager) KeyManager() *crypto.KeyManager { | 
					
						
							|  |  |  | // 	return nil | 
					
						
							|  |  |  | // } | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2015-03-16 11:27:38 +01:00
										 |  |  | func (tm *TestManager) Db() common.Database { | 
					
						
							| 
									
										
										
										
											2014-10-14 02:01:46 +02:00
										 |  |  | 	return tm.db | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | func NewTestManager() *TestManager { | 
					
						
							|  |  |  | 	db, err := ethdb.NewMemDatabase() | 
					
						
							|  |  |  | 	if err != nil { | 
					
						
							|  |  |  | 		fmt.Println("Could not create mem-db, failing") | 
					
						
							|  |  |  | 		return nil | 
					
						
							|  |  |  | 	} | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	testManager := &TestManager{} | 
					
						
							| 
									
										
										
										
											2014-10-14 02:01:46 +02:00
										 |  |  | 	testManager.eventMux = new(event.TypeMux) | 
					
						
							|  |  |  | 	testManager.db = db | 
					
						
							| 
									
										
										
										
											2014-11-14 20:58:09 -06:00
										 |  |  | 	// testManager.txPool = NewTxPool(testManager) | 
					
						
							|  |  |  | 	// testManager.blockChain = NewChainManager(testManager) | 
					
						
							|  |  |  | 	// testManager.stateManager = NewStateManager(testManager) | 
					
						
							| 
									
										
										
										
											2014-09-29 12:57:51 +02:00
										 |  |  | 
 | 
					
						
							|  |  |  | 	// Start the tx pool | 
					
						
							|  |  |  | 	testManager.txPool.Start() | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 	return testManager | 
					
						
							|  |  |  | } |