@bsv/wallet-toolbox 1.7.14 → 1.7.16

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 (1194) hide show
  1. package/.github/workflows/push.yaml +136 -62
  2. package/CHANGELOG.md +5 -0
  3. package/docs/client.md +4 -2
  4. package/docs/storage.md +4 -2
  5. package/docs/wallet.md +4 -2
  6. package/mobile/node_modules/.package-lock.json +14 -0
  7. package/mobile/node_modules/@bsv/sdk/LICENSE.txt +28 -0
  8. package/mobile/node_modules/@bsv/sdk/README.md +133 -0
  9. package/mobile/node_modules/@bsv/sdk/dist/cjs/mod.js +36 -0
  10. package/mobile/node_modules/@bsv/sdk/dist/cjs/mod.js.map +1 -0
  11. package/mobile/node_modules/@bsv/sdk/dist/cjs/package.json +70 -0
  12. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/Peer.js +695 -0
  13. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/Peer.js.map +1 -0
  14. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/SessionManager.js +130 -0
  15. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/SessionManager.js.map +1 -0
  16. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/Certificate.js +236 -0
  17. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/Certificate.js.map +1 -0
  18. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/MasterCertificate.js +245 -0
  19. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -0
  20. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/VerifiableCertificate.js +96 -0
  21. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -0
  22. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +111 -0
  23. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -0
  24. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/index.js +26 -0
  25. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/certificates/index.js.map +1 -0
  26. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/clients/AuthFetch.js +734 -0
  27. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -0
  28. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js +189 -0
  29. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -0
  30. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/clients/index.js +18 -0
  31. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/clients/index.js.map +1 -0
  32. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/index.js +24 -0
  33. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/index.js.map +1 -0
  34. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +424 -0
  35. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -0
  36. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +144 -0
  37. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -0
  38. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/transports/index.js +18 -0
  39. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/transports/index.js.map +1 -0
  40. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/types.js +3 -0
  41. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/types.js.map +1 -0
  42. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/createNonce.js +62 -0
  43. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/createNonce.js.map +1 -0
  44. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/getVerifiableCertificates.js +31 -0
  45. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -0
  46. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/index.js +21 -0
  47. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/index.js.map +1 -0
  48. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/validateCertificates.js +45 -0
  49. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -0
  50. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/verifyNonce.js +61 -0
  51. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -0
  52. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/BSM.js +94 -0
  53. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/BSM.js.map +1 -0
  54. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/ECIES.js +590 -0
  55. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/ECIES.js.map +1 -0
  56. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/HD.js +354 -0
  57. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/HD.js.map +1 -0
  58. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/Mnemonic.js +314 -0
  59. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/Mnemonic.js.map +1 -0
  60. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/Utxo.js +51 -0
  61. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/Utxo.js.map +1 -0
  62. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/bip-39-wordlist-en.js +2057 -0
  63. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/bip-39-wordlist-en.js.map +1 -0
  64. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/index.js +49 -0
  65. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/compat/index.js.map +1 -0
  66. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/ContactsManager.js +338 -0
  67. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/ContactsManager.js.map +1 -0
  68. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/IdentityClient.js +367 -0
  69. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/IdentityClient.js.map +1 -0
  70. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/index.js +19 -0
  71. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/index.js.map +1 -0
  72. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/types/index.js +30 -0
  73. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/identity/types/index.js.map +1 -0
  74. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/GlobalKVStore.js +470 -0
  75. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -0
  76. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/LocalKVStore.js +343 -0
  77. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -0
  78. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/index.js +11 -0
  79. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/index.js.map +1 -0
  80. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/kvStoreInterpreter.js +88 -0
  81. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -0
  82. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/types.js +12 -0
  83. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/kvstore/types.js.map +1 -0
  84. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/messages/EncryptedMessage.js +71 -0
  85. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/messages/EncryptedMessage.js.map +1 -0
  86. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/messages/SignedMessage.js +86 -0
  87. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/messages/SignedMessage.js.map +1 -0
  88. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/messages/index.js +39 -0
  89. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/messages/index.js.map +1 -0
  90. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/Historian.js +153 -0
  91. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/Historian.js.map +1 -0
  92. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/HostReputationTracker.js +216 -0
  93. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/HostReputationTracker.js.map +1 -0
  94. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/LookupResolver.js +398 -0
  95. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -0
  96. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +81 -0
  97. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -0
  98. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +408 -0
  99. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -0
  100. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/index.js +36 -0
  101. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/index.js.map +1 -0
  102. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js +54 -0
  103. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/overlay-tools/withDoubleSpendRetry.js.map +1 -0
  104. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/AESGCM.js +376 -0
  105. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/AESGCM.js.map +1 -0
  106. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/BasePoint.js +19 -0
  107. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/BasePoint.js.map +1 -0
  108. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/BigNumber.js +1367 -0
  109. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/BigNumber.js.map +1 -0
  110. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Curve.js +1149 -0
  111. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Curve.js.map +1 -0
  112. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/DRBG.js +109 -0
  113. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/DRBG.js.map +1 -0
  114. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/ECDSA.js +188 -0
  115. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/ECDSA.js.map +1 -0
  116. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Hash.js +1687 -0
  117. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Hash.js.map +1 -0
  118. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/JacobianPoint.js +427 -0
  119. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/JacobianPoint.js.map +1 -0
  120. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/K256.js +127 -0
  121. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/K256.js.map +1 -0
  122. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Mersenne.js +113 -0
  123. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Mersenne.js.map +1 -0
  124. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/MontgomoryMethod.js +150 -0
  125. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -0
  126. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Point.js +1098 -0
  127. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Point.js.map +1 -0
  128. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Polynomial.js +83 -0
  129. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Polynomial.js.map +1 -0
  130. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/PrivateKey.js +519 -0
  131. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/PrivateKey.js.map +1 -0
  132. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/PublicKey.js +261 -0
  133. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/PublicKey.js.map +1 -0
  134. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Random.js +91 -0
  135. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Random.js.map +1 -0
  136. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/ReductionContext.js +490 -0
  137. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/ReductionContext.js.map +1 -0
  138. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Schnorr.js +98 -0
  139. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Schnorr.js.map +1 -0
  140. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Secp256r1.js +327 -0
  141. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Secp256r1.js.map +1 -0
  142. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Signature.js +358 -0
  143. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/Signature.js.map +1 -0
  144. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/SymmetricKey.js +96 -0
  145. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/SymmetricKey.js.map +1 -0
  146. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/TransactionSignature.js +235 -0
  147. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/TransactionSignature.js.map +1 -0
  148. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/hex.js +33 -0
  149. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/hex.js.map +1 -0
  150. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/index.js +69 -0
  151. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/index.js.map +1 -0
  152. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/utils.js +863 -0
  153. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/primitives/utils.js.map +1 -0
  154. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/registry/RegistryClient.js +533 -0
  155. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/registry/RegistryClient.js.map +1 -0
  156. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/registry/index.js +19 -0
  157. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/registry/index.js.map +1 -0
  158. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/registry/types/index.js +3 -0
  159. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/registry/types/index.js.map +1 -0
  160. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/LockingScript.js +35 -0
  161. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/LockingScript.js.map +1 -0
  162. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/OP.js +207 -0
  163. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/OP.js.map +1 -0
  164. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/Script.js +567 -0
  165. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/Script.js.map +1 -0
  166. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptChunk.js +3 -0
  167. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptChunk.js.map +1 -0
  168. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptEvaluationError.js +27 -0
  169. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptEvaluationError.js.map +1 -0
  170. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptTemplate.js +3 -0
  171. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptTemplate.js.map +1 -0
  172. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptTemplateUnlock.js +3 -0
  173. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/ScriptTemplateUnlock.js.map +1 -0
  174. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/Spend.js +1208 -0
  175. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/Spend.js.map +1 -0
  176. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/UnlockingScript.js +35 -0
  177. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/UnlockingScript.js.map +1 -0
  178. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/index.js +34 -0
  179. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/index.js.map +1 -0
  180. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/P2PKH.js +129 -0
  181. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/P2PKH.js.map +1 -0
  182. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/PushDrop.js +219 -0
  183. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/PushDrop.js.map +1 -0
  184. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/RPuzzle.js +130 -0
  185. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/RPuzzle.js.map +1 -0
  186. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/index.js +13 -0
  187. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/script/templates/index.js.map +1 -0
  188. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/StorageDownloader.js +100 -0
  189. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/StorageDownloader.js.map +1 -0
  190. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/StorageUploader.js +213 -0
  191. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/StorageUploader.js.map +1 -0
  192. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/StorageUtils.js +81 -0
  193. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/StorageUtils.js.map +1 -0
  194. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/index.js +42 -0
  195. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/storage/index.js.map +1 -0
  196. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/totp/index.js +18 -0
  197. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/totp/index.js.map +1 -0
  198. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/totp/totp.js +92 -0
  199. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/totp/totp.js.map +1 -0
  200. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/Beef.js +840 -0
  201. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/Beef.js.map +1 -0
  202. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/BeefParty.js +117 -0
  203. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/BeefParty.js.map +1 -0
  204. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/BeefTx.js +191 -0
  205. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/BeefTx.js.map +1 -0
  206. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/Broadcaster.js +17 -0
  207. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/Broadcaster.js.map +1 -0
  208. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/ChainTracker.js +3 -0
  209. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/ChainTracker.js.map +1 -0
  210. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/FeeModel.js +3 -0
  211. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/FeeModel.js.map +1 -0
  212. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/MerklePath.js +383 -0
  213. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/MerklePath.js.map +1 -0
  214. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/Transaction.js +911 -0
  215. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/Transaction.js.map +1 -0
  216. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/TransactionInput.js +3 -0
  217. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/TransactionInput.js.map +1 -0
  218. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/TransactionOutput.js +3 -0
  219. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/TransactionOutput.js.map +1 -0
  220. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/ARC.js +181 -0
  221. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -0
  222. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +11 -0
  223. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -0
  224. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/Teranode.js +63 -0
  225. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/Teranode.js.map +1 -0
  226. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +65 -0
  227. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -0
  228. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/index.js +15 -0
  229. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/broadcasters/index.js.map +1 -0
  230. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/BlockHeadersService.js +91 -0
  231. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -0
  232. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +11 -0
  233. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -0
  234. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +67 -0
  235. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -0
  236. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/index.js +13 -0
  237. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/chaintrackers/index.js.map +1 -0
  238. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/fee-models/LivePolicy.js +90 -0
  239. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/fee-models/LivePolicy.js.map +1 -0
  240. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +69 -0
  241. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -0
  242. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/fee-models/index.js +11 -0
  243. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/fee-models/index.js.map +1 -0
  244. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/BinaryFetchClient.js +94 -0
  245. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -0
  246. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/DefaultHttpClient.js +37 -0
  247. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -0
  248. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/FetchHttpClient.js +31 -0
  249. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -0
  250. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/HttpClient.js +3 -0
  251. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/HttpClient.js.map +1 -0
  252. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/NodejsHttpClient.js +43 -0
  253. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -0
  254. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/index.js +12 -0
  255. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/http/index.js.map +1 -0
  256. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/index.js +33 -0
  257. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/transaction/index.js.map +1 -0
  258. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/CachedKeyDeriver.js +210 -0
  259. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -0
  260. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/KeyDeriver.js +191 -0
  261. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/KeyDeriver.js.map +1 -0
  262. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/ProtoWallet.js +188 -0
  263. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/ProtoWallet.js.map +1 -0
  264. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WERR_INSUFFICIENT_FUNDS.js +26 -0
  265. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WERR_INSUFFICIENT_FUNDS.js.map +1 -0
  266. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WERR_INVALID_PARAMETER.js +20 -0
  267. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WERR_INVALID_PARAMETER.js.map +1 -0
  268. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js +29 -0
  269. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WERR_REVIEW_ACTIONS.js.map +1 -0
  270. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/Wallet.interfaces.js +17 -0
  271. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/Wallet.interfaces.js.map +1 -0
  272. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WalletClient.js +222 -0
  273. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WalletClient.js.map +1 -0
  274. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WalletError.js +84 -0
  275. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WalletError.js.map +1 -0
  276. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WalletLoggerInterface.js +8 -0
  277. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/WalletLoggerInterface.js.map +1 -0
  278. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/index.js +64 -0
  279. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/index.js.map +1 -0
  280. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +153 -0
  281. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -0
  282. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +78 -0
  283. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -0
  284. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +175 -0
  285. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -0
  286. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWire.js +3 -0
  287. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWire.js.map +1 -0
  288. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWireCalls.js +36 -0
  289. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWireCalls.js.map +1 -0
  290. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1854 -0
  291. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -0
  292. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +1411 -0
  293. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -0
  294. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/XDM.js +172 -0
  295. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/XDM.js.map +1 -0
  296. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/index.js +37 -0
  297. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/index.js.map +1 -0
  298. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js +20 -0
  299. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/utils/toOriginHeader.js.map +1 -0
  300. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/window.CWI.js +102 -0
  301. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -0
  302. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/validationHelpers.js +931 -0
  303. package/mobile/node_modules/@bsv/sdk/dist/cjs/src/wallet/validationHelpers.js.map +1 -0
  304. package/mobile/node_modules/@bsv/sdk/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -0
  305. package/mobile/node_modules/@bsv/sdk/dist/esm/mod.js +20 -0
  306. package/mobile/node_modules/@bsv/sdk/dist/esm/mod.js.map +1 -0
  307. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/Peer.js +663 -0
  308. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/Peer.js.map +1 -0
  309. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/SessionManager.js +134 -0
  310. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/SessionManager.js.map +1 -0
  311. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/Certificate.js +225 -0
  312. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/Certificate.js.map +1 -0
  313. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/MasterCertificate.js +206 -0
  314. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -0
  315. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/VerifiableCertificate.js +58 -0
  316. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -0
  317. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +105 -0
  318. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -0
  319. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/index.js +5 -0
  320. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/certificates/index.js.map +1 -0
  321. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/clients/AuthFetch.js +698 -0
  322. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/clients/AuthFetch.js.map +1 -0
  323. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js +187 -0
  324. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/clients/__tests__/AuthFetch.test.js.map +1 -0
  325. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/clients/index.js +2 -0
  326. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/clients/index.js.map +1 -0
  327. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/index.js +8 -0
  328. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/index.js.map +1 -0
  329. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +390 -0
  330. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -0
  331. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js +109 -0
  332. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/transports/__tests__/SimplifiedFetchTransport.test.js.map +1 -0
  333. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/transports/index.js +2 -0
  334. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/transports/index.js.map +1 -0
  335. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/types.js +2 -0
  336. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/types.js.map +1 -0
  337. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/createNonce.js +23 -0
  338. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/createNonce.js.map +1 -0
  339. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/getVerifiableCertificates.js +27 -0
  340. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -0
  341. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/index.js +5 -0
  342. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/index.js.map +1 -0
  343. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/validateCertificates.js +41 -0
  344. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/validateCertificates.js.map +1 -0
  345. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/verifyNonce.js +25 -0
  346. package/mobile/node_modules/@bsv/sdk/dist/esm/src/auth/utils/verifyNonce.js.map +1 -0
  347. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/BSM.js +52 -0
  348. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/BSM.js.map +1 -0
  349. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/ECIES.js +551 -0
  350. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/ECIES.js.map +1 -0
  351. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/HD.js +322 -0
  352. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/HD.js.map +1 -0
  353. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/Mnemonic.js +278 -0
  354. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/Mnemonic.js.map +1 -0
  355. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/Utxo.js +45 -0
  356. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/Utxo.js.map +1 -0
  357. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/bip-39-wordlist-en.js +2054 -0
  358. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/bip-39-wordlist-en.js.map +1 -0
  359. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/index.js +6 -0
  360. package/mobile/node_modules/@bsv/sdk/dist/esm/src/compat/index.js.map +1 -0
  361. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/ContactsManager.js +334 -0
  362. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/ContactsManager.js.map +1 -0
  363. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/IdentityClient.js +364 -0
  364. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/IdentityClient.js.map +1 -0
  365. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/index.js +3 -0
  366. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/index.js.map +1 -0
  367. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/types/index.js +27 -0
  368. package/mobile/node_modules/@bsv/sdk/dist/esm/src/identity/types/index.js.map +1 -0
  369. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/GlobalKVStore.js +456 -0
  370. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -0
  371. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/LocalKVStore.js +328 -0
  372. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/LocalKVStore.js.map +1 -0
  373. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/index.js +3 -0
  374. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/index.js.map +1 -0
  375. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/kvStoreInterpreter.js +51 -0
  376. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -0
  377. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/types.js +9 -0
  378. package/mobile/node_modules/@bsv/sdk/dist/esm/src/kvstore/types.js.map +1 -0
  379. package/mobile/node_modules/@bsv/sdk/dist/esm/src/messages/EncryptedMessage.js +63 -0
  380. package/mobile/node_modules/@bsv/sdk/dist/esm/src/messages/EncryptedMessage.js.map +1 -0
  381. package/mobile/node_modules/@bsv/sdk/dist/esm/src/messages/SignedMessage.js +78 -0
  382. package/mobile/node_modules/@bsv/sdk/dist/esm/src/messages/SignedMessage.js.map +1 -0
  383. package/mobile/node_modules/@bsv/sdk/dist/esm/src/messages/index.js +3 -0
  384. package/mobile/node_modules/@bsv/sdk/dist/esm/src/messages/index.js.map +1 -0
  385. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/Historian.js +155 -0
  386. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/Historian.js.map +1 -0
  387. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/HostReputationTracker.js +213 -0
  388. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/HostReputationTracker.js.map +1 -0
  389. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/LookupResolver.js +372 -0
  390. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -0
  391. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +76 -0
  392. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -0
  393. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/SHIPBroadcaster.js +376 -0
  394. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -0
  395. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/index.js +11 -0
  396. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/index.js.map +1 -0
  397. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/withDoubleSpendRetry.js +48 -0
  398. package/mobile/node_modules/@bsv/sdk/dist/esm/src/overlay-tools/withDoubleSpendRetry.js.map +1 -0
  399. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/AESGCM.js +363 -0
  400. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/AESGCM.js.map +1 -0
  401. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/BasePoint.js +16 -0
  402. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/BasePoint.js.map +1 -0
  403. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/BigNumber.js +1373 -0
  404. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/BigNumber.js.map +1 -0
  405. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Curve.js +1164 -0
  406. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Curve.js.map +1 -0
  407. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/DRBG.js +108 -0
  408. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/DRBG.js.map +1 -0
  409. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/ECDSA.js +180 -0
  410. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/ECDSA.js.map +1 -0
  411. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Hash.js +1693 -0
  412. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Hash.js.map +1 -0
  413. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/JacobianPoint.js +425 -0
  414. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/JacobianPoint.js.map +1 -0
  415. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/K256.js +121 -0
  416. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/K256.js.map +1 -0
  417. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Mersenne.js +112 -0
  418. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Mersenne.js.map +1 -0
  419. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/MontgomoryMethod.js +149 -0
  420. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -0
  421. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Point.js +1078 -0
  422. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Point.js.map +1 -0
  423. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Polynomial.js +79 -0
  424. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Polynomial.js.map +1 -0
  425. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/PrivateKey.js +481 -0
  426. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/PrivateKey.js.map +1 -0
  427. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/PublicKey.js +255 -0
  428. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/PublicKey.js.map +1 -0
  429. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Random.js +90 -0
  430. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Random.js.map +1 -0
  431. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/ReductionContext.js +486 -0
  432. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/ReductionContext.js.map +1 -0
  433. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Schnorr.js +93 -0
  434. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Schnorr.js.map +1 -0
  435. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Secp256r1.js +319 -0
  436. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Secp256r1.js.map +1 -0
  437. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Signature.js +361 -0
  438. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/Signature.js.map +1 -0
  439. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/SymmetricKey.js +90 -0
  440. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/SymmetricKey.js.map +1 -0
  441. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/TransactionSignature.js +197 -0
  442. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/TransactionSignature.js.map +1 -0
  443. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/hex.js +29 -0
  444. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/hex.js.map +1 -0
  445. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/index.js +16 -0
  446. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/index.js.map +1 -0
  447. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/utils.js +847 -0
  448. package/mobile/node_modules/@bsv/sdk/dist/esm/src/primitives/utils.js.map +1 -0
  449. package/mobile/node_modules/@bsv/sdk/dist/esm/src/registry/RegistryClient.js +534 -0
  450. package/mobile/node_modules/@bsv/sdk/dist/esm/src/registry/RegistryClient.js.map +1 -0
  451. package/mobile/node_modules/@bsv/sdk/dist/esm/src/registry/index.js +3 -0
  452. package/mobile/node_modules/@bsv/sdk/dist/esm/src/registry/index.js.map +1 -0
  453. package/mobile/node_modules/@bsv/sdk/dist/esm/src/registry/types/index.js +2 -0
  454. package/mobile/node_modules/@bsv/sdk/dist/esm/src/registry/types/index.js.map +1 -0
  455. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/LockingScript.js +29 -0
  456. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/LockingScript.js.map +1 -0
  457. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/OP.js +205 -0
  458. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/OP.js.map +1 -0
  459. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/Script.js +565 -0
  460. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/Script.js.map +1 -0
  461. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptChunk.js +2 -0
  462. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptChunk.js.map +1 -0
  463. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptEvaluationError.js +33 -0
  464. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptEvaluationError.js.map +1 -0
  465. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptTemplate.js +2 -0
  466. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptTemplate.js.map +1 -0
  467. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptTemplateUnlock.js +2 -0
  468. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/ScriptTemplateUnlock.js.map +1 -0
  469. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/Spend.js +1190 -0
  470. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/Spend.js.map +1 -0
  471. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/UnlockingScript.js +29 -0
  472. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/UnlockingScript.js.map +1 -0
  473. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/index.js +8 -0
  474. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/index.js.map +1 -0
  475. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/P2PKH.js +125 -0
  476. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/P2PKH.js.map +1 -0
  477. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/PushDrop.js +220 -0
  478. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/PushDrop.js.map +1 -0
  479. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/RPuzzle.js +124 -0
  480. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/RPuzzle.js.map +1 -0
  481. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/index.js +4 -0
  482. package/mobile/node_modules/@bsv/sdk/dist/esm/src/script/templates/index.js.map +1 -0
  483. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/StorageDownloader.js +94 -0
  484. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/StorageDownloader.js.map +1 -0
  485. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/StorageUploader.js +178 -0
  486. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/StorageUploader.js.map +1 -0
  487. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/StorageUtils.js +73 -0
  488. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/StorageUtils.js.map +1 -0
  489. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/index.js +4 -0
  490. package/mobile/node_modules/@bsv/sdk/dist/esm/src/storage/index.js.map +1 -0
  491. package/mobile/node_modules/@bsv/sdk/dist/esm/src/totp/index.js +2 -0
  492. package/mobile/node_modules/@bsv/sdk/dist/esm/src/totp/index.js.map +1 -0
  493. package/mobile/node_modules/@bsv/sdk/dist/esm/src/totp/totp.js +85 -0
  494. package/mobile/node_modules/@bsv/sdk/dist/esm/src/totp/totp.js.map +1 -0
  495. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/Beef.js +835 -0
  496. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/Beef.js.map +1 -0
  497. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/BeefParty.js +113 -0
  498. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/BeefParty.js.map +1 -0
  499. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/BeefTx.js +189 -0
  500. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/BeefTx.js.map +1 -0
  501. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/Broadcaster.js +13 -0
  502. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/Broadcaster.js.map +1 -0
  503. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/ChainTracker.js +2 -0
  504. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/ChainTracker.js.map +1 -0
  505. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/FeeModel.js +2 -0
  506. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/FeeModel.js.map +1 -0
  507. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/MerklePath.js +382 -0
  508. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/MerklePath.js.map +1 -0
  509. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/Transaction.js +914 -0
  510. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/Transaction.js.map +1 -0
  511. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/TransactionInput.js +2 -0
  512. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/TransactionInput.js.map +1 -0
  513. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/TransactionOutput.js +2 -0
  514. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/TransactionOutput.js.map +1 -0
  515. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/ARC.js +182 -0
  516. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -0
  517. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js +5 -0
  518. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -0
  519. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/Teranode.js +62 -0
  520. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/Teranode.js.map +1 -0
  521. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js +65 -0
  522. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -0
  523. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/index.js +5 -0
  524. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/broadcasters/index.js.map +1 -0
  525. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/BlockHeadersService.js +90 -0
  526. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/BlockHeadersService.js.map +1 -0
  527. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js +5 -0
  528. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -0
  529. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +68 -0
  530. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -0
  531. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/index.js +4 -0
  532. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/chaintrackers/index.js.map +1 -0
  533. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/fee-models/LivePolicy.js +85 -0
  534. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/fee-models/LivePolicy.js.map +1 -0
  535. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +71 -0
  536. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -0
  537. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/fee-models/index.js +3 -0
  538. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/fee-models/index.js.map +1 -0
  539. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/BinaryFetchClient.js +90 -0
  540. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -0
  541. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/DefaultHttpClient.js +34 -0
  542. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -0
  543. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/FetchHttpClient.js +28 -0
  544. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -0
  545. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/HttpClient.js +2 -0
  546. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/HttpClient.js.map +1 -0
  547. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/NodejsHttpClient.js +40 -0
  548. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -0
  549. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/index.js +5 -0
  550. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/http/index.js.map +1 -0
  551. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/index.js +7 -0
  552. package/mobile/node_modules/@bsv/sdk/dist/esm/src/transaction/index.js.map +1 -0
  553. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/CachedKeyDeriver.js +218 -0
  554. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -0
  555. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/KeyDeriver.js +192 -0
  556. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/KeyDeriver.js.map +1 -0
  557. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/ProtoWallet.js +182 -0
  558. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/ProtoWallet.js.map +1 -0
  559. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WERR_INSUFFICIENT_FUNDS.js +25 -0
  560. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WERR_INSUFFICIENT_FUNDS.js.map +1 -0
  561. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WERR_INVALID_PARAMETER.js +18 -0
  562. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WERR_INVALID_PARAMETER.js.map +1 -0
  563. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js +31 -0
  564. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WERR_REVIEW_ACTIONS.js.map +1 -0
  565. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/Wallet.interfaces.js +14 -0
  566. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/Wallet.interfaces.js.map +1 -0
  567. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WalletClient.js +218 -0
  568. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WalletClient.js.map +1 -0
  569. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WalletError.js +81 -0
  570. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WalletError.js.map +1 -0
  571. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WalletLoggerInterface.js +7 -0
  572. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/WalletLoggerInterface.js.map +1 -0
  573. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/index.js +15 -0
  574. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/index.js.map +1 -0
  575. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +151 -0
  576. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -0
  577. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/HTTPWalletWire.js +42 -0
  578. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -0
  579. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/ReactNativeWebView.js +137 -0
  580. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -0
  581. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWire.js +2 -0
  582. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWire.js.map +1 -0
  583. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWireCalls.js +34 -0
  584. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWireCalls.js.map +1 -0
  585. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1816 -0
  586. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -0
  587. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +1373 -0
  588. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -0
  589. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/XDM.js +134 -0
  590. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/XDM.js.map +1 -0
  591. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/index.js +10 -0
  592. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/index.js.map +1 -0
  593. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/utils/toOriginHeader.js +17 -0
  594. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/utils/toOriginHeader.js.map +1 -0
  595. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/window.CWI.js +100 -0
  596. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -0
  597. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/validationHelpers.js +860 -0
  598. package/mobile/node_modules/@bsv/sdk/dist/esm/src/wallet/validationHelpers.js.map +1 -0
  599. package/mobile/node_modules/@bsv/sdk/dist/esm/tsconfig.esm.tsbuildinfo +1 -0
  600. package/mobile/node_modules/@bsv/sdk/dist/types/mod.d.ts +20 -0
  601. package/mobile/node_modules/@bsv/sdk/dist/types/mod.d.ts.map +1 -0
  602. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/Peer.d.ts +200 -0
  603. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/Peer.d.ts.map +1 -0
  604. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/SessionManager.d.ts +60 -0
  605. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/SessionManager.d.ts.map +1 -0
  606. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/Certificate.d.ts +112 -0
  607. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -0
  608. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/MasterCertificate.d.ts +108 -0
  609. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -0
  610. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/VerifiableCertificate.d.ts +37 -0
  611. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -0
  612. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +29 -0
  613. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -0
  614. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/index.d.ts +5 -0
  615. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/certificates/index.d.ts.map +1 -0
  616. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/clients/AuthFetch.d.ts +126 -0
  617. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -0
  618. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts +2 -0
  619. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/clients/__tests__/AuthFetch.test.d.ts.map +1 -0
  620. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/clients/index.d.ts +2 -0
  621. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/clients/index.d.ts.map +1 -0
  622. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/index.d.ts +8 -0
  623. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/index.d.ts.map +1 -0
  624. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +57 -0
  625. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -0
  626. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts +2 -0
  627. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/transports/__tests__/SimplifiedFetchTransport.test.d.ts.map +1 -0
  628. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/transports/index.d.ts +2 -0
  629. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/transports/index.d.ts.map +1 -0
  630. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/types.d.ts +32 -0
  631. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/types.d.ts.map +1 -0
  632. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/createNonce.d.ts +9 -0
  633. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/createNonce.d.ts.map +1 -0
  634. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +13 -0
  635. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -0
  636. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/index.d.ts +5 -0
  637. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/index.d.ts.map +1 -0
  638. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/validateCertificates.d.ts +12 -0
  639. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -0
  640. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/verifyNonce.d.ts +10 -0
  641. package/mobile/node_modules/@bsv/sdk/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -0
  642. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/BSM.d.ts +29 -0
  643. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/BSM.d.ts.map +1 -0
  644. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/ECIES.d.ts +62 -0
  645. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/ECIES.d.ts.map +1 -0
  646. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/HD.d.ts +131 -0
  647. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/HD.d.ts.map +1 -0
  648. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/Mnemonic.d.ts +132 -0
  649. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/Mnemonic.d.ts.map +1 -0
  650. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/Utxo.d.ts +42 -0
  651. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/Utxo.d.ts.map +1 -0
  652. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/bip-39-wordlist-en.d.ts +5 -0
  653. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/bip-39-wordlist-en.d.ts.map +1 -0
  654. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/index.d.ts +6 -0
  655. package/mobile/node_modules/@bsv/sdk/dist/types/src/compat/index.d.ts.map +1 -0
  656. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/ContactsManager.d.ts +32 -0
  657. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/ContactsManager.d.ts.map +1 -0
  658. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/IdentityClient.d.ts +81 -0
  659. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/IdentityClient.d.ts.map +1 -0
  660. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/index.d.ts +3 -0
  661. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/index.d.ts.map +1 -0
  662. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/types/index.d.ts +30 -0
  663. package/mobile/node_modules/@bsv/sdk/dist/types/src/identity/types/index.d.ts.map +1 -0
  664. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/GlobalKVStore.d.ts +129 -0
  665. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/GlobalKVStore.d.ts.map +1 -0
  666. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/LocalKVStore.d.ts +95 -0
  667. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/LocalKVStore.d.ts.map +1 -0
  668. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/index.d.ts +3 -0
  669. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/index.d.ts.map +1 -0
  670. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/kvStoreInterpreter.d.ts +23 -0
  671. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/kvStoreInterpreter.d.ts.map +1 -0
  672. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/types.d.ts +118 -0
  673. package/mobile/node_modules/@bsv/sdk/dist/types/src/kvstore/types.d.ts.map +1 -0
  674. package/mobile/node_modules/@bsv/sdk/dist/types/src/messages/EncryptedMessage.d.ts +20 -0
  675. package/mobile/node_modules/@bsv/sdk/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -0
  676. package/mobile/node_modules/@bsv/sdk/dist/types/src/messages/SignedMessage.d.ts +21 -0
  677. package/mobile/node_modules/@bsv/sdk/dist/types/src/messages/SignedMessage.d.ts.map +1 -0
  678. package/mobile/node_modules/@bsv/sdk/dist/types/src/messages/index.d.ts +3 -0
  679. package/mobile/node_modules/@bsv/sdk/dist/types/src/messages/index.d.ts.map +1 -0
  680. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/Historian.d.ts +92 -0
  681. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/Historian.d.ts.map +1 -0
  682. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/HostReputationTracker.d.ts +37 -0
  683. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/HostReputationTracker.d.ts.map +1 -0
  684. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/LookupResolver.d.ts +124 -0
  685. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -0
  686. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +44 -0
  687. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -0
  688. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +105 -0
  689. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -0
  690. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/index.d.ts +9 -0
  691. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/index.d.ts.map +1 -0
  692. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/withDoubleSpendRetry.d.ts +14 -0
  693. package/mobile/node_modules/@bsv/sdk/dist/types/src/overlay-tools/withDoubleSpendRetry.d.ts.map +1 -0
  694. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/AESGCM.d.ts +14 -0
  695. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/AESGCM.d.ts.map +1 -0
  696. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/BasePoint.d.ts +22 -0
  697. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/BasePoint.d.ts.map +1 -0
  698. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/BigNumber.d.ts +438 -0
  699. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/BigNumber.d.ts.map +1 -0
  700. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Curve.d.ts +62 -0
  701. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Curve.d.ts.map +1 -0
  702. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/DRBG.d.ts +66 -0
  703. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/DRBG.d.ts.map +1 -0
  704. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/ECDSA.d.ts +39 -0
  705. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/ECDSA.d.ts.map +1 -0
  706. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Hash.d.ts +499 -0
  707. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Hash.d.ts.map +1 -0
  708. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/JacobianPoint.d.ts +164 -0
  709. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -0
  710. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/K256.d.ts +53 -0
  711. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/K256.d.ts.map +1 -0
  712. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Mersenne.d.ts +72 -0
  713. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Mersenne.d.ts.map +1 -0
  714. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/MontgomoryMethod.d.ts +96 -0
  715. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/MontgomoryMethod.d.ts.map +1 -0
  716. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Point.d.ts +362 -0
  717. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Point.d.ts.map +1 -0
  718. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Polynomial.d.ts +32 -0
  719. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Polynomial.d.ts.map +1 -0
  720. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/PrivateKey.d.ts +284 -0
  721. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/PrivateKey.d.ts.map +1 -0
  722. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/PublicKey.d.ts +155 -0
  723. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/PublicKey.d.ts.map +1 -0
  724. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Random.d.ts +14 -0
  725. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Random.d.ts.map +1 -0
  726. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/ReductionContext.d.ts +308 -0
  727. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/ReductionContext.d.ts.map +1 -0
  728. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Schnorr.d.ts +65 -0
  729. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Schnorr.d.ts.map +1 -0
  730. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Secp256r1.d.ts +91 -0
  731. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Secp256r1.d.ts.map +1 -0
  732. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Signature.d.ts +162 -0
  733. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/Signature.d.ts.map +1 -0
  734. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/SymmetricKey.d.ts +55 -0
  735. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -0
  736. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/TransactionSignature.d.ts +57 -0
  737. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -0
  738. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/hex.d.ts +3 -0
  739. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/hex.d.ts.map +1 -0
  740. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/index.d.ts +16 -0
  741. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/index.d.ts.map +1 -0
  742. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/utils.d.ts +140 -0
  743. package/mobile/node_modules/@bsv/sdk/dist/types/src/primitives/utils.d.ts.map +1 -0
  744. package/mobile/node_modules/@bsv/sdk/dist/types/src/registry/RegistryClient.d.ts +121 -0
  745. package/mobile/node_modules/@bsv/sdk/dist/types/src/registry/RegistryClient.d.ts.map +1 -0
  746. package/mobile/node_modules/@bsv/sdk/dist/types/src/registry/index.d.ts +3 -0
  747. package/mobile/node_modules/@bsv/sdk/dist/types/src/registry/index.d.ts.map +1 -0
  748. package/mobile/node_modules/@bsv/sdk/dist/types/src/registry/types/index.d.ts +113 -0
  749. package/mobile/node_modules/@bsv/sdk/dist/types/src/registry/types/index.d.ts.map +1 -0
  750. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/LockingScript.d.ts +25 -0
  751. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/LockingScript.d.ts.map +1 -0
  752. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/OP.d.ts +193 -0
  753. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/OP.d.ts.map +1 -0
  754. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/Script.d.ts +157 -0
  755. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/Script.d.ts.map +1 -0
  756. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptChunk.d.ts +8 -0
  757. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptChunk.d.ts.map +1 -0
  758. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptEvaluationError.d.ts +24 -0
  759. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptEvaluationError.d.ts.map +1 -0
  760. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptTemplate.d.ts +29 -0
  761. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptTemplate.d.ts.map +1 -0
  762. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptTemplateUnlock.d.ts +7 -0
  763. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/ScriptTemplateUnlock.d.ts.map +1 -0
  764. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/Spend.d.ts +120 -0
  765. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/Spend.d.ts.map +1 -0
  766. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/UnlockingScript.d.ts +25 -0
  767. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/UnlockingScript.d.ts.map +1 -0
  768. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/index.d.ts +11 -0
  769. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/index.d.ts.map +1 -0
  770. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/P2PKH.d.ts +40 -0
  771. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/P2PKH.d.ts.map +1 -0
  772. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/PushDrop.d.ts +56 -0
  773. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/PushDrop.d.ts.map +1 -0
  774. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/RPuzzle.d.ts +47 -0
  775. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -0
  776. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/index.d.ts +4 -0
  777. package/mobile/node_modules/@bsv/sdk/dist/types/src/script/templates/index.d.ts.map +1 -0
  778. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/StorageDownloader.d.ts +25 -0
  779. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/StorageDownloader.d.ts.map +1 -0
  780. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/StorageUploader.d.ts +103 -0
  781. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/StorageUploader.d.ts.map +1 -0
  782. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/StorageUtils.d.ts +32 -0
  783. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/StorageUtils.d.ts.map +1 -0
  784. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/index.d.ts +4 -0
  785. package/mobile/node_modules/@bsv/sdk/dist/types/src/storage/index.d.ts.map +1 -0
  786. package/mobile/node_modules/@bsv/sdk/dist/types/src/totp/index.d.ts +2 -0
  787. package/mobile/node_modules/@bsv/sdk/dist/types/src/totp/index.d.ts.map +1 -0
  788. package/mobile/node_modules/@bsv/sdk/dist/types/src/totp/totp.d.ts +42 -0
  789. package/mobile/node_modules/@bsv/sdk/dist/types/src/totp/totp.d.ts.map +1 -0
  790. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/Beef.d.ts +248 -0
  791. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/Beef.d.ts.map +1 -0
  792. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/BeefParty.d.ts +73 -0
  793. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/BeefParty.d.ts.map +1 -0
  794. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/BeefTx.d.ts +43 -0
  795. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/BeefTx.d.ts.map +1 -0
  796. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/Broadcaster.d.ts +55 -0
  797. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/Broadcaster.d.ts.map +1 -0
  798. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/ChainTracker.d.ts +29 -0
  799. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/ChainTracker.d.ts.map +1 -0
  800. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/FeeModel.d.ts +12 -0
  801. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/FeeModel.d.ts.map +1 -0
  802. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/MerklePath.d.ts +125 -0
  803. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/MerklePath.d.ts.map +1 -0
  804. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/Transaction.d.ts +299 -0
  805. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/Transaction.d.ts.map +1 -0
  806. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/TransactionInput.d.ts +63 -0
  807. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/TransactionInput.d.ts.map +1 -0
  808. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/TransactionOutput.d.ts +36 -0
  809. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -0
  810. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/ARC.d.ts +64 -0
  811. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -0
  812. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts +4 -0
  813. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -0
  814. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/Teranode.d.ts +25 -0
  815. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/Teranode.d.ts.map +1 -0
  816. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts +26 -0
  817. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -0
  818. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/index.d.ts +6 -0
  819. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/broadcasters/index.d.ts.map +1 -0
  820. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/BlockHeadersService.d.ts +46 -0
  821. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/BlockHeadersService.d.ts.map +1 -0
  822. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts +3 -0
  823. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -0
  824. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts +29 -0
  825. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -0
  826. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/index.d.ts +5 -0
  827. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/chaintrackers/index.d.ts.map +1 -0
  828. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/LivePolicy.d.ts +41 -0
  829. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/LivePolicy.d.ts.map +1 -0
  830. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts +26 -0
  831. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -0
  832. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/index.d.ts +3 -0
  833. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/fee-models/index.d.ts.map +1 -0
  834. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/BinaryFetchClient.d.ts +48 -0
  835. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/BinaryFetchClient.d.ts.map +1 -0
  836. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/DefaultHttpClient.d.ts +8 -0
  837. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -0
  838. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/FetchHttpClient.d.ts +29 -0
  839. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -0
  840. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/HttpClient.d.ts +45 -0
  841. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -0
  842. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/NodejsHttpClient.d.ts +20 -0
  843. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -0
  844. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/index.d.ts +8 -0
  845. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/http/index.d.ts.map +1 -0
  846. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/index.d.ts +11 -0
  847. package/mobile/node_modules/@bsv/sdk/dist/types/src/transaction/index.d.ts.map +1 -0
  848. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/CachedKeyDeriver.d.ts +102 -0
  849. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -0
  850. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/KeyDeriver.d.ts +130 -0
  851. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -0
  852. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/ProtoWallet.d.ts +27 -0
  853. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -0
  854. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WERR_INSUFFICIENT_FUNDS.d.ts +19 -0
  855. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WERR_INSUFFICIENT_FUNDS.d.ts.map +1 -0
  856. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WERR_INVALID_PARAMETER.d.ts +13 -0
  857. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WERR_INVALID_PARAMETER.d.ts.map +1 -0
  858. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts +23 -0
  859. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WERR_REVIEW_ACTIONS.d.ts.map +1 -0
  860. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/Wallet.interfaces.d.ts +1068 -0
  861. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -0
  862. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WalletClient.d.ts +180 -0
  863. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WalletClient.d.ts.map +1 -0
  864. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WalletError.d.ts +28 -0
  865. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WalletError.d.ts.map +1 -0
  866. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WalletLoggerInterface.d.ts +79 -0
  867. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/WalletLoggerInterface.d.ts.map +1 -0
  868. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/index.d.ts +14 -0
  869. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/index.d.ts.map +1 -0
  870. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +189 -0
  871. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -0
  872. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts +9 -0
  873. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -0
  874. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/ReactNativeWebView.d.ts +412 -0
  875. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/ReactNativeWebView.d.ts.map +1 -0
  876. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWire.d.ts +7 -0
  877. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWire.d.ts.map +1 -0
  878. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWireCalls.d.ts +33 -0
  879. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWireCalls.d.ts.map +1 -0
  880. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts +18 -0
  881. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -0
  882. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +196 -0
  883. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -0
  884. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/XDM.d.ts +412 -0
  885. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -0
  886. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/index.d.ts +10 -0
  887. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/index.d.ts.map +1 -0
  888. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/utils/toOriginHeader.d.ts +2 -0
  889. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/utils/toOriginHeader.d.ts.map +1 -0
  890. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/window.CWI.d.ts +410 -0
  891. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -0
  892. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/validationHelpers.d.ts +514 -0
  893. package/mobile/node_modules/@bsv/sdk/dist/types/src/wallet/validationHelpers.d.ts.map +1 -0
  894. package/mobile/node_modules/@bsv/sdk/dist/types/tsconfig.types.tsbuildinfo +1 -0
  895. package/mobile/node_modules/@bsv/sdk/dist/umd/bundle.js +20 -0
  896. package/mobile/node_modules/@bsv/sdk/dist/umd/bundle.js.map +1 -0
  897. package/mobile/node_modules/@bsv/sdk/docs/fast-docs.png +0 -0
  898. package/mobile/node_modules/@bsv/sdk/docs/index.md +77 -0
  899. package/mobile/node_modules/@bsv/sdk/docs/performance.md +70 -0
  900. package/mobile/node_modules/@bsv/sdk/docs/reference/auth.md +1330 -0
  901. package/mobile/node_modules/@bsv/sdk/docs/reference/compat.md +2951 -0
  902. package/mobile/node_modules/@bsv/sdk/docs/reference/identity.md +383 -0
  903. package/mobile/node_modules/@bsv/sdk/docs/reference/kvstore.md +648 -0
  904. package/mobile/node_modules/@bsv/sdk/docs/reference/messages.md +158 -0
  905. package/mobile/node_modules/@bsv/sdk/docs/reference/overlay-tools.md +691 -0
  906. package/mobile/node_modules/@bsv/sdk/docs/reference/primitives.md +6262 -0
  907. package/mobile/node_modules/@bsv/sdk/docs/reference/registry.md +408 -0
  908. package/mobile/node_modules/@bsv/sdk/docs/reference/script.md +942 -0
  909. package/mobile/node_modules/@bsv/sdk/docs/reference/storage.md +411 -0
  910. package/mobile/node_modules/@bsv/sdk/docs/reference/totp.md +121 -0
  911. package/mobile/node_modules/@bsv/sdk/docs/reference/transaction.md +2332 -0
  912. package/mobile/node_modules/@bsv/sdk/docs/reference/wallet.md +6054 -0
  913. package/mobile/node_modules/@bsv/sdk/docs/requirements.txt +3 -0
  914. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/LICENSE +21 -0
  915. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/favicon-16x16.png +0 -0
  916. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/favicon-32x32.png +0 -0
  917. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/index.css +16 -0
  918. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/oauth2-redirect.html +79 -0
  919. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-initializer.js +20 -0
  920. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-bundle.js +2 -0
  921. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-bundle.js.map +1 -0
  922. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-es-bundle-core.js +3 -0
  923. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-es-bundle-core.js.map +1 -0
  924. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-es-bundle.js +2 -0
  925. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-es-bundle.js.map +1 -0
  926. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-standalone-preset.js +2 -0
  927. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui-standalone-preset.js.map +1 -0
  928. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui.css +3 -0
  929. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui.css.map +1 -0
  930. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui.js +2 -0
  931. package/mobile/node_modules/@bsv/sdk/docs/swagger/dist/swagger-ui.js.map +1 -0
  932. package/mobile/node_modules/@bsv/sdk/docs/swagger/index.html +19 -0
  933. package/mobile/node_modules/@bsv/sdk/docs/swagger/swagger-ui.version +1 -0
  934. package/mobile/node_modules/@bsv/sdk/docs/swagger/swagger.yaml +1960 -0
  935. package/mobile/node_modules/@bsv/sdk/docs/swagger.png +0 -0
  936. package/mobile/node_modules/@bsv/sdk/mod.ts +19 -0
  937. package/mobile/node_modules/@bsv/sdk/package.json +268 -0
  938. package/mobile/node_modules/@bsv/sdk/src/auth/Peer.ts +875 -0
  939. package/mobile/node_modules/@bsv/sdk/src/auth/SessionManager.ts +145 -0
  940. package/mobile/node_modules/@bsv/sdk/src/auth/__tests/Peer.test.ts +1059 -0
  941. package/mobile/node_modules/@bsv/sdk/src/auth/__tests/SessionManager.test.ts +136 -0
  942. package/mobile/node_modules/@bsv/sdk/src/auth/__tests/build.test.ts +11 -0
  943. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/Certificate.ts +311 -0
  944. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/MasterCertificate.ts +360 -0
  945. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/VerifiableCertificate.ts +125 -0
  946. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/__tests/Certificate.test.ts +386 -0
  947. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/__tests/CompletedProtoWallet.ts +202 -0
  948. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/__tests/MasterCertificate.test.ts +424 -0
  949. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/__tests/VerifiableCertificate.test.ts +179 -0
  950. package/mobile/node_modules/@bsv/sdk/src/auth/certificates/index.ts +4 -0
  951. package/mobile/node_modules/@bsv/sdk/src/auth/clients/AuthFetch.ts +881 -0
  952. package/mobile/node_modules/@bsv/sdk/src/auth/clients/__tests__/AuthFetch.test.ts +262 -0
  953. package/mobile/node_modules/@bsv/sdk/src/auth/clients/index.ts +1 -0
  954. package/mobile/node_modules/@bsv/sdk/src/auth/index.ts +7 -0
  955. package/mobile/node_modules/@bsv/sdk/src/auth/transports/SimplifiedFetchTransport.ts +446 -0
  956. package/mobile/node_modules/@bsv/sdk/src/auth/transports/__tests__/SimplifiedFetchTransport.test.ts +126 -0
  957. package/mobile/node_modules/@bsv/sdk/src/auth/transports/index.ts +1 -0
  958. package/mobile/node_modules/@bsv/sdk/src/auth/types.ts +42 -0
  959. package/mobile/node_modules/@bsv/sdk/src/auth/utils/__tests/cryptononce.test.ts +146 -0
  960. package/mobile/node_modules/@bsv/sdk/src/auth/utils/__tests/getVerifiableCertificates.test.ts +152 -0
  961. package/mobile/node_modules/@bsv/sdk/src/auth/utils/__tests/validateCertificates.test.ts +164 -0
  962. package/mobile/node_modules/@bsv/sdk/src/auth/utils/createNonce.ts +33 -0
  963. package/mobile/node_modules/@bsv/sdk/src/auth/utils/getVerifiableCertificates.ts +46 -0
  964. package/mobile/node_modules/@bsv/sdk/src/auth/utils/index.ts +4 -0
  965. package/mobile/node_modules/@bsv/sdk/src/auth/utils/validateCertificates.ts +73 -0
  966. package/mobile/node_modules/@bsv/sdk/src/auth/utils/verifyNonce.ts +34 -0
  967. package/mobile/node_modules/@bsv/sdk/src/compat/BSM.ts +66 -0
  968. package/mobile/node_modules/@bsv/sdk/src/compat/ECIES.ts +701 -0
  969. package/mobile/node_modules/@bsv/sdk/src/compat/HD.ts +386 -0
  970. package/mobile/node_modules/@bsv/sdk/src/compat/Mnemonic.ts +308 -0
  971. package/mobile/node_modules/@bsv/sdk/src/compat/Utxo.ts +59 -0
  972. package/mobile/node_modules/@bsv/sdk/src/compat/__tests/BSM.test.ts +80 -0
  973. package/mobile/node_modules/@bsv/sdk/src/compat/__tests/ECIES.test.ts +184 -0
  974. package/mobile/node_modules/@bsv/sdk/src/compat/__tests/HD.test.ts +417 -0
  975. package/mobile/node_modules/@bsv/sdk/src/compat/__tests/Mnemonic.test.ts +175 -0
  976. package/mobile/node_modules/@bsv/sdk/src/compat/__tests/Mnemonic.vectors.ts +227 -0
  977. package/mobile/node_modules/@bsv/sdk/src/compat/bip-39-wordlist-en.ts +2053 -0
  978. package/mobile/node_modules/@bsv/sdk/src/compat/index.ts +5 -0
  979. package/mobile/node_modules/@bsv/sdk/src/identity/ContactsManager.ts +376 -0
  980. package/mobile/node_modules/@bsv/sdk/src/identity/IdentityClient.ts +497 -0
  981. package/mobile/node_modules/@bsv/sdk/src/identity/README.md +92 -0
  982. package/mobile/node_modules/@bsv/sdk/src/identity/__tests/IdentityClient.test.ts +772 -0
  983. package/mobile/node_modules/@bsv/sdk/src/identity/index.ts +2 -0
  984. package/mobile/node_modules/@bsv/sdk/src/identity/types/index.ts +46 -0
  985. package/mobile/node_modules/@bsv/sdk/src/kvstore/GlobalKVStore.ts +523 -0
  986. package/mobile/node_modules/@bsv/sdk/src/kvstore/LocalKVStore.ts +357 -0
  987. package/mobile/node_modules/@bsv/sdk/src/kvstore/__tests/GlobalKVStore.test.ts +1104 -0
  988. package/mobile/node_modules/@bsv/sdk/src/kvstore/__tests/LocalKVStore.test.ts +686 -0
  989. package/mobile/node_modules/@bsv/sdk/src/kvstore/index.ts +2 -0
  990. package/mobile/node_modules/@bsv/sdk/src/kvstore/kvStoreInterpreter.ts +54 -0
  991. package/mobile/node_modules/@bsv/sdk/src/kvstore/types.ts +126 -0
  992. package/mobile/node_modules/@bsv/sdk/src/messages/EncryptedMessage.ts +74 -0
  993. package/mobile/node_modules/@bsv/sdk/src/messages/SignedMessage.ts +93 -0
  994. package/mobile/node_modules/@bsv/sdk/src/messages/__tests/EncryptedMessage.test.ts +61 -0
  995. package/mobile/node_modules/@bsv/sdk/src/messages/__tests/SignedMessage.test.ts +59 -0
  996. package/mobile/node_modules/@bsv/sdk/src/messages/index.ts +2 -0
  997. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/Historian.ts +195 -0
  998. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/HostReputationTracker.ts +232 -0
  999. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/LookupResolver.ts +499 -0
  1000. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/OverlayAdminTokenTemplate.ts +108 -0
  1001. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/SHIPBroadcaster.ts +504 -0
  1002. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/__tests/Historian.test.ts +690 -0
  1003. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/__tests/LookupResolver.test.ts +1805 -0
  1004. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +97 -0
  1005. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +1304 -0
  1006. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/index.ts +11 -0
  1007. package/mobile/node_modules/@bsv/sdk/src/overlay-tools/withDoubleSpendRetry.ts +71 -0
  1008. package/mobile/node_modules/@bsv/sdk/src/primitives/AESGCM.ts +457 -0
  1009. package/mobile/node_modules/@bsv/sdk/src/primitives/BasePoint.ts +21 -0
  1010. package/mobile/node_modules/@bsv/sdk/src/primitives/BigNumber.ts +1368 -0
  1011. package/mobile/node_modules/@bsv/sdk/src/primitives/Curve.ts +1234 -0
  1012. package/mobile/node_modules/@bsv/sdk/src/primitives/DRBG.ts +118 -0
  1013. package/mobile/node_modules/@bsv/sdk/src/primitives/ECDSA.ts +208 -0
  1014. package/mobile/node_modules/@bsv/sdk/src/primitives/Hash.ts +1924 -0
  1015. package/mobile/node_modules/@bsv/sdk/src/primitives/JacobianPoint.ts +475 -0
  1016. package/mobile/node_modules/@bsv/sdk/src/primitives/K256.ts +136 -0
  1017. package/mobile/node_modules/@bsv/sdk/src/primitives/Mersenne.ts +119 -0
  1018. package/mobile/node_modules/@bsv/sdk/src/primitives/MontgomoryMethod.ts +160 -0
  1019. package/mobile/node_modules/@bsv/sdk/src/primitives/Point.ts +1200 -0
  1020. package/mobile/node_modules/@bsv/sdk/src/primitives/Polynomial.ts +94 -0
  1021. package/mobile/node_modules/@bsv/sdk/src/primitives/PrivateKey.ts +524 -0
  1022. package/mobile/node_modules/@bsv/sdk/src/primitives/PublicKey.ts +282 -0
  1023. package/mobile/node_modules/@bsv/sdk/src/primitives/Random.ts +101 -0
  1024. package/mobile/node_modules/@bsv/sdk/src/primitives/ReductionContext.ts +528 -0
  1025. package/mobile/node_modules/@bsv/sdk/src/primitives/Schnorr.ts +117 -0
  1026. package/mobile/node_modules/@bsv/sdk/src/primitives/Secp256r1.ts +334 -0
  1027. package/mobile/node_modules/@bsv/sdk/src/primitives/Signature.ts +389 -0
  1028. package/mobile/node_modules/@bsv/sdk/src/primitives/SymmetricKey.ts +102 -0
  1029. package/mobile/node_modules/@bsv/sdk/src/primitives/TransactionSignature.ts +260 -0
  1030. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/AESGCM.test.ts +700 -0
  1031. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BRC42.private.vectors.ts +48 -0
  1032. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BRC42.public.vectors.ts +48 -0
  1033. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BigNumber.arithmatic.test.ts +791 -0
  1034. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BigNumber.binary.test.ts +284 -0
  1035. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BigNumber.constructor.test.ts +216 -0
  1036. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BigNumber.dhGroup.test.ts +22 -0
  1037. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BigNumber.fixtures.ts +272 -0
  1038. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BigNumber.serializers.test.ts +183 -0
  1039. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/BigNumber.utils.test.ts +437 -0
  1040. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/Curve.unit.test.ts +277 -0
  1041. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/DRBG.test.ts +281 -0
  1042. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/DRBG.vectors.ts +137 -0
  1043. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/ECDH.test.ts +38 -0
  1044. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/ECDSA.test.ts +93 -0
  1045. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/HMAC.test.ts +76 -0
  1046. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/Hash.test.ts +256 -0
  1047. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/PBKDF2.vectors.ts +132 -0
  1048. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/PrivateKey.split.test.ts +92 -0
  1049. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/PrivateKey.test.ts +98 -0
  1050. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/PublicKey.test.ts +96 -0
  1051. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/Random.test.ts +35 -0
  1052. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/Reader.test.ts +317 -0
  1053. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/ReductionContext.test.ts +321 -0
  1054. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/Schnorr.test.ts +284 -0
  1055. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/Secp256r1.test.ts +101 -0
  1056. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/SymmetricKey.test.ts +128 -0
  1057. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/SymmetricKey.vectors.ts +48 -0
  1058. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/SymmetricKeyCompatibility.test.ts +150 -0
  1059. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/Writer.test.ts +208 -0
  1060. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/bug-31.test.ts +27 -0
  1061. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/hex.test.ts +57 -0
  1062. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/sighash.vectors.ts +3503 -0
  1063. package/mobile/node_modules/@bsv/sdk/src/primitives/__tests/utils.test.ts +378 -0
  1064. package/mobile/node_modules/@bsv/sdk/src/primitives/hex.ts +35 -0
  1065. package/mobile/node_modules/@bsv/sdk/src/primitives/index.ts +15 -0
  1066. package/mobile/node_modules/@bsv/sdk/src/primitives/utils.ts +953 -0
  1067. package/mobile/node_modules/@bsv/sdk/src/registry/RegistryClient.ts +667 -0
  1068. package/mobile/node_modules/@bsv/sdk/src/registry/__tests/RegistryClient.test.ts +647 -0
  1069. package/mobile/node_modules/@bsv/sdk/src/registry/index.ts +2 -0
  1070. package/mobile/node_modules/@bsv/sdk/src/registry/types/index.ts +131 -0
  1071. package/mobile/node_modules/@bsv/sdk/src/script/LockingScript.ts +30 -0
  1072. package/mobile/node_modules/@bsv/sdk/src/script/OP.ts +218 -0
  1073. package/mobile/node_modules/@bsv/sdk/src/script/Script.ts +591 -0
  1074. package/mobile/node_modules/@bsv/sdk/src/script/ScriptChunk.ts +7 -0
  1075. package/mobile/node_modules/@bsv/sdk/src/script/ScriptEvaluationError.ts +44 -0
  1076. package/mobile/node_modules/@bsv/sdk/src/script/ScriptTemplate.ts +30 -0
  1077. package/mobile/node_modules/@bsv/sdk/src/script/ScriptTemplateUnlock.ts +7 -0
  1078. package/mobile/node_modules/@bsv/sdk/src/script/Spend.ts +1085 -0
  1079. package/mobile/node_modules/@bsv/sdk/src/script/UnlockingScript.ts +30 -0
  1080. package/mobile/node_modules/@bsv/sdk/src/script/__tests/Script.test.ts +429 -0
  1081. package/mobile/node_modules/@bsv/sdk/src/script/__tests/Spend.test.ts +555 -0
  1082. package/mobile/node_modules/@bsv/sdk/src/script/__tests/SpendComplex.test.ts +48 -0
  1083. package/mobile/node_modules/@bsv/sdk/src/script/__tests/script.invalid.vectors.ts +999 -0
  1084. package/mobile/node_modules/@bsv/sdk/src/script/__tests/script.valid.vectors.ts +1178 -0
  1085. package/mobile/node_modules/@bsv/sdk/src/script/__tests/spend.valid.vectors.ts +2295 -0
  1086. package/mobile/node_modules/@bsv/sdk/src/script/index.ts +10 -0
  1087. package/mobile/node_modules/@bsv/sdk/src/script/templates/P2PKH.ts +157 -0
  1088. package/mobile/node_modules/@bsv/sdk/src/script/templates/PushDrop.ts +281 -0
  1089. package/mobile/node_modules/@bsv/sdk/src/script/templates/RPuzzle.ts +161 -0
  1090. package/mobile/node_modules/@bsv/sdk/src/script/templates/__tests/PushDrop.test.ts +263 -0
  1091. package/mobile/node_modules/@bsv/sdk/src/script/templates/index.ts +3 -0
  1092. package/mobile/node_modules/@bsv/sdk/src/storage/StorageDownloader.ts +114 -0
  1093. package/mobile/node_modules/@bsv/sdk/src/storage/StorageUploader.ts +258 -0
  1094. package/mobile/node_modules/@bsv/sdk/src/storage/StorageUtils.ts +74 -0
  1095. package/mobile/node_modules/@bsv/sdk/src/storage/__tests/StorageDownloader.test.ts +236 -0
  1096. package/mobile/node_modules/@bsv/sdk/src/storage/__tests/StorageUploader.test.ts +219 -0
  1097. package/mobile/node_modules/@bsv/sdk/src/storage/__tests/StorageUtils.test.ts +86 -0
  1098. package/mobile/node_modules/@bsv/sdk/src/storage/index.ts +5 -0
  1099. package/mobile/node_modules/@bsv/sdk/src/totp/__tests/totp.test.ts +81 -0
  1100. package/mobile/node_modules/@bsv/sdk/src/totp/index.ts +1 -0
  1101. package/mobile/node_modules/@bsv/sdk/src/totp/totp.ts +138 -0
  1102. package/mobile/node_modules/@bsv/sdk/src/transaction/Beef.ts +935 -0
  1103. package/mobile/node_modules/@bsv/sdk/src/transaction/BeefParty.ts +123 -0
  1104. package/mobile/node_modules/@bsv/sdk/src/transaction/BeefTx.ts +194 -0
  1105. package/mobile/node_modules/@bsv/sdk/src/transaction/Broadcaster.ts +69 -0
  1106. package/mobile/node_modules/@bsv/sdk/src/transaction/ChainTracker.ts +28 -0
  1107. package/mobile/node_modules/@bsv/sdk/src/transaction/FeeModel.ts +12 -0
  1108. package/mobile/node_modules/@bsv/sdk/src/transaction/MerklePath.ts +455 -0
  1109. package/mobile/node_modules/@bsv/sdk/src/transaction/Transaction.ts +1055 -0
  1110. package/mobile/node_modules/@bsv/sdk/src/transaction/TransactionInput.ts +63 -0
  1111. package/mobile/node_modules/@bsv/sdk/src/transaction/TransactionOutput.ts +36 -0
  1112. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/Beef.test.ts +500 -0
  1113. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/MerklePath.test.ts +249 -0
  1114. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/Transaction.test.ts +1419 -0
  1115. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/bigtx.vectors.ts +5 -0
  1116. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/bump.invalid.vectors.ts +26 -0
  1117. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/bump.valid.vectors.ts +8 -0
  1118. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/tx.invalid.vectors.ts +977 -0
  1119. package/mobile/node_modules/@bsv/sdk/src/transaction/__tests/tx.valid.vectors.ts +1317 -0
  1120. package/mobile/node_modules/@bsv/sdk/src/transaction/broadcasters/ARC.ts +255 -0
  1121. package/mobile/node_modules/@bsv/sdk/src/transaction/broadcasters/DefaultBroadcaster.ts +12 -0
  1122. package/mobile/node_modules/@bsv/sdk/src/transaction/broadcasters/Teranode.ts +77 -0
  1123. package/mobile/node_modules/@bsv/sdk/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +83 -0
  1124. package/mobile/node_modules/@bsv/sdk/src/transaction/broadcasters/__tests/ARC.test.ts +323 -0
  1125. package/mobile/node_modules/@bsv/sdk/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +171 -0
  1126. package/mobile/node_modules/@bsv/sdk/src/transaction/broadcasters/index.ts +5 -0
  1127. package/mobile/node_modules/@bsv/sdk/src/transaction/chaintrackers/BlockHeadersService.ts +138 -0
  1128. package/mobile/node_modules/@bsv/sdk/src/transaction/chaintrackers/DefaultChainTracker.ts +6 -0
  1129. package/mobile/node_modules/@bsv/sdk/src/transaction/chaintrackers/WhatsOnChain.ts +102 -0
  1130. package/mobile/node_modules/@bsv/sdk/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +198 -0
  1131. package/mobile/node_modules/@bsv/sdk/src/transaction/chaintrackers/index.ts +4 -0
  1132. package/mobile/node_modules/@bsv/sdk/src/transaction/fee-models/LivePolicy.ts +97 -0
  1133. package/mobile/node_modules/@bsv/sdk/src/transaction/fee-models/SatoshisPerKilobyte.ts +75 -0
  1134. package/mobile/node_modules/@bsv/sdk/src/transaction/fee-models/__tests/LivePolicy.test.ts +148 -0
  1135. package/mobile/node_modules/@bsv/sdk/src/transaction/fee-models/index.ts +2 -0
  1136. package/mobile/node_modules/@bsv/sdk/src/transaction/http/BinaryFetchClient.ts +141 -0
  1137. package/mobile/node_modules/@bsv/sdk/src/transaction/http/DefaultHttpClient.ts +33 -0
  1138. package/mobile/node_modules/@bsv/sdk/src/transaction/http/FetchHttpClient.ts +57 -0
  1139. package/mobile/node_modules/@bsv/sdk/src/transaction/http/HttpClient.ts +51 -0
  1140. package/mobile/node_modules/@bsv/sdk/src/transaction/http/NodejsHttpClient.ts +67 -0
  1141. package/mobile/node_modules/@bsv/sdk/src/transaction/http/index.ts +11 -0
  1142. package/mobile/node_modules/@bsv/sdk/src/transaction/index.ts +14 -0
  1143. package/mobile/node_modules/@bsv/sdk/src/wallet/CachedKeyDeriver.ts +287 -0
  1144. package/mobile/node_modules/@bsv/sdk/src/wallet/KeyDeriver.ts +342 -0
  1145. package/mobile/node_modules/@bsv/sdk/src/wallet/ProtoWallet.ts +300 -0
  1146. package/mobile/node_modules/@bsv/sdk/src/wallet/WERR_INSUFFICIENT_FUNDS.ts +25 -0
  1147. package/mobile/node_modules/@bsv/sdk/src/wallet/WERR_INVALID_PARAMETER.ts +20 -0
  1148. package/mobile/node_modules/@bsv/sdk/src/wallet/WERR_REVIEW_ACTIONS.ts +30 -0
  1149. package/mobile/node_modules/@bsv/sdk/src/wallet/Wallet.interfaces.ts +1308 -0
  1150. package/mobile/node_modules/@bsv/sdk/src/wallet/WalletClient.ts +504 -0
  1151. package/mobile/node_modules/@bsv/sdk/src/wallet/WalletError.ts +81 -0
  1152. package/mobile/node_modules/@bsv/sdk/src/wallet/WalletLoggerInterface.ts +85 -0
  1153. package/mobile/node_modules/@bsv/sdk/src/wallet/__tests/CachedKeyDeriver.test.ts +381 -0
  1154. package/mobile/node_modules/@bsv/sdk/src/wallet/__tests/KeyDeriver.test.ts +221 -0
  1155. package/mobile/node_modules/@bsv/sdk/src/wallet/__tests/ProtoWallet.test.ts +592 -0
  1156. package/mobile/node_modules/@bsv/sdk/src/wallet/__tests/WalletClient.test.ts +31 -0
  1157. package/mobile/node_modules/@bsv/sdk/src/wallet/index.ts +14 -0
  1158. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/HTTPWalletJSON.ts +364 -0
  1159. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/HTTPWalletWire.ts +51 -0
  1160. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/ReactNativeWebView.ts +560 -0
  1161. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/WalletWire.ts +6 -0
  1162. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/WalletWireCalls.ts +34 -0
  1163. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/WalletWireProcessor.ts +2206 -0
  1164. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/WalletWireTransceiver.ts +2032 -0
  1165. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/XDM.ts +547 -0
  1166. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/__tests/WalletWire.integration.test.ts +2353 -0
  1167. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/__tests/XDM.test.ts +660 -0
  1168. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/__tests/toOriginHeader.test.ts +34 -0
  1169. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/index.ts +9 -0
  1170. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/utils/toOriginHeader.ts +15 -0
  1171. package/mobile/node_modules/@bsv/sdk/src/wallet/substrates/window.CWI.ts +593 -0
  1172. package/mobile/node_modules/@bsv/sdk/src/wallet/validationHelpers.ts +1215 -0
  1173. package/mobile/out/src/sdk/types.d.ts +1 -1
  1174. package/mobile/out/src/sdk/types.js +1 -1
  1175. package/mobile/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  1176. package/mobile/out/src/storage/methods/ListOutputsSpecOp.js +2 -0
  1177. package/mobile/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  1178. package/mobile/package-lock.json +6 -6
  1179. package/mobile/package.json +2 -2
  1180. package/out/src/sdk/types.d.ts +1 -1
  1181. package/out/src/sdk/types.js +1 -1
  1182. package/out/src/storage/methods/ListOutputsSpecOp.d.ts.map +1 -1
  1183. package/out/src/storage/methods/ListOutputsSpecOp.js +2 -0
  1184. package/out/src/storage/methods/ListOutputsSpecOp.js.map +1 -1
  1185. package/out/test/Wallet/local/localWallet2.man.test.js +3 -2
  1186. package/out/test/Wallet/local/localWallet2.man.test.js.map +1 -1
  1187. package/out/test/Wallet/support/operations.man.test.js +11 -4
  1188. package/out/test/Wallet/support/operations.man.test.js.map +1 -1
  1189. package/out/tsconfig.all.tsbuildinfo +1 -1
  1190. package/package.json +2 -2
  1191. package/src/sdk/types.ts +1 -1
  1192. package/src/storage/methods/ListOutputsSpecOp.ts +1 -0
  1193. package/test/Wallet/local/localWallet2.man.test.ts +2 -2
  1194. package/test/Wallet/support/operations.man.test.ts +11 -4
