wip
This commit is contained in:
26
xeth/xeth.go
26
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
|
||||
|
Reference in New Issue
Block a user