@signalapp/libsignal-client 0.88.3 → 0.89.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.
Files changed (161) hide show
  1. package/dist/AccountKeys.d.ts +8 -8
  2. package/dist/AccountKeys.js +4 -2
  3. package/dist/Address.d.ts +8 -8
  4. package/dist/Address.js +7 -2
  5. package/dist/EcKeys.d.ts +14 -14
  6. package/dist/EcKeys.js +4 -0
  7. package/dist/Errors.d.ts +7 -3
  8. package/dist/Errors.js +8 -0
  9. package/dist/MessageBackup.d.ts +8 -8
  10. package/dist/MessageBackup.js +13 -0
  11. package/dist/Minidump.d.ts +1 -1
  12. package/dist/Mp4Sanitizer.d.ts +1 -1
  13. package/dist/Mp4Sanitizer.js +1 -0
  14. package/dist/Native.d.ts +23 -18
  15. package/dist/Native.js +2 -2
  16. package/dist/ProtocolTypes.d.ts +45 -0
  17. package/dist/ProtocolTypes.js +106 -0
  18. package/dist/SealedSenderMultiRecipientMessage.d.ts +3 -3
  19. package/dist/SealedSenderMultiRecipientMessage.js +4 -0
  20. package/dist/WebpSanitizer.d.ts +1 -1
  21. package/dist/incremental_mac.d.ts +5 -7
  22. package/dist/incremental_mac.js +7 -5
  23. package/dist/index.d.ts +85 -129
  24. package/dist/index.js +66 -128
  25. package/dist/internal.js +1 -0
  26. package/dist/io.d.ts +2 -2
  27. package/dist/net/Chat.d.ts +3 -3
  28. package/dist/net/Chat.js +14 -0
  29. package/dist/net/FakeChat.d.ts +4 -4
  30. package/dist/net/FakeChat.js +4 -0
  31. package/dist/net/KeyTransparency.d.ts +7 -7
  32. package/dist/net/KeyTransparency.js +3 -0
  33. package/dist/net/Registration.d.ts +4 -4
  34. package/dist/net/Registration.js +5 -0
  35. package/dist/net/SvrB.d.ts +6 -6
  36. package/dist/net/SvrB.js +6 -0
  37. package/dist/net/chat/UnauthKeysService.d.ts +30 -0
  38. package/dist/net/chat/UnauthKeysService.js +20 -0
  39. package/dist/net/chat/UnauthMessagesService.d.ts +1 -1
  40. package/dist/net/chat/UnauthMessagesService.js +1 -0
  41. package/dist/net/chat/UnauthUsernamesService.d.ts +3 -3
  42. package/dist/net/chat/UnauthUsernamesService.js +2 -2
  43. package/dist/net.d.ts +3 -2
  44. package/dist/net.js +7 -1
  45. package/dist/usernames.d.ts +8 -8
  46. package/dist/uuid.d.ts +1 -0
  47. package/dist/uuid.js +5 -1
  48. package/dist/zkgroup/GenericServerPublicParams.d.ts +1 -1
  49. package/dist/zkgroup/GenericServerPublicParams.js +1 -0
  50. package/dist/zkgroup/GenericServerSecretParams.d.ts +2 -2
  51. package/dist/zkgroup/GenericServerSecretParams.js +1 -0
  52. package/dist/zkgroup/NotarySignature.d.ts +1 -1
  53. package/dist/zkgroup/NotarySignature.js +3 -3
  54. package/dist/zkgroup/ServerPublicParams.d.ts +4 -4
  55. package/dist/zkgroup/ServerPublicParams.js +1 -0
  56. package/dist/zkgroup/ServerSecretParams.d.ts +5 -5
  57. package/dist/zkgroup/ServerSecretParams.js +1 -0
  58. package/dist/zkgroup/auth/AuthCredentialPresentation.d.ts +1 -1
  59. package/dist/zkgroup/auth/AuthCredentialPresentation.js +1 -0
  60. package/dist/zkgroup/auth/AuthCredentialWithPni.d.ts +1 -1
  61. package/dist/zkgroup/auth/AuthCredentialWithPni.js +1 -0
  62. package/dist/zkgroup/auth/AuthCredentialWithPniResponse.d.ts +1 -1
  63. package/dist/zkgroup/auth/AuthCredentialWithPniResponse.js +1 -0
  64. package/dist/zkgroup/auth/ClientZkAuthOperations.d.ts +1 -1
  65. package/dist/zkgroup/auth/ClientZkAuthOperations.js +1 -0
  66. package/dist/zkgroup/auth/ServerZkAuthOperations.d.ts +1 -1
  67. package/dist/zkgroup/auth/ServerZkAuthOperations.js +1 -0
  68. package/dist/zkgroup/backups/BackupAuthCredential.d.ts +3 -3
  69. package/dist/zkgroup/backups/BackupAuthCredential.js +1 -0
  70. package/dist/zkgroup/backups/BackupAuthCredentialPresentation.d.ts +2 -2
  71. package/dist/zkgroup/backups/BackupAuthCredentialPresentation.js +1 -0
  72. package/dist/zkgroup/backups/BackupAuthCredentialRequest.d.ts +2 -2
  73. package/dist/zkgroup/backups/BackupAuthCredentialRequest.js +1 -0
  74. package/dist/zkgroup/backups/BackupAuthCredentialRequestContext.d.ts +3 -3
  75. package/dist/zkgroup/backups/BackupAuthCredentialRequestContext.js +3 -2
  76. package/dist/zkgroup/backups/BackupAuthCredentialResponse.d.ts +1 -1
  77. package/dist/zkgroup/backups/BackupAuthCredentialResponse.js +1 -0
  78. package/dist/zkgroup/calllinks/CallLinkAuthCredential.d.ts +2 -2
  79. package/dist/zkgroup/calllinks/CallLinkAuthCredential.js +1 -0
  80. package/dist/zkgroup/calllinks/CallLinkAuthCredentialPresentation.d.ts +1 -1
  81. package/dist/zkgroup/calllinks/CallLinkAuthCredentialPresentation.js +1 -0
  82. package/dist/zkgroup/calllinks/CallLinkAuthCredentialResponse.d.ts +2 -2
  83. package/dist/zkgroup/calllinks/CallLinkAuthCredentialResponse.js +1 -0
  84. package/dist/zkgroup/calllinks/CallLinkPublicParams.d.ts +1 -1
  85. package/dist/zkgroup/calllinks/CallLinkPublicParams.js +1 -0
  86. package/dist/zkgroup/calllinks/CallLinkSecretParams.d.ts +2 -2
  87. package/dist/zkgroup/calllinks/CallLinkSecretParams.js +1 -0
  88. package/dist/zkgroup/calllinks/CreateCallLinkCredential.d.ts +3 -3
  89. package/dist/zkgroup/calllinks/CreateCallLinkCredential.js +1 -0
  90. package/dist/zkgroup/calllinks/CreateCallLinkCredentialPresentation.d.ts +2 -2
  91. package/dist/zkgroup/calllinks/CreateCallLinkCredentialPresentation.js +1 -0
  92. package/dist/zkgroup/calllinks/CreateCallLinkCredentialRequest.d.ts +2 -2
  93. package/dist/zkgroup/calllinks/CreateCallLinkCredentialRequest.js +1 -0
  94. package/dist/zkgroup/calllinks/CreateCallLinkCredentialRequestContext.d.ts +3 -3
  95. package/dist/zkgroup/calllinks/CreateCallLinkCredentialRequestContext.js +1 -0
  96. package/dist/zkgroup/calllinks/CreateCallLinkCredentialResponse.d.ts +1 -1
  97. package/dist/zkgroup/calllinks/CreateCallLinkCredentialResponse.js +1 -0
  98. package/dist/zkgroup/groups/ClientZkGroupCipher.d.ts +3 -3
  99. package/dist/zkgroup/groups/ClientZkGroupCipher.js +1 -0
  100. package/dist/zkgroup/groups/GroupIdentifier.d.ts +1 -1
  101. package/dist/zkgroup/groups/GroupIdentifier.js +3 -3
  102. package/dist/zkgroup/groups/GroupMasterKey.d.ts +1 -1
  103. package/dist/zkgroup/groups/GroupMasterKey.js +3 -3
  104. package/dist/zkgroup/groups/GroupPublicParams.d.ts +1 -1
  105. package/dist/zkgroup/groups/GroupPublicParams.js +1 -0
  106. package/dist/zkgroup/groups/GroupSecretParams.d.ts +2 -2
  107. package/dist/zkgroup/groups/GroupSecretParams.js +1 -0
  108. package/dist/zkgroup/groups/ProfileKeyCiphertext.d.ts +1 -1
  109. package/dist/zkgroup/groups/ProfileKeyCiphertext.js +1 -0
  110. package/dist/zkgroup/groups/UuidCiphertext.d.ts +2 -2
  111. package/dist/zkgroup/groups/UuidCiphertext.js +1 -0
  112. package/dist/zkgroup/groupsend/GroupSendDerivedKeyPair.d.ts +1 -1
  113. package/dist/zkgroup/groupsend/GroupSendEndorsement.d.ts +1 -1
  114. package/dist/zkgroup/groupsend/GroupSendEndorsementsResponse.d.ts +2 -2
  115. package/dist/zkgroup/groupsend/GroupSendFullToken.d.ts +1 -1
  116. package/dist/zkgroup/groupsend/GroupSendToken.d.ts +1 -1
  117. package/dist/zkgroup/internal/ByteArray.d.ts +5 -5
  118. package/dist/zkgroup/internal/ByteArray.js +1 -0
  119. package/dist/zkgroup/profiles/ClientZkProfileOperations.d.ts +2 -2
  120. package/dist/zkgroup/profiles/ClientZkProfileOperations.js +1 -0
  121. package/dist/zkgroup/profiles/ExpiringProfileKeyCredential.d.ts +1 -1
  122. package/dist/zkgroup/profiles/ExpiringProfileKeyCredential.js +1 -0
  123. package/dist/zkgroup/profiles/ExpiringProfileKeyCredentialResponse.d.ts +1 -1
  124. package/dist/zkgroup/profiles/ExpiringProfileKeyCredentialResponse.js +1 -0
  125. package/dist/zkgroup/profiles/ProfileKey.d.ts +2 -2
  126. package/dist/zkgroup/profiles/ProfileKey.js +3 -3
  127. package/dist/zkgroup/profiles/ProfileKeyCommitment.d.ts +1 -1
  128. package/dist/zkgroup/profiles/ProfileKeyCommitment.js +1 -0
  129. package/dist/zkgroup/profiles/ProfileKeyCredentialPresentation.d.ts +1 -1
  130. package/dist/zkgroup/profiles/ProfileKeyCredentialPresentation.js +1 -0
  131. package/dist/zkgroup/profiles/ProfileKeyCredentialRequest.d.ts +1 -1
  132. package/dist/zkgroup/profiles/ProfileKeyCredentialRequest.js +1 -0
  133. package/dist/zkgroup/profiles/ProfileKeyCredentialRequestContext.d.ts +1 -1
  134. package/dist/zkgroup/profiles/ProfileKeyCredentialRequestContext.js +1 -0
  135. package/dist/zkgroup/profiles/ProfileKeyVersion.d.ts +1 -1
  136. package/dist/zkgroup/profiles/ProfileKeyVersion.js +3 -3
  137. package/dist/zkgroup/profiles/ServerZkProfileOperations.d.ts +1 -1
  138. package/dist/zkgroup/profiles/ServerZkProfileOperations.js +1 -0
  139. package/dist/zkgroup/receipts/ClientZkReceiptOperations.d.ts +2 -2
  140. package/dist/zkgroup/receipts/ClientZkReceiptOperations.js +1 -0
  141. package/dist/zkgroup/receipts/ReceiptCredential.d.ts +1 -1
  142. package/dist/zkgroup/receipts/ReceiptCredential.js +1 -0
  143. package/dist/zkgroup/receipts/ReceiptCredentialPresentation.d.ts +1 -1
  144. package/dist/zkgroup/receipts/ReceiptCredentialPresentation.js +3 -3
  145. package/dist/zkgroup/receipts/ReceiptCredentialRequest.d.ts +1 -1
  146. package/dist/zkgroup/receipts/ReceiptCredentialRequest.js +1 -0
  147. package/dist/zkgroup/receipts/ReceiptCredentialRequestContext.d.ts +1 -1
  148. package/dist/zkgroup/receipts/ReceiptCredentialRequestContext.js +3 -3
  149. package/dist/zkgroup/receipts/ReceiptCredentialResponse.d.ts +1 -1
  150. package/dist/zkgroup/receipts/ReceiptCredentialResponse.js +1 -0
  151. package/dist/zkgroup/receipts/ReceiptSerial.d.ts +1 -1
  152. package/dist/zkgroup/receipts/ReceiptSerial.js +3 -3
  153. package/dist/zkgroup/receipts/ServerZkReceiptOperations.d.ts +1 -1
  154. package/dist/zkgroup/receipts/ServerZkReceiptOperations.js +1 -0
  155. package/package.json +3 -3
  156. package/prebuilds/darwin-arm64/@signalapp+libsignal-client.node +0 -0
  157. package/prebuilds/darwin-x64/@signalapp+libsignal-client.node +0 -0
  158. package/prebuilds/linux-arm64/@signalapp+libsignal-client.node +0 -0
  159. package/prebuilds/linux-x64/@signalapp+libsignal-client.node +0 -0
  160. package/prebuilds/win32-arm64/@signalapp+libsignal-client.node +0 -0
  161. package/prebuilds/win32-x64/@signalapp+libsignal-client.node +0 -0
