Currently, we have a TransactionProver struct which is used to generate proofs for executed transactions. This struct essentially just invokes the prove() method from miden-prover in the same process. However, it would be beneficial to add a layer of abstraction here to support things like https://github.com/0xPolygonMiden/miden-client/issues/366. Specifically, I think we should:
Introduce the TransactionProver trait.
Rename the current TransactionProver struct into something like DefaultTransactionProver or InProcessTransactionProver and have it implement the TransactionProver trait.
Currently, we have a
TransactionProver
struct which is used to generate proofs for executed transactions. This struct essentially just invokes theprove()
method frommiden-prover
in the same process. However, it would be beneficial to add a layer of abstraction here to support things like https://github.com/0xPolygonMiden/miden-client/issues/366. Specifically, I think we should:TransactionProver
trait.TransactionProver
struct into something likeDefaultTransactionProver
orInProcessTransactionProver
and have it implement theTransactionProver
trait.The trait itself could be pretty simple: