0xMiden / 0xMiden/rust-sdk

BatchBuilder followups

Open
#2,200 0 comments 0 reactions 1 assignee Claimed by @igamigo View on GitHub
enhancement
Dominant language
Rust
Stars
78
Forks
129
Avg merge
4d 14h
Merged PRs (30d)
52

Description

After https://github.com/0xMiden/miden-client/pull/2177, there are some things still worth looking into:

- Recover from failed tx without discarting whole batch. https://github.com/0xMiden/miden-client/pull/2177#discussion_r3275244155
- For this we need to analize wheter or not we can defer updating the in memory data store until we fully know that a transaction is succesfull.
- Remove `get_account_interface`. It currently fetches the full account to get its interface, which is sub-optimal https://github.com/0xMiden/miden-client/pull/2177#discussion_r3285317043
- Decouple `Client` from `BatchBuilder`. https://github.com/0xMiden/miden-client/pull/2177#discussion_r3285329829
- Make BatchBuilder generate a single store transaction update. https://github.com/0xMiden/miden-client/pull/2177#discussion_r3285337241
- Remove producer before consumer restriction for transaction order. https://github.com/0xMiden/miden-client/pull/2177#discussion_r3285352242
- Reduce in memory batch data store size by only keeping `PartialAccount`s. https://github.com/0xMiden/miden-client/pull/2177#discussion_r3285359506

Contributor guide

Open the contributing guide

Research direction

Review PR #2177 and its linked discussions to understand the BatchBuilder changes. Examine the client and batch builder coupling in the codebase, likely in src/client.rs and src/batch_builder.rs. The goal is to implement the listed follow-ups, such as decoupling components and optimizing data storage. Success means each item is addressed without breaking existing batch functionality.

Written by the indexing model from the issue text.

Assessment

Tech stack
rust
Domain
backend-api-design
Issue type
Refactor
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.