@wireapp/core-crypto 9.0.1 → 9.1.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
|
@@ -159,6 +159,8 @@ export const __wbg_databasekey_free: (a: number, b: number) => void;
|
|
159
159
|
export const databasekey_new: (a: number, b: number) => [number, number, number];
|
160
160
|
export const migrateDatabaseKeyTypeToBytes: (a: number, b: number, c: number, d: number, e: number) => any;
|
161
161
|
export const updateDatabaseKey: (a: number, b: number, c: number, d: number) => any;
|
162
|
+
export const __wbg_database_free: (a: number, b: number) => void;
|
163
|
+
export const openDatabase: (a: number, b: number, c: number) => any;
|
162
164
|
export const __wbg_decryptedmessage_free: (a: number, b: number) => void;
|
163
165
|
export const __wbg_get_decryptedmessage_isActive: (a: number) => number;
|
164
166
|
export const __wbg_get_decryptedmessage_hasEpochChanged: (a: number) => number;
|
@@ -244,11 +246,11 @@ export const __wbg_get_decryptedmessage_senderClientId: (a: number) => number;
|
|
244
246
|
export const __wbg_get_decryptedmessage_identity: (a: number) => number;
|
245
247
|
export const __wbg_get_decryptedmessage_commitDelay: (a: number) => [number, bigint];
|
246
248
|
export const __wbg_get_decryptedmessage_message: (a: number) => [number, number];
|
249
|
+
export const secretkey_new: (a: number, b: number) => number;
|
247
250
|
export const keypackage_new: (a: number, b: number) => number;
|
248
|
-
export const groupinfo_new: (a: number, b: number) => number;
|
249
|
-
export const conversationid_new: (a: number, b: number) => number;
|
250
251
|
export const welcome_new: (a: number, b: number) => number;
|
251
|
-
export const
|
252
|
+
export const conversationid_new: (a: number, b: number) => number;
|
253
|
+
export const groupinfo_new: (a: number, b: number) => number;
|
252
254
|
export const externalsenderkey_new: (a: number, b: number) => number;
|
253
255
|
export const __wbg_proteusautoprekeybundle_free: (a: number, b: number) => void;
|
254
256
|
export const __wbg_welcome_free: (a: number, b: number) => void;
|
@@ -265,11 +267,11 @@ export const __wbindgen_exn_store: (a: number) => void;
|
|
265
267
|
export const __externref_table_alloc: () => number;
|
266
268
|
export const __wbindgen_export_4: WebAssembly.Table;
|
267
269
|
export const __wbindgen_free: (a: number, b: number, c: number) => void;
|
270
|
+
export const __wbindgen_export_6: WebAssembly.Table;
|
268
271
|
export const __externref_drop_slice: (a: number, b: number) => void;
|
269
|
-
export const __wbindgen_export_7: WebAssembly.Table;
|
270
272
|
export const __externref_table_dealloc: (a: number) => void;
|
271
|
-
export const
|
272
|
-
export const
|
273
|
-
export const
|
274
|
-
export const
|
273
|
+
export const closure2587_externref_shim: (a: number, b: number, c: any) => void;
|
274
|
+
export const closure2899_externref_shim: (a: number, b: number, c: any) => void;
|
275
|
+
export const closure1021_externref_shim: (a: number, b: number, c: any) => void;
|
276
|
+
export const closure3000_externref_shim: (a: number, b: number, c: any, d: any) => void;
|
275
277
|
export const __wbindgen_start: () => void;
|
package/src/corecrypto.d.ts
CHANGED
@@ -19,6 +19,10 @@ export function migrateDatabaseKeyTypeToBytes(path: string, old_key: string, new
|
|
19
19
|
* Updates the key of the CoreCrypto database.
|
20
20
|
*/
|
21
21
|
export function updateDatabaseKey(name: string, old_key: DatabaseKey, new_key: DatabaseKey): Promise<void>;
|
22
|
+
/**
|
23
|
+
* Open or create a [Database].
|
24
|
+
*/
|
25
|
+
export function openDatabase(name: string, key: DatabaseKey): Promise<Database>;
|
22
26
|
/**
|
23
27
|
* MLS ciphersuites.
|
24
28
|
*/
|
@@ -142,6 +146,7 @@ export enum WirePolicy {
|
|
142
146
|
export class AcmeChallenge {
|
143
147
|
private constructor();
|
144
148
|
free(): void;
|
149
|
+
[Symbol.dispose](): void;
|
145
150
|
/**
|
146
151
|
* Contains raw JSON data of this challenge. This is parsed by the underlying Rust library hence should not be accessed
|
147
152
|
*/
|
@@ -159,6 +164,7 @@ export class AcmeChallenge {
|
|
159
164
|
declare class AcmeDirectory {
|
160
165
|
private constructor();
|
161
166
|
free(): void;
|
167
|
+
[Symbol.dispose](): void;
|
162
168
|
/**
|
163
169
|
* URL for fetching a new nonce. Use this only for creating a new account.
|
164
170
|
*/
|
@@ -179,6 +185,7 @@ declare class AcmeDirectory {
|
|
179
185
|
declare class BufferedDecryptedMessage {
|
180
186
|
private constructor();
|
181
187
|
free(): void;
|
188
|
+
[Symbol.dispose](): void;
|
182
189
|
/**
|
183
190
|
* Decrypted plaintext
|
184
191
|
*/
|
@@ -227,6 +234,7 @@ export class BuildMetadata {
|
|
227
234
|
*/
|
228
235
|
toString(): string;
|
229
236
|
free(): void;
|
237
|
+
[Symbol.dispose](): void;
|
230
238
|
/**
|
231
239
|
* Build Timestamp
|
232
240
|
*/
|
@@ -273,6 +281,7 @@ export class BuildMetadata {
|
|
273
281
|
*/
|
274
282
|
export class ClientId {
|
275
283
|
free(): void;
|
284
|
+
[Symbol.dispose](): void;
|
276
285
|
/**
|
277
286
|
* Instantiate a client id from a byte array.
|
278
287
|
*/
|
@@ -284,6 +293,7 @@ export class ClientId {
|
|
284
293
|
}
|
285
294
|
declare class ConversationConfiguration {
|
286
295
|
free(): void;
|
296
|
+
[Symbol.dispose](): void;
|
287
297
|
/**
|
288
298
|
* Construct a `ConversationConfiguration` from its parts.
|
289
299
|
*/
|
@@ -309,6 +319,7 @@ declare class ConversationConfiguration {
|
|
309
319
|
*/
|
310
320
|
export class ConversationId {
|
311
321
|
free(): void;
|
322
|
+
[Symbol.dispose](): void;
|
312
323
|
/**
|
313
324
|
* Construct a new instance, transferring data from the client layer to Rust.
|
314
325
|
*/
|
@@ -323,6 +334,7 @@ export class ConversationId {
|
|
323
334
|
declare class CoreCryptoContext {
|
324
335
|
private constructor();
|
325
336
|
free(): void;
|
337
|
+
[Symbol.dispose](): void;
|
326
338
|
/**
|
327
339
|
* See [core_crypto::transaction_context::TransactionContext::e2ei_new_enrollment]
|
328
340
|
*/
|
@@ -592,6 +604,7 @@ declare class CoreCryptoContext {
|
|
592
604
|
}
|
593
605
|
declare class CrlRegistration {
|
594
606
|
free(): void;
|
607
|
+
[Symbol.dispose](): void;
|
595
608
|
/**
|
596
609
|
* Contstruct a CRL registration from its fields
|
597
610
|
*/
|
@@ -614,6 +627,7 @@ declare class CrlRegistration {
|
|
614
627
|
*/
|
615
628
|
export class CustomConfiguration {
|
616
629
|
free(): void;
|
630
|
+
[Symbol.dispose](): void;
|
617
631
|
/**
|
618
632
|
* Construct a `CustomConfiguration` from its parts.
|
619
633
|
*/
|
@@ -639,11 +653,20 @@ export class CustomConfiguration {
|
|
639
653
|
*/
|
640
654
|
set wirePolicy(value: WirePolicy | null | undefined);
|
641
655
|
}
|
656
|
+
/**
|
657
|
+
* The database acting as a core crypto keystore.
|
658
|
+
*/
|
659
|
+
export class Database {
|
660
|
+
private constructor();
|
661
|
+
free(): void;
|
662
|
+
[Symbol.dispose](): void;
|
663
|
+
}
|
642
664
|
/**
|
643
665
|
* The key used to encrypt the database.
|
644
666
|
*/
|
645
667
|
export class DatabaseKey {
|
646
668
|
free(): void;
|
669
|
+
[Symbol.dispose](): void;
|
647
670
|
/**
|
648
671
|
* Construct a new instance from a byte vector.
|
649
672
|
*/
|
@@ -652,6 +675,7 @@ export class DatabaseKey {
|
|
652
675
|
declare class DecryptedMessage {
|
653
676
|
private constructor();
|
654
677
|
free(): void;
|
678
|
+
[Symbol.dispose](): void;
|
655
679
|
/**
|
656
680
|
* Decrypted plaintext
|
657
681
|
*/
|
@@ -700,6 +724,7 @@ declare class DecryptedMessage {
|
|
700
724
|
*/
|
701
725
|
export class ExternalSenderKey {
|
702
726
|
free(): void;
|
727
|
+
[Symbol.dispose](): void;
|
703
728
|
/**
|
704
729
|
* Construct a new instance, transferring data from the client layer to Rust.
|
705
730
|
*/
|
@@ -714,6 +739,7 @@ export class ExternalSenderKey {
|
|
714
739
|
declare class FfiWireE2EIdentity {
|
715
740
|
private constructor();
|
716
741
|
free(): void;
|
742
|
+
[Symbol.dispose](): void;
|
717
743
|
/**
|
718
744
|
* See [core_crypto::e2e_identity::E2eiEnrollment::directory_response]
|
719
745
|
*/
|
@@ -791,6 +817,7 @@ declare class FfiWireE2EIdentity {
|
|
791
817
|
*/
|
792
818
|
export class GroupInfo {
|
793
819
|
free(): void;
|
820
|
+
[Symbol.dispose](): void;
|
794
821
|
/**
|
795
822
|
* Construct a new instance, transferring data from the client layer to Rust.
|
796
823
|
*/
|
@@ -804,6 +831,7 @@ export class GroupInfo {
|
|
804
831
|
}
|
805
832
|
declare class KeyPackage {
|
806
833
|
free(): void;
|
834
|
+
[Symbol.dispose](): void;
|
807
835
|
/**
|
808
836
|
* Construct a new instance, transferring data from the client layer to Rust.
|
809
837
|
*/
|
@@ -821,6 +849,7 @@ declare class KeyPackage {
|
|
821
849
|
*/
|
822
850
|
export class MlsTransportData {
|
823
851
|
free(): void;
|
852
|
+
[Symbol.dispose](): void;
|
824
853
|
/**
|
825
854
|
* Construct `MlsTransportData` by providing data
|
826
855
|
*/
|
@@ -839,6 +868,7 @@ export class MlsTransportData {
|
|
839
868
|
export class NewAcmeAuthz {
|
840
869
|
private constructor();
|
841
870
|
free(): void;
|
871
|
+
[Symbol.dispose](): void;
|
842
872
|
/**
|
843
873
|
* DNS entry associated with those challenge
|
844
874
|
*/
|
@@ -861,6 +891,7 @@ export class NewAcmeAuthz {
|
|
861
891
|
export class NewAcmeOrder {
|
862
892
|
private constructor();
|
863
893
|
free(): void;
|
894
|
+
[Symbol.dispose](): void;
|
864
895
|
/**
|
865
896
|
* Opaque raw json value
|
866
897
|
*/
|
@@ -873,6 +904,7 @@ export class NewAcmeOrder {
|
|
873
904
|
declare class ProteusAutoPrekeyBundle {
|
874
905
|
private constructor();
|
875
906
|
free(): void;
|
907
|
+
[Symbol.dispose](): void;
|
876
908
|
/**
|
877
909
|
* Prekey id (automatically incremented)
|
878
910
|
*/
|
@@ -889,6 +921,7 @@ declare class ProteusAutoPrekeyBundle {
|
|
889
921
|
*/
|
890
922
|
export class SecretKey {
|
891
923
|
free(): void;
|
924
|
+
[Symbol.dispose](): void;
|
892
925
|
/**
|
893
926
|
* Construct a new instance, transferring data from the client layer to Rust.
|
894
927
|
*/
|
@@ -908,6 +941,7 @@ export class SecretKey {
|
|
908
941
|
*/
|
909
942
|
export class Welcome {
|
910
943
|
free(): void;
|
944
|
+
[Symbol.dispose](): void;
|
911
945
|
/**
|
912
946
|
* Construct a new instance, transferring data from the client layer to Rust.
|
913
947
|
*/
|
@@ -925,6 +959,7 @@ export class Welcome {
|
|
925
959
|
export class WelcomeBundle {
|
926
960
|
private constructor();
|
927
961
|
free(): void;
|
962
|
+
[Symbol.dispose](): void;
|
928
963
|
/**
|
929
964
|
* Identifier of the joined conversation
|
930
965
|
*/
|
@@ -941,6 +976,7 @@ export class WelcomeBundle {
|
|
941
976
|
export class WireIdentity {
|
942
977
|
private constructor();
|
943
978
|
free(): void;
|
979
|
+
[Symbol.dispose](): void;
|
944
980
|
/**
|
945
981
|
* Unique client identifier e.g. `T4Coy4vdRzianwfOgXpn6A:6add501bacd1d90e@whitehouse.gov`
|
946
982
|
*/
|
@@ -971,6 +1007,7 @@ export class WireIdentity {
|
|
971
1007
|
export class X509Identity {
|
972
1008
|
private constructor();
|
973
1009
|
free(): void;
|
1010
|
+
[Symbol.dispose](): void;
|
974
1011
|
/**
|
975
1012
|
* user handle e.g. `john_wire`
|
976
1013
|
*/
|
@@ -1020,11 +1057,15 @@ interface ConversationConfiguration$1 {
|
|
1020
1057
|
*/
|
1021
1058
|
wirePolicy?: WirePolicy;
|
1022
1059
|
}
|
1023
|
-
|
1060
|
+
/**
|
1061
|
+
* The error structure produced by our rust code.
|
1062
|
+
**/
|
1063
|
+
export interface CoreCryptoRichError<T extends ErrorType> {
|
1024
1064
|
message: string;
|
1025
1065
|
error_name?: string;
|
1026
1066
|
error_stack?: string[];
|
1027
|
-
|
1067
|
+
type?: T;
|
1068
|
+
context?: ErrorContext[T];
|
1028
1069
|
}
|
1029
1070
|
/**
|
1030
1071
|
* Error wrapper that takes care of extracting rich error details across the FFI (through JSON parsing)
|
@@ -1035,15 +1076,219 @@ export interface CoreCryptoRichError {
|
|
1035
1076
|
*
|
1036
1077
|
* Please note that in this case the extra properties will not be available.
|
1037
1078
|
*/
|
1038
|
-
export declare class CoreCryptoError extends Error {
|
1079
|
+
export declare class CoreCryptoError<T extends ErrorType> extends Error {
|
1039
1080
|
errorStack: string[];
|
1040
|
-
|
1081
|
+
context?: ErrorContext[T];
|
1082
|
+
type?: T;
|
1041
1083
|
private constructor();
|
1042
1084
|
private static fallback;
|
1043
|
-
static build(msg: string, ...params: unknown[]): CoreCryptoError
|
1044
|
-
static fromStdError(e: Error): CoreCryptoError
|
1045
|
-
static asyncMapErr<T>(p: Promise<T>): Promise<T>;
|
1085
|
+
static build<E extends ErrorType>(msg: string, ...params: unknown[]): CoreCryptoError<E>;
|
1086
|
+
static fromStdError(e: Error): CoreCryptoError<ErrorType>;
|
1087
|
+
static asyncMapErr<T, E extends ErrorType>(p: Promise<T>): Promise<T>;
|
1088
|
+
}
|
1089
|
+
/**
|
1090
|
+
* Helper type to ensure that error contexts match their type
|
1091
|
+
*/
|
1092
|
+
export type ErrorTypeWithContext<T> = {
|
1093
|
+
[K in keyof T]: {
|
1094
|
+
type: K;
|
1095
|
+
context: T[K];
|
1096
|
+
};
|
1097
|
+
}[keyof T];
|
1098
|
+
/**
|
1099
|
+
* Variants of core crypto errors
|
1100
|
+
*/
|
1101
|
+
export declare enum ErrorType {
|
1102
|
+
Mls = "Mls",
|
1103
|
+
Proteus = "Proteus",
|
1104
|
+
E2ei = "E2ei",
|
1105
|
+
TransactionFailed = "TransactionFailed",
|
1106
|
+
Other = "Other"
|
1046
1107
|
}
|
1108
|
+
export declare function isCcError<E extends ErrorType>(error: unknown, errorType: E): error is CoreCryptoError<E>;
|
1109
|
+
/**
|
1110
|
+
* Structured core crypto error
|
1111
|
+
*/
|
1112
|
+
export interface ErrorContext {
|
1113
|
+
[ErrorType.Mls]: ErrorTypeWithContext<MlsErrorContext>;
|
1114
|
+
[ErrorType.Proteus]: ErrorTypeWithContext<ProteusErrorContext>;
|
1115
|
+
[ErrorType.E2ei]: {
|
1116
|
+
e2eiError: string;
|
1117
|
+
};
|
1118
|
+
[ErrorType.TransactionFailed]: {
|
1119
|
+
error: string;
|
1120
|
+
};
|
1121
|
+
[ErrorType.Other]: {
|
1122
|
+
msg: string;
|
1123
|
+
};
|
1124
|
+
}
|
1125
|
+
export declare function isE2eiError(error: unknown): error is CoreCryptoError<ErrorType.E2ei>;
|
1126
|
+
export declare function isTransactionFailedError(error: unknown): error is CoreCryptoError<ErrorType.TransactionFailed>;
|
1127
|
+
export declare function isOtherError(error: unknown): error is CoreCryptoError<ErrorType.Other>;
|
1128
|
+
/**
|
1129
|
+
* Variants of core crypto mls errors
|
1130
|
+
*/
|
1131
|
+
export declare enum MlsErrorType {
|
1132
|
+
ConversationAlreadyExists = "ConversationAlreadyExists",
|
1133
|
+
DuplicateMessage = "DuplicateMessage",
|
1134
|
+
BufferedFutureMessage = "BufferedFutureMessage",
|
1135
|
+
WrongEpoch = "WrongEpoch",
|
1136
|
+
BufferedCommit = "BufferedCommit",
|
1137
|
+
MessageEpochTooOld = "MessageEpochTooOld",
|
1138
|
+
SelfCommitIgnored = "SelfCommitIgnored",
|
1139
|
+
UnmergedPendingGroup = "UnmergedPendingGroup",
|
1140
|
+
StaleProposal = "StaleProposal",
|
1141
|
+
StaleCommit = "StaleCommit",
|
1142
|
+
/**
|
1143
|
+
* This happens when the DS cannot flag KeyPackages as claimed or not. In this scenario, a client
|
1144
|
+
* requests their old KeyPackages to be deleted but one has already been claimed by another client to create a Welcome.
|
1145
|
+
* In that case the only solution is that the client receiving such a Welcome tries to join the group
|
1146
|
+
* with an External Commit instead
|
1147
|
+
*/
|
1148
|
+
OrphanWelcome = "OrphanWelcome",
|
1149
|
+
MessageRejected = "MessageRejected",
|
1150
|
+
Other = "Other"
|
1151
|
+
}
|
1152
|
+
/**
|
1153
|
+
* Structured core crypto mls error (embedded in a core crypto error)
|
1154
|
+
*/
|
1155
|
+
export interface MlsErrorContext {
|
1156
|
+
[MlsErrorType.ConversationAlreadyExists]: {
|
1157
|
+
conversationId: Array<number>;
|
1158
|
+
};
|
1159
|
+
[MlsErrorType.DuplicateMessage]: Record<string, never>;
|
1160
|
+
[MlsErrorType.BufferedFutureMessage]: Record<string, never>;
|
1161
|
+
[MlsErrorType.WrongEpoch]: Record<string, never>;
|
1162
|
+
[MlsErrorType.BufferedCommit]: Record<string, never>;
|
1163
|
+
[MlsErrorType.MessageEpochTooOld]: Record<string, never>;
|
1164
|
+
[MlsErrorType.SelfCommitIgnored]: Record<string, never>;
|
1165
|
+
[MlsErrorType.UnmergedPendingGroup]: Record<string, never>;
|
1166
|
+
[MlsErrorType.StaleProposal]: Record<string, never>;
|
1167
|
+
[MlsErrorType.StaleCommit]: Record<string, never>;
|
1168
|
+
[MlsErrorType.OrphanWelcome]: Record<string, never>;
|
1169
|
+
[MlsErrorType.MessageRejected]: {
|
1170
|
+
reason: string;
|
1171
|
+
};
|
1172
|
+
[MlsErrorType.Other]: {
|
1173
|
+
msg: string;
|
1174
|
+
};
|
1175
|
+
}
|
1176
|
+
export declare function isMlsError<E extends MlsErrorType>(error: unknown, errorType: E): error is CoreCryptoError<ErrorType.Mls> & {
|
1177
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1178
|
+
type: E;
|
1179
|
+
}>;
|
1180
|
+
};
|
1181
|
+
export declare function isMlsConversationAlreadyExistsError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1182
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1183
|
+
type: MlsErrorType.ConversationAlreadyExists;
|
1184
|
+
}>;
|
1185
|
+
};
|
1186
|
+
export declare function isMlsDuplicateMessageError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1187
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1188
|
+
type: MlsErrorType.DuplicateMessage;
|
1189
|
+
}>;
|
1190
|
+
};
|
1191
|
+
export declare function isMlsBufferedFutureMessageError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1192
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1193
|
+
type: MlsErrorType.BufferedFutureMessage;
|
1194
|
+
}>;
|
1195
|
+
};
|
1196
|
+
export declare function isMlsWrongEpochError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1197
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1198
|
+
type: MlsErrorType.WrongEpoch;
|
1199
|
+
}>;
|
1200
|
+
};
|
1201
|
+
export declare function isMlsBufferedCommitError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1202
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1203
|
+
type: MlsErrorType.BufferedCommit;
|
1204
|
+
}>;
|
1205
|
+
};
|
1206
|
+
export declare function isMlsSelfCommitIgnoredError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1207
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1208
|
+
type: MlsErrorType.SelfCommitIgnored;
|
1209
|
+
}>;
|
1210
|
+
};
|
1211
|
+
export declare function isMlsUnmergedPendingGroupError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1212
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1213
|
+
type: MlsErrorType.UnmergedPendingGroup;
|
1214
|
+
}>;
|
1215
|
+
};
|
1216
|
+
export declare function isMlsStaleProposalError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1217
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1218
|
+
type: MlsErrorType.StaleProposal;
|
1219
|
+
}>;
|
1220
|
+
};
|
1221
|
+
export declare function isMlsStaleCommitError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1222
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1223
|
+
type: MlsErrorType.StaleCommit;
|
1224
|
+
}>;
|
1225
|
+
};
|
1226
|
+
export declare function isMlsOrphanWelcomeError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1227
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1228
|
+
type: MlsErrorType.OrphanWelcome;
|
1229
|
+
}>;
|
1230
|
+
};
|
1231
|
+
export declare function isMlsMessageRejectedError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1232
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1233
|
+
type: MlsErrorType.MessageRejected;
|
1234
|
+
}>;
|
1235
|
+
};
|
1236
|
+
export declare function isMlsOtherError(error: unknown): error is CoreCryptoError<ErrorType.Mls> & {
|
1237
|
+
context: Extract<ErrorContext[ErrorType.Mls], {
|
1238
|
+
type: MlsErrorType.Other;
|
1239
|
+
}>;
|
1240
|
+
};
|
1241
|
+
/**
|
1242
|
+
* Variants of core crypto proteus errors
|
1243
|
+
*/
|
1244
|
+
export declare enum ProteusErrorType {
|
1245
|
+
SessionNotFound = "SessionNotFound",
|
1246
|
+
DuplicateMessage = "DuplicateMessage",
|
1247
|
+
RemoteIdentityChanged = "RemoteIdentityChanged",
|
1248
|
+
Other = "Other"
|
1249
|
+
}
|
1250
|
+
/**
|
1251
|
+
* Structured core crypto proteus error (embedded in a core crypto error)
|
1252
|
+
*/
|
1253
|
+
export interface ProteusErrorContext {
|
1254
|
+
[ProteusErrorType.SessionNotFound]: {
|
1255
|
+
errorCode: number;
|
1256
|
+
};
|
1257
|
+
[ProteusErrorType.DuplicateMessage]: {
|
1258
|
+
errorCode: number;
|
1259
|
+
};
|
1260
|
+
[ProteusErrorType.RemoteIdentityChanged]: {
|
1261
|
+
errorCode: number;
|
1262
|
+
};
|
1263
|
+
[ProteusErrorType.Other]: {
|
1264
|
+
errorCode: number;
|
1265
|
+
};
|
1266
|
+
}
|
1267
|
+
export declare function isProteusError<E extends ProteusErrorType>(error: unknown, errorType: E): error is CoreCryptoError<ErrorType.Proteus> & {
|
1268
|
+
context: Extract<ErrorContext[ErrorType.Proteus], {
|
1269
|
+
type: E;
|
1270
|
+
}>;
|
1271
|
+
};
|
1272
|
+
export declare function isProteusSessionNotFoundError(error: unknown): error is CoreCryptoError<ErrorType.Proteus> & {
|
1273
|
+
context: Extract<ErrorContext[ErrorType.Proteus], {
|
1274
|
+
type: ProteusErrorType.SessionNotFound;
|
1275
|
+
}>;
|
1276
|
+
};
|
1277
|
+
export declare function isProteusDuplicateMessageError(error: unknown): error is CoreCryptoError<ErrorType.Proteus> & {
|
1278
|
+
context: Extract<ErrorContext[ErrorType.Proteus], {
|
1279
|
+
type: ProteusErrorType.DuplicateMessage;
|
1280
|
+
}>;
|
1281
|
+
};
|
1282
|
+
export declare function isProteusRemoteIdentityChangedError(error: unknown): error is CoreCryptoError<ErrorType.Proteus> & {
|
1283
|
+
context: Extract<ErrorContext[ErrorType.Proteus], {
|
1284
|
+
type: ProteusErrorType.RemoteIdentityChanged;
|
1285
|
+
}>;
|
1286
|
+
};
|
1287
|
+
export declare function isProteusOtherError(error: unknown): error is CoreCryptoError<ErrorType.Proteus> & {
|
1288
|
+
context: Extract<ErrorContext[ErrorType.Proteus], {
|
1289
|
+
type: ProteusErrorType.Other;
|
1290
|
+
}>;
|
1291
|
+
};
|
1047
1292
|
/**
|
1048
1293
|
* Alias for proposal reference. It is a byte array of size 16.
|
1049
1294
|
*/
|