So I see in node, the protocol handles catch the block event then pass it the blockchain store, but where does the metadata storages get initialized? Particularly for output_point in tx inputs for validated blocks (in accept())
Maybe add debug info in the case where that assert condition would fire, to emit the relevant values. It would be good to see whether values are unpopulated or otherwise incorrect.