@wireapp/core-crypto 0.6.0-rc.7 → 0.6.0
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 | 
| @@ -408,7 +408,7 @@ export interface CoreCryptoCallbacks { | |
| 408 408 | 
             
            	 * @param clientId - id of the client performing an operation requiring authorization
         | 
| 409 409 | 
             
            	 * @returns whether the user is authorized by the logic layer to perform the operation
         | 
| 410 410 | 
             
            	 */
         | 
| 411 | 
            -
            	authorize: (conversationId: Uint8Array, clientId: Uint8Array) => boolean | 
| 411 | 
            +
            	authorize: (conversationId: Uint8Array, clientId: Uint8Array) => Promise<boolean>;
         | 
| 412 412 | 
             
            	/**
         | 
| 413 413 | 
             
            	 * A mix between {@link authorize} and {@link clientIsExistingGroupUser}. We currently use this callback to verify
         | 
| 414 414 | 
             
            	 * external commits to join a group ; in such case, the client has to:
         | 
| @@ -420,7 +420,7 @@ export interface CoreCryptoCallbacks { | |
| 420 420 | 
             
            	 * @param existingClients - all the clients currently within the MLS group
         | 
| 421 421 | 
             
            	 * @returns true if the external client is authorized to write to the conversation
         | 
| 422 422 | 
             
            	 */
         | 
| 423 | 
            -
            	userAuthorize: (conversationId: Uint8Array, externalClientId: Uint8Array, existingClients: Uint8Array[]) => boolean | 
| 423 | 
            +
            	userAuthorize: (conversationId: Uint8Array, externalClientId: Uint8Array, existingClients: Uint8Array[]) => Promise<boolean>;
         | 
| 424 424 | 
             
            	/**
         | 
| 425 425 | 
             
            	 * Callback to ensure that the given `clientId` belongs to one of the provided `existingClients`
         | 
| 426 426 | 
             
            	 * This basically allows to defer the client ID parsing logic to the caller - because CoreCrypto is oblivious to such things
         | 
| @@ -429,7 +429,7 @@ export interface CoreCryptoCallbacks { | |
| 429 429 | 
             
            	 * @param clientId - id of a client
         | 
| 430 430 | 
             
            	 * @param existingClients - all the clients currently within the MLS group
         | 
| 431 431 | 
             
            	 */
         | 
| 432 | 
            -
            	clientIsExistingGroupUser: (conversationId: Uint8Array, clientId: Uint8Array, existingClients: Uint8Array[]) => boolean | 
| 432 | 
            +
            	clientIsExistingGroupUser: (conversationId: Uint8Array, clientId: Uint8Array, existingClients: Uint8Array[]) => Promise<boolean>;
         | 
| 433 433 | 
             
            }
         | 
| 434 434 | 
             
            /**
         | 
| 435 435 | 
             
             * Wrapper for the WASM-compiled version of CoreCrypto
         | 
| @@ -484,6 +484,22 @@ export declare class CoreCrypto { | |
| 484 484 | 
             
            	 * @param clientId - {@link CoreCryptoParams#clientId} but required
         | 
| 485 485 | 
             
            	 */
         | 
| 486 486 | 
             
            	mlsInit(clientId: ClientId): Promise<void>;
         | 
| 487 | 
            +
            	/**
         | 
| 488 | 
            +
            	 * Generates a MLS KeyPair/CredentialBundle with a temporary, random client ID.
         | 
| 489 | 
            +
            	 * This method is designed to be used in conjunction with {@link CoreCrypto.mlsInitWithClientID} and represents the first step in this process
         | 
| 490 | 
            +
            	 *
         | 
| 491 | 
            +
            	 * @returns This returns the TLS-serialized identity key (i.e. the signature keypair's public key)
         | 
| 492 | 
            +
            	 */
         | 
| 493 | 
            +
            	mlsGenerateKeypair(): Promise<Uint8Array>;
         | 
| 494 | 
            +
            	/**
         | 
| 495 | 
            +
            	 * Updates the current temporary Client ID with the newly provided one. This is the second step in the externally-generated clients process
         | 
| 496 | 
            +
            	 *
         | 
| 497 | 
            +
            	 * Important: This is designed to be called after {@link CoreCrypto.mlsGenerateKeyPair}
         | 
| 498 | 
            +
            	 *
         | 
| 499 | 
            +
            	 * @param clientId - The newly-allocated client ID by the MLS Authentication Service
         | 
| 500 | 
            +
            	 * @param signaturePublicKey - The public key you were given at the first step; This is for authentication purposes
         | 
| 501 | 
            +
            	 */
         | 
| 502 | 
            +
            	mlsInitWithClientId(clientId: ClientId, signaturePublicKey: Uint8Array): Promise<void>;
         | 
| 487 503 | 
             
            	/** @hidden */
         | 
| 488 504 | 
             
            	private constructor();
         | 
| 489 505 | 
             
            	/**
         | 
| @@ -503,7 +519,7 @@ export declare class CoreCrypto { | |
| 503 519 | 
             
            	 *
         | 
| 504 520 | 
             
            	 * @param callbacks - Any interface following the {@link CoreCryptoCallbacks} interface
         | 
| 505 521 | 
             
            	 */
         | 
| 506 | 
            -
            	registerCallbacks(callbacks: CoreCryptoCallbacks): void | 
| 522 | 
            +
            	registerCallbacks(callbacks: CoreCryptoCallbacks, ctx?: any): Promise<void>;
         | 
| 507 523 | 
             
            	/**
         | 
| 508 524 | 
             
            	 * Checks if the Client is member of a given conversation and if the MLS Group is loaded up
         | 
| 509 525 | 
             
            	 *
         | 
| @@ -831,9 +847,19 @@ export declare class CoreCrypto { | |
| 831 847 | 
             
            	/**
         | 
| 832 848 | 
             
            	 * Creates a new prekey with an automatically generated ID..
         | 
| 833 849 | 
             
            	 *
         | 
| 834 | 
            -
            	 * @returns | 
| 850 | 
            +
            	 * @returns A CBOR-serialized version of the PreKeyBundle corresponding to the newly generated and stored PreKey
         | 
| 835 851 | 
             
            	 */
         | 
| 836 852 | 
             
            	proteusNewPrekeyAuto(): Promise<Uint8Array>;
         | 
| 853 | 
            +
            	/**
         | 
| 854 | 
            +
            	 * Proteus last resort prekey stuff
         | 
| 855 | 
            +
            	 *
         | 
| 856 | 
            +
            	 * @returns A CBOR-serialize version of the PreKeyBundle associated with the last resort PreKey (holding the last resort prekey id)
         | 
| 857 | 
            +
            	 */
         | 
| 858 | 
            +
            	proteusLastResortPrekey(): Promise<Uint8Array>;
         | 
| 859 | 
            +
            	/**
         | 
| 860 | 
            +
            	 * @returns The last resort PreKey id
         | 
| 861 | 
            +
            	 */
         | 
| 862 | 
            +
            	static proteusLastResortPrekeyId(): number;
         | 
| 837 863 | 
             
            	/**
         | 
| 838 864 | 
             
            	 * Proteus public key fingerprint
         | 
| 839 865 | 
             
            	 * It's basically the public key encoded as an hex string
         | 
| @@ -876,12 +902,12 @@ export declare class CoreCrypto { | |
| 876 902 | 
             
            	/**
         | 
| 877 903 | 
             
            	 * Creates an enrollment instance with private key material you can use in order to fetch
         | 
| 878 904 | 
             
            	 * a new x509 certificate from the acme server.
         | 
| 879 | 
            -
            	 * Make sure to call  | 
| 905 | 
            +
            	 * Make sure to call {@link WireE2eIdentity.free} to dispose this instance and its associated
         | 
| 880 906 | 
             
            	 * keying material.
         | 
| 881 907 | 
             
            	 *
         | 
| 882 908 | 
             
            	 * @param ciphersuite - For generating signing key material. Only {@link Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519} is supported currently
         | 
| 883 909 | 
             
            	 */
         | 
| 884 | 
            -
            	newAcmeEnrollment(): Promise<WireE2eIdentity>;
         | 
| 910 | 
            +
            	newAcmeEnrollment(ciphersuite?: Ciphersuite): Promise<WireE2eIdentity>;
         | 
| 885 911 | 
             
            	/**
         | 
| 886 912 | 
             
            	 * Returns the current version of {@link CoreCrypto}
         | 
| 887 913 | 
             
            	 *
         | 
| @@ -896,6 +922,7 @@ export declare class WireE2eIdentity { | |
| 896 922 | 
             
            	#private;
         | 
| 897 923 | 
             
            	/** @hidden */
         | 
| 898 924 | 
             
            	constructor(e2ei: unknown);
         | 
| 925 | 
            +
            	free(): void;
         | 
| 899 926 | 
             
            	/**
         | 
| 900 927 | 
             
            	 * Parses the response from `GET /acme/{provisioner-name}/directory`.
         | 
| 901 928 | 
             
            	 * Use this {@link AcmeDirectory} in the next step to fetch the first nonce from the acme server. Use
         | 
| @@ -923,15 +950,17 @@ export declare class WireE2eIdentity { | |
| 923 950 | 
             
            	/**
         | 
| 924 951 | 
             
            	 * Creates a new acme order for the handle (userId + display name) and the clientId.
         | 
| 925 952 | 
             
            	 *
         | 
| 926 | 
            -
            	 * @param  | 
| 927 | 
            -
            	 * @param  | 
| 953 | 
            +
            	 * @param displayName human readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 954 | 
            +
            	 * @param domain DNS name of owning backend e.g. `example.com`
         | 
| 955 | 
            +
            	 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `impp:wireapp=NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ/6add501bacd1d90e@example.com`
         | 
| 956 | 
            +
            	 * @param handle user handle e.g. `impp:wireapp=alice.smith.qa@example.com`
         | 
| 928 957 | 
             
            	 * @param expiryDays generated x509 certificate expiry
         | 
| 929 958 | 
             
            	 * @param directory you got from {@link directoryResponse}
         | 
| 930 959 | 
             
            	 * @param account you got from {@link newAccountResponse}
         | 
| 931 960 | 
             
            	 * @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/new-account`
         | 
| 932 961 | 
             
            	 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
         | 
| 933 962 | 
             
            	 */
         | 
