diff options
author | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-10-28 17:49:53 +0800 |
---|---|---|
committer | Jeffrey Wilcke <jeffrey@ethereum.org> | 2015-10-28 17:49:53 +0800 |
commit | 05f74077fb1bc23937f3b25fd4e826dcf5789212 (patch) | |
tree | e1fca4dd2efc253b00e2d39c3c554de87f8b78f9 /rpc/api/eth.go | |
parent | 2e4fdce74334206dd4341028594bcef140d00b92 (diff) | |
parent | 4d005a2c1d2929dc770acd3a2bfed59495c70557 (diff) | |
download | dexon-05f74077fb1bc23937f3b25fd4e826dcf5789212.tar dexon-05f74077fb1bc23937f3b25fd4e826dcf5789212.tar.gz dexon-05f74077fb1bc23937f3b25fd4e826dcf5789212.tar.bz2 dexon-05f74077fb1bc23937f3b25fd4e826dcf5789212.tar.lz dexon-05f74077fb1bc23937f3b25fd4e826dcf5789212.tar.xz dexon-05f74077fb1bc23937f3b25fd4e826dcf5789212.tar.zst dexon-05f74077fb1bc23937f3b25fd4e826dcf5789212.zip |
Merge pull request #1919 from ethersphere/getnatspec
rpc api: eth_getNatSpec
Diffstat (limited to 'rpc/api/eth.go')
-rw-r--r-- | rpc/api/eth.go | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/rpc/api/eth.go b/rpc/api/eth.go index 4722682ff..b84ae31da 100644 --- a/rpc/api/eth.go +++ b/rpc/api/eth.go @@ -24,6 +24,7 @@ import ( "fmt" "github.com/ethereum/go-ethereum/common" + "github.com/ethereum/go-ethereum/common/natspec" "github.com/ethereum/go-ethereum/eth" "github.com/ethereum/go-ethereum/rpc/codec" "github.com/ethereum/go-ethereum/rpc/shared" @@ -67,6 +68,7 @@ var ( "eth_getUncleCountByBlockNumber": (*ethApi).GetUncleCountByBlockNumber, "eth_getData": (*ethApi).GetData, "eth_getCode": (*ethApi).GetData, + "eth_getNatSpec": (*ethApi).GetNatSpec, "eth_sign": (*ethApi).Sign, "eth_sendRawTransaction": (*ethApi).SendRawTransaction, "eth_sendTransaction": (*ethApi).SendTransaction, @@ -322,6 +324,18 @@ func (self *ethApi) SendTransaction(req *shared.Request) (interface{}, error) { return v, nil } +func (self *ethApi) GetNatSpec(req *shared.Request) (interface{}, error) { + args := new(NewTxArgs) + if err := self.codec.Decode(req.Params, &args); err != nil { + return nil, shared.NewDecodeParamError(err.Error()) + } + + var jsontx = fmt.Sprintf(`{"params":[{"to":"%s","data": "%s"}]}`, args.To, args.Data) + notice := natspec.GetNotice(self.xeth, jsontx, self.ethereum.HTTPClient()) + + return notice, nil +} + func (self *ethApi) EstimateGas(req *shared.Request) (interface{}, error) { _, gas, err := self.doCall(req.Params) if err != nil { |