@bsv/sdk 1.3.12 → 1.3.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (607) hide show
  1. package/dist/cjs/package.json +15 -3
  2. package/dist/cjs/src/auth/Peer.js +83 -57
  3. package/dist/cjs/src/auth/Peer.js.map +1 -1
  4. package/dist/cjs/src/auth/SessionManager.js +14 -9
  5. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  6. package/dist/cjs/src/auth/certificates/Certificate.js +16 -10
  7. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  8. package/dist/cjs/src/auth/certificates/MasterCertificate.js +25 -23
  9. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  10. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +2 -2
  11. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  12. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +62 -46
  13. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  14. package/dist/cjs/src/auth/clients/AuthFetch.js +1 -0
  15. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  16. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +70 -43
  17. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  18. package/dist/cjs/src/auth/utils/createNonce.js +2 -1
  19. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  20. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  21. package/dist/cjs/src/auth/utils/validateCertificates.js +5 -2
  22. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  23. package/dist/cjs/src/auth/utils/verifyNonce.js +2 -1
  24. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  25. package/dist/cjs/src/compat/BSM.js +7 -17
  26. package/dist/cjs/src/compat/BSM.js.map +1 -1
  27. package/dist/cjs/src/compat/ECIES.js +172 -133
  28. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  29. package/dist/cjs/src/compat/HD.js +63 -73
  30. package/dist/cjs/src/compat/HD.js.map +1 -1
  31. package/dist/cjs/src/compat/Mnemonic.js +102 -106
  32. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  33. package/dist/cjs/src/compat/Utxo.js +2 -2
  34. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  35. package/dist/cjs/src/compat/index.js +7 -17
  36. package/dist/cjs/src/compat/index.js.map +1 -1
  37. package/dist/cjs/src/messages/EncryptedMessage.js +3 -1
  38. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  39. package/dist/cjs/src/messages/SignedMessage.js +1 -0
  40. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  41. package/dist/cjs/src/messages/index.js +7 -17
  42. package/dist/cjs/src/messages/index.js.map +1 -1
  43. package/dist/cjs/src/overlay-tools/LookupResolver.js +54 -35
  44. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  45. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  46. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  47. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +40 -28
  48. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  49. package/dist/cjs/src/primitives/AESGCM.js +6 -5
  50. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  51. package/dist/cjs/src/primitives/BasePoint.js +1 -1
  52. package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
  53. package/dist/cjs/src/primitives/BigNumber.js +50 -62
  54. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  55. package/dist/cjs/src/primitives/Curve.js +46 -22
  56. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  57. package/dist/cjs/src/primitives/DRBG.js +2 -8
  58. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  59. package/dist/cjs/src/primitives/ECDSA.js +51 -35
  60. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  61. package/dist/cjs/src/primitives/Hash.js +191 -216
  62. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  63. package/dist/cjs/src/primitives/JacobianPoint.js +19 -5
  64. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  65. package/dist/cjs/src/primitives/K256.js.map +1 -1
  66. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  67. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  68. package/dist/cjs/src/primitives/Point.js +117 -88
  69. package/dist/cjs/src/primitives/Point.js.map +1 -1
  70. package/dist/cjs/src/primitives/Polynomial.js +4 -2
  71. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  72. package/dist/cjs/src/primitives/PrivateKey.js +32 -33
  73. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  74. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  75. package/dist/cjs/src/primitives/Random.js +6 -5
  76. package/dist/cjs/src/primitives/Random.js.map +1 -1
  77. package/dist/cjs/src/primitives/ReductionContext.js +1 -1
  78. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  79. package/dist/cjs/src/primitives/Schnorr.js +21 -15
  80. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  81. package/dist/cjs/src/primitives/Signature.js +8 -7
  82. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  83. package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
  84. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  85. package/dist/cjs/src/primitives/TransactionSignature.js +31 -29
  86. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  87. package/dist/cjs/src/primitives/index.js +7 -17
  88. package/dist/cjs/src/primitives/index.js.map +1 -1
  89. package/dist/cjs/src/primitives/utils.js +79 -68
  90. package/dist/cjs/src/primitives/utils.js.map +1 -1
  91. package/dist/cjs/src/script/OP.js +3 -3
  92. package/dist/cjs/src/script/OP.js.map +1 -1
  93. package/dist/cjs/src/script/Script.js +12 -10
  94. package/dist/cjs/src/script/Script.js.map +1 -1
  95. package/dist/cjs/src/script/Spend.js +47 -49
  96. package/dist/cjs/src/script/Spend.js.map +1 -1
  97. package/dist/cjs/src/script/templates/P2PKH.js +24 -12
  98. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  99. package/dist/cjs/src/script/templates/PushDrop.js +28 -23
  100. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  101. package/dist/cjs/src/script/templates/RPuzzle.js +10 -6
  102. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  103. package/dist/cjs/src/totp/totp.js +2 -1
  104. package/dist/cjs/src/totp/totp.js.map +1 -1
  105. package/dist/cjs/src/transaction/Beef.js +177 -154
  106. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  107. package/dist/cjs/src/transaction/BeefParty.js +24 -24
  108. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  109. package/dist/cjs/src/transaction/BeefTx.js +26 -18
  110. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  111. package/dist/cjs/src/transaction/Broadcaster.js +3 -2
  112. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  113. package/dist/cjs/src/transaction/MerklePath.js +64 -37
  114. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  115. package/dist/cjs/src/transaction/Transaction.js +111 -137
  116. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  117. package/dist/cjs/src/transaction/broadcasters/ARC.js +25 -16
  118. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  119. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -1
  120. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  121. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  122. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -1
  123. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  124. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  125. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  126. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  127. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +5 -3
  128. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  129. package/dist/cjs/src/transaction/http/FetchHttpClient.js +5 -2
  130. package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
  131. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +5 -3
  132. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  133. package/dist/cjs/src/transaction/http/index.js.map +1 -1
  134. package/dist/cjs/src/transaction/index.js.map +1 -1
  135. package/dist/cjs/src/wallet/CachedKeyDeriver.js +91 -66
  136. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  137. package/dist/cjs/src/wallet/KeyDeriver.js +61 -52
  138. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  139. package/dist/cjs/src/wallet/ProtoWallet.js +79 -29
  140. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  141. package/dist/cjs/src/wallet/WalletClient.js +7 -2
  142. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  143. package/dist/cjs/src/wallet/WalletError.js +2 -2
  144. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  145. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +4 -3
  146. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  147. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +2 -2
  148. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  149. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  150. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  151. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +102 -43
  152. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  153. package/dist/cjs/src/wallet/substrates/XDM.js +8 -3
  154. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  155. package/dist/cjs/src/wallet/substrates/window.CWI.js +28 -28
  156. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  157. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  158. package/dist/esm/mod.js +15 -15
  159. package/dist/esm/src/auth/Peer.js +75 -54
  160. package/dist/esm/src/auth/Peer.js.map +1 -1
  161. package/dist/esm/src/auth/SessionManager.js +14 -9
  162. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  163. package/dist/esm/src/auth/certificates/Certificate.js +15 -11
  164. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  165. package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -23
  166. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  167. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +2 -2
  168. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  169. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +64 -47
  170. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  171. package/dist/esm/src/auth/clients/AuthFetch.js +1 -0
  172. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  173. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +69 -43
  174. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  175. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  176. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +1 -1
  177. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  178. package/dist/esm/src/auth/utils/validateCertificates.js +6 -3
  179. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  180. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  181. package/dist/esm/src/compat/BSM.js.map +1 -1
  182. package/dist/esm/src/compat/ECIES.js +165 -116
  183. package/dist/esm/src/compat/ECIES.js.map +1 -1
  184. package/dist/esm/src/compat/HD.js +56 -56
  185. package/dist/esm/src/compat/HD.js.map +1 -1
  186. package/dist/esm/src/compat/Mnemonic.js +95 -89
  187. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  188. package/dist/esm/src/compat/Utxo.js +1 -1
  189. package/dist/esm/src/compat/Utxo.js.map +1 -1
  190. package/dist/esm/src/messages/EncryptedMessage.js +3 -1
  191. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  192. package/dist/esm/src/messages/SignedMessage.js +1 -0
  193. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  194. package/dist/esm/src/overlay-tools/LookupResolver.js +53 -35
  195. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  196. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  197. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  198. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +40 -28
  199. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  200. package/dist/esm/src/primitives/AESGCM.js +1 -0
  201. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  202. package/dist/esm/src/primitives/BasePoint.js +1 -1
  203. package/dist/esm/src/primitives/BasePoint.js.map +1 -1
  204. package/dist/esm/src/primitives/BigNumber.js +50 -62
  205. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  206. package/dist/esm/src/primitives/Curve.js +45 -22
  207. package/dist/esm/src/primitives/Curve.js.map +1 -1
  208. package/dist/esm/src/primitives/DRBG.js +2 -8
  209. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  210. package/dist/esm/src/primitives/ECDSA.js +50 -35
  211. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  212. package/dist/esm/src/primitives/Hash.js +188 -213
  213. package/dist/esm/src/primitives/Hash.js.map +1 -1
  214. package/dist/esm/src/primitives/JacobianPoint.js +18 -5
  215. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  216. package/dist/esm/src/primitives/K256.js.map +1 -1
  217. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  218. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  219. package/dist/esm/src/primitives/Point.js +107 -88
  220. package/dist/esm/src/primitives/Point.js.map +1 -1
  221. package/dist/esm/src/primitives/Polynomial.js +4 -2
  222. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  223. package/dist/esm/src/primitives/PrivateKey.js +25 -16
  224. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  225. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  226. package/dist/esm/src/primitives/Random.js +7 -6
  227. package/dist/esm/src/primitives/Random.js.map +1 -1
  228. package/dist/esm/src/primitives/ReductionContext.js +1 -1
  229. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  230. package/dist/esm/src/primitives/Schnorr.js +21 -15
  231. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  232. package/dist/esm/src/primitives/Signature.js +8 -7
  233. package/dist/esm/src/primitives/Signature.js.map +1 -1
  234. package/dist/esm/src/primitives/SymmetricKey.js +13 -13
  235. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  236. package/dist/esm/src/primitives/TransactionSignature.js +22 -12
  237. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  238. package/dist/esm/src/primitives/utils.js +76 -66
  239. package/dist/esm/src/primitives/utils.js.map +1 -1
  240. package/dist/esm/src/script/OP.js +3 -3
  241. package/dist/esm/src/script/OP.js.map +1 -1
  242. package/dist/esm/src/script/Script.js +12 -10
  243. package/dist/esm/src/script/Script.js.map +1 -1
  244. package/dist/esm/src/script/Spend.js +39 -32
  245. package/dist/esm/src/script/Spend.js.map +1 -1
  246. package/dist/esm/src/script/templates/P2PKH.js +26 -11
  247. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  248. package/dist/esm/src/script/templates/PushDrop.js +29 -22
  249. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  250. package/dist/esm/src/script/templates/RPuzzle.js +11 -6
  251. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  252. package/dist/esm/src/totp/totp.js +2 -1
  253. package/dist/esm/src/totp/totp.js.map +1 -1
  254. package/dist/esm/src/transaction/Beef.js +176 -154
  255. package/dist/esm/src/transaction/Beef.js.map +1 -1
  256. package/dist/esm/src/transaction/BeefParty.js +24 -24
  257. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  258. package/dist/esm/src/transaction/BeefTx.js +26 -18
  259. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  260. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  261. package/dist/esm/src/transaction/MerklePath.js +61 -36
  262. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  263. package/dist/esm/src/transaction/Transaction.js +105 -138
  264. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  265. package/dist/esm/src/transaction/broadcasters/ARC.js +25 -16
  266. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  267. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  268. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  269. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  270. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  271. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  272. package/dist/esm/src/transaction/http/DefaultHttpClient.js +3 -2
  273. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  274. package/dist/esm/src/transaction/http/FetchHttpClient.js +4 -2
  275. package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
  276. package/dist/esm/src/transaction/http/NodejsHttpClient.js +5 -3
  277. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  278. package/dist/esm/src/transaction/http/index.js.map +1 -1
  279. package/dist/esm/src/transaction/index.js.map +1 -1
  280. package/dist/esm/src/wallet/CachedKeyDeriver.js +91 -66
  281. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  282. package/dist/esm/src/wallet/KeyDeriver.js +60 -52
  283. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  284. package/dist/esm/src/wallet/ProtoWallet.js +75 -29
  285. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  286. package/dist/esm/src/wallet/WalletClient.js +7 -2
  287. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  288. package/dist/esm/src/wallet/WalletError.js +2 -2
  289. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  290. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +4 -4
  291. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  292. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +2 -2
  293. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  294. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  295. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  296. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +95 -43
  297. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  298. package/dist/esm/src/wallet/substrates/XDM.js +8 -3
  299. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  300. package/dist/esm/src/wallet/substrates/window.CWI.js +28 -28
  301. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  302. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  303. package/dist/types/mod.d.ts +15 -15
  304. package/dist/types/src/auth/Peer.d.ts +10 -10
  305. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  306. package/dist/types/src/auth/SessionManager.d.ts +4 -4
  307. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  308. package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
  309. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  310. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +5 -5
  311. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  312. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  313. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
  314. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  315. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  316. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  317. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  318. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  319. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
  320. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  321. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  322. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  323. package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
  324. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  325. package/dist/types/src/compat/BSM.d.ts +1 -1
  326. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  327. package/dist/types/src/compat/ECIES.d.ts +36 -36
  328. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  329. package/dist/types/src/compat/HD.d.ts +51 -51
  330. package/dist/types/src/compat/HD.d.ts.map +1 -1
  331. package/dist/types/src/compat/Mnemonic.d.ts +79 -79
  332. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  333. package/dist/types/src/compat/Utxo.d.ts.map +1 -1
  334. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  335. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  336. package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
  337. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  338. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +17 -17
  339. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  340. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +14 -14
  341. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  342. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  343. package/dist/types/src/primitives/BasePoint.d.ts +8 -8
  344. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
  345. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  346. package/dist/types/src/primitives/Curve.d.ts +14 -7
  347. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  348. package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
  349. package/dist/types/src/primitives/ECDSA.d.ts +1 -1
  350. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  351. package/dist/types/src/primitives/Hash.d.ts +11 -11
  352. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  353. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  354. package/dist/types/src/primitives/Point.d.ts +14 -10
  355. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  356. package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
  357. package/dist/types/src/primitives/PrivateKey.d.ts +2 -2
  358. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  359. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  360. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  361. package/dist/types/src/primitives/Schnorr.d.ts +14 -14
  362. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  363. package/dist/types/src/primitives/Signature.d.ts +1 -1
  364. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  365. package/dist/types/src/primitives/SymmetricKey.d.ts +13 -13
  366. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  367. package/dist/types/src/primitives/TransactionSignature.d.ts +4 -4
  368. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  369. package/dist/types/src/primitives/utils.d.ts +3 -6
  370. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  371. package/dist/types/src/script/Script.d.ts +3 -3
  372. package/dist/types/src/script/Script.d.ts.map +1 -1
  373. package/dist/types/src/script/ScriptTemplate.d.ts +2 -2
  374. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
  375. package/dist/types/src/script/Spend.d.ts.map +1 -1
  376. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  377. package/dist/types/src/script/templates/PushDrop.d.ts +1 -2
  378. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  379. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  380. package/dist/types/src/totp/totp.d.ts.map +1 -1
  381. package/dist/types/src/transaction/Beef.d.ts +96 -96
  382. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  383. package/dist/types/src/transaction/BeefParty.d.ts +22 -22
  384. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  385. package/dist/types/src/transaction/BeefTx.d.ts +5 -5
  386. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  387. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  388. package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
  389. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
  390. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  391. package/dist/types/src/transaction/Transaction.d.ts +4 -12
  392. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  393. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
  394. package/dist/types/src/transaction/broadcasters/ARC.d.ts +1 -1
  395. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  396. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
  397. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
  398. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
  399. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
  400. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
  401. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
  402. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  403. package/dist/types/src/transaction/http/FetchHttpClient.d.ts +5 -5
  404. package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
  405. package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
  406. package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
  407. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +3 -3
  408. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  409. package/dist/types/src/transaction/http/index.d.ts.map +1 -1
  410. package/dist/types/src/transaction/index.d.ts.map +1 -1
  411. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +58 -58
  412. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  413. package/dist/types/src/wallet/KeyDeriver.d.ts +78 -78
  414. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  415. package/dist/types/src/wallet/ProtoWallet.d.ts +10 -10
  416. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  417. package/dist/types/src/wallet/Wallet.interfaces.d.ts +151 -152
  418. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  419. package/dist/types/src/wallet/WalletClient.d.ts +5 -5
  420. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  421. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +6 -6
  422. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  423. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
  424. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  425. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  426. package/dist/types/src/wallet/substrates/XDM.d.ts +1 -1
  427. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  428. package/dist/types/src/wallet/substrates/window.CWI.d.ts +6 -6
  429. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  430. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  431. package/dist/umd/bundle.js +1 -1
  432. package/docs/auth.md +92 -82
  433. package/docs/compat.md +24 -24
  434. package/docs/messages.md +7 -5
  435. package/docs/overlay-tools.md +21 -21
  436. package/docs/primitives.md +336 -315
  437. package/docs/script.md +35 -35
  438. package/docs/swagger/dist/swagger-initializer.js +7 -7
  439. package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
  440. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
  441. package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
  442. package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
  443. package/docs/swagger/dist/swagger-ui.js +2 -2
  444. package/docs/totp.md +5 -5
  445. package/docs/transaction.md +103 -105
  446. package/docs/wallet-substrates.md +17 -17
  447. package/docs/wallet.md +202 -204
  448. package/mod.ts +15 -15
  449. package/package.json +15 -3
  450. package/src/auth/Peer.ts +271 -121
  451. package/src/auth/SessionManager.ts +17 -10
  452. package/src/auth/__tests/Peer.test.ts +361 -179
  453. package/src/auth/__tests/SessionManager.test.ts +67 -19
  454. package/src/auth/__tests/build.test.ts +11 -0
  455. package/src/auth/certificates/Certificate.ts +27 -14
  456. package/src/auth/certificates/MasterCertificate.ts +106 -62
  457. package/src/auth/certificates/VerifiableCertificate.ts +30 -8
  458. package/src/auth/certificates/__tests/Certificate.test.ts +32 -17
  459. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +171 -68
  460. package/src/auth/certificates/__tests/MasterCertificate.test.ts +63 -47
  461. package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +42 -31
  462. package/src/auth/certificates/index.ts +1 -1
  463. package/src/auth/clients/AuthFetch.ts +1 -0
  464. package/src/auth/clients/index.ts +1 -1
  465. package/src/auth/transports/SimplifiedFetchTransport.ts +145 -72
  466. package/src/auth/transports/index.ts +1 -1
  467. package/src/auth/utils/__tests/cryptononce.test.ts +52 -23
  468. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +56 -30
  469. package/src/auth/utils/__tests/validateCertificates.test.ts +53 -31
  470. package/src/auth/utils/createNonce.ts +11 -3
  471. package/src/auth/utils/getVerifiableCertificates.ts +12 -7
  472. package/src/auth/utils/validateCertificates.ts +57 -39
  473. package/src/auth/utils/verifyNonce.ts +6 -2
  474. package/src/compat/BSM.ts +10 -2
  475. package/src/compat/ECIES.ts +265 -141
  476. package/src/compat/HD.ts +81 -63
  477. package/src/compat/Mnemonic.ts +104 -91
  478. package/src/compat/Utxo.ts +8 -5
  479. package/src/compat/__tests/BSM.test.ts +42 -16
  480. package/src/compat/__tests/ECIES.test.ts +117 -52
  481. package/src/compat/__tests/HD.test.ts +55 -42
  482. package/src/compat/__tests/Mnemonic.test.ts +11 -12
  483. package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
  484. package/src/messages/EncryptedMessage.ts +6 -2
  485. package/src/messages/SignedMessage.ts +14 -8
  486. package/src/messages/__tests/EncryptedMessage.test.ts +23 -24
  487. package/src/messages/__tests/SignedMessage.test.ts +17 -11
  488. package/src/overlay-tools/LookupResolver.ts +108 -56
  489. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -23
  490. package/src/overlay-tools/SHIPBroadcaster.ts +135 -59
  491. package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
  492. package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
  493. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
  494. package/src/primitives/AESGCM.ts +2 -0
  495. package/src/primitives/BasePoint.ts +4 -4
  496. package/src/primitives/BigNumber.ts +99 -90
  497. package/src/primitives/Curve.ts +117 -46
  498. package/src/primitives/DRBG.ts +9 -11
  499. package/src/primitives/ECDSA.ts +109 -63
  500. package/src/primitives/Hash.ts +492 -321
  501. package/src/primitives/JacobianPoint.ts +67 -19
  502. package/src/primitives/Point.ts +254 -152
  503. package/src/primitives/Polynomial.ts +8 -3
  504. package/src/primitives/PrivateKey.ts +41 -17
  505. package/src/primitives/PublicKey.ts +13 -3
  506. package/src/primitives/Random.ts +14 -8
  507. package/src/primitives/ReductionContext.ts +1 -1
  508. package/src/primitives/Schnorr.ts +40 -18
  509. package/src/primitives/Signature.ts +26 -16
  510. package/src/primitives/SymmetricKey.ts +14 -14
  511. package/src/primitives/TransactionSignature.ts +41 -17
  512. package/src/primitives/__tests/AESGCM.test.ts +457 -151
  513. package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
  514. package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
  515. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +344 -125
  516. package/src/primitives/__tests/BigNumber.binary.test.ts +148 -67
  517. package/src/primitives/__tests/BigNumber.constructor.test.ts +65 -25
  518. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -11
  519. package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
  520. package/src/primitives/__tests/BigNumber.serializers.test.ts +41 -15
  521. package/src/primitives/__tests/BigNumber.utils.test.ts +132 -42
  522. package/src/primitives/__tests/Curve.unit.test.ts +75 -53
  523. package/src/primitives/__tests/DRBG.test.ts +1 -1
  524. package/src/primitives/__tests/DRBG.vectors.ts +45 -75
  525. package/src/primitives/__tests/ECDH.test.ts +15 -8
  526. package/src/primitives/__tests/ECDSA.test.ts +12 -6
  527. package/src/primitives/__tests/HMAC.test.ts +24 -18
  528. package/src/primitives/__tests/Hash.test.ts +57 -46
  529. package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
  530. package/src/primitives/__tests/PrivateKey.split.test.ts +33 -11
  531. package/src/primitives/__tests/PrivateKey.test.ts +11 -10
  532. package/src/primitives/__tests/PublicKey.test.ts +64 -53
  533. package/src/primitives/__tests/Random.test.ts +1 -1
  534. package/src/primitives/__tests/Reader.test.ts +240 -219
  535. package/src/primitives/__tests/ReductionContext.test.ts +98 -61
  536. package/src/primitives/__tests/Schnorr.test.ts +249 -237
  537. package/src/primitives/__tests/SymmetricKey.test.ts +18 -15
  538. package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
  539. package/src/primitives/__tests/Writer.test.ts +23 -13
  540. package/src/primitives/__tests/bug-31.test.ts +6 -10
  541. package/src/primitives/__tests/utils.test.ts +70 -19
  542. package/src/primitives/utils.ts +103 -79
  543. package/src/script/Script.ts +18 -12
  544. package/src/script/ScriptTemplate.ts +3 -5
  545. package/src/script/Spend.ts +306 -108
  546. package/src/script/__tests/Script.test.ts +73 -55
  547. package/src/script/__tests/Spend.test.ts +208 -83
  548. package/src/script/__tests/SpendComplex.test.ts +19 -13
  549. package/src/script/__tests/script.invalid.vectors.ts +428 -1796
  550. package/src/script/__tests/script.valid.vectors.ts +728 -2764
  551. package/src/script/templates/P2PKH.ts +34 -12
  552. package/src/script/templates/PushDrop.ts +65 -31
  553. package/src/script/templates/RPuzzle.ts +29 -8
  554. package/src/script/templates/__tests/PushDrop.test.ts +146 -41
  555. package/src/totp/__tests/totp.test.ts +45 -44
  556. package/src/totp/totp.ts +3 -2
  557. package/src/transaction/Beef.ts +269 -174
  558. package/src/transaction/BeefParty.ts +41 -31
  559. package/src/transaction/BeefTx.ts +36 -26
  560. package/src/transaction/Broadcaster.ts +10 -6
  561. package/src/transaction/ChainTracker.ts +2 -2
  562. package/src/transaction/FeeModel.ts +0 -1
  563. package/src/transaction/MerklePath.ts +124 -59
  564. package/src/transaction/Transaction.ts +188 -187
  565. package/src/transaction/TransactionOutput.ts +0 -1
  566. package/src/transaction/__tests/Beef.test.ts +390 -287
  567. package/src/transaction/__tests/MerklePath.test.ts +59 -26
  568. package/src/transaction/__tests/Transaction.benchmarks.test.ts +231 -201
  569. package/src/transaction/__tests/Transaction.test.ts +758 -482
  570. package/src/transaction/__tests/bigtx.vectors.ts +2 -1
  571. package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
  572. package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
  573. package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
  574. package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
  575. package/src/transaction/broadcasters/ARC.ts +69 -38
  576. package/src/transaction/broadcasters/DefaultBroadcaster.ts +9 -3
  577. package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +20 -7
  578. package/src/transaction/broadcasters/__tests/ARC.test.ts +127 -59
  579. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +27 -18
  580. package/src/transaction/chaintrackers/DefaultChainTracker.ts +1 -1
  581. package/src/transaction/chaintrackers/WhatsOnChain.ts +27 -11
  582. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +59 -23
  583. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +9 -5
  584. package/src/transaction/http/DefaultHttpClient.ts +5 -4
  585. package/src/transaction/http/FetchHttpClient.ts +18 -9
  586. package/src/transaction/http/HttpClient.ts +27 -22
  587. package/src/transaction/http/NodejsHttpClient.ts +23 -9
  588. package/src/transaction/http/index.ts +5 -1
  589. package/src/transaction/index.ts +5 -1
  590. package/src/wallet/CachedKeyDeriver.ts +151 -82
  591. package/src/wallet/KeyDeriver.ts +186 -105
  592. package/src/wallet/ProtoWallet.ts +121 -52
  593. package/src/wallet/Wallet.interfaces.ts +167 -156
  594. package/src/wallet/WalletClient.ts +314 -59
  595. package/src/wallet/WalletError.ts +2 -2
  596. package/src/wallet/__tests/CachedKeyDeriver.test.ts +86 -27
  597. package/src/wallet/__tests/KeyDeriver.test.ts +136 -33
  598. package/src/wallet/__tests/ProtoWallet.test.ts +190 -102
  599. package/src/wallet/substrates/HTTPWalletJSON.ts +250 -67
  600. package/src/wallet/substrates/HTTPWalletWire.ts +7 -3
  601. package/src/wallet/substrates/WalletWireCalls.ts +2 -2
  602. package/src/wallet/substrates/WalletWireProcessor.ts +1412 -1277
  603. package/src/wallet/substrates/WalletWireTransceiver.ts +713 -138
  604. package/src/wallet/substrates/XDM.ts +425 -36
  605. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +488 -225
  606. package/src/wallet/substrates/__tests/XDM.test.ts +232 -234
  607. package/src/wallet/substrates/window.CWI.ts +520 -61
