Skip to content

feat: extend the http registry to store account's installations#129

Open
kaichaosun wants to merge 9 commits into
mainfrom
account-store
Open

feat: extend the http registry to store account's installations#129
kaichaosun wants to merge 9 commits into
mainfrom
account-store

Conversation

@kaichaosun

@kaichaosun kaichaosun commented Jun 8, 2026

Copy link
Copy Markdown
Contributor

Summary

Adds an account → device directory so an account can be resolved to its set of installation/device keys. Extends the existing HTTP keypackage registry to store and serve these account-to-device mappings.

Changes

  • Account directory abstraction (account_directory.rs): introduces SignedDeviceBundle, DeviceSet, the AccountAuthority (account-key signing capability) and AccountDirectory (untrusted publish/fetch client) traits, plus the bundle codec and signature verification.
  • Account traits (account.rs, service_traits.rs): LogosAccount implements AccountAuthority alongside IdentityProvider; on testnet the account key and device key coincide.
  • Inbox/context integration (inbox_v2.rs, context.rs): publish_device_bundle upserts this installation's device key into the account's signed bundle (lamport-versioned, re-published idempotently); exposed via register_account_bundle.
  • HTTP registry (bin/keypackage-registry/*, extensions/components/contact_registry*): new endpoints + store layer to persist and retrieve signed account installation bundles.

Related to #111

@kaichaosun kaichaosun force-pushed the account-store branch 2 times, most recently from 38fcb76 to 11b7233 Compare June 8, 2026 13:24
@kaichaosun kaichaosun requested review from jazzz and osmaczko and removed request for jazzz June 8, 2026 13:24

@jazzz jazzz left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good for the current goals.

Notes for the Future:

  • The account_id structure will need an update, however it will still contain the verifying key so minimal changes.
  • Id recommend keeping the account and keypackage paths as separated as possible, as the code/functionality will be updated at different times

Comment thread bin/keypackage-registry/src/handlers.rs
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants