aboutsummaryrefslogtreecommitdiffstats
path: root/utils
diff options
context:
space:
mode:
authorobscuren <geffobscura@gmail.com>2014-05-05 21:56:05 +0800
committerobscuren <geffobscura@gmail.com>2014-05-05 21:56:05 +0800
commita77dcd10414e94fbd255931b0a539bbfefd91f56 (patch)
tree5c804987152d89c4915a433bb79fcb7b95c6364c /utils
parent1323f60c074297c97397d20dd275124da2f5b531 (diff)
parent70221c36e381e98bf3e92913f48fb94d18da8ef5 (diff)
downloaddexon-a77dcd10414e94fbd255931b0a539bbfefd91f56.tar
dexon-a77dcd10414e94fbd255931b0a539bbfefd91f56.tar.gz
dexon-a77dcd10414e94fbd255931b0a539bbfefd91f56.tar.bz2
dexon-a77dcd10414e94fbd255931b0a539bbfefd91f56.tar.lz
dexon-a77dcd10414e94fbd255931b0a539bbfefd91f56.tar.xz
dexon-a77dcd10414e94fbd255931b0a539bbfefd91f56.tar.zst
dexon-a77dcd10414e94fbd255931b0a539bbfefd91f56.zip
Merge branch 'release/poc5-rc1'
Diffstat (limited to 'utils')
-rw-r--r--utils/compile.go41
-rw-r--r--utils/keys.go5
2 files changed, 44 insertions, 2 deletions
diff --git a/utils/compile.go b/utils/compile.go
new file mode 100644
index 000000000..6d75f73d1
--- /dev/null
+++ b/utils/compile.go
@@ -0,0 +1,41 @@
+package utils
+
+import (
+ "fmt"
+ "github.com/obscuren/mutan"
+ "strings"
+)
+
+// General compile function
+func Compile(script string) ([]byte, error) {
+ byteCode, errors := mutan.Compile(strings.NewReader(script), false)
+ if len(errors) > 0 {
+ var errs string
+ for _, er := range errors {
+ if er != nil {
+ errs += er.Error()
+ }
+ }
+ return nil, fmt.Errorf("%v", errs)
+ }
+
+ return byteCode, nil
+}
+
+func CompileScript(script string) ([]byte, []byte, error) {
+ // Preprocess
+ mainInput, initInput := mutan.PreProcess(script)
+ // Compile main script
+ mainScript, err := Compile(mainInput)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ // Compile init script
+ initScript, err := Compile(initInput)
+ if err != nil {
+ return nil, nil, err
+ }
+
+ return mainScript, initScript, nil
+}
diff --git a/utils/keys.go b/utils/keys.go
index 910c8c477..2f39c10b2 100644
--- a/utils/keys.go
+++ b/utils/keys.go
@@ -12,6 +12,7 @@ func CreateKeyPair(force bool) {
pub, prv := secp256k1.GenerateKeyPair()
pair := &ethutil.Key{PrivateKey: prv, PublicKey: pub}
ethutil.Config.Db.Put([]byte("KeyRing"), pair.RlpEncode())
+ mne := ethutil.MnemonicEncode(ethutil.Hex(prv))
fmt.Printf(`
Generating new address and keypair.
@@ -22,8 +23,8 @@ addr: %x
prvk: %x
pubk: %x
++++++++++++++++++++++++++++++++++++++++++++
-
-`, pair.Address(), prv, pub)
+save these words so you can restore your account later: %s
+`, pair.Address(), prv, pub, mne)
}
}