@@ -1,6 +1,6 @@
1
1
  /* global describe, it */
2
2
 
3
- import BigNumber from '../../../dist/cjs/src/primitives/BigNumber'
3
+ import BigNumber from '../../primitives/BigNumber'
4
4
  import * as fixtures from './BigNumber.fixtures'
5
5
 
6
6
  describe('BN.js/Arithmetic', () => {
@@ -78,7 +78,9 @@ describe('BN.js/Arithmetic', () => {
78
78
  })
79
79
 
80
80
  it('should throw error with num eq 0x4000000', () => {
81
- expect(() => new BigNumber(0).iaddn(0x4000000)).toThrow('num is too large')
81
+ expect(() => new BigNumber(0).iaddn(0x4000000)).toThrow(
82
+ 'num is too large'
83
+ )
82
84
  })
83
85
 
84
86
  it('should reset sign if value equal to value in instance', () => {
@@ -92,20 +94,25 @@ describe('BN.js/Arithmetic', () => {
92
94
  expect(new BigNumber(26).sub(new BigNumber(14)).toString(16)).toBe('c')
93
95
  expect(new BigNumber(14).sub(new BigNumber(26)).toString(16)).toBe('-c')
94
96
  expect(new BigNumber(26).sub(new BigNumber(26)).toString(16)).toBe('0')
95
- expect(new BigNumber(-26).sub(new BigNumber(26)).toString(16)).toBe('-34')
97
+ expect(new BigNumber(-26).sub(new BigNumber(26)).toString(16)).toBe(
98
+ '-34'
99
+ )
96
100
  })
97
101
 
98
102
  const a = new BigNumber(
99
103
  '31ff3c61db2db84b9823d320907a573f6ad37c437abe458b1802cda041d6384' +
100
- 'a7d8daef41395491e2',
101
- 16)
104
+ 'a7d8daef41395491e2',
105
+ 16
106
+ )
102
107
  const b = new BigNumber(
103
108
  '6f0e4d9f1d6071c183677f601af9305721c91d31b0bbbae8fb790000',
104
- 16)
109
+ 16
110
+ )
105
111
  const r = new BigNumber(
106
112
  '31ff3c61db2db84b9823d3208989726578fd75276287cd9516533a9acfb9a67' +
107
- '76281f34583ddb91e2',
108
- 16)
113
+ '76281f34583ddb91e2',
114
+ 16
115
+ )
109
116
 
110
117
  it('should subtract big numbers', () => {
111
118
  expect(a.sub(b).cmp(r)).toBe(0)
@@ -129,9 +136,12 @@ describe('BN.js/Arithmetic', () => {
129
136
  describe('.isubn()', () => {
130
137
  it('should subtract negative number', () => {
131
138
  const r = new BigNumber(
132
- '7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b', 16)
139
+ '7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b',
140
+ 16
141
+ )
133
142
  expect(r.isubn(-1).toString(16)).toBe(
134
- '7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681c')
143
+ '7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681c'
144
+ )
135
145
  })
136
146
 
137
147
  it('should work for positive numbers', () => {
@@ -163,7 +173,9 @@ describe('BN.js/Arithmetic', () => {
163
173
  })
164
174
 
165
175
  it('should throw error with num eq 0x4000000', () => {
166
- expect(() => new BigNumber(0).isubn(0x4000000)).toThrow('Assertion failed')
176
+ expect(() => new BigNumber(0).isubn(0x4000000)).toThrow(
177
+ 'Assertion failed'
178
+ )
167
179
  })
168
180
  })
169
181
 
@@ -203,27 +215,25 @@ describe('BN.js/Arithmetic', () => {
203
215
  '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',
204
216
  16
205
217
  )
206
- expect(
207
- mul(n, n).toString(16)
208
- ).toBe(
218
+ expect(mul(n, n).toString(16)).toBe(
209
219
  '39e58a8055b6fb264b75ec8c646509784204ac15a8c24e05babc9729ab9' +
210
- 'b055c3a9458e4ce3289560a38e08ba8175a9446ce14e608245ab3a9' +
211
- '978a8bd8acaa40'
220
+ 'b055c3a9458e4ce3289560a38e08ba8175a9446ce14e608245ab3a9' +
221
+ '978a8bd8acaa40'
212
222
  )
213
- expect(
214
- mul(mul(n, n), n).toString(16)
215
- ).toBe(
223
+ expect(mul(mul(n, n), n).toString(16)).toBe(
216
224
  '1b888e01a06e974017a28a5b4da436169761c9730b7aeedf75fc60f687b' +
217
- '46e0cf2cb11667f795d5569482640fe5f628939467a01a612b02350' +
218
- '0d0161e9730279a7561043af6197798e41b7432458463e64fa81158' +
219
- '907322dc330562697d0d600'
225
+ '46e0cf2cb11667f795d5569482640fe5f628939467a01a612b02350' +
226
+ '0d0161e9730279a7561043af6197798e41b7432458463e64fa81158' +
227
+ '907322dc330562697d0d600'
220
228
  )
221
229
  })
222
230
 
223
231
  it('should multiply neg number on 0', () => {
224
232
  expect(
225
- mul(new BigNumber('-100000000000'), new BigNumber('3').div(new BigNumber('4')))
226
- .toString(16)
233
+ mul(
234
+ new BigNumber('-100000000000'),
235
+ new BigNumber('3').div(new BigNumber('4'))
236
+ ).toString(16)
227
237
  ).toBe('0')
228
238
  })
229
239
 
@@ -279,17 +289,27 @@ describe('BN.js/Arithmetic', () => {
279
289
  })
280
290
 
281
291
  it('should throw error with num eq 0x4000000', () => {
282
- expect(() => new BigNumber(0).imuln(0x4000000)).toThrow(/^Assertion failed$/)
292
+ expect(() => new BigNumber(0).imuln(0x4000000)).toThrow(
293
+ /^Assertion failed$/
294
+ )
283
295
  })
284
296
 
285
297
  it('should negate number if number is negative', () => {
286
298
  const a = new BigNumber('dead', 16)
287
- expect(a.clone().imuln(-1).toString(16)).toBe(a.clone().neg().toString(16))
288
- expect(a.clone().muln(-1).toString(16)).toBe(a.clone().neg().toString(16))
299
+ expect(a.clone().imuln(-1).toString(16)).toBe(
300
+ a.clone().neg().toString(16)
301
+ )
302
+ expect(a.clone().muln(-1).toString(16)).toBe(
303
+ a.clone().neg().toString(16)
304
+ )
289
305
 
290
306
  const b = new BigNumber('dead', 16)
291
- expect(b.clone().imuln(-42).toString(16)).toBe(b.clone().neg().muln(42).toString(16))
292
- expect(b.clone().muln(-42).toString(16)).toBe(b.clone().neg().muln(42).toString(16))
307
+ expect(b.clone().imuln(-42).toString(16)).toBe(
308
+ b.clone().neg().muln(42).toString(16)
309
+ )
310
+ expect(b.clone().muln(-42).toString(16)).toBe(
311
+ b.clone().neg().muln(42).toString(16)
312
+ )
293
313
  })
294
314
  })
295
315
 
@@ -305,63 +325,129 @@ describe('BN.js/Arithmetic', () => {
305
325
 
306
326
  describe('.div()', () => {
307
327
  it('should divide small numbers (<=26 bits)', () => {
308
- expect(new BigNumber('256').div(new BigNumber(10)).toString(10)).toEqual('25')
309
- expect(new BigNumber('-256').div(new BigNumber(10)).toString(10)).toEqual('-25')
310
- expect(new BigNumber('256').div(new BigNumber(-10)).toString(10)).toEqual('-25')
311
- expect(new BigNumber('-256').div(new BigNumber(-10)).toString(10)).toEqual('25')
312
-
313
- expect(new BigNumber('10').div(new BigNumber(256)).toString(10)).toEqual('0')
314
- expect(new BigNumber('-10').div(new BigNumber(256)).toString(10)).toEqual('0')
315
- expect(new BigNumber('10').div(new BigNumber(-256)).toString(10)).toEqual('0')
316
- expect(new BigNumber('-10').div(new BigNumber(-256)).toString(10)).toEqual('0')
328
+ expect(new BigNumber('256').div(new BigNumber(10)).toString(10)).toEqual(
329
+ '25'
330
+ )
331
+ expect(new BigNumber('-256').div(new BigNumber(10)).toString(10)).toEqual(
332
+ '-25'
333
+ )
334
+ expect(new BigNumber('256').div(new BigNumber(-10)).toString(10)).toEqual(
335
+ '-25'
336
+ )
337
+ expect(
338
+ new BigNumber('-256').div(new BigNumber(-10)).toString(10)
339
+ ).toEqual('25')
340
+
341
+ expect(new BigNumber('10').div(new BigNumber(256)).toString(10)).toEqual(
342
+ '0'
343
+ )
344
+ expect(new BigNumber('-10').div(new BigNumber(256)).toString(10)).toEqual(
345
+ '0'
346
+ )
347
+ expect(new BigNumber('10').div(new BigNumber(-256)).toString(10)).toEqual(
348
+ '0'
349
+ )
350
+ expect(
351
+ new BigNumber('-10').div(new BigNumber(-256)).toString(10)
352
+ ).toEqual('0')
317
353
  })
318
354
 
319
355
  it('should divide large numbers (>53 bits)', () => {
320
- expect(new BigNumber('1222222225255589').div(new BigNumber('611111124969028')).toString(10)).toEqual('1')
321
- expect(new BigNumber('-1222222225255589').div(new BigNumber('611111124969028')).toString(10)).toEqual('-1')
322
- expect(new BigNumber('1222222225255589').div(new BigNumber('-611111124969028')).toString(10)).toEqual('-1')
323
- expect(new BigNumber('-1222222225255589').div(new BigNumber('-611111124969028')).toString(10)).toEqual('1')
356
+ expect(
357
+ new BigNumber('1222222225255589')
358
+ .div(new BigNumber('611111124969028'))
359
+ .toString(10)
360
+ ).toEqual('1')
361
+ expect(
362
+ new BigNumber('-1222222225255589')
363
+ .div(new BigNumber('611111124969028'))
364
+ .toString(10)
365
+ ).toEqual('-1')
366
+ expect(
367
+ new BigNumber('1222222225255589')
368
+ .div(new BigNumber('-611111124969028'))
369
+ .toString(10)
370
+ ).toEqual('-1')
371
+ expect(
372
+ new BigNumber('-1222222225255589')
373
+ .div(new BigNumber('-611111124969028'))
374
+ .toString(10)
375
+ ).toEqual('1')
324
376
 
325
- expect(new BigNumber('611111124969028').div(new BigNumber('1222222225255589')).toString(10)).toEqual('0')
326
- expect(new BigNumber('-611111124969028').div(new BigNumber('1222222225255589')).toString(10)).toEqual('0')
327
- expect(new BigNumber('611111124969028').div(new BigNumber('-1222222225255589')).toString(10)).toEqual('0')
328
- expect(new BigNumber('-611111124969028').div(new BigNumber('-1222222225255589')).toString(10)).toEqual('0')
377
+ expect(
378
+ new BigNumber('611111124969028')
379
+ .div(new BigNumber('1222222225255589'))
380
+ .toString(10)
381
+ ).toEqual('0')
382
+ expect(
383
+ new BigNumber('-611111124969028')
384
+ .div(new BigNumber('1222222225255589'))
385
+ .toString(10)
386
+ ).toEqual('0')
387
+ expect(
388
+ new BigNumber('611111124969028')
389
+ .div(new BigNumber('-1222222225255589'))
390
+ .toString(10)
391
+ ).toEqual('0')
392
+ expect(
393
+ new BigNumber('-611111124969028')
394
+ .div(new BigNumber('-1222222225255589'))
395
+ .toString(10)
396
+ ).toEqual('0')
329
397
  })
330
398
 
331
399
  it('should divide numbers', () => {
332
- expect(new BigNumber('69527932928').div(new BigNumber('16974594')).toString(16)).toEqual('fff')
333
- expect(new BigNumber('-69527932928').div(new BigNumber('16974594')).toString(16)).toEqual('-fff')
400
+ expect(
401
+ new BigNumber('69527932928').div(new BigNumber('16974594')).toString(16)
402
+ ).toEqual('fff')
403
+ expect(
404
+ new BigNumber('-69527932928')
405
+ .div(new BigNumber('16974594'))
406
+ .toString(16)
407
+ ).toEqual('-fff')
334
408
 
335
- const b = new BigNumber('39e58a8055b6fb264b75ec8c646509784204ac15a8c24e05babc9729ab9b055c3a9458e4ce3289560a38e08ba8175a9446ce14e608245ab3a9978a8bd8acaa40', 16)
336
- const n = new BigNumber('79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798', 16)
409
+ const b = new BigNumber(
410
+ '39e58a8055b6fb264b75ec8c646509784204ac15a8c24e05babc9729ab9b055c3a9458e4ce3289560a38e08ba8175a9446ce14e608245ab3a9978a8bd8acaa40',
411
+ 16
412
+ )
413
+ const n = new BigNumber(
414
+ '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',
415
+ 16
416
+ )
337
417
  expect(b.div(n).toString(16)).toEqual(n.toString(16))
338
418
 
339
- expect(new BigNumber('1').div(new BigNumber('-5')).toString(10)).toEqual('0')
419
+ expect(new BigNumber('1').div(new BigNumber('-5')).toString(10)).toEqual(
420
+ '0'
421
+ )
340
422
  })
341
423
 
342
424
  it('should not fail on regression after moving to _wordDiv', function () {
343
425
  // Regression after moving to word div
344
426
  let p = new BigNumber(
345
427
  'fffffffffffffffffffffffffffffffffffffffffffffffffffffffefffffc2f',
346
- 16)
428
+ 16
429
+ )
347
430
  let a = new BigNumber(
348
431
  '79be667ef9dcbbac55a06295ce870b07029bfcdb2dce28d959f2815b16f81798',
349
- 16)
432
+ 16
433
+ )
350
434
  const as = a.sqr()
351
- expect(
352
- as.div(p).toString(16)).toEqual(
353
- '39e58a8055b6fb264b75ec8c646509784204ac15a8c24e05babc9729e58090b9')
435
+ expect(as.div(p).toString(16)).toEqual(
436
+ '39e58a8055b6fb264b75ec8c646509784204ac15a8c24e05babc9729e58090b9'
437
+ )
354
438
 
355
439
  p = new BigNumber(
356
440
  'ffffffff00000001000000000000000000000000ffffffffffffffffffffffff',
357
- 16)
441
+ 16
442
+ )
358
443
  a = new BigNumber(
359
444
  'fffffffe00000003fffffffd0000000200000001fffffffe00000002ffffffff' +
360
- 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff',
361
- 16)
362
- expect(
363
- a.div(p).toString(16)).toEqual(
364
- 'ffffffff00000002000000000000000000000001000000000000000000000001')
445
+ 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff',
446
+ 16
447
+ )
448
+ expect(a.div(p).toString(16)).toEqual(
449
+ 'ffffffff00000002000000000000000000000001000000000000000000000001'
450
+ )
365
451
  })
366
452
  })
367
453
 
@@ -370,74 +456,160 @@ describe('BN.js/Arithmetic', () => {
370
456
  expect(new BigNumber('10', 16).idivn(3).toString(16)).toEqual('5')
371
457
  expect(new BigNumber('10', 16).idivn(-3).toString(16)).toEqual('-5')
372
458
  expect(new BigNumber('12', 16).idivn(3).toString(16)).toEqual('6')
373
- expect(new BigNumber('10000000000000000').idivn(3).toString(10)).toEqual('3333333333333333')
374
- expect(new BigNumber('100000000000000000000000000000').idivn(3).toString(10)).toEqual('33333333333333333333333333333')
459
+ expect(new BigNumber('10000000000000000').idivn(3).toString(10)).toEqual(
460
+ '3333333333333333'
461
+ )
462
+ expect(
463
+ new BigNumber('100000000000000000000000000000').idivn(3).toString(10)
464
+ ).toEqual('33333333333333333333333333333')
375
465
 
376
466
  const t = new BigNumber(3)
377
- expect(new BigNumber('12345678901234567890123456', 16).idivn(3).toString(16)).toEqual(new BigNumber('12345678901234567890123456', 16).div(t).toString(16))
467
+ expect(
468
+ new BigNumber('12345678901234567890123456', 16).idivn(3).toString(16)
469
+ ).toEqual(
470
+ new BigNumber('12345678901234567890123456', 16).div(t).toString(16)
471
+ )
378
472
  })
379
473
  })
