cmd, eth, node, rpc, xeth: use single-instance services

This commit is contained in:
Péter Szilágyi
2015-11-27 11:06:12 +02:00
parent 1e806c4c77
commit 3e1000fda3
17 changed files with 330 additions and 295 deletions
+1 -2
View File
@@ -19,7 +19,6 @@ package xeth
import (
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core/state"
"github.com/ethereum/go-ethereum/eth"
)
type State struct {
@@ -46,7 +45,7 @@ func (self *State) SafeGet(addr string) *Object {
func (self *State) safeGet(addr string) *state.StateObject {
object := self.state.GetStateObject(common.HexToAddress(addr))
if object == nil {
object = state.NewStateObject(common.HexToAddress(addr), self.xeth.backend.Service("eth").(*eth.Ethereum).ChainDb())
object = state.NewStateObject(common.HexToAddress(addr), self.xeth.EthereumService().ChainDb())
}
return object
}
+4 -4
View File
@@ -100,8 +100,8 @@ func New(stack *node.Node, frontend Frontend) *XEth {
ethereum *eth.Ethereum
whisper *whisper.Whisper
)
stack.SingletonService(&ethereum)
stack.SingletonService(&whisper)
stack.Service(&ethereum)
stack.Service(&whisper)
xeth := &XEth{
backend: stack,
@@ -130,7 +130,7 @@ func New(stack *node.Node, frontend Frontend) *XEth {
func (self *XEth) EthereumService() *eth.Ethereum {
var ethereum *eth.Ethereum
if _, err := self.backend.SingletonService(&ethereum); err != nil {
if err := self.backend.Service(&ethereum); err != nil {
return nil
}
return ethereum
@@ -138,7 +138,7 @@ func (self *XEth) EthereumService() *eth.Ethereum {
func (self *XEth) WhisperService() *whisper.Whisper {
var whisper *whisper.Whisper
if _, err := self.backend.SingletonService(&whisper); err != nil {
if err := self.backend.Service(&whisper); err != nil {
return nil
}
return whisper