@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
@@ -15,27 +15,18 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
27
  };
38
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
+ // @ts-nocheck
39
30
  const utils_js_1 = require("../primitives/utils.js");
40
31
  const Hash = __importStar(require("../primitives/Hash.js"));
41
32
  const Curve_js_1 = __importDefault(require("../primitives/Curve.js"));
@@ -55,16 +46,16 @@ const BigNumber_js_1 = __importDefault(require("../primitives/BigNumber.js"));
55
46
  */
56
47
  class HD {
57
48
  /**
58
- * Constructor for the BIP32 HD wallet.
59
- * Initializes an HD wallet with optional parameters for version bytes, depth, parent fingerprint, child index, chain code, private key, and public key.
60
- * @param versionBytesNum - Version bytes number for the wallet.
61
- * @param depth - Depth of the key in the hierarchy.
62
- * @param parentFingerPrint - Fingerprint of the parent key.
63
- * @param childIndex - Index of the child key.
64
- * @param chainCode - Chain code for key derivation.
65
- * @param privKey - Private key of the wallet.
66
- * @param pubKey - Public key of the wallet.
67
- */
49
+ * Constructor for the BIP32 HD wallet.
50
+ * Initializes an HD wallet with optional parameters for version bytes, depth, parent fingerprint, child index, chain code, private key, and public key.
51
+ * @param versionBytesNum - Version bytes number for the wallet.
52
+ * @param depth - Depth of the key in the hierarchy.
53
+ * @param parentFingerPrint - Fingerprint of the parent key.
54
+ * @param childIndex - Index of the child key.
55
+ * @param chainCode - Chain code for key derivation.
56
+ * @param privKey - Private key of the wallet.
57
+ * @param pubKey - Public key of the wallet.
58
+ */
68
59
  constructor(versionBytesNum, depth, parentFingerPrint, childIndex, chainCode, privKey, pubKey) {
69
60
  this.constants = {
70
61
  pubKey: 0x0488b21e,
@@ -79,10 +70,10 @@ class HD {
79
70
  this.pubKey = pubKey;
80
71
  }
81
72
  /**
82
- * Generates a new HD wallet with random keys.
83
- * This method creates a root HD wallet with randomly generated private and public keys.
84
- * @returns {HD} The current HD instance with generated keys.
85
- */
73
+ * Generates a new HD wallet with random keys.
74
+ * This method creates a root HD wallet with randomly generated private and public keys.
75
+ * @returns {HD} The current HD instance with generated keys.
76
+ */
86
77
  fromRandom() {
87
78
  this.versionBytesNum = this.constants.privKey;
88
79
  this.depth = 0x00;
@@ -94,11 +85,11 @@ class HD {
94
85
  return this;
95
86
  }
96
87
  /**
97
- * Generates a new HD wallet with random keys.
98
- * This method creates a root HD wallet with randomly generated private and public keys.
99
- * @returns {HD} A new HD instance with generated keys.
100
- * @static
101
- */
88
+ * Generates a new HD wallet with random keys.
89
+ * This method creates a root HD wallet with randomly generated private and public keys.
90
+ * @returns {HD} A new HD instance with generated keys.
91
+ * @static
92
+ */
102
93
  static fromRandom() {
103
94
  return new this().fromRandom();
104
95
  }
@@ -112,11 +103,11 @@ class HD {
112
103
  return new this().fromString(str);
113
104
  }
114
105
  /**
115
- * Initializes the HD wallet from a given base58 encoded string.
116
- * This method decodes a provided string to set up the HD wallet's properties.
117
- * @param str - A base58 encoded string representing the wallet.
118
- * @returns {HD} The current instance with properties set from the string.
119
- */
106
+ * Initializes the HD wallet from a given base58 encoded string.
107
+ * This method decodes a provided string to set up the HD wallet's properties.
108
+ * @param str - A base58 encoded string representing the wallet.
109
+ * @returns {HD} The current instance with properties set from the string.
110
+ */
120
111
  fromString(str) {
121
112
  const decoded = (0, utils_js_1.fromBase58Check)(str);
122
113
  return this.fromBinary([...decoded.prefix, ...decoded.data]);
@@ -131,11 +122,11 @@ class HD {
131
122
  return new this().fromSeed(bytes);
132
123
  }
133
124
  /**
134
- * Initializes the HD wallet from a seed.
135
- * This method generates keys and other properties from a given seed, conforming to the BIP32 specification.
136
- * @param bytes - An array of bytes representing the seed.
137
- * @returns {HD} The current instance with properties set from the seed.
138
- */
125
+ * Initializes the HD wallet from a seed.
126
+ * This method generates keys and other properties from a given seed, conforming to the BIP32 specification.
127
+ * @param bytes - An array of bytes representing the seed.
128
+ * @returns {HD} The current instance with properties set from the seed.
129
+ */
139
130
  fromSeed(bytes) {
140
131
  if (bytes.length < 128 / 8) {
141
132
  throw new Error('Need more than 128 bits of entropy');
@@ -204,11 +195,11 @@ class HD {
204
195
  return (0, utils_js_1.toBase58Check)(bin, []);
205
196
  }
206
197
  /**
207
- * Derives a child HD wallet based on a given path.
208
- * The path specifies the hierarchy of the child key to be derived.
209
- * @param path - A string representing the derivation path (e.g., 'm/0'/1).
210
- * @returns {HD} A new HD instance representing the derived child wallet.
211
- */
198
+ * Derives a child HD wallet based on a given path.
199
+ * The path specifies the hierarchy of the child key to be derived.
200
+ * @param path - A string representing the derivation path (e.g., 'm/0'/1).
201
+ * @returns {HD} A new HD instance representing the derived child wallet.
202
+ */
212
203
  derive(path) {
213
204
  if (path === 'm') {
214
205
  return this;
@@ -216,9 +207,8 @@ class HD {
216
207
  const e = path.split('/');
217
208
  // eslint-disable-next-line @typescript-eslint/no-this-alias
218
209
  let bip32 = this;
219
- for (const i in e) {
220
- const c = e[i];
221
- if (i === '0') {
210
+ for (const [i, c] of e.entries()) {
211
+ if (i === 0) { // Since `i` is now a number, compare it to 0
222
212
  if (c !== 'm') {
223
213
  throw new Error('invalid path');
224
214
  }
@@ -237,11 +227,11 @@ class HD {
237
227
  return bip32;
238
228
  }
239
229
  /**
240
- * Derives a child HD wallet from the current wallet based on an index.
241
- * This method generates either a private or public child key depending on the current wallet's state.
242
- * @param i - The index of the child key to derive.
243
- * @returns {HD} A new HD instance representing the derived child wallet.
244
- */
230
+ * Derives a child HD wallet from the current wallet based on an index.
231
+ * This method generates either a private or public child key depending on the current wallet's state.
232
+ * @param i - The index of the child key to derive.
233
+ * @returns {HD} A new HD instance representing the derived child wallet.
234
+ */
245
235
  deriveChild(i) {
246
236
  if (typeof i !== 'number') {
247
237
  throw new Error('i must be a number');
@@ -254,11 +244,11 @@ class HD {
254
244
  const ib = [...ibc];
255
245
  const usePrivate = (i & 0x80000000) !== 0;
256
246
  const isPrivate = this.versionBytesNum === this.constants.privKey;
257
- if (usePrivate && (!this.privKey || !isPrivate)) {
247
+ if (usePrivate && (this.privKey === null || this.privKey === undefined || !isPrivate)) {
258
248
  throw new Error('Cannot do private key derivation without private key');
259
249
  }
260
250
  let ret = null;
261
- if (this.privKey) {
251
+ if (this.privKey !== null && this.privKey !== undefined) {
262
252
  let data = null;
263
253
  if (usePrivate) {
264
254
  data = [0, ...this.privKey.toArray('be', 32), ...ib];
@@ -298,10 +288,10 @@ class HD {
298
288
  return ret;
299
289
  }
300
290
  /**
301
- * Converts the current HD wallet to a public-only wallet.
302
- * This method strips away the private key information, leaving only the public part.
303
- * @returns {HD} A new HD instance representing the public-only wallet.
304
- */
291
+ * Converts the current HD wallet to a public-only wallet.
292
+ * This method strips away the private key information, leaving only the public part.
293
+ * @returns {HD} A new HD instance representing the public-only wallet.
294
+ */
305
295
  toPublic() {
306
296
  const bip32 = new HD(this.versionBytesNum, this.depth, this.parentFingerPrint, this.childIndex, this.chainCode, this.privKey, this.pubKey);
307
297
  bip32.versionBytesNum = this.constants.pubKey;
@@ -309,10 +299,10 @@ class HD {
309
299
  return bip32;
310
300
  }
311
301
  /**
312
- * Converts the HD wallet into a binary representation.
313
- * This method serializes the wallet's properties into a binary format.
314
- * @returns {number[]} An array of numbers representing the binary data of the wallet.
315
- */
302
+ * Converts the HD wallet into a binary representation.
303
+ * This method serializes the wallet's properties into a binary format.
304
+ * @returns {number[]} An array of numbers representing the binary data of the wallet.
305
+ */
316
306
  toBinary() {
317
307
  const isPrivate = this.versionBytesNum === this.constants.privKey;
318
308
  const isPublic = this.versionBytesNum === this.constants.pubKey;
@@ -342,10 +332,10 @@ class HD {
342
332
  }
343
333
  }
344
334
  /**
345
- * Checks if the HD wallet contains a private key.
346
- * This method determines whether the wallet is a private key wallet or a public key only wallet.
347
- * @returns {boolean} A boolean value indicating whether the wallet has a private key (true) or not (false).
348
- */
335
+ * Checks if the HD wallet contains a private key.
336
+ * This method determines whether the wallet is a private key wallet or a public key only wallet.
337
+ * @returns {boolean} A boolean value indicating whether the wallet has a private key (true) or not (false).
338
+ */
349
339
  isPrivate() {
350
340
  return this.versionBytesNum === this.constants.privKey;
351
341
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HD.js","sourceRoot":"","sources":["../../../../src/compat/HD.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HD.js","sourceRoot":"","sources":["../../../../src/compat/HD.ts"],"names":[],"mappings":"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"}
@@ -15,23 +15,13 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
35
25
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
27
  };
@@ -51,23 +41,23 @@ const Random_js_1 = __importDefault(require("../primitives/Random.js"));
51
41
  */
52
42
  class Mnemonic {
53
43
  /**
54
- * Constructs a Mnemonic object.
55
- * @param {string} [mnemonic] - An optional mnemonic phrase.
56
- * @param {number[]} [seed] - An optional seed derived from the mnemonic.
57
- * @param {object} [wordlist=wordList] - An object containing a list of words and space character used in the mnemonic.
58
- */
44
+ * Constructs a Mnemonic object.
45
+ * @param {string} [mnemonic] - An optional mnemonic phrase.
46
+ * @param {number[]} [seed] - An optional seed derived from the mnemonic.
47
+ * @param {object} [wordlist=wordList] - An object containing a list of words and space character used in the mnemonic.
48
+ */
59
49
  constructor(mnemonic, seed, wordlist = bip_39_wordlist_en_js_1.wordList) {
60
- this.mnemonic = mnemonic;
61
- this.seed = seed;
50
+ this.mnemonic = mnemonic !== null && mnemonic !== void 0 ? mnemonic : ''; // Default to empty string if undefined
51
+ this.seed = seed !== null && seed !== void 0 ? seed : []; // Default to empty array if undefined
62
52
  this.Wordlist = wordlist;
63
53
  }
64
54
  /**
65
- * Converts the mnemonic and seed into a binary representation.
66
- * @returns {number[]} The binary representation of the mnemonic and seed.
67
- */
55
+ * Converts the mnemonic and seed into a binary representation.
56
+ * @returns {number[]} The binary representation of the mnemonic and seed.
57
+ */
68
58
  toBinary() {
69
59
  const bw = new utils_js_1.Writer();
70
- if (this.mnemonic) {
60
+ if (this.mnemonic !== '') {
71
61
  const buf = (0, utils_js_1.toArray)(this.mnemonic, 'utf8');
72
62
  bw.writeVarIntNum(buf.length);
73
63
  bw.write(buf);
@@ -75,7 +65,7 @@ class Mnemonic {
75
65
  else {
76
66
  bw.writeVarIntNum(0);
77
67
  }
78
- if (this.seed) {
68
+ if (this.seed.length > 0) {
79
69
  bw.writeVarIntNum(this.seed.length);
80
70
  bw.write(this.seed);
81
71
  }
@@ -85,10 +75,10 @@ class Mnemonic {
85
75
  return bw.toArray();
86
76
  }
87
77
  /**
88
- * Loads a mnemonic and seed from a binary representation.
89
- * @param {number[]} bin - The binary representation of a mnemonic and seed.
90
- * @returns {this} The Mnemonic instance with loaded mnemonic and seed.
91
- */
78
+ * Loads a mnemonic and seed from a binary representation.
79
+ * @param {number[]} bin - The binary representation of a mnemonic and seed.
80
+ * @returns {this} The Mnemonic instance with loaded mnemonic and seed.
81
+ */
92
82
  fromBinary(bin) {
93
83
  const br = new utils_js_1.Reader(bin);
94
84
  const mnemoniclen = br.readVarIntNum();
@@ -102,13 +92,13 @@ class Mnemonic {
102
92
  return this;
103
93
  }
104
94
  /**
105
- * Generates a random mnemonic from a given bit length.
106
- * @param {number} [bits=128] - The bit length for the random mnemonic (must be a multiple of 32 and at least 128).
107
- * @returns {this} The Mnemonic instance with the new random mnemonic.
108
- * @throws {Error} If the bit length is not a multiple of 32 or is less than 128.
109
- */
95
+ * Generates a random mnemonic from a given bit length.
96
+ * @param {number} [bits=128] - The bit length for the random mnemonic (must be a multiple of 32 and at least 128).
97
+ * @returns {this} The Mnemonic instance with the new random mnemonic.
98
+ * @throws {Error} If the bit length is not a multiple of 32 or is less than 128.
99
+ */
110
100
  fromRandom(bits) {
111
- if (!bits) {
101
+ if (bits === undefined || bits === null || isNaN(bits) || bits === 0) {
112
102
  bits = 128;
113
103
  }
114
104
  if (bits % 32 !== 0) {
@@ -123,76 +113,76 @@ class Mnemonic {
123
113
  return this;
124
114
  }
125
115
  /**
126
- * Static method to generate a Mnemonic instance with a random mnemonic.
127
- * @param {number} [bits=128] - The bit length for the random mnemonic.
128
- * @returns {Mnemonic} A new Mnemonic instance.
129
- */
116
+ * Static method to generate a Mnemonic instance with a random mnemonic.
117
+ * @param {number} [bits=128] - The bit length for the random mnemonic.
118
+ * @returns {Mnemonic} A new Mnemonic instance.
119
+ */
130
120
  static fromRandom(bits) {
131
121
  return new this().fromRandom(bits);
132
122
  }
133
123
  /**
134
- * Converts given entropy into a mnemonic phrase.
135
- * This method is used to generate a mnemonic from a specific entropy source.
136
- * @param {number[]} buf - The entropy buffer, must be at least 128 bits.
137
- * @returns {this} The Mnemonic instance with the mnemonic set from the given entropy.
138
- * @throws {Error} If the entropy is less than 128 bits.
139
- */
124
+ * Converts given entropy into a mnemonic phrase.
125
+ * This method is used to generate a mnemonic from a specific entropy source.
126
+ * @param {number[]} buf - The entropy buffer, must be at least 128 bits.
127
+ * @returns {this} The Mnemonic instance with the mnemonic set from the given entropy.
128
+ * @throws {Error} If the entropy is less than 128 bits.
129
+ */
140
130
  fromEntropy(buf) {
141
131
  this.entropy2Mnemonic(buf);
142
132
  return this;
143
133
  }
144
134
  /**
145
- * Static method to create a Mnemonic instance from a given entropy.
146
- * @param {number[]} buf - The entropy buffer.
147
- * @returns {Mnemonic} A new Mnemonic instance.
148
- */
135
+ * Static method to create a Mnemonic instance from a given entropy.
136
+ * @param {number[]} buf - The entropy buffer.
137
+ * @returns {Mnemonic} A new Mnemonic instance.
138
+ */
149
139
  static fromEntropy(buf) {
150
140
  return new this().fromEntropy(buf);
151
141
  }
152
142
  /**
153
- * Sets the mnemonic for the instance from a string.
154
- * @param {string} mnemonic - The mnemonic phrase as a string.
155
- * @returns {this} The Mnemonic instance with the set mnemonic.
156
- */
143
+ * Sets the mnemonic for the instance from a string.
144
+ * @param {string} mnemonic - The mnemonic phrase as a string.
145
+ * @returns {this} The Mnemonic instance with the set mnemonic.
146
+ */
157
147
  fromString(mnemonic) {
158
148
  this.mnemonic = mnemonic;
159
149
  return this;
160
150
  }
161
151
  /**
162
- * Static method to create a Mnemonic instance from a mnemonic string.
163
- * @param {string} str - The mnemonic phrase.
164
- * @returns {Mnemonic} A new Mnemonic instance.
165
- */
152
+ * Static method to create a Mnemonic instance from a mnemonic string.
153
+ * @param {string} str - The mnemonic phrase.
154
+ * @returns {Mnemonic} A new Mnemonic instance.
155
+ */
166
156
  static fromString(str) {
167
157
  return new this().fromString(str);
168
158
  }
169
159
  /**
170
- * Converts the instance's mnemonic to a string representation.
171
- * @returns {string} The mnemonic phrase as a string.
172
- */
160
+ * Converts the instance's mnemonic to a string representation.
161
+ * @returns {string} The mnemonic phrase as a string.
162
+ */
173
163
  toString() {
174
164
  return this.mnemonic;
175
165
  }
176
166
  /**
177
- * Converts the mnemonic to a seed.
178
- * The mnemonic must pass the validity check before conversion.
179
- * @param {string} [passphrase=''] - An optional passphrase for additional security.
180
- * @returns {number[]} The generated seed.
181
- * @throws {Error} If the mnemonic is invalid.
182
- */
167
+ * Converts the mnemonic to a seed.
168
+ * The mnemonic must pass the validity check before conversion.
169
+ * @param {string} [passphrase=''] - An optional passphrase for additional security.
170
+ * @returns {number[]} The generated seed.
171
+ * @throws {Error} If the mnemonic is invalid.
172
+ */
183
173
  toSeed(passphrase) {
184
174
  this.mnemonic2Seed(passphrase);
185
175
  return this.seed;
186
176
  }
187
177
  /**
188
- * Converts entropy to a mnemonic phrase.
189
- * This method takes a buffer of entropy and converts it into a corresponding
190
- * mnemonic phrase based on the Mnemonic wordlist. The entropy should be at least 128 bits.
191
- * The method applies a checksum and maps the entropy to words in the wordlist.
192
- * @param {number[]} buf - The entropy buffer to convert. Must be at least 128 bits.
193
- * @returns {this} The Mnemonic instance with the mnemonic set from the entropy.
194
- * @throws {Error} If the entropy is less than 128 bits or if it's not an even multiple of 11 bits.
195
- */
178
+ * Converts entropy to a mnemonic phrase.
179
+ * This method takes a buffer of entropy and converts it into a corresponding
180
+ * mnemonic phrase based on the Mnemonic wordlist. The entropy should be at least 128 bits.
181
+ * The method applies a checksum and maps the entropy to words in the wordlist.
182
+ * @param {number[]} buf - The entropy buffer to convert. Must be at least 128 bits.
183
+ * @returns {this} The Mnemonic instance with the mnemonic set from the entropy.
184
+ * @throws {Error} If the entropy is less than 128 bits or if it's not an even multiple of 11 bits.
185
+ */
196
186
  entropy2Mnemonic(buf) {
197
187
  if (buf.length < 128 / 8) {
198
188
  throw new Error('Entropy is less than 128 bits. It must be 128 bits or more.');
@@ -207,7 +197,8 @@ class Mnemonic {
207
197
  hashbits = ('00000000' + hashbits).slice(-8).slice(0, bits / 32);
208
198
  bin = bin + hashbits;
209
199
  if (bin.length % 11 !== 0) {
210
- throw new Error('internal error - entropy not an even multiple of 11 bits - ' + bin.length);
200
+ throw new Error('internal error - entropy not an even multiple of 11 bits - ' +
201
+ bin.length.toString());
211
202
  }
212
203
  let mnemonic = '';
213
204
  for (let i = 0; i < bin.length / 11; i++) {
@@ -221,11 +212,11 @@ class Mnemonic {
221
212
  return this;
222
213
  }
223
214
  /**
224
- * Validates the mnemonic phrase.
225
- * Checks for correct length, absence of invalid words, and proper checksum.
226
- * @returns {boolean} True if the mnemonic is valid, false otherwise.
227
- * @throws {Error} If the mnemonic is not an even multiple of 11 bits.
228
- */
215
+ * Validates the mnemonic phrase.
216
+ * Checks for correct length, absence of invalid words, and proper checksum.
217
+ * @returns {boolean} True if the mnemonic is valid, false otherwise.
218
+ * @throws {Error} If the mnemonic is not an even multiple of 11 bits.
219
+ */
229
220
  check() {
230
221
  const mnemonic = this.mnemonic;
231
222
  // confirm no invalid words
@@ -239,7 +230,8 @@ class Mnemonic {
239
230
  bin = bin + ('00000000000' + ind.toString(2)).slice(-11);
240
231
  }
241
232
  if (bin.length % 11 !== 0) {
242
- throw new Error('internal error - entropy not an even multiple of 11 bits - ' + bin.length);
233
+ throw new Error('internal error - entropy not an even multiple of 11 bits - ' +
234
+ bin.length.toString());
243
235
  }
244
236
  // confirm checksum
245
237
  const cs = bin.length / 33;
@@ -255,14 +247,14 @@ class Mnemonic {
255
247
  return expectedHashBits === hashBits;
256
248
  }
257
249
  /**
258
- * Converts a mnemonic to a seed.
259
- * This method takes the instance's mnemonic phrase, combines it with a passphrase (if provided),
260
- * and uses PBKDF2 to generate a seed. It also validates the mnemonic before conversion.
261
- * This seed can then be used for generating deterministic keys.
262
- * @param {string} [passphrase=''] - An optional passphrase for added security.
263
- * @returns {this} The Mnemonic instance with the seed generated from the mnemonic.
264
- * @throws {Error} If the mnemonic does not pass validation or if the passphrase is not a string.
265
- */
250
+ * Converts a mnemonic to a seed.
251
+ * This method takes the instance's mnemonic phrase, combines it with a passphrase (if provided),
252
+ * and uses PBKDF2 to generate a seed. It also validates the mnemonic before conversion.
253
+ * This seed can then be used for generating deterministic keys.
254
+ * @param {string} [passphrase=''] - An optional passphrase for added security.
255
+ * @returns {this} The Mnemonic instance with the seed generated from the mnemonic.
256
+ * @throws {Error} If the mnemonic does not pass validation or if the passphrase is not a string.
257
+ */
266
258
  mnemonic2Seed(passphrase = '') {
267
259
  let mnemonic = this.mnemonic;
268
260
  if (!this.check()) {
@@ -274,32 +266,36 @@ class Mnemonic {
274
266
  mnemonic = mnemonic.normalize('NFKD');
275
267
  passphrase = passphrase.normalize('NFKD');
276
268
  const mbuf = (0, utils_js_1.toArray)(mnemonic, 'utf8');
277
- const pbuf = [...(0, utils_js_1.toArray)('mnemonic', 'utf8'), ...(0, utils_js_1.toArray)(passphrase, 'utf8')];
269
+ const pbuf = [
270
+ ...(0, utils_js_1.toArray)('mnemonic', 'utf8'),
271
+ ...(0, utils_js_1.toArray)(passphrase, 'utf8')
272
+ ];
278
273
  this.seed = Hash.pbkdf2(mbuf, pbuf, 2048, 64, 'sha512');
279
274
  return this;
280
275
  }
281
276
  /**
282
- * Determines the validity of a given passphrase with the mnemonic.
283
- * This method is useful for checking if a passphrase matches with the mnemonic.
284
- * @param {string} [passphrase=''] - The passphrase to validate.
285
- * @returns {boolean} True if the mnemonic and passphrase combination is valid, false otherwise.
286
- */
277
+ * Determines the validity of a given passphrase with the mnemonic.
278
+ * This method is useful for checking if a passphrase matches with the mnemonic.
279
+ * @param {string} [passphrase=''] - The passphrase to validate.
280
+ * @returns {boolean} True if the mnemonic and passphrase combination is valid, false otherwise.
281
+ */
287
282
  isValid(passphrase = '') {
288
283
  let isValid;
289
284
  try {
290
- isValid = !!this.mnemonic2Seed(passphrase);
285
+ this.mnemonic2Seed(passphrase);
286
+ isValid = true;
291
287
  }
292
- catch (err) {
288
+ catch {
293
289
  isValid = false;
294
290
  }
295
291
  return isValid;
296
292
  }
297
293
  /**
298
- * Static method to check the validity of a given mnemonic and passphrase combination.
299
- * @param {string} mnemonic - The mnemonic phrase.
300
- * @param {string} [passphrase=''] - The passphrase to validate.
301
- * @returns {boolean} True if the combination is valid, false otherwise.
302
- */
294
+ * Static method to check the validity of a given mnemonic and passphrase combination.
295
+ * @param {string} mnemonic - The mnemonic phrase.
296
+ * @param {string} [passphrase=''] - The passphrase to validate.
297
+ * @returns {boolean} True if the combination is valid, false otherwise.
298
+ */
303
299
  static isValid(mnemonic, passphrase = '') {
304
300
  return new Mnemonic(mnemonic).isValid(passphrase);
305
301
  }