@bsv/sdk 1.3.12 → 1.3.14

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 (607) hide show
  1. package/dist/cjs/package.json +15 -3
  2. package/dist/cjs/src/auth/Peer.js +83 -57
  3. package/dist/cjs/src/auth/Peer.js.map +1 -1
  4. package/dist/cjs/src/auth/SessionManager.js +14 -9
  5. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  6. package/dist/cjs/src/auth/certificates/Certificate.js +16 -10
  7. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  8. package/dist/cjs/src/auth/certificates/MasterCertificate.js +25 -23
  9. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  10. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +2 -2
  11. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  12. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +62 -46
  13. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  14. package/dist/cjs/src/auth/clients/AuthFetch.js +1 -0
  15. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  16. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +70 -43
  17. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  18. package/dist/cjs/src/auth/utils/createNonce.js +2 -1
  19. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  20. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  21. package/dist/cjs/src/auth/utils/validateCertificates.js +5 -2
  22. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  23. package/dist/cjs/src/auth/utils/verifyNonce.js +2 -1
  24. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  25. package/dist/cjs/src/compat/BSM.js +7 -17
  26. package/dist/cjs/src/compat/BSM.js.map +1 -1
  27. package/dist/cjs/src/compat/ECIES.js +172 -133
  28. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  29. package/dist/cjs/src/compat/HD.js +63 -73
  30. package/dist/cjs/src/compat/HD.js.map +1 -1
  31. package/dist/cjs/src/compat/Mnemonic.js +102 -106
  32. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  33. package/dist/cjs/src/compat/Utxo.js +2 -2
  34. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  35. package/dist/cjs/src/compat/index.js +7 -17
  36. package/dist/cjs/src/compat/index.js.map +1 -1
  37. package/dist/cjs/src/messages/EncryptedMessage.js +3 -1
  38. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  39. package/dist/cjs/src/messages/SignedMessage.js +1 -0
  40. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  41. package/dist/cjs/src/messages/index.js +7 -17
  42. package/dist/cjs/src/messages/index.js.map +1 -1
  43. package/dist/cjs/src/overlay-tools/LookupResolver.js +54 -35
  44. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  45. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  46. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  47. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +40 -28
  48. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  49. package/dist/cjs/src/primitives/AESGCM.js +6 -5
  50. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  51. package/dist/cjs/src/primitives/BasePoint.js +1 -1
  52. package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
  53. package/dist/cjs/src/primitives/BigNumber.js +50 -62
  54. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  55. package/dist/cjs/src/primitives/Curve.js +46 -22
  56. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  57. package/dist/cjs/src/primitives/DRBG.js +2 -8
  58. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  59. package/dist/cjs/src/primitives/ECDSA.js +51 -35
  60. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  61. package/dist/cjs/src/primitives/Hash.js +191 -216
  62. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  63. package/dist/cjs/src/primitives/JacobianPoint.js +19 -5
  64. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  65. package/dist/cjs/src/primitives/K256.js.map +1 -1
  66. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  67. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  68. package/dist/cjs/src/primitives/Point.js +117 -88
  69. package/dist/cjs/src/primitives/Point.js.map +1 -1
  70. package/dist/cjs/src/primitives/Polynomial.js +4 -2
  71. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  72. package/dist/cjs/src/primitives/PrivateKey.js +32 -33
  73. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  74. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  75. package/dist/cjs/src/primitives/Random.js +6 -5
  76. package/dist/cjs/src/primitives/Random.js.map +1 -1
  77. package/dist/cjs/src/primitives/ReductionContext.js +1 -1
  78. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  79. package/dist/cjs/src/primitives/Schnorr.js +21 -15
  80. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  81. package/dist/cjs/src/primitives/Signature.js +8 -7
  82. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  83. package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
  84. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  85. package/dist/cjs/src/primitives/TransactionSignature.js +31 -29
  86. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  87. package/dist/cjs/src/primitives/index.js +7 -17
  88. package/dist/cjs/src/primitives/index.js.map +1 -1
  89. package/dist/cjs/src/primitives/utils.js +79 -68
  90. package/dist/cjs/src/primitives/utils.js.map +1 -1
  91. package/dist/cjs/src/script/OP.js +3 -3
  92. package/dist/cjs/src/script/OP.js.map +1 -1
  93. package/dist/cjs/src/script/Script.js +12 -10
  94. package/dist/cjs/src/script/Script.js.map +1 -1
  95. package/dist/cjs/src/script/Spend.js +47 -49
  96. package/dist/cjs/src/script/Spend.js.map +1 -1
  97. package/dist/cjs/src/script/templates/P2PKH.js +24 -12
  98. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  99. package/dist/cjs/src/script/templates/PushDrop.js +28 -23
  100. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  101. package/dist/cjs/src/script/templates/RPuzzle.js +10 -6
  102. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  103. package/dist/cjs/src/totp/totp.js +2 -1
  104. package/dist/cjs/src/totp/totp.js.map +1 -1
  105. package/dist/cjs/src/transaction/Beef.js +177 -154
  106. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  107. package/dist/cjs/src/transaction/BeefParty.js +24 -24
  108. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  109. package/dist/cjs/src/transaction/BeefTx.js +26 -18
  110. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  111. package/dist/cjs/src/transaction/Broadcaster.js +3 -2
  112. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  113. package/dist/cjs/src/transaction/MerklePath.js +64 -37
  114. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  115. package/dist/cjs/src/transaction/Transaction.js +111 -137
  116. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  117. package/dist/cjs/src/transaction/broadcasters/ARC.js +25 -16
  118. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  119. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -1
  120. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  121. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  122. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -1
  123. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  124. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  125. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  126. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  127. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +5 -3
  128. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  129. package/dist/cjs/src/transaction/http/FetchHttpClient.js +5 -2
  130. package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
  131. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +5 -3
  132. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  133. package/dist/cjs/src/transaction/http/index.js.map +1 -1
  134. package/dist/cjs/src/transaction/index.js.map +1 -1
  135. package/dist/cjs/src/wallet/CachedKeyDeriver.js +91 -66
  136. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  137. package/dist/cjs/src/wallet/KeyDeriver.js +61 -52
  138. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  139. package/dist/cjs/src/wallet/ProtoWallet.js +79 -29
  140. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  141. package/dist/cjs/src/wallet/WalletClient.js +7 -2
  142. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  143. package/dist/cjs/src/wallet/WalletError.js +2 -2
  144. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  145. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +4 -3
  146. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  147. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +2 -2
  148. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  149. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  150. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  151. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +102 -43
  152. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  153. package/dist/cjs/src/wallet/substrates/XDM.js +8 -3
  154. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  155. package/dist/cjs/src/wallet/substrates/window.CWI.js +28 -28
  156. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  157. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  158. package/dist/esm/mod.js +15 -15
  159. package/dist/esm/src/auth/Peer.js +75 -54
  160. package/dist/esm/src/auth/Peer.js.map +1 -1
  161. package/dist/esm/src/auth/SessionManager.js +14 -9
  162. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  163. package/dist/esm/src/auth/certificates/Certificate.js +15 -11
  164. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  165. package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -23
  166. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  167. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +2 -2
  168. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  169. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +64 -47
  170. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  171. package/dist/esm/src/auth/clients/AuthFetch.js +1 -0
  172. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  173. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +69 -43
  174. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  175. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  176. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +1 -1
  177. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  178. package/dist/esm/src/auth/utils/validateCertificates.js +6 -3
  179. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  180. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  181. package/dist/esm/src/compat/BSM.js.map +1 -1
  182. package/dist/esm/src/compat/ECIES.js +165 -116
  183. package/dist/esm/src/compat/ECIES.js.map +1 -1
  184. package/dist/esm/src/compat/HD.js +56 -56
  185. package/dist/esm/src/compat/HD.js.map +1 -1
  186. package/dist/esm/src/compat/Mnemonic.js +95 -89
  187. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  188. package/dist/esm/src/compat/Utxo.js +1 -1
  189. package/dist/esm/src/compat/Utxo.js.map +1 -1
  190. package/dist/esm/src/messages/EncryptedMessage.js +3 -1
  191. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  192. package/dist/esm/src/messages/SignedMessage.js +1 -0
  193. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  194. package/dist/esm/src/overlay-tools/LookupResolver.js +53 -35
  195. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  196. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  197. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  198. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +40 -28
  199. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  200. package/dist/esm/src/primitives/AESGCM.js +1 -0
  201. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  202. package/dist/esm/src/primitives/BasePoint.js +1 -1
  203. package/dist/esm/src/primitives/BasePoint.js.map +1 -1
  204. package/dist/esm/src/primitives/BigNumber.js +50 -62
  205. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  206. package/dist/esm/src/primitives/Curve.js +45 -22
  207. package/dist/esm/src/primitives/Curve.js.map +1 -1
  208. package/dist/esm/src/primitives/DRBG.js +2 -8
  209. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  210. package/dist/esm/src/primitives/ECDSA.js +50 -35
  211. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  212. package/dist/esm/src/primitives/Hash.js +188 -213
  213. package/dist/esm/src/primitives/Hash.js.map +1 -1
  214. package/dist/esm/src/primitives/JacobianPoint.js +18 -5
  215. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  216. package/dist/esm/src/primitives/K256.js.map +1 -1
  217. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  218. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  219. package/dist/esm/src/primitives/Point.js +107 -88
  220. package/dist/esm/src/primitives/Point.js.map +1 -1
  221. package/dist/esm/src/primitives/Polynomial.js +4 -2
  222. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  223. package/dist/esm/src/primitives/PrivateKey.js +25 -16
  224. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  225. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  226. package/dist/esm/src/primitives/Random.js +7 -6
  227. package/dist/esm/src/primitives/Random.js.map +1 -1
  228. package/dist/esm/src/primitives/ReductionContext.js +1 -1
  229. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  230. package/dist/esm/src/primitives/Schnorr.js +21 -15
  231. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  232. package/dist/esm/src/primitives/Signature.js +8 -7
  233. package/dist/esm/src/primitives/Signature.js.map +1 -1
  234. package/dist/esm/src/primitives/SymmetricKey.js +13 -13
  235. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  236. package/dist/esm/src/primitives/TransactionSignature.js +22 -12
  237. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  238. package/dist/esm/src/primitives/utils.js +76 -66
  239. package/dist/esm/src/primitives/utils.js.map +1 -1
  240. package/dist/esm/src/script/OP.js +3 -3
  241. package/dist/esm/src/script/OP.js.map +1 -1
  242. package/dist/esm/src/script/Script.js +12 -10
  243. package/dist/esm/src/script/Script.js.map +1 -1
  244. package/dist/esm/src/script/Spend.js +39 -32
  245. package/dist/esm/src/script/Spend.js.map +1 -1
  246. package/dist/esm/src/script/templates/P2PKH.js +26 -11
  247. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  248. package/dist/esm/src/script/templates/PushDrop.js +29 -22
  249. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  250. package/dist/esm/src/script/templates/RPuzzle.js +11 -6
  251. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  252. package/dist/esm/src/totp/totp.js +2 -1
  253. package/dist/esm/src/totp/totp.js.map +1 -1
  254. package/dist/esm/src/transaction/Beef.js +176 -154
  255. package/dist/esm/src/transaction/Beef.js.map +1 -1
  256. package/dist/esm/src/transaction/BeefParty.js +24 -24
  257. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  258. package/dist/esm/src/transaction/BeefTx.js +26 -18
  259. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  260. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  261. package/dist/esm/src/transaction/MerklePath.js +61 -36
  262. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  263. package/dist/esm/src/transaction/Transaction.js +105 -138
  264. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  265. package/dist/esm/src/transaction/broadcasters/ARC.js +25 -16
  266. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  267. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  268. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  269. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  270. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  271. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  272. package/dist/esm/src/transaction/http/DefaultHttpClient.js +3 -2
  273. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  274. package/dist/esm/src/transaction/http/FetchHttpClient.js +4 -2
  275. package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
  276. package/dist/esm/src/transaction/http/NodejsHttpClient.js +5 -3
  277. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  278. package/dist/esm/src/transaction/http/index.js.map +1 -1
  279. package/dist/esm/src/transaction/index.js.map +1 -1
  280. package/dist/esm/src/wallet/CachedKeyDeriver.js +91 -66
  281. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  282. package/dist/esm/src/wallet/KeyDeriver.js +60 -52
  283. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  284. package/dist/esm/src/wallet/ProtoWallet.js +75 -29
  285. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  286. package/dist/esm/src/wallet/WalletClient.js +7 -2
  287. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  288. package/dist/esm/src/wallet/WalletError.js +2 -2
  289. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  290. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +4 -4
  291. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  292. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +2 -2
  293. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  294. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  295. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  296. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +95 -43
  297. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  298. package/dist/esm/src/wallet/substrates/XDM.js +8 -3
  299. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  300. package/dist/esm/src/wallet/substrates/window.CWI.js +28 -28
  301. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  302. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  303. package/dist/types/mod.d.ts +15 -15
  304. package/dist/types/src/auth/Peer.d.ts +10 -10
  305. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  306. package/dist/types/src/auth/SessionManager.d.ts +4 -4
  307. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  308. package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
  309. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  310. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +5 -5
  311. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  312. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  313. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
  314. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  315. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  316. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  317. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  318. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  319. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
  320. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  321. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  322. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  323. package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
  324. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  325. package/dist/types/src/compat/BSM.d.ts +1 -1
  326. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  327. package/dist/types/src/compat/ECIES.d.ts +36 -36
  328. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  329. package/dist/types/src/compat/HD.d.ts +51 -51
  330. package/dist/types/src/compat/HD.d.ts.map +1 -1
  331. package/dist/types/src/compat/Mnemonic.d.ts +79 -79
  332. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  333. package/dist/types/src/compat/Utxo.d.ts.map +1 -1
  334. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  335. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  336. package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
  337. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  338. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +17 -17
  339. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  340. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +14 -14
  341. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  342. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  343. package/dist/types/src/primitives/BasePoint.d.ts +8 -8
  344. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
  345. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  346. package/dist/types/src/primitives/Curve.d.ts +14 -7
  347. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  348. package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
  349. package/dist/types/src/primitives/ECDSA.d.ts +1 -1
  350. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  351. package/dist/types/src/primitives/Hash.d.ts +11 -11
  352. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  353. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  354. package/dist/types/src/primitives/Point.d.ts +14 -10
  355. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  356. package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
  357. package/dist/types/src/primitives/PrivateKey.d.ts +2 -2
  358. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  359. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  360. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  361. package/dist/types/src/primitives/Schnorr.d.ts +14 -14
  362. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  363. package/dist/types/src/primitives/Signature.d.ts +1 -1
  364. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  365. package/dist/types/src/primitives/SymmetricKey.d.ts +13 -13
  366. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  367. package/dist/types/src/primitives/TransactionSignature.d.ts +4 -4
  368. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  369. package/dist/types/src/primitives/utils.d.ts +3 -6
  370. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  371. package/dist/types/src/script/Script.d.ts +3 -3
  372. package/dist/types/src/script/Script.d.ts.map +1 -1
  373. package/dist/types/src/script/ScriptTemplate.d.ts +2 -2
  374. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
  375. package/dist/types/src/script/Spend.d.ts.map +1 -1
  376. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  377. package/dist/types/src/script/templates/PushDrop.d.ts +1 -2
  378. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  379. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  380. package/dist/types/src/totp/totp.d.ts.map +1 -1
  381. package/dist/types/src/transaction/Beef.d.ts +96 -96
  382. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  383. package/dist/types/src/transaction/BeefParty.d.ts +22 -22
  384. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  385. package/dist/types/src/transaction/BeefTx.d.ts +5 -5
  386. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  387. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  388. package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
  389. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
  390. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  391. package/dist/types/src/transaction/Transaction.d.ts +4 -12
  392. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  393. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
  394. package/dist/types/src/transaction/broadcasters/ARC.d.ts +1 -1
  395. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  396. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
  397. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
  398. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
  399. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
  400. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
  401. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
  402. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  403. package/dist/types/src/transaction/http/FetchHttpClient.d.ts +5 -5
  404. package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
  405. package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
  406. package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
  407. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +3 -3
  408. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  409. package/dist/types/src/transaction/http/index.d.ts.map +1 -1
  410. package/dist/types/src/transaction/index.d.ts.map +1 -1
  411. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +58 -58
  412. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  413. package/dist/types/src/wallet/KeyDeriver.d.ts +78 -78
  414. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  415. package/dist/types/src/wallet/ProtoWallet.d.ts +10 -10
  416. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  417. package/dist/types/src/wallet/Wallet.interfaces.d.ts +151 -152
  418. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  419. package/dist/types/src/wallet/WalletClient.d.ts +5 -5
  420. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  421. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +6 -6
  422. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  423. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
  424. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  425. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  426. package/dist/types/src/wallet/substrates/XDM.d.ts +1 -1
  427. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  428. package/dist/types/src/wallet/substrates/window.CWI.d.ts +6 -6
  429. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  430. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  431. package/dist/umd/bundle.js +1 -1
  432. package/docs/auth.md +92 -82
  433. package/docs/compat.md +24 -24
  434. package/docs/messages.md +7 -5
  435. package/docs/overlay-tools.md +21 -21
  436. package/docs/primitives.md +336 -315
  437. package/docs/script.md +35 -35
  438. package/docs/swagger/dist/swagger-initializer.js +7 -7
  439. package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
  440. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
  441. package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
  442. package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
  443. package/docs/swagger/dist/swagger-ui.js +2 -2
  444. package/docs/totp.md +5 -5
  445. package/docs/transaction.md +103 -105
  446. package/docs/wallet-substrates.md +17 -17
  447. package/docs/wallet.md +202 -204
  448. package/mod.ts +15 -15
  449. package/package.json +15 -3
  450. package/src/auth/Peer.ts +271 -121
  451. package/src/auth/SessionManager.ts +17 -10
  452. package/src/auth/__tests/Peer.test.ts +361 -179
  453. package/src/auth/__tests/SessionManager.test.ts +67 -19
  454. package/src/auth/__tests/build.test.ts +11 -0
  455. package/src/auth/certificates/Certificate.ts +27 -14
  456. package/src/auth/certificates/MasterCertificate.ts +106 -62
  457. package/src/auth/certificates/VerifiableCertificate.ts +30 -8
  458. package/src/auth/certificates/__tests/Certificate.test.ts +32 -17
  459. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +171 -68
  460. package/src/auth/certificates/__tests/MasterCertificate.test.ts +63 -47
  461. package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +42 -31
  462. package/src/auth/certificates/index.ts +1 -1
  463. package/src/auth/clients/AuthFetch.ts +1 -0
  464. package/src/auth/clients/index.ts +1 -1
  465. package/src/auth/transports/SimplifiedFetchTransport.ts +145 -72
  466. package/src/auth/transports/index.ts +1 -1
  467. package/src/auth/utils/__tests/cryptononce.test.ts +52 -23
  468. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +56 -30
  469. package/src/auth/utils/__tests/validateCertificates.test.ts +53 -31
  470. package/src/auth/utils/createNonce.ts +11 -3
  471. package/src/auth/utils/getVerifiableCertificates.ts +12 -7
  472. package/src/auth/utils/validateCertificates.ts +57 -39
  473. package/src/auth/utils/verifyNonce.ts +6 -2
  474. package/src/compat/BSM.ts +10 -2
  475. package/src/compat/ECIES.ts +265 -141
  476. package/src/compat/HD.ts +81 -63
  477. package/src/compat/Mnemonic.ts +104 -91
  478. package/src/compat/Utxo.ts +8 -5
  479. package/src/compat/__tests/BSM.test.ts +42 -16
  480. package/src/compat/__tests/ECIES.test.ts +117 -52
  481. package/src/compat/__tests/HD.test.ts +55 -42
  482. package/src/compat/__tests/Mnemonic.test.ts +11 -12
  483. package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
  484. package/src/messages/EncryptedMessage.ts +6 -2
  485. package/src/messages/SignedMessage.ts +14 -8
  486. package/src/messages/__tests/EncryptedMessage.test.ts +23 -24
  487. package/src/messages/__tests/SignedMessage.test.ts +17 -11
  488. package/src/overlay-tools/LookupResolver.ts +108 -56
  489. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -23
  490. package/src/overlay-tools/SHIPBroadcaster.ts +135 -59
  491. package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
  492. package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
  493. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
  494. package/src/primitives/AESGCM.ts +2 -0
  495. package/src/primitives/BasePoint.ts +4 -4
  496. package/src/primitives/BigNumber.ts +99 -90
  497. package/src/primitives/Curve.ts +117 -46
  498. package/src/primitives/DRBG.ts +9 -11
  499. package/src/primitives/ECDSA.ts +109 -63
  500. package/src/primitives/Hash.ts +492 -321
  501. package/src/primitives/JacobianPoint.ts +67 -19
  502. package/src/primitives/Point.ts +254 -152
  503. package/src/primitives/Polynomial.ts +8 -3
  504. package/src/primitives/PrivateKey.ts +41 -17
  505. package/src/primitives/PublicKey.ts +13 -3
  506. package/src/primitives/Random.ts +14 -8
  507. package/src/primitives/ReductionContext.ts +1 -1
  508. package/src/primitives/Schnorr.ts +40 -18
  509. package/src/primitives/Signature.ts +26 -16
  510. package/src/primitives/SymmetricKey.ts +14 -14
  511. package/src/primitives/TransactionSignature.ts +41 -17
  512. package/src/primitives/__tests/AESGCM.test.ts +457 -151
  513. package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
  514. package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
  515. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +344 -125
  516. package/src/primitives/__tests/BigNumber.binary.test.ts +148 -67
  517. package/src/primitives/__tests/BigNumber.constructor.test.ts +65 -25
  518. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -11
  519. package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
  520. package/src/primitives/__tests/BigNumber.serializers.test.ts +41 -15
  521. package/src/primitives/__tests/BigNumber.utils.test.ts +132 -42
  522. package/src/primitives/__tests/Curve.unit.test.ts +75 -53
  523. package/src/primitives/__tests/DRBG.test.ts +1 -1
  524. package/src/primitives/__tests/DRBG.vectors.ts +45 -75
  525. package/src/primitives/__tests/ECDH.test.ts +15 -8
  526. package/src/primitives/__tests/ECDSA.test.ts +12 -6
  527. package/src/primitives/__tests/HMAC.test.ts +24 -18
  528. package/src/primitives/__tests/Hash.test.ts +57 -46
  529. package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
  530. package/src/primitives/__tests/PrivateKey.split.test.ts +33 -11
  531. package/src/primitives/__tests/PrivateKey.test.ts +11 -10
  532. package/src/primitives/__tests/PublicKey.test.ts +64 -53
  533. package/src/primitives/__tests/Random.test.ts +1 -1
  534. package/src/primitives/__tests/Reader.test.ts +240 -219
  535. package/src/primitives/__tests/ReductionContext.test.ts +98 -61
  536. package/src/primitives/__tests/Schnorr.test.ts +249 -237
  537. package/src/primitives/__tests/SymmetricKey.test.ts +18 -15
  538. package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
  539. package/src/primitives/__tests/Writer.test.ts +23 -13
  540. package/src/primitives/__tests/bug-31.test.ts +6 -10
  541. package/src/primitives/__tests/utils.test.ts +70 -19
  542. package/src/primitives/utils.ts +103 -79
  543. package/src/script/Script.ts +18 -12
  544. package/src/script/ScriptTemplate.ts +3 -5
  545. package/src/script/Spend.ts +306 -108
  546. package/src/script/__tests/Script.test.ts +73 -55
  547. package/src/script/__tests/Spend.test.ts +208 -83
  548. package/src/script/__tests/SpendComplex.test.ts +19 -13
  549. package/src/script/__tests/script.invalid.vectors.ts +428 -1796
  550. package/src/script/__tests/script.valid.vectors.ts +728 -2764
  551. package/src/script/templates/P2PKH.ts +34 -12
  552. package/src/script/templates/PushDrop.ts +65 -31
  553. package/src/script/templates/RPuzzle.ts +29 -8
  554. package/src/script/templates/__tests/PushDrop.test.ts +146 -41
  555. package/src/totp/__tests/totp.test.ts +45 -44
  556. package/src/totp/totp.ts +3 -2
  557. package/src/transaction/Beef.ts +269 -174
  558. package/src/transaction/BeefParty.ts +41 -31
  559. package/src/transaction/BeefTx.ts +36 -26
  560. package/src/transaction/Broadcaster.ts +10 -6
  561. package/src/transaction/ChainTracker.ts +2 -2
  562. package/src/transaction/FeeModel.ts +0 -1
  563. package/src/transaction/MerklePath.ts +124 -59
  564. package/src/transaction/Transaction.ts +188 -187
  565. package/src/transaction/TransactionOutput.ts +0 -1
  566. package/src/transaction/__tests/Beef.test.ts +390 -287
  567. package/src/transaction/__tests/MerklePath.test.ts +59 -26
  568. package/src/transaction/__tests/Transaction.benchmarks.test.ts +231 -201
  569. package/src/transaction/__tests/Transaction.test.ts +758 -482
  570. package/src/transaction/__tests/bigtx.vectors.ts +2 -1
  571. package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
  572. package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
  573. package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
  574. package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
  575. package/src/transaction/broadcasters/ARC.ts +69 -38
  576. package/src/transaction/broadcasters/DefaultBroadcaster.ts +9 -3
  577. package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +20 -7
  578. package/src/transaction/broadcasters/__tests/ARC.test.ts +127 -59
  579. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +27 -18
  580. package/src/transaction/chaintrackers/DefaultChainTracker.ts +1 -1
  581. package/src/transaction/chaintrackers/WhatsOnChain.ts +27 -11
  582. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +59 -23
  583. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +9 -5
  584. package/src/transaction/http/DefaultHttpClient.ts +5 -4
  585. package/src/transaction/http/FetchHttpClient.ts +18 -9
  586. package/src/transaction/http/HttpClient.ts +27 -22
  587. package/src/transaction/http/NodejsHttpClient.ts +23 -9
  588. package/src/transaction/http/index.ts +5 -1
  589. package/src/transaction/index.ts +5 -1
  590. package/src/wallet/CachedKeyDeriver.ts +151 -82
  591. package/src/wallet/KeyDeriver.ts +186 -105
  592. package/src/wallet/ProtoWallet.ts +121 -52
  593. package/src/wallet/Wallet.interfaces.ts +167 -156
  594. package/src/wallet/WalletClient.ts +314 -59
  595. package/src/wallet/WalletError.ts +2 -2
  596. package/src/wallet/__tests/CachedKeyDeriver.test.ts +86 -27
  597. package/src/wallet/__tests/KeyDeriver.test.ts +136 -33
  598. package/src/wallet/__tests/ProtoWallet.test.ts +190 -102
  599. package/src/wallet/substrates/HTTPWalletJSON.ts +250 -67
  600. package/src/wallet/substrates/HTTPWalletWire.ts +7 -3
  601. package/src/wallet/substrates/WalletWireCalls.ts +2 -2
  602. package/src/wallet/substrates/WalletWireProcessor.ts +1412 -1277
  603. package/src/wallet/substrates/WalletWireTransceiver.ts +713 -138
  604. package/src/wallet/substrates/XDM.ts +425 -36
  605. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +488 -225
  606. package/src/wallet/substrates/__tests/XDM.test.ts +232 -234
  607. package/src/wallet/substrates/window.CWI.ts +520 -61