@@ -0,0 +1,63 @@
1
+ import UnlockingScript from '../script/UnlockingScript.js'
2
+ import Transaction from './Transaction.js'
3
+
4
+ /**
5
+ * Represents an input to a Bitcoin transaction.
6
+ * This interface defines the structure and components required to construct
7
+ * a transaction input in the Bitcoin blockchain.
8
+ *
9
+ * @interface TransactionInput
10
+ * @property {Transaction} [sourceTransaction] - Optional. The source transaction
11
+ * from which this input is derived. This is the transaction whose output
12
+ * is being spent by this input. Preferably provided if available.
13
+ * @property {string} [sourceTXID] - Optional. The transaction ID (TXID) of the source
14
+ * transaction. Required if the source transaction itself is not provided.
15
+ * This uniquely identifies the transaction within the blockchain.
16
+ * @property {number} sourceOutputIndex - The index of the output in the source transaction
17
+ * that this input is spending. It is zero-based, indicating the position of the
18
+ * output in the array of outputs of the source transaction.
19
+ * @property {UnlockingScript} [unlockingScript] - Optional. The script that 'unlocks' the
20
+ * source output for spending. This script typically contains signatures and
21
+ * public keys that evidence the ownership of the output.
22
+ * @property {Object} [unlockingScriptTemplate] - Optional. A template for generating the
23
+ * unlocking script. Useful when the unlocking script needs to be generated
24
+ * dynamically.
25
+ * @property {Function} unlockingScriptTemplate.sign - A function that, when given the
26
+ * current transaction and the index of this input, returns a Promise that
27
+ * resolves to the UnlockingScript.
28
+ * @property {Function} unlockingScriptTemplate.estimateLength - A function that estimates
29
+ * the length of the unlocking script, given the transaction and the input index.
30
+ * @property {number} sequence - A sequence number for the input. Used to enable
31
+ * updates to this input. If set to a non-final value (less than 0xFFFFFFFF),
32
+ * it indicates that the input may be replaced in the future.
33
+ *
34
+ * @example
35
+ * // Creating a simple transaction input
36
+ * let txInput = {
37
+ * sourceTXID: '123abc...',
38
+ * sourceOutputIndex: 0,
39
+ * sequence: 0xFFFFFFFF
40
+ * };
41
+ *
42
+ * // Using an unlocking script template
43
+ * txInput.unlockingScriptTemplate = {
44
+ * sign: async (tx, index) => { ... },
45
+ * estimateLength: async (tx, index) => { ... }
46
+ * };
47
+ *
48
+ * @description
49
+ * This interface links an input to a
50
+ * previous output and provides mechanisms (through unlocking scripts) to authorize the
51
+ * spending of that output.
52
+ */
53
+ export default interface TransactionInput {
54
+ sourceTransaction?: Transaction
55
+ sourceTXID?: string
56
+ sourceOutputIndex: number
57
+ unlockingScript?: UnlockingScript
58
+ unlockingScriptTemplate?: {
59
+ sign: (tx: Transaction, inputIndex: number) => Promise<UnlockingScript>
60
+ estimateLength: (tx: Transaction, inputIndex: number) => Promise<number>
61
+ }
62
+ sequence?: number
63
+ }
@@ -0,0 +1,36 @@
1
+ import LockingScript from '../script/LockingScript.js'
2
+
3
+ /**
4
+ * Represents an output in a Bitcoin transaction.
5
+ * This interface defines the structure and components necessary to construct
6
+ * a transaction output, which secures owned Bitcoins to be unlocked later.
7
+ *
8
+ * @interface TransactionOutput
9
+ * @property {number} [satoshis] - Optional. The amount of satoshis (the smallest unit of Bitcoin) to be transferred by this output.
10
+ * @property {LockingScript} lockingScript - The script that 'locks' the satoshis,
11
+ * specifying the conditions under which they can be spent. This script is
12
+ * essential for securing the funds and typically contains cryptographic
13
+ * puzzles that need to be solved to spend the output.
14
+ * @property {boolean} [change] - Optional. A flag that indicates whether this output
15
+ * is a change output. If true, it means this output is returning funds back
16
+ * to the sender, usually as the 'change' from the transaction inputs.
17
+ *
18
+ * @example
19
+ * // Creating a simple transaction output
20
+ * let txOutput = {
21
+ * satoshis: 1000,
22
+ * lockingScript: LockingScript.fromASM('OP_DUP OP_HASH160 ... OP_EQUALVERIFY OP_CHECKSIG'),
23
+ * change: false
24
+ * };
25
+ *
26
+ * @description
27
+ * The TransactionOutput interface defines how bitcoins are to be distributed in a transaction, either to a recipient or
28
+ * back to the sender as change. The lockingScript is critical as it determines the conditions
29
+ * under which the output can be spent, typically requiring a digital signature matching the
30
+ * intended recipient's public key.
31
+ */
32
+ export default interface TransactionOutput {
33
+ satoshis?: number
34
+ lockingScript: LockingScript
35
+ change?: boolean
36
+ }
@@ -0,0 +1,500 @@
1
+ import BeefTx from '../../transaction/BeefTx'
2
+ import BeefParty from '../../transaction/BeefParty'
3
+ import { Beef, BEEF_V1, BEEF_V2 } from '../../transaction/Beef'
4
+ import Transaction from '../../transaction/Transaction'
5
+ import { fromBase58 } from '../../primitives/utils'
6
+
7
+ // The following imports allow full type checking by the VsCode editor, but tests will fail to run:
8
+ /*
9
+ import BeefTx from '../BeefTx'
10
+ import Beef from '../Beef'
11
+ import BeefParty from "../BeefParty"
12
+ import { BEEF_V1, BEEF_V2 } from "../Beef"
13
+ import Transaction from "../Transaction"
14
+ import { fromBase58 } from "../../primitives/utils"
15
+ */
16
+
17
+ describe('Beef tests', () => {
18
+ jest.setTimeout(99999999)
19
+
20
+ const chainTracker = {
21
+ currentHeight: async () => 1631619, // Mock function returning the current height as a Promise<number>
22
+ isValidRootForHeight: async (root: string, height: number) => {
23
+ const knownRoots = {
24
+ 1631619:
25
+ 'a3dd0604ac7a431a90d19f04b073b00007963947163f98e38a23229c43c69b0a',
26
+ 875732:
27
+ 'a19c54129ab996c72cda7721b4555b47d11b21e1fe67aa63c59843edb302b6c2',
28
+ 1651724:
29
+ '0fa8e6a2a8860eaec7365217c1cf64a905dc7936342b36a86566f933187f8c62',
30
+ }
31
+
32
+ if (knownRoots[height] !== undefined) {
33
+ return root === knownRoots[height]
34
+ }
35
+
36
+ return false
37
+ }
38
+ }
39
+
40
+ test('0_mergeTransaction', async () => {
41
+ const beef = Beef.fromString(beefs[0])
42
+ expect(beef.toHex()).toBe(beefs[0])
43
+ expect(beef.toLogString()).toBe(beefs0Log)
44
+ expect(Beef.fromBinary(beef.toBinary()).toLogString()).toBe(beefs0Log)
45
+
46
+ const btx = beef.txs[0]
47
+
48
+ if (beef.txs[0].tx == null) {
49
+ throw new Error('Transaction is undefined') // ✅ Ensure tx is valid
50
+ }
51
+ beef.txs[0] = new BeefTx(beef.txs[0].tx, 0)
52
+
53
+ expect(Beef.fromBinary(beef.toBinary()).toLogString()).toBe(beefs0Log)
54
+ beef.txs[0]._tx = undefined
55
+ beef.txs[0]._rawTx = undefined
56
+ beef.txs[0]._txid = undefined
57
+
58
+ expect(() => beef.txs[0].txid).toThrow('Internal')
59
+ expect(() => beef.toBinary()).toThrow('Internal')
60
+
61
+ beef.txs[0] = btx // Restore the original transaction
62
+
63
+ const tx = Transaction.fromHex(txs[0])
64
+ beef.mergeTransaction(tx)
65
+ expect(beef.toLogString()).toBe(log2)
66
+
67
+ {
68
+ const beef = Beef.fromString(beefs[0])
69
+ beef.mergeTransaction(Transaction.fromHex(txs[0]))
70
+ expect(beef.isValid(undefined)).toBe(true)
71
+ expect(await beef.verify(chainTracker, undefined)).toBe(true)
72
+ // This should be the existing value, leaving beef both structurally and computedRoots valid.
73
+ beef.bumps[0].path[1][0].hash =
74
+ '36ebdb404ec59871c8e2b00e41d8090d28a0d8a190d44606e895dd0d013bca00'
75
+ expect(beef.isValid(undefined)).toBe(true)
76
+ expect(await beef.verify(chainTracker, undefined)).toBe(true)
77
+ // Now make the bump structurally valid, but with an invalid computed root.
78
+ beef.bumps[0].path[1][0].hash =
79
+ 'ffffdb404ec59871c8e2b00e41d8090d28a0d8a190d44606e895dd0d013bca00'
80
+ expect(beef.isValid(undefined)).toBe(true)
81
+ expect(await beef.verify(chainTracker, undefined)).toBe(false)
82
+ }
83
+
84
+ {
85
+ const btx = new BeefTx(tx.toBinary(), undefined)
86
+ expect(btx.rawTx).toEqual(tx.toBinary())
87
+ }
88
+
89
+ {
90
+ const btx = new BeefTx(
91
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07',
92
+ undefined
93
+ )
94
+ expect(btx.rawTx).toBe(undefined)
95
+ }
96
+
97
+ const r = beef.sortTxs()
98
+ expect(r.missingInputs.length).toBe(0)
99
+ expect(beef.toLogString()).toBe(log2)
100
+
101
+ {
102
+ const b = new Beef()
103
+ b.mergeTxidOnly(
104
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07'
105
+ )
106
+ const bin = b.toBinary()
107
+ const b2 = Beef.fromBinary(bin)
108
+ expect(b2.txs[0].isTxidOnly).toBe(true)
109
+ expect(b2.txs[0].txid).toBe(
110
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07'
111
+ )
112
+ }
113
+
114
+ {
115
+ const beef = new Beef()
116
+ beef.mergeTransaction(Transaction.fromHex(txs[0]))
117
+ const { missingInputs } = beef.sortTxs()
118
+ expect(missingInputs).toEqual([
119
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07'
120
+ ])
121
+
122
+ const beef0 = Beef.fromString(beefs[0])
123
+ beef.mergeBump(beef0.bumps[0])
124
+
125
+ if (beef0.txs[0].rawTx == null) {
126
+ throw new Error('rawTx is undefined') // ✅ Prevents TypeScript error
127
+ }
128
+ beef.mergeRawTx(beef0.txs[0].rawTx, undefined) // ✅ Safe assignment
129
+
130
+ expect(beef.isValid(false)).toBe(true)
131
+ }
132
+
133
+ {
134
+ const beef = new Beef()
135
+ beef.mergeRawTx(Transaction.fromHex(txs[0]).toBinary())
136
+ // Transactions are not rooted in bumps.
137
+ expect(beef.isValid(false)).toBe(false)
138
+ }
139
+
140
+ {
141
+ const version = 4290641921
142
+ expect(() => Beef.fromString(beefs[1])).toThrow(
143
+ `Serialized BEEF must start with ${BEEF_V1} or ${BEEF_V2} but starts with ${version}`
144
+ )
145
+ }
146
+ })
147
+
148
+ test('1_all merkleRoots equal', async () => {
149
+ const beef = Beef.fromString(beefs[0])
150
+ expect(beef.isValid(undefined)).toBe(true)
151
+ const mp = beef.bumps[0]
152
+ mp.path[0].push({
153
+ offset: 2,
154
+ hash: 'd0ae03111611f04a4c6e45a0a93f62f69c5594b64b369c0262289695feb2f991',
155
+ txid: true,
156
+ duplicate: false
157
+ })
158
+ mp.path[0].push({
159
+ offset: 3,
160
+ hash: undefined,
161
+ txid: false,
162
+ duplicate: true
163
+ })
164
+ expect(beef.isValid(undefined)).toBe(true)
165
+ mp.path[0][2].hash =
166
+ 'ffae03111611f04a4c6e45a0a93f62f69c5594b64b369c0262289695feb2f991'
167
+ expect(beef.isValid(undefined)).toBe(false)
168
+ expect(await beef.verify(chainTracker, undefined)).toBe(false)
169
+ })
170
+
171
+ test('2_allowTxidOnly', async () => {
172
+ const beef = Beef.fromString(beefs[0])
173
+ expect(beef.isValid(undefined)).toBe(true)
174
+ beef.mergeTxidOnly(
175
+ 'd0ae03111611f04a4c6e45a0a93f62f69c5594b64b369c0262289695feb2f991'
176
+ )
177
+ expect(beef.isValid(undefined)).toBe(false)
178
+ expect(beef.isValid(true)).toBe(true)
179
+ })
180
+
181
+ test('3_removeExistingTxid', async () => {
182
+ const beef = Beef.fromString(beefs[0])
183
+ expect(beef.isValid(undefined)).toBe(true)
184
+ expect(beef.txs.length).toBe(1)
185
+ beef.removeExistingTxid(
186
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07'
187
+ )
188
+ expect(beef.isValid(undefined)).toBe(true)
189
+ expect(beef.txs.length).toBe(0)
190
+ })
191
+
192
+ test('4_mergeTransaction with parent txs', async () => {
193
+ {
194
+ const beef = Beef.fromString(beefs[0])
195
+ const tx1 = beef.txs[0]?.tx
196
+ if (tx1 == null) {
197
+ throw new Error('tx1 is undefined')
198
+ }
199
+
200
+ const tx2 = Transaction.fromHex(txs[0])
201
+ const input = tx2.inputs.find((i) => i.sourceTXID === tx1.id('hex'))
202
+ if (input == null) {
203
+ throw new Error('Input not found in transaction inputs.')
204
+ }
205
+ input.sourceTransaction = tx1
206
+
207
+ const beefB = new Beef()
208
+ beefB.mergeTransaction(tx2)
209
+ expect(beefB.isValid(undefined)).toBe(false)
210
+ expect(beefB.txs.length).toBe(2)
211
+ beefB.mergeBump(beef.bumps[0])
212
+ beefB.mergeBump(beef.bumps[0])
213
+ expect(beefB.isValid(undefined)).toBe(true)
214
+ }
215
+ {
216
+ const beef = Beef.fromString(beefs[0])
217
+ const tx1 = beef.txs[0]?.tx
218
+ if (tx1 == null) {
219
+ throw new Error('tx1 is undefined')
220
+ }
221
+
222
+ tx1.merklePath = beef.bumps[0]
223
+ const tx2 = Transaction.fromHex(txs[0])
224
+ const input = tx2.inputs.find((i) => i.sourceTXID === tx1.id('hex'))
225
+ if (input == null) {
226
+ throw new Error('Input not found in transaction inputs.')
227
+ }
228
+ input.sourceTransaction = tx1
229
+
230
+ const beefB = new Beef()
231
+ beefB.mergeTransaction(tx2)
232
+ expect(beefB.isValid(undefined)).toBe(true)
233
+ expect(beefB.txs.length).toBe(2)
234
+ }
235
+ })
236
+
237
+ test('5_mergeBeef', async () => {
238
+ {
239
+ const beef = Beef.fromString(beefs[0])
240
+ const beefB = Beef.fromString(beefs[0])
241
+ beef.mergeBeef(beefB)
242
+ expect(beef.isValid(undefined)).toBe(true)
243
+ }
244
+ {
245
+ const beef = Beef.fromString(beefs[0])
246
+ const beefB = Beef.fromString(beefs[0])
247
+ beef.mergeBeef(beefB.toBinary())
248
+ expect(beef.isValid(undefined)).toBe(true)
249
+ }
250
+ {
251
+ const beef = Beef.fromString(beefs[0])
252
+ const beefB = new Beef()
253
+ beefB.mergeRawTx(Transaction.fromHex(txs[0]).toBinary(), 0)
254
+ beef.mergeBeef(beefB)
255
+ expect(beef.isValid(undefined)).toBe(true)
256
+ }
257
+ {
258
+ const beef = Beef.fromString(beefs[0])
259
+ const beefB = new Beef()
260
+ beefB.mergeTransaction(Transaction.fromHex(txs[0]))
261
+ beef.mergeBeef(beefB)
262
+ expect(beef.isValid(undefined)).toBe(true)
263
+ }
264
+ {
265
+ const beef = Beef.fromString(beefs[0])
266
+ const beefB = new Beef()
267
+ beefB.mergeTxidOnly(
268
+ 'd0ae03111611f04a4c6e45a0a93f62f69c5594b64b369c0262289695feb2f991'
269
+ )
270
+ beef.mergeBeef(beefB)
271
+ expect(beef.isValid(true)).toBe(true)
272
+ }
273
+ })
274
+
275
+ test('6_BeefParty', async () => {
276
+ const bp = new BeefParty(['b', 'c'])
277
+ expect(bp.isParty('a')).toBe(false)
278
+ expect(bp.isParty('b')).toBe(true)
279
+
280
+ bp.addKnownTxidsForParty('a', ['1'])
281
+ bp.addKnownTxidsForParty('a', ['2'])
282
+ bp.addKnownTxidsForParty('b', ['3', '4'])
283
+ bp.addKnownTxidsForParty('c', ['2', '3'])
284
+
285
+ expect(() => bp.addParty('a')).toThrow('Party a already exists.')
286
+ expect(() => bp.getKnownTxidsForParty('z')).toThrow('Party z is unknown.')
287
+
288
+ expect(bp.getKnownTxidsForParty('a')).toEqual(['1', '2'])
289
+ expect(bp.getKnownTxidsForParty('b')).toEqual(['3', '4'])
290
+ expect(bp.getKnownTxidsForParty('c')).toEqual(['2', '3'])
291
+
292
+ {
293
+ const v = bp.getTrimmedBeefForParty('a').toLogString()
294
+ expect(v).toBe(`BEEF with 0 BUMPS and 2 Transactions, isValid false
295
+ TX 0
296
+ txid: 3
297
+ txidOnly
298
+ TX 1
299
+ txid: 4
300
+ txidOnly
301
+ `)
302
+ }
303
+ {
304
+ const v = bp.getTrimmedBeefForParty('b').toLogString()
305
+ expect(v).toBe(`BEEF with 0 BUMPS and 2 Transactions, isValid false
306
+ TX 0
307
+ txid: 1
308
+ txidOnly
309
+ TX 1
310
+ txid: 2
311
+ txidOnly
312
+ `)
313
+ }
314
+ {
315
+ const v = bp.getTrimmedBeefForParty('c').toLogString()
316
+ expect(v).toBe(`BEEF with 0 BUMPS and 2 Transactions, isValid false
317
+ TX 0
318
+ txid: 1
319
+ txidOnly
320
+ TX 1
321
+ txid: 4
322
+ txidOnly
323
+ `)
324
+ }
325
+ })
326
+
327
+ test('7_AtomicBeef', async () => {
328
+ {
329
+ const beef = Beef.fromString(beefs[0])
330
+ expect(beef.toHex()).toBe(beefs[0])
331
+ beef.sortTxs()
332
+ const beefHex = beef.toHex()
333
+
334
+ const tx = beef.txs[beef.txs.length - 1]?.tx
335
+ if (tx == null) {
336
+ throw new Error('Transaction (tx) is undefined.')
337
+ }
338
+
339
+ expect(tx).toBeTruthy()
340
+ const atomic = tx.toAtomicBEEF(true)
341
+
342
+ // Verify that atomic BEEF can be deserialized.
343
+ const beef2 = Beef.fromBinary(atomic)
344
+ // The merkle path isn't linked to tx by default.
345
+ expect(beef2.toHex()).not.toBe(beefHex)
346
+ {
347
+ const atx = beef.findAtomicTransaction(tx.id('hex'))
348
+ if (atx == null) {
349
+ throw new Error('Atomic transaction (atx) not found.')
350
+ }
351
+ const atomic = atx.toAtomicBEEF(true)
352
+
353
+ // Verify that atomic BEEF can be deserialized.
354
+ const beef2 = Beef.fromBinary(atomic)
355
+ // The merkle path now is linked to tx by default.
356
+ expect(beef2.toHex()).toBe(beefHex)
357
+ }
358
+ }
359
+ {
360
+ const beef = Beef.fromString(beefs[0])
361
+ expect(beef.toHex()).toBe(beefs[0])
362
+ beef.mergeTransaction(Transaction.fromHex(txs[0]))
363
+ beef.sortTxs()
364
+ const beefHex = beef.toHex()
365
+
366
+ const tx = beef.txs[beef.txs.length - 1]?.tx
367
+ if (tx == null) {
368
+ throw new Error('Transaction (tx) is undefined.')
369
+ }
370
+
371
+ expect(tx).toBeTruthy()
372
+ const atx = beef.findAtomicTransaction(tx.id('hex'))
373
+ if (atx == null) {
374
+ throw new Error('Atomic transaction (atx) not found.')
375
+ }
376
+
377
+ const atomic = atx.toAtomicBEEF()
378
+ // Verify that atomic BEEF can be deserialized.
379
+ const beef2 = Beef.fromBinary(atomic)
380
+ expect(beef2.toHex()).toBe(beefHex)
381
+ }
382
+ })
383
+
384
+ test('8_toBinaryAtomic', async () => {
385
+ const beef = Beef.fromString(beefs[0])
386
+ const tx = Transaction.fromHex(txs[0])
387
+ beef.mergeTransaction(tx)
388
+ beef.sortTxs()
389
+ beef.toLogString()
390
+ const atomic = beef.toBinaryAtomic(tx.id('hex'))
391
+ const t2 = Transaction.fromAtomicBEEF(atomic)
392
+ const beef2 = t2.toAtomicBEEF()
393
+ expect(atomic).toEqual(beef2)
394
+ })
395
+ test('9_sortTxs', async () => {
396
+ {
397
+ const beef = new Beef()
398
+ beef.mergeTxidOnly('a')
399
+ const btx = beef.mergeTxidOnly('b')
400
+ btx.inputTxids = ['a']
401
+ beef.sortTxs()
402
+ expect(beef.txs[1].txid).toBe('b')
403
+ }
404
+ {
405
+ const beef = new Beef()
406
+ const atx = beef.mergeTxidOnly('a')
407
+ beef.mergeTxidOnly('b')
408
+ atx.inputTxids = ['b']
409
+ beef.sortTxs()
410
+ expect(beef.txs[1].txid).toBe('a')
411
+ }
412
+ })
413
+
414
+ test('10_deserialize beef with extra leaves', async () => {
415
+ const b58Beef = b58Beef10
416
+ const beef = Beef.fromBinary(fromBase58(b58Beef))
417
+ expect(beef.isValid()).toBe(true)
418
+ const abeef = beef.toBinaryAtomic(beef.txs[beef.txs.length - 1].txid)
419
+ const pbeef = Beef.fromBinary(abeef)
420
+ pbeef.addComputedLeaves()
421
+ const pbeefBinary = pbeef.toBinary()
422
+ expect(pbeefBinary).toBeTruthy()
423
+ expect(beef.isValid()).toBe(true)
424
+ expect(await beef.verify(chainTracker)).toBe(true)
425
+ })
426
+
427
+ test('11_wrongBumpTxid', async () => {
428
+ const b = Beef.fromString(wrongBumpTxid)
429
+ const valid = b.isValid()
430
+ expect(valid).toBe(false)
431
+ })
432
+
433
+ test('12_bumpIndexEncoding', async () => {
434
+ const b = Beef.fromString(bumpIndexEncoding)
435
+ // These are in the incorrect order!
436
+ expect(b.txs[1].txid).toBe('147050ccef091ca3d7a36661ca0928aa93a3a9a6dfe565977c2f56179d7a6159')
437
+ expect(b.txs[0].txid).toBe('0e579e9741f522e15536874090d20da7572a7e1ddd4bf42740f40e17c3605604')
438
+ const valid = b.isValid()
439
+ expect(valid).toBe(true)
440
+ expect(b.version).toBe(BEEF_V1)
441
+ const bytes = b.toBinary()
442
+ {
443
+ const b = Beef.fromBinary(bytes)
444
+ // These are now in the correct order!
445
+ expect(b.txs[0].txid).toBe('147050ccef091ca3d7a36661ca0928aa93a3a9a6dfe565977c2f56179d7a6159')
446
+ expect(b.txs[1].txid).toBe('0e579e9741f522e15536874090d20da7572a7e1ddd4bf42740f40e17c3605604')
447
+ const valid = b.isValid()
448
+ expect(valid).toBe(true)
449
+ expect(b.version).toBe(BEEF_V1)
450
+ }
451
+ })
452
+ })
453
+
454
+ const b58Beef10 =
455
+ 'gno9MC7VXii1KoCkc2nsVyYJpqzN3dhBzYATETJcys62emMKfpBof4R7GozwYEaSapUtnNvqQ57aaYYjm3U2dv9eUJ1sV46boHkQgppYmAz9YH8FdZduV8aJayPViaKcyPmbDhEw6UW8TM5iFZLXNs7HBnJHUKCeTdNK4FUEL7vAugxAV9WUUZ43BZjJk2SmSeps9TCXjt1Ci9fKWp3d9QSoYvTpxwzyUFHjRKtbUgwq55ZfkBp5bV2Bpz9qSuKywKewW7Hh4S1nCUScwwzpKDozb3zic1V9p2k8rQxoPsRxjUJ8bjhNDdsN8d7KukFuc3n47fXzdWttvnxwsujLJRGnQbgJuknQqx3KLf5kJXHzwjG6TzigZk2t24qeB6d3hbYiaDr2fFkUJBL3tukTHhfNkQYRXuz3kucVDzvejHyqJaF51mXG8BjMN5aQj91ZJXCaPVqkMWCzmvyaqmXMdRiJdSAynhXbQK91xf6RwdNhz1tg5f9B6oJJMhsi9UYSVymmax8VLKD9AKzBCBDcfyD83m3jyS1VgKGZn3SkQmr6bsoWq88L3GsMnnmYUGogvdAYarTqg3pzkjCMxHzmJBMN6ofnUk8c1sRTXQue7BbyUaN5uZu3KW6CmFsEfpuqVvnqFW93TU1jrPP2S8yz8AexAnARPCKE8Yz7RfVaT6RCavwQKL3u5iookwRWEZXW1QWmM37yJWHD87SjVynyg327a1CLwcBxmE2CB48QeNVGyQki4CTQMqw2o8TMhDPJej1g68oniAjBcxBLSCs7KGvK3k7AfrHbCMULX9CTibYhCjdFjbsbBoocqJpxxcvkMo1fEEiAzZuiBVZQDYktDdTVbhKHvYkW25HcYX75NJrpNAhm7AjFeKLzEVxqAQkMfvTufpESNRZF4kQqg2Rg8h2ajcKTd5cpEPwXCrZLHm4EaZEmZVbg3QNfGhn7BJu1bHMtLqPD4y8eJxm2uGrW6saf6qKYmmu64F8A667NbD4yskPRQ1S863VzwGpxxmgLc1Ta3R46jEqsAoRDoZVUaCgBBZG3Yg1CTgi1EVBMXU7qvY4n3h8o2FLCEMWY4KadnV3iD4FbcdCmg4yxBosNAZgbPjhgGjCimjh4YsLd9zymGLmivmz2ZBg5m3xaiXT9NN81X9C1JUujd'
456
+
457
+ const txs: string[] = [
458
+ // 0
459
+ '0100000001074d631cc91344daf964cb8b1f43fd3439b804eb673cbe82d9bde3dcc6394abd020000006b48304502210096e24b07db278344a32c12667bac0d38ea87b28e9c52f3630ff7c11760d4002e02201b9dc879465c82152920f650828bfabba0d0bc8f7e15b568b196f1fa7e2cb4644121034e6dcc60f278b83e3e7b2b6570c13a184f4cf27a279199625c981adfe42de997ffffffff03b706000000000000fdc20421029b09fdddfae493e309d3d97b919f6ab2902a789158f6f78489ad903b7a14baeaac2131546f446f44744b7265457a6248594b466a6d6f42756475466d53585855475a474d3004a1edf497c9db470e7862d8c8319b4312f197a18db529a5839ba7c7e4f4dcee4ff4b4651a2a30040ef0aab1c2a4386620b96cb068c2ad2bc06ed90cebed65643710497f785f48c91482ac86893dd675c3de5d7db2e305fb30a588c75282f062367dee1dd4d930502f64f043c45cd1f220f875ff749f5449c99b29a200a86287a842a4f1df21dafda06a1b39b590b33b15109ee8a700728f1a80016ed370f639b35c9d079dea938d7fe451a52c744605a64a89ac7ebfcf692ef345a1e41fba055c197f7e3f608196001ed150bd56883970f3b8954a63aa70e4fa1c33799d43caaacf7ca30f8e873a6a20a04b1508f851633fcb4f30de75954747e702775b143c668c3b80cef96001980f05a8322726a567a379a2901db030057400bf0484c0852b1ec42cdaae6bf9f258ba0c914d83a96522d63b46a71571087fc4ad4ea0be0f6f354e7f638a7c316ceca3be69698104c1662ce0d5f4334b3327377497f9bb8605388c86a5a3928b22dbafd20a488442862c0ea4cd72778ae3b1bfd1d517299969f553b21173f75b530d1c19e23835dbc423c0ab5d3a894560a064951e237d2956db5d007d2132721a949849df49c5c5ab21f9eacb9ea5aa704c37cd101c17bee37954eae01472096f0e3e52b9f98d46426f35437c76c643c6f5d4d0a5ceb89d03a31c451d7882a527c9e78abf01f6178446cd74a7ad4190f364cc79fccc91583f3521e706bd548dc19633234fe96e40e19ef6424b252691e2183484cbf088e965066d4b93b80de927f3426e71f265152d898537c6112ed4500b8b7f23d033c18bad6c3ae5a2e069b03af5b619a334713f367082d41fdff8d5b17ab90a8aff224fbec3a8ca93828fe18c24b54fdcffdd9ee53c40808a4d233a56ed6f21bda0ebf1f4375785f2427da484ba9cdcd45bd28f8072e885bcb687c575ed00bea520508e795b32b7c882ffdd36062e9f748fddbb99a71e7afaed26c24e631ccce19ceb92f1920fb45ae30b58dde09389062eccf1292c55aca96e7eae53a3b6721a568b1bc8f1bad201c0e3b3fe7caec178e491dc12e97a0d0448136f7fb9970c7b053a85a553927a2273682eb2ae4c41c12f1d893d427f659048bbfa6c4be0682d8226d21e4b522e0a2d575655dea64d36d1e0f5719d4f6d06b47f4b4e32731652f0c12e28a9642e90d049b0fbc2c2c94079106c017ad85a81882344ddb71e3c5de31f5b42df9c269e1f64e36b3179ef5e9581fc57c1ed919962ba11686ef0e0a40694f8733bd1e2232196ca4f35c33df1b27872bd3aa0e258601192e50ec5bb64c6ae1a60f580cb6434048c7a419a76028f95442ce5c628f1324281ca3e8050c7ea8a90c3782a6df2cfee5d735e43f518bc215017cd036f70011312204bf885c615b1d1601626de7a1ff9ff21a44818fa19b7a8ed241b6f16380c9e376c6c7a2f48414269e4a3f130ac5c01a7ca8ad4af044ed4288657f59b675e89287c3811c8e81ba1c75f68b8ec85a35d15b5f1cee0fa25874730450221008d6e0b7d98442477d5637fc12fa871f224fd82194d2c3d8e524a12e389ddc35602206286a3b292ef3bac9f047c842a3e9b418102617546e9dc6f9dcc6653c82e645c6d75c8000000000000001976a9142e1ba3aade0562035e69630cb40024f403c0599e88ac77420000000000001976a914eeea6c76530f46d0f2a20ad522c4a6886bad686d88ac00000000'
460
+ ]
461
+ const beefs: string[] = [
462
+ // 0
463
+ '0100beef01fe83e5180002020000ffc5b2a2bf5860e98e3e4dbeee031efa3b39d7d5c1ed7ee51e42663a0002777c0102074d631cc91344daf964cb8b1f43fd3439b804eb673cbe82d9bde3dcc6394abd01010000ca3b010ddd95e80646d490a1d8a0280d09d8410eb0e2c87198c54e40dbeb3601010000000170db5fb358f367564f07bfd1aed51ac63493ccb8ee6220a531b8905c6b4ab778020000006b4830450221008469135692bc1e7c14988f884161ae228dcfa9e3b30fca4ef0c22beac0a54ab4022004ed0c41d06c63ad3cd8193228347c5cc00a0d564e9cd11f8c72fb445bb9053e4121033a5b51483b43898ef6e1faf504167def7ad2755a1e0f68278c65f8162b7b811dffffffff03b706000000000000fdc23021029b09fdddfae493e309d3d97b919f6ab2902a789158f6f78489ad903b7a14baeaac2131546f446f44744b7265457a6248594b466a6d6f42756475466d53585855475a474d3030bbf64267d1333e65ff33de8b7aa497187ea5c74b0721d143bb82c6cdb0f803b264d2298a57e7c21b257e8ea76be83e7a0659595c1cfa3d095458f5a0360be6593124e5dd798fd94ab939f7d596687d30c12d820a2a708c4c369211fd5f6e3d05a9e92fced4afa6bf0be8cbf8636db2925a7534f2bfc5ffeb43f9fd25cfea55e93d195db2ae454a3dea254ae6117027beb080b5c5fb6b6f36ae0ba077ed3767462d61fa8acede7051ae717aaeef257508f897e03fdcf4a85f80639131e98a5fe3ba0abf7f94fd87ffa1e56bd45fd7b27ba02c9518fe04d5101a97d2d509ec6e8409559297eef4f82ea76831702964476c14055571e9a0b4fca25ae57042d9a4cd7d72d90ea48edd1d2b1e36c8cadc84d5ec91c5e766ca4afc43bf055500b1e4f8cc9ddfdf6272271a3e5d23e75c0d70c78feffa1e45900a3f4011d29f1b29257cb12553736840a1afb01f80c6ce7099763078f64fee5defeef5c0349b145053b2c066afd58417df9ef54ce46a0463d259d0ae1555812a672ad5fb94f5328d0b061aba715d91c8468711effcd83e745b404c8348096099618aa45bdee66900df6a156f559381fd1d1f8bed0092f92801f690a27726ad1e37e2850ca9c4a15ad5ab546836c947700411f340bc22f832b68ecd33ff7115295c1d2ac1a33c63344e8c208f78faad38daa2349051266e5337ba767964c57edee2094e2d96f256e61bed4d9cf68d6d60b4252ef90be29133271753efe6ac16c3091b18d163441e464083b11fa676604852ce63ba84d61610f7fb6f8176c3745d67b2d828a0ffe394fe96eef298f776bfc16fd7f80a15fe85de47dea4e5f48f9b694255289283f6b5bcebc954c38c59549e4b0e264545f2ac974fbc7dfe41b12cf0de8ca80a7f5100a7fc7eeb543868935c48f0c31d351d0a7e99186d995daa1356c72de6864370df7852b2a94cbc9328b0823d44955e0bd19172df78679654945845c64ff0598fb1c6695270efa20f8849fd391a63bb90e6dd803c735699a3507dad970f500e20c181627f4d5e8e2aa801fb0e88bda2126292133b8ebddf94641e9a76115942683e2df34b2c31803d4a156148303c279f384322f1a5dee1c5f1b1ff7616313642e7e1041bd72fcaec8ebd1427d4d111937571bf4cecac930d85db31074a3d3a0f96c1356c71fc751cd66353011e269ae76c3c48a72c8f575fcbc797a936e21bf4f295345edf188fda6a08c437f3171f9b5f830c23b9793c1a6f8928ef7410e4a6f37d185a3eee8d10c687eb4513fbda765607ce5afa57f8a4ed81b13b7a6df94540b105fea1e7956de57b2567e24bc73ac7c5502fc3b2287f6e9230f982e58b2b4448bb4130ef81d5e00a6a987ffb6d73219c0391bee3e564213f81a2852beeb40a5ac0f496a19af87ab12f971f90ebbd5532d343f32b1073d2562e48d7103b1a86151ef5df2536915688132c294b3578947f037c6436dd77d63bc33ec225d9ab1228e296df1b2f33750ed12b85a0e451c51e55a1bb5398b40dfd9d3a26887cb9b2540282adda194e93f9d07e21a7026d22e58f371b9f9e515f3b8b6f1351f9c42e35d643bf056e20a932a10d54ca40d62c880bdba97c696c4f6f7d889f65849def09b3deecf6934806213773629aa18cd477c22bab89bdde206c861281ce862a95e66dd01e3954c429bb85c18ee62e107512a87d7ee7950b6dcbf11a0593e7209ff6f9b4808b9a8fa640a3566a632ad86aa83e9e7b84f252077fc4191554995c0f88f882050176d58579bfd17adf3f85e36808e31ea0874b8a13a928d1b678db77e32d4583dd176faf52aecd214464455b8f57cd2d376646cbe9dd10fb5e25240c98c4346816c6c3be751390b6684ee7f16be1f89f98b3fb1cee35ec1995c036375385792af5bfa4a884b8b2a0f2c534facf4e2e333fd3d2ff9608c5f8c9dccef920a4a5df9c436c0bf20f4174146b523e70ec5af9ff178a16cc2fe80ee5b900312191f4cf99cf705c78293e183e717d748c49d9a96b31e6c286fd669787fc214e006f8c3ad94847e6972520c23cb521d2f0ad0547460cf4f2c25b1a7874ca018efc03a6362ade6603a29ff22490e6009346902554212a44219a7eb640fe1428b4b7939642575537aba9a29f022b4a400f503245acf830f9f4965d6e10284c2f32b14602acfb4692197cfe45c12283d866da99edbbf661e8f52392777c7850d5f889e788167a3edd08ac614503389c224bf8f2d0499171a23c5871548b769e99ec08de30eb08ece6989fef53786fe91b07139b03b1982c10d86cbb0e96b41976df17e1a6b5226603f3e734778773e76ca940529bbbca6d55b062441c5c42bd8ed280cb5cff3024c44d50db574c8c7089d9c07180d8c29f20c03ab4beb71ac122dd0f6c121da54c06296baaad38668af5bdf7b988d8b01c7029fb67fa0f2f69eb64aac897039dac3556f87688525ac47d5ab1302f34c0b776feca3d5b553e3ffeaef181d510a4d03b2e20930df7b965e450ba2630c9d76145956ed163f70d19c9ad5107f597573a884706a50141830520570e90e0fc50f654e266f13c6de5cc35746ef71fcdd6eb60da9739e1c1914908a46895b6d219abffd1189b0ef50b86dcfdbf4ab743c6b3f6c64c3a41f3c5a59a5d0c43bbeaf6ca8d124c294adf682c6289786fe1c1516dd29f61aa0fec908b107b67fff16c46e8010c631924701c994725d0c96cae59e9b51cc273def39b53e6b4fb0690871dc1ec58f8216821bb0536b7b639ac1ed855a9a45c07b534072f056b572c09282a636634e2ea00a69bca95e79e6da826e1356ec113977b69528cb426d1044b8058150024518e79b9cb9d6401b346e37da900ec7bd3688a55a758c882f5600bdf825bf922f43e9ee5d505016177e31033aea5befe6992d4141196e0979f4c386754fef88b28761cc26682494bd3a12442b2e7b10bfba61fc1c832c4309d74af1cb913a88575498acec7a636379a0db516bab2ec2860b7e25826a1b671c2a80f9194a3e555f61d6a82ff7e5a7804a92d709ad5da401a25b4786c0633efea1a1d60699a79056d3fa6c1e7a3868b14a0571bd726e6a4e61a82cf2b51b9d4002b5d5793412d3216e2d9ac4f95831aa84a16f9a5e5497b573d1e34d6426dc517b9e76afaeb11e943d14f3dbf830ffddd3e0f6ed92d56b0c7ca6112e3896a222b64675f54bbecc3c5149c5c683e2772c403f0779f1340ce350bbbbc8230ae972629a8567762a56506468889448a2f30fa0e965e8007c74da14604239af955b7fcd4548c91333562e4e297d2bb6e708970e8bd02f3250fb6d7ec1855f79f75ddda5dc7beee1a9c8def899642f7c2c92f1f87506a78844572a3adde7e5d23863cef2b93d27db939f758ac286cdcb07cf278eeca61638fc658b180c3fe973d67fdf171e100dc53a4582c2f26eb970fd84ef23c137d49e701c6a989615195a3c3ac32fa931d7e9a88bd0aac294f22c4c58cee8e1d836e59f5bf790960818fbab840fad6c25140703157c1e3f6cf3b35f0072f3ab41f214ac6b238efc1d9246a96063b08168296ccc7071407619ebecaca009d01da4f65711fba34abed725572e47392bfac740b2a176d3900b6f2dde52721f21ec2725890e687245c068620ee2620070021d54ba98f55416c099f2eda6b78305c19dac2660392e29e19c2f8220e577258b66822dcca3afa44a9a62c1646a091ed32b40758ccbfd9c5a9e5b31915baf4c6d44ff2bfd01c86fe4ae494b98e2a5c9d53c4dee5acc94a0ea36d8d862b1c6b8ca196af8ba77cc6f5f50689135a6b7f2f683b5bc12421f0cc558f6cda85d361d177eccfc05e8fce0da9649920e9efb050fef8519392a8fa40b023000bee7a2e771000381af2efb8fca570924e9129628542563579966da1c7b40b03c4f0edb5959d83df9f0e49935de83d92dbfaae02b18074bec2bc863c27da3b841d92b878dcf9f54d66c819033d9f263fe66d4c9e2878d4371cedeb9a181cda09c5011038b791d130c0b9816f6cddc0d4d674465977d699255821cafbfe2f48d84e065a1b86174fa042e5f372f57970c51b264bb4d7b80ddeffb2140b22e2d294fde9beac0145540ccd655a371cb9a0ff2e927ab940158371d5774ee9c1be2e6dc5120af16721d039ca855d3ce1c41cbea5a9c36c352ed672c5257ada6dc46ca3a532b2abf0568f73cbcb7cbeb4a5b33058b19235f4dd429fa537743ed7fd72547b9fa0321ff6d6ff1d1ce1e687b15d6f6c90895dee587b635aeb961ee9c06c1e52b8b3cd70b3add50c9fb1a186f4cdc03002b1407f987002da73be92a1982462b2fad53e92e751f5dd16ae4b97df05c054897caedc45e83f0a1d36320be4c4b42c6efdffc5b2720ff74469aa091603fc02e5651d6be2aa978c15b501c9cc2e1b0f2b3c9df97c65be65150a9b04945229cb87120ed435599a58360334e000b38075a557b124be2cd5399eda7a9f418516f8464464845c385ea036fc76521bfce6550f5113a0ef044862b50b01a2cde257c1f134eb2bfcfde880957be198c222d044af4d0ac86ea5ff99b837b3ae92ac8f4799dd768faba456c47d4575145ff1bcf84cac9b4bdeb6f8ccca1e1a0939951f84ae48dc4aa880a309443b9ec0bf94af2a843364a471e1fea482d9fbd231419a86365c1e53e6914aa23bd797e52b92ab7be0ffb7bd0ed3f4e75c64cc79c3dc1408c7bb12c9a480218870c4d3ff1987815b84b9bd4e80381649a04fa0f2befcc7940a42ad0796688ca86c61d471a3cf79b48d4072af72bf7c98825f09e9d4aae7b170283531467ee46c9b5b051769aedd0e357c21bbd92b5f73906a1d893d48267b8bc704a1fffc6dac5a604376bfdee6c93dea1856a1b9295a3b81d982b82004bd4eb01c9cf9347bbde0605034f7b0d45295fec392cbeabf6f2ebee705d03f32e78367a02f258adf4b079cbefee8febf71f35a3f27f33bb335ed4eaa15b4516b8bc70de738c488253a3bff94b3dfec8be3c8ceba004cb5f7f5f5424efbce4b3772c5b6440d8c800ecf1edf13ef4021e66117a5b611e9b04a4bdc3de412dba27f85ecac4148f458b0a96f444521e28e1ed18c5a40cb9ccbaa54a60810a66e7f4f2de0519e3bd06dd5df334f365731a8eb04c899158d7a63f3e2b673333b29a182b42e2e86a1d41264203b7b3121e6c1fcc5bd761fd0bc72f7d3f506fd04ace4131e42ab8044802a160dba7c23ba27fb75954d3c254b9701b43f1ea0e9327609087ced8360523d20260c7eb0d4eeeccf5f3095d74a9f517c187a586ab7b7f33ce3f0e5ee410257a5b8ee2351839aef687dea5b0c7db16daa4c8852e8d22a60598a3933493f6124038cf1cbd9a60d3fa9368e610aabca6af3cbb5f77616370c36398ab0bb8d7de2f14f7d6f149dfd282943b61dd6dd3c1e3f333d558389d8fce9d467e7d8e6c38778d5061db663e0b92e80cc7d07ef088811143c0c06bf3a3f9c0585d6a3ad1d4873c8024d06b955e0f7613fc24c3945a77b174cfb5973c00a8defd8a331e55d2c5272aa1ee7934dda411275cda8c0923defc7e738402fcf2341425a04728c40ca4b7fdfe476591daf9459800a61a09dabb070bfcbd45de6e9add3a8f891b8e5d630fc837bd3dacf8956e0ad21fb68faabb8eb00ae1f3eba5fac7460c4810aa0dc2db3e6a7be28ababad0a14fbd4ac1a7785d8865c025f7089b2bc7247674b3dfd6434df994428e9b7ee4be53d86b0e7339ed960f51cc458284a078a5e5768523da5d18cf9d9ffc7c36c12cd1bf9911b119d86ccd99521c41ff6397a4ed688e721a9d97c48b0871b6af3aa7d86a3c8bc2c6674e068531d2cde288efc2047fed9ff1f90ea2dc827f4d7fc933f40812aa8dd1c0fe518af9e3a5b9cac505e0156c3717b56e0c56d1d2f0f88f6f49a6911ae742383675f9dfe1440bc33fe25d8695641fc12a479bca5ebcdf127640f8ae70db3306900835c9d8c5634dcc13997df3b729348e205203312feccc584db9b94f9aa2d88f9e19813d9b509861adc7a3c8e307779cb139de65bbd63167fc9fa8ab1ffe2629080791d0d36fbec6af1c52553660718817f75a3eb901085dc80faca246f13d4a0b18fd6952128ec55e2f06b1352dc558fdddd5504c07897e7239c3877187f1b65bf4cce08f42b9fc6a8949dc13489225550665ce745b25a57cbf71e5f912339fb1e8c59e1f84977751327ecc35e3b17c540dad321e8f7f7fd5c96034e6d1abfbcb7bb2b3be7102c0a07e555ce6ba31001065375fe945cd8a3344558a2f8cccb7d9cbe76dd12097045eb0caa6d836724fcaad4414671dd257be056738d17c6a03b0af5a6b53d0376064373a0b40d746224bb90755f4b2bd0c03215000692efcb544b7b32a10a1ba1a9ccce627424b839dc07f48e9d0eb4ad12232ab9c2d51213863c69d460ad593d1dfb4165bd331a0ac3c34626b8f5c8806a62a7ca4bd78c7308526a92c18d42d6dd1dcc7bf95d89443005347ca76e72bfbd42a65f666e61447b45f1b4f88da12e27c0b14fb30cae1886ce1eae6fcb4b84058d5f190b103636889544f80e6337a4998b0ff1476c6a758e36daa4d9add245541ca8f9964f41498bbbc28cfc3346592f80463fba20dfd1cbf89ab7ed4cd8630e35524663900deb99dc2a871884f59668d908f11a37b767d89bb04dbac20ebdec6965e6151b793b0b83811c42b0346d6c84047432b9432df71aed83e6a1ae3af9bedd1bb9c710079f8ac5dff96c0bf36432097ecdd1bcdb5889d1c40256ebbee21b23627bf6b5c0ab57ba2cbceb5aa06b248c04765aeb9b50148da2d45a00cf280acbb35e15cfc6708e52c783d32940a6329879d076a5288cb2f40ac5e6c667f24770f358982553049f31a63127d4d98b255b7f5b56c6868d4488e44627bd44bf3a16fa7ee1672e1dc60a2f1dde87cc1af4474fdea9a9680c2edbae493f7c7f243dedce299ee3555d7e2959985e9ea51b10619bd0b3b47d12c8a5a829d5d818ccca3c3a004c4e0dae76aaea5b8a5e9a8f3a741c68f9f4ef4217dee17595a0535af442adac69aee9e899213910bd1b21bd7c9b88367d2ba5c38ebb16d0d58c427414f6bdda57d145559bb55d8dd11344a0e2a916b2c067410a9dae3cdb48dbd02c884f9acd7bb88ccff1f22be83da137d1f3006f0536aba5494b5e7b5ee42598c3c1fe0e86b50b28c752d639368f12e71cf6effce34461d437f4240e7d41803e020ade6dc6795bfa75bdb7f26b862b8209d770c45aa9dda2934f3ff2136880dcaf2166a0f7746f13c93fb730a821ff3a9cc4f99e28471f291d30131b0cacd54adda038a5f5ddd18499b80ca5769cf1d769a6e0f790de58fbe10facb3a70f0eb186688b2ab59396729422f4577cedf63a3bb79d7a62e071c73a2a65ea97f8a7e0f1a9f1b10ff00e77832f841c67cc932aa3dd841b46d602e56627e56a6ed5aacb040bedf3f0edfae500276b59f7f149c6303ee5b709dfeb90e2c7e9f24f277111dd16a4723b760d454af304418df87c65633eca4b17089dc6c32db9b64ec75e82a553306b634ae36adee8a851a2f802b2615e5964710dc44015a1920870479a2f8af92134a328b81508935796a97c3909bb1c2fa38cb39b53300280f59bfde0b434a08d9dcf17386f712879ab04c396e3669c490319c770b28f6a518d2187bfbf9535b6a819f03aef70766ebe2b22e6bb67ab364470e2d1d3d4f44fac058c4cd7da4f9b9939786d90f99c59fb28883642a14a6ced2f6fe0d7bf2241a7e14bd3cec85629ad228715d52c4b5095ba276e0c9e0bdf544b6f7322bf384c9cac27a08bc9bb88e8789a03dbc93851b0ba99cf002e0d81b1bae4236db1438ea25f3206113897cced52e53406ffaed7b91e024f42a16face62e222beaedeb1b3ee3ae8dd88f452a9a501b3ba5935ac0e800e7c9cf6d17e2a875038204de5d489907ef453a5a61d07cf878d60372a42353b97a06700967ef35c2660683e9c33848c9c6b827653a4aa45062969919cd63b8e96cf09f25c79616fbbc32d761408330b3da4b053edee8351a3f1cf3f5845996f3f9b17d510ba1492c7591123fbf52b934476397e9a59c7ed89aa97dcda8c3d09088ad828cd9194044482c1f08144b5d8f5328be47a28f56acf7bb541feb7e112e585fbb64b77e1416686a4a1297f80959dd9b997781e507bc59b86661cd09c21a56f8f671c9dc54c18176fffa40aa778afdadc8fb4586de353d63e67f4fef20a7102347546a2454a10d6cd515ed38c0a8dacc62e6f771969cda93bed3710df94dac47bf617d42749226c9419fa2278c49f45b5dd94d550d7a5343079d63eed98685ce6fa118b7922f5f0b8859e920dc1d7db5e1e87d2f9d29a1e3f43034e2d9e8acc8829d971677b0e31c68af84c5e899c5bf35b2b815027268098b23c37c22a4f59cc36887f512e37ef876f51174a5e72a9760f4d2d621f7f8bf1f503ae40398aed25c6c5c53eef6b21466fed458fbfd2974445114d0fa07ba6c0f2783c31148eb125a83e58a96a5072dc7479aef9c49ee338bc9c23f5a249bb29e99b5c49b42e94e8ec329413325cf0b4d603ea696d22af5e7de7cc07a4e5cb31739805bf7d756ea4b0c97e31a1325647d2c6a8b7ca9182b51ac5380f691a57f6b1b51494f88f30ecb628992e8517a75f46b23e03b0cc6042464b3864c872c9197f75f7af8c5fbeb89778434a5da2db86d69c148aa3db16c25f9c8830228e35bc45d8fcdf492d4bb9c4aa38683c500d71306d61f5363115166c9e26f551fe6675ed41d0c41d0e1acd14ffc7fa86e109c8c82edc49e42f4d406f91a4a0181aeeb779ebf4ee9915e3a6c368ae8ddad263d2b0c7483020d580edbef929b1004b9d028fd10e33819d626d36b7514b12f1bf0618144ab84fed7f0318b2ea314cf24b4c723ca260d6abc3edf0c174339bc28c1d2d5d9ff465df94568f36b33645797fcaf09d27980ecf42ace0e79fdcafba302b41bbcd71c06ac848d61f29a8f8f6046227847e50f03c8d351b4709e1cac619d8e56b4b1ea4a17e6bb96bec5b8af10007d93bb6eda15ce299e65be6a0526a1edc75f5fa216e35847b07193bcdd3c1d12454828e0f82212faeadb3e5893407251037f030f37d1875b12dea920f427e7fba5e3d1dbe9b399842e893a1fcbcf20b4bdeb00413c6fc00f110a31b50181fcb39c4539bc591084d2e138de9575d693bc2553343c17aafb91a72ef6e702a05455dfc2901339f6674298d08bd4b453fba94e9d742d9381c5af6d312f19d1a35716e53196d702c08e4afb92114473d661abb9b05a61f37c2171ecf0491b01516769cbde1c1e541597a4eb4fb81d8a6adfb4e581cccff2ab737bec496ebf045ab46a106fe5041bda2de254e988f29f7ae73d88b2238158fb4df835c722f1af80cd372ae0eb604d0e33bce6a221071f8b75be5317e823209917c857f72b83c0502726cee3e66d30e311af16932170a9d969470b118e57a2bcc56645c37a2440004423bda6d152bfbda7a4d32c22c3f29afa1c192906538825896cc3888f355dbf7cfae28900eb8ea0f0799a36246ac45fb2186fe7e609675cf0fae0c6152a8b2436a6ea2b2bde7b25ab14d7cb2299710bf4fd5962551ddb6b7ce13a536bdd15a01206b81f671edef0b1777dc6451ec696579bab5b9efbd624b1dd76e16cf00e1fa1bd4ec2d36db64579577acd73f83ed6fab2fdda46ed0ec6a38699da95434a26409fc1e95b8c3a5cad036570df511ed16a0643441accaa3693ceb2bb41ebda880b566b7a91f862b00f7a52b11803c9357cfbe9a5745591e478dc5aa5b089be48b6dd635e9cf28e48f601b58ede60d854b2043870882f70afc7222b107a6803caa9a0ee6e3d334068c5fafda8ade49d7e61a8a3d09cb7f34aa19a0643ca6c92af44b89702c9581112a9850f2e14cc79a13e730da2f6f759a01807221ed8a70d480e03c6938fe9d2e42204157463729c069e9165998505529b89045d2eebd0ab684b08b0d6e15cc76f2784ac00448887eb61a8424c9ee72f17a536b0ec6ad66a01602e5b074b3a586bca3b6f388798ee0a4308a23d3461d68332bed582096d500639a3884e1982c7a9967d10a172f360f3adf5f18bf129f4e3d77494c03ee3066ced49af5009b8d3be5aefcccc676f9b3bb01023f32d07f11820c110e3f2a8758d5f309b7e1bfb3ec52b42e939c4ebdee22be4359e4c3ef8ab39f281c54b0460ad0cec3989ded74680765d7dd36c6477d9b9cace3b4b6e54167eb612dc7637f99174d461d0dd353c50162af8688107e358bbf6d98c6f4a43af52cab696bbc34b007531ffbc6c111a3842df7376280eb61ae5886210afb199c4aff96ac9da26e2307200c166643753c015869ab9a7df4f868dfb6f0b43e8920ed4fe89ac2b1bb78f5a8dd8d633b86b9ac65f963f23b5a8dc4125aadb81f095663f0a707c666206e490ada2c87e9fb507586a428e71b292ff75fcf858b1959e1050302d5333567bd0bcdb663b3db94a60107f436703048d5541a11132337e3dd8c4888d9a002c5370ac6523881f89dff5cafc597f1cae3e50d38e81d6ea9c5325a9cfafe5fb41b7d054ff915531ba4c67e5f0a554caf47d4b0bf8f8f45ead6833b36024be4ec9a6c2ff19f19b9ed24b5f94691d3ba7ce51ebeed5207ac81bea9fa9b5f997e2b6d2b2b0df7b101d82d3d0fbbe88e5fce747061664a86cea9ac18c385805b35fedc33991c3279481cd51f8e6acc9b2c2e8c872a04607cf0d4836395c0eb8aea23a4075f62a49dcd92b83d5903da36ed9634b9c57382dd710b4e2c16667709d75396624511bf814a857cf4133b558641881075d5a5cea16f792314225065b7f75a71579506f4edc2bb8990dcb64fed15f1113cb5d3a481c16c2cebe02bea15113293956472adc27eb56dcc8c7cb10ec1a3b26f3205af03200c2ba62ddbfcf4f7e3f04023c871ce06f25da52279ecb1c5ff9e4755cca33a70abb3a41dd06ccbb7d27acae3afac7e23a989b068d7711cd28006229b1c65ed558933ef9365ba9b2833d3acdb40af53d6a34922b4882706008976823f68dd5b49e5842bf051a9e6fecafa51c30858c1bc239b96d7db81d4c4c528cb2cc7348e75fd2d82c14986b0b4eabb4e89907cf09702bcd6a80aed43231b96d96a43c58c47f6c4c20cfdfe50ca038e8cb17f8804510b98611f95bfe252d9fddb9853cc15a2db16eabf525dd20a88d7e51a28e55fc05f3049b0fc5c653653986154b61e9f7a43d45279373dde85c0c00025e5f9131564f2e7ee95182b4ee2e3caab6b1d245c9dfdc1ba92733647d1baae6f95b7ed1430c4f2f49d6d60798023994a696b9d755fe5a0eeb76f33ce0f76cb7779576824c226237a7c04c913a262e5034c67ab069f7789955243b485e8a1134d9e9d2df54bc4e35581678231198ccacbed6e64f74eb46374d416998da2d2f790b67616968fddd2f66b3aff90b7d31b57dc58b6a451126ea247b9227fee9f4812784f5d1fdd0c6415312c2437e65370d1fc0d6af75632bfa9491b42581dd1222d86a35a9b8c62b8a40c17cf498fc9c7b9e73a2fecee04fdf675384b827db211b337395f75044500b860ff57f74b728a3dec154dac8c02d4fad1c00595acd62cd2cc9f571ea85271339b3eefbb78d96859d08f7ca8dec81a4050f483abe690edb24b8e1aac153e66284086c6491050eb3ec9debcdb57aca8418e9e3a9ddad7e2ed418032c673b61790fc369e8a20985305fef7d1ab646dedb2bb698c5b39a980d647cfe91ae2357449a0f466273356403ba368a4193d330ef1fceca9884c1d409d4d4f7008a254d6ce93360c32da56f3eda993c12bd28f0ef88715a1687aac0fa21cbda8f1fc94b3afa5031be7b1960edff9ea50f6fec010454c793a080172e73dc558cb7579f93eefb82d4158859a436d0de49f498a828dff8f37aa7639fc26d9b4202705fcbb64e17655f8500ac3b2dded4c8236df87f21f1015f5104b34c467d76daf36bc3bbaf20129dabec018886ea57e52877b653cb2745e8f9f2a050260cc6a599f285b21d11404af5cc2d6484b6ee8c25fb0af3de368e0131b12faa5769692051eec5881f4b69491314596ba769f4fd0c16d3e6e32eba6dccdbd1f9f4312578f95d9f41a8e9f448749f19c75c41f4c85eb70bcce938f7bbf024e36ff958dc73eae7736122bed22190cde316cab43ee31bceb04e802c6f0c8130a21be986e6f01e5ae925acd4cf9ac8e3d1e06e0b2898e71173b46767dce530eaeb26d0118419a8aaa3c636482a4864fe012a12da762ec56067b081a81cd415fd4df9a021c9f0e439967f34af70d2c2643e3704743b8bc57f70df5410d1d13283ac343c4de171e0c1cd70477b076f9c731a514e0f1db7de2032ac09ac4f526668b0db18c4b8f828bcb52b22a18c27d4f75be45844e5e9e8e0781858a8e43cc4414cb635bcc030d1a03560635dab49d0737ed079f81de5c5459b5eba61e97ee210651a2cf880de6a5930f8f0827cafb1e6f8067522f2fb53f41b3f9fcfe8fa967fd49134a44c08332512d0bf194d18cdf20e88b0297cebfd4e6e2df2bf0b4fadac1957d99ff57aa651bd59854b17495c7d96b32de101389b27b488b944f5c9eeb40199bc4556a858395754f814fe80bc894357c779851375493c3cb8d8dd997a319d37b24a7fbf7743a4fd900988872a909a3a70cf26d3b13f2aafcc3be4a40bc35e66e37e20e7d817e71a1e724f6151909a4a1a2303bf1a4d5bcbe7aea43b88c607e9c0bf7d3e100624303dc8bb34364784db2081b3e8cc16077981d9b87e53250408237595d229a11eae01e3d166e3fed5a383d23e4dcef5fcc43c1c346951ebec9d81a82c143494ef5215f1a1e955da431eb7478cd9b4d9a8e82974628d9168be4fdc8ba118841ed02f132ab48a18377eb549d13935b3085ca80afed03686167d76701d15aab0679ff3215de87a5a28a6e4632607ca8680c29c9f7e6d8d31d762f87158cc971765f09b6038d25da0e290ef8020d4010380fb8c190f92f7e5a098e3b1206fa59bb04ab186f142b778f85f340a3f79944d06f7c2a8dcbf70681caabf38b680b138cabc6031b1a222ffd2b2ffdd03f5fc1bb8478fd6d35d84a772e932b6d57041ebfd7e4a356459d3dff446cabf067d649e1574dd78bfd9c7a5a77f71d6160f6c1c87b440d7345a5d4d734c3ac4954f5d4671691e4856bf56176f764c60283f254a682fff98c9b82839c3c72c3b9e7d0e9149fc0a8ce3ac530eb5909fefa213a8451424918e2586801b0ce7ee22a1dd2a85f5e14817b7e47b5f96766773886c23385669716f3e5cb1f82df136965dd6ea6ad12e49da817c5e0772cfefe80e12bd5a67fa05a89ae539c07ff7c1ccc038dfcbca44c42929a9942c1794928966ca700af0182c0565871948c4dbb94132033814adf5bd30cf5b57176e79c5914a39b7cfc3cfdbc0e9658b134353bd173f77975507ea10841446eff1917662b67792f98264731794e973eb9f999639dbe9717844dd864c88e9809390996bbac698f3f18999c91ab398196aea0cbf98f51aa2ef7add98da8d78af043d38978101ecf7b14e505c4cb00b7db664ba11f2e8691619a5e3afc19b1cae2e74226ef28e6800f345ab71f6d572bdde821e8d59e1930307e008f530b88eaffdf7795e15e5b1ee329c73ee669c17d5ae8fa8acbeb7a4c6ea3da33ce3035747c8316bb25da26c298dda9fec61e09d564a048f3684a267310f90ddacc0ad39577f425f7b90fac388408c0ed940cc6123eebfb3f2c4a7217c30b1b81fcbb7918a496c245c6b28179225cdf6779e805a444ea83a09663a98279597398c309b01007fb1e6830b5793774878abe30eabff6a91fcb6a933748be5317e54cffffecf828d7662d62a95b16da92b678b67628af2f57a88d1bd19849ebf7f725c52b8eaa41973588d8c6e04865f0eb71994eb4e2aadd27ea5735b8fe56107cda864a545b26dee7a049259186682ff080e9488b73122142eb21ce57c13a8de56e876c031cea03024fca8b2e789598271495e7548be0c884cbeef9cf9ead62f2c7abf5b2a07ade1ff284047663bfad76d34bc58a007df59c1e797f4e35e66504284cc9143ae932883c305b1c0ef1ffe44aeb6b49f2c529b056f75d9e6b5d79632d2b41efc42e0a49145b11e031184961b8d7e7b6ebaf200287714ca3f68aaf21f60aa286ff44b8d323567c047363cd04bf4c2d37083a77d1b3fc0196b732a7bdcd1cb156ef9bb6c448b1e53c3520fda502629fe3c028f75429bce4734a93c5ec791eaa637610a5ca6868731af1fdb176de514b03613d07e6469287d8e975d6dbf52995ea60533c65774172740f3ddf2c3f5424011669b0f5a26ffd856da7f3e732e5b8f43632c390a02e1d7ac33685bbb74c71610a9b3f6df6e80211efc540394d92cd68dc90f461470aa5161db65b1e821626d1f2504e6520c346d87330199f89805ddfd684234638b27c503a28a3e67a848ce8e778d0381f687f3b21d2690aa3417211fc9336ed887de3c1628077167824c485e78db5c0a1667fd0adba4ce155b04e65d9cf1ede9de42410efc4b372957bf1cadbecbef63bd10a31d42755b8951c224afbaaf477b2e4a9515ed05fdeaf47f2a27c33c51e173f893fc9ac84053d27d250ab037c3d997783d539938197179ae43f80d1e4c9563c7c7c9609f361bd40929b3073ace22da267a29be06ab758b42964de9d73b5597c932d20ca64d71a2bf1097e521230d7b20d834ea147d61d9da2188d40f200d4c24ed326ad98d0aa1b484fe72c6664dd1899e8b5ef53db26e7887a0e2e104c4574dcdf6b8f2b21bf81a5fb42d89ceebb87293b48db8cb069ff1e4a8cf9055d1295d27351604cdba2d201369569895df4ec1e624e7f46337c85d2cf9cd04e58c09e4c0f51bf1f285b5b9d0bd0d3a69548e0e46f71897de0efe7b51943706ccb72479298b5e658b5147be8a095a7e5f260656c70f3105a2a38b9b0883d60d54269bb0590b0b84f4e2ff349f0014cbd5d60e25976d5f050731bce0a101f296ccf005e8170dccc56f0202bd4b43261d861d408b3c1b483391c186a55533ff8add6c33ac76db9b5170b9ed9023f605d911f458c07fe05bbd49813222c6673a1f69a6d6fd6296251c5e6efe74dfb7a46182200f4a3f0971463cafdfb1cd1179d2336d29a2c7ee041e9f3ae86ddf0a3d8094649500c40bfae2b4be93241b8aed106bf0e75e124cc9eae2817a075ba2192f49f887ada96dd6c01098caa3e063400473477995d464f3886be6a758587bbfd0efed1c4d9795c942dd08d2b915c47b545a2986142b9dcc0ed542247caabf0eeb583389f00e12464703093d313522478bd5dafd4854f3cd60dfffb6e1ee402c7b9b9f776a419a36016b370a89515cc3b26e6de6662e3c98e4030f956f040e61ba391a4dc96c3a8d936a36f6f5c40a2903a222bb349bab11735c0c9f4a370a71f1edffa0ca24771ba824a783d33a36284ee516b331208a4221a03fbdff190ae7fd7c8b66d4b7b647b6fea0dc3cf00a5525325ea598771d992ea57d892bd73c24fef3688b2c277fca2b046afd40c0b943eded80ebf39191019d211f599ad05619d14135f04c7debb056040a5e11b906c0bd636208c7cead2c6f13f0de29c2e6b88995bc651ca14536c6dfa19eb0e70f75374e7d999126675355abf65bc51c8041e33306b7ea200f37396a2815e3a22954c69038c684a3262e12f9f411b9f9528b2a3656212f6abbb5a5803f164eacbd23b376ddd2c26cc86c6446f9d31e5a540867f0009e7db061c1d6e37cf568d970e1f7bd3c0e1ba95228e056a551b398a1cba3149c5314d7f2ffd37b2ed1068aa35b5c94ad50e949b0d2b316efa163f988bef7b75d6e040b6ed3138edfa6f8d445982c44b478492635b054b1a8ec493f3e2fbb2a042d22073396d9a74a9e76308ab1f5a03ad78f31bb1ddca89cf510f7fb60bc3dc9961fd0c5ccfa259664bf8aa8aaf15b135514eccba7302c34e4b64898a24ae1bf12a04af55e46809a00866b8ca823c12ca6956ecf5fa1261e3d549116ac8b8cf98b73e1bc75b8a7a9bd7828dd850449bdd7747bbf33d9605e02e486266324dfb570ad8cb54d49fe3c088cb7f5942f28b839c744c9b19b4ff4d1cd5b199c17a7d426b06a58a517711f1afd87279170d480b2297f4565315af3c97e85f08145afcf1753f076410d9a02a7c09fdf92bc744e0902585af615cfa97dc6a88c293c0715355e3adf2d7ffad280bba33d12cce2d9da4e5b61792d36df41d6504bbf90cb1a96784e7b633a26594d1cefc08fd092e999bae0ba4c445fb0734443273fb3db7c7d4a47d404fbef2313f8b9d975353544452738d2eb1da18774f5cef784cfcae6f1703ae3d41de8c3b38432681b977f48a0841bb4286fd33cafc41cba19e107f2021868be8ad6ca5cb310a75d4c8d04a32636500c491530c4c5ac63af61dae76c33762d5ce14014f23c150255dc3c8646e6d112978c83a2f2dc3cf8892ea6abbe6cc2bbeeb38c93af8dd24a89f258304d2108645cd74dc82e6a74d5c93d48bb14536039b1c8ff562d9fe186502a90771da17048ae23a21088dc929b94d1f985462bccd9f2ee8c4d9d7a35505e794c62b298484f09b7a15187ac8151df0f7bcdfa7d049bb1eca5bbbaea701b4c14320df121e19919b1544d27008a3def6cd3b6bb2c81fd700750d013e3818b9248ec06e7b78368101de9a69e71d22e61cdd0c08de40dc54d2af107e33b9fbee98622ad3f0728fb8caa9095b52f1528840fa1b77115fb3025be3ca2b94b09a655440ceba4e000f51fa5fa404813f35d02f518f2a768e48dacbb2c295a02f5a20bf8fcad2e6a63b58d0ff4488230479fa99045b4cfa95e044543307ed4df218a741b216e90dcd3fd4f209cc2da7636f939623777e78790fcd332617d7d25942cc098ecf59cc4bf68d8e9ae2bd99dd5aa0094d5bf2c9a8ddef3424f586527d2e2d381cfe39210fa1d6526d6dfd1f3052f556962cfdde3b936792bf801040a818fe1da25449a1e66c12a06413b12760d77bb37b430be3340847f74b5225821996a7b8e536c1f33a75ec30a7fbab5668c912f48321759924eadb15d031b4d3b29099a6ae8c35c3caa534f2f103e4b3d54c9dc011adaa2e56dc6237dc3e01bd79b1fecfdc48d9c105ce59ff17dc1b728f8bb8ac7a4ac6a9a64ed84eba5a0754e2055d65c555ec3c713c0ee841aa965a1d3b1790d624e0691a8d1d1664d1a0da0991379ef180da9fe96306d05825231b59559c0cf36ea8ab6ea26076ca2430bd594f6326ff1eea03d46d786f060131a766253f7bc26acbf343a7a8bddfa41beedd385e1a2e360b9be7d40b30bf661203c09e2d9745395405079af3fb5c5757fe4d22d1a6a4cf05067ef2a84631cd9c765418de6f65a63452581b3547d51c998fd81c9d37f99879b2e4cb520bbf2d4609c7aa7abb2be405d726585473045022100b5ab57821ae8ee2d5d40470a973677ac39e451bd75cfec720d6ad3c210004ae9022015e735795d7e1ad14a5bd3ef17f88cba33e2fcbd8b8e1747ba885ba832abf6d16d75c8000000000000001976a91474554560513fc8310b70ce00b3ccc330d6e14be888ac974a0000000000001976a914f6ad38864bc27ffc5d8cfac952ea128f5412c46f88ac000000000100',
464
+ // 1
465
+ '0100beff01fe83e5'
466
+ ]
467
+
468
+ const beefs0Log = `BEEF with 1 BUMPS and 1 Transactions, isValid true
469
+ BUMP 0
470
+ block: 1631619
471
+ txids: [
472
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07'
473
+ ]
474
+ TX 0
475
+ txid: bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07
476
+ bumpIndex: 0
477
+ rawTx length=12719
478
+ `
479
+
480
+ const log2 = `BEEF with 1 BUMPS and 2 Transactions, isValid true
481
+ BUMP 0
482
+ block: 1631619
483
+ txids: [
484
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07'
485
+ ]
486
+ TX 0
487
+ txid: bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07
488
+ bumpIndex: 0
489
+ rawTx length=12719
490
+ TX 1
491
+ txid: e002e4b69ab071c42796c0e92241d5ce7c16749ae8f41427d19007044bcb55f3
492
+ rawTx length=1455
493
+ inputs: [
494
+ 'bd4a39c6dce3bdd982be3c67eb04b83934fd431f8bcb64f9da4413c91c634d07'
495
+ ]
496
+ `
497
+
498
+ const wrongBumpTxid = '0100beef01fe4e6d0c001002fd909002088a382ec07a8cf47c6158b68e5822852362102d8571482d1257e0b7527e1882fd91900065cb01218f2506bb51155d243e4d6b32d69d1b5f2221c52e26963cfd8cf7283201fd4948008d7a44ae384797b0ae84db0c857e8c1083425d64d09ef8bc5e2e9d270677260501fd25240060f38aa33631c8d70adbac1213e7a5b418c90414e919e3a12ced63dd152fd85a01fd1312005ff132ee64a7a0c79150a29f66ef861e552d3a05b47d6303f5d8a2b2a09bc61501fd080900cc0baf21cf06b9439dfe05dce9bdb14ddc2ca2d560b1138296ef5769851a84b301fd85040063ccb26232a6e1d3becdb47a0f19a67a562b754e8894155b3ae7bba10335ce5101fd430200e153fc455a0f2c8372885c11af70af904dcf44740b9ebf3b3e5b2234cce550bc01fd20010077d5ea69d1dcc379dde65d6adcebde1838190118a8fae928c037275e78bd87910191000263e4f31684a25169857f2788aeef603504931f92585f02c4c9e023b2aa43d1014900de72292e0b3e5eeacfa2b657bf4d46c885559b081ee78632a99b318c1148d85c01250068a5f831ca99b9e7f3720920d6ea977fd2ab52b83d1a6567dafa4c8cafd941ed0113006a0b91d83f9056b702d6a8056af6365c7da626fc3818b815dd4b0de22d05450f0108009876ce56b68545a75859e93d200bdde7880d46f39384818b259ed847a9664ddf010500990bc5e95cacbc927b5786ec39a183f983fe160d52829cf47521c7eb369771c30103004fe794e50305f590b6010a51d050bf47dfeaabfdb949c5ee0673f577a59537d70100004dad44a358aea4d8bc1917912539901f5ae44e07a4748e1a9d3018814b0759d00201000000027b0a1b12c7c9e48015e78d3a08a4d62e439387df7e0d7a810ebd4af37661daaa000000006a47304402207d972759afba7c0ffa6cfbbf39a31c2aeede1dae28d8841db56c6dd1197d56a20220076a390948c235ba8e72b8e43a7b4d4119f1a81a77032aa6e7b7a51be5e13845412103f78ec31cf94ca8d75fb1333ad9fc884e2d489422034a1efc9d66a3b72eddca0fffffffff7f36874f858fb43ffcf4f9e3047825619bad0e92d4b9ad4ba5111d1101cbddfe010000006a473044022043f048043d56eb6f75024808b78f18808b7ab45609e4c4c319e3a27f8246fc3002204b67766b62f58bf6f30ea608eaba76b8524ed49f67a90f80ac08a9b96a6922cd41210254a583c1c51a06e10fab79ddf922915da5f5c1791ef87739f40cb68638397248ffffffff03e8030000000000001976a914b08f70bc5010fb026de018f19e7792385a146b4a88acf3010000000000001976a9147d48635f889372c3da12d75ce246c59f4ab907ed88acf7000000000000001976a914b8fbd58685b6920d8f9a8f1b274d8696708b51b088ac00000000010001000000018ae36502fdc82837319362c488fb9cb978e064daf600bbfc48389663fc5c160c000000006a47304402204a04841f6f626d30e21200e1c404ea80e319b643fe86f08e709413a89a493a4b022038a2e3e25a813d8d540c1a572fa8ec5fa2d2434bcea78d17902dcccddcc1c9484121028fd1afeee81361e801800afb264e35cdce3037ec6f7dc4f1d1eaba7ad519c948ffffffff01c8000000000000001976a9148ce2d21f9a75e98600be76b25b91c4fef6b40bcd88ac0000000000'
499
+
500
+ const bumpIndexEncoding = '0100beef01fe6e621900010200008cdbd6fe227cfafa6be4500cae6140c84b2ead61318063e92bdb6974f869cf33010259617a9d17562f7c9765e5dfa6a9a393aa2809ca6166a3d7a31c09efcc50701402010000000159617a9d17562f7c9765e5dfa6a9a393aa2809ca6166a3d7a31c09efcc507014130000006b4830450221009399820c643e5f2699b07ffa3289b22c6124e1317fd1ec41fb2431047dcf552f02201b7ee3ee3422fe1c33d8869a34a28fadddb9b790b3c5b332b7fafaaa8d4b413c4121029b15053bc379e2378cd6a84fb40b761b4e400faa4efd09280443731d4b3f8a8cffffffff0201000000000000001976a91423f2562a8092ed24eddc77c74387b44c561692a188ac03000000000000001976a9144ed83e2b3aae481f7fa48321024eb3d8e1f7417888ac00000000000100000001ee353cb1f4cb2b19bf7d2328f3c0a5fa2bd1aa94d0795934dd1d63756583b0ac000000006b4830450221009e779c3f04bb056da180b50ad3972b6fd552c52bd6337f572f08ca656625a4530220648e1fc5872d9bc3846f78edd79b4dc406dfecbab359e46b53c7d478747141684121022280e60c665907fb88a97f5e74dd4e1db0eba60a4dad18158ea8eb9495e242daffffffff2005000000000000001976a914e073bf1bf7b6160f7f68403a374717fdc4cce86d88ac4a000000000000001976a9145bbe83249067ec745d8e270c121c651f56ec2cf188ac42030000000000001976a914983a29113517769da9eace0ec25b760ad09c5f5988ac05000000000000001976a91402c75f3ec99db76e6cd2658a7c83c8bf21a0d14b88ac05000000000000001976a914de454fbce4e1be341d11cd5545664771f72d184088ac25000000000000001976a914b5c2a6831b5cdbc8985517f5d912064449ad118088ac3d010000000000001976a914e4566d91c063f99f7418f12d670b5da320160c8188ac05000000000000001976a914616dc74c3945895eafdac8da9174f95b4d91d75b88ac03010000000000001976a91476ae1c3f2c01a9a5f2aa7696cc9b89ea55b0d01688ac0d000000000000001976a9146d805d21013cc20351e5cd55ecaa7dcee59f2fde88ac05000000000000001976a914613408f68bdde1ff3f77a96abd4956a472766acf88ac21000000000000001976a914d7f0bcfa5b5cad93574a960627db60af8dac277c88ac05000000000000001976a9147e088fe21413442569fa59b6a5bf7e8fe6db71e388ac05000000000000001976a914e5ff336cbffc4ffef544ff4d131de68bf9b0aa1488ac05000000000000001976a9142145b563cd2766ba08d33ca0ecb5a6679268dfb788ac05000000000000001976a914da990487dff4910c8891cebcd00a569011f4f05188ac05000000000000001976a914100daf8fa5add521fb87b46ff51657728626c5fe88ac07000000000000001976a914de900668ddecd73f498c8560b8770231bef9616b88ac05000000000000001976a914dd08ccc14ebdcc534bb2320e7d3dba624a7ecd5388ac05000000000000001976a9141c5b5915e67a840fdcefd0db0ca1a1dfaaf4f3cf88ac06000000000000001976a91441815c6352756937fe6b2b17586dd6b39560321188ac05000000000000001976a91471dca8f8631f145ad5721f8387a764ae0ef2599888ac1d000000000000001976a9147e2621372c66ca3c6e6fca8cdb7eac42405d37fe88ac05000000000000001976a914d745ec07218bde8d179d49e4a6feca7f744f57e388ac05000000000000001976a91499456246822c4270ae73d6c7d8e1af690d1d31dd88ac05000000000000001976a914176dc7f479059d28593021e63bcb66bae6c2cc5388ac05000000000000001976a914a48809ce3c763a0a34c24ab2646fdf10cffdbc6588ac05000000000000001976a914e314da9f12f6bd888da53faa616890a2dce9eeb488ac05000000000000001976a91418f9185bb0ca144d934bd4845b3968d545e7ec8188ac17010000000000001976a9149db831932668077f8eebf597976ec61fc6ab90d588ac09000000000000001976a91479b349601390a6216994d44ca618db71e6e811ef88ac06000000000000001976a91451d25ac626a4b7c281b4200a3dcf34caae43f0df88ac000000000100'