edsko commented on this pull request.
+type Meta = (Core.TxId, Timestamp)
+toTxMeta :: ResolvedTx -> HD.HdAccountId -> Maybe TxMeta
Having to deal with `Maybe`s in the codebase everywhere, because of an error that will never occur, is the lesser of two evils here I think. Alternatively, keep the `Maybe` here but throw an exception at (some of) the call sites where we a better opportunity to do so (i.e., where we are returning an `Either` or something), to avoid the pure exception. I’d be okay with that too, but I think we _can_ insist that the metadata can be created.