@wireapp/core-crypto 1.0.0-rc.7 → 1.0.0-rc.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
    
        package/package.json
    CHANGED
    
    
| Binary file | 
| @@ -386,6 +386,45 @@ export interface DecryptedMessage { | |
| 386 386 | 
             
            	 * Present for all messages
         | 
| 387 387 | 
             
            	 */
         | 
| 388 388 | 
             
            	identity?: WireIdentity;
         | 
| 389 | 
            +
            	/**
         | 
| 390 | 
            +
            	 * Only set when the decrypted message is a commit.
         | 
| 391 | 
            +
            	 * Contains buffered messages for next epoch which were received before the commit creating the epoch
         | 
| 392 | 
            +
            	 * because the DS did not fan them out in order.
         | 
| 393 | 
            +
            	 */
         | 
| 394 | 
            +
            	bufferedMessages?: BufferedDecryptedMessage[];
         | 
| 395 | 
            +
            }
         | 
| 396 | 
            +
            /**
         | 
| 397 | 
            +
             * Almost same as {@link DecryptedMessage} but avoids recursion
         | 
| 398 | 
            +
             */
         | 
| 399 | 
            +
            export interface BufferedDecryptedMessage {
         | 
| 400 | 
            +
            	/**
         | 
| 401 | 
            +
            	 * see {@link DecryptedMessage.message}
         | 
| 402 | 
            +
            	 */
         | 
| 403 | 
            +
            	message?: Uint8Array;
         | 
| 404 | 
            +
            	/**
         | 
| 405 | 
            +
            	 * see {@link DecryptedMessage.proposals}
         | 
| 406 | 
            +
            	 */
         | 
| 407 | 
            +
            	proposals: ProposalBundle[];
         | 
| 408 | 
            +
            	/**
         | 
| 409 | 
            +
            	 * see {@link DecryptedMessage.isActive}
         | 
| 410 | 
            +
            	 */
         | 
| 411 | 
            +
            	isActive: boolean;
         | 
| 412 | 
            +
            	/**
         | 
| 413 | 
            +
            	 * see {@link DecryptedMessage.commitDelay}
         | 
| 414 | 
            +
            	 */
         | 
| 415 | 
            +
            	commitDelay?: number;
         | 
| 416 | 
            +
            	/**
         | 
| 417 | 
            +
            	 * see {@link DecryptedMessage.senderClientId}
         | 
| 418 | 
            +
            	 */
         | 
| 419 | 
            +
            	senderClientId?: ClientId;
         | 
| 420 | 
            +
            	/**
         | 
| 421 | 
            +
            	 * see {@link DecryptedMessage.hasEpochChanged}
         | 
| 422 | 
            +
            	 */
         | 
| 423 | 
            +
            	hasEpochChanged: boolean;
         | 
| 424 | 
            +
            	/**
         | 
| 425 | 
            +
            	 * see {@link DecryptedMessage.identity}
         | 
| 426 | 
            +
            	 */
         | 
| 427 | 
            +
            	identity?: WireIdentity;
         | 
| 389 428 | 
             
            }
         | 
| 390 429 | 
             
            /**
         | 
| 391 430 | 
             
             * Represents the identity claims identifying a client. Those claims are verifiable by any member in the group
         | 
| @@ -625,7 +664,7 @@ export declare class CoreCrypto { | |
| 625 664 | 
             
            	/**
         | 
| 626 665 | 
             
            	 * Closes this {@link CoreCrypto} instance and deallocates all loaded resources
         | 
| 627 666 | 
             
            	 *
         | 
| 628 | 
            -
            	 * **CAUTION**: This {@link CoreCrypto} instance won't be  | 
| 667 | 
            +
            	 * **CAUTION**: This {@link CoreCrypto} instance won't be usable after a call to this method, but there's no way to express this requirement in TypeScript, so you'll get errors instead!
         | 
| 629 668 | 
             
            	 */
         | 
| 630 669 | 
             
            	close(): Promise<void>;
         | 
| 631 670 | 
             
            	/**
         | 
| @@ -691,7 +730,12 @@ export declare class CoreCrypto { | |
| 691 730 | 
             
            	 */
         | 
| 692 731 | 
             
            	createConversation(conversationId: ConversationId, creatorCredentialType: CredentialType, configuration?: ConversationConfiguration): Promise<any>;
         | 
| 693 732 | 
             
            	/**
         | 
| 694 | 
            -
            	 * Decrypts a message for a given conversation
         | 
| 733 | 
            +
            	 * Decrypts a message for a given conversation.
         | 
| 734 | 
            +
            	 *
         | 
| 735 | 
            +
            	 * Note: you should catch & ignore the following error reasons:
         | 
| 736 | 
            +
            	 * * "We already decrypted this message once"
         | 
| 737 | 
            +
            	 * * "You tried to join with an external commit but did not merge it yet. We will reapply this message for you when you merge your external commit"
         | 
| 738 | 
            +
            	 * * "Incoming message is for a future epoch. We will buffer it until the commit for that epoch arrives"
         | 
| 695 739 | 
             
            	 *
         | 
| 696 740 | 
             
            	 * @param conversationId - The ID of the conversation
         | 
| 697 741 | 
             
            	 * @param payload - The encrypted message buffer
         | 
| @@ -723,7 +767,7 @@ export declare class CoreCrypto { | |
| 723 767 | 
             
            	 *
         | 
| 724 768 | 
             
            	 * @returns A {@link CommitBundle}
         | 
| 725 769 | 
             
            	 */
         | 
| 726 | 
            -
            	 | 
| 770 | 
            +
            	updateTrustAnchorsFromConversation(conversationId: ConversationId, removeDomainNames: string[], addTrustAnchors: PerDomainTrustAnchor[]): Promise<CommitBundle>;
         | 
| 727 771 | 
             
            	/**
         | 
| 728 772 | 
             
            	 * Ingest a TLS-serialized MLS welcome message to join an existing MLS group
         | 
| 729 773 | 
             
            	 *
         | 
| @@ -737,7 +781,10 @@ export declare class CoreCrypto { | |
| 737 781 | 
             
            	 */
         | 
| 738 782 | 
             
            	processWelcomeMessage(welcomeMessage: Uint8Array, configuration?: CustomConfiguration): Promise<ConversationId>;
         | 
| 739 783 | 
             
            	/**
         | 
| 740 | 
            -
            	 *  | 
| 784 | 
            +
            	 * Get the client's public signature key. To upload to the DS for further backend side validation
         | 
| 785 | 
            +
            	 *
         | 
| 786 | 
            +
            	 * @param ciphersuite - of the signature key to get
         | 
| 787 | 
            +
            	 * @returns the client's public signature key
         | 
| 741 788 | 
             
            	 */
         | 
| 742 789 | 
             
            	clientPublicKey(ciphersuite: Ciphersuite): Promise<Uint8Array>;
         | 
| 743 790 | 
             
            	/**
         | 
| @@ -766,7 +813,7 @@ export declare class CoreCrypto { | |
| 766 813 | 
             
            	/**
         | 
| 767 814 | 
             
            	 * Adds new clients to a conversation, assuming the current client has the right to add new clients to the conversation.
         | 
| 768 815 | 
             
            	 *
         | 
| 769 | 
            -
            	 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called  | 
| 816 | 
            +
            	 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
         | 
| 770 817 | 
             
            	 * '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
         | 
| 771 818 | 
             
            	 * epoch, use new encryption secrets etc...
         | 
| 772 819 | 
             
            	 *
         | 
| @@ -780,7 +827,7 @@ export declare class CoreCrypto { | |
| 780 827 | 
             
            	 * Removes the provided clients from a conversation; Assuming those clients exist and the current client is allowed
         | 
| 781 828 | 
             
            	 * to do so, otherwise this operation does nothing.
         | 
| 782 829 | 
             
            	 *
         | 
| 783 | 
            -
            	 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called  | 
| 830 | 
            +
            	 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
         | 
| 784 831 | 
             
            	 * '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
         | 
| 785 832 | 
             
            	 * epoch, use new encryption secrets etc...
         | 
| 786 833 | 
             
            	 *
         | 
| @@ -791,9 +838,9 @@ export declare class CoreCrypto { | |
| 791 838 | 
             
            	 */
         | 
| 792 839 | 
             
            	removeClientsFromConversation(conversationId: ConversationId, clientIds: ClientId[]): Promise<CommitBundle>;
         | 
| 793 840 | 
             
            	/**
         | 
| 794 | 
            -
            	 * Creates an update commit which forces every client to update their  | 
| 841 | 
            +
            	 * Creates an update commit which forces every client to update their LeafNode in the conversation
         | 
| 795 842 | 
             
            	 *
         | 
| 796 | 
            -
            	 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called  | 
| 843 | 
            +
            	 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
         | 
| 797 844 | 
             
            	 * '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
         | 
| 798 845 | 
             
            	 * epoch, use new encryption secrets etc...
         | 
| 799 846 | 
             
            	 *
         | 
| @@ -823,6 +870,9 @@ export declare class CoreCrypto { | |
| 823 870 | 
             
            	 * @returns A {@link ProposalBundle} containing the Proposal and its reference in order to roll it back if necessary
         | 
| 824 871 | 
             
            	 */
         | 
| 825 872 | 
             
            	newProposal(proposalType: ProposalType, args: ProposalArgs | AddProposalArgs | RemoveProposalArgs): Promise<ProposalBundle>;
         | 
| 873 | 
            +
            	/**
         | 
| 874 | 
            +
            	 * Creates a new external Add proposal for self client to join a conversation.
         | 
| 875 | 
            +
            	 */
         | 
| 826 876 | 
             
            	newExternalProposal(externalProposalType: ExternalProposalType, args: ExternalAddProposalArgs): Promise<Uint8Array>;
         | 
| 827 877 | 
             
            	/**
         | 
| 828 878 | 
             
            	 * Allows to create an external commit to "apply" to join a group through its GroupInfo.
         | 
| @@ -847,8 +897,9 @@ export declare class CoreCrypto { | |
| 847 897 | 
             
            	 * and deletes the temporary one. This step makes the group operational and ready to encrypt/decrypt message
         | 
| 848 898 | 
             
            	 *
         | 
| 849 899 | 
             
            	 * @param conversationId - The ID of the conversation
         | 
| 900 | 
            +
            	 * @returns eventually decrypted buffered messages if any
         | 
| 850 901 | 
             
            	 */
         | 
| 851 | 
            -
            	mergePendingGroupFromExternalCommit(conversationId: ConversationId): Promise< | 
| 902 | 
            +
            	mergePendingGroupFromExternalCommit(conversationId: ConversationId): Promise<BufferedDecryptedMessage[] | undefined>;
         | 
| 852 903 | 
             
            	/**
         | 
| 853 904 | 
             
            	 * In case the external commit generated by {@link CoreCrypto.joinByExternalCommit} is rejected by the Delivery Service, and we
         | 
| 854 905 | 
             
            	 * want to abort this external commit once for all, we can wipe out the pending group from the keystore in order
         | 
| @@ -858,26 +909,24 @@ export declare class CoreCrypto { | |
| 858 909 | 
             
            	 */
         | 
