forked from cerc-io/plugeth
Reorg for clarity
This commit is contained in:
parent
754160afea
commit
b56e20be27
82
rpc/api.go
82
rpc/api.go
@ -43,59 +43,7 @@ func (self *EthereumApi) xeth() *xeth.XEth {
|
|||||||
return self.eth
|
return self.eth
|
||||||
}
|
}
|
||||||
|
|
||||||
// func (self *EthereumApi) Register(args string, reply *interface{}) error {
|
|
||||||
// self.regmut.Lock()
|
|
||||||
// defer self.regmut.Unlock()
|
|
||||||
|
|
||||||
// if _, ok := self.register[args]; ok {
|
|
||||||
// self.register[args] = nil // register with empty
|
|
||||||
// }
|
|
||||||
// return nil
|
|
||||||
// }
|
|
||||||
|
|
||||||
// func (self *EthereumApi) Unregister(args string, reply *interface{}) error {
|
|
||||||
// self.regmut.Lock()
|
|
||||||
// defer self.regmut.Unlock()
|
|
||||||
|
|
||||||
// delete(self.register, args)
|
|
||||||
|
|
||||||
// return nil
|
|
||||||
// }
|
|
||||||
|
|
||||||
// func (self *EthereumApi) WatchTx(args string, reply *interface{}) error {
|
|
||||||
// self.regmut.Lock()
|
|
||||||
// defer self.regmut.Unlock()
|
|
||||||
|
|
||||||
// txs := self.register[args]
|
|
||||||
// self.register[args] = nil
|
|
||||||
|
|
||||||
// *reply = txs
|
|
||||||
// return nil
|
|
||||||
// }
|
|
||||||
|
|
||||||
func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) (err error) {
|
func (p *EthereumApi) Transact(args *NewTxArgs, reply *interface{}) (err error) {
|
||||||
// TODO if no_private_key then
|
|
||||||
//if _, exists := p.register[args.From]; exists {
|
|
||||||
// p.register[args.From] = append(p.register[args.From], args)
|
|
||||||
//} else {
|
|
||||||
/*
|
|
||||||
account := accounts.Get(common.FromHex(args.From))
|
|
||||||
if account != nil {
|
|
||||||
if account.Unlocked() {
|
|
||||||
if !unlockAccount(account) {
|
|
||||||
return
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
result, _ := account.Transact(common.FromHex(args.To), common.FromHex(args.Value), common.FromHex(args.Gas), common.FromHex(args.GasPrice), common.FromHex(args.Data))
|
|
||||||
if len(result) > 0 {
|
|
||||||
*reply = common.ToHex(result)
|
|
||||||
}
|
|
||||||
} else if _, exists := p.register[args.From]; exists {
|
|
||||||
p.register[ags.From] = append(p.register[args.From], args)
|
|
||||||
}
|
|
||||||
*/
|
|
||||||
|
|
||||||
if err := args.requirements(); err != nil {
|
if err := args.requirements(); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
@ -163,6 +111,36 @@ func (p *EthereumApi) GetBlockByNumber(blocknum int64, includetx bool) (*BlockRe
|
|||||||
return br, nil
|
return br, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func (self *EthereumApi) Register(args string, reply *interface{}) error {
|
||||||
|
// self.regmut.Lock()
|
||||||
|
// defer self.regmut.Unlock()
|
||||||
|
|
||||||
|
// if _, ok := self.register[args]; ok {
|
||||||
|
// self.register[args] = nil // register with empty
|
||||||
|
// }
|
||||||
|
// return nil
|
||||||
|
// }
|
||||||
|
|
||||||
|
// func (self *EthereumApi) Unregister(args string, reply *interface{}) error {
|
||||||
|
// self.regmut.Lock()
|
||||||
|
// defer self.regmut.Unlock()
|
||||||
|
|
||||||
|
// delete(self.register, args)
|
||||||
|
|
||||||
|
// return nil
|
||||||
|
// }
|
||||||
|
|
||||||
|
// func (self *EthereumApi) WatchTx(args string, reply *interface{}) error {
|
||||||
|
// self.regmut.Lock()
|
||||||
|
// defer self.regmut.Unlock()
|
||||||
|
|
||||||
|
// txs := self.register[args]
|
||||||
|
// self.register[args] = nil
|
||||||
|
|
||||||
|
// *reply = txs
|
||||||
|
// return nil
|
||||||
|
// }
|
||||||
|
|
||||||
func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error {
|
func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error {
|
||||||
// Spec at https://github.com/ethereum/wiki/wiki/Generic-JSON-RPC
|
// Spec at https://github.com/ethereum/wiki/wiki/Generic-JSON-RPC
|
||||||
rpclogger.Infof("%s %s", req.Method, req.Params)
|
rpclogger.Infof("%s %s", req.Method, req.Params)
|
||||||
|
36
xeth/xeth.go
36
xeth/xeth.go
@ -70,6 +70,13 @@ type Frontend interface {
|
|||||||
ConfirmTransaction(tx *types.Transaction) bool
|
ConfirmTransaction(tx *types.Transaction) bool
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// dummyFrontend is a non-interactive frontend that allows all
|
||||||
|
// transactions but cannot not unlock any keys.
|
||||||
|
type dummyFrontend struct{}
|
||||||
|
|
||||||
|
func (dummyFrontend) UnlockAccount([]byte) bool { return false }
|
||||||
|
func (dummyFrontend) ConfirmTransaction(*types.Transaction) bool { return true }
|
||||||
|
|
||||||
type XEth struct {
|
type XEth struct {
|
||||||
eth Backend
|
eth Backend
|
||||||
blockProcessor *core.BlockProcessor
|
blockProcessor *core.BlockProcessor
|
||||||
@ -90,13 +97,6 @@ type XEth struct {
|
|||||||
messages map[int]*whisperFilter
|
messages map[int]*whisperFilter
|
||||||
}
|
}
|
||||||
|
|
||||||
// dummyFrontend is a non-interactive frontend that allows all
|
|
||||||
// transactions but cannot not unlock any keys.
|
|
||||||
type dummyFrontend struct{}
|
|
||||||
|
|
||||||
func (dummyFrontend) UnlockAccount([]byte) bool { return false }
|
|
||||||
func (dummyFrontend) ConfirmTransaction(*types.Transaction) bool { return true }
|
|
||||||
|
|
||||||
// New creates an XEth that uses the given frontend.
|
// New creates an XEth that uses the given frontend.
|
||||||
// If a nil Frontend is provided, a default frontend which
|
// If a nil Frontend is provided, a default frontend which
|
||||||
// confirms all transactions will be used.
|
// confirms all transactions will be used.
|
||||||
@ -527,6 +527,28 @@ func (self *XEth) Transact(fromStr, toStr, valueStr, gasStr, gasPriceStr, codeSt
|
|||||||
contractCreation bool
|
contractCreation bool
|
||||||
)
|
)
|
||||||
|
|
||||||
|
// TODO if no_private_key then
|
||||||
|
//if _, exists := p.register[args.From]; exists {
|
||||||
|
// p.register[args.From] = append(p.register[args.From], args)
|
||||||
|
//} else {
|
||||||
|
/*
|
||||||
|
account := accounts.Get(common.FromHex(args.From))
|
||||||
|
if account != nil {
|
||||||
|
if account.Unlocked() {
|
||||||
|
if !unlockAccount(account) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
result, _ := account.Transact(common.FromHex(args.To), common.FromHex(args.Value), common.FromHex(args.Gas), common.FromHex(args.GasPrice), common.FromHex(args.Data))
|
||||||
|
if len(result) > 0 {
|
||||||
|
*reply = common.ToHex(result)
|
||||||
|
}
|
||||||
|
} else if _, exists := p.register[args.From]; exists {
|
||||||
|
p.register[ags.From] = append(p.register[args.From], args)
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
from = common.FromHex(fromStr)
|
from = common.FromHex(fromStr)
|
||||||
data = common.FromHex(codeStr)
|
data = common.FromHex(codeStr)
|
||||||
to = common.FromHex(toStr)
|
to = common.FromHex(toStr)
|
||||||
|
Loading…
Reference in New Issue
Block a user