diff options
author | obscuren <geffobscura@gmail.com> | 2014-05-21 20:05:30 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-05-21 20:05:30 +0800 |
commit | d6e398aba40d94380653731a6e36837d48d488ad (patch) | |
tree | 004e9660a337de2403e64339d4330538f8bc9023 | |
parent | f5852b47d1008e3b1752031900e8f4cdd982ee61 (diff) | |
parent | 1275e5bdc978d2f22ceb45a61f03d7873f069518 (diff) | |
download | go-tangerine-d6e398aba40d94380653731a6e36837d48d488ad.tar go-tangerine-d6e398aba40d94380653731a6e36837d48d488ad.tar.gz go-tangerine-d6e398aba40d94380653731a6e36837d48d488ad.tar.bz2 go-tangerine-d6e398aba40d94380653731a6e36837d48d488ad.tar.lz go-tangerine-d6e398aba40d94380653731a6e36837d48d488ad.tar.xz go-tangerine-d6e398aba40d94380653731a6e36837d48d488ad.tar.zst go-tangerine-d6e398aba40d94380653731a6e36837d48d488ad.zip |
Merge branch 'develop' of github.com-obscure:ethereum/eth-go into 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 } |