package/dist/index.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  export * from './Errors.js';
2
2
  import { Aci, ProtocolAddress, ServiceId } from './Address.js';
3
3
  export * from './Address.js';
4
- import { PrivateKey, PublicKey } from './EcKeys.js';
4
+ import { IdentityKeyPair, PrivateKey, PublicKey } from './EcKeys.js';
5
5
  export * from './EcKeys.js';
6
+ import { KEMPublicKey, PreKeyBundle, SignedPreKeyRecord } from './ProtocolTypes.js';
7
+ export * from './ProtocolTypes.js';
6
8
  import { Uuid } from './uuid.js';
7
9
  export * from './uuid.js';
8
10
  export * as usernames from './usernames.js';
@@ -26,13 +28,13 @@ export declare enum ContentHint {
26
28
  Resendable = 1,
27
29
  Implicit = 2
28
30
  }
29
- export declare function hkdf(outputLength: number, keyMaterial: Uint8Array, label: Uint8Array, salt: Uint8Array | null): Uint8Array;
31
+ export declare function hkdf(outputLength: number, keyMaterial: Uint8Array<ArrayBuffer>, label: Uint8Array<ArrayBuffer>, salt: Uint8Array<ArrayBuffer> | null): Uint8Array<ArrayBuffer>;
30
32
  export declare class ScannableFingerprint {
31
33
  private readonly scannable;
32
34
  private constructor();
33
- static _fromBuffer(scannable: Uint8Array): ScannableFingerprint;
35
+ static _fromBuffer(scannable: Uint8Array<ArrayBuffer>): ScannableFingerprint;
34
36
  compare(other: ScannableFingerprint): boolean;
35
- toBuffer(): Uint8Array;
37
+ toBuffer(): Uint8Array<ArrayBuffer>;
36
38
  }
