Repository navigation
fix(platform-wallet): keep the cached identity in step with the chain around updates #5487
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
romchornyi
merged 76 commits into
v5.1-dev
from
feat/platform-wallet-update-at-revision
Oct 30, 2026
Merged
Changes from 2 commits
Commits
Show all changes
76 commits
Select commit
Hold shift + click to select a range
3cf342f
feat(platform-wallet): update an identity at a revision the caller names
jeanpierreroma fde97b1
fix(platform-wallet): bump the cached revision to the one the update …
jeanpierreroma 7ecb917
test(platform-wallet): cover the revision refusal and the landed-upda…
jeanpierreroma 8150967
Merge remote-tracking branch 'origin/v5.1-dev' into feat/platform-wal…
jeanpierreroma d020575
fix(platform-wallet): keep a newer cached identity from older updates…
jeanpierreroma 7331388
feat(platform-wallet-ffi): report a revision mismatch with its own re…
jeanpierreroma d58a809
fix(platform-wallet): store a newer cache's keys when an older update…
jeanpierreroma aa2b6a7
fix(platform-wallet): keep stored breadcrumbs and cover the third fet…
jeanpierreroma 8182dfc
fix(platform-wallet): give stored disabled keys the wallet slot's bre…
jeanpierreroma bb4380b
fix(platform-wallet): keep keys an older answer has and the cache lacks
jeanpierreroma f8d3f77
fix(platform-wallet): return the keys a dropped load took into the cache
jeanpierreroma 24c62da
style(platform-wallet): import at the top in the new code and fixtures
jeanpierreroma b0d364f
fix(platform-wallet): fold older fetches per field and store the land…
jeanpierreroma dab42a4
fix(platform-wallet): store a landed update in one changeset and keep…
jeanpierreroma bea3aa2
fix(platform-wallet): store the snapshot when a landed update meets a…
jeanpierreroma e5cbeba
fix(platform-wallet): prefer Platform's disable time and match the pa…
jeanpierreroma 37c3326
refactor(platform-wallet): one disable rule for both landed paths and…
jeanpierreroma 3508dce
fix(platform-wallet): an older fetch no longer brings its balance or …
jeanpierreroma 840209c
fix(platform-wallet): fold discovered identities, order fetched balan…
jeanpierreroma 88510b8
fix(platform-wallet): keep the higher key limit, retry a fetched disa…
jeanpierreroma e0b1d7c
fix(platform-wallet): queue refused key rows for the next store, take…
jeanpierreroma 144958e
fix(platform-wallet): refresh stores every key it changes, SQLite kee…
jeanpierreroma 4d1f50a
feat(platform-wallet)!: let an identity update declare the keys it ad…
jeanpierreroma 2c31b5f
fix(platform-wallet): disables carry no breadcrumb, a buffered merge …
jeanpierreroma 8b82cfb
fix(platform-wallet): only a path that knows a key's origin creates i…
jeanpierreroma f589e11
fix(platform-wallet): a key a refresh adds stays rowless until its or…
jeanpierreroma bbf2673
fix(platform-wallet): a breadcrumb-less key row means unknown origin,…
jeanpierreroma ec3e225
test(platform-wallet): a load needs one write to store a new identity
jeanpierreroma 2f3561d
fix(platform-wallet): add_keys and disable_keys queue refused rows, c…
jeanpierreroma d6d43e3
fix(platform-wallet)!: tell an unknown key origin from a rejected one…
jeanpierreroma 9677750
fix(platform-wallet): an unknown-origin key row keeps a rejection it …
jeanpierreroma b016e9e
fix(platform-wallet): a rejection refutes only the coordinates it che…
jeanpierreroma bb184f5
fix(platform-wallet): a rejection drops only its slot's pending repai…
jeanpierreroma 67fbf95
fix(platform-wallet): a rejection clears only the persisting wallet's…
jeanpierreroma 18bc03f
fix(platform-wallet)!: combine a key's rejections as a set, scope Kot…
jeanpierreroma a683ade
fix(platform-wallet): rebuild a pending Kotlin repair under its bread…
jeanpierreroma 67ad5ba
fix(platform-wallet): leave legacy breadcrumb owners unknown, keep a …
jeanpierreroma 073b8cd
fix(platform-wallet): trace a constraint failure to the row it refuses
jeanpierreroma 1f52ec1
fix(swift-sdk): keep the signer alive through the identity update FFI…
jeanpierreroma 512bbcb
fix(platform-wallet): trace a constraint failure to the snapshot befo…
jeanpierreroma fcf69a6
fix(platform-wallet-ffi): refuse a null key array with a non-zero count
jeanpierreroma fd85f8d
test(platform-wallet-storage): pin each check on a stored identity ke…
jeanpierreroma 6131d4e
fix(swift-sdk): leave a breadcrumb with no recorded owner to its unkn…
jeanpierreroma f52440d
fix(kotlin-sdk): cancel a key repair only on its own owner's rejectio…
jeanpierreroma 03331ba
refactor(kotlin-sdk): apply Rust's key-origin decisions mechanically …
jeanpierreroma fdf8bf5
refactor(platform-wallet): fold fetched identities without the key-ro…
jeanpierreroma ad09c6a
refactor(platform-wallet): return the identity FFI to base apart from…
jeanpierreroma 5b3840f
refactor(platform-wallet-storage): keep a stored breadcrumb on the sa…
jeanpierreroma 60b0dfa
refactor(kotlin-sdk): drop the key-origin repair and Room schema 16, …
jeanpierreroma 54135e6
refactor(swift-sdk): drop externalKeyIds and the persister's key-orig…
jeanpierreroma d49fa67
test(platform-wallet): pin that a load by index stores a new identity…
jeanpierreroma d62a921
docs(platform-wallet): state that a key entry without coordinates kee…
jeanpierreroma 650fd45
fix(platform-wallet): store a landed update's disables when the cache…
jeanpierreroma 8e5af24
fix(platform-wallet): take back a revision a base build put past the …
jeanpierreroma 2028be0
fix(platform-wallet): lend a buffered breadcrumb only to the same key…
jeanpierreroma 0198486
docs(platform-wallet): mention the equal-keys exception in the update…
jeanpierreroma 0fbfba3
revert(platform-wallet): drop the equal-keys revision recovery
jeanpierreroma 6a9f909
fix(platform-wallet): take a fetch's key states at its revision and k…
jeanpierreroma 693fd17
fix(platform-wallet-storage): lend a held breadcrumb only from a vali…
jeanpierreroma 2b8ba90
fix(platform-wallet): take Drive's revision when it refuses an update…
jeanpierreroma b891221
Merge remote-tracking branch 'origin/v5.1-dev' into feat/platform-wal…
jeanpierreroma 2be1862
fix(platform-wallet): take a refused update's revision only from a pr…
jeanpierreroma f8b1bb3
fix(platform-wallet): take a refused update's revision only from a pr…
jeanpierreroma 2aa05cd
fix(platform-wallet): re-send an update Drive refused below the cache…
jeanpierreroma d67e5a5
fix(platform-wallet): re-send a refused update only once proofs show …
jeanpierreroma a6e23a6
fix(platform-wallet): fail a refusal proved at u64::MAX instead of ov…
jeanpierreroma d415e70
fix(kotlin-sdk): pass the update revision through addKey and disableKeys
jeanpierreroma 36c02c8
fix(platform-wallet): order key states after a restore by the restore…
jeanpierreroma f4d318f
fix(platform-wallet): keep the key watermark monotonic
jeanpierreroma 58d0fc9
docs(kotlin-sdk): note that Kotlin has no next-revision reader for an…
jeanpierreroma cd00c9a
Merge remote-tracking branch 'origin/v5.1-dev' into feat/platform-wal…
jeanpierreroma 9080abf
fix(platform-wallet)!: go back to lowering the cache on Drive's revis…
jeanpierreroma 610aa57
fix(platform-wallet): store a landed revision with its keys as one write
jeanpierreroma bf9b415
Merge remote-tracking branch 'origin/v5.1-dev' into feat/platform-wal…
jeanpierreroma 51d7be8
refactor(platform-wallet): drop the revision pin from the identity up…
jeanpierreroma 8df7515
fix(platform-wallet): tell the caller not to resubmit a landed update…
jeanpierreroma File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Some comments aren't visible on the classic Files Changed page.
There are no files selected for viewing
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
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
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
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
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.