From c38a3b4cc7b7dc62c7fca9cd46a880b036462a27 Mon Sep 17 00:00:00 2001 From: obscuren Date: Tue, 24 Mar 2015 17:49:28 +0100 Subject: [PATCH] Better error reporting in the console. Updated ethereum.js --- cmd/ethereum/js.go | 22 +++++++++++++--------- cmd/mist/assets/examples/coin.html | 4 ++-- jsre/ethereum_js.go | 2 +- jsre/jsre.go | 12 +++++++++++- rpc/api.go | 2 +- 5 files changed, 28 insertions(+), 14 deletions(-) diff --git a/cmd/ethereum/js.go b/cmd/ethereum/js.go index 6f0ac526f..1f0033daa 100644 --- a/cmd/ethereum/js.go +++ b/cmd/ethereum/js.go @@ -31,6 +31,7 @@ import ( "github.com/ethereum/go-ethereum/rpc" "github.com/ethereum/go-ethereum/xeth" "github.com/peterh/liner" + "github.com/robertkrimen/otto" ) type prompter interface { @@ -101,8 +102,7 @@ func (js *jsre) apiBindings() { jethObj := t.Object() jethObj.Set("send", jeth.Send) - _, err := js.re.Eval(re.BigNumber_JS) - + err := js.re.Compile("bignum.js", re.BigNumber_JS) if err != nil { utils.Fatalf("Error loading bignumber.js: %v", err) } @@ -113,12 +113,12 @@ func (js *jsre) apiBindings() { utils.Fatalf("Error defining setTimeout: %v", err) } - _, err = js.re.Eval(re.Ethereum_JS) + err = js.re.Compile("ethereum.js", re.Ethereum_JS) if err != nil { utils.Fatalf("Error loading ethereum.js: %v", err) } - _, err = js.re.Eval("var web3 = require('web3');") + _, err = js.re.Eval("var web3 = require('ethereum.js');") if err != nil { utils.Fatalf("Error requiring web3: %v", err) } @@ -128,10 +128,10 @@ func (js *jsre) apiBindings() { utils.Fatalf("Error setting web3 provider: %v", err) } _, err = js.re.Eval(` - var eth = web3.eth; - var shh = web3.shh; - var db = web3.db; - var net = web3.net; +var eth = web3.eth; +var shh = web3.shh; +var db = web3.db; +var net = web3.net; `) if err != nil { utils.Fatalf("Error setting namespaces: %v", err) @@ -211,7 +211,11 @@ func (self *jsre) parseInput(code string) { }() value, err := self.re.Run(code) if err != nil { - fmt.Println(err) + if ottoErr, ok := err.(*otto.Error); ok { + fmt.Println(ottoErr.String()) + } else { + fmt.Println(err) + } return } self.printValue(value) diff --git a/cmd/mist/assets/examples/coin.html b/cmd/mist/assets/examples/coin.html index 96f2299a5..bcd4ad990 100644 --- a/cmd/mist/assets/examples/coin.html +++ b/cmd/mist/assets/examples/coin.html @@ -3,7 +3,7 @@ JevCoin - + @@ -32,7 +32,7 @@