380
474
 
381
475
  describe('.divRound()', () => {
382
476
  it('should divide numbers with rounding', () => {
383
- expect(new BigNumber(9).divRound(new BigNumber(20)).toString(10)).toEqual('0')
384
- expect(new BigNumber(10).divRound(new BigNumber(20)).toString(10)).toEqual('1')
385
- expect(new BigNumber(150).divRound(new BigNumber(20)).toString(10)).toEqual('8')
386
- expect(new BigNumber(149).divRound(new BigNumber(20)).toString(10)).toEqual('7')
387
- expect(new BigNumber(149).divRound(new BigNumber(17)).toString(10)).toEqual('9')
388
- expect(new BigNumber(144).divRound(new BigNumber(17)).toString(10)).toEqual('8')
389
- expect(new BigNumber(-144).divRound(new BigNumber(17)).toString(10)).toEqual('-8')
477
+ expect(new BigNumber(9).divRound(new BigNumber(20)).toString(10)).toEqual(
478
+ '0'
479
+ )
480
+ expect(
481
+ new BigNumber(10).divRound(new BigNumber(20)).toString(10)
482
+ ).toEqual('1')
483
+ expect(
484
+ new BigNumber(150).divRound(new BigNumber(20)).toString(10)
485
+ ).toEqual('8')
486
+ expect(
487
+ new BigNumber(149).divRound(new BigNumber(20)).toString(10)
488
+ ).toEqual('7')
489
+ expect(
490
+ new BigNumber(149).divRound(new BigNumber(17)).toString(10)
491
+ ).toEqual('9')
492
+ expect(
493
+ new BigNumber(144).divRound(new BigNumber(17)).toString(10)
494
+ ).toEqual('8')
495
+ expect(
496
+ new BigNumber(-144).divRound(new BigNumber(17)).toString(10)
497
+ ).toEqual('-8')
390
498
  })
391
499
 
392
500
  it('should return 1 on exact division', () => {
393
- expect(new BigNumber(144).divRound(new BigNumber(144)).toString(10)).toEqual('1')
501
+ expect(
502
+ new BigNumber(144).divRound(new BigNumber(144)).toString(10)
503
+ ).toEqual('1')
394
504
  })
395
505
  })