37
39
  export declare class DisplayableFingerprint {
38
40
  private readonly display;
@@ -43,7 +45,7 @@ export declare class DisplayableFingerprint {
43
45
  export declare class Fingerprint {
44
46
  readonly _nativeHandle: Native.Fingerprint;
45
47
  private constructor();
46
- static new(iterations: number, version: number, localIdentifier: Uint8Array, localKey: PublicKey, remoteIdentifier: Uint8Array, remoteKey: PublicKey): Fingerprint;
48
+ static new(iterations: number, version: number, localIdentifier: Uint8Array<ArrayBuffer>, localKey: PublicKey, remoteIdentifier: Uint8Array<ArrayBuffer>, remoteKey: PublicKey): Fingerprint;
47
49
  displayableFingerprint(): DisplayableFingerprint;
48
50
  scannableFingerprint(): ScannableFingerprint;
49
51
  }
@@ -57,7 +59,7 @@ export declare class Fingerprint {
57
59
  export declare class Aes256GcmSiv {
58
60
  readonly _nativeHandle: Native.Aes256GcmSiv;
59
61
  private constructor();
60
- static new(key: Uint8Array): Aes256GcmSiv;
62
+ static new(key: Uint8Array<ArrayBuffer>): Aes256GcmSiv;
61
63
  /**
62
64
  * Encrypts the given plaintext using the given nonce, and authenticating the ciphertext and given
63
65
  * associated data.
@@ -67,7 +69,7 @@ export declare class Aes256GcmSiv {
67
69
  *
68
70
  * @returns The encrypted data, including an appended 16-byte authentication tag.
69
71
  */
70
- encrypt(message: Uint8Array, nonce: Uint8Array, associatedData: Uint8Array): Uint8Array;
72
+ encrypt(message: Uint8Array<ArrayBuffer>, nonce: Uint8Array<ArrayBuffer>, associatedData: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
71
73
  /**
72
74
  * Decrypts the given ciphertext using the given nonce, and authenticating the ciphertext and given
73
75
  * associated data.
@@ -77,21 +79,14 @@ export declare class Aes256GcmSiv {
77
79
  *
78
80
  * @returns The decrypted data
79
81
  */
80
- decrypt(message: Uint8Array, nonce: Uint8Array, associatedData: Uint8Array): Uint8Array;
81
- }
82
- export declare class KEMPublicKey {
83
- readonly _nativeHandle: Native.KyberPublicKey;
84
- private constructor();
85
- static _fromNativeHandle(handle: Native.KyberPublicKey): KEMPublicKey;
86
- static deserialize(buf: Uint8Array): KEMPublicKey;
87
- serialize(): Uint8Array;
82
+ decrypt(message: Uint8Array<ArrayBuffer>, nonce: Uint8Array<ArrayBuffer>, associatedData: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
88
83
  }
89
84
  export declare class KEMSecretKey {
90
85
  readonly _nativeHandle: Native.KyberSecretKey;
91
86
  private constructor();
92
87
  static _fromNativeHandle(handle: Native.KyberSecretKey): KEMSecretKey;
93
- static deserialize(buf: Uint8Array): KEMSecretKey;
94
- serialize(): Uint8Array;
88
+ static deserialize(buf: Uint8Array<ArrayBuffer>): KEMSecretKey;
89
+ serialize(): Uint8Array<ArrayBuffer>;
95
90
  }
96
91
  export declare class KEMKeyPair {
97
92
  readonly _nativeHandle: Native.KyberKeyPair;
@@ -101,101 +96,66 @@ export declare class KEMKeyPair {
101
96
  getPublicKey(): KEMPublicKey;
102
97
  getSecretKey(): KEMSecretKey;
103
98
  }
104
- /** The public information contained in a {@link SignedPreKeyRecord} */
105
- export type SignedPublicPreKey = {
106
- id: () => number;
107
- publicKey: () => PublicKey;
108
- signature: () => Uint8Array;
109
- };
110
99
  /** The public information contained in a {@link KyberPreKeyRecord} */
111
100
  export type SignedKyberPublicPreKey = {
112
101
  id: () => number;
113
102
  publicKey: () => KEMPublicKey;
114
- signature: () => Uint8Array;
103
+ signature: () => Uint8Array<ArrayBuffer>;
115
104
  };
116
- export declare class PreKeyBundle {
117
- readonly _nativeHandle: Native.PreKeyBundle;
118
- private constructor();
119
- static new(registration_id: number, device_id: number, prekey_id: number | null, prekey: PublicKey | null, signed_prekey_id: number, signed_prekey: PublicKey, signed_prekey_signature: Uint8Array, identity_key: PublicKey, kyber_prekey_id: number, kyber_prekey: KEMPublicKey, kyber_prekey_signature: Uint8Array): PreKeyBundle;
120
- deviceId(): number;
121
- identityKey(): PublicKey;
122
- preKeyId(): number | null;
123
- preKeyPublic(): PublicKey | null;
124
- registrationId(): number;
125
- signedPreKeyId(): number;
126
- signedPreKeyPublic(): PublicKey;
127
- signedPreKeySignature(): Uint8Array;
128
- kyberPreKeyId(): number;
129
- kyberPreKeyPublic(): KEMPublicKey;
130
- kyberPreKeySignature(): Uint8Array;
131
- }
132
105
  export declare class PreKeyRecord {
133
106
  readonly _nativeHandle: Native.PreKeyRecord;
134
107
  private constructor();
135
108
  static _fromNativeHandle(nativeHandle: Native.PreKeyRecord): PreKeyRecord;
136
109
  static new(id: number, pubKey: PublicKey, privKey: PrivateKey): PreKeyRecord;
137
- static deserialize(buffer: Uint8Array): PreKeyRecord;
138
- id(): number;
139
- privateKey(): PrivateKey;
140
- publicKey(): PublicKey;
141
- serialize(): Uint8Array;
142
- }
143
- export declare class SignedPreKeyRecord implements SignedPublicPreKey {
144
- readonly _nativeHandle: Native.SignedPreKeyRecord;
145
- private constructor();
146
- static _fromNativeHandle(nativeHandle: Native.SignedPreKeyRecord): SignedPreKeyRecord;
147
- static new(id: number, timestamp: number, pubKey: PublicKey, privKey: PrivateKey, signature: Uint8Array): SignedPreKeyRecord;
148
- static deserialize(buffer: Uint8Array): SignedPreKeyRecord;
110
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): PreKeyRecord;
149
111
  id(): number;
150
112
  privateKey(): PrivateKey;
151
113
  publicKey(): PublicKey;
152
- serialize(): Uint8Array;
153
- signature(): Uint8Array;
154
- timestamp(): number;
114
+ serialize(): Uint8Array<ArrayBuffer>;
155
115
  }
156
116
  export declare class KyberPreKeyRecord implements SignedKyberPublicPreKey {
157
117
  readonly _nativeHandle: Native.KyberPreKeyRecord;
158
118
  private constructor();
159
119
  static _fromNativeHandle(nativeHandle: Native.KyberPreKeyRecord): KyberPreKeyRecord;
160
- static new(id: number, timestamp: number, keyPair: KEMKeyPair, signature: Uint8Array): KyberPreKeyRecord;
161
- serialize(): Uint8Array;
162
- static deserialize(buffer: Uint8Array): KyberPreKeyRecord;
120
+ static new(id: number, timestamp: number, keyPair: KEMKeyPair, signature: Uint8Array<ArrayBuffer>): KyberPreKeyRecord;
121
+ serialize(): Uint8Array<ArrayBuffer>;
122
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): KyberPreKeyRecord;
163
123
  id(): number;
164
124
  keyPair(): KEMKeyPair;
165
125
  publicKey(): KEMPublicKey;
166
126
  secretKey(): KEMSecretKey;
167
- signature(): Uint8Array;
127
+ signature(): Uint8Array<ArrayBuffer>;
168
128
  timestamp(): number;
169
129
  }
170
130
  export declare class SignalMessage {
171
131
  readonly _nativeHandle: Native.SignalMessage;
172
132
  private constructor();
173
- static _new(messageVersion: number, macKey: Uint8Array, senderRatchetKey: PublicKey, counter: number, previousCounter: number, ciphertext: Uint8Array, senderIdentityKey: PublicKey, receiverIdentityKey: PublicKey, pqRatchet: Uint8Array): SignalMessage;
174
- static deserialize(buffer: Uint8Array): SignalMessage;
175
- body(): Uint8Array;
176
- pqRatchet(): Uint8Array;
133
+ static _new(messageVersion: number, macKey: Uint8Array<ArrayBuffer>, senderRatchetKey: PublicKey, counter: number, previousCounter: number, ciphertext: Uint8Array<ArrayBuffer>, senderIdentityKey: PublicKey, receiverIdentityKey: PublicKey, pqRatchet: Uint8Array<ArrayBuffer>): SignalMessage;
134
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): SignalMessage;
135
+ body(): Uint8Array<ArrayBuffer>;
136
+ pqRatchet(): Uint8Array<ArrayBuffer>;
177
137
  counter(): number;
178
138
  messageVersion(): number;
179
- serialize(): Uint8Array;
180
- verifyMac(senderIdentityKey: PublicKey, recevierIdentityKey: PublicKey, macKey: Uint8Array): boolean;
139
+ serialize(): Uint8Array<ArrayBuffer>;
140
+ verifyMac(senderIdentityKey: PublicKey, recevierIdentityKey: PublicKey, macKey: Uint8Array<ArrayBuffer>): boolean;
181
141
  }
182
142
  export declare class PreKeySignalMessage {
183
143
  readonly _nativeHandle: Native.PreKeySignalMessage;
184
144
  private constructor();
185
145
  static _new(messageVersion: number, registrationId: number, preKeyId: number | null, signedPreKeyId: number, baseKey: PublicKey, identityKey: PublicKey, signalMessage: SignalMessage): PreKeySignalMessage;
186
- static deserialize(buffer: Uint8Array): PreKeySignalMessage;
146
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): PreKeySignalMessage;
187
147
  preKeyId(): number | null;
188
148
  registrationId(): number;
189
149
  signedPreKeyId(): number;
190
150
  version(): number;
191
- serialize(): Uint8Array;
151
+ serialize(): Uint8Array<ArrayBuffer>;
192
152
  }
193
153
  export declare class SessionRecord {
194
154
  readonly _nativeHandle: Native.SessionRecord;
195
155
  private constructor();
196
156
  static _fromNativeHandle(nativeHandle: Native.SessionRecord): SessionRecord;
197
- static deserialize(buffer: Uint8Array): SessionRecord;
198
- serialize(): Uint8Array;
157
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): SessionRecord;
158
+ serialize(): Uint8Array<ArrayBuffer>;
199
159
  archiveCurrentState(): void;
200
160
  localRegistrationId(): number;
201
161
  remoteRegistrationId(): number;
@@ -212,28 +172,28 @@ export declare class ServerCertificate {
212
172
  static _fromNativeHandle(nativeHandle: Native.ServerCertificate): ServerCertificate;
213
173
  private constructor();
214
174
  static new(keyId: number, serverKey: PublicKey, trustRoot: PrivateKey): ServerCertificate;
215
- static deserialize(buffer: Uint8Array): ServerCertificate;
216
- certificateData(): Uint8Array;
175
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): ServerCertificate;
176
+ certificateData(): Uint8Array<ArrayBuffer>;
217
177
  key(): PublicKey;
218
178
  keyId(): number;
219
- serialize(): Uint8Array;
220
- signature(): Uint8Array;
179
+ serialize(): Uint8Array<ArrayBuffer>;
180
+ signature(): Uint8Array<ArrayBuffer>;
221
181
  }
222
182
  export declare class SenderKeyRecord {
223
183
  readonly _nativeHandle: Native.SenderKeyRecord;
224
184
  static _fromNativeHandle(nativeHandle: Native.SenderKeyRecord): SenderKeyRecord;
225
185
  private constructor();
226
- static deserialize(buffer: Uint8Array): SenderKeyRecord;
227
- serialize(): Uint8Array;
186
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): SenderKeyRecord;
187
+ serialize(): Uint8Array<ArrayBuffer>;
228
188
  }
