From f6766a144f741141f51cdba2204a12100e6c0d50 Mon Sep 17 00:00:00 2001 From: Evgenii Stratonikov Date: Thu, 17 Mar 2022 16:02:56 +0300 Subject: [PATCH] [#225] netmap: Do not emit some events in notary-enabled mode Signed-off-by: Evgenii Stratonikov --- netmap/netmap_contract.go | 8 ++++++-- tests/netmap_test.go | 17 +++-------------- 2 files changed, 9 insertions(+), 16 deletions(-) diff --git a/netmap/netmap_contract.go b/netmap/netmap_contract.go index 6dec3b8..97599f3 100644 --- a/netmap/netmap_contract.go +++ b/netmap/netmap_contract.go @@ -233,7 +233,9 @@ func AddPeer(nodeInfo []byte) { publicKey := nodeInfo[2:35] // offset:2, len:33 common.CheckWitness(publicKey) - runtime.Notify("AddPeer", nodeInfo) + if notaryDisabled { + runtime.Notify("AddPeer", nodeInfo) + } return } @@ -287,7 +289,9 @@ func UpdateState(state int, publicKey interop.PublicKey) { // just emit the notification for alphabet. if !notaryDisabled || len(nodeKey) == 0 { common.CheckWitness(publicKey) - runtime.Notify("UpdateState", state, publicKey) + if notaryDisabled { + runtime.Notify("UpdateState", state, publicKey) + } return } diff --git a/tests/netmap_test.go b/tests/netmap_test.go index 1360257..b15a241 100644 --- a/tests/netmap_test.go +++ b/tests/netmap_test.go @@ -93,18 +93,12 @@ func TestAddPeer(t *testing.T) { h := cAcc.Invoke(t, stackitem.Null{}, "addPeer", dummyInfo.raw) aer := cAcc.CheckHalt(t, h) - require.Equal(t, 1, len(aer.Events)) - require.Equal(t, "AddPeer", aer.Events[0].Name) - require.Equal(t, stackitem.NewArray([]stackitem.Item{stackitem.NewByteArray(dummyInfo.raw)}), - aer.Events[0].Item) + require.Equal(t, 0, len(aer.Events)) dummyInfo.raw[0] ^= 0xFF h = cAcc.Invoke(t, stackitem.Null{}, "addPeer", dummyInfo.raw) aer = cAcc.CheckHalt(t, h) - require.Equal(t, 1, len(aer.Events)) - require.Equal(t, "AddPeer", aer.Events[0].Name) - require.Equal(t, stackitem.NewArray([]stackitem.Item{stackitem.NewByteArray(dummyInfo.raw)}), - aer.Events[0].Item) + require.Equal(t, 0, len(aer.Events)) c.InvokeFail(t, common.ErrWitnessFailed, "addPeer", dummyInfo.raw) c.Invoke(t, stackitem.Null{}, "addPeerIR", dummyInfo.raw) @@ -132,12 +126,7 @@ func TestUpdateState(t *testing.T) { h := cAcc.Invoke(t, stackitem.Null{}, "updateState", int64(2), pub) aer := cAcc.CheckHalt(t, h) - require.Equal(t, 1, len(aer.Events)) - require.Equal(t, "UpdateState", aer.Events[0].Name) - require.Equal(t, stackitem.NewArray([]stackitem.Item{ - stackitem.NewBigInteger(big.NewInt(2)), - stackitem.NewByteArray(pub), - }), aer.Events[0].Item) + require.Equal(t, 0, len(aer.Events)) // Check that updating happens only after `updateState` is called by the alphabet. s, err := cAcc.TestInvoke(t, "netmapCandidates")