0xMiden / 0xMiden/protocol

Let LocalTransactionProver accept ExecutionOptions

Abierto
#3,653 0 comentarios 1 reacción 0 asignados Ver en GitHub
Lenguaje dominante
Rust
Estrellas
132
Forks
167
Merge medio
1 d 23 h
PR fusionados (30 d)
110

Descripción

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.

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.