helper_test.go 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. package core
  2. import (
  3. "container/list"
  4. "fmt"
  5. "github.com/ethereum/go-ethereum/core/types"
  6. "github.com/ethereum/go-ethereum/crypto"
  7. "github.com/ethereum/go-ethereum/ethdb"
  8. "github.com/ethereum/go-ethereum/ethutil"
  9. "github.com/ethereum/go-ethereum/event"
  10. )
  11. // Implement our EthTest Manager
  12. type TestManager struct {
  13. // stateManager *StateManager
  14. eventMux *event.TypeMux
  15. db ethutil.Database
  16. txPool *TxPool
  17. blockChain *ChainManager
  18. Blocks []*types.Block
  19. }
  20. func (s *TestManager) IsListening() bool {
  21. return false
  22. }
  23. func (s *TestManager) IsMining() bool {
  24. return false
  25. }
  26. func (s *TestManager) PeerCount() int {
  27. return 0
  28. }
  29. func (s *TestManager) Peers() *list.List {
  30. return list.New()
  31. }
  32. func (s *TestManager) ChainManager() *ChainManager {
  33. return s.blockChain
  34. }
  35. func (tm *TestManager) TxPool() *TxPool {
  36. return tm.txPool
  37. }
  38. // func (tm *TestManager) StateManager() *StateManager {
  39. // return tm.stateManager
  40. // }
  41. func (tm *TestManager) EventMux() *event.TypeMux {
  42. return tm.eventMux
  43. }
  44. func (tm *TestManager) KeyManager() *crypto.KeyManager {
  45. return nil
  46. }
  47. func (tm *TestManager) Db() ethutil.Database {
  48. return tm.db
  49. }
  50. func NewTestManager() *TestManager {
  51. ethutil.ReadConfig(".ethtest", "/tmp/ethtest", "ETH")
  52. db, err := ethdb.NewMemDatabase()
  53. if err != nil {
  54. fmt.Println("Could not create mem-db, failing")
  55. return nil
  56. }
  57. testManager := &TestManager{}
  58. testManager.eventMux = new(event.TypeMux)
  59. testManager.db = db
  60. // testManager.txPool = NewTxPool(testManager)
  61. // testManager.blockChain = NewChainManager(testManager)
  62. // testManager.stateManager = NewStateManager(testManager)
  63. // Start the tx pool
  64. testManager.txPool.Start()
  65. return testManager
  66. }