0xMiden / 0xMiden/protocol

Test partial storage map from foreign account can be accessed

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

描述

### What should be done?

With foreign procedure invocation it's possible to read data from a foreign account, for example from a storage map. Such storage maps could get very large in practice, but since they are a sparse merkle tree, only the key-value pair that needs to be accessed (and its merkle path) must be present in the transaction where it is read.

### How should it be done?

There are two options I think:
1. We could consider adding a test to make sure we can do this, which also serves as an example of how this can be done.
2. We can change `get_mock_fpi_adv_inputs` to take as an input the key-value pairs that should be added to the advice input's merkle store, so that instead of adding all storage maps to the merkle store, we only selectively add the provided key-value pairs. In that case we don't need a new test, but the existing `test_fpi_memory` would serve as the example because a part of this test already uses `get_map_item`.

I would suggest going with option 2 if there aren't unforeseen complications, and option 1 otherwise.

### When is this task done?

When we can successfully execute a test where not the entire storage map was added to the advice input's merkle store.

### Additional context

Follow-up from #918.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

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