diff --git a/ethutil/script.go b/ethutil/script.go index bd087e7e04..a103fb8f00 100644 --- a/ethutil/script.go +++ b/ethutil/script.go @@ -1,3 +1,4 @@ +// +build !windows package ethutil import ( diff --git a/ethutil/script_windows.go b/ethutil/script_windows.go new file mode 100644 index 0000000000..4f94c6448a --- /dev/null +++ b/ethutil/script_windows.go @@ -0,0 +1,31 @@ +package ethutil + +import ( + "fmt" + "strings" + + "github.com/obscuren/mutan" + "github.com/obscuren/mutan/backends" +) + +// General compile function +func Compile(script string, silent bool) (ret []byte, err error) { + if len(script) > 2 { + compiler := mutan.NewCompiler(backend.NewEthereumBackend()) + compiler.Silent = silent + byteCode, errors := compiler.Compile(strings.NewReader(script)) + 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 + } + + return nil, nil +}