forked from mirror/go-ethereum
commit
096427c3b1
@ -1,41 +0,0 @@ |
|||||||
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.PreParse(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 |
|
||||||
} |
|
Loading…
Reference in new issue