aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2015-03-24 23:08:18 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2015-03-24 23:08:18 +0800
commitb9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf (patch)
tree6583247c394c09b610f544766325850b51a4c892
parentad420d099aec2122396e5ab8d05e5e3d4e0eb139 (diff)
downloaddexon-b9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf.tar
dexon-b9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf.tar.gz
dexon-b9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf.tar.bz2
dexon-b9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf.tar.lz
dexon-b9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf.tar.xz
dexon-b9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf.tar.zst
dexon-b9b7442b74a3a533f3b6eeefe6a1415d59eb8ccf.zip
Remove redundant fields
-rw-r--r--xeth/xeth.go57
1 files changed, 24 insertions, 33 deletions
diff --git a/xeth/xeth.go b/xeth/xeth.go
index 1176fef94..7ec464609 100644
--- a/xeth/xeth.go
+++ b/xeth/xeth.go
@@ -56,12 +56,9 @@ func (dummyFrontend) UnlockAccount([]byte) bool { return false
func (dummyFrontend) ConfirmTransaction(*types.Transaction) bool { return true }
type XEth struct {
- backend *eth.Ethereum
- blockProcessor *core.BlockProcessor
- chainManager *core.ChainManager
- accountManager *accounts.Manager
- state *State
- whisper *Whisper
+ backend *eth.Ethereum
+ state *State
+ whisper *Whisper
frontend Frontend
@@ -86,24 +83,21 @@ type XEth struct {
// confirms all transactions will be used.
func New(eth *eth.Ethereum, frontend Frontend) *XEth {
xeth := &XEth{
- backend: eth,
- blockProcessor: eth.BlockProcessor(),
- chainManager: eth.ChainManager(),
- accountManager: eth.AccountManager(),
- whisper: NewWhisper(eth.Whisper()),
- quit: make(chan struct{}),
- filterManager: filter.NewFilterManager(eth.EventMux()),
- frontend: frontend,
- logs: make(map[int]*logFilter),
- messages: make(map[int]*whisperFilter),
- agent: miner.NewRemoteAgent(),
+ backend: eth,
+ whisper: NewWhisper(eth.Whisper()),
+ quit: make(chan struct{}),
+ filterManager: filter.NewFilterManager(eth.EventMux()),
+ frontend: frontend,
+ logs: make(map[int]*logFilter),
+ messages: make(map[int]*whisperFilter),
+ agent: miner.NewRemoteAgent(),
}
eth.Miner().Register(xeth.agent)
if frontend == nil {
xeth.frontend = dummyFrontend{}
}
- xeth.state = NewState(xeth, xeth.chainManager.TransState())
+ xeth.state = NewState(xeth, xeth.backend.ChainManager().TransState())
go xeth.start()
go xeth.filterManager.Start()
@@ -172,10 +166,7 @@ func (self *XEth) AtStateNum(num int64) *XEth {
func (self *XEth) Backend() *eth.Ethereum { return self.backend }
func (self *XEth) WithState(statedb *state.StateDB) *XEth {
xeth := &XEth{
- backend: self.backend,
- blockProcessor: self.blockProcessor,
- chainManager: self.chainManager,
- whisper: self.whisper,
+ backend: self.backend,
}
xeth.state = NewState(xeth, statedb)
@@ -187,14 +178,14 @@ func (self *XEth) Whisper() *Whisper { return self.whisper }
func (self *XEth) BlockByHash(strHash string) *Block {
hash := common.HexToHash(strHash)
- block := self.chainManager.GetBlock(hash)
+ block := self.backend.ChainManager().GetBlock(hash)
return NewBlock(block)
}
func (self *XEth) EthBlockByHash(strHash string) *types.Block {
hash := common.HexToHash(strHash)
- block := self.chainManager.GetBlock(hash)
+ block := self.backend.ChainManager().GetBlock(hash)
return block
}
@@ -214,10 +205,10 @@ func (self *XEth) BlockByNumber(num int64) *Block {
}
if num == -1 {
- return NewBlock(self.chainManager.CurrentBlock())
+ return NewBlock(self.backend.ChainManager().CurrentBlock())
}
- return NewBlock(self.chainManager.GetBlockByNumber(uint64(num)))
+ return NewBlock(self.backend.ChainManager().GetBlockByNumber(uint64(num)))
}
func (self *XEth) EthBlockByNumber(num int64) *types.Block {
@@ -227,10 +218,10 @@ func (self *XEth) EthBlockByNumber(num int64) *types.Block {
}
if num == -1 {
- return self.chainManager.CurrentBlock()
+ return self.backend.ChainManager().CurrentBlock()
}
- return self.chainManager.GetBlockByNumber(uint64(num))
+ return self.backend.ChainManager().GetBlockByNumber(uint64(num))
}
func (self *XEth) Block(v interface{}) *Block {
@@ -530,7 +521,7 @@ func (self *XEth) PushTx(encodedTx string) (string, error) {
}
func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr string) (string, error) {
- statedb := self.State().State() //self.chainManager.TransState()
+ statedb := self.State().State() //self.eth.ChainManager().TransState()
msg := callmsg{
from: statedb.GetOrNewStateObject(common.HexToAddress(fromStr)),
to: common.HexToAddress(toStr),
@@ -547,8 +538,8 @@ func (self *XEth) Call(fromStr, toStr, valueStr, gasStr, gasPriceStr, dataStr st
msg.gasPrice = defaultGasPrice
}
- block := self.chainManager.CurrentBlock()
- vmenv := core.NewEnv(statedb, self.chainManager, msg, block)
+ block := self.backend.ChainManager().CurrentBlock()
+ vmenv := core.NewEnv(statedb, self.backend.ChainManager(), msg, block)
res, err := vmenv.Call(msg.from, msg.to, msg.data, msg.gas, msg.gasPrice, msg.value)
return common.ToHex(res), err
@@ -609,7 +600,7 @@ func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeSt
tx = types.NewTransactionMessage(to, value.BigInt(), gas, price, data)
}
- state := self.chainManager.TxState()
+ state := self.backend.ChainManager().TxState()
nonce := state.NewNonce(from)
tx.SetNonce(nonce)
@@ -630,7 +621,7 @@ func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeSt
}
func (self *XEth) sign(tx *types.Transaction, from common.Address, didUnlock bool) error {
- sig, err := self.accountManager.Sign(accounts.Account{Address: from.Bytes()}, tx.Hash().Bytes())
+ sig, err := self.backend.AccountManager().Sign(accounts.Account{Address: from.Bytes()}, tx.Hash().Bytes())
if err == accounts.ErrLocked {
if didUnlock {
return fmt.Errorf("sender account still locked after successful unlock")