mirror of https://github.com/status-im/op-geth.git
Removed mutan. Closes #183
This commit is contained in:
parent
085f604b27
commit
3db9c80070
|
@ -2,47 +2,17 @@
|
||||||
|
|
||||||
package ethutil
|
package ethutil
|
||||||
|
|
||||||
import (
|
import "github.com/ethereum/serpent-go"
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/ethereum/serpent-go"
|
|
||||||
"github.com/obscuren/mutan"
|
|
||||||
"github.com/obscuren/mutan/backends"
|
|
||||||
)
|
|
||||||
|
|
||||||
// General compile function
|
// General compile function
|
||||||
func Compile(script string, silent bool) (ret []byte, err error) {
|
func Compile(script string, silent bool) (ret []byte, err error) {
|
||||||
if len(script) > 2 {
|
if len(script) > 2 {
|
||||||
line := strings.Split(script, "\n")[0]
|
byteCode, err := serpent.Compile(script)
|
||||||
|
if err != nil {
|
||||||
if len(line) > 1 && line[0:2] == "#!" {
|
return nil, err
|
||||||
switch line {
|
|
||||||
case "#!serpent":
|
|
||||||
byteCode, err := serpent.Compile(script)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
|
|
||||||
return byteCode, nil
|
|
||||||
}
|
|
||||||
} else {
|
|
||||||
|
|
||||||
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 byteCode, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
|
|
@ -2,31 +2,10 @@
|
||||||
|
|
||||||
package ethutil
|
package ethutil
|
||||||
|
|
||||||
import (
|
|
||||||
"fmt"
|
|
||||||
"strings"
|
|
||||||
|
|
||||||
"github.com/obscuren/mutan"
|
|
||||||
"github.com/obscuren/mutan/backends"
|
|
||||||
)
|
|
||||||
|
|
||||||
// General compile function
|
// General compile function
|
||||||
func Compile(script string, silent bool) (ret []byte, err error) {
|
func Compile(script string, silent bool) (ret []byte, err error) {
|
||||||
if len(script) > 2 {
|
if len(script) > 2 {
|
||||||
compiler := mutan.NewCompiler(backend.NewEthereumBackend())
|
return nil, nil
|
||||||
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
|
return nil, nil
|
||||||
|
|
|
@ -13,7 +13,6 @@ import (
|
||||||
"github.com/ethereum/go-ethereum/state"
|
"github.com/ethereum/go-ethereum/state"
|
||||||
"github.com/ethereum/go-ethereum/trie"
|
"github.com/ethereum/go-ethereum/trie"
|
||||||
checker "gopkg.in/check.v1"
|
checker "gopkg.in/check.v1"
|
||||||
// "github.com/obscuren/mutan"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type VmSuite struct{}
|
type VmSuite struct{}
|
||||||
|
@ -68,24 +67,18 @@ func setup(level logger.LogLevel, typ Type) (*Closure, VirtualMachine) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *VmSuite) TestDebugVm(c *checker.C) {
|
func (s *VmSuite) TestDebugVm(c *checker.C) {
|
||||||
// if mutan.Version < "0.6" {
|
|
||||||
// t.Skip("skipping for mutan version", mutan.Version, " < 0.6")
|
|
||||||
// }
|
|
||||||
closure, vm := setup(logger.DebugLevel, DebugVmTy)
|
closure, vm := setup(logger.DebugLevel, DebugVmTy)
|
||||||
ret, _, e := closure.Call(vm, nil)
|
ret, _, e := closure.Call(vm, nil)
|
||||||
c.Assert(e, checker.NotNil)
|
c.Assert(e, checker.NotNil)
|
||||||
c.Skip("Depends on mutan")
|
c.Skip("Depends on mutan. Requires serpent implementation")
|
||||||
c.Assert(ret, checker.DeepEquals, big9)
|
c.Assert(ret, checker.DeepEquals, big9)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (s *VmSuite) TestVm(c *checker.C) {
|
func (s *VmSuite) TestVm(c *checker.C) {
|
||||||
// if mutan.Version < "0.6" {
|
|
||||||
// t.Skip("skipping for mutan version", mutan.Version, " < 0.6")
|
|
||||||
// }
|
|
||||||
closure, vm := setup(logger.DebugLevel, StandardVmTy)
|
closure, vm := setup(logger.DebugLevel, StandardVmTy)
|
||||||
ret, _, e := closure.Call(vm, nil)
|
ret, _, e := closure.Call(vm, nil)
|
||||||
c.Assert(e, checker.NotNil)
|
c.Assert(e, checker.NotNil)
|
||||||
c.Skip("Depends on mutan")
|
c.Skip("Depends on mutan. Requires serpent implementation")
|
||||||
c.Assert(ret, checker.DeepEquals, big9)
|
c.Assert(ret, checker.DeepEquals, big9)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -142,7 +135,7 @@ func (s *VmSuite) TestBuildInSha256(c *checker.C) {
|
||||||
`, DebugVmTy)
|
`, DebugVmTy)
|
||||||
|
|
||||||
exp := crypto.Sha256(ethutil.LeftPadBytes([]byte{42}, 32))
|
exp := crypto.Sha256(ethutil.LeftPadBytes([]byte{42}, 32))
|
||||||
c.Skip("Depends on mutan")
|
c.Skip("Depends on mutan. Requires serpent implementation")
|
||||||
c.Assert(ret, checker.DeepEquals, exp)
|
c.Assert(ret, checker.DeepEquals, exp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -157,7 +150,7 @@ func (s *VmSuite) TestBuildInRipemd(c *checker.C) {
|
||||||
`, DebugVmTy)
|
`, DebugVmTy)
|
||||||
|
|
||||||
exp := ethutil.RightPadBytes(crypto.Ripemd160(ethutil.LeftPadBytes([]byte{42}, 32)), 32)
|
exp := ethutil.RightPadBytes(crypto.Ripemd160(ethutil.LeftPadBytes([]byte{42}, 32)), 32)
|
||||||
c.Skip("Depends on mutan")
|
c.Skip("Depends on mutan. Requires serpent implementation")
|
||||||
c.Assert(ret, checker.DeepEquals, exp)
|
c.Assert(ret, checker.DeepEquals, exp)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue