aboutsummaryrefslogtreecommitdiffstats
path: root/javascript
diff options
context:
space:
mode:
authorTaylor Gerring <taylor.gerring@gmail.com>2014-12-22 02:06:24 +0800
committerTaylor Gerring <taylor.gerring@gmail.com>2014-12-22 02:06:24 +0800
commitbab78bbeb691d95bdd0222435af0c11cb3485a79 (patch)
tree804c9689546ce362a2862b00bb4e76160052f5d6 /javascript
parent7a79428278412ab1f73708af51bce063b000b7a7 (diff)
parent1360f027d9e365242466ca346b2b56f421729d91 (diff)
downloaddexon-bab78bbeb691d95bdd0222435af0c11cb3485a79.tar
dexon-bab78bbeb691d95bdd0222435af0c11cb3485a79.tar.gz
dexon-bab78bbeb691d95bdd0222435af0c11cb3485a79.tar.bz2
dexon-bab78bbeb691d95bdd0222435af0c11cb3485a79.tar.lz
dexon-bab78bbeb691d95bdd0222435af0c11cb3485a79.tar.xz
dexon-bab78bbeb691d95bdd0222435af0c11cb3485a79.tar.zst
dexon-bab78bbeb691d95bdd0222435af0c11cb3485a79.zip
Merge branch 'tests' of github.com:ethereum/go-ethereum into tests
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()
+}