diff options
author | obscuren <geffobscura@gmail.com> | 2014-04-16 10:08:37 +0800 |
---|---|---|
committer | obscuren <geffobscura@gmail.com> | 2014-04-16 10:08:37 +0800 |
commit | 9cf77cdbadd8249498d62542502def6ecb2fb6b8 (patch) | |
tree | 82e762b4808ada1200ebdd24638dfd7999250450 /utils | |
parent | 1cd7d4456b80c38f343cb54a624408c28c5acb13 (diff) | |
download | dexon-9cf77cdbadd8249498d62542502def6ecb2fb6b8.tar.gz dexon-9cf77cdbadd8249498d62542502def6ecb2fb6b8.tar.zst dexon-9cf77cdbadd8249498d62542502def6ecb2fb6b8.zip |
Moved compiling related object to utils package
Diffstat (limited to 'utils')
-rw-r--r-- | utils/compile.go | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/utils/compile.go b/utils/compile.go new file mode 100644 index 000000000..e5ea50ad4 --- /dev/null +++ b/utils/compile.go @@ -0,0 +1,24 @@ +package utils + +import ( + "fmt" + "github.com/ethereum/eth-go/ethutil" + "github.com/obscuren/mutan" + "strings" +) + +// General compile function +func Compile(script string) ([]byte, error) { + asm, 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 ethutil.Assemble(asm...), nil +} |