396
506
 
397
507
  describe('.mod()', () => {
398
508
  it('should modulo small numbers (<=26 bits)', () => {
399
- expect(new BigNumber('256').mod(new BigNumber(10)).toString(10)).toEqual('6')
400
- expect(new BigNumber('-256').mod(new BigNumber(10)).toString(10)).toEqual('-6')
401
- expect(new BigNumber('256').mod(new BigNumber(-10)).toString(10)).toEqual('6')
402
- expect(new BigNumber('-256').mod(new BigNumber(-10)).toString(10)).toEqual('-6')
403
-
404
- expect(new BigNumber('10').mod(new BigNumber(256)).toString(10)).toEqual('10')
405
- expect(new BigNumber('-10').mod(new BigNumber(256)).toString(10)).toEqual('-10')
406
- expect(new BigNumber('10').mod(new BigNumber(-256)).toString(10)).toEqual('10')
407
- expect(new BigNumber('-10').mod(new BigNumber(-256)).toString(10)).toEqual('-10')
509
+ expect(new BigNumber('256').mod(new BigNumber(10)).toString(10)).toEqual(
510
+ '6'
511
+ )
512
+ expect(new BigNumber('-256').mod(new BigNumber(10)).toString(10)).toEqual(
513
+ '-6'
514
+ )
515
+ expect(new BigNumber('256').mod(new BigNumber(-10)).toString(10)).toEqual(
516
+ '6'
517
+ )
518
+ expect(
519
+ new BigNumber('-256').mod(new BigNumber(-10)).toString(10)
520
+ ).toEqual('-6')
521
+
522
+ expect(new BigNumber('10').mod(new BigNumber(256)).toString(10)).toEqual(
523
+ '10'
524
+ )
525
+ expect(new BigNumber('-10').mod(new BigNumber(256)).toString(10)).toEqual(
526
+ '-10'
527
+ )
528
+ expect(new BigNumber('10').mod(new BigNumber(-256)).toString(10)).toEqual(
529
+ '10'
530
+ )
531
+ expect(
532
+ new BigNumber('-10').mod(new BigNumber(-256)).toString(10)
533
+ ).toEqual('-10')
408
534
  })
409
535
 
410
536
  it('should modulo large numbers (>53 bits)', () => {
411
- expect(new BigNumber('1222222225255589').mod(new BigNumber('611111124969028')).toString(10)).toEqual('611111100286561')
412
- expect(new BigNumber('-1222222225255589').mod(new BigNumber('611111124969028')).toString(10)).toEqual('-611111100286561')
413
- expect(new BigNumber('1222222225255589').mod(new BigNumber('-611111124969028')).toString(10)).toEqual('611111100286561')
414
- expect(new BigNumber('-1222222225255589').mod(new BigNumber('-611111124969028')).toString(10)).toEqual('-611111100286561')
537
+ expect(
538
+ new BigNumber('1222222225255589')
539
+ .mod(new BigNumber('611111124969028'))
540
+ .toString(10)
541
+ ).toEqual('611111100286561')
542
+ expect(
543
+ new BigNumber('-1222222225255589')
544
+ .mod(new BigNumber('611111124969028'))
545
+ .toString(10)
546
+ ).toEqual('-611111100286561')
547
+ expect(
548
+ new BigNumber('1222222225255589')
549
+ .mod(new BigNumber('-611111124969028'))
550
+ .toString(10)
551
+ ).toEqual('611111100286561')
552
+ expect(
553
+ new BigNumber('-1222222225255589')
554
+ .mod(new BigNumber('-611111124969028'))
555
+ .toString(10)
556
+ ).toEqual('-611111100286561')
415
557
 
416
- expect(new BigNumber('611111124969028').mod(new BigNumber('1222222225255589')).toString(10)).toEqual('611111124969028')
417
- expect(new BigNumber('-611111124969028').mod(new BigNumber('1222222225255589')).toString(10)).toEqual('-611111124969028')
418
- expect(new BigNumber('611111124969028').mod(new BigNumber('-1222222225255589')).toString(10)).toEqual('611111124969028')
419
- expect(new BigNumber('-611111124969028').mod(new BigNumber('-1222222225255589')).toString(10)).toEqual('-611111124969028')
558
+ expect(
559
+ new BigNumber('611111124969028')
560
+ .mod(new BigNumber('1222222225255589'))
561
+ .toString(10)
562
+ ).toEqual('611111124969028')
563
+ expect(
564
+ new BigNumber('-611111124969028')
565
+ .mod(new BigNumber('1222222225255589'))
566
+ .toString(10)
567
+ ).toEqual('-611111124969028')
568
+ expect(
569
+ new BigNumber('611111124969028')
570
+ .mod(new BigNumber('-1222222225255589'))
571
+ .toString(10)
572
+ ).toEqual('611111124969028')
573
+ expect(
574
+ new BigNumber('-611111124969028')
575
+ .mod(new BigNumber('-1222222225255589'))
576
+ .toString(10)
577
+ ).toEqual('-611111124969028')
420
578
  })
421
579
 
422
580
  it('should mod numbers', () => {
423
- expect(new BigNumber('10').mod(new BigNumber(256)).toString(16)).toEqual('a')
424
- expect(new BigNumber('69527932928').mod(new BigNumber('16974594')).toString(16)).toEqual('102f302')
581
+ expect(new BigNumber('10').mod(new BigNumber(256)).toString(16)).toEqual(
582
+ 'a'
583
+ )
584
+ expect(
585
+ new BigNumber('69527932928').mod(new BigNumber('16974594')).toString(16)
586
+ ).toEqual('102f302')
425
587
 
426
588
  expect(new BigNumber(178).div(new BigNumber(10)).toNumber()).toEqual(17)
427
589
  expect(new BigNumber(178).mod(new BigNumber(10)).toNumber()).toEqual(8)
428
590
  expect(new BigNumber(178).umod(new BigNumber(10)).toNumber()).toEqual(8)
429
591
 
430
- expect(new BigNumber(-178).div(new BigNumber(10)).toNumber()).toEqual(-17)
592
+ expect(new BigNumber(-178).div(new BigNumber(10)).toNumber()).toEqual(
593
+ -17
594
+ )
431
595
  expect(new BigNumber(-178).mod(new BigNumber(10)).toNumber()).toEqual(-8)
432
596
  expect(new BigNumber(-178).umod(new BigNumber(10)).toNumber()).toEqual(2)
433
597
 
434
- expect(new BigNumber(178).div(new BigNumber(-10)).toNumber()).toEqual(-17)
598
+ expect(new BigNumber(178).div(new BigNumber(-10)).toNumber()).toEqual(
599
+ -17
600
+ )
435
601
  expect(new BigNumber(178).mod(new BigNumber(-10)).toNumber()).toEqual(8)
436
602
  expect(new BigNumber(178).umod(new BigNumber(-10)).toNumber()).toEqual(8)
437
603
 
438
- expect(new BigNumber(-178).div(new BigNumber(-10)).toNumber()).toEqual(17)
439
- expect(new BigNumber(-178).mod(new BigNumber(-10)).toNumber()).toEqual(-8)
440
- expect(new BigNumber(-178).umod(new BigNumber(-10)).toNumber()).toEqual(2)
604
+ expect(new BigNumber(-178).div(new BigNumber(-10)).toNumber()).toEqual(
605
+ 17
606
+ )
607
+ expect(new BigNumber(-178).mod(new BigNumber(-10)).toNumber()).toEqual(
608
+ -8
609
+ )
610
+ expect(new BigNumber(-178).umod(new BigNumber(-10)).toNumber()).toEqual(
611
+ 2
612
+ )
441
613
 
442
614
  expect(new BigNumber(-4).div(new BigNumber(-3)).toNumber()).toEqual(1)
443
615
  expect(new BigNumber(-4).mod(new BigNumber(-3)).toNumber()).toEqual(-1)
@@ -447,19 +619,25 @@ describe('BN.js/Arithmetic', () => {
447
619
 
448
620
  const p = new BigNumber(
449
621
  'ffffffff00000001000000000000000000000000ffffffffffffffffffffffff',
450
- 16)
622
+ 16
623
+ )
451
624
  const a = new BigNumber(
452
625
  'fffffffe00000003fffffffd0000000200000001fffffffe00000002ffffffff' +
453
- 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff',
454
- 16)
626
+ 'ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff',
627
+ 16
628
+ )
455
629
  expect(a.mod(p).toString(16)).toEqual('0')
456
630
  })
457
631
 
458
632
  it('should properly carry the sign inside division', () => {
459
- const a = new BigNumber('945304eb96065b2a98b57a48a06ae28d285a71b5', 'hex')
633
+ const a = new BigNumber(
634
+ '945304eb96065b2a98b57a48a06ae28d285a71b5',
635
+ 'hex'
636
+ )
460
637
  const b = new BigNumber(
461
638
  'fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe',
462
- 'hex')
639
+ 'hex'
640
+ )
463
641
 
464
642
  expect(a.mul(b).mod(a).cmpn(0)).toEqual(0)
465
643
  })
@@ -471,11 +649,15 @@ describe('BN.js/Arithmetic', () => {
471
649
  expect(new BigNumber('10', 16).modrn(-256).toString(16)).toEqual('-10')
472
650
  expect(new BigNumber('100', 16).modrn(256).toString(16)).toEqual('0')
473
651
  expect(new BigNumber('1001', 16).modrn(256).toString(16)).toEqual('1')
474
- expect(new BigNumber('100000000001', 16).modrn(256).toString(16)).toEqual('1')
652
+ expect(new BigNumber('100000000001', 16).modrn(256).toString(16)).toEqual(
653
+ '1'
654
+ )
475
655
  expect(new BigNumber('100000000001', 16).modrn(257).toString(16)).toEqual(
476
- new BigNumber('100000000001', 16).mod(new BigNumber(257)).toString(16))
656
+ new BigNumber('100000000001', 16).mod(new BigNumber(257)).toString(16)
657
+ )
477
658
  expect(new BigNumber('123456789012', 16).modrn(3).toString(16)).toEqual(
478
- new BigNumber('123456789012', 16).mod(new BigNumber(3)).toString(16))
659
+ new BigNumber('123456789012', 16).mod(new BigNumber(3)).toString(16)
660
+ )
479
661
  })
