@bsv/sdk 2.0.0-beta.0 → 2.0.1

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 (488) hide show
  1. package/dist/cjs/mod.js +1 -0
  2. package/dist/cjs/mod.js.map +1 -1
  3. package/dist/cjs/package.json +1 -1
  4. package/dist/cjs/src/auth/Peer.js +149 -74
  5. package/dist/cjs/src/auth/Peer.js.map +1 -1
  6. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  7. package/dist/cjs/src/auth/certificates/Certificate.js +18 -8
  8. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  9. package/dist/cjs/src/auth/certificates/MasterCertificate.js +19 -9
  10. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  11. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +17 -7
  12. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  13. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  14. package/dist/cjs/src/auth/clients/AuthFetch.js +30 -10
  15. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  16. package/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -1
  17. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +17 -7
  18. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  19. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +17 -7
  20. package/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -1
  21. package/dist/cjs/src/auth/utils/createNonce.js +18 -9
  22. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  23. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  24. package/dist/cjs/src/auth/utils/verifyNonce.js +18 -9
  25. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  26. package/dist/cjs/src/compat/BSM.js +17 -7
  27. package/dist/cjs/src/compat/BSM.js.map +1 -1
  28. package/dist/cjs/src/compat/ECIES.js +17 -7
  29. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  30. package/dist/cjs/src/compat/HD.js +17 -7
  31. package/dist/cjs/src/compat/HD.js.map +1 -1
  32. package/dist/cjs/src/compat/Mnemonic.js +17 -7
  33. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  34. package/dist/cjs/src/compat/Utxo.js +1 -1
  35. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  36. package/dist/cjs/src/compat/index.js +17 -7
  37. package/dist/cjs/src/compat/index.js.map +1 -1
  38. package/dist/cjs/src/identity/ContactsManager.js +1 -1
  39. package/dist/cjs/src/identity/ContactsManager.js.map +1 -1
  40. package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
  41. package/dist/cjs/src/kvstore/GlobalKVStore.js +20 -10
  42. package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -1
  43. package/dist/cjs/src/kvstore/LocalKVStore.js +17 -7
  44. package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
  45. package/dist/cjs/src/kvstore/kvStoreInterpreter.js +17 -7
  46. package/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -1
  47. package/dist/cjs/src/messages/EncryptedMessage.js +19 -0
  48. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  49. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  50. package/dist/cjs/src/messages/index.js +17 -7
  51. package/dist/cjs/src/messages/index.js.map +1 -1
  52. package/dist/cjs/src/overlay-tools/Historian.js.map +1 -1
  53. package/dist/cjs/src/overlay-tools/HostReputationTracker.js.map +1 -1
  54. package/dist/cjs/src/overlay-tools/LookupResolver.js +17 -7
  55. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  56. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  57. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +17 -7
  58. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  59. package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js +1 -2
  60. package/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js.map +1 -1
  61. package/dist/cjs/src/primitives/AESGCM.js +77 -32
  62. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  63. package/dist/cjs/src/primitives/BigNumber.js +28 -54
  64. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  65. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  66. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  67. package/dist/cjs/src/primitives/ECDSA.js +58 -24
  68. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  69. package/dist/cjs/src/primitives/Hash.js +6 -6
  70. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  71. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  72. package/dist/cjs/src/primitives/K256.js.map +1 -1
  73. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  74. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  75. package/dist/cjs/src/primitives/Point.js +63 -6
  76. package/dist/cjs/src/primitives/Point.js.map +1 -1
  77. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  78. package/dist/cjs/src/primitives/PrivateKey.js +46 -9
  79. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  80. package/dist/cjs/src/primitives/PublicKey.js +1 -1
  81. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  82. package/dist/cjs/src/primitives/Random.js.map +1 -1
  83. package/dist/cjs/src/primitives/ReaderUint8Array.js +180 -0
  84. package/dist/cjs/src/primitives/ReaderUint8Array.js.map +1 -0
  85. package/dist/cjs/src/primitives/ReductionContext.js +35 -46
  86. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  87. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  88. package/dist/cjs/src/primitives/Secp256r1.js.map +1 -1
  89. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  90. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  91. package/dist/cjs/src/primitives/TransactionSignature.js +132 -17
  92. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  93. package/dist/cjs/src/primitives/WriterUint8Array.js +173 -0
  94. package/dist/cjs/src/primitives/WriterUint8Array.js.map +1 -0
  95. package/dist/cjs/src/primitives/hex.js +2 -3
  96. package/dist/cjs/src/primitives/hex.js.map +1 -1
  97. package/dist/cjs/src/primitives/index.js +17 -7
  98. package/dist/cjs/src/primitives/index.js.map +1 -1
  99. package/dist/cjs/src/primitives/utils.js +43 -16
  100. package/dist/cjs/src/primitives/utils.js.map +1 -1
  101. package/dist/cjs/src/registry/RegistryClient.js +2 -2
  102. package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
  103. package/dist/cjs/src/remittance/CommsLayer.js +3 -0
  104. package/dist/cjs/src/remittance/CommsLayer.js.map +1 -0
  105. package/dist/cjs/src/remittance/IdentityLayer.js +3 -0
  106. package/dist/cjs/src/remittance/IdentityLayer.js.map +1 -0
  107. package/dist/cjs/src/remittance/RemittanceManager.js +1245 -0
  108. package/dist/cjs/src/remittance/RemittanceManager.js.map +1 -0
  109. package/dist/cjs/src/remittance/RemittanceModule.js +3 -0
  110. package/dist/cjs/src/remittance/RemittanceModule.js.map +1 -0
  111. package/dist/cjs/src/remittance/index.js +23 -0
  112. package/dist/cjs/src/remittance/index.js.map +1 -0
  113. package/dist/cjs/src/remittance/modules/BasicBRC29.js +225 -0
  114. package/dist/cjs/src/remittance/modules/BasicBRC29.js.map +1 -0
  115. package/dist/cjs/src/remittance/modules/index.js +18 -0
  116. package/dist/cjs/src/remittance/modules/index.js.map +1 -0
  117. package/dist/cjs/src/remittance/types.js +22 -0
  118. package/dist/cjs/src/remittance/types.js.map +1 -0
  119. package/dist/cjs/src/script/OP.js +15 -13
  120. package/dist/cjs/src/script/OP.js.map +1 -1
  121. package/dist/cjs/src/script/Script.js +80 -5
  122. package/dist/cjs/src/script/Script.js.map +1 -1
  123. package/dist/cjs/src/script/Spend.js +145 -53
  124. package/dist/cjs/src/script/Spend.js.map +1 -1
  125. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  126. package/dist/cjs/src/script/templates/PushDrop.js +21 -7
  127. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  128. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  129. package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
  130. package/dist/cjs/src/storage/StorageUploader.js +17 -7
  131. package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
  132. package/dist/cjs/src/storage/StorageUtils.js.map +1 -1
  133. package/dist/cjs/src/storage/index.js +17 -7
  134. package/dist/cjs/src/storage/index.js.map +1 -1
  135. package/dist/cjs/src/totp/totp.js.map +1 -1
  136. package/dist/cjs/src/transaction/Beef.js +85 -27
  137. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  138. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  139. package/dist/cjs/src/transaction/BeefTx.js +32 -14
  140. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  141. package/dist/cjs/src/transaction/Broadcaster.js +2 -3
  142. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  143. package/dist/cjs/src/transaction/MerklePath.js +25 -6
  144. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  145. package/dist/cjs/src/transaction/Transaction.js +238 -27
  146. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  147. package/dist/cjs/src/transaction/broadcasters/ARC.js +23 -0
  148. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  149. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +1 -2
  150. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  151. package/dist/cjs/src/transaction/broadcasters/Teranode.js.map +1 -1
  152. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  153. package/dist/cjs/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -1
  154. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +1 -2
  155. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  156. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  157. package/dist/cjs/src/transaction/fee-models/LivePolicy.js.map +1 -1
  158. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  159. package/dist/cjs/src/transaction/http/BinaryFetchClient.js +2 -2
  160. package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
  161. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +1 -2
  162. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  163. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  164. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  165. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  166. package/dist/cjs/src/wallet/ProtoWallet.js +1 -1
  167. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  168. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  169. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  170. package/dist/cjs/src/wallet/index.js +17 -7
  171. package/dist/cjs/src/wallet/index.js.map +1 -1
  172. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  173. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +17 -7
  174. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  175. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +17 -7
  176. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  177. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +17 -7
  178. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  179. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +17 -7
  180. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  181. package/dist/cjs/src/wallet/substrates/XDM.js +17 -7
  182. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  183. package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js +1 -2
  184. package/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js.map +1 -1
  185. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  186. package/dist/cjs/src/wallet/validationHelpers.js +51 -41
  187. package/dist/cjs/src/wallet/validationHelpers.js.map +1 -1
  188. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  189. package/dist/esm/mod.js +1 -0
  190. package/dist/esm/mod.js.map +1 -1
  191. package/dist/esm/src/auth/Peer.js +132 -67
  192. package/dist/esm/src/auth/Peer.js.map +1 -1
  193. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  194. package/dist/esm/src/auth/certificates/Certificate.js +1 -1
  195. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  196. package/dist/esm/src/auth/certificates/MasterCertificate.js +2 -2
  197. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  198. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  199. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  200. package/dist/esm/src/auth/clients/AuthFetch.js +13 -3
  201. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  202. package/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -1
  203. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  204. package/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -1
  205. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  206. package/dist/esm/src/compat/BSM.js.map +1 -1
  207. package/dist/esm/src/compat/ECIES.js.map +1 -1
  208. package/dist/esm/src/compat/HD.js.map +1 -1
  209. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  210. package/dist/esm/src/identity/ContactsManager.js +1 -1
  211. package/dist/esm/src/identity/ContactsManager.js.map +1 -1
  212. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  213. package/dist/esm/src/kvstore/GlobalKVStore.js +3 -3
  214. package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -1
  215. package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
  216. package/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -1
  217. package/dist/esm/src/messages/EncryptedMessage.js +19 -0
  218. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  219. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  220. package/dist/esm/src/overlay-tools/Historian.js.map +1 -1
  221. package/dist/esm/src/overlay-tools/HostReputationTracker.js.map +1 -1
  222. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  223. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  224. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  225. package/dist/esm/src/overlay-tools/withDoubleSpendRetry.js.map +1 -1
  226. package/dist/esm/src/primitives/AESGCM.js +71 -26
  227. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  228. package/dist/esm/src/primitives/BigNumber.js +28 -54
  229. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  230. package/dist/esm/src/primitives/Curve.js.map +1 -1
  231. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  232. package/dist/esm/src/primitives/ECDSA.js +58 -24
  233. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  234. package/dist/esm/src/primitives/Hash.js.map +1 -1
  235. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  236. package/dist/esm/src/primitives/K256.js.map +1 -1
  237. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  238. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  239. package/dist/esm/src/primitives/Point.js +61 -4
  240. package/dist/esm/src/primitives/Point.js.map +1 -1
  241. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  242. package/dist/esm/src/primitives/PrivateKey.js +29 -2
  243. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  244. package/dist/esm/src/primitives/PublicKey.js +1 -1
  245. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  246. package/dist/esm/src/primitives/Random.js.map +1 -1
  247. package/dist/esm/src/primitives/ReaderUint8Array.js +176 -0
  248. package/dist/esm/src/primitives/ReaderUint8Array.js.map +1 -0
  249. package/dist/esm/src/primitives/ReductionContext.js +35 -46
  250. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  251. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  252. package/dist/esm/src/primitives/Secp256r1.js.map +1 -1
  253. package/dist/esm/src/primitives/Signature.js.map +1 -1
  254. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  255. package/dist/esm/src/primitives/TransactionSignature.js +115 -10
  256. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  257. package/dist/esm/src/primitives/WriterUint8Array.js +169 -0
  258. package/dist/esm/src/primitives/WriterUint8Array.js.map +1 -0
  259. package/dist/esm/src/primitives/hex.js.map +1 -1
  260. package/dist/esm/src/primitives/utils.js +37 -11
  261. package/dist/esm/src/primitives/utils.js.map +1 -1
  262. package/dist/esm/src/registry/RegistryClient.js.map +1 -1
  263. package/dist/esm/src/remittance/CommsLayer.js +2 -0
  264. package/dist/esm/src/remittance/CommsLayer.js.map +1 -0
  265. package/dist/esm/src/remittance/IdentityLayer.js +2 -0
  266. package/dist/esm/src/remittance/IdentityLayer.js.map +1 -0
  267. package/dist/esm/src/remittance/RemittanceManager.js +1254 -0
  268. package/dist/esm/src/remittance/RemittanceManager.js.map +1 -0
  269. package/dist/esm/src/remittance/RemittanceModule.js +2 -0
  270. package/dist/esm/src/remittance/RemittanceModule.js.map +1 -0
  271. package/dist/esm/src/remittance/index.js +7 -0
  272. package/dist/esm/src/remittance/index.js.map +1 -0
  273. package/dist/esm/src/remittance/modules/BasicBRC29.js +227 -0
  274. package/dist/esm/src/remittance/modules/BasicBRC29.js.map +1 -0
  275. package/dist/esm/src/remittance/modules/index.js +2 -0
  276. package/dist/esm/src/remittance/modules/index.js.map +1 -0
  277. package/dist/esm/src/remittance/types.js +19 -0
  278. package/dist/esm/src/remittance/types.js.map +1 -0
  279. package/dist/esm/src/script/OP.js +15 -13
  280. package/dist/esm/src/script/OP.js.map +1 -1
  281. package/dist/esm/src/script/Script.js +80 -5
  282. package/dist/esm/src/script/Script.js.map +1 -1
  283. package/dist/esm/src/script/Spend.js +129 -46
  284. package/dist/esm/src/script/Spend.js.map +1 -1
  285. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  286. package/dist/esm/src/script/templates/PushDrop.js +21 -7
  287. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  288. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  289. package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
  290. package/dist/esm/src/storage/StorageUploader.js.map +1 -1
  291. package/dist/esm/src/storage/StorageUtils.js.map +1 -1
  292. package/dist/esm/src/totp/totp.js.map +1 -1
  293. package/dist/esm/src/transaction/Beef.js +86 -28
  294. package/dist/esm/src/transaction/Beef.js.map +1 -1
  295. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  296. package/dist/esm/src/transaction/BeefTx.js +32 -14
  297. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  298. package/dist/esm/src/transaction/MerklePath.js +26 -7
  299. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  300. package/dist/esm/src/transaction/Transaction.js +239 -28
  301. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  302. package/dist/esm/src/transaction/broadcasters/ARC.js +23 -0
  303. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  304. package/dist/esm/src/transaction/broadcasters/Teranode.js.map +1 -1
  305. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  306. package/dist/esm/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -1
  307. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  308. package/dist/esm/src/transaction/fee-models/LivePolicy.js.map +1 -1
  309. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  310. package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
  311. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  312. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  313. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  314. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  315. package/dist/esm/src/wallet/ProtoWallet.js +1 -1
  316. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  317. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  318. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  319. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  320. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  321. package/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  322. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  323. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  324. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  325. package/dist/esm/src/wallet/substrates/utils/toOriginHeader.js.map +1 -1
  326. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  327. package/dist/esm/src/wallet/validationHelpers.js +1 -1
  328. package/dist/esm/src/wallet/validationHelpers.js.map +1 -1
  329. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  330. package/dist/types/mod.d.ts +1 -0
  331. package/dist/types/mod.d.ts.map +1 -1
  332. package/dist/types/src/auth/Peer.d.ts +12 -7
  333. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  334. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  335. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  336. package/dist/types/src/auth/types.d.ts +2 -0
  337. package/dist/types/src/auth/types.d.ts.map +1 -1
  338. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  339. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  340. package/dist/types/src/compat/BSM.d.ts +1 -1
  341. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  342. package/dist/types/src/messages/EncryptedMessage.d.ts +19 -0
  343. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  344. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  345. package/dist/types/src/primitives/AESGCM.d.ts +18 -0
  346. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  347. package/dist/types/src/primitives/BigNumber.d.ts +8 -0
  348. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  349. package/dist/types/src/primitives/ECDSA.d.ts +24 -0
  350. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  351. package/dist/types/src/primitives/Hash.d.ts +8 -8
  352. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  353. package/dist/types/src/primitives/Point.d.ts +1 -0
  354. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  355. package/dist/types/src/primitives/PrivateKey.d.ts +27 -0
  356. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  357. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  358. package/dist/types/src/primitives/ReaderUint8Array.d.ts +32 -0
  359. package/dist/types/src/primitives/ReaderUint8Array.d.ts.map +1 -0
  360. package/dist/types/src/primitives/ReductionContext.d.ts +9 -0
  361. package/dist/types/src/primitives/ReductionContext.d.ts.map +1 -1
  362. package/dist/types/src/primitives/Secp256r1.d.ts.map +1 -1
  363. package/dist/types/src/primitives/TransactionSignature.d.ts +16 -4
  364. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  365. package/dist/types/src/primitives/WriterUint8Array.d.ts +54 -0
  366. package/dist/types/src/primitives/WriterUint8Array.d.ts.map +1 -0
  367. package/dist/types/src/primitives/utils.d.ts +19 -6
  368. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  369. package/dist/types/src/remittance/CommsLayer.d.ts +50 -0
  370. package/dist/types/src/remittance/CommsLayer.d.ts.map +1 -0
  371. package/dist/types/src/remittance/IdentityLayer.d.ts +35 -0
  372. package/dist/types/src/remittance/IdentityLayer.d.ts.map +1 -0
  373. package/dist/types/src/remittance/RemittanceManager.d.ts +452 -0
  374. package/dist/types/src/remittance/RemittanceManager.d.ts.map +1 -0
  375. package/dist/types/src/remittance/RemittanceModule.d.ts +106 -0
  376. package/dist/types/src/remittance/RemittanceModule.d.ts.map +1 -0
  377. package/dist/types/src/remittance/index.d.ts +7 -0
  378. package/dist/types/src/remittance/index.d.ts.map +1 -0
  379. package/dist/types/src/remittance/modules/BasicBRC29.d.ts +133 -0
  380. package/dist/types/src/remittance/modules/BasicBRC29.d.ts.map +1 -0
  381. package/dist/types/src/remittance/modules/index.d.ts +2 -0
  382. package/dist/types/src/remittance/modules/index.d.ts.map +1 -0
  383. package/dist/types/src/remittance/types.d.ts +238 -0
  384. package/dist/types/src/remittance/types.d.ts.map +1 -0
  385. package/dist/types/src/script/OP.d.ts +5 -3
  386. package/dist/types/src/script/OP.d.ts.map +1 -1
  387. package/dist/types/src/script/Script.d.ts.map +1 -1
  388. package/dist/types/src/script/Spend.d.ts +7 -0
  389. package/dist/types/src/script/Spend.d.ts.map +1 -1
  390. package/dist/types/src/script/templates/PushDrop.d.ts +3 -4
  391. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  392. package/dist/types/src/storage/StorageUtils.d.ts.map +1 -1
  393. package/dist/types/src/transaction/Beef.d.ts +26 -9
  394. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  395. package/dist/types/src/transaction/BeefTx.d.ts +13 -6
  396. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  397. package/dist/types/src/transaction/MerklePath.d.ts +16 -3
  398. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  399. package/dist/types/src/transaction/Transaction.d.ts +58 -7
  400. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  401. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  402. package/dist/types/src/transaction/http/BinaryFetchClient.d.ts +0 -2
  403. package/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -1
  404. package/dist/types/src/wallet/Wallet.interfaces.d.ts +5 -5
  405. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  406. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  407. package/dist/umd/bundle.js +13 -13
  408. package/dist/umd/bundle.js.map +1 -1
  409. package/docs/index.md +3 -1
  410. package/docs/reference/auth.md +8 -12
  411. package/docs/reference/primitives.md +260 -55
  412. package/docs/reference/remittance.md +2166 -0
  413. package/docs/reference/script.md +12 -4
  414. package/docs/reference/transaction.md +203 -34
  415. package/docs/reference/wallet.md +6 -5
  416. package/docs/remittance-getting-started.md +138 -0
  417. package/mod.ts +1 -0
  418. package/package.json +11 -1
  419. package/src/auth/Peer.ts +196 -85
  420. package/src/auth/__tests/Peer.test.ts +424 -257
  421. package/src/auth/clients/AuthFetch.ts +18 -3
  422. package/src/auth/types.ts +2 -0
  423. package/src/messages/EncryptedMessage.ts +19 -0
  424. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +7 -0
  425. package/src/primitives/AESGCM.ts +75 -34
  426. package/src/primitives/BigNumber.ts +27 -31
  427. package/src/primitives/ECDSA.ts +41 -2
  428. package/src/primitives/PrivateKey.ts +27 -0
  429. package/src/primitives/ReaderUint8Array.ts +196 -0
  430. package/src/primitives/ReductionContext.ts +44 -48
  431. package/src/primitives/TransactionSignature.ts +129 -10
  432. package/src/primitives/WriterUint8Array.ts +195 -0
  433. package/src/primitives/__tests/AESGCM.test.ts +31 -0
  434. package/src/primitives/__tests/ECDSA.test.ts +16 -0
  435. package/src/primitives/__tests/ReaderUint8Array.test.ts +317 -0
  436. package/src/primitives/__tests/WriterUint8Array.test.ts +208 -0
  437. package/src/primitives/utils.ts +31 -4
  438. package/src/remittance/CommsLayer.ts +41 -0
  439. package/src/remittance/IdentityLayer.ts +32 -0
  440. package/src/remittance/RemittanceManager.ts +1672 -0
  441. package/src/remittance/RemittanceModule.ts +92 -0
  442. package/src/remittance/__tests/BasicBRC29.test.ts +188 -0
  443. package/src/remittance/__tests/RemittanceManager.test.ts +493 -0
  444. package/src/remittance/__tests/examples.ts +130 -0
  445. package/src/remittance/index.ts +6 -0
  446. package/src/remittance/modules/BasicBRC29.ts +361 -0
  447. package/src/remittance/modules/index.ts +1 -0
  448. package/src/remittance/types.ts +284 -0
  449. package/src/script/OP.ts +15 -13
  450. package/src/script/Script.ts +70 -5
  451. package/src/script/Spend.ts +128 -52
  452. package/src/script/__tests/Chronicle.test.ts +186 -0
  453. package/src/script/__tests/Script.test.ts +39 -6
  454. package/src/script/__tests/Spend.test.ts +1 -1
  455. package/src/script/__tests/SpendValildVectors.test.ts +63 -0
  456. package/src/script/__tests/lrshiftnum.test.ts +185 -0
  457. package/src/script/__tests/sighashTestData.ts +1031 -0
  458. package/src/script/__tests/spend.valid.vectors.ts +9 -16
  459. package/src/script/templates/PushDrop.ts +32 -17
  460. package/src/script/templates/__tests/PushDrop.test.ts +28 -0
  461. package/src/storage/__tests/StorageUploader.test.ts +1 -1
  462. package/src/transaction/Beef.ts +103 -40
  463. package/src/transaction/BeefTx.ts +38 -19
  464. package/src/transaction/MerklePath.ts +30 -9
  465. package/src/transaction/Transaction.ts +277 -38
  466. package/src/transaction/__tests/Beef.test.ts +77 -0
  467. package/src/transaction/__tests/Transaction.test.ts +641 -3
  468. package/src/transaction/broadcasters/ARC.ts +34 -7
  469. package/src/transaction/broadcasters/__tests/ARC.test.ts +98 -0
  470. package/src/wallet/Wallet.interfaces.ts +5 -5
  471. package/dist/cjs/src/storage/__test/StorageDownloader.test.js +0 -171
  472. package/dist/cjs/src/storage/__test/StorageDownloader.test.js.map +0 -1
  473. package/dist/cjs/src/storage/__test/StorageUploader.test.js +0 -163
  474. package/dist/cjs/src/storage/__test/StorageUploader.test.js.map +0 -1
  475. package/dist/cjs/src/storage/__test/StorageUtils.test.js +0 -97
  476. package/dist/cjs/src/storage/__test/StorageUtils.test.js.map +0 -1
  477. package/dist/esm/src/storage/__test/StorageDownloader.test.js +0 -166
  478. package/dist/esm/src/storage/__test/StorageDownloader.test.js.map +0 -1
  479. package/dist/esm/src/storage/__test/StorageUploader.test.js +0 -135
  480. package/dist/esm/src/storage/__test/StorageUploader.test.js.map +0 -1
  481. package/dist/esm/src/storage/__test/StorageUtils.test.js +0 -72
  482. package/dist/esm/src/storage/__test/StorageUtils.test.js.map +0 -1
  483. package/dist/types/src/storage/__test/StorageDownloader.test.d.ts +0 -2
  484. package/dist/types/src/storage/__test/StorageDownloader.test.d.ts.map +0 -1
  485. package/dist/types/src/storage/__test/StorageUploader.test.d.ts +0 -2
  486. package/dist/types/src/storage/__test/StorageUploader.test.d.ts.map +0 -1
  487. package/dist/types/src/storage/__test/StorageUtils.test.d.ts +0 -2
  488. package/dist/types/src/storage/__test/StorageUtils.test.d.ts.map +0 -1
