forked from cerc-io/plugeth
Move Account register to xeth
This commit is contained in:
parent
739c36ad4d
commit
efcc93e7da
58
rpc/api.go
58
rpc/api.go
@ -16,12 +16,7 @@ import (
|
|||||||
type EthereumApi struct {
|
type EthereumApi struct {
|
||||||
eth *xeth.XEth
|
eth *xeth.XEth
|
||||||
xethMu sync.RWMutex
|
xethMu sync.RWMutex
|
||||||
|
db common.Database
|
||||||
// // Register keeps a list of accounts and transaction data
|
|
||||||
// regmut sync.Mutex
|
|
||||||
// register map[string][]*NewTxArgs
|
|
||||||
|
|
||||||
db common.Database
|
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewEthereumApi(eth *xeth.XEth, dataDir string) *EthereumApi {
|
func NewEthereumApi(eth *xeth.XEth, dataDir string) *EthereumApi {
|
||||||
@ -42,39 +37,9 @@ 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) 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.DebugDetailf("%s %s", req.Method, req.Params)
|
||||||
switch req.Method {
|
switch req.Method {
|
||||||
case "web3_sha3":
|
case "web3_sha3":
|
||||||
args := new(Sha3Args)
|
args := new(Sha3Args)
|
||||||
@ -458,23 +423,24 @@ func (p *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error
|
|||||||
}
|
}
|
||||||
*reply = p.xeth().Whisper().Messages(args.Id)
|
*reply = p.xeth().Whisper().Messages(args.Id)
|
||||||
// case "eth_register":
|
// case "eth_register":
|
||||||
// args, err := req.ToRegisterArgs()
|
// // Placeholder for actual type
|
||||||
// if err != nil {
|
// args := new(HashIndexArgs)
|
||||||
|
// if err := json.Unmarshal(req.Params, &args); err != nil {
|
||||||
// return err
|
// return err
|
||||||
// }
|
// }
|
||||||
// return p.Register(args, reply)
|
// *reply = p.xeth().Register(args.Hash)
|
||||||
// case "eth_unregister":
|
// case "eth_unregister":
|
||||||
// args, err := req.ToRegisterArgs()
|
// args := new(HashIndexArgs)
|
||||||
// if err != nil {
|
// if err := json.Unmarshal(req.Params, &args); err != nil {
|
||||||
// return err
|
// return err
|
||||||
// }
|
// }
|
||||||
// return p.Unregister(args, reply)
|
// *reply = p.xeth().Unregister(args.Hash)
|
||||||
// case "eth_watchTx":
|
// case "eth_watchTx":
|
||||||
// args, err := req.ToWatchTxArgs()
|
// args := new(HashIndexArgs)
|
||||||
// if err != nil {
|
// if err := json.Unmarshal(req.Params, &args); err != nil {
|
||||||
// return err
|
// return err
|
||||||
// }
|
// }
|
||||||
// return p.WatchTx(args, reply)
|
// *reply = p.xeth().PullWatchTx(args.Hash)
|
||||||
default:
|
default:
|
||||||
return NewNotImplementedError(req.Method)
|
return NewNotImplementedError(req.Method)
|
||||||
}
|
}
|
||||||
|
36
xeth/xeth.go
36
xeth/xeth.go
@ -95,6 +95,9 @@ type XEth struct {
|
|||||||
|
|
||||||
messagesMut sync.RWMutex
|
messagesMut sync.RWMutex
|
||||||
messages map[int]*whisperFilter
|
messages map[int]*whisperFilter
|
||||||
|
|
||||||
|
// regmut sync.Mutex
|
||||||
|
// register map[string][]*interface{} // TODO improve return type
|
||||||
}
|
}
|
||||||
|
|
||||||
// New creates an XEth that uses the given frontend.
|
// New creates an XEth that uses the given frontend.
|
||||||
@ -434,6 +437,39 @@ func (self *XEth) MessagesChanged(id int) []WhisperMessage {
|
|||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// func (self *XEth) Register(args string) bool {
|
||||||
|
// self.regmut.Lock()
|
||||||
|
// defer self.regmut.Unlock()
|
||||||
|
|
||||||
|
// if _, ok := self.register[args]; ok {
|
||||||
|
// self.register[args] = nil // register with empty
|
||||||
|
// }
|
||||||
|
// return true
|
||||||
|
// }
|
||||||
|
|
||||||
|
// func (self *XEth) Unregister(args string) bool {
|
||||||
|
// self.regmut.Lock()
|
||||||
|
// defer self.regmut.Unlock()
|
||||||
|
|
||||||
|
// if _, ok := self.register[args]; ok {
|
||||||
|
// delete(self.register, args)
|
||||||
|
// return true
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return false
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // TODO improve return type
|
||||||
|
// func (self *XEth) PullWatchTx(args string) []*interface{} {
|
||||||
|
// self.regmut.Lock()
|
||||||
|
// defer self.regmut.Unlock()
|
||||||
|
|
||||||
|
// txs := self.register[args]
|
||||||
|
// self.register[args] = nil
|
||||||
|
|
||||||
|
// return txs
|
||||||
|
// }
|
||||||
|
|
||||||
type KeyVal struct {
|
type KeyVal struct {
|
||||||
Key string `json:"key"`
|
Key string `json:"key"`
|
||||||
Value string `json:"value"`
|
Value string `json:"value"`
|
||||||
|
Loading…
Reference in New Issue
Block a user