protocols / FetchTransactionsProtocol / <init>

# <init>

`FetchTransactionsProtocol(requests: Set<SecureHash>, otherSide: SingleMessageRecipient)`

Given a set of tx hashes (IDs), either loads them from local disk or asks the remote peer to provide them.

A malicious response in which the data provided by the remote peer does not hash to the requested hash results in FetchDataProtocol.DownloadedVsRequestedDataMismatch being thrown. If the remote peer doesnt have an entry, it results in a FetchDataProtocol.HashNotFound exception. Note that returned transactions are not inserted into the database, because its up to the caller to actually verify the transactions are valid.