Пример #1
0
        public Task HandleEventAsync(TransactionExecutionValidationFailedEvent eventData)
        {
            Logger.LogDebug($"Received a transaction that failed to verify: {eventData.TransactionId}");
            _peerInvalidTransactionProcessingService.ProcessPeerInvalidTransactionAsync(eventData.TransactionId);

            return(Task.CompletedTask);
        }
        public async Task ProcessPeerInvalidTransaction_Test()
        {
            var peer1 = _peerPool.FindPeerByPublicKey("Peer1");
            var peer3 = _peerPool.FindPeerByPublicKey("Peer3");

            bool isInBlackList;

            for (var i = 0; i < 5; i++)
            {
                var txId = HashHelper.ComputeFrom("Tx" + i + "Peer3");
                await _peerInvalidTransactionProcessingService.ProcessPeerInvalidTransactionAsync(txId);

                isInBlackList = _blackListedPeerProvider.IsIpBlackListed(peer3.RemoteEndpoint.Host);
                isInBlackList.ShouldBeFalse();
            }

            await _peerInvalidTransactionProcessingService.ProcessPeerInvalidTransactionAsync(HashHelper.ComputeFrom("Tx" + 5 + "Peer3"));

            isInBlackList = _blackListedPeerProvider.IsIpBlackListed(peer3.RemoteEndpoint.Host);
            isInBlackList.ShouldBeTrue();

            isInBlackList = _blackListedPeerProvider.IsIpBlackListed(peer1.RemoteEndpoint.Host);
            isInBlackList.ShouldBeFalse();
        }