From 4587121c7fdf0e732956e6b7b56d8b9384b81be3 Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Mon, 9 Mar 2020 14:18:00 +0300 Subject: [PATCH] core: fix error propagation in contract-related interops Obvious bug that hides failed contract deployments. --- pkg/core/interop_neo.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pkg/core/interop_neo.go b/pkg/core/interop_neo.go index 7140b1fa2..4696ffdd7 100644 --- a/pkg/core/interop_neo.go +++ b/pkg/core/interop_neo.go @@ -515,7 +515,7 @@ func (ic *interopContext) createContractStateFromVM(v *vm.VM) (*state.Contract, func (ic *interopContext) contractCreate(v *vm.VM) error { newcontract, err := ic.createContractStateFromVM(v) if err != nil { - return nil + return err } contract, err := ic.dao.GetContractState(newcontract.ScriptHash()) if err != nil { @@ -555,7 +555,7 @@ func (ic *interopContext) contractIsPayable(v *vm.VM) error { func (ic *interopContext) contractMigrate(v *vm.VM) error { newcontract, err := ic.createContractStateFromVM(v) if err != nil { - return nil + return err } contract, err := ic.dao.GetContractState(newcontract.ScriptHash()) if err != nil {