Let LocalTransactionProver accept ExecutionOptions
- Langage dominant
- Rust
- Étoiles
- 132
- Forks
- 167
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 110
Description
The upcoming Miden VM 0.30 candidate adds a combined advice size limit. [Miden VM issue 3691](https://github.com/0xMiden/miden-vm/issues/3691) tracks raising the default from 4 MiB to 16 MiB. The VM already lets callers change the limit through [`ExecutionOptions::with_max_advice_size_bytes`](https://github.com/0xMiden/miden-vm/blob/a2a14ad0b1e3fcccce6c01d3a4afa278024f91d4/processor/src/execution_options.rs#L218-L222).
`LocalTransactionProver` does not expose that control. The struct stores [only proof options](https://github.com/0xMiden/protocol/blob/13983ef40aebd6c39cfef0d64dd15f60ea53a1bb/crates/miden-tx/src/prover/mod.rs#L31-L53), and `prove` [always passes `ExecutionOptions::default()`](https://github.com/0xMiden/protocol/blob/13983ef40aebd6c39cfef0d64dd15f60ea53a1bb/crates/miden-tx/src/prover/mod.rs#L106-L153). A service cannot choose a lower limit, and a private prover cannot raise it for a larger workload. [`TransactionExecutor::with_options`](https://github.com/0xMiden/protocol/blob/13983ef40aebd6c39cfef0d64dd15f60ea53a1bb/crates/miden-tx/src/executor/mod.rs#L153-L168) already provides this control for execution.
Store `ExecutionOptions` in `LocalTransactionProver`. Add `with_execution_options` to replace them, with `ExecutionOptions::default()` as the default. Pass the stored options to `prove_sync`.
Add one test for the default and one for a custom advice limit. Node and the Rust SDK can then use the same options for local execution and proving.
Guide de contribution
Ouvrir le guide de contribution
Évaluation
Cette issue n'a pas encore été évaluée.