@bsv/sdk 1.3.11 → 1.3.13

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 (1234) hide show
  1. package/dist/cjs/mod.js +15 -15
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +10 -2
  4. package/dist/cjs/src/auth/Peer.js +62 -46
  5. package/dist/cjs/src/auth/Peer.js.map +1 -1
  6. package/dist/cjs/src/auth/SessionManager.js +4 -4
  7. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  8. package/dist/cjs/src/auth/__tests/Peer.test.js +446 -0
  9. package/dist/cjs/src/auth/__tests/Peer.test.js.map +1 -0
  10. package/dist/cjs/src/auth/__tests/SessionManager.test.js +69 -0
  11. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +1 -0
  12. package/dist/cjs/src/auth/certificates/Certificate.js +26 -23
  13. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  14. package/dist/cjs/src/auth/certificates/MasterCertificate.js +26 -24
  15. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  16. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +8 -8
  17. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  18. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +182 -0
  19. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
  20. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +22 -22
  21. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  22. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
  23. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
  24. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
  25. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
  26. package/dist/cjs/src/auth/certificates/index.js +5 -5
  27. package/dist/cjs/src/auth/certificates/index.js.map +1 -1
  28. package/dist/cjs/src/auth/clients/AuthFetch.js +74 -64
  29. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  30. package/dist/cjs/src/auth/clients/index.js +1 -1
  31. package/dist/cjs/src/auth/clients/index.js.map +1 -1
  32. package/dist/cjs/src/auth/index.js +7 -7
  33. package/dist/cjs/src/auth/index.js.map +1 -1
  34. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +62 -54
  35. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  36. package/dist/cjs/src/auth/transports/index.js +1 -1
  37. package/dist/cjs/src/auth/transports/index.js.map +1 -1
  38. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +101 -0
  39. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
  40. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
  41. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
  42. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +111 -0
  43. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
  44. package/dist/cjs/src/auth/utils/createNonce.js +4 -4
  45. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  46. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js +2 -2
  47. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  48. package/dist/cjs/src/auth/utils/index.js +4 -4
  49. package/dist/cjs/src/auth/utils/index.js.map +1 -1
  50. package/dist/cjs/src/auth/utils/validateCertificates.js +2 -2
  51. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  52. package/dist/cjs/src/auth/utils/verifyNonce.js +3 -3
  53. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  54. package/dist/cjs/src/compat/BSM.js +9 -9
  55. package/dist/cjs/src/compat/BSM.js.map +1 -1
  56. package/dist/cjs/src/compat/ECIES.js +157 -116
  57. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  58. package/dist/cjs/src/compat/HD.js +75 -75
  59. package/dist/cjs/src/compat/HD.js.map +1 -1
  60. package/dist/cjs/src/compat/Mnemonic.js +98 -93
  61. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  62. package/dist/cjs/src/compat/Utxo.js +5 -5
  63. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  64. package/dist/cjs/src/compat/__tests/BSM.test.js +69 -0
  65. package/dist/cjs/src/compat/__tests/BSM.test.js.map +1 -0
  66. package/dist/cjs/src/compat/__tests/ECIES.test.js +115 -0
  67. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +1 -0
  68. package/dist/cjs/src/compat/__tests/HD.test.js +336 -0
  69. package/dist/cjs/src/compat/__tests/HD.test.js.map +1 -0
  70. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +150 -0
  71. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +1 -0
  72. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +175 -0
  73. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
  74. package/dist/cjs/src/compat/index.js +9 -9
  75. package/dist/cjs/src/compat/index.js.map +1 -1
  76. package/dist/cjs/src/messages/EncryptedMessage.js +17 -15
  77. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  78. package/dist/cjs/src/messages/SignedMessage.js +20 -20
  79. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  80. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +57 -0
  81. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
  82. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +52 -0
  83. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +1 -0
  84. package/dist/cjs/src/messages/index.js +2 -2
  85. package/dist/cjs/src/messages/index.js.map +1 -1
  86. package/dist/cjs/src/overlay-tools/LookupResolver.js +20 -13
  87. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  88. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +44 -32
  89. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  90. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +41 -30
  91. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  92. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
  93. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
  94. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
  95. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
  96. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
  97. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
  98. package/dist/cjs/src/overlay-tools/index.js +8 -8
  99. package/dist/cjs/src/overlay-tools/index.js.map +1 -1
  100. package/dist/cjs/src/primitives/BasePoint.js +2 -2
  101. package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
  102. package/dist/cjs/src/primitives/BigNumber.js +46 -59
  103. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  104. package/dist/cjs/src/primitives/Curve.js +29 -39
  105. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  106. package/dist/cjs/src/primitives/DRBG.js +8 -14
  107. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  108. package/dist/cjs/src/primitives/ECDSA.js +24 -24
  109. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  110. package/dist/cjs/src/primitives/Hash.js +76 -111
  111. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  112. package/dist/cjs/src/primitives/JacobianPoint.js +20 -16
  113. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  114. package/dist/cjs/src/primitives/K256.js +2 -2
  115. package/dist/cjs/src/primitives/K256.js.map +1 -1
  116. package/dist/cjs/src/primitives/Mersenne.js +4 -4
  117. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  118. package/dist/cjs/src/primitives/MontgomoryMethod.js +5 -5
  119. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  120. package/dist/cjs/src/primitives/Point.js +74 -72
  121. package/dist/cjs/src/primitives/Point.js.map +1 -1
  122. package/dist/cjs/src/primitives/Polynomial.js +15 -13
  123. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  124. package/dist/cjs/src/primitives/PrivateKey.js +48 -39
  125. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  126. package/dist/cjs/src/primitives/PublicKey.js +23 -23
  127. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  128. package/dist/cjs/src/primitives/Random.js +4 -4
  129. package/dist/cjs/src/primitives/Random.js.map +1 -1
  130. package/dist/cjs/src/primitives/ReductionContext.js +11 -11
  131. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  132. package/dist/cjs/src/primitives/Schnorr.js +29 -23
  133. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  134. package/dist/cjs/src/primitives/Signature.js +25 -24
  135. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  136. package/dist/cjs/src/primitives/SymmetricKey.js +26 -26
  137. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  138. package/dist/cjs/src/primitives/TransactionSignature.js +23 -21
  139. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  140. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +248 -0
  141. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +1 -0
  142. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +36 -0
  143. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
  144. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +36 -0
  145. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
  146. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
  147. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
  148. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +185 -0
  149. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
  150. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
  151. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
  152. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
  153. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
  154. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +268 -0
  155. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
  156. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
  157. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
  158. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +322 -0
  159. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
  160. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +145 -0
  161. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +1 -0
  162. package/dist/cjs/src/primitives/__tests/DRBG.test.js +22 -0
  163. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +1 -0
  164. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +170 -0
  165. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +1 -0
  166. package/dist/cjs/src/primitives/__tests/ECDH.test.js +34 -0
  167. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +1 -0
  168. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +89 -0
  169. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +1 -0
  170. package/dist/cjs/src/primitives/__tests/HMAC.test.js +60 -0
  171. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +1 -0
  172. package/dist/cjs/src/primitives/__tests/Hash.test.js +159 -0
  173. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +1 -0
  174. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +122 -0
  175. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
  176. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +105 -0
  177. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
  178. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +90 -0
  179. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +1 -0
  180. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +83 -0
  181. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +1 -0
  182. package/dist/cjs/src/primitives/__tests/Random.test.js +19 -0
  183. package/dist/cjs/src/primitives/__tests/Random.test.js.map +1 -0
  184. package/dist/cjs/src/primitives/__tests/Reader.test.js +282 -0
  185. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +1 -0
  186. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +224 -0
  187. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +1 -0
  188. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +213 -0
  189. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +1 -0
  190. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +51 -0
  191. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
  192. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
  193. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
  194. package/dist/cjs/src/primitives/__tests/Writer.test.js +176 -0
  195. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +1 -0
  196. package/dist/cjs/src/primitives/__tests/bug-31.test.js +32 -0
  197. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +1 -0
  198. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +3506 -0
  199. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +1 -0
  200. package/dist/cjs/src/primitives/__tests/utils.test.js +110 -0
  201. package/dist/cjs/src/primitives/__tests/utils.test.js.map +1 -0
  202. package/dist/cjs/src/primitives/index.js +27 -27
  203. package/dist/cjs/src/primitives/index.js.map +1 -1
  204. package/dist/cjs/src/primitives/utils.js +70 -60
  205. package/dist/cjs/src/primitives/utils.js.map +1 -1
  206. package/dist/cjs/src/script/LockingScript.js +2 -2
  207. package/dist/cjs/src/script/LockingScript.js.map +1 -1
  208. package/dist/cjs/src/script/Script.js +49 -47
  209. package/dist/cjs/src/script/Script.js.map +1 -1
  210. package/dist/cjs/src/script/Spend.js +305 -300
  211. package/dist/cjs/src/script/Spend.js.map +1 -1
  212. package/dist/cjs/src/script/UnlockingScript.js +2 -2
  213. package/dist/cjs/src/script/UnlockingScript.js.map +1 -1
  214. package/dist/cjs/src/script/__tests/Script.test.js +347 -0
  215. package/dist/cjs/src/script/__tests/Script.test.js.map +1 -0
  216. package/dist/cjs/src/script/__tests/Spend.test.js +282 -0
  217. package/dist/cjs/src/script/__tests/Spend.test.js.map +1 -0
  218. package/dist/cjs/src/script/__tests/SpendComplex.test.js +52 -0
  219. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +1 -0
  220. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +2370 -0
  221. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +1 -0
  222. package/dist/cjs/src/script/__tests/script.valid.vectors.js +1181 -0
  223. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +1 -0
  224. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +2298 -0
  225. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +1 -0
  226. package/dist/cjs/src/script/index.js +11 -11
  227. package/dist/cjs/src/script/index.js.map +1 -1
  228. package/dist/cjs/src/script/templates/P2PKH.js +40 -36
  229. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  230. package/dist/cjs/src/script/templates/PushDrop.js +42 -43
  231. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  232. package/dist/cjs/src/script/templates/RPuzzle.js +48 -45
  233. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  234. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +161 -0
  235. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +1 -0
  236. package/dist/cjs/src/script/templates/index.js +6 -6
  237. package/dist/cjs/src/script/templates/index.js.map +1 -1
  238. package/dist/cjs/src/totp/__tests/totp.test.js +67 -0
  239. package/dist/cjs/src/totp/__tests/totp.test.js.map +1 -0
  240. package/dist/cjs/src/totp/index.js +1 -1
  241. package/dist/cjs/src/totp/index.js.map +1 -1
  242. package/dist/cjs/src/totp/totp.js +7 -7
  243. package/dist/cjs/src/totp/totp.js.map +1 -1
  244. package/dist/cjs/src/transaction/Beef.js +141 -129
  245. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  246. package/dist/cjs/src/transaction/BeefParty.js +25 -25
  247. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  248. package/dist/cjs/src/transaction/BeefTx.js +25 -23
  249. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  250. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  251. package/dist/cjs/src/transaction/MerklePath.js +27 -22
  252. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  253. package/dist/cjs/src/transaction/Transaction.js +89 -157
  254. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  255. package/dist/cjs/src/transaction/__tests/Beef.test.js +393 -0
  256. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +1 -0
  257. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +209 -0
  258. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +1 -0
  259. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
  260. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
  261. package/dist/cjs/src/transaction/__tests/Transaction.test.js +1073 -0
  262. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +1 -0
  263. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +7 -0
  264. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +1 -0
  265. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +11 -0
  266. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
  267. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +7 -0
  268. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
  269. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +230 -0
  270. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
  271. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +296 -0
  272. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
  273. package/dist/cjs/src/transaction/broadcasters/ARC.js +39 -35
  274. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  275. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -2
  276. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  277. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +15 -15
  278. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  279. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
  280. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
  281. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
  282. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
  283. package/dist/cjs/src/transaction/broadcasters/index.js +6 -6
  284. package/dist/cjs/src/transaction/broadcasters/index.js.map +1 -1
  285. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -2
  286. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  287. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +8 -8
  288. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  289. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
  290. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
  291. package/dist/cjs/src/transaction/chaintrackers/index.js +4 -4
  292. package/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -1
  293. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +3 -3
  294. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  295. package/dist/cjs/src/transaction/fee-models/index.js +2 -2
  296. package/dist/cjs/src/transaction/fee-models/index.js.map +1 -1
  297. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +11 -11
  298. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  299. package/dist/cjs/src/transaction/http/FetchHttpClient.js +4 -2
  300. package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
  301. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +10 -8
  302. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  303. package/dist/cjs/src/transaction/http/index.js +6 -6
  304. package/dist/cjs/src/transaction/http/index.js.map +1 -1
  305. package/dist/cjs/src/transaction/index.js +12 -12
  306. package/dist/cjs/src/transaction/index.js.map +1 -1
  307. package/dist/cjs/src/wallet/CachedKeyDeriver.js +65 -63
  308. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  309. package/dist/cjs/src/wallet/KeyDeriver.js +66 -58
  310. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  311. package/dist/cjs/src/wallet/ProtoWallet.js +36 -23
  312. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  313. package/dist/cjs/src/wallet/WalletClient.js +15 -14
  314. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  315. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
  316. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
  317. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +114 -0
  318. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
  319. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +475 -0
  320. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
  321. package/dist/cjs/src/wallet/index.js +12 -12
  322. package/dist/cjs/src/wallet/index.js.map +1 -1
  323. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +3 -3
  324. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  325. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +10 -10
  326. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  327. package/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -1
  328. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1293 -1316
  329. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  330. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +320 -272
  331. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  332. package/dist/cjs/src/wallet/substrates/XDM.js +8 -5
  333. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  334. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
  335. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
  336. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +579 -0
  337. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
  338. package/dist/cjs/src/wallet/substrates/index.js +12 -12
  339. package/dist/cjs/src/wallet/substrates/index.js.map +1 -1
  340. package/dist/cjs/src/wallet/substrates/window.CWI.js +4 -4
  341. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  342. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  343. package/dist/esm/mod.js +31 -15
  344. package/dist/esm/mod.js.map +1 -1
  345. package/dist/esm/src/auth/Peer.js +67 -47
  346. package/dist/esm/src/auth/Peer.js.map +1 -1
  347. package/dist/esm/src/auth/SessionManager.js +9 -5
  348. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  349. package/dist/esm/src/auth/__tests/Peer.test.js +448 -0
  350. package/dist/esm/src/auth/__tests/Peer.test.js.map +1 -0
  351. package/dist/esm/src/auth/__tests/SessionManager.test.js +69 -0
  352. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +1 -0
  353. package/dist/esm/src/auth/certificates/Certificate.js +31 -25
  354. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  355. package/dist/esm/src/auth/certificates/MasterCertificate.js +33 -24
  356. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  357. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +15 -8
  358. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  359. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +182 -0
  360. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +1 -0
  361. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +26 -22
  362. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  363. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +184 -0
  364. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +1 -0
  365. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +75 -0
  366. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +1 -0
  367. package/dist/esm/src/auth/certificates/index.js +25 -4
  368. package/dist/esm/src/auth/certificates/index.js.map +1 -1
  369. package/dist/esm/src/auth/clients/AuthFetch.js +79 -65
  370. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  371. package/dist/esm/src/auth/clients/index.js +17 -1
  372. package/dist/esm/src/auth/clients/index.js.map +1 -1
  373. package/dist/esm/src/auth/index.js +23 -7
  374. package/dist/esm/src/auth/index.js.map +1 -1
  375. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +67 -55
  376. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  377. package/dist/esm/src/auth/transports/index.js +17 -1
  378. package/dist/esm/src/auth/transports/index.js.map +1 -1
  379. package/dist/esm/src/auth/types.js +2 -1
  380. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +101 -0
  381. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +1 -0
  382. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +106 -0
  383. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +1 -0
  384. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +111 -0
  385. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +1 -0
  386. package/dist/esm/src/auth/utils/createNonce.js +8 -5
  387. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  388. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +7 -3
  389. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  390. package/dist/esm/src/auth/utils/index.js +20 -4
  391. package/dist/esm/src/auth/utils/index.js.map +1 -1
  392. package/dist/esm/src/auth/utils/validateCertificates.js +7 -3
  393. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  394. package/dist/esm/src/auth/utils/verifyNonce.js +7 -4
  395. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  396. package/dist/esm/src/compat/BSM.js +56 -14
  397. package/dist/esm/src/compat/BSM.js.map +1 -1
  398. package/dist/esm/src/compat/ECIES.js +197 -117
  399. package/dist/esm/src/compat/ECIES.js.map +1 -1
  400. package/dist/esm/src/compat/HD.js +115 -76
  401. package/dist/esm/src/compat/HD.js.map +1 -1
  402. package/dist/esm/src/compat/Mnemonic.js +138 -94
  403. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  404. package/dist/esm/src/compat/Utxo.js +12 -6
  405. package/dist/esm/src/compat/Utxo.js.map +1 -1
  406. package/dist/esm/src/compat/__tests/BSM.test.js +69 -0
  407. package/dist/esm/src/compat/__tests/BSM.test.js.map +1 -0
  408. package/dist/esm/src/compat/__tests/ECIES.test.js +115 -0
  409. package/dist/esm/src/compat/__tests/ECIES.test.js.map +1 -0
  410. package/dist/esm/src/compat/__tests/HD.test.js +336 -0
  411. package/dist/esm/src/compat/__tests/HD.test.js.map +1 -0
  412. package/dist/esm/src/compat/__tests/Mnemonic.test.js +150 -0
  413. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +1 -0
  414. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +175 -0
  415. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +1 -0
  416. package/dist/esm/src/compat/bip-39-wordlist-en.js +4 -1
  417. package/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -1
  418. package/dist/esm/src/compat/index.js +48 -5
  419. package/dist/esm/src/compat/index.js.map +1 -1
  420. package/dist/esm/src/messages/EncryptedMessage.js +27 -17
  421. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  422. package/dist/esm/src/messages/SignedMessage.js +30 -22
  423. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  424. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +57 -0
  425. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +1 -0
  426. package/dist/esm/src/messages/__tests/SignedMessage.test.js +52 -0
  427. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +1 -0
  428. package/dist/esm/src/messages/index.js +38 -2
  429. package/dist/esm/src/messages/index.js.map +1 -1
  430. package/dist/esm/src/overlay-tools/LookupResolver.js +32 -17
  431. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  432. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +51 -33
  433. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  434. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +51 -32
  435. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  436. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +1471 -0
  437. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +1 -0
  438. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +78 -0
  439. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +1 -0
  440. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +933 -0
  441. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +1 -0
  442. package/dist/esm/src/overlay-tools/index.js +28 -5
  443. package/dist/esm/src/overlay-tools/index.js.map +1 -1
  444. package/dist/esm/src/primitives/AESGCM.js +39 -26
  445. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  446. package/dist/esm/src/primitives/BasePoint.js +9 -3
  447. package/dist/esm/src/primitives/BasePoint.js.map +1 -1
  448. package/dist/esm/src/primitives/BigNumber.js +50 -60
  449. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  450. package/dist/esm/src/primitives/Curve.js +36 -40
  451. package/dist/esm/src/primitives/Curve.js.map +1 -1
  452. package/dist/esm/src/primitives/DRBG.js +12 -15
  453. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  454. package/dist/esm/src/primitives/ECDSA.js +34 -26
  455. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  456. package/dist/esm/src/primitives/Hash.js +115 -130
  457. package/dist/esm/src/primitives/Hash.js.map +1 -1
  458. package/dist/esm/src/primitives/JacobianPoint.js +26 -16
  459. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  460. package/dist/esm/src/primitives/K256.js +8 -2
  461. package/dist/esm/src/primitives/K256.js.map +1 -1
  462. package/dist/esm/src/primitives/Mersenne.js +11 -5
  463. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  464. package/dist/esm/src/primitives/MontgomoryMethod.js +11 -5
  465. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  466. package/dist/esm/src/primitives/Point.js +80 -72
  467. package/dist/esm/src/primitives/Point.js.map +1 -1
  468. package/dist/esm/src/primitives/Polynomial.js +25 -15
  469. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  470. package/dist/esm/src/primitives/PrivateKey.js +90 -40
  471. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  472. package/dist/esm/src/primitives/PublicKey.js +29 -23
  473. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  474. package/dist/esm/src/primitives/Random.js +7 -5
  475. package/dist/esm/src/primitives/Random.js.map +1 -1
  476. package/dist/esm/src/primitives/ReductionContext.js +18 -12
  477. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  478. package/dist/esm/src/primitives/Schnorr.js +36 -24
  479. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  480. package/dist/esm/src/primitives/Signature.js +32 -25
  481. package/dist/esm/src/primitives/Signature.js.map +1 -1
  482. package/dist/esm/src/primitives/SymmetricKey.js +32 -26
  483. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  484. package/dist/esm/src/primitives/TransactionSignature.js +62 -21
  485. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  486. package/dist/esm/src/primitives/__tests/AESGCM.test.js +248 -0
  487. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +1 -0
  488. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +36 -0
  489. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +1 -0
  490. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +36 -0
  491. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +1 -0
  492. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +501 -0
  493. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +1 -0
  494. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +185 -0
  495. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +1 -0
  496. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +149 -0
  497. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +1 -0
  498. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +23 -0
  499. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +1 -0
  500. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +268 -0
  501. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +1 -0
  502. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +147 -0
  503. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +1 -0
  504. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +322 -0
  505. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +1 -0
  506. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +145 -0
  507. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +1 -0
  508. package/dist/esm/src/primitives/__tests/DRBG.test.js +22 -0
  509. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +1 -0
  510. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +170 -0
  511. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +1 -0
  512. package/dist/esm/src/primitives/__tests/ECDH.test.js +34 -0
  513. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +1 -0
  514. package/dist/esm/src/primitives/__tests/ECDSA.test.js +89 -0
  515. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +1 -0
  516. package/dist/esm/src/primitives/__tests/HMAC.test.js +60 -0
  517. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +1 -0
  518. package/dist/esm/src/primitives/__tests/Hash.test.js +159 -0
  519. package/dist/esm/src/primitives/__tests/Hash.test.js.map +1 -0
  520. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +122 -0
  521. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +1 -0
  522. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +105 -0
  523. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +1 -0
  524. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +90 -0
  525. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +1 -0
  526. package/dist/esm/src/primitives/__tests/PublicKey.test.js +83 -0
  527. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +1 -0
  528. package/dist/esm/src/primitives/__tests/Random.test.js +19 -0
  529. package/dist/esm/src/primitives/__tests/Random.test.js.map +1 -0
  530. package/dist/esm/src/primitives/__tests/Reader.test.js +282 -0
  531. package/dist/esm/src/primitives/__tests/Reader.test.js.map +1 -0
  532. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +223 -0
  533. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +1 -0
  534. package/dist/esm/src/primitives/__tests/Schnorr.test.js +213 -0
  535. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +1 -0
  536. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +51 -0
  537. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +1 -0
  538. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +43 -0
  539. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +1 -0
  540. package/dist/esm/src/primitives/__tests/Writer.test.js +176 -0
  541. package/dist/esm/src/primitives/__tests/Writer.test.js.map +1 -0
  542. package/dist/esm/src/primitives/__tests/bug-31.test.js +32 -0
  543. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +1 -0
  544. package/dist/esm/src/primitives/__tests/sighash.vectors.js +3506 -0
  545. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +1 -0
  546. package/dist/esm/src/primitives/__tests/utils.test.js +110 -0
  547. package/dist/esm/src/primitives/__tests/utils.test.js.map +1 -0
  548. package/dist/esm/src/primitives/index.js +66 -14
  549. package/dist/esm/src/primitives/index.js.map +1 -1
  550. package/dist/esm/src/primitives/utils.js +109 -80
  551. package/dist/esm/src/primitives/utils.js.map +1 -1
  552. package/dist/esm/src/script/LockingScript.js +8 -2
  553. package/dist/esm/src/script/LockingScript.js.map +1 -1
  554. package/dist/esm/src/script/OP.js +3 -1
  555. package/dist/esm/src/script/OP.js.map +1 -1
  556. package/dist/esm/src/script/Script.js +56 -48
  557. package/dist/esm/src/script/Script.js.map +1 -1
  558. package/dist/esm/src/script/ScriptChunk.js +2 -1
  559. package/dist/esm/src/script/ScriptTemplate.js +2 -1
  560. package/dist/esm/src/script/Spend.js +345 -301
  561. package/dist/esm/src/script/Spend.js.map +1 -1
  562. package/dist/esm/src/script/UnlockingScript.js +8 -2
  563. package/dist/esm/src/script/UnlockingScript.js.map +1 -1
  564. package/dist/esm/src/script/__tests/Script.test.js +347 -0
  565. package/dist/esm/src/script/__tests/Script.test.js.map +1 -0
  566. package/dist/esm/src/script/__tests/Spend.test.js +282 -0
  567. package/dist/esm/src/script/__tests/Spend.test.js.map +1 -0
  568. package/dist/esm/src/script/__tests/SpendComplex.test.js +51 -0
  569. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +1 -0
  570. package/dist/esm/src/script/__tests/script.invalid.vectors.js +2370 -0
  571. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +1 -0
  572. package/dist/esm/src/script/__tests/script.valid.vectors.js +1181 -0
  573. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +1 -0
  574. package/dist/esm/src/script/__tests/spend.valid.vectors.js +2298 -0
  575. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +1 -0
  576. package/dist/esm/src/script/index.js +31 -6
  577. package/dist/esm/src/script/index.js.map +1 -1
  578. package/dist/esm/src/script/templates/P2PKH.js +52 -39
  579. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  580. package/dist/esm/src/script/templates/PushDrop.js +51 -46
  581. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  582. package/dist/esm/src/script/templates/RPuzzle.js +55 -46
  583. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  584. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +161 -0
  585. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +1 -0
  586. package/dist/esm/src/script/templates/index.js +12 -3
  587. package/dist/esm/src/script/templates/index.js.map +1 -1
  588. package/dist/esm/src/totp/__tests/totp.test.js +67 -0
  589. package/dist/esm/src/totp/__tests/totp.test.js.map +1 -0
  590. package/dist/esm/src/totp/index.js +17 -1
  591. package/dist/esm/src/totp/index.js.map +1 -1
  592. package/dist/esm/src/totp/totp.js +15 -8
  593. package/dist/esm/src/totp/totp.js.map +1 -1
  594. package/dist/esm/src/transaction/Beef.js +160 -141
  595. package/dist/esm/src/transaction/Beef.js.map +1 -1
  596. package/dist/esm/src/transaction/BeefParty.js +30 -26
  597. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  598. package/dist/esm/src/transaction/BeefTx.js +32 -24
  599. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  600. package/dist/esm/src/transaction/Broadcaster.js +6 -2
  601. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  602. package/dist/esm/src/transaction/ChainTracker.js +2 -1
  603. package/dist/esm/src/transaction/FeeModel.js +2 -1
  604. package/dist/esm/src/transaction/MerklePath.js +31 -23
  605. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  606. package/dist/esm/src/transaction/Transaction.js +96 -158
  607. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  608. package/dist/esm/src/transaction/TransactionInput.js +2 -1
  609. package/dist/esm/src/transaction/TransactionOutput.js +2 -1
  610. package/dist/esm/src/transaction/__tests/Beef.test.js +393 -0
  611. package/dist/esm/src/transaction/__tests/Beef.test.js.map +1 -0
  612. package/dist/esm/src/transaction/__tests/MerklePath.test.js +209 -0
  613. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +1 -0
  614. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +219 -0
  615. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +1 -0
  616. package/dist/esm/src/transaction/__tests/Transaction.test.js +1072 -0
  617. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +1 -0
  618. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +7 -0
  619. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +1 -0
  620. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +11 -0
  621. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +1 -0
  622. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +7 -0
  623. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +1 -0
  624. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +230 -0
  625. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +1 -0
  626. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +296 -0
  627. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +1 -0
  628. package/dist/esm/src/transaction/broadcasters/ARC.js +46 -36
  629. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  630. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +9 -3
  631. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  632. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +19 -16
  633. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  634. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +246 -0
  635. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +1 -0
  636. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +148 -0
  637. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +1 -0
  638. package/dist/esm/src/transaction/broadcasters/index.js +12 -3
  639. package/dist/esm/src/transaction/broadcasters/index.js.map +1 -1
  640. package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +9 -3
  641. package/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  642. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +12 -9
  643. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  644. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +155 -0
  645. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +1 -0
  646. package/dist/esm/src/transaction/chaintrackers/index.js +10 -2
  647. package/dist/esm/src/transaction/chaintrackers/index.js.map +1 -1
  648. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +7 -4
  649. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  650. package/dist/esm/src/transaction/fee-models/index.js +8 -1
  651. package/dist/esm/src/transaction/fee-models/index.js.map +1 -1
  652. package/dist/esm/src/transaction/http/DefaultHttpClient.js +15 -12
  653. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  654. package/dist/esm/src/transaction/http/FetchHttpClient.js +9 -3
  655. package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
  656. package/dist/esm/src/transaction/http/HttpClient.js +2 -1
  657. package/dist/esm/src/transaction/http/NodejsHttpClient.js +15 -9
  658. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  659. package/dist/esm/src/transaction/http/index.js +9 -3
  660. package/dist/esm/src/transaction/http/index.js.map +1 -1
  661. package/dist/esm/src/transaction/index.js +32 -6
  662. package/dist/esm/src/transaction/index.js.map +1 -1
  663. package/dist/esm/src/wallet/CachedKeyDeriver.js +69 -64
  664. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  665. package/dist/esm/src/wallet/KeyDeriver.js +72 -60
  666. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  667. package/dist/esm/src/wallet/ProtoWallet.js +42 -25
  668. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  669. package/dist/esm/src/wallet/Wallet.interfaces.js +5 -2
  670. package/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -1
  671. package/dist/esm/src/wallet/WalletClient.js +22 -15
  672. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  673. package/dist/esm/src/wallet/WalletError.js +6 -2
  674. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  675. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +269 -0
  676. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +1 -0
  677. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +113 -0
  678. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +1 -0
  679. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +475 -0
  680. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +1 -0
  681. package/dist/esm/src/wallet/index.js +32 -8
  682. package/dist/esm/src/wallet/index.js.map +1 -1
  683. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +7 -4
  684. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  685. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +17 -11
  686. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  687. package/dist/esm/src/wallet/substrates/WalletWire.js +2 -1
  688. package/dist/esm/src/wallet/substrates/WalletWireCalls.js +3 -1
  689. package/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -1
  690. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1300 -1317
  691. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  692. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +327 -273
  693. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  694. package/dist/esm/src/wallet/substrates/XDM.js +12 -6
  695. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  696. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +1962 -0
  697. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +1 -0
  698. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +579 -0
  699. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +1 -0
  700. package/dist/esm/src/wallet/substrates/index.js +32 -7
  701. package/dist/esm/src/wallet/substrates/index.js.map +1 -1
  702. package/dist/esm/src/wallet/substrates/window.CWI.js +8 -5
  703. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  704. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  705. package/dist/types/mod.d.ts +15 -15
  706. package/dist/types/mod.d.ts.map +1 -1
  707. package/dist/types/src/auth/Peer.d.ts +14 -14
  708. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  709. package/dist/types/src/auth/SessionManager.d.ts +5 -5
  710. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  711. package/dist/types/src/auth/__tests/Peer.test.d.ts +2 -0
  712. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +1 -0
  713. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +2 -0
  714. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +1 -0
  715. package/dist/types/src/auth/certificates/Certificate.d.ts +3 -3
  716. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  717. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +11 -11
  718. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  719. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +4 -4
  720. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  721. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +2 -0
  722. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +1 -0
  723. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +2 -2
  724. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  725. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +2 -0
  726. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +1 -0
  727. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +2 -0
  728. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +1 -0
  729. package/dist/types/src/auth/certificates/index.d.ts +4 -4
  730. package/dist/types/src/auth/certificates/index.d.ts.map +1 -1
  731. package/dist/types/src/auth/clients/AuthFetch.d.ts +9 -9
  732. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  733. package/dist/types/src/auth/clients/index.d.ts +1 -1
  734. package/dist/types/src/auth/clients/index.d.ts.map +1 -1
  735. package/dist/types/src/auth/index.d.ts +7 -7
  736. package/dist/types/src/auth/index.d.ts.map +1 -1
  737. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  738. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  739. package/dist/types/src/auth/transports/index.d.ts +1 -1
  740. package/dist/types/src/auth/transports/index.d.ts.map +1 -1
  741. package/dist/types/src/auth/types.d.ts +1 -1
  742. package/dist/types/src/auth/types.d.ts.map +1 -1
  743. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +2 -0
  744. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +1 -0
  745. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +2 -0
  746. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +1 -0
  747. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +2 -0
  748. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +1 -0
  749. package/dist/types/src/auth/utils/createNonce.d.ts +1 -1
  750. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  751. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
  752. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  753. package/dist/types/src/auth/utils/index.d.ts +4 -4
  754. package/dist/types/src/auth/utils/index.d.ts.map +1 -1
  755. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  756. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  757. package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
  758. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  759. package/dist/types/src/compat/BSM.d.ts +3 -3
  760. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  761. package/dist/types/src/compat/ECIES.d.ts +38 -38
  762. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  763. package/dist/types/src/compat/HD.d.ts +53 -53
  764. package/dist/types/src/compat/HD.d.ts.map +1 -1
  765. package/dist/types/src/compat/Mnemonic.d.ts +79 -79
  766. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  767. package/dist/types/src/compat/Utxo.d.ts +3 -3
  768. package/dist/types/src/compat/Utxo.d.ts.map +1 -1
  769. package/dist/types/src/compat/__tests/BSM.test.d.ts +2 -0
  770. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +1 -0
  771. package/dist/types/src/compat/__tests/ECIES.test.d.ts +2 -0
  772. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +1 -0
  773. package/dist/types/src/compat/__tests/HD.test.d.ts +2 -0
  774. package/dist/types/src/compat/__tests/HD.test.d.ts.map +1 -0
  775. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +2 -0
  776. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +1 -0
  777. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +11 -0
  778. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +1 -0
  779. package/dist/types/src/compat/index.d.ts +5 -5
  780. package/dist/types/src/compat/index.d.ts.map +1 -1
  781. package/dist/types/src/messages/EncryptedMessage.d.ts +2 -2
  782. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  783. package/dist/types/src/messages/SignedMessage.d.ts +2 -2
  784. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  785. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +2 -0
  786. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +1 -0
  787. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +2 -0
  788. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +1 -0
  789. package/dist/types/src/messages/index.d.ts +2 -2
  790. package/dist/types/src/messages/index.d.ts.map +1 -1
  791. package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
  792. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  793. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +21 -21
  794. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  795. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +16 -16
  796. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  797. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +2 -0
  798. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +1 -0
  799. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +2 -0
  800. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +1 -0
  801. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +2 -0
  802. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +1 -0
  803. package/dist/types/src/overlay-tools/index.d.ts +5 -5
  804. package/dist/types/src/overlay-tools/index.d.ts.map +1 -1
  805. package/dist/types/src/primitives/BasePoint.d.ts +1 -1
  806. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
  807. package/dist/types/src/primitives/BigNumber.d.ts +1 -1
  808. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  809. package/dist/types/src/primitives/Curve.d.ts +3 -3
  810. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  811. package/dist/types/src/primitives/DRBG.d.ts +1 -1
  812. package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
  813. package/dist/types/src/primitives/ECDSA.d.ts +3 -3
  814. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  815. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  816. package/dist/types/src/primitives/JacobianPoint.d.ts +3 -3
  817. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  818. package/dist/types/src/primitives/K256.d.ts +2 -2
  819. package/dist/types/src/primitives/K256.d.ts.map +1 -1
  820. package/dist/types/src/primitives/Mersenne.d.ts +1 -1
  821. package/dist/types/src/primitives/Mersenne.d.ts.map +1 -1
  822. package/dist/types/src/primitives/MontgomoryMethod.d.ts +2 -2
  823. package/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -1
  824. package/dist/types/src/primitives/Point.d.ts +17 -13
  825. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  826. package/dist/types/src/primitives/Polynomial.d.ts +2 -2
  827. package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
  828. package/dist/types/src/primitives/PrivateKey.d.ts +5 -5
  829. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  830. package/dist/types/src/primitives/PublicKey.d.ts +4 -4
  831. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  832. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  833. package/dist/types/src/primitives/ReductionContext.d.ts +2 -2
  834. package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
  835. package/dist/types/src/primitives/Schnorr.d.ts +17 -17
  836. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  837. package/dist/types/src/primitives/Signature.d.ts +2 -2
  838. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  839. package/dist/types/src/primitives/SymmetricKey.d.ts +14 -14
  840. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  841. package/dist/types/src/primitives/TransactionSignature.d.ts +9 -9
  842. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  843. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +2 -0
  844. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +1 -0
  845. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +8 -0
  846. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +1 -0
  847. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +8 -0
  848. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +1 -0
  849. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +2 -0
  850. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +1 -0
  851. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +2 -0
  852. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +1 -0
  853. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +2 -0
  854. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +1 -0
  855. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +2 -0
  856. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +1 -0
  857. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +15 -0
  858. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +1 -0
  859. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +2 -0
  860. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +1 -0
  861. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +2 -0
  862. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +1 -0
  863. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +2 -0
  864. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +1 -0
  865. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +2 -0
  866. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +1 -0
  867. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +10 -0
  868. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +1 -0
  869. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +2 -0
  870. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +1 -0
  871. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +2 -0
  872. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +1 -0
  873. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +2 -0
  874. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +1 -0
  875. package/dist/types/src/primitives/__tests/Hash.test.d.ts +2 -0
  876. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +1 -0
  877. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +68 -0
  878. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +1 -0
  879. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +2 -0
  880. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +1 -0
  881. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +2 -0
  882. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +1 -0
  883. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +2 -0
  884. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +1 -0
  885. package/dist/types/src/primitives/__tests/Random.test.d.ts +2 -0
  886. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +1 -0
  887. package/dist/types/src/primitives/__tests/Reader.test.d.ts +2 -0
  888. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +1 -0
  889. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +2 -0
  890. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +1 -0
  891. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +2 -0
  892. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +1 -0
  893. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +2 -0
  894. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +1 -0
  895. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +20 -0
  896. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +1 -0
  897. package/dist/types/src/primitives/__tests/Writer.test.d.ts +2 -0
  898. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +1 -0
  899. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +2 -0
  900. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +1 -0
  901. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +3 -0
  902. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +1 -0
  903. package/dist/types/src/primitives/__tests/utils.test.d.ts +2 -0
  904. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +1 -0
  905. package/dist/types/src/primitives/index.d.ts +14 -14
  906. package/dist/types/src/primitives/index.d.ts.map +1 -1
  907. package/dist/types/src/primitives/utils.d.ts +1 -1
  908. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  909. package/dist/types/src/script/LockingScript.d.ts +1 -1
  910. package/dist/types/src/script/LockingScript.d.ts.map +1 -1
  911. package/dist/types/src/script/Script.d.ts +5 -5
  912. package/dist/types/src/script/Script.d.ts.map +1 -1
  913. package/dist/types/src/script/ScriptTemplate.d.ts +3 -3
  914. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
  915. package/dist/types/src/script/Spend.d.ts +4 -4
  916. package/dist/types/src/script/Spend.d.ts.map +1 -1
  917. package/dist/types/src/script/UnlockingScript.d.ts +1 -1
  918. package/dist/types/src/script/UnlockingScript.d.ts.map +1 -1
  919. package/dist/types/src/script/__tests/Script.test.d.ts +2 -0
  920. package/dist/types/src/script/__tests/Script.test.d.ts.map +1 -0
  921. package/dist/types/src/script/__tests/Spend.test.d.ts +2 -0
  922. package/dist/types/src/script/__tests/Spend.test.d.ts.map +1 -0
  923. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +2 -0
  924. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +1 -0
  925. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +3 -0
  926. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +1 -0
  927. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +3 -0
  928. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +1 -0
  929. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +3 -0
  930. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +1 -0
  931. package/dist/types/src/script/index.d.ts +7 -7
  932. package/dist/types/src/script/index.d.ts.map +1 -1
  933. package/dist/types/src/script/templates/P2PKH.d.ts +7 -7
  934. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  935. package/dist/types/src/script/templates/PushDrop.d.ts +7 -7
  936. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  937. package/dist/types/src/script/templates/RPuzzle.d.ts +9 -9
  938. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  939. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +2 -0
  940. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +1 -0
  941. package/dist/types/src/script/templates/index.d.ts +3 -3
  942. package/dist/types/src/script/templates/index.d.ts.map +1 -1
  943. package/dist/types/src/totp/__tests/totp.test.d.ts +2 -0
  944. package/dist/types/src/totp/__tests/totp.test.d.ts.map +1 -0
  945. package/dist/types/src/totp/index.d.ts +1 -1
  946. package/dist/types/src/totp/index.d.ts.map +1 -1
  947. package/dist/types/src/transaction/Beef.d.ts +96 -96
  948. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  949. package/dist/types/src/transaction/BeefParty.d.ts +23 -23
  950. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  951. package/dist/types/src/transaction/BeefTx.d.ts +5 -5
  952. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  953. package/dist/types/src/transaction/Broadcaster.d.ts +1 -1
  954. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  955. package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
  956. package/dist/types/src/transaction/FeeModel.d.ts +1 -1
  957. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
  958. package/dist/types/src/transaction/MerklePath.d.ts +2 -2
  959. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  960. package/dist/types/src/transaction/Transaction.d.ts +11 -19
  961. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  962. package/dist/types/src/transaction/TransactionInput.d.ts +2 -2
  963. package/dist/types/src/transaction/TransactionInput.d.ts.map +1 -1
  964. package/dist/types/src/transaction/TransactionOutput.d.ts +1 -1
  965. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
  966. package/dist/types/src/transaction/__tests/Beef.test.d.ts +2 -0
  967. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +1 -0
  968. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +2 -0
  969. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +1 -0
  970. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +2 -0
  971. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +1 -0
  972. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +2 -0
  973. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +1 -0
  974. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +6 -0
  975. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +1 -0
  976. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +6 -0
  977. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +1 -0
  978. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +5 -0
  979. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +1 -0
  980. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +3 -0
  981. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +1 -0
  982. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +3 -0
  983. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +1 -0
  984. package/dist/types/src/transaction/broadcasters/ARC.d.ts +3 -3
  985. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  986. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +2 -2
  987. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
  988. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +4 -4
  989. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
  990. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +2 -0
  991. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +1 -0
  992. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +2 -0
  993. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +1 -0
  994. package/dist/types/src/transaction/broadcasters/index.d.ts +4 -4
  995. package/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -1
  996. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +1 -1
  997. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
  998. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +3 -3
  999. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
  1000. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +2 -0
  1001. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +1 -0
  1002. package/dist/types/src/transaction/chaintrackers/index.d.ts +3 -3
  1003. package/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -1
  1004. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +2 -2
  1005. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
  1006. package/dist/types/src/transaction/fee-models/index.d.ts +1 -1
  1007. package/dist/types/src/transaction/fee-models/index.d.ts.map +1 -1
  1008. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +2 -2
  1009. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  1010. package/dist/types/src/transaction/http/FetchHttpClient.d.ts +6 -6
  1011. package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
  1012. package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
  1013. package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
  1014. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +4 -4
  1015. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  1016. package/dist/types/src/transaction/http/index.d.ts +6 -6
  1017. package/dist/types/src/transaction/http/index.d.ts.map +1 -1
  1018. package/dist/types/src/transaction/index.d.ts +10 -10
  1019. package/dist/types/src/transaction/index.d.ts.map +1 -1
  1020. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +61 -61
  1021. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  1022. package/dist/types/src/wallet/KeyDeriver.d.ts +80 -80
  1023. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  1024. package/dist/types/src/wallet/ProtoWallet.d.ts +14 -14
  1025. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  1026. package/dist/types/src/wallet/Wallet.interfaces.d.ts +144 -144
  1027. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  1028. package/dist/types/src/wallet/WalletClient.d.ts +1 -1
  1029. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  1030. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +2 -0
  1031. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +1 -0
  1032. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +2 -0
  1033. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +1 -0
  1034. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +2 -0
  1035. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +1 -0
  1036. package/dist/types/src/wallet/index.d.ts +8 -8
  1037. package/dist/types/src/wallet/index.d.ts.map +1 -1
  1038. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +1 -1
  1039. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  1040. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +1 -1
  1041. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
  1042. package/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -1
  1043. package/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -1
  1044. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +2 -2
  1045. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  1046. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +10 -10
  1047. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  1048. package/dist/types/src/wallet/substrates/XDM.d.ts +2 -2
  1049. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  1050. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +2 -0
  1051. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +1 -0
  1052. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +5 -0
  1053. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +1 -0
  1054. package/dist/types/src/wallet/substrates/index.d.ts +7 -7
  1055. package/dist/types/src/wallet/substrates/index.d.ts.map +1 -1
  1056. package/dist/types/src/wallet/substrates/window.CWI.d.ts +19 -19
  1057. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  1058. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  1059. package/dist/umd/bundle.js +1 -1
  1060. package/docs/auth.md +71 -63
  1061. package/docs/compat.md +24 -24
  1062. package/docs/messages.md +7 -5
  1063. package/docs/overlay-tools.md +21 -21
  1064. package/docs/primitives.md +239 -242
  1065. package/docs/script.md +31 -31
  1066. package/docs/totp.md +5 -5
  1067. package/docs/transaction.md +76 -78
  1068. package/docs/wallet-substrates.md +6 -6
  1069. package/docs/wallet.md +140 -140
  1070. package/mod.ts +15 -15
  1071. package/package.json +10 -2
  1072. package/src/auth/Peer.ts +217 -72
  1073. package/src/auth/SessionManager.ts +8 -6
  1074. package/src/auth/__tests/Peer.test.ts +314 -159
  1075. package/src/auth/certificates/Certificate.ts +17 -8
  1076. package/src/auth/certificates/MasterCertificate.ts +111 -55
  1077. package/src/auth/certificates/VerifiableCertificate.ts +31 -11
  1078. package/src/auth/certificates/__tests/Certificate.test.ts +160 -146
  1079. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +148 -59
  1080. package/src/auth/certificates/__tests/MasterCertificate.test.ts +65 -41
  1081. package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +60 -15
  1082. package/src/auth/certificates/index.ts +4 -4
  1083. package/src/auth/clients/AuthFetch.ts +316 -231
  1084. package/src/auth/clients/index.ts +1 -1
  1085. package/src/auth/index.ts +7 -7
  1086. package/src/auth/transports/SimplifiedFetchTransport.ts +166 -124
  1087. package/src/auth/transports/index.ts +1 -1
  1088. package/src/auth/types.ts +1 -1
  1089. package/src/auth/utils/__tests/cryptononce.test.ts +52 -25
  1090. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +64 -38
  1091. package/src/auth/utils/__tests/validateCertificates.test.ts +101 -89
  1092. package/src/auth/utils/createNonce.ts +11 -3
  1093. package/src/auth/utils/getVerifiableCertificates.ts +11 -6
  1094. package/src/auth/utils/index.ts +4 -4
  1095. package/src/auth/utils/validateCertificates.ts +53 -39
  1096. package/src/auth/utils/verifyNonce.ts +6 -2
  1097. package/src/compat/BSM.ts +17 -9
  1098. package/src/compat/ECIES.ts +239 -123
  1099. package/src/compat/HD.ts +82 -63
  1100. package/src/compat/Mnemonic.ts +98 -87
  1101. package/src/compat/Utxo.ts +12 -9
  1102. package/src/compat/__tests/BSM.test.ts +43 -16
  1103. package/src/compat/__tests/ECIES.test.ts +117 -52
  1104. package/src/compat/__tests/HD.test.ts +49 -38
  1105. package/src/compat/__tests/Mnemonic.test.ts +145 -145
  1106. package/src/compat/index.ts +5 -5
  1107. package/src/messages/EncryptedMessage.ts +11 -7
  1108. package/src/messages/SignedMessage.ts +19 -14
  1109. package/src/messages/__tests/EncryptedMessage.test.ts +55 -56
  1110. package/src/messages/__tests/SignedMessage.test.ts +58 -52
  1111. package/src/messages/index.ts +2 -2
  1112. package/src/overlay-tools/LookupResolver.ts +65 -33
  1113. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -27
  1114. package/src/overlay-tools/SHIPBroadcaster.ts +134 -59
  1115. package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
  1116. package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
  1117. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
  1118. package/src/overlay-tools/index.ts +5 -5
  1119. package/src/primitives/BasePoint.ts +1 -1
  1120. package/src/primitives/BigNumber.ts +94 -87
  1121. package/src/primitives/Curve.ts +49 -30
  1122. package/src/primitives/DRBG.ts +10 -12
  1123. package/src/primitives/ECDSA.ts +59 -33
  1124. package/src/primitives/Hash.ts +298 -179
  1125. package/src/primitives/JacobianPoint.ts +55 -21
  1126. package/src/primitives/K256.ts +2 -2
  1127. package/src/primitives/Mersenne.ts +1 -1
  1128. package/src/primitives/MontgomoryMethod.ts +2 -2
  1129. package/src/primitives/Point.ts +193 -113
  1130. package/src/primitives/Polynomial.ts +12 -7
  1131. package/src/primitives/PrivateKey.ts +44 -20
  1132. package/src/primitives/PublicKey.ts +21 -11
  1133. package/src/primitives/Random.ts +7 -5
  1134. package/src/primitives/ReductionContext.ts +4 -4
  1135. package/src/primitives/Schnorr.ts +45 -23
  1136. package/src/primitives/Signature.ts +27 -19
  1137. package/src/primitives/SymmetricKey.ts +17 -17
  1138. package/src/primitives/TransactionSignature.ts +29 -18
  1139. package/src/primitives/__tests/AESGCM.test.ts +635 -329
  1140. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +721 -502
  1141. package/src/primitives/__tests/BigNumber.binary.test.ts +271 -190
  1142. package/src/primitives/__tests/BigNumber.constructor.test.ts +60 -24
  1143. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +19 -15
  1144. package/src/primitives/__tests/BigNumber.serializers.test.ts +183 -157
  1145. package/src/primitives/__tests/BigNumber.utils.test.ts +394 -304
  1146. package/src/primitives/__tests/Curve.unit.test.ts +158 -143
  1147. package/src/primitives/__tests/DRBG.test.ts +13 -13
  1148. package/src/primitives/__tests/ECDH.test.ts +15 -8
  1149. package/src/primitives/__tests/ECDSA.test.ts +63 -57
  1150. package/src/primitives/__tests/HMAC.test.ts +55 -49
  1151. package/src/primitives/__tests/Hash.test.ts +96 -85
  1152. package/src/primitives/__tests/PrivateKey.split.test.ts +29 -9
  1153. package/src/primitives/__tests/PrivateKey.test.ts +53 -50
  1154. package/src/primitives/__tests/PublicKey.test.ts +15 -6
  1155. package/src/primitives/__tests/Random.test.ts +10 -10
  1156. package/src/primitives/__tests/Reader.test.ts +240 -219
  1157. package/src/primitives/__tests/ReductionContext.test.ts +271 -234
  1158. package/src/primitives/__tests/Schnorr.test.ts +252 -242
  1159. package/src/primitives/__tests/SymmetricKey.test.ts +53 -50
  1160. package/src/primitives/__tests/Writer.test.ts +23 -13
  1161. package/src/primitives/__tests/bug-31.test.ts +25 -23
  1162. package/src/primitives/__tests/utils.test.ts +70 -19
  1163. package/src/primitives/index.ts +14 -14
  1164. package/src/primitives/utils.ts +88 -63
  1165. package/src/script/LockingScript.ts +1 -1
  1166. package/src/script/Script.ts +14 -10
  1167. package/src/script/ScriptTemplate.ts +5 -7
  1168. package/src/script/Spend.ts +314 -118
  1169. package/src/script/UnlockingScript.ts +1 -1
  1170. package/src/script/__tests/Script.test.ts +68 -54
  1171. package/src/script/__tests/Spend.test.ts +188 -68
  1172. package/src/script/__tests/SpendComplex.test.ts +36 -26
  1173. package/src/script/__tests/script.valid.vectors.ts +1064 -3100
  1174. package/src/script/index.ts +7 -7
  1175. package/src/script/templates/P2PKH.ts +63 -52
  1176. package/src/script/templates/PushDrop.ts +117 -89
  1177. package/src/script/templates/RPuzzle.ts +72 -54
  1178. package/src/script/templates/__tests/PushDrop.test.ts +146 -40
  1179. package/src/script/templates/index.ts +3 -3
  1180. package/src/totp/__tests/totp.test.ts +39 -39
  1181. package/src/totp/index.ts +1 -1
  1182. package/src/totp/totp.ts +2 -2
  1183. package/src/transaction/Beef.ts +211 -141
  1184. package/src/transaction/BeefParty.ts +35 -27
  1185. package/src/transaction/BeefTx.ts +13 -9
  1186. package/src/transaction/Broadcaster.ts +11 -7
  1187. package/src/transaction/ChainTracker.ts +2 -2
  1188. package/src/transaction/FeeModel.ts +2 -2
  1189. package/src/transaction/MerklePath.ts +81 -37
  1190. package/src/transaction/Transaction.ts +185 -208
  1191. package/src/transaction/TransactionInput.ts +2 -2
  1192. package/src/transaction/TransactionOutput.ts +2 -2
  1193. package/src/transaction/__tests/Beef.test.ts +359 -297
  1194. package/src/transaction/__tests/MerklePath.test.ts +163 -131
  1195. package/src/transaction/__tests/Transaction.benchmarks.test.ts +235 -202
  1196. package/src/transaction/__tests/Transaction.test.ts +746 -459
  1197. package/src/transaction/broadcasters/ARC.ts +120 -94
  1198. package/src/transaction/broadcasters/DefaultBroadcaster.ts +11 -5
  1199. package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +46 -33
  1200. package/src/transaction/broadcasters/__tests/ARC.test.ts +77 -45
  1201. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +25 -17
  1202. package/src/transaction/broadcasters/index.ts +4 -4
  1203. package/src/transaction/chaintrackers/DefaultChainTracker.ts +4 -4
  1204. package/src/transaction/chaintrackers/WhatsOnChain.ts +53 -38
  1205. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +138 -102
  1206. package/src/transaction/chaintrackers/index.ts +3 -3
  1207. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +37 -32
  1208. package/src/transaction/fee-models/index.ts +1 -1
  1209. package/src/transaction/http/DefaultHttpClient.ts +17 -17
  1210. package/src/transaction/http/FetchHttpClient.ts +18 -9
  1211. package/src/transaction/http/HttpClient.ts +30 -25
  1212. package/src/transaction/http/NodejsHttpClient.ts +42 -28
  1213. package/src/transaction/http/index.ts +10 -6
  1214. package/src/transaction/index.ts +14 -10
  1215. package/src/wallet/CachedKeyDeriver.ts +118 -72
  1216. package/src/wallet/KeyDeriver.ts +186 -105
  1217. package/src/wallet/ProtoWallet.ts +73 -28
  1218. package/src/wallet/Wallet.interfaces.ts +158 -149
  1219. package/src/wallet/WalletClient.ts +316 -58
  1220. package/src/wallet/__tests/CachedKeyDeriver.test.ts +83 -27
  1221. package/src/wallet/__tests/KeyDeriver.test.ts +219 -116
  1222. package/src/wallet/__tests/ProtoWallet.test.ts +420 -339
  1223. package/src/wallet/index.ts +8 -8
  1224. package/src/wallet/substrates/HTTPWalletJSON.ts +201 -32
  1225. package/src/wallet/substrates/HTTPWalletWire.ts +30 -26
  1226. package/src/wallet/substrates/WalletWire.ts +1 -1
  1227. package/src/wallet/substrates/WalletWireCalls.ts +3 -3
  1228. package/src/wallet/substrates/WalletWireProcessor.ts +1651 -1515
  1229. package/src/wallet/substrates/WalletWireTransceiver.ts +1424 -854
  1230. package/src/wallet/substrates/XDM.ts +427 -37
  1231. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +484 -223
  1232. package/src/wallet/substrates/__tests/XDM.test.ts +191 -195
  1233. package/src/wallet/substrates/index.ts +7 -7
  1234. package/src/wallet/substrates/window.CWI.ts +524 -65