| 859 910 | 
             
            	clearPendingGroupFromExternalCommit(conversationId: ConversationId): Promise<void>;
         | 
| 860 911 | 
             
            	/**
         | 
| 861 | 
            -
            	 * Allows to mark the latest commit produced as "accepted" and be able to safely merge it
         | 
| 862 | 
            -
            	 * into the local group state
         | 
| 912 | 
            +
            	 * Allows to mark the latest commit produced as "accepted" and be able to safely merge it into the local group state
         | 
| 863 913 | 
             
            	 *
         | 
| 864 914 | 
             
            	 * @param conversationId - The group's ID
         | 
| 915 | 
            +
            	 * @returns the messages from current epoch which had been buffered, if any
         | 
| 865 916 | 
             
            	 */
         | 
| 866 | 
            -
            	commitAccepted(conversationId: ConversationId): Promise< | 
| 917 | 
            +
            	commitAccepted(conversationId: ConversationId): Promise<BufferedDecryptedMessage[] | undefined>;
         | 
| 867 918 | 
             
            	/**
         | 
| 868 | 
            -
            	 * Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions
         | 
| 869 | 
            -
            	 * have changed meanwhile.
         | 
| 919 | 
            +
            	 * Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions have changed meanwhile.
         | 
| 870 920 | 
             
            	 *
         | 
| 871 921 | 
             
            	 * **CAUTION**: only use this when you had an explicit response from the Delivery Service
         | 
| 872 | 
            -
            	 * e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc | 
| 922 | 
            +
            	 * e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc…
         | 
| 873 923 | 
             
            	 *
         | 
| 874 924 | 
             
            	 * @param conversationId - The group's ID
         | 
| 875 925 | 
             
            	 * @param proposalRef - A reference to the proposal to delete. You get one when using {@link CoreCrypto.newProposal}
         | 
| 876 926 | 
             
            	 */
         | 
| 877 927 | 
             
            	clearPendingProposal(conversationId: ConversationId, proposalRef: ProposalRef): Promise<void>;
         | 
| 878 928 | 
             
            	/**
         | 
| 879 | 
            -
            	 * Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions
         | 
| 880 | 
            -
            	 * have changed meanwhile.
         | 
| 929 | 
            +
            	 * Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions have changed meanwhile.
         | 
| 881 930 | 
             
            	 *
         | 
| 882 931 | 
             
            	 * **CAUTION**: only use this when you had an explicit response from the Delivery Service
         | 
| 883 932 | 
             
            	 * e.g. 403. Do not use otherwise e.g. 5xx responses, timeout etc..
         | 
| @@ -921,7 +970,7 @@ export declare class CoreCrypto { | |
| 921 970 | 
             
            	 */
         | 
| 922 971 | 
             
            	reseedRng(seed: Uint8Array): Promise<void>;
         | 
| 923 972 | 
             
            	/**
         | 
| 924 | 
            -
            	 *  | 
| 973 | 
            +
            	 * Initializes the proteus client
         | 
| 925 974 | 
             
            	 */
         | 
| 926 975 | 
             
            	proteusInit(): Promise<void>;
         | 
| 927 976 | 
             
            	/**
         | 
| @@ -1054,47 +1103,49 @@ export declare class CoreCrypto { | |
| 1054 1103 | 
             
            	 * Creates an enrollment instance with private key material you can use in order to fetch
         | 
| 1055 1104 | 
             
            	 * a new x509 certificate from the acme server.
         | 
| 1056 1105 | 
             
            	 *
         | 
| 1057 | 
            -
            	 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 1058 | 
            -
            	 * @param displayName human | 
| 1059 | 
            -
            	 * @param handle user handle e.g. `alice.smith.qa@example.com`
         | 
| 1060 | 
            -
            	 * @param expiryDays generated x509 certificate expiry
         | 
| 1106 | 
            +
            	 * @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 1107 | 
            +
            	 * @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 1108 | 
            +
            	 * @param handle - user handle e.g. `alice.smith.qa@example.com`
         | 
| 1109 | 
            +
            	 * @param expiryDays - generated x509 certificate expiry
         | 
| 1061 1110 | 
             
            	 * @param ciphersuite - for generating signing key material
         | 
| 1062 | 
            -
            	 * @returns The new {@link  | 
| 1111 | 
            +
            	 * @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiMlsInitOnly}
         | 
| 1063 1112 | 
             
            	 */
         | 
| 1064 | 
            -
            	e2eiNewEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise< | 
| 1113 | 
            +
            	e2eiNewEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise<E2eiEnrollment>;
         | 
| 1065 1114 | 
             
            	/**
         | 
| 1066 1115 | 
             
            	 * Generates an E2EI enrollment instance for a "regular" client (with a Basic credential) willing to migrate to E2EI.
         | 
| 1067 1116 | 
             
            	 * Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
         | 
| 1068 1117 | 
             
            	 *
         | 
| 1069 | 
            -
            	 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 1070 | 
            -
            	 * @param displayName human | 
| 1071 | 
            -
            	 * @param handle user handle e.g. `alice.smith.qa@example.com`
         | 
| 1072 | 
            -
            	 * @param expiryDays generated x509 certificate expiry
         | 
| 1118 | 
            +
            	 * @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 1119 | 
            +
            	 * @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 1120 | 
            +
            	 * @param handle - user handle e.g. `alice.smith.qa@example.com`
         | 
| 1121 | 
            +
            	 * @param expiryDays - generated x509 certificate expiry
         | 
| 1073 1122 | 
             
            	 * @param ciphersuite - for generating signing key material
         | 
| 1074 | 
            -
            	 * @returns The new {@link  | 
| 1123 | 
            +
            	 * @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
         | 
| 1075 1124 | 
             
            	 */
         | 
| 1076 | 
            -
            	e2eiNewActivationEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise< | 
| 1125 | 
            +
            	e2eiNewActivationEnrollment(clientId: string, displayName: string, handle: string, expiryDays: number, ciphersuite: Ciphersuite): Promise<E2eiEnrollment>;
         | 
| 1077 1126 | 
             
            	/**
         | 
| 1078 1127 | 
             
            	 * Generates an E2EI enrollment instance for a E2EI client (with a X509 certificate credential)
         | 
| 1079 1128 | 
             
            	 * having to change/rotate their credential, either because the former one is expired or it
         | 
| 1080 1129 | 
             
            	 * has been revoked. It lets you change the DisplayName or the handle
         | 
| 1081 1130 | 
             
            	 * if you need to. Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
         | 
| 1082 1131 | 
             
            	 *
         | 
| 1083 | 
            -
            	 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 1084 | 
            -
            	 * @param expiryDays generated x509 certificate expiry
         | 
| 1132 | 
            +
            	 * @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 1133 | 
            +
            	 * @param expiryDays - generated x509 certificate expiry
         | 
| 1085 1134 | 
             
            	 * @param ciphersuite - for generating signing key material
         | 
| 1086 | 
            -
            	 * @param displayName human | 
| 1087 | 
            -
            	 * @param handle user handle e.g. `alice.smith.qa@example.com`
         | 
| 1088 | 
            -
            	 * @returns The new {@link  | 
| 1135 | 
            +
            	 * @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 1136 | 
            +
            	 * @param handle - user handle e.g. `alice.smith.qa@example.com`
         | 
| 1137 | 
            +
            	 * @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
         | 
| 1089 1138 | 
             
            	 */
         | 
| 1090 | 
            -
            	e2eiNewRotateEnrollment(clientId: string, expiryDays: number, ciphersuite: Ciphersuite, displayName?: string, handle?: string): Promise< | 
| 1139 | 
            +
            	e2eiNewRotateEnrollment(clientId: string, expiryDays: number, ciphersuite: Ciphersuite, displayName?: string, handle?: string): Promise<E2eiEnrollment>;
         | 
| 1091 1140 | 
             
            	/**
         | 
| 1092 | 
            -
            	 * Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ; | 
| 1141 | 
            +
            	 * Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ;
         | 
| 1142 | 
            +
            	 * that means he cannot initialize with a Basic credential
         | 
| 1093 1143 | 
             
            	 *
         | 
| 1094 1144 | 
             
            	 * @param enrollment - the enrollment instance used to fetch the certificates
         | 
| 1095 1145 | 
             
            	 * @param certificateChain - the raw response from ACME server
         | 
| 1146 | 
            +
            	 * @returns a MlsClient initialized with only a x509 credential
         | 
| 1096 1147 | 
             
            	 */
         | 
