diff options
author | obscuren <geffobscura@gmail.com> | 2014-05-05 21:56:05 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-05-05 21:56:05 +0800 |
commit | a77dcd10414e94fbd255931b0a539bbfefd91f56 (patch) | |
tree | 5c804987152d89c4915a433bb79fcb7b95c6364c /utils | |
parent | 1323f60c074297c97397d20dd275124da2f5b531 (diff) | |
parent | 70221c36e381e98bf3e92913f48fb94d18da8ef5 (diff) | |
download | dexon-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.go | 41 | ||||
-rw-r--r-- | utils/keys.go | 5 |
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 := ðutil.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) } } |