diff options
author | obscuren <geffobscura@gmail.com> | 2014-05-21 20:06:03 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-05-21 20:06:03 +0800 |
commit | 56c2f651fe4752e0a668114a8953342b4aa4f9f9 (patch) | |
tree | b4562f7efecf95790fcdaf3e0da728f9a02ffe84 | |
parent | 7fe73deb2d1d52581fb2bdf9d87045427d2fed12 (diff) | |
parent | c371f9a162b2f46dd432862a0c173348c853f07d (diff) | |
download | dexon-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.go | 60 |
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 } |