@@ -213,7 +213,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
213
213
  export default class PushDrop implements ScriptTemplate {
214
214
  wallet: WalletInterface;
215
215
  originator?: string;
216
- static decode(script: LockingScript): {
216
+ static decode(script: LockingScript, lockPosition: "before" | "after" = "before"): {
217
217
  lockingPublicKey: PublicKey;
218
218
  fields: number[][];
219
219
  }
@@ -247,10 +247,9 @@ Argument Details
247
247
  #### Method decode
248
248
 
249
249
  Decodes a PushDrop script back into its token fields and the locking public key. If a signature was present, it will be the last field returned.
250
- Warning: Only works with a P2PK lock at the beginning of the script.
251
250
 
252
251
  ```ts
253
- static decode(script: LockingScript): {
252
+ static decode(script: LockingScript, lockPosition: "before" | "after" = "before"): {
254
253
  lockingPublicKey: PublicKey;
255
254
  fields: number[][];
256
255
  }
@@ -265,6 +264,8 @@ Argument Details
265
264
 
266
265
  + **script**
267
266
  + PushDrop script to decode back into token fields
267
+ + **lockPosition**
268
+ + Where the locking public key is positioned in the script ('before' = at start, 'after' = at end after DROP operations)
268
269
 
269
270
  #### Method lock
270
271
 
@@ -444,7 +445,7 @@ export default class Script {
444
445
  }
445
446
  ```
446
447
 
447
- See also: [BigNumber](./primitives.md#class-bignumber), [ScriptChunk](./script.md#interface-scriptchunk), [toHex](./primitives.md#variable-tohex)
448
+ See also: [BigNumber](./primitives.md#class-bignumber), [ScriptChunk](./script.md#interface-scriptchunk), [toHex](./primitives.md#variable-tohex), [toUint8Array](./primitives.md#variable-touint8array)
448
449
 
449
450
  #### Constructor
450
451
 
@@ -783,6 +784,7 @@ export default class Spend {
783
784
  memoryLimit: number;
784
785
  stackMem: number;
785
786
  altStackMem: number;
787
+ isRelaxedOverride: boolean;
786
788
  constructor(params: {
787
789
  sourceTXID: string;
788
790
  sourceOutputIndex: number;
@@ -796,6 +798,7 @@ export default class Spend {
796
798
  inputIndex: number;
797
799
  lockTime: number;
798
800
  memoryLimit?: number;
801
+ isRelaxed?: boolean;
799
802
  })
800
803
  reset(): void
801
804
  step(): boolean
@@ -821,6 +824,7 @@ constructor(params: {
821
824
  inputIndex: number;
822
825
  lockTime: number;
823
826
  memoryLimit?: number;
827
+ isRelaxed?: boolean;
824
828
  })
825
829
  ```
826
830
  See also: [LockingScript](./script.md#class-lockingscript), [TransactionInput](./transaction.md#interface-transactioninput), [TransactionOutput](./transaction.md#interface-transactionoutput), [UnlockingScript](./script.md#class-unlockingscript)
@@ -851,6 +855,10 @@ The outputs of the current transaction.
851
855
  + The sequence number of this input.
852
856
  + **params.lockTime**
853
857
  + The lock time of the transaction.
858
+ + **params.memoryLimit**
859
+ + Optional control over script interpreter memory usage.
860
+ + **params.isRelaxed**
861
+ + Optional. If true, disables all the unlocking script maleability restrictions consitent with Chronicle release. Maleability restrictions are neve appliced to locking scripts.
854
862
 
855
863
  Example
856
864
 
@@ -575,25 +575,26 @@ export class Beef {
575
575
  findTransactionForSigning(txid: string): Transaction | undefined
576
576
  findAtomicTransaction(txid: string): Transaction | undefined
577
577
  mergeBump(bump: MerklePath): number
578
- mergeRawTx(rawTx: number[], bumpIndex?: number): BeefTx
578
+ mergeRawTx(rawTx: number[] | Uint8Array, bumpIndex?: number): BeefTx
579
579
  mergeTransaction(tx: Transaction): BeefTx
580
580
  removeExistingTxid(txid: string): void
581
581
  mergeTxidOnly(txid: string): BeefTx
582
582
  mergeBeefTx(btx: BeefTx): BeefTx
583
- mergeBeef(beef: number[] | Beef): void
583
+ mergeBeef(beef: Beef | number[] | Uint8Array): void
584
584
  isValid(allowTxidOnly?: boolean): boolean
585
585
  async verify(chainTracker: ChainTracker, allowTxidOnly?: boolean): Promise<boolean>
586
586
  verifyValid(allowTxidOnly?: boolean): {
587
587
  valid: boolean;
588
588
  roots: Record<number, string>;
589
589
  }
590
- toWriter(writer: Writer): void
590
+ toWriter(writer: Writer | WriterUint8Array): void
591
591
  toBinary(): number[]
592
592
  toUint8Array(): Uint8Array
593
593
  toBinaryAtomic(txid: string): number[]
594
+ toUint8ArrayAtomic(txid: string): Uint8Array
594
595
  toHex(): string
595
- static fromReader(br: Reader): Beef
596
- static fromBinary(bin: number[]): Beef
596
+ static fromReader(br: Reader | ReaderUint8Array): Beef
597
+ static fromBinary(bin: number[] | Uint8Array): Beef
597
598
  static fromString(s: string, enc: "hex" | "utf8" | "base64" = "hex"): Beef
598
599
  sortTxs(): {
599
600
  missingInputs: string[];
@@ -610,7 +611,7 @@ export class Beef {
610
611
  }
611
612
  ```
612
613
 
613
- See also: [BEEF_V2](./transaction.md#variable-beef_v2), [BeefTx](./transaction.md#class-beeftx), [ChainTracker](./transaction.md#interface-chaintracker), [MerklePath](./transaction.md#class-merklepath), [Reader](./primitives.md#class-reader), [Transaction](./transaction.md#class-transaction), [Writer](./primitives.md#class-writer), [toHex](./primitives.md#variable-tohex), [verify](./compat.md#variable-verify)
614
+ See also: [BEEF_V2](./transaction.md#variable-beef_v2), [BeefTx](./transaction.md#class-beeftx), [ChainTracker](./transaction.md#interface-chaintracker), [MerklePath](./transaction.md#class-merklepath), [Reader](./primitives.md#class-reader), [ReaderUint8Array](./primitives.md#class-readeruint8array), [Transaction](./transaction.md#class-transaction), [Writer](./primitives.md#class-writer), [WriterUint8Array](./primitives.md#class-writeruint8array), [toHex](./primitives.md#variable-tohex), [toUint8Array](./primitives.md#variable-touint8array), [verify](./compat.md#variable-verify)
614
615
 
615
616
  #### Method addComputedLeaves
616
617
 
@@ -705,7 +706,7 @@ Argument Details
705
706
  Constructs an instance of the Beef class based on the provided binary array
706
707
 
707
708
  ```ts
708
- static fromBinary(bin: number[]): Beef
709
+ static fromBinary(bin: number[] | Uint8Array): Beef
709
710
  ```
710
711
  See also: [Beef](./transaction.md#class-beef)
711
712
 
@@ -716,7 +717,7 @@ An instance of the Beef class constructed from the binary data
716
717
  Argument Details
717
718
 
718
719
  + **bin**
719
- + The binary array from which to construct BEEF
720
+ + The binary array or Uint8Array from which to construct BEEF
720
721
 
721
722
  #### Method fromString
722
723
 
@@ -808,7 +809,7 @@ Checks that a transaction with the same txid hasn't already been merged.
808
809
  Replaces existing transaction with same txid.
809
810
 
810
811
  ```ts
811
- mergeRawTx(rawTx: number[], bumpIndex?: number): BeefTx
812
+ mergeRawTx(rawTx: number[] | Uint8Array, bumpIndex?: number): BeefTx
812
813
  ```
813
814
  See also: [BeefTx](./transaction.md#class-beeftx)
814
815
 
@@ -886,6 +887,8 @@ Returns
886
887
 
887
888
  A binary array representing the BEEF
888
889
 
890
+ An array of byte values containing binary serialization of the BEEF
891
+
889
892
  #### Method toBinaryAtomic
890
893
 
891
894
  Serialize this Beef as AtomicBEEF.
@@ -924,14 +927,42 @@ Returns
924
927
 
925
928
  Summary of `Beef` contents as multi-line string.
926
929
 
930
+ #### Method toUint8Array
931
+
932
+ Returns a binary array representing the serialized BEEF
933
+
934
+ ```ts
935
+ toUint8Array(): Uint8Array
936
+ ```
937
+
938
+ Returns
939
+
940
+ A Uint8Array containing binary serialization of the BEEF
941
+
942
+ #### Method toUint8ArrayAtomic
943
+
944
+ Serialize this Beef as AtomicBEEF.
945
+
946
+ `txid` must exist
947
+
948
+ after sorting, if txid is not last txid, creates a clone and removes newer txs
949
+
950
+ ```ts
951
+ toUint8ArrayAtomic(txid: string): Uint8Array
952
+ ```
953
+
954
+ Returns
955
+
956
+ serialized contents of this Beef with AtomicBEEF prefix.
957
+
927
958
  #### Method toWriter
928
959
 
929
960
  Serializes this data to `writer`
930
961
 
931
962
  ```ts
932
- toWriter(writer: Writer): void
963
+ toWriter(writer: Writer | WriterUint8Array): void
933
964
  ```
934
- See also: [Writer](./primitives.md#class-writer)
965
+ See also: [Writer](./primitives.md#class-writer), [WriterUint8Array](./primitives.md#class-writeruint8array)
935
966
 
936
967
  #### Method trimKnownTxids
937
968
 
@@ -1136,7 +1167,7 @@ which they can merge if necessary to create a valid beef.
1136
1167
  export default class BeefTx {
1137
1168
  _bumpIndex?: number;
1138
1169
  _tx?: Transaction;
1139
- _rawTx?: number[];
1170
+ _rawTx?: Uint8Array;
1140
1171
  _txid?: string;
1141
1172
  inputTxids: string[] = [];
1142
1173
  isValid?: boolean = undefined;
@@ -1147,21 +1178,22 @@ export default class BeefTx {
1147
1178
  get txid(): string
1148
1179
  get tx(): Transaction | undefined
1149
1180
  get rawTx(): number[] | undefined
1150
- constructor(tx: Transaction | number[] | string, bumpIndex?: number)
1181
+ get rawTxUint8Array(): Uint8Array | undefined
1182
+ constructor(tx: Transaction | Uint8Array | number[] | string, bumpIndex?: number)
1151
1183
  static fromTx(tx: Transaction, bumpIndex?: number): BeefTx
1152
- static fromRawTx(rawTx: number[], bumpIndex?: number): BeefTx
1184
+ static fromRawTx(rawTx: Uint8Array | number[], bumpIndex?: number): BeefTx
1153
1185
  static fromTxid(txid: string, bumpIndex?: number): BeefTx
1154
- toWriter(writer: Writer, version: number): void
1155
- static fromReader(br: Reader, version: number): BeefTx
1186
+ toWriter(writer: Writer | WriterUint8Array, version: number): void
1187
+ static fromReader(br: Reader | ReaderUint8Array, version: number): BeefTx
1156
1188
  }
1157
1189
  ```
1158
1190
 
1159
- See also: [Reader](./primitives.md#class-reader), [Transaction](./transaction.md#class-transaction), [Writer](./primitives.md#class-writer)
1191
+ See also: [Reader](./primitives.md#class-reader), [ReaderUint8Array](./primitives.md#class-readeruint8array), [Transaction](./transaction.md#class-transaction), [Writer](./primitives.md#class-writer), [WriterUint8Array](./primitives.md#class-writeruint8array)
1160
1192
 
1161
1193
  #### Constructor
1162
1194
 
1163
1195
  ```ts
1164
- constructor(tx: Transaction | number[] | string, bumpIndex?: number)
1196
+ constructor(tx: Transaction | Uint8Array | number[] | string, bumpIndex?: number)
1165
1197
  ```
1166
1198
  See also: [Transaction](./transaction.md#class-transaction)
1167
1199
 
@@ -1293,8 +1325,8 @@ export default class MerklePath {
1293
1325
  duplicate?: boolean;
1294
1326
  }>>;
1295
1327
  static fromHex(hex: string): MerklePath
1296
- static fromReader(reader: Reader, legalOffsetsOnly: boolean = true): MerklePath
1297
- static fromBinary(bump: number[]): MerklePath
1328
+ static fromReader(reader: Reader | ReaderUint8Array, legalOffsetsOnly: boolean = true): MerklePath
1329
+ static fromBinary(bump: number[] | Uint8Array): MerklePath
1298
1330
  static fromCoinbaseTxidAndHeight(txid: string, height: number): MerklePath
1299
1331
  constructor(blockHeight: number, path: Array<Array<{
1300
1332
  offset: number;
@@ -1302,7 +1334,9 @@ export default class MerklePath {
1302
1334
  txid?: boolean;
1303
1335
  duplicate?: boolean;
1304
1336
  }>>, legalOffsetsOnly: boolean = true)
1337
+ toWriter(writer: Writer | WriterUint8Array): void
1305
1338
  toBinary(): number[]
1339
+ toBinaryUint8Array(): Uint8Array
1306
1340
  toHex(): string
1307
1341
  computeRoot(txid?: string): string
1308
1342
  findOrComputeLeaf(height: number, offset: number): MerklePathLeaf | undefined
@@ -1312,7 +1346,7 @@ export default class MerklePath {
1312
1346
  }
1313
1347
  ```
1314
1348
 
1315
- See also: [ChainTracker](./transaction.md#interface-chaintracker), [MerklePathLeaf](./transaction.md#interface-merklepathleaf), [Reader](./primitives.md#class-reader), [toHex](./primitives.md#variable-tohex), [verify](./compat.md#variable-verify)
1349
+ See also: [ChainTracker](./transaction.md#interface-chaintracker), [MerklePathLeaf](./transaction.md#interface-merklepathleaf), [Reader](./primitives.md#class-reader), [ReaderUint8Array](./primitives.md#class-readeruint8array), [Writer](./primitives.md#class-writer), [WriterUint8Array](./primitives.md#class-writeruint8array), [toHex](./primitives.md#variable-tohex), [verify](./compat.md#variable-verify)
1316
1350
 
1317
1351
  #### Method combine
1318
1352
 
@@ -1369,7 +1403,7 @@ See also: [MerklePathLeaf](./transaction.md#interface-merklepathleaf)
1369
1403
  Creates a MerklePath instance from a binary array.
1370
1404
 
1371
1405
  ```ts
1372
- static fromBinary(bump: number[]): MerklePath
1406
+ static fromBinary(bump: number[] | Uint8Array): MerklePath
1373
1407
  ```
1374
1408
  See also: [MerklePath](./transaction.md#class-merklepath)
1375
1409
 
@@ -1430,6 +1464,18 @@ Returns
1430
1464
 
1431
1465
  - The binary array representation of the Merkle Path.
1432
1466
 
1467
+ #### Method toBinaryUint8Array
1468
+
1469
+ Converts the MerklePath to a binary array format.
1470
+
1471
+ ```ts
1472
+ toBinaryUint8Array(): Uint8Array
1473
+ ```
1474
+
1475
+ Returns
1476
+
1477
+ - The binary array representation of the Merkle Path.
1478
+
1433
1479
  #### Method toHex
1434
1480
 
1435
1481
  Converts the MerklePath to a hexadecimal string format.
@@ -1442,6 +1488,20 @@ Returns
1442
1488
 
1443
1489
  - The hexadecimal string representation of the Merkle Path.
1444
1490
 
1491
+ #### Method toWriter
1492
+
1493
+ Serializes the MerklePath to the writer provided.
1494
+
1495
+ ```ts
1496
+ toWriter(writer: Writer | WriterUint8Array): void
1497
+ ```
1498
+ See also: [Writer](./primitives.md#class-writer), [WriterUint8Array](./primitives.md#class-writeruint8array)
1499
+
1500
+ Argument Details
1501
+
1502
+ + **writer**
1503
+ + The writer to which the Merkle Path will be serialized.
1504
+
1445
1505
  #### Method trim
1446
1506
 
1447
1507
  Remove all internal nodes that are not required by level zero txid nodes.
@@ -1565,10 +1625,10 @@ export default class Transaction {
1565
1625
  lockTime: number;
1566
1626
  metadata: Record<string, any>;
1567
1627
  merklePath?: MerklePath;
1568
- static fromBEEF(beef: number[], txid?: string): Transaction
1569
- static fromAtomicBEEF(beef: number[]): Transaction
1570
- static fromEF(ef: number[]): Transaction
1571
- static parseScriptOffsets(bin: number[]): {
1628
+ static fromBEEF(beef: number[] | Uint8Array, txid?: string): Transaction
1629
+ static fromAtomicBEEF(beef: number[] | Uint8Array): Transaction
1630
+ static fromEF(ef: number[] | Uint8Array): Transaction
1631
+ static parseScriptOffsets(bin: number[] | Uint8Array): {
1572
1632
  inputs: Array<{
1573
1633
  vin: number;
1574
1634
  offset: number;
@@ -1580,8 +1640,8 @@ export default class Transaction {
1580
1640
  length: number;
1581
1641
  }>;
1582
1642
  }
1583
- static fromReader(br: Reader): Transaction
1584
- static fromBinary(bin: number[]): Transaction
1643
+ static fromReader(br: Reader | ReaderUint8Array): Transaction
1644
+ static fromBinary(bin: number[] | Uint8Array): Transaction
1585
1645
  static fromHex(hex: string): Transaction
1586
1646
  static fromHexEF(hex: string): Transaction
1587
1647
  static fromHexBEEF(hex: string, txid?: string): Transaction
@@ -1597,6 +1657,7 @@ export default class Transaction {
1597
1657
  toBinary(): number[]
1598
1658
  toUint8Array(): Uint8Array
1599
1659
  toEF(): number[]
1660
+ toEFUint8Array(): Uint8Array
1600
1661
  toHexEF(): string
1601
1662
  toHex(): string
1602
1663
  toHexBEEF(): string
@@ -1606,12 +1667,16 @@ export default class Transaction {
1606
1667
  id(enc: "hex"): string;
1607
1668
  id(enc?: "hex"): number[] | string
1608
1669
  async verify(chainTracker: ChainTracker | "scripts only" = defaultChainTracker(), feeModel?: FeeModel, memoryLimit?: number): Promise<boolean>
1670
+ writeSerializedBEEF(writer: Writer | WriterUint8Array, allowPartial?: boolean): void
1609
1671
  toBEEF(allowPartial?: boolean): number[]
1672
+ toBEEFUint8Array(allowPartial?: boolean): Uint8Array
1610
1673
  toAtomicBEEF(allowPartial?: boolean): number[]
1674
+ toAtomicBEEFUint8Array(allowPartial?: boolean): Uint8Array
1675
+ async completeWithWallet(wallet: WalletInterface, actionDescription?: DescriptionString5to50Bytes, originator?: string, options?: CreateActionOptions): Promise<void>
1611
1676
  }
1612
1677
  ```
1613
1678
 
1614
- See also: [BroadcastFailure](./transaction.md#interface-broadcastfailure), [BroadcastResponse](./transaction.md#interface-broadcastresponse), [Broadcaster](./transaction.md#interface-broadcaster), [ChainTracker](./transaction.md#interface-chaintracker), [FeeModel](./transaction.md#interface-feemodel), [LivePolicy](./transaction.md#class-livepolicy), [MerklePath](./transaction.md#class-merklepath), [Reader](./primitives.md#class-reader), [TransactionInput](./transaction.md#interface-transactioninput), [TransactionOutput](./transaction.md#interface-transactionoutput), [defaultBroadcaster](./transaction.md#function-defaultbroadcaster), [defaultChainTracker](./transaction.md#function-defaultchaintracker), [sign](./compat.md#variable-sign), [toHex](./primitives.md#variable-tohex), [verify](./compat.md#variable-verify)
1679
+ See also: [BroadcastFailure](./transaction.md#interface-broadcastfailure), [BroadcastResponse](./transaction.md#interface-broadcastresponse), [Broadcaster](./transaction.md#interface-broadcaster), [ChainTracker](./transaction.md#interface-chaintracker), [CreateActionOptions](./wallet.md#interface-createactionoptions), [DescriptionString5to50Bytes](./wallet.md#type-descriptionstring5to50bytes), [FeeModel](./transaction.md#interface-feemodel), [LivePolicy](./transaction.md#class-livepolicy), [MerklePath](./transaction.md#class-merklepath), [Reader](./primitives.md#class-reader), [ReaderUint8Array](./primitives.md#class-readeruint8array), [TransactionInput](./transaction.md#interface-transactioninput), [TransactionOutput](./transaction.md#interface-transactionoutput), [WalletInterface](./wallet.md#interface-walletinterface), [Writer](./primitives.md#class-writer), [WriterUint8Array](./primitives.md#class-writeruint8array), [defaultBroadcaster](./transaction.md#function-defaultbroadcaster), [defaultChainTracker](./transaction.md#function-defaultchaintracker), [sign](./compat.md#variable-sign), [toHex](./primitives.md#variable-tohex), [toUint8Array](./primitives.md#variable-touint8array), [verify](./compat.md#variable-verify)
1615
1680
 
1616
1681
  #### Method addInput
1617
1682
 
@@ -1678,6 +1743,29 @@ Argument Details
1678
1743
  + **broadcaster**
1679
1744
  + The Broadcaster instance wwhere the transaction will be sent
1680
1745
 
1746
+ #### Method completeWithWallet
1747
+
1748
+ Completes the transaction using a wallet interface, which will handle
1749
+ signing and transaction finalization. This method converts the current
1750
+ transaction into a format that can be processed by the wallet, and then
1751
+ updates this transaction object with the result from the wallet.
1752
+
1753
+ ```ts
1754
+ async completeWithWallet(wallet: WalletInterface, actionDescription?: DescriptionString5to50Bytes, originator?: string, options?: CreateActionOptions): Promise<void>
1755
+ ```
1756
+ See also: [CreateActionOptions](./wallet.md#interface-createactionoptions), [DescriptionString5to50Bytes](./wallet.md#type-descriptionstring5to50bytes), [WalletInterface](./wallet.md#interface-walletinterface)
1757
+
1758
+ Argument Details
1759
+
1760
+ + **wallet**
1761
+ + The BRC-100 compliant wallet to use for completing the transaction
1762
+ + **actionDescription**
1763
+ + Optional description for the action
1764
+ + **originator**
1765
+ + Optional originator domain name
1766
+ + **options**
1767
+ + Optional settings for transaction creation (e.g., acceptDelayedBroadcast, trustSelf, noSend, etc.)
1768
+
1681
1769
  #### Method fee
1682
1770
 
1683
1771
  Computes fees prior to signing.
@@ -1703,7 +1791,7 @@ Creates a new transaction from an Atomic BEEF (BRC-95) structure.
1703
1791
  Extracts the subject transaction and supporting merkle path and source transactions contained in the BEEF data
1704
1792
 
1705
1793
  ```ts
1706
- static fromAtomicBEEF(beef: number[]): Transaction
1794
+ static fromAtomicBEEF(beef: number[] | Uint8Array): Transaction
1707
1795
  ```
1708
1796
  See also: [Transaction](./transaction.md#class-transaction)
1709
1797
 
@@ -1724,7 +1812,7 @@ If the TXID is provided but not found in the BEEF data, an error will be thrown.
1724
1812
  If no TXID is provided, the last transaction in the BEEF data is returned, or the atomic txid.
1725
1813
 
1726
1814
  ```ts
1727
- static fromBEEF(beef: number[], txid?: string): Transaction
1815
+ static fromBEEF(beef: number[] | Uint8Array, txid?: string): Transaction
1728
1816
  ```
1729
1817
  See also: [Transaction](./transaction.md#class-transaction)
1730
1818
 
@@ -1744,7 +1832,7 @@ Argument Details
1744
1832
  Creates a Transaction instance from a binary array.
1745
1833
 
1746
1834
  ```ts
1747
- static fromBinary(bin: number[]): Transaction
1835
+ static fromBinary(bin: number[] | Uint8Array): Transaction
1748
1836
  ```
1749
1837
  See also: [Transaction](./transaction.md#class-transaction)
1750
1838
 
@@ -1762,7 +1850,7 @@ Argument Details
1762
1850
  Creates a new transaction, linked to its inputs and their associated merkle paths, from a EF (BRC-30) structure.
1763
1851
 
1764
1852
  ```ts
1765
- static fromEF(ef: number[]): Transaction
1853
+ static fromEF(ef: number[] | Uint8Array): Transaction
1766
1854
  ```
1767
1855
  See also: [Transaction](./transaction.md#class-transaction)
1768
1856
 
@@ -1920,7 +2008,7 @@ This function efficiently parses binary transaction data to determine the offset
1920
2008
  This supports the efficient retreival of script data from transaction data.
1921
2009
 
1922
2010
  ```ts
1923
- static parseScriptOffsets(bin: number[]): {
2011
+ static parseScriptOffsets(bin: number[] | Uint8Array): {
1924
2012
  inputs: Array<{
1925
2013
  vin: number;
1926
2014
  offset: number;
@@ -1977,6 +2065,30 @@ Throws
1977
2065
 
1978
2066
  Error if there are any missing sourceTransactions unless `allowPartial` is true.
1979
2067
 
2068
+ #### Method toAtomicBEEFUint8Array
2069
+
2070
+ Serializes this transaction and its inputs into the Atomic BEEF (BRC-95) format.
2071
+ The Atomic BEEF format starts with a 4-byte prefix `0x01010101`, followed by the TXID of the subject transaction,
2072
+ and then the BEEF data containing only the subject transaction and its dependencies.
2073
+ This format ensures that the BEEF structure is atomic and contains no unrelated transactions.
2074
+
2075
+ ```ts
2076
+ toAtomicBEEFUint8Array(allowPartial?: boolean): Uint8Array
2077
+ ```
2078
+
2079
+ Returns
2080
+
2081
+ - The serialized Atomic BEEF structure.
2082
+
2083
+ Argument Details
2084
+
2085
+ + **allowPartial**
2086
+ + If true, error will not be thrown if there are any missing sourceTransactions.
2087
+
2088
+ Throws
2089
+
2090
+ Error if there are any missing sourceTransactions unless `allowPartial` is true.
2091
+
1980
2092
  #### Method toBEEF
1981
2093
 
1982
2094
  Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
@@ -1998,6 +2110,27 @@ Throws
1998
2110
 
1999
2111
  Error if there are any missing sourceTransactions unless `allowPartial` is true.
2000
2112
 
2113
+ #### Method toBEEFUint8Array
2114
+
2115
+ Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
2116
+
2117
+ ```ts
2118
+ toBEEFUint8Array(allowPartial?: boolean): Uint8Array
2119
+ ```
2120
+
2121
+ Returns
2122
+
2123
+ The serialized BEEF structure
2124
+
2125
+ Argument Details
2126
+
2127
+ + **allowPartial**
2128
+ + If true, error will not be thrown if there are any missing sourceTransactions.
2129
+
2130
+ Throws
2131
+
2132
+ Error if there are any missing sourceTransactions unless `allowPartial` is true.
2133
+
2001
2134
  #### Method toBinary
2002
2135
 
2003
2136
  Converts the transaction to a binary array format.
@@ -2022,6 +2155,18 @@ Returns
2022
2155
 
2023
2156
  - The BRC-30 EF representation of the transaction.
2024
2157
 
2158
+ #### Method toEFUint8Array
2159
+
2160
+ Converts the transaction to a BRC-30 EF format.
2161
+
2162
+ ```ts
2163
+ toEFUint8Array(): Uint8Array
2164
+ ```
2165
+
2166
+ Returns
2167
+
2168
+ - The BRC-30 EF representation of the transaction.
2169
+
2025
2170
  #### Method toHex
2026
2171
 
2027
2172
  Converts the transaction to a hexadecimal string format.
@@ -2111,6 +2256,30 @@ Example
2111
2256
  tx.verify(new WhatsOnChain(), LivePolicy.getInstance())
2112
2257
  ```
2113
2258
 
2259
+ #### Method writeSerializedBEEF
2260
+
2261
+ Serializes this transaction, together with its inputs and the respective merkle proofs, into the BEEF (BRC-62) format. This enables efficient verification of its compliance with the rules of SPV.
2262
+
2263
+ ```ts
2264
+ writeSerializedBEEF(writer: Writer | WriterUint8Array, allowPartial?: boolean): void
2265
+ ```
2266
+ See also: [Writer](./primitives.md#class-writer), [WriterUint8Array](./primitives.md#class-writeruint8array)
2267
+
2268
+ Returns
2269
+
2270
+ The serialized BEEF structure
2271
+
2272
+ Argument Details
2273
+
2274
+ + **writer**
2275
+ + The writer to serialize to
2276
+ + **allowPartial**
2277
+ + If true, error will not be thrown if there are any missing sourceTransactions.
2278
+
2279
+ Throws
2280
+
2281
+ Error if there are any missing sourceTransactions unless `allowPartial` is true.
2282
+
2114
2283
  Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](#functions), [Types](#types), [Enums](#enums), [Variables](#variables)
2115
2284
 
2116
2285
  ---
@@ -884,19 +884,20 @@ export interface ReviewActionResult {
884
884
  txid: TXIDHexString;
885
885
  status: ReviewActionResultStatus;
886
886
  competingTxs?: string[];
887
- competingBeef?: number[];
887
+ competingBeef?: BEEF;
888
888
  }
889
889
  ```
890
890
 
891
- See also: [ReviewActionResultStatus](./wallet.md#type-reviewactionresultstatus), [TXIDHexString](./wallet.md#type-txidhexstring)
891
+ See also: [BEEF](./wallet.md#type-beef), [ReviewActionResultStatus](./wallet.md#type-reviewactionresultstatus), [TXIDHexString](./wallet.md#type-txidhexstring)
892
892
 
893
893
  #### Property competingBeef
894
894
 
895
895
  Merged beef of competingTxs, valid when status is 'doubleSpend'.
896
896
 
897
897
  ```ts
898
- competingBeef?: number[]
898
+ competingBeef?: BEEF
899
899
  ```
900
+ See also: [BEEF](./wallet.md#type-beef)
900
901
 
901
902
  #### Property competingTxs
902
903
 
@@ -5578,7 +5579,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
5578
5579
  ### Type: AtomicBEEF
5579
5580
 
5580
5581
  ```ts
5581
- export type AtomicBEEF = Byte[]
5582
+ export type AtomicBEEF = Byte[] | Uint8Array
5582
5583
  ```
5583
5584
 
5584
5585
  See also: [Byte](./wallet.md#type-byte)
@@ -5589,7 +5590,7 @@ Links: [API](#api), [Interfaces](#interfaces), [Classes](#classes), [Functions](
5589
5590
  ### Type: BEEF
5590
5591
 
5591
5592
  ```ts
5592
- export type BEEF = Byte[]
5593
+ export type BEEF = Byte[] | Uint8Array
5593
5594
  ```
5594
5595
 
5595
5596
  See also: [Byte](./wallet.md#type-byte)