diff options
author | zelig <viktor.tron@gmail.com> | 2014-06-14 20:53:55 +0800 |
---|---|---|
committer | zelig <viktor.tron@gmail.com> | 2014-06-14 20:53:55 +0800 |
commit | 50fdfb127ac35120315628a286f0a507c4470a89 (patch) | |
tree | 0b7a995ce2c5b439dae03f1e264823f2404e794a /ethereum/javascript_runtime.go | |
parent | 72df038d25c50a27adae8ea528dcedd3537267cf (diff) | |
parent | 1d300bbc108f9d404d2eb5cbc8990042c0129f04 (diff) | |
download | go-tangerine-50fdfb127ac35120315628a286f0a507c4470a89.tar go-tangerine-50fdfb127ac35120315628a286f0a507c4470a89.tar.gz go-tangerine-50fdfb127ac35120315628a286f0a507c4470a89.tar.bz2 go-tangerine-50fdfb127ac35120315628a286f0a507c4470a89.tar.lz go-tangerine-50fdfb127ac35120315628a286f0a507c4470a89.tar.xz go-tangerine-50fdfb127ac35120315628a286f0a507c4470a89.tar.zst go-tangerine-50fdfb127ac35120315628a286f0a507c4470a89.zip |
Merge branch 'develop' of github.com:ethereum/go-ethereum into develop
Diffstat (limited to 'ethereum/javascript_runtime.go')
-rw-r--r-- | ethereum/javascript_runtime.go | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/ethereum/javascript_runtime.go b/ethereum/javascript_runtime.go index 93297f604..b05d39232 100644 --- a/ethereum/javascript_runtime.go +++ b/ethereum/javascript_runtime.go @@ -10,6 +10,7 @@ import ( "github.com/obscuren/otto" "io/ioutil" "os" + "path" "path/filepath" ) @@ -25,6 +26,20 @@ type JSRE struct { objectCb map[string][]otto.Value } +func (jsre *JSRE) LoadExtFile(path string) { + result, err := ioutil.ReadFile(path) + if err == nil { + jsre.vm.Run(result) + } else { + ethutil.Config.Log.Debugln("Could not load file:", path) + } +} + +func (jsre *JSRE) LoadIntFile(file string) { + assetPath := path.Join(os.Getenv("GOPATH"), "src", "github.com", "ethereum", "go-ethereum", "ethereal", "assets", "ext") + jsre.LoadExtFile(path.Join(assetPath, file)) +} + func NewJSRE(ethereum *eth.Ethereum) *JSRE { re := &JSRE{ ethereum, @@ -39,6 +54,10 @@ func NewJSRE(ethereum *eth.Ethereum) *JSRE { // Init the JS lib re.vm.Run(jsLib) + // Load extra javascript files + re.LoadIntFile("string.js") + re.LoadIntFile("big.js") + // We have to make sure that, whoever calls this, calls "Stop" go re.mainLoop() |