How can I create a custom origin that executes some arbitrary logic on any transaction? The use case here is some identity check that fails a transaction, if the check fails.
In addition, I want to execute some custom logic on transactions coming from any transactions in my runtime, not just from extrinsics in custom pallets that I maintain.
Is this possible to do using just custom origins?
I am aware of Signed Extensions and their ability to extend transactions. Is there a reason I should not use Signed Extensions for such a case?