private static void broadcastBlockHeaderTransactions(Block b, RemoteEndpoint endpoint) { if (!endpoint.isConnected()) { return; } foreach (var txid in b.transactions) { Transaction t = TransactionPool.getAppliedTransaction(txid, b.blockNum, true); if (endpoint.isSubscribedToAddress(NetworkEvents.Type.transactionFrom, new Address(t.pubKey).address)) { endpoint.sendData(ProtocolMessageCode.transactionData, t.getBytes(true), null); } else { foreach (var entry in t.toList) { if (endpoint.isSubscribedToAddress(NetworkEvents.Type.transactionTo, entry.Key)) { endpoint.sendData(ProtocolMessageCode.transactionData, t.getBytes(true), null); } } } } }