ts-mls 1.1.0 → 1.3.1

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 (871) hide show
  1. package/README.md +3 -3
  2. package/dist/authenticatedContent.d.ts +32 -0
  3. package/dist/authenticatedContent.js +26 -0
  4. package/dist/authenticatedContent.js.map +1 -0
  5. package/dist/authenticationService.d.ts +7 -0
  6. package/dist/authenticationService.js.map +1 -0
  7. package/dist/capabilities.d.ts +14 -0
  8. package/dist/capabilities.js +28 -0
  9. package/dist/capabilities.js.map +1 -0
  10. package/dist/clientConfig.d.ts +21 -0
  11. package/dist/clientConfig.js +13 -0
  12. package/dist/clientConfig.js.map +1 -0
  13. package/dist/clientState.d.ts +123 -0
  14. package/dist/clientState.js +551 -0
  15. package/dist/clientState.js.map +1 -0
  16. package/dist/codec/number.d.ts +10 -0
  17. package/dist/codec/number.js.map +1 -0
  18. package/dist/codec/optional.d.ts +4 -0
  19. package/dist/codec/optional.js +21 -0
  20. package/dist/codec/optional.js.map +1 -0
  21. package/dist/codec/tlsDecoder.js.map +1 -0
  22. package/dist/codec/tlsEncoder.js.map +1 -0
  23. package/dist/codec/variableLength.d.ts +11 -0
  24. package/dist/codec/variableLength.js +106 -0
  25. package/dist/codec/variableLength.js.map +1 -0
  26. package/dist/commit.d.ts +10 -0
  27. package/dist/commit.js +9 -0
  28. package/dist/commit.js.map +1 -0
  29. package/dist/contentType.d.ts +12 -0
  30. package/dist/contentType.js +12 -0
  31. package/dist/contentType.js.map +1 -0
  32. package/dist/createCommit.d.ts +46 -0
  33. package/dist/createCommit.js +249 -0
  34. package/dist/createCommit.js.map +1 -0
  35. package/dist/createMessage.d.ts +13 -0
  36. package/dist/createMessage.js +32 -0
  37. package/dist/createMessage.js.map +1 -0
  38. package/dist/credential.d.ts +21 -0
  39. package/dist/credential.js +31 -0
  40. package/dist/credential.js.map +1 -0
  41. package/dist/credentialType.d.ts +11 -0
  42. package/dist/credentialType.js +11 -0
  43. package/dist/credentialType.js.map +1 -0
  44. package/dist/crypto/aead.d.ts +5 -0
  45. package/dist/crypto/aead.js +2 -0
  46. package/dist/crypto/aead.js.map +1 -0
  47. package/dist/crypto/ciphersuite.d.ts +49 -0
  48. package/dist/crypto/ciphersuite.js +229 -0
  49. package/dist/crypto/ciphersuite.js.map +1 -0
  50. package/dist/crypto/getCiphersuiteImpl.d.ts +3 -0
  51. package/dist/crypto/getCiphersuiteImpl.js +5 -0
  52. package/dist/crypto/getCiphersuiteImpl.js.map +1 -0
  53. package/dist/crypto/hash.d.ts +7 -0
  54. package/dist/crypto/hash.js +10 -0
  55. package/dist/crypto/hash.js.map +1 -0
  56. package/dist/crypto/hpke.d.ts +50 -0
  57. package/dist/crypto/hpke.js +9 -0
  58. package/dist/crypto/hpke.js.map +1 -0
  59. package/dist/crypto/implementation/default/makeAead.d.ts +3 -0
  60. package/dist/crypto/implementation/default/makeAead.js +69 -0
  61. package/dist/crypto/implementation/default/makeAead.js.map +1 -0
  62. package/dist/crypto/implementation/default/makeDhKem.d.ts +3 -0
  63. package/dist/crypto/implementation/default/makeDhKem.js +49 -0
  64. package/dist/crypto/implementation/default/makeDhKem.js.map +1 -0
  65. package/dist/crypto/implementation/default/makeHashImpl.d.ts +2 -0
  66. package/dist/crypto/implementation/default/makeHashImpl.js +23 -0
  67. package/dist/crypto/implementation/default/makeHashImpl.js.map +1 -0
  68. package/dist/crypto/implementation/default/makeHpke.d.ts +2 -0
  69. package/dist/crypto/implementation/default/makeHpke.js +15 -0
  70. package/dist/crypto/implementation/default/makeHpke.js.map +1 -0
  71. package/dist/crypto/implementation/default/makeKdfImpl.d.ts +4 -0
  72. package/dist/crypto/implementation/default/makeKdfImpl.js +26 -0
  73. package/dist/crypto/implementation/default/makeKdfImpl.js.map +1 -0
  74. package/dist/crypto/implementation/default/makeNobleSignatureImpl.d.ts +2 -0
  75. package/dist/crypto/implementation/default/makeNobleSignatureImpl.js +120 -0
  76. package/dist/crypto/implementation/default/makeNobleSignatureImpl.js.map +1 -0
  77. package/dist/crypto/implementation/default/provider.d.ts +4 -0
  78. package/dist/crypto/implementation/default/provider.js +20 -0
  79. package/dist/crypto/implementation/default/provider.js.map +1 -0
  80. package/dist/crypto/implementation/default/rng.d.ts +2 -0
  81. package/dist/crypto/implementation/default/rng.js +6 -0
  82. package/dist/crypto/implementation/default/rng.js.map +1 -0
  83. package/dist/crypto/implementation/hpke.d.ts +4 -0
  84. package/dist/crypto/implementation/hpke.js +92 -0
  85. package/dist/crypto/implementation/hpke.js.map +1 -0
  86. package/dist/crypto/implementation/noble/makeAead.d.ts +3 -0
  87. package/dist/crypto/implementation/noble/makeAead.js +59 -0
  88. package/dist/crypto/implementation/noble/makeAead.js.map +1 -0
  89. package/dist/crypto/implementation/noble/makeDhKem.d.ts +1 -0
  90. package/dist/crypto/implementation/noble/makeDhKem.js +2 -0
  91. package/dist/crypto/implementation/noble/makeDhKem.js.map +1 -0
  92. package/dist/crypto/implementation/noble/makeHashImpl.d.ts +2 -0
  93. package/dist/crypto/implementation/noble/makeHashImpl.js +35 -0
  94. package/dist/crypto/implementation/noble/makeHashImpl.js.map +1 -0
  95. package/dist/crypto/implementation/noble/makeHpke.d.ts +2 -0
  96. package/dist/crypto/implementation/noble/makeHpke.js +15 -0
  97. package/dist/crypto/implementation/noble/makeHpke.js.map +1 -0
  98. package/dist/crypto/implementation/noble/makeKdfImpl.d.ts +1 -0
  99. package/dist/crypto/implementation/noble/makeKdfImpl.js +2 -0
  100. package/dist/crypto/implementation/noble/makeKdfImpl.js.map +1 -0
  101. package/dist/crypto/implementation/noble/makeNobleSignatureImpl.d.ts +1 -0
  102. package/dist/crypto/implementation/noble/makeNobleSignatureImpl.js +2 -0
  103. package/dist/crypto/implementation/noble/makeNobleSignatureImpl.js.map +1 -0
  104. package/dist/crypto/implementation/noble/provider.d.ts +4 -0
  105. package/dist/crypto/implementation/noble/provider.js +18 -0
  106. package/dist/crypto/implementation/noble/provider.js.map +1 -0
  107. package/dist/crypto/implementation/noble/rng.d.ts +1 -0
  108. package/dist/crypto/implementation/noble/rng.js +2 -0
  109. package/dist/crypto/implementation/noble/rng.js.map +1 -0
  110. package/dist/crypto/kdf.d.ts +9 -0
  111. package/dist/crypto/kdf.js +16 -0
  112. package/dist/crypto/kdf.js.map +1 -0
  113. package/dist/crypto/kem.d.ts +1 -0
  114. package/dist/crypto/kem.js +2 -0
  115. package/dist/crypto/kem.js.map +1 -0
  116. package/dist/crypto/provider.d.ts +4 -0
  117. package/dist/crypto/provider.js +2 -0
  118. package/dist/crypto/provider.js.map +1 -0
  119. package/dist/crypto/rng.d.ts +3 -0
  120. package/dist/crypto/rng.js +2 -0
  121. package/dist/crypto/rng.js.map +1 -0
  122. package/dist/crypto/signature.d.ts +11 -0
  123. package/dist/crypto/signature.js +9 -0
  124. package/dist/crypto/signature.js.map +1 -0
  125. package/dist/customCredential.d.ts +2 -0
  126. package/dist/customCredential.js.map +1 -0
  127. package/dist/defaultCapabilities.d.ts +2 -0
  128. package/dist/defaultCapabilities.js +12 -0
  129. package/dist/defaultCapabilities.js.map +1 -0
  130. package/dist/defaultExtensionType.d.ts +13 -0
  131. package/dist/defaultExtensionType.js +14 -0
  132. package/dist/defaultExtensionType.js.map +1 -0
  133. package/dist/defaultProposalType.d.ts +15 -0
  134. package/dist/defaultProposalType.js +16 -0
  135. package/dist/defaultProposalType.js.map +1 -0
  136. package/dist/extension.d.ts +18 -0
  137. package/dist/extension.js +30 -0
  138. package/dist/extension.js.map +1 -0
  139. package/dist/externalProposal.d.ts +7 -0
  140. package/dist/externalProposal.js +41 -0
  141. package/dist/externalProposal.js.map +1 -0
  142. package/dist/externalSender.d.ts +9 -0
  143. package/dist/externalSender.js +7 -0
  144. package/dist/externalSender.js.map +1 -0
  145. package/dist/framedContent.d.ts +113 -0
  146. package/dist/framedContent.js +131 -0
  147. package/dist/framedContent.js.map +1 -0
  148. package/dist/grease.d.ts +16 -0
  149. package/dist/grease.js.map +1 -0
  150. package/dist/groupContext.d.ts +19 -0
  151. package/dist/groupContext.js +44 -0
  152. package/dist/groupContext.js.map +1 -0
  153. package/dist/groupInfo.d.ts +26 -0
  154. package/dist/groupInfo.js +47 -0
  155. package/dist/groupInfo.js.map +1 -0
  156. package/dist/groupSecrets.d.ts +10 -0
  157. package/dist/groupSecrets.js +8 -0
  158. package/dist/groupSecrets.js.map +1 -0
  159. package/dist/hpkeCiphertext.d.ts +8 -0
  160. package/dist/hpkeCiphertext.js +6 -0
  161. package/dist/hpkeCiphertext.js.map +1 -0
  162. package/dist/incomingMessageAction.d.ts +10 -0
  163. package/dist/incomingMessageAction.js +2 -0
  164. package/dist/incomingMessageAction.js.map +1 -0
  165. package/dist/index.d.ts +37 -0
  166. package/dist/index.js +27 -0
  167. package/dist/index.js.map +1 -0
  168. package/dist/keyPackage.d.ts +38 -0
  169. package/dist/keyPackage.js +72 -0
  170. package/dist/keyPackage.js.map +1 -0
  171. package/dist/keyPackageEqualityConfig.d.ts +7 -0
  172. package/dist/keyPackageEqualityConfig.js +10 -0
  173. package/dist/keyPackageEqualityConfig.js.map +1 -0
  174. package/dist/keyRetentionConfig.js.map +1 -0
  175. package/dist/keySchedule.d.ts +24 -0
  176. package/dist/keySchedule.js +43 -0
  177. package/dist/keySchedule.js.map +1 -0
  178. package/dist/leafNode.d.ts +78 -0
  179. package/dist/leafNode.js +87 -0
  180. package/dist/leafNode.js.map +1 -0
  181. package/dist/leafNodeSource.d.ts +12 -0
  182. package/dist/leafNodeSource.js +12 -0
  183. package/dist/leafNodeSource.js.map +1 -0
  184. package/dist/lifetime.d.ts +9 -0
  185. package/dist/lifetime.js +13 -0
  186. package/dist/lifetime.js.map +1 -0
  187. package/dist/lifetimeConfig.js.map +1 -0
  188. package/dist/message.d.ts +42 -0
  189. package/dist/message.js +45 -0
  190. package/dist/message.js.map +1 -0
  191. package/dist/messageProtection.d.ts +36 -0
  192. package/dist/messageProtection.js +128 -0
  193. package/dist/messageProtection.js.map +1 -0
  194. package/dist/messageProtectionPublic.d.ts +17 -0
  195. package/dist/messageProtectionPublic.js +99 -0
  196. package/dist/messageProtectionPublic.js.map +1 -0
  197. package/dist/mlsError.js.map +1 -0
  198. package/dist/nodeType.d.ts +11 -0
  199. package/dist/nodeType.js +11 -0
  200. package/dist/nodeType.js.map +1 -0
  201. package/dist/paddingConfig.js.map +1 -0
  202. package/dist/parentHash.d.ts +17 -0
  203. package/dist/parentHash.js +103 -0
  204. package/dist/parentHash.js.map +1 -0
  205. package/dist/parentNode.d.ts +9 -0
  206. package/dist/parentNode.js +11 -0
  207. package/dist/parentNode.js.map +1 -0
  208. package/dist/pathSecrets.d.ts +11 -0
  209. package/dist/pathSecrets.js +31 -0
  210. package/dist/pathSecrets.js.map +1 -0
  211. package/dist/presharedkey.d.ts +51 -0
  212. package/dist/presharedkey.js +59 -0
  213. package/dist/presharedkey.js.map +1 -0
  214. package/dist/privateKeyPath.d.ts +12 -0
  215. package/dist/privateKeyPath.js +21 -0
  216. package/dist/privateKeyPath.js.map +1 -0
  217. package/dist/privateMessage.d.ts +41 -0
  218. package/dist/privateMessage.js +114 -0
  219. package/dist/privateMessage.js.map +1 -0
  220. package/dist/processMessages.d.ts +26 -0
  221. package/dist/processMessages.js +196 -0
  222. package/dist/processMessages.js.map +1 -0
  223. package/dist/proposal.d.ts +97 -0
  224. package/dist/proposal.js +91 -0
  225. package/dist/proposal.js.map +1 -0
  226. package/dist/proposalOrRefType.d.ts +25 -0
  227. package/dist/proposalOrRefType.js +31 -0
  228. package/dist/proposalOrRefType.js.map +1 -0
  229. package/dist/protocolVersion.d.ts +9 -0
  230. package/dist/protocolVersion.js +10 -0
  231. package/dist/protocolVersion.js.map +1 -0
  232. package/dist/pskIndex.d.ts +7 -0
  233. package/dist/pskIndex.js +18 -0
  234. package/dist/pskIndex.js.map +1 -0
  235. package/dist/publicMessage.d.ts +29 -0
  236. package/dist/publicMessage.js +73 -0
  237. package/dist/publicMessage.js.map +1 -0
  238. package/dist/ratchetTree.d.ts +47 -0
  239. package/dist/ratchetTree.js +260 -0
  240. package/dist/ratchetTree.js.map +1 -0
  241. package/dist/requiredCapabilities.d.ts +10 -0
  242. package/dist/requiredCapabilities.js +8 -0
  243. package/dist/requiredCapabilities.js.map +1 -0
  244. package/dist/resumption.d.ts +19 -0
  245. package/dist/resumption.js +94 -0
  246. package/dist/resumption.js.map +1 -0
  247. package/dist/secretTree.d.ts +29 -0
  248. package/dist/secretTree.js +137 -0
  249. package/dist/secretTree.js.map +1 -0
  250. package/dist/sender.d.ts +56 -0
  251. package/dist/sender.js +81 -0
  252. package/dist/sender.js.map +1 -0
  253. package/dist/transcriptHash.d.ts +14 -0
  254. package/dist/transcriptHash.js +24 -0
  255. package/dist/transcriptHash.js.map +1 -0
  256. package/dist/treeHash.d.ts +28 -0
  257. package/dist/treeHash.js +70 -0
  258. package/dist/treeHash.js.map +1 -0
  259. package/dist/treemath.d.ts +19 -0
  260. package/dist/treemath.js +93 -0
  261. package/dist/treemath.js.map +1 -0
  262. package/dist/tsconfig.build.tsbuildinfo +1 -0
  263. package/dist/unappliedProposals.d.ts +7 -0
  264. package/dist/unappliedProposals.js +9 -0
  265. package/dist/unappliedProposals.js.map +1 -0
  266. package/dist/updatePath.d.ts +35 -0
  267. package/dist/updatePath.js +163 -0
  268. package/dist/updatePath.js.map +1 -0
  269. package/dist/util/addToMap.js.map +1 -0
  270. package/dist/util/array.js.map +1 -0
  271. package/dist/util/brand.js.map +1 -0
  272. package/dist/util/byteArray.js.map +1 -0
  273. package/dist/util/constantTimeCompare.js.map +1 -0
  274. package/dist/util/enumHelpers.js.map +1 -0
  275. package/dist/util/repeat.js.map +1 -0
  276. package/dist/welcome.d.ts +29 -0
  277. package/dist/welcome.js +46 -0
  278. package/dist/welcome.js.map +1 -0
  279. package/dist/wireformat.d.ts +13 -0
  280. package/dist/wireformat.js +14 -0
  281. package/dist/wireformat.js.map +1 -0
  282. package/package.json +37 -38
  283. package/dist/bench/index.d.ts +0 -1
  284. package/dist/bench/index.js +0 -140
  285. package/dist/bench/index.js.map +0 -1
  286. package/dist/src/IncomingMessageAction.d.ts +0 -10
  287. package/dist/src/IncomingMessageAction.js +0 -2
  288. package/dist/src/IncomingMessageAction.js.map +0 -1
  289. package/dist/src/authenticatedContent.d.ts +0 -32
  290. package/dist/src/authenticatedContent.js +0 -26
  291. package/dist/src/authenticatedContent.js.map +0 -1
  292. package/dist/src/authenticationService.d.ts +0 -7
  293. package/dist/src/authenticationService.js.map +0 -1
  294. package/dist/src/capabilities.d.ts +0 -14
  295. package/dist/src/capabilities.js +0 -28
  296. package/dist/src/capabilities.js.map +0 -1
  297. package/dist/src/clientConfig.d.ts +0 -21
  298. package/dist/src/clientConfig.js +0 -13
  299. package/dist/src/clientConfig.js.map +0 -1
  300. package/dist/src/clientState.d.ts +0 -123
  301. package/dist/src/clientState.js +0 -551
  302. package/dist/src/clientState.js.map +0 -1
  303. package/dist/src/codec/number.d.ts +0 -10
  304. package/dist/src/codec/number.js.map +0 -1
  305. package/dist/src/codec/optional.d.ts +0 -4
  306. package/dist/src/codec/optional.js +0 -21
  307. package/dist/src/codec/optional.js.map +0 -1
  308. package/dist/src/codec/tlsDecoder.js.map +0 -1
  309. package/dist/src/codec/tlsEncoder.js.map +0 -1
  310. package/dist/src/codec/variableLength.d.ts +0 -11
  311. package/dist/src/codec/variableLength.js +0 -106
  312. package/dist/src/codec/variableLength.js.map +0 -1
  313. package/dist/src/commit.d.ts +0 -10
  314. package/dist/src/commit.js +0 -9
  315. package/dist/src/commit.js.map +0 -1
  316. package/dist/src/contentType.d.ts +0 -12
  317. package/dist/src/contentType.js +0 -12
  318. package/dist/src/contentType.js.map +0 -1
  319. package/dist/src/createCommit.d.ts +0 -34
  320. package/dist/src/createCommit.js +0 -247
  321. package/dist/src/createCommit.js.map +0 -1
  322. package/dist/src/createMessage.d.ts +0 -24
  323. package/dist/src/createMessage.js +0 -32
  324. package/dist/src/createMessage.js.map +0 -1
  325. package/dist/src/credential.d.ts +0 -21
  326. package/dist/src/credential.js +0 -31
  327. package/dist/src/credential.js.map +0 -1
  328. package/dist/src/credentialType.d.ts +0 -11
  329. package/dist/src/credentialType.js +0 -11
  330. package/dist/src/credentialType.js.map +0 -1
  331. package/dist/src/crypto/aead.d.ts +0 -8
  332. package/dist/src/crypto/aead.js +0 -69
  333. package/dist/src/crypto/aead.js.map +0 -1
  334. package/dist/src/crypto/ciphersuite.d.ts +0 -51
  335. package/dist/src/crypto/ciphersuite.js +0 -245
  336. package/dist/src/crypto/ciphersuite.js.map +0 -1
  337. package/dist/src/crypto/hash.d.ts +0 -8
  338. package/dist/src/crypto/hash.js +0 -32
  339. package/dist/src/crypto/hash.js.map +0 -1
  340. package/dist/src/crypto/hpke.d.ts +0 -51
  341. package/dist/src/crypto/hpke.js +0 -109
  342. package/dist/src/crypto/hpke.js.map +0 -1
  343. package/dist/src/crypto/kdf.d.ts +0 -12
  344. package/dist/src/crypto/kdf.js +0 -42
  345. package/dist/src/crypto/kdf.js.map +0 -1
  346. package/dist/src/crypto/kem.d.ts +0 -3
  347. package/dist/src/crypto/kem.js +0 -49
  348. package/dist/src/crypto/kem.js.map +0 -1
  349. package/dist/src/crypto/rng.d.ts +0 -4
  350. package/dist/src/crypto/rng.js +0 -6
  351. package/dist/src/crypto/rng.js.map +0 -1
  352. package/dist/src/crypto/signature.d.ts +0 -12
  353. package/dist/src/crypto/signature.js +0 -128
  354. package/dist/src/crypto/signature.js.map +0 -1
  355. package/dist/src/customCredential.d.ts +0 -2
  356. package/dist/src/customCredential.js.map +0 -1
  357. package/dist/src/defaultCapabilities.d.ts +0 -2
  358. package/dist/src/defaultCapabilities.js +0 -12
  359. package/dist/src/defaultCapabilities.js.map +0 -1
  360. package/dist/src/defaultExtensionType.d.ts +0 -13
  361. package/dist/src/defaultExtensionType.js +0 -14
  362. package/dist/src/defaultExtensionType.js.map +0 -1
  363. package/dist/src/defaultProposalType.d.ts +0 -15
  364. package/dist/src/defaultProposalType.js +0 -16
  365. package/dist/src/defaultProposalType.js.map +0 -1
  366. package/dist/src/extension.d.ts +0 -18
  367. package/dist/src/extension.js +0 -30
  368. package/dist/src/extension.js.map +0 -1
  369. package/dist/src/externalProposal.d.ts +0 -7
  370. package/dist/src/externalProposal.js +0 -41
  371. package/dist/src/externalProposal.js.map +0 -1
  372. package/dist/src/externalSender.d.ts +0 -9
  373. package/dist/src/externalSender.js +0 -7
  374. package/dist/src/externalSender.js.map +0 -1
  375. package/dist/src/framedContent.d.ts +0 -113
  376. package/dist/src/framedContent.js +0 -131
  377. package/dist/src/framedContent.js.map +0 -1
  378. package/dist/src/grease.d.ts +0 -16
  379. package/dist/src/grease.js.map +0 -1
  380. package/dist/src/groupContext.d.ts +0 -19
  381. package/dist/src/groupContext.js +0 -44
  382. package/dist/src/groupContext.js.map +0 -1
  383. package/dist/src/groupInfo.d.ts +0 -26
  384. package/dist/src/groupInfo.js +0 -47
  385. package/dist/src/groupInfo.js.map +0 -1
  386. package/dist/src/groupSecrets.d.ts +0 -10
  387. package/dist/src/groupSecrets.js +0 -8
  388. package/dist/src/groupSecrets.js.map +0 -1
  389. package/dist/src/hpkeCiphertext.d.ts +0 -8
  390. package/dist/src/hpkeCiphertext.js +0 -6
  391. package/dist/src/hpkeCiphertext.js.map +0 -1
  392. package/dist/src/index.d.ts +0 -32
  393. package/dist/src/index.js +0 -24
  394. package/dist/src/index.js.map +0 -1
  395. package/dist/src/keyPackage.d.ts +0 -38
  396. package/dist/src/keyPackage.js +0 -72
  397. package/dist/src/keyPackage.js.map +0 -1
  398. package/dist/src/keyPackageEqualityConfig.d.ts +0 -7
  399. package/dist/src/keyPackageEqualityConfig.js +0 -10
  400. package/dist/src/keyPackageEqualityConfig.js.map +0 -1
  401. package/dist/src/keyRetentionConfig.js.map +0 -1
  402. package/dist/src/keySchedule.d.ts +0 -24
  403. package/dist/src/keySchedule.js +0 -43
  404. package/dist/src/keySchedule.js.map +0 -1
  405. package/dist/src/leafNode.d.ts +0 -78
  406. package/dist/src/leafNode.js +0 -87
  407. package/dist/src/leafNode.js.map +0 -1
  408. package/dist/src/leafNodeSource.d.ts +0 -12
  409. package/dist/src/leafNodeSource.js +0 -12
  410. package/dist/src/leafNodeSource.js.map +0 -1
  411. package/dist/src/lifetime.d.ts +0 -9
  412. package/dist/src/lifetime.js +0 -13
  413. package/dist/src/lifetime.js.map +0 -1
  414. package/dist/src/lifetimeConfig.js.map +0 -1
  415. package/dist/src/message.d.ts +0 -42
  416. package/dist/src/message.js +0 -45
  417. package/dist/src/message.js.map +0 -1
  418. package/dist/src/messageProtection.d.ts +0 -36
  419. package/dist/src/messageProtection.js +0 -128
  420. package/dist/src/messageProtection.js.map +0 -1
  421. package/dist/src/messageProtectionPublic.d.ts +0 -17
  422. package/dist/src/messageProtectionPublic.js +0 -99
  423. package/dist/src/messageProtectionPublic.js.map +0 -1
  424. package/dist/src/mlsError.js.map +0 -1
  425. package/dist/src/nodeType.d.ts +0 -11
  426. package/dist/src/nodeType.js +0 -11
  427. package/dist/src/nodeType.js.map +0 -1
  428. package/dist/src/paddingConfig.js.map +0 -1
  429. package/dist/src/parentHash.d.ts +0 -17
  430. package/dist/src/parentHash.js +0 -103
  431. package/dist/src/parentHash.js.map +0 -1
  432. package/dist/src/parentNode.d.ts +0 -9
  433. package/dist/src/parentNode.js +0 -11
  434. package/dist/src/parentNode.js.map +0 -1
  435. package/dist/src/pathSecrets.d.ts +0 -11
  436. package/dist/src/pathSecrets.js +0 -31
  437. package/dist/src/pathSecrets.js.map +0 -1
  438. package/dist/src/presharedkey.d.ts +0 -51
  439. package/dist/src/presharedkey.js +0 -59
  440. package/dist/src/presharedkey.js.map +0 -1
  441. package/dist/src/privateKeyPath.d.ts +0 -12
  442. package/dist/src/privateKeyPath.js +0 -21
  443. package/dist/src/privateKeyPath.js.map +0 -1
  444. package/dist/src/privateMessage.d.ts +0 -41
  445. package/dist/src/privateMessage.js +0 -114
  446. package/dist/src/privateMessage.js.map +0 -1
  447. package/dist/src/processMessages.d.ts +0 -26
  448. package/dist/src/processMessages.js +0 -196
  449. package/dist/src/processMessages.js.map +0 -1
  450. package/dist/src/proposal.d.ts +0 -97
  451. package/dist/src/proposal.js +0 -91
  452. package/dist/src/proposal.js.map +0 -1
  453. package/dist/src/proposalOrRefType.d.ts +0 -25
  454. package/dist/src/proposalOrRefType.js +0 -31
  455. package/dist/src/proposalOrRefType.js.map +0 -1
  456. package/dist/src/protocolVersion.d.ts +0 -9
  457. package/dist/src/protocolVersion.js +0 -10
  458. package/dist/src/protocolVersion.js.map +0 -1
  459. package/dist/src/pskIndex.d.ts +0 -7
  460. package/dist/src/pskIndex.js +0 -18
  461. package/dist/src/pskIndex.js.map +0 -1
  462. package/dist/src/publicMessage.d.ts +0 -29
  463. package/dist/src/publicMessage.js +0 -73
  464. package/dist/src/publicMessage.js.map +0 -1
  465. package/dist/src/ratchetTree.d.ts +0 -47
  466. package/dist/src/ratchetTree.js +0 -260
  467. package/dist/src/ratchetTree.js.map +0 -1
  468. package/dist/src/requiredCapabilities.d.ts +0 -10
  469. package/dist/src/requiredCapabilities.js +0 -8
  470. package/dist/src/requiredCapabilities.js.map +0 -1
  471. package/dist/src/resumption.d.ts +0 -18
  472. package/dist/src/resumption.js +0 -74
  473. package/dist/src/resumption.js.map +0 -1
  474. package/dist/src/secretTree.d.ts +0 -29
  475. package/dist/src/secretTree.js +0 -137
  476. package/dist/src/secretTree.js.map +0 -1
  477. package/dist/src/sender.d.ts +0 -56
  478. package/dist/src/sender.js +0 -81
  479. package/dist/src/sender.js.map +0 -1
  480. package/dist/src/transcriptHash.d.ts +0 -14
  481. package/dist/src/transcriptHash.js +0 -24
  482. package/dist/src/transcriptHash.js.map +0 -1
  483. package/dist/src/treeHash.d.ts +0 -28
  484. package/dist/src/treeHash.js +0 -70
  485. package/dist/src/treeHash.js.map +0 -1
  486. package/dist/src/treemath.d.ts +0 -19
  487. package/dist/src/treemath.js +0 -93
  488. package/dist/src/treemath.js.map +0 -1
  489. package/dist/src/unappliedProposals.d.ts +0 -7
  490. package/dist/src/unappliedProposals.js +0 -9
  491. package/dist/src/unappliedProposals.js.map +0 -1
  492. package/dist/src/updatePath.d.ts +0 -35
  493. package/dist/src/updatePath.js +0 -163
  494. package/dist/src/updatePath.js.map +0 -1
  495. package/dist/src/util/addToMap.js.map +0 -1
  496. package/dist/src/util/array.js.map +0 -1
  497. package/dist/src/util/brand.js.map +0 -1
  498. package/dist/src/util/byteArray.js.map +0 -1
  499. package/dist/src/util/constantTimeCompare.js.map +0 -1
  500. package/dist/src/util/enumHelpers.js.map +0 -1
  501. package/dist/src/util/repeat.js.map +0 -1
  502. package/dist/src/welcome.d.ts +0 -29
  503. package/dist/src/welcome.js +0 -46
  504. package/dist/src/welcome.js.map +0 -1
  505. package/dist/src/wireformat.d.ts +0 -13
  506. package/dist/src/wireformat.js +0 -14
  507. package/dist/src/wireformat.js.map +0 -1
  508. package/dist/test/base64.test.d.ts +0 -1
  509. package/dist/test/base64.test.js +0 -87
  510. package/dist/test/base64.test.js.map +0 -1
  511. package/dist/test/codec/authenticatedContent.test.d.ts +0 -1
  512. package/dist/test/codec/authenticatedContent.test.js +0 -38
  513. package/dist/test/codec/authenticatedContent.test.js.map +0 -1
  514. package/dist/test/codec/capabilities.test.d.ts +0 -1
  515. package/dist/test/codec/capabilities.test.js +0 -26
  516. package/dist/test/codec/capabilities.test.js.map +0 -1
  517. package/dist/test/codec/commit.test.d.ts +0 -1
  518. package/dist/test/codec/commit.test.js +0 -15
  519. package/dist/test/codec/commit.test.js.map +0 -1
  520. package/dist/test/codec/composite.test.d.ts +0 -1
  521. package/dist/test/codec/composite.test.js +0 -61
  522. package/dist/test/codec/composite.test.js.map +0 -1
  523. package/dist/test/codec/contentType.test.d.ts +0 -1
  524. package/dist/test/codec/contentType.test.js +0 -12
  525. package/dist/test/codec/contentType.test.js.map +0 -1
  526. package/dist/test/codec/credential.test.d.ts +0 -1
  527. package/dist/test/codec/credential.test.js +0 -17
  528. package/dist/test/codec/credential.test.js.map +0 -1
  529. package/dist/test/codec/credentialType.test.d.ts +0 -1
  530. package/dist/test/codec/credentialType.test.js +0 -12
  531. package/dist/test/codec/credentialType.test.js.map +0 -1
  532. package/dist/test/codec/encryptedGroupSecrets.test.d.ts +0 -1
  533. package/dist/test/codec/encryptedGroupSecrets.test.js +0 -18
  534. package/dist/test/codec/encryptedGroupSecrets.test.js.map +0 -1
  535. package/dist/test/codec/extension.test.d.ts +0 -1
  536. package/dist/test/codec/extension.test.js +0 -20
  537. package/dist/test/codec/extension.test.js.map +0 -1
  538. package/dist/test/codec/extensionType.test.d.ts +0 -1
  539. package/dist/test/codec/extensionType.test.js +0 -12
  540. package/dist/test/codec/extensionType.test.js.map +0 -1
  541. package/dist/test/codec/externalSender.test.d.ts +0 -1
  542. package/dist/test/codec/externalSender.test.js +0 -20
  543. package/dist/test/codec/externalSender.test.js.map +0 -1
  544. package/dist/test/codec/framedContent.test.d.ts +0 -1
  545. package/dist/test/codec/framedContent.test.js +0 -26
  546. package/dist/test/codec/framedContent.test.js.map +0 -1
  547. package/dist/test/codec/groupContext.test.d.ts +0 -1
  548. package/dist/test/codec/groupContext.test.js +0 -30
  549. package/dist/test/codec/groupContext.test.js.map +0 -1
  550. package/dist/test/codec/groupInfo.test.d.ts +0 -1
  551. package/dist/test/codec/groupInfo.test.js +0 -45
  552. package/dist/test/codec/groupInfo.test.js.map +0 -1
  553. package/dist/test/codec/groupSecrets.test.d.ts +0 -1
  554. package/dist/test/codec/groupSecrets.test.js +0 -16
  555. package/dist/test/codec/groupSecrets.test.js.map +0 -1
  556. package/dist/test/codec/hpkeCiphertext.test.d.ts +0 -1
  557. package/dist/test/codec/hpkeCiphertext.test.js +0 -13
  558. package/dist/test/codec/hpkeCiphertext.test.js.map +0 -1
  559. package/dist/test/codec/keyPackage.test.d.ts +0 -1
  560. package/dist/test/codec/keyPackage.test.js +0 -58
  561. package/dist/test/codec/keyPackage.test.js.map +0 -1
  562. package/dist/test/codec/keyPackageTBS.test.d.ts +0 -1
  563. package/dist/test/codec/keyPackageTBS.test.js +0 -59
  564. package/dist/test/codec/keyPackageTBS.test.js.map +0 -1
  565. package/dist/test/codec/leafNode.test.d.ts +0 -1
  566. package/dist/test/codec/leafNode.test.js +0 -43
  567. package/dist/test/codec/leafNode.test.js.map +0 -1
  568. package/dist/test/codec/leafNodeData.test.d.ts +0 -1
  569. package/dist/test/codec/leafNodeData.test.js +0 -36
  570. package/dist/test/codec/leafNodeData.test.js.map +0 -1
  571. package/dist/test/codec/leafNodeSource.test.d.ts +0 -1
  572. package/dist/test/codec/leafNodeSource.test.js +0 -15
  573. package/dist/test/codec/leafNodeSource.test.js.map +0 -1
  574. package/dist/test/codec/lifetime.test.d.ts +0 -1
  575. package/dist/test/codec/lifetime.test.js +0 -12
  576. package/dist/test/codec/lifetime.test.js.map +0 -1
  577. package/dist/test/codec/message.test.d.ts +0 -1
  578. package/dist/test/codec/message.test.js +0 -100
  579. package/dist/test/codec/message.test.js.map +0 -1
  580. package/dist/test/codec/nodeType.test.d.ts +0 -1
  581. package/dist/test/codec/nodeType.test.js +0 -12
  582. package/dist/test/codec/nodeType.test.js.map +0 -1
  583. package/dist/test/codec/number.test.d.ts +0 -1
  584. package/dist/test/codec/number.test.js +0 -74
  585. package/dist/test/codec/number.test.js.map +0 -1
  586. package/dist/test/codec/optional.test.d.ts +0 -1
  587. package/dist/test/codec/optional.test.js +0 -42
  588. package/dist/test/codec/optional.test.js.map +0 -1
  589. package/dist/test/codec/padding.test.d.ts +0 -1
  590. package/dist/test/codec/padding.test.js +0 -40
  591. package/dist/test/codec/padding.test.js.map +0 -1
  592. package/dist/test/codec/parentHash.test.d.ts +0 -1
  593. package/dist/test/codec/parentHash.test.js +0 -13
  594. package/dist/test/codec/parentHash.test.js.map +0 -1
  595. package/dist/test/codec/parentNode.test.d.ts +0 -1
  596. package/dist/test/codec/parentNode.test.js +0 -22
  597. package/dist/test/codec/parentNode.test.js.map +0 -1
  598. package/dist/test/codec/presharedkey.test.d.ts +0 -1
  599. package/dist/test/codec/presharedkey.test.js +0 -35
  600. package/dist/test/codec/presharedkey.test.js.map +0 -1
  601. package/dist/test/codec/privateContentAAD.test.d.ts +0 -1
  602. package/dist/test/codec/privateContentAAD.test.js +0 -30
  603. package/dist/test/codec/privateContentAAD.test.js.map +0 -1
  604. package/dist/test/codec/privateMessage.test.d.ts +0 -1
  605. package/dist/test/codec/privateMessage.test.js +0 -36
  606. package/dist/test/codec/privateMessage.test.js.map +0 -1
  607. package/dist/test/codec/proposal.test.d.ts +0 -1
  608. package/dist/test/codec/proposal.test.js +0 -44
  609. package/dist/test/codec/proposal.test.js.map +0 -1
  610. package/dist/test/codec/proposalOrRef.test.d.ts +0 -1
  611. package/dist/test/codec/proposalOrRef.test.js +0 -12
  612. package/dist/test/codec/proposalOrRef.test.js.map +0 -1
  613. package/dist/test/codec/proposalOrRefType.test.d.ts +0 -1
  614. package/dist/test/codec/proposalOrRefType.test.js +0 -12
  615. package/dist/test/codec/proposalOrRefType.test.js.map +0 -1
  616. package/dist/test/codec/proposalType.test.d.ts +0 -1
  617. package/dist/test/codec/proposalType.test.js +0 -12
  618. package/dist/test/codec/proposalType.test.js.map +0 -1
  619. package/dist/test/codec/protocolVersion.test.d.ts +0 -1
  620. package/dist/test/codec/protocolVersion.test.js +0 -9
  621. package/dist/test/codec/protocolVersion.test.js.map +0 -1
  622. package/dist/test/codec/pskId.test.d.ts +0 -1
  623. package/dist/test/codec/pskId.test.js +0 -18
  624. package/dist/test/codec/pskId.test.js.map +0 -1
  625. package/dist/test/codec/pskInfo.test.d.ts +0 -1
  626. package/dist/test/codec/pskInfo.test.js +0 -12
  627. package/dist/test/codec/pskInfo.test.js.map +0 -1
  628. package/dist/test/codec/pskLabel.test.d.ts +0 -1
  629. package/dist/test/codec/pskLabel.test.js +0 -26
  630. package/dist/test/codec/pskLabel.test.js.map +0 -1
  631. package/dist/test/codec/pskType.test.d.ts +0 -1
  632. package/dist/test/codec/pskType.test.js +0 -12
  633. package/dist/test/codec/pskType.test.js.map +0 -1
  634. package/dist/test/codec/publicMessage.test.d.ts +0 -1
  635. package/dist/test/codec/publicMessage.test.js +0 -39
  636. package/dist/test/codec/publicMessage.test.js.map +0 -1
  637. package/dist/test/codec/ratchetTree.test.d.ts +0 -1
  638. package/dist/test/codec/ratchetTree.test.js +0 -83
  639. package/dist/test/codec/ratchetTree.test.js.map +0 -1
  640. package/dist/test/codec/requiredCapabilities.test.d.ts +0 -1
  641. package/dist/test/codec/requiredCapabilities.test.js +0 -30
  642. package/dist/test/codec/requiredCapabilities.test.js.map +0 -1
  643. package/dist/test/codec/resumptionPSKUsage.test.d.ts +0 -1
  644. package/dist/test/codec/resumptionPSKUsage.test.js +0 -15
  645. package/dist/test/codec/resumptionPSKUsage.test.js.map +0 -1
  646. package/dist/test/codec/reuseGuard.test.d.ts +0 -1
  647. package/dist/test/codec/reuseGuard.test.js +0 -9
  648. package/dist/test/codec/reuseGuard.test.js.map +0 -1
  649. package/dist/test/codec/roundtrip.d.ts +0 -3
  650. package/dist/test/codec/roundtrip.js +0 -8
  651. package/dist/test/codec/roundtrip.js.map +0 -1
  652. package/dist/test/codec/sender.test.d.ts +0 -1
  653. package/dist/test/codec/sender.test.js +0 -18
  654. package/dist/test/codec/sender.test.js.map +0 -1
  655. package/dist/test/codec/senderData.test.d.ts +0 -1
  656. package/dist/test/codec/senderData.test.js +0 -12
  657. package/dist/test/codec/senderData.test.js.map +0 -1
  658. package/dist/test/codec/senderDataAAD.test.d.ts +0 -1
  659. package/dist/test/codec/senderDataAAD.test.js +0 -12
  660. package/dist/test/codec/senderDataAAD.test.js.map +0 -1
  661. package/dist/test/codec/senderType.test.d.ts +0 -1
  662. package/dist/test/codec/senderType.test.js +0 -18
  663. package/dist/test/codec/senderType.test.js.map +0 -1
  664. package/dist/test/codec/transcriptHash.test.d.ts +0 -1
  665. package/dist/test/codec/transcriptHash.test.js +0 -38
  666. package/dist/test/codec/transcriptHash.test.js.map +0 -1
  667. package/dist/test/codec/treeHash.test.d.ts +0 -1
  668. package/dist/test/codec/treeHash.test.js +0 -17
  669. package/dist/test/codec/treeHash.test.js.map +0 -1
  670. package/dist/test/codec/updatePath.test.d.ts +0 -1
  671. package/dist/test/codec/updatePath.test.js +0 -81
  672. package/dist/test/codec/updatePath.test.js.map +0 -1
  673. package/dist/test/codec/updatePathNode.test.d.ts +0 -1
  674. package/dist/test/codec/updatePathNode.test.js +0 -23
  675. package/dist/test/codec/updatePathNode.test.js.map +0 -1
  676. package/dist/test/codec/varLengthEncoding.test.d.ts +0 -1
  677. package/dist/test/codec/varLengthEncoding.test.js +0 -90
  678. package/dist/test/codec/varLengthEncoding.test.js.map +0 -1
  679. package/dist/test/codec/welcome.test.d.ts +0 -1
  680. package/dist/test/codec/welcome.test.js +0 -25
  681. package/dist/test/codec/welcome.test.js.map +0 -1
  682. package/dist/test/codec/wireformat.test.d.ts +0 -1
  683. package/dist/test/codec/wireformat.test.js +0 -21
  684. package/dist/test/codec/wireformat.test.js.map +0 -1
  685. package/dist/test/crypto/aead.test.d.ts +0 -1
  686. package/dist/test/crypto/aead.test.js +0 -44
  687. package/dist/test/crypto/aead.test.js.map +0 -1
  688. package/dist/test/crypto/hpke.test.d.ts +0 -1
  689. package/dist/test/crypto/hpke.test.js +0 -58
  690. package/dist/test/crypto/hpke.test.js.map +0 -1
  691. package/dist/test/crypto/keyMatch.d.ts +0 -7
  692. package/dist/test/crypto/keyMatch.js +0 -22
  693. package/dist/test/crypto/keyMatch.js.map +0 -1
  694. package/dist/test/extensionsEqual.test.d.ts +0 -1
  695. package/dist/test/extensionsEqual.test.js +0 -51
  696. package/dist/test/extensionsEqual.test.js.map +0 -1
  697. package/dist/test/groupinfo.test.d.ts +0 -1
  698. package/dist/test/groupinfo.test.js +0 -40
  699. package/dist/test/groupinfo.test.js.map +0 -1
  700. package/dist/test/scenario/common.d.ts +0 -8
  701. package/dist/test/scenario/common.js +0 -41
  702. package/dist/test/scenario/common.js.map +0 -1
  703. package/dist/test/scenario/customExtensions.test.d.ts +0 -1
  704. package/dist/test/scenario/customExtensions.test.js +0 -56
  705. package/dist/test/scenario/customExtensions.test.js.map +0 -1
  706. package/dist/test/scenario/customProposal.test.d.ts +0 -1
  707. package/dist/test/scenario/customProposal.test.js +0 -71
  708. package/dist/test/scenario/customProposal.test.js.map +0 -1
  709. package/dist/test/scenario/epochOutOfOrder.test.d.ts +0 -1
  710. package/dist/test/scenario/epochOutOfOrder.test.js +0 -162
  711. package/dist/test/scenario/epochOutOfOrder.test.js.map +0 -1
  712. package/dist/test/scenario/externalAddProposal.test.d.ts +0 -1
  713. package/dist/test/scenario/externalAddProposal.test.js +0 -69
  714. package/dist/test/scenario/externalAddProposal.test.js.map +0 -1
  715. package/dist/test/scenario/externalJoin.test.d.ts +0 -1
  716. package/dist/test/scenario/externalJoin.test.js +0 -51
  717. package/dist/test/scenario/externalJoin.test.js.map +0 -1
  718. package/dist/test/scenario/externalJoinResync.test.d.ts +0 -1
  719. package/dist/test/scenario/externalJoinResync.test.js +0 -59
  720. package/dist/test/scenario/externalJoinResync.test.js.map +0 -1
  721. package/dist/test/scenario/externalProposal.test.d.ts +0 -1
  722. package/dist/test/scenario/externalProposal.test.js +0 -69
  723. package/dist/test/scenario/externalProposal.test.js.map +0 -1
  724. package/dist/test/scenario/externalPsk.test.d.ts +0 -1
  725. package/dist/test/scenario/externalPsk.test.js +0 -73
  726. package/dist/test/scenario/externalPsk.test.js.map +0 -1
  727. package/dist/test/scenario/externalPskJoin.test.d.ts +0 -1
  728. package/dist/test/scenario/externalPskJoin.test.js +0 -51
  729. package/dist/test/scenario/externalPskJoin.test.js.map +0 -1
  730. package/dist/test/scenario/generationOutOfOrder.test.d.ts +0 -1
  731. package/dist/test/scenario/generationOutOfOrder.test.js +0 -111
  732. package/dist/test/scenario/generationOutOfOrder.test.js.map +0 -1
  733. package/dist/test/scenario/grease.test.d.ts +0 -1
  734. package/dist/test/scenario/grease.test.js +0 -44
  735. package/dist/test/scenario/grease.test.js.map +0 -1
  736. package/dist/test/scenario/groupInfoExtensions.test.d.ts +0 -1
  737. package/dist/test/scenario/groupInfoExtensions.test.js +0 -33
  738. package/dist/test/scenario/groupInfoExtensions.test.js.map +0 -1
  739. package/dist/test/scenario/largeGroupFullLifecycle.test.d.ts +0 -1
  740. package/dist/test/scenario/largeGroupFullLifecycle.test.js +0 -127
  741. package/dist/test/scenario/largeGroupFullLifecycle.test.js.map +0 -1
  742. package/dist/test/scenario/leaveProposal.test.d.ts +0 -1
  743. package/dist/test/scenario/leaveProposal.test.js +0 -77
  744. package/dist/test/scenario/leaveProposal.test.js.map +0 -1
  745. package/dist/test/scenario/multipleJoinsAtOnce.test.d.ts +0 -1
  746. package/dist/test/scenario/multipleJoinsAtOnce.test.js +0 -48
  747. package/dist/test/scenario/multipleJoinsAtOnce.test.js.map +0 -1
  748. package/dist/test/scenario/oneToOneJoin.test.d.ts +0 -1
  749. package/dist/test/scenario/oneToOneJoin.test.js +0 -98
  750. package/dist/test/scenario/oneToOneJoin.test.js.map +0 -1
  751. package/dist/test/scenario/ratchetTreeExtension.test.d.ts +0 -1
  752. package/dist/test/scenario/ratchetTreeExtension.test.js +0 -48
  753. package/dist/test/scenario/ratchetTreeExtension.test.js.map +0 -1
  754. package/dist/test/scenario/reinit.test.d.ts +0 -1
  755. package/dist/test/scenario/reinit.test.js +0 -57
  756. package/dist/test/scenario/reinit.test.js.map +0 -1
  757. package/dist/test/scenario/rejectIncomingMessage.test.d.ts +0 -1
  758. package/dist/test/scenario/rejectIncomingMessage.test.js +0 -67
  759. package/dist/test/scenario/rejectIncomingMessage.test.js.map +0 -1
  760. package/dist/test/scenario/remove.test.d.ts +0 -1
  761. package/dist/test/scenario/remove.test.js +0 -68
  762. package/dist/test/scenario/remove.test.js.map +0 -1
  763. package/dist/test/scenario/requiredCapabilites.test.d.ts +0 -1
  764. package/dist/test/scenario/requiredCapabilites.test.js +0 -65
  765. package/dist/test/scenario/requiredCapabilites.test.js.map +0 -1
  766. package/dist/test/scenario/resumption.test.d.ts +0 -1
  767. package/dist/test/scenario/resumption.test.js +0 -43
  768. package/dist/test/scenario/resumption.test.js.map +0 -1
  769. package/dist/test/scenario/threePartyJoin.test.d.ts +0 -1
  770. package/dist/test/scenario/threePartyJoin.test.js +0 -56
  771. package/dist/test/scenario/threePartyJoin.test.js.map +0 -1
  772. package/dist/test/scenario/update.test.d.ts +0 -1
  773. package/dist/test/scenario/update.test.js +0 -50
  774. package/dist/test/scenario/update.test.js.map +0 -1
  775. package/dist/test/test-vectors/cryptoBasics.test.d.ts +0 -1
  776. package/dist/test/test-vectors/cryptoBasics.test.js +0 -60
  777. package/dist/test/test-vectors/cryptoBasics.test.js.map +0 -1
  778. package/dist/test/test-vectors/deserialization.test.d.ts +0 -1
  779. package/dist/test/test-vectors/deserialization.test.js +0 -13
  780. package/dist/test/test-vectors/deserialization.test.js.map +0 -1
  781. package/dist/test/test-vectors/keySchedule.test.d.ts +0 -1
  782. package/dist/test/test-vectors/keySchedule.test.js +0 -48
  783. package/dist/test/test-vectors/keySchedule.test.js.map +0 -1
  784. package/dist/test/test-vectors/messageProtection.test.d.ts +0 -1
  785. package/dist/test/test-vectors/messageProtection.test.js +0 -215
  786. package/dist/test/test-vectors/messageProtection.test.js.map +0 -1
  787. package/dist/test/test-vectors/messages.test.d.ts +0 -1
  788. package/dist/test/test-vectors/messages.test.js +0 -136
  789. package/dist/test/test-vectors/messages.test.js.map +0 -1
  790. package/dist/test/test-vectors/passiveClientScenarios.test.d.ts +0 -1
  791. package/dist/test/test-vectors/passiveClientScenarios.test.js +0 -86
  792. package/dist/test/test-vectors/passiveClientScenarios.test.js.map +0 -1
  793. package/dist/test/test-vectors/pskSecret.test.d.ts +0 -1
  794. package/dist/test/test-vectors/pskSecret.test.js +0 -18
  795. package/dist/test/test-vectors/pskSecret.test.js.map +0 -1
  796. package/dist/test/test-vectors/secretTree.test.d.ts +0 -1
  797. package/dist/test/test-vectors/secretTree.test.js +0 -48
  798. package/dist/test/test-vectors/secretTree.test.js.map +0 -1
  799. package/dist/test/test-vectors/transcriptHashes.test.d.ts +0 -1
  800. package/dist/test/test-vectors/transcriptHashes.test.js +0 -26
  801. package/dist/test/test-vectors/transcriptHashes.test.js.map +0 -1
  802. package/dist/test/test-vectors/treeOperations.test.d.ts +0 -1
  803. package/dist/test/test-vectors/treeOperations.test.js +0 -46
  804. package/dist/test/test-vectors/treeOperations.test.js.map +0 -1
  805. package/dist/test/test-vectors/treeValidation.test.d.ts +0 -1
  806. package/dist/test/test-vectors/treeValidation.test.js +0 -36
  807. package/dist/test/test-vectors/treeValidation.test.js.map +0 -1
  808. package/dist/test/test-vectors/treekem.test.d.ts +0 -1
  809. package/dist/test/test-vectors/treekem.test.js +0 -103
  810. package/dist/test/test-vectors/treekem.test.js.map +0 -1
  811. package/dist/test/test-vectors/treemath.test.d.ts +0 -1
  812. package/dist/test/test-vectors/treemath.test.js +0 -55
  813. package/dist/test/test-vectors/treemath.test.js.map +0 -1
  814. package/dist/test/test-vectors/welcome.test.d.ts +0 -1
  815. package/dist/test/test-vectors/welcome.test.js +0 -40
  816. package/dist/test/test-vectors/welcome.test.js.map +0 -1
  817. package/dist/test/validation/proposalValidation.test.d.ts +0 -1
  818. package/dist/test/validation/proposalValidation.test.js +0 -244
  819. package/dist/test/validation/proposalValidation.test.js.map +0 -1
  820. package/dist/test/validation/ratchetTreeValidation.test.d.ts +0 -1
  821. package/dist/test/validation/ratchetTreeValidation.test.js +0 -51
  822. package/dist/test/validation/ratchetTreeValidation.test.js.map +0 -1
  823. package/dist/test/validation/resumptionValidation.test.d.ts +0 -1
  824. package/dist/test/validation/resumptionValidation.test.js +0 -79
  825. package/dist/test/validation/resumptionValidation.test.js.map +0 -1
  826. package/dist/test_vectors/crypto-basics.json +0 -303
  827. package/dist/test_vectors/deserialization.json +0 -58
  828. package/dist/test_vectors/key-schedule.json +0 -926
  829. package/dist/test_vectors/message-protection.json +0 -142
  830. package/dist/test_vectors/messages.json +0 -5702
  831. package/dist/test_vectors/passive-client-handling-commit.json +0 -2683
  832. package/dist/test_vectors/passive-client-random.json +0 -2657
  833. package/dist/test_vectors/passive-client-welcome.json +0 -814
  834. package/dist/test_vectors/psk_secret.json +0 -2382
  835. package/dist/test_vectors/secret-tree.json +0 -4846
  836. package/dist/test_vectors/transcript-hashes.json +0 -58
  837. package/dist/test_vectors/tree-math.json +0 -8156
  838. package/dist/test_vectors/tree-operations.json +0 -47
  839. package/dist/test_vectors/tree-validation.json +0 -6204
  840. package/dist/test_vectors/treekem.json +0 -14859
  841. package/dist/test_vectors/welcome.json +0 -51
  842. /package/dist/{src/authenticationService.js → authenticationService.js} +0 -0
  843. /package/dist/{src/codec → codec}/number.js +0 -0
  844. /package/dist/{src/codec → codec}/tlsDecoder.d.ts +0 -0
  845. /package/dist/{src/codec → codec}/tlsDecoder.js +0 -0
  846. /package/dist/{src/codec → codec}/tlsEncoder.d.ts +0 -0
  847. /package/dist/{src/codec → codec}/tlsEncoder.js +0 -0
  848. /package/dist/{src/customCredential.js → customCredential.js} +0 -0
  849. /package/dist/{src/grease.js → grease.js} +0 -0
  850. /package/dist/{src/keyRetentionConfig.d.ts → keyRetentionConfig.d.ts} +0 -0
  851. /package/dist/{src/keyRetentionConfig.js → keyRetentionConfig.js} +0 -0
  852. /package/dist/{src/lifetimeConfig.d.ts → lifetimeConfig.d.ts} +0 -0
  853. /package/dist/{src/lifetimeConfig.js → lifetimeConfig.js} +0 -0
  854. /package/dist/{src/mlsError.d.ts → mlsError.d.ts} +0 -0
  855. /package/dist/{src/mlsError.js → mlsError.js} +0 -0
  856. /package/dist/{src/paddingConfig.d.ts → paddingConfig.d.ts} +0 -0
  857. /package/dist/{src/paddingConfig.js → paddingConfig.js} +0 -0
  858. /package/dist/{src/util → util}/addToMap.d.ts +0 -0
  859. /package/dist/{src/util → util}/addToMap.js +0 -0
  860. /package/dist/{src/util → util}/array.d.ts +0 -0
  861. /package/dist/{src/util → util}/array.js +0 -0
  862. /package/dist/{src/util → util}/brand.d.ts +0 -0
  863. /package/dist/{src/util → util}/brand.js +0 -0
  864. /package/dist/{src/util → util}/byteArray.d.ts +0 -0
  865. /package/dist/{src/util → util}/byteArray.js +0 -0
  866. /package/dist/{src/util → util}/constantTimeCompare.d.ts +0 -0
  867. /package/dist/{src/util → util}/constantTimeCompare.js +0 -0
  868. /package/dist/{src/util → util}/enumHelpers.d.ts +0 -0
  869. /package/dist/{src/util → util}/enumHelpers.js +0 -0
  870. /package/dist/{src/util → util}/repeat.d.ts +0 -0
  871. /package/dist/{src/util → util}/repeat.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposal.js","sourceRoot":"","sources":["../../src/proposal.ts"],"names":[],"mappings":"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"}
