Better error reporting in the console. Updated ethereum.js
This commit is contained in:
		
							parent
							
								
									9de1ad6546
								
							
						
					
					
						commit
						c38a3b4cc7
					
				| @ -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) | ||||
|  | ||||
| @ -3,7 +3,7 @@ | ||||
| <title>JevCoin</title> | ||||
| <head> | ||||
| <script type="text/javascript" src="../ext/bignumber.min.js"></script> | ||||
| <script type="text/javascript" src="../ext/ethereum.js/dist/ethereum.js"></script> | ||||
| <script type="text/javascript" src="/Users/jeffrey/ethereum.js"></script> | ||||
| </head> | ||||
| <body> | ||||
| 
 | ||||
| @ -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')); | ||||
|  | ||||
										
											
												File diff suppressed because one or more lines are too long
											
										
									
								
							
							
								
								
									
										12
									
								
								jsre/jsre.go
									
									
									
									
									
								
							
							
						
						
									
										12
									
								
								jsre/jsre.go
									
									
									
									
									
								
							| @ -2,9 +2,10 @@ package jsre | ||||
| 
 | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"github.com/robertkrimen/otto" | ||||
| 	"io/ioutil" | ||||
| 
 | ||||
| 	"github.com/robertkrimen/otto" | ||||
| 
 | ||||
| 	"github.com/ethereum/go-ethereum/common" | ||||
| ) | ||||
| 
 | ||||
| @ -113,3 +114,12 @@ func (self *JSRE) Eval(code string) (s string, err error) { | ||||
| 	} | ||||
| 	return fmt.Sprintf("%v", val), nil | ||||
| } | ||||
| 
 | ||||
| func (self *JSRE) Compile(fn string, src interface{}) error { | ||||
| 	script, err := self.vm.Compile(fn, src) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	self.vm.Run(script) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| @ -50,7 +50,7 @@ func (api *EthereumApi) Close() { | ||||
| 
 | ||||
| func (api *EthereumApi) GetRequestReply(req *RpcRequest, reply *interface{}) error { | ||||
| 	// Spec at https://github.com/ethereum/wiki/wiki/Generic-JSON-RPC
 | ||||
| 	rpclogger.Debugf("%s %s", req.Method, req.Params) | ||||
| 	rpclogger.Infof("%s %s", req.Method, req.Params) | ||||
| 
 | ||||
| 	switch req.Method { | ||||
| 	case "web3_sha3": | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user