aboutsummaryrefslogtreecommitdiffstats
path: root/javascript
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2014-12-22 01:42:32 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2014-12-22 01:42:32 +0800
commit1360f027d9e365242466ca346b2b56f421729d91 (patch)
treea30ff7292e87583781b682b47d851d0f6e1925fc /javascript
parentb3629c6f62bd3774eb8858819a8ee07dfb775b73 (diff)
parent795b14330ad4399ef292835eac452d258dcd7464 (diff)
downloaddexon-1360f027d9e365242466ca346b2b56f421729d91.tar
dexon-1360f027d9e365242466ca346b2b56f421729d91.tar.gz
dexon-1360f027d9e365242466ca346b2b56f421729d91.tar.bz2
dexon-1360f027d9e365242466ca346b2b56f421729d91.tar.lz
dexon-1360f027d9e365242466ca346b2b56f421729d91.tar.xz
dexon-1360f027d9e365242466ca346b2b56f421729d91.tar.zst
dexon-1360f027d9e365242466ca346b2b56f421729d91.zip
Merge pull request #216 from ethereum/develop
Update tests branch from develop
Diffstat (limited to 'javascript')
-rw-r--r--javascript/javascript_runtime.go20
1 files changed, 19 insertions, 1 deletions
diff --git a/javascript/javascript_runtime.go b/javascript/javascript_runtime.go
index a5b929a34..a26f0154e 100644
--- a/javascript/javascript_runtime.go
+++ b/javascript/javascript_runtime.go
@@ -121,6 +121,7 @@ func (self *JSRE) initStdFuncs() {
eth.Set("startMining", self.startMining)
eth.Set("execBlock", self.execBlock)
eth.Set("dump", self.dump)
+ eth.Set("export", self.export)
}
/*
@@ -150,7 +151,7 @@ func (self *JSRE) dump(call otto.FunctionCall) otto.Value {
state = block.State()
} else {
- state = self.ethereum.BlockManager().CurrentState()
+ state = self.ethereum.ChainManager().State()
}
v, _ := self.Vm.ToValue(state.Dump())
@@ -236,3 +237,20 @@ func (self *JSRE) execBlock(call otto.FunctionCall) otto.Value {
return otto.TrueValue()
}
+
+func (self *JSRE) export(call otto.FunctionCall) otto.Value {
+ fn, err := call.Argument(0).ToString()
+ if err != nil {
+ fmt.Println(err)
+ return otto.FalseValue()
+ }
+
+ data := self.ethereum.ChainManager().Export()
+
+ if err := ethutil.WriteFile(fn, data); err != nil {
+ fmt.Println(err)
+ return otto.FalseValue()
+ }
+
+ return otto.TrueValue()
+}