@@ -36,14 +36,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
36
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
37
  };
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
- const Script_js_1 = __importDefault(require("./Script.js"));
40
- const BigNumber_js_1 = __importDefault(require("../primitives/BigNumber.js"));
41
- const OP_js_1 = __importDefault(require("./OP.js"));
42
- const utils_js_1 = require("../primitives/utils.js");
43
- const Hash = __importStar(require("../primitives/Hash.js"));
44
- const TransactionSignature_js_1 = __importDefault(require("../primitives/TransactionSignature.js"));
45
- const PublicKey_js_1 = __importDefault(require("../primitives/PublicKey.js"));
46
- const ECDSA_js_1 = require("../primitives/ECDSA.js");
39
+ const Script_1 = __importDefault(require("./Script"));
40
+ const BigNumber_1 = __importDefault(require("../primitives/BigNumber"));
41
+ const OP_17 = __importDefault(require("./OP"));
42
+ const utils_1 = require("../primitives/utils");
43
+ const Hash = __importStar(require("../primitives/Hash"));
44
+ const TransactionSignature_1 = __importDefault(require("../primitives/TransactionSignature"));
45
+ const PublicKey_1 = __importDefault(require("../primitives/PublicKey"));
46
+ const ECDSA_1 = require("../primitives/ECDSA");
47
47
  // These constants control the current behavior of the interpreter.
