From c7933f095eb429b932d29ace058f4c304c70fea8 Mon Sep 17 00:00:00 2001 From: RJ Catalano <rj@monax.io> Date: Tue, 7 Feb 2017 19:27:27 -0600 Subject: [PATCH] fixes snative calls from solc Signed-off-by: RJ Catalano <rj@monax.io> --- manager/eris-mint/evm/vm.go | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/manager/eris-mint/evm/vm.go b/manager/eris-mint/evm/vm.go index 32b7b4fa..41ad2012 100644 --- a/manager/eris-mint/evm/vm.go +++ b/manager/eris-mint/evm/vm.go @@ -567,13 +567,17 @@ func (vm *VM) call(caller, callee *Account, code, input []byte, value int64, gas } acc := vm.appState.GetAccount(addr) if acc == nil { - return nil, firstErr(err, ErrUnknownAddress) + if _, ok := registeredNativeContracts[addr]; !ok { + return nil, firstErr(err, ErrUnknownAddress) + } + stack.Push64(int64(1)) + dbg.Printf(" => Hit native contract\n") + } else { + code := acc.Code + l := int64(len(code)) + stack.Push64(l) + dbg.Printf(" => %d\n", l) } - code := acc.Code - l := int64(len(code)) - stack.Push64(l) - dbg.Printf(" => %d\n", l) - case EXTCODECOPY: // 0x3C addr := stack.Pop() if useGasNegative(gas, GasGetAccount, &err) { -- GitLab