chore: add createMany use case (Batch accounts 3/5)#610
Open
gantunesr wants to merge 4 commits into
Open
Conversation
createMany use case (Batch accounts 3/5)
16a6861 to
4670591
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Stack part 3 of 5 split from #601. Adds AccountUseCases.createMany, bounded account creation concurrency, deduping/idempotency, bulk insertion, and mutation serialization. No public keyring RPC is wired in this part.
Note
Medium Risk
Touches core account creation/deletion flows by introducing mutation serialization and changing
createto emit account-created events even when reusing an existing account; concurrency/bulk-insert paths may surface race or ordering issues.Overview
Adds
AccountUseCases.createManyto create multiple accounts in one call, deduping duplicate derivation paths, reusing existing accounts, creating missing ones with a small concurrency cap, and persisting viainsertManywhile scheduling background full scans only for newly-created/synchronized accounts.Refactors derivation-path handling into shared helpers and introduces a simple mutation queue (
#runAccountMutation) to serialize account mutations;createanddeletenow run under this queue, andcreatenow emitsemitAccountCreatedEventeven when the account already exists.Updates unit tests to cover
createManybehaviors (reuse, dedupe, error propagation, in-flight create ordering) and documents the new use case in the changelog.Reviewed by Cursor Bugbot for commit 6e52eb8. Bugbot is set up for automated code reviews on this repo. Configure here.