@bsv/wallet-toolbox 1.7.14 → 1.7.15

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 +61 -64
  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,2206 @@
1
+ import { WalletInterface, SecurityLevel } from '../Wallet.interfaces.js'
2
+ import WalletWire from './WalletWire.js'
3
+ import * as Utils from '../../primitives/utils.js'
4
+ import calls from './WalletWireCalls.js'
5
+ import Certificate from '../../auth/certificates/Certificate.js'
6
+
7
+ /**
8
+ * Processes incoming wallet calls received over a wallet wire, with a given wallet.
9
+ */
10
+ export default class WalletWireProcessor implements WalletWire {
11
+ wallet: WalletInterface
12
+
13
+ constructor(wallet: WalletInterface) {
14
+ this.wallet = wallet
15
+ }
16
+
17
+ private decodeOutpoint(reader: Utils.Reader): string {
18
+ const txidBytes = reader.read(32)
19
+ const txid = Utils.toHex(txidBytes)
20
+ const index = reader.readVarIntNum()
21
+ return `${txid}.${index}`
22
+ }
23
+
24
+ private encodeOutpoint(outpoint: string): number[] {
25
+ const writer = new Utils.Writer()
26
+ const [txid, index] = outpoint.split('.')
27
+ writer.write(Utils.toArray(txid, 'hex'))
28
+ writer.writeVarIntNum(Number(index))
29
+ return writer.toArray()
30
+ }
31
+
32
+ async transmitToWallet(message: number[]): Promise<number[]> {
33
+ const messageReader = new Utils.Reader(message)
34
+ try {
35
+ // Read call code
36
+ const callCode = messageReader.readUInt8()
37
+
38
+ // Map call code to call name
39
+ const callName = calls[callCode] // calls is enum
40
+ if (callName === undefined || callName === '') {
41
+ // Invalid call code
42
+ throw new Error(`Invalid call code: ${callCode}`)
43
+ }
44
+
45
+ // Read originator length
46
+ const originatorLength = messageReader.readUInt8()
47
+ const originatorBytes = messageReader.read(originatorLength)
48
+ const originator = Utils.toUTF8(originatorBytes)
49
+
50
+ // Read parameters
51
+ const paramsReader = messageReader // Remaining bytes
52
+
53
+ switch (callName) {
54
+ case 'createAction': {
55
+ // Deserialize parameters from paramsReader
56
+ const args: any = {}
57
+
58
+ // Read description
59
+ const descriptionLength = paramsReader.readVarIntNum()
60
+ const descriptionBytes = paramsReader.read(descriptionLength)
61
+ args.description = Utils.toUTF8(descriptionBytes)
62
+
63
+ // tx
64
+ const inputBeefLength = paramsReader.readVarIntNum()
65
+ if (inputBeefLength >= 0) {
66
+ args.inputBEEF = paramsReader.read(inputBeefLength) // BEEF (Byte[])
67
+ } else {
68
+ args.inputBEEF = undefined
69
+ }
70
+
71
+ // Read inputs
72
+ const inputsLength = paramsReader.readVarIntNum()
73
+ if (inputsLength >= 0) {
74
+ args.inputs = []
75
+ for (let i = 0; i < inputsLength; i++) {
76
+ const input: any = {}
77
+
78
+ // outpoint
79
+ input.outpoint = this.decodeOutpoint(paramsReader)
80
+
81
+ // unlockingScript / unlockingScriptLength
82
+ const unlockingScriptLength = paramsReader.readVarIntNum()
83
+ if (unlockingScriptLength >= 0) {
84
+ const unlockingScriptBytes = paramsReader.read(
85
+ unlockingScriptLength
86
+ )
87
+ input.unlockingScript = Utils.toHex(unlockingScriptBytes)
88
+ } else {
89
+ input.unlockingScript = undefined
90
+ const unlockingScriptLengthValue = paramsReader.readVarIntNum()
91
+ input.unlockingScriptLength = unlockingScriptLengthValue
92
+ }
93
+
94
+ // inputDescription
95
+ const inputDescriptionLength = paramsReader.readVarIntNum()
96
+ const inputDescriptionBytes = paramsReader.read(
97
+ inputDescriptionLength
98
+ )
99
+ input.inputDescription = Utils.toUTF8(inputDescriptionBytes)
100
+
101
+ // sequenceNumber
102
+ const sequenceNumber = paramsReader.readVarIntNum()
103
+ if (sequenceNumber >= 0) {
104
+ input.sequenceNumber = sequenceNumber
105
+ } else {
106
+ input.sequenceNumber = undefined
107
+ }
108
+
109
+ args.inputs.push(input)
110
+ }
111
+ } else {
112
+ args.inputs = undefined
113
+ }
114
+
115
+ // Read outputs
116
+ const outputsLength = paramsReader.readVarIntNum()
117
+ if (outputsLength >= 0) {
118
+ args.outputs = []
119
+ for (let i = 0; i < outputsLength; i++) {
120
+ const output: any = {}
121
+
122
+ // lockingScript
123
+ const lockingScriptLength = paramsReader.readVarIntNum()
124
+ const lockingScriptBytes = paramsReader.read(lockingScriptLength)
125
+ output.lockingScript = Utils.toHex(lockingScriptBytes)
126
+
127
+ // satoshis
128
+ output.satoshis = paramsReader.readVarIntNum()
129
+
130
+ // outputDescription
131
+ const outputDescriptionLength = paramsReader.readVarIntNum()
132
+ const outputDescriptionBytes = paramsReader.read(
133
+ outputDescriptionLength
134
+ )
135
+ output.outputDescription = Utils.toUTF8(outputDescriptionBytes)
136
+
137
+ // basket
138
+ const basketLength = paramsReader.readVarIntNum()
139
+ if (basketLength >= 0) {
140
+ const basketBytes = paramsReader.read(basketLength)
141
+ output.basket = Utils.toUTF8(basketBytes)
142
+ } else {
143
+ output.basket = undefined
144
+ }
145
+
146
+ // customInstructions
147
+ const customInstructionsLength = paramsReader.readVarIntNum()
148
+ if (customInstructionsLength >= 0) {
149
+ const customInstructionsBytes = paramsReader.read(
150
+ customInstructionsLength
151
+ )
152
+ output.customInstructions = Utils.toUTF8(
153
+ customInstructionsBytes
154
+ )
155
+ } else {
156
+ output.customInstructions = undefined
157
+ }
158
+
159
+ // tags
160
+ const tagsLength = paramsReader.readVarIntNum()
161
+ if (tagsLength >= 0) {
162
+ output.tags = []
163
+ for (let j = 0; j < tagsLength; j++) {
164
+ const tagLength = paramsReader.readVarIntNum()
165
+ const tagBytes = paramsReader.read(tagLength)
166
+ const tag = Utils.toUTF8(tagBytes)
167
+ output.tags.push(tag)
168
+ }
169
+ } else {
170
+ output.tags = undefined
171
+ }
172
+
173
+ args.outputs.push(output)
174
+ }
175
+ } else {
176
+ args.outputs = undefined
177
+ }
178
+
179
+ // lockTime
180
+ const lockTime = paramsReader.readVarIntNum()
181
+ if (lockTime >= 0) {
182
+ args.lockTime = lockTime
183
+ } else {
184
+ args.lockTime = undefined
185
+ }
186
+
187
+ // version
188
+ const version = paramsReader.readVarIntNum()
189
+ if (version >= 0) {
190
+ args.version = version
191
+ } else {
192
+ args.version = undefined
193
+ }
194
+
195
+ // labels
196
+ const labelsLength = paramsReader.readVarIntNum()
197
+ if (labelsLength >= 0) {
198
+ args.labels = []
199
+ for (let i = 0; i < labelsLength; i++) {
200
+ const labelLength = paramsReader.readVarIntNum()
201
+ const labelBytes = paramsReader.read(labelLength)
202
+ const label = Utils.toUTF8(labelBytes)
203
+ args.labels.push(label)
204
+ }
205
+ } else {
206
+ args.labels = undefined
207
+ }
208
+
209
+ // options
210
+ const optionsPresent = paramsReader.readInt8()
211
+ if (optionsPresent === 1) {
212
+ args.options = {}
213
+
214
+ // signAndProcess
215
+ const signAndProcessFlag = paramsReader.readInt8()
216
+ if (signAndProcessFlag === -1) {
217
+ args.options.signAndProcess = undefined
218
+ } else {
219
+ args.options.signAndProcess = signAndProcessFlag === 1
220
+ }
221
+
222
+ // acceptDelayedBroadcast
223
+ const acceptDelayedBroadcastFlag = paramsReader.readInt8()
224
+ if (acceptDelayedBroadcastFlag === -1) {
225
+ args.options.acceptDelayedBroadcast = undefined
226
+ } else {
227
+ args.options.acceptDelayedBroadcast =
228
+ acceptDelayedBroadcastFlag === 1
229
+ }
230
+
231
+ // trustSelf
232
+ const trustSelfFlag = paramsReader.readInt8()
233
+ if (trustSelfFlag === -1) {
234
+ args.options.trustSelf = undefined
235
+ } else if (trustSelfFlag === 1) {
236
+ args.options.trustSelf = 'known'
237
+ }
238
+
239
+ // knownTxids
240
+ const knownTxidsLength = paramsReader.readVarIntNum()
241
+ if (knownTxidsLength >= 0) {
242
+ args.options.knownTxids = []
243
+ for (let i = 0; i < knownTxidsLength; i++) {
244
+ const txidBytes = paramsReader.read(32)
245
+ const txid = Utils.toHex(txidBytes)
246
+ args.options.knownTxids.push(txid)
247
+ }
248
+ } else {
249
+ args.options.knownTxids = undefined
250
+ }
251
+
252
+ // returnTXIDOnly
253
+ const returnTXIDOnlyFlag = paramsReader.readInt8()
254
+ if (returnTXIDOnlyFlag === -1) {
255
+ args.options.returnTXIDOnly = undefined
256
+ } else {
257
+ args.options.returnTXIDOnly = returnTXIDOnlyFlag === 1
258
+ }
259
+
260
+ // noSend
261
+ const noSendFlag = paramsReader.readInt8()
262
+ if (noSendFlag === -1) {
263
+ args.options.noSend = undefined
264
+ } else {
265
+ args.options.noSend = noSendFlag === 1
266
+ }
267
+
268
+ // noSendChange
269
+ const noSendChangeLength = paramsReader.readVarIntNum()
270
+ if (noSendChangeLength >= 0) {
271
+ args.options.noSendChange = []
272
+ for (let i = 0; i < noSendChangeLength; i++) {
273
+ const outpoint = this.decodeOutpoint(paramsReader)
274
+ args.options.noSendChange.push(outpoint)
275
+ }
276
+ } else {
277
+ args.options.noSendChange = undefined
278
+ }
279
+
280
+ // sendWith
281
+ const sendWithLength = paramsReader.readVarIntNum()
282
+ if (sendWithLength >= 0) {
283
+ args.options.sendWith = []
284
+ for (let i = 0; i < sendWithLength; i++) {
285
+ const txidBytes = paramsReader.read(32)
286
+ const txid = Utils.toHex(txidBytes)
287
+ args.options.sendWith.push(txid)
288
+ }
289
+ } else {
290
+ args.options.sendWith = undefined
291
+ }
292
+
293
+ // randomizeOutputs
294
+ const randomizeOutputsFlag = paramsReader.readInt8()
295
+ if (randomizeOutputsFlag === -1) {
296
+ args.options.randomizeOutputs = undefined
297
+ } else {
298
+ args.options.randomizeOutputs = randomizeOutputsFlag === 1
299
+ }
300
+ } else {
301
+ args.options = undefined
302
+ }
303
+
304
+ // Call the method
305
+ const createActionResult = await this.wallet.createAction(
306
+ args,
307
+ originator
308
+ )
309
+
310
+ // Serialize the result
311
+ const resultWriter = new Utils.Writer()
312
+
313
+ // txid
314
+ if (createActionResult.txid != null && createActionResult.txid !== '') {
315
+ resultWriter.writeInt8(1)
316
+ resultWriter.write(Utils.toArray(createActionResult.txid, 'hex'))
317
+ } else {
318
+ resultWriter.writeInt8(0)
319
+ }
320
+
321
+ // tx
322
+ if (createActionResult.tx != null) {
323
+ resultWriter.writeInt8(1)
324
+ resultWriter.writeVarIntNum(createActionResult.tx.length)
325
+ resultWriter.write(createActionResult.tx)
326
+ } else {
327
+ resultWriter.writeInt8(0)
328
+ }
329
+
330
+ // noSendChange
331
+ if (createActionResult.noSendChange != null) {
332
+ resultWriter.writeVarIntNum(createActionResult.noSendChange.length)
333
+ for (const outpoint of createActionResult.noSendChange) {
334
+ resultWriter.write(this.encodeOutpoint(outpoint))
335
+ }
336
+ } else {
337
+ resultWriter.writeVarIntNum(-1)
338
+ }
339
+
340
+ // sendWithResults
341
+ if (createActionResult.sendWithResults != null) {
342
+ resultWriter.writeVarIntNum(
343
+ createActionResult.sendWithResults.length
344
+ )
345
+ for (const result of createActionResult.sendWithResults) {
346
+ resultWriter.write(Utils.toArray(result.txid, 'hex'))
347
+ let statusCode
348
+ if (result.status === 'unproven') statusCode = 1
349
+ else if (result.status === 'sending') statusCode = 2
350
+ else if (result.status === 'failed') statusCode = 3
351
+ resultWriter.writeInt8(statusCode)
352
+ }
353
+ } else {
354
+ resultWriter.writeVarIntNum(-1)
355
+ }
356
+
357
+ // signableTransaction
358
+ if (createActionResult.signableTransaction != null) {
359
+ resultWriter.writeInt8(1)
360
+ resultWriter.writeVarIntNum(
361
+ createActionResult.signableTransaction.tx.length
362
+ )
363
+ resultWriter.write(createActionResult.signableTransaction.tx)
364
+ const referenceBytes = Utils.toArray(
365
+ createActionResult.signableTransaction.reference,
366
+ 'base64'
367
+ )
368
+ resultWriter.writeVarIntNum(referenceBytes.length)
369
+ resultWriter.write(referenceBytes)
370
+ } else {
371
+ resultWriter.writeInt8(0)
372
+ }
373
+
374
+ // Return success code and result
375
+ const responseWriter = new Utils.Writer()
376
+ responseWriter.writeUInt8(0) // errorByte = 0
377
+ responseWriter.write(resultWriter.toArray())
378
+ return responseWriter.toArray()
379
+ }
380
+ case 'signAction': {
381
+ const args: any = {}
382
+
383
+ // Deserialize spends
384
+ const spendCount = paramsReader.readVarIntNum()
385
+ args.spends = {}
386
+ for (let i = 0; i < spendCount; i++) {
387
+ const inputIndex = paramsReader.readVarIntNum()
388
+ const spend: any = {}
389
+
390
+ // unlockingScript
391
+ const unlockingScriptLength = paramsReader.readVarIntNum()
392
+ const unlockingScriptBytes = paramsReader.read(
393
+ unlockingScriptLength
394
+ )
395
+ spend.unlockingScript = Utils.toHex(unlockingScriptBytes)
396
+
397
+ // sequenceNumber
398
+ const sequenceNumber = paramsReader.readVarIntNum()
399
+ if (sequenceNumber >= 0) {
400
+ spend.sequenceNumber = sequenceNumber
401
+ } else {
402
+ spend.sequenceNumber = undefined
403
+ }
404
+
405
+ args.spends[inputIndex] = spend
406
+ }
407
+
408
+ // Deserialize reference
409
+ const referenceLength = paramsReader.readVarIntNum()
410
+ const referenceBytes = paramsReader.read(referenceLength)
411
+ args.reference = Utils.toBase64(referenceBytes)
412
+
413
+ // Deserialize options
414
+ const optionsPresent = paramsReader.readInt8()
415
+ if (optionsPresent === 1) {
416
+ args.options = {}
417
+
418
+ // acceptDelayedBroadcast
419
+ const acceptDelayedBroadcastFlag = paramsReader.readInt8()
420
+ if (acceptDelayedBroadcastFlag === -1) {
421
+ args.options.acceptDelayedBroadcast = undefined
422
+ } else {
423
+ args.options.acceptDelayedBroadcast =
424
+ acceptDelayedBroadcastFlag === 1
425
+ }
426
+
427
+ // returnTXIDOnly
428
+ const returnTXIDOnlyFlag = paramsReader.readInt8()
429
+ if (returnTXIDOnlyFlag === -1) {
430
+ args.options.returnTXIDOnly = undefined
431
+ } else {
432
+ args.options.returnTXIDOnly = returnTXIDOnlyFlag === 1
433
+ }
434
+
435
+ // noSend
436
+ const noSendFlag = paramsReader.readInt8()
437
+ if (noSendFlag === -1) {
438
+ args.options.noSend = undefined
439
+ } else {
440
+ args.options.noSend = noSendFlag === 1
441
+ }
442
+
443
+ // sendWith
444
+ const sendWithLength = paramsReader.readVarIntNum()
445
+ if (sendWithLength >= 0) {
446
+ args.options.sendWith = []
447
+ for (let i = 0; i < sendWithLength; i++) {
448
+ const txidBytes = paramsReader.read(32)
449
+ const txid = Utils.toHex(txidBytes)
450
+ args.options.sendWith.push(txid)
451
+ }
452
+ } else {
453
+ args.options.sendWith = undefined
454
+ }
455
+ } else {
456
+ args.options = undefined
457
+ }
458
+
459
+ // Call the method
460
+ const signActionResult = await this.wallet.signAction(
461
+ args,
462
+ originator
463
+ )
464
+
465
+ // Serialize the result
466
+ const resultWriter = new Utils.Writer()
467
+
468
+ // txid
469
+ if (signActionResult.txid != null && signActionResult.txid !== '') {
470
+ resultWriter.writeInt8(1)
471
+ resultWriter.write(Utils.toArray(signActionResult.txid, 'hex'))
472
+ } else {
473
+ resultWriter.writeInt8(0)
474
+ }
475
+
476
+ // tx
477
+ if (signActionResult.tx != null) {
478
+ resultWriter.writeInt8(1)
479
+ resultWriter.writeVarIntNum(signActionResult.tx.length)
480
+ resultWriter.write(signActionResult.tx)
481
+ } else {
482
+ resultWriter.writeInt8(0)
483
+ }
484
+
485
+ // sendWithResults
486
+ if (signActionResult.sendWithResults != null) {
487
+ resultWriter.writeVarIntNum(
488
+ signActionResult.sendWithResults.length
489
+ )
490
+ for (const result of signActionResult.sendWithResults) {
491
+ resultWriter.write(Utils.toArray(result.txid, 'hex'))
492
+ let statusCode
493
+ if (result.status === 'unproven') statusCode = 1
494
+ else if (result.status === 'sending') statusCode = 2
495
+ else if (result.status === 'failed') statusCode = 3
496
+ resultWriter.writeInt8(statusCode)
497
+ }
498
+ } else {
499
+ resultWriter.writeVarIntNum(-1)
500
+ }
501
+
502
+ // Return success code and result
503
+ const responseWriter = new Utils.Writer()
504
+ responseWriter.writeUInt8(0) // errorByte = 0
505
+ responseWriter.write(resultWriter.toArray())
506
+ return responseWriter.toArray()
507
+ }
508
+ case 'abortAction': {
509
+ // Deserialize reference
510
+ const referenceBytes = paramsReader.read()
511
+ const reference = Utils.toBase64(referenceBytes)
512
+
513
+ // Call the method
514
+ await this.wallet.abortAction({ reference }, originator)
515
+
516
+ // Return success code and result
517
+ const responseWriter = new Utils.Writer()
518
+ responseWriter.writeUInt8(0) // errorByte = 0
519
+ return responseWriter.toArray()
520
+ }
521
+ case 'listActions': {
522
+ const args: any = {}
523
+
524
+ // Deserialize labels
525
+ const labelsLength = paramsReader.readVarIntNum()
526
+ args.labels = []
527
+ for (let i = 0; i < labelsLength; i++) {
528
+ const labelLength = paramsReader.readVarIntNum()
529
+ const labelBytes = paramsReader.read(labelLength)
530
+ args.labels.push(Utils.toUTF8(labelBytes))
531
+ }
532
+
533
+ // Deserialize labelQueryMode
534
+ const labelQueryModeFlag = paramsReader.readInt8()
535
+ if (labelQueryModeFlag === -1) {
536
+ args.labelQueryMode = undefined
537
+ } else if (labelQueryModeFlag === 1) {
538
+ args.labelQueryMode = 'any'
539
+ } else if (labelQueryModeFlag === 2) {
540
+ args.labelQueryMode = 'all'
541
+ }
542
+
543
+ // Deserialize include options
544
+ const includeOptionsNames = [
545
+ 'includeLabels',
546
+ 'includeInputs',
547
+ 'includeInputSourceLockingScripts',
548
+ 'includeInputUnlockingScripts',
549
+ 'includeOutputs',
550
+ 'includeOutputLockingScripts'
551
+ ]
552
+ for (const optionName of includeOptionsNames) {
553
+ const optionFlag = paramsReader.readInt8()
554
+ if (optionFlag === -1) {
555
+ args[optionName] = undefined
556
+ } else {
557
+ args[optionName] = optionFlag === 1
558
+ }
559
+ }
560
+
561
+ // Deserialize limit
562
+ const limit = paramsReader.readVarIntNum()
563
+ if (limit >= 0) {
564
+ args.limit = limit
565
+ } else {
566
+ args.limit = undefined
567
+ }
568
+
569
+ // Deserialize offset
570
+ const offset = paramsReader.readVarIntNum()
571
+ if (offset >= 0) {
572
+ args.offset = offset
573
+ } else {
574
+ args.offset = undefined
575
+ }
576
+
577
+ // Deserialize seekPermission
578
+ const seekPermission = paramsReader.readInt8()
579
+ if (seekPermission >= 0) {
580
+ args.seekPermission = seekPermission === 1
581
+ } else {
582
+ args.seekPermission = undefined
583
+ }
584
+
585
+ // Call the method
586
+ const listActionsResult = await this.wallet.listActions(
587
+ args,
588
+ originator
589
+ )
590
+
591
+ // Serialize the result
592
+ const resultWriter = new Utils.Writer()
593
+
594
+ // totalActions
595
+ resultWriter.writeVarIntNum(listActionsResult.totalActions)
596
+
597
+ // actions
598
+ for (const action of listActionsResult.actions) {
599
+ // txid
600
+ resultWriter.write(Utils.toArray(action.txid, 'hex'))
601
+
602
+ // satoshis
603
+ resultWriter.writeVarIntNum(action.satoshis)
604
+
605
+ // status
606
+ let statusCode
607
+ switch (action.status) {
608
+ case 'completed':
609
+ statusCode = 1
610
+ break
611
+ case 'unprocessed':
612
+ statusCode = 2
613
+ break
614
+ case 'sending':
615
+ statusCode = 3
616
+ break
617
+ case 'unproven':
618
+ statusCode = 4
619
+ break
620
+ case 'unsigned':
621
+ statusCode = 5
622
+ break
623
+ case 'nosend':
624
+ statusCode = 6
625
+ break
626
+ case 'nonfinal':
627
+ statusCode = 7
628
+ break
629
+ case 'failed':
630
+ statusCode = 8
631
+ break
632
+ default:
633
+ statusCode = -1
634
+ break
635
+ }
636
+ resultWriter.writeInt8(statusCode)
637
+
638
+ // isOutgoing
639
+ resultWriter.writeInt8(action.isOutgoing ? 1 : 0)
640
+
641
+ // description
642
+ const descriptionBytes = Utils.toArray(action.description, 'utf8')
643
+ resultWriter.writeVarIntNum(descriptionBytes.length)
644
+ resultWriter.write(descriptionBytes)
645
+
646
+ // labels
647
+ if (action.labels !== undefined) {
648
+ resultWriter.writeVarIntNum(action.labels.length)
649
+ for (const label of action.labels) {
650
+ const labelBytes = Utils.toArray(label, 'utf8')
651
+ resultWriter.writeVarIntNum(labelBytes.length)
652
+ resultWriter.write(labelBytes)
653
+ }
654
+ } else {
655
+ resultWriter.writeVarIntNum(-1)
656
+ }
657
+
658
+ // version
659
+ resultWriter.writeVarIntNum(action.version)
660
+
661
+ // lockTime
662
+ resultWriter.writeVarIntNum(action.lockTime)
663
+
664
+ // inputs
665
+ if (action.inputs !== undefined) {
666
+ resultWriter.writeVarIntNum(action.inputs.length)
667
+ for (const input of action.inputs) {
668
+ // sourceOutpoint
669
+ resultWriter.write(this.encodeOutpoint(input.sourceOutpoint))
670
+
671
+ // sourceSatoshis
672
+ resultWriter.writeVarIntNum(input.sourceSatoshis)
673
+
674
+ // sourceLockingScript
675
+ if (input.sourceLockingScript !== undefined) {
676
+ const sourceLockingScriptBytes = Utils.toArray(
677
+ input.sourceLockingScript,
678
+ 'hex'
679
+ )
680
+ resultWriter.writeVarIntNum(sourceLockingScriptBytes.length)
681
+ resultWriter.write(sourceLockingScriptBytes)
682
+ } else {
683
+ resultWriter.writeVarIntNum(-1)
684
+ }
685
+
686
+ // unlockingScript
687
+ if (input.unlockingScript !== undefined) {
688
+ const unlockingScriptBytes = Utils.toArray(
689
+ input.unlockingScript,
690
+ 'hex'
691
+ )
692
+ resultWriter.writeVarIntNum(unlockingScriptBytes.length)
693
+ resultWriter.write(unlockingScriptBytes)
694
+ } else {
695
+ resultWriter.writeVarIntNum(-1)
696
+ }
697
+
698
+ // inputDescription
699
+ const inputDescriptionBytes = Utils.toArray(
700
+ input.inputDescription,
701
+ 'utf8'
702
+ )
703
+ resultWriter.writeVarIntNum(inputDescriptionBytes.length)
704
+ resultWriter.write(inputDescriptionBytes)
705
+
706
+ // sequenceNumber
707
+ resultWriter.writeVarIntNum(input.sequenceNumber)
708
+ }
709
+ } else {
710
+ resultWriter.writeVarIntNum(-1)
711
+ }
712
+
713
+ // outputs
714
+ if (action.outputs !== undefined) {
715
+ resultWriter.writeVarIntNum(action.outputs.length)
716
+ for (const output of action.outputs) {
717
+ // outputIndex
718
+ resultWriter.writeVarIntNum(output.outputIndex)
719
+
720
+ // satoshis
721
+ resultWriter.writeVarIntNum(output.satoshis)
722
+
723
+ // lockingScript
724
+ if (output.lockingScript !== undefined) {
725
+ const lockingScriptBytes = Utils.toArray(
726
+ output.lockingScript,
727
+ 'hex'
728
+ )
729
+ resultWriter.writeVarIntNum(lockingScriptBytes.length)
730
+ resultWriter.write(lockingScriptBytes)
731
+ } else {
732
+ resultWriter.writeVarIntNum(-1)
733
+ }
734
+
735
+ // spendable
736
+ resultWriter.writeInt8(output.spendable ? 1 : 0)
737
+
738
+ // outputDescription
739
+ const outputDescriptionBytes = Utils.toArray(
740
+ output.outputDescription,
741
+ 'utf8'
742
+ )
743
+ resultWriter.writeVarIntNum(outputDescriptionBytes.length)
744
+ resultWriter.write(outputDescriptionBytes)
745
+
746
+ // basket
747
+ if (output.basket !== undefined) {
748
+ const basketBytes = Utils.toArray(output.basket, 'utf8')
749
+ resultWriter.writeVarIntNum(basketBytes.length)
750
+ resultWriter.write(basketBytes)
751
+ } else {
752
+ resultWriter.writeVarIntNum(-1)
753
+ }
754
+
755
+ // tags
756
+ if (output.tags !== undefined) {
757
+ resultWriter.writeVarIntNum(output.tags.length)
758
+ for (const tag of output.tags) {
759
+ const tagBytes = Utils.toArray(tag, 'utf8')
760
+ resultWriter.writeVarIntNum(tagBytes.length)
761
+ resultWriter.write(tagBytes)
762
+ }
763
+ } else {
764
+ resultWriter.writeVarIntNum(-1)
765
+ }
766
+
767
+ // customInstructions
768
+ if (output.customInstructions !== undefined) {
769
+ const customInstructionsBytes = Utils.toArray(
770
+ output.customInstructions,
771
+ 'utf8'
772
+ )
773
+ resultWriter.writeVarIntNum(customInstructionsBytes.length)
774
+ resultWriter.write(customInstructionsBytes)
775
+ } else {
776
+ resultWriter.writeVarIntNum(-1)
777
+ }
778
+ }
779
+ } else {
780
+ resultWriter.writeVarIntNum(-1)
781
+ }
782
+ }
783
+
784
+ const responseWriter = new Utils.Writer()
785
+ responseWriter.writeUInt8(0) // errorByte = 0
786
+ responseWriter.write(resultWriter.toArray())
787
+ return responseWriter.toArray()
788
+ }
789
+ case 'internalizeAction': {
790
+ const args: any = {}
791
+
792
+ // Read tx
793
+ const txLength = paramsReader.readVarIntNum()
794
+ args.tx = paramsReader.read(txLength)
795
+
796
+ // Read outputs
797
+ const outputsLength = paramsReader.readVarIntNum()
798
+ args.outputs = []
799
+ for (let i = 0; i < outputsLength; i++) {
800
+ const output: any = {}
801
+
802
+ // outputIndex
803
+ output.outputIndex = paramsReader.readVarIntNum()
804
+
805
+ // protocol
806
+ const protocolFlag = paramsReader.readUInt8()
807
+ if (protocolFlag === 1) {
808
+ output.protocol = 'wallet payment'
809
+ output.paymentRemittance = {}
810
+
811
+ // senderIdentityKey
812
+ const senderIdentityKeyBytes = paramsReader.read(33)
813
+ output.paymentRemittance.senderIdentityKey = Utils.toHex(
814
+ senderIdentityKeyBytes
815
+ )
816
+
817
+ // derivationPrefix
818
+ const derivationPrefixLength = paramsReader.readVarIntNum()
819
+ const derivationPrefixBytes = paramsReader.read(
820
+ derivationPrefixLength
821
+ )
822
+ output.paymentRemittance.derivationPrefix = Utils.toBase64(
823
+ derivationPrefixBytes
824
+ )
825
+
826
+ // derivationSuffix
827
+ const derivationSuffixLength = paramsReader.readVarIntNum()
828
+ const derivationSuffixBytes = paramsReader.read(
829
+ derivationSuffixLength
830
+ )
831
+ output.paymentRemittance.derivationSuffix = Utils.toBase64(
832
+ derivationSuffixBytes
833
+ )
834
+ } else if (protocolFlag === 2) {
835
+ output.protocol = 'basket insertion'
836
+ output.insertionRemittance = {}
837
+
838
+ // basket
839
+ const basketLength = paramsReader.readVarIntNum()
840
+ const basketBytes = paramsReader.read(basketLength)
841
+ output.insertionRemittance.basket = Utils.toUTF8(basketBytes)
842
+
843
+ // customInstructions
844
+ const customInstructionsLength = paramsReader.readVarIntNum()
845
+ if (customInstructionsLength >= 0) {
846
+ const customInstructionsBytes = paramsReader.read(
847
+ customInstructionsLength
848
+ )
849
+ output.insertionRemittance.customInstructions = Utils.toUTF8(
850
+ customInstructionsBytes
851
+ )
852
+ }
853
+
854
+ // tags
855
+ const tagsLength = paramsReader.readVarIntNum()
856
+ if (tagsLength > 0) {
857
+ output.insertionRemittance.tags = []
858
+ for (let j = 0; j < tagsLength; j++) {
859
+ const tagLength = paramsReader.readVarIntNum()
860
+ const tagBytes = paramsReader.read(tagLength)
861
+ output.insertionRemittance.tags.push(Utils.toUTF8(tagBytes))
862
+ }
863
+ } else {
864
+ output.insertionRemittance.tags = []
865
+ }
866
+ }
867
+
868
+ args.outputs.push(output)
869
+ }
870
+
871
+ const numberOfLabels = paramsReader.readVarIntNum()
872
+ if (numberOfLabels >= 0) {
873
+ args.labels = []
874
+ for (let i = 0; i < numberOfLabels; i++) {
875
+ const labelLength = paramsReader.readVarIntNum()
876
+ args.labels.push(Utils.toUTF8(paramsReader.read(labelLength)))
877
+ }
878
+ }
879
+
880
+ const descriptionLength = paramsReader.readVarIntNum()
881
+ args.description = Utils.toUTF8(paramsReader.read(descriptionLength))
882
+
883
+ // Deserialize seekPermission
884
+ const seekPermission = paramsReader.readInt8()
885
+ if (seekPermission >= 0) {
886
+ args.seekPermission = seekPermission === 1
887
+ } else {
888
+ args.seekPermission = undefined
889
+ }
890
+
891
+ // Call the method
892
+ await this.wallet.internalizeAction(args, originator)
893
+
894
+ // Return success code and result
895
+ const responseWriter = new Utils.Writer()
896
+ responseWriter.writeUInt8(0) // errorByte = 0
897
+ return responseWriter.toArray()
898
+ }
899
+
900
+ case 'listOutputs': {
901
+ const args: any = {}
902
+
903
+ // Deserialize basket
904
+ const basketLength = paramsReader.readVarIntNum()
905
+ const basketBytes = paramsReader.read(basketLength)
906
+ args.basket = Utils.toUTF8(basketBytes)
907
+
908
+ // Deserialize tags
909
+ const tagsLength = paramsReader.readVarIntNum()
910
+ if (tagsLength > 0) {
911
+ args.tags = []
912
+ for (let i = 0; i < tagsLength; i++) {
913
+ const tagLength = paramsReader.readVarIntNum()
914
+ const tagBytes = paramsReader.read(tagLength)
915
+ args.tags.push(Utils.toUTF8(tagBytes))
916
+ }
917
+ } else {
918
+ args.tags = undefined
919
+ }
920
+
921
+ // Deserialize tagQueryMode
922
+ const tagQueryModeFlag = paramsReader.readInt8()
923
+ if (tagQueryModeFlag === 1) {
924
+ args.tagQueryMode = 'all'
925
+ } else if (tagQueryModeFlag === 2) {
926
+ args.tagQueryMode = 'any'
927
+ } else {
928
+ args.tagQueryMode = undefined
929
+ }
930
+
931
+ // Deserialize include
932
+ const includeFlag = paramsReader.readInt8()
933
+ if (includeFlag === 1) {
934
+ args.include = 'locking scripts'
935
+ } else if (includeFlag === 2) {
936
+ args.include = 'entire transactions'
937
+ } else {
938
+ args.include = undefined
939
+ }
940
+
941
+ // Deserialize includeCustomInstructions
942
+ const includeCustomInstructionsFlag = paramsReader.readInt8()
943
+ if (includeCustomInstructionsFlag === -1) {
944
+ args.includeCustomInstructions = undefined
945
+ } else {
946
+ args.includeCustomInstructions =
947
+ includeCustomInstructionsFlag === 1
948
+ }
949
+
950
+ // Deserialize includeTags
951
+ const includeTagsFlag = paramsReader.readInt8()
952
+ if (includeTagsFlag === -1) {
953
+ args.includeTags = undefined
954
+ } else {
955
+ args.includeTags = includeTagsFlag === 1
956
+ }
957
+
958
+ // Deserialize includeLabels
959
+ const includeLabelsFlag = paramsReader.readInt8()
960
+ if (includeLabelsFlag === -1) {
961
+ args.includeLabels = undefined
962
+ } else {
963
+ args.includeLabels = includeLabelsFlag === 1
964
+ }
965
+
966
+ // Deserialize limit
967
+ const limit = paramsReader.readVarIntNum()
968
+ if (limit >= 0) {
969
+ args.limit = limit
970
+ } else {
971
+ args.limit = undefined
972
+ }
973
+
974
+ // Deserialize offset
975
+ const offset = paramsReader.readVarIntNum()
976
+ if (offset >= 0) {
977
+ args.offset = offset
978
+ } else {
979
+ args.offset = undefined
980
+ }
981
+
982
+ // Deserialize seekPermission
983
+ const seekPermission = paramsReader.readInt8()
984
+ if (seekPermission >= 0) {
985
+ args.seekPermission = seekPermission === 1
986
+ } else {
987
+ args.seekPermission = undefined
988
+ }
989
+
990
+ // Call the method
991
+ const listOutputsResult = await this.wallet.listOutputs(
992
+ args,
993
+ originator
994
+ )
995
+
996
+ // Serialize the result
997
+ const resultWriter = new Utils.Writer()
998
+
999
+ // totalOutputs
1000
+ resultWriter.writeVarIntNum(listOutputsResult.totalOutputs)
1001
+
1002
+ // BEEF length and BEEF or -1
1003
+ if (listOutputsResult.BEEF != null) {
1004
+ resultWriter.writeVarIntNum(listOutputsResult.BEEF.length)
1005
+ resultWriter.write(listOutputsResult.BEEF)
1006
+ } else {
1007
+ resultWriter.writeVarIntNum(-1)
1008
+ }
1009
+
1010
+ // outputs
1011
+ for (const output of listOutputsResult.outputs) {
1012
+ // outpoint
1013
+ resultWriter.write(this.encodeOutpoint(output.outpoint))
1014
+
1015
+ // satoshis
1016
+ resultWriter.writeVarIntNum(output.satoshis)
1017
+
1018
+ // lockingScript
1019
+ if (output.lockingScript !== undefined) {
1020
+ const lockingScriptBytes = Utils.toArray(
1021
+ output.lockingScript,
1022
+ 'hex'
1023
+ )
1024
+ resultWriter.writeVarIntNum(lockingScriptBytes.length)
1025
+ resultWriter.write(lockingScriptBytes)
1026
+ } else {
1027
+ resultWriter.writeVarIntNum(-1)
1028
+ }
1029
+
1030
+ // customInstructions
1031
+ if (output.customInstructions !== undefined) {
1032
+ const customInstructionsBytes = Utils.toArray(
1033
+ output.customInstructions,
1034
+ 'utf8'
1035
+ )
1036
+ resultWriter.writeVarIntNum(customInstructionsBytes.length)
1037
+ resultWriter.write(customInstructionsBytes)
1038
+ } else {
1039
+ resultWriter.writeVarIntNum(-1)
1040
+ }
1041
+
1042
+ // tags
1043
+ if (output.tags !== undefined) {
1044
+ resultWriter.writeVarIntNum(output.tags.length)
1045
+ for (const tag of output.tags) {
1046
+ const tagBytes = Utils.toArray(tag, 'utf8')
1047
+ resultWriter.writeVarIntNum(tagBytes.length)
1048
+ resultWriter.write(tagBytes)
1049
+ }
1050
+ } else {
1051
+ resultWriter.writeVarIntNum(-1)
1052
+ }
1053
+
1054
+ // labels
1055
+ if (output.labels !== undefined) {
1056
+ resultWriter.writeVarIntNum(output.labels.length)
1057
+ for (const label of output.labels) {
1058
+ const labelBytes = Utils.toArray(label, 'utf8')
1059
+ resultWriter.writeVarIntNum(labelBytes.length)
1060
+ resultWriter.write(labelBytes)
1061
+ }
1062
+ } else {
1063
+ resultWriter.writeVarIntNum(-1)
1064
+ }
1065
+ }
1066
+
1067
+ // Return success code and result
1068
+ const responseWriter = new Utils.Writer()
1069
+ responseWriter.writeUInt8(0) // errorByte = 0
1070
+ responseWriter.write(resultWriter.toArray())
1071
+ return responseWriter.toArray()
1072
+ }
1073
+
1074
+ case 'relinquishOutput': {
1075
+ const args: any = {}
1076
+
1077
+ // Deserialize basket
1078
+ const basketLength = paramsReader.readVarIntNum()
1079
+ const basketBytes = paramsReader.read(basketLength)
1080
+ args.basket = Utils.toUTF8(basketBytes)
1081
+
1082
+ // Deserialize outpoint
1083
+ args.output = this.decodeOutpoint(paramsReader)
1084
+
1085
+ // Call the method
1086
+ await this.wallet.relinquishOutput(args, originator)
1087
+
1088
+ // Return success code and result
1089
+ const responseWriter = new Utils.Writer()
1090
+ responseWriter.writeUInt8(0) // errorByte = 0
1091
+ return responseWriter.toArray()
1092
+ }
1093
+
1094
+ case 'getPublicKey': {
1095
+ const args: any = {}
1096
+
1097
+ // Deserialize identityKey flag
1098
+ const identityKeyFlag = paramsReader.readUInt8()
1099
+ args.identityKey = identityKeyFlag === 1
1100
+
1101
+ if (args.identityKey !== true) {
1102
+ // Deserialize protocolID
1103
+ args.protocolID = this.decodeProtocolID(paramsReader)
1104
+
1105
+ // Deserialize keyID
1106
+ args.keyID = this.decodeString(paramsReader)
1107
+
1108
+ // Deserialize counterparty
1109
+ args.counterparty = this.decodeCounterparty(paramsReader)
1110
+
1111
+ // Deserialize privilege parameters
1112
+ const privilegedFlag = paramsReader.readInt8()
1113
+ if (privilegedFlag === -1) {
1114
+ args.privileged = undefined
1115
+ } else {
1116
+ args.privileged = privilegedFlag === 1
1117
+ }
1118
+
1119
+ const privilegedReasonLength = paramsReader.readInt8()
1120
+ if (privilegedReasonLength !== -1) {
1121
+ const privilegedReasonBytes = paramsReader.read(
1122
+ privilegedReasonLength
1123
+ )
1124
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
1125
+ } else {
1126
+ args.privilegedReason = undefined
1127
+ }
1128
+
1129
+ // Deserialize forSelf
1130
+ const forSelfFlag = paramsReader.readInt8()
1131
+ if (forSelfFlag === -1) {
1132
+ args.forSelf = undefined
1133
+ } else {
1134
+ args.forSelf = forSelfFlag === 1
1135
+ }
1136
+ } else {
1137
+ // Deserialize privilege parameters
1138
+ const privilegedFlag = paramsReader.readInt8()
1139
+ if (privilegedFlag === -1) {
1140
+ args.privileged = undefined
1141
+ } else {
1142
+ args.privileged = privilegedFlag === 1
1143
+ }
1144
+
1145
+ const privilegedReasonLength = paramsReader.readInt8()
1146
+ if (privilegedReasonLength !== -1) {
1147
+ const privilegedReasonBytes = paramsReader.read(
1148
+ privilegedReasonLength
1149
+ )
1150
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
1151
+ } else {
1152
+ args.privilegedReason = undefined
1153
+ }
1154
+ }
1155
+
1156
+ // Deserialize seekPermission
1157
+ const seekPermission = paramsReader.readInt8()
1158
+ if (seekPermission >= 0) {
1159
+ args.seekPermission = seekPermission === 1
1160
+ } else {
1161
+ args.seekPermission = undefined
1162
+ }
1163
+
1164
+ // Call the method
1165
+ const getPublicKeyResult = await this.wallet.getPublicKey(
1166
+ args,
1167
+ originator
1168
+ )
1169
+
1170
+ // Serialize the result
1171
+ const responseWriter = new Utils.Writer()
1172
+ responseWriter.writeUInt8(0) // errorByte = 0
1173
+ const publicKeyBytes = Utils.toArray(
1174
+ getPublicKeyResult.publicKey,
1175
+ 'hex'
1176
+ )
1177
+ responseWriter.write(publicKeyBytes)
1178
+ return responseWriter.toArray()
1179
+ }
1180
+
1181
+ case 'encrypt': {
1182
+ const args: any = this.decodeKeyRelatedParams(paramsReader)
1183
+
1184
+ // Deserialize plaintext
1185
+ const plaintextLength = paramsReader.readVarIntNum()
1186
+ args.plaintext = paramsReader.read(plaintextLength)
1187
+
1188
+ // Deserialize seekPermission
1189
+ const seekPermission = paramsReader.readInt8()
1190
+ if (seekPermission >= 0) {
1191
+ args.seekPermission = seekPermission === 1
1192
+ } else {
1193
+ args.seekPermission = undefined
1194
+ }
1195
+
1196
+ // Call the method
1197
+ const encryptResult = await this.wallet.encrypt(args, originator)
1198
+
1199
+ // Serialize the result
1200
+ const responseWriter = new Utils.Writer()
1201
+ responseWriter.writeUInt8(0) // errorByte = 0
1202
+ responseWriter.write(encryptResult.ciphertext)
1203
+ return responseWriter.toArray()
1204
+ }
1205
+
1206
+ case 'decrypt': {
1207
+ const args: any = this.decodeKeyRelatedParams(paramsReader)
1208
+
1209
+ // Deserialize ciphertext
1210
+ const ciphertextLength = paramsReader.readVarIntNum()
1211
+ args.ciphertext = paramsReader.read(ciphertextLength)
1212
+
1213
+ // Deserialize seekPermission
1214
+ const seekPermission = paramsReader.readInt8()
1215
+ if (seekPermission >= 0) {
1216
+ args.seekPermission = seekPermission === 1
1217
+ } else {
1218
+ args.seekPermission = undefined
1219
+ }
1220
+
1221
+ // Call the method
1222
+ const decryptResult = await this.wallet.decrypt(args, originator)
1223
+
1224
+ // Serialize the result
1225
+ const responseWriter = new Utils.Writer()
1226
+ responseWriter.writeUInt8(0) // errorByte = 0
1227
+ responseWriter.write(decryptResult.plaintext)
1228
+ return responseWriter.toArray()
1229
+ }
1230
+
1231
+ case 'createHmac': {
1232
+ const args: any = this.decodeKeyRelatedParams(paramsReader)
1233
+
1234
+ // Deserialize data
1235
+ const dataLength = paramsReader.readVarIntNum()
1236
+ args.data = paramsReader.read(dataLength)
1237
+
1238
+ // Deserialize seekPermission
1239
+ const seekPermission = paramsReader.readInt8()
1240
+ if (seekPermission >= 0) {
1241
+ args.seekPermission = seekPermission === 1
1242
+ } else {
1243
+ args.seekPermission = undefined
1244
+ }
1245
+
1246
+ // Call the method
1247
+ const createHmacResult = await this.wallet.createHmac(
1248
+ args,
1249
+ originator
1250
+ )
1251
+
1252
+ // Serialize the result
1253
+ const responseWriter = new Utils.Writer()
1254
+ responseWriter.writeUInt8(0) // errorByte = 0
1255
+ responseWriter.write(createHmacResult.hmac)
1256
+ return responseWriter.toArray()
1257
+ }
1258
+
1259
+ case 'verifyHmac': {
1260
+ const args: any = this.decodeKeyRelatedParams(paramsReader)
1261
+
1262
+ // Deserialize hmac
1263
+ args.hmac = paramsReader.read(32)
1264
+
1265
+ // Deserialize data
1266
+ const dataLength = paramsReader.readVarIntNum()
1267
+ args.data = paramsReader.read(dataLength)
1268
+
1269
+ // Deserialize seekPermission
1270
+ const seekPermission = paramsReader.readInt8()
1271
+ if (seekPermission >= 0) {
1272
+ args.seekPermission = seekPermission === 1
1273
+ } else {
1274
+ args.seekPermission = undefined
1275
+ }
1276
+
1277
+ // Call the method
1278
+ await this.wallet.verifyHmac(args, originator)
1279
+
1280
+ // Serialize the result (no data to return)
1281
+ const responseWriter = new Utils.Writer()
1282
+ responseWriter.writeUInt8(0) // errorByte = 0
1283
+ return responseWriter.toArray()
1284
+ }
1285
+
1286
+ case 'createSignature': {
1287
+ const args: any = this.decodeKeyRelatedParams(paramsReader)
1288
+
1289
+ // Deserialize data or hashToDirectlySign
1290
+ const dataTypeFlag = paramsReader.readUInt8()
1291
+ if (dataTypeFlag === 1) {
1292
+ const dataLength = paramsReader.readVarIntNum()
1293
+ args.data = paramsReader.read(dataLength)
1294
+ } else if (dataTypeFlag === 2) {
1295
+ args.hashToDirectlySign = paramsReader.read(32)
1296
+ }
1297
+
1298
+ // Deserialize seekPermission
1299
+ const seekPermission = paramsReader.readInt8()
1300
+ if (seekPermission >= 0) {
1301
+ args.seekPermission = seekPermission === 1
1302
+ } else {
1303
+ args.seekPermission = undefined
1304
+ }
1305
+
1306
+ // Call the method
1307
+ const createSignatureResult = await this.wallet.createSignature(
1308
+ args,
1309
+ originator
1310
+ )
1311
+
1312
+ // Serialize the result
1313
+ const responseWriter = new Utils.Writer()
1314
+ responseWriter.writeUInt8(0) // errorByte = 0
1315
+ responseWriter.write(createSignatureResult.signature)
1316
+ return responseWriter.toArray()
1317
+ }
1318
+
1319
+ case 'verifySignature': {
1320
+ const args: any = this.decodeKeyRelatedParams(paramsReader)
1321
+
1322
+ // Deserialize forSelf
1323
+ const forSelfFlag = paramsReader.readInt8()
1324
+ if (forSelfFlag === -1) {
1325
+ args.forSelf = undefined
1326
+ } else {
1327
+ args.forSelf = forSelfFlag === 1
1328
+ }
1329
+
1330
+ // Deserialize signature
1331
+ const signatureLength = paramsReader.readVarIntNum()
1332
+ args.signature = paramsReader.read(signatureLength)
1333
+
1334
+ // Deserialize data or hashToDirectlyVerify
1335
+ const dataTypeFlag = paramsReader.readUInt8()
1336
+ if (dataTypeFlag === 1) {
1337
+ const dataLength = paramsReader.readVarIntNum()
1338
+ args.data = paramsReader.read(dataLength)
1339
+ } else if (dataTypeFlag === 2) {
1340
+ args.hashToDirectlyVerify = paramsReader.read(32)
1341
+ }
1342
+
1343
+ // Deserialize seekPermission
1344
+ const seekPermission = paramsReader.readInt8()
1345
+ if (seekPermission >= 0) {
1346
+ args.seekPermission = seekPermission === 1
1347
+ } else {
1348
+ args.seekPermission = undefined
1349
+ }
1350
+
1351
+ // Call the method
1352
+ await this.wallet.verifySignature(args, originator)
1353
+
1354
+ // Serialize the result (no data to return)
1355
+ const responseWriter = new Utils.Writer()
1356
+ responseWriter.writeUInt8(0) // errorByte = 0
1357
+ return responseWriter.toArray()
1358
+ }
1359
+
1360
+ case 'isAuthenticated': {
1361
+ // No parameters to deserialize
1362
+
1363
+ // Call the method
1364
+ const isAuthenticatedResult = await this.wallet.isAuthenticated(
1365
+ {},
1366
+ originator
1367
+ )
1368
+
1369
+ // Serialize the result
1370
+ const responseWriter = new Utils.Writer()
1371
+ responseWriter.writeUInt8(0) // errorByte = 0
1372
+ responseWriter.writeUInt8(
1373
+ isAuthenticatedResult.authenticated ? 1 : 0
1374
+ )
1375
+ return responseWriter.toArray()
1376
+ }
1377
+
1378
+ case 'waitForAuthentication': {
1379
+ // No parameters to deserialize
1380
+
1381
+ // Call the method
1382
+ await this.wallet.waitForAuthentication({}, originator)
1383
+
1384
+ // Serialize the result (authenticated is always true)
1385
+ const responseWriter = new Utils.Writer()
1386
+ responseWriter.writeUInt8(0) // errorByte = 0
1387
+ return responseWriter.toArray()
1388
+ }
1389
+
1390
+ case 'getHeight': {
1391
+ // No parameters to deserialize
1392
+
1393
+ // Call the method
1394
+ const getHeightResult = await this.wallet.getHeight({}, originator)
1395
+
1396
+ // Serialize the result
1397
+ const responseWriter = new Utils.Writer()
1398
+ responseWriter.writeUInt8(0) // errorByte = 0
1399
+ responseWriter.writeVarIntNum(getHeightResult.height)
1400
+ return responseWriter.toArray()
1401
+ }
1402
+
1403
+ case 'getHeaderForHeight': {
1404
+ const args: any = {}
1405
+
1406
+ // Deserialize height
1407
+ args.height = paramsReader.readVarIntNum()
1408
+
1409
+ // Call the method
1410
+ const getHeaderResult = await this.wallet.getHeaderForHeight(
1411
+ args,
1412
+ originator
1413
+ )
1414
+
1415
+ // Serialize the result
1416
+ const responseWriter = new Utils.Writer()
1417
+ responseWriter.writeUInt8(0) // errorByte = 0
1418
+ const headerBytes = Utils.toArray(getHeaderResult.header, 'hex')
1419
+ responseWriter.write(headerBytes)
1420
+ return responseWriter.toArray()
1421
+ }
1422
+
1423
+ case 'getNetwork': {
1424
+ // No parameters to deserialize
1425
+
1426
+ // Call the method
1427
+ const getNetworkResult = await this.wallet.getNetwork({}, originator)
1428
+
1429
+ // Serialize the result
1430
+ const responseWriter = new Utils.Writer()
1431
+ responseWriter.writeUInt8(0) // errorByte = 0
1432
+ responseWriter.writeUInt8(
1433
+ getNetworkResult.network === 'mainnet' ? 0 : 1
1434
+ )
1435
+ return responseWriter.toArray()
1436
+ }
1437
+
1438
+ case 'getVersion': {
1439
+ // No parameters to deserialize
1440
+
1441
+ // Call the method
1442
+ const getVersionResult = await this.wallet.getVersion({}, originator)
1443
+
1444
+ // Serialize the result
1445
+ const responseWriter = new Utils.Writer()
1446
+ responseWriter.writeUInt8(0) // errorByte = 0
1447
+ const versionBytes = Utils.toArray(getVersionResult.version, 'utf8')
1448
+ responseWriter.write(versionBytes)
1449
+ return responseWriter.toArray()
1450
+ }
1451
+
1452
+ case 'revealCounterpartyKeyLinkage': {
1453
+ const args: any = {}
1454
+
1455
+ // Read privileged parameters
1456
+ const privilegedFlag = paramsReader.readInt8()
1457
+ if (privilegedFlag === -1) {
1458
+ args.privileged = undefined
1459
+ } else {
1460
+ args.privileged = privilegedFlag === 1
1461
+ }
1462
+
1463
+ const privilegedReasonLength = paramsReader.readInt8()
1464
+ if (privilegedReasonLength === -1) {
1465
+ args.privilegedReason = undefined
1466
+ } else {
1467
+ const privilegedReasonBytes = paramsReader.read(
1468
+ privilegedReasonLength
1469
+ )
1470
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
1471
+ }
1472
+
1473
+ // Read counterparty public key
1474
+ const counterpartyBytes = paramsReader.read(33)
1475
+ args.counterparty = Utils.toHex(counterpartyBytes)
1476
+
1477
+ // Read verifier public key
1478
+ const verifierBytes = paramsReader.read(33)
1479
+ args.verifier = Utils.toHex(verifierBytes)
1480
+
1481
+ // Call the method
1482
+ const revealResult = await this.wallet.revealCounterpartyKeyLinkage(
1483
+ args,
1484
+ originator
1485
+ )
1486
+
1487
+ // Serialize the result
1488
+ const resultWriter = new Utils.Writer()
1489
+
1490
+ // Write prover
1491
+ resultWriter.write(Utils.toArray(revealResult.prover, 'hex'))
1492
+
1493
+ // Write verifier
1494
+ resultWriter.write(Utils.toArray(revealResult.verifier, 'hex'))
1495
+
1496
+ // Write counterparty
1497
+ resultWriter.write(Utils.toArray(revealResult.counterparty, 'hex'))
1498
+
1499
+ // Write revelationTime
1500
+ const revelationTimeBytes = Utils.toArray(
1501
+ revealResult.revelationTime,
1502
+ 'utf8'
1503
+ )
1504
+ resultWriter.writeVarIntNum(revelationTimeBytes.length)
1505
+ resultWriter.write(revelationTimeBytes)
1506
+
1507
+ // Write encryptedLinkage
1508
+ resultWriter.writeVarIntNum(revealResult.encryptedLinkage.length)
1509
+ resultWriter.write(revealResult.encryptedLinkage)
1510
+
1511
+ // Write encryptedLinkageProof
1512
+ resultWriter.writeVarIntNum(
1513
+ revealResult.encryptedLinkageProof.length
1514
+ )
1515
+ resultWriter.write(revealResult.encryptedLinkageProof)
1516
+
1517
+ // Return success code and result
1518
+ const responseWriter = new Utils.Writer()
1519
+ responseWriter.writeUInt8(0) // errorByte = 0
1520
+ responseWriter.write(resultWriter.toArray())
1521
+ return responseWriter.toArray()
1522
+ }
1523
+
1524
+ case 'revealSpecificKeyLinkage': {
1525
+ // Deserialize key-related parameters and privileged parameters
1526
+ const args = this.decodeKeyRelatedParams(paramsReader)
1527
+
1528
+ // Read verifier public key
1529
+ const verifierBytes = paramsReader.read(33)
1530
+ args.verifier = Utils.toHex(verifierBytes)
1531
+
1532
+ // Call the method
1533
+ const revealResult = await this.wallet.revealSpecificKeyLinkage(
1534
+ args,
1535
+ originator
1536
+ )
1537
+
1538
+ // Serialize the result
1539
+ const resultWriter = new Utils.Writer()
1540
+
1541
+ // Write prover
1542
+ resultWriter.write(Utils.toArray(revealResult.prover, 'hex'))
1543
+
1544
+ // Write verifier
1545
+ resultWriter.write(Utils.toArray(revealResult.verifier, 'hex'))
1546
+
1547
+ // Write counterparty
1548
+ resultWriter.write(Utils.toArray(revealResult.counterparty, 'hex'))
1549
+
1550
+ // Write securityLevel
1551
+ resultWriter.writeUInt8(revealResult.protocolID[0])
1552
+
1553
+ // Write protocol string
1554
+ const protocolBytesOut = Utils.toArray(
1555
+ revealResult.protocolID[1],
1556
+ 'utf8'
1557
+ )
1558
+ resultWriter.writeVarIntNum(protocolBytesOut.length)
1559
+ resultWriter.write(protocolBytesOut)
1560
+
1561
+ // Write keyID
1562
+ const keyIDBytesOut = Utils.toArray(revealResult.keyID, 'utf8')
1563
+ resultWriter.writeVarIntNum(keyIDBytesOut.length)
1564
+ resultWriter.write(keyIDBytesOut)
1565
+
1566
+ // Write encryptedLinkage
1567
+ resultWriter.writeVarIntNum(revealResult.encryptedLinkage.length)
1568
+ resultWriter.write(revealResult.encryptedLinkage)
1569
+
1570
+ // Write encryptedLinkageProof
1571
+ resultWriter.writeVarIntNum(
1572
+ revealResult.encryptedLinkageProof.length
1573
+ )
1574
+ resultWriter.write(revealResult.encryptedLinkageProof)
1575
+
1576
+ // Write proofType
1577
+ resultWriter.writeUInt8(revealResult.proofType)
1578
+
1579
+ // Return success code and result
1580
+ const responseWriter = new Utils.Writer()
1581
+ responseWriter.writeUInt8(0) // errorByte = 0
1582
+ responseWriter.write(resultWriter.toArray())
1583
+ return responseWriter.toArray()
1584
+ }
1585
+
1586
+ case 'acquireCertificate': {
1587
+ const args: any = {}
1588
+
1589
+ // Read args.type
1590
+ const typeBytes = paramsReader.read(32)
1591
+ args.type = Utils.toBase64(typeBytes)
1592
+
1593
+ // args.certifier
1594
+ const certifierBytes = paramsReader.read(33)
1595
+ args.certifier = Utils.toHex(certifierBytes)
1596
+
1597
+ // Read fields
1598
+ const fieldsLength = paramsReader.readVarIntNum()
1599
+ args.fields = {}
1600
+ for (let i = 0; i < fieldsLength; i++) {
1601
+ const fieldNameLength = paramsReader.readVarIntNum()
1602
+ const fieldNameBytes = paramsReader.read(fieldNameLength)
1603
+ const fieldName = Utils.toUTF8(fieldNameBytes)
1604
+
1605
+ const fieldValueLength = paramsReader.readVarIntNum()
1606
+ const fieldValueBytes = paramsReader.read(fieldValueLength)
1607
+ const fieldValue = Utils.toUTF8(fieldValueBytes)
1608
+
1609
+ args.fields[fieldName] = fieldValue
1610
+ }
1611
+
1612
+ // Read privileged parameters
1613
+ const privilegedFlag = paramsReader.readInt8()
1614
+ if (privilegedFlag === -1) {
1615
+ args.privileged = undefined
1616
+ } else {
1617
+ args.privileged = privilegedFlag === 1
1618
+ }
1619
+
1620
+ const privilegedReasonLength = paramsReader.readInt8()
1621
+ if (privilegedReasonLength === -1) {
1622
+ args.privilegedReason = undefined
1623
+ } else {
1624
+ const privilegedReasonBytes = paramsReader.read(
1625
+ privilegedReasonLength
1626
+ )
1627
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
1628
+ }
1629
+
1630
+ // Read acquisitionProtocol
1631
+ const acquisitionProtocolFlag = paramsReader.readUInt8()
1632
+ args.acquisitionProtocol =
1633
+ acquisitionProtocolFlag === 1 ? 'direct' : 'issuance'
1634
+
1635
+ if (args.acquisitionProtocol === 'direct') {
1636
+ // args.serialNumber
1637
+ const serialNumberBytes = paramsReader.read(32)
1638
+ args.serialNumber = Utils.toBase64(serialNumberBytes)
1639
+
1640
+ // args.revocationOutpoint
1641
+ args.revocationOutpoint = this.decodeOutpoint(paramsReader)
1642
+
1643
+ // args.signature
1644
+ const signatureLength = paramsReader.readVarIntNum()
1645
+ const signatureBytes = paramsReader.read(signatureLength)
1646
+ args.signature = Utils.toHex(signatureBytes)
1647
+
1648
+ // args.keyringRevealer
1649
+ const keyringRevealerIdentifier = paramsReader.readUInt8()
1650
+ if (keyringRevealerIdentifier === 11) {
1651
+ args.keyringRevealer = 'certifier'
1652
+ } else {
1653
+ const keyringRevealerBytes = [keyringRevealerIdentifier].concat(
1654
+ paramsReader.read(32)
1655
+ )
1656
+ args.keyringRevealer = Utils.toHex(keyringRevealerBytes)
1657
+ }
1658
+
1659
+ // args.keyringForSubject
1660
+ const keyringEntriesLength = paramsReader.readVarIntNum()
1661
+ args.keyringForSubject = {}
1662
+ for (let i = 0; i < keyringEntriesLength; i++) {
1663
+ const fieldKeyLength = paramsReader.readVarIntNum()
1664
+ const fieldKeyBytes = paramsReader.read(fieldKeyLength)
1665
+ const fieldKey = Utils.toUTF8(fieldKeyBytes)
1666
+
1667
+ const fieldValueLength = paramsReader.readVarIntNum()
1668
+ const fieldValueBytes = paramsReader.read(fieldValueLength)
1669
+ const fieldValue = Utils.toBase64(fieldValueBytes)
1670
+
1671
+ args.keyringForSubject[fieldKey] = fieldValue
1672
+ }
1673
+ } else {
1674
+ // args.certifierUrl
1675
+ const certifierUrlLength = paramsReader.readVarIntNum()
1676
+ const certifierUrlBytes = paramsReader.read(certifierUrlLength)
1677
+ args.certifierUrl = Utils.toUTF8(certifierUrlBytes)
1678
+ }
1679
+
1680
+ // Call the method
1681
+ const acquireResult = await this.wallet.acquireCertificate(
1682
+ args,
1683
+ originator
1684
+ )
1685
+
1686
+ // Serialize the certificate (assuming Certificate class is available)
1687
+ const cert = new Certificate(
1688
+ acquireResult.type,
1689
+ acquireResult.serialNumber,
1690
+ acquireResult.subject,
1691
+ acquireResult.certifier,
1692
+ acquireResult.revocationOutpoint,
1693
+ acquireResult.fields,
1694
+ acquireResult.signature
1695
+ )
1696
+ const certBin = cert.toBinary()
1697
+
1698
+ // Return success code and certificate binary
1699
+ const responseWriter = new Utils.Writer()
1700
+ responseWriter.writeUInt8(0) // errorByte = 0
1701
+ responseWriter.write(certBin)
1702
+ return responseWriter.toArray()
1703
+ }
1704
+
1705
+ case 'listCertificates': {
1706
+ const args: any = {}
1707
+
1708
+ // Read certifiers
1709
+ const certifiersLength = paramsReader.readVarIntNum()
1710
+ args.certifiers = []
1711
+ for (let i = 0; i < certifiersLength; i++) {
1712
+ const certifierBytes = paramsReader.read(33)
1713
+ args.certifiers.push(Utils.toHex(certifierBytes))
1714
+ }
1715
+
1716
+ // Read types
1717
+ const typesLength = paramsReader.readVarIntNum()
1718
+ args.types = []
1719
+ for (let i = 0; i < typesLength; i++) {
1720
+ const typeBytes = paramsReader.read(32)
1721
+ args.types.push(Utils.toBase64(typeBytes))
1722
+ }
1723
+
1724
+ // Read limit and offset
1725
+ const limit = paramsReader.readVarIntNum()
1726
+ if (limit >= 0) {
1727
+ args.limit = limit
1728
+ } else {
1729
+ args.limit = undefined
1730
+ }
1731
+
1732
+ const offset = paramsReader.readVarIntNum()
1733
+ if (offset >= 0) {
1734
+ args.offset = offset
1735
+ } else {
1736
+ args.offset = undefined
1737
+ }
1738
+
1739
+ // Read privileged parameters
1740
+ const privilegedFlag = paramsReader.readInt8()
1741
+ if (privilegedFlag === -1) {
1742
+ args.privileged = undefined
1743
+ } else {
1744
+ args.privileged = privilegedFlag === 1
1745
+ }
1746
+
1747
+ const privilegedReasonLength = paramsReader.readInt8()
1748
+ if (privilegedReasonLength === -1) {
1749
+ args.privilegedReason = undefined
1750
+ } else {
1751
+ const privilegedReasonBytes = paramsReader.read(
1752
+ privilegedReasonLength
1753
+ )
1754
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
1755
+ }
1756
+
1757
+ // Call the method
1758
+ const listResult = await this.wallet.listCertificates(
1759
+ args,
1760
+ originator
1761
+ )
1762
+
1763
+ // Serialize the result
1764
+ const resultWriter = new Utils.Writer()
1765
+
1766
+ // totalCertificates
1767
+ resultWriter.writeVarIntNum(listResult.totalCertificates)
1768
+
1769
+ // certificates
1770
+ for (const cert of listResult.certificates) {
1771
+ const certificate = new Certificate(
1772
+ cert.type,
1773
+ cert.serialNumber,
1774
+ cert.subject,
1775
+ cert.certifier,
1776
+ cert.revocationOutpoint,
1777
+ cert.fields,
1778
+ cert.signature
1779
+ )
1780
+ const certBin = certificate.toBinary()
1781
+
1782
+ // Write certificate binary length and data
1783
+ resultWriter.writeVarIntNum(certBin.length)
1784
+ resultWriter.write(certBin)
1785
+
1786
+ if (cert.keyring && Object.keys(cert.keyring).length > 0) {
1787
+ resultWriter.writeInt8(1) // Flag indicating keyring is present
1788
+ const keyringEntries = Object.entries(cert.keyring)
1789
+ resultWriter.writeVarIntNum(keyringEntries.length)
1790
+ for (const [fieldName, fieldValue] of keyringEntries) {
1791
+ const fieldNameBytes = Utils.toArray(fieldName, 'utf8')
1792
+ resultWriter.writeVarIntNum(fieldNameBytes.length)
1793
+ resultWriter.write(fieldNameBytes)
1794
+
1795
+ const fieldValueBytes = Utils.toArray(fieldValue, 'base64')
1796
+ resultWriter.writeVarIntNum(fieldValueBytes.length)
1797
+ resultWriter.write(fieldValueBytes)
1798
+ }
1799
+ } else {
1800
+ resultWriter.writeInt8(0) // Flag indicating no keyring
1801
+ }
1802
+
1803
+ const verifierBytes = Utils.toArray(cert.verifier, 'hex')
1804
+ resultWriter.writeVarIntNum(verifierBytes.length)
1805
+ resultWriter.write(verifierBytes)
1806
+ }
1807
+
1808
+ // Return the response
1809
+ const responseWriter = new Utils.Writer()
1810
+ responseWriter.writeUInt8(0) // errorByte = 0
1811
+ responseWriter.write(resultWriter.toArray())
1812
+ return responseWriter.toArray()
1813
+ }
1814
+
1815
+ case 'proveCertificate': {
1816
+ const args: any = {}
1817
+
1818
+ // Read certificate
1819
+ const cert: any = {}
1820
+
1821
+ // Read type
1822
+ const typeBytes = paramsReader.read(32)
1823
+ cert.type = Utils.toBase64(typeBytes)
1824
+
1825
+ // Read subject
1826
+ const subjectBytes = paramsReader.read(33)
1827
+ cert.subject = Utils.toHex(subjectBytes)
1828
+
1829
+ // Read serialNumber
1830
+ const serialNumberBytes = paramsReader.read(32)
1831
+ cert.serialNumber = Utils.toBase64(serialNumberBytes)
1832
+
1833
+ // Read certifier
1834
+ const certifierBytes = paramsReader.read(33)
1835
+ cert.certifier = Utils.toHex(certifierBytes)
1836
+
1837
+ // Read revocationOutpoint
1838
+ cert.revocationOutpoint = this.decodeOutpoint(paramsReader)
1839
+
1840
+ // Read signature
1841
+ const signatureLength = paramsReader.readVarIntNum()
1842
+ const signatureBytes = paramsReader.read(signatureLength)
1843
+ cert.signature = Utils.toHex(signatureBytes)
1844
+
1845
+ // Read fields
1846
+ const fieldsLength = paramsReader.readVarIntNum()
1847
+ cert.fields = {}
1848
+ for (let i = 0; i < fieldsLength; i++) {
1849
+ const fieldNameLength = paramsReader.readVarIntNum()
1850
+ const fieldNameBytes = paramsReader.read(fieldNameLength)
1851
+ const fieldName = Utils.toUTF8(fieldNameBytes)
1852
+
1853
+ const fieldValueLength = paramsReader.readVarIntNum()
1854
+ const fieldValueBytes = paramsReader.read(fieldValueLength)
1855
+ const fieldValue = Utils.toUTF8(fieldValueBytes)
1856
+
1857
+ cert.fields[fieldName] = fieldValue
1858
+ }
1859
+
1860
+ args.certificate = cert
1861
+
1862
+ // Read fields to reveal
1863
+ const fieldsToRevealLength = paramsReader.readVarIntNum()
1864
+ args.fieldsToReveal = []
1865
+ for (let i = 0; i < fieldsToRevealLength; i++) {
1866
+ const fieldNameLength = paramsReader.readVarIntNum()
1867
+ const fieldNameBytes = paramsReader.read(fieldNameLength)
1868
+ const fieldName = Utils.toUTF8(fieldNameBytes)
1869
+ args.fieldsToReveal.push(fieldName)
1870
+ }
1871
+
1872
+ // Read verifier
1873
+ const verifierBytes = paramsReader.read(33)
1874
+ args.verifier = Utils.toHex(verifierBytes)
1875
+
1876
+ // Read privileged parameters
1877
+ const privilegedFlag = paramsReader.readInt8()
1878
+ if (privilegedFlag === -1) {
1879
+ args.privileged = undefined
1880
+ } else {
1881
+ args.privileged = privilegedFlag === 1
1882
+ }
1883
+
1884
+ const privilegedReasonLength = paramsReader.readInt8()
1885
+ if (privilegedReasonLength === -1) {
1886
+ args.privilegedReason = undefined
1887
+ } else {
1888
+ const privilegedReasonBytes = paramsReader.read(
1889
+ privilegedReasonLength
1890
+ )
1891
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
1892
+ }
1893
+
1894
+ // Call the method
1895
+ const proveResult = await this.wallet.proveCertificate(
1896
+ args,
1897
+ originator
1898
+ )
1899
+
1900
+ // Serialize keyringForVerifier
1901
+ const resultWriter = new Utils.Writer()
1902
+
1903
+ const keyringEntries = Object.entries(proveResult.keyringForVerifier)
1904
+ resultWriter.writeVarIntNum(keyringEntries.length)
1905
+ for (const [fieldName, fieldValue] of keyringEntries) {
1906
+ const fieldNameBytes = Utils.toArray(fieldName, 'utf8')
1907
+ resultWriter.writeVarIntNum(fieldNameBytes.length)
1908
+ resultWriter.write(fieldNameBytes)
1909
+
1910
+ const fieldValueBytes = Utils.toArray(fieldValue, 'base64')
1911
+ resultWriter.writeVarIntNum(fieldValueBytes.length)
1912
+ resultWriter.write(fieldValueBytes)
1913
+ }
1914
+
1915
+ // Return the response
1916
+ const responseWriter = new Utils.Writer()
1917
+ responseWriter.writeUInt8(0) // errorByte = 0
1918
+ responseWriter.write(resultWriter.toArray())
1919
+ return responseWriter.toArray()
1920
+ }
1921
+
1922
+ case 'relinquishCertificate': {
1923
+ const args: any = {}
1924
+
1925
+ // Read type
1926
+ const typeBytes = paramsReader.read(32)
1927
+ args.type = Utils.toBase64(typeBytes)
1928
+
1929
+ // Read serialNumber
1930
+ const serialNumberBytes = paramsReader.read(32)
1931
+ args.serialNumber = Utils.toBase64(serialNumberBytes)
1932
+
1933
+ // Read certifier
1934
+ const certifierBytes = paramsReader.read(33)
1935
+ args.certifier = Utils.toHex(certifierBytes)
1936
+
1937
+ // Call the method
1938
+ await this.wallet.relinquishCertificate(args, originator)
1939
+
1940
+ // Return success code
1941
+ const responseWriter = new Utils.Writer()
1942
+ responseWriter.writeUInt8(0) // errorByte = 0
1943
+ return responseWriter.toArray()
1944
+ }
1945
+
1946
+ case 'discoverByIdentityKey': {
1947
+ const args: any = {}
1948
+
1949
+ // Read identityKey
1950
+ const identityKeyBytes = paramsReader.read(33)
1951
+ args.identityKey = Utils.toHex(identityKeyBytes)
1952
+
1953
+ // Read limit and offset
1954
+ const limit = paramsReader.readVarIntNum()
1955
+ if (limit >= 0) {
1956
+ args.limit = limit
1957
+ } else {
1958
+ args.limit = undefined
1959
+ }
1960
+
1961
+ const offset = paramsReader.readVarIntNum()
1962
+ if (offset >= 0) {
1963
+ args.offset = offset
1964
+ } else {
1965
+ args.offset = undefined
1966
+ }
1967
+
1968
+ // Deserialize seekPermission
1969
+ const seekPermission = paramsReader.readInt8()
1970
+ if (seekPermission >= 0) {
1971
+ args.seekPermission = seekPermission === 1
1972
+ } else {
1973
+ args.seekPermission = undefined
1974
+ }
1975
+
1976
+ // Call the method
1977
+ const discoverResult = await this.wallet.discoverByIdentityKey(
1978
+ args,
1979
+ originator
1980
+ )
1981
+
1982
+ // Serialize the result
1983
+ const result = this.serializeDiscoveryResult(discoverResult)
1984
+
1985
+ // Return the response
1986
+ const responseWriter = new Utils.Writer()
1987
+ responseWriter.writeUInt8(0) // errorByte = 0
1988
+ responseWriter.write(result)
1989
+ return responseWriter.toArray()
1990
+ }
1991
+
1992
+ case 'discoverByAttributes': {
1993
+ const args: any = {}
1994
+
1995
+ // Read attributes
1996
+ const attributesLength = paramsReader.readVarIntNum()
1997
+ args.attributes = {}
1998
+ for (let i = 0; i < attributesLength; i++) {
1999
+ const fieldKeyLength = paramsReader.readVarIntNum()
2000
+ const fieldKeyBytes = paramsReader.read(fieldKeyLength)
2001
+ const fieldKey = Utils.toUTF8(fieldKeyBytes)
2002
+
2003
+ const fieldValueLength = paramsReader.readVarIntNum()
2004
+ const fieldValueBytes = paramsReader.read(fieldValueLength)
2005
+ const fieldValue = Utils.toUTF8(fieldValueBytes)
2006
+
2007
+ args.attributes[fieldKey] = fieldValue
2008
+ }
2009
+
2010
+ // Read limit and offset
2011
+ const limit = paramsReader.readVarIntNum()
2012
+ if (limit >= 0) {
2013
+ args.limit = limit
2014
+ } else {
2015
+ args.limit = undefined
2016
+ }
2017
+
2018
+ const offset = paramsReader.readVarIntNum()
2019
+ if (offset >= 0) {
2020
+ args.offset = offset
2021
+ } else {
2022
+ args.offset = undefined
2023
+ }
2024
+
2025
+ // Deserialize seekPermission
2026
+ const seekPermission = paramsReader.readInt8()
2027
+ if (seekPermission >= 0) {
2028
+ args.seekPermission = seekPermission === 1
2029
+ } else {
2030
+ args.seekPermission = undefined
2031
+ }
2032
+
2033
+ // Call the method
2034
+ const discoverResult = await this.wallet.discoverByAttributes(
2035
+ args,
2036
+ originator
2037
+ )
2038
+
2039
+ // Serialize the result
2040
+ const result = this.serializeDiscoveryResult(discoverResult)
2041
+
2042
+ // Return the response
2043
+ const responseWriter = new Utils.Writer()
2044
+ responseWriter.writeUInt8(0) // errorByte = 0
2045
+ responseWriter.write(result)
2046
+ return responseWriter.toArray()
2047
+ }
2048
+
2049
+ default:
2050
+ throw new Error(`Method ${callName} not implemented`)
2051
+ }
2052
+ } catch (err) {
2053
+ const responseWriter = new Utils.Writer()
2054
+ responseWriter.writeUInt8(typeof err.code === 'number' ? err.code : 1) // errorCode = 1 (generic error)
2055
+
2056
+ // Serialize the error message
2057
+ const errorMessage = typeof err.message === 'string' ? err.message : 'Unknown error'
2058
+ const errorMessageBytes = Utils.toArray(errorMessage, 'utf8')
2059
+ responseWriter.writeVarIntNum(errorMessageBytes.length)
2060
+ responseWriter.write(errorMessageBytes)
2061
+
2062
+ // Serialize the stack trace
2063
+ const stackTrace = typeof err.stack === 'string' ? err.stack : ''
2064
+ const stackTraceBytes = Utils.toArray(stackTrace, 'utf8')
2065
+ responseWriter.writeVarIntNum(stackTraceBytes.length)
2066
+ responseWriter.write(stackTraceBytes)
2067
+
2068
+ return responseWriter.toArray()
2069
+ }
2070
+ }
2071
+
2072
+ private decodeProtocolID(reader: Utils.Reader): [SecurityLevel, string] {
2073
+ const securityLevel = reader.readUInt8() as SecurityLevel
2074
+ const protocolLength = reader.readVarIntNum()
2075
+ const protocolBytes = reader.read(protocolLength)
2076
+ const protocolString = Utils.toUTF8(protocolBytes)
2077
+ return [securityLevel, protocolString]
2078
+ }
2079
+
2080
+ private decodeString(reader: Utils.Reader): string {
2081
+ const length = reader.readVarIntNum()
2082
+ const bytes = reader.read(length)
2083
+ return Utils.toUTF8(bytes)
2084
+ }
2085
+
2086
+ private decodeCounterparty(
2087
+ reader: Utils.Reader
2088
+ ): string | 'self' | 'anyone' | undefined {
2089
+ const counterpartyFlag = reader.readUInt8()
2090
+ if (counterpartyFlag === 11) {
2091
+ return 'self'
2092
+ } else if (counterpartyFlag === 12) {
2093
+ return 'anyone'
2094
+ } else if (counterpartyFlag === 0) {
2095
+ return undefined
2096
+ } else {
2097
+ const counterpartyRemainingBytes = reader.read(32)
2098
+ return Utils.toHex([counterpartyFlag, ...counterpartyRemainingBytes])
2099
+ }
2100
+ }
2101
+
2102
+ private serializeDiscoveryResult(discoverResult: any): number[] {
2103
+ const resultWriter = new Utils.Writer()
2104
+
2105
+ // totalCertificates
2106
+ resultWriter.writeVarIntNum(discoverResult.totalCertificates)
2107
+
2108
+ // certificates
2109
+ for (const cert of discoverResult.certificates) {
2110
+ // Serialize certificate binary
2111
+ const certificate = new Certificate(
2112
+ cert.type,
2113
+ cert.serialNumber,
2114
+ cert.subject,
2115
+ cert.certifier,
2116
+ cert.revocationOutpoint,
2117
+ cert.fields,
2118
+ cert.signature
2119
+ )
2120
+ const certBin = certificate.toBinary()
2121
+
2122
+ // Write certificate binary length and data
2123
+ resultWriter.writeVarIntNum(certBin.length)
2124
+ resultWriter.write(certBin)
2125
+
2126
+ // Serialize certifierInfo
2127
+ const nameBytes = Utils.toArray(cert.certifierInfo.name, 'utf8')
2128
+ resultWriter.writeVarIntNum(nameBytes.length)
2129
+ resultWriter.write(nameBytes)
2130
+
2131
+ const iconUrlBytes = Utils.toArray(cert.certifierInfo.iconUrl, 'utf8')
2132
+ resultWriter.writeVarIntNum(iconUrlBytes.length)
2133
+ resultWriter.write(iconUrlBytes)
2134
+
2135
+ const descriptionBytes = Utils.toArray(
2136
+ cert.certifierInfo.description,
2137
+ 'utf8'
2138
+ )
2139
+ resultWriter.writeVarIntNum(descriptionBytes.length)
2140
+ resultWriter.write(descriptionBytes)
2141
+
2142
+ resultWriter.writeUInt8(cert.certifierInfo.trust)
2143
+
2144
+ // Serialize publiclyRevealedKeyring
2145
+ const publicKeyringEntries = Object.entries(cert.publiclyRevealedKeyring)
2146
+ resultWriter.writeVarIntNum(publicKeyringEntries.length)
2147
+ for (const [fieldName, fieldValue] of publicKeyringEntries) {
2148
+ const fieldNameBytes = Utils.toArray(fieldName, 'utf8')
2149
+ resultWriter.writeVarIntNum(fieldNameBytes.length)
2150
+ resultWriter.write(fieldNameBytes)
2151
+
2152
+ const fieldValueBytes = Utils.toArray(fieldValue, 'base64')
2153
+ resultWriter.writeVarIntNum(fieldValueBytes.length)
2154
+ resultWriter.write(fieldValueBytes)
2155
+ }
2156
+
2157
+ // Serialize decryptedFields
2158
+ const decryptedFieldEntries = Object.entries(cert.decryptedFields)
2159
+ resultWriter.writeVarIntNum(decryptedFieldEntries.length)
2160
+ for (const [fieldName, fieldValue] of decryptedFieldEntries) {
2161
+ const fieldNameBytes = Utils.toArray(fieldName, 'utf8')
2162
+ resultWriter.writeVarIntNum(fieldNameBytes.length)
2163
+ resultWriter.write(fieldNameBytes)
2164
+
2165
+ const fieldValueBytes = Utils.toArray(fieldValue, 'utf8')
2166
+ resultWriter.writeVarIntNum(fieldValueBytes.length)
2167
+ resultWriter.write(fieldValueBytes)
2168
+ }
2169
+ }
2170
+
2171
+ return resultWriter.toArray()
2172
+ }
2173
+
2174
+ private decodeKeyRelatedParams(paramsReader: Utils.Reader): any {
2175
+ const args: any = {}
2176
+
2177
+ // Read protocolID
2178
+ args.protocolID = this.decodeProtocolID(paramsReader)
2179
+
2180
+ // Read keyID
2181
+ const keyIDLength = paramsReader.readVarIntNum()
2182
+ const keyIDBytes = paramsReader.read(keyIDLength)
2183
+ args.keyID = Utils.toUTF8(keyIDBytes)
2184
+
2185
+ // Read counterparty
2186
+ args.counterparty = this.decodeCounterparty(paramsReader)
2187
+
2188
+ // Read privileged parameters
2189
+ const privilegedFlag = paramsReader.readInt8()
2190
+ if (privilegedFlag === -1) {
2191
+ args.privileged = undefined
2192
+ } else {
2193
+ args.privileged = privilegedFlag === 1
2194
+ }
2195
+
2196
+ const privilegedReasonLength = paramsReader.readInt8()
2197
+ if (privilegedReasonLength === -1) {
2198
+ args.privilegedReason = undefined
2199
+ } else {
2200
+ const privilegedReasonBytes = paramsReader.read(privilegedReasonLength)
2201
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes)
2202
+ }
2203
+
2204
+ return args
2205
+ }
2206
+ }