229
189
  export declare class SenderCertificate {
230
190
  readonly _nativeHandle: Native.SenderCertificate;
231
191
  private constructor();
232
192
  static _fromNativeHandle(nativeHandle: Native.SenderCertificate): SenderCertificate;
233
193
  static new(senderUuid: string | Aci, senderE164: string | null, senderDeviceId: number, senderKey: PublicKey, expiration: number, signerCert: ServerCertificate, signerKey: PrivateKey): SenderCertificate;
234
- static deserialize(buffer: Uint8Array): SenderCertificate;
235
- serialize(): Uint8Array;
236
- certificate(): Uint8Array;
194
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): SenderCertificate;
195
+ serialize(): Uint8Array<ArrayBuffer>;
196
+ certificate(): Uint8Array<ArrayBuffer>;
237
197
  expiration(): number;
238
198
  key(): PublicKey;
239
199
  senderE164(): string | null;
@@ -246,7 +206,7 @@ export declare class SenderCertificate {
246
206
  senderAci(): Aci | null;
247
207
  senderDeviceId(): number;
248
208
  serverCertificate(): ServerCertificate;
249
- signature(): Uint8Array;
209
+ signature(): Uint8Array<ArrayBuffer>;
250
210
  /**
251
211
  * Validates `this` against the given trust root at the given current time.
252
212
  *
@@ -267,10 +227,10 @@ export declare class SenderKeyDistributionMessage {
267
227
  readonly _nativeHandle: Native.SenderKeyDistributionMessage;
268
228
  private constructor();
269
229
  static create(sender: ProtocolAddress, distributionId: Uuid, store: SenderKeyStore): Promise<SenderKeyDistributionMessage>;
270
- static _new(messageVersion: number, distributionId: Uuid, chainId: number, iteration: number, chainKey: Uint8Array, pk: PublicKey): SenderKeyDistributionMessage;
271
- static deserialize(buffer: Uint8Array): SenderKeyDistributionMessage;
272
- serialize(): Uint8Array;
273
- chainKey(): Uint8Array;
230
+ static _new(messageVersion: number, distributionId: Uuid, chainId: number, iteration: number, chainKey: Uint8Array<ArrayBuffer>, pk: PublicKey): SenderKeyDistributionMessage;
231
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): SenderKeyDistributionMessage;
232
+ serialize(): Uint8Array<ArrayBuffer>;
233
+ chainKey(): Uint8Array<ArrayBuffer>;
274
234
  iteration(): number;
275
235
  chainId(): number;
276
236
  distributionId(): Uuid;
@@ -279,10 +239,10 @@ export declare function processSenderKeyDistributionMessage(sender: ProtocolAddr
279
239
  export declare class SenderKeyMessage {
280
240
  readonly _nativeHandle: Native.SenderKeyMessage;
281
241
  private constructor();
282
- static _new(messageVersion: number, distributionId: Uuid, chainId: number, iteration: number, ciphertext: Uint8Array, pk: PrivateKey): SenderKeyMessage;
283
- static deserialize(buffer: Uint8Array): SenderKeyMessage;
284
- serialize(): Uint8Array;
285
- ciphertext(): Uint8Array;
242
+ static _new(messageVersion: number, distributionId: Uuid, chainId: number, iteration: number, ciphertext: Uint8Array<ArrayBuffer>, pk: PrivateKey): SenderKeyMessage;
243
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): SenderKeyMessage;
244
+ serialize(): Uint8Array<ArrayBuffer>;
245
+ ciphertext(): Uint8Array<ArrayBuffer>;
286
246
  iteration(): number;
287
247
  chainId(): number;
288
248
  distributionId(): Uuid;
@@ -292,14 +252,14 @@ export declare class UnidentifiedSenderMessageContent {
292
252
  readonly _nativeHandle: Native.UnidentifiedSenderMessageContent;
293
253
  private constructor();
294
254
  static _fromNativeHandle(nativeHandle: Native.UnidentifiedSenderMessageContent): UnidentifiedSenderMessageContent;
295
- static new(message: CiphertextMessage, sender: SenderCertificate, contentHint: number, groupId: Uint8Array | null): UnidentifiedSenderMessageContent;
296
- static deserialize(buffer: Uint8Array): UnidentifiedSenderMessageContent;
297
- serialize(): Uint8Array;
298
- contents(): Uint8Array;
255
+ static new(message: CiphertextMessage, sender: SenderCertificate, contentHint: number, groupId: Uint8Array<ArrayBuffer> | null): UnidentifiedSenderMessageContent;
256
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): UnidentifiedSenderMessageContent;
257
+ serialize(): Uint8Array<ArrayBuffer>;
258
+ contents(): Uint8Array<ArrayBuffer>;
299
259
  msgType(): number;
300
260
  senderCertificate(): SenderCertificate;
301
261
  contentHint(): number;
302
- groupId(): Uint8Array | null;
262
+ groupId(): Uint8Array<ArrayBuffer> | null;
303
263
  }
304
264
  export declare abstract class SessionStore {
305
265
  abstract saveSession(name: ProtocolAddress, record: SessionRecord): Promise<void>;
@@ -310,13 +270,9 @@ export declare enum IdentityChange {
310
270
  NewOrUnchanged = 0,
311
271
  ReplacedExisting = 1
312
272
  }
313
- export declare abstract class IdentityKeyStore implements Native.IdentityKeyStore {
314
- _getIdentityKey(): Promise<Native.PrivateKey>;
315
- _getLocalRegistrationId(): Promise<number>;
316
- _saveIdentity(name: Native.ProtocolAddress, key: Native.PublicKey): Promise<Native.IdentityChange>;
317
- _isTrustedIdentity(name: Native.ProtocolAddress, key: Native.PublicKey, sending: boolean): Promise<boolean>;
318
- _getIdentity(name: Native.ProtocolAddress): Promise<Native.PublicKey | null>;
273
+ export declare abstract class IdentityKeyStore {
319
274
  abstract getIdentityKey(): Promise<PrivateKey>;
275
+ getIdentityKeyPair(): Promise<IdentityKeyPair>;
320
276
  abstract getLocalRegistrationId(): Promise<number>;
321
277
  abstract saveIdentity(name: ProtocolAddress, key: PublicKey): Promise<IdentityChange>;
322
278
  abstract isTrustedIdentity(name: ProtocolAddress, key: PublicKey, direction: Direction): Promise<boolean>;
@@ -340,13 +296,13 @@ export declare abstract class SenderKeyStore {
340
296
  abstract saveSenderKey(sender: ProtocolAddress, distributionId: Uuid, record: SenderKeyRecord): Promise<void>;
341
297
  abstract getSenderKey(sender: ProtocolAddress, distributionId: Uuid): Promise<SenderKeyRecord | null>;
342
298
  }
343
- export declare function groupEncrypt(sender: ProtocolAddress, distributionId: Uuid, store: SenderKeyStore, message: Uint8Array): Promise<CiphertextMessage>;
344
- export declare function groupDecrypt(sender: ProtocolAddress, store: SenderKeyStore, message: Uint8Array): Promise<Uint8Array>;
299
+ export declare function groupEncrypt(sender: ProtocolAddress, distributionId: Uuid, store: SenderKeyStore, message: Uint8Array<ArrayBuffer>): Promise<CiphertextMessage>;
300
+ export declare function groupDecrypt(sender: ProtocolAddress, store: SenderKeyStore, message: Uint8Array<ArrayBuffer>): Promise<Uint8Array<ArrayBuffer>>;
345
301
  export declare class SealedSenderDecryptionResult {
346
302
  readonly _nativeHandle: Native.SealedSenderDecryptionResult;
347
303
  private constructor();
348
304
  static _fromNativeHandle(nativeHandle: Native.SealedSenderDecryptionResult): SealedSenderDecryptionResult;
349
- message(): Uint8Array;
305
+ message(): Uint8Array<ArrayBuffer>;
350
306
  senderE164(): string | null;
351
307
  senderUuid(): string;
352
308
  /**
@@ -365,36 +321,36 @@ export declare class CiphertextMessage {
365
321
  private constructor();
366
322
  static _fromNativeHandle(nativeHandle: Native.CiphertextMessage): CiphertextMessage;
367
323
  static from(message: CiphertextMessageConvertible): CiphertextMessage;
368
- serialize(): Uint8Array;
324
+ serialize(): Uint8Array<ArrayBuffer>;
369
325
  type(): number;
370
326
  }
371
327
  export declare class PlaintextContent implements CiphertextMessageConvertible {
372
328
  readonly _nativeHandle: Native.PlaintextContent;
373
329
  private constructor();
374
- static deserialize(buffer: Uint8Array): PlaintextContent;
330
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): PlaintextContent;
375
331
  static from(message: DecryptionErrorMessage): PlaintextContent;
376
- serialize(): Uint8Array;
377
- body(): Uint8Array;
332
+ serialize(): Uint8Array<ArrayBuffer>;
333
+ body(): Uint8Array<ArrayBuffer>;
378
334
  asCiphertextMessage(): CiphertextMessage;
379
335
  }
380
336
  export declare class DecryptionErrorMessage {
381
337
  readonly _nativeHandle: Native.DecryptionErrorMessage;
382
338
  private constructor();
383
339
  static _fromNativeHandle(nativeHandle: Native.DecryptionErrorMessage): DecryptionErrorMessage;
384
- static forOriginal(bytes: Uint8Array, type: CiphertextMessageType, timestamp: number, originalSenderDeviceId: number): DecryptionErrorMessage;
385
- static deserialize(buffer: Uint8Array): DecryptionErrorMessage;
386
- static extractFromSerializedBody(buffer: Uint8Array): DecryptionErrorMessage;
387
- serialize(): Uint8Array;
340
+ static forOriginal(bytes: Uint8Array<ArrayBuffer>, type: CiphertextMessageType, timestamp: number, originalSenderDeviceId: number): DecryptionErrorMessage;
341
+ static deserialize(buffer: Uint8Array<ArrayBuffer>): DecryptionErrorMessage;
342
+ static extractFromSerializedBody(buffer: Uint8Array<ArrayBuffer>): DecryptionErrorMessage;
343
+ serialize(): Uint8Array<ArrayBuffer>;
388
344
  timestamp(): number;
389
345
  deviceId(): number;
390
346
  ratchetKey(): PublicKey | undefined;
391
347
  }
392
348
  export declare function processPreKeyBundle(bundle: PreKeyBundle, address: ProtocolAddress, sessionStore: SessionStore, identityStore: IdentityKeyStore, now?: Date): Promise<void>;
393
- export declare function signalEncrypt(message: Uint8Array, address: ProtocolAddress, sessionStore: SessionStore, identityStore: IdentityKeyStore, now?: Date): Promise<CiphertextMessage>;
394
- export declare function signalDecrypt(message: SignalMessage, address: ProtocolAddress, sessionStore: SessionStore, identityStore: IdentityKeyStore): Promise<Uint8Array>;
395
- export declare function signalDecryptPreKey(message: PreKeySignalMessage, address: ProtocolAddress, sessionStore: SessionStore, identityStore: IdentityKeyStore, prekeyStore: PreKeyStore, signedPrekeyStore: SignedPreKeyStore, kyberPrekeyStore: KyberPreKeyStore): Promise<Uint8Array>;
396
- export declare function sealedSenderEncryptMessage(message: Uint8Array, address: ProtocolAddress, senderCert: SenderCertificate, sessionStore: SessionStore, identityStore: IdentityKeyStore): Promise<Uint8Array>;
397
- export declare function sealedSenderEncrypt(content: UnidentifiedSenderMessageContent, address: ProtocolAddress, identityStore: IdentityKeyStore): Promise<Uint8Array>;
349
+ export declare function signalEncrypt(message: Uint8Array<ArrayBuffer>, address: ProtocolAddress, sessionStore: SessionStore, identityStore: IdentityKeyStore, now?: Date): Promise<CiphertextMessage>;
350
+ export declare function signalDecrypt(message: SignalMessage, address: ProtocolAddress, sessionStore: SessionStore, identityStore: IdentityKeyStore): Promise<Uint8Array<ArrayBuffer>>;
351
+ export declare function signalDecryptPreKey(message: PreKeySignalMessage, address: ProtocolAddress, sessionStore: SessionStore, identityStore: IdentityKeyStore, prekeyStore: PreKeyStore, signedPrekeyStore: SignedPreKeyStore, kyberPrekeyStore: KyberPreKeyStore): Promise<Uint8Array<ArrayBuffer>>;
352
+ export declare function sealedSenderEncryptMessage(message: Uint8Array<ArrayBuffer>, address: ProtocolAddress, senderCert: SenderCertificate, sessionStore: SessionStore, identityStore: IdentityKeyStore): Promise<Uint8Array<ArrayBuffer>>;
353
+ export declare function sealedSenderEncrypt(content: UnidentifiedSenderMessageContent, address: ProtocolAddress, identityStore: IdentityKeyStore): Promise<Uint8Array<ArrayBuffer>>;
398
354
  export type SealedSenderMultiRecipientEncryptOptions = {
399
355
  content: UnidentifiedSenderMessageContent;
400
356
  recipients: ProtocolAddress[];
@@ -402,28 +358,28 @@ export type SealedSenderMultiRecipientEncryptOptions = {
402
358
  identityStore: IdentityKeyStore;
403
359
  sessionStore: SessionStore;
404
360
  };
405
- export declare function sealedSenderMultiRecipientEncrypt(options: SealedSenderMultiRecipientEncryptOptions): Promise<Uint8Array>;
406
- export declare function sealedSenderMultiRecipientEncrypt(content: UnidentifiedSenderMessageContent, recipients: ProtocolAddress[], identityStore: IdentityKeyStore, sessionStore: SessionStore): Promise<Uint8Array>;
407
- export declare function sealedSenderMultiRecipientMessageForSingleRecipient(message: Uint8Array): Uint8Array;
408
- export declare function sealedSenderDecryptMessage(message: Uint8Array, trustRoot: PublicKey, timestamp: number, localE164: string | null, localUuid: string, localDeviceId: number, sessionStore: SessionStore, identityStore: IdentityKeyStore, prekeyStore: PreKeyStore, signedPrekeyStore: SignedPreKeyStore, kyberPrekeyStore: KyberPreKeyStore): Promise<SealedSenderDecryptionResult>;
409
- export declare function sealedSenderDecryptToUsmc(message: Uint8Array, identityStore: IdentityKeyStore): Promise<UnidentifiedSenderMessageContent>;
361
+ export declare function sealedSenderMultiRecipientEncrypt(options: SealedSenderMultiRecipientEncryptOptions): Promise<Uint8Array<ArrayBuffer>>;
362
+ export declare function sealedSenderMultiRecipientEncrypt(content: UnidentifiedSenderMessageContent, recipients: ProtocolAddress[], identityStore: IdentityKeyStore, sessionStore: SessionStore): Promise<Uint8Array<ArrayBuffer>>;
363
+ export declare function sealedSenderMultiRecipientMessageForSingleRecipient(message: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
364
+ export declare function sealedSenderDecryptMessage(message: Uint8Array<ArrayBuffer>, trustRoot: PublicKey, timestamp: number, localE164: string | null, localUuid: string, localDeviceId: number, sessionStore: SessionStore, identityStore: IdentityKeyStore, prekeyStore: PreKeyStore, signedPrekeyStore: SignedPreKeyStore, kyberPrekeyStore: KyberPreKeyStore): Promise<SealedSenderDecryptionResult>;
365
+ export declare function sealedSenderDecryptToUsmc(message: Uint8Array<ArrayBuffer>, identityStore: IdentityKeyStore): Promise<UnidentifiedSenderMessageContent>;
410
366
  export declare class Cds2Client {
411
367
  readonly _nativeHandle: Native.SgxClientState;
412
368
  private constructor();
413
- static new(mrenclave: Uint8Array, attestationMsg: Uint8Array, currentTimestamp: Date): Cds2Client;
414
- initialRequest(): Uint8Array;
415
- completeHandshake(buffer: Uint8Array): void;
416
- establishedSend(buffer: Uint8Array): Uint8Array;
417
- establishedRecv(buffer: Uint8Array): Uint8Array;
369
+ static new(mrenclave: Uint8Array<ArrayBuffer>, attestationMsg: Uint8Array<ArrayBuffer>, currentTimestamp: Date): Cds2Client;
370
+ initialRequest(): Uint8Array<ArrayBuffer>;
371
+ completeHandshake(buffer: Uint8Array<ArrayBuffer>): void;
372
+ establishedSend(buffer: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
373
+ establishedRecv(buffer: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
418
374
  }
419
375
  export declare class HsmEnclaveClient {
420
376
  readonly _nativeHandle: Native.HsmEnclaveClient;
421
377
  private constructor();
422
- static new(public_key: Uint8Array, code_hashes: Uint8Array[]): HsmEnclaveClient;
423
- initialRequest(): Uint8Array;
424
- completeHandshake(buffer: Uint8Array): void;
425
- establishedSend(buffer: Uint8Array): Uint8Array;
426
- establishedRecv(buffer: Uint8Array): Uint8Array;
378
+ static new(public_key: Uint8Array<ArrayBuffer>, code_hashes: Uint8Array<ArrayBuffer>[]): HsmEnclaveClient;
379
+ initialRequest(): Uint8Array<ArrayBuffer>;
380
+ completeHandshake(buffer: Uint8Array<ArrayBuffer>): void;
381
+ establishedSend(buffer: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
382
+ establishedRecv(buffer: Uint8Array<ArrayBuffer>): Uint8Array<ArrayBuffer>;
427
383
  }
428
384
  export declare enum LogLevel {
429
385
  Error = 1,