You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Check signers of on-chained conflict during new tx verification
Fix the problem described in
neo-project#2818 (review).
During new transaction verification if there's an on-chain conflicting
transaction, we should check the signers of this conflicting transaction.
If the signers contain payer of the incoming transaction, then the conflict
is treated as valid and verification for new incoming transaction should
fail. Otherwise, the conflict is treated as the malicious attack attempt
and will not be taken into account; verification for the new incoming
transaction should continue in this case.
@@ -283,21 +283,28 @@ public async Task UpdatePoolForBlockPersisted_RemoveBlockConflicts()
283
283
_unit.SortedTxCount.Should().Be(6);
284
284
_unit.UnverifiedSortedTxCount.Should().Be(0);
285
285
286
+
varmp7=CreateTransactionWithFeeAndBalanceVerify(txFee);// mp7 doesn't conflict with anyone
287
+
vartx6=CreateTransactionWithFeeAndBalanceVerify(txFee);// in-block tx6 conflicts with mp7, but doesn't include sender of mp7 into signers list => even if tx6 is included into block, mp7 shouldn't be removed from the pool
0 commit comments