aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-05-21 20:06:03 +0800
committerobscuren <geffobscura@gmail.com>2014-05-21 20:06:03 +0800
commit56c2f651fe4752e0a668114a8953342b4aa4f9f9 (patch)
treeb4562f7efecf95790fcdaf3e0da728f9a02ffe84
parent7fe73deb2d1d52581fb2bdf9d87045427d2fed12 (diff)
parentc371f9a162b2f46dd432862a0c173348c853f07d (diff)
downloaddexon-56c2f651fe4752e0a668114a8953342b4aa4f9f9.tar
dexon-56c2f651fe4752e0a668114a8953342b4aa4f9f9.tar.gz
dexon-56c2f651fe4752e0a668114a8953342b4aa4f9f9.tar.bz2
dexon-56c2f651fe4752e0a668114a8953342b4aa4f9f9.tar.lz
dexon-56c2f651fe4752e0a668114a8953342b4aa4f9f9.tar.xz
dexon-56c2f651fe4752e0a668114a8953342b4aa4f9f9.tar.zst
dexon-56c2f651fe4752e0a668114a8953342b4aa4f9f9.zip
Merge branch 'develop'
-rw-r--r--ethrpc/packages.go60
1 files changed, 60 insertions, 0 deletions
diff --git a/ethrpc/packages.go b/ethrpc/packages.go
index 4ec2b4602..87cfc99b2 100644
--- a/ethrpc/packages.go
+++ b/ethrpc/packages.go
@@ -182,6 +182,66 @@ func (p *EthereumApi) GetStorageAt(args *GetStorageArgs, reply *string) error {
return nil
}
+type GetTxCountArgs struct {
+ Address string `json:"address"`
+}
+type GetTxCountRes struct {
+ Nonce int `json:"nonce"`
+}
+
+func (a *GetTxCountArgs) requirements() error {
+ if a.Address == "" {
+ return NewErrorResponse("GetTxCountAt requires an 'address' value as argument")
+ }
+ return nil
+}
+
+type GetPeerCountRes struct {
+ PeerCount int `json:"peerCount"`
+}
+
+func (p *EthereumApi) GetPeerCount(args *interface{}, reply *string) error {
+ *reply = NewSuccessRes(GetPeerCountRes{PeerCount: p.ethp.GetPeerCount()})
+ return nil
+}
+
+type GetListeningRes struct {
+ IsListening bool `json:"isListening"`
+}
+
+func (p *EthereumApi) GetIsListening(args *interface{}, reply *string) error {
+ *reply = NewSuccessRes(GetListeningRes{IsListening: p.ethp.GetIsListening()})
+ return nil
+}
+
+type GetCoinbaseRes struct {
+ Coinbase string `json:"coinbase"`
+}
+
+func (p *EthereumApi) GetCoinbase(args *interface{}, reply *string) error {
+ *reply = NewSuccessRes(GetCoinbaseRes{Coinbase: p.ethp.GetCoinBase()})
+ return nil
+}
+
+type GetMiningRes struct {
+ IsMining bool `json:"isMining"`
+}
+
+func (p *EthereumApi) GetIsMining(args *interface{}, reply *string) error {
+ *reply = NewSuccessRes(GetMiningRes{IsMining: p.ethp.GetIsMining()})
+ return nil
+}
+
+func (p *EthereumApi) GetTxCountAt(args *GetTxCountArgs, reply *string) error {
+ err := args.requirements()
+ if err != nil {
+ return err
+ }
+ state := p.ethp.GetTxCountAt(args.Address)
+ *reply = NewSuccessRes(GetTxCountRes{Nonce: state})
+ return nil
+}
+
type GetBalanceArgs struct {
Address string
}