Tidy up usages of TransactionResolutionException

Description

There are some uses of TransactionResolutionException that can occur outside the transaction resolution process that happens in ResolveTransactionsFlow. For example, in SignedTransaction.kt, this exception is thrown if the network parameters are unknown to the node when trying to verify a transaction (resolveAndCheckNetworkParameters). TransactionResolutionException is described by its documentation as only being thrown when a failure occurs while trying to receive something from a remote peer. This story covers tidying this up as appropriate. Some suggestions:

  • The KDoc for TransactionResolutionException could be changed.

  • The exception type thrown in cases where the code could be exercised outside of transaction resolution could be changed. The main issue with this is that the exception is part of the public API, and so someone catching it in these circumstances would be broken by this change. This change could be gated behind a targetVersionFlag. Another possibility is to subclass TransactionResolutionException to better describe what has gone wrong.

Assignee

Unassigned

Reporter

James Higgs

Labels

None

Feature Team

Kernel Group

Story Points / Dev Days

None

Fix versions

None

Ported to...

None

Engineering Teams

None

Priority

Medium

Affects versions

Configure