good morning!!!!

Skip to content
Snippets Groups Projects
Commit 738d6e20 authored by Jeffrey Wilcke's avatar Jeffrey Wilcke
Browse files

Added ui.Interface to xeth

parent 21fd722a
Branches
Tags
No related merge requests found
package ui package ui
// ReturnInterface is returned by the Intercom interface when a method is called import "github.com/ethereum/go-ethereum/core/types"
type ReturnInterface interface {
Get(i int) (interface{}, error)
Size() int
}
// Frontend is the basic interface for calling arbitrary methods on something that type Interface interface {
// implements a front end (GUI, CLI, etc) UnlockAccount(address []byte) bool
type Frontend interface { ConfirmTransaction(tx *types.Transaction) bool
// Checks whether a specific method is implemented
Supports(method string) bool
// Call calls the given method on interface it implements. This will return
// an error with errNotImplemented if the method hasn't been implemented
// and will return a ReturnInterface if it does.
Call(method string) (ReturnInterface, error)
} }
...@@ -18,6 +18,7 @@ import ( ...@@ -18,6 +18,7 @@ import (
"github.com/ethereum/go-ethereum/miner" "github.com/ethereum/go-ethereum/miner"
"github.com/ethereum/go-ethereum/p2p" "github.com/ethereum/go-ethereum/p2p"
"github.com/ethereum/go-ethereum/state" "github.com/ethereum/go-ethereum/state"
"github.com/ethereum/go-ethereum/ui"
"github.com/ethereum/go-ethereum/whisper" "github.com/ethereum/go-ethereum/whisper"
) )
...@@ -46,9 +47,16 @@ type XEth struct { ...@@ -46,9 +47,16 @@ type XEth struct {
state *State state *State
whisper *Whisper whisper *Whisper
miner *miner.Miner 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{ xeth := &XEth{
eth: eth, eth: eth,
blockProcessor: eth.BlockProcessor(), blockProcessor: eth.BlockProcessor(),
...@@ -56,6 +64,11 @@ func New(eth Backend) *XEth { ...@@ -56,6 +64,11 @@ func New(eth Backend) *XEth {
whisper: NewWhisper(eth.Whisper()), whisper: NewWhisper(eth.Whisper()),
miner: eth.Miner(), miner: eth.Miner(),
} }
if frontend == nil {
xeth.frontend = TmpFrontend{}
}
xeth.state = NewState(xeth, xeth.chainManager.TransState()) xeth.state = NewState(xeth, xeth.chainManager.TransState())
return xeth return xeth
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment