aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/ethereum/js.go22
-rw-r--r--cmd/ethereum/js_test.go16
-rw-r--r--cmd/ethereum/main.go4
-rw-r--r--cmd/mist/assets/examples/coin.html2
m---------cmd/mist/assets/ext/ethereum.js0
5 files changed, 29 insertions, 15 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/ethereum/js_test.go b/cmd/ethereum/js_test.go
index e3806d24d..a6058b318 100644
--- a/cmd/ethereum/js_test.go
+++ b/cmd/ethereum/js_test.go
@@ -2,11 +2,12 @@ package main
import (
"fmt"
- "github.com/robertkrimen/otto"
"os"
"path"
"testing"
+ "github.com/robertkrimen/otto"
+
"github.com/ethereum/go-ethereum/accounts"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/crypto"
@@ -141,10 +142,19 @@ func TestAccounts(t *testing.T) {
if err != nil {
t.Errorf("expected no error, got %v", err)
}
- addrs, ok := exp.([]string)
+ interfaceAddr, ok := exp.([]interface{})
if !ok {
- t.Errorf("expected []string, got %v", err)
+ t.Errorf("expected []string, got %T", exp)
}
+
+ addrs := make([]string, len(interfaceAddr))
+ for i, addr := range interfaceAddr {
+ var ok bool
+ if addrs[i], ok = addr.(string); !ok {
+ t.Errorf("expected addrs[%d] to be string. Got %T instead", i, addr)
+ }
+ }
+
if len(addrs) != 2 || (addr != addrs[0][2:] && addr != addrs[1][2:]) {
t.Errorf("expected addrs == [<default>, <new>], got %v (%v)", addrs, addr)
}
diff --git a/cmd/ethereum/main.go b/cmd/ethereum/main.go
index 5ad4c0a4e..2cf81b9e7 100644
--- a/cmd/ethereum/main.go
+++ b/cmd/ethereum/main.go
@@ -33,16 +33,16 @@ import (
"github.com/ethereum/ethash"
"github.com/ethereum/go-ethereum/cmd/utils"
"github.com/ethereum/go-ethereum/common"
+ "github.com/ethereum/go-ethereum/core/state"
"github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/eth"
"github.com/ethereum/go-ethereum/logger"
- "github.com/ethereum/go-ethereum/core/state"
"github.com/peterh/liner"
)
const (
ClientIdentifier = "Ethereum(G)"
- Version = "0.9.2"
+ Version = "0.9.3"
)
var (
diff --git a/cmd/mist/assets/examples/coin.html b/cmd/mist/assets/examples/coin.html
index 96f2299a5..41362554d 100644
--- a/cmd/mist/assets/examples/coin.html
+++ b/cmd/mist/assets/examples/coin.html
@@ -32,7 +32,7 @@
</body>
<script type="text/javascript">
- var web3 = require('web3');
+ var web3 = require('ethereum.js');
var eth = web3.eth;
web3.setProvider(new web3.providers.HttpProvider('http://localhost:8545'));
diff --git a/cmd/mist/assets/ext/ethereum.js b/cmd/mist/assets/ext/ethereum.js
-Subproject d5093606945fd871bc62f5d6adade3a903b0533
+Subproject 9f073d9091cd2d2b46dd46afea9dcf5d825ecd7