| 934 | 
            -
            	newOrderRequest( | 
| 963 | 
            +
            	newOrderRequest(displayName: string, domain: string, clientId: string, handle: string, expiryDays: number, directory: AcmeDirectory, account: AcmeAccount, previousNonce: string): JsonRawData;
         | 
| 935 964 | 
             
            	/**
         | 
| 936 965 | 
             
            	 * Parses the response from `POST /acme/{provisioner-name}/new-order`.
         | 
| 937 966 | 
             
            	 *
         | 
| @@ -978,14 +1007,25 @@ export declare class WireE2eIdentity { | |
| 978 1007 | 
             
            	 */
         | 
| 979 1008 | 
             
            	createDpopToken(accessTokenUrl: string, userId: string, clientId: bigint, domain: string, clientIdChallenge: AcmeChallenge, backendNonce: string, expiryDays: number): string;
         | 
| 980 1009 | 
             
            	/**
         | 
| 981 | 
            -
            	 * Creates a new challenge request.
         | 
| 1010 | 
            +
            	 * Creates a new challenge request for Wire Dpop challenge.
         | 
| 1011 | 
            +
            	 *
         | 
| 1012 | 
            +
            	 * @param accessToken returned by wire-server from https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/post_clients__cid__access_token
         | 
| 1013 | 
            +
            	 * @param dpopChallenge you found after {@link newAuthzResponse}
         | 
| 1014 | 
            +
            	 * @param account you found after {@link newAccountResponse}
         | 
| 1015 | 
            +
            	 * @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
         | 
| 1016 | 
            +
            	 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
         | 
| 1017 | 
            +
            	 */
         | 
| 1018 | 
            +
            	newDpopChallengeRequest(accessToken: string, dpopChallenge: AcmeChallenge, account: AcmeAccount, previousNonce: string): JsonRawData;
         | 
| 1019 | 
            +
            	/**
         | 
| 1020 | 
            +
            	 * Creates a new challenge request for Wire Oidc challenge.
         | 
| 982 1021 | 
             
            	 *
         | 
| 983 | 
            -
            	 * @param  | 
| 1022 | 
            +
            	 * @param idToken you get back from Identity Provider
         | 
| 1023 | 
            +
            	 * @param oidcChallenge you found after {@link newAuthzResponse}
         | 
| 984 1024 | 
             
            	 * @param account you found after {@link newAccountResponse}
         | 
| 985 1025 | 
             
            	 * @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
         | 
| 986 1026 | 
             
            	 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
         | 
| 987 1027 | 
             
            	 */
         | 
| 988 | 
            -
            	 | 
| 1028 | 
            +
            	newOidcChallengeRequest(idToken: string, oidcChallenge: AcmeChallenge, account: AcmeAccount, previousNonce: string): JsonRawData;
         | 
| 989 1029 | 
             
            	/**
         | 
| 990 1030 | 
             
            	 * Parses the response from `POST /acme/{provisioner-name}/challenge/{challenge-id}`.
         | 
| 991 1031 | 
             
            	 *
         | 
| @@ -1012,13 +1052,12 @@ export declare class WireE2eIdentity { | |
| 1012 1052 | 
             
            	/**
         | 
| 1013 1053 | 
             
            	 * Final step before fetching the certificate.
         | 
| 1014 1054 | 
             
            	 *
         | 
| 1015 | 
            -
            	 * @param domains - domains you want to generate a certificate for e.g. `["wire.com"]`
         | 
| 1016 1055 | 
             
            	 * @param order - order you got from {@link checkOrderResponse}
         | 
| 1017 1056 | 
             
            	 * @param account - account you found after {@link newAccountResponse}
         | 
| 1018 1057 | 
             
            	 * @param previousNonce - `replay-nonce` response header from `POST /acme/{provisioner-name}/order/{order-id}`
         | 
| 1019 1058 | 
             
            	 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
         | 
| 1020 1059 | 
             
            	 */
         | 
| 1021 | 
            -
            	finalizeRequest( | 
| 1060 | 
            +
            	finalizeRequest(order: AcmeOrder, account: AcmeAccount, previousNonce: string): JsonRawData;
         | 
| 1022 1061 | 
             
            	/**
         | 
| 1023 1062 | 
             
            	 * Parses the response from `POST /acme/{provisioner-name}/order/{order-id}/finalize`.
         | 
| 1024 1063 | 
             
            	 *
         | 
| @@ -34,14 +34,6 @@ const heap = new Array(128).fill(undefined); | |
| 34 34 | 
             
            heap.push(undefined, null, true, false);
         | 
| 35 35 | 
             
            function getObject(idx) { return heap[idx]; }
         | 
| 36 36 | 
             
            let heap_next = heap.length;
         | 
| 37 | 
            -
            function addHeapObject(obj) {
         | 
| 38 | 
            -
                if (heap_next === heap.length)
         | 
| 39 | 
            -
                    heap.push(heap.length + 1);
         | 
| 40 | 
            -
                const idx = heap_next;
         | 
| 41 | 
            -
                heap_next = heap[idx];
         | 
| 42 | 
            -
                heap[idx] = obj;
         | 
| 43 | 
            -
                return idx;
         | 
| 44 | 
            -
            }
         | 
| 45 37 | 
             
            function dropObject(idx) {
         | 
| 46 38 | 
             
                if (idx < 132)
         | 
| 47 39 | 
             
                    return;
         | 
| @@ -53,6 +45,14 @@ function takeObject(idx) { | |
| 53 45 | 
             
                dropObject(idx);
         | 
| 54 46 | 
             
                return ret;
         | 
| 55 47 | 
             
            }
         | 
| 48 | 
            +
            function addHeapObject(obj) {
         | 
| 49 | 
            +
                if (heap_next === heap.length)
         | 
| 50 | 
            +
                    heap.push(heap.length + 1);
         | 
| 51 | 
            +
                const idx = heap_next;
         | 
| 52 | 
            +
                heap_next = heap[idx];
         | 
| 53 | 
            +
                heap[idx] = obj;
         | 
| 54 | 
            +
                return idx;
         | 
| 55 | 
            +
            }
         | 
| 56 56 | 
             
            const cachedTextDecoder = new TextDecoder('utf-8', { ignoreBOM: true, fatal: true });
         | 
| 57 57 | 
             
            cachedTextDecoder.decode();
         | 
| 58 58 | 
             
            let cachedUint8Memory0 = null;
         | 
| @@ -228,7 +228,7 @@ function makeMutClosure(arg0, arg1, dtor, f) { | |
| 228 228 | 
             
            function __wbg_adapter_52(arg0, arg1, arg2) {
         | 
| 229 229 | 
             
                try {
         | 
| 230 230 | 
             
                    const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 231 | 
            -
                    wasm$1. | 
| 231 | 
            +
                    wasm$1._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__h07d37b19e83c7ae3(retptr, arg0, arg1, addHeapObject(arg2));
         | 
| 232 232 | 
             
                    var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 233 233 | 
             
                    var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 234 234 | 
             
                    if (r1) {
         | 
| @@ -240,7 +240,7 @@ function __wbg_adapter_52(arg0, arg1, arg2) { | |
| 240 240 | 
             
                }
         | 
| 241 241 | 
             
            }
         | 
| 242 242 | 
             
            function __wbg_adapter_55(arg0, arg1, arg2) {
         | 
| 243 | 
            -
                wasm$1. | 
| 243 | 
            +
                wasm$1._dyn_core__ops__function__FnMut__A____Output___R_as_wasm_bindgen__closure__WasmClosure___describe__invoke__hde4447b48c9e13f3(arg0, arg1, addHeapObject(arg2));
         | 
| 244 244 | 
             
            }
         | 
| 245 245 | 
             
            function _assertClass(instance, klass) {
         | 
| 246 246 | 
             
                if (!(instance instanceof klass)) {
         | 
| @@ -279,23 +279,6 @@ function getArrayJsValueFromWasm0(ptr, len) { | |
| 279 279 | 
             
                }
         | 
| 280 280 | 
             
                return result;
         | 
| 281 281 | 
             
            }
         | 
| 282 | 
            -
            /**
         | 
| 283 | 
            -
            * Returns the current version of CoreCrypto
         | 
| 284 | 
            -
            * @returns {string}
         | 
| 285 | 
            -
            */
         | 
| 286 | 
            -
            function version() {
         | 
| 287 | 
            -
                try {
         | 
| 288 | 
            -
                    const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 289 | 
            -
                    wasm$1.version(retptr);
         | 
| 290 | 
            -
                    var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 291 | 
            -
                    var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 292 | 
            -
                    return getStringFromWasm0(r0, r1);
         | 
| 293 | 
            -
                }
         | 
| 294 | 
            -
                finally {
         | 
| 295 | 
            -
                    wasm$1.__wbindgen_add_to_stack_pointer(16);
         | 
| 296 | 
            -
                    wasm$1.__wbindgen_free(r0, r1);
         | 
| 297 | 
            -
                }
         | 
| 298 | 
            -
            }
         | 
| 299 282 | 
             
            function handleError(f, args) {
         | 
| 300 283 | 
             
                try {
         | 
| 301 284 | 
             
                    return f.apply(this, args);
         | 
| @@ -307,8 +290,8 @@ function handleError(f, args) { | |
| 307 290 | 
             
            function getArrayU8FromWasm0(ptr, len) {
         | 
| 308 291 | 
             
                return getUint8Memory0().subarray(ptr / 1, ptr / 1 + len);
         | 
| 309 292 | 
             
            }
         | 
| 310 | 
            -
            function  | 
| 311 | 
            -
                wasm$1. | 
| 293 | 
            +
            function __wbg_adapter_268(arg0, arg1, arg2, arg3) {
         | 
| 294 | 
            +
                wasm$1.wasm_bindgen__convert__closures__invoke2_mut__h1934ea7100a9edf0(arg0, arg1, addHeapObject(arg2), addHeapObject(arg3));
         | 
| 312 295 | 
             
            }
         | 
| 313 296 | 
             
            /**
         | 
| 314 297 | 
             
            * see [core_crypto::prelude::MlsWirePolicy]
         | 
| @@ -659,6 +642,23 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 659 642 | 
             
                    wasm$1.__wbg_corecrypto_free(ptr);
         | 
| 660 643 | 
             
                }
         | 
| 661 644 | 
             
                /**
         | 
| 645 | 
            +
                * Returns the current version of CoreCrypto
         | 
| 646 | 
            +
                * @returns {string}
         | 
| 647 | 
            +
                */
         | 
| 648 | 
            +
                static version() {
         | 
| 649 | 
            +
                    try {
         | 
| 650 | 
            +
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 651 | 
            +
                        wasm$1.corecrypto_version(retptr);
         | 
| 652 | 
            +
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 653 | 
            +
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 654 | 
            +
                        return getStringFromWasm0(r0, r1);
         | 
| 655 | 
            +
                    }
         | 
| 656 | 
            +
                    finally {
         | 
| 657 | 
            +
                        wasm$1.__wbindgen_add_to_stack_pointer(16);
         | 
| 658 | 
            +
                        wasm$1.__wbindgen_free(r0, r1);
         | 
| 659 | 
            +
                    }
         | 
| 660 | 
            +
                }
         | 
| 661 | 
            +
                /**
         | 
| 662 662 | 
             
                * see [core_crypto::MlsCentral::try_new]
         | 
| 663 663 | 
             
                * @param {string} path
         | 
| 664 664 | 
             
                * @param {string} key
         | 
| @@ -707,6 +707,32 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 707 707 | 
             
                    return takeObject(ret);
         | 
| 708 708 | 
             
                }
         | 
| 709 709 | 
             
                /**
         | 
| 710 | 
            +
                * Returns [`WasmCryptoResult<Vec<u8>>`]
         | 
| 711 | 
            +
                *
         | 
| 712 | 
            +
                * See [core_crypto::MlsCentral::mls_generate_keypair]
         | 
| 713 | 
            +
                * @returns {Promise<any>}
         | 
| 714 | 
            +
                */
         | 
| 715 | 
            +
                mls_generate_keypair() {
         | 
| 716 | 
            +
                    const ret = wasm$1.corecrypto_mls_generate_keypair(this.ptr);
         | 
| 717 | 
            +
                    return takeObject(ret);
         | 
| 718 | 
            +
                }
         | 
| 719 | 
            +
                /**
         | 
| 720 | 
            +
                * Returns [`WasmCryptoResult<()>`]
         | 
| 721 | 
            +
                *
         | 
| 722 | 
            +
                * See [core_crypto::MlsCentral::mls_init_with_client_id]
         | 
| 723 | 
            +
                * @param {Uint8Array} client_id
         | 
| 724 | 
            +
                * @param {Uint8Array} signature_public_key
         | 
| 725 | 
            +
                * @returns {Promise<any>}
         | 
| 726 | 
            +
                */
         | 
| 727 | 
            +
                mls_init_with_client_id(client_id, signature_public_key) {
         | 
| 728 | 
            +
                    const ptr0 = passArray8ToWasm0(client_id, wasm$1.__wbindgen_malloc);
         | 
| 729 | 
            +
                    const len0 = WASM_VECTOR_LEN;
         | 
| 730 | 
            +
                    const ptr1 = passArray8ToWasm0(signature_public_key, wasm$1.__wbindgen_malloc);
         | 
| 731 | 
            +
                    const len1 = WASM_VECTOR_LEN;
         | 
| 732 | 
            +
                    const ret = wasm$1.corecrypto_mls_init_with_client_id(this.ptr, ptr0, len0, ptr1, len1);
         | 
| 733 | 
            +
                    return takeObject(ret);
         | 
| 734 | 
            +
                }
         | 
| 735 | 
            +
                /**
         | 
| 710 736 | 
             
                * Returns: [`WasmCryptoResult<()>`]
         | 
| 711 737 | 
             
                *
         | 
| 712 738 | 
             
                * see [core_crypto::MlsCentral::close]
         | 
| @@ -1227,7 +1253,7 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 1227 1253 | 
             
                * see [core_crypto::proteus::ProteusCentral::encrypt]
         | 
| 1228 1254 | 
             
                * @param {string} session_id
         | 
| 1229 1255 | 
             
                * @param {Uint8Array} plaintext
         | 
| 1230 | 
            -
                * @returns {Promise< | 
| 1256 | 
            +
                * @returns {Promise<Promise<any>>}
         | 
| 1231 1257 | 
             
                */
         | 
| 1232 1258 | 
             
                proteus_encrypt(session_id, plaintext) {
         | 
| 1233 1259 | 
             
                    const ptr0 = passStringToWasm0(session_id, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| @@ -1243,7 +1269,7 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 1243 1269 | 
             
                * see [core_crypto::proteus::ProteusCentral::encrypt_batched]
         | 
| 1244 1270 | 
             
                * @param {(string)[]} sessions
         | 
| 1245 1271 | 
             
                * @param {Uint8Array} plaintext
         | 
| 1246 | 
            -
                * @returns {Promise< | 
| 1272 | 
            +
                * @returns {Promise<any>}
         | 
| 1247 1273 | 
             
                */
         | 
| 1248 1274 | 
             
                proteus_encrypt_batched(sessions, plaintext) {
         | 
| 1249 1275 | 
             
                    const ptr0 = passArrayJsValueToWasm0(sessions, wasm$1.__wbindgen_malloc);
         | 
| @@ -1258,7 +1284,7 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 1258 1284 | 
             
                *
         | 
| 1259 1285 | 
             
                * see [core_crypto::proteus::ProteusCentral::new_prekey]
         | 
| 1260 1286 | 
             
                * @param {number} prekey_id
         | 
| 1261 | 
            -
                * @returns {Promise< | 
| 1287 | 
            +
                * @returns {Promise<Promise<any>>}
         | 
| 1262 1288 | 
             
                */
         | 
| 1263 1289 | 
             
                proteus_new_prekey(prekey_id) {
         | 
| 1264 1290 | 
             
                    const ret = wasm$1.corecrypto_proteus_new_prekey(this.ptr, prekey_id);
         | 
| @@ -1268,13 +1294,45 @@ let CoreCrypto$1 = class CoreCrypto { | |
| 1268 1294 | 
             
                * Returns: [`WasmCryptoResult<Uint8Array>`]
         | 
| 1269 1295 | 
             
                *
         | 
| 1270 1296 | 
             
                * see [core_crypto::proteus::ProteusCentral::new_prekey]
         | 
| 1271 | 
            -
                * @returns {Promise< | 
| 1297 | 
            +
                * @returns {Promise<Promise<any>>}
         | 
| 1272 1298 | 
             
                */
         | 
| 1273 1299 | 
             
                proteus_new_prekey_auto() {
         | 
| 1274 1300 | 
             
                    const ret = wasm$1.corecrypto_proteus_new_prekey_auto(this.ptr);
         | 
| 1275 1301 | 
             
                    return takeObject(ret);
         | 
| 1276 1302 | 
             
                }
         | 
| 1277 1303 | 
             
                /**
         | 
| 1304 | 
            +
                * Returns [`WasmCryptoResult<Uint8Array>`]
         | 
| 1305 | 
            +
                *
         | 
| 1306 | 
            +
                * see [core_crypto::proteus::ProteusCentral::last_resort_prekey]
         | 
| 1307 | 
            +
                * @returns {Promise<any>}
         | 
| 1308 | 
            +
                */
         | 
| 1309 | 
            +
                proteus_last_resort_prekey() {
         | 
| 1310 | 
            +
                    const ret = wasm$1.corecrypto_proteus_last_resort_prekey(this.ptr);
         | 
| 1311 | 
            +
                    return takeObject(ret);
         | 
| 1312 | 
            +
                }
         | 
| 1313 | 
            +
                /**
         | 
| 1314 | 
            +
                * Returns: [`WasmCryptoResult<u16>`]
         | 
| 1315 | 
            +
                *
         | 
| 1316 | 
            +
                * see [core_crypto::proteus::ProteusCentral::last_resort_prekey_id]
         | 
| 1317 | 
            +
                * @returns {number}
         | 
| 1318 | 
            +
                */
         | 
| 1319 | 
            +
                static proteus_last_resort_prekey_id() {
         | 
| 1320 | 
            +
                    try {
         | 
| 1321 | 
            +
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 1322 | 
            +
                        wasm$1.corecrypto_proteus_last_resort_prekey_id(retptr);
         | 
| 1323 | 
            +
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 1324 | 
            +
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 1325 | 
            +
                        var r2 = getInt32Memory0()[retptr / 4 + 2];
         | 
| 1326 | 
            +
                        if (r2) {
         | 
| 1327 | 
            +
                            throw takeObject(r1);
         | 
| 1328 | 
            +
                        }
         | 
| 1329 | 
            +
                        return r0;
         | 
| 1330 | 
            +
                    }
         | 
| 1331 | 
            +
                    finally {
         | 
| 1332 | 
            +
                        wasm$1.__wbindgen_add_to_stack_pointer(16);
         | 
| 1333 | 
            +
                    }
         | 
| 1334 | 
            +
                }
         | 
| 1335 | 
            +
                /**
         | 
| 1278 1336 | 
             
                * Returns: [`WasmCryptoResult<String>`]
         | 
| 1279 1337 | 
             
                *
         | 
| 1280 1338 | 
             
                * see [core_crypto::proteus::ProteusCentral::fingerprint]
         | 
| @@ -1421,9 +1479,10 @@ class CoreCryptoWasmCallbacks { | |
| 1421 1479 | 
             
                * @param {Function} authorize
         | 
| 1422 1480 | 
             
                * @param {Function} user_authorize
         | 
| 1423 1481 | 
             
                * @param {Function} client_is_existing_group_user
         | 
| 1482 | 
            +
                * @param {any} ctx
         | 
| 1424 1483 | 
             
                */
         | 
| 1425 | 
            -
                constructor(authorize, user_authorize, client_is_existing_group_user) {
         | 
| 1426 | 
            -
                    const ret = wasm$1.corecryptowasmcallbacks_new(addHeapObject(authorize), addHeapObject(user_authorize), addHeapObject(client_is_existing_group_user));
         | 
| 1484 | 
            +
                constructor(authorize, user_authorize, client_is_existing_group_user, ctx) {
         | 
| 1485 | 
            +
                    const ret = wasm$1.corecryptowasmcallbacks_new(addHeapObject(authorize), addHeapObject(user_authorize), addHeapObject(client_is_existing_group_user), addHeapObject(ctx));
         | 
| 1427 1486 | 
             
                    return CoreCryptoWasmCallbacks.__wrap(ret);
         | 
| 1428 1487 | 
             
                }
         | 
| 1429 1488 | 
             
            }
         | 
| @@ -1605,24 +1664,30 @@ class FfiWireE2EIdentity { | |
| 1605 1664 | 
             
                }
         | 
| 1606 1665 | 
             
                /**
         | 
| 1607 1666 | 
             
                * See [core_crypto::e2e_identity::WireE2eIdentity::new_order_request]
         | 
| 1608 | 
            -
                * @param {string}  | 
| 1667 | 
            +
                * @param {string} display_name
         | 
| 1668 | 
            +
                * @param {string} domain
         | 
| 1609 1669 | 
             
                * @param {string} client_id
         | 
| 1670 | 
            +
                * @param {string} handle
         | 
| 1610 1671 | 
             
                * @param {number} expiry_days
         | 
| 1611 1672 | 
             
                * @param {any} directory
         | 
| 1612 1673 | 
             
                * @param {Uint8Array} account
         | 
| 1613 1674 | 
             
                * @param {string} previous_nonce
         | 
| 1614 1675 | 
             
                * @returns {Uint8Array}
         | 
| 1615 1676 | 
             
                */
         | 
| 1616 | 
            -
                new_order_request( | 
| 1677 | 
            +
                new_order_request(display_name, domain, client_id, handle, expiry_days, directory, account, previous_nonce) {
         | 
| 1617 1678 | 
             
                    try {
         | 
| 1618 1679 | 
             
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 1619 | 
            -
                        const ptr0 = passStringToWasm0( | 
| 1680 | 
            +
                        const ptr0 = passStringToWasm0(display_name, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1620 1681 | 
             
                        const len0 = WASM_VECTOR_LEN;
         | 
| 1621 | 
            -
                        const ptr1 = passStringToWasm0( | 
| 1682 | 
            +
                        const ptr1 = passStringToWasm0(domain, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1622 1683 | 
             
                        const len1 = WASM_VECTOR_LEN;
         | 
| 1623 | 
            -
                        const ptr2 = passStringToWasm0( | 
| 1684 | 
            +
                        const ptr2 = passStringToWasm0(client_id, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1624 1685 | 
             
                        const len2 = WASM_VECTOR_LEN;
         | 
| 1625 | 
            -
                         | 
| 1686 | 
            +
                        const ptr3 = passStringToWasm0(handle, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1687 | 
            +
                        const len3 = WASM_VECTOR_LEN;
         | 
| 1688 | 
            +
                        const ptr4 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1689 | 
            +
                        const len4 = WASM_VECTOR_LEN;
         | 
| 1690 | 
            +
                        wasm$1.ffiwiree2eidentity_new_order_request(retptr, this.ptr, ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, expiry_days, addHeapObject(directory), addHeapObject(account), ptr4, len4);
         | 
| 1626 1691 | 
             
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 1627 1692 | 
             
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 1628 1693 | 
             
                        var r2 = getInt32Memory0()[retptr / 4 + 2];
         | 
| @@ -1746,18 +1811,49 @@ class FfiWireE2EIdentity { | |
| 1746 1811 | 
             
                    }
         | 
| 1747 1812 | 
             
                }
         | 
| 1748 1813 | 
             
                /**
         | 
| 1749 | 
            -
                * See [core_crypto::e2e_identity::WireE2eIdentity:: | 
| 1750 | 
            -
                * @param { | 
| 1814 | 
            +
                * See [core_crypto::e2e_identity::WireE2eIdentity::new_dpop_challenge_request]
         | 
| 1815 | 
            +
                * @param {string} access_token
         | 
| 1816 | 
            +
                * @param {any} dpop_challenge
         | 
| 1751 1817 | 
             
                * @param {Uint8Array} account
         | 
| 1752 1818 | 
             
                * @param {string} previous_nonce
         | 
| 1753 1819 | 
             
                * @returns {Uint8Array}
         | 
| 1754 1820 | 
             
                */
         | 
| 1755 | 
            -
                 | 
| 1821 | 
            +
                new_dpop_challenge_request(access_token, dpop_challenge, account, previous_nonce) {
         | 
| 1756 1822 | 
             
                    try {
         | 
| 1757 1823 | 
             
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 1758 | 
            -
                        const ptr0 = passStringToWasm0( | 
| 1824 | 
            +
                        const ptr0 = passStringToWasm0(access_token, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1759 1825 | 
             
                        const len0 = WASM_VECTOR_LEN;
         | 
| 1760 | 
            -
                         | 
| 1826 | 
            +
                        const ptr1 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1827 | 
            +
                        const len1 = WASM_VECTOR_LEN;
         | 
| 1828 | 
            +
                        wasm$1.ffiwiree2eidentity_new_dpop_challenge_request(retptr, this.ptr, ptr0, len0, addHeapObject(dpop_challenge), addHeapObject(account), ptr1, len1);
         | 
| 1829 | 
            +
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 1830 | 
            +
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 1831 | 
            +
                        var r2 = getInt32Memory0()[retptr / 4 + 2];
         | 
| 1832 | 
            +
                        if (r2) {
         | 
| 1833 | 
            +
                            throw takeObject(r1);
         | 
| 1834 | 
            +
                        }
         | 
| 1835 | 
            +
                        return takeObject(r0);
         | 
| 1836 | 
            +
                    }
         | 
| 1837 | 
            +
                    finally {
         | 
| 1838 | 
            +
                        wasm$1.__wbindgen_add_to_stack_pointer(16);
         | 
| 1839 | 
            +
                    }
         | 
| 1840 | 
            +
                }
         | 
| 1841 | 
            +
                /**
         | 
| 1842 | 
            +
                * See [core_crypto::e2e_identity::WireE2eIdentity::new_oidc_challenge_request]
         | 
| 1843 | 
            +
                * @param {string} id_token
         | 
| 1844 | 
            +
                * @param {any} oidc_challenge
         | 
| 1845 | 
            +
                * @param {Uint8Array} account
         | 
| 1846 | 
            +
                * @param {string} previous_nonce
         | 
| 1847 | 
            +
                * @returns {Uint8Array}
         | 
| 1848 | 
            +
                */
         | 
| 1849 | 
            +
                new_oidc_challenge_request(id_token, oidc_challenge, account, previous_nonce) {
         | 
| 1850 | 
            +
                    try {
         | 
| 1851 | 
            +
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 1852 | 
            +
                        const ptr0 = passStringToWasm0(id_token, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1853 | 
            +
                        const len0 = WASM_VECTOR_LEN;
         | 
| 1854 | 
            +
                        const ptr1 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1855 | 
            +
                        const len1 = WASM_VECTOR_LEN;
         | 
| 1856 | 
            +
                        wasm$1.ffiwiree2eidentity_new_oidc_challenge_request(retptr, this.ptr, ptr0, len0, addHeapObject(oidc_challenge), addHeapObject(account), ptr1, len1);
         | 
| 1761 1857 | 
             
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 1762 1858 | 
             
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 1763 1859 | 
             
                        var r2 = getInt32Memory0()[retptr / 4 + 2];
         | 
| @@ -1838,20 +1934,17 @@ class FfiWireE2EIdentity { | |
| 1838 1934 | 
             
                }
         | 
| 1839 1935 | 
             
                /**
         | 
| 1840 1936 | 
             
                * See [core_crypto::e2e_identity::WireE2eIdentity::finalize_request]
         | 
| 1841 | 
            -
                * @param {(string)[]} domains
         | 
| 1842 1937 | 
             
                * @param {Uint8Array} order
         | 
| 1843 1938 | 
             
                * @param {Uint8Array} account
         | 
| 1844 1939 | 
             
                * @param {string} previous_nonce
         | 
| 1845 1940 | 
             
                * @returns {Uint8Array}
         | 
| 1846 1941 | 
             
                */
         | 
| 1847 | 
            -
                finalize_request( | 
| 1942 | 
            +
                finalize_request(order, account, previous_nonce) {
         | 
| 1848 1943 | 
             
                    try {
         | 
| 1849 1944 | 
             
                        const retptr = wasm$1.__wbindgen_add_to_stack_pointer(-16);
         | 
| 1850 | 
            -
                        const ptr0 =  | 
| 1945 | 
            +
                        const ptr0 = passStringToWasm0(previous_nonce, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 1851 1946 | 
             
                        const len0 = WASM_VECTOR_LEN;
         | 
| 1852 | 
            -
                         | 
| 1853 | 
            -
                        const len1 = WASM_VECTOR_LEN;
         | 
| 1854 | 
            -
                        wasm$1.ffiwiree2eidentity_finalize_request(retptr, this.ptr, ptr0, len0, addHeapObject(order), addHeapObject(account), ptr1, len1);
         | 
| 1947 | 
            +
                        wasm$1.ffiwiree2eidentity_finalize_request(retptr, this.ptr, addHeapObject(order), addHeapObject(account), ptr0, len0);
         | 
| 1855 1948 | 
             
                        var r0 = getInt32Memory0()[retptr / 4 + 0];
         | 
| 1856 1949 | 
             
                        var r1 = getInt32Memory0()[retptr / 4 + 1];
         | 
| 1857 1950 | 
             
                        var r2 = getInt32Memory0()[retptr / 4 + 2];
         | 
| @@ -2049,16 +2142,16 @@ class NewAcmeAuthz { | |
| 2049 2142 | 
             
                }
         | 
| 2050 2143 | 
             
                /**
         | 
| 2051 2144 | 
             
                * @param {string} identifier
         | 
| 2052 | 
            -
                * @param {AcmeChallenge | undefined}  | 
| 2145 | 
            +
                * @param {AcmeChallenge | undefined} wire_dpop_challenge
         | 
| 2053 2146 | 
             
                * @param {AcmeChallenge | undefined} wire_oidc_challenge
         | 
| 2054 2147 | 
             
                */
         | 
| 2055 | 
            -
                constructor(identifier,  | 
| 2148 | 
            +
                constructor(identifier, wire_dpop_challenge, wire_oidc_challenge) {
         | 
| 2056 2149 | 
             
                    const ptr0 = passStringToWasm0(identifier, wasm$1.__wbindgen_malloc, wasm$1.__wbindgen_realloc);
         | 
| 2057 2150 | 
             
                    const len0 = WASM_VECTOR_LEN;
         | 
| 2058 2151 | 
             
                    let ptr1 = 0;
         | 
| 2059 | 
            -
                    if (!isLikeNone( | 
| 2060 | 
            -
                        _assertClass( | 
| 2061 | 
            -
                        ptr1 =  | 
| 2152 | 
            +
                    if (!isLikeNone(wire_dpop_challenge)) {
         | 
| 2153 | 
            +
                        _assertClass(wire_dpop_challenge, AcmeChallenge);
         | 
| 2154 | 
            +
                        ptr1 = wire_dpop_challenge.__destroy_into_raw();
         | 
| 2062 2155 | 
             
                    }
         | 
| 2063 2156 | 
             
                    let ptr2 = 0;
         | 
| 2064 2157 | 
             
                    if (!isLikeNone(wire_oidc_challenge)) {
         | 
| @@ -2087,8 +2180,8 @@ class NewAcmeAuthz { | |
| 2087 2180 | 
             
                /**
         | 
| 2088 2181 | 
             
                * @returns {AcmeChallenge | undefined}
         | 
| 2089 2182 | 
             
                */
         | 
| 2090 | 
            -
                get  | 
| 2091 | 
            -
                    const ret = wasm$1. | 
| 2183 | 
            +
                get wire_dpop_challenge() {
         | 
| 2184 | 
            +
                    const ret = wasm$1.newacmeauthz_wire_dpop_challenge(this.ptr);
         | 
| 2092 2185 | 
             
                    return ret === 0 ? undefined : AcmeChallenge.__wrap(ret);
         | 
| 2093 2186 | 
             
                }
         | 
| 2094 2187 | 
             
                /**
         | 
| @@ -2244,6 +2337,27 @@ async function load(module, imports) { | |
| 2244 2337 | 
             
            function getImports() {
         | 
| 2245 2338 | 
             
                const imports = {};
         | 
| 2246 2339 | 
             
                imports.wbg = {};
         | 
| 2340 | 
            +
                imports.wbg.__wbg_new_f9876326328f45ed = function () {
         | 
| 2341 | 
            +
                    const ret = new Object();
         | 
| 2342 | 
            +
                    return addHeapObject(ret);
         | 
| 2343 | 
            +
                };
         | 
| 2344 | 
            +
                imports.wbg.__wbg_new_b525de17f44a8943 = function () {
         | 
| 2345 | 
            +
                    const ret = new Array();
         | 
| 2346 | 
            +
                    return addHeapObject(ret);
         | 
| 2347 | 
            +
                };
         | 
| 2348 | 
            +
                imports.wbg.__wbg_set_17224bc548dd1d7b = function (arg0, arg1, arg2) {
         | 
| 2349 | 
            +
                    getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
         | 
| 2350 | 
            +
                };
         | 
| 2351 | 
            +
                imports.wbg.__wbg_set_20cbc34131e76824 = function (arg0, arg1, arg2) {
         | 
| 2352 | 
            +
                    getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
         | 
| 2353 | 
            +
                };
         | 
| 2354 | 
            +
                imports.wbg.__wbindgen_object_drop_ref = function (arg0) {
         | 
| 2355 | 
            +
                    takeObject(arg0);
         | 
| 2356 | 
            +
                };
         | 
| 2357 | 
            +
                imports.wbg.__wbindgen_number_new = function (arg0) {
         | 
| 2358 | 
            +
                    const ret = arg0;
         | 
| 2359 | 
            +
                    return addHeapObject(ret);
         | 
| 2360 | 
            +
                };
         | 
| 2247 2361 | 
             
                imports.wbg.__wbindgen_object_clone_ref = function (arg0) {
         | 
| 2248 2362 | 
             
                    const ret = getObject(arg0);
         | 
| 2249 2363 | 
             
                    return addHeapObject(ret);
         | 
| @@ -2253,9 +2367,6 @@ function getImports() { | |
| 2253 2367 | 
             
                    const ret = typeof (val) === 'object' && val !== null;
         | 
| 2254 2368 | 
             
                    return ret;
         | 
| 2255 2369 | 
             
                };
         | 
| 2256 | 
            -
                imports.wbg.__wbindgen_object_drop_ref = function (arg0) {
         | 
| 2257 | 
            -
                    takeObject(arg0);
         | 
| 2258 | 
            -
                };
         | 
| 2259 2370 | 
             
                imports.wbg.__wbg_getwithrefkey_15c62c2b8546208d = function (arg0, arg1) {
         | 
| 2260 2371 | 
             
                    const ret = getObject(arg0)[getObject(arg1)];
         | 
| 2261 2372 | 
             
                    return addHeapObject(ret);
         | 
| @@ -2296,42 +2407,16 @@ function getImports() { | |
| 2296 2407 | 
             
                    const ret = getObject(arg0).length;
         | 
| 2297 2408 | 
             
                    return ret;
         | 
| 2298 2409 | 
             
                };
         | 
| 2410 | 
            +
                imports.wbg.__wbg_new_537b7341ce90bb31 = function (arg0) {
         | 
| 2411 | 
            +
                    const ret = new Uint8Array(getObject(arg0));
         | 
| 2412 | 
            +
                    return addHeapObject(ret);
         | 
| 2413 | 
            +
                };
         | 
| 2299 2414 | 
             
                imports.wbg.__wbg_call_9495de66fdbe016b = function () {
         | 
| 2300 2415 | 
             
                    return handleError(function (arg0, arg1, arg2) {
         | 
| 2301 2416 | 
             
                        const ret = getObject(arg0).call(getObject(arg1), getObject(arg2));
         | 
| 2302 2417 | 
             
                        return addHeapObject(ret);
         | 
| 2303 2418 | 
             
                    }, arguments);
         | 
| 2304 2419 | 
             
                };
         | 
| 2305 | 
            -
                imports.wbg.__wbg_new_537b7341ce90bb31 = function (arg0) {
         | 
| 2306 | 
            -
                    const ret = new Uint8Array(getObject(arg0));
         | 
| 2307 | 
            -
                    return addHeapObject(ret);
         | 
| 2308 | 
            -
                };
         | 
| 2309 | 
            -
                imports.wbg.__wbindgen_bigint_from_u64 = function (arg0) {
         | 
| 2310 | 
            -
                    const ret = BigInt.asUintN(64, arg0);
         | 
| 2311 | 
            -
                    return addHeapObject(ret);
         | 
| 2312 | 
            -
                };
         | 
| 2313 | 
            -
                imports.wbg.__wbg_new_f9876326328f45ed = function () {
         | 
| 2314 | 
            -
                    const ret = new Object();
         | 
| 2315 | 
            -
                    return addHeapObject(ret);
         | 
| 2316 | 
            -
                };
         | 
| 2317 | 
            -
                imports.wbg.__wbg_new_b525de17f44a8943 = function () {
         | 
| 2318 | 
            -
                    const ret = new Array();
         | 
| 2319 | 
            -
                    return addHeapObject(ret);
         | 
| 2320 | 
            -
                };
         | 
| 2321 | 
            -
                imports.wbg.__wbg_set_17224bc548dd1d7b = function (arg0, arg1, arg2) {
         | 
| 2322 | 
            -
                    getObject(arg0)[arg1 >>> 0] = takeObject(arg2);
         | 
| 2323 | 
            -
                };
         | 
| 2324 | 
            -
                imports.wbg.__wbg_set_20cbc34131e76824 = function (arg0, arg1, arg2) {
         | 
| 2325 | 
            -
                    getObject(arg0)[takeObject(arg1)] = takeObject(arg2);
         | 
| 2326 | 
            -
                };
         | 
| 2327 | 
            -
                imports.wbg.__wbindgen_number_new = function (arg0) {
         | 
| 2328 | 
            -
                    const ret = arg0;
         | 
| 2329 | 
            -
                    return addHeapObject(ret);
         | 
| 2330 | 
            -
                };
         | 
| 2331 | 
            -
                imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
         | 
| 2332 | 
            -
                    const ret = FfiWireE2EIdentity.__wrap(arg0);
         | 
| 2333 | 
            -
                    return addHeapObject(ret);
         | 
| 2334 | 
            -
                };
         | 
| 2335 2420 | 
             
                imports.wbg.__wbg_new_9d3a9ce4282a18a8 = function (arg0, arg1) {
         | 
| 2336 2421 | 
             
                    try {
         | 
| 2337 2422 | 
             
                        var state0 = { a: arg0, b: arg1 };
         | 
| @@ -2339,7 +2424,7 @@ function getImports() { | |
| 2339 2424 | 
             
                            const a = state0.a;
         | 
| 2340 2425 | 
             
                            state0.a = 0;
         | 
| 2341 2426 | 
             
                            try {
         | 
| 2342 | 
            -
                                return  | 
| 2427 | 
            +
                                return __wbg_adapter_268(a, state0.b, arg0, arg1);
         | 
| 2343 2428 | 
             
                            }
         | 
| 2344 2429 | 
             
                            finally {
         | 
| 2345 2430 | 
             
                                state0.a = a;
         | 
| @@ -2352,6 +2437,10 @@ function getImports() { | |
| 2352 2437 | 
             
                        state0.a = state0.b = 0;
         | 
| 2353 2438 | 
             
                    }
         | 
| 2354 2439 | 
             
                };
         | 
| 2440 | 
            +
                imports.wbg.__wbg_ffiwiree2eidentity_new = function (arg0) {
         | 
| 2441 | 
            +
                    const ret = FfiWireE2EIdentity.__wrap(arg0);
         | 
| 2442 | 
            +
                    return addHeapObject(ret);
         | 
| 2443 | 
            +
                };
         | 
| 2355 2444 | 
             
                imports.wbg.__wbg_push_49c286f04dd3bf59 = function (arg0, arg1) {
         | 
| 2356 2445 | 
             
                    const ret = getObject(arg0).push(getObject(arg1));
         | 
| 2357 2446 | 
             
                    return ret;
         | 
| @@ -2364,6 +2453,10 @@ function getImports() { | |
| 2364 2453 | 
             
                    const ret = getObject(arg0).set(getObject(arg1), getObject(arg2));
         | 
| 2365 2454 | 
             
                    return addHeapObject(ret);
         | 
| 2366 2455 | 
             
                };
         | 
| 2456 | 
            +
                imports.wbg.__wbindgen_bigint_from_u64 = function (arg0) {
         | 
| 2457 | 
            +
                    const ret = BigInt.asUintN(64, arg0);
         | 
| 2458 | 
            +
                    return addHeapObject(ret);
         | 
| 2459 | 
            +
                };
         | 
| 2367 2460 | 
             
                imports.wbg.__wbg_setonsuccess_925a7718d3f62bc1 = function (arg0, arg1) {
         | 
| 2368 2461 | 
             
                    getObject(arg0).onsuccess = getObject(arg1);
         | 
| 2369 2462 | 
             
                };
         | 
| @@ -2448,8 +2541,8 @@ function getImports() { | |
| 2448 2541 | 
             
                        return addHeapObject(ret);
         | 
| 2449 2542 | 
             
                    }, arguments);
         | 
| 2450 2543 | 
             
                };
         | 
| 2451 | 
            -
                imports.wbg. | 
| 2452 | 
            -
                    const ret =  | 
| 2544 | 
            +
                imports.wbg.__wbg_now_78244d2ced74c026 = function () {
         | 
| 2545 | 
            +
                    const ret = performance.now();
         | 
| 2453 2546 | 
             
                    return ret;
         | 
| 2454 2547 | 
             
                };
         | 
| 2455 2548 | 
             
                imports.wbg.__wbg_reject_57029f54148d79c3 = function (arg0) {
         | 
| @@ -2464,10 +2557,6 @@ function getImports() { | |
| 2464 2557 | 
             
                    const ret = Date.now();
         | 
| 2465 2558 | 
             
                    return ret;
         | 
| 2466 2559 | 
             
                };
         | 
| 2467 | 
            -
                imports.wbg.__wbg_now_78244d2ced74c026 = function () {
         | 
| 2468 | 
            -
                    const ret = performance.now();
         | 
| 2469 | 
            -
                    return ret;
         | 
| 2470 | 
            -
                };
         | 
| 2471 2560 | 
             
                imports.wbg.__wbg_new_abda76e883ba8a5f = function () {
         | 
| 2472 2561 | 
             
                    const ret = new Error();
         | 
| 2473 2562 | 
             
                    return addHeapObject(ret);
         | 
| @@ -2642,10 +2731,6 @@ function getImports() { | |
| 2642 2731 | 
             
                    const ret = new Uint8Array(arg0 >>> 0);
         | 
| 2643 2732 | 
             
                    return addHeapObject(ret);
         | 
| 2644 2733 | 
             
                };
         | 
| 2645 | 
            -
                imports.wbg.__wbg_charCodeAt_d78a90aced59e02f = function (arg0, arg1) {
         | 
| 2646 | 
            -
                    const ret = getObject(arg0).charCodeAt(arg1 >>> 0);
         | 
| 2647 | 
            -
                    return ret;
         | 
| 2648 | 
            -
                };
         | 
| 2649 2734 | 
             
                imports.wbg.__wbg_next_88560ec06a094dea = function () {
         | 
| 2650 2735 | 
             
                    return handleError(function (arg0) {
         | 
| 2651 2736 | 
             
                        const ret = getObject(arg0).next();
         | 
| @@ -2727,12 +2812,6 @@ function getImports() { | |
| 2727 2812 | 
             
                    const ret = getObject(arg0).target;
         | 
| 2728 2813 | 
             
                    return isLikeNone(ret) ? 0 : addHeapObject(ret);
         | 
| 2729 2814 | 
             
                };
         | 
| 2730 | 
            -
                imports.wbg.__wbg_error_f64b8d41ed4d2fdc = function () {
         | 
| 2731 | 
            -
                    return handleError(function (arg0) {
         | 
| 2732 | 
            -
                        const ret = getObject(arg0).error;
         | 
| 2733 | 
            -
                        return isLikeNone(ret) ? 0 : addHeapObject(ret);
         | 
| 2734 | 
            -
                    }, arguments);
         | 
| 2735 | 
            -
                };
         | 
| 2736 2815 | 
             
                imports.wbg.__wbg_result_3a1fef332bc47038 = function () {
         | 
| 2737 2816 | 
             
                    return handleError(function (arg0) {
         | 
| 2738 2817 | 
             
                        const ret = getObject(arg0).result;
         | 
| @@ -2773,6 +2852,12 @@ function getImports() { | |
| 2773 2852 | 
             
                        getObject(arg0).deleteObjectStore(getStringFromWasm0(arg1, arg2));
         | 
| 2774 2853 | 
             
                    }, arguments);
         | 
| 2775 2854 | 
             
                };
         | 
| 2855 | 
            +
                imports.wbg.__wbg_error_f64b8d41ed4d2fdc = function () {
         | 
| 2856 | 
            +
                    return handleError(function (arg0) {
         | 
| 2857 | 
            +
                        const ret = getObject(arg0).error;
         | 
| 2858 | 
            +
                        return isLikeNone(ret) ? 0 : addHeapObject(ret);
         | 
| 2859 | 
            +
                    }, arguments);
         | 
| 2860 | 
            +
                };
         | 
| 2776 2861 | 
             
                imports.wbg.__wbindgen_is_falsy = function (arg0) {
         | 
| 2777 2862 | 
             
                    const ret = !getObject(arg0);
         | 
| 2778 2863 | 
             
                    return ret;
         | 
| @@ -2818,29 +2903,6 @@ function getImports() { | |
| 2818 2903 | 
             
                    const ret = getObject(arg0).toString();
         | 
| 2819 2904 | 
             
                    return addHeapObject(ret);
         | 
| 2820 2905 | 
             
                };
         | 
| 2821 | 
            -
                imports.wbg.__wbg_instanceof_Window_e266f02eee43b570 = function (arg0) {
         | 
| 2822 | 
            -
                    let result;
         | 
| 2823 | 
            -
                    try {
         | 
| 2824 | 
            -
                        result = getObject(arg0) instanceof Window;
         | 
| 2825 | 
            -
                    }
         | 
| 2826 | 
            -
                    catch {
         | 
| 2827 | 
            -
                        result = false;
         | 
| 2828 | 
            -
                    }
         | 
| 2829 | 
            -
                    const ret = result;
         | 
| 2830 | 
            -
                    return ret;
         | 
| 2831 | 
            -
                };
         | 
| 2832 | 
            -
                imports.wbg.__wbg_crypto_71b946c90b06fb5b = function () {
         | 
| 2833 | 
            -
                    return handleError(function (arg0) {
         | 
| 2834 | 
            -
                        const ret = getObject(arg0).crypto;
         | 
| 2835 | 
            -
                        return addHeapObject(ret);
         | 
| 2836 | 
            -
                    }, arguments);
         | 
| 2837 | 
            -
                };
         | 
| 2838 | 
            -
                imports.wbg.__wbg_getRandomValues_2a91ccd2d6c499b0 = function () {
         | 
| 2839 | 
            -
                    return handleError(function (arg0, arg1, arg2) {
         | 
| 2840 | 
            -
                        const ret = getObject(arg0).getRandomValues(getArrayU8FromWasm0(arg1, arg2));
         | 
| 2841 | 
            -
                        return addHeapObject(ret);
         | 
| 2842 | 
            -
                    }, arguments);
         | 
| 2843 | 
            -
                };
         | 
| 2844 2906 | 
             
                imports.wbg.__wbg_instanceof_Uint8Array_01cebe79ca606cca = function (arg0) {
         | 
| 2845 2907 | 
             
                    let result;
         | 
| 2846 2908 | 
             
                    try {
         | 
| @@ -2888,6 +2950,10 @@ function getImports() { | |
| 2888 2950 | 
             
                    const ret = getObject(arg0).then(getObject(arg1));
         | 
| 2889 2951 | 
             
                    return addHeapObject(ret);
         | 
| 2890 2952 | 
             
                };
         | 
| 2953 | 
            +
                imports.wbg.__wbg_then_f753623316e2873a = function (arg0, arg1, arg2) {
         | 
| 2954 | 
            +
                    const ret = getObject(arg0).then(getObject(arg1), getObject(arg2));
         | 
| 2955 | 
            +
                    return addHeapObject(ret);
         | 
| 2956 | 
            +
                };
         | 
| 2891 2957 | 
             
                imports.wbg.__wbg_resolve_fd40f858d9db1a04 = function (arg0) {
         | 
| 2892 2958 | 
             
                    const ret = Promise.resolve(getObject(arg0));
         | 
| 2893 2959 | 
             
                    return addHeapObject(ret);
         | 
| @@ -2952,12 +3018,12 @@ function getImports() { | |
| 2952 3018 | 
             
                        return addHeapObject(ret);
         | 
| 2953 3019 | 
             
                    }, arguments);
         | 
| 2954 3020 | 
             
                };
         | 
| 2955 | 
            -
                imports.wbg. | 
| 2956 | 
            -
                    const ret = makeMutClosure(arg0, arg1,  | 
| 3021 | 
            +
                imports.wbg.__wbindgen_closure_wrapper4410 = function (arg0, arg1, arg2) {
         | 
| 3022 | 
            +
                    const ret = makeMutClosure(arg0, arg1, 143, __wbg_adapter_52);
         | 
| 2957 3023 | 
             
                    return addHeapObject(ret);
         | 
| 2958 3024 | 
             
                };
         | 
| 2959 | 
            -
                imports.wbg. | 
| 2960 | 
            -
                    const ret = makeMutClosure(arg0, arg1,  | 
| 3025 | 
            +
                imports.wbg.__wbindgen_closure_wrapper4895 = function (arg0, arg1, arg2) {
         | 
| 3026 | 
            +
                    const ret = makeMutClosure(arg0, arg1, 143, __wbg_adapter_55);
         | 
| 2961 3027 | 
             
                    return addHeapObject(ret);
         | 
| 2962 3028 | 
             
                };
         | 
| 2963 3029 | 
             
                return imports;
         | 
| @@ -3011,14 +3077,13 @@ var exports = /*#__PURE__*/Object.freeze({ | |
| 3011 3077 | 
             
                PublicGroupStateBundle: PublicGroupStateBundle,
         | 
| 3012 3078 | 
             
                WirePolicy: WirePolicy$1,
         | 
| 3013 3079 | 
             
                default: init,
         | 
| 3014 | 
            -
                initSync: initSync | 
| 3015 | 
            -
                version: version
         | 
| 3080 | 
            +
                initSync: initSync
         | 
| 3016 3081 | 
             
            });
         | 
| 3017 3082 |  | 
| 3018 3083 | 
             
            var wasm = async (opt = {}) => {
         | 
| 3019 3084 | 
             
                            let {importHook, serverPath} = opt;
         | 
| 3020 3085 |  | 
| 3021 | 
            -
                            let path = "assets/core_crypto_ffi- | 
| 3086 | 
            +
                            let path = "assets/core_crypto_ffi-49b28313.wasm";
         | 
| 3022 3087 |  | 
| 3023 3088 | 
             
                            if (serverPath != null) {
         | 
| 3024 3089 | 
             
                                path = serverPath + /[^\/\\]*$/.exec(path)[0];
         | 
| @@ -3034,7 +3099,7 @@ var wasm = async (opt = {}) => { | |
| 3034 3099 |  | 
| 3035 3100 | 
             
            // Wire
         | 
| 3036 3101 | 
             
            // Copyright (C) 2022 Wire Swiss GmbH
         | 
| 3037 | 
            -
            var _a, _CoreCrypto_module, _CoreCrypto_cc, _WireE2eIdentity_e2ei;
         | 
| 3102 | 
            +
            var _a, _CoreCrypto_module, _CoreCrypto_cc, _CoreCrypto_assertModuleLoaded, _WireE2eIdentity_e2ei;
         | 
| 3038 3103 | 
             
            /**
         | 
| 3039 3104 | 
             
             * Error wrapper that takes care of extracting rich error details across the FFI (through JSON parsing)
         | 
| 3040 3105 | 
             
             *
         | 
| @@ -3054,7 +3119,7 @@ class CoreCryptoError extends Error { | |
| 3054 3119 | 
             
                    this.proteusErrorCode = richError.proteusErrorCode;
         | 
| 3055 3120 | 
             
                }
         | 
| 3056 3121 | 
             
                static fallback(msg, ...params) {
         | 
| 3057 | 
            -
                    console.warn( | 
| 3122 | 
            +
                    console.warn(`Cannot build CoreCryptoError, falling back to standard Error! ctx: ${msg}`);
         | 
| 3058 3123 | 
             
                    // @ts-ignore
         | 
| 3059 3124 | 
             
                    return new Error(msg, ...params);
         | 
| 3060 3125 | 
             
                }
         | 
| @@ -3277,6 +3342,26 @@ class CoreCrypto { | |
| 3277 3342 | 
             
                async mlsInit(clientId) {
         | 
| 3278 3343 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").mls_init(clientId));
         | 
| 3279 3344 | 
             
                }
         | 
| 3345 | 
            +
                /**
         | 
| 3346 | 
            +
                 * Generates a MLS KeyPair/CredentialBundle with a temporary, random client ID.
         | 
| 3347 | 
            +
                 * This method is designed to be used in conjunction with {@link CoreCrypto.mlsInitWithClientID} and represents the first step in this process
         | 
| 3348 | 
            +
                 *
         | 
| 3349 | 
            +
                 * @returns This returns the TLS-serialized identity key (i.e. the signature keypair's public key)
         | 
| 3350 | 
            +
                 */
         | 
| 3351 | 
            +
                async mlsGenerateKeypair() {
         | 
| 3352 | 
            +
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").mls_generate_keypair());
         | 
| 3353 | 
            +
                }
         | 
| 3354 | 
            +
                /**
         | 
| 3355 | 
            +
                 * Updates the current temporary Client ID with the newly provided one. This is the second step in the externally-generated clients process
         | 
| 3356 | 
            +
                 *
         | 
| 3357 | 
            +
                 * Important: This is designed to be called after {@link CoreCrypto.mlsGenerateKeyPair}
         | 
| 3358 | 
            +
                 *
         | 
| 3359 | 
            +
                 * @param clientId - The newly-allocated client ID by the MLS Authentication Service
         | 
| 3360 | 
            +
                 * @param signaturePublicKey - The public key you were given at the first step; This is for authentication purposes
         | 
| 3361 | 
            +
                 */
         | 
| 3362 | 
            +
                async mlsInitWithClientId(clientId, signaturePublicKey) {
         | 
| 3363 | 
            +
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").mls_init_with_client_id(clientId, signaturePublicKey));
         | 
| 3364 | 
            +
                }
         | 
| 3280 3365 | 
             
                /** @hidden */
         | 
| 3281 3366 | 
             
                constructor(cc) {
         | 
| 3282 3367 | 
             
                    /** @hidden */
         | 
| @@ -3304,10 +3389,10 @@ class CoreCrypto { | |
| 3304 3389 | 
             
                 *
         | 
| 3305 3390 | 
             
                 * @param callbacks - Any interface following the {@link CoreCryptoCallbacks} interface
         | 
| 3306 3391 | 
             
                 */
         | 
| 3307 | 
            -
                registerCallbacks(callbacks) {
         | 
| 3392 | 
            +
                async registerCallbacks(callbacks, ctx = null) {
         | 
| 3308 3393 | 
             
                    try {
         | 
| 3309 | 
            -
                        const wasmCallbacks = new (__classPrivateFieldGet(CoreCrypto, _a, "f", _CoreCrypto_module).CoreCryptoWasmCallbacks)(callbacks.authorize, callbacks.userAuthorize, callbacks.clientIsExistingGroupUser);
         | 
| 3310 | 
            -
                        __classPrivateFieldGet(this, _CoreCrypto_cc, "f").set_callbacks(wasmCallbacks);
         | 
| 3394 | 
            +
                        const wasmCallbacks = new (__classPrivateFieldGet(CoreCrypto, _a, "f", _CoreCrypto_module).CoreCryptoWasmCallbacks)(callbacks.authorize, callbacks.userAuthorize, callbacks.clientIsExistingGroupUser, ctx);
         | 
| 3395 | 
            +
                        await __classPrivateFieldGet(this, _CoreCrypto_cc, "f").set_callbacks(wasmCallbacks);
         | 
| 3311 3396 | 
             
                    }
         | 
| 3312 3397 | 
             
                    catch (e) {
         | 
| 3313 3398 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -3385,6 +3470,9 @@ class CoreCrypto { | |
| 3385 3470 | 
             
                 * @returns a {@link DecryptedMessage}. Note that {@link DecryptedMessage#message} is `undefined` when the encrypted payload contains a system message such a proposal or commit
         | 
| 3386 3471 | 
             
                 */
         | 
| 3387 3472 | 
             
                async decryptMessage(conversationId, payload) {
         | 
| 3473 | 
            +
                    if (!payload?.length) {
         | 
| 3474 | 
            +
                        throw new Error("decryptMessage payload is empty or null");
         | 
| 3475 | 
            +
                    }
         | 
| 3388 3476 | 
             
                    try {
         | 
| 3389 3477 | 
             
                        const ffiDecryptedMessage = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").decrypt_message(conversationId, payload));
         | 
| 3390 3478 | 
             
                        const commitDelay = ffiDecryptedMessage.commit_delay ?
         | 
| @@ -3865,11 +3953,26 @@ class CoreCrypto { | |
| 3865 3953 | 
             
                /**
         | 
| 3866 3954 | 
             
                 * Creates a new prekey with an automatically generated ID..
         | 
| 3867 3955 | 
             
                 *
         | 
| 3868 | 
            -
                 * @returns | 
| 3956 | 
            +
                 * @returns A CBOR-serialized version of the PreKeyBundle corresponding to the newly generated and stored PreKey
         | 
| 3869 3957 | 
             
                 */
         | 
| 3870 3958 | 
             
                async proteusNewPrekeyAuto() {
         | 
| 3871 3959 | 
             
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").proteus_new_prekey_auto());
         | 
| 3872 3960 | 
             
                }
         | 
| 3961 | 
            +
                /**
         | 
| 3962 | 
            +
                 * Proteus last resort prekey stuff
         | 
| 3963 | 
            +
                 *
         | 
| 3964 | 
            +
                 * @returns A CBOR-serialize version of the PreKeyBundle associated with the last resort PreKey (holding the last resort prekey id)
         | 
| 3965 | 
            +
                 */
         | 
| 3966 | 
            +
                async proteusLastResortPrekey() {
         | 
| 3967 | 
            +
                    return await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").proteus_last_resort_prekey());
         | 
| 3968 | 
            +
                }
         | 
| 3969 | 
            +
                /**
         | 
| 3970 | 
            +
                 * @returns The last resort PreKey id
         | 
| 3971 | 
            +
                 */
         | 
| 3972 | 
            +
                static proteusLastResortPrekeyId() {
         | 
| 3973 | 
            +
                    __classPrivateFieldGet(this, _a, "m", _CoreCrypto_assertModuleLoaded).call(this);
         | 
| 3974 | 
            +
                    return __classPrivateFieldGet(this, _a, "f", _CoreCrypto_module).CoreCrypto.proteus_last_resort_prekey_id();
         | 
| 3975 | 
            +
                }
         | 
| 3873 3976 | 
             
                /**
         | 
| 3874 3977 | 
             
                 * Proteus public key fingerprint
         | 
| 3875 3978 | 
             
                 * It's basically the public key encoded as an hex string
         | 
| @@ -3929,13 +4032,16 @@ class CoreCrypto { | |
| 3929 4032 | 
             
                /**
         | 
| 3930 4033 | 
             
                 * Creates an enrollment instance with private key material you can use in order to fetch
         | 
| 3931 4034 | 
             
                 * a new x509 certificate from the acme server.
         | 
| 3932 | 
            -
                 * Make sure to call  | 
| 4035 | 
            +
                 * Make sure to call {@link WireE2eIdentity.free} to dispose this instance and its associated
         | 
| 3933 4036 | 
             
                 * keying material.
         | 
| 3934 4037 | 
             
                 *
         | 
| 3935 4038 | 
             
                 * @param ciphersuite - For generating signing key material. Only {@link Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519} is supported currently
         | 
| 3936 4039 | 
             
                 */
         | 
| 3937 | 
            -
                async newAcmeEnrollment() {
         | 
| 3938 | 
            -
                     | 
| 4040 | 
            +
                async newAcmeEnrollment(ciphersuite = Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519) {
         | 
| 4041 | 
            +
                    if (ciphersuite !== Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519) {
         | 
| 4042 | 
            +
                        throw new Error("This ACME ciphersuite isn't supported. Only `Ciphersuite.MLS_128_DHKEMX25519_AES128GCM_SHA256_Ed25519` is as of now");
         | 
| 4043 | 
            +
                    }
         | 
| 4044 | 
            +
                    const e2ei = await CoreCryptoError.asyncMapErr(__classPrivateFieldGet(this, _CoreCrypto_cc, "f").new_acme_enrollment(ciphersuite));
         | 
| 3939 4045 | 
             
                    return new WireE2eIdentity(e2ei);
         | 
| 3940 4046 | 
             
                }
         | 
| 3941 4047 | 
             
                /**
         | 
| @@ -3944,13 +4050,15 @@ class CoreCrypto { | |
| 3944 4050 | 
             
                 * @returns The `core-crypto-ffi` version as defined in its `Cargo.toml` file
         | 
| 3945 4051 | 
             
                 */
         | 
| 3946 4052 | 
             
                static version() {
         | 
| 3947 | 
            -
                     | 
| 3948 | 
            -
             | 
| 3949 | 
            -
                    }
         | 
| 3950 | 
            -
                    return __classPrivateFieldGet(this, _a, "f", _CoreCrypto_module).version();
         | 
| 4053 | 
            +
                    __classPrivateFieldGet(this, _a, "m", _CoreCrypto_assertModuleLoaded).call(this);
         | 
| 4054 | 
            +
                    return __classPrivateFieldGet(this, _a, "f", _CoreCrypto_module).CoreCrypto.version();
         | 
| 3951 4055 | 
             
                }
         | 
| 3952 4056 | 
             
            }
         | 
| 3953 | 
            -
            _a = CoreCrypto, _CoreCrypto_cc = new WeakMap() | 
| 4057 | 
            +
            _a = CoreCrypto, _CoreCrypto_cc = new WeakMap(), _CoreCrypto_assertModuleLoaded = function _CoreCrypto_assertModuleLoaded() {
         | 
| 4058 | 
            +
                if (!__classPrivateFieldGet(this, _a, "f", _CoreCrypto_module)) {
         | 
| 4059 | 
            +
                    throw new Error("Internal module hasn't been initialized. Please use `await CoreCrypto.init(params)` or `await CoreCrypto.deferredInit(params)` !");
         | 
| 4060 | 
            +
                }
         | 
| 4061 | 
            +
            };
         | 
| 3954 4062 | 
             
            /** @hidden */
         | 
| 3955 4063 | 
             
            _CoreCrypto_module = { value: void 0 };
         | 
| 3956 4064 | 
             
            class WireE2eIdentity {
         | 
| @@ -3960,6 +4068,9 @@ class WireE2eIdentity { | |
| 3960 4068 | 
             
                    _WireE2eIdentity_e2ei.set(this, void 0);
         | 
| 3961 4069 | 
             
                    __classPrivateFieldSet(this, _WireE2eIdentity_e2ei, e2ei, "f");
         | 
| 3962 4070 | 
             
                }
         | 
| 4071 | 
            +
                free() {
         | 
| 4072 | 
            +
                    __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").free();
         | 
| 4073 | 
            +
                }
         | 
| 3963 4074 | 
             
                /**
         | 
| 3964 4075 | 
             
                 * Parses the response from `GET /acme/{provisioner-name}/directory`.
         | 
| 3965 4076 | 
             
                 * Use this {@link AcmeDirectory} in the next step to fetch the first nonce from the acme server. Use
         | 
| @@ -4008,17 +4119,19 @@ class WireE2eIdentity { | |
| 4008 4119 | 
             
                /**
         | 
| 4009 4120 | 
             
                 * Creates a new acme order for the handle (userId + display name) and the clientId.
         | 
| 4010 4121 | 
             
                 *
         | 
| 4011 | 
            -
                 * @param  | 
| 4012 | 
            -
                 * @param  | 
| 4122 | 
            +
                 * @param displayName human readable name displayed in the application e.g. `Smith, Alice M (QA)`
         | 
| 4123 | 
            +
                 * @param domain DNS name of owning backend e.g. `example.com`
         | 
| 4124 | 
            +
                 * @param clientId client identifier with user b64Url encoded & clientId hex encoded e.g. `impp:wireapp=NDUyMGUyMmY2YjA3NGU3NjkyZjE1NjJjZTAwMmQ2NTQ/6add501bacd1d90e@example.com`
         | 
| 4125 | 
            +
                 * @param handle user handle e.g. `impp:wireapp=alice.smith.qa@example.com`
         | 
| 4013 4126 | 
             
                 * @param expiryDays generated x509 certificate expiry
         | 
| 4014 4127 | 
             
                 * @param directory you got from {@link directoryResponse}
         | 
| 4015 4128 | 
             
                 * @param account you got from {@link newAccountResponse}
         | 
| 4016 4129 | 
             
                 * @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/new-account`
         | 
| 4017 4130 | 
             
                 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
         | 
| 4018 4131 | 
             
                 */
         | 
| 4019 | 
            -
                newOrderRequest( | 
| 4132 | 
            +
                newOrderRequest(displayName, domain, clientId, handle, expiryDays, directory, account, previousNonce) {
         | 
| 4020 4133 | 
             
                    try {
         | 
| 4021 | 
            -
                        return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_order_request( | 
| 4134 | 
            +
                        return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_order_request(displayName, domain, clientId, handle, expiryDays, directory, account, previousNonce);
         | 
| 4022 4135 | 
             
                    }
         | 
| 4023 4136 | 
             
                    catch (e) {
         | 
| 4024 4137 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4098,16 +4211,34 @@ class WireE2eIdentity { | |
| 4098 4211 | 
             
                    }
         | 
| 4099 4212 | 
             
                }
         | 
| 4100 4213 | 
             
                /**
         | 
| 4101 | 
            -
                 * Creates a new challenge request.
         | 
| 4214 | 
            +
                 * Creates a new challenge request for Wire Dpop challenge.
         | 
| 4215 | 
            +
                 *
         | 
| 4216 | 
            +
                 * @param accessToken returned by wire-server from https://staging-nginz-https.zinfra.io/api/swagger-ui/#/default/post_clients__cid__access_token
         | 
| 4217 | 
            +
                 * @param dpopChallenge you found after {@link newAuthzResponse}
         | 
| 4218 | 
            +
                 * @param account you found after {@link newAccountResponse}
         | 
| 4219 | 
            +
                 * @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
         | 
| 4220 | 
            +
                 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
         | 
| 4221 | 
            +
                 */
         | 
| 4222 | 
            +
                newDpopChallengeRequest(accessToken, dpopChallenge, account, previousNonce) {
         | 
| 4223 | 
            +
                    try {
         | 
| 4224 | 
            +
                        return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_dpop_challenge_request(accessToken, dpopChallenge, account, previousNonce);
         | 
| 4225 | 
            +
                    }
         | 
| 4226 | 
            +
                    catch (e) {
         | 
| 4227 | 
            +
                        throw CoreCryptoError.fromStdError(e);
         | 
| 4228 | 
            +
                    }
         | 
| 4229 | 
            +
                }
         | 
| 4230 | 
            +
                /**
         | 
| 4231 | 
            +
                 * Creates a new challenge request for Wire Oidc challenge.
         | 
| 4102 4232 | 
             
                 *
         | 
| 4103 | 
            -
                 * @param  | 
| 4233 | 
            +
                 * @param idToken you get back from Identity Provider
         | 
| 4234 | 
            +
                 * @param oidcChallenge you found after {@link newAuthzResponse}
         | 
| 4104 4235 | 
             
                 * @param account you found after {@link newAccountResponse}
         | 
| 4105 4236 | 
             
                 * @param previousNonce `replay-nonce` response header from `POST /acme/{provisioner-name}/authz/{authz-id}`
         | 
| 4106 4237 | 
             
                 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.5.1
         | 
| 4107 4238 | 
             
                 */
         | 
| 4108 | 
            -
                 | 
| 4239 | 
            +
                newOidcChallengeRequest(idToken, oidcChallenge, account, previousNonce) {
         | 
| 4109 4240 | 
             
                    try {
         | 
| 4110 | 
            -
                        return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f"). | 
| 4241 | 
            +
                        return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").new_oidc_challenge_request(idToken, oidcChallenge, account, previousNonce);
         | 
| 4111 4242 | 
             
                    }
         | 
| 4112 4243 | 
             
                    catch (e) {
         | 
| 4113 4244 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| @@ -4160,15 +4291,14 @@ class WireE2eIdentity { | |
| 4160 4291 | 
             
                /**
         | 
| 4161 4292 | 
             
                 * Final step before fetching the certificate.
         | 
| 4162 4293 | 
             
                 *
         | 
| 4163 | 
            -
                 * @param domains - domains you want to generate a certificate for e.g. `["wire.com"]`
         | 
| 4164 4294 | 
             
                 * @param order - order you got from {@link checkOrderResponse}
         | 
| 4165 4295 | 
             
                 * @param account - account you found after {@link newAccountResponse}
         | 
| 4166 4296 | 
             
                 * @param previousNonce - `replay-nonce` response header from `POST /acme/{provisioner-name}/order/{order-id}`
         | 
| 4167 4297 | 
             
                 * @see https://www.rfc-editor.org/rfc/rfc8555.html#section-7.4
         | 
| 4168 4298 | 
             
                 */
         | 
| 4169 | 
            -
                finalizeRequest( | 
| 4299 | 
            +
                finalizeRequest(order, account, previousNonce) {
         | 
| 4170 4300 | 
             
                    try {
         | 
| 4171 | 
            -
                        return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").finalize_request( | 
| 4301 | 
            +
                        return __classPrivateFieldGet(this, _WireE2eIdentity_e2ei, "f").finalize_request(order, account, previousNonce);
         | 
| 4172 4302 | 
             
                    }
         | 
| 4173 4303 | 
             
                    catch (e) {
         | 
| 4174 4304 | 
             
                        throw CoreCryptoError.fromStdError(e);
         | 
| Binary file |