@bsv/sdk 1.3.12 → 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 +18 -16
  15. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  16. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +7 -7
  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 +27 -14
  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 +25 -16
  356. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  357. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +14 -7
  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 +33 -16
  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 +2 -2
  716. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  717. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +2 -2
  718. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  719. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +2 -2
  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 +3 -3
  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 +55 -51
  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 +129 -129
  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 +16 -6
  1076. package/src/auth/certificates/MasterCertificate.ts +96 -43
  1077. package/src/auth/certificates/VerifiableCertificate.ts +29 -9
  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 +47 -31
  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 +53 -17
  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
@@ -1,11 +1,49 @@
1
- import Script from './Script.js';
2
- import BigNumber from '../primitives/BigNumber.js';
3
- import OP from './OP.js';
4
- import { toHex, minimallyEncode } from '../primitives/utils.js';
5
- import * as Hash from '../primitives/Hash.js';
6
- import TransactionSignature from '../primitives/TransactionSignature.js';
7
- import PublicKey from '../primitives/PublicKey.js';
8
- import { verify } from '../primitives/ECDSA.js';
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
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");
9
47
  // These constants control the current behavior of the interpreter.
10
48
  // In the future, all of them will go away.
11
49
  const maxScriptElementSize = 1024 * 1024 * 1024;
@@ -32,7 +70,7 @@ const requireCleanStack = true;
32
70
  * @property {UnlockingScript} unlockingScript - The unlocking script that unlocks the UTXO for spending.
33
71
  * @property {number} inputSequence - The sequence number of this input.
34
72
  */