| 1097 | 
            -
            	e2eiMlsInitOnly(enrollment:  | 
| 1148 | 
            +
            	e2eiMlsInitOnly(enrollment: E2eiEnrollment, certificateChain: string): Promise<void>;
         | 
| 1098 1149 | 
             
            	/**
         | 
| 1099 1150 | 
             
            	 * Creates a commit in all local conversations for changing the credential. Requires first
         | 
| 1100 1151 | 
             
            	 * having enrolled a new X509 certificate with either {@link CoreCrypto.e2eiNewActivationEnrollment}
         | 
| @@ -1103,8 +1154,9 @@ export declare class CoreCrypto { | |
| 1103 1154 | 
             
            	 * @param enrollment - the enrollment instance used to fetch the certificates
         | 
| 1104 1155 | 
             
            	 * @param certificateChain - the raw response from ACME server
         | 
| 1105 1156 | 
             
            	 * @param newKeyPackageCount - number of KeyPackages with new identity to generate
         | 
| 1157 | 
            +
            	 * @returns a {@link RotateBundle} with commits to fan-out to other group members, KeyPackages to upload and old ones to delete
         | 
| 1106 1158 | 
             
            	 */
         | 
| 1107 | 
            -
            	e2eiRotateAll(enrollment:  | 
| 1159 | 
            +
            	e2eiRotateAll(enrollment: E2eiEnrollment, certificateChain: string, newKeyPackageCount: number): Promise<RotateBundle>;
         | 
| 1108 1160 | 
             
            	/**
         | 
| 1109 1161 | 
             
            	 * Allows persisting an active enrollment (for example while redirecting the user during OAuth) in order to resume
         | 
| 1110 1162 | 
             
            	 * it later with {@link e2eiEnrollmentStashPop}
         | 
| @@ -1112,14 +1164,14 @@ export declare class CoreCrypto { | |
| 1112 1164 | 
             
            	 * @param enrollment the enrollment instance to persist
         | 
| 1113 1165 | 
             
            	 * @returns a handle to fetch the enrollment later with {@link e2eiEnrollmentStashPop}
         | 
| 1114 1166 | 
             
            	 */
         | 
| 1115 | 
            -
            	e2eiEnrollmentStash(enrollment:  | 
| 1167 | 
            +
            	e2eiEnrollmentStash(enrollment: E2eiEnrollment): Promise<Uint8Array>;
         | 
| 1116 1168 | 
             
            	/**
         | 
| 1117 1169 | 
             
            	 * Fetches the persisted enrollment and deletes it from the keystore
         | 
| 1118 1170 | 
             
            	 *
         | 
| 1119 1171 | 
             
            	 * @param handle returned by {@link e2eiEnrollmentStash}
         | 
| 1120 1172 | 
             
            	 * @returns the persisted enrollment instance
         | 
| 1121 1173 | 
             
            	 */
         | 
| 1122 | 
            -
            	e2eiEnrollmentStashPop(handle: Uint8Array): Promise< | 
| 1174 | 
            +
            	e2eiEnrollmentStashPop(handle: Uint8Array): Promise<E2eiEnrollment>;
         | 
| 1123 1175 | 
             
            	/**
         | 
| 1124 1176 | 
             
            	 * Indicates when to mark a conversation as degraded i.e. when not all its members have a X509.
         | 
| 1125 1177 | 
             
            	 * Credential generated by Wire's end-to-end identity enrollment
         | 
| @@ -1132,9 +1184,18 @@ export declare class CoreCrypto { | |
| 1132 1184 | 
             
            	 * Returns true when end-to-end-identity is enabled for the given Ciphersuite
         | 
| 1133 1185 | 
             
            	 *
         | 
| 1134 1186 | 
             
            	 * @param ciphersuite of the credential to check
         | 
| 1135 | 
            -
            	 * @returns true end-to-end identity is enabled for the given ciphersuite
         | 
| 1187 | 
            +
            	 * @returns true if end-to-end identity is enabled for the given ciphersuite
         | 
| 1136 1188 | 
             
            	 */
         | 
| 1137 1189 | 
             
            	e2eiIsEnabled(ciphersuite: Ciphersuite): Promise<boolean>;
         | 
| 1190 | 
            +
            	/**
         | 
| 1191 | 
            +
            	 * From a given conversation, get the identity of the members supplied. Identity is only present for members with a
         | 
| 1192 | 
            +
            	 * Certificate Credential (after turning on end-to-end identity).
         | 
| 1193 | 
            +
            	 *
         | 
| 1194 | 
            +
            	 * @param conversationId - identifier of the conversation
         | 
| 1195 | 
            +
            	 * @param clientIds - identifiers of the user
         | 
| 1196 | 
            +
            	 * @returns identities or if no member has a x509 certificate, it will return an empty List
         | 
| 1197 | 
            +
            	 */
         | 
| 1198 | 
            +
            	getUserIdentities(conversationId: ConversationId, clientIds: ClientId[]): Promise<WireIdentity[]>;
         | 
| 1138 1199 | 
             
            	/**
         | 
| 1139 1200 | 
             
            	 * Returns the current version of {@link CoreCrypto}
         | 
| 1140 1201 | 
             
            	 *
         | 
| @@ -1143,7 +1204,7 @@ export declare class CoreCrypto { | |
| 1143 1204 | 
             
            	static version(): string;
         | 
| 1144 1205 | 
             
            }
         | 
| 1145 1206 | 
             
            type JsonRawData = Uint8Array;
         | 
| 1146 | 
            -
            export declare class  | 
| 1207 | 
            +
            export declare class E2eiEnrollment {
         | 
| 1147 1208 | 
             
            	#private;
         | 
| 1148 1209 | 
             
            	/** @hidden */
         | 
| 1149 1210 | 
             
            	constructor(e2ei: unknown);
         | 
| @@ -1252,7 +1313,7 @@ export declare class WireE2eIdentity { | |
| 1252 1313 | 
             
            	 * Parses the response from `POST /acme/{provisioner-name}/order/{order-id}`.
         | 
| 1253 1314 | 
             
            	 *
         | 
| 1254 1315 | 
             
            	 * @param order HTTP response body
         | 
| 1255 | 
            -
            	 * @return  | 
| 1316 | 
            +
            	 * @return finalize url to use with {@link finalizeRequest}
         | 
| 1256 1317 | 
             
            	 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
         | 
| 1257 1318 | 
             
            	 */
         | 
| 1258 1319 | 
             
            	checkOrderResponse(order: JsonRawData): string;
         | 
| @@ -234,12 +234,12 @@ function makeMutClosure(arg0, arg1, dtor, f) { | |
| 234 234 | 
             
                return real;
         | 
| 235 235 | 
             
            }
         | 
| 236 236 | 
             
            function __wbg_adapter_52(arg0, arg1, arg2) {
         | 
| 237 | 
            -
                wasm$1. | 
| 237 | 
            +
                wasm$1.wasm_bindgen__convert__closures__invoke1_mut__hdb6540dbb26cf63b(arg0, arg1, addHeapObject(arg2));
         | 
| 238 238 | 
             
            }
         | 
| 239 239 | 
             
            function __wbg_adapter_55(arg0, arg1, arg2) {
         | 
| 240 240 | 
             
                try {
         | 
| 241 241 | 
             
                    const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 242 | 
            -
                    wasm$1. | 
| 242 | 
            +
                    wasm$1.wasm_bindgen__convert__closures__invoke1_mut__h5e436dc96f7334f7(retptr, arg0, arg1, addHeapObject(arg2));
         | 
| 243 243 | 
             
                    var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 244 244 | 
             
                    var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 245 245 | 
             
                    if (r1) {
         | 
| @@ -313,8 +313,8 @@ function handleError(f, args) { | |
| 313 313 | 
             
                    wasm$1.__wbindgen_exn_store(addHeapObject(e));
         | 
| 314 314 | 
             
                }
         | 
| 315 315 | 
             
            }
         | 
| 316 | 
            -
            function  | 
| 317 | 
            -
                wasm$1. | 
| 316 | 
            +
            function __wbg_adapter_310(arg0, arg1, arg2, arg3) {
         | 
| 317 | 
            +
                wasm$1.wasm_bindgen__convert__closures__invoke2_mut__h5286c52f12e3fed2(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
         | 
| 318 318 | 
             
            }
         | 
| 319 319 | 
             
            /**
         | 
| 320 320 | 
             
            * see [core_crypto::prelude::MlsWirePolicy]
         | 
| @@ -554,6 +554,83 @@ class AcmeDirectory { | |
| 554 554 | 
             
                }
         | 
| 555 555 | 
             
            }
         | 
| 556 556 | 
             
            /**
         | 
| 557 | 
            +
            * to avoid recursion
         | 
| 558 | 
            +
            */
         | 
| 559 | 
            +
            class BufferedDecryptedMessage {
         | 
| 560 | 
            +
                static __wrap(ptr) {
         | 
| 561 | 
            +
                    ptr = ptr >>> 0;
         | 
| 562 | 
            +
                    const obj = Object.create(BufferedDecryptedMessage.prototype);
         | 
| 563 | 
            +
                    obj.__wbg_ptr = ptr;
         | 
| 564 | 
            +
                    return obj;
         | 
| 565 | 
            +
                }
         | 
| 566 | 
            +
                __destroy_into_raw() {
         | 
| 567 | 
            +
                    const ptr = this.__wbg_ptr;
         | 
| 568 | 
            +
                    this.__wbg_ptr = 0;
         | 
| 569 | 
            +
                    return ptr;
         | 
| 570 | 
            +
                }
         | 
| 571 | 
            +
                free() {
         | 
| 572 | 
            +
                    const ptr = this.__destroy_into_raw();
         | 
| 573 | 
            +
                    wasm$1.__wbg_buffereddecryptedmessage_free(ptr);
         | 
| 574 | 
            +
                }
         | 
| 575 | 
            +
                /**
         | 
| 576 | 
            +
                * @returns {any}
         | 
| 577 | 
            +
                */
         | 
| 578 | 
            +
                get message() {
         | 
| 579 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_message(this.__wbg_ptr);
         | 
| 580 | 
            +
                    return takeObject(ret);
         | 
| 581 | 
            +
                }
         | 
| 582 | 
            +
                /**
         | 
| 583 | 
            +
                * @returns {Array<any>}
         | 
| 584 | 
            +
                */
         | 
| 585 | 
            +
                get proposals() {
         | 
| 586 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_proposals(this.__wbg_ptr);
         | 
| 587 | 
            +
                    return takeObject(ret);
         | 
| 588 | 
            +
                }
         | 
| 589 | 
            +
                /**
         | 
| 590 | 
            +
                * @returns {boolean}
         | 
| 591 | 
            +
                */
         | 
| 592 | 
            +
                get is_active() {
         | 
| 593 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_is_active(this.__wbg_ptr);
         | 
| 594 | 
            +
                    return ret !== 0;
         | 
| 595 | 
            +
                }
         | 
| 596 | 
            +
                /**
         | 
| 597 | 
            +
                * @returns {number | undefined}
         | 
| 598 | 
            +
                */
         | 
| 599 | 
            +
                get commit_delay() {
         | 
| 600 | 
            +
                    try {
         | 
| 601 | 
            +
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 602 | 
            +
                        wasm$1.buffereddecryptedmessage_commit_delay(retptr, this.__wbg_ptr);
         | 
| 603 | 
            +
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 604 | 
            +
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 605 | 
            +
                        return r0 === 0 ? undefined : r1 >>> 0;
         | 
| 606 | 
            +
                    }
         | 
| 607 | 
            +
                    finally {
         | 
| 608 | 
            +
                        wasm$1.__wbindgen_add_to_stack_pointer(16);
         | 
| 609 | 
            +
                    }
         | 
| 610 | 
            +
                }
         | 
| 611 | 
            +
                /**
         | 
| 612 | 
            +
                * @returns {any}
         | 
| 613 | 
            +
                */
         | 
| 614 | 
            +
                get sender_client_id() {
         | 
| 615 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_sender_client_id(this.__wbg_ptr);
         | 
| 616 | 
            +
                    return takeObject(ret);
         | 
| 617 | 
            +
                }
         | 
| 618 | 
            +
                /**
         | 
| 619 | 
            +
                * @returns {boolean}
         | 
| 620 | 
            +
                */
         | 
| 621 | 
            +
                get has_epoch_changed() {
         | 
| 622 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_has_epoch_changed(this.__wbg_ptr);
         | 
| 623 | 
            +
                    return ret !== 0;
         | 
| 624 | 
            +
                }
         | 
| 625 | 
            +
                /**
         | 
| 626 | 
            +
                * @returns {WireIdentity | undefined}
         | 
| 627 | 
            +
                */
         | 
| 628 | 
            +
                get identity() {
         | 
| 629 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_identity(this.__wbg_ptr);
         | 
| 630 | 
            +
                    return ret === 0 ? undefined : WireIdentity.__wrap(ret);
         | 
| 631 | 
            +
                }
         | 
| 632 | 
            +
            }
         | 
| 633 | 
            +
            /**
         | 
| 557 634 | 
             
            */
         | 
| 558 635 | 
             
            class CommitBundle {
         | 
| 559 636 | 
             
                static __wrap(ptr) {
         | 
| @@ -691,7 +768,7 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 691 768 | 
             
                    wasm$1.__wbg_corecrypto_free(ptr);
         | 
| 692 769 | 
             
                }
         | 
| 693 770 | 
             
                /**
         | 
| 694 | 
            -
                * Returns: [`WasmCryptoResult< | 
| 771 | 
            +
                * Returns: [`WasmCryptoResult<E2eiEnrollment>`]
         | 
| 695 772 | 
             
                *
         | 
| 696 773 | 
             
                * see [core_crypto::mls::MlsCentral::e2ei_new_enrollment]
         | 
| 697 774 | 
             
                * @param {string} client_id
         | 
| @@ -712,7 +789,7 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 712 789 | 
             
                    return takeObject(ret);
         | 
| 713 790 | 
             
                }
         | 
| 714 791 | 
             
                /**
         | 
| 715 | 
            -
                * Returns: [`WasmCryptoResult< | 
| 792 | 
            +
                * Returns: [`WasmCryptoResult<E2eiEnrollment>`]
         | 
| 716 793 | 
             
                *
         | 
| 717 794 | 
             
                * see [core_crypto::mls::MlsCentral::e2ei_new_activation_enrollment]
         | 
| 718 795 | 
             
                * @param {string} client_id
         | 
| @@ -733,7 +810,7 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 733 810 | 
             
                    return takeObject(ret);
         | 
| 734 811 | 
             
                }
         | 
| 735 812 | 
             
                /**
         | 
| 736 | 
            -
                * Returns: [`WasmCryptoResult< | 
| 813 | 
            +
                * Returns: [`WasmCryptoResult<E2eiEnrollment>`]
         | 
| 737 814 | 
             
                *
         | 
| 738 815 | 
             
                * see [core_crypto::mls::MlsCentral::e2ei_new_rotate_enrollment]
         | 
| 739 816 | 
             
                * @param {string} client_id
         | 
| @@ -829,6 +906,22 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 829 906 | 
             
                    return takeObject(ret);
         | 
| 830 907 | 
             
                }
         | 
| 831 908 | 
             
                /**
         | 
| 909 | 
            +
                * Returns [`WasmCryptoResult<Vec<WireIdentity>>`]
         | 
| 910 | 
            +
                *
         | 
| 911 | 
            +
                * see [core_crypto::mls::MlsCentral::get_user_identities]
         | 
| 912 | 
            +
                * @param {Uint8Array} conversation_id
         | 
| 913 | 
            +
                * @param {(Uint8Array)[]} client_ids
         | 
| 914 | 
            +
                * @returns {Promise<any>}
         | 
| 915 | 
            +
                */
         | 
| 916 | 
            +
                get_user_identities(conversation_id, client_ids) {
         | 
| 917 | 
            +
                    const ptr0 = passArray8ToWasm0(conversation_id, wasm$1.__wbindgen_malloc);
         | 
| 918 | 
            +
                    const len0 = WASM_VECTOR_LEN;
         | 
| 919 | 
            +
                    const ptr1 = passArrayJsValueToWasm0(client_ids, wasm$1.__wbindgen_malloc);
         | 
| 920 | 
            +
                    const len1 = WASM_VECTOR_LEN;
         | 
| 921 | 
            +
                    const ret = wasm$1.corecrypto_get_user_identities(this.__wbg_ptr, ptr0, len0, ptr1, len1);
         | 
| 922 | 
            +
                    return takeObject(ret);
         | 
| 923 | 
            +
                }
         | 
| 924 | 
            +
                /**
         | 
| 832 925 | 
             
                * Returns the current version of CoreCrypto
         | 
| 833 926 | 
             
                * @returns {string}
         | 
| 834 927 | 
             
                */
         | 
| @@ -1766,14 +1859,14 @@ class DecryptedMessage { | |
| 1766 1859 | 
             
                * @returns {any}
         | 
| 1767 1860 | 
             
                */
         | 
| 1768 1861 | 
             
                get message() {
         | 
| 1769 | 
            -
                    const ret = wasm$1. | 
| 1862 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_message(this.__wbg_ptr);
         | 
| 1770 1863 | 
             
                    return takeObject(ret);
         | 
| 1771 1864 | 
             
                }
         | 
| 1772 1865 | 
             
                /**
         | 
| 1773 1866 | 
             
                * @returns {Array<any>}
         | 
| 1774 1867 | 
             
                */
         | 
| 1775 1868 | 
             
                get proposals() {
         | 
| 1776 | 
            -
                    const ret = wasm$1. | 
| 1869 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_proposals(this.__wbg_ptr);
         | 
| 1777 1870 | 
             
                    return takeObject(ret);
         | 
| 1778 1871 | 
             
                }
         | 
| 1779 1872 | 
             
                /**
         | 
| @@ -1789,7 +1882,7 @@ class DecryptedMessage { | |
| 1789 1882 | 
             
                get commit_delay() {
         | 
| 1790 1883 | 
             
                    try {
         | 
| 1791 1884 | 
             
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 1792 | 
            -
                        wasm$1. | 
| 1885 | 
            +
                        wasm$1.buffereddecryptedmessage_commit_delay(retptr, this.__wbg_ptr);
         | 
| 1793 1886 | 
             
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 1794 1887 | 
             
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 1795 1888 | 
             
                        return r0 === 0 ? undefined : r1 >>> 0;
         | 
| @@ -1802,7 +1895,7 @@ class DecryptedMessage { | |
| 1802 1895 | 
             
                * @returns {any}
         | 
| 1803 1896 | 
             
                */
         | 
| 1804 1897 | 
             
                get sender_client_id() {
         | 
| 1805 | 
            -
                    const ret = wasm$1. | 
| 1898 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_sender_client_id(this.__wbg_ptr);
         | 
| 1806 1899 | 
             
                    return takeObject(ret);
         | 
| 1807 1900 | 
             
                }
         | 
| 1808 1901 | 
             
                /**
         | 
| @@ -1816,9 +1909,16 @@ class DecryptedMessage { | |
| 1816 1909 | 
             
                * @returns {WireIdentity | undefined}
         | 
| 1817 1910 | 
             
                */
         | 
| 1818 1911 | 
             
                get identity() {
         | 
| 1819 | 
            -
                    const ret = wasm$1. | 
| 1912 | 
            +
                    const ret = wasm$1.buffereddecryptedmessage_identity(this.__wbg_ptr);
         | 
| 1820 1913 | 
             
                    return ret === 0 ? undefined : WireIdentity.__wrap(ret);
         | 
| 1821 1914 | 
             
                }
         | 
| 1915 | 
            +
                /**
         | 
| 1916 | 
            +
                * @returns {Array<any> | undefined}
         | 
| 1917 | 
            +
                */
         | 
| 1918 | 
            +
                get buffered_messages() {
         | 
| 1919 | 
            +
                    const ret = wasm$1.decryptedmessage_buffered_messages(this.__wbg_ptr);
         | 
| 1920 | 
            +
                    return takeObject(ret);
         | 
| 1921 | 
            +
                }
         | 
| 1822 1922 | 
             
            }
         | 
| 1823 1923 | 
             
            /**
         | 
| 1824 1924 | 
             
            */
         | 
| @@ -2869,18 +2969,14 @@ function __wbg_get_imports() { | |
| 2869 2969 | 
             
                    const ret = getObject(arg0).length;
         | 
| 2870 2970 | 
             
                    return ret;
         | 
| 2871 2971 | 
             
                };
         | 
| 2872 | 
            -
                imports.wbg.__wbg_new_8125e318e6245eed = function (arg0) {
         | 
| 2873 | 
            -
                    const ret = new Uint8Array(getObject(arg0));
         | 
| 2874 | 
            -
                    return addHeapObject(ret);
         | 
| 2875 | 
            -
                };
         | 
| 2876 2972 | 
             
                imports.wbg.__wbg_call_01734de55d61e11d = function () {
         | 
| 2877 2973 | 
             
                    return handleError(function (arg0, arg1, arg2) {
         | 
| 2878 2974 | 
             
                        const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
         | 
| 2879 2975 | 
             
                        return addHeapObject(ret);
         | 
| 2880 2976 | 
             
                    }, arguments);
         | 
| 2881 2977 | 
             
                };
         | 
| 2882 | 
            -
                imports.wbg. | 
| 2883 | 
            -
                    const ret = new  | 
| 2978 | 
            +
                imports.wbg.__wbg_new_8125e318e6245eed = function (arg0) {
         | 
| 2979 | 
            +
                    const ret = new Uint8Array(getObject(arg0));
         | 
| 2884 2980 | 
             
                    return addHeapObject(ret);
         | 
| 2885 2981 | 
             
                };
         | 
| 2886 2982 | 
             
                imports.wbg.__wbg_new_898a68150f225f2e = function () {
         | 
| @@ -2890,26 +2986,33 @@ function __wbg_get_imports() { | |
| 2890 2986 | 
             
                imports.wbg.__wbg_set_502d29070ea18557 = function (arg0, arg1, arg2) {
         | 
| 2891 2987 | 
             
                    getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
         | 
| 2892 2988 | 
             
                };
         | 
| 2989 | 
            +
                imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
         | 
| 2990 | 
            +
                    const ret = FfiWireE2EIdentity.__wrap(arg0);
         | 
| 2991 | 
            +
                    return addHeapObject(ret);
         | 
| 2992 | 
            +
                };
         | 
| 2993 | 
            +
                imports.wbg.__wbg_push_ca1c26067ef907ac = function (arg0, arg1) {
         | 
| 2994 | 
            +
                    const ret = getObject(arg0).push(getObject(arg1));
         | 
| 2995 | 
            +
                    return ret;
         | 
| 2996 | 
            +
                };
         | 
| 2893 2997 | 
             
                imports.wbg.__wbindgen_bigint_from_u64 = function (arg0) {
         | 
| 2894 2998 | 
             
                    const ret = BigInt.asUintN(64, arg0);
         | 
| 2895 2999 | 
             
                    return addHeapObject(ret);
         | 
| 2896 3000 | 
             
                };
         | 
| 2897 | 
            -
                imports.wbg. | 
| 2898 | 
            -
                    const ret =  | 
| 3001 | 
            +
                imports.wbg.__wbg_new_b51585de1b234aff = function () {
         | 
| 3002 | 
            +
                    const ret = new Object();
         | 
| 2899 3003 | 
             
                    return addHeapObject(ret);
         | 
| 2900 3004 | 
             
                };
         | 
| 2901 | 
            -
                imports.wbg. | 
| 2902 | 
            -
                     | 
| 3005 | 
            +
                imports.wbg.__wbg_set_841ac57cff3d672b = function (arg0, arg1, arg2) {
         | 
| 3006 | 
            +
                    getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
         | 
| 3007 | 
            +
                };
         | 
| 3008 | 
            +
                imports.wbg.__wbindgen_number_new = function (arg0) {
         | 
| 3009 | 
            +
                    const ret = arg0;
         | 
| 2903 3010 | 
             
                    return addHeapObject(ret);
         | 
| 2904 3011 | 
             
                };
         | 
| 2905 3012 | 
             
                imports.wbg.__wbg_proteusautoprekeybundle_new = function (arg0) {
         | 
| 2906 3013 | 
             
                    const ret = ProteusAutoPrekeyBundle.__wrap(arg0);
         | 
| 2907 3014 | 
             
                    return addHeapObject(ret);
         | 
| 2908 3015 | 
             
                };
         | 
| 2909 | 
            -
                imports.wbg.__wbg_push_ca1c26067ef907ac = function (arg0, arg1) {
         | 
| 2910 | 
            -
                    const ret = getObject(arg0).push(getObject(arg1));
         | 
| 2911 | 
            -
                    return ret;
         | 
| 2912 | 
            -
                };
         | 
| 2913 3016 | 
             
                imports.wbg.__wbg_new_56693dbed0c32988 = function () {
         | 
| 2914 3017 | 
             
                    const ret = new Map();
         | 
| 2915 3018 | 
             
                    return addHeapObject(ret);
         | 
| @@ -2922,18 +3025,18 @@ function __wbg_get_imports() { | |
| 2922 3025 | 
             
                    const ret = new Error(getStringFromWasm0(arg0, arg1));
         | 
| 2923 3026 | 
             
                    return addHeapObject(ret);
         | 
| 2924 3027 | 
             
                };
         | 
| 2925 | 
            -
                imports.wbg.__wbg_openCursor_555d508ba71b21cc = function () {
         | 
| 2926 | 
            -
                    return handleError(function (arg0, arg1) {
         | 
| 2927 | 
            -
                        const ret = getObject(arg0).openCursor(getObject(arg1));
         | 
| 2928 | 
            -
                        return addHeapObject(ret);
         | 
| 2929 | 
            -
                    }, arguments);
         | 
| 2930 | 
            -
                };
         | 
| 2931 3028 | 
             
                imports.wbg.__wbg_openCursor_4d6f62b69b34be26 = function () {
         | 
| 2932 3029 | 
             
                    return handleError(function (arg0) {
         | 
| 2933 3030 | 
             
                        const ret = getObject(arg0).openCursor();
         | 
| 2934 3031 | 
             
                        return addHeapObject(ret);
         | 
| 2935 3032 | 
             
                    }, arguments);
         | 
| 2936 3033 | 
             
                };
         | 
| 3034 | 
            +
                imports.wbg.__wbg_openCursor_555d508ba71b21cc = function () {
         | 
| 3035 | 
            +
                    return handleError(function (arg0, arg1) {
         | 
| 3036 | 
            +
                        const ret = getObject(arg0).openCursor(getObject(arg1));
         | 
| 3037 | 
            +
                        return addHeapObject(ret);
         | 
| 3038 | 
            +
                    }, arguments);
         | 
| 3039 | 
            +
                };
         | 
| 2937 3040 | 
             
                imports.wbg.__wbg_setonsuccess_f518a37d8228a576 = function (arg0, arg1) {
         | 
| 2938 3041 | 
             
                    getObject(arg0).onsuccess = getObject(arg1);
         | 
| 2939 3042 | 
             
                };
         | 
| @@ -2990,9 +3093,6 @@ function __wbg_get_imports() { | |
| 2990 3093 | 
             
                    const ret = CoreCrypto$1.__wrap(arg0);
         | 
| 2991 3094 | 
             
                    return addHeapObject(ret);
         | 
| 2992 3095 | 
             
                };
         | 
| 2993 | 
            -
                imports.wbg.__wbg_set_841ac57cff3d672b = function (arg0, arg1, arg2) {
         | 
| 2994 | 
            -
                    getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
         | 
| 2995 | 
            -
                };
         | 
| 2996 3096 | 
             
                imports.wbg.__wbg_instanceof_Promise_0e98a5bf082e090f = function (arg0) {
         | 
| 2997 3097 | 
             
                    let result;
         | 
| 2998 3098 | 
             
                    try {
         | 
| @@ -3044,7 +3144,7 @@ function __wbg_get_imports() { | |
| 3044 3144 | 
             
                            const a = state0.a;
         | 
| 3045 3145 | 
             
                            state0.a = 0;
         | 
| 3046 3146 | 
             
                            try {
         | 
| 3047 | 
            -
                                return  | 
| 3147 | 
            +
                                return __wbg_adapter_310(a, state0.b, arg0, arg1);
         | 
| 3048 3148 | 
             
                            }
         | 
| 3049 3149 | 
             
                            finally {
         | 
| 3050 3150 | 
             
                                state0.a = a;
         | 
| @@ -3069,6 +3169,10 @@ function __wbg_get_imports() { | |
| 3069 3169 | 
             
                    const ret = ProposalBundle.__wrap(arg0);
         | 
| 3070 3170 | 
             
                    return addHeapObject(ret);
         | 
| 3071 3171 | 
             
                };
         | 
| 3172 | 
            +
                imports.wbg.__wbg_buffereddecryptedmessage_new = function (arg0) {
         | 
| 3173 | 
            +
                    const ret = BufferedDecryptedMessage.__wrap(arg0);
         | 
| 3174 | 
            +
                    return addHeapObject(ret);
         | 
| 3175 | 
            +
                };
         | 
| 3072 3176 | 
             
                imports.wbg.__wbg_commitbundle_new = function (arg0) {
         | 
| 3073 3177 | 
             
                    const ret = CommitBundle.__wrap(arg0);
         | 
| 3074 3178 | 
             
                    return addHeapObject(ret);
         | 
| @@ -3142,18 +3246,18 @@ function __wbg_get_imports() { | |
| 3142 3246 | 
             
                    const ret = Date.now();
         | 
| 3143 3247 | 
             
                    return ret;
         | 
| 3144 3248 | 
             
                };
         | 
| 3145 | 
            -
                imports.wbg.__wbg_put_fb32824d87feec5c = function () {
         | 
| 3146 | 
            -
                    return handleError(function (arg0, arg1, arg2) {
         | 
| 3147 | 
            -
                        const ret = getObject(arg0).put(getObject(arg1), getObject(arg2));
         | 
| 3148 | 
            -
                        return addHeapObject(ret);
         | 
| 3149 | 
            -
                    }, arguments);
         | 
| 3150 | 
            -
                };
         | 
| 3151 3249 | 
             
                imports.wbg.__wbg_put_d6937bc51f51a398 = function () {
         | 
| 3152 3250 | 
             
                    return handleError(function (arg0, arg1) {
         | 
| 3153 3251 | 
             
                        const ret = getObject(arg0).put(getObject(arg1));
         | 
| 3154 3252 | 
             
                        return addHeapObject(ret);
         | 
| 3155 3253 | 
             
                    }, arguments);
         | 
| 3156 3254 | 
             
                };
         | 
| 3255 | 
            +
                imports.wbg.__wbg_put_fb32824d87feec5c = function () {
         | 
| 3256 | 
            +
                    return handleError(function (arg0, arg1, arg2) {
         | 
| 3257 | 
            +
                        const ret = getObject(arg0).put(getObject(arg1), getObject(arg2));
         | 
| 3258 | 
            +
                        return addHeapObject(ret);
         | 
| 3259 | 
            +
                    }, arguments);
         | 
| 3260 | 
            +
                };
         | 
| 3157 3261 | 
             
                imports.wbg.__wbg_delete_ca1cfc48f1f7981c = function () {
         | 
| 3158 3262 | 
             
                    return handleError(function (arg0, arg1) {
         | 
| 3159 3263 | 
             
                        const ret = getObject(arg0).delete(getObject(arg1));
         | 
| @@ -3493,12 +3597,12 @@ function __wbg_get_imports() { | |
| 3493 3597 | 
             
                        return addHeapObject(ret);
         | 
| 3494 3598 | 
             
                    }, arguments);
         | 
| 3495 3599 | 
             
                };
         | 
| 3496 | 
            -
                imports.wbg. | 
| 3497 | 
            -
                    const ret = makeMutClosure(arg0, arg1,  | 
| 3600 | 
            +
                imports.wbg.__wbindgen_closure_wrapper1725 = function (arg0, arg1, arg2) {
         | 
| 3601 | 
            +
                    const ret = makeMutClosure(arg0, arg1, 149, __wbg_adapter_52);
         | 
| 3498 3602 | 
             
                    return addHeapObject(ret);
         | 
| 3499 3603 | 
             
                };
         | 
| 3500 | 
            -
                imports.wbg. | 
| 3501 | 
            -
                    const ret = makeMutClosure(arg0, arg1,  | 
| 3604 | 
            +
                imports.wbg.__wbindgen_closure_wrapper4854 = function (arg0, arg1, arg2) {
         | 
| 3605 | 
            +
                    const ret = makeMutClosure(arg0, arg1, 149, __wbg_adapter_55);
         | 
| 3502 3606 | 
             
                    return addHeapObject(ret);
         | 
| 3503 3607 | 
             
                };
         | 
| 3504 3608 | 
             
                return imports;
         | 
| @@ -3539,6 +3643,7 @@ var exports = /*#__PURE__*/Object.freeze({ | |
| 3539 3643 | 
             
                __proto__: null,
         | 
| 3540 3644 | 
             
                AcmeChallenge: AcmeChallenge,
         | 
| 3541 3645 | 
             
                AcmeDirectory: AcmeDirectory,
         | 
| 3646 | 
            +
                BufferedDecryptedMessage: BufferedDecryptedMessage,
         | 
| 3542 3647 | 
             
                Ciphersuite: Ciphersuite$1,
         | 
| 3543 3648 | 
             
                CommitBundle: CommitBundle,
         | 
| 3544 3649 | 
             
                ConversationConfiguration: ConversationConfiguration,
         | 
| @@ -3564,26 +3669,35 @@ var exports = /*#__PURE__*/Object.freeze({ | |
| 3564 3669 | 
             
                initSync: initSync
         | 
| 3565 3670 | 
             
            });
         | 
| 3566 3671 |  | 
| 3567 | 
            -
             | 
| 3568 | 
            -
                            let {importHook, serverPath} = opt;
         | 
| 3672 | 
            +
            const wasm_path = "assets/core_crypto_ffi-ded089fb.wasm";
         | 
| 3569 3673 |  | 
| 3570 | 
            -
             | 
| 3674 | 
            +
                        
         | 
| 3675 | 
            +
                        var wasm = async (opt = {}) => {
         | 
| 3676 | 
            +
                            let {importHook, serverPath, initializeHook} = opt;
         | 
| 3677 | 
            +
             | 
| 3678 | 
            +
                            let final_path = wasm_path;
         | 
| 3571 3679 |  | 
| 3572 3680 | 
             
                            if (serverPath != null) {
         | 
| 3573 | 
            -
                                 | 
| 3681 | 
            +
                                final_path = serverPath + /[^\/\\]*$/.exec(final_path)[0];
         | 
| 3574 3682 | 
             
                            }
         | 
| 3575 3683 |  | 
| 3576 3684 | 
             
                            if (importHook != null) {
         | 
| 3577 | 
            -
                                 | 
| 3685 | 
            +
                                final_path = importHook(final_path);
         | 
| 3686 | 
            +
                            }
         | 
| 3687 | 
            +
             | 
| 3688 | 
            +
                            if (initializeHook != null) {
         | 
| 3689 | 
            +
                                await initializeHook(__wbg_init, final_path);
         | 
| 3690 | 
            +
             | 
| 3691 | 
            +
                            } else {
         | 
| 3692 | 
            +
                                await __wbg_init(final_path);
         | 
| 3578 3693 | 
             
                            }
         | 
| 3579 3694 |  | 
| 3580 | 
            -
                            await __wbg_init(path);
         | 
| 3581 3695 | 
             
                            return exports;
         | 
| 3582 3696 | 
             
                        };
         | 
| 3583 3697 |  | 
| 3584 3698 | 
             
            // Wire
         | 
| 3585 3699 | 
             
            // Copyright (C) 2022 Wire Swiss GmbH
         | 
| 3586 | 
            -
            var _a, _CoreCrypto_module, _CoreCrypto_cc, _CoreCrypto_assertModuleLoaded,  | 
| 3700 | 
            +
            var _a, _CoreCrypto_module, _CoreCrypto_cc, _CoreCrypto_assertModuleLoaded, _E2eiEnrollment_enrollment;
         | 
| 3587 3701 | 
             
            /**
         | 
| 3588 3702 | 
             
             * Error wrapper that takes care of extracting rich error details across the FFI (through JSON parsing)
         | 
| 3589 3703 | 
             
             *
         | 
| @@ -3891,7 +4005,7 @@ class CoreCrypto { | |
| 3891 4005 | 
             
                /**
         | 
| 3892 4006 | 
             
                 * Closes this {@link CoreCrypto} instance and deallocates all loaded resources
         | 
| 3893 4007 | 
             
                 *
         | 
| 3894 | 
            -
                 * **CAUTION**: This {@link CoreCrypto} instance won't be  | 
| 4008 | 
            +
                 * **CAUTION**: This {@link CoreCrypto} instance won't be usable after a call to this method, but there's no way to express this requirement in TypeScript, so you'll get errors instead!
         | 
| 3895 4009 | 
             
                 */
         | 
| 3896 4010 | 
             
                async close() {
         | 
| 3897 4011 | 
             
                    await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").close());
         | 
| @@ -3985,7 +4099,12 @@ class CoreCrypto { | |
| 3985 4099 | 
             
                    }
         | 
| 3986 4100 | 
             
                }
         | 
| 3987 4101 | 
             
                /**
         | 
| 3988 | 
            -
                 * Decrypts a message for a given conversation
         | 
| 4102 | 
            +
                 * Decrypts a message for a given conversation.
         | 
| 4103 | 
            +
                 *
         | 
| 4104 | 
            +
                 * Note: you should catch & ignore the following error reasons:
         | 
| 4105 | 
            +
                 * * "We already decrypted this message once"
         | 
| 4106 | 
            +
                 * * "You tried to join with an external commit but did not merge it yet. We will reapply this message for you when you merge your external commit"
         | 
| 4107 | 
            +
                 * * "Incoming message is for a future epoch. We will buffer it until the commit for that epoch arrives"
         | 
| 3989 4108 | 
             
                 *
         | 
| 3990 4109 | 
             
                 * @param conversationId - The ID of the conversation
         | 
| 3991 4110 | 
             
                 * @param payload - The encrypted message buffer
         | 
| @@ -4010,6 +4129,16 @@ class CoreCrypto { | |
| 4010 4129 | 
             
                            senderClientId: ffiDecryptedMessage.sender_client_id,
         | 
| 4011 4130 | 
             
                            commitDelay,
         | 
| 4012 4131 | 
             
                            hasEpochChanged: ffiDecryptedMessage.has_epoch_changed,
         | 
| 4132 | 
            +
                            bufferedMessages: ffiDecryptedMessage.buffered_messages?.map(m => {
         | 
| 4133 | 
            +
                                return {
         | 
| 4134 | 
            +
                                    message: m.message,
         | 
| 4135 | 
            +
                                    proposals: m.proposals,
         | 
| 4136 | 
            +
                                    isActive: m.is_active,
         | 
| 4137 | 
            +
                                    senderClientId: m.sender_client_id,
         | 
| 4138 | 
            +
                                    commitDelay: m.commit_delay,
         | 
| 4139 | 
            +
                                    hasEpochChanged: m.has_epoch_changed,
         | 
| 4140 | 
            +
                                };
         | 
| 4141 | 
            +
                            }),
         | 
| 4013 4142 | 
             
                        };
         | 
| 4014 4143 | 
             
                        return ret;
         | 
| 4015 4144 | 
             
                    }
         | 
| @@ -4043,7 +4172,7 @@ class CoreCrypto { | |
| 4043 4172 | 
             
                 *
         | 
| 4044 4173 | 
             
                 * @returns A {@link CommitBundle}
         | 
| 4045 4174 | 
             
                 */
         | 
| 4046 | 
            -
                async  | 
| 4175 | 
            +
                async updateTrustAnchorsFromConversation(conversationId, removeDomainNames, addTrustAnchors) {
         | 
| 4047 4176 | 
             
                    try {
         | 
| 4048 4177 | 
             
                        const ffiRet = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").update_trust_anchors_from_conversation(conversationId, removeDomainNames, addTrustAnchors));
         | 
| 4049 4178 | 
             
                        const gi = ffiRet.group_info;
         | 
| @@ -4084,7 +4213,10 @@ class CoreCrypto { | |
| 4084 4213 | 
             
                    }
         | 
| 4085 4214 | 
             
                }
         | 
| 4086 4215 | 
             
                /**
         | 
| 4087 | 
            -
                 *  | 
| 4216 | 
            +
                 * Get the client's public signature key. To upload to the DS for further backend side validation
         | 
| 4217 | 
            +
                 *
         | 
| 4218 | 
            +
                 * @param ciphersuite - of the signature key to get
         | 
| 4219 | 
            +
                 * @returns the client's public signature key
         | 
| 4088 4220 | 
             
                 */
         | 
| 4089 4221 | 
             
                async clientPublicKey(ciphersuite) {
         | 
| 4090 4222 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").client_public_key(ciphersuite));
         | 
| @@ -4121,7 +4253,7 @@ class CoreCrypto { | |
| 4121 4253 | 
             
                /**
         | 
| 4122 4254 | 
             
                 * Adds new clients to a conversation, assuming the current client has the right to add new clients to the conversation.
         | 
| 4123 4255 | 
             
                 *
         | 
| 4124 | 
            -
                 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called  | 
| 4256 | 
            +
                 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
         | 
| 4125 4257 | 
             
                 * '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
         | 
| 4126 4258 | 
             
                 * epoch, use new encryption secrets etc...
         | 
| 4127 4259 | 
             
                 *
         | 
| @@ -4155,7 +4287,7 @@ class CoreCrypto { | |
| 4155 4287 | 
             
                 * Removes the provided clients from a conversation; Assuming those clients exist and the current client is allowed
         | 
| 4156 4288 | 
             
                 * to do so, otherwise this operation does nothing.
         | 
| 4157 4289 | 
             
                 *
         | 
| 4158 | 
            -
                 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called  | 
| 4290 | 
            +
                 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
         | 
| 4159 4291 | 
             
                 * '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
         | 
| 4160 4292 | 
             
                 * epoch, use new encryption secrets etc...
         | 
| 4161 4293 | 
             
                 *
         | 
| @@ -4184,9 +4316,9 @@ class CoreCrypto { | |
| 4184 4316 | 
             
                    }
         | 
| 4185 4317 | 
             
                }
         | 
| 4186 4318 | 
             
                /**
         | 
| 4187 | 
            -
                 * Creates an update commit which forces every client to update their  | 
| 4319 | 
            +
                 * Creates an update commit which forces every client to update their LeafNode in the conversation
         | 
| 4188 4320 | 
             
                 *
         | 
| 4189 | 
            -
                 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called  | 
| 4321 | 
            +
                 * **CAUTION**: {@link CoreCrypto.commitAccepted} **HAS TO** be called afterward **ONLY IF** the Delivery Service responds
         | 
| 4190 4322 | 
             
                 * '200 OK' to the {@link CommitBundle} upload. It will "merge" the commit locally i.e. increment the local group
         | 
| 4191 4323 | 
             
                 * epoch, use new encryption secrets etc...
         | 
| 4192 4324 | 
             
                 *
         | 
| @@ -4274,6 +4406,9 @@ class CoreCrypto { | |
| 4274 4406 | 
             
                            throw new Error("Invalid proposal type!");
         | 
| 4275 4407 | 
             
                    }
         | 
| 4276 4408 | 
             
                }
         | 
| 4409 | 
            +
                /**
         | 
| 4410 | 
            +
                 * Creates a new external Add proposal for self client to join a conversation.
         | 
| 4411 | 
            +
                 */
         | 
| 4277 4412 | 
             
                async newExternalProposal(externalProposalType, args) {
         | 
| 4278 4413 | 
             
                    switch (externalProposalType) {
         | 
| 4279 4414 | 
             
                        case ExternalProposalType.Add: {
         | 
| @@ -4327,6 +4462,7 @@ class CoreCrypto { | |
| 4327 4462 | 
             
                 * and deletes the temporary one. This step makes the group operational and ready to encrypt/decrypt message
         | 
| 4328 4463 | 
             
                 *
         | 
| 4329 4464 | 
             
                 * @param conversationId - The ID of the conversation
         | 
| 4465 | 
            +
                 * @returns eventually decrypted buffered messages if any
         | 
| 4330 4466 | 
             
                 */
         | 
| 4331 4467 | 
             
                async mergePendingGroupFromExternalCommit(conversationId) {
         | 
| 4332 4468 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").merge_pending_group_from_external_commit(conversationId));
         | 
| @@ -4342,20 +4478,19 @@ class CoreCrypto { | |
| 4342 4478 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").clear_pending_group_from_external_commit(conversationId));
         | 
| 4343 4479 | 
             
                }
         | 
| 4344 4480 | 
             
                /**
         | 
| 4345 | 
            -
                 * Allows to mark the latest commit produced as "accepted" and be able to safely merge it
         | 
| 4346 | 
            -
                 * into the local group state
         | 
| 4481 | 
            +
                 * Allows to mark the latest commit produced as "accepted" and be able to safely merge it into the local group state
         | 
| 4347 4482 | 
             
                 *
         | 
| 4348 4483 | 
             
                 * @param conversationId - The group's ID
         | 
| 4484 | 
            +
                 * @returns the messages from current epoch which had been buffered, if any
         | 
| 4349 4485 | 
             
                 */
         | 
| 4350 4486 | 
             
                async commitAccepted(conversationId) {
         | 
| 4351 4487 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").commit_accepted(conversationId));
         | 
| 4352 4488 | 
             
                }
         | 
| 4353 4489 | 
             
                /**
         | 
| 4354 | 
            -
                 * Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions
         | 
| 4355 | 
            -
                 * have changed meanwhile.
         | 
| 4490 | 
            +
                 * Allows to remove a pending proposal (rollback). Use this when backend rejects the proposal you just sent e.g. if permissions have changed meanwhile.
         | 
| 4356 4491 | 
             
                 *
         | 
| 4357 4492 | 
             
                 * **CAUTION**: only use this when you had an explicit response from the Delivery Service
         | 
| 4358 | 
            -
                 * e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc | 
| 4493 | 
            +
                 * e.g. 403 or 409. Do not use otherwise e.g. 5xx responses, timeout etc…
         | 
| 4359 4494 | 
             
                 *
         | 
| 4360 4495 | 
             
                 * @param conversationId - The group's ID
         | 
| 4361 4496 | 
             
                 * @param proposalRef - A reference to the proposal to delete. You get one when using {@link CoreCrypto.newProposal}
         | 
| @@ -4364,8 +4499,7 @@ class CoreCrypto { | |
| 4364 4499 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").clear_pending_proposal(conversationId, proposalRef));
         | 
| 4365 4500 | 
             
                }
         | 
| 4366 4501 | 
             
                /**
         | 
| 4367 | 
            -
                 * Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions
         | 
| 4368 | 
            -
                 * have changed meanwhile.
         | 
| 4502 | 
            +
                 * Allows to remove a pending commit (rollback). Use this when backend rejects the commit you just sent e.g. if permissions have changed meanwhile.
         | 
| 4369 4503 | 
             
                 *
         | 
| 4370 4504 | 
             
                 * **CAUTION**: only use this when you had an explicit response from the Delivery Service
         | 
| 4371 4505 | 
             
                 * e.g. 403. Do not use otherwise e.g. 5xx responses, timeout etc..
         | 
| @@ -4422,7 +4556,7 @@ class CoreCrypto { | |
| 4422 4556 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").reseed_rng(seed));
         | 
| 4423 4557 | 
             
                }
         | 
| 4424 4558 | 
             
                /**
         | 
| 4425 | 
            -
                 *  | 
| 4559 | 
            +
                 * Initializes the proteus client
         | 
| 4426 4560 | 
             
                 */
         | 
| 4427 4561 | 
             
                async proteusInit() {
         | 
| 4428 4562 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").proteus_init());
         | 
| @@ -4599,31 +4733,31 @@ class CoreCrypto { | |
| 4599 4733 | 
             
                 * Creates an enrollment instance with private key material you can use in order to fetch
         | 
| 4600 4734 | 
             
                 * a new x509 certificate from the acme server.
         | 
| 4601 4735 | 
             
                 *
         | 
| 4602 | 
            -
                 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 4603 | 
            -
                 * @param displayName human | 
| 4604 | 
            -
                 * @param handle user handle e.g. `alice.smith.qa@example.com`
         | 
| 4605 | 
            -
                 * @param expiryDays generated x509 certificate expiry
         | 
| 4736 | 
            +
                 * @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 4737 | 
            +
                 * @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 4738 | 
            +
                 * @param handle - user handle e.g. `alice.smith.qa@example.com`
         | 
| 4739 | 
            +
                 * @param expiryDays - generated x509 certificate expiry
         | 
| 4606 4740 | 
             
                 * @param ciphersuite - for generating signing key material
         | 
| 4607 | 
            -
                 * @returns The new {@link  | 
| 4741 | 
            +
                 * @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiMlsInitOnly}
         | 
| 4608 4742 | 
             
                 */
         | 
| 4609 4743 | 
             
                async e2eiNewEnrollment(clientId, displayName, handle, expiryDays, ciphersuite) {
         | 
| 4610 4744 | 
             
                    const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_new_enrollment(clientId, displayName, handle, expiryDays, ciphersuite));
         | 
| 4611 | 
            -
                    return new  | 
| 4745 | 
            +
                    return new E2eiEnrollment(e2ei);
         | 
| 4612 4746 | 
             
                }
         | 
| 4613 4747 | 
             
                /**
         | 
| 4614 4748 | 
             
                 * Generates an E2EI enrollment instance for a "regular" client (with a Basic credential) willing to migrate to E2EI.
         | 
| 4615 4749 | 
             
                 * Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
         | 
| 4616 4750 | 
             
                 *
         | 
| 4617 | 
            -
                 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 4618 | 
            -
                 * @param displayName human | 
| 4619 | 
            -
                 * @param handle user handle e.g. `alice.smith.qa@example.com`
         | 
| 4620 | 
            -
                 * @param expiryDays generated x509 certificate expiry
         | 
| 4751 | 
            +
                 * @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 4752 | 
            +
                 * @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 4753 | 
            +
                 * @param handle - user handle e.g. `alice.smith.qa@example.com`
         | 
| 4754 | 
            +
                 * @param expiryDays - generated x509 certificate expiry
         | 
| 4621 4755 | 
             
                 * @param ciphersuite - for generating signing key material
         | 
| 4622 | 
            -
                 * @returns The new {@link  | 
| 4756 | 
            +
                 * @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
         | 
| 4623 4757 | 
             
                 */
         | 
| 4624 4758 | 
             
                async e2eiNewActivationEnrollment(clientId, displayName, handle, expiryDays, ciphersuite) {
         | 
| 4625 4759 | 
             
                    const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_new_activation_enrollment(clientId, displayName, handle, expiryDays, ciphersuite));
         | 
| 4626 | 
            -
                    return new  | 
| 4760 | 
            +
                    return new E2eiEnrollment(e2ei);
         | 
| 4627 4761 | 
             
                }
         | 
| 4628 4762 | 
             
                /**
         | 
| 4629 4763 | 
             
                 * Generates an E2EI enrollment instance for a E2EI client (with a X509 certificate credential)
         | 
| @@ -4631,22 +4765,24 @@ class CoreCrypto { | |
| 4631 4765 | 
             
                 * has been revoked. It lets you change the DisplayName or the handle
         | 
| 4632 4766 | 
             
                 * if you need to. Once the enrollment is finished, use the instance in {@link CoreCrypto.e2eiRotateAll} to do the rotation.
         | 
| 4633 4767 | 
             
                 *
         | 
| 4634 | 
            -
                 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 4635 | 
            -
                 * @param expiryDays generated x509 certificate expiry
         | 
| 4768 | 
            +
                 * @param clientId - client identifier with user b64Url encoded & clientId hex encoded e.g. `NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ:6add501bacd1d90e@example.com`
         | 
| 4769 | 
            +
                 * @param expiryDays - generated x509 certificate expiry
         | 
| 4636 4770 | 
             
                 * @param ciphersuite - for generating signing key material
         | 
| 4637 | 
            -
                 * @param displayName human | 
| 4638 | 
            -
                 * @param handle user handle e.g. `alice.smith.qa@example.com`
         | 
| 4639 | 
            -
                 * @returns The new {@link  | 
| 4771 | 
            +
                 * @param displayName - human-readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 4772 | 
            +
                 * @param handle - user handle e.g. `alice.smith.qa@example.com`
         | 
| 4773 | 
            +
                 * @returns The new {@link E2eiEnrollment} enrollment instance to use with {@link CoreCrypto.e2eiRotateAll}
         | 
| 4640 4774 | 
             
                 */
         | 
| 4641 4775 | 
             
                async e2eiNewRotateEnrollment(clientId, expiryDays, ciphersuite, displayName, handle) {
         | 
| 4642 4776 | 
             
                    const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_new_rotate_enrollment(clientId, displayName, handle, expiryDays, ciphersuite));
         | 
| 4643 | 
            -
                    return new  | 
| 4777 | 
            +
                    return new E2eiEnrollment(e2ei);
         | 
| 4644 4778 | 
             
                }
         | 
| 4645 4779 | 
             
                /**
         | 
| 4646 | 
            -
                 * Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ; | 
| 4780 | 
            +
                 * Use this method to initialize end-to-end identity when a client signs up and the grace period is already expired ;
         | 
| 4781 | 
            +
                 * that means he cannot initialize with a Basic credential
         | 
| 4647 4782 | 
             
                 *
         | 
| 4648 4783 | 
             
                 * @param enrollment - the enrollment instance used to fetch the certificates
         | 
| 4649 4784 | 
             
                 * @param certificateChain - the raw response from ACME server
         | 
| 4785 | 
            +
                 * @returns a MlsClient initialized with only a x509 credential
         | 
| 4650 4786 | 
             
                 */
         | 
| 4651 4787 | 
             
                async e2eiMlsInitOnly(enrollment, certificateChain) {
         | 
| 4652 4788 | 
             
                    return await __classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_mls_init_only(enrollment.inner(), certificateChain);
         | 
| @@ -4659,6 +4795,7 @@ class CoreCrypto { | |
| 4659 4795 | 
             
                 * @param enrollment - the enrollment instance used to fetch the certificates
         | 
| 4660 4796 | 
             
                 * @param certificateChain - the raw response from ACME server
         | 
| 4661 4797 | 
             
                 * @param newKeyPackageCount - number of KeyPackages with new identity to generate
         | 
| 4798 | 
            +
                 * @returns a {@link RotateBundle} with commits to fan-out to other group members, KeyPackages to upload and old ones to delete
         | 
| 4662 4799 | 
             
                 */
         | 
| 4663 4800 | 
             
                async e2eiRotateAll(enrollment, certificateChain, newKeyPackageCount) {
         | 
| 4664 4801 | 
             
                    const ffiRet = await __classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_rotate_all(enrollment.inner(), certificateChain, newKeyPackageCount);
         | 
| @@ -4687,7 +4824,7 @@ class CoreCrypto { | |
| 4687 4824 | 
             
                 */
         | 
| 4688 4825 | 
             
                async e2eiEnrollmentStashPop(handle) {
         | 
| 4689 4826 | 
             
                    const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_enrollment_stash_pop(handle));
         | 
| 4690 | 
            -
                    return new  | 
| 4827 | 
            +
                    return new E2eiEnrollment(e2ei);
         | 
| 4691 4828 | 
             
                }
         | 
| 4692 4829 | 
             
                /**
         | 
| 4693 4830 | 
             
                 * Indicates when to mark a conversation as degraded i.e. when not all its members have a X509.
         | 
| @@ -4705,11 +4842,22 @@ class CoreCrypto { | |
| 4705 4842 | 
             
                 * Returns true when end-to-end-identity is enabled for the given Ciphersuite
         | 
| 4706 4843 | 
             
                 *
         | 
| 4707 4844 | 
             
                 * @param ciphersuite of the credential to check
         | 
| 4708 | 
            -
                 * @returns true end-to-end identity is enabled for the given ciphersuite
         | 
| 4845 | 
            +
                 * @returns true if end-to-end identity is enabled for the given ciphersuite
         | 
| 4709 4846 | 
             
                 */
         | 
| 4710 4847 | 
             
                async e2eiIsEnabled(ciphersuite) {
         | 
| 4711 4848 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").e2ei_is_enabled(ciphersuite));
         | 
| 4712 4849 | 
             
                }
         | 
| 4850 | 
            +
                /**
         | 
| 4851 | 
            +
                 * From a given conversation, get the identity of the members supplied. Identity is only present for members with a
         | 
| 4852 | 
            +
                 * Certificate Credential (after turning on end-to-end identity).
         | 
| 4853 | 
            +
                 *
         | 
| 4854 | 
            +
                 * @param conversationId - identifier of the conversation
         | 
| 4855 | 
            +
                 * @param clientIds - identifiers of the user
         | 
| 4856 | 
            +
                 * @returns identities or if no member has a x509 certificate, it will return an empty List
         | 
| 4857 | 
            +
                 */
         | 
| 4858 | 
            +
                async getUserIdentities(conversationId, clientIds) {
         | 
| 4859 | 
            +
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").get_user_identities(conversationId, clientIds));
         | 
| 4860 | 
            +
                }
         | 
| 4713 4861 | 
             
                /**
         | 
| 4714 4862 | 
             
                 * Returns the current version of {@link CoreCrypto}
         | 
| 4715 4863 | 
             
                 *
         | 
| @@ -4727,21 +4875,21 @@ _a = CoreCrypto, _CoreCrypto_cc = new WeakMap(), _CoreCrypto_assertModuleLoaded | |
| 4727 4875 | 
             
            };
         | 
| 4728 4876 | 
             
            /** @hidden */
         | 
| 4729 4877 | 
             
            _CoreCrypto_module = { value: void 0 };
         | 
| 4730 | 
            -
            class  | 
| 4878 | 
            +
            class E2eiEnrollment {
         | 
| 4731 4879 | 
             
                /** @hidden */
         | 
| 4732 4880 | 
             
                constructor(e2ei) {
         | 
| 4733 4881 | 
             
                    /** @hidden */
         | 
| 4734 | 
            -
                     | 
| 4735 | 
            -
                    __classPrivateFieldSet(this,  | 
| 4882 | 
            +
                    _E2eiEnrollment_enrollment.set(this, void 0);
         | 
| 4883 | 
            +
                    __classPrivateFieldSet(this, _E2eiEnrollment_enrollment, e2ei, "f");
         | 
| 4736 4884 | 
             
                }
         | 
| 4737 4885 | 
             
                free() {
         | 
| 4738 | 
            -
                    __classPrivateFieldGet(this,  | 
| 4886 | 
            +
                    __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").free();
         | 
| 4739 4887 | 
             
                }
         | 
| 4740 4888 | 
             
                /**
         | 
| 4741 4889 | 
             
                 * Should only be used internally
         | 
| 4742 4890 | 
             
                 */
         | 
| 4743 4891 | 
             
                inner() {
         | 
| 4744 | 
            -
                    return __classPrivateFieldGet(this,  | 
| 4892 | 
            +
                    return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f");
         | 
| 4745 4893 | 
             
                }
         | 
| 4746 4894 | 
             
                /**
         | 
| 4747 4895 | 
             
                 * Parses the response from `GET /acme/{provisioner-name}/directory`.
         | 
| @@ -4753,7 +4901,7 @@ class WireE2eIdentity { | |
| 4753 4901 | 
             
                 */
         | 
| 4754 4902 | 
             
                directoryResponse(directory) {
         | 
| 4755 4903 | 
             
                    try {
         | 
| 4756 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 4904 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").directory_response(directory);
         | 
| 4757 4905 | 
             
                    }
         | 
| 4758 4906 | 
             
                    catch (e) {
         | 
| 4759 4907 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4768,7 +4916,7 @@ class WireE2eIdentity { | |
| 4768 4916 | 
             
                 */
         | 
| 4769 4917 | 
             
                newAccountRequest(previousNonce) {
         | 
| 4770 4918 | 
             
                    try {
         | 
| 4771 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 4919 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_account_request(previousNonce);
         | 
| 4772 4920 | 
             
                    }
         | 
| 4773 4921 | 
             
                    catch (e) {
         | 
| 4774 4922 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4781,7 +4929,7 @@ class WireE2eIdentity { | |
| 4781 4929 | 
             
                 */
         | 
| 4782 4930 | 
             
                newAccountResponse(account) {
         | 
| 4783 4931 | 
             
                    try {
         | 
| 4784 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 4932 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_account_response(account);
         | 
| 4785 4933 | 
             
                    }
         | 
| 4786 4934 | 
             
                    catch (e) {
         | 
| 4787 4935 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4795,7 +4943,7 @@ class WireE2eIdentity { | |
| 4795 4943 | 
             
                 */
         | 
| 4796 4944 | 
             
                newOrderRequest(previousNonce) {
         | 
| 4797 4945 | 
             
                    try {
         | 
| 4798 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 4946 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_order_request(previousNonce);
         | 
| 4799 4947 | 
             
                    }
         | 
| 4800 4948 | 
             
                    catch (e) {
         | 
| 4801 4949 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4809,7 +4957,7 @@ class WireE2eIdentity { | |
| 4809 4957 | 
             
                 */
         | 
| 4810 4958 | 
             
                newOrderResponse(order) {
         | 
| 4811 4959 | 
             
                    try {
         | 
| 4812 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 4960 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_order_response(order);
         | 
| 4813 4961 | 
             
                    }
         | 
| 4814 4962 | 
             
                    catch (e) {
         | 
| 4815 4963 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4825,7 +4973,7 @@ class WireE2eIdentity { | |
| 4825 4973 | 
             
                 */
         | 
| 4826 4974 | 
             
                newAuthzRequest(url, previousNonce) {
         | 
| 4827 4975 | 
             
                    try {
         | 
| 4828 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 4976 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_authz_request(url, previousNonce);
         | 
| 4829 4977 | 
             
                    }
         | 
| 4830 4978 | 
             
                    catch (e) {
         | 
| 4831 4979 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4839,7 +4987,7 @@ class WireE2eIdentity { | |
| 4839 4987 | 
             
                 */
         | 
| 4840 4988 | 
             
                newAuthzResponse(authz) {
         | 
| 4841 4989 | 
             
                    try {
         | 
| 4842 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 4990 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_authz_response(authz);
         | 
| 4843 4991 | 
             
                    }
         | 
| 4844 4992 | 
             
                    catch (e) {
         | 
| 4845 4993 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4858,7 +5006,7 @@ class WireE2eIdentity { | |
| 4858 5006 | 
             
                 */
         | 
| 4859 5007 | 
             
                createDpopToken(expirySecs, backendNonce) {
         | 
| 4860 5008 | 
             
                    try {
         | 
| 4861 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5009 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").create_dpop_token(expirySecs, backendNonce);
         | 
| 4862 5010 | 
             
                    }
         | 
| 4863 5011 | 
             
                    catch (e) {
         | 
| 4864 5012 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4873,7 +5021,7 @@ class WireE2eIdentity { | |
| 4873 5021 | 
             
                 */
         | 
| 4874 5022 | 
             
                newDpopChallengeRequest(accessToken, previousNonce) {
         | 
| 4875 5023 | 
             
                    try {
         | 
| 4876 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5024 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_dpop_challenge_request(accessToken, previousNonce);
         | 
| 4877 5025 | 
             
                    }
         | 
| 4878 5026 | 
             
                    catch (e) {
         | 
| 4879 5027 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4888,7 +5036,7 @@ class WireE2eIdentity { | |
| 4888 5036 | 
             
                 */
         | 
| 4889 5037 | 
             
                newOidcChallengeRequest(idToken, previousNonce) {
         | 
| 4890 5038 | 
             
                    try {
         | 
| 4891 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5039 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_oidc_challenge_request(idToken, previousNonce);
         | 
| 4892 5040 | 
             
                    }
         | 
| 4893 5041 | 
             
                    catch (e) {
         | 
| 4894 5042 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4902,7 +5050,7 @@ class WireE2eIdentity { | |
| 4902 5050 | 
             
                 */
         | 
| 4903 5051 | 
             
                newChallengeResponse(challenge) {
         | 
| 4904 5052 | 
             
                    try {
         | 
| 4905 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5053 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").new_challenge_response(challenge);
         | 
| 4906 5054 | 
             
                    }
         | 
| 4907 5055 | 
             
                    catch (e) {
         | 
| 4908 5056 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4917,7 +5065,7 @@ class WireE2eIdentity { | |
| 4917 5065 | 
             
                 */
         | 
| 4918 5066 | 
             
                checkOrderRequest(orderUrl, previousNonce) {
         | 
| 4919 5067 | 
             
                    try {
         | 
| 4920 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5068 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").check_order_request(orderUrl, previousNonce);
         | 
| 4921 5069 | 
             
                    }
         | 
| 4922 5070 | 
             
                    catch (e) {
         | 
| 4923 5071 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4927,12 +5075,12 @@ class WireE2eIdentity { | |
| 4927 5075 | 
             
                 * Parses the response from `POST /acme/{provisioner-name}/order/{order-id}`.
         | 
| 4928 5076 | 
             
                 *
         | 
| 4929 5077 | 
             
                 * @param order HTTP response body
         | 
| 4930 | 
            -
                 * @return  | 
| 5078 | 
            +
                 * @return finalize url to use with {@link finalizeRequest}
         | 
| 4931 5079 | 
             
                 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
         | 
| 4932 5080 | 
             
                 */
         | 
| 4933 5081 | 
             
                checkOrderResponse(order) {
         | 
| 4934 5082 | 
             
                    try {
         | 
| 4935 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5083 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").check_order_response(order);
         | 
| 4936 5084 | 
             
                    }
         | 
| 4937 5085 | 
             
                    catch (e) {
         | 
| 4938 5086 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4946,7 +5094,7 @@ class WireE2eIdentity { | |
| 4946 5094 | 
             
                 */
         | 
| 4947 5095 | 
             
                finalizeRequest(previousNonce) {
         | 
| 4948 5096 | 
             
                    try {
         | 
| 4949 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5097 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").finalize_request(previousNonce);
         | 
| 4950 5098 | 
             
                    }
         | 
| 4951 5099 | 
             
                    catch (e) {
         | 
| 4952 5100 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4961,7 +5109,7 @@ class WireE2eIdentity { | |
| 4961 5109 | 
             
                 */
         | 
| 4962 5110 | 
             
                finalizeResponse(finalize) {
         | 
| 4963 5111 | 
             
                    try {
         | 
| 4964 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5112 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").finalize_response(finalize);
         | 
| 4965 5113 | 
             
                    }
         | 
| 4966 5114 | 
             
                    catch (e) {
         | 
| 4967 5115 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4975,14 +5123,14 @@ class WireE2eIdentity { | |
| 4975 5123 | 
             
                 */
         | 
| 4976 5124 | 
             
                certificateRequest(previousNonce) {
         | 
| 4977 5125 | 
             
                    try {
         | 
| 4978 | 
            -
                        return __classPrivateFieldGet(this,  | 
| 5126 | 
            +
                        return __classPrivateFieldGet(this, _E2eiEnrollment_enrollment, "f").certificate_request(previousNonce);
         | 
| 4979 5127 | 
             
                    }
         | 
| 4980 5128 | 
             
                    catch (e) {
         | 
| 4981 5129 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| 4982 5130 | 
             
                    }
         | 
| 4983 5131 | 
             
                }
         | 
| 4984 5132 | 
             
            }
         | 
| 4985 | 
            -
             | 
| 5133 | 
            +
            _E2eiEnrollment_enrollment = new WeakMap();
         | 
| 4986 5134 | 
             
            /**
         | 
| 4987 5135 | 
             
             * Indicates the state of a Conversation regarding end-to-end identity.
         | 
| 4988 5136 | 
             
             * Note: this does not check pending state (pending commit, pending proposals) so it does not
         | 
| @@ -5004,4 +5152,4 @@ var E2eiConversationState; | |
| 5004 5152 | 
             
                E2eiConversationState[E2eiConversationState["NotEnabled"] = 3] = "NotEnabled";
         | 
| 5005 5153 | 
             
            })(E2eiConversationState || (E2eiConversationState = {}));
         | 
| 5006 5154 |  | 
| 5007 | 
            -
            export { Ciphersuite, CoreCrypto, CoreCryptoError, CredentialType, E2eiConversationState, ExternalProposalType, GroupInfoEncryptionType, ProposalType, RatchetTreeType,  | 
| 5155 | 
            +
            export { Ciphersuite, CoreCrypto, CoreCryptoError, CredentialType, E2eiConversationState, E2eiEnrollment, ExternalProposalType, GroupInfoEncryptionType, ProposalType, RatchetTreeType, WirePolicy };
         | 
| Binary file |