0xMiden / 0xMiden/protocol

Let LocalTransactionProver accept ExecutionOptions

Aperta
#3,653 0 commenti 1 reazione 0 assegnatari Vedi su GitHub
Lingua principale
Rust
Stelle
132
Fork
167
Merge medio
1g 23h
PR unite (30g)
110

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.