35
- export default class Spend {
73
+ class Spend {
36
74
  sourceTXID;
37
75
  sourceOutputIndex;
38
76
  sourceSatoshis;
@@ -119,11 +157,11 @@ export default class Spend {
119
157
  operation = this.lockingScript.chunks[this.programCounter];
120
158
  }
121
159
  const isOpcodeDisabled = (op) => {
122
- return op === OP.OP_2MUL ||
123
- op === OP.OP_2DIV ||
124
- op === OP.OP_VERIF ||
125
- op === OP.OP_VERNOTIF ||
126
- op === OP.OP_VER;
160
+ return (op === OP_17.default.OP_2MUL ||
161
+ op === OP_17.default.OP_2DIV ||
162
+ op === OP_17.default.OP_VERIF ||
163
+ op === OP_17.default.OP_VERNOTIF ||
164
+ op === OP_17.default.OP_VER);
127
165
  };
128
166
  const isChunkMinimal = (chunk) => {
129
167
  const data = chunk.data;
@@ -133,15 +171,15 @@ export default class Spend {
133
171
  }
134
172
  if (data.length === 0) {
135
173
  // Could have used OP_0.
136
- return op === OP.OP_0;
174
+ return op === OP_17.default.OP_0;
137
175
  }
138
176
  else if (data.length === 1 && data[0] >= 1 && data[0] <= 16) {
139
177
  // Could have used OP_1 .. OP_16.
140
- return op === OP.OP_1 + (data[0] - 1);
178
+ return op === OP_17.default.OP_1 + (data[0] - 1);
141
179
  }
142
180
  else if (data.length === 1 && data[0] === 0x81) {
143
181
  // Could have used OP_1NEGATE.
144
- return op === OP.OP_1NEGATE;
182
+ return op === OP_17.default.OP_1NEGATE;
145
183
  }
146
184
  else if (data.length <= 75) {
147
185
  // Could have used a direct push (opCode indicating number of bytes pushed + those bytes).
@@ -149,15 +187,15 @@ export default class Spend {
149
187
  }
150
188
  else if (data.length <= 255) {
151
189
  // Could have used OP_PUSHDATA.
152
- return op === OP.OP_PUSHDATA1;
190
+ return op === OP_17.default.OP_PUSHDATA1;
153
191
  }
154
192
  else if (data.length <= 65535) {
155
193
  // Could have used OP_PUSHDATA2.
156
- return op === OP.OP_PUSHDATA2;
194
+ return op === OP_17.default.OP_PUSHDATA2;
157
195
  }
158
196
  return true;
159
197
  };
160
- // Following example from sCrypt now using Number.MAX_SAFE_INTEGER (bsv/lib/transaction/input/input.js).
198
+ // Following example from sCrypt now using Number.MAX_SAFE_INTEGER (bsv/lib/transaction/input/input).
161
199
  const isMinimallyEncoded = (buf, maxNumSize = Number.MAX_SAFE_INTEGER) => {
162
200
  if (buf.length > maxNumSize) {
163
201
  return false;
@@ -273,11 +311,11 @@ export default class Spend {
273
311
  if (!isChecksigFormat(buf)) {
274
312
  this.scriptEvaluationError('The signature format is invalid.');
275
313
  }
276
- const sig = TransactionSignature.fromChecksigFormat(buf);
314
+ const sig = TransactionSignature_1.default.fromChecksigFormat(buf);
277
315
  if (requireLowSSignatures && !sig.hasLowS()) {
278
316
  this.scriptEvaluationError('The signature must have a low S value.');
279
317
  }
280
- if ((sig.scope & TransactionSignature.SIGHASH_FORKID) === 0) {
318
+ if ((sig.scope & TransactionSignature_1.default.SIGHASH_FORKID) === 0) {
281
319
  this.scriptEvaluationError('The signature must use SIGHASH_FORKID.');
282
320
  return false;
283
321
  }
@@ -292,7 +330,7 @@ export default class Spend {
292
330
  this.scriptEvaluationError('The non-compressed public key must be 65 bytes.');
293
331
  }
294
332
  }
295
- else if ((buf[0] === 0x02 || buf[0] === 0x03)) {
333
+ else if (buf[0] === 0x02 || buf[0] === 0x03) {
296
334
  if (buf.length !== 33) {
297
335
  this.scriptEvaluationError('The compressed public key must be 33 bytes.');
298
336
  }
@@ -303,7 +341,7 @@ export default class Spend {
303
341
  return true;
304
342
  };
305
343
  const verifySignature = (sig, pubkey, subscript) => {
306
- const preimage = TransactionSignature.format({
344
+ const preimage = TransactionSignature_1.default.format({
307
345
  sourceTXID: this.sourceTXID,
308
346
  sourceOutputIndex: this.sourceOutputIndex,
309
347
  sourceSatoshis: this.sourceSatoshis,
@@ -316,8 +354,8 @@ export default class Spend {
316
354
  lockTime: this.lockTime,
317
355
  scope: sig.scope
318
356
  });
319
- const hash = new BigNumber(Hash.hash256(preimage));
320
- return verify(hash, sig, pubkey);
357
+ const hash = new BigNumber_1.default(Hash.hash256(preimage));
358
+ return (0, ECDSA_1.verify)(hash, sig, pubkey);
321
359
  };
322
360
  const isScriptExecuting = !this.ifStack.includes(false);
323
361
  let buf, buf1, buf2, buf3, spliced, n, size, rawnum, num, signbit, x1, x2, x3, bn, bn1, bn2, bn3, bufSig, bufPubkey, subscript, bufHash;
@@ -335,8 +373,9 @@ export default class Spend {
335
373
  if (isScriptExecuting && isOpcodeDisabled(currentOpcode)) {
336
374
  this.scriptEvaluationError('This opcode is currently disabled.');
337
375
  }
338
- if (isScriptExecuting && currentOpcode >= 0 &&
339
- currentOpcode <= OP.OP_PUSHDATA4) {
376
+ if (isScriptExecuting &&
377
+ currentOpcode >= 0 &&
378
+ currentOpcode <= OP_17.default.OP_PUSHDATA4) {
340
379
  if (requireMinimalPush && !isChunkMinimal(operation)) {
341
380
  this.scriptEvaluationError('This data is not minimally-encoded.');
342
381
  }
@@ -347,107 +386,108 @@ export default class Spend {
347
386
  this.stack.push(operation.data);
348
387
  }
349
388
  }
350
- else if (isScriptExecuting || (OP.OP_IF <= currentOpcode && currentOpcode <= OP.OP_ENDIF)) {
389
+ else if (isScriptExecuting ||
390
+ (OP_17.default.OP_IF <= currentOpcode && currentOpcode <= OP_17.default.OP_ENDIF)) {
351
391
  switch (currentOpcode) {
352
- case OP.OP_1NEGATE:
353
- case OP.OP_1:
354
- case OP.OP_2:
355
- case OP.OP_3:
356
- case OP.OP_4:
357
- case OP.OP_5:
358
- case OP.OP_6:
359
- case OP.OP_7:
360
- case OP.OP_8:
361
- case OP.OP_9:
362
- case OP.OP_10:
363
- case OP.OP_11:
364
- case OP.OP_12:
365
- case OP.OP_13:
366
- case OP.OP_14:
367
- case OP.OP_15:
368
- case OP.OP_16:
369
- n = currentOpcode - (OP.OP_1 - 1);
370
- buf = new BigNumber(n).toScriptNum();
392
+ case OP_17.default.OP_1NEGATE:
393
+ case OP_17.default.OP_1:
394
+ case OP_17.default.OP_2:
395
+ case OP_17.default.OP_3:
396
+ case OP_17.default.OP_4:
397
+ case OP_17.default.OP_5:
398
+ case OP_17.default.OP_6:
399
+ case OP_17.default.OP_7:
400
+ case OP_17.default.OP_8:
401
+ case OP_17.default.OP_9:
402
+ case OP_17.default.OP_10:
403
+ case OP_17.default.OP_11:
404
+ case OP_17.default.OP_12:
405
+ case OP_17.default.OP_13:
406
+ case OP_17.default.OP_14:
407
+ case OP_17.default.OP_15:
408
+ case OP_17.default.OP_16:
409
+ n = currentOpcode - (OP_17.default.OP_1 - 1);
410
+ buf = new BigNumber_1.default(n).toScriptNum();
371
411
  this.stack.push(buf);
372
412
  break;
373
- case OP.OP_NOP:
374
- case OP.OP_NOP2:
375
- case OP.OP_NOP3:
376
- case OP.OP_NOP1:
377
- case OP.OP_NOP4:
378
- case OP.OP_NOP5:
379
- case OP.OP_NOP6:
380
- case OP.OP_NOP7:
381
- case OP.OP_NOP8:
382
- case OP.OP_NOP9:
383
- case OP.OP_NOP10:
384
- case OP.OP_NOP11:
385
- case OP.OP_NOP12:
386
- case OP.OP_NOP13:
387
- case OP.OP_NOP14:
388
- case OP.OP_NOP15:
389
- case OP.OP_NOP16:
390
- case OP.OP_NOP17:
391
- case OP.OP_NOP18:
392
- case OP.OP_NOP19:
393
- case OP.OP_NOP20:
394
- case OP.OP_NOP21:
395
- case OP.OP_NOP22:
396
- case OP.OP_NOP23:
397
- case OP.OP_NOP24:
398
- case OP.OP_NOP25:
399
- case OP.OP_NOP26:
400
- case OP.OP_NOP27:
401
- case OP.OP_NOP28:
402
- case OP.OP_NOP29:
403
- case OP.OP_NOP30:
404
- case OP.OP_NOP31:
405
- case OP.OP_NOP32:
406
- case OP.OP_NOP33:
407
- case OP.OP_NOP34:
408
- case OP.OP_NOP35:
409
- case OP.OP_NOP36:
410
- case OP.OP_NOP37:
411
- case OP.OP_NOP38:
412
- case OP.OP_NOP39:
413
- case OP.OP_NOP40:
414
- case OP.OP_NOP41:
415
- case OP.OP_NOP42:
416
- case OP.OP_NOP43:
417
- case OP.OP_NOP44:
418
- case OP.OP_NOP45:
419
- case OP.OP_NOP46:
420
- case OP.OP_NOP47:
421
- case OP.OP_NOP48:
422
- case OP.OP_NOP49:
423
- case OP.OP_NOP50:
424
- case OP.OP_NOP51:
425
- case OP.OP_NOP52:
426
- case OP.OP_NOP53:
427
- case OP.OP_NOP54:
428
- case OP.OP_NOP55:
429
- case OP.OP_NOP56:
430
- case OP.OP_NOP57:
431
- case OP.OP_NOP58:
432
- case OP.OP_NOP59:
433
- case OP.OP_NOP60:
434
- case OP.OP_NOP61:
435
- case OP.OP_NOP62:
436
- case OP.OP_NOP63:
437
- case OP.OP_NOP64:
438
- case OP.OP_NOP65:
439
- case OP.OP_NOP66:
440
- case OP.OP_NOP67:
441
- case OP.OP_NOP68:
442
- case OP.OP_NOP69:
443
- case OP.OP_NOP70:
444
- case OP.OP_NOP71:
445
- case OP.OP_NOP72:
446
- case OP.OP_NOP73:
447
- case OP.OP_NOP77:
413
+ case OP_17.default.OP_NOP:
414
+ case OP_17.default.OP_NOP2:
415
+ case OP_17.default.OP_NOP3:
416
+ case OP_17.default.OP_NOP1:
417
+ case OP_17.default.OP_NOP4:
418
+ case OP_17.default.OP_NOP5:
419
+ case OP_17.default.OP_NOP6:
420
+ case OP_17.default.OP_NOP7:
421
+ case OP_17.default.OP_NOP8:
422
+ case OP_17.default.OP_NOP9:
423
+ case OP_17.default.OP_NOP10:
424
+ case OP_17.default.OP_NOP11:
425
+ case OP_17.default.OP_NOP12:
426
+ case OP_17.default.OP_NOP13:
427
+ case OP_17.default.OP_NOP14:
428
+ case OP_17.default.OP_NOP15:
429
+ case OP_17.default.OP_NOP16:
430
+ case OP_17.default.OP_NOP17:
431
+ case OP_17.default.OP_NOP18:
432
+ case OP_17.default.OP_NOP19:
433
+ case OP_17.default.OP_NOP20:
434
+ case OP_17.default.OP_NOP21:
435
+ case OP_17.default.OP_NOP22:
436
+ case OP_17.default.OP_NOP23:
437
+ case OP_17.default.OP_NOP24:
438
+ case OP_17.default.OP_NOP25:
439
+ case OP_17.default.OP_NOP26:
440
+ case OP_17.default.OP_NOP27:
441
+ case OP_17.default.OP_NOP28:
442
+ case OP_17.default.OP_NOP29:
443
+ case OP_17.default.OP_NOP30:
444
+ case OP_17.default.OP_NOP31:
445
+ case OP_17.default.OP_NOP32:
446
+ case OP_17.default.OP_NOP33:
447
+ case OP_17.default.OP_NOP34:
448
+ case OP_17.default.OP_NOP35:
449
+ case OP_17.default.OP_NOP36:
450
+ case OP_17.default.OP_NOP37:
451
+ case OP_17.default.OP_NOP38:
452
+ case OP_17.default.OP_NOP39:
453
+ case OP_17.default.OP_NOP40:
454
+ case OP_17.default.OP_NOP41:
455
+ case OP_17.default.OP_NOP42:
456
+ case OP_17.default.OP_NOP43:
457
+ case OP_17.default.OP_NOP44:
458
+ case OP_17.default.OP_NOP45:
459
+ case OP_17.default.OP_NOP46:
460
+ case OP_17.default.OP_NOP47:
461
+ case OP_17.default.OP_NOP48:
462
+ case OP_17.default.OP_NOP49:
463
+ case OP_17.default.OP_NOP50:
464
+ case OP_17.default.OP_NOP51:
465
+ case OP_17.default.OP_NOP52:
466
+ case OP_17.default.OP_NOP53:
467
+ case OP_17.default.OP_NOP54:
468
+ case OP_17.default.OP_NOP55:
469
+ case OP_17.default.OP_NOP56:
470
+ case OP_17.default.OP_NOP57:
471
+ case OP_17.default.OP_NOP58:
472
+ case OP_17.default.OP_NOP59:
473
+ case OP_17.default.OP_NOP60:
474
+ case OP_17.default.OP_NOP61:
475
+ case OP_17.default.OP_NOP62:
476
+ case OP_17.default.OP_NOP63:
477
+ case OP_17.default.OP_NOP64:
478
+ case OP_17.default.OP_NOP65:
479
+ case OP_17.default.OP_NOP66:
480
+ case OP_17.default.OP_NOP67:
481
+ case OP_17.default.OP_NOP68:
482
+ case OP_17.default.OP_NOP69:
483
+ case OP_17.default.OP_NOP70:
484
+ case OP_17.default.OP_NOP71:
485
+ case OP_17.default.OP_NOP72:
486
+ case OP_17.default.OP_NOP73:
487
+ case OP_17.default.OP_NOP77:
448
488
  break;
449
- case OP.OP_IF:
450
- case OP.OP_NOTIF:
489
+ case OP_17.default.OP_IF:
490
+ case OP_17.default.OP_NOTIF:
451
491
  fValue = false;
452
492
  if (isScriptExecuting) {
453
493
  if (this.stack.length < 1) {
@@ -455,26 +495,27 @@ export default class Spend {
455
495
  }
456
496
  buf = this.stacktop(-1);
457
497
  fValue = this.castToBool(buf);
458
- if (currentOpcode === OP.OP_NOTIF) {
498
+ if (currentOpcode === OP_17.default.OP_NOTIF) {
459
499
  fValue = !fValue;
460
500
  }
461
501
  this.stack.pop();
462
502
  }
463
503
  this.ifStack.push(fValue);
464
504
  break;
465
- case OP.OP_ELSE:
505
+ case OP_17.default.OP_ELSE:
466
506
  if (this.ifStack.length === 0) {
467
507
  this.scriptEvaluationError('OP_ELSE requires a preceeding OP_IF.');
468
508
  }
469
- this.ifStack[this.ifStack.length - 1] = !this.ifStack[this.ifStack.length - 1];
509
+ this.ifStack[this.ifStack.length - 1] =
510
+ !this.ifStack[this.ifStack.length - 1];
470
511
  break;
471
- case OP.OP_ENDIF:
512
+ case OP_17.default.OP_ENDIF:
472
513
  if (this.ifStack.length === 0) {
473
514
  this.scriptEvaluationError('OP_ENDIF requires a preceeding OP_IF.');
474
515
  }
475
516
  this.ifStack.pop();
476
517
  break;
477
- case OP.OP_VERIFY:
518
+ case OP_17.default.OP_VERIFY:
478
519
  if (this.stack.length < 1) {
479
520
  this.scriptEvaluationError('OP_VERIFY requires at least one item to be on the stack.');
480
521
  }
@@ -487,7 +528,7 @@ export default class Spend {
487
528
  this.scriptEvaluationError('OP_VERIFY requires the top stack value to be truthy.');
488
529
  }
489
530
  break;
490
- case OP.OP_RETURN:
531
+ case OP_17.default.OP_RETURN:
491
532
  if (this.context === 'UnlockingScript') {
492
533
  this.programCounter = this.unlockingScript.chunks.length;
493
534
  }
@@ -496,26 +537,26 @@ export default class Spend {
496
537
  }
497
538
  this.ifStack = [];
498
539
  break;
499
- case OP.OP_TOALTSTACK:
540
+ case OP_17.default.OP_TOALTSTACK:
500
541
  if (this.stack.length < 1) {
501
542
  this.scriptEvaluationError('OP_TOALTSTACK requires at oeast one item to be on the stack.');
502
543
  }
503
544
  this.altStack.push(this.stack.pop());
504
545
  break;
505
- case OP.OP_FROMALTSTACK:
546
+ case OP_17.default.OP_FROMALTSTACK:
506
547
  if (this.altStack.length < 1) {
507
548
  this.scriptEvaluationError('OP_FROMALTSTACK requires at least one item to be on the stack.');
508
549
  }
509
550
  this.stack.push(this.altStack.pop());
510
551
  break;
511
- case OP.OP_2DROP:
552
+ case OP_17.default.OP_2DROP:
512
553
  if (this.stack.length < 2) {
513
554
  this.scriptEvaluationError('OP_2DROP requires at least two items to be on the stack.');
514
555
  }
515
556
  this.stack.pop();
516
557
  this.stack.pop();
517
558
  break;
518
- case OP.OP_2DUP:
559
+ case OP_17.default.OP_2DUP:
519
560
  if (this.stack.length < 2) {
520
561
  this.scriptEvaluationError('OP_2DUP requires at least two items to be on the stack.');
521
562
  }
@@ -524,7 +565,7 @@ export default class Spend {
524
565
  this.stack.push([...buf1]);
525
566
  this.stack.push([...buf2]);
526
567
  break;
527
- case OP.OP_3DUP:
568
+ case OP_17.default.OP_3DUP:
528
569
  if (this.stack.length < 3) {
529
570
  this.scriptEvaluationError('OP_3DUP requires at least three items to be on the stack.');
530
571
  }
@@ -535,7 +576,7 @@ export default class Spend {
535
576
  this.stack.push([...buf2]);
536
577
  this.stack.push([...buf3]);
537
578
  break;
538
- case OP.OP_2OVER:
579
+ case OP_17.default.OP_2OVER:
539
580
  if (this.stack.length < 4) {
540
581
  this.scriptEvaluationError('OP_2OVER requires at least four items to be on the stack.');
541
582
  }
@@ -544,7 +585,7 @@ export default class Spend {
544
585
  this.stack.push([...buf1]);
545
586
  this.stack.push([...buf2]);
546
587
  break;
547
- case OP.OP_2ROT:
588
+ case OP_17.default.OP_2ROT:
548
589
  if (this.stack.length < 6) {
549
590
  this.scriptEvaluationError('OP_2ROT requires at least six items to be on the stack.');
550
591
  }
@@ -552,7 +593,7 @@ export default class Spend {
552
593
  this.stack.push(spliced[0]);
553
594
  this.stack.push(spliced[1]);
554
595
  break;
555
- case OP.OP_2SWAP:
596
+ case OP_17.default.OP_2SWAP:
556
597
  if (this.stack.length < 4) {
557
598
  this.scriptEvaluationError('OP_2SWAP requires at least four items to be on the stack.');
558
599
  }
@@ -560,7 +601,7 @@ export default class Spend {
560
601
  this.stack.push(spliced[0]);
561
602
  this.stack.push(spliced[1]);
562
603
  break;
563
- case OP.OP_IFDUP:
604
+ case OP_17.default.OP_IFDUP:
564
605
  if (this.stack.length < 1) {
565
606
  this.scriptEvaluationError('OP_IFDUP requires at least one item to be on the stack.');
566
607
  }
@@ -570,53 +611,53 @@ export default class Spend {
570
611
  this.stack.push([...buf]);
571
612
  }
572
613
  break;
573
- case OP.OP_DEPTH:
574
- buf = new BigNumber(this.stack.length).toScriptNum();
614
+ case OP_17.default.OP_DEPTH:
615
+ buf = new BigNumber_1.default(this.stack.length).toScriptNum();
575
616
  this.stack.push(buf);
576
617
  break;
577
- case OP.OP_DROP:
618
+ case OP_17.default.OP_DROP:
578
619
  if (this.stack.length < 1) {
579
620
  this.scriptEvaluationError('OP_DROP requires at least one item to be on the stack.');
580
621
  }
581
622
  this.stack.pop();
582
623
  break;
583
- case OP.OP_DUP:
624
+ case OP_17.default.OP_DUP:
584
625
  if (this.stack.length < 1) {
585
626
  this.scriptEvaluationError('OP_DUP requires at least one item to be on the stack.');
586
627
  }
587
628
  this.stack.push([...this.stacktop(-1)]);
588
629
  break;
589
- case OP.OP_NIP:
630
+ case OP_17.default.OP_NIP:
590
631
  if (this.stack.length < 2) {
591
632
  this.scriptEvaluationError('OP_NIP requires at least two items to be on the stack.');
592
633
  }
593
634
  this.stack.splice(this.stack.length - 2, 1);
594
635
  break;
595
- case OP.OP_OVER:
636
+ case OP_17.default.OP_OVER:
596
637
  if (this.stack.length < 2) {
597
638
  this.scriptEvaluationError('OP_OVER requires at least two items to be on the stack.');
598
639
  }
599
640
  this.stack.push([...this.stacktop(-2)]);
600
641
  break;
601
- case OP.OP_PICK:
602
- case OP.OP_ROLL:
642
+ case OP_17.default.OP_PICK:
643
+ case OP_17.default.OP_ROLL:
603
644
  if (this.stack.length < 2) {
604
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
645
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
605
646
  }
606
647
  buf = this.stacktop(-1);
607
- bn = BigNumber.fromScriptNum(buf, requireMinimalPush);
648
+ bn = BigNumber_1.default.fromScriptNum(buf, requireMinimalPush);
608
649
  n = bn.toNumber();
609
650
  this.stack.pop();
610
651
  if (n < 0 || n >= this.stack.length) {
611
- this.scriptEvaluationError(`${OP[currentOpcode]} requires the top stack element to be 0 or a positive number less than the current size of the stack.`);
652
+ 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.`);
612
653
  }
613
654
  buf = this.stacktop(-n - 1);
614
- if (currentOpcode === OP.OP_ROLL) {
655
+ if (currentOpcode === OP_17.default.OP_ROLL) {
615
656
  this.stack.splice(this.stack.length - n - 1, 1);
616
657
  }
617
658
  this.stack.push([...buf]);
618
659
  break;
619
- case OP.OP_ROT:
660
+ case OP_17.default.OP_ROT:
620
661
  if (this.stack.length < 3) {
621
662
  this.scriptEvaluationError('OP_ROT requires at least three items to be on the stack.');
622
663
  }
@@ -627,7 +668,7 @@ export default class Spend {
627
668
  this.stack[this.stack.length - 2] = x3;
628
669
  this.stack[this.stack.length - 1] = x1;
629
670
  break;
630
- case OP.OP_SWAP:
671
+ case OP_17.default.OP_SWAP:
631
672
  if (this.stack.length < 2) {
632
673
  this.scriptEvaluationError('OP_SWAP requires at least two items to be on the stack.');
633
674
  }
@@ -636,42 +677,42 @@ export default class Spend {
636
677
  this.stack[this.stack.length - 2] = x2;
637
678
  this.stack[this.stack.length - 1] = x1;
638
679
  break;
639
- case OP.OP_TUCK:
680
+ case OP_17.default.OP_TUCK:
640
681
  if (this.stack.length < 2) {
641
682
  this.scriptEvaluationError('OP_TUCK requires at least two items to be on the stack.');
642
683
  }
643
684
  this.stack.splice(this.stack.length - 2, 0, [...this.stacktop(-1)]);
644
685
  break;
645
- case OP.OP_SIZE:
686
+ case OP_17.default.OP_SIZE:
646
687
  if (this.stack.length < 1) {
647
688
  this.scriptEvaluationError('OP_SIZE requires at least one item to be on the stack.');
648
689
  }
649
- bn = new BigNumber(this.stacktop(-1).length);
690
+ bn = new BigNumber_1.default(this.stacktop(-1).length);
650
691
  this.stack.push(bn.toScriptNum());
651
692
  break;
652
- case OP.OP_AND:
653
- case OP.OP_OR:
654
- case OP.OP_XOR:
693
+ case OP_17.default.OP_AND:
694
+ case OP_17.default.OP_OR:
695
+ case OP_17.default.OP_XOR:
655
696
  if (this.stack.length < 2) {
656
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least one item to be on the stack.`);
697
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least one item to be on the stack.`);
657
698
  }
658
699
  buf1 = this.stacktop(-2);
659
700
  buf2 = this.stacktop(-1);
660
701
  if (buf1.length !== buf2.length) {
661
- this.scriptEvaluationError(`${OP[currentOpcode]} requires the top two stack items to be the same size.`);
702
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the top two stack items to be the same size.`);
662
703
  }
663
704
  switch (currentOpcode) {
664
- case OP.OP_AND:
705
+ case OP_17.default.OP_AND:
665
706
  for (let i = 0; i < buf1.length; i++) {
666
707
  buf1[i] &= buf2[i];
667
708
  }
668
709
  break;
669
- case OP.OP_OR:
710
+ case OP_17.default.OP_OR:
670
711
  for (let i = 0; i < buf1.length; i++) {
671
712
  buf1[i] |= buf2[i];
672
713
  }
673
714
  break;
674
- case OP.OP_XOR:
715
+ case OP_17.default.OP_XOR:
675
716
  for (let i = 0; i < buf1.length; i++) {
676
717
  buf1[i] ^= buf2[i];
677
718
  }
@@ -680,7 +721,7 @@ export default class Spend {
680
721
  // And pop vch2.
681
722
  this.stack.pop();
682
723
  break;
683
- case OP.OP_INVERT:
724
+ case OP_17.default.OP_INVERT:
684
725
  if (this.stack.length < 1) {
685
726
  this.scriptEvaluationError('OP_INVERT requires at least one item to be on the stack.');
686
727
  }
@@ -689,47 +730,47 @@ export default class Spend {
689
730
  buf[i] = ~buf[i];
690
731
  }
691
732
  break;
692
- case OP.OP_LSHIFT:
693
- case OP.OP_RSHIFT:
733
+ case OP_17.default.OP_LSHIFT:
734
+ case OP_17.default.OP_RSHIFT:
694
735
  if (this.stack.length < 2) {
695
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
736
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
696
737
  }
697
738
  buf1 = this.stacktop(-2);
698
739
  if (buf1.length === 0) {
699
740
  this.stack.pop();
700
741
  }
701
742
  else {
702
- bn1 = new BigNumber(buf1);
703
- bn2 = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush);
743
+ bn1 = new BigNumber_1.default(buf1);
744
+ bn2 = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
704
745
  n = bn2.toNumber();
705
746
  if (n < 0) {
706
- this.scriptEvaluationError(`${OP[currentOpcode]} requires the top item on the stack not to be negative.`);
747
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the top item on the stack not to be negative.`);
707
748
  }
708
749
  this.stack.pop();
709
750
  this.stack.pop();
710
751
  let shifted;
711
- if (currentOpcode === OP.OP_LSHIFT) {
752
+ if (currentOpcode === OP_17.default.OP_LSHIFT) {
712
753
  shifted = bn1.ushln(n);
713
754
  }
714
- if (currentOpcode === OP.OP_RSHIFT) {
755
+ if (currentOpcode === OP_17.default.OP_RSHIFT) {
715
756
  shifted = bn1.ushrn(n);
716
757
  }
717
758
  const bufShifted = padDataToSize(shifted.toArray().slice(buf1.length * -1), buf1.length);
718
759
  this.stack.push(bufShifted);
719
760
  }
720
761
  break;
721
- case OP.OP_EQUAL:
722
- case OP.OP_EQUALVERIFY:
762
+ case OP_17.default.OP_EQUAL:
763
+ case OP_17.default.OP_EQUALVERIFY:
723
764
  if (this.stack.length < 2) {
724
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
765
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
725
766
  }
726
767
  buf1 = this.stacktop(-2);
727
768
  buf2 = this.stacktop(-1);
728
- fEqual = toHex(buf1) === toHex(buf2);
769
+ fEqual = (0, utils_1.toHex)(buf1) === (0, utils_1.toHex)(buf2);
729
770
  this.stack.pop();
730
771
  this.stack.pop();
731
772
  this.stack.push(fEqual ? [1] : []);
732
- if (currentOpcode === OP.OP_EQUALVERIFY) {
773
+ if (currentOpcode === OP_17.default.OP_EQUALVERIFY) {
733
774
  if (fEqual) {
734
775
  this.stack.pop();
735
776
  }
@@ -738,124 +779,124 @@ export default class Spend {
738
779
  }
739
780
  }
740
781
  break;
741
- case OP.OP_1ADD:
742
- case OP.OP_1SUB:
743
- case OP.OP_NEGATE:
744
- case OP.OP_ABS:
745
- case OP.OP_NOT:
746
- case OP.OP_0NOTEQUAL:
782
+ case OP_17.default.OP_1ADD:
783
+ case OP_17.default.OP_1SUB:
784
+ case OP_17.default.OP_NEGATE:
785
+ case OP_17.default.OP_ABS:
786
+ case OP_17.default.OP_NOT:
787
+ case OP_17.default.OP_0NOTEQUAL:
747
788
  if (this.stack.length < 1) {
748
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least one items to be on the stack.`);
789
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least one items to be on the stack.`);
749
790
  }
750
791
  buf = this.stacktop(-1);
751
- bn = BigNumber.fromScriptNum(buf, requireMinimalPush);
792
+ bn = BigNumber_1.default.fromScriptNum(buf, requireMinimalPush);
752
793
  switch (currentOpcode) {
753
- case OP.OP_1ADD:
794
+ case OP_17.default.OP_1ADD:
754
795
  bn = bn.addn(1);
755
796
  break;
756
- case OP.OP_1SUB:
797
+ case OP_17.default.OP_1SUB:
757
798
  bn = bn.subn(1);
758
799
  break;
759
- case OP.OP_NEGATE:
800
+ case OP_17.default.OP_NEGATE:
760
801
  bn = bn.neg();
761
802
  break;
762
- case OP.OP_ABS:
803
+ case OP_17.default.OP_ABS:
763
804
  if (bn.cmpn(0) < 0) {
764
805
  bn = bn.neg();
765
806
  }
766
807
  break;
767
- case OP.OP_NOT:
768
- bn = new BigNumber((bn.cmpn(0) === 0) ? 1 : 0 + 0);
808
+ case OP_17.default.OP_NOT:
809
+ bn = new BigNumber_1.default(bn.cmpn(0) === 0 ? 1 : 0 + 0);
769
810
  break;
770
- case OP.OP_0NOTEQUAL:
771
- bn = new BigNumber((bn.cmpn(0) !== 0) ? 1 : 0 + 0);
811
+ case OP_17.default.OP_0NOTEQUAL:
812
+ bn = new BigNumber_1.default(bn.cmpn(0) !== 0 ? 1 : 0 + 0);
772
813
  break;
773
814
  }
774
815
  this.stack.pop();
775
816
  this.stack.push(bn.toScriptNum());
776
817
  break;
777
- case OP.OP_ADD:
778
- case OP.OP_SUB:
779
- case OP.OP_MUL:
780
- case OP.OP_MOD:
781
- case OP.OP_DIV:
782
- case OP.OP_BOOLAND:
783
- case OP.OP_BOOLOR:
784
- case OP.OP_NUMEQUAL:
785
- case OP.OP_NUMEQUALVERIFY:
786
- case OP.OP_NUMNOTEQUAL:
787
- case OP.OP_LESSTHAN:
788
- case OP.OP_GREATERTHAN:
789
- case OP.OP_LESSTHANOREQUAL:
790
- case OP.OP_GREATERTHANOREQUAL:
791
- case OP.OP_MIN:
792
- case OP.OP_MAX:
818
+ case OP_17.default.OP_ADD:
819
+ case OP_17.default.OP_SUB:
820
+ case OP_17.default.OP_MUL:
821
+ case OP_17.default.OP_MOD:
822
+ case OP_17.default.OP_DIV:
823
+ case OP_17.default.OP_BOOLAND:
824
+ case OP_17.default.OP_BOOLOR:
825
+ case OP_17.default.OP_NUMEQUAL:
826
+ case OP_17.default.OP_NUMEQUALVERIFY:
827
+ case OP_17.default.OP_NUMNOTEQUAL:
828
+ case OP_17.default.OP_LESSTHAN:
829
+ case OP_17.default.OP_GREATERTHAN:
830
+ case OP_17.default.OP_LESSTHANOREQUAL:
831
+ case OP_17.default.OP_GREATERTHANOREQUAL:
832
+ case OP_17.default.OP_MIN:
833
+ case OP_17.default.OP_MAX:
793
834
  if (this.stack.length < 2) {
794
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
835
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
795
836
  }
796
- bn1 = BigNumber.fromScriptNum(this.stacktop(-2), requireMinimalPush);
797
- bn2 = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush);
798
- bn = new BigNumber(0);
837
+ bn1 = BigNumber_1.default.fromScriptNum(this.stacktop(-2), requireMinimalPush);
838
+ bn2 = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
839
+ bn = new BigNumber_1.default(0);
799
840
  switch (currentOpcode) {
800
- case OP.OP_ADD:
841
+ case OP_17.default.OP_ADD:
801
842
  bn = bn1.add(bn2);
802
843
  break;
803
- case OP.OP_SUB:
844
+ case OP_17.default.OP_SUB:
804
845
  bn = bn1.sub(bn2);
805
846
  break;
806
- case OP.OP_MUL:
847
+ case OP_17.default.OP_MUL:
807
848
  bn = bn1.mul(bn2);
808
849
  break;
809
- case OP.OP_DIV:
850
+ case OP_17.default.OP_DIV:
810
851
  if (bn2.cmpn(0) === 0) {
811
852
  this.scriptEvaluationError('OP_DIV cannot divide by zero!');
812
853
  }
813
854
  bn = bn1.div(bn2);
814
855
  break;
815
- case OP.OP_MOD:
856
+ case OP_17.default.OP_MOD:
816
857
  if (bn2.cmpn(0) === 0) {
817
858
  this.scriptEvaluationError('OP_MOD cannot divide by zero!');
818
859
  }
819
860
  bn = bn1.mod(bn2);
820
861
  break;
821
- case OP.OP_BOOLAND:
822
- bn = new BigNumber(((bn1.cmpn(0) !== 0) && (bn2.cmpn(0) !== 0)) ? 1 : 0 + 0);
862
+ case OP_17.default.OP_BOOLAND:
863
+ bn = new BigNumber_1.default(bn1.cmpn(0) !== 0 && bn2.cmpn(0) !== 0 ? 1 : 0 + 0);
823
864
  break;
824
- case OP.OP_BOOLOR:
825
- bn = new BigNumber(((bn1.cmpn(0) !== 0) || (bn2.cmpn(0) !== 0)) ? 1 : 0 + 0);
865
+ case OP_17.default.OP_BOOLOR:
866
+ bn = new BigNumber_1.default(bn1.cmpn(0) !== 0 || bn2.cmpn(0) !== 0 ? 1 : 0 + 0);
826
867
  break;
827
- case OP.OP_NUMEQUAL:
828
- bn = new BigNumber((bn1.cmp(bn2) === 0) ? 1 : 0 + 0);
868
+ case OP_17.default.OP_NUMEQUAL:
869
+ bn = new BigNumber_1.default(bn1.cmp(bn2) === 0 ? 1 : 0 + 0);
829
870
  break;
830
- case OP.OP_NUMEQUALVERIFY:
831
- bn = new BigNumber((bn1.cmp(bn2) === 0) ? 1 : 0 + 0);
871
+ case OP_17.default.OP_NUMEQUALVERIFY:
872
+ bn = new BigNumber_1.default(bn1.cmp(bn2) === 0 ? 1 : 0 + 0);
832
873
  break;
833
- case OP.OP_NUMNOTEQUAL:
834
- bn = new BigNumber((bn1.cmp(bn2) !== 0) ? 1 : 0 + 0);
874
+ case OP_17.default.OP_NUMNOTEQUAL:
875
+ bn = new BigNumber_1.default(bn1.cmp(bn2) !== 0 ? 1 : 0 + 0);
835
876
  break;
836
- case OP.OP_LESSTHAN:
837
- bn = new BigNumber((bn1.cmp(bn2) < 0) ? 1 : 0 + 0);
877
+ case OP_17.default.OP_LESSTHAN:
878
+ bn = new BigNumber_1.default(bn1.cmp(bn2) < 0 ? 1 : 0 + 0);
838
879
  break;
839
- case OP.OP_GREATERTHAN:
840
- bn = new BigNumber((bn1.cmp(bn2) > 0) ? 1 : 0 + 0);
880
+ case OP_17.default.OP_GREATERTHAN:
881
+ bn = new BigNumber_1.default(bn1.cmp(bn2) > 0 ? 1 : 0 + 0);
841
882
  break;
842
- case OP.OP_LESSTHANOREQUAL:
843
- bn = new BigNumber((bn1.cmp(bn2) <= 0) ? 1 : 0 + 0);
883
+ case OP_17.default.OP_LESSTHANOREQUAL:
884
+ bn = new BigNumber_1.default(bn1.cmp(bn2) <= 0 ? 1 : 0 + 0);
844
885
  break;
845
- case OP.OP_GREATERTHANOREQUAL:
846
- bn = new BigNumber((bn1.cmp(bn2) >= 0) ? 1 : 0 + 0);
886
+ case OP_17.default.OP_GREATERTHANOREQUAL:
887
+ bn = new BigNumber_1.default(bn1.cmp(bn2) >= 0 ? 1 : 0 + 0);
847
888
  break;
848
- case OP.OP_MIN:
849
- bn = (bn1.cmp(bn2) < 0 ? bn1 : bn2);
889
+ case OP_17.default.OP_MIN:
890
+ bn = bn1.cmp(bn2) < 0 ? bn1 : bn2;
850
891
  break;
851
- case OP.OP_MAX:
852
- bn = (bn1.cmp(bn2) > 0 ? bn1 : bn2);
892
+ case OP_17.default.OP_MAX:
893
+ bn = bn1.cmp(bn2) > 0 ? bn1 : bn2;
853
894
  break;
854
895
  }
855
896
  this.stack.pop();
856
897
  this.stack.pop();
857
898
  this.stack.push(bn.toScriptNum());
858
- if (currentOpcode === OP.OP_NUMEQUALVERIFY) {
899
+ if (currentOpcode === OP_17.default.OP_NUMEQUALVERIFY) {
859
900
  if (this.castToBool(this.stacktop(-1))) {
860
901
  this.stack.pop();
861
902
  }
@@ -864,73 +905,73 @@ export default class Spend {
864
905
  }
865
906
  }
866
907
  break;
867
- case OP.OP_WITHIN:
908
+ case OP_17.default.OP_WITHIN:
868
909
  if (this.stack.length < 3) {
869
910
  this.scriptEvaluationError('OP_WITHIN requires at least three items to be on the stack.');
870
911
  }
871
- bn1 = BigNumber.fromScriptNum(this.stacktop(-3), requireMinimalPush);
872
- bn2 = BigNumber.fromScriptNum(this.stacktop(-2), requireMinimalPush);
873
- bn3 = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush);
874
- fValue = (bn2.cmp(bn1) <= 0) && (bn1.cmp(bn3) < 0);
912
+ bn1 = BigNumber_1.default.fromScriptNum(this.stacktop(-3), requireMinimalPush);
913
+ bn2 = BigNumber_1.default.fromScriptNum(this.stacktop(-2), requireMinimalPush);
914
+ bn3 = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush);
915
+ fValue = bn2.cmp(bn1) <= 0 && bn1.cmp(bn3) < 0;
875
916
  this.stack.pop();
876
917
  this.stack.pop();
877
918
  this.stack.pop();
878
919
  this.stack.push(fValue ? [1] : []);
879
920
  break;
880
- case OP.OP_RIPEMD160:
881
- case OP.OP_SHA1:
882
- case OP.OP_SHA256:
883
- case OP.OP_HASH160:
884
- case OP.OP_HASH256:
921
+ case OP_17.default.OP_RIPEMD160:
922
+ case OP_17.default.OP_SHA1:
923
+ case OP_17.default.OP_SHA256:
924
+ case OP_17.default.OP_HASH160:
925
+ case OP_17.default.OP_HASH256:
885
926
  if (this.stack.length < 1) {
886
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least one item to be on the stack.`);
927
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least one item to be on the stack.`);
887
928
  }
888
929
  buf = this.stacktop(-1);
889
- if (currentOpcode === OP.OP_RIPEMD160) {
930
+ if (currentOpcode === OP_17.default.OP_RIPEMD160) {
890
931
  bufHash = Hash.ripemd160(buf);
891
932
  }
892
- else if (currentOpcode === OP.OP_SHA1) {
933
+ else if (currentOpcode === OP_17.default.OP_SHA1) {
893
934
  bufHash = Hash.sha1(buf);
894
935
  }
895
- else if (currentOpcode === OP.OP_SHA256) {
936
+ else if (currentOpcode === OP_17.default.OP_SHA256) {
896
937
  bufHash = Hash.sha256(buf);
897
938
  }
898
- else if (currentOpcode === OP.OP_HASH160) {
939
+ else if (currentOpcode === OP_17.default.OP_HASH160) {
899
940
  bufHash = Hash.hash160(buf);
900
941
  }
901
- else if (currentOpcode === OP.OP_HASH256) {
942
+ else if (currentOpcode === OP_17.default.OP_HASH256) {
902
943
  bufHash = Hash.hash256(buf);
903
944
  }
904
945
  this.stack.pop();
905
946
  this.stack.push(bufHash);
906
947
  break;
907
- case OP.OP_CODESEPARATOR:
948
+ case OP_17.default.OP_CODESEPARATOR:
908
949
  this.lastCodeSeparator = this.programCounter;
909
950
  break;
910
- case OP.OP_CHECKSIG:
911
- case OP.OP_CHECKSIGVERIFY:
951
+ case OP_17.default.OP_CHECKSIG:
952
+ case OP_17.default.OP_CHECKSIGVERIFY:
912
953
  if (this.stack.length < 2) {
913
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least two items to be on the stack.`);
954
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least two items to be on the stack.`);
914
955
  }
915
956
  bufSig = this.stacktop(-2);
916
957
  bufPubkey = this.stacktop(-1);
917
958
  if (!checkSignatureEncoding(bufSig) ||
918
959
  !checkPublicKeyEncoding(bufPubkey)) {
919
- this.scriptEvaluationError(`${OP[currentOpcode]} requires correct encoding for the public key and signature.`);
960
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires correct encoding for the public key and signature.`);
920
961
  }
921
962
  // Subset of script starting at the most recent codeseparator
922
963
  // CScript scriptCode(pbegincodehash, pend);
923
964
  if (this.context === 'UnlockingScript') {
924
- subscript = new Script(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
965
+ subscript = new Script_1.default(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
925
966
  }
926
967
  else {
927
- subscript = new Script(this.lockingScript.chunks.slice(this.lastCodeSeparator));
968
+ subscript = new Script_1.default(this.lockingScript.chunks.slice(this.lastCodeSeparator));
928
969
  }
929
970
  // Drop the signature, since there's no way for a signature to sign itself
930
- subscript.findAndDelete(new Script().writeBin(bufSig));
971
+ subscript.findAndDelete(new Script_1.default().writeBin(bufSig));
931
972
  try {
932
- sig = TransactionSignature.fromChecksigFormat(bufSig);
933
- pubkey = PublicKey.fromDER(bufPubkey);
973
+ sig = TransactionSignature_1.default.fromChecksigFormat(bufSig);
974
+ pubkey = PublicKey_1.default.fromDER(bufPubkey);
934
975
  fSuccess = verifySignature(sig, pubkey, subscript);
935
976
  }
936
977
  catch (e) {
@@ -938,13 +979,13 @@ export default class Spend {
938
979
  fSuccess = false;
939
980
  }
940
981
  if (!fSuccess && bufSig.length > 0) {
941
- this.scriptEvaluationError(`${OP[currentOpcode]} failed to verify the signature, and requires an empty signature when verification fails.`);
982
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} failed to verify the signature, and requires an empty signature when verification fails.`);
942
983
  }
943
984
  this.stack.pop();
944
985
  this.stack.pop();
945
986
  // stack.push_back(fSuccess ? vchTrue : vchFalse);
946
987
  this.stack.push(fSuccess ? [1] : []);
947
- if (currentOpcode === OP.OP_CHECKSIGVERIFY) {
988
+ if (currentOpcode === OP_17.default.OP_CHECKSIGVERIFY) {
948
989
  if (fSuccess) {
949
990
  this.stack.pop();
950
991
  }
@@ -953,16 +994,16 @@ export default class Spend {
953
994
  }
954
995
  }
955
996
  break;
956
- case OP.OP_CHECKMULTISIG:
957
- case OP.OP_CHECKMULTISIGVERIFY:
997
+ case OP_17.default.OP_CHECKMULTISIG:
998
+ case OP_17.default.OP_CHECKMULTISIGVERIFY:
958
999
  i = 1;
959
1000
  if (this.stack.length < i) {
960
- this.scriptEvaluationError(`${OP[currentOpcode]} requires at least 1 item to be on the stack.`);
1001
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires at least 1 item to be on the stack.`);
961
1002
  }
962
- nKeysCount = BigNumber.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
1003
+ nKeysCount = BigNumber_1.default.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
963
1004
  // TODO: Keys and opcount are parameterized in client. No magic numbers!
964
1005
  if (nKeysCount < 0 || nKeysCount > maxMultisigKeyCount) {
965
- this.scriptEvaluationError(`${OP[currentOpcode]} requires a key count between 0 and ${maxMultisigKeyCount}.`);
1006
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires a key count between 0 and ${maxMultisigKeyCount}.`);
966
1007
  }
967
1008
  ikey = ++i;
968
1009
  i += nKeysCount;
@@ -972,28 +1013,28 @@ export default class Spend {
972
1013
  // operation fails.
973
1014
  ikey2 = nKeysCount + 2;
974
1015
  if (this.stack.length < i) {
975
- this.scriptEvaluationError(`${OP[currentOpcode]} requires the number of stack items not to be less than the number of keys used.`);
1016
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the number of stack items not to be less than the number of keys used.`);
976
1017
  }
977
- nSigsCount = BigNumber.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
1018
+ nSigsCount = BigNumber_1.default.fromScriptNum(this.stacktop(-i), requireMinimalPush).toNumber();
978
1019
  if (nSigsCount < 0 || nSigsCount > nKeysCount) {
979
- this.scriptEvaluationError(`${OP[currentOpcode]} requires the number of signatures to be no greater than the number of keys.`);
1020
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the number of signatures to be no greater than the number of keys.`);
980
1021
  }
981
1022
  isig = ++i;
982
1023
  i += nSigsCount;
983
1024
  if (this.stack.length < i) {
984
- this.scriptEvaluationError(`${OP[currentOpcode]} requires the number of stack items not to be less than the number of signatures provided.`);
1025
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the number of stack items not to be less than the number of signatures provided.`);
985
1026
  }
986
1027
  // Subset of script starting at the most recent codeseparator
987
1028
  if (this.context === 'UnlockingScript') {
988
- subscript = new Script(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
1029
+ subscript = new Script_1.default(this.unlockingScript.chunks.slice(this.lastCodeSeparator));
989
1030
  }
990
1031
  else {
991
- subscript = new Script(this.lockingScript.chunks.slice(this.lastCodeSeparator));
1032
+ subscript = new Script_1.default(this.lockingScript.chunks.slice(this.lastCodeSeparator));
992
1033
  }
993
1034
  // Drop the signatures, since there's no way for a signature to sign itself
994
1035
  for (let k = 0; k < nSigsCount; k++) {
995
1036
  bufSig = this.stacktop(-isig - k);
996
- subscript.findAndDelete(new Script().writeBin(bufSig));
1037
+ subscript.findAndDelete(new Script_1.default().writeBin(bufSig));
997
1038
  }
998
1039
  fSuccess = true;
999
1040
  while (fSuccess && nSigsCount > 0) {
@@ -1003,11 +1044,11 @@ export default class Spend {
1003
1044
  bufPubkey = this.stacktop(-ikey);
1004
1045
  if (!checkSignatureEncoding(bufSig) ||
1005
1046
  !checkPublicKeyEncoding(bufPubkey)) {
1006
- this.scriptEvaluationError(`${OP[currentOpcode]} requires correct encoding for the public key and signature.`);
1047
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires correct encoding for the public key and signature.`);
1007
1048
  }
1008
1049
  try {
1009
- sig = TransactionSignature.fromChecksigFormat(bufSig);
1010
- pubkey = PublicKey.fromString(toHex(bufPubkey));
1050
+ sig = TransactionSignature_1.default.fromChecksigFormat(bufSig);
1051
+ pubkey = PublicKey_1.default.fromString((0, utils_1.toHex)(bufPubkey));
1011
1052
  fOk = verifySignature(sig, pubkey, subscript);
1012
1053
  }
1013
1054
  catch (e) {
@@ -1028,8 +1069,8 @@ export default class Spend {
1028
1069
  }
1029
1070
  // Clean up stack of actual arguments
1030
1071
  while (i-- > 1) {
1031
- if (!fSuccess && !ikey2 && (this.stacktop(-1).length > 0)) {
1032
- this.scriptEvaluationError(`${OP[currentOpcode]} failed to verify a signature, and requires an empty signature when verification fails.`);
1072
+ if (!fSuccess && !ikey2 && this.stacktop(-1).length > 0) {
1073
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} failed to verify a signature, and requires an empty signature when verification fails.`);
1033
1074
  }
1034
1075
  if (ikey2 > 0) {
1035
1076
  ikey2--;
@@ -1043,14 +1084,15 @@ export default class Spend {
1043
1084
  // so optionally verify it is exactly equal to zero prior
1044
1085
  // to removing it from the stack.
1045
1086
  if (this.stack.length < 1) {
1046
- this.scriptEvaluationError(`${OP[currentOpcode]} requires an extra item to be on the stack.`);
1087
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires an extra item to be on the stack.`);
1047
1088
  }
1048
- if (this.stacktop(-1).length > 0) { // NOTE: Is this necessary? We don't care about malleability.
1049
- this.scriptEvaluationError(`${OP[currentOpcode]} requires the extra stack item to be empty.`);
1089
+ if (this.stacktop(-1).length > 0) {
1090
+ // NOTE: Is this necessary? We don't care about malleability.
1091
+ this.scriptEvaluationError(`${OP_17.default[currentOpcode]} requires the extra stack item to be empty.`);
1050
1092
  }
1051
1093
  this.stack.pop();
1052
1094
  this.stack.push(fSuccess ? [1] : []);
1053
- if (currentOpcode === OP.OP_CHECKMULTISIGVERIFY) {
1095
+ if (currentOpcode === OP_17.default.OP_CHECKMULTISIGVERIFY) {
1054
1096
  if (fSuccess) {
1055
1097
  this.stack.pop();
1056
1098
  }
@@ -1059,7 +1101,7 @@ export default class Spend {
1059
1101
  }
1060
1102
  }
1061
1103
  break;
1062
- case OP.OP_CAT:
1104
+ case OP_17.default.OP_CAT:
1063
1105
  if (this.stack.length < 2) {
1064
1106
  this.scriptEvaluationError('OP_CAT requires at least two items to be on the stack.');
1065
1107
  }
@@ -1071,13 +1113,13 @@ export default class Spend {
1071
1113
  this.stack[this.stack.length - 2] = [...buf1, ...buf2];
1072
1114
  this.stack.pop();
1073
1115
  break;
1074
- case OP.OP_SPLIT:
1116
+ case OP_17.default.OP_SPLIT:
1075
1117
  if (this.stack.length < 2) {
1076
1118
  this.scriptEvaluationError('OP_SPLIT requires at least two items to be on the stack.');
1077
1119
  }
1078
1120
  buf1 = this.stacktop(-2);
1079
1121
  // Make sure the split point is apropriate.
1080
- n = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1122
+ n = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1081
1123
  if (n < 0 || n > buf1.length) {
1082
1124
  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.');
1083
1125
  }
@@ -1089,11 +1131,11 @@ export default class Spend {
1089
1131
  this.stack[this.stack.length - 2] = buf2.slice(0, n);
1090
1132
  this.stack[this.stack.length - 1] = buf2.slice(n);
1091
1133
  break;
1092
- case OP.OP_NUM2BIN:
1134
+ case OP_17.default.OP_NUM2BIN:
1093
1135
  if (this.stack.length < 2) {
1094
1136
  this.scriptEvaluationError('OP_NUM2BIN requires at least two items to be on the stack.');
1095
1137
  }
1096
- size = BigNumber.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1138
+ size = BigNumber_1.default.fromScriptNum(this.stacktop(-1), requireMinimalPush).toNumber();
1097
1139
  if (size > maxScriptElementSize) {
1098
1140
  this.scriptEvaluationError(`It's not currently possible to push data larger than ${maxScriptElementSize} bytes.`);
1099
1141
  }
@@ -1101,7 +1143,7 @@ export default class Spend {
1101
1143
  rawnum = this.stacktop(-1);
1102
1144
  // Try to see if we can fit that number in the number of
1103
1145
  // byte requested.
1104
- rawnum = minimallyEncode(rawnum);
1146
+ rawnum = (0, utils_1.minimallyEncode)(rawnum);
1105
1147
  if (rawnum.length > size) {
1106
1148
  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.');
1107
1149
  }
@@ -1128,12 +1170,12 @@ export default class Spend {
1128
1170
  num[n] = signbit;
1129
1171
  this.stack[this.stack.length - 1] = num;
1130
1172
  break;
1131
- case OP.OP_BIN2NUM:
1173
+ case OP_17.default.OP_BIN2NUM:
1132
1174
  if (this.stack.length < 1) {
1133
1175
  this.scriptEvaluationError('OP_BIN2NUM requires at least one item to be on the stack.');
1134
1176
  }
1135
1177
  buf1 = this.stacktop(-1);
1136
- buf2 = minimallyEncode(buf1);
1178
+ buf2 = (0, utils_1.minimallyEncode)(buf1);
1137
1179
  this.stack[this.stack.length - 1] = buf2;
1138
1180
  // The resulting number must be a valid number.
1139
1181
  if (!isMinimallyEncoded(buf2)) {
@@ -1164,7 +1206,8 @@ export default class Spend {
1164
1206
  }
1165
1207
  while (true) {
1166
1208
  this.step();
1167
- if (this.context === 'LockingScript' && this.programCounter >= this.lockingScript.chunks.length) {
1209
+ if (this.context === 'LockingScript' &&
1210
+ this.programCounter >= this.lockingScript.chunks.length) {
1168
1211
  break;
1169
1212
  }
1170
1213
  }
@@ -1200,4 +1243,5 @@ export default class Spend {
1200
1243
  throw new Error(`Script evaluation error: ${str}\n\nSource TXID: ${this.sourceTXID}\nSource output index: ${this.sourceOutputIndex}\nContext: ${this.context}\nProgram counter: ${this.programCounter}\nStack size: ${this.stack.length}\nAlt stack size: ${this.altStack.length}`);
1201
1244
  }
1202
1245
  }
1246
+ exports.default = Spend;
1203
1247
  //# sourceMappingURL=Spend.js.map