@matter/thread-br-client 0.0.1 → 0.17.5-alpha.0-20260706-fd4c49e2e

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 (575) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +5 -5
  3. package/dist/cjs/coap/CoapClient.d.ts +2 -2
  4. package/dist/cjs/coap/CoapClient.d.ts.map +1 -1
  5. package/dist/cjs/coap/CoapClient.js +9 -16
  6. package/dist/cjs/coap/CoapClient.js.map +1 -1
  7. package/dist/cjs/coap/CoapMessage.d.ts +11 -6
  8. package/dist/cjs/coap/CoapMessage.d.ts.map +1 -1
  9. package/dist/cjs/coap/CoapMessage.js +8 -5
  10. package/dist/cjs/coap/CoapMessage.js.map +1 -1
  11. package/dist/cjs/commissioner/Commissioner.d.ts.map +1 -1
  12. package/dist/cjs/commissioner/Commissioner.js +5 -2
  13. package/dist/cjs/commissioner/Commissioner.js.map +1 -1
  14. package/dist/cjs/commissioner/LeadKa.d.ts +3 -3
  15. package/dist/cjs/commissioner/LeadKa.d.ts.map +1 -1
  16. package/dist/cjs/commissioner/LeadKa.js +1 -1
  17. package/dist/cjs/commissioner/LeadKa.js.map +1 -1
  18. package/dist/cjs/commissioner/LeadPet.d.ts +3 -2
  19. package/dist/cjs/commissioner/LeadPet.d.ts.map +1 -1
  20. package/dist/cjs/commissioner/LeadPet.js +4 -3
  21. package/dist/cjs/commissioner/LeadPet.js.map +1 -1
  22. package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts +5 -5
  23. package/dist/cjs/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
  24. package/dist/cjs/credentials/ThreadCredentialsRegistry.js +10 -9
  25. package/dist/cjs/credentials/ThreadCredentialsRegistry.js.map +1 -1
  26. package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts +4 -3
  27. package/dist/cjs/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
  28. package/dist/cjs/crypto/AesCmacPrf128.d.ts +4 -14
  29. package/dist/cjs/crypto/AesCmacPrf128.d.ts.map +1 -1
  30. package/dist/cjs/crypto/AesCmacPrf128.js +7 -71
  31. package/dist/cjs/crypto/AesCmacPrf128.js.map +2 -2
  32. package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts +5 -4
  33. package/dist/cjs/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
  34. package/dist/cjs/crypto/Pbkdf2AesCmac.js +5 -4
  35. package/dist/cjs/crypto/Pbkdf2AesCmac.js.map +1 -1
  36. package/dist/cjs/crypto/Pskc.d.ts +4 -3
  37. package/dist/cjs/crypto/Pskc.d.ts.map +1 -1
  38. package/dist/cjs/crypto/Pskc.js +6 -5
  39. package/dist/cjs/crypto/Pskc.js.map +1 -1
  40. package/dist/cjs/crypto/index.d.ts +1 -1
  41. package/dist/cjs/crypto/index.d.ts.map +1 -1
  42. package/dist/cjs/crypto/index.js +0 -1
  43. package/dist/cjs/crypto/index.js.map +1 -1
  44. package/dist/cjs/dataset/OperationalDataset.d.ts +10 -10
  45. package/dist/cjs/dataset/OperationalDataset.d.ts.map +1 -1
  46. package/dist/cjs/dataset/OperationalDataset.js +32 -31
  47. package/dist/cjs/dataset/OperationalDataset.js.map +1 -1
  48. package/dist/cjs/dataset/SecurityPolicy.d.ts +3 -2
  49. package/dist/cjs/dataset/SecurityPolicy.d.ts.map +1 -1
  50. package/dist/cjs/dataset/SecurityPolicy.js +5 -4
  51. package/dist/cjs/dataset/SecurityPolicy.js.map +1 -1
  52. package/dist/cjs/diagnostic/DiagnosticResponse.d.ts +5 -4
  53. package/dist/cjs/diagnostic/DiagnosticResponse.d.ts.map +1 -1
  54. package/dist/cjs/diagnostic/DiagnosticSource.d.ts +2 -2
  55. package/dist/cjs/diagnostic/DiagnosticSource.d.ts.map +1 -1
  56. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
  57. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
  58. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js +48 -43
  59. package/dist/cjs/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
  60. package/dist/cjs/diagnostic/connectMeshcop.d.ts.map +1 -1
  61. package/dist/cjs/diagnostic/connectMeshcop.js +5 -12
  62. package/dist/cjs/diagnostic/connectMeshcop.js.map +1 -1
  63. package/dist/cjs/diagnostic/errors.d.ts +1 -1
  64. package/dist/cjs/diagnostic/errors.d.ts.map +1 -1
  65. package/dist/cjs/discovery/BorderRouterRegistry.d.ts.map +1 -1
  66. package/dist/cjs/discovery/BorderRouterRegistry.js +2 -4
  67. package/dist/cjs/discovery/BorderRouterRegistry.js.map +1 -1
  68. package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts +3 -3
  69. package/dist/cjs/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
  70. package/dist/cjs/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
  71. package/dist/cjs/dtls/channel/NobleDtlsChannel.js +89 -58
  72. package/dist/cjs/dtls/channel/NobleDtlsChannel.js.map +1 -1
  73. package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts +5 -4
  74. package/dist/cjs/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
  75. package/dist/cjs/dtls/ecjpake/EcJpakePms.js +4 -5
  76. package/dist/cjs/dtls/ecjpake/EcJpakePms.js.map +1 -1
  77. package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
  78. package/dist/cjs/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
  79. package/dist/cjs/dtls/ecjpake/EcJpakeRound.js +40 -29
  80. package/dist/cjs/dtls/ecjpake/EcJpakeRound.js.map +1 -1
  81. package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
  82. package/dist/cjs/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
  83. package/dist/cjs/dtls/ecjpake/SchnorrZkp.js +17 -13
  84. package/dist/cjs/dtls/ecjpake/SchnorrZkp.js.map +1 -1
  85. package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
  86. package/dist/cjs/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
  87. package/dist/cjs/dtls/handshake/ChangeCipherSpec.js +3 -1
  88. package/dist/cjs/dtls/handshake/ChangeCipherSpec.js.map +1 -1
  89. package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts +27 -4
  90. package/dist/cjs/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
  91. package/dist/cjs/dtls/handshake/ClientHelloMessage.js +3 -1
  92. package/dist/cjs/dtls/handshake/ClientHelloMessage.js.map +1 -1
  93. package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
  94. package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
  95. package/dist/cjs/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
  96. package/dist/cjs/dtls/handshake/DtlsClient.d.ts +9 -6
  97. package/dist/cjs/dtls/handshake/DtlsClient.d.ts.map +1 -1
  98. package/dist/cjs/dtls/handshake/DtlsClient.js +99 -77
  99. package/dist/cjs/dtls/handshake/DtlsClient.js.map +1 -1
  100. package/dist/cjs/dtls/handshake/FinishedMessage.d.ts +10 -3
  101. package/dist/cjs/dtls/handshake/FinishedMessage.d.ts.map +1 -1
  102. package/dist/cjs/dtls/handshake/FinishedMessage.js +4 -2
  103. package/dist/cjs/dtls/handshake/FinishedMessage.js.map +1 -1
  104. package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts +5 -4
  105. package/dist/cjs/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
  106. package/dist/cjs/dtls/handshake/HandshakeMessage.js +13 -11
  107. package/dist/cjs/dtls/handshake/HandshakeMessage.js.map +1 -1
  108. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
  109. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
  110. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
  111. package/dist/cjs/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
  112. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
  113. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
  114. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js +3 -2
  115. package/dist/cjs/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
  116. package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts +4 -3
  117. package/dist/cjs/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
  118. package/dist/cjs/dtls/handshake/ServerHelloMessage.js +3 -1
  119. package/dist/cjs/dtls/handshake/ServerHelloMessage.js.map +1 -1
  120. package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
  121. package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
  122. package/dist/cjs/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
  123. package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts +7 -5
  124. package/dist/cjs/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
  125. package/dist/cjs/dtls/prf/HandshakeTranscript.js +14 -9
  126. package/dist/cjs/dtls/prf/HandshakeTranscript.js.map +1 -1
  127. package/dist/cjs/dtls/prf/TlsPrf.d.ts +23 -22
  128. package/dist/cjs/dtls/prf/TlsPrf.d.ts.map +1 -1
  129. package/dist/cjs/dtls/prf/TlsPrf.js +33 -30
  130. package/dist/cjs/dtls/prf/TlsPrf.js.map +1 -1
  131. package/dist/cjs/dtls/record/AesCcm8.d.ts +13 -12
  132. package/dist/cjs/dtls/record/AesCcm8.d.ts.map +1 -1
  133. package/dist/cjs/dtls/record/AesCcm8.js +12 -34
  134. package/dist/cjs/dtls/record/AesCcm8.js.map +1 -1
  135. package/dist/cjs/dtls/record/DtlsCipherState.d.ts +11 -10
  136. package/dist/cjs/dtls/record/DtlsCipherState.d.ts.map +1 -1
  137. package/dist/cjs/dtls/record/DtlsCipherState.js +10 -6
  138. package/dist/cjs/dtls/record/DtlsCipherState.js.map +1 -1
  139. package/dist/cjs/dtls/record/DtlsRecord.d.ts +10 -10
  140. package/dist/cjs/dtls/record/DtlsRecord.d.ts.map +1 -1
  141. package/dist/cjs/dtls/record/DtlsRecord.js +10 -8
  142. package/dist/cjs/dtls/record/DtlsRecord.js.map +1 -1
  143. package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts +3 -4
  144. package/dist/cjs/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
  145. package/dist/cjs/otbr-rest/OtbrRestClient.d.ts +27 -8
  146. package/dist/cjs/otbr-rest/OtbrRestClient.d.ts.map +1 -1
  147. package/dist/cjs/otbr-rest/OtbrRestClient.js +50 -20
  148. package/dist/cjs/otbr-rest/OtbrRestClient.js.map +1 -1
  149. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
  150. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
  151. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js +3 -3
  152. package/dist/cjs/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
  153. package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts +6 -4
  154. package/dist/cjs/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
  155. package/dist/cjs/otbr-rest/OtbrRestProbe.js +11 -43
  156. package/dist/cjs/otbr-rest/OtbrRestProbe.js.map +1 -1
  157. package/dist/cjs/otbr-rest/caseNormalizer.d.ts +7 -0
  158. package/dist/cjs/otbr-rest/caseNormalizer.d.ts.map +1 -1
  159. package/dist/cjs/otbr-rest/caseNormalizer.js +11 -0
  160. package/dist/cjs/otbr-rest/caseNormalizer.js.map +1 -1
  161. package/dist/cjs/otbr-rest/parseHexBytes.d.ts +22 -0
  162. package/dist/cjs/otbr-rest/parseHexBytes.d.ts.map +1 -0
  163. package/dist/cjs/otbr-rest/parseHexBytes.js +50 -0
  164. package/dist/cjs/otbr-rest/parseHexBytes.js.map +6 -0
  165. package/dist/cjs/otbr-rest/translation.d.ts +2 -1
  166. package/dist/cjs/otbr-rest/translation.d.ts.map +1 -1
  167. package/dist/cjs/otbr-rest/translation.js +20 -22
  168. package/dist/cjs/otbr-rest/translation.js.map +1 -1
  169. package/dist/cjs/selection/selectBr.d.ts +8 -4
  170. package/dist/cjs/selection/selectBr.d.ts.map +1 -1
  171. package/dist/cjs/selection/selectBr.js +6 -5
  172. package/dist/cjs/selection/selectBr.js.map +1 -1
  173. package/dist/cjs/selection/withExtPanIdLock.d.ts +2 -1
  174. package/dist/cjs/selection/withExtPanIdLock.d.ts.map +1 -1
  175. package/dist/cjs/selection/withExtPanIdLock.js.map +1 -1
  176. package/dist/cjs/tlv/BasicTlvCodec.d.ts +4 -4
  177. package/dist/cjs/tlv/BasicTlvCodec.d.ts.map +1 -1
  178. package/dist/cjs/tlv/BasicTlvCodec.js +13 -11
  179. package/dist/cjs/tlv/BasicTlvCodec.js.map +1 -1
  180. package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts +3 -2
  181. package/dist/cjs/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
  182. package/dist/cjs/tlv/NetworkDiagnosticTlv.js.map +1 -1
  183. package/dist/cjs/tlv/TypeListTlv.d.ts +3 -2
  184. package/dist/cjs/tlv/TypeListTlv.d.ts.map +1 -1
  185. package/dist/cjs/tlv/TypeListTlv.js +1 -1
  186. package/dist/cjs/tlv/TypeListTlv.js.map +1 -1
  187. package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
  188. package/dist/cjs/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
  189. package/dist/cjs/tlv/diag/ChildIpv6AddressList.js +5 -3
  190. package/dist/cjs/tlv/diag/ChildIpv6AddressList.js.map +1 -1
  191. package/dist/cjs/tlv/diag/ChildTable.d.ts +3 -2
  192. package/dist/cjs/tlv/diag/ChildTable.d.ts.map +1 -1
  193. package/dist/cjs/tlv/diag/ChildTable.js +7 -6
  194. package/dist/cjs/tlv/diag/ChildTable.js.map +1 -1
  195. package/dist/cjs/tlv/diag/Connectivity.d.ts +3 -2
  196. package/dist/cjs/tlv/diag/Connectivity.d.ts.map +1 -1
  197. package/dist/cjs/tlv/diag/Connectivity.js +14 -14
  198. package/dist/cjs/tlv/diag/Connectivity.js.map +1 -1
  199. package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts +3 -2
  200. package/dist/cjs/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
  201. package/dist/cjs/tlv/diag/Ipv6AddressList.js +6 -5
  202. package/dist/cjs/tlv/diag/Ipv6AddressList.js.map +1 -1
  203. package/dist/cjs/tlv/diag/LeaderData.d.ts +3 -2
  204. package/dist/cjs/tlv/diag/LeaderData.d.ts.map +1 -1
  205. package/dist/cjs/tlv/diag/LeaderData.js +8 -7
  206. package/dist/cjs/tlv/diag/LeaderData.js.map +1 -1
  207. package/dist/cjs/tlv/diag/MacCounters.d.ts +3 -2
  208. package/dist/cjs/tlv/diag/MacCounters.d.ts.map +1 -1
  209. package/dist/cjs/tlv/diag/MacCounters.js +12 -11
  210. package/dist/cjs/tlv/diag/MacCounters.js.map +1 -1
  211. package/dist/cjs/tlv/diag/MleCounters.d.ts +3 -2
  212. package/dist/cjs/tlv/diag/MleCounters.d.ts.map +1 -1
  213. package/dist/cjs/tlv/diag/MleCounters.js +18 -17
  214. package/dist/cjs/tlv/diag/MleCounters.js.map +1 -1
  215. package/dist/cjs/tlv/diag/Mode.d.ts +3 -2
  216. package/dist/cjs/tlv/diag/Mode.d.ts.map +1 -1
  217. package/dist/cjs/tlv/diag/Mode.js +5 -3
  218. package/dist/cjs/tlv/diag/Mode.js.map +1 -1
  219. package/dist/cjs/tlv/diag/NetworkData.d.ts +7 -6
  220. package/dist/cjs/tlv/diag/NetworkData.d.ts.map +1 -1
  221. package/dist/cjs/tlv/diag/NetworkData.js +23 -18
  222. package/dist/cjs/tlv/diag/NetworkData.js.map +1 -1
  223. package/dist/cjs/tlv/diag/Primitives.d.ts +15 -14
  224. package/dist/cjs/tlv/diag/Primitives.d.ts.map +1 -1
  225. package/dist/cjs/tlv/diag/Primitives.js +25 -19
  226. package/dist/cjs/tlv/diag/Primitives.js.map +1 -1
  227. package/dist/cjs/tlv/diag/Route64.d.ts +3 -2
  228. package/dist/cjs/tlv/diag/Route64.d.ts.map +1 -1
  229. package/dist/cjs/tlv/diag/Route64.js +8 -7
  230. package/dist/cjs/tlv/diag/Route64.js.map +1 -1
  231. package/dist/cjs/tlv/diag/RouterNeighbor.d.ts +3 -2
  232. package/dist/cjs/tlv/diag/RouterNeighbor.d.ts.map +1 -1
  233. package/dist/cjs/tlv/diag/RouterNeighbor.js +13 -11
  234. package/dist/cjs/tlv/diag/RouterNeighbor.js.map +1 -1
  235. package/dist/cjs/tlv/diag/Timeout.d.ts +3 -2
  236. package/dist/cjs/tlv/diag/Timeout.d.ts.map +1 -1
  237. package/dist/cjs/tlv/diag/Timeout.js +4 -3
  238. package/dist/cjs/tlv/diag/Timeout.js.map +1 -1
  239. package/dist/cjs/tlv/diag/VendorInfo.d.ts +13 -12
  240. package/dist/cjs/tlv/diag/VendorInfo.d.ts.map +1 -1
  241. package/dist/cjs/tlv/diag/VendorInfo.js +4 -3
  242. package/dist/cjs/tlv/diag/VendorInfo.js.map +1 -1
  243. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
  244. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
  245. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js +7 -4
  246. package/dist/cjs/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
  247. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
  248. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
  249. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js +9 -7
  250. package/dist/cjs/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
  251. package/dist/cjs/util/meshLocalAddr.d.ts +5 -4
  252. package/dist/cjs/util/meshLocalAddr.d.ts.map +1 -1
  253. package/dist/cjs/util/meshLocalAddr.js +6 -4
  254. package/dist/cjs/util/meshLocalAddr.js.map +1 -1
  255. package/dist/esm/coap/CoapClient.d.ts +2 -2
  256. package/dist/esm/coap/CoapClient.d.ts.map +1 -1
  257. package/dist/esm/coap/CoapClient.js +11 -17
  258. package/dist/esm/coap/CoapClient.js.map +1 -1
  259. package/dist/esm/coap/CoapMessage.d.ts +11 -6
  260. package/dist/esm/coap/CoapMessage.d.ts.map +1 -1
  261. package/dist/esm/coap/CoapMessage.js +8 -5
  262. package/dist/esm/coap/CoapMessage.js.map +1 -1
  263. package/dist/esm/commissioner/Commissioner.d.ts.map +1 -1
  264. package/dist/esm/commissioner/Commissioner.js +5 -2
  265. package/dist/esm/commissioner/Commissioner.js.map +1 -1
  266. package/dist/esm/commissioner/LeadKa.d.ts +3 -3
  267. package/dist/esm/commissioner/LeadKa.d.ts.map +1 -1
  268. package/dist/esm/commissioner/LeadKa.js +2 -2
  269. package/dist/esm/commissioner/LeadKa.js.map +1 -1
  270. package/dist/esm/commissioner/LeadPet.d.ts +3 -2
  271. package/dist/esm/commissioner/LeadPet.d.ts.map +1 -1
  272. package/dist/esm/commissioner/LeadPet.js +4 -3
  273. package/dist/esm/commissioner/LeadPet.js.map +1 -1
  274. package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts +5 -5
  275. package/dist/esm/credentials/ThreadCredentialsRegistry.d.ts.map +1 -1
  276. package/dist/esm/credentials/ThreadCredentialsRegistry.js +10 -9
  277. package/dist/esm/credentials/ThreadCredentialsRegistry.js.map +1 -1
  278. package/dist/esm/credentials/ThreadNetworkCredentials.d.ts +4 -3
  279. package/dist/esm/credentials/ThreadNetworkCredentials.d.ts.map +1 -1
  280. package/dist/esm/crypto/AesCmacPrf128.d.ts +4 -14
  281. package/dist/esm/crypto/AesCmacPrf128.d.ts.map +1 -1
  282. package/dist/esm/crypto/AesCmacPrf128.js +8 -72
  283. package/dist/esm/crypto/AesCmacPrf128.js.map +2 -2
  284. package/dist/esm/crypto/Pbkdf2AesCmac.d.ts +5 -4
  285. package/dist/esm/crypto/Pbkdf2AesCmac.d.ts.map +1 -1
  286. package/dist/esm/crypto/Pbkdf2AesCmac.js +6 -5
  287. package/dist/esm/crypto/Pbkdf2AesCmac.js.map +1 -1
  288. package/dist/esm/crypto/Pskc.d.ts +4 -3
  289. package/dist/esm/crypto/Pskc.d.ts.map +1 -1
  290. package/dist/esm/crypto/Pskc.js +7 -6
  291. package/dist/esm/crypto/Pskc.js.map +1 -1
  292. package/dist/esm/crypto/index.d.ts +1 -1
  293. package/dist/esm/crypto/index.d.ts.map +1 -1
  294. package/dist/esm/crypto/index.js +1 -2
  295. package/dist/esm/crypto/index.js.map +1 -1
  296. package/dist/esm/dataset/OperationalDataset.d.ts +10 -10
  297. package/dist/esm/dataset/OperationalDataset.d.ts.map +1 -1
  298. package/dist/esm/dataset/OperationalDataset.js +32 -31
  299. package/dist/esm/dataset/OperationalDataset.js.map +1 -1
  300. package/dist/esm/dataset/SecurityPolicy.d.ts +3 -2
  301. package/dist/esm/dataset/SecurityPolicy.d.ts.map +1 -1
  302. package/dist/esm/dataset/SecurityPolicy.js +6 -5
  303. package/dist/esm/dataset/SecurityPolicy.js.map +1 -1
  304. package/dist/esm/diagnostic/DiagnosticResponse.d.ts +5 -4
  305. package/dist/esm/diagnostic/DiagnosticResponse.d.ts.map +1 -1
  306. package/dist/esm/diagnostic/DiagnosticSource.d.ts +2 -2
  307. package/dist/esm/diagnostic/DiagnosticSource.d.ts.map +1 -1
  308. package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts +7 -3
  309. package/dist/esm/diagnostic/MeshCopDiagnosticSource.d.ts.map +1 -1
  310. package/dist/esm/diagnostic/MeshCopDiagnosticSource.js +49 -43
  311. package/dist/esm/diagnostic/MeshCopDiagnosticSource.js.map +1 -1
  312. package/dist/esm/diagnostic/connectMeshcop.d.ts.map +1 -1
  313. package/dist/esm/diagnostic/connectMeshcop.js +6 -13
  314. package/dist/esm/diagnostic/connectMeshcop.js.map +1 -1
  315. package/dist/esm/diagnostic/errors.d.ts +1 -1
  316. package/dist/esm/diagnostic/errors.d.ts.map +1 -1
  317. package/dist/esm/discovery/BorderRouterRegistry.d.ts.map +1 -1
  318. package/dist/esm/discovery/BorderRouterRegistry.js +2 -4
  319. package/dist/esm/discovery/BorderRouterRegistry.js.map +1 -1
  320. package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts +3 -3
  321. package/dist/esm/dtls/channel/DtlsConnectOpts.d.ts.map +1 -1
  322. package/dist/esm/dtls/channel/NobleDtlsChannel.d.ts.map +1 -1
  323. package/dist/esm/dtls/channel/NobleDtlsChannel.js +90 -58
  324. package/dist/esm/dtls/channel/NobleDtlsChannel.js.map +1 -1
  325. package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts +5 -4
  326. package/dist/esm/dtls/ecjpake/EcJpakePms.d.ts.map +1 -1
  327. package/dist/esm/dtls/ecjpake/EcJpakePms.js +5 -6
  328. package/dist/esm/dtls/ecjpake/EcJpakePms.js.map +1 -1
  329. package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts +16 -15
  330. package/dist/esm/dtls/ecjpake/EcJpakeRound.d.ts.map +1 -1
  331. package/dist/esm/dtls/ecjpake/EcJpakeRound.js +41 -30
  332. package/dist/esm/dtls/ecjpake/EcJpakeRound.js.map +1 -1
  333. package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts +10 -9
  334. package/dist/esm/dtls/ecjpake/SchnorrZkp.d.ts.map +1 -1
  335. package/dist/esm/dtls/ecjpake/SchnorrZkp.js +18 -14
  336. package/dist/esm/dtls/ecjpake/SchnorrZkp.js.map +1 -1
  337. package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts +2 -1
  338. package/dist/esm/dtls/handshake/ChangeCipherSpec.d.ts.map +1 -1
  339. package/dist/esm/dtls/handshake/ChangeCipherSpec.js +3 -1
  340. package/dist/esm/dtls/handshake/ChangeCipherSpec.js.map +1 -1
  341. package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts +27 -4
  342. package/dist/esm/dtls/handshake/ClientHelloMessage.d.ts.map +1 -1
  343. package/dist/esm/dtls/handshake/ClientHelloMessage.js +4 -2
  344. package/dist/esm/dtls/handshake/ClientHelloMessage.js.map +1 -1
  345. package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts +2 -1
  346. package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.d.ts.map +1 -1
  347. package/dist/esm/dtls/handshake/ClientKeyExchangeMessage.js.map +1 -1
  348. package/dist/esm/dtls/handshake/DtlsClient.d.ts +9 -6
  349. package/dist/esm/dtls/handshake/DtlsClient.d.ts.map +1 -1
  350. package/dist/esm/dtls/handshake/DtlsClient.js +100 -78
  351. package/dist/esm/dtls/handshake/DtlsClient.js.map +1 -1
  352. package/dist/esm/dtls/handshake/FinishedMessage.d.ts +10 -3
  353. package/dist/esm/dtls/handshake/FinishedMessage.d.ts.map +1 -1
  354. package/dist/esm/dtls/handshake/FinishedMessage.js +5 -3
  355. package/dist/esm/dtls/handshake/FinishedMessage.js.map +1 -1
  356. package/dist/esm/dtls/handshake/HandshakeMessage.d.ts +5 -4
  357. package/dist/esm/dtls/handshake/HandshakeMessage.d.ts.map +1 -1
  358. package/dist/esm/dtls/handshake/HandshakeMessage.js +14 -12
  359. package/dist/esm/dtls/handshake/HandshakeMessage.js.map +1 -1
  360. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts +19 -2
  361. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.d.ts.map +1 -1
  362. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js +3 -1
  363. package/dist/esm/dtls/handshake/HelloVerifyRequestMessage.js.map +1 -1
  364. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts +2 -1
  365. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.d.ts.map +1 -1
  366. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js +3 -2
  367. package/dist/esm/dtls/handshake/ServerHelloDoneMessage.js.map +1 -1
  368. package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts +4 -3
  369. package/dist/esm/dtls/handshake/ServerHelloMessage.d.ts.map +1 -1
  370. package/dist/esm/dtls/handshake/ServerHelloMessage.js +3 -1
  371. package/dist/esm/dtls/handshake/ServerHelloMessage.js.map +1 -1
  372. package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts +2 -1
  373. package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.d.ts.map +1 -1
  374. package/dist/esm/dtls/handshake/ServerKeyExchangeMessage.js.map +1 -1
  375. package/dist/esm/dtls/prf/HandshakeTranscript.d.ts +7 -5
  376. package/dist/esm/dtls/prf/HandshakeTranscript.d.ts.map +1 -1
  377. package/dist/esm/dtls/prf/HandshakeTranscript.js +15 -10
  378. package/dist/esm/dtls/prf/HandshakeTranscript.js.map +1 -1
  379. package/dist/esm/dtls/prf/TlsPrf.d.ts +23 -22
  380. package/dist/esm/dtls/prf/TlsPrf.d.ts.map +1 -1
  381. package/dist/esm/dtls/prf/TlsPrf.js +34 -31
  382. package/dist/esm/dtls/prf/TlsPrf.js.map +1 -1
  383. package/dist/esm/dtls/record/AesCcm8.d.ts +13 -12
  384. package/dist/esm/dtls/record/AesCcm8.d.ts.map +1 -1
  385. package/dist/esm/dtls/record/AesCcm8.js +13 -35
  386. package/dist/esm/dtls/record/AesCcm8.js.map +1 -1
  387. package/dist/esm/dtls/record/DtlsCipherState.d.ts +11 -10
  388. package/dist/esm/dtls/record/DtlsCipherState.d.ts.map +1 -1
  389. package/dist/esm/dtls/record/DtlsCipherState.js +11 -7
  390. package/dist/esm/dtls/record/DtlsCipherState.js.map +1 -1
  391. package/dist/esm/dtls/record/DtlsRecord.d.ts +10 -10
  392. package/dist/esm/dtls/record/DtlsRecord.d.ts.map +1 -1
  393. package/dist/esm/dtls/record/DtlsRecord.js +11 -9
  394. package/dist/esm/dtls/record/DtlsRecord.js.map +1 -1
  395. package/dist/esm/otbr-rest/OtbrRestCapability.d.ts +3 -4
  396. package/dist/esm/otbr-rest/OtbrRestCapability.d.ts.map +1 -1
  397. package/dist/esm/otbr-rest/OtbrRestClient.d.ts +27 -8
  398. package/dist/esm/otbr-rest/OtbrRestClient.d.ts.map +1 -1
  399. package/dist/esm/otbr-rest/OtbrRestClient.js +51 -21
  400. package/dist/esm/otbr-rest/OtbrRestClient.js.map +1 -1
  401. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts +2 -1
  402. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.d.ts.map +1 -1
  403. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js +4 -4
  404. package/dist/esm/otbr-rest/OtbrRestDiagnosticSource.js.map +1 -1
  405. package/dist/esm/otbr-rest/OtbrRestProbe.d.ts +6 -4
  406. package/dist/esm/otbr-rest/OtbrRestProbe.d.ts.map +1 -1
  407. package/dist/esm/otbr-rest/OtbrRestProbe.js +12 -44
  408. package/dist/esm/otbr-rest/OtbrRestProbe.js.map +1 -1
  409. package/dist/esm/otbr-rest/caseNormalizer.d.ts +7 -0
  410. package/dist/esm/otbr-rest/caseNormalizer.d.ts.map +1 -1
  411. package/dist/esm/otbr-rest/caseNormalizer.js +11 -0
  412. package/dist/esm/otbr-rest/caseNormalizer.js.map +1 -1
  413. package/dist/esm/otbr-rest/parseHexBytes.d.ts +22 -0
  414. package/dist/esm/otbr-rest/parseHexBytes.d.ts.map +1 -0
  415. package/dist/esm/otbr-rest/parseHexBytes.js +30 -0
  416. package/dist/esm/otbr-rest/parseHexBytes.js.map +6 -0
  417. package/dist/esm/otbr-rest/translation.d.ts +2 -1
  418. package/dist/esm/otbr-rest/translation.d.ts.map +1 -1
  419. package/dist/esm/otbr-rest/translation.js +16 -18
  420. package/dist/esm/otbr-rest/translation.js.map +1 -1
  421. package/dist/esm/selection/selectBr.d.ts +8 -4
  422. package/dist/esm/selection/selectBr.d.ts.map +1 -1
  423. package/dist/esm/selection/selectBr.js +6 -5
  424. package/dist/esm/selection/selectBr.js.map +1 -1
  425. package/dist/esm/selection/withExtPanIdLock.d.ts +2 -1
  426. package/dist/esm/selection/withExtPanIdLock.d.ts.map +1 -1
  427. package/dist/esm/selection/withExtPanIdLock.js.map +1 -1
  428. package/dist/esm/tlv/BasicTlvCodec.d.ts +4 -4
  429. package/dist/esm/tlv/BasicTlvCodec.d.ts.map +1 -1
  430. package/dist/esm/tlv/BasicTlvCodec.js +14 -12
  431. package/dist/esm/tlv/BasicTlvCodec.js.map +1 -1
  432. package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts +3 -2
  433. package/dist/esm/tlv/NetworkDiagnosticTlv.d.ts.map +1 -1
  434. package/dist/esm/tlv/NetworkDiagnosticTlv.js.map +1 -1
  435. package/dist/esm/tlv/TypeListTlv.d.ts +3 -2
  436. package/dist/esm/tlv/TypeListTlv.d.ts.map +1 -1
  437. package/dist/esm/tlv/TypeListTlv.js +2 -2
  438. package/dist/esm/tlv/TypeListTlv.js.map +1 -1
  439. package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts +3 -2
  440. package/dist/esm/tlv/diag/ChildIpv6AddressList.d.ts.map +1 -1
  441. package/dist/esm/tlv/diag/ChildIpv6AddressList.js +5 -3
  442. package/dist/esm/tlv/diag/ChildIpv6AddressList.js.map +1 -1
  443. package/dist/esm/tlv/diag/ChildTable.d.ts +3 -2
  444. package/dist/esm/tlv/diag/ChildTable.d.ts.map +1 -1
  445. package/dist/esm/tlv/diag/ChildTable.js +8 -7
  446. package/dist/esm/tlv/diag/ChildTable.js.map +1 -1
  447. package/dist/esm/tlv/diag/Connectivity.d.ts +3 -2
  448. package/dist/esm/tlv/diag/Connectivity.d.ts.map +1 -1
  449. package/dist/esm/tlv/diag/Connectivity.js +14 -14
  450. package/dist/esm/tlv/diag/Connectivity.js.map +1 -1
  451. package/dist/esm/tlv/diag/Ipv6AddressList.d.ts +3 -2
  452. package/dist/esm/tlv/diag/Ipv6AddressList.d.ts.map +1 -1
  453. package/dist/esm/tlv/diag/Ipv6AddressList.js +7 -6
  454. package/dist/esm/tlv/diag/Ipv6AddressList.js.map +1 -1
  455. package/dist/esm/tlv/diag/LeaderData.d.ts +3 -2
  456. package/dist/esm/tlv/diag/LeaderData.d.ts.map +1 -1
  457. package/dist/esm/tlv/diag/LeaderData.js +9 -8
  458. package/dist/esm/tlv/diag/LeaderData.js.map +1 -1
  459. package/dist/esm/tlv/diag/MacCounters.d.ts +3 -2
  460. package/dist/esm/tlv/diag/MacCounters.d.ts.map +1 -1
  461. package/dist/esm/tlv/diag/MacCounters.js +13 -12
  462. package/dist/esm/tlv/diag/MacCounters.js.map +1 -1
  463. package/dist/esm/tlv/diag/MleCounters.d.ts +3 -2
  464. package/dist/esm/tlv/diag/MleCounters.d.ts.map +1 -1
  465. package/dist/esm/tlv/diag/MleCounters.js +19 -18
  466. package/dist/esm/tlv/diag/MleCounters.js.map +1 -1
  467. package/dist/esm/tlv/diag/Mode.d.ts +3 -2
  468. package/dist/esm/tlv/diag/Mode.d.ts.map +1 -1
  469. package/dist/esm/tlv/diag/Mode.js +5 -3
  470. package/dist/esm/tlv/diag/Mode.js.map +1 -1
  471. package/dist/esm/tlv/diag/NetworkData.d.ts +7 -6
  472. package/dist/esm/tlv/diag/NetworkData.d.ts.map +1 -1
  473. package/dist/esm/tlv/diag/NetworkData.js +23 -18
  474. package/dist/esm/tlv/diag/NetworkData.js.map +1 -1
  475. package/dist/esm/tlv/diag/Primitives.d.ts +15 -14
  476. package/dist/esm/tlv/diag/Primitives.d.ts.map +1 -1
  477. package/dist/esm/tlv/diag/Primitives.js +26 -20
  478. package/dist/esm/tlv/diag/Primitives.js.map +1 -1
  479. package/dist/esm/tlv/diag/Route64.d.ts +3 -2
  480. package/dist/esm/tlv/diag/Route64.d.ts.map +1 -1
  481. package/dist/esm/tlv/diag/Route64.js +9 -8
  482. package/dist/esm/tlv/diag/Route64.js.map +1 -1
  483. package/dist/esm/tlv/diag/RouterNeighbor.d.ts +3 -2
  484. package/dist/esm/tlv/diag/RouterNeighbor.d.ts.map +1 -1
  485. package/dist/esm/tlv/diag/RouterNeighbor.js +13 -11
  486. package/dist/esm/tlv/diag/RouterNeighbor.js.map +1 -1
  487. package/dist/esm/tlv/diag/Timeout.d.ts +3 -2
  488. package/dist/esm/tlv/diag/Timeout.d.ts.map +1 -1
  489. package/dist/esm/tlv/diag/Timeout.js +5 -4
  490. package/dist/esm/tlv/diag/Timeout.js.map +1 -1
  491. package/dist/esm/tlv/diag/VendorInfo.d.ts +13 -12
  492. package/dist/esm/tlv/diag/VendorInfo.d.ts.map +1 -1
  493. package/dist/esm/tlv/diag/VendorInfo.js +5 -4
  494. package/dist/esm/tlv/diag/VendorInfo.js.map +1 -1
  495. package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts +3 -2
  496. package/dist/esm/tlv/meshcop/Ip6AddressTlv.d.ts.map +1 -1
  497. package/dist/esm/tlv/meshcop/Ip6AddressTlv.js +7 -4
  498. package/dist/esm/tlv/meshcop/Ip6AddressTlv.js.map +1 -1
  499. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts +4 -3
  500. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.d.ts.map +1 -1
  501. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js +10 -8
  502. package/dist/esm/tlv/meshcop/UdpEncapsulationTlv.js.map +1 -1
  503. package/dist/esm/util/meshLocalAddr.d.ts +5 -4
  504. package/dist/esm/util/meshLocalAddr.d.ts.map +1 -1
  505. package/dist/esm/util/meshLocalAddr.js +7 -5
  506. package/dist/esm/util/meshLocalAddr.js.map +1 -1
  507. package/package.json +5 -5
  508. package/src/coap/CoapClient.ts +13 -20
  509. package/src/coap/CoapMessage.ts +17 -9
  510. package/src/commissioner/Commissioner.ts +5 -2
  511. package/src/commissioner/LeadKa.ts +4 -4
  512. package/src/commissioner/LeadPet.ts +6 -5
  513. package/src/credentials/ThreadCredentialsRegistry.ts +14 -13
  514. package/src/credentials/ThreadNetworkCredentials.ts +5 -3
  515. package/src/crypto/AesCmacPrf128.ts +10 -87
  516. package/src/crypto/Pbkdf2AesCmac.ts +14 -10
  517. package/src/crypto/Pskc.ts +7 -6
  518. package/src/crypto/index.ts +1 -1
  519. package/src/dataset/OperationalDataset.ts +48 -47
  520. package/src/dataset/SecurityPolicy.ts +8 -7
  521. package/src/diagnostic/DiagnosticResponse.ts +5 -4
  522. package/src/diagnostic/DiagnosticSource.ts +2 -2
  523. package/src/diagnostic/MeshCopDiagnosticSource.ts +80 -64
  524. package/src/diagnostic/connectMeshcop.ts +6 -14
  525. package/src/diagnostic/errors.ts +1 -1
  526. package/src/discovery/BorderRouterRegistry.ts +2 -4
  527. package/src/dtls/channel/DtlsConnectOpts.ts +3 -3
  528. package/src/dtls/channel/NobleDtlsChannel.ts +96 -60
  529. package/src/dtls/ecjpake/EcJpakePms.ts +5 -6
  530. package/src/dtls/ecjpake/EcJpakeRound.ts +57 -37
  531. package/src/dtls/ecjpake/SchnorrZkp.ts +43 -30
  532. package/src/dtls/handshake/ChangeCipherSpec.ts +3 -1
  533. package/src/dtls/handshake/ClientHelloMessage.ts +8 -6
  534. package/src/dtls/handshake/ClientKeyExchangeMessage.ts +2 -1
  535. package/src/dtls/handshake/DtlsClient.ts +119 -95
  536. package/src/dtls/handshake/FinishedMessage.ts +5 -3
  537. package/src/dtls/handshake/HandshakeMessage.ts +18 -16
  538. package/src/dtls/handshake/HelloVerifyRequestMessage.ts +3 -1
  539. package/src/dtls/handshake/ServerHelloDoneMessage.ts +5 -3
  540. package/src/dtls/handshake/ServerHelloMessage.ts +5 -3
  541. package/src/dtls/handshake/ServerKeyExchangeMessage.ts +2 -1
  542. package/src/dtls/prf/HandshakeTranscript.ts +18 -11
  543. package/src/dtls/prf/TlsPrf.ts +68 -54
  544. package/src/dtls/record/AesCcm8.ts +23 -49
  545. package/src/dtls/record/DtlsCipherState.ts +20 -16
  546. package/src/dtls/record/DtlsRecord.ts +17 -15
  547. package/src/otbr-rest/OtbrRestCapability.ts +4 -4
  548. package/src/otbr-rest/OtbrRestClient.ts +64 -29
  549. package/src/otbr-rest/OtbrRestDiagnosticSource.ts +5 -5
  550. package/src/otbr-rest/OtbrRestProbe.ts +12 -47
  551. package/src/otbr-rest/caseNormalizer.ts +17 -0
  552. package/src/otbr-rest/parseHexBytes.ts +47 -0
  553. package/src/otbr-rest/translation.ts +24 -22
  554. package/src/selection/selectBr.ts +26 -13
  555. package/src/selection/withExtPanIdLock.ts +1 -1
  556. package/src/tlv/BasicTlvCodec.ts +17 -15
  557. package/src/tlv/NetworkDiagnosticTlv.ts +3 -2
  558. package/src/tlv/TypeListTlv.ts +4 -4
  559. package/src/tlv/diag/ChildIpv6AddressList.ts +8 -5
  560. package/src/tlv/diag/ChildTable.ts +10 -9
  561. package/src/tlv/diag/Connectivity.ts +16 -16
  562. package/src/tlv/diag/Ipv6AddressList.ts +9 -8
  563. package/src/tlv/diag/LeaderData.ts +11 -10
  564. package/src/tlv/diag/MacCounters.ts +15 -14
  565. package/src/tlv/diag/MleCounters.ts +21 -20
  566. package/src/tlv/diag/Mode.ts +7 -5
  567. package/src/tlv/diag/NetworkData.ts +31 -26
  568. package/src/tlv/diag/Primitives.ts +42 -36
  569. package/src/tlv/diag/Route64.ts +11 -10
  570. package/src/tlv/diag/RouterNeighbor.ts +16 -13
  571. package/src/tlv/diag/Timeout.ts +7 -6
  572. package/src/tlv/diag/VendorInfo.ts +19 -18
  573. package/src/tlv/meshcop/Ip6AddressTlv.ts +9 -6
  574. package/src/tlv/meshcop/UdpEncapsulationTlv.ts +13 -11
  575. package/src/util/meshLocalAddr.ts +10 -8
