diff options
Diffstat (limited to 'xeth/xeth.go')
-rw-r--r-- | xeth/xeth.go | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/xeth/xeth.go b/xeth/xeth.go index 091743a95..c0281f1da 100644 --- a/xeth/xeth.go +++ b/xeth/xeth.go @@ -18,6 +18,7 @@ import ( "github.com/ethereum/go-ethereum/miner" "github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/state" + "github.com/ethereum/go-ethereum/ui" "github.com/ethereum/go-ethereum/whisper" ) @@ -32,7 +33,8 @@ type Backend interface { IsListening() bool Peers() []*p2p.Peer KeyManager() *crypto.KeyManager - Db() ethutil.Database + BlockDb() ethutil.Database + StateDb() ethutil.Database EventMux() *event.TypeMux Whisper() *whisper.Whisper Miner() *miner.Miner @@ -45,9 +47,16 @@ type XEth struct { state *State whisper *Whisper miner *miner.Miner + + frontend ui.Interface } -func New(eth Backend) *XEth { +type TmpFrontend struct{} + +func (TmpFrontend) UnlockAccount([]byte) bool { panic("UNLOCK ACCOUNT") } +func (TmpFrontend) ConfirmTransaction(*types.Transaction) bool { panic("CONFIRM TRANSACTION") } + +func New(eth Backend, frontend ui.Interface) *XEth { xeth := &XEth{ eth: eth, blockProcessor: eth.BlockProcessor(), @@ -55,6 +64,11 @@ func New(eth Backend) *XEth { whisper: NewWhisper(eth.Whisper()), miner: eth.Miner(), } + + if frontend == nil { + xeth.frontend = TmpFrontend{} + } + xeth.state = NewState(xeth, xeth.chainManager.TransState()) return xeth @@ -300,14 +314,6 @@ func (self *XEth) Transact(toStr, valueStr, gasStr, gasPriceStr, codeStr string) tx.SetNonce(nonce) tx.Sign(key.PrivateKey) - //fmt.Printf("create tx: %x %v\n", tx.Hash()[:4], tx.Nonce()) - - // Do some pre processing for our "pre" events and hooks - //block := self.chainManager.NewBlock(key.Address()) - //coinbase := state.GetOrNewStateObject(key.Address()) - //coinbase.SetGasPool(block.GasLimit()) - //self.blockProcessor.ApplyTransactions(coinbase, state, block, types.Transactions{tx}, true) - err = self.eth.TxPool().Add(tx) if err != nil { return "", err |