Skip to main content

Module migration

Module migration 

Source
Expand description

Sender-side bootstrap synthesis that needs async access to identity updates (for the failed_installations per-inbox partition).

Mirrors the wire-format contract enforced by the receiver-side synthesize_canonical_subset_for_validation in xmtp_mls_common::app_data::migration. The split is:

  • sync pure-local synthesis (registry, admin/super-admin lists, Bytes attrs, sequence-id map, immutable seeds) → xmtp_mls_common
  • async identity-update-dependent synthesis (failed_installations partition) → this module

The output is the full BTreeMap<ComponentId, Vec<u8>> the bootstrap intent handler fans out as individual AppDataUpdate proposals, sorted by ComponentId ascending.

Enums§

BootstrapCommitError
Errors surfaced by stage_bootstrap_commit.
BootstrapSynthesisError
Sender-side bootstrap synthesis errors.

Functions§

stage_bootstrap_commit
Build and stage the bootstrap migration commit.
synthesize_initial_component_values
Synthesize the full AppDataUpdate payload set the bootstrap commit ships, keyed by ComponentId.
synthesize_initial_component_values_from_extensions
Extensions-only variant of synthesize_initial_component_values. Lets tests exercise synthesis against synthetic extensions without standing up a real MLS group.