From f6a308f7f615e466fd90eaa0528262e440a5fabb Mon Sep 17 00:00:00 2001 From: Roman Khimov Date: Fri, 14 Aug 2020 12:08:57 +0300 Subject: [PATCH] *: fix ineffassign where the value should really be used Found with GoReportCard. --- pkg/core/interop_neo.go | 2 +- pkg/core/interop_system_test.go | 1 + pkg/core/native_policy_test.go | 3 +++ 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/pkg/core/interop_neo.go b/pkg/core/interop_neo.go index 491d20dcd..6fccc4638 100644 --- a/pkg/core/interop_neo.go +++ b/pkg/core/interop_neo.go @@ -89,7 +89,7 @@ func contractCreate(ic *interop.Context) error { return err } contract, err := ic.DAO.GetContractState(newcontract.ScriptHash()) - if contract != nil { + if contract != nil && err == nil { return errors.New("contract already exists") } id, err := ic.DAO.GetAndUpdateNextContractID() diff --git a/pkg/core/interop_system_test.go b/pkg/core/interop_system_test.go index 29e1ddcbc..048593708 100644 --- a/pkg/core/interop_system_test.go +++ b/pkg/core/interop_system_test.go @@ -733,6 +733,7 @@ func TestContractUpdate(t *testing.T) { // updated contract should have new scripthash actual, err := ic.DAO.GetContractState(cs.ScriptHash()) + require.NoError(t, err) expected := &state.Contract{ ID: cs.ID, Script: cs.Script, diff --git a/pkg/core/native_policy_test.go b/pkg/core/native_policy_test.go index dd3108aa0..2fb56c8c9 100644 --- a/pkg/core/native_policy_test.go +++ b/pkg/core/native_policy_test.go @@ -160,6 +160,7 @@ func TestBlockedAccounts(t *testing.T) { require.NoError(t, chain.persist()) res, err = invokeNativePolicyMethod(chain, "unblockAccount", account.BytesBE()) + require.NoError(t, err) checkResult(t, res, stackitem.NewBool(true)) accounts, err = chain.contracts.Policy.GetBlockedAccountsInternal(chain.dao) @@ -183,11 +184,13 @@ func TestBlockedAccounts(t *testing.T) { // unblock res, err = invokeNativePolicyMethod(chain, "unblockAccount", account.BytesBE()) + require.NoError(t, err) checkResult(t, res, stackitem.NewBool(true)) require.NoError(t, chain.persist()) // unblock the same account should fail as we don't have it blocked res, err = invokeNativePolicyMethod(chain, "unblockAccount", account.BytesBE()) + require.NoError(t, err) checkResult(t, res, stackitem.NewBool(false)) require.NoError(t, chain.persist()) })