0xMiden / 0xMiden/protocol

Let LocalTransactionProver accept ExecutionOptions

未关闭
#3,653 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Rust
星标
132
派生
167
平均合并
1 天 23 小时
30 天内合并 PR
110

描述

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.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。