diff --git a/process/rewardTransaction/interceptedRewardTransaction.go b/process/rewardTransaction/interceptedRewardTransaction.go index 73e19fed81d..e96a3cf0eca 100644 --- a/process/rewardTransaction/interceptedRewardTransaction.go +++ b/process/rewardTransaction/interceptedRewardTransaction.go @@ -82,11 +82,6 @@ func (inRTx *InterceptedRewardTransaction) processFields(rewardTxBuff []byte) er inRTx.rcvShard = inRTx.coordinator.ComputeId(inRTx.rTx.RcvAddr) inRTx.sndShard = core.MetachainShardId - if inRTx.coordinator.SelfId() == core.MetachainShardId { - inRTx.isForCurrentShard = false - return nil - } - isForCurrentShardRecv := inRTx.rcvShard == inRTx.coordinator.SelfId() isForCurrentShardSender := inRTx.sndShard == inRTx.coordinator.SelfId() inRTx.isForCurrentShard = isForCurrentShardRecv || isForCurrentShardSender diff --git a/process/rewardTransaction/interceptedRewardTransaction_test.go b/process/rewardTransaction/interceptedRewardTransaction_test.go index 1fe5c3d1412..eba6830841a 100644 --- a/process/rewardTransaction/interceptedRewardTransaction_test.go +++ b/process/rewardTransaction/interceptedRewardTransaction_test.go @@ -1,6 +1,7 @@ package rewardTransaction_test import ( + "bytes" "fmt" "math/big" "testing" @@ -317,6 +318,88 @@ func TestNewInterceptedRewardTransaction_CheckValidityShouldWork(t *testing.T) { assert.Nil(t, err) } +func TestNewInterceptedRewardTransaction_IsForCurrentShard(t *testing.T) { + t.Parallel() + + receiverAddress := []byte("receiver address") + testShardID := uint32(2) + value := big.NewInt(100) + rewTx := rewardTx.RewardTx{ + Round: 0, + Epoch: 0, + Value: value, + RcvAddr: receiverAddress, + } + + mockShardCoordinator := &mock.ShardCoordinatorStub{} + marshalizer := &mock.MarshalizerMock{} + txBuff, _ := marshalizer.Marshal(&rewTx) + t.Run("same shard ID with the receiver should return true", func(t *testing.T) { + mockShardCoordinator.ComputeIdCalled = func(address []byte) uint32 { + if bytes.Equal(address, receiverAddress) { + return testShardID + } + + return 0 + } + mockShardCoordinator.SelfIdCalled = func() uint32 { + return testShardID + } + + irt, err := rewardTransaction.NewInterceptedRewardTransaction( + txBuff, + marshalizer, + &hashingMocks.HasherMock{}, + createMockPubkeyConverter(), + mockShardCoordinator) + assert.Nil(t, err) + + assert.True(t, irt.IsForCurrentShard()) + }) + t.Run("metachain should return true", func(t *testing.T) { + mockShardCoordinator.ComputeIdCalled = func(address []byte) uint32 { + if bytes.Equal(address, receiverAddress) { + return testShardID + } + + return 0 + } + mockShardCoordinator.SelfIdCalled = func() uint32 { + return core.MetachainShardId + } + + irt, err := rewardTransaction.NewInterceptedRewardTransaction( + txBuff, + marshalizer, + &hashingMocks.HasherMock{}, + createMockPubkeyConverter(), + mockShardCoordinator) + assert.Nil(t, err) + assert.True(t, irt.IsForCurrentShard()) + }) + t.Run("different shard should return false", func(t *testing.T) { + mockShardCoordinator.ComputeIdCalled = func(address []byte) uint32 { + if bytes.Equal(address, receiverAddress) { + return testShardID + } + + return 0 + } + mockShardCoordinator.SelfIdCalled = func() uint32 { + return testShardID + 1 // different with the receiver but not metachain + } + + irt, err := rewardTransaction.NewInterceptedRewardTransaction( + txBuff, + marshalizer, + &hashingMocks.HasherMock{}, + createMockPubkeyConverter(), + mockShardCoordinator) + assert.Nil(t, err) + assert.False(t, irt.IsForCurrentShard()) + }) +} + func TestInterceptedRewardTransaction_Type(t *testing.T) { t.Parallel() diff --git a/process/track/miniBlockTrack.go b/process/track/miniBlockTrack.go index 538dbdf0740..900846f67ff 100644 --- a/process/track/miniBlockTrack.go +++ b/process/track/miniBlockTrack.go @@ -73,7 +73,7 @@ func (mbt *miniBlockTrack) receivedMiniBlock(key []byte, value interface{}) { return } - log.Trace("miniBlockTrack.receivedMiniBlock", + log.Debug("received miniblock from network in block tracker", "hash", key, "sender", miniBlock.SenderShardID, "receiver", miniBlock.ReceiverShardID,