|
|
@ -29,12 +29,12 @@ var ( |
|
|
|
) |
|
|
|
) |
|
|
|
|
|
|
|
|
|
|
|
type XEth struct { |
|
|
|
type XEth struct { |
|
|
|
backend *eth.Ethereum |
|
|
|
backend *eth.Ethereum |
|
|
|
|
|
|
|
frontend Frontend |
|
|
|
|
|
|
|
|
|
|
|
state *State |
|
|
|
state *State |
|
|
|
whisper *Whisper |
|
|
|
whisper *Whisper |
|
|
|
|
|
|
|
|
|
|
|
frontend Frontend |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
quit chan struct{} |
|
|
|
quit chan struct{} |
|
|
|
filterManager *filter.FilterManager |
|
|
|
filterManager *filter.FilterManager |
|
|
|
|
|
|
|
|
|
|
@ -47,7 +47,6 @@ type XEth struct { |
|
|
|
// regmut sync.Mutex
|
|
|
|
// regmut sync.Mutex
|
|
|
|
// register map[string][]*interface{} // TODO improve return type
|
|
|
|
// register map[string][]*interface{} // TODO improve return type
|
|
|
|
|
|
|
|
|
|
|
|
// Miner agent
|
|
|
|
|
|
|
|
agent *miner.RemoteAgent |
|
|
|
agent *miner.RemoteAgent |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
@ -57,10 +56,10 @@ type XEth struct { |
|
|
|
func New(eth *eth.Ethereum, frontend Frontend) *XEth { |
|
|
|
func New(eth *eth.Ethereum, frontend Frontend) *XEth { |
|
|
|
xeth := &XEth{ |
|
|
|
xeth := &XEth{ |
|
|
|
backend: eth, |
|
|
|
backend: eth, |
|
|
|
|
|
|
|
frontend: frontend, |
|
|
|
whisper: NewWhisper(eth.Whisper()), |
|
|
|
whisper: NewWhisper(eth.Whisper()), |
|
|
|
quit: make(chan struct{}), |
|
|
|
quit: make(chan struct{}), |
|
|
|
filterManager: filter.NewFilterManager(eth.EventMux()), |
|
|
|
filterManager: filter.NewFilterManager(eth.EventMux()), |
|
|
|
frontend: frontend, |
|
|
|
|
|
|
|
logs: make(map[int]*logFilter), |
|
|
|
logs: make(map[int]*logFilter), |
|
|
|
messages: make(map[int]*whisperFilter), |
|
|
|
messages: make(map[int]*whisperFilter), |
|
|
|
agent: miner.NewRemoteAgent(), |
|
|
|
agent: miner.NewRemoteAgent(), |
|
|
@ -71,6 +70,7 @@ func New(eth *eth.Ethereum, frontend Frontend) *XEth { |
|
|
|
xeth.frontend = dummyFrontend{} |
|
|
|
xeth.frontend = dummyFrontend{} |
|
|
|
} |
|
|
|
} |
|
|
|
xeth.state = NewState(xeth, xeth.backend.ChainManager().TransState()) |
|
|
|
xeth.state = NewState(xeth, xeth.backend.ChainManager().TransState()) |
|
|
|
|
|
|
|
|
|
|
|
go xeth.start() |
|
|
|
go xeth.start() |
|
|
|
go xeth.filterManager.Start() |
|
|
|
go xeth.filterManager.Start() |
|
|
|
|
|
|
|
|
|
|
@ -144,6 +144,7 @@ func (self *XEth) WithState(statedb *state.StateDB) *XEth { |
|
|
|
xeth.state = NewState(xeth, statedb) |
|
|
|
xeth.state = NewState(xeth, statedb) |
|
|
|
return xeth |
|
|
|
return xeth |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
func (self *XEth) State() *State { return self.state } |
|
|
|
func (self *XEth) State() *State { return self.state } |
|
|
|
|
|
|
|
|
|
|
|
func (self *XEth) Whisper() *Whisper { return self.whisper } |
|
|
|
func (self *XEth) Whisper() *Whisper { return self.whisper } |
|
|
|