480
662
  })
481
663
 
@@ -483,7 +665,9 @@ describe('BN.js/Arithmetic', () => {
483
665
  it('should return absolute value', () => {
484
666
  expect(new BigNumber(0x1001).abs().toString()).toEqual('4097')
485
667
  expect(new BigNumber(-0x1001).abs().toString()).toEqual('4097')
486
- expect(new BigNumber('ffffffff', 16).abs().toString()).toEqual('4294967295')
668
+ expect(new BigNumber('ffffffff', 16).abs().toString()).toEqual(
669
+ '4294967295'
670
+ )
487
671
  })
488
672
  })
489
673
 
@@ -496,7 +680,8 @@ describe('BN.js/Arithmetic', () => {
496
680
 
497
681
  const p192 = new BigNumber(
498
682
  'fffffffffffffffffffffffffffffffeffffffffffffffff',
499
- 16)
683
+ 16
684
+ )
500
685
  a = new BigNumber('deadbeef', 16)
501
686
  b = a.invm(p192)
502
687
  expect(a.mul(b).mod(p192).toString(16)).toEqual('1')
@@ -516,11 +701,21 @@ describe('BN.js/Arithmetic', () => {
516
701
  describe('.gcd()', () => {
517
702
  it('should return GCD', () => {
518
703
  expect(new BigNumber(3).gcd(new BigNumber(2)).toString(10)).toEqual('1')
519
- expect(new BigNumber(18).gcd(new BigNumber(12)).toString(10)).toEqual('6')
520
- expect(new BigNumber(-18).gcd(new BigNumber(12)).toString(10)).toEqual('6')
521
- expect(new BigNumber(-18).gcd(new BigNumber(-12)).toString(10)).toEqual('6')
522
- expect(new BigNumber(-18).gcd(new BigNumber(0)).toString(10)).toEqual('18')
523
- expect(new BigNumber(0).gcd(new BigNumber(-18)).toString(10)).toEqual('18')
704
+ expect(new BigNumber(18).gcd(new BigNumber(12)).toString(10)).toEqual(
705
+ '6'
706
+ )
707
+ expect(new BigNumber(-18).gcd(new BigNumber(12)).toString(10)).toEqual(
708
+ '6'
709
+ )
710
+ expect(new BigNumber(-18).gcd(new BigNumber(-12)).toString(10)).toEqual(
711
+ '6'
712
+ )
713
+ expect(new BigNumber(-18).gcd(new BigNumber(0)).toString(10)).toEqual(
714
+ '18'
715
+ )
716
+ expect(new BigNumber(0).gcd(new BigNumber(-18)).toString(10)).toEqual(
717
+ '18'
718
+ )
524
719
  expect(new BigNumber(2).gcd(new BigNumber(0)).toString(10)).toEqual('2')
525
720
  expect(new BigNumber(0).gcd(new BigNumber(3)).toString(10)).toEqual('3')
526
721
  expect(new BigNumber(0).gcd(new BigNumber(0)).toString(10)).toEqual('0')
@@ -529,10 +724,18 @@ describe('BN.js/Arithmetic', () => {
529
724
 
530
725
  describe('.egcd()', () => {
531
726
  it('should return EGCD', () => {
532
- expect(new BigNumber(3).egcd(new BigNumber(2)).gcd.toString(10)).toEqual('1')
533
- expect(new BigNumber(18).egcd(new BigNumber(12)).gcd.toString(10)).toEqual('6')
534
- expect(new BigNumber(-18).egcd(new BigNumber(12)).gcd.toString(10)).toEqual('6')
535
- expect(new BigNumber(0).egcd(new BigNumber(12)).gcd.toString(10)).toEqual('12')
727
+ expect(new BigNumber(3).egcd(new BigNumber(2)).gcd.toString(10)).toEqual(
728
+ '1'
729
+ )
730
+ expect(
731
+ new BigNumber(18).egcd(new BigNumber(12)).gcd.toString(10)
732
+ ).toEqual('6')
733
+ expect(
734
+ new BigNumber(-18).egcd(new BigNumber(12)).gcd.toString(10)
735
+ ).toEqual('6')
736
+ expect(new BigNumber(0).egcd(new BigNumber(12)).gcd.toString(10)).toEqual(
737
+ '12'
738
+ )
536
739
  })
537
740
  it('should not allow 0 input', () => {
538
741
  expect(() => {
@@ -548,24 +751,40 @@ describe('BN.js/Arithmetic', () => {
548
751
 
549
752
  describe('BN.max(a, b)', () => {
550
753
  it('should return maximum', () => {
551
- expect(BigNumber.max(new BigNumber(3), new BigNumber(2)).toString(16)).toEqual('3')
552
- expect(BigNumber.max(new BigNumber(2), new BigNumber(3)).toString(16)).toEqual('3')
553
- expect(BigNumber.max(new BigNumber(2), new BigNumber(2)).toString(16)).toEqual('2')
554
- expect(BigNumber.max(new BigNumber(2), new BigNumber(-2)).toString(16)).toEqual('2')
754
+ expect(
755
+ BigNumber.max(new BigNumber(3), new BigNumber(2)).toString(16)
756
+ ).toEqual('3')
757
+ expect(
758
+ BigNumber.max(new BigNumber(2), new BigNumber(3)).toString(16)
759
+ ).toEqual('3')
760
+ expect(
761
+ BigNumber.max(new BigNumber(2), new BigNumber(2)).toString(16)
762
+ ).toEqual('2')
763
+ expect(
764
+ BigNumber.max(new BigNumber(2), new BigNumber(-2)).toString(16)
765
+ ).toEqual('2')
555
766
  })
556
767
  })
557
768
 
558
769
  describe('BN.min(a, b)', () => {
559
770
  it('should return minimum', () => {
560
- expect(BigNumber.min(new BigNumber(3), new BigNumber(2)).toString(16)).toEqual('2')
561
- expect(BigNumber.min(new BigNumber(2), new BigNumber(3)).toString(16)).toEqual('2')
562
- expect(BigNumber.min(new BigNumber(2), new BigNumber(2)).toString(16)).toEqual('2')
563
- expect(BigNumber.min(new BigNumber(2), new BigNumber(-2)).toString(16)).toEqual('-2')
771
+ expect(
772
+ BigNumber.min(new BigNumber(3), new BigNumber(2)).toString(16)
773
+ ).toEqual('2')
774
+ expect(
775
+ BigNumber.min(new BigNumber(2), new BigNumber(3)).toString(16)
776
+ ).toEqual('2')
777
+ expect(
778
+ BigNumber.min(new BigNumber(2), new BigNumber(2)).toString(16)
779
+ ).toEqual('2')
780
+ expect(
781
+ BigNumber.min(new BigNumber(2), new BigNumber(-2)).toString(16)
782
+ ).toEqual('-2')
564
783
  })
565
784
  })
566
785
 
567
786
  describe('BN.ineg', () => {
568
- it('shouldn\'t change sign for zero', () => {
787
+ it("shouldn't change sign for zero", () => {
569
788
  expect(new BigNumber(0).ineg().toString(10)).toEqual('0')
570
789
  })
571
790
  })