pub async fn create_invitation(
storage: &dyn SyncStorage,
cloud_home: &dyn CloudHome,
chain: &mut MembershipChain,
owner_keypair: &UserKeypair,
invitee_ed25519_pubkey: &str,
role: MemberRole,
encryption_key: &[u8; 32],
timestamp: &str,
) -> Result<CloudHomeJoinInfo, InviteError>Expand description
Create an invitation for a new member.
This grants access on the cloud home, wraps the library encryption key to the inviteeās X25519 public key, creates and signs a membership entry (Add), validates it against the local chain, and uploads both to the storage. Returns the JoinInfo so the caller can share connection details with the invitee.