@@ -1,25 +0,0 @@
1
- import { Decoder } from "./codec/tlsDecoder";
2
- import { Encoder } from "./codec/tlsEncoder";
3
- import { Proposal } from "./proposal";
4
- declare const proposalOrRefTypes: {
5
- readonly proposal: 1;
6
- readonly reference: 2;
7
- };
8
- export type ProposalOrRefTypeName = keyof typeof proposalOrRefTypes;
9
- export type ProposalOrRefTypeValue = (typeof proposalOrRefTypes)[ProposalOrRefTypeName];
10
- export declare const encodeProposalOrRefType: Encoder<ProposalOrRefTypeName>;
11
- export declare const decodeProposalOrRefType: Decoder<ProposalOrRefTypeName>;
12
- export interface ProposalOrRefProposal {
13
- proposalOrRefType: "proposal";
14
- proposal: Proposal;
15
- }
16
- export interface ProposalOrRefProposalRef {
17
- proposalOrRefType: "reference";
18
- reference: Uint8Array;
19
- }
20
- export type ProposalOrRef = ProposalOrRefProposal | ProposalOrRefProposalRef;
21
- export declare const encodeProposalOrRefProposal: Encoder<ProposalOrRefProposal>;
22
- export declare const encodeProposalOrRefProposalRef: Encoder<ProposalOrRefProposalRef>;
23
- export declare const encodeProposalOrRef: Encoder<ProposalOrRef>;
24
- export declare const decodeProposalOrRef: Decoder<ProposalOrRef>;
25
- export {};
@@ -1,31 +0,0 @@
1
- import { decodeUint8, encodeUint8 } from "./codec/number";
2
- import { flatMapDecoder, mapDecoder, mapDecoderOption } from "./codec/tlsDecoder";
3
- import { contramapEncoder, contramapEncoders } from "./codec/tlsEncoder";
4
- import { decodeVarLenData, encodeVarLenData } from "./codec/variableLength";
5
- import { decodeProposal, encodeProposal } from "./proposal";
6
- import { enumNumberToKey } from "./util/enumHelpers";
7
- const proposalOrRefTypes = {
8
- proposal: 1,
9
- reference: 2,
10
- };
11
- export const encodeProposalOrRefType = contramapEncoder(encodeUint8, (t) => proposalOrRefTypes[t]);
12
- export const decodeProposalOrRefType = mapDecoderOption(decodeUint8, enumNumberToKey(proposalOrRefTypes));
13
- export const encodeProposalOrRefProposal = contramapEncoders([encodeProposalOrRefType, encodeProposal], (p) => [p.proposalOrRefType, p.proposal]);
14
- export const encodeProposalOrRefProposalRef = contramapEncoders([encodeProposalOrRefType, encodeVarLenData], (r) => [r.proposalOrRefType, r.reference]);
15
- export const encodeProposalOrRef = (input) => {
16
- switch (input.proposalOrRefType) {
17
- case "proposal":
18
- return encodeProposalOrRefProposal(input);
19
- case "reference":
20
- return encodeProposalOrRefProposalRef(input);
21
- }
22
- };
23
- export const decodeProposalOrRef = flatMapDecoder(decodeProposalOrRefType, (proposalOrRefType) => {
24
- switch (proposalOrRefType) {
25
- case "proposal":
26
- return mapDecoder(decodeProposal, (proposal) => ({ proposalOrRefType, proposal }));
27
- case "reference":
28
- return mapDecoder(decodeVarLenData, (reference) => ({ proposalOrRefType, reference }));
29
- }
30
- });
31
- //# sourceMappingURL=proposalOrRefType.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"proposalOrRefType.js","sourceRoot":"","sources":["../../src/proposalOrRefType.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAW,cAAc,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC1F,OAAO,EAAE,gBAAgB,EAAE,iBAAiB,EAAW,MAAM,oBAAoB,CAAA;AACjF,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAE,cAAc,EAAE,cAAc,EAAY,MAAM,YAAY,CAAA;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,kBAAkB,GAAG;IACzB,QAAQ,EAAE,CAAC;IACX,SAAS,EAAE,CAAC;CACJ,CAAA;AAKV,MAAM,CAAC,MAAM,uBAAuB,GAAmC,gBAAgB,CACrF,WAAW,EACX,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAC7B,CAAA;AAED,MAAM,CAAC,MAAM,uBAAuB,GAAmC,gBAAgB,CACrF,WAAW,EACX,eAAe,CAAC,kBAAkB,CAAC,CACpC,CAAA;AAaD,MAAM,CAAC,MAAM,2BAA2B,GAAmC,iBAAiB,CAC1F,CAAC,uBAAuB,EAAE,cAAc,CAAC,EACzC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,QAAQ,CAAU,CAClD,CAAA;AAED,MAAM,CAAC,MAAM,8BAA8B,GAAsC,iBAAiB,CAChG,CAAC,uBAAuB,EAAE,gBAAgB,CAAC,EAC3C,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC,CAAC,SAAS,CAAU,CACnD,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA2B,CAAC,KAAK,EAAE,EAAE;IACnE,QAAQ,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAChC,KAAK,UAAU;YACb,OAAO,2BAA2B,CAAC,KAAK,CAAC,CAAA;QAC3C,KAAK,WAAW;YACd,OAAO,8BAA8B,CAAC,KAAK,CAAC,CAAA;IAChD,CAAC;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,mBAAmB,GAA2B,cAAc,CACvE,uBAAuB,EACvB,CAAC,iBAAiB,EAA0B,EAAE;IAC5C,QAAQ,iBAAiB,EAAE,CAAC;QAC1B,KAAK,UAAU;YACb,OAAO,UAAU,CAAC,cAAc,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAA;QACpF,KAAK,WAAW;YACd,OAAO,UAAU,CAAC,gBAAgB,EAAE,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,EAAE,iBAAiB,EAAE,SAAS,EAAE,CAAC,CAAC,CAAA;IAC1F,CAAC;AACH,CAAC,CACF,CAAA"}
@@ -1,9 +0,0 @@
1
- import { Decoder } from "./codec/tlsDecoder";
2
- import { Encoder } from "./codec/tlsEncoder";
3
- export declare const protocolVersions: {
4
- readonly mls10: 1;
5
- };
6
- export type ProtocolVersionName = keyof typeof protocolVersions;
7
- export type ProtocolVersionValue = (typeof protocolVersions)[ProtocolVersionName];
8
- export declare const encodeProtocolVersion: Encoder<ProtocolVersionName>;
9
- export declare const decodeProtocolVersion: Decoder<ProtocolVersionName>;
@@ -1,10 +0,0 @@
1
- import { decodeUint16, encodeUint16 } from "./codec/number";
2
- import { mapDecoderOption } from "./codec/tlsDecoder";
3
- import { contramapEncoder } from "./codec/tlsEncoder";
4
- import { enumNumberToKey } from "./util/enumHelpers";
5
- export const protocolVersions = {
6
- mls10: 1,
7
- };
8
- export const encodeProtocolVersion = contramapEncoder(encodeUint16, (t) => protocolVersions[t]);
9
- export const decodeProtocolVersion = mapDecoderOption(decodeUint16, enumNumberToKey(protocolVersions));
10
- //# sourceMappingURL=protocolVersion.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"protocolVersion.js","sourceRoot":"","sources":["../../src/protocolVersion.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAC3D,OAAO,EAAW,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,gBAAgB,EAAW,MAAM,oBAAoB,CAAA;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAA;AAEpD,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,KAAK,EAAE,CAAC;CACA,CAAA;AAKV,MAAM,CAAC,MAAM,qBAAqB,GAAiC,gBAAgB,CACjF,YAAY,EACZ,CAAC,CAAC,EAAE,EAAE,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAC3B,CAAA;AAED,MAAM,CAAC,MAAM,qBAAqB,GAAiC,gBAAgB,CACjF,YAAY,EACZ,eAAe,CAAC,gBAAgB,CAAC,CAClC,CAAA"}
@@ -1,7 +0,0 @@
1
- import { CiphersuiteImpl } from "./crypto/ciphersuite";
2
- import { PreSharedKeyID } from "./presharedkey";
3
- export interface PskIndex {
4
- findPsk(preSharedKeyId: PreSharedKeyID): Uint8Array | undefined;
5
- }
6
- export declare const emptyPskIndex: PskIndex;
7
- export declare function accumulatePskSecret(groupedPsk: PreSharedKeyID[], pskSearch: PskIndex, cs: CiphersuiteImpl, zeroes: Uint8Array): Promise<[Uint8Array, PreSharedKeyID[]]>;
@@ -1,18 +0,0 @@
1
- import { ValidationError } from "./mlsError";
2
- import { updatePskSecret } from "./presharedkey";
3
- export const emptyPskIndex = {
4
- findPsk(_preSharedKeyId) {
5
- return undefined;
6
- },
7
- };
8
- export async function accumulatePskSecret(groupedPsk, pskSearch, cs, zeroes) {
9
- return groupedPsk.reduce(async (acc, cur, index) => {
10
- const [previousSecret, ids] = await acc;
11
- const psk = pskSearch.findPsk(cur);
12
- if (psk === undefined)
13
- throw new ValidationError("Could not find pskId referenced in proposal");
14
- const pskSecret = await updatePskSecret(previousSecret, cur, psk, index, groupedPsk.length, cs);
15
- return [pskSecret, [...ids, cur]];
16
- }, Promise.resolve([zeroes, []]));
17
- }
18
- //# sourceMappingURL=pskIndex.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"pskIndex.js","sourceRoot":"","sources":["../../src/pskIndex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAkB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAKhE,MAAM,CAAC,MAAM,aAAa,GAAa;IACrC,OAAO,CAAC,eAAe;QACrB,OAAO,SAAS,CAAA;IAClB,CAAC;CACF,CAAA;AAED,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAA4B,EAC5B,SAAmB,EACnB,EAAmB,EACnB,MAAkB;IAElB,OAAO,UAAU,CAAC,MAAM,CACtB,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,EAAE;QACxB,MAAM,CAAC,cAAc,EAAE,GAAG,CAAC,GAAG,MAAM,GAAG,CAAA;QACvC,MAAM,GAAG,GAAG,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;QAClC,IAAI,GAAG,KAAK,SAAS;YAAE,MAAM,IAAI,eAAe,CAAC,6CAA6C,CAAC,CAAA;QAC/F,MAAM,SAAS,GAAG,MAAM,eAAe,CAAC,cAAc,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,UAAU,CAAC,MAAM,EAAE,EAAE,CAAC,CAAA;QAC/F,OAAO,CAAC,SAAS,EAAE,CAAC,GAAG,GAAG,EAAE,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC,EACD,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,CAC9B,CAAA;AACH,CAAC"}
@@ -1,29 +0,0 @@
1
- import { Decoder } from "./codec/tlsDecoder";
2
- import { Encoder } from "./codec/tlsEncoder";
3
- import { Extension } from "./extension";
4
- import { ExternalSender } from "./externalSender";
5
- import { FramedContent, FramedContentAuthData } from "./framedContent";
6
- import { GroupContext } from "./groupContext";
7
- import { RatchetTree } from "./ratchetTree";
8
- import { SenderTypeName } from "./sender";
9
- type PublicMessageInfo = PublicMessageInfoMember | PublicMessageInfoMemberOther;
10
- type PublicMessageInfoMember = {
11
- senderType: "member";
12
- membershipTag: Uint8Array;
13
- };
14
- type PublicMessageInfoMemberOther = {
15
- senderType: Exclude<SenderTypeName, "member">;
16
- };
17
- export declare const encodePublicMessageInfo: Encoder<PublicMessageInfo>;
18
- export declare function decodePublicMessageInfo(senderType: SenderTypeName): Decoder<PublicMessageInfo>;
19
- export type PublicMessage = {
20
- content: FramedContent;
21
- auth: FramedContentAuthData;
22
- } & PublicMessageInfo;
23
- export type MemberPublicMessage = PublicMessage & PublicMessageInfoMember;
24
- export type ExternalPublicMessage = PublicMessage & PublicMessageInfoMemberOther;
25
- export declare const encodePublicMessage: Encoder<PublicMessage>;
26
- export declare const decodePublicMessage: Decoder<PublicMessage>;
27
- export declare function findSignaturePublicKey(ratchetTree: RatchetTree, groupContext: GroupContext, framedContent: FramedContent): Uint8Array;
28
- export declare function senderFromExtension(extensions: Extension[], senderIndex: number): ExternalSender | undefined;
29
- export {};
@@ -1,73 +0,0 @@
1
- import { flatMapDecoder, mapDecoder, mapDecoders, succeedDecoder } from "./codec/tlsDecoder";
2
- import { contramapEncoders } from "./codec/tlsEncoder";
3
- import { decodeVarLenData, encodeVarLenData } from "./codec/variableLength";
4
- import { decodeExternalSender } from "./externalSender";
5
- import { decodeFramedContent, decodeFramedContentAuthData, encodeFramedContent, encodeFramedContentAuthData, } from "./framedContent";
6
- import { CodecError, ValidationError } from "./mlsError";
7
- import { getSignaturePublicKeyFromLeafIndex } from "./ratchetTree";
8
- import { toLeafIndex } from "./treemath";
9
- export const encodePublicMessageInfo = (info) => {
10
- switch (info.senderType) {
11
- case "member":
12
- return encodeVarLenData(info.membershipTag);
13
- case "external":
14
- case "new_member_proposal":
15
- case "new_member_commit":
16
- return new Uint8Array();
17
- }
18
- };
19
- export function decodePublicMessageInfo(senderType) {
20
- switch (senderType) {
21
- case "member":
22
- return mapDecoder(decodeVarLenData, (membershipTag) => ({
23
- senderType,
24
- membershipTag,
25
- }));
26
- case "external":
27
- case "new_member_proposal":
28
- case "new_member_commit":
29
- return succeedDecoder({ senderType });
30
- }
31
- }
32
- export const encodePublicMessage = contramapEncoders([encodeFramedContent, encodeFramedContentAuthData, encodePublicMessageInfo], (msg) => [msg.content, msg.auth, msg]);
33
- export const decodePublicMessage = flatMapDecoder(decodeFramedContent, (content) => mapDecoders([decodeFramedContentAuthData(content.contentType), decodePublicMessageInfo(content.sender.senderType)], (auth, info) => ({
34
- ...info,
35
- content,
36
- auth,
37
- })));
38
- export function findSignaturePublicKey(ratchetTree, groupContext, framedContent) {
39
- switch (framedContent.sender.senderType) {
40
- case "member":
41
- return getSignaturePublicKeyFromLeafIndex(ratchetTree, toLeafIndex(framedContent.sender.leafIndex));
42
- case "external": {
43
- const sender = senderFromExtension(groupContext.extensions, framedContent.sender.senderIndex);
44
- if (sender === undefined)
45
- throw new ValidationError("Received external but no external_sender extension");
46
- return sender.signaturePublicKey;
47
- }
48
- case "new_member_proposal":
49
- if (framedContent.contentType !== "proposal")
50
- throw new ValidationError("Received new_member_proposal but contentType is not proposal");
51
- if (framedContent.proposal.proposalType !== "add")
52
- throw new ValidationError("Received new_member_proposal but proposalType was not add");
53
- return framedContent.proposal.add.keyPackage.leafNode.signaturePublicKey;
54
- case "new_member_commit": {
55
- if (framedContent.contentType !== "commit")
56
- throw new ValidationError("Received new_member_commit but contentType is not commit");
57
- if (framedContent.commit.path === undefined)
58
- throw new ValidationError("Commit contains no update path");
59
- return framedContent.commit.path.leafNode.signaturePublicKey;
60
- }
61
- }
62
- }
63
- export function senderFromExtension(extensions, senderIndex) {
64
- const externalSenderExtensions = extensions.filter((ex) => ex.extensionType === "external_senders");
65
- const externalSenderExtension = externalSenderExtensions[senderIndex];
66
- if (externalSenderExtension !== undefined) {
67
- const externalSender = decodeExternalSender(externalSenderExtension.extensionData, 0);
68
- if (externalSender === undefined)
69
- throw new CodecError("Could not decode ExternalSender");
70
- return externalSender[0];
71
- }
72
- }
73
- //# sourceMappingURL=publicMessage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"publicMessage.js","sourceRoot":"","sources":["../../src/publicMessage.ts"],"names":[],"mappings":"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"}
@@ -1,47 +0,0 @@
1
- import { Encoder } from "./codec/tlsEncoder";
2
- import { Decoder } from "./codec/tlsDecoder";
3
- import { ParentNode } from "./parentNode";
4
- import { LeafIndex, NodeIndex } from "./treemath";
5
- import { LeafNode } from "./leafNode";
6
- export type Node = NodeParent | NodeLeaf;
7
- type NodeParent = {
8
- nodeType: "parent";
9
- parent: ParentNode;
10
- };
11
- type NodeLeaf = {
12
- nodeType: "leaf";
13
- leaf: LeafNode;
14
- };
15
- export declare const encodeNode: Encoder<Node>;
16
- export declare const decodeNode: Decoder<Node>;
17
- export declare function getHpkePublicKey(n: Node): Uint8Array;
18
- export type RatchetTree = (Node | undefined)[];
19
- export declare function extendRatchetTree(tree: RatchetTree): RatchetTree;
20
- /**
21
- * If the tree has 2d leaves, then it has 2d+1 - 1 nodes.
22
- * The ratchet_tree vector logically has this number of entries, but the sender MUST NOT include blank nodes after the last non-blank node.
23
- * The receiver MUST check that the last node in ratchet_tree is non-blank, and then extend the tree to the right until it has a length of the form 2d+1 - 1, adding the minimum number of blank values possible.
24
- * (Obviously, this may be done "virtually", by synthesizing blank nodes when required, as opposed to actually changing the structure in memory.)
25
- */
26
- export declare function stripBlankNodes(tree: RatchetTree): RatchetTree;
27
- export declare const encodeRatchetTree: Encoder<RatchetTree>;
28
- export declare const decodeRatchetTree: Decoder<RatchetTree>;
29
- export declare function findBlankLeafNodeIndex(tree: RatchetTree): NodeIndex | undefined;
30
- export declare function findBlankLeafNodeIndexOrExtend(tree: RatchetTree): NodeIndex;
31
- export declare function extendTree(tree: RatchetTree, leafNode: LeafNode): [RatchetTree, NodeIndex];
32
- export declare function addLeafNode(tree: RatchetTree, leafNode: LeafNode): [RatchetTree, NodeIndex];
33
- export declare function updateLeafNode(tree: RatchetTree, leafNode: LeafNode, leafIndex: LeafIndex): RatchetTree;
34
- export declare function removeLeafNode(tree: RatchetTree, removedLeafIndex: LeafIndex): RatchetTree;
35
- export declare function resolution(tree: (Node | undefined)[], nodeIndex: NodeIndex): NodeIndex[];
36
- export declare function filteredDirectPath(leafIndex: LeafIndex, tree: RatchetTree): NodeIndex[];
37
- export declare function filteredDirectPathAndCopathResolution(leafIndex: LeafIndex, tree: RatchetTree): {
38
- resolution: NodeIndex[];
39
- nodeIndex: NodeIndex;
40
- }[];
41
- export declare function removeLeaves(tree: RatchetTree, leafIndices: LeafIndex[]): RatchetTree;
42
- export declare function traverseToRoot<T>(tree: RatchetTree, leafIndex: LeafIndex, f: (nodeIndex: NodeIndex, node: ParentNode) => T | undefined): [T, NodeIndex] | undefined;
43
- export declare function findFirstNonBlankAncestor(tree: RatchetTree, nodeIndex: NodeIndex): NodeIndex;
44
- export declare function findLeafIndex(tree: RatchetTree, leaf: LeafNode): LeafIndex | undefined;
45
- export declare function getCredentialFromLeafIndex(ratchetTree: RatchetTree, leafIndex: LeafIndex): import("./credential").Credential;
46
- export declare function getSignaturePublicKeyFromLeafIndex(ratchetTree: RatchetTree, leafIndex: LeafIndex): Uint8Array;
47
- export {};
@@ -1,260 +0,0 @@
1
- import { contramapEncoder, contramapEncoders } from "./codec/tlsEncoder";
2
- import { flatMapDecoder, mapDecoder } from "./codec/tlsDecoder";
3
- import { decodeVarLenType, encodeVarLenType } from "./codec/variableLength";
4
- import { decodeNodeType, encodeNodeType } from "./nodeType";
5
- import { decodeOptional, encodeOptional } from "./codec/optional";
6
- import { encodeParentNode, decodeParentNode } from "./parentNode";
7
- import { copath, directPath, isLeaf, leafToNodeIndex, leafWidth, left, nodeToLeafIndex, parent, right, root, toLeafIndex, toNodeIndex, } from "./treemath";
8
- import { encodeLeafNode, decodeLeafNode } from "./leafNode";
9
- import { constantTimeEqual } from "./util/constantTimeCompare";
10
- import { InternalError, ValidationError } from "./mlsError";
11
- export const encodeNode = (node) => {
12
- switch (node.nodeType) {
13
- case "parent":
14
- return contramapEncoders([encodeNodeType, encodeParentNode], (n) => [n.nodeType, n.parent])(node);
15
- case "leaf":
16
- return contramapEncoders([encodeNodeType, encodeLeafNode], (n) => [n.nodeType, n.leaf])(node);
17
- }
18
- };
19
- export const decodeNode = flatMapDecoder(decodeNodeType, (nodeType) => {
20
- switch (nodeType) {
21
- case "parent":
22
- return mapDecoder(decodeParentNode, (parent) => ({
23
- nodeType,
24
- parent,
25
- }));
26
- case "leaf":
27
- return mapDecoder(decodeLeafNode, (leaf) => ({
28
- nodeType,
29
- leaf,
30
- }));
31
- }
32
- });
33
- export function getHpkePublicKey(n) {
34
- switch (n.nodeType) {
35
- case "parent":
36
- return n.parent.hpkePublicKey;
37
- case "leaf":
38
- return n.leaf.hpkePublicKey;
39
- }
40
- }
41
- export function extendRatchetTree(tree) {
42
- const lastIndex = tree.length - 1;
43
- if (tree[lastIndex] === undefined) {
44
- throw new InternalError("The last node in the ratchet tree must be non-blank.");
45
- }
46
- // Compute the smallest full binary tree size >= current length
47
- const neededSize = nextFullBinaryTreeSize(tree.length);
48
- // Fill with `undefined` until tree has the needed size
49
- const copy = tree.slice();
50
- while (copy.length < neededSize) {
51
- copy.push(undefined);
52
- }
53
- return copy;
54
- }
55
- // Compute the smallest 2^(d + 1) - 1 >= n
56
- function nextFullBinaryTreeSize(n) {
57
- let d = 0;
58
- while ((1 << (d + 1)) - 1 < n) {
59
- d++;
60
- }
61
- return (1 << (d + 1)) - 1;
62
- }
63
- /**
64
- * If the tree has 2d leaves, then it has 2d+1 - 1 nodes.
65
- * The ratchet_tree vector logically has this number of entries, but the sender MUST NOT include blank nodes after the last non-blank node.
66
- * The receiver MUST check that the last node in ratchet_tree is non-blank, and then extend the tree to the right until it has a length of the form 2d+1 - 1, adding the minimum number of blank values possible.
67
- * (Obviously, this may be done "virtually", by synthesizing blank nodes when required, as opposed to actually changing the structure in memory.)
68
- */
69
- export function stripBlankNodes(tree) {
70
- let lastNonBlank = tree.length - 1;
71
- while (lastNonBlank >= 0 && tree[lastNonBlank] === undefined) {
72
- lastNonBlank--;
73
- }
74
- return tree.slice(0, lastNonBlank + 1);
75
- }
76
- export const encodeRatchetTree = contramapEncoder(encodeVarLenType(encodeOptional(encodeNode)), stripBlankNodes);
77
- export const decodeRatchetTree = mapDecoder(decodeVarLenType(decodeOptional(decodeNode)), extendRatchetTree);
78
- export function findBlankLeafNodeIndex(tree) {
79
- const nodeIndex = tree.findIndex((node, nodeIndex) => node === undefined && isLeaf(toNodeIndex(nodeIndex)));
80
- if (nodeIndex < 0)
81
- return undefined;
82
- else
83
- return toNodeIndex(nodeIndex);
84
- }
85
- export function findBlankLeafNodeIndexOrExtend(tree) {
86
- const blankLeaf = findBlankLeafNodeIndex(tree);
87
- return blankLeaf === undefined ? toNodeIndex(tree.length + 1) : blankLeaf;
88
- }
89
- export function extendTree(tree, leafNode) {
90
- const newRoot = undefined;
91
- const insertedNodeIndex = toNodeIndex(tree.length + 1);
92
- const newTree = [
93
- ...tree,
94
- newRoot,
95
- { nodeType: "leaf", leaf: leafNode },
96
- ...new Array(tree.length - 1),
97
- ];
98
- return [newTree, insertedNodeIndex];
99
- }
100
- export function addLeafNode(tree, leafNode) {
101
- const blankLeaf = findBlankLeafNodeIndex(tree);
102
- if (blankLeaf === undefined) {
103
- return extendTree(tree, leafNode);
104
- }
105
- const insertedLeafIndex = nodeToLeafIndex(blankLeaf);
106
- const dp = directPath(blankLeaf, leafWidth(tree.length));
107
- const copy = tree.slice();
108
- for (const nodeIndex of dp) {
109
- const node = tree[nodeIndex];
110
- if (node !== undefined) {
111
- const parentNode = node;
112
- const updated = {
113
- nodeType: "parent",
114
- parent: { ...parentNode.parent, unmergedLeaves: [...parentNode.parent.unmergedLeaves, insertedLeafIndex] },
115
- };
116
- copy[nodeIndex] = updated;
117
- }
118
- }
119
- copy[blankLeaf] = { nodeType: "leaf", leaf: leafNode };
120
- return [copy, blankLeaf];
121
- }
122
- export function updateLeafNode(tree, leafNode, leafIndex) {
123
- const leafNodeIndex = leafToNodeIndex(leafIndex);
124
- const pathToBlank = directPath(leafNodeIndex, leafWidth(tree.length));
125
- const copy = tree.slice();
126
- for (const nodeIndex of pathToBlank) {
127
- const node = tree[nodeIndex];
128
- if (node !== undefined) {
129
- copy[nodeIndex] = undefined;
130
- }
131
- }
132
- copy[leafNodeIndex] = { nodeType: "leaf", leaf: leafNode };
133
- return copy;
134
- }
135
- export function removeLeafNode(tree, removedLeafIndex) {
136
- const leafNodeIndex = leafToNodeIndex(removedLeafIndex);
137
- const pathToBlank = directPath(leafNodeIndex, leafWidth(tree.length));
138
- const copy = tree.slice();
139
- for (const nodeIndex of pathToBlank) {
140
- const node = tree[nodeIndex];
141
- if (node !== undefined) {
142
- copy[nodeIndex] = undefined;
143
- }
144
- }
145
- copy[leafNodeIndex] = undefined;
146
- return condenseRatchetTreeAfterRemove(copy);
147
- }
148
- /**
149
- * When the right subtree of the tree no longer has any non-blank nodes, it can be safely removed
150
- */
151
- function condenseRatchetTreeAfterRemove(tree) {
152
- return extendRatchetTree(stripBlankNodes(tree));
153
- }
154
- export function resolution(tree, nodeIndex) {
155
- const node = tree[nodeIndex];
156
- if (node === undefined) {
157
- if (isLeaf(nodeIndex)) {
158
- return [];
159
- }
160
- const l = left(nodeIndex);
161
- const r = right(nodeIndex);
162
- const leftRes = resolution(tree, l);
163
- const rightRes = resolution(tree, r);
164
- return [...leftRes, ...rightRes];
165
- }
166
- if (isLeaf(nodeIndex)) {
167
- return [nodeIndex];
168
- }
169
- const unmerged = node.nodeType === "parent" ? node.parent.unmergedLeaves : [];
170
- return [nodeIndex, ...unmerged.map((u) => leafToNodeIndex(toLeafIndex(u)))];
171
- }
172
- export function filteredDirectPath(leafIndex, tree) {
173
- const leafNodeIndex = leafToNodeIndex(leafIndex);
174
- const leafWidth = nodeToLeafIndex(toNodeIndex(tree.length));
175
- const cp = copath(leafNodeIndex, leafWidth);
176
- // the filtered direct path of a leaf node L is the node's direct path,
177
- // with any node removed whose child on the copath of L has an empty resolution
178
- return directPath(leafNodeIndex, leafWidth).filter((_nodeIndex, n) => resolution(tree, cp[n]).length !== 0);
179
- }
180
- export function filteredDirectPathAndCopathResolution(leafIndex, tree) {
181
- const leafNodeIndex = leafToNodeIndex(leafIndex);
182
- const lWidth = leafWidth(tree.length);
183
- const cp = copath(leafNodeIndex, lWidth);
184
- // the filtered direct path of a leaf node L is the node's direct path,
185
- // with any node removed whose child on the copath of L has an empty resolution
186
- return directPath(leafNodeIndex, lWidth).reduce((acc, cur, n) => {
187
- const r = resolution(tree, cp[n]);
188
- if (r.length === 0)
189
- return acc;
190
- else
191
- return [...acc, { nodeIndex: cur, resolution: r }];
192
- }, []);
193
- }
194
- export function removeLeaves(tree, leafIndices) {
195
- const copy = tree.slice();
196
- function shouldBeRemoved(leafIndex) {
197
- return leafIndices.find((x) => leafIndex === x) !== undefined;
198
- }
199
- for (const [i, n] of tree.entries()) {
200
- if (n !== undefined) {
201
- const nodeIndex = toNodeIndex(i);
202
- if (isLeaf(nodeIndex) && shouldBeRemoved(nodeToLeafIndex(nodeIndex))) {
203
- copy[i] = undefined;
204
- }
205
- else if (n.nodeType === "parent") {
206
- copy[i] = {
207
- ...n,
208
- parent: { ...n.parent, unmergedLeaves: n.parent.unmergedLeaves.filter((l) => !shouldBeRemoved(l)) },
209
- };
210
- }
211
- }
212
- }
213
- return condenseRatchetTreeAfterRemove(copy);
214
- }
215
- export function traverseToRoot(tree, leafIndex, f) {
216
- const rootIndex = root(leafWidth(tree.length));
217
- let currentIndex = leafToNodeIndex(leafIndex);
218
- while (currentIndex != rootIndex) {
219
- currentIndex = parent(currentIndex, leafWidth(tree.length));
220
- const currentNode = tree[currentIndex];
221
- if (currentNode !== undefined) {
222
- if (currentNode.nodeType === "leaf") {
223
- throw new InternalError("Expected parent node");
224
- }
225
- const result = f(currentIndex, currentNode.parent);
226
- if (result !== undefined) {
227
- return [result, currentIndex];
228
- }
229
- }
230
- }
231
- }
232
- export function findFirstNonBlankAncestor(tree, nodeIndex) {
233
- return (traverseToRoot(tree, nodeToLeafIndex(nodeIndex), (nodeIndex, _node) => nodeIndex)?.[0] ??
234
- root(leafWidth(tree.length)));
235
- }
236
- export function findLeafIndex(tree, leaf) {
237
- const foundIndex = tree.findIndex((node, nodeIndex) => {
238
- if (isLeaf(toNodeIndex(nodeIndex)) && node !== undefined) {
239
- if (node.nodeType === "parent")
240
- throw new InternalError("Found parent node in leaf node position");
241
- //todo is there a better (faster) comparison method?
242
- return constantTimeEqual(encodeLeafNode(node.leaf), encodeLeafNode(leaf));
243
- }
244
- return false;
245
- });
246
- return foundIndex === -1 ? undefined : nodeToLeafIndex(toNodeIndex(foundIndex));
247
- }
248
- export function getCredentialFromLeafIndex(ratchetTree, leafIndex) {
249
- const senderLeafNode = ratchetTree[leafToNodeIndex(leafIndex)];
250
- if (senderLeafNode === undefined || senderLeafNode.nodeType === "parent")
251
- throw new ValidationError("Unable to find leafnode for leafIndex");
252
- return senderLeafNode.leaf.credential;
253
- }
254
- export function getSignaturePublicKeyFromLeafIndex(ratchetTree, leafIndex) {
255
- const leafNode = ratchetTree[leafToNodeIndex(leafIndex)];
256
- if (leafNode === undefined || leafNode.nodeType === "parent")
257
- throw new ValidationError("Unable to find leafnode for leafIndex");
258
- return leafNode.leaf.signaturePublicKey;
259
- }
260
- //# sourceMappingURL=ratchetTree.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ratchetTree.js","sourceRoot":"","sources":["../../src/ratchetTree.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { CredentialTypeName } from "./credentialType";
2
- import { Encoder } from "./codec/tlsEncoder";
3
- import { Decoder } from "./codec/tlsDecoder";
4
- export interface RequiredCapabilities {
5
- extensionTypes: number[];
6
- proposalTypes: number[];
7
- credentialTypes: CredentialTypeName[];
8
- }
9
- export declare const encodeRequiredCapabilities: Encoder<RequiredCapabilities>;
10
- export declare const decodeRequiredCapabilities: Decoder<RequiredCapabilities>;
@@ -1,8 +0,0 @@
1
- import { encodeCredentialType, decodeCredentialType } from "./credentialType";
2
- import { encodeVarLenType, decodeVarLenType } from "./codec/variableLength";
3
- import { contramapEncoders } from "./codec/tlsEncoder";
4
- import { mapDecoders } from "./codec/tlsDecoder";
5
- import { decodeUint16, encodeUint16 } from "./codec/number";
6
- export const encodeRequiredCapabilities = contramapEncoders([encodeVarLenType(encodeUint16), encodeVarLenType(encodeUint16), encodeVarLenType(encodeCredentialType)], (rc) => [rc.extensionTypes, rc.proposalTypes, rc.credentialTypes]);
7
- export const decodeRequiredCapabilities = mapDecoders([decodeVarLenType(decodeUint16), decodeVarLenType(decodeUint16), decodeVarLenType(decodeCredentialType)], (extensionTypes, proposalTypes, credentialTypes) => ({ extensionTypes, proposalTypes, credentialTypes }));
8
- //# sourceMappingURL=requiredCapabilities.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"requiredCapabilities.js","sourceRoot":"","sources":["../../src/requiredCapabilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,oBAAoB,EAAE,oBAAoB,EAAE,MAAM,kBAAkB,CAAA;AACjG,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA;AAC3E,OAAO,EAAW,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC/D,OAAO,EAAW,WAAW,EAAE,MAAM,oBAAoB,CAAA;AACzD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAA;AAQ3D,MAAM,CAAC,MAAM,0BAA0B,GAAkC,iBAAiB,CACxF,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,EACxG,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,cAAc,EAAE,EAAE,CAAC,aAAa,EAAE,EAAE,CAAC,eAAe,CAAU,CAC3E,CAAA;AAED,MAAM,CAAC,MAAM,0BAA0B,GAAkC,WAAW,CAClF,CAAC,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,YAAY,CAAC,EAAE,gBAAgB,CAAC,oBAAoB,CAAC,CAAC,EACxG,CAAC,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,EAAE,CAAC,CAAC,EAAE,cAAc,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC,CACzG,CAAA"}
@@ -1,18 +0,0 @@
1
- import { ClientState } from "./clientState";
2
- import { CreateCommitResult } from "./createCommit";
3
- import { CiphersuiteName, CiphersuiteImpl } from "./crypto/ciphersuite";
4
- import { Extension } from "./extension";
5
- import { KeyPackage, PrivateKeyPackage } from "./keyPackage";
6
- import { ResumptionPSKUsageName, PreSharedKeyID } from "./presharedkey";
7
- import { ProtocolVersionName } from "./protocolVersion";
8
- import { RatchetTree } from "./ratchetTree";
9
- import { Welcome } from "./welcome";
10
- export declare function reinitGroup(state: ClientState, groupId: Uint8Array, version: ProtocolVersionName, cipherSuite: CiphersuiteName, extensions: Extension[], cs: CiphersuiteImpl): Promise<CreateCommitResult>;
11
- export declare function reinitCreateNewGroup(state: ClientState, keyPackage: KeyPackage, privateKeyPackage: PrivateKeyPackage, memberKeyPackages: KeyPackage[], groupId: Uint8Array, cipherSuite: CiphersuiteName, extensions: Extension[]): Promise<CreateCommitResult>;
12
- export declare function makeResumptionPsk(state: ClientState, usage: ResumptionPSKUsageName, cs: CiphersuiteImpl): {
13
- id: PreSharedKeyID;
14
- secret: Uint8Array;
15
- };
16
- export declare function branchGroup(state: ClientState, keyPackage: KeyPackage, privateKeyPackage: PrivateKeyPackage, memberKeyPackages: KeyPackage[], newGroupId: Uint8Array, cs: CiphersuiteImpl): Promise<CreateCommitResult>;
17
- export declare function joinGroupFromBranch(oldState: ClientState, welcome: Welcome, keyPackage: KeyPackage, privateKeyPackage: PrivateKeyPackage, ratchetTree: RatchetTree | undefined, cs: CiphersuiteImpl): Promise<ClientState>;
18
- export declare function joinGroupFromReinit(suspendedState: ClientState, welcome: Welcome, keyPackage: KeyPackage, privateKeyPackage: PrivateKeyPackage, ratchetTree: RatchetTree | undefined): Promise<ClientState>;