@@ -1,3 +1,5 @@
1
+ // @ts-nocheck
2
+ /* eslint-disable @typescript-eslint/naming-convention */
1
3
  const assert = (expression, message = 'Hash assertion failed') => {
2
4
  if (!expression) {
3
5
  throw new Error(message);
@@ -118,7 +120,6 @@ class BaseHash {
118
120
  assert(this.pending === null);
119
121
  return this._digest();
120
122
  }
121
- ;
122
123
  /**
123
124
  * Finalizes the hash computation and returns the hash value/result as a hex string.
124
125
  *
@@ -134,7 +135,6 @@ class BaseHash {
134
135
  assert(this.pending === null);
135
136
  return this._digestHex();
136
137
  }
137
- ;
138
138
  /**
139
139
  * [Private Method] Used internally to prepare the padding for the final stage of the hash computation.
140
140
  *
@@ -144,6 +144,7 @@ class BaseHash {
144
144
  * @returns Returns an array denoting the padding.
145
145
  */
146
146
  _pad() {
147
+ //
147
148
  let len = this.pendingTotal;
148
149
  const bytes = this._delta8;
149
150
  const k = bytes - ((len + this.padLength) % bytes);
@@ -186,13 +187,13 @@ class BaseHash {
186
187
  }
187
188
  }
188
189
  function isSurrogatePair(msg, i) {
189
- if ((msg.charCodeAt(i) & 0xFC00) !== 0xD800) {
190
+ if ((msg.charCodeAt(i) & 0xfc00) !== 0xd800) {
190
191
  return false;
191
192
  }
192
193
  if (i < 0 || i + 1 >= msg.length) {
193
194
  return false;
194
195
  }
195
- return (msg.charCodeAt(i + 1) & 0xFC00) === 0xDC00;
196
+ return (msg.charCodeAt(i + 1) & 0xfc00) === 0xdc00;
196
197
  }
197
198
  /**
198
199
  *
@@ -211,7 +212,7 @@ export function toArray(msg, enc) {
211
212
  if (typeof msg === 'string') {
212
213
  if (enc !== 'hex') {
213
214
  // Inspired by stringToUtf8ByteArray() in closure-library by Google
214
- // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt.js#L117-L143
215
+ // https://github.com/google/closure-library/blob/8598d87242af59aac233270742c8984e2b2bdbe0/closure/goog/crypt/crypt#L117-L143
215
216
  // Apache License 2.0
216
217
  // https://github.com/google/closure-library/blob/master/LICENSE
217
218
  let p = 0;
@@ -225,7 +226,7 @@ export function toArray(msg, enc) {
225
226
  res[p++] = (c & 63) | 128;
226
227
  }
227
228
  else if (isSurrogatePair(msg, i)) {
228
- c = 0x10000 + ((c & 0x03FF) << 10) + (msg.charCodeAt(++i) & 0x03FF);
229
+ c = 0x10000 + ((c & 0x03ff) << 10) + (msg.charCodeAt(++i) & 0x03ff);
229
230
  res[p++] = (c >> 18) | 240;
230
231
  res[p++] = ((c >> 12) & 63) | 128;
231
232
  res[p++] = ((c >> 6) & 63) | 128;
@@ -239,7 +240,7 @@ export function toArray(msg, enc) {
239
240
  }
240
241
  }
241
242
  else {
242
- msg = msg.replace(/[^a-z0-9]+/ig, '');
243
+ msg = msg.replace(/[^a-z0-9]+/gi, '');
243
244
  if (msg.length % 2 !== 0) {
244
245
  msg = '0' + msg;
245
246
  }
@@ -365,7 +366,7 @@ function FT_1(s, x, y, z) {
365
366
  }
366
367
  }
367
368
  function ch32(x, y, z) {
368
- return (x & y) ^ ((~x) & z);
369
+ return (x & y) ^ (~x & z);
369
370
  }
370
371
  function maj32(x, y, z) {
371
372
  return (x & y) ^ (x & z) ^ (y & z);
@@ -386,48 +387,44 @@ function G1_256(x) {
386
387
  return rotr32(x, 17) ^ rotr32(x, 19) ^ (x >>> 10);
387
388
  }
388
389
  const r = [
389
- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
390
- 7, 4, 13, 1, 10, 6, 15, 3, 12, 0, 9, 5, 2, 14, 11, 8,
391
- 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11, 5, 12,
392
- 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2,
393
- 4, 0, 5, 9, 7, 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
390
+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 7, 4, 13, 1, 10, 6, 15,
391
+ 3, 12, 0, 9, 5, 2, 14, 11, 8, 3, 10, 14, 4, 9, 15, 8, 1, 2, 7, 0, 6, 13, 11,
392
+ 5, 12, 1, 9, 11, 10, 0, 8, 12, 4, 13, 3, 7, 15, 14, 5, 6, 2, 4, 0, 5, 9, 7,
393
+ 12, 2, 10, 14, 1, 3, 8, 11, 6, 15, 13
394
394
  ];
395
395
  const rh = [
396
- 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12,
397
- 6, 11, 3, 7, 0, 13, 5, 10, 14, 15, 8, 12, 4, 9, 1, 2,
398
- 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0, 4, 13,
399
- 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14,
400
- 12, 15, 10, 4, 1, 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
396
+ 5, 14, 7, 0, 9, 2, 11, 4, 13, 6, 15, 8, 1, 10, 3, 12, 6, 11, 3, 7, 0, 13, 5,
397
+ 10, 14, 15, 8, 12, 4, 9, 1, 2, 15, 5, 1, 3, 7, 14, 6, 9, 11, 8, 12, 2, 10, 0,
398
+ 4, 13, 8, 6, 4, 1, 3, 11, 15, 0, 5, 12, 2, 13, 9, 7, 10, 14, 12, 15, 10, 4, 1,
399
+ 5, 8, 7, 6, 2, 13, 14, 0, 3, 9, 11
401
400
  ];
402
401
  const s = [
403
- 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8,
404
- 7, 6, 8, 13, 11, 9, 7, 15, 7, 12, 15, 9, 11, 7, 13, 12,
405
- 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5, 12, 7, 5,
406
- 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12,
407
- 9, 15, 5, 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
402
+ 11, 14, 15, 12, 5, 8, 7, 9, 11, 13, 14, 15, 6, 7, 9, 8, 7, 6, 8, 13, 11, 9, 7,
403
+ 15, 7, 12, 15, 9, 11, 7, 13, 12, 11, 13, 6, 7, 14, 9, 13, 15, 14, 8, 13, 6, 5,
404
+ 12, 7, 5, 11, 12, 14, 15, 14, 15, 9, 8, 9, 14, 5, 6, 8, 6, 5, 12, 9, 15, 5,
405
+ 11, 6, 8, 13, 12, 5, 12, 13, 14, 11, 8, 5, 6
408
406
  ];
409
407
  const sh = [
410
- 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6,
411
- 9, 13, 15, 7, 12, 8, 9, 11, 7, 7, 12, 7, 6, 15, 13, 11,
412
- 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14, 13, 13, 7, 5,
413
- 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8,
414
- 8, 5, 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
408
+ 8, 9, 9, 11, 13, 15, 15, 5, 7, 7, 8, 11, 14, 14, 12, 6, 9, 13, 15, 7, 12, 8,
409
+ 9, 11, 7, 7, 12, 7, 6, 15, 13, 11, 9, 7, 15, 11, 8, 6, 6, 14, 12, 13, 5, 14,
410
+ 13, 13, 7, 5, 15, 5, 8, 11, 14, 14, 6, 14, 6, 9, 12, 9, 12, 5, 15, 8, 8, 5,
411
+ 12, 9, 12, 5, 14, 6, 8, 13, 6, 5, 15, 13, 11, 11
415
412
  ];
416
413
  function f(j, x, y, z) {
417
414
  if (j <= 15) {
418
415
  return x ^ y ^ z;
419
416
  }
420
417
  else if (j <= 31) {
421
- return (x & y) | ((~x) & z);
418
+ return (x & y) | (~x & z);
422
419
  }
423
420
  else if (j <= 47) {
424
- return (x | (~y)) ^ z;
421
+ return (x | ~y) ^ z;
425
422
  }
426
423
  else if (j <= 63) {
427
- return (x & z) | (y & (~z));
424
+ return (x & z) | (y & ~z);
428
425
  }
429
426
  else {
430
- return x ^ (y | (~z));
427
+ return x ^ (y | ~z);
431
428
  }
432
429
  }
433
430
  function K(j) {
@@ -472,16 +469,16 @@ function sum64(buf, pos, ah, al) {
472
469
  buf[pos] = hi >>> 0;
473
470
  buf[pos + 1] = lo;
474
471
  }
475
- function sum64_hi(ah, al, bh, bl) {
472
+ function sum64HI(ah, al, bh, bl) {
476
473
  const lo = (al + bl) >>> 0;
477
474
  const hi = (lo < al ? 1 : 0) + ah + bh;
478
475
  return hi >>> 0;
479
476
  }
480
- function sum64_lo(ah, al, bh, bl) {
477
+ function sum64LO(ah, al, bh, bl) {
481
478
  const lo = al + bl;
482
479
  return lo >>> 0;
483
480
  }
484
- function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {
481
+ function sum64and4HI(ah, al, bh, bl, ch, cl, dh, dl) {
485
482
  let carry = 0;
486
483
  let lo = al;
487
484
  lo = (lo + bl) >>> 0;
@@ -493,11 +490,11 @@ function sum64_4_hi(ah, al, bh, bl, ch, cl, dh, dl) {
493
490
  const hi = ah + bh + ch + dh + carry;
494
491
  return hi >>> 0;
495
492
  }
496
- function sum64_4_lo(ah, al, bh, bl, ch, cl, dh, dl) {
493
+ function sum64and4LO(ah, al, bh, bl, ch, cl, dh, dl) {
497
494
  const lo = al + bl + cl + dl;
498
495
  return lo >>> 0;
499
496
  }
500
- function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
497
+ function sum64and5HI(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
501
498
  let carry = 0;
502
499
  let lo = al;
503
500
  lo = (lo + bl) >>> 0;
@@ -511,22 +508,22 @@ function sum64_5_hi(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
511
508
  const hi = ah + bh + ch + dh + eh + carry;
512
509
  return hi >>> 0;
513
510
  }
514
- function sum64_5_lo(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
511
+ function sum64and5LO(ah, al, bh, bl, ch, cl, dh, dl, eh, el) {
515
512
  const lo = al + bl + cl + dl + el;
516
513
  return lo >>> 0;
517
514
  }
518
- function rotr64_hi(ah, al, num) {
515
+ function rotr64HI(ah, al, num) {
519
516
  const r = (al << (32 - num)) | (ah >>> num);
520
517
  return r >>> 0;
521
518
  }
522
- function rotr64_lo(ah, al, num) {
519
+ function rotr64LO(ah, al, num) {
523
520
  const r = (ah << (32 - num)) | (al >>> num);
524
521
  return r >>> 0;
525
522
  }
526
- function shr64_hi(ah, al, num) {
523
+ function shr64HI(ah, al, num) {
527
524
  return ah >>> num;
528
525
  }
529
- function shr64_lo(ah, al, num) {
526
+ function shr64LO(ah, al, num) {
530
527
  const r = (ah << (32 - num)) | (al >>> num);
531
528
  return r >>> 0;
532
529
  }
@@ -621,31 +618,30 @@ export class SHA256 extends BaseHash {
621
618
  constructor() {
622
619
  super(512, 256, 192, 64);
623
620
  this.h = [
624
- 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a,
625
- 0x510e527f, 0x9b05688c, 0x1f83d9ab, 0x5be0cd19
621
+ 0x6a09e667, 0xbb67ae85, 0x3c6ef372, 0xa54ff53a, 0x510e527f, 0x9b05688c,
622
+ 0x1f83d9ab, 0x5be0cd19
626
623
  ];
627
624
  this.k = [
628
- 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5,
629
- 0x3956c25b, 0x59f111f1, 0x923f82a4, 0xab1c5ed5,
630
- 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
631
- 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174,
632
- 0xe49b69c1, 0xefbe4786, 0x0fc19dc6, 0x240ca1cc,
633
- 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
634
- 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7,
635
- 0xc6e00bf3, 0xd5a79147, 0x06ca6351, 0x14292967,
636
- 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
637
- 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85,
638
- 0xa2bfe8a1, 0xa81a664b, 0xc24b8b70, 0xc76c51a3,
639
- 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
640
- 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5,
641
- 0x391c0cb3, 0x4ed8aa4a, 0x5b9cca4f, 0x682e6ff3,
642
- 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
625
+ 0x428a2f98, 0x71374491, 0xb5c0fbcf, 0xe9b5dba5, 0x3956c25b, 0x59f111f1,
626
+ 0x923f82a4, 0xab1c5ed5, 0xd807aa98, 0x12835b01, 0x243185be, 0x550c7dc3,
627
+ 0x72be5d74, 0x80deb1fe, 0x9bdc06a7, 0xc19bf174, 0xe49b69c1, 0xefbe4786,
628
+ 0x0fc19dc6, 0x240ca1cc, 0x2de92c6f, 0x4a7484aa, 0x5cb0a9dc, 0x76f988da,
629
+ 0x983e5152, 0xa831c66d, 0xb00327c8, 0xbf597fc7, 0xc6e00bf3, 0xd5a79147,
630
+ 0x06ca6351, 0x14292967, 0x27b70a85, 0x2e1b2138, 0x4d2c6dfc, 0x53380d13,
631
+ 0x650a7354, 0x766a0abb, 0x81c2c92e, 0x92722c85, 0xa2bfe8a1, 0xa81a664b,
632
+ 0xc24b8b70, 0xc76c51a3, 0xd192e819, 0xd6990624, 0xf40e3585, 0x106aa070,
633
+ 0x19a4c116, 0x1e376c08, 0x2748774c, 0x34b0bcb5, 0x391c0cb3, 0x4ed8aa4a,
634
+ 0x5b9cca4f, 0x682e6ff3, 0x748f82ee, 0x78a5636f, 0x84c87814, 0x8cc70208,
643
635
  0x90befffa, 0xa4506ceb, 0xbef9a3f7, 0xc67178f2
644
636
  ];
645
637
  this.W = new Array(64);
646
638
  }
647
639
  _update(msg, start) {
648
640
  const W = this.W;
641
+ // Default start to 0
642
+ if (start === undefined) {
643
+ start = 0;
644
+ }
649
645
  let i;
650
646
  for (i = 0; i < 16; i++) {
651
647
  W[i] = msg[start + i];
@@ -683,7 +679,6 @@ export class SHA256 extends BaseHash {
683
679
  this.h[6] = sum32(this.h[6], g);
684
680
  this.h[7] = sum32(this.h[7], h);
685
681
  }
686
- ;
687
682
  _digest() {
688
683
  return split32(this.h, 'big');
689
684
  }
@@ -716,18 +711,16 @@ export class SHA1 extends BaseHash {
716
711
  k;
717
712
  constructor() {
718
713
  super(512, 160, 80, 64);
719
- this.k = [
720
- 0x5A827999, 0x6ED9EBA1,
721
- 0x8F1BBCDC, 0xCA62C1D6
722
- ];
723
- this.h = [
724
- 0x67452301, 0xefcdab89, 0x98badcfe,
725
- 0x10325476, 0xc3d2e1f0
726
- ];
714
+ this.k = [0x5a827999, 0x6ed9eba1, 0x8f1bbcdc, 0xca62c1d6];
715
+ this.h = [0x67452301, 0xefcdab89, 0x98badcfe, 0x10325476, 0xc3d2e1f0];
727
716
  this.W = new Array(80);
728
717
  }
729
718
  _update(msg, start) {
730
719
  const W = this.W;
720
+ // Default start to 0
721
+ if (start === undefined) {
722
+ start = 0;
723
+ }
731
724
  let i;
732
725
  for (i = 0; i < 16; i++) {
733
726
  W[i] = msg[start + i];
@@ -788,55 +781,37 @@ export class SHA512 extends BaseHash {
788
781
  constructor() {
789
782
  super(1024, 512, 192, 128);
790
783
  this.h = [
791
- 0x6a09e667, 0xf3bcc908,
792
- 0xbb67ae85, 0x84caa73b,
793
- 0x3c6ef372, 0xfe94f82b,
794
- 0xa54ff53a, 0x5f1d36f1,
795
- 0x510e527f, 0xade682d1,
796
- 0x9b05688c, 0x2b3e6c1f,
797
- 0x1f83d9ab, 0xfb41bd6b,
798
- 0x5be0cd19, 0x137e2179
784
+ 0x6a09e667, 0xf3bcc908, 0xbb67ae85, 0x84caa73b, 0x3c6ef372, 0xfe94f82b,
785
+ 0xa54ff53a, 0x5f1d36f1, 0x510e527f, 0xade682d1, 0x9b05688c, 0x2b3e6c1f,
786
+ 0x1f83d9ab, 0xfb41bd6b, 0x5be0cd19, 0x137e2179
799
787
  ];
800
788
  this.k = [
801
- 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd,
802
- 0xb5c0fbcf, 0xec4d3b2f, 0xe9b5dba5, 0x8189dbbc,
803
- 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
804
- 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118,
805
- 0xd807aa98, 0xa3030242, 0x12835b01, 0x45706fbe,
806
- 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
807
- 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1,
808
- 0x9bdc06a7, 0x25c71235, 0xc19bf174, 0xcf692694,
809
- 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
810
- 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65,
811
- 0x2de92c6f, 0x592b0275, 0x4a7484aa, 0x6ea6e483,
812
- 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
813
- 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210,
814
- 0xb00327c8, 0x98fb213f, 0xbf597fc7, 0xbeef0ee4,
815
- 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
816
- 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70,
817
- 0x27b70a85, 0x46d22ffc, 0x2e1b2138, 0x5c26c926,
818
- 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
819
- 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8,
820
- 0x81c2c92e, 0x47edaee6, 0x92722c85, 0x1482353b,
821
- 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
822
- 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30,
823
- 0xd192e819, 0xd6ef5218, 0xd6990624, 0x5565a910,
824
- 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
825
- 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53,
826
- 0x2748774c, 0xdf8eeb99, 0x34b0bcb5, 0xe19b48a8,
827
- 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
828
- 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3,
829
- 0x748f82ee, 0x5defb2fc, 0x78a5636f, 0x43172f60,
830
- 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
831
- 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9,
832
- 0xbef9a3f7, 0xb2c67915, 0xc67178f2, 0xe372532b,
833
- 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
834
- 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178,
835
- 0x06f067aa, 0x72176fba, 0x0a637dc5, 0xa2c898a6,
836
- 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
837
- 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493,
838
- 0x3c9ebe0a, 0x15c9bebc, 0x431d67c4, 0x9c100d4c,
839
- 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
789
+ 0x428a2f98, 0xd728ae22, 0x71374491, 0x23ef65cd, 0xb5c0fbcf, 0xec4d3b2f,
790
+ 0xe9b5dba5, 0x8189dbbc, 0x3956c25b, 0xf348b538, 0x59f111f1, 0xb605d019,
791
+ 0x923f82a4, 0xaf194f9b, 0xab1c5ed5, 0xda6d8118, 0xd807aa98, 0xa3030242,
792
+ 0x12835b01, 0x45706fbe, 0x243185be, 0x4ee4b28c, 0x550c7dc3, 0xd5ffb4e2,
793
+ 0x72be5d74, 0xf27b896f, 0x80deb1fe, 0x3b1696b1, 0x9bdc06a7, 0x25c71235,
794
+ 0xc19bf174, 0xcf692694, 0xe49b69c1, 0x9ef14ad2, 0xefbe4786, 0x384f25e3,
795
+ 0x0fc19dc6, 0x8b8cd5b5, 0x240ca1cc, 0x77ac9c65, 0x2de92c6f, 0x592b0275,
796
+ 0x4a7484aa, 0x6ea6e483, 0x5cb0a9dc, 0xbd41fbd4, 0x76f988da, 0x831153b5,
797
+ 0x983e5152, 0xee66dfab, 0xa831c66d, 0x2db43210, 0xb00327c8, 0x98fb213f,
798
+ 0xbf597fc7, 0xbeef0ee4, 0xc6e00bf3, 0x3da88fc2, 0xd5a79147, 0x930aa725,
799
+ 0x06ca6351, 0xe003826f, 0x14292967, 0x0a0e6e70, 0x27b70a85, 0x46d22ffc,
800
+ 0x2e1b2138, 0x5c26c926, 0x4d2c6dfc, 0x5ac42aed, 0x53380d13, 0x9d95b3df,
801
+ 0x650a7354, 0x8baf63de, 0x766a0abb, 0x3c77b2a8, 0x81c2c92e, 0x47edaee6,
802
+ 0x92722c85, 0x1482353b, 0xa2bfe8a1, 0x4cf10364, 0xa81a664b, 0xbc423001,
803
+ 0xc24b8b70, 0xd0f89791, 0xc76c51a3, 0x0654be30, 0xd192e819, 0xd6ef5218,
804
+ 0xd6990624, 0x5565a910, 0xf40e3585, 0x5771202a, 0x106aa070, 0x32bbd1b8,
805
+ 0x19a4c116, 0xb8d2d0c8, 0x1e376c08, 0x5141ab53, 0x2748774c, 0xdf8eeb99,
806
+ 0x34b0bcb5, 0xe19b48a8, 0x391c0cb3, 0xc5c95a63, 0x4ed8aa4a, 0xe3418acb,
807
+ 0x5b9cca4f, 0x7763e373, 0x682e6ff3, 0xd6b2b8a3, 0x748f82ee, 0x5defb2fc,
808
+ 0x78a5636f, 0x43172f60, 0x84c87814, 0xa1f0ab72, 0x8cc70208, 0x1a6439ec,
809
+ 0x90befffa, 0x23631e28, 0xa4506ceb, 0xde82bde9, 0xbef9a3f7, 0xb2c67915,
810
+ 0xc67178f2, 0xe372532b, 0xca273ece, 0xea26619c, 0xd186b8c7, 0x21c0c207,
811
+ 0xeada7dd6, 0xcde0eb1e, 0xf57d4f7f, 0xee6ed178, 0x06f067aa, 0x72176fba,
812
+ 0x0a637dc5, 0xa2c898a6, 0x113f9804, 0xbef90dae, 0x1b710b35, 0x131c471b,
813
+ 0x28db77f5, 0x23047d84, 0x32caab7b, 0x40c72493, 0x3c9ebe0a, 0x15c9bebc,
814
+ 0x431d67c4, 0x9c100d4c, 0x4cc5d4be, 0xcb3e42b6, 0x597f299c, 0xfc657e2a,
840
815
  0x5fcb6fab, 0x3ad6faec, 0x6c44198c, 0x4a475817
841
816
  ];
842
817
  this.W = new Array(160);
@@ -849,82 +824,82 @@ export class SHA512 extends BaseHash {
849
824
  W[i] = msg[start + i];
850
825
  }
851
826
  for (; i < W.length; i += 2) {
852
- const c0_hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2
853
- const c0_lo = g1_512_lo(W[i - 4], W[i - 3]);
854
- const c1_hi = W[i - 14]; // i - 7
855
- const c1_lo = W[i - 13];
856
- const c2_hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15
857
- const c2_lo = g0_512_lo(W[i - 30], W[i - 29]);
858
- const c3_hi = W[i - 32]; // i - 16
859
- const c3_lo = W[i - 31];
860
- W[i] = sum64_4_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);
861
- W[i + 1] = sum64_4_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo);
827
+ const c0Hi = g1_512_hi(W[i - 4], W[i - 3]); // i - 2
828
+ const c0Lo = g1_512_lo(W[i - 4], W[i - 3]);
829
+ const c1Hi = W[i - 14]; // i - 7
830
+ const c1Lo = W[i - 13];
831
+ const c2Hi = g0_512_hi(W[i - 30], W[i - 29]); // i - 15
832
+ const c2Lo = g0_512_lo(W[i - 30], W[i - 29]);
833
+ const c3Hi = W[i - 32]; // i - 16
834
+ const c3Lo = W[i - 31];
835
+ W[i] = sum64and4HI(c0Hi, c0Lo, c1Hi, c1Lo, c2Hi, c2Lo, c3Hi, c3Lo);
836
+ W[i + 1] = sum64and4LO(c0Hi, c0Lo, c1Hi, c1Lo, c2Hi, c2Lo, c3Hi, c3Lo);
862
837
  }
863
838
  }
864
839
  _update(msg, start) {
865
840
  this._prepareBlock(msg, start);
866
841
  const W = this.W;
867
- let ah = this.h[0];
868
- let al = this.h[1];
869
- let bh = this.h[2];
870
- let bl = this.h[3];
871
- let ch = this.h[4];
872
- let cl = this.h[5];
873
- let dh = this.h[6];
874
- let dl = this.h[7];
875
- let eh = this.h[8];
876
- let el = this.h[9];
877
- let fh = this.h[10];
878
- let fl = this.h[11];
879
- let gh = this.h[12];
880
- let gl = this.h[13];
881
- let hh = this.h[14];
882
- let hl = this.h[15];
842
+ let aHigh = this.h[0];
843
+ let aLow = this.h[1];
844
+ let bHigh = this.h[2];
845
+ let bLow = this.h[3];
846
+ let cHigh = this.h[4];
847
+ let cLow = this.h[5];
848
+ let dHigh = this.h[6];
849
+ let dLow = this.h[7];
850
+ let eHigh = this.h[8];
851
+ let eLow = this.h[9];
852
+ let fHigh = this.h[10];
853
+ let fLow = this.h[11];
854
+ let gHigh = this.h[12];
855
+ let gLow = this.h[13];
856
+ let hHigh = this.h[14];
857
+ let hLow = this.h[15];
883
858
  assert(this.k.length === W.length);
884
859
  for (let i = 0; i < W.length; i += 2) {
885
- let c0_hi = hh;
886
- let c0_lo = hl;
887
- let c1_hi = s1_512_hi(eh, el);
888
- let c1_lo = s1_512_lo(eh, el);
889
- const c2_hi = ch64_hi(eh, el, fh, fl, gh, gl);
890
- const c2_lo = ch64_lo(eh, el, fh, fl, gh, gl);
891
- const c3_hi = this.k[i];
892
- const c3_lo = this.k[i + 1];
893
- const c4_hi = W[i];
894
- const c4_lo = W[i + 1];
895
- const T1_hi = sum64_5_hi(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);
896
- const T1_lo = sum64_5_lo(c0_hi, c0_lo, c1_hi, c1_lo, c2_hi, c2_lo, c3_hi, c3_lo, c4_hi, c4_lo);
897
- c0_hi = s0_512_hi(ah, al);
898
- c0_lo = s0_512_lo(ah, al);
899
- c1_hi = maj64_hi(ah, al, bh, bl, ch, cl);
900
- c1_lo = maj64_lo(ah, al, bh, bl, ch, cl);
901
- const T2_hi = sum64_hi(c0_hi, c0_lo, c1_hi, c1_lo);
902
- const T2_lo = sum64_lo(c0_hi, c0_lo, c1_hi, c1_lo);
903
- hh = gh;
904
- hl = gl;
905
- gh = fh;
906
- gl = fl;
907
- fh = eh;
908
- fl = el;
909
- eh = sum64_hi(dh, dl, T1_hi, T1_lo);
910
- el = sum64_lo(dl, dl, T1_hi, T1_lo);
911
- dh = ch;
912
- dl = cl;
913
- ch = bh;
914
- cl = bl;
915
- bh = ah;
916
- bl = al;
917
- ah = sum64_hi(T1_hi, T1_lo, T2_hi, T2_lo);
918
- al = sum64_lo(T1_hi, T1_lo, T2_hi, T2_lo);
860
+ let temp0High = hHigh;
861
+ let temp0Low = hLow;
862
+ let temp1High = s1_512_hi(eHigh, eLow);
863
+ let temp1Low = s1_512_lo(eHigh, eLow);
864
+ const temp2High = ch64_hi(eHigh, eLow, fHigh, fLow, gHigh, gLow);
865
+ const temp2Low = ch64_lo(eHigh, eLow, fHigh, fLow, gHigh, gLow);
866
+ const temp3High = this.k[i];
867
+ const temp3Low = this.k[i + 1];
868
+ const temp4High = W[i];
869
+ const temp4Low = W[i + 1];
870
+ const t1High = sum64and5HI(temp0High, temp0Low, temp1High, temp1Low, temp2High, temp2Low, temp3High, temp3Low, temp4High, temp4Low);
871
+ const t1Low = sum64and5LO(temp0High, temp0Low, temp1High, temp1Low, temp2High, temp2Low, temp3High, temp3Low, temp4High, temp4Low);
872
+ temp0High = s0_512_hi(aHigh, aLow);
873
+ temp0Low = s0_512_lo(aHigh, aLow);
874
+ temp1High = maj64_hi(aHigh, aLow, bHigh, bLow, cHigh, cLow);
875
+ temp1Low = maj64_lo(aHigh, aLow, bHigh, bLow, cHigh, cLow);
876
+ const t2High = sum64HI(temp0High, temp0Low, temp1High, temp1Low);
877
+ const t2Low = sum64LO(temp0High, temp0Low, temp1High, temp1Low);
878
+ hHigh = gHigh;
879
+ hLow = gLow;
880
+ gHigh = fHigh;
881
+ gLow = fLow;
882
+ fHigh = eHigh;
883
+ fLow = eLow;
884
+ eHigh = sum64HI(dHigh, dLow, t1High, t1Low);
885
+ eLow = sum64LO(dLow, dLow, t1High, t1Low);
886
+ dHigh = cHigh;
887
+ dLow = cLow;
888
+ cHigh = bHigh;
889
+ cLow = bLow;
890
+ bHigh = aHigh;
891
+ bLow = aLow;
892
+ aHigh = sum64HI(t1High, t1Low, t2High, t2Low);
893
+ aLow = sum64LO(t1High, t1Low, t2High, t2Low);
919
894
  }
920
- sum64(this.h, 0, ah, al);
921
- sum64(this.h, 2, bh, bl);
922
- sum64(this.h, 4, ch, cl);
923
- sum64(this.h, 6, dh, dl);
924
- sum64(this.h, 8, eh, el);
925
- sum64(this.h, 10, fh, fl);
926
- sum64(this.h, 12, gh, gl);
927
- sum64(this.h, 14, hh, hl);
895
+ sum64(this.h, 0, aHigh, aLow);
896
+ sum64(this.h, 2, bHigh, bLow);
897
+ sum64(this.h, 4, cHigh, cLow);
898
+ sum64(this.h, 6, dHigh, dLow);
899
+ sum64(this.h, 8, eHigh, eLow);
900
+ sum64(this.h, 10, fHigh, fLow);
901
+ sum64(this.h, 12, gHigh, gLow);
902
+ sum64(this.h, 14, hHigh, hLow);
928
903
  }
929
904
  _digest() {
930
905
  return split32(this.h, 'big');
@@ -934,14 +909,14 @@ export class SHA512 extends BaseHash {
934
909
  }
935
910
  }
936
911
  function ch64_hi(xh, xl, yh, yl, zh, zl) {
937
- let r = (xh & yh) ^ ((~xh) & zh);
912
+ let r = (xh & yh) ^ (~xh & zh);
938
913
  if (r < 0) {
939
914
  r += 0x100000000;
940
915
  }
941
916
  return r;
942
917
  }
943
918
  function ch64_lo(xh, xl, yh, yl, zh, zl) {
944
- let r = (xl & yl) ^ ((~xl) & zl);
919
+ let r = (xl & yl) ^ (~xl & zl);
945
920
  if (r < 0) {
946
921
  r += 0x100000000;
947
922
  }
@@ -962,9 +937,9 @@ function maj64_lo(xh, xl, yh, yl, zh, zl) {
962
937
  return r;
963
938
  }
964
939
  function s0_512_hi(xh, xl) {
965
- const c0_hi = rotr64_hi(xh, xl, 28);
966
- const c1_hi = rotr64_hi(xl, xh, 2); // 34
967
- const c2_hi = rotr64_hi(xl, xh, 7); // 39
940
+ const c0_hi = rotr64HI(xh, xl, 28);
941
+ const c1_hi = rotr64HI(xl, xh, 2); // 34
942
+ const c2_hi = rotr64HI(xl, xh, 7); // 39
968
943
  let r = c0_hi ^ c1_hi ^ c2_hi;
969
944
  if (r < 0) {
970
945
  r += 0x100000000;
@@ -972,9 +947,9 @@ function s0_512_hi(xh, xl) {
972
947
  return r;
973
948
  }
974
949
  function s0_512_lo(xh, xl) {
975
- const c0_lo = rotr64_lo(xh, xl, 28);
976
- const c1_lo = rotr64_lo(xl, xh, 2); // 34
977
- const c2_lo = rotr64_lo(xl, xh, 7); // 39
950
+ const c0_lo = rotr64LO(xh, xl, 28);
951
+ const c1_lo = rotr64LO(xl, xh, 2); // 34
952
+ const c2_lo = rotr64LO(xl, xh, 7); // 39
978
953
  let r = c0_lo ^ c1_lo ^ c2_lo;
979
954
  if (r < 0) {
980
955
  r += 0x100000000;
@@ -982,9 +957,9 @@ function s0_512_lo(xh, xl) {
982
957
  return r;
983
958
  }
984
959
  function s1_512_hi(xh, xl) {
985
- const c0_hi = rotr64_hi(xh, xl, 14);
986
- const c1_hi = rotr64_hi(xh, xl, 18);
987
- const c2_hi = rotr64_hi(xl, xh, 9); // 41
960
+ const c0_hi = rotr64HI(xh, xl, 14);
961
+ const c1_hi = rotr64HI(xh, xl, 18);
962
+ const c2_hi = rotr64HI(xl, xh, 9); // 41
988
963
  let r = c0_hi ^ c1_hi ^ c2_hi;
989
964
  if (r < 0) {
990
965
  r += 0x100000000;
@@ -992,9 +967,9 @@ function s1_512_hi(xh, xl) {
992
967
  return r;
993
968
  }
994
969
  function s1_512_lo(xh, xl) {
995
- const c0_lo = rotr64_lo(xh, xl, 14);
996
- const c1_lo = rotr64_lo(xh, xl, 18);
997
- const c2_lo = rotr64_lo(xl, xh, 9); // 41
970
+ const c0_lo = rotr64LO(xh, xl, 14);
971
+ const c1_lo = rotr64LO(xh, xl, 18);
972
+ const c2_lo = rotr64LO(xl, xh, 9); // 41
998
973
  let r = c0_lo ^ c1_lo ^ c2_lo;
999
974
  if (r < 0) {
1000
975
  r += 0x100000000;
@@ -1002,9 +977,9 @@ function s1_512_lo(xh, xl) {
1002
977
  return r;
1003
978
  }
1004
979
  function g0_512_hi(xh, xl) {
1005
- const c0_hi = rotr64_hi(xh, xl, 1);
1006
- const c1_hi = rotr64_hi(xh, xl, 8);
1007
- const c2_hi = shr64_hi(xh, xl, 7);
980
+ const c0_hi = rotr64HI(xh, xl, 1);
981
+ const c1_hi = rotr64HI(xh, xl, 8);
982
+ const c2_hi = shr64HI(xh, xl, 7);
1008
983
  let r = c0_hi ^ c1_hi ^ c2_hi;
1009
984
  if (r < 0) {
1010
985
  r += 0x100000000;
@@ -1012,9 +987,9 @@ function g0_512_hi(xh, xl) {
1012
987
  return r;
1013
988
  }
1014
989
  function g0_512_lo(xh, xl) {
1015
- const c0_lo = rotr64_lo(xh, xl, 1);
1016
- const c1_lo = rotr64_lo(xh, xl, 8);
1017
- const c2_lo = shr64_lo(xh, xl, 7);
990
+ const c0_lo = rotr64LO(xh, xl, 1);
991
+ const c1_lo = rotr64LO(xh, xl, 8);
992
+ const c2_lo = shr64LO(xh, xl, 7);
1018
993
  let r = c0_lo ^ c1_lo ^ c2_lo;
1019
994
  if (r < 0) {
1020
995
  r += 0x100000000;
@@ -1022,9 +997,9 @@ function g0_512_lo(xh, xl) {
1022
997
  return r;
1023
998
  }
1024
999
  function g1_512_hi(xh, xl) {
1025
- const c0_hi = rotr64_hi(xh, xl, 19);
1026
- const c1_hi = rotr64_hi(xl, xh, 29); // 61
1027
- const c2_hi = shr64_hi(xh, xl, 6);
1000
+ const c0_hi = rotr64HI(xh, xl, 19);
1001
+ const c1_hi = rotr64HI(xl, xh, 29); // 61
1002
+ const c2_hi = shr64HI(xh, xl, 6);
1028
1003
  let r = c0_hi ^ c1_hi ^ c2_hi;
1029
1004
  if (r < 0) {
1030
1005
  r += 0x100000000;
@@ -1032,9 +1007,9 @@ function g1_512_hi(xh, xl) {
1032
1007
  return r;
1033
1008
  }
1034
1009
  function g1_512_lo(xh, xl) {
1035
- const c0_lo = rotr64_lo(xh, xl, 19);
1036
- const c1_lo = rotr64_lo(xl, xh, 29); // 61
1037
- const c2_lo = shr64_lo(xh, xl, 6);
1010
+ const c0_lo = rotr64LO(xh, xl, 19);
1011
+ const c1_lo = rotr64LO(xl, xh, 29); // 61
1012
+ const c2_lo = shr64LO(xh, xl, 6);
1038
1013
  let r = c0_lo ^ c1_lo ^ c2_lo;
1039
1014
  if (r < 0) {
1040
1015
  r += 0x100000000;
@@ -1407,10 +1382,10 @@ export function pbkdf2(password, salt, iterations, keylen, digest = 'sha512') {
1407
1382
  const hLen = 64;
1408
1383
  const l = Math.ceil(keylen / hLen);
1409
1384
  for (let i = 1; i <= l; i++) {
1410
- block1[salt.length] = (i >> 24) & 0xFF; // MSB
1411
- block1[salt.length + 1] = (i >> 16) & 0xFF;
1412
- block1[salt.length + 2] = (i >> 8) & 0xFF;
1413
- block1[salt.length + 3] = i & 0xFF; // LSB
1385
+ block1[salt.length] = (i >> 24) & 0xff; // MSB
1386
+ block1[salt.length + 1] = (i >> 16) & 0xff;
1387
+ block1[salt.length + 2] = (i >> 8) & 0xff;
1388
+ block1[salt.length + 3] = i & 0xff; // LSB
1414
1389
  const T = sha512hmac(password, block1);
1415
1390
  let U = T;
1416
1391
  for (let j = 1; j < iterations; j++) {