@@ -6,6 +6,7 @@
6
6
  import {
7
7
  Bytes,
8
8
  Crypto,
9
+ errorOf,
9
10
  ImplementationError,
10
11
  InternalError,
11
12
  Logger,
@@ -64,7 +65,14 @@ class NobleDtlsChannel {
64
65
  #udpType;
65
66
  #udp;
66
67
  #client;
68
+ #crypto;
67
69
  #retransmit;
70
+ /**
71
+ * Serializes every DtlsClient / record-codec interaction. UDP `onData` fires
72
+ * sequentially but async handlers interleave at each `await`; chaining onto this
73
+ * promise guarantees datagrams and retransmits never re-enter the client concurrently.
74
+ */
75
+ #inbound = Promise.resolve();
68
76
  /** Established cipher state (snapshot of the DtlsClient's after handshake). */
69
77
  #cipherState;
70
78
  #connected = false;
@@ -97,20 +105,25 @@ class NobleDtlsChannel {
97
105
  }
98
106
  const environment = this.#opts.environment;
99
107
  const network = environment.get(Network);
100
- const entropy = environment.get(Crypto);
108
+ const crypto = environment.get(Crypto);
109
+ this.#crypto = crypto;
101
110
  const udp = await network.createUdpSocket({ type: this.#udpType, listeningPort: 0 });
102
111
  if (this.#closed) {
103
112
  await udp.close();
104
113
  throw new ImplementationError("NobleDtlsChannel.connect: closed");
105
114
  }
106
115
  this.#udp = udp;
107
- udp.onData((_netInterface, _peerAddress, _peerPort, data) => this.#onDatagram(Bytes.of(data)));
116
+ udp.onData((_netInterface, _peerAddress, _peerPort, data) => {
117
+ const bytes = Bytes.of(data);
118
+ this.#enqueue(() => this.#onDatagram(bytes));
119
+ });
108
120
  const initialRetransmit = this.#opts.initialRetransmitMs !== void 0 ? Millis(this.#opts.initialRetransmitMs) : DEFAULT_INITIAL_RETRANSMIT;
109
121
  const maxRetransmit = this.#opts.maxRetransmitMs !== void 0 ? Millis(this.#opts.maxRetransmitMs) : DEFAULT_MAX_RETRANSMIT;
110
122
  const clientCfg = {
123
+ crypto,
111
124
  password: this.#opts.password,
112
- random: this.#opts.random ?? (() => defaultRandom(entropy)),
113
- ephemeralScalar: this.#opts.ephemeralScalar ?? (() => defaultEphemeralScalar(entropy)),
125
+ random: this.#opts.random ?? (() => defaultRandom(crypto)),
126
+ ephemeralScalar: this.#opts.ephemeralScalar ?? (() => defaultEphemeralScalar(crypto)),
114
127
  initialRetransmitMs: initialRetransmit,
115
128
  maxRetransmitMs: maxRetransmit,
116
129
  mtu: this.#opts.mtu ?? DEFAULT_MTU
@@ -121,7 +134,7 @@ class NobleDtlsChannel {
121
134
  initialMs: initialRetransmit,
122
135
  maxMs: maxRetransmit,
123
136
  maxRetransmits: this.#opts.maxRetransmits ?? DEFAULT_MAX_RETRANSMITS,
124
- onRetransmit: () => this.#onRetransmit(),
137
+ onRetransmit: () => this.#enqueue(() => this.#onRetransmit()),
125
138
  onGiveUp: () => this.#fail(new DtlsError("NobleDtlsChannel: handshake gave up after max retransmits"))
126
139
  });
127
140
  const connectPromise = new Promise((resolve, reject) => {
@@ -133,13 +146,7 @@ class NobleDtlsChannel {
133
146
  connectTimeout,
134
147
  () => this.#fail(new TimeoutError(`NobleDtlsChannel: connect timed out after ${connectTimeout}ms`))
135
148
  ).start();
136
- try {
137
- const step = client.start();
138
- this.#sendRecords(step.records);
139
- this.#retransmit.armNewFlight();
140
- } catch (e) {
141
- this.#fail(e instanceof Error ? e : new InternalError(String(e)));
142
- }
149
+ this.#enqueue(() => this.#startHandshake());
143
150
  try {
144
151
  await connectPromise;
145
152
  } finally {
@@ -156,18 +163,22 @@ class NobleDtlsChannel {
156
163
  }
157
164
  const cipherState = this.#cipherState;
158
165
  const udp = this.#udp;
159
- if (cipherState === void 0 || udp === void 0) {
166
+ const crypto = this.#crypto;
167
+ if (cipherState === void 0 || udp === void 0 || crypto === void 0) {
160
168
  throw new InternalError("NobleDtlsChannel.send: missing cipher state or transport");
161
169
  }
162
170
  const seq = cipherState.nextWriteSeq();
163
- const record = DtlsRecord.encode(
164
- {
165
- type: ContentType.APPLICATION_DATA,
166
- epoch: cipherState.writeEpoch,
167
- sequenceNumber: seq,
168
- fragment: Bytes.of(bytes)
169
- },
170
- cipherState
171
+ const record = Bytes.of(
172
+ await DtlsRecord.encode(
173
+ crypto,
174
+ {
175
+ type: ContentType.APPLICATION_DATA,
176
+ epoch: cipherState.writeEpoch,
177
+ sequenceNumber: seq,
178
+ fragment: Bytes.of(bytes)
179
+ },
180
+ cipherState
181
+ )
171
182
  );
172
183
  await this.#sendDatagram(udp, record);
173
184
  }
@@ -214,17 +225,21 @@ class NobleDtlsChannel {
214
225
  this.#closed = true;
215
226
  const cipherState = this.#cipherState;
216
227
  const udp = this.#udp;
217
- if (this.#connected && cipherState !== void 0 && udp !== void 0) {
228
+ const crypto = this.#crypto;
229
+ if (this.#connected && cipherState !== void 0 && udp !== void 0 && crypto !== void 0) {
218
230
  try {
219
231
  const seq = cipherState.nextWriteSeq();
220
- const alertRecord = DtlsRecord.encode(
221
- {
222
- type: ContentType.ALERT,
223
- epoch: cipherState.writeEpoch,
224
- sequenceNumber: seq,
225
- fragment: Uint8Array.of(ALERT_LEVEL_WARNING, ALERT_DESC_CLOSE_NOTIFY)
226
- },
227
- cipherState
232
+ const alertRecord = Bytes.of(
233
+ await DtlsRecord.encode(
234
+ crypto,
235
+ {
236
+ type: ContentType.ALERT,
237
+ epoch: cipherState.writeEpoch,
238
+ sequenceNumber: seq,
239
+ fragment: Uint8Array.of(ALERT_LEVEL_WARNING, ALERT_DESC_CLOSE_NOTIFY)
240
+ },
241
+ cipherState
242
+ )
228
243
  );
229
244
  await this.#sendDatagram(udp, alertRecord).catch(() => {
230
245
  });
@@ -263,27 +278,47 @@ class NobleDtlsChannel {
263
278
  }
264
279
  // -----------------------------------------------------------------------
265
280
  // Internals
266
- #onDatagram(bytes) {
281
+ /**
282
+ * Chain `work` onto the single serialization queue. The `.catch` routes any error to
283
+ * {@link #fail} (which rejects the pending connect / settles the channel error state)
284
+ * and keeps the queue alive — errors surface, never swallowed.
285
+ */
286
+ #enqueue(work) {
287
+ this.#inbound = this.#inbound.then(work).catch((err) => this.#fail(errorOf(err)));
288
+ }
289
+ async #startHandshake() {
290
+ const client = this.#client;
291
+ const retransmit = this.#retransmit;
292
+ if (client === void 0 || retransmit === void 0) {
293
+ throw new InternalError("NobleDtlsChannel: start before client/timer initialised");
294
+ }
295
+ const step = await client.start();
267
296
  if (this.#closed) {
268
297
  return;
269
298
  }
270
- try {
271
- if (this.#connected) {
272
- this.#handleAppDatagram(bytes);
273
- } else {
274
- this.#handleHandshakeDatagram(bytes);
275
- }
276
- } catch (e) {
277
- this.#fail(e instanceof Error ? e : new InternalError(String(e)));
299
+ this.#sendRecords(step.records);
300
+ retransmit.armNewFlight();
301
+ }
302
+ async #onDatagram(bytes) {
303
+ if (this.#closed) {
304
+ return;
305
+ }
306
+ if (this.#connected) {
307
+ await this.#handleAppDatagram(bytes);
308
+ } else {
309
+ await this.#handleHandshakeDatagram(bytes);
278
310
  }
279
311
  }
280
- #handleHandshakeDatagram(bytes) {
312
+ async #handleHandshakeDatagram(bytes) {
281
313
  const client = this.#client;
282
314
  const retransmit = this.#retransmit;
283
315
  if (client === void 0 || retransmit === void 0) {
284
316
  throw new InternalError("NobleDtlsChannel: handshake datagram before client/timer initialised");
285
317
  }
286
- const step = client.onDatagram(bytes);
318
+ const step = await client.onDatagram(bytes);
319
+ if (this.#closed) {
320
+ return;
321
+ }
287
322
  retransmit.cancel();
288
323
  if (step.records.length > 0) {
289
324
  this.#sendRecords(step.records);
@@ -300,9 +335,10 @@ class NobleDtlsChannel {
300
335
  retransmit.armNewFlight();
301
336
  }
302
337
  }
303
- #handleAppDatagram(bytes) {
338
+ async #handleAppDatagram(bytes) {
304
339
  const cipherState = this.#cipherState;
305
- if (cipherState === void 0) {
340
+ const crypto = this.#crypto;
341
+ if (cipherState === void 0 || crypto === void 0) {
306
342
  throw new InternalError("NobleDtlsChannel: post-handshake datagram with no cipher state");
307
343
  }
308
344
  let p = 0;
@@ -318,7 +354,7 @@ class NobleDtlsChannel {
318
354
  const slice = bytes.subarray(p, recordEnd);
319
355
  let record;
320
356
  try {
321
- ({ record } = DtlsRecord.decode(slice, cipherState));
357
+ ({ record } = await DtlsRecord.decode(crypto, slice, cipherState));
322
358
  } catch (e) {
323
359
  if (e instanceof DtlsReplayError) {
324
360
  logger.debug(`Dropping replayed DTLS record epoch=${e.epoch} seq=${e.sequenceNumber}`);
@@ -328,15 +364,16 @@ class NobleDtlsChannel {
328
364
  throw e;
329
365
  }
330
366
  if (record.type === ContentType.APPLICATION_DATA) {
331
- this.#deliverPlaintext(record.fragment);
367
+ this.#deliverPlaintext(Bytes.of(record.fragment));
332
368
  } else if (record.type === ContentType.ALERT) {
333
- if (record.fragment.length >= 2 && record.fragment[1] === ALERT_DESC_CLOSE_NOTIFY) {
369
+ const alertFragment = Bytes.of(record.fragment);
370
+ if (alertFragment.length >= 2 && alertFragment[1] === ALERT_DESC_CLOSE_NOTIFY) {
334
371
  this.#fail(new DtlsError("NobleDtlsChannel: peer sent close_notify"));
335
372
  return;
336
373
  }
337
374
  this.#fail(
338
375
  new DtlsError(
339
- `NobleDtlsChannel: peer alert level=${record.fragment[0] ?? -1} desc=${record.fragment[1] ?? -1}`
376
+ `NobleDtlsChannel: peer alert level=${alertFragment[0] ?? -1} desc=${alertFragment[1] ?? -1}`
340
377
  )
341
378
  );
342
379
  return;
@@ -356,17 +393,13 @@ class NobleDtlsChannel {
356
393
  this.#fail(new DtlsError("NobleDtlsChannel: inbound buffer overflow \u2014 consumer too slow"));
357
394
  }
358
395
  }
359
- #onRetransmit() {
396
+ async #onRetransmit() {
360
397
  const client = this.#client;
361
398
  if (client === void 0 || this.#connected || this.#closed) {
362
399
  return;
363
400
  }
364
- try {
365
- const step = client.onRetransmit();
366
- this.#sendRecords(step.records);
367
- } catch (e) {
368
- this.#fail(e instanceof Error ? e : new InternalError(String(e)));
369
- }
401
+ const step = await client.onRetransmit();
402
+ this.#sendRecords(step.records);
370
403
  }
371
404
  #sendRecords(records) {
372
405
  const udp = this.#udp;
@@ -380,7 +413,8 @@ class NobleDtlsChannel {
380
413
  const datagrams = new Array();
381
414
  let acc = new Array();
382
415
  let accLen = 0;
383
- for (const record of records) {
416
+ for (const rawRecord of records) {
417
+ const record = Bytes.of(rawRecord);
384
418
  if (accLen > 0 && accLen + record.length > mtu) {
385
419
  datagrams.push(concatBuffers(acc));
386
420
  acc = [];
@@ -393,9 +427,7 @@ class NobleDtlsChannel {
393
427
  datagrams.push(concatBuffers(acc));
394
428
  }
395
429
  for (const dg of datagrams) {
396
- void this.#sendDatagram(udp, dg).catch(
397
- (e) => this.#fail(e instanceof Error ? e : new InternalError(String(e)))
398
- );
430
+ void this.#sendDatagram(udp, dg).catch((e) => this.#fail(errorOf(e)));
399
431
  }
400
432
  }
401
433
  async #sendDatagram(udp, bytes) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dtls/channel/NobleDtlsChannel.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA;AAAA,EACI;AAAA,EACA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,OAIG;AACP,SAAS,YAAY;AACrB,SAAS,kBAAyC;AAClD,SAAS,mBAAmB;AAE5B,SAAS,iBAAiB,YAAY,uBAAuB;AAC7D,SAA2B,iBAAiB;AAE5C,SAAS,2BAA2B;AAEpC,MAAM,SAAS,OAAO,IAAI,kBAAkB;AAE5C,MAAM,6BAA6B,QAAQ,CAAC;AAC5C,MAAM,yBAAyB,QAAQ,CAAC;AACxC,MAAM,0BAA0B;AAChC,MAAM,0BAA0B,QAAQ,EAAE;AAC1C,MAAM,cAAc;AAQpB,MAAM,oBAAoB;AAE1B,MAAM,IAAI,KAAK,MAAM,GAAG;AAExB,MAAM,sBAAsB;AAC5B,MAAM,0BAA0B;AAEhC,SAAS,aAAa,SAAiB,MAAyC;AAC5E,MAAI,SAAS,QAAW;AACpB,WAAO;AAAA,EACX;AACA,SAAO,QAAQ,SAAS,GAAG,IAAI,SAAS;AAC5C;AAEA,SAAS,cAAc,SAA8B;AACjD,SAAO,MAAM,GAAG,QAAQ,YAAY,EAAE,CAAC;AAC3C;AAEA,SAAS,cAAc,OAAiC;AACpD,QAAM,QAAQ,MAAM,OAAO,CAAC,GAAG,MAAM,IAAI,EAAE,QAAQ,CAAC;AACpD,QAAM,MAAM,IAAI,WAAW,KAAK;AAChC,MAAI,MAAM;AACV,aAAW,KAAK,OAAO;AACnB,QAAI,IAAI,GAAG,GAAG;AACd,WAAO,EAAE;AAAA,EACb;AACA,SAAO;AACX;AAEA,SAAS,uBAAuB,SAA0B;AAGtD,MAAI,IAAI;AACR,QAAM,MAAM,MAAM,GAAG,QAAQ,YAAY,EAAE,CAAC;AAC5C,aAAW,QAAQ,KAAK;AACpB,QAAK,KAAK,KAAM,OAAO,IAAI;AAAA,EAC/B;AACA,SAAQ,KAAK,IAAI,MAAO;AAC5B;AAaO,MAAM,iBAAwC;AAAA,EACxC;AAAA,EACA;AAAA,EAET;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA,aAAa;AAAA,EACb,UAAU;AAAA,EACV;AAAA,EACA,oBAAoB;AAAA;AAAA,EAGpB;AAAA;AAAA,EAGS,gBAAgB,IAAI,MAAa;AAAA;AAAA,EAE1C;AAAA,EAOS,kBAAkB,oBAAI,IAAgB;AAAA;AAAA,EAG/C;AAAA,EAOA,YAAY,MAAuB;AAC/B,SAAK,QAAQ;AACb,SAAK,WAAW,aAAa,KAAK,SAAS,KAAK,IAAI;AAAA,EACxD;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,UAAyB;AAC3B,QAAI,KAAK,YAAY;AACjB,YAAM,IAAI,oBAAoB,6CAA6C;AAAA,IAC/E;AACA,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,IACpE;AAEA,UAAM,cAAc,KAAK,MAAM;AAC/B,UAAM,UAAU,YAAY,IAAI,OAAO;AACvC,UAAM,UAAU,YAAY,IAAI,MAAM;AACtC,UAAM,MAAM,MAAM,QAAQ,gBAAgB,EAAE,MAAM,KAAK,UAAU,eAAe,EAAE,CAAC;AACnF,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,MAAM;AAChB,YAAM,IAAI,oBAAoB,kCAAkC;AAAA,IACpE;AACA,SAAK,OAAO;AACZ,QAAI,OAAO,CAAC,eAAe,cAAc,WAAW,SAAS,KAAK,YAAY,MAAM,GAAG,IAAI,CAAC,CAAC;AAE7F,UAAM,oBACF,KAAK,MAAM,wBAAwB,SAC7B,OAAO,KAAK,MAAM,mBAAmB,IACrC;AACV,UAAM,gBACF,KAAK,MAAM,oBAAoB,SAAY,OAAO,KAAK,MAAM,eAAe,IAAI;AAEpF,UAAM,YAA8B;AAAA,MAChC,UAAU,KAAK,MAAM;AAAA,MACrB,QAAQ,KAAK,MAAM,WAAW,MAAM,cAAc,OAAO;AAAA,MACzD,iBAAiB,KAAK,MAAM,oBAAoB,MAAM,uBAAuB,OAAO;AAAA,MACpF,qBAAqB;AAAA,MACrB,iBAAiB;AAAA,MACjB,KAAK,KAAK,MAAM,OAAO;AAAA,IAC3B;AACA,UAAM,SAAS,IAAI,WAAW,SAAS;AACvC,SAAK,UAAU;AAEf,SAAK,cAAc,IAAI,oBAAoB;AAAA,MACvC,WAAW;AAAA,MACX,OAAO;AAAA,MACP,gBAAgB,KAAK,MAAM,kBAAkB;AAAA,MAC7C,cAAc,MAAM,KAAK,cAAc;AAAA,MACvC,UAAU,MAAM,KAAK,MAAM,IAAI,UAAU,2DAA2D,CAAC;AAAA,IACzG,CAAC;AAED,UAAM,iBAAiB,IAAI,QAAc,CAAC,SAAS,WAAW;AAC1D,WAAK,aAAa,EAAE,SAAS,OAAO;AAAA,IACxC,CAAC;AACD,UAAM,iBACF,KAAK,MAAM,qBAAqB,SAAY,OAAO,KAAK,MAAM,gBAAgB,IAAI;AACtF,SAAK,mBAAmB,KAAK;AAAA,MAAS;AAAA,MAAyB;AAAA,MAAgB,MAC3E,KAAK,MAAM,IAAI,aAAa,6CAA6C,cAAc,IAAI,CAAC;AAAA,IAChG,EAAE,MAAM;AAGR,QAAI;AACA,YAAM,OAAO,OAAO,MAAM;AAC1B,WAAK,aAAa,KAAK,OAAO;AAC9B,WAAK,YAAY,aAAa;AAAA,IAClC,SAAS,GAAG;AACR,WAAK,MAAM,aAAa,QAAQ,IAAI,IAAI,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA,IACpE;AAEA,QAAI;AACA,YAAM;AAAA,IACV,UAAE;AACE,WAAK,kBAAkB,KAAK;AAC5B,WAAK,mBAAmB;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,MAAM,KAAK,OAA6B;AACpC,QAAI,KAAK,SAAS;AACd,YAAM,IAAI,oBAAoB,+BAA+B;AAAA,IACjE;AACA,QAAI,CAAC,KAAK,YAAY;AAClB,YAAM,IAAI,oBAAoB,sCAAsC;AAAA,IACxE;AACA,UAAM,cAAc,KAAK;AACzB,UAAM,MAAM,KAAK;AACjB,QAAI,gBAAgB,UAAa,QAAQ,QAAW;AAChD,YAAM,IAAI,cAAc,0DAA0D;AAAA,IACtF;AACA,UAAM,MAAM,YAAY,aAAa;AACrC,UAAM,SAAS,WAAW;AAAA,MACtB;AAAA,QACI,MAAM,YAAY;AAAA,QAClB,OAAO,YAAY;AAAA,QACnB,gBAAgB;AAAA,QAChB,UAAU,MAAM,GAAG,KAAK;AAAA,MAC5B;AAAA,MACA;AAAA,IACJ;AACA,UAAM,KAAK,cAAc,KAAK,MAAM;AAAA,EACxC;AAAA,EAEA,CAAC,OAAO,aAAa,IAA0B;AAC3C,WAAO;AAAA,MACH,MAAM,MAAsC;AACxC,YAAI,KAAK,cAAc,SAAS,GAAG;AAC/B,iBAAO,QAAQ,QAAQ,EAAE,OAAO,KAAK,cAAc,MAAM,GAAI,MAAM,MAAM,CAAC;AAAA,QAC9E;AACA,YAAI,KAAK,aAAa,UAAa,CAAC,KAAK,mBAAmB;AACxD,eAAK,oBAAoB;AACzB,iBAAO,QAAQ,OAAO,KAAK,QAAQ;AAAA,QACvC;AACA,YAAI,KAAK,SAAS;AACd,iBAAO,QAAQ,QAAQ,EAAE,OAAO,QAAW,MAAM,KAAK,CAAC;AAAA,QAC3D;AACA,YAAI,KAAK,mBAAmB,QAAW;AACnC,iBAAO,QAAQ;AAAA,YACX,IAAI,oBAAoB,sDAAsD;AAAA,UAClF;AAAA,QACJ;AACA,eAAO,IAAI,QAA+B,CAAC,SAAS,WAAW;AAC3D,eAAK,iBAAiB,EAAE,SAAS,OAAO;AAAA,QAC5C,CAAC;AAAA,MACL;AAAA,MACA,QAAQ,YAA4C;AAChD,cAAM,KAAK,MAAM;AACjB,eAAO,EAAE,OAAO,QAAW,MAAM,KAAK;AAAA,MAC1C;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,QAAQ,UAA0C;AAC9C,SAAK,gBAAgB,IAAI,QAAQ;AACjC,WAAO;AAAA,MACH,OAAO,YAAY;AACf,aAAK,gBAAgB,OAAO,QAAQ;AAAA,MACxC;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,QAAuB;AACzB,QAAI,KAAK,SAAS;AACd;AAAA,IACJ;AACA,SAAK,UAAU;AAEf,UAAM,cAAc,KAAK;AACzB,UAAM,MAAM,KAAK;AACjB,QAAI,KAAK,cAAc,gBAAgB,UAAa,QAAQ,QAAW;AACnE,UAAI;AACA,cAAM,MAAM,YAAY,aAAa;AACrC,cAAM,cAAc,WAAW;AAAA,UAC3B;AAAA,YACI,MAAM,YAAY;AAAA,YAClB,OAAO,YAAY;AAAA,YACnB,gBAAgB;AAAA,YAChB,UAAU,WAAW,GAAG,qBAAqB,uBAAuB;AAAA,UACxE;AAAA,UACA;AAAA,QACJ;AACA,cAAM,KAAK,cAAc,KAAK,WAAW,EAAE,MAAM,MAAM;AAAA,QAAC,CAAC;AAAA,MAC7D,QAAQ;AAAA,MAER;AAAA,IACJ;AACA,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,YAAY,OAAO;AAAA,IAC5B;AACA,QAAI,QAAQ,QAAW;AACnB,YAAM,IAAI,MAAM,EAAE,MAAM,MAAM;AAAA,MAAC,CAAC;AAAA,IACpC;AAEA,UAAM,SAAS,KAAK;AACpB,SAAK,iBAAiB;AACtB,QAAI,WAAW,QAAW;AACtB,UAAI,KAAK,aAAa,UAAa,CAAC,KAAK,mBAAmB;AACxD,aAAK,oBAAoB;AACzB,eAAO,OAAO,KAAK,QAAQ;AAAA,MAC/B,OAAO;AACH,eAAO,QAAQ,EAAE,OAAO,QAAW,MAAM,KAAK,CAAC;AAAA,MACnD;AAAA,IACJ;AACA,eAAW,YAAY,KAAK,iBAAiB;AACzC,eAAS;AAAA,IACb;AACA,QAAI,KAAK,eAAe,UAAa,CAAC,KAAK,YAAY;AACnD,YAAM,YAAY,KAAK;AACvB,WAAK,aAAa;AAClB,gBAAU,OAAO,KAAK,YAAY,IAAI,UAAU,0BAA0B,CAAC;AAAA,IAC/E;AAAA,EACJ;AAAA;AAAA,EAGA,cAAuB;AACnB,WAAO,KAAK;AAAA,EAChB;AAAA;AAAA;AAAA,EAKA,YAAY,OAAyB;AACjC,QAAI,KAAK,SAAS;AACd;AAAA,IACJ;AACA,QAAI;AACA,UAAI,KAAK,YAAY;AACjB,aAAK,mBAAmB,KAAK;AAAA,MACjC,OAAO;AACH,aAAK,yBAAyB,KAAK;AAAA,MACvC;AAAA,IACJ,SAAS,GAAG;AACR,WAAK,MAAM,aAAa,QAAQ,IAAI,IAAI,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA,IACpE;AAAA,EACJ;AAAA,EAEA,yBAAyB,OAAyB;AAC9C,UAAM,SAAS,KAAK;AACpB,UAAM,aAAa,KAAK;AACxB,QAAI,WAAW,UAAa,eAAe,QAAW;AAClD,YAAM,IAAI,cAAc,sEAAsE;AAAA,IAClG;AACA,UAAM,OAAO,OAAO,WAAW,KAAK;AAEpC,eAAW,OAAO;AAClB,QAAI,KAAK,QAAQ,SAAS,GAAG;AACzB,WAAK,aAAa,KAAK,OAAO;AAAA,IAClC;AACA,QAAI,OAAO,cAAc,GAAG;AACxB,WAAK,eAAe,OAAO,YAAY;AACvC,WAAK,aAAa;AAClB,YAAM,YAAY,KAAK;AACvB,WAAK,aAAa;AAClB,UAAI,cAAc,QAAW;AACzB,kBAAU,QAAQ;AAAA,MACtB;AAAA,IACJ,WAAW,KAAK,QAAQ,SAAS,GAAG;AAChC,iBAAW,aAAa;AAAA,IAC5B;AAAA,EACJ;AAAA,EAEA,mBAAmB,OAAyB;AACxC,UAAM,cAAc,KAAK;AACzB,QAAI,gBAAgB,QAAW;AAC3B,YAAM,IAAI,cAAc,gEAAgE;AAAA,IAC5F;AACA,QAAI,IAAI;AACR,WAAO,IAAI,MAAM,QAAQ;AACrB,UAAI,MAAM,SAAS,IAAI,iBAAiB;AACpC,cAAM,IAAI,UAAU,4CAA4C;AAAA,MACpE;AACA,YAAM,SAAU,MAAM,IAAI,EAAE,KAAK,IAAK,MAAM,IAAI,EAAE;AAClD,YAAM,YAAY,IAAI,kBAAkB;AACxC,UAAI,YAAY,MAAM,QAAQ;AAC1B,cAAM,IAAI,UAAU,wDAAwD;AAAA,MAChF;AACA,YAAM,QAAQ,MAAM,SAAS,GAAG,SAAS;AACzC,UAAI;AACJ,UAAI;AACA,SAAC,EAAE,OAAO,IAAI,WAAW,OAAO,OAAO,WAAW;AAAA,MACtD,SAAS,GAAG;AAIR,YAAI,aAAa,iBAAiB;AAC9B,iBAAO,MAAM,uCAAuC,EAAE,KAAK,QAAQ,EAAE,cAAc,EAAE;AACrF,cAAI;AACJ;AAAA,QACJ;AACA,cAAM;AAAA,MACV;AACA,UAAI,OAAO,SAAS,YAAY,kBAAkB;AAC9C,aAAK,kBAAkB,OAAO,QAAQ;AAAA,MAC1C,WAAW,OAAO,SAAS,YAAY,OAAO;AAE1C,YAAI,OAAO,SAAS,UAAU,KAAK,OAAO,SAAS,CAAC,MAAM,yBAAyB;AAC/E,eAAK,MAAM,IAAI,UAAU,0CAA0C,CAAC;AACpE;AAAA,QACJ;AACA,aAAK;AAAA,UACD,IAAI;AAAA,YACA,sCAAsC,OAAO,SAAS,CAAC,KAAK,EAAE,SAAS,OAAO,SAAS,CAAC,KAAK,EAAE;AAAA,UACnG;AAAA,QACJ;AACA;AAAA,MACJ;AAGA,UAAI;AAAA,IACR;AAAA,EACJ;AAAA,EAEA,kBAAkB,WAA6B;AAC3C,UAAM,SAAS,KAAK;AACpB,QAAI,WAAW,QAAW;AACtB,WAAK,iBAAiB;AACtB,aAAO,QAAQ,EAAE,OAAO,WAAW,MAAM,MAAM,CAAC;AAChD;AAAA,IACJ;AACA,SAAK,cAAc,KAAK,SAAS;AACjC,QAAI,KAAK,cAAc,SAAS,mBAAmB;AAC/C,WAAK,MAAM,IAAI,UAAU,oEAA+D,CAAC;AAAA,IAC7F;AAAA,EACJ;AAAA,EAEA,gBAAsB;AAClB,UAAM,SAAS,KAAK;AACpB,QAAI,WAAW,UAAa,KAAK,cAAc,KAAK,SAAS;AACzD;AAAA,IACJ;AACA,QAAI;AACA,YAAM,OAAO,OAAO,aAAa;AACjC,WAAK,aAAa,KAAK,OAAO;AAAA,IAClC,SAAS,GAAG;AACR,WAAK,MAAM,aAAa,QAAQ,IAAI,IAAI,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA,IACpE;AAAA,EACJ;AAAA,EAEA,aAAa,SAA6B;AACtC,UAAM,MAAM,KAAK;AACjB,QAAI,QAAQ,QAAW;AACnB,YAAM,IAAI,cAAc,oCAAoC;AAAA,IAChE;AACA,QAAI,QAAQ,WAAW,GAAG;AACtB;AAAA,IACJ;AAIA,UAAM,MAAM,KAAK,MAAM,OAAO;AAC9B,UAAM,YAAY,IAAI,MAAkB;AACxC,QAAI,MAAM,IAAI,MAAkB;AAChC,QAAI,SAAS;AACb,eAAW,UAAU,SAAS;AAC1B,UAAI,SAAS,KAAK,SAAS,OAAO,SAAS,KAAK;AAC5C,kBAAU,KAAK,cAAc,GAAG,CAAC;AACjC,cAAM,CAAC;AACP,iBAAS;AAAA,MACb;AACA,UAAI,KAAK,MAAM;AACf,gBAAU,OAAO;AAAA,IACrB;AACA,QAAI,IAAI,SAAS,GAAG;AAChB,gBAAU,KAAK,cAAc,GAAG,CAAC;AAAA,IACrC;AACA,eAAW,MAAM,WAAW;AACxB,WAAK,KAAK,cAAc,KAAK,EAAE,EAAE;AAAA,QAAM,OACnC,KAAK,MAAM,aAAa,QAAQ,IAAI,IAAI,cAAc,OAAO,CAAC,CAAC,CAAC;AAAA,MACpE;AAAA,IACJ;AAAA,EACJ;AAAA,EAEA,MAAM,cAAc,KAAgB,OAAkC;AAClE,UAAM,IAAI,KAAK,KAAK,MAAM,SAAS,KAAK,MAAM,MAAM,KAAK;AAAA,EAC7D;AAAA,EAEA,MAAM,OAAoB;AACtB,QAAI,KAAK,SAAS;AACd;AAAA,IACJ;AACA,QAAI,KAAK,aAAa,QAAW;AAC7B,WAAK,WAAW;AAAA,IACpB;AACA,QAAI,KAAK,gBAAgB,QAAW;AAChC,WAAK,YAAY,OAAO;AAAA,IAC5B;AACA,UAAM,YAAY,KAAK;AACvB,SAAK,aAAa;AAClB,QAAI,cAAc,UAAa,CAAC,KAAK,YAAY;AAC7C,gBAAU,OAAO,KAAK;AAAA,IAC1B;AACA,UAAM,SAAS,KAAK;AACpB,SAAK,iBAAiB;AACtB,QAAI,WAAW,QAAW;AACtB,WAAK,oBAAoB;AACzB,aAAO,OAAO,KAAK;AAAA,IACvB;AAEA,SAAK,KAAK,MAAM,EAAE,MAAM,MAAM;AAAA,IAAC,CAAC;AAAA,EACpC;AACJ;",
4
+ "mappings": "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",
5
5
  "names": []
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Bytes, Crypto } from "@matter/general";
6
7
  /**
7
8
  * EC-JPAKE premaster-secret derivation, mirroring mbedTLS v3.6.6
8
9
  * `mbedtls_ecjpake_derive_secret` and its helper `mbedtls_ecjpake_derive_k`.
@@ -25,11 +26,11 @@
25
26
  * TLS 1.2 PRF takes over (Phase 0c.5 / DTLS layer).
26
27
  */
27
28
  export declare const EcJpakePms: {
28
- derive(args: {
29
- Xp: Uint8Array;
30
- Xp2: Uint8Array;
29
+ derive(crypto: Crypto, args: {
30
+ Xp: Bytes;
31
+ Xp2: Bytes;
31
32
  xm2: bigint;
32
33
  s: bigint;
33
- }): Uint8Array;
34
+ }): Promise<Bytes>;
34
35
  };
35
36
  //# sourceMappingURL=EcJpakePms.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcJpakePms.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakePms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAWH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU;IACnB,MAAM,OAAO;QAAE,EAAE,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU;CA2B/E,CAAC"}
1
+ {"version":3,"file":"EcJpakePms.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakePms.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAQ/D;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,eAAO,MAAM,UAAU;IACb,MAAM,SAAS,MAAM,QAAQ;QAAE,EAAE,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,KAAK,CAAC;CA2B/F,CAAC"}
@@ -3,15 +3,14 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { InternalError } from "@matter/general";
6
+ import { Bytes, InternalError } from "@matter/general";
7
7
  import { p256 } from "@noble/curves/nist.js";
8
- import { sha256 } from "@noble/hashes/sha2.js";
9
8
  import { DtlsError } from "../channel/DtlsChannel.js";
10
9
  const Point = p256.Point;
11
10
  const N = Point.Fn.ORDER;
12
11
  const COORDINATE_BYTES = 32;
13
12
  const EcJpakePms = {
14
- derive(args) {
13
+ async derive(crypto, args) {
15
14
  const { Xp, Xp2, xm2, s } = args;
16
15
  if (xm2 <= 0n || xm2 >= N) {
17
16
  throw new InternalError("xm2 must be in [1, n-1]");
@@ -19,8 +18,8 @@ const EcJpakePms = {
19
18
  if (s <= 0n) {
20
19
  throw new InternalError("s (password as integer) must be positive");
21
20
  }
22
- const Xp_pt = Point.fromBytes(Xp);
23
- const Xp2_pt = Point.fromBytes(Xp2);
21
+ const Xp_pt = Point.fromBytes(Bytes.of(Xp));
22
+ const Xp2_pt = Point.fromBytes(Bytes.of(Xp2));
24
23
  if (Xp_pt.is0() || Xp2_pt.is0()) {
25
24
  throw new DtlsError("peer points must not be the point at infinity");
26
25
  }
@@ -32,7 +31,7 @@ const EcJpakePms = {
32
31
  }
33
32
  const sec1 = K.toBytes(false);
34
33
  const xBytes = sec1.subarray(1, 1 + COORDINATE_BYTES);
35
- return sha256(xBytes);
34
+ return Bytes.of(await crypto.computeHash(xBytes));
36
35
  }
37
36
  };
38
37
  export {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/dtls/ecjpake/EcJpakePms.ts"],
4
- "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,qBAAqB;AAC9B,SAAS,YAAY;AACrB,SAAS,cAAc;AACvB,SAAS,iBAAiB;AAE1B,MAAM,QAAQ,KAAK;AACnB,MAAM,IAAI,MAAM,GAAG;AACnB,MAAM,mBAAmB;AAuBlB,MAAM,aAAa;AAAA,EACtB,OAAO,MAA+E;AAClF,UAAM,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI;AAC5B,QAAI,OAAO,MAAM,OAAO,GAAG;AACvB,YAAM,IAAI,cAAc,yBAAyB;AAAA,IACrD;AACA,QAAI,KAAK,IAAI;AACT,YAAM,IAAI,cAAc,0CAA0C;AAAA,IACtE;AACA,UAAM,QAAQ,MAAM,UAAU,EAAE;AAChC,UAAM,SAAS,MAAM,UAAU,GAAG;AAClC,QAAI,MAAM,IAAI,KAAK,OAAO,IAAI,GAAG;AAC7B,YAAM,IAAI,UAAU,+CAA+C;AAAA,IACvE;AACA,UAAM,WAAW,IAAM,MAAM,IAAK,KAAM;AAExC,UAAM,KAAK,MAAM,IAAI,OAAO,SAAS,OAAO,CAAC;AAC7C,UAAM,IAAI,GAAG,SAAS,GAAG;AACzB,QAAI,EAAE,IAAI,GAAG;AACT,YAAM,IAAI,UAAU,oCAAoC;AAAA,IAC5D;AAIA,UAAM,OAAO,EAAE,QAAQ,KAAK;AAC5B,UAAM,SAAS,KAAK,SAAS,GAAG,IAAI,gBAAgB;AACpD,WAAO,OAAO,MAAM;AAAA,EACxB;AACJ;",
4
+ "mappings": "AAAA;AAAA;AAAA;AAAA;AAAA;AAMA,SAAS,OAAe,qBAAqB;AAC7C,SAAS,YAAY;AACrB,SAAS,iBAAiB;AAE1B,MAAM,QAAQ,KAAK;AACnB,MAAM,IAAI,MAAM,GAAG;AACnB,MAAM,mBAAmB;AAuBlB,MAAM,aAAa;AAAA,EACtB,MAAM,OAAO,QAAgB,MAAyE;AAClG,UAAM,EAAE,IAAI,KAAK,KAAK,EAAE,IAAI;AAC5B,QAAI,OAAO,MAAM,OAAO,GAAG;AACvB,YAAM,IAAI,cAAc,yBAAyB;AAAA,IACrD;AACA,QAAI,KAAK,IAAI;AACT,YAAM,IAAI,cAAc,0CAA0C;AAAA,IACtE;AACA,UAAM,QAAQ,MAAM,UAAU,MAAM,GAAG,EAAE,CAAC;AAC1C,UAAM,SAAS,MAAM,UAAU,MAAM,GAAG,GAAG,CAAC;AAC5C,QAAI,MAAM,IAAI,KAAK,OAAO,IAAI,GAAG;AAC7B,YAAM,IAAI,UAAU,+CAA+C;AAAA,IACvE;AACA,UAAM,WAAW,IAAM,MAAM,IAAK,KAAM;AAExC,UAAM,KAAK,MAAM,IAAI,OAAO,SAAS,OAAO,CAAC;AAC7C,UAAM,IAAI,GAAG,SAAS,GAAG;AACzB,QAAI,EAAE,IAAI,GAAG;AACT,YAAM,IAAI,UAAU,oCAAoC;AAAA,IAC5D;AAIA,UAAM,OAAO,EAAE,QAAQ,KAAK;AAC5B,UAAM,SAAS,KAAK,SAAS,GAAG,IAAI,gBAAgB;AACpD,WAAO,MAAM,GAAG,MAAM,OAAO,YAAY,MAAM,CAAC;AAAA,EACpD;AACJ;",
5
5
  "names": []
6
6
  }
@@ -3,6 +3,7 @@
3
3
  * Copyright 2022-2026 Matter.js Authors
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
+ import { Bytes, Crypto } from "@matter/general";
6
7
  import { SchnorrZkp, type SchnorrZkpGenerator } from "./SchnorrZkp.js";
7
8
  /**
8
9
  * One half of an EC-JPAKE round-1 message: an ephemeral public key plus a Schnorr
@@ -17,7 +18,7 @@ import { SchnorrZkp, type SchnorrZkpGenerator } from "./SchnorrZkp.js";
17
18
  */
18
19
  export interface EcJpakeKeyKP {
19
20
  /** SEC1-uncompressed public key `X = x*G`. */
20
- X: Uint8Array;
21
+ X: Bytes;
21
22
  /** Schnorr ZKP proving knowledge of `x`. */
22
23
  zkp: SchnorrZkp;
23
24
  }
@@ -43,18 +44,18 @@ export declare const EcJpakeRound: {
43
44
  *
44
45
  * `id` is `ECJPAKE_ID_CLIENT` for the joiner and `ECJPAKE_ID_SERVER` for the commissioner.
45
46
  */
46
- buildRound1(args: {
47
+ buildRound1(crypto: Crypto, args: {
47
48
  x1: bigint;
48
49
  x2: bigint;
49
50
  v1: bigint;
50
51
  v2: bigint;
51
52
  id: string;
52
- }): {
53
+ }): Promise<{
53
54
  kp1: EcJpakeKeyKP;
54
55
  kp2: EcJpakeKeyKP;
55
- };
56
- serializeRound1(kp1: EcJpakeKeyKP, kp2: EcJpakeKeyKP): Uint8Array;
57
- parseRound1(bytes: Uint8Array): {
56
+ }>;
57
+ serializeRound1(kp1: EcJpakeKeyKP, kp2: EcJpakeKeyKP): Bytes;
58
+ parseRound1(bytes: Bytes): {
58
59
  kp1: EcJpakeKeyKP;
59
60
  kp2: EcJpakeKeyKP;
60
61
  };
@@ -65,9 +66,9 @@ export declare const EcJpakeRound: {
65
66
  * `Xp2 = X4`, `Xm1 = X1`; for the server `Xp1 = X1`, `Xp2 = X2`, `Xm1 = X3`.
66
67
  */
67
68
  composeRound2Generator(args: {
68
- Xp1: Uint8Array;
69
- Xp2: Uint8Array;
70
- Xm1: Uint8Array;
69
+ Xp1: Bytes;
70
+ Xp2: Bytes;
71
+ Xm1: Bytes;
71
72
  }): SchnorrZkpGenerator;
72
73
  /**
73
74
  * Build round 2 from the second private scalar `xm2`, the password (as the
@@ -78,13 +79,13 @@ export declare const EcJpakeRound: {
78
79
  * Caller-supplied `v` makes output deterministic for testing; production
79
80
  * callers must source `v` from a CSPRNG.
80
81
  */
81
- buildRound2(args: {
82
+ buildRound2(crypto: Crypto, args: {
82
83
  xm2: bigint;
83
84
  s: bigint;
84
85
  v: bigint;
85
86
  id: string;
86
87
  generator: SchnorrZkpGenerator;
87
- }): EcJpakeKeyKP;
88
+ }): Promise<EcJpakeKeyKP>;
88
89
  /**
89
90
  * Serialise a round-2 message. When `prependEcParameters` is true the 3-byte
90
91
  * `ECParameters{ named_curve, secp256r1 }` header is emitted before the
@@ -95,13 +96,13 @@ export declare const EcJpakeRound: {
95
96
  */
96
97
  serializeRound2(kp: EcJpakeKeyKP, options: {
97
98
  prependEcParameters: boolean;
98
- }): Uint8Array;
99
+ }): Bytes;
99
100
  /**
100
101
  * Parse a round-2 message. `expectEcParameters` must be `true` when the parser
101
102
  * is the client reading ServerKeyExchange, and `false` when the parser is the
102
103
  * server reading ClientKeyExchange.
103
104
  */
104
- parseRound2(bytes: Uint8Array, options: {
105
+ parseRound2(bytes: Bytes, options: {
105
106
  expectEcParameters: boolean;
106
107
  }): EcJpakeKeyKP;
107
108
  /**
@@ -110,10 +111,10 @@ export declare const EcJpakeRound: {
110
111
  * on any verification failure — including malformed bytes — to mirror the
111
112
  * round-1 `SchnorrZkp.verify` contract.
112
113
  */
113
- verifyRound2Zkp(args: {
114
+ verifyRound2Zkp(crypto: Crypto, args: {
114
115
  kp: EcJpakeKeyKP;
115
116
  generator: SchnorrZkpGenerator;
116
117
  peerId: string;
117
- }): boolean;
118
+ }): Promise<boolean>;
118
119
  };
119
120
  //# sourceMappingURL=EcJpakeRound.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"EcJpakeRound.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakeRound.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,EAAE,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IACzB,8CAA8C;IAC9C,CAAC,EAAE,UAAU,CAAC;IACd,4CAA4C;IAC5C,GAAG,EAAE,UAAU,CAAC;CACnB;AAMD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAqF1C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;IACrB;;;;;;OAMG;IACH,WAAW,OAAO;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GAAG;QAC/E,GAAG,EAAE,YAAY,CAAC;QAClB,GAAG,EAAE,YAAY,CAAC;KACrB;IAYD,eAAe,MAAM,YAAY,OAAO,YAAY,GAAG,UAAU;IASjE,WAAW,QAAQ,UAAU,GAAG;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAE;IASxE;;;;;OAKG;IACH,sBAAsB,OAAO;QAAE,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,UAAU,CAAA;KAAE,GAAG,mBAAmB;IAQxG;;;;;;;;OAQG;IACH,WAAW,OAAO;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAE,GAAG,YAAY;IAwBlH;;;;;;;OAOG;IACH,eAAe,KAAK,YAAY,WAAW;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,GAAG,UAAU;IAcxF;;;;OAIG;IACH,WAAW,QAAQ,UAAU,WAAW;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,GAAG,YAAY;IAsBtF;;;;;OAKG;IACH,eAAe,OAAO;QAAE,EAAE,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO;CAI9F,CAAC"}
1
+ {"version":3,"file":"EcJpakeRound.d.ts","sourceRoot":"","sources":["../../../../src/dtls/ecjpake/EcJpakeRound.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,EAAE,MAAM,EAAiB,MAAM,iBAAiB,CAAC;AAG/D,OAAO,EAAE,UAAU,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAEvE;;;;;;;;;;GAUG;AACH,MAAM,WAAW,YAAY;IACzB,8CAA8C;IAC9C,CAAC,EAAE,KAAK,CAAC;IACT,4CAA4C;IAC5C,GAAG,EAAE,UAAU,CAAC;CACnB;AAMD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,WAAW,CAAC;AAC1C,eAAO,MAAM,iBAAiB,WAAW,CAAC;AA2F1C;;;;;;GAMG;AACH,eAAO,MAAM,YAAY;IACrB;;;;;;OAMG;IACG,WAAW,SACL,MAAM,QACR;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAE,GACrE,OAAO,CAAC;QACP,GAAG,EAAE,YAAY,CAAC;QAClB,GAAG,EAAE,YAAY,CAAC;KACrB,CAAC;IAYF,eAAe,MAAM,YAAY,OAAO,YAAY,GAAG,KAAK;IAS5D,WAAW,QAAQ,KAAK,GAAG;QAAE,GAAG,EAAE,YAAY,CAAC;QAAC,GAAG,EAAE,YAAY,CAAA;KAAE;IAUnE;;;;;OAKG;IACH,sBAAsB,OAAO;QAAE,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,KAAK,CAAA;KAAE,GAAG,mBAAmB;IAWzF;;;;;;;;OAQG;IACG,WAAW,SACL,MAAM,QACR;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAA;KAAE,GACxF,OAAO,CAAC,YAAY,CAAC;IAwBxB;;;;;;;OAOG;IACH,eAAe,KAAK,YAAY,WAAW;QAAE,mBAAmB,EAAE,OAAO,CAAA;KAAE,GAAG,KAAK;IAcnF;;;;OAIG;IACH,WAAW,QAAQ,KAAK,WAAW;QAAE,kBAAkB,EAAE,OAAO,CAAA;KAAE,GAAG,YAAY;IAuBjF;;;;;OAKG;IACG,eAAe,SACT,MAAM,QACR;QAAE,EAAE,EAAE,YAAY,CAAC;QAAC,SAAS,EAAE,mBAAmB,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAC3E,OAAO,CAAC,OAAO,CAAC;CAIb,CAAC"}