@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
@@ -133,7 +133,7 @@ class Point extends BasePoint_js_1.default {
133
133
  }
134
134
  // Curve parameters for secp256k1
135
135
  const p = BigInt('0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFEFFFFFC2F');
136
- const a = BigInt(0);
136
+ // const a = BigInt(0)
137
137
  const b = BigInt(7);
138
138
  // Convert x to BigInt
139
139
  let xBigInt;
@@ -144,8 +144,7 @@ class Point extends BasePoint_js_1.default {
144
144
  xBigInt = BigInt('0x' + x);
145
145
  }
146
146
  else if (Array.isArray(x)) {
147
- xBigInt = BigInt('0x' +
148
- (0, utils_js_1.toHex)(x).padStart(64, '0'));
147
+ xBigInt = BigInt('0x' + (0, utils_js_1.toHex)(x).padStart(64, '0'));
149
148
  }
150
149
  else if (typeof x === 'number') {
151
150
  xBigInt = BigInt(x);
@@ -163,7 +162,7 @@ class Point extends BasePoint_js_1.default {
163
162
  throw new Error('Invalid point');
164
163
  }
165
164
  // Adjust y to match the oddness
166
- const isYOdd = (y % BigInt(2)) === BigInt(1);
165
+ const isYOdd = y % BigInt(2) === BigInt(1);
167
166
  if ((odd && !isYOdd) || (!odd && isYOdd)) {
168
167
  y = p - y;
169
168
  }
@@ -357,22 +356,26 @@ class Point extends BasePoint_js_1.default {
357
356
  if (this.precomputed == null) {
358
357
  return [this.x, this.y];
359
358
  }
360
- return [this.x, this.y, typeof this.precomputed === 'object' && this.precomputed !== null
359
+ return [
360
+ this.x,
361
+ this.y,
362
+ typeof this.precomputed === 'object' && this.precomputed !== null
361
363
  ? {
362
- doubles: (this.precomputed.doubles != null)
364
+ doubles: this.precomputed.doubles != null
363
365
  ? {
364
366
  step: this.precomputed.doubles.step,
365
367
  points: this.precomputed.doubles.points.slice(1)
366
368
  }
367
369
  : undefined,
368
- naf: (this.precomputed.naf != null)
370
+ naf: this.precomputed.naf != null
369
371
  ? {
370
372
  wnd: this.precomputed.naf.wnd,
371
373
  points: this.precomputed.naf.points.slice(1)
372
374
  }
373
375
  : undefined
374
376
  }
375
- : undefined];
377
+ : undefined
378
+ ];
376
379
  }
377
380
  /**
378
381
  * Provides the point coordinates in a human-readable string format for debugging purposes.
@@ -385,11 +388,15 @@ class Point extends BasePoint_js_1.default {
385
388
  * console.log(aPoint.inspect());
386
389
  */
387
390
  inspect() {
391
+ var _a, _b, _c, _d, _e, _f;
388
392
  if (this.isInfinity()) {
389
393
  return '<EC Point Infinity>';
390
394
  }
391
- return '<EC Point x: ' + this.x.fromRed().toString(16, 2) +
392
- ' y: ' + this.y.fromRed().toString(16, 2) + '>';
395
+ return ('<EC Point x: ' +
396
+ ((_c = (_b = (_a = this.x) === null || _a === void 0 ? void 0 : _a.fromRed()) === null || _b === void 0 ? void 0 : _b.toString(16, 2)) !== null && _c !== void 0 ? _c : 'undefined') +
397
+ ' y: ' +
398
+ ((_f = (_e = (_d = this.y) === null || _d === void 0 ? void 0 : _d.fromRed()) === null || _e === void 0 ? void 0 : _e.toString(16, 2)) !== null && _f !== void 0 ? _f : 'undefined') +
399
+ '>');
393
400
  }
394
401
  /**
395
402
  * Checks if the point is at infinity.
@@ -416,6 +423,7 @@ class Point extends BasePoint_js_1.default {
416
423
  * const result = p1.add(p2);
417
424
  */
418
425
  add(p) {
426
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
419
427
  // O + P = P
420
428
  if (this.inf) {
421
429
  return p;
@@ -430,19 +438,21 @@ class Point extends BasePoint_js_1.default {
430
438
  }
431
439
  // P + (-P) = O
432
440
  if (this.neg().eq(p)) {
433
- return new Point(null, null);
441
+ return new Point(new BigNumber_js_1.default(0), new BigNumber_js_1.default(0));
434
442
  }
435
443
  // P + Q = O
436
- if (this.x.cmp(p.x) === 0) {
437
- return new Point(null, null);
444
+ if (((_a = this.x) === null || _a === void 0 ? void 0 : _a.cmp((_b = p.x) !== null && _b !== void 0 ? _b : new BigNumber_js_1.default(0))) === 0) {
445
+ return new Point(new BigNumber_js_1.default(0), new BigNumber_js_1.default(0));
438
446
  }
439
- let c = this.y.redSub(p.y);
447
+ let c = (_e = (_c = this.y) === null || _c === void 0 ? void 0 : _c.redSub((_d = p.y) !== null && _d !== void 0 ? _d : new BigNumber_js_1.default(0))) !== null && _e !== void 0 ? _e : new BigNumber_js_1.default(0);
440
448
  if (c.cmpn(0) !== 0) {
441
- c = c.redMul(this.x.redSub(p.x).redInvm());
449
+ c = c.redMul((_h = (_f = this.x) === null || _f === void 0 ? void 0 : _f.redSub((_g = p.x) !== null && _g !== void 0 ? _g : new BigNumber_js_1.default(0)).redInvm()) !== null && _h !== void 0 ? _h : new BigNumber_js_1.default(1));
442
450
  }
443
- const nx = c.redSqr().redISub(this.x).redISub(p.x);
444
- const ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
445
- return new Point(nx, ny);
451
+ const nx = c === null || c === void 0 ? void 0 : c.redSqr().redISub((_j = this.x) !== null && _j !== void 0 ? _j : new BigNumber_js_1.default(0)).redISub((_k = p.x) !== null && _k !== void 0 ? _k : new BigNumber_js_1.default(0));
452
+ const ny = (c !== null && c !== void 0 ? c : new BigNumber_js_1.default(1))
453
+ .redMul(((_l = this.x) !== null && _l !== void 0 ? _l : new BigNumber_js_1.default(0)).redSub(nx !== null && nx !== void 0 ? nx : new BigNumber_js_1.default(0)))
454
+ .redISub((_m = this.y) !== null && _m !== void 0 ? _m : new BigNumber_js_1.default(0));
455
+ return new Point(nx !== null && nx !== void 0 ? nx : new BigNumber_js_1.default(0), ny !== null && ny !== void 0 ? ny : new BigNumber_js_1.default(0));
446
456
  }
447
457
  /**
448
458
  * Doubles the current point.
@@ -454,20 +464,21 @@ class Point extends BasePoint_js_1.default {
454
464
  * const result = P.dbl();
455
465
  * */
456
466
  dbl() {
467
+ var _a, _b, _c, _d, _e, _f, _g;
457
468
  if (this.inf) {
458
469
  return this;
459
470
  }
460
471
  // 2P = O
461
- const ys1 = this.y.redAdd(this.y);
472
+ const ys1 = ((_a = this.y) !== null && _a !== void 0 ? _a : new BigNumber_js_1.default(0)).redAdd((_b = this.y) !== null && _b !== void 0 ? _b : new BigNumber_js_1.default(0));
462
473
  if (ys1.cmpn(0) === 0) {
463
- return new Point(null, null);
474
+ return new Point(new BigNumber_js_1.default(0), new BigNumber_js_1.default(0));
464
475
  }
465
476
  const a = this.curve.a;
466
- const x2 = this.x.redSqr();
477
+ const x2 = ((_c = this.x) !== null && _c !== void 0 ? _c : new BigNumber_js_1.default(0)).redSqr();
467
478
  const dyinv = ys1.redInvm();
468
479
  const c = x2.redAdd(x2).redIAdd(x2).redIAdd(a).redMul(dyinv);
469
- const nx = c.redSqr().redISub(this.x.redAdd(this.x));
470
- const ny = c.redMul(this.x.redSub(nx)).redISub(this.y);
480
+ const nx = c.redSqr().redISub(((_d = this.x) !== null && _d !== void 0 ? _d : new BigNumber_js_1.default(0)).redAdd((_e = this.x) !== null && _e !== void 0 ? _e : new BigNumber_js_1.default(0)));
481
+ const ny = c.redMul(((_f = this.x) !== null && _f !== void 0 ? _f : new BigNumber_js_1.default(0)).redSub(nx)).redISub((_g = this.y) !== null && _g !== void 0 ? _g : new BigNumber_js_1.default(0));
471
482
  return new Point(nx, ny);
472
483
  }
473
484
  /**
@@ -478,7 +489,8 @@ class Point extends BasePoint_js_1.default {
478
489
  * const x = P.getX();
479
490
  */
480
491
  getX() {
481
- return this.x.fromRed();
492
+ var _a;
493
+ return ((_a = this.x) !== null && _a !== void 0 ? _a : new BigNumber_js_1.default(0)).fromRed();
482
494
  }
483
495
  /**
484
496
  * Returns X coordinate of point
@@ -488,7 +500,8 @@ class Point extends BasePoint_js_1.default {
488
500
  * const x = P.getX();
489
501
  */
490
502
  getY() {
491
- return this.y.fromRed();
503
+ var _a;
504
+ return ((_a = this.y) !== null && _a !== void 0 ? _a : new BigNumber_js_1.default(0)).fromRed();
492
505
  }
493
506
  /**
494
507
  * Multiplies this Point by a scalar value, returning a new Point.
@@ -570,8 +583,10 @@ class Point extends BasePoint_js_1.default {
570
583
  * const areEqual = p1.eq(p2); // returns true
571
584
  */
572
585
  eq(p) {
573
- return this === p || ((this.inf === p.inf) &&
574
- (this.inf || (this.x.cmp(p.x) === 0 && this.y.cmp(p.y) === 0)));
586
+ var _a, _b, _c, _d;
587
+ return (this === p ||
588
+ (this.inf === p.inf &&
589
+ (this.inf || (((_a = this.x) !== null && _a !== void 0 ? _a : new BigNumber_js_1.default(0)).cmp((_b = p.x) !== null && _b !== void 0 ? _b : new BigNumber_js_1.default(0)) === 0 && ((_c = this.y) !== null && _c !== void 0 ? _c : new BigNumber_js_1.default(0)).cmp((_d = p.y) !== null && _d !== void 0 ? _d : new BigNumber_js_1.default(0)) === 0))));
575
590
  }
576
591
  /**
577
592
  * Negate a point. The negation of a point P is the mirror of P about x-axis.
@@ -583,22 +598,27 @@ class Point extends BasePoint_js_1.default {
583
598
  * const result = P.neg();
584
599
  */
585
600
  neg(_precompute) {
601
+ var _a;
586
602
  if (this.inf) {
587
603
  return this;
588
604
  }
589
- const res = new Point(this.x, this.y.redNeg());
590
- if (_precompute && (this.precomputed != null)) {
605
+ const res = new Point(this.x, ((_a = this.y) !== null && _a !== void 0 ? _a : new BigNumber_js_1.default(0)).redNeg());
606
+ if (_precompute === true && this.precomputed != null) {
591
607
  const pre = this.precomputed;
592
608
  const negate = (p) => p.neg();
593
609
  res.precomputed = {
594
- naf: (pre.naf != null) && {
595
- wnd: pre.naf.wnd,
596
- points: pre.naf.points.map(negate)
597
- },
598
- doubles: (pre.doubles != null) && {
599
- step: pre.doubles.step,
600
- points: pre.doubles.points.map((p) => p.neg())
601
- },
610
+ naf: pre.naf != null
611
+ ? {
612
+ wnd: pre.naf.wnd,
613
+ points: pre.naf.points.map(negate)
614
+ }
615
+ : undefined,
616
+ doubles: pre.doubles != null
617
+ ? {
618
+ step: pre.doubles.step,
619
+ points: pre.doubles.points.map((p) => p.neg())
620
+ }
621
+ : undefined,
602
622
  beta: undefined
603
623
  };
604
624
  }
@@ -645,29 +665,39 @@ class Point extends BasePoint_js_1.default {
645
665
  return res;
646
666
  }
647
667
  _getBeta() {
668
+ var _a;
648
669
  if (typeof this.curve.endo !== 'object') {
649
670
  return;
650
671
  }
651
672
  const pre = this.precomputed;
652
- if (typeof pre === 'object' && pre !== null && typeof pre.beta === 'object' && pre.beta !== null) {
673
+ if (typeof pre === 'object' &&
674
+ pre !== null &&
675
+ typeof pre.beta === 'object' &&
676
+ pre.beta !== null) {
653
677
  return pre.beta;
654
678
  }
655
- const beta = new Point(this.x.redMul(this.curve.endo.beta), this.y);
679
+ const beta = new Point(((_a = this.x) !== null && _a !== void 0 ? _a : new BigNumber_js_1.default(0)).redMul(this.curve.endo.beta), this.y);
656
680
  if (pre != null) {
657
681
  const curve = this.curve;
658
682
  const endoMul = (p) => {
683
+ if (p.x === null) {
684
+ throw new Error('p.x is null');
685
+ }
686
+ if (curve.endo === undefined || curve.endo === null) {
687
+ throw new Error('curve.endo is undefined');
688
+ }
659
689
  return new Point(p.x.redMul(curve.endo.beta), p.y);
660
690
  };
661
691
  pre.beta = beta;
662
692
  beta.precomputed = {
663
693
  beta: null,
664
- naf: (pre.naf != null)
694
+ naf: pre.naf != null
665
695
  ? {
666
696
  wnd: pre.naf.wnd,
667
697
  points: pre.naf.points.map(endoMul)
668
698
  }
669
699
  : undefined,
670
- doubles: (pre.doubles != null)
700
+ doubles: pre.doubles != null
671
701
  ? {
672
702
  step: pre.doubles.step,
673
703
  points: pre.doubles.points.map(endoMul)
@@ -703,7 +733,7 @@ class Point extends BasePoint_js_1.default {
703
733
  b = b.mixedAdd(doubles.points[j]);
704
734
  }
705
735
  else if (nafW === -i) {
706
- b = b.mixedAdd((doubles.points[j]).neg());
736
+ b = b.mixedAdd(doubles.points[j].neg());
707
737
  }
708
738
  }
709
739
  a = a.add(b);
@@ -711,42 +741,41 @@ class Point extends BasePoint_js_1.default {
711
741
  return a.toP();
712
742
  }
713
743
  _wnafMulAdd(defW, points, coeffs, len, jacobianResult) {
714
- const wndWidth = this.curve._wnafT1;
715
- const wnd = this.curve._wnafT2;
716
- const naf = this.curve._wnafT3;
744
+ var _a, _b, _c, _d;
745
+ const wndWidth = this.curve._wnafT1.map(num => num.toNumber()); // Convert BigNumber to number
746
+ const wnd = this.curve._wnafT2.map(() => []); // Initialize as empty Point[][] array
747
+ const naf = this.curve._wnafT3.map(() => []); // Initialize as empty number[][] array
717
748
  // Fill all arrays
718
749
  let max = 0;
719
750
  for (let i = 0; i < len; i++) {
720
751
  const p = points[i];
721
752
  const nafPoints = p._getNAFPoints(defW);
722
- wndWidth[i] = nafPoints.wnd;
723
- wnd[i] = nafPoints.points;
753
+ wndWidth[i] = nafPoints.wnd; // Ensure correct type
754
+ wnd[i] = nafPoints.points; // Ensure correct type
724
755
  }
725
756
  // Comb small window NAFs
726
757
  for (let i = len - 1; i >= 1; i -= 2) {
727
758
  const a = i - 1;
728
759
  const b = i;
729
760
  if (wndWidth[a] !== 1 || wndWidth[b] !== 1) {
730
- naf[a] = this.curve
731
- .getNAF(coeffs[a], wndWidth[a], this.curve._bitLength);
732
- naf[b] = this.curve
733
- .getNAF(coeffs[b], wndWidth[b], this.curve._bitLength);
761
+ naf[a] = this.curve.getNAF(coeffs[a], wndWidth[a], this.curve._bitLength);
762
+ naf[b] = this.curve.getNAF(coeffs[b], wndWidth[b], this.curve._bitLength);
734
763
  max = Math.max(naf[a].length, max);
735
764
  max = Math.max(naf[b].length, max);
736
765
  continue;
737
766
  }
738
767
  const comb = [
739
- points[a], /* 1 */
740
- null, /* 3 */
741
- null, /* 5 */
768
+ points[a] /* 1 */,
769
+ null /* 3 */,
770
+ null /* 5 */,
742
771
  points[b] /* 7 */
743
772
  ];
744
773
  // Try to avoid Projective points, if possible
745
- if (points[a].y.cmp(points[b].y) === 0) {
774
+ if (((_a = points[a].y) !== null && _a !== void 0 ? _a : new BigNumber_js_1.default(0)).cmp((_b = points[b].y) !== null && _b !== void 0 ? _b : new BigNumber_js_1.default(0)) === 0) {
746
775
  comb[1] = points[a].add(points[b]);
747
776
  comb[2] = points[a].toJ().mixedAdd(points[b].neg());
748
777
  }
749
- else if (points[a].y.cmp(points[b].y.redNeg()) === 0) {
778
+ else if (((_c = points[a].y) !== null && _c !== void 0 ? _c : new BigNumber_js_1.default(0)).cmp(((_d = points[b].y) !== null && _d !== void 0 ? _d : new BigNumber_js_1.default(0)).redNeg()) === 0) {
750
779
  comb[1] = points[a].toJ().mixedAdd(points[b]);
751
780
  comb[2] = points[a].add(points[b].neg());
752
781
  }
@@ -755,15 +784,8 @@ class Point extends BasePoint_js_1.default {
755
784
  comb[2] = points[a].toJ().mixedAdd(points[b].neg());
756
785
  }
757
786
  const index = [
758
- -3, /* -1 -1 */
759
- -1, /* -1 0 */
760
- -5, /* -1 1 */
761
- -7, /* 0 -1 */
762
- 0, /* 0 0 */
763
- 7, /* 0 1 */
764
- 5, /* 1 -1 */
765
- 1, /* 1 0 */
766
- 3 /* 1 1 */
787
+ -3 /* -1 -1 */, -1 /* -1 0 */, -5 /* -1 1 */, -7 /* 0 -1 */,
788
+ 0 /* 0 0 */, 7 /* 0 1 */, 5 /* 1 -1 */, 1 /* 1 0 */, 3 /* 1 1 */
767
789
  ];
768
790
  const jsf = this.curve.getJSF(coeffs[a], coeffs[b]);
769
791
  max = Math.max(jsf[0].length, max);
@@ -784,8 +806,8 @@ class Point extends BasePoint_js_1.default {
784
806
  while (i >= 0) {
785
807
  let zero = true;
786
808
  for (let j = 0; j < len; j++) {
787
- tmp[j] = naf[j][i] | 0;
788
- if (tmp[j] !== 0) {
809
+ tmp[j] = new BigNumber_js_1.default(typeof naf[j][i] === 'number' ? naf[j][i] : 0); // Ensure type consistency
810
+ if (!tmp[j].isZero()) { // Use BigNumber's built-in comparison
789
811
  zero = false;
790
812
  }
791
813
  }
@@ -802,17 +824,19 @@ class Point extends BasePoint_js_1.default {
802
824
  if (i < 0) {
803
825
  break;
804
826
  }
827
+ const one = new BigNumber_js_1.default(1);
828
+ const two = new BigNumber_js_1.default(2);
805
829
  for (let j = 0; j < len; j++) {
806
830
  const z = tmp[j];
807
831
  let p;
808
- if (z === 0) {
832
+ if (z.cmpn(0) === 0) { // Check if z is 0
809
833
  continue;
810
834
  }
811
- else if (z > 0) {
812
- p = wnd[j][(z - 1) >> 1];
835
+ else if (!z.isNeg()) { // If z is positive
836
+ p = wnd[j][z.sub(one).div(two).toNumber()];
813
837
  }
814
- else if (z < 0) {
815
- p = wnd[j][(-z - 1) >> 1].neg();
838
+ else { // If z is negative
839
+ p = wnd[j][z.neg().sub(one).div(two).toNumber()].neg();
816
840
  }
817
841
  if (p.type === 'affine') {
818
842
  acc = acc.mixedAdd(p);
@@ -824,23 +848,25 @@ class Point extends BasePoint_js_1.default {
824
848
  }
825
849
  // Zeroify references
826
850
  for (let i = 0; i < len; i++) {
827
- wnd[i] = null;
851
+ wnd[i] = [];
828
852
  }
829
- if (jacobianResult) {
853
+ if (jacobianResult === true) {
830
854
  return acc;
831
855
  }
832
856
  else {
833
857
  return acc.toP();
834
858
  }
835
859
  }
836
- _endoWnafMulAdd(points, coeffs, jacobianResult) {
837
- const npoints = this.curve._endoWnafT1;
838
- const ncoeffs = this.curve._endoWnafT2;
860
+ _endoWnafMulAdd(points, coeffs, // Explicitly type coeffs
861
+ jacobianResult) {
862
+ var _a;
863
+ const npoints = new Array(points.length * 2);
864
+ const ncoeffs = new Array(points.length * 2);
839
865
  let i;
840
866
  for (i = 0; i < points.length; i++) {
841
867
  const split = this.curve._endoSplit(coeffs[i]);
842
868
  let p = points[i];
843
- let beta = p._getBeta();
869
+ let beta = (_a = p._getBeta()) !== null && _a !== void 0 ? _a : new Point(new BigNumber_js_1.default(0), new BigNumber_js_1.default(0));
844
870
  if (split.k1.negative !== 0) {
845
871
  split.k1.ineg();
846
872
  p = p.neg(true);
@@ -870,11 +896,11 @@ class Point extends BasePoint_js_1.default {
870
896
  if (typeof doubles !== 'object') {
871
897
  return false;
872
898
  }
873
- return doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step);
899
+ return (doubles.points.length >= Math.ceil((k.bitLength() + 1) / doubles.step));
874
900
  }
875
- ;
876
901
  _getDoubles(step, power) {
877
- if (typeof this.precomputed === 'object' && this.precomputed !== null &&
902
+ if (typeof this.precomputed === 'object' &&
903
+ this.precomputed !== null &&
878
904
  typeof this.precomputed.doubles === 'object' &&
879
905
  this.precomputed.doubles !== null) {
880
906
  return this.precomputed.doubles;
@@ -882,28 +908,31 @@ class Point extends BasePoint_js_1.default {
882
908
  const doubles = [this];
883
909
  /* eslint-disable @typescript-eslint/no-this-alias */
884
910
  let acc = this;
885
- for (let i = 0; i < power; i += step) {
886
- for (let j = 0; j < step; j++) {
911
+ for (let i = 0; i < (power !== null && power !== void 0 ? power : 0); i += (step !== null && step !== void 0 ? step : 1)) {
912
+ for (let j = 0; j < (step !== null && step !== void 0 ? step : 1); j++) {
887
913
  acc = acc.dbl();
888
914
  }
889
915
  doubles.push(acc);
890
916
  }
891
917
  return {
892
- step,
918
+ step: step !== null && step !== void 0 ? step : 1,
893
919
  points: doubles
894
920
  };
895
921
  }
896
- ;
897
922
  _getNAFPoints(wnd) {
898
- if (typeof this.precomputed === 'object' && this.precomputed !== null &&
899
- typeof this.precomputed.naf === 'object' && this.precomputed.naf !== null) {
923
+ if (typeof this.precomputed === 'object' &&
924
+ this.precomputed !== null &&
925
+ typeof this.precomputed.naf === 'object' &&
926
+ this.precomputed.naf !== null) {
900
927
  return this.precomputed.naf;
901
928
  }
902
929
  const res = [this];
903
930
  const max = (1 << wnd) - 1;
904
931
  const dbl = max === 1 ? null : this.dbl();
905
932
  for (let i = 1; i < max; i++) {
906
- res[i] = res[i - 1].add(dbl);
933
+ if (dbl !== null) {
934
+ res[i] = res[i - 1].add(dbl);
935
+ }
907
936
  }
908
937
  return {
909
938
  wnd,
@@ -1 +1 @@
1
- {"version":3,"file":"Point.js","sourceRoot":"","sources":["../../../../src/primitives/Point.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Point.js","sourceRoot":"","sources":["../../../../src/primitives/Point.ts"],"names":[],"mappings":"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"}
@@ -41,12 +41,14 @@ exports.PointInFiniteField = PointInFiniteField;
41
41
  class Polynomial {
42
42
  constructor(points, threshold) {
43
43
  this.points = points;
44
- this.threshold = threshold || points.length;
44
+ this.threshold = threshold !== null && threshold !== void 0 ? threshold : points.length; // ✅ Handles undefined safely
45
45
  }
46
46
  static fromPrivateKey(key, threshold) {
47
47
  const P = new Curve_js_1.default().p; // arithmetic is mod P
48
48
  // The key is the y-intercept of the polynomial where x=0.
49
- const points = [new PointInFiniteField(new BigNumber_js_1.default(0), new BigNumber_js_1.default(key.toArray()))];
49
+ const points = [
50
+ new PointInFiniteField(new BigNumber_js_1.default(0), new BigNumber_js_1.default(key.toArray()))
51
+ ];
50
52
  // The other values are random
51
53
  for (let i = 1; i < threshold; i++) {
52
54
  const randomX = new BigNumber_js_1.default((0, Random_js_1.default)(32)).umod(P);
@@ -1 +1 @@
1
- {"version":3,"file":"Polynomial.js","sourceRoot":"","sources":["../../../../src/primitives/Polynomial.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Polynomial.js","sourceRoot":"","sources":["../../../../src/primitives/Polynomial.ts"],"names":[],"mappings":";;;;;;AACA,kEAAsC;AACtC,0DAA8B;AAC9B,4DAAgC;AAChC,yCAAiD;AAEjD,MAAa,kBAAkB;IAI7B,YAAa,CAAY,EAAE,CAAY;QACrC,MAAM,CAAC,GAAG,IAAI,kBAAK,EAAE,CAAC,CAAC,CAAA,CAAC,sBAAsB;QAC9C,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QAClB,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACpB,CAAC;IAED,QAAQ;QACN,OAAO,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,GAAG,GAAG,GAAG,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAA;IACtE,CAAC;IAED,MAAM,CAAC,UAAU,CAAE,GAAW;QAC5B,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QAC7B,OAAO,IAAI,kBAAkB,CAC3B,IAAI,sBAAS,CAAC,IAAA,qBAAU,EAAC,CAAC,CAAC,CAAC,EAC5B,IAAI,sBAAS,CAAC,IAAA,qBAAU,EAAC,CAAC,CAAC,CAAC,CAC7B,CAAA;IACH,CAAC;CACF;AArBD,gDAqBC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAqB,UAAU;IAI7B,YAAa,MAA4B,EAAE,SAAkB;QAC3D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAA;QACpB,IAAI,CAAC,SAAS,GAAG,SAAS,aAAT,SAAS,cAAT,SAAS,GAAI,MAAM,CAAC,MAAM,CAAA,CAAC,6BAA6B;IAC3E,CAAC;IAED,MAAM,CAAC,cAAc,CAAE,GAAe,EAAE,SAAiB;QACvD,MAAM,CAAC,GAAG,IAAI,kBAAK,EAAE,CAAC,CAAC,CAAA,CAAC,sBAAsB;QAC9C,0DAA0D;QAC1D,MAAM,MAAM,GAAG;YACb,IAAI,kBAAkB,CAAC,IAAI,sBAAS,CAAC,CAAC,CAAC,EAAE,IAAI,sBAAS,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;SACvE,CAAA;QAED,8BAA8B;QAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,IAAA,mBAAM,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjD,MAAM,OAAO,GAAG,IAAI,sBAAS,CAAC,IAAA,mBAAM,EAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACjD,MAAM,CAAC,IAAI,CAAC,IAAI,kBAAkB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAA;SACtD;QAED,OAAO,IAAI,UAAU,CAAC,MAAM,CAAC,CAAA;IAC/B,CAAC;IAED,+DAA+D;IAC/D,OAAO,CAAE,CAAY;QACnB,MAAM,CAAC,GAAG,IAAI,kBAAK,EAAE,CAAC,CAAC,CAAA,CAAC,sBAAsB;QAC9C,IAAI,CAAC,GAAG,IAAI,sBAAS,CAAC,CAAC,CAAC,CAAA;QACxB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;YAC3B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,EAAE,CAAC,EAAE,EAAE;gBACvC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACX,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAC3B,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;oBAE3B,MAAM,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACnC,MAAM,WAAW,GAAG,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBACtC,MAAM,kBAAkB,GAAG,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAE9C,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;oBAC1D,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBAClC;aACF;YACD,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;SACxB;QACD,OAAO,CAAC,CAAA;IACV,CAAC;CACF;AAjDD,6BAiDC"}