Returns a future that wraps a list of all transactions that the given transaction depends on, recursively.
Only transactions in peers memory pools are included; the recursion stops at transactions that are in the
current best chain. So it doesn't make much sense to provide a tx that was already in the best chain and
a precondition checks this.
For example, if tx has 2 inputs that connect to transactions A and B, and transaction B is unconfirmed and
has one input connecting to transaction C that is unconfirmed, and transaction C connects to transaction D
that is in the chain, then this method will return either {B, C} or {C, B}. No ordering is guaranteed.
This method is useful for apps that want to learn about how long an unconfirmed transaction might take
to confirm, by checking for unexpectedly time locked transactions, unusually deep dependency trees or fee-paying
transactions that depend on unconfirmed free transactions.
Note that dependencies downloaded this way will not trigger the onTransaction method of event listeners.