Enforce timeouts at one seam instead of per call site. The submitter uses 3 of the SDK's 14 methods (SubmitTransaction, FetchTransactionByHash, FetchLatestBlockHeight); a thin wrapper applying NetworkTimeout inside those, plus the same bound inside batcherL1Adapter/batcherL2Adapter (which the streamer's reads already go through, so Peek gets covered too), fixes the whole unbounded-context class from my review and means a future call site can't forget the timeout. The ad-hoc networkTimeoutCtx blocks at individual call sites can then go.
Original discussion: #459 (comment)
Enforce timeouts at one seam instead of per call site. The submitter uses 3 of the SDK's 14 methods (
SubmitTransaction,FetchTransactionByHash,FetchLatestBlockHeight); a thin wrapper applyingNetworkTimeoutinside those, plus the same bound insidebatcherL1Adapter/batcherL2Adapter(which the streamer's reads already go through, soPeekgets covered too), fixes the whole unbounded-context class from my review and means a future call site can't forget the timeout. The ad-hocnetworkTimeoutCtxblocks at individual call sites can then go.Original discussion: #459 (comment)