@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,9 +1,9 @@
1
- import SHIPCast from '../../../dist/cjs/src/overlay-tools/SHIPBroadcaster.js'
2
- import LookupResolver from '../../../dist/cjs/src/overlay-tools/LookupResolver.js'
3
- import { PrivateKey } from '../../../dist/cjs/src/primitives/index.js'
4
- import { Transaction } from '../../../dist/cjs/src/transaction/index.js'
5
- import OverlayAdminTokenTemplate from '../../../dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js'
6
- import ProtoWallet from '../../../dist/cjs/src/wallet/ProtoWallet.js'
1
+ import SHIPCast from '../../overlay-tools/SHIPBroadcaster'
2
+ import LookupResolver from '../../overlay-tools/LookupResolver'
3
+ import { PrivateKey } from '../../primitives/index'
4
+ import { Transaction } from '../../transaction/index'
5
+ import OverlayAdminTokenTemplate from '../../overlay-tools/OverlayAdminTokenTemplate'
6
+ import { CompletedProtoWallet } from '../../auth/certificates/__tests/CompletedProtoWallet'
7
7
 
8
8
  const mockFacilitator = {
9
9
  send: jest.fn()
@@ -20,33 +20,49 @@ describe('SHIPCast', () => {
20
20
  })
21
21
 
22
22
  it('Handles constructor errors', () => {
23
- expect(() => new SHIPCast([])).toThrow(new Error('At least one topic is required for broadcast.'))
24
- expect(() => new SHIPCast(['badprefix_foo'])).toThrow(new Error('Every topic must start with "tm_".'))
23
+ expect(() => new SHIPCast([])).toThrow(
24
+ new Error('At least one topic is required for broadcast.')
25
+ )
26
+ expect(() => new SHIPCast(['badprefix_foo'])).toThrow(
27
+ new Error('Every topic must start with "tm_".')
28
+ )
25
29
  })
26
30
 
27
31
  it('should broadcast to a single SHIP host found via resolver', async () => {
28
32
  const shipHostKey = new PrivateKey(42)
29
- const shipWallet = new ProtoWallet(shipHostKey)
33
+ const shipWallet = new CompletedProtoWallet(shipHostKey)
30
34
  const shipLib = new OverlayAdminTokenTemplate(shipWallet)
31
- const shipScript = await shipLib.lock('SHIP', 'https://shiphost.com', 'tm_foo')
32
- const shipTx = new Transaction(1, [], [{
33
- lockingScript: shipScript,
34
- satoshis: 1
35
- }], 0)
35
+ const shipScript = await shipLib.lock(
36
+ 'SHIP',
37
+ 'https://shiphost.com',
38
+ 'tm_foo'
39
+ )
40
+ const shipTx = new Transaction(
41
+ 1,
42
+ [],
43
+ [
44
+ {
45
+ lockingScript: shipScript,
46
+ satoshis: 1
47
+ }
48
+ ],
49
+ 0
50
+ )
36
51
 
37
52
  // Resolver returns one host interested in 'tm_foo' topic
38
53
  mockResolver.query.mockReturnValueOnce({
39
54
  type: 'output-list',
40
- outputs: [{
41
- beef: shipTx.toBEEF(),
42
- outputIndex: 0
43
- }]
55
+ outputs: [
56
+ {
57
+ beef: shipTx.toBEEF(),
58
+ outputIndex: 0
59
+ }
60
+ ]
44
61
  })
45
62
 
46
63
  // Host responds successfully
47
64
  mockFacilitator.send.mockReturnValueOnce({
48
65
  tm_foo: {
49
-
50
66
  outputsToAdmit: [0],
51
67
  coinsToRetain: []
52
68
  }
@@ -65,12 +81,15 @@ describe('SHIPCast', () => {
65
81
  message: 'Sent to 1 Overlay Services host.'
66
82
  })
67
83
 
68
- expect(mockResolver.query).toHaveBeenCalledWith({
69
- service: 'ls_ship',
70
- query: {
71
- topics: ['tm_foo']
84
+ expect(mockResolver.query).toHaveBeenCalledWith(
85
+ {
86
+ service: 'ls_ship',
87
+ query: {
88
+ topics: ['tm_foo']
89
+ }
72
90
  },
73
- }, 1000)
91
+ 1000
92
+ )
74
93
 
75
94
  expect(mockFacilitator.send).toHaveBeenCalledWith('https://shiphost.com', {
76
95
  beef: testTx.toBEEF(),
@@ -80,34 +99,59 @@ describe('SHIPCast', () => {
80
99
 
81
100
  it('should be resilient to malformed or corrupted SHIP data, to the extent possible', async () => {
82
101
  const shipHostKey = new PrivateKey(42)
83
- const shipWallet = new ProtoWallet(shipHostKey)
102
+ const shipWallet = new CompletedProtoWallet(shipHostKey)
84
103
  const shipLib = new OverlayAdminTokenTemplate(shipWallet)
85
104
  // First SHIP is for wrong topic
86
- const shipScript = await shipLib.lock('SHIP', 'https://shiphost.com', 'tm_wrong')
87
- const shipTx = new Transaction(1, [], [{
88
- lockingScript: shipScript,
89
- satoshis: 1
90
- }], 0)
105
+ const shipScript = await shipLib.lock(
106
+ 'SHIP',
107
+ 'https://shiphost.com',
108
+ 'tm_wrong'
109
+ )
110
+ const shipTx = new Transaction(
111
+ 1,
112
+ [],
113
+ [
114
+ {
115
+ lockingScript: shipScript,
116
+ satoshis: 1
117
+ }
118
+ ],
119
+ 0
120
+ )
91
121
  const shipHostKey2 = new PrivateKey(43)
92
- const shipWallet2 = new ProtoWallet(shipHostKey2)
122
+ const shipWallet2 = new CompletedProtoWallet(shipHostKey2)
93
123
  const shipLib2 = new OverlayAdminTokenTemplate(shipWallet2)
94
124
  // Second SHIP is for correct topic
95
- const shipScript2 = await shipLib2.lock('SHIP', 'https://shiphost2.com', 'tm_foo')
96
- const shipTx2 = new Transaction(1, [], [{
97
- lockingScript: shipScript2,
98
- satoshis: 1
99
- }], 0)
125
+ const shipScript2 = await shipLib2.lock(
126
+ 'SHIP',
127
+ 'https://shiphost2.com',
128
+ 'tm_foo'
129
+ )
130
+ const shipTx2 = new Transaction(
131
+ 1,
132
+ [],
133
+ [
134
+ {
135
+ lockingScript: shipScript2,
136
+ satoshis: 1
137
+ }
138
+ ],
139
+ 0
140
+ )
100
141
 
101
142
  // Resolver returns two hosts, both the correct and the corrupted ones.
102
143
  mockResolver.query.mockReturnValueOnce({
103
144
  type: 'output-list',
104
- outputs: [{
105
- beef: shipTx.toBEEF(),
106
- outputIndex: 0
107
- }, {
108
- beef: shipTx2.toBEEF(),
109
- outputIndex: 0
110
- }]
145
+ outputs: [
146
+ {
147
+ beef: shipTx.toBEEF(),
148
+ outputIndex: 0
149
+ },
150
+ {
151
+ beef: shipTx2.toBEEF(),
152
+ outputIndex: 0
153
+ }
154
+ ]
111
155
  })
112
156
 
113
157
  // Host responds successfully
@@ -147,7 +191,9 @@ describe('SHIPCast', () => {
147
191
  different: 'structure'
148
192
  }
149
193
  })
150
- await expect(async () => await b.broadcast(testTx)).rejects.toThrow('SHIP answer is not an output list.')
194
+ await expect(async () => await b.broadcast(testTx)).rejects.toThrow(
195
+ 'SHIP answer is not an output list.'
196
+ )
151
197
  expect(mockFacilitator.send).not.toHaveBeenCalled()
152
198
 
153
199
  // Resolver returns the wrong output structure
@@ -157,25 +203,32 @@ describe('SHIPCast', () => {
157
203
  different: 'structure'
158
204
  }
159
205
  })
160
- await expect(async () => await b.broadcast(testTx)).rejects.toThrow('answer.outputs is not iterable')
206
+ await expect(async () => await b.broadcast(testTx)).rejects.toThrow(
207
+ 'answer.outputs is not iterable'
208
+ )
161
209
  expect(mockFacilitator.send).not.toHaveBeenCalled()
162
210
 
163
211
  // Resolver returns corrupted BEEF alongside good data
164
212
  mockResolver.query.mockReturnValueOnce({
165
213
  type: 'output-list',
166
- outputs: [{
167
- beef: shipTx.toBEEF(), // Wrong topic
168
- outputIndex: 0
169
- }, {
170
- beef: [0], // corrupted "rotten" BEEF
171
- outputIndex: 4
172
- }, {
173
- beef: shipTx2.toBEEF(),
174
- outputIndex: 1 // Wrong output index
175
- }, {
176
- beef: shipTx2.toBEEF(),
177
- outputIndex: 0 // correct
178
- }]
214
+ outputs: [
215
+ {
216
+ beef: shipTx.toBEEF(), // Wrong topic
217
+ outputIndex: 0
218
+ },
219
+ {
220
+ beef: [0], // corrupted "rotten" BEEF
221
+ outputIndex: 4
222
+ },
223
+ {
224
+ beef: shipTx2.toBEEF(),
225
+ outputIndex: 1 // Wrong output index
226
+ },
227
+ {
228
+ beef: shipTx2.toBEEF(),
229
+ outputIndex: 0 // correct
230
+ }
231
+ ]
179
232
  })
180
233
  response = await b.broadcast(testTx)
181
234
  expect(response).toEqual({
@@ -203,7 +256,9 @@ describe('SHIPCast', () => {
203
256
  }
204
257
  } as unknown as Transaction
205
258
 
206
- await expect(b.broadcast(testTx)).rejects.toThrow('Transactions sent via SHIP to Overlay Services must be serializable to BEEF format.')
259
+ await expect(b.broadcast(testTx)).rejects.toThrow(
260
+ 'Transactions sent via SHIP to Overlay Services must be serializable to BEEF format.'
261
+ )
207
262
  })
208
263
 
209
264
  it('should fail when no hosts are interested in the topics', async () => {
@@ -227,33 +282,49 @@ describe('SHIPCast', () => {
227
282
  description: 'No hosts are interested in receiving this transaction.'
228
283
  })
229
284
 
230
- expect(mockResolver.query).toHaveBeenCalledWith({
231
- service: 'ls_ship',
232
- query: {
233
- topics: ['tm_foo']
285
+ expect(mockResolver.query).toHaveBeenCalledWith(
286
+ {
287
+ service: 'ls_ship',
288
+ query: {
289
+ topics: ['tm_foo']
290
+ }
234
291
  },
235
- }, 1000)
292
+ 1000
293
+ )
236
294
 
237
295
  expect(mockFacilitator.send).not.toHaveBeenCalled()
238
296
  })
239
297
 
240
298
  it('should fail when all hosts reject the transaction', async () => {
241
299
  const shipHostKey = new PrivateKey(42)
242
- const shipWallet = new ProtoWallet(shipHostKey)
300
+ const shipWallet = new CompletedProtoWallet(shipHostKey)
243
301
  const shipLib = new OverlayAdminTokenTemplate(shipWallet)
244
- const shipScript = await shipLib.lock('SHIP', 'https://shiphost.com', 'tm_foo')
245
- const shipTx = new Transaction(1, [], [{
246
- lockingScript: shipScript,
247
- satoshis: 1
248
- }], 0)
302
+ const shipScript = await shipLib.lock(
303
+ 'SHIP',
304
+ 'https://shiphost.com',
305
+ 'tm_foo'
306
+ )
307
+ const shipTx = new Transaction(
308
+ 1,
309
+ [],
310
+ [
311
+ {
312
+ lockingScript: shipScript,
313
+ satoshis: 1
314
+ }
315
+ ],
316
+ 0
317
+ )
249
318
 
250
319
  // Resolver returns one host
251
320
  mockResolver.query.mockReturnValueOnce({
252
321
  type: 'output-list',
253
- outputs: [{
254
- beef: shipTx.toBEEF(),
255
- outputIndex: 0
256
- }]
322
+ outputs: [
323
+ {
324
+ beef: shipTx.toBEEF(),
325
+ outputIndex: 0
326
+ }
327
+ ]
257
328
  })
258
329
 
259
330
  // Host fails
@@ -280,34 +351,49 @@ describe('SHIPCast', () => {
280
351
 
281
352
  it('should fail when required specific hosts are not among interested hosts', async () => {
282
353
  const shipHostKey = new PrivateKey(42)
283
- const shipWallet = new ProtoWallet(shipHostKey)
354
+ const shipWallet = new CompletedProtoWallet(shipHostKey)
284
355
  const shipLib = new OverlayAdminTokenTemplate(shipWallet)
285
- const shipScript = await shipLib.lock('SHIP', 'https://shiphost.com', 'tm_foo')
286
- const shipTx = new Transaction(1, [], [{
287
- lockingScript: shipScript,
288
- satoshis: 1
289
- }], 0)
356
+ const shipScript = await shipLib.lock(
357
+ 'SHIP',
358
+ 'https://shiphost.com',
359
+ 'tm_foo'
360
+ )
361
+ const shipTx = new Transaction(
362
+ 1,
363
+ [],
364
+ [
365
+ {
366
+ lockingScript: shipScript,
367
+ satoshis: 1
368
+ }
369
+ ],
370
+ 0
371
+ )
290
372
 
291
373
  // Resolver returns one host
292
374
  mockResolver.query.mockReturnValueOnce({
293
375
  type: 'output-list',
294
- outputs: [{
295
- beef: shipTx.toBEEF(),
296
- outputIndex: 0
297
- }]
376
+ outputs: [
377
+ {
378
+ beef: shipTx.toBEEF(),
379
+ outputIndex: 0
380
+ }
381
+ ]
298
382
  })
299
383
 
300
384
  // First host acknowledges 'tm_foo', but it's not the right host.
301
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
302
- const steak = {}
303
- for (const topic of topics) {
304
- steak[topic] = {
305
- outputsToAdmit: topic === 'tm_foo' ? [0] : [],
306
- coinsToRetain: []
385
+ mockFacilitator.send.mockImplementationOnce(
386
+ async (host, { beef, topics }) => {
387
+ const steak = {}
388
+ for (const topic of topics) {
389
+ steak[topic] = {
390
+ outputsToAdmit: topic === 'tm_foo' ? [0] : [],
391
+ coinsToRetain: []
392
+ }
307
393
  }
394
+ return steak
308
395
  }
309
- return steak
310
- })
396
+ )
311
397
 
312
398
  const b = new SHIPCast(['tm_foo'], {
313
399
  facilitator: mockFacilitator,
@@ -330,30 +416,62 @@ describe('SHIPCast', () => {
330
416
 
331
417
  it('should succeed when all hosts acknowledge all topics (default behavior)', async () => {
332
418
  const shipHostKey1 = new PrivateKey(42)
333
- const shipWallet1 = new ProtoWallet(shipHostKey1)
419
+ const shipWallet1 = new CompletedProtoWallet(shipHostKey1)
334
420
  const shipLib1 = new OverlayAdminTokenTemplate(shipWallet1)
335
- const shipScript1 = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_foo')
336
- const shipScript1b = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_bar')
337
- const shipTx1 = new Transaction(1, [], [{
338
- lockingScript: shipScript1,
339
- satoshis: 1
340
- }, {
341
- lockingScript: shipScript1b,
342
- satoshis: 1
343
- }], 0)
421
+ const shipScript1 = await shipLib1.lock(
422
+ 'SHIP',
423
+ 'https://shiphost1.com',
424
+ 'tm_foo'
425
+ )
426
+ const shipScript1b = await shipLib1.lock(
427
+ 'SHIP',
428
+ 'https://shiphost1.com',
429
+ 'tm_bar'
430
+ )
431
+ const shipTx1 = new Transaction(
432
+ 1,
433
+ [],
434
+ [
435
+ {
436
+ lockingScript: shipScript1,
437
+ satoshis: 1
438
+ },
439
+ {
440
+ lockingScript: shipScript1b,
441
+ satoshis: 1
442
+ }
443
+ ],
444
+ 0
445
+ )
344
446
 
345
447
  const shipHostKey2 = new PrivateKey(43)
346
- const shipWallet2 = new ProtoWallet(shipHostKey2)
448
+ const shipWallet2 = new CompletedProtoWallet(shipHostKey2)
347
449
  const shipLib2 = new OverlayAdminTokenTemplate(shipWallet2)
348
- const shipScript2 = await shipLib2.lock('SHIP', 'https://shiphost2.com', 'tm_bar')
349
- const shipScript2b = await shipLib2.lock('SHIP', 'https://shiphost2.com', 'tm_foo')
350
- const shipTx2 = new Transaction(1, [], [{
351
- lockingScript: shipScript2,
352
- satoshis: 1
353
- }, {
354
- lockingScript: shipScript2b,
355
- satoshis: 1
356
- }], 0)
450
+ const shipScript2 = await shipLib2.lock(
451
+ 'SHIP',
452
+ 'https://shiphost2.com',
453
+ 'tm_bar'
454
+ )
455
+ const shipScript2b = await shipLib2.lock(
456
+ 'SHIP',
457
+ 'https://shiphost2.com',
458
+ 'tm_foo'
459
+ )
460
+ const shipTx2 = new Transaction(
461
+ 1,
462
+ [],
463
+ [
464
+ {
465
+ lockingScript: shipScript2,
466
+ satoshis: 1
467
+ },
468
+ {
469
+ lockingScript: shipScript2b,
470
+ satoshis: 1
471
+ }
472
+ ],
473
+ 0
474
+ )
357
475
 
358
476
  // Resolver returns two hosts
359
477
  mockResolver.query.mockReturnValueOnce({
@@ -391,34 +509,59 @@ describe('SHIPCast', () => {
391
509
  message: 'Sent to 2 Overlay Services hosts.'
392
510
  })
393
511
 
394
- expect(mockResolver.query).toHaveBeenCalledWith({
395
- service: 'ls_ship',
396
- query: {
397
- topics: ['tm_foo', 'tm_bar']
398
- }
399
- }, 1000)
512
+ expect(mockResolver.query).toHaveBeenCalledWith(
513
+ {
514
+ service: 'ls_ship',
515
+ query: {
516
+ topics: ['tm_foo', 'tm_bar']
517
+ }
518
+ },
519
+ 1000
520
+ )
400
521
 
401
522
  expect(mockFacilitator.send).toHaveBeenCalledTimes(2)
402
523
  })
403
524
 
404
525
  it('should fail if at least one host does not acknowledge every topic (default behavior)', async () => {
405
526
  const shipHostKey1 = new PrivateKey(42)
406
- const shipWallet1 = new ProtoWallet(shipHostKey1)
527
+ const shipWallet1 = new CompletedProtoWallet(shipHostKey1)
407
528
  const shipLib1 = new OverlayAdminTokenTemplate(shipWallet1)
408
- const shipScript1 = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_foo')
409
- const shipTx1 = new Transaction(1, [], [{
410
- lockingScript: shipScript1,
411
- satoshis: 1
412
- }], 0)
529
+ const shipScript1 = await shipLib1.lock(
530
+ 'SHIP',
531
+ 'https://shiphost1.com',
532
+ 'tm_foo'
533
+ )
534
+ const shipTx1 = new Transaction(
535
+ 1,
536
+ [],
537
+ [
538
+ {
539
+ lockingScript: shipScript1,
540
+ satoshis: 1
541
+ }
542
+ ],
543
+ 0
544
+ )
413
545
 
414
546
  const shipHostKey2 = new PrivateKey(43)
415
- const shipWallet2 = new ProtoWallet(shipHostKey2)
547
+ const shipWallet2 = new CompletedProtoWallet(shipHostKey2)
416
548
  const shipLib2 = new OverlayAdminTokenTemplate(shipWallet2)
417
- const shipScript2 = await shipLib2.lock('SHIP', 'https://shiphost2.com', 'tm_bar')
418
- const shipTx2 = new Transaction(1, [], [{
419
- lockingScript: shipScript2,
420
- satoshis: 1
421
- }], 0)
549
+ const shipScript2 = await shipLib2.lock(
550
+ 'SHIP',
551
+ 'https://shiphost2.com',
552
+ 'tm_bar'
553
+ )
554
+ const shipTx2 = new Transaction(
555
+ 1,
556
+ [],
557
+ [
558
+ {
559
+ lockingScript: shipScript2,
560
+ satoshis: 1
561
+ }
562
+ ],
563
+ 0
564
+ )
422
565
 
423
566
  // Resolver returns two hosts
424
567
  mockResolver.query.mockReturnValueOnce({
@@ -430,28 +573,32 @@ describe('SHIPCast', () => {
430
573
  })
431
574
 
432
575
  // First host acknowledges 'tm_foo'
433
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
434
- const steak = {}
435
- for (const topic of topics) {
436
- steak[topic] = {
437
- outputsToAdmit: [],
438
- coinsToRetain: []
576
+ mockFacilitator.send.mockImplementationOnce(
577
+ async (host, { beef, topics }) => {
578
+ const steak = {}
579
+ for (const topic of topics) {
580
+ steak[topic] = {
581
+ outputsToAdmit: [],
582
+ coinsToRetain: []
583
+ }
439
584
  }
585
+ return steak
440
586
  }
441
- return steak
442
- })
587
+ )
443
588
 
444
589
  // Second host does not acknowledge any topics
445
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
446
- const steak = {}
447
- for (const topic of topics) {
448
- steak[topic] = {
449
- outputsToAdmit: [],
450
- coinsToRetain: []
590
+ mockFacilitator.send.mockImplementationOnce(
591
+ async (host, { beef, topics }) => {
592
+ const steak = {}
593
+ for (const topic of topics) {
594
+ steak[topic] = {
595
+ outputsToAdmit: [],
596
+ coinsToRetain: []
597
+ }
451
598
  }
599
+ return steak
452
600
  }
453
- return steak
454
- })
601
+ )
455
602
 
456
603
  const b = new SHIPCast(['tm_foo', 'tm_bar'], {
457
604
  facilitator: mockFacilitator,
@@ -469,22 +616,44 @@ describe('SHIPCast', () => {
469
616
 
470
617
  it('should succeed when at least one host acknowledges required topics with requireAcknowledgmentFromAnyHostForTopics set to "any"', async () => {
471
618
  const shipHostKey1 = new PrivateKey(42)
472
- const shipWallet1 = new ProtoWallet(shipHostKey1)
619
+ const shipWallet1 = new CompletedProtoWallet(shipHostKey1)
473
620
  const shipLib1 = new OverlayAdminTokenTemplate(shipWallet1)
474
- const shipScript1 = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_foo')
475
- const shipTx1 = new Transaction(1, [], [{
476
- lockingScript: shipScript1,
477
- satoshis: 1
478
- }], 0)
621
+ const shipScript1 = await shipLib1.lock(
622
+ 'SHIP',
623
+ 'https://shiphost1.com',
624
+ 'tm_foo'
625
+ )
626
+ const shipTx1 = new Transaction(
627
+ 1,
628
+ [],
629
+ [
630
+ {
631
+ lockingScript: shipScript1,
632
+ satoshis: 1
633
+ }
634
+ ],
635
+ 0
636
+ )
479
637
 
480
638
  const shipHostKey2 = new PrivateKey(43)
481
- const shipWallet2 = new ProtoWallet(shipHostKey2)
639
+ const shipWallet2 = new CompletedProtoWallet(shipHostKey2)
482
640
  const shipLib2 = new OverlayAdminTokenTemplate(shipWallet2)
483
- const shipScript2 = await shipLib2.lock('SHIP', 'https://shiphost2.com', 'tm_bar')
484
- const shipTx2 = new Transaction(1, [], [{
485
- lockingScript: shipScript2,
486
- satoshis: 1
487
- }], 0)
641
+ const shipScript2 = await shipLib2.lock(
642
+ 'SHIP',
643
+ 'https://shiphost2.com',
644
+ 'tm_bar'
645
+ )
646
+ const shipTx2 = new Transaction(
647
+ 1,
648
+ [],
649
+ [
650
+ {
651
+ lockingScript: shipScript2,
652
+ satoshis: 1
653
+ }
654
+ ],
655
+ 0
656
+ )
488
657
 
489
658
  // Resolver returns two hosts
490
659
  mockResolver.query.mockReturnValueOnce({
@@ -496,28 +665,32 @@ describe('SHIPCast', () => {
496
665
  })
497
666
 
498
667
  // First host acknowledges no topics
499
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
500
- const steak = {}
501
- for (const topic of topics) {
502
- steak[topic] = {
503
- outputsToAdmit: [],
504
- coinsToRetain: []
668
+ mockFacilitator.send.mockImplementationOnce(
669
+ async (host, { beef, topics }) => {
670
+ const steak = {}
671
+ for (const topic of topics) {
672
+ steak[topic] = {
673
+ outputsToAdmit: [],
674
+ coinsToRetain: []
675
+ }
505
676
  }
677
+ return steak
506
678
  }
507
- return steak
508
- })
679
+ )
509
680
 
510
681
  // Second host acknowledges 'tm_bar'
511
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
512
- const steak = {}
513
- for (const topic of topics) {
514
- steak[topic] = {
515
- outputsToAdmit: topic === 'tm_bar' ? [0] : [],
516
- coinsToRetain: []
682
+ mockFacilitator.send.mockImplementationOnce(
683
+ async (host, { beef, topics }) => {
684
+ const steak = {}
685
+ for (const topic of topics) {
686
+ steak[topic] = {
687
+ outputsToAdmit: topic === 'tm_bar' ? [0] : [],
688
+ coinsToRetain: []
689
+ }
517
690
  }
691
+ return steak
518
692
  }
519
- return steak
520
- })
693
+ )
521
694
 
522
695
  const b = new SHIPCast(['tm_foo', 'tm_bar'], {
523
696
  facilitator: mockFacilitator,
@@ -538,13 +711,24 @@ describe('SHIPCast', () => {
538
711
 
539
712
  it('should fail when no hosts acknowledge required topics with requireAcknowledgmentFromAnyHostForTopics set to "any"', async () => {
540
713
  const shipHostKey1 = new PrivateKey(42)
541
- const shipWallet1 = new ProtoWallet(shipHostKey1)
714
+ const shipWallet1 = new CompletedProtoWallet(shipHostKey1)
542
715
  const shipLib1 = new OverlayAdminTokenTemplate(shipWallet1)
543
- const shipScript1 = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_foo')
544
- const shipTx1 = new Transaction(1, [], [{
545
- lockingScript: shipScript1,
546
- satoshis: 1
547
- }], 0)
716
+ const shipScript1 = await shipLib1.lock(
717
+ 'SHIP',
718
+ 'https://shiphost1.com',
719
+ 'tm_foo'
720
+ )
721
+ const shipTx1 = new Transaction(
722
+ 1,
723
+ [],
724
+ [
725
+ {
726
+ lockingScript: shipScript1,
727
+ satoshis: 1
728
+ }
729
+ ],
730
+ 0
731
+ )
548
732
 
549
733
  // Resolver returns one host
550
734
  mockResolver.query.mockReturnValueOnce({
@@ -553,16 +737,18 @@ describe('SHIPCast', () => {
553
737
  })
554
738
 
555
739
  // Host acknowledges no topics
556
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
557
- const steak = {}
558
- for (const topic of topics) {
559
- steak[topic] = {
560
- outputsToAdmit: [],
561
- coinsToRetain: []
740
+ mockFacilitator.send.mockImplementationOnce(
741
+ async (host, { beef, topics }) => {
742
+ const steak = {}
743
+ for (const topic of topics) {
744
+ steak[topic] = {
745
+ outputsToAdmit: [],
746
+ coinsToRetain: []
747
+ }
562
748
  }
749
+ return steak
563
750
  }
564
- return steak
565
- })
751
+ )
566
752
 
567
753
  const b = new SHIPCast(['tm_foo'], {
568
754
  facilitator: mockFacilitator,
@@ -583,22 +769,44 @@ describe('SHIPCast', () => {
583
769
 
584
770
  it('should succeed when specific hosts acknowledge required topics', async () => {
585
771
  const shipHostKey1 = new PrivateKey(42)
586
- const shipWallet1 = new ProtoWallet(shipHostKey1)
772
+ const shipWallet1 = new CompletedProtoWallet(shipHostKey1)
587
773
  const shipLib1 = new OverlayAdminTokenTemplate(shipWallet1)
588
- const shipScript1 = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_foo')
589
- const shipTx1 = new Transaction(1, [], [{
590
- lockingScript: shipScript1,
591
- satoshis: 1
592
- }], 0)
774
+ const shipScript1 = await shipLib1.lock(
775
+ 'SHIP',
776
+ 'https://shiphost1.com',
777
+ 'tm_foo'
778
+ )
779
+ const shipTx1 = new Transaction(
780
+ 1,
781
+ [],
782
+ [
783
+ {
784
+ lockingScript: shipScript1,
785
+ satoshis: 1
786
+ }
787
+ ],
788
+ 0
789
+ )
593
790
 
594
791
  const shipHostKey2 = new PrivateKey(43)
595
- const shipWallet2 = new ProtoWallet(shipHostKey2)
792
+ const shipWallet2 = new CompletedProtoWallet(shipHostKey2)
596
793
  const shipLib2 = new OverlayAdminTokenTemplate(shipWallet2)
597
- const shipScript2 = await shipLib2.lock('SHIP', 'https://shiphost2.com', 'tm_bar')
598
- const shipTx2 = new Transaction(1, [], [{
599
- lockingScript: shipScript2,
600
- satoshis: 1
601
- }], 0)
794
+ const shipScript2 = await shipLib2.lock(
795
+ 'SHIP',
796
+ 'https://shiphost2.com',
797
+ 'tm_bar'
798
+ )
799
+ const shipTx2 = new Transaction(
800
+ 1,
801
+ [],
802
+ [
803
+ {
804
+ lockingScript: shipScript2,
805
+ satoshis: 1
806
+ }
807
+ ],
808
+ 0
809
+ )
602
810
 
603
811
  // Resolver returns two hosts
604
812
  mockResolver.query.mockReturnValueOnce({
@@ -610,28 +818,32 @@ describe('SHIPCast', () => {
610
818
  })
611
819
 
612
820
  // First host acknowledges 'tm_foo'
613
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
614
- const steak = {}
615
- for (const topic of topics) {
616
- steak[topic] = {
617
- outputsToAdmit: topic === 'tm_foo' ? [0] : [],
618
- coinsToRetain: []
821
+ mockFacilitator.send.mockImplementationOnce(
822
+ async (host, { beef, topics }) => {
823
+ const steak = {}
824
+ for (const topic of topics) {
825
+ steak[topic] = {
826
+ outputsToAdmit: topic === 'tm_foo' ? [0] : [],
827
+ coinsToRetain: []
828
+ }
619
829
  }
830
+ return steak
620
831
  }
621
- return steak
622
- })
832
+ )
623
833
 
624
834
  // Second host does not acknowledge 'tm_bar'
625
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
626
- const steak = {}
627
- for (const topic of topics) {
628
- steak[topic] = {
629
- outputsToAdmit: [],
630
- coinsToRetain: []
835
+ mockFacilitator.send.mockImplementationOnce(
836
+ async (host, { beef, topics }) => {
837
+ const steak = {}
838
+ for (const topic of topics) {
839
+ steak[topic] = {
840
+ outputsToAdmit: [],
841
+ coinsToRetain: []
842
+ }
631
843
  }
844
+ return steak
632
845
  }
633
- return steak
634
- })
846
+ )
635
847
 
636
848
  const b = new SHIPCast(['tm_foo', 'tm_bar'], {
637
849
  facilitator: mockFacilitator,
@@ -654,22 +866,44 @@ describe('SHIPCast', () => {
654
866
 
655
867
  it('should succeed when interested hosts only remove coins in a transaction broadcast', async () => {
656
868
  const shipHostKey1 = new PrivateKey(42)
657
- const shipWallet1 = new ProtoWallet(shipHostKey1)
869
+ const shipWallet1 = new CompletedProtoWallet(shipHostKey1)
658
870
  const shipLib1 = new OverlayAdminTokenTemplate(shipWallet1)
659
- const shipScript1 = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_foo')
660
- const shipTx1 = new Transaction(1, [], [{
661
- lockingScript: shipScript1,
662
- satoshis: 1
663
- }], 0)
871
+ const shipScript1 = await shipLib1.lock(
872
+ 'SHIP',
873
+ 'https://shiphost1.com',
874
+ 'tm_foo'
875
+ )
876
+ const shipTx1 = new Transaction(
877
+ 1,
878
+ [],
879
+ [
880
+ {
881
+ lockingScript: shipScript1,
882
+ satoshis: 1
883
+ }
884
+ ],
885
+ 0
886
+ )
664
887
 
665
888
  const shipHostKey2 = new PrivateKey(43)
666
- const shipWallet2 = new ProtoWallet(shipHostKey2)
889
+ const shipWallet2 = new CompletedProtoWallet(shipHostKey2)
667
890
  const shipLib2 = new OverlayAdminTokenTemplate(shipWallet2)
668
- const shipScript2 = await shipLib2.lock('SHIP', 'https://shiphost2.com', 'tm_bar')
669
- const shipTx2 = new Transaction(1, [], [{
670
- lockingScript: shipScript2,
671
- satoshis: 1
672
- }], 0)
891
+ const shipScript2 = await shipLib2.lock(
892
+ 'SHIP',
893
+ 'https://shiphost2.com',
894
+ 'tm_bar'
895
+ )
896
+ const shipTx2 = new Transaction(
897
+ 1,
898
+ [],
899
+ [
900
+ {
901
+ lockingScript: shipScript2,
902
+ satoshis: 1
903
+ }
904
+ ],
905
+ 0
906
+ )
673
907
 
674
908
  // Resolver returns two hosts
675
909
  mockResolver.query.mockReturnValueOnce({
@@ -681,30 +915,34 @@ describe('SHIPCast', () => {
681
915
  })
682
916
 
683
917
  // First host acknowledges 'tm_foo' with coinsRemoved
684
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
685
- const steak = {}
686
- for (const topic of topics) {
687
- steak[topic] = {
688
- outputsToAdmit: [],
689
- coinsToRetain: [],
690
- coinsRemoved: topic === 'tm_foo' ? [0] : []
918
+ mockFacilitator.send.mockImplementationOnce(
919
+ async (host, { beef, topics }) => {
920
+ const steak = {}
921
+ for (const topic of topics) {
922
+ steak[topic] = {
923
+ outputsToAdmit: [],
924
+ coinsToRetain: [],
925
+ coinsRemoved: topic === 'tm_foo' ? [0] : []
926
+ }
691
927
  }
928
+ return steak
692
929
  }
693
- return steak
694
- })
930
+ )
695
931
 
696
932
  // Second host does not acknowledge 'tm_bar'
697
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
698
- const steak = {}
699
- for (const topic of topics) {
700
- steak[topic] = {
701
- outputsToAdmit: [],
702
- coinsToRetain: [],
703
- coinsRemoved: []
933
+ mockFacilitator.send.mockImplementationOnce(
934
+ async (host, { beef, topics }) => {
935
+ const steak = {}
936
+ for (const topic of topics) {
937
+ steak[topic] = {
938
+ outputsToAdmit: [],
939
+ coinsToRetain: [],
940
+ coinsRemoved: []
941
+ }
704
942
  }
943
+ return steak
705
944
  }
706
- return steak
707
- })
945
+ )
708
946
 
709
947
  const b = new SHIPCast(['tm_foo', 'tm_bar'], {
710
948
  facilitator: mockFacilitator,
@@ -726,23 +964,37 @@ describe('SHIPCast', () => {
726
964
  })
727
965
 
728
966
  // Verify the resolver was queried correctly
729
- expect(mockResolver.query).toHaveBeenCalledWith({
730
- service: 'ls_ship',
731
- query: {
732
- topics: ['tm_foo', 'tm_bar']
733
- }
734
- }, 1000)
967
+ expect(mockResolver.query).toHaveBeenCalledWith(
968
+ {
969
+ service: 'ls_ship',
970
+ query: {
971
+ topics: ['tm_foo', 'tm_bar']
972
+ }
973
+ },
974
+ 1000
975
+ )
735
976
  })
736
977
 
737
978
  it('should fail when specific hosts do not acknowledge required topics', async () => {
738
979
  const shipHostKey1 = new PrivateKey(42)
739
- const shipWallet1 = new ProtoWallet(shipHostKey1)
980
+ const shipWallet1 = new CompletedProtoWallet(shipHostKey1)
740
981
  const shipLib1 = new OverlayAdminTokenTemplate(shipWallet1)
741
- const shipScript1 = await shipLib1.lock('SHIP', 'https://shiphost1.com', 'tm_foo')
742
- const shipTx1 = new Transaction(1, [], [{
743
- lockingScript: shipScript1,
744
- satoshis: 1
745
- }], 0)
982
+ const shipScript1 = await shipLib1.lock(
983
+ 'SHIP',
984
+ 'https://shiphost1.com',
985
+ 'tm_foo'
986
+ )
987
+ const shipTx1 = new Transaction(
988
+ 1,
989
+ [],
990
+ [
991
+ {
992
+ lockingScript: shipScript1,
993
+ satoshis: 1
994
+ }
995
+ ],
996
+ 0
997
+ )
746
998
 
747
999
  // Resolver returns one host
748
1000
  mockResolver.query.mockReturnValueOnce({
@@ -751,16 +1003,18 @@ describe('SHIPCast', () => {
751
1003
  })
752
1004
 
753
1005
  // Host does not acknowledge 'tm_foo'
754
- mockFacilitator.send.mockImplementationOnce(async (host, { beef, topics }) => {
755
- const steak = {}
756
- for (const topic of topics) {
757
- steak[topic] = {
758
- outputsToAdmit: [],
759
- coinsToRetain: []
1006
+ mockFacilitator.send.mockImplementationOnce(
1007
+ async (host, { beef, topics }) => {
1008
+ const steak = {}
1009
+ for (const topic of topics) {
1010
+ steak[topic] = {
1011
+ outputsToAdmit: [],
1012
+ coinsToRetain: []
1013
+ }
760
1014
  }
1015
+ return steak
761
1016
  }
762
- return steak
763
- })
1017
+ )
764
1018
 
765
1019
  const b = new SHIPCast(['tm_foo'], {
766
1020
  facilitator: mockFacilitator,
@@ -784,21 +1038,34 @@ describe('SHIPCast', () => {
784
1038
 
785
1039
  it('should handle invalid acknowledgments from hosts gracefully', async () => {
786
1040
  const shipHostKey = new PrivateKey(42)
787
- const shipWallet = new ProtoWallet(shipHostKey)
1041
+ const shipWallet = new CompletedProtoWallet(shipHostKey)
788
1042
  const shipLib = new OverlayAdminTokenTemplate(shipWallet)
789
- const shipScript = await shipLib.lock('SHIP', 'https://shiphost.com', 'tm_foo')
790
- const shipTx = new Transaction(1, [], [{
791
- lockingScript: shipScript,
792
- satoshis: 1
793
- }], 0)
1043
+ const shipScript = await shipLib.lock(
1044
+ 'SHIP',
1045
+ 'https://shiphost.com',
1046
+ 'tm_foo'
1047
+ )
1048
+ const shipTx = new Transaction(
1049
+ 1,
1050
+ [],
1051
+ [
1052
+ {
1053
+ lockingScript: shipScript,
1054
+ satoshis: 1
1055
+ }
1056
+ ],
1057
+ 0
1058
+ )
794
1059
 
795
1060
  // Resolver returns one host
796
1061
  mockResolver.query.mockReturnValueOnce({
797
1062
  type: 'output-list',
798
- outputs: [{
799
- beef: shipTx.toBEEF(),
800
- outputIndex: 0
801
- }]
1063
+ outputs: [
1064
+ {
1065
+ beef: shipTx.toBEEF(),
1066
+ outputIndex: 0
1067
+ }
1068
+ ]
802
1069
  })
803
1070
 
804
1071
  // Host returns invalid acknowledgment
@@ -833,7 +1100,11 @@ describe('SHIPCast', () => {
833
1100
  'https://host1.com': new Set(['tm_foo', 'tm_bar']),
834
1101
  'https://host2.com': new Set(['tm_foo', 'tm_bar'])
835
1102
  }
836
- const result = (shipCast as any).checkAcknowledgmentFromAllHosts(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'all')
1103
+ const result = (shipCast as any).checkAcknowledgmentFromAllHosts(
1104
+ hostAcknowledgments,
1105
+ ['tm_foo', 'tm_bar'],
1106
+ 'all'
1107
+ )
837
1108
  expect(result).toBe(true)
838
1109
  })
839
1110
 
@@ -842,7 +1113,11 @@ describe('SHIPCast', () => {
842
1113
  'https://host1.com': new Set(['tm_foo']),
843
1114
  'https://host2.com': new Set(['tm_foo', 'tm_bar'])
844
1115
  }
845
- const result = (shipCast as any).checkAcknowledgmentFromAllHosts(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'all')
1116
+ const result = (shipCast as any).checkAcknowledgmentFromAllHosts(
1117
+ hostAcknowledgments,
1118
+ ['tm_foo', 'tm_bar'],
1119
+ 'all'
1120
+ )
846
1121
  expect(result).toBe(false)
847
1122
  })
848
1123
 
@@ -851,7 +1126,11 @@ describe('SHIPCast', () => {
851
1126
  'https://host1.com': new Set(['tm_foo']),
852
1127
  'https://host2.com': new Set(['tm_bar'])
853
1128
  }
854
- const result = (shipCast as any).checkAcknowledgmentFromAllHosts(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'any')
1129
+ const result = (shipCast as any).checkAcknowledgmentFromAllHosts(
1130
+ hostAcknowledgments,
1131
+ ['tm_foo', 'tm_bar'],
1132
+ 'any'
1133
+ )
855
1134
  expect(result).toBe(true)
856
1135
  })
857
1136
 
@@ -860,7 +1139,11 @@ describe('SHIPCast', () => {
860
1139
  'https://host1.com': new Set(),
861
1140
  'https://host2.com': new Set(['tm_bar'])
862
1141
  }
863
- const result = (shipCast as any).checkAcknowledgmentFromAllHosts(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'any')
1142
+ const result = (shipCast as any).checkAcknowledgmentFromAllHosts(
1143
+ hostAcknowledgments,
1144
+ ['tm_foo', 'tm_bar'],
1145
+ 'any'
1146
+ )
864
1147
  expect(result).toBe(false)
865
1148
  })
866
1149
  })
@@ -871,7 +1154,11 @@ describe('SHIPCast', () => {
871
1154
  'https://host1.com': new Set(['tm_foo', 'tm_bar']),
872
1155
  'https://host2.com': new Set(['tm_foo'])
873
1156
  }
874
- const result = (shipCast as any).checkAcknowledgmentFromAnyHost(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'all')
1157
+ const result = (shipCast as any).checkAcknowledgmentFromAnyHost(
1158
+ hostAcknowledgments,
1159
+ ['tm_foo', 'tm_bar'],
1160
+ 'all'
1161
+ )
875
1162
  expect(result).toBe(true)
876
1163
  })
877
1164
 
@@ -880,7 +1167,11 @@ describe('SHIPCast', () => {
880
1167
  'https://host1.com': new Set(['tm_foo']),
881
1168
  'https://host2.com': new Set(['tm_bar'])
882
1169
  }
883
- const result = (shipCast as any).checkAcknowledgmentFromAnyHost(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'all')
1170
+ const result = (shipCast as any).checkAcknowledgmentFromAnyHost(
1171
+ hostAcknowledgments,
1172
+ ['tm_foo', 'tm_bar'],
1173
+ 'all'
1174
+ )
884
1175
  expect(result).toBe(false)
885
1176
  })
886
1177
 
@@ -889,7 +1180,11 @@ describe('SHIPCast', () => {
889
1180
  'https://host1.com': new Set(['tm_foo']),
890
1181
  'https://host2.com': new Set()
891
1182
  }
892
- const result = (shipCast as any).checkAcknowledgmentFromAnyHost(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'any')
1183
+ const result = (shipCast as any).checkAcknowledgmentFromAnyHost(
1184
+ hostAcknowledgments,
1185
+ ['tm_foo', 'tm_bar'],
1186
+ 'any'
1187
+ )
893
1188
  expect(result).toBe(true)
894
1189
  })
895
1190
 
@@ -898,7 +1193,11 @@ describe('SHIPCast', () => {
898
1193
  'https://host1.com': new Set(),
899
1194
  'https://host2.com': new Set()
900
1195
  }
901
- const result = (shipCast as any).checkAcknowledgmentFromAnyHost(hostAcknowledgments, ['tm_foo', 'tm_bar'], 'any')
1196
+ const result = (shipCast as any).checkAcknowledgmentFromAnyHost(
1197
+ hostAcknowledgments,
1198
+ ['tm_foo', 'tm_bar'],
1199
+ 'any'
1200
+ )
902
1201
  expect(result).toBe(false)
903
1202
  })
904
1203
  })
@@ -912,7 +1211,10 @@ describe('SHIPCast', () => {
912
1211
  const requirements = {
913
1212
  'https://host1.com': ['tm_foo', 'tm_bar']
914
1213
  }
915
- const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(hostAcknowledgments, requirements)
1214
+ const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(
1215
+ hostAcknowledgments,
1216
+ requirements
1217
+ )
916
1218
  expect(result).toBe(true)
917
1219
  })
918
1220
 
@@ -924,7 +1226,10 @@ describe('SHIPCast', () => {
924
1226
  const requirements = {
925
1227
  'https://host1.com': ['tm_foo', 'tm_bar']
926
1228
  }
927
- const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(hostAcknowledgments, requirements)
1229
+ const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(
1230
+ hostAcknowledgments,
1231
+ requirements
1232
+ )
928
1233
  expect(result).toBe(false)
929
1234
  })
930
1235
 
@@ -936,7 +1241,10 @@ describe('SHIPCast', () => {
936
1241
  const requirements = {
937
1242
  'https://host1.com': 'any'
938
1243
  }
939
- const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(hostAcknowledgments, requirements)
1244
+ const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(
1245
+ hostAcknowledgments,
1246
+ requirements
1247
+ )
940
1248
  expect(result).toBe(true)
941
1249
  })
942
1250
 
@@ -948,7 +1256,10 @@ describe('SHIPCast', () => {
948
1256
  const requirements = {
949
1257
  'https://host1.com': 'any'
950
1258
  }
951
- const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(hostAcknowledgments, requirements)
1259
+ const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(
1260
+ hostAcknowledgments,
1261
+ requirements
1262
+ )
952
1263
  expect(result).toBe(false)
953
1264
  })
954
1265
 
@@ -963,7 +1274,10 @@ describe('SHIPCast', () => {
963
1274
  'https://host2.com': 'any',
964
1275
  'https://host3.com': 'all'
965
1276
  }
966
- const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(hostAcknowledgments, requirements)
1277
+ const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(
1278
+ hostAcknowledgments,
1279
+ requirements
1280
+ )
967
1281
  expect(result).toBe(true)
968
1282
  })
969
1283
 
@@ -978,7 +1292,10 @@ describe('SHIPCast', () => {
978
1292
  'https://host2.com': 'any',
979
1293
  'https://host3.com': ['tm_foo', 'tm_bar']
980
1294
  }
981
- const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(hostAcknowledgments, requirements)
1295
+ const result = (shipCast as any).checkAcknowledgmentFromSpecificHosts(
1296
+ hostAcknowledgments,
1297
+ requirements
1298
+ )
982
1299
  expect(result).toBe(false)
983
1300
  })
984
1301
  })