mirror of https://github.com/ethereum/go-ethereum
parent
9654b80912
commit
1268413ba7
@ -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