48
48
  // In the future, all of them will go away.
49
49
  const maxScriptElementSize = 1024 * 1024 * 1024;
@@ -140,11 +140,11 @@ class Spend {
140
140
  operation = this.lockingScript.chunks[this.programCounter];
141
141
  }
142
142
  const isOpcodeDisabled = (op) => {
143
- return op === OP_js_1.default.OP_2MUL ||
144
- op === OP_js_1.default.OP_2DIV ||
145
- op === OP_js_1.default.OP_VERIF ||
146
- op === OP_js_1.default.OP_VERNOTIF ||
147
- op === OP_js_1.default.OP_VER;
143
+ return (op === OP_17.default.OP_2MUL ||
144
+ op === OP_17.default.OP_2DIV ||
145
+ op === OP_17.default.OP_VERIF ||
146
+ op === OP_17.default.OP_VERNOTIF ||
147
+ op === OP_17.default.OP_VER);
148
148
  };
149
149
  const isChunkMinimal = (chunk) => {
150
150
  const data = chunk.data;
@@ -154,15 +154,15 @@ class Spend {
154
154
  }
155
155
  if (data.length === 0) {
156
156
  // Could have used OP_0.
157
- return op === OP_js_1.default.OP_0;
157
+ return op === OP_17.default.OP_0;
158
158
  }
159
159
  else if (data.length === 1 && data[0] >= 1 && data[0] <= 16) {
160
160
  // Could have used OP_1 .. OP_16.
161
- return op === OP_js_1.default.OP_1 + (data[0] - 1);
161
+ return op === OP_17.default.OP_1 + (data[0] - 1);
162
162
  }
163
163
  else if (data.length === 1 && data[0] === 0x81) {
164
164
  // Could have used OP_1NEGATE.
165
- return op === OP_js_1.default.OP_1NEGATE;
165
+ return op === OP_17.default.OP_1NEGATE;
166
166
  }
167
167
  else if (data.length <= 75) {
168
168
  // Could have used a direct push (opCode indicating number of bytes pushed + those bytes).
@@ -170,15 +170,15 @@ class Spend {
170
170
  }
171
171
  else if (data.length <= 255) {
172
172
  // Could have used OP_PUSHDATA.
173
- return op === OP_js_1.default.OP_PUSHDATA1;
173
+ return op === OP_17.default.OP_PUSHDATA1;
174
174
  }
175
175
  else if (data.length <= 65535) {
176
176
  // Could have used OP_PUSHDATA2.
177
- return op === OP_js_1.default.OP_PUSHDATA2;
177
+ return op === OP_17.default.OP_PUSHDATA2;
178
178
  }
179
179
  return true;
180
180
  };
181
- // Following example from sCrypt now using Number.MAX_SAFE_INTEGER (bsv/lib/transaction/input/input.js).
181
+ // Following example from sCrypt now using Number.MAX_SAFE_INTEGER (bsv/lib/transaction/input/input).
182
182
  const isMinimallyEncoded = (buf, maxNumSize = Number.MAX_SAFE_INTEGER) => {
183
183
  if (buf.length > maxNumSize) {
184
184
  return false;
@@ -294,11 +294,11 @@ class Spend {
294
294
  if (!isChecksigFormat(buf)) {
295
295
  this.scriptEvaluationError('The signature format is invalid.');
296
296
  }
297
- const sig = TransactionSignature_js_1.default.fromChecksigFormat(buf);
297
+ const sig = TransactionSignature_1.default.fromChecksigFormat(buf);
298
298
  if (requireLowSSignatures && !sig.hasLowS()) {
299
299
  this.scriptEvaluationError('The signature must have a low S value.');
300
300
  }
301
- if ((sig.scope & TransactionSignature_js_1.default.SIGHASH_FORKID) === 0) {
301
+ if ((sig.scope & TransactionSignature_1.default.SIGHASH_FORKID) === 0) {
302
302
  this.scriptEvaluationError('The signature must use SIGHASH_FORKID.');
303
303
  return false;
304
304
  }
@@ -313,7 +313,7 @@ class Spend {
313
313
  this.scriptEvaluationError('The non-compressed public key must be 65 bytes.');
314
314
  }
315
315
  }
316
- else if ((buf[0] === 0x02 || buf[0] === 0x03)) {
316
+ else if (buf[0] === 0x02 || buf[0] === 0x03) {
317
317
  if (buf.length !== 33) {
318
318
  this.scriptEvaluationError('The compressed public key must be 33 bytes.');
319
319
  }
@@ -324,7 +324,7 @@ class Spend {
324
324
  return true;
325
325
  };
326
326
  const verifySignature = (sig, pubkey, subscript) => {
327
- const preimage = TransactionSignature_js_1.default.format({
327
+ const preimage = TransactionSignature_1.default.format({
328
328
  sourceTXID: this.sourceTXID,
329
329
  sourceOutputIndex: this.sourceOutputIndex,
330
330
  sourceSatoshis: this.sourceSatoshis,
@@ -337,8 +337,8 @@ class Spend {
337
337
  lockTime: this.lockTime,
338
338
  scope: sig.scope
339
339
  });
340
- const hash = new BigNumber_js_1.default(Hash.hash256(preimage));
341
- return (0, ECDSA_js_1.verify)(hash, sig, pubkey);
340
+ const hash = new BigNumber_1.default(Hash.hash256(preimage));
341
+ return (0, ECDSA_1.verify)(hash, sig, pubkey);
342
342
  };
343
343
  const isScriptExecuting = !this.ifStack.includes(false);
344
344
  let buf, buf1, buf2, buf3, spliced, n, size, rawnum, num, signbit, x1, x2, x3, bn, bn1, bn2, bn3, bufSig, bufPubkey, subscript, bufHash;
@@ -356,8 +356,9 @@ class Spend {
356
356
  if (isScriptExecuting && isOpcodeDisabled(currentOpcode)) {
357
357
  this.scriptEvaluationError('This opcode is currently disabled.');
358
358
  }
359
- if (isScriptExecuting && currentOpcode >= 0 &&
360
- currentOpcode <= OP_js_1.default.OP_PUSHDATA4) {
359
+ if (isScriptExecuting &&
360
+ currentOpcode >= 0 &&
361
+ currentOpcode <= OP_17.default.OP_PUSHDATA4) {
361
362
  if (requireMinimalPush && !isChunkMinimal(operation)) {
362
363
  this.scriptEvaluationError('This data is not minimally-encoded.');
363
364
  }
@@ -368,107 +369,108 @@ class Spend {
368
369
  this.stack.push(operation.data);
369
370
  }
370
371
  }
371
- else if (isScriptExecuting || (OP_js_1.default.OP_IF <= currentOpcode && currentOpcode <= OP_js_1.default.OP_ENDIF)) {
372
+ else if (isScriptExecuting ||
373
+ (OP_17.default.OP_IF <= currentOpcode && currentOpcode <= OP_17.default.OP_ENDIF)) {
372
374
  switch (currentOpcode) {
373
- case OP_js_1.default.OP_1NEGATE:
374
- case OP_js_1.default.OP_1:
375
- case OP_js_1.default.OP_2:
376
- case OP_js_1.default.OP_3:
377
- case OP_js_1.default.OP_4:
378
- case OP_js_1.default.OP_5:
379
- case OP_js_1.default.OP_6:
380
- case OP_js_1.default.OP_7:
381
- case OP_js_1.default.OP_8:
382
- case OP_js_1.default.OP_9:
383
- case OP_js_1.default.OP_10:
384
- case OP_js_1.default.OP_11:
385
- case OP_js_1.default.OP_12:
386
- case OP_js_1.default.OP_13:
387
- case OP_js_1.default.OP_14:
388
- case OP_js_1.default.OP_15:
389
- case OP_js_1.default.OP_16:
390
- n = currentOpcode - (OP_js_1.default.OP_1 - 1);
391
- buf = new BigNumber_js_1.default(n).toScriptNum();
375
+ case OP_17.default.OP_1NEGATE:
376
+ case OP_17.default.OP_1:
377
+ case OP_17.default.OP_2:
378
+ case OP_17.default.OP_3:
379
+ case OP_17.default.OP_4:
380
+ case OP_17.default.OP_5:
381
+ case OP_17.default.OP_6:
382
+ case OP_17.default.OP_7:
383
+ case OP_17.default.OP_8:
384
+ case OP_17.default.OP_9:
385
+ case OP_17.default.OP_10:
386
+ case OP_17.default.OP_11:
387
+ case OP_17.default.OP_12:
388
+ case OP_17.default.OP_13:
389
+ case OP_17.default.OP_14:
390
+ case OP_17.default.OP_15:
391
+ case OP_17.default.OP_16:
392
+ n = currentOpcode - (OP_17.default.OP_1 - 1);
393
+ buf = new BigNumber_1.default(n).toScriptNum();
392
394
  this.stack.push(buf);
393
395
  break;
394
- case OP_js_1.default.OP_NOP:
395
- case OP_js_1.default.OP_NOP2:
396
- case OP_js_1.default.OP_NOP3:
397
- case OP_js_1.default.OP_NOP1:
398
- case OP_js_1.default.OP_NOP4:
399
- case OP_js_1.default.OP_NOP5:
400
- case OP_js_1.default.OP_NOP6:
401
- case OP_js_1.default.OP_NOP7:
402
- case OP_js_1.default.OP_NOP8:
403
- case OP_js_1.default.OP_NOP9:
404
- case OP_js_1.default.OP_NOP10:
405
- case OP_js_1.default.OP_NOP11:
406
- case OP_js_1.default.OP_NOP12:
407
- case OP_js_1.default.OP_NOP13:
408
- case OP_js_1.default.OP_NOP14:
409
- case OP_js_1.default.OP_NOP15:
410
- case OP_js_1.default.OP_NOP16:
411
- case OP_js_1.default.OP_NOP17:
412
- case OP_js_1.default.OP_NOP18:
413
- case OP_js_1.default.OP_NOP19:
414
- case OP_js_1.default.OP_NOP20:
415
- case OP_js_1.default.OP_NOP21:
416
- case OP_js_1.default.OP_NOP22:
417
- case OP_js_1.default.OP_NOP23:
418
- case OP_js_1.default.OP_NOP24:
419
- case OP_js_1.default.OP_NOP25:
420
- case OP_js_1.default.OP_NOP26:
421
- case OP_js_1.default.OP_NOP27:
422
- case OP_js_1.default.OP_NOP28:
423
- case OP_js_1.default.OP_NOP29:
424
- case OP_js_1.default.OP_NOP30:
425
- case OP_js_1.default.OP_NOP31:
426
- case OP_js_1.default.OP_NOP32:
427
- case OP_js_1.default.OP_NOP33:
428
- case OP_js_1.default.OP_NOP34:
429
- case OP_js_1.default.OP_NOP35:
430
- case OP_js_1.default.OP_NOP36:
431
- case OP_js_1.default.OP_NOP37:
432
- case OP_js_1.default.OP_NOP38:
433
- case OP_js_1.default.OP_NOP39:
434
- case OP_js_1.default.OP_NOP40:
435
- case OP_js_1.default.OP_NOP41:
436
- case OP_js_1.default.OP_NOP42:
437
- case OP_js_1.default.OP_NOP43:
438
- case OP_js_1.default.OP_NOP44:
439
- case OP_js_1.default.OP_NOP45:
440
- case OP_js_1.default.OP_NOP46:
441
- case OP_js_1.default.OP_NOP47:
442
- case OP_js_1.default.OP_NOP48:
443
- case OP_js_1.default.OP_NOP49:
444
- case OP_js_1.default.OP_NOP50:
445
- case OP_js_1.default.OP_NOP51:
446
- case OP_js_1.default.OP_NOP52:
447
- case OP_js_1.default.OP_NOP53:
448
- case OP_js_1.default.OP_NOP54:
449
- case OP_js_1.default.OP_NOP55:
450
- case OP_js_1.default.OP_NOP56:
451
- case OP_js_1.default.OP_NOP57:
452
- case OP_js_1.default.OP_NOP58:
453
- case OP_js_1.default.OP_NOP59:
454
- case OP_js_1.default.OP_NOP60:
455
- case OP_js_1.default.OP_NOP61:
456
- case OP_js_1.default.OP_NOP62:
457
- case OP_js_1.default.OP_NOP63:
458
- case OP_js_1.default.OP_NOP64:
459
- case OP_js_1.default.OP_NOP65:
460
- case OP_js_1.default.OP_NOP66:
461
- case OP_js_1.default.OP_NOP67:
462
- case OP_js_1.default.OP_NOP68:
463
- case OP_js_1.default.OP_NOP69:
464
- case OP_js_1.default.OP_NOP70:
465
- case OP_js_1.default.OP_NOP71:
466
- case OP_js_1.default.OP_NOP72:
467
- case OP_js_1.default.OP_NOP73:
468
- case OP_js_1.default.OP_NOP77:
396
+ case OP_17.default.OP_NOP:
397
+ case OP_17.default.OP_NOP2:
398
+ case OP_17.default.OP_NOP3:
399
+ case OP_17.default.OP_NOP1:
400
+ case OP_17.default.OP_NOP4:
401
+ case OP_17.default.OP_NOP5:
402
+ case OP_17.default.OP_NOP6:
403
+ case OP_17.default.OP_NOP7:
404
+ case OP_17.default.OP_NOP8:
405
+ case OP_17.default.OP_NOP9:
406
+ case OP_17.default.OP_NOP10:
407
+ case OP_17.default.OP_NOP11:
408
+ case OP_17.default.OP_NOP12:
409
+ case OP_17.default.OP_NOP13:
410
+ case OP_17.default.OP_NOP14:
411
+ case OP_17.default.OP_NOP15:
412
+ case OP_17.default.OP_NOP16:
413
+ case OP_17.default.OP_NOP17:
414
+ case OP_17.default.OP_NOP18:
415
+ case OP_17.default.OP_NOP19:
416
+ case OP_17.default.OP_NOP20:
417
+ case OP_17.default.OP_NOP21:
418
+ case OP_17.default.OP_NOP22:
419
+ case OP_17.default.OP_NOP23:
420
+ case OP_17.default.OP_NOP24:
421
+ case OP_17.default.OP_NOP25:
422
+ case OP_17.default.OP_NOP26:
423
+ case OP_17.default.OP_NOP27:
424
+ case OP_17.default.OP_NOP28:
425
+ case OP_17.default.OP_NOP29:
426
+ case OP_17.default.OP_NOP30:
427
+ case OP_17.default.OP_NOP31:
428
+ case OP_17.default.OP_NOP32:
429
+ case OP_17.default.OP_NOP33:
430
+ case OP_17.default.OP_NOP34:
431
+ case OP_17.default.OP_NOP35:
432
+ case OP_17.default.OP_NOP36:
433
+ case OP_17.default.OP_NOP37:
434
+ case OP_17.default.OP_NOP38:
435
+ case OP_17.default.OP_NOP39:
436
+ case OP_17.default.OP_NOP40:
437
+ case OP_17.default.OP_NOP41:
438
+ case OP_17.default.OP_NOP42:
439
+ case OP_17.default.OP_NOP43:
440
+ case OP_17.default.OP_NOP44:
441
+ case OP_17.default.OP_NOP45:
442
+ case OP_17.default.OP_NOP46:
443
+ case OP_17.default.OP_NOP47:
444
+ case OP_17.default.OP_NOP48:
445
+ case OP_17.default.OP_NOP49:
446
+ case OP_17.default.OP_NOP50:
447
+ case OP_17.default.OP_NOP51:
448
+ case OP_17.default.OP_NOP52:
449
+ case OP_17.default.OP_NOP53:
450
+ case OP_17.default.OP_NOP54:
451
+ case OP_17.default.OP_NOP55:
452
+ case OP_17.default.OP_NOP56:
453
+ case OP_17.default.OP_NOP57:
454
+ case OP_17.default.OP_NOP58:
455
+ case OP_17.default.OP_NOP59:
456
+ case OP_17.default.OP_NOP60:
457
+ case OP_17.default.OP_NOP61:
458
+ case OP_17.default.OP_NOP62:
459
+ case OP_17.default.OP_NOP63:
460
+ case OP_17.default.OP_NOP64:
461
+ case OP_17.default.OP_NOP65:
462
+ case OP_17.default.OP_NOP66:
463
+ case OP_17.default.OP_NOP67:
464
+ case OP_17.default.OP_NOP68:
465
+ case OP_17.default.OP_NOP69:
466
+ case OP_17.default.OP_NOP70:
467
+ case OP_17.default.OP_NOP71:
468
+ case OP_17.default.OP_NOP72:
469
+ case OP_17.default.OP_NOP73:
470
+ case OP_17.default.OP_NOP77:
469
471
  break;
470
- case OP_js_1.default.OP_IF:
471
- case OP_js_1.default.OP_NOTIF:
472
+ case OP_17.default.OP_IF:
473
+ case OP_17.default.OP_NOTIF:
472
474
  fValue = false;
473
475
  if (isScriptExecuting) {
474
476
  if (this.stack.length < 1) {
@@ -476,26 +478,27 @@ class Spend {
476
478
  }
477
479
  buf = this.stacktop(-1);
478
480
  fValue = this.castToBool(buf);
479
- if (currentOpcode === OP_js_1.default.OP_NOTIF) {
481
+ if (currentOpcode === OP_17.default.OP_NOTIF) {
480
482
  fValue = !fValue;
481
483
  }
482
484
  this.stack.pop();
483
485
  }
484
486
  this.ifStack.push(fValue);
485
487
  break;
486
- case OP_js_1.default.OP_ELSE:
488
+ case OP_17.default.OP_ELSE:
487
489
  if (this.ifStack.length === 0) {
488
490
  this.scriptEvaluationError('OP_ELSE requires a preceeding OP_IF.');
489
491
  }
490
- this.ifStack[this.ifStack.length - 1] = !this.ifStack[this.ifStack.length - 1];
492
+ this.ifStack[this.ifStack.length - 1] =
493
+ !this.ifStack[this.ifStack.length - 1];
491
494
  break;
492
- case OP_js_1.default.OP_ENDIF:
495
+ case OP_17.default.OP_ENDIF:
493
496
  if (this.ifStack.length === 0) {
494
497
  this.scriptEvaluationError('OP_ENDIF requires a preceeding OP_IF.');
495
498
  }
496
499
  this.ifStack.pop();
497
500
  break;
498
- case OP_js_1.default.OP_VERIFY:
501
+ case OP_17.default.OP_VERIFY:
499
502
  if (this.stack.length < 1) {
500
503
  this.scriptEvaluationError('OP_VERIFY requires at least one item to be on the stack.');
501
504
  }
@@ -508,7 +511,7 @@ class Spend {
508
511
  this.scriptEvaluationError('OP_VERIFY requires the top stack value to be truthy.');
509
512
  }
510
513
  break;
511
- case OP_js_1.default.OP_RETURN:
514
+ case OP_17.default.OP_RETURN:
512
515
  if (this.context === 'UnlockingScript') {
513
516
  this.programCounter = this.unlockingScript.chunks.length;
514
517
  }
@@ -517,26 +520,26 @@ class Spend {
517
520
  }
518
521
  this.ifStack = [];
519
522
  break;
520
- case OP_js_1.default.OP_TOALTSTACK:
523
+ case OP_17.default.OP_TOALTSTACK:
521
524
  if (this.stack.length < 1) {
522
525
  this.scriptEvaluationError('OP_TOALTSTACK requires at oeast one item to be on the stack.');
523
526
  }
524
527
  this.altStack.push(this.stack.pop());
525
528
  break;
526
- case OP_js_1.default.OP_FROMALTSTACK:
529
+ case OP_17.default.OP_FROMALTSTACK:
527
530
  if (this.altStack.length < 1) {
528
531
  this.scriptEvaluationError('OP_FROMALTSTACK requires at least one item to be on the stack.');
529
532
  }
530
533
  this.stack.push(this.altStack.pop());
531
534
  break;
532
- case OP_js_1.default.OP_2DROP:
535
+ case OP_17.default.OP_2DROP:
533
536
  if (this.stack.length < 2) {
534
537
  this.scriptEvaluationError('OP_2DROP requires at least two items to be on the stack.');
535
538
  }
536
539
  this.stack.pop();
537
540
  this.stack.pop();
538
541
  break;
539
- case OP_js_1.default.OP_2DUP:
542
+ case OP_17.default.OP_2DUP:
540
543
  if (this.stack.length < 2) {
541
544
  this.scriptEvaluationError('OP_2DUP requires at least two items to be on the stack.');
542
545
  }
@@ -545,7 +548,7 @@ class Spend {
545
548
  this.stack.push([...buf1]);
546
549
  this.stack.push([...buf2]);
547
550
  break;
548
- case OP_js_1.default.OP_3DUP:
551
+ case OP_17.default.OP_3DUP:
549
552
  if (this.stack.length < 3) {
550
553
  this.scriptEvaluationError('OP_3DUP requires at least three items to be on the stack.');
551
554
  }
@@ -556,7 +559,7 @@ class Spend {
556
559
  this.stack.push([...buf2]);
557
560
  this.stack.push([...buf3]);
558
561
  break;
559
- case OP_js_1.default.OP_2OVER:
562
+ case OP_17.default.OP_2OVER:
560
563
  if (this.stack.length < 4) {
561
564
  this.scriptEvaluationError('OP_2OVER requires at least four items to be on the stack.');
562
565
  }
@@ -565,7 +568,7 @@ class Spend {
565
568
  this.stack.push([...buf1]);
566
569
  this.stack.push([...buf2]);
567
570
  break;
568
- case OP_js_1.default.OP_2ROT:
571
+ case OP_17.default.OP_2ROT:
569
572
  if (this.stack.length < 6) {
570
573
  this.scriptEvaluationError('OP_2ROT requires at least six items to be on the stack.');
571
574
  }
@@ -573,7 +576,7 @@ class Spend {
573
576
  this.stack.push(spliced[0]);
574
577
  this.stack.push(spliced[1]);
575
578
  break;
576
- case OP_js_1.default.OP_2SWAP:
579
+ case OP_17.default.OP_2SWAP:
577
580
  if (this.stack.length < 4) {
578
581
  this.scriptEvaluationError('OP_2SWAP requires at least four items to be on the stack.');
579
582
  }
@@ -581,7 +584,7 @@ class Spend {
581
584
  this.stack.push(spliced[0]);
582
585
  this.stack.push(spliced[1]);
583
586
  break;
584
- case OP_js_1.default.OP_IFDUP:
587
+ case OP_17.default.OP_IFDUP:
585
588
  if (this.stack.length < 1) {
586
589
  this.scriptEvaluationError('OP_IFDUP requires at least one item to be on the stack.');
587
590
  }
@@ -591,53 +594,53 @@ class Spend {
591
594
  this.stack.push([...buf]);
592
595
  }
593
596
  break;
594
- case OP_js_1.default.OP_DEPTH:
595
- buf = new BigNumber_js_1.default(this.stack.length).toScriptNum();
597
+ case OP_17.default.OP_DEPTH:
598
+ buf = new BigNumber_1.default(this.stack.length).toScriptNum();
596
599
  this.stack.push(buf);
597
600
  break;
598
- case OP_js_1.default.OP_DROP:
601
+ case OP_17.default.OP_DROP:
599
602
  if (this.stack.length < 1) {
600
603
  this.scriptEvaluationError('OP_DROP requires at least one item to be on the stack.');
601
604
  }
602
605
  this.stack.pop();
603
606
  break;
604
- case OP_js_1.default.OP_DUP:
607
+ case OP_17.default.OP_DUP:
605
608
  if (this.stack.length < 1) {
606
609
  this.scriptEvaluationError('OP_DUP requires at least one item to be on the stack.');
607
610
  }
608
611
  this.stack.push([...this.stacktop(-1)]);
609
612
  break;
610
- case OP_js_1.default.OP_NIP:
613
+ case OP_17.default.OP_NIP:
611
614
  if (this.stack.length < 2) {
612
615
  this.scriptEvaluationError('OP_NIP requires at least two items to be on the stack.');
613
616
  }
614
617
  this.stack.splice(this.stack.length - 2, 1);
615
618
  break;
616
- case OP_js_1.default.OP_OVER:
619
+ case OP_17.default.OP_OVER:
617
620
  if (this.stack.length < 2) {
618
621
  this.scriptEvaluationError('OP_OVER requires at least two items to be on the stack.');
619
622
  }
620
623
  this.stack.push([...this.stacktop(-2)]);
621
624
  break;
622
- case OP_js_1.default.OP_PICK:
623
- case OP_js_1.default.OP_ROLL:
625
+ case OP_17.default.OP_PICK:
626
+ case OP_17.default.OP_ROLL:
624
627
  if (this.stack.length < 2) {
625
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least two items to be on the stack.`);
628
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
626
629
  }
627
630
  buf = this.stacktop(-1);
628
- bn = BigNumber_js_1.default.fromScriptNum(buf, requireMinimalPush);
631
+ bn = BigNumber_1.default.fromScriptNum(buf, requireMinimalPush);
629
632
  n = bn.toNumber();
630
633
  this.stack.pop();
631
634
  if (n < 0 || n >= this.stack.length) {
632
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires the top stack element to be 0 or a positive number less than the current size of the stack.`);
635
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the top stack element to be 0 or a positive number less than the current size of the stack.`);
633
636
  }
634
637
  buf = this.stacktop(-n - 1);
635
- if (currentOpcode === OP_js_1.default.OP_ROLL) {
638
+ if (currentOpcode === OP_17.default.OP_ROLL) {
636
639
  this.stack.splice(this.stack.length - n - 1, 1);
637
640
  }
638
641
  this.stack.push([...buf]);
639
642
  break;
640
- case OP_js_1.default.OP_ROT:
643
+ case OP_17.default.OP_ROT:
641
644
  if (this.stack.length < 3) {
642
645
  this.scriptEvaluationError('OP_ROT requires at least three items to be on the stack.');
643
646
  }
@@ -648,7 +651,7 @@ class Spend {
648
651
  this.stack[this.stack.length - 2] = x3;
649
652
  this.stack[this.stack.length - 1] = x1;
650
653
  break;
651
- case OP_js_1.default.OP_SWAP:
654
+ case OP_17.default.OP_SWAP:
652
655
  if (this.stack.length < 2) {
653
656
  this.scriptEvaluationError('OP_SWAP requires at least two items to be on the stack.');
654
657
  }
@@ -657,42 +660,42 @@ class Spend {
657
660
  this.stack[this.stack.length - 2] = x2;
658
661
  this.stack[this.stack.length - 1] = x1;
659
662
  break;
660
- case OP_js_1.default.OP_TUCK:
663
+ case OP_17.default.OP_TUCK:
661
664
  if (this.stack.length < 2) {
662
665
  this.scriptEvaluationError('OP_TUCK requires at least two items to be on the stack.');
663
666
  }
664
667
  this.stack.splice(this.stack.length - 2, 0, [...this.stacktop(-1)]);
665
668
  break;
666
- case OP_js_1.default.OP_SIZE:
669
+ case OP_17.default.OP_SIZE:
667
670
  if (this.stack.length < 1) {
668
671
  this.scriptEvaluationError('OP_SIZE requires at least one item to be on the stack.');
669
672
  }
670
- bn = new BigNumber_js_1.default(this.stacktop(-1).length);
673
+ bn = new BigNumber_1.default(this.stacktop(-1).length);
671
674
  this.stack.push(bn.toScriptNum());
672
675
  break;
673
- case OP_js_1.default.OP_AND:
674
- case OP_js_1.default.OP_OR:
675
- case OP_js_1.default.OP_XOR:
676
+ case OP_17.default.OP_AND:
677
+ case OP_17.default.OP_OR:
678
+ case OP_17.default.OP_XOR:
676
679
  if (this.stack.length < 2) {
677
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least one item to be on the stack.`);
680
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least one item to be on the stack.`);
678
681
  }
679
682
  buf1 = this.stacktop(-2);
680
683
  buf2 = this.stacktop(-1);
681
684
  if (buf1.length !== buf2.length) {
682
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires the top two stack items to be the same size.`);
685
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the top two stack items to be the same size.`);
683
686
  }
684
687
  switch (currentOpcode) {
685
- case OP_js_1.default.OP_AND:
688
+ case OP_17.default.OP_AND:
686
689
  for (let i = 0; i < buf1.length; i++) {
687
690
  buf1[i] &= buf2[i];
688
691
  }
689
692
  break;
690
- case OP_js_1.default.OP_OR:
693
+ case OP_17.default.OP_OR:
691
694
  for (let i = 0; i < buf1.length; i++) {
692
695
  buf1[i] |= buf2[i];
693
696
  }
694
697
  break;
695
- case OP_js_1.default.OP_XOR:
698
+ case OP_17.default.OP_XOR:
696
699
  for (let i = 0; i < buf1.length; i++) {
697
700
  buf1[i] ^= buf2[i];
698
701
  }
@@ -701,7 +704,7 @@ class Spend {
701
704
  // And pop vch2.
702
705
  this.stack.pop();
703
706
  break;
704
- case OP_js_1.default.OP_INVERT:
707
+ case OP_17.default.OP_INVERT:
705
708
  if (this.stack.length < 1) {
706
709
  this.scriptEvaluationError('OP_INVERT requires at least one item to be on the stack.');
707
710
  }
@@ -710,47 +713,47 @@ class Spend {
710
713
  buf[i] = ~buf[i];
711
714
  }
712
715
  break;
713
- case OP_js_1.default.OP_LSHIFT:
714
- case OP_js_1.default.OP_RSHIFT:
716
+ case OP_17.default.OP_LSHIFT:
717
+ case OP_17.default.OP_RSHIFT:
715
718
  if (this.stack.length < 2) {
716
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least two items to be on the stack.`);
719
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
717
720
  }
718
721
  buf1 = this.stacktop(-2);
719
722
  if (buf1.length === 0) {
720
723
  this.stack.pop();
721
724
  }
722
725
  else {
723
- bn1 = new BigNumber_js_1.default(buf1);
724
- bn2 = BigNumber_js_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
726
+ bn1 = new BigNumber_1.default(buf1);
727
+ bn2 = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
725
728
  n = bn2.toNumber();
726
729
  if (n < 0) {
727
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires the top item on the stack not to be negative.`);
730
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the top item on the stack not to be negative.`);
728
731
  }
729
732
  this.stack.pop();
730
733
  this.stack.pop();
731
734
  let shifted;
732
- if (currentOpcode === OP_js_1.default.OP_LSHIFT) {
735
+ if (currentOpcode === OP_17.default.OP_LSHIFT) {
733
736
  shifted = bn1.ushln(n);
734
737
  }
735
- if (currentOpcode === OP_js_1.default.OP_RSHIFT) {
738
+ if (currentOpcode === OP_17.default.OP_RSHIFT) {
736
739
  shifted = bn1.ushrn(n);
737
740
  }
738
741
  const bufShifted = padDataToSize(shifted.toArray().slice(buf1.length * -1), buf1.length);
739
742
  this.stack.push(bufShifted);
740
743
  }
741
744
  break;
742
- case OP_js_1.default.OP_EQUAL:
743
- case OP_js_1.default.OP_EQUALVERIFY:
745
+ case OP_17.default.OP_EQUAL:
746
+ case OP_17.default.OP_EQUALVERIFY:
744
747
  if (this.stack.length < 2) {
745
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least two items to be on the stack.`);
748
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
746
749
  }
747
750
  buf1 = this.stacktop(-2);
748
751
  buf2 = this.stacktop(-1);
749
- fEqual = (0, utils_js_1.toHex)(buf1) === (0, utils_js_1.toHex)(buf2);
752
+ fEqual = (0, utils_1.toHex)(buf1) === (0, utils_1.toHex)(buf2);
750
753
  this.stack.pop();
751
754
  this.stack.pop();
752
755
  this.stack.push(fEqual ? [1] : []);
753
- if (currentOpcode === OP_js_1.default.OP_EQUALVERIFY) {
756
+ if (currentOpcode === OP_17.default.OP_EQUALVERIFY) {
754
757
  if (fEqual) {
755
758
  this.stack.pop();
756
759
  }
@@ -759,124 +762,124 @@ class Spend {
759
762
  }
760
763
  }
761
764
  break;
762
- case OP_js_1.default.OP_1ADD:
763
- case OP_js_1.default.OP_1SUB:
764
- case OP_js_1.default.OP_NEGATE:
765
- case OP_js_1.default.OP_ABS:
766
- case OP_js_1.default.OP_NOT:
767
- case OP_js_1.default.OP_0NOTEQUAL:
765
+ case OP_17.default.OP_1ADD:
766
+ case OP_17.default.OP_1SUB:
767
+ case OP_17.default.OP_NEGATE:
768
+ case OP_17.default.OP_ABS:
769
+ case OP_17.default.OP_NOT:
770
+ case OP_17.default.OP_0NOTEQUAL:
768
771
  if (this.stack.length < 1) {
769
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least one items to be on the stack.`);
772
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least one items to be on the stack.`);
770
773
  }
771
774
  buf = this.stacktop(-1);
772
- bn = BigNumber_js_1.default.fromScriptNum(buf, requireMinimalPush);
775
+ bn = BigNumber_1.default.fromScriptNum(buf, requireMinimalPush);
773
776
  switch (currentOpcode) {
774
- case OP_js_1.default.OP_1ADD:
777
+ case OP_17.default.OP_1ADD:
775
778
  bn = bn.addn(1);
776
779
  break;
777
- case OP_js_1.default.OP_1SUB:
780
+ case OP_17.default.OP_1SUB:
778
781
  bn = bn.subn(1);
779
782
  break;
780
- case OP_js_1.default.OP_NEGATE:
783
+ case OP_17.default.OP_NEGATE:
781
784
  bn = bn.neg();
782
785
  break;
783
- case OP_js_1.default.OP_ABS:
786
+ case OP_17.default.OP_ABS:
784
787
  if (bn.cmpn(0) < 0) {
785
788
  bn = bn.neg();
786
789
  }
787
790
  break;
788
- case OP_js_1.default.OP_NOT:
789
- bn = new BigNumber_js_1.default((bn.cmpn(0) === 0) ? 1 : 0 + 0);
791
+ case OP_17.default.OP_NOT:
792
+ bn = new BigNumber_1.default(bn.cmpn(0) === 0 ? 1 : 0 + 0);
790
793
  break;
791
- case OP_js_1.default.OP_0NOTEQUAL:
792
- bn = new BigNumber_js_1.default((bn.cmpn(0) !== 0) ? 1 : 0 + 0);
794
+ case OP_17.default.OP_0NOTEQUAL:
795
+ bn = new BigNumber_1.default(bn.cmpn(0) !== 0 ? 1 : 0 + 0);
793
796
  break;
794
797
  }
795
798
  this.stack.pop();
796
799
  this.stack.push(bn.toScriptNum());
797
800
  break;
798
- case OP_js_1.default.OP_ADD:
799
- case OP_js_1.default.OP_SUB:
800
- case OP_js_1.default.OP_MUL:
801
- case OP_js_1.default.OP_MOD:
802
- case OP_js_1.default.OP_DIV:
803
- case OP_js_1.default.OP_BOOLAND:
804
- case OP_js_1.default.OP_BOOLOR:
805
- case OP_js_1.default.OP_NUMEQUAL:
806
- case OP_js_1.default.OP_NUMEQUALVERIFY:
807
- case OP_js_1.default.OP_NUMNOTEQUAL:
808
- case OP_js_1.default.OP_LESSTHAN:
809
- case OP_js_1.default.OP_GREATERTHAN:
810
- case OP_js_1.default.OP_LESSTHANOREQUAL:
811
- case OP_js_1.default.OP_GREATERTHANOREQUAL:
812
- case OP_js_1.default.OP_MIN:
813
- case OP_js_1.default.OP_MAX:
801
+ case OP_17.default.OP_ADD:
802
+ case OP_17.default.OP_SUB:
803
+ case OP_17.default.OP_MUL:
804
+ case OP_17.default.OP_MOD:
805
+ case OP_17.default.OP_DIV:
806
+ case OP_17.default.OP_BOOLAND:
807
+ case OP_17.default.OP_BOOLOR:
808
+ case OP_17.default.OP_NUMEQUAL:
809
+ case OP_17.default.OP_NUMEQUALVERIFY:
810
+ case OP_17.default.OP_NUMNOTEQUAL:
811
+ case OP_17.default.OP_LESSTHAN:
812
+ case OP_17.default.OP_GREATERTHAN:
813
+ case OP_17.default.OP_LESSTHANOREQUAL:
814
+ case OP_17.default.OP_GREATERTHANOREQUAL:
815
+ case OP_17.default.OP_MIN:
816
+ case OP_17.default.OP_MAX:
814
817
  if (this.stack.length < 2) {
815
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least two items to be on the stack.`);
818
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
816
819
  }
817
- bn1 = BigNumber_js_1.default.fromScriptNum(this.stacktop(-2), requireMinimalPush);
818
- bn2 = BigNumber_js_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
819
- bn = new BigNumber_js_1.default(0);
820
+ bn1 = BigNumber_1.default.fromScriptNum(this.stacktop(-2), requireMinimalPush);
821
+ bn2 = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
822
+ bn = new BigNumber_1.default(0);
820
823
  switch (currentOpcode) {
821
- case OP_js_1.default.OP_ADD:
824
+ case OP_17.default.OP_ADD:
822
825
  bn = bn1.add(bn2);
823
826
  break;
824
- case OP_js_1.default.OP_SUB:
827
+ case OP_17.default.OP_SUB:
825
828
  bn = bn1.sub(bn2);
826
829
  break;
827
- case OP_js_1.default.OP_MUL:
830
+ case OP_17.default.OP_MUL:
828
831
  bn = bn1.mul(bn2);
829
832
  break;
830
- case OP_js_1.default.OP_DIV:
833
+ case OP_17.default.OP_DIV:
831
834
  if (bn2.cmpn(0) === 0) {
832
835
  this.scriptEvaluationError('OP_DIV cannot divide by zero!');
833
836
  }
834
837
  bn = bn1.div(bn2);
835
838
  break;
836
- case OP_js_1.default.OP_MOD:
839
+ case OP_17.default.OP_MOD:
837
840
  if (bn2.cmpn(0) === 0) {
838
841
  this.scriptEvaluationError('OP_MOD cannot divide by zero!');
839
842
  }
840
843
  bn = bn1.mod(bn2);
841
844
  break;
842
- case OP_js_1.default.OP_BOOLAND:
843
- bn = new BigNumber_js_1.default(((bn1.cmpn(0) !== 0) && (bn2.cmpn(0) !== 0)) ? 1 : 0 + 0);
845
+ case OP_17.default.OP_BOOLAND:
846
+ bn = new BigNumber_1.default(bn1.cmpn(0) !== 0 && bn2.cmpn(0) !== 0 ? 1 : 0 + 0);
844
847
  break;
845
- case OP_js_1.default.OP_BOOLOR:
846
- bn = new BigNumber_js_1.default(((bn1.cmpn(0) !== 0) || (bn2.cmpn(0) !== 0)) ? 1 : 0 + 0);
848
+ case OP_17.default.OP_BOOLOR:
849
+ bn = new BigNumber_1.default(bn1.cmpn(0) !== 0 || bn2.cmpn(0) !== 0 ? 1 : 0 + 0);
847
850
  break;
848
- case OP_js_1.default.OP_NUMEQUAL:
849
- bn = new BigNumber_js_1.default((bn1.cmp(bn2) === 0) ? 1 : 0 + 0);
851
+ case OP_17.default.OP_NUMEQUAL:
852
+ bn = new BigNumber_1.default(bn1.cmp(bn2) === 0 ? 1 : 0 + 0);
850
853
  break;
851
- case OP_js_1.default.OP_NUMEQUALVERIFY:
852
- bn = new BigNumber_js_1.default((bn1.cmp(bn2) === 0) ? 1 : 0 + 0);
854
+ case OP_17.default.OP_NUMEQUALVERIFY:
855
+ bn = new BigNumber_1.default(bn1.cmp(bn2) === 0 ? 1 : 0 + 0);
853
856
  break;
854
- case OP_js_1.default.OP_NUMNOTEQUAL:
855
- bn = new BigNumber_js_1.default((bn1.cmp(bn2) !== 0) ? 1 : 0 + 0);
857
+ case OP_17.default.OP_NUMNOTEQUAL:
858
+ bn = new BigNumber_1.default(bn1.cmp(bn2) !== 0 ? 1 : 0 + 0);
856
859
  break;
857
- case OP_js_1.default.OP_LESSTHAN:
858
- bn = new BigNumber_js_1.default((bn1.cmp(bn2) < 0) ? 1 : 0 + 0);
860
+ case OP_17.default.OP_LESSTHAN:
861
+ bn = new BigNumber_1.default(bn1.cmp(bn2) < 0 ? 1 : 0 + 0);
859
862
  break;
860
- case OP_js_1.default.OP_GREATERTHAN:
861
- bn = new BigNumber_js_1.default((bn1.cmp(bn2) > 0) ? 1 : 0 + 0);
863
+ case OP_17.default.OP_GREATERTHAN:
864
+ bn = new BigNumber_1.default(bn1.cmp(bn2) > 0 ? 1 : 0 + 0);
862
865
  break;
863
- case OP_js_1.default.OP_LESSTHANOREQUAL:
864
- bn = new BigNumber_js_1.default((bn1.cmp(bn2) <= 0) ? 1 : 0 + 0);
866
+ case OP_17.default.OP_LESSTHANOREQUAL:
867
+ bn = new BigNumber_1.default(bn1.cmp(bn2) <= 0 ? 1 : 0 + 0);
865
868
  break;
866
- case OP_js_1.default.OP_GREATERTHANOREQUAL:
867
- bn = new BigNumber_js_1.default((bn1.cmp(bn2) >= 0) ? 1 : 0 + 0);
869
+ case OP_17.default.OP_GREATERTHANOREQUAL:
870
+ bn = new BigNumber_1.default(bn1.cmp(bn2) >= 0 ? 1 : 0 + 0);
868
871
  break;
869
- case OP_js_1.default.OP_MIN:
870
- bn = (bn1.cmp(bn2) < 0 ? bn1 : bn2);
872
+ case OP_17.default.OP_MIN:
873
+ bn = bn1.cmp(bn2) < 0 ? bn1 : bn2;
871
874
  break;
872
- case OP_js_1.default.OP_MAX:
873
- bn = (bn1.cmp(bn2) > 0 ? bn1 : bn2);
875
+ case OP_17.default.OP_MAX:
876
+ bn = bn1.cmp(bn2) > 0 ? bn1 : bn2;
874
877
  break;
875
878
  }
876
879
  this.stack.pop();
877
880
  this.stack.pop();
878
881
  this.stack.push(bn.toScriptNum());
879
- if (currentOpcode === OP_js_1.default.OP_NUMEQUALVERIFY) {
882
+ if (currentOpcode === OP_17.default.OP_NUMEQUALVERIFY) {
880
883
  if (this.castToBool(this.stacktop(-1))) {
881
884
  this.stack.pop();
882
885
  }
@@ -885,73 +888,73 @@ class Spend {
885
888
  }
886
889
  }
887
890
  break;
888
- case OP_js_1.default.OP_WITHIN:
891
+ case OP_17.default.OP_WITHIN:
889
892
  if (this.stack.length < 3) {
890
893
  this.scriptEvaluationError('OP_WITHIN requires at least three items to be on the stack.');
891
894
  }
892
- bn1 = BigNumber_js_1.default.fromScriptNum(this.stacktop(-3), requireMinimalPush);
893
- bn2 = BigNumber_js_1.default.fromScriptNum(this.stacktop(-2), requireMinimalPush);
894
- bn3 = BigNumber_js_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
895
- fValue = (bn2.cmp(bn1) <= 0) && (bn1.cmp(bn3) < 0);
895
+ bn1 = BigNumber_1.default.fromScriptNum(this.stacktop(-3), requireMinimalPush);
896
+ bn2 = BigNumber_1.default.fromScriptNum(this.stacktop(-2), requireMinimalPush);
897
+ bn3 = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
898
+ fValue = bn2.cmp(bn1) <= 0 && bn1.cmp(bn3) < 0;
896
899
  this.stack.pop();
897
900
  this.stack.pop();
898
901
  this.stack.pop();
899
902
  this.stack.push(fValue ? [1] : []);
900
903
  break;
901
- case OP_js_1.default.OP_RIPEMD160:
902
- case OP_js_1.default.OP_SHA1:
903
- case OP_js_1.default.OP_SHA256:
904
- case OP_js_1.default.OP_HASH160:
905
- case OP_js_1.default.OP_HASH256:
904
+ case OP_17.default.OP_RIPEMD160:
905
+ case OP_17.default.OP_SHA1:
906
+ case OP_17.default.OP_SHA256:
907
+ case OP_17.default.OP_HASH160:
908
+ case OP_17.default.OP_HASH256:
906
909
  if (this.stack.length < 1) {
907
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least one item to be on the stack.`);
910
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least one item to be on the stack.`);
908
911
  }
909
912
  buf = this.stacktop(-1);
910
- if (currentOpcode === OP_js_1.default.OP_RIPEMD160) {
913
+ if (currentOpcode === OP_17.default.OP_RIPEMD160) {
911
914
  bufHash = Hash.ripemd160(buf);
912
915
  }
913
- else if (currentOpcode === OP_js_1.default.OP_SHA1) {
916
+ else if (currentOpcode === OP_17.default.OP_SHA1) {
914
917
  bufHash = Hash.sha1(buf);
915
918
  }
916
- else if (currentOpcode === OP_js_1.default.OP_SHA256) {
919
+ else if (currentOpcode === OP_17.default.OP_SHA256) {
917
920
  bufHash = Hash.sha256(buf);
918
921
  }
919
- else if (currentOpcode === OP_js_1.default.OP_HASH160) {
922
+ else if (currentOpcode === OP_17.default.OP_HASH160) {
920
923
  bufHash = Hash.hash160(buf);
921
924
  }
922
- else if (currentOpcode === OP_js_1.default.OP_HASH256) {
925
+ else if (currentOpcode === OP_17.default.OP_HASH256) {
923
926
  bufHash = Hash.hash256(buf);
924
927
  }
925
928
  this.stack.pop();
926
929
  this.stack.push(bufHash);
927
930
  break;
928
- case OP_js_1.default.OP_CODESEPARATOR:
931
+ case OP_17.default.OP_CODESEPARATOR:
929
932
  this.lastCodeSeparator = this.programCounter;
930
933
  break;
931
- case OP_js_1.default.OP_CHECKSIG:
932
- case OP_js_1.default.OP_CHECKSIGVERIFY:
934
+ case OP_17.default.OP_CHECKSIG:
935
+ case OP_17.default.OP_CHECKSIGVERIFY:
933
936
  if (this.stack.length < 2) {
934
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least two items to be on the stack.`);
937
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
935
938
  }
936
939
  bufSig = this.stacktop(-2);
937
940
  bufPubkey = this.stacktop(-1);
938
941
  if (!checkSignatureEncoding(bufSig) ||
939
942
  !checkPublicKeyEncoding(bufPubkey)) {
940
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires correct encoding for the public key and signature.`);
943
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires correct encoding for the public key and signature.`);
941
944
  }
942
945
  // Subset of script starting at the most recent codeseparator
943
946
  // CScript scriptCode(pbegincodehash, pend);
944
947
  if (this.context === 'UnlockingScript') {
945
- subscript = new Script_js_1.default(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
948
+ subscript = new Script_1.default(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
946
949
  }
947
950
  else {
948
- subscript = new Script_js_1.default(this.lockingScript.chunks.slice(this.lastCodeSeparator));
951
+ subscript = new Script_1.default(this.lockingScript.chunks.slice(this.lastCodeSeparator));
949
952
  }
950
953
  // Drop the signature, since there's no way for a signature to sign itself
951
- subscript.findAndDelete(new Script_js_1.default().writeBin(bufSig));
954
+ subscript.findAndDelete(new Script_1.default().writeBin(bufSig));
952
955
  try {
953
- sig = TransactionSignature_js_1.default.fromChecksigFormat(bufSig);
954
- pubkey = PublicKey_js_1.default.fromDER(bufPubkey);
956
+ sig = TransactionSignature_1.default.fromChecksigFormat(bufSig);
957
+ pubkey = PublicKey_1.default.fromDER(bufPubkey);
955
958
  fSuccess = verifySignature(sig, pubkey, subscript);
956
959
  }
957
960
  catch (e) {
@@ -959,13 +962,13 @@ class Spend {
959
962
  fSuccess = false;
960
963
  }
961
964
  if (!fSuccess && bufSig.length > 0) {
962
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} failed to verify the signature, and requires an empty signature when verification fails.`);
965
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} failed to verify the signature, and requires an empty signature when verification fails.`);
963
966
  }
964
967
  this.stack.pop();
965
968
  this.stack.pop();
966
969
  // stack.push_back(fSuccess ? vchTrue : vchFalse);
967
970
  this.stack.push(fSuccess ? [1] : []);
968
- if (currentOpcode === OP_js_1.default.OP_CHECKSIGVERIFY) {
971
+ if (currentOpcode === OP_17.default.OP_CHECKSIGVERIFY) {
969
972
  if (fSuccess) {
970
973
  this.stack.pop();
971
974
  }
@@ -974,16 +977,16 @@ class Spend {
974
977
  }
975
978
  }
976
979
  break;
977
- case OP_js_1.default.OP_CHECKMULTISIG:
978
- case OP_js_1.default.OP_CHECKMULTISIGVERIFY:
980
+ case OP_17.default.OP_CHECKMULTISIG:
981
+ case OP_17.default.OP_CHECKMULTISIGVERIFY:
979
982
  i = 1;
980
983
  if (this.stack.length < i) {
981
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires at least 1 item to be on the stack.`);
984
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least 1 item to be on the stack.`);
982
985
  }
983
- nKeysCount = BigNumber_js_1.default.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
986
+ nKeysCount = BigNumber_1.default.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
984
987
  // TODO: Keys and opcount are parameterized in client. No magic numbers!
985
988
  if (nKeysCount < 0 || nKeysCount > maxMultisigKeyCount) {
986
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires a key count between 0 and ${maxMultisigKeyCount}.`);
989
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires a key count between 0 and ${maxMultisigKeyCount}.`);
987
990
  }
988
991
  ikey = ++i;
989
992
  i += nKeysCount;
@@ -993,28 +996,28 @@ class Spend {
993
996
  // operation fails.
994
997
  ikey2 = nKeysCount + 2;
995
998
  if (this.stack.length < i) {
996
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires the number of stack items not to be less than the number of keys used.`);
999
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the number of stack items not to be less than the number of keys used.`);
997
1000
  }
998
- nSigsCount = BigNumber_js_1.default.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
1001
+ nSigsCount = BigNumber_1.default.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
999
1002
  if (nSigsCount < 0 || nSigsCount > nKeysCount) {
1000
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires the number of signatures to be no greater than the number of keys.`);
1003
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the number of signatures to be no greater than the number of keys.`);
1001
1004
  }
1002
1005
  isig = ++i;
1003
1006
  i += nSigsCount;
1004
1007
  if (this.stack.length < i) {
1005
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires the number of stack items not to be less than the number of signatures provided.`);
1008
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the number of stack items not to be less than the number of signatures provided.`);
1006
1009
  }
1007
1010
  // Subset of script starting at the most recent codeseparator
1008
1011
  if (this.context === 'UnlockingScript') {
1009
- subscript = new Script_js_1.default(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
1012
+ subscript = new Script_1.default(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
1010
1013
  }
1011
1014
  else {
1012
- subscript = new Script_js_1.default(this.lockingScript.chunks.slice(this.lastCodeSeparator));
1015
+ subscript = new Script_1.default(this.lockingScript.chunks.slice(this.lastCodeSeparator));
1013
1016
  }
1014
1017
  // Drop the signatures, since there's no way for a signature to sign itself
1015
1018
  for (let k = 0; k < nSigsCount; k++) {
1016
1019
  bufSig = this.stacktop(-isig - k);
1017
- subscript.findAndDelete(new Script_js_1.default().writeBin(bufSig));
1020
+ subscript.findAndDelete(new Script_1.default().writeBin(bufSig));
1018
1021
  }
1019
1022
  fSuccess = true;
1020
1023
  while (fSuccess && nSigsCount > 0) {
@@ -1024,11 +1027,11 @@ class Spend {
1024
1027
  bufPubkey = this.stacktop(-ikey);
1025
1028
  if (!checkSignatureEncoding(bufSig) ||
1026
1029
  !checkPublicKeyEncoding(bufPubkey)) {
1027
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires correct encoding for the public key and signature.`);
1030
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires correct encoding for the public key and signature.`);
1028
1031
  }
1029
1032
  try {
1030
- sig = TransactionSignature_js_1.default.fromChecksigFormat(bufSig);
1031
- pubkey = PublicKey_js_1.default.fromString((0, utils_js_1.toHex)(bufPubkey));
1033
+ sig = TransactionSignature_1.default.fromChecksigFormat(bufSig);
1034
+ pubkey = PublicKey_1.default.fromString((0, utils_1.toHex)(bufPubkey));
1032
1035
  fOk = verifySignature(sig, pubkey, subscript);
1033
1036
  }
1034
1037
  catch (e) {
@@ -1049,8 +1052,8 @@ class Spend {
1049
1052
  }
1050
1053
  // Clean up stack of actual arguments
1051
1054
  while (i-- > 1) {
1052
- if (!fSuccess && !ikey2 && (this.stacktop(-1).length > 0)) {
1053
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} failed to verify a signature, and requires an empty signature when verification fails.`);
1055
+ if (!fSuccess && !ikey2 && this.stacktop(-1).length > 0) {
1056
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} failed to verify a signature, and requires an empty signature when verification fails.`);
1054
1057
  }
1055
1058
  if (ikey2 > 0) {
1056
1059
  ikey2--;
@@ -1064,14 +1067,15 @@ class Spend {
1064
1067
  // so optionally verify it is exactly equal to zero prior
1065
1068
  // to removing it from the stack.
1066
1069
  if (this.stack.length < 1) {
1067
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires an extra item to be on the stack.`);
1070
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires an extra item to be on the stack.`);
1068
1071
  }
1069
- if (this.stacktop(-1).length > 0) { // NOTE: Is this necessary? We don't care about malleability.
1070
- this.scriptEvaluationError(`${OP_js_1.default[currentOpcode]} requires the extra stack item to be empty.`);
1072
+ if (this.stacktop(-1).length > 0) {
1073
+ // NOTE: Is this necessary? We don't care about malleability.
1074
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the extra stack item to be empty.`);
1071
1075
  }
1072
1076
  this.stack.pop();
1073
1077
  this.stack.push(fSuccess ? [1] : []);
1074
- if (currentOpcode === OP_js_1.default.OP_CHECKMULTISIGVERIFY) {
1078
+ if (currentOpcode === OP_17.default.OP_CHECKMULTISIGVERIFY) {
1075
1079
  if (fSuccess) {
1076
1080
  this.stack.pop();
1077
1081
  }
@@ -1080,7 +1084,7 @@ class Spend {
1080
1084
  }
1081
1085
  }
1082
1086
  break;
1083
- case OP_js_1.default.OP_CAT:
1087
+ case OP_17.default.OP_CAT:
1084
1088
  if (this.stack.length < 2) {
1085
1089
  this.scriptEvaluationError('OP_CAT requires at least two items to be on the stack.');
1086
1090
  }
@@ -1092,13 +1096,13 @@ class Spend {
1092
1096
  this.stack[this.stack.length - 2] = [...buf1, ...buf2];
1093
1097
  this.stack.pop();
1094
1098
  break;
1095
- case OP_js_1.default.OP_SPLIT:
1099
+ case OP_17.default.OP_SPLIT:
1096
1100
  if (this.stack.length < 2) {
1097
1101
  this.scriptEvaluationError('OP_SPLIT requires at least two items to be on the stack.');
1098
1102
  }
1099
1103
  buf1 = this.stacktop(-2);
1100
1104
  // Make sure the split point is apropriate.
1101
- n = BigNumber_js_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1105
+ n = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1102
1106
  if (n < 0 || n > buf1.length) {
1103
1107
  this.scriptEvaluationError('OP_SPLIT requires the first stack item to be a non-negative number less than or equal to the size of the second-from-top stack item.');
1104
1108
  }
@@ -1110,11 +1114,11 @@ class Spend {
1110
1114
  this.stack[this.stack.length - 2] = buf2.slice(0, n);
1111
1115
  this.stack[this.stack.length - 1] = buf2.slice(n);
1112
1116
  break;
1113
- case OP_js_1.default.OP_NUM2BIN:
1117
+ case OP_17.default.OP_NUM2BIN:
1114
1118
  if (this.stack.length < 2) {
1115
1119
  this.scriptEvaluationError('OP_NUM2BIN requires at least two items to be on the stack.');
1116
1120
  }
1117
- size = BigNumber_js_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1121
+ size = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1118
1122
  if (size > maxScriptElementSize) {
1119
1123
  this.scriptEvaluationError(`It's not currently possible to push data larger than ${maxScriptElementSize} bytes.`);
1120
1124
  }
@@ -1122,7 +1126,7 @@ class Spend {
1122
1126
  rawnum = this.stacktop(-1);
1123
1127
  // Try to see if we can fit that number in the number of
1124
1128
  // byte requested.
1125
- rawnum = (0, utils_js_1.minimallyEncode)(rawnum);
1129
+ rawnum = (0, utils_1.minimallyEncode)(rawnum);
1126
1130
  if (rawnum.length > size) {
1127
1131
  this.scriptEvaluationError('OP_NUM2BIN requires that the size expressed in the top stack item is large enough to hold the value expressed in the second-from-top stack item.');
1128
1132
  }
@@ -1149,12 +1153,12 @@ class Spend {
1149
1153
  num[n] = signbit;
1150
1154
  this.stack[this.stack.length - 1] = num;
1151
1155
  break;
1152
- case OP_js_1.default.OP_BIN2NUM:
1156
+ case OP_17.default.OP_BIN2NUM:
1153
1157
  if (this.stack.length < 1) {
1154
1158
  this.scriptEvaluationError('OP_BIN2NUM requires at least one item to be on the stack.');
1155
1159
  }
1156
1160
  buf1 = this.stacktop(-1);
1157
- buf2 = (0, utils_js_1.minimallyEncode)(buf1);
1161
+ buf2 = (0, utils_1.minimallyEncode)(buf1);
1158
1162
  this.stack[this.stack.length - 1] = buf2;
1159
1163
  // The resulting number must be a valid number.
1160
1164
  if (!isMinimallyEncoded(buf2)) {
@@ -1185,7 +1189,8 @@ class Spend {
1185
1189
  }
1186
1190
  while (true) {
1187
1191
  this.step();
1188
- if (this.context === 'LockingScript' && this.programCounter >= this.lockingScript.chunks.length) {
1192
+ if (this.context === 'LockingScript' &&
1193
+ this.programCounter >= this.lockingScript.chunks.length) {
1189
1194
  break;
1190
1195
  }
1191
1196
  }