@bsv/sdk 2.1.0 → 2.1.2

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 (392) hide show
  1. package/README.md +7 -7
  2. package/dist/cjs/package.json +1 -1
  3. package/dist/cjs/src/auth/Peer.js +8 -13
  4. package/dist/cjs/src/auth/Peer.js.map +1 -1
  5. package/dist/cjs/src/auth/SessionManager.js +4 -7
  6. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  7. package/dist/cjs/src/auth/certificates/MasterCertificate.js +1 -1
  8. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  9. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +1 -1
  10. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  11. package/dist/cjs/src/auth/clients/AuthFetch.js +32 -32
  12. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  13. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +4 -4
  14. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  15. package/dist/cjs/src/compat/ECIES.js +29 -34
  16. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  17. package/dist/cjs/src/compat/HD.js +9 -4
  18. package/dist/cjs/src/compat/HD.js.map +1 -1
  19. package/dist/cjs/src/compat/Mnemonic.js +12 -12
  20. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  21. package/dist/cjs/src/identity/ContactsManager.js +212 -234
  22. package/dist/cjs/src/identity/ContactsManager.js.map +1 -1
  23. package/dist/cjs/src/identity/IdentityClient.js +199 -63
  24. package/dist/cjs/src/identity/IdentityClient.js.map +1 -1
  25. package/dist/cjs/src/kvstore/GlobalKVStore.js +30 -31
  26. package/dist/cjs/src/kvstore/GlobalKVStore.js.map +1 -1
  27. package/dist/cjs/src/kvstore/LocalKVStore.js +9 -9
  28. package/dist/cjs/src/kvstore/LocalKVStore.js.map +1 -1
  29. package/dist/cjs/src/kvstore/kvStoreInterpreter.js +2 -2
  30. package/dist/cjs/src/kvstore/kvStoreInterpreter.js.map +1 -1
  31. package/dist/cjs/src/messages/SignedMessage.js +1 -1
  32. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  33. package/dist/cjs/src/overlay-tools/Historian.js +1 -1
  34. package/dist/cjs/src/overlay-tools/Historian.js.map +1 -1
  35. package/dist/cjs/src/overlay-tools/LookupResolver.js +213 -93
  36. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  37. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +75 -146
  38. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  39. package/dist/cjs/src/primitives/AESGCM.js +2 -2
  40. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  41. package/dist/cjs/src/primitives/BigNumber.js +164 -148
  42. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  43. package/dist/cjs/src/primitives/Curve.js +17 -15
  44. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  45. package/dist/cjs/src/primitives/ECDSA.js +12 -7
  46. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  47. package/dist/cjs/src/primitives/Hash.js +312 -105
  48. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  49. package/dist/cjs/src/primitives/JacobianPoint.js +8 -8
  50. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  51. package/dist/cjs/src/primitives/K256.js +3 -3
  52. package/dist/cjs/src/primitives/K256.js.map +1 -1
  53. package/dist/cjs/src/primitives/Point.js +36 -40
  54. package/dist/cjs/src/primitives/Point.js.map +1 -1
  55. package/dist/cjs/src/primitives/PrivateKey.js +4 -4
  56. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  57. package/dist/cjs/src/primitives/PublicKey.js +4 -4
  58. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  59. package/dist/cjs/src/primitives/Random.js +10 -14
  60. package/dist/cjs/src/primitives/Random.js.map +1 -1
  61. package/dist/cjs/src/primitives/ReaderUint8Array.js +6 -6
  62. package/dist/cjs/src/primitives/ReaderUint8Array.js.map +1 -1
  63. package/dist/cjs/src/primitives/Schnorr.js +2 -2
  64. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  65. package/dist/cjs/src/primitives/Secp256r1.js +2 -1
  66. package/dist/cjs/src/primitives/Secp256r1.js.map +1 -1
  67. package/dist/cjs/src/primitives/Signature.js +8 -8
  68. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  69. package/dist/cjs/src/primitives/SymmetricKey.js +123 -1
  70. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  71. package/dist/cjs/src/primitives/TransactionSignature.js +20 -21
  72. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  73. package/dist/cjs/src/primitives/utils.js +39 -46
  74. package/dist/cjs/src/primitives/utils.js.map +1 -1
  75. package/dist/cjs/src/registry/RegistryClient.js +31 -23
  76. package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
  77. package/dist/cjs/src/remittance/RemittanceManager.js +19 -18
  78. package/dist/cjs/src/remittance/RemittanceManager.js.map +1 -1
  79. package/dist/cjs/src/remittance/modules/BasicBRC29.js.map +1 -1
  80. package/dist/cjs/src/script/Script.js +93 -170
  81. package/dist/cjs/src/script/Script.js.map +1 -1
  82. package/dist/cjs/src/script/ScriptEvaluationError.js +2 -2
  83. package/dist/cjs/src/script/ScriptEvaluationError.js.map +1 -1
  84. package/dist/cjs/src/script/Spend.js +14 -12
  85. package/dist/cjs/src/script/Spend.js.map +1 -1
  86. package/dist/cjs/src/script/templates/PushDrop.js +22 -18
  87. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  88. package/dist/cjs/src/script/templates/RPuzzle.js +2 -4
  89. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  90. package/dist/cjs/src/storage/StorageDownloader.js +42 -9
  91. package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
  92. package/dist/cjs/src/totp/totp.js +1 -1
  93. package/dist/cjs/src/totp/totp.js.map +1 -1
  94. package/dist/cjs/src/transaction/Beef.js +239 -192
  95. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  96. package/dist/cjs/src/transaction/BeefConstants.js +19 -0
  97. package/dist/cjs/src/transaction/BeefConstants.js.map +1 -0
  98. package/dist/cjs/src/transaction/BeefTx.js +12 -12
  99. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  100. package/dist/cjs/src/transaction/MerklePath.js +4 -4
  101. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  102. package/dist/cjs/src/transaction/Transaction.js +49 -52
  103. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  104. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +1 -1
  105. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  106. package/dist/cjs/src/transaction/http/BinaryFetchClient.js +9 -9
  107. package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
  108. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +9 -9
  109. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  110. package/dist/cjs/src/wallet/CachedKeyDeriver.js +1 -1
  111. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  112. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  113. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  114. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +5 -4
  115. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  116. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +9 -9
  117. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  118. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +92 -92
  119. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  120. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +387 -711
  121. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  122. package/dist/cjs/src/wallet/substrates/XDM.js +4 -4
  123. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  124. package/dist/cjs/src/wallet/substrates/window.CWI.js +2 -2
  125. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  126. package/dist/cjs/src/wallet/validationHelpers.js +9 -9
  127. package/dist/cjs/src/wallet/validationHelpers.js.map +1 -1
  128. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  129. package/dist/esm/src/auth/Peer.js +25 -13
  130. package/dist/esm/src/auth/Peer.js.map +1 -1
  131. package/dist/esm/src/auth/SessionManager.js +4 -7
  132. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  133. package/dist/esm/src/auth/certificates/MasterCertificate.js +1 -1
  134. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  135. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +1 -1
  136. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  137. package/dist/esm/src/auth/clients/AuthFetch.js +32 -32
  138. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  139. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +4 -4
  140. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  141. package/dist/esm/src/compat/ECIES.js +29 -34
  142. package/dist/esm/src/compat/ECIES.js.map +1 -1
  143. package/dist/esm/src/compat/HD.js +9 -4
  144. package/dist/esm/src/compat/HD.js.map +1 -1
  145. package/dist/esm/src/compat/Mnemonic.js +12 -12
  146. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  147. package/dist/esm/src/identity/ContactsManager.js +212 -234
  148. package/dist/esm/src/identity/ContactsManager.js.map +1 -1
  149. package/dist/esm/src/identity/IdentityClient.js +199 -63
  150. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  151. package/dist/esm/src/kvstore/GlobalKVStore.js +30 -31
  152. package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -1
  153. package/dist/esm/src/kvstore/LocalKVStore.js +9 -9
  154. package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
  155. package/dist/esm/src/kvstore/kvStoreInterpreter.js +2 -2
  156. package/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -1
  157. package/dist/esm/src/messages/SignedMessage.js +1 -1
  158. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  159. package/dist/esm/src/overlay-tools/Historian.js +1 -1
  160. package/dist/esm/src/overlay-tools/Historian.js.map +1 -1
  161. package/dist/esm/src/overlay-tools/LookupResolver.js +213 -93
  162. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  163. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +74 -146
  164. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  165. package/dist/esm/src/primitives/AESGCM.js +2 -2
  166. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  167. package/dist/esm/src/primitives/BigNumber.js +167 -154
  168. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  169. package/dist/esm/src/primitives/Curve.js +17 -15
  170. package/dist/esm/src/primitives/Curve.js.map +1 -1
  171. package/dist/esm/src/primitives/ECDSA.js +12 -7
  172. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  173. package/dist/esm/src/primitives/Hash.js +316 -105
  174. package/dist/esm/src/primitives/Hash.js.map +1 -1
  175. package/dist/esm/src/primitives/JacobianPoint.js +8 -8
  176. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  177. package/dist/esm/src/primitives/K256.js +3 -3
  178. package/dist/esm/src/primitives/K256.js.map +1 -1
  179. package/dist/esm/src/primitives/Point.js +36 -40
  180. package/dist/esm/src/primitives/Point.js.map +1 -1
  181. package/dist/esm/src/primitives/PrivateKey.js +4 -4
  182. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  183. package/dist/esm/src/primitives/PublicKey.js +4 -4
  184. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  185. package/dist/esm/src/primitives/Random.js +10 -14
  186. package/dist/esm/src/primitives/Random.js.map +1 -1
  187. package/dist/esm/src/primitives/ReaderUint8Array.js +6 -6
  188. package/dist/esm/src/primitives/ReaderUint8Array.js.map +1 -1
  189. package/dist/esm/src/primitives/Schnorr.js +1 -1
  190. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  191. package/dist/esm/src/primitives/Secp256r1.js +2 -1
  192. package/dist/esm/src/primitives/Secp256r1.js.map +1 -1
  193. package/dist/esm/src/primitives/Signature.js +8 -8
  194. package/dist/esm/src/primitives/Signature.js.map +1 -1
  195. package/dist/esm/src/primitives/SymmetricKey.js +123 -1
  196. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  197. package/dist/esm/src/primitives/TransactionSignature.js +20 -21
  198. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  199. package/dist/esm/src/primitives/utils.js +39 -48
  200. package/dist/esm/src/primitives/utils.js.map +1 -1
  201. package/dist/esm/src/registry/RegistryClient.js +31 -23
  202. package/dist/esm/src/registry/RegistryClient.js.map +1 -1
  203. package/dist/esm/src/remittance/RemittanceManager.js +19 -18
  204. package/dist/esm/src/remittance/RemittanceManager.js.map +1 -1
  205. package/dist/esm/src/remittance/modules/BasicBRC29.js.map +1 -1
  206. package/dist/esm/src/script/Script.js +93 -170
  207. package/dist/esm/src/script/Script.js.map +1 -1
  208. package/dist/esm/src/script/ScriptEvaluationError.js +2 -2
  209. package/dist/esm/src/script/ScriptEvaluationError.js.map +1 -1
  210. package/dist/esm/src/script/Spend.js +14 -12
  211. package/dist/esm/src/script/Spend.js.map +1 -1
  212. package/dist/esm/src/script/templates/PushDrop.js +4 -3
  213. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  214. package/dist/esm/src/script/templates/RPuzzle.js +2 -4
  215. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  216. package/dist/esm/src/storage/StorageDownloader.js +1 -1
  217. package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
  218. package/dist/esm/src/totp/totp.js +1 -1
  219. package/dist/esm/src/totp/totp.js.map +1 -1
  220. package/dist/esm/src/transaction/Beef.js +229 -186
  221. package/dist/esm/src/transaction/Beef.js.map +1 -1
  222. package/dist/esm/src/transaction/BeefConstants.js +16 -0
  223. package/dist/esm/src/transaction/BeefConstants.js.map +1 -0
  224. package/dist/esm/src/transaction/BeefTx.js +3 -3
  225. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  226. package/dist/esm/src/transaction/MerklePath.js +4 -4
  227. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  228. package/dist/esm/src/transaction/Transaction.js +49 -52
  229. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  230. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +1 -1
  231. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  232. package/dist/esm/src/transaction/http/BinaryFetchClient.js +9 -9
  233. package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
  234. package/dist/esm/src/transaction/http/DefaultHttpClient.js +9 -9
  235. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  236. package/dist/esm/src/wallet/CachedKeyDeriver.js +1 -1
  237. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  238. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  239. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  240. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +5 -4
  241. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  242. package/dist/esm/src/wallet/substrates/ReactNativeWebView.js +9 -9
  243. package/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  244. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +92 -92
  245. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  246. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +387 -711
  247. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  248. package/dist/esm/src/wallet/substrates/XDM.js +4 -4
  249. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  250. package/dist/esm/src/wallet/substrates/window.CWI.js +2 -2
  251. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  252. package/dist/esm/src/wallet/validationHelpers.js +9 -9
  253. package/dist/esm/src/wallet/validationHelpers.js.map +1 -1
  254. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  255. package/dist/types/src/auth/Peer.d.ts +13 -0
  256. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  257. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  258. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  259. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  260. package/dist/types/src/compat/HD.d.ts.map +1 -1
  261. package/dist/types/src/identity/ContactsManager.d.ts +31 -2
  262. package/dist/types/src/identity/ContactsManager.d.ts.map +1 -1
  263. package/dist/types/src/identity/IdentityClient.d.ts +75 -10
  264. package/dist/types/src/identity/IdentityClient.d.ts.map +1 -1
  265. package/dist/types/src/kvstore/GlobalKVStore.d.ts.map +1 -1
  266. package/dist/types/src/overlay-tools/LookupResolver.d.ts +73 -2
  267. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  268. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +18 -3
  269. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  270. package/dist/types/src/primitives/BigNumber.d.ts +13 -3
  271. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  272. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  273. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  274. package/dist/types/src/primitives/Hash.d.ts +22 -17
  275. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  276. package/dist/types/src/primitives/JacobianPoint.d.ts +3 -1
  277. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  278. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  279. package/dist/types/src/primitives/Random.d.ts +2 -2
  280. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  281. package/dist/types/src/primitives/ReaderUint8Array.d.ts.map +1 -1
  282. package/dist/types/src/primitives/Schnorr.d.ts +2 -1
  283. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  284. package/dist/types/src/primitives/Secp256r1.d.ts.map +1 -1
  285. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  286. package/dist/types/src/primitives/utils.d.ts +2 -4
  287. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  288. package/dist/types/src/registry/RegistryClient.d.ts.map +1 -1
  289. package/dist/types/src/remittance/RemittanceManager.d.ts.map +1 -1
  290. package/dist/types/src/remittance/modules/BasicBRC29.d.ts.map +1 -1
  291. package/dist/types/src/script/Script.d.ts +15 -8
  292. package/dist/types/src/script/Script.d.ts.map +1 -1
  293. package/dist/types/src/script/Spend.d.ts.map +1 -1
  294. package/dist/types/src/script/templates/PushDrop.d.ts +3 -1
  295. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  296. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  297. package/dist/types/src/transaction/Beef.d.ts +46 -8
  298. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  299. package/dist/types/src/transaction/BeefConstants.d.ts +15 -0
  300. package/dist/types/src/transaction/BeefConstants.d.ts.map +1 -0
  301. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  302. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  303. package/dist/types/src/wallet/KeyDeriver.d.ts +1 -1
  304. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  305. package/dist/types/src/wallet/Wallet.interfaces.d.ts +18 -3
  306. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  307. package/dist/types/src/wallet/WalletClient.d.ts +8 -8
  308. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  309. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +7 -7
  310. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  311. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +36 -7
  312. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  313. package/dist/types/src/wallet/substrates/window.CWI.d.ts +9 -9
  314. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  315. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  316. package/dist/umd/bundle.js +3 -3
  317. package/package.json +1 -1
  318. package/src/auth/Peer.ts +26 -13
  319. package/src/auth/SessionManager.ts +4 -7
  320. package/src/auth/certificates/MasterCertificate.ts +1 -1
  321. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +1 -1
  322. package/src/auth/clients/AuthFetch.ts +41 -41
  323. package/src/auth/transports/SimplifiedFetchTransport.ts +4 -4
  324. package/src/compat/ECIES.ts +29 -34
  325. package/src/compat/HD.ts +10 -5
  326. package/src/compat/Mnemonic.ts +11 -11
  327. package/src/compat/__tests/HD.test.ts +19 -0
  328. package/src/identity/ContactsManager.ts +236 -258
  329. package/src/identity/IdentityClient.ts +244 -71
  330. package/src/identity/__tests/IdentityClient.additional.test.ts +150 -1
  331. package/src/identity/__tests/IdentityClient.test.ts +27 -3
  332. package/src/kvstore/GlobalKVStore.ts +31 -32
  333. package/src/kvstore/LocalKVStore.ts +8 -8
  334. package/src/kvstore/kvStoreInterpreter.ts +2 -2
  335. package/src/messages/SignedMessage.ts +1 -1
  336. package/src/overlay-tools/Historian.ts +1 -1
  337. package/src/overlay-tools/LookupResolver.ts +264 -90
  338. package/src/overlay-tools/SHIPBroadcaster.ts +92 -168
  339. package/src/primitives/AESGCM.ts +2 -2
  340. package/src/primitives/BigNumber.ts +122 -113
  341. package/src/primitives/Curve.ts +16 -15
  342. package/src/primitives/ECDSA.ts +10 -8
  343. package/src/primitives/Hash.ts +381 -146
  344. package/src/primitives/JacobianPoint.ts +13 -11
  345. package/src/primitives/K256.ts +3 -3
  346. package/src/primitives/Point.ts +35 -38
  347. package/src/primitives/PrivateKey.ts +3 -3
  348. package/src/primitives/PublicKey.ts +3 -3
  349. package/src/primitives/Random.ts +11 -14
  350. package/src/primitives/ReaderUint8Array.ts +7 -7
  351. package/src/primitives/Schnorr.ts +2 -1
  352. package/src/primitives/Secp256r1.ts +2 -1
  353. package/src/primitives/Signature.ts +8 -8
  354. package/src/primitives/SymmetricKey.ts +145 -1
  355. package/src/primitives/TransactionSignature.ts +16 -16
  356. package/src/primitives/__tests/Hash.additional.test.ts +65 -0
  357. package/src/primitives/__tests/Hash.test.ts +6 -1
  358. package/src/primitives/utils.ts +37 -47
  359. package/src/registry/RegistryClient.ts +25 -25
  360. package/src/remittance/RemittanceManager.ts +17 -18
  361. package/src/remittance/modules/BasicBRC29.ts +2 -5
  362. package/src/script/Script.ts +114 -170
  363. package/src/script/ScriptEvaluationError.ts +2 -2
  364. package/src/script/Spend.ts +14 -15
  365. package/src/script/templates/PushDrop.ts +5 -3
  366. package/src/script/templates/RPuzzle.ts +2 -4
  367. package/src/storage/StorageDownloader.ts +1 -1
  368. package/src/totp/totp.ts +1 -1
  369. package/src/transaction/Beef.ts +241 -203
  370. package/src/transaction/BeefConstants.ts +16 -0
  371. package/src/transaction/BeefTx.ts +3 -3
  372. package/src/transaction/MerklePath.ts +4 -4
  373. package/src/transaction/Transaction.ts +48 -51
  374. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +1 -1
  375. package/src/transaction/http/BinaryFetchClient.ts +8 -8
  376. package/src/transaction/http/DefaultHttpClient.ts +8 -8
  377. package/src/wallet/CachedKeyDeriver.ts +8 -6
  378. package/src/wallet/KeyDeriver.ts +1 -1
  379. package/src/wallet/Wallet.interfaces.ts +18 -5
  380. package/src/wallet/WalletClient.ts +9 -9
  381. package/src/wallet/WalletError.ts +1 -1
  382. package/src/wallet/__tests/WalletClient.substrate.test.ts +10 -6
  383. package/src/wallet/substrates/HTTPWalletJSON.ts +22 -21
  384. package/src/wallet/substrates/ReactNativeWebView.ts +9 -9
  385. package/src/wallet/substrates/WalletWireProcessor.ts +83 -83
  386. package/src/wallet/substrates/WalletWireTransceiver.ts +528 -938
  387. package/src/wallet/substrates/XDM.ts +4 -4
  388. package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +38 -25
  389. package/src/wallet/substrates/__tests/ReactNativeWebView.test.ts +174 -0
  390. package/src/wallet/substrates/__tests/window.CWI.test.ts +256 -0
  391. package/src/wallet/substrates/window.CWI.ts +11 -11
  392. package/src/wallet/validationHelpers.ts +9 -9
@@ -1 +1 @@
1
- {"version":3,"file":"RemittanceManager.js","sourceRoot":"","sources":["../../../../src/remittance/RemittanceManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RemittanceManager.js","sourceRoot":"","sources":["../../../../src/remittance/RemittanceManager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"BasicBRC29.js","sourceRoot":"","sources":["../../../../../src/remittance/modules/BasicBRC29.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BasicBRC29.js","sourceRoot":"","sources":["../../../../../src/remittance/modules/BasicBRC29.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import BigNumber from '../primitives/BigNumber.js';
8
8
  *
9
9
  * @property {ScriptChunk[]} chunks - An array of script chunks that make up the script.
10
10
  */
11
- const BufferCtor = typeof globalThis !== 'undefined' ? globalThis.Buffer : undefined;
11
+ const BufferCtor = typeof globalThis === 'undefined' ? undefined : globalThis.Buffer;
12
12
  export default class Script {
13
13
  _chunks;
14
14
  parsed;
@@ -27,75 +27,49 @@ export default class Script {
27
27
  const tokens = asm.split(' ');
28
28
  let i = 0;
29
29
  while (i < tokens.length) {
30
- const token = tokens[i];
31
- let opCode;
32
- let opCodeNum = 0;
33
- if (token.startsWith('OP_') && typeof OP[token] !== 'undefined') {
34
- opCode = token;
35
- opCodeNum = OP[token];
36
- }
37
- // we start with two special cases, 0 and -1, which are handled specially in
38
- // toASM. see _chunkToString.
39
- if (token === '0') {
40
- opCodeNum = 0;
41
- chunks.push({
42
- op: opCodeNum
43
- });
44
- i = i + 1;
45
- }
46
- else if (token === '-1') {
47
- opCodeNum = OP.OP_1NEGATE;
48
- chunks.push({
49
- op: opCodeNum
50
- });
51
- i = i + 1;
52
- }
53
- else if (opCode === undefined) {
54
- let hex = tokens[i];
55
- if (hex.length % 2 !== 0) {
56
- hex = '0' + hex;
57
- }
58
- const arr = toArray(hex, 'hex');
59
- if (encode(arr, 'hex') !== hex) {
60
- throw new Error('invalid hex string in script');
61
- }
62
- const len = arr.length;
63
- if (len >= 0 && len < OP.OP_PUSHDATA1) {
64
- opCodeNum = len;
65
- }
66
- else if (len < Math.pow(2, 8)) {
67
- opCodeNum = OP.OP_PUSHDATA1;
68
- }
69
- else if (len < Math.pow(2, 16)) {
70
- opCodeNum = OP.OP_PUSHDATA2;
71
- }
72
- else if (len < Math.pow(2, 32)) {
73
- opCodeNum = OP.OP_PUSHDATA4;
74
- }
75
- chunks.push({
76
- data: arr,
77
- op: opCodeNum
78
- });
79
- i = i + 1;
80
- }
81
- else if (opCodeNum === OP.OP_PUSHDATA1 ||
82
- opCodeNum === OP.OP_PUSHDATA2 ||
83
- opCodeNum === OP.OP_PUSHDATA4) {
84
- chunks.push({
85
- data: toArray(tokens[i + 2], 'hex'),
86
- op: opCodeNum
87
- });
88
- i = i + 3;
89
- }
90
- else {
91
- chunks.push({
92
- op: opCodeNum
93
- });
94
- i = i + 1;
95
- }
30
+ const { chunk, advance } = Script.parseASMToken(tokens, i);
31
+ chunks.push(chunk);
32
+ i += advance;
96
33
  }
97
34
  return new Script(chunks);
98
35
  }
36
+ static pushdataOpCodeNum(len) {
37
+ if (len >= 0 && len < OP.OP_PUSHDATA1)
38
+ return len;
39
+ if (len < Math.pow(2, 8))
40
+ return OP.OP_PUSHDATA1;
41
+ if (len < Math.pow(2, 16))
42
+ return OP.OP_PUSHDATA2;
43
+ return OP.OP_PUSHDATA4;
44
+ }
45
+ static parseASMToken(tokens, i) {
46
+ const token = tokens[i];
47
+ // Special literal tokens
48
+ if (token === '0')
49
+ return { chunk: { op: 0 }, advance: 1 };
50
+ if (token === '-1')
51
+ return { chunk: { op: OP.OP_1NEGATE }, advance: 1 };
52
+ const isKnownOp = token.startsWith('OP_') && OP[token] !== undefined;
53
+ const opCodeNum = isKnownOp ? OP[token] : 0;
54
+ // Inline PUSHDATA opcodes consume the next two tokens (size, hex data)
55
+ if (opCodeNum === OP.OP_PUSHDATA1 ||
56
+ opCodeNum === OP.OP_PUSHDATA2 ||
57
+ opCodeNum === OP.OP_PUSHDATA4) {
58
+ return { chunk: { data: toArray(tokens[i + 2], 'hex'), op: opCodeNum }, advance: 3 };
59
+ }
60
+ // Unknown opcode token — treat as raw hex push data
61
+ if (!isKnownOp) {
62
+ let hex = token;
63
+ if (hex.length % 2 !== 0)
64
+ hex = '0' + hex;
65
+ const arr = toArray(hex, 'hex');
66
+ if (encode(arr, 'hex') !== hex) {
67
+ throw new Error('invalid hex string in script');
68
+ }
69
+ return { chunk: { data: arr, op: Script.pushdataOpCodeNum(arr.length) }, advance: 1 };
70
+ }
71
+ return { chunk: { op: opCodeNum }, advance: 1 };
72
+ }
99
73
  /**
100
74
  * @method fromHex
101
75
  * Static method to construct a Script instance from a hexadecimal string.
@@ -170,8 +144,7 @@ export default class Script {
170
144
  */
171
145
  toASM() {
172
146
  let str = '';
173
- for (let i = 0; i < this.chunks.length; i++) {
174
- const chunk = this.chunks[i];
147
+ for (const chunk of this.chunks) {
175
148
  str += this._chunkToString(chunk);
176
149
  }
177
150
  return str.slice(1);
@@ -185,12 +158,10 @@ export default class Script {
185
158
  if (this.hexCache != null) {
186
159
  return this.hexCache;
187
160
  }
188
- if (this.rawBytesCache == null) {
189
- this.rawBytesCache = this.serializeChunksToBytes();
190
- }
191
- const hex = BufferCtor != null
192
- ? BufferCtor.from(this.rawBytesCache).toString('hex')
193
- : encode(Array.from(this.rawBytesCache), 'hex');
161
+ this.rawBytesCache ??= this.serializeChunksToBytes();
162
+ const hex = BufferCtor == null
163
+ ? encode(Array.from(this.rawBytesCache), 'hex')
164
+ : BufferCtor.from(this.rawBytesCache).toString('hex');
194
165
  this.hexCache = hex;
195
166
  return hex;
196
167
  }
@@ -203,9 +174,7 @@ export default class Script {
203
174
  return Array.from(this.toUint8Array());
204
175
  }
205
176
  toUint8Array() {
206
- if (this.rawBytesCache == null) {
207
- this.rawBytesCache = this.serializeChunksToBytes();
208
- }
177
+ this.rawBytesCache ??= this.serializeChunksToBytes();
209
178
  return this.rawBytesCache;
210
179
  }
211
180
  /**
@@ -431,8 +400,7 @@ export default class Script {
431
400
  * @returns True if the script is push-only, otherwise false.
432
401
  */
433
402
  isPushOnly() {
434
- for (let i = 0; i < this.chunks.length; i++) {
435
- const chunk = this.chunks[i];
403
+ for (const chunk of this.chunks) {
436
404
  const opCodeNum = chunk.op;
437
405
  if (opCodeNum > OP.OP_16) {
438
406
  return false;
@@ -494,14 +462,12 @@ export default class Script {
494
462
  const totalLength = Script.computeSerializedLength(chunks);
495
463
  const bytes = new Uint8Array(totalLength);
496
464
  let offset = 0;
497
- for (let i = 0; i < chunks.length; i++) {
498
- const chunk = chunks[i];
465
+ for (const chunk of chunks) {
499
466
  bytes[offset++] = chunk.op;
500
467
  if (chunk.data == null)
501
468
  continue;
502
469
  if (chunk.op === OP.OP_RETURN) {
503
470
  bytes.set(chunk.data, offset);
504
- offset += chunk.data.length;
505
471
  break;
506
472
  }
507
473
  offset = Script.writeChunkData(bytes, offset, chunk.op, chunk.data);
@@ -540,6 +506,32 @@ export default class Script {
540
506
  }
541
507
  return offset;
542
508
  }
509
+ /**
510
+ * Reads pushdata length bytes from `bytes` at `pos` and returns the resulting
511
+ * `{ len, newPos, hasLength }` for a given opcode. Does not read the actual data.
512
+ */
513
+ static readPushdataLength(op, bytes, pos, length) {
514
+ if (op > 0 && op < OP.OP_PUSHDATA1) {
515
+ return { len: op, newPos: pos, hasLength: true };
516
+ }
517
+ if (op === OP.OP_PUSHDATA1) {
518
+ const hasLength = pos < length;
519
+ const len = hasLength ? bytes[pos++] ?? 0 : 0;
520
+ return { len, newPos: pos, hasLength };
521
+ }
522
+ if (op === OP.OP_PUSHDATA2) {
523
+ const hasLength = pos + 1 < length;
524
+ const len = (bytes[pos] ?? 0) | ((bytes[pos + 1] ?? 0) << 8);
525
+ return { len, newPos: Math.min(pos + 2, length), hasLength };
526
+ }
527
+ // OP_PUSHDATA4
528
+ const hasLength = pos + 3 < length;
529
+ const len = ((bytes[pos] ?? 0) |
530
+ ((bytes[pos + 1] ?? 0) << 8) |
531
+ ((bytes[pos + 2] ?? 0) << 16) |
532
+ ((bytes[pos + 3] ?? 0) << 24)) >>> 0;
533
+ return { len, newPos: Math.min(pos + 4, length), hasLength };
534
+ }
543
535
  static parseChunks(bytes) {
544
536
  const chunks = [];
545
537
  const length = bytes.length;
@@ -548,70 +540,21 @@ export default class Script {
548
540
  while (pos < length) {
549
541
  const op = bytes[pos++] ?? 0;
550
542
  if (op === OP.OP_RETURN && inConditionalBlock === 0) {
551
- chunks.push({
552
- op,
553
- data: Script.copyRange(bytes, pos, length)
554
- });
543
+ chunks.push({ op, data: Script.copyRange(bytes, pos, length) });
555
544
  break;
556
545
  }
557
- if (op === OP.OP_IF ||
558
- op === OP.OP_NOTIF ||
559
- op === OP.OP_VERIF ||
560
- op === OP.OP_VERNOTIF) {
546
+ if (op === OP.OP_IF || op === OP.OP_NOTIF || op === OP.OP_VERIF || op === OP.OP_VERNOTIF) {
561
547
  inConditionalBlock++;
562
548
  }
563
549
  else if (op === OP.OP_ENDIF) {
564
550
  inConditionalBlock--;
565
551
  }
566
- if (op > 0 && op < OP.OP_PUSHDATA1) {
567
- const len = op;
568
- const end = Math.min(pos + len, length);
569
- chunks.push({
570
- data: Script.copyRange(bytes, pos, end),
571
- op,
572
- invalidLength: end - pos !== len
573
- });
574
- pos = end;
575
- }
576
- else if (op === OP.OP_PUSHDATA1) {
577
- const hasLength = pos < length;
578
- const len = hasLength ? bytes[pos++] ?? 0 : 0;
579
- const end = Math.min(pos + len, length);
580
- chunks.push({
581
- data: Script.copyRange(bytes, pos, end),
582
- op,
583
- invalidLength: !hasLength || end - pos !== len
584
- });
585
- pos = end;
586
- }
587
- else if (op === OP.OP_PUSHDATA2) {
588
- const hasLength = pos + 1 < length;
589
- const b0 = bytes[pos] ?? 0;
590
- const b1 = bytes[pos + 1] ?? 0;
591
- const len = b0 | (b1 << 8);
592
- pos = Math.min(pos + 2, length);
552
+ if (op > 0 && op <= OP.OP_PUSHDATA4) {
553
+ const { len, newPos, hasLength } = Script.readPushdataLength(op, bytes, pos, length);
554
+ pos = newPos;
593
555
  const end = Math.min(pos + len, length);
594
- chunks.push({
595
- data: Script.copyRange(bytes, pos, end),
596
- op,
597
- invalidLength: !hasLength || end - pos !== len
598
- });
599
- pos = end;
600
- }
601
- else if (op === OP.OP_PUSHDATA4) {
602
- const hasLength = pos + 3 < length;
603
- const len = ((bytes[pos] ?? 0) |
604
- ((bytes[pos + 1] ?? 0) << 8) |
605
- ((bytes[pos + 2] ?? 0) << 16) |
606
- ((bytes[pos + 3] ?? 0) << 24)) >>>
607
- 0;
608
- pos = Math.min(pos + 4, length);
609
- const end = Math.min(pos + len, length);
610
- chunks.push({
611
- data: Script.copyRange(bytes, pos, end),
612
- op,
613
- invalidLength: !hasLength || end - pos !== len
614
- });
556
+ const invalidLength = !hasLength || end - pos !== len;
557
+ chunks.push({ data: Script.copyRange(bytes, pos, end), op, invalidLength });
615
558
  pos = end;
616
559
  }
617
560
  else {
@@ -627,39 +570,19 @@ export default class Script {
627
570
  while (pos < length) {
628
571
  const start = pos;
629
572
  const op = bytes[pos++] ?? 0;
630
- let dataStart = pos;
631
- let dataLength = 0;
632
- if (op > 0 && op < OP.OP_PUSHDATA1) {
633
- dataLength = op;
634
- }
635
- else if (op === OP.OP_PUSHDATA1) {
636
- if (pos < length)
637
- dataLength = bytes[pos++] ?? 0;
638
- dataStart = pos;
639
- }
640
- else if (op === OP.OP_PUSHDATA2) {
641
- if (pos + 1 < length)
642
- dataLength = (bytes[pos] ?? 0) | ((bytes[pos + 1] ?? 0) << 8);
643
- pos = Math.min(pos + 2, length);
644
- dataStart = pos;
645
- }
646
- else if (op === OP.OP_PUSHDATA4) {
647
- if (pos + 3 < length) {
648
- dataLength =
649
- ((bytes[pos] ?? 0) |
650
- ((bytes[pos + 1] ?? 0) << 8) |
651
- ((bytes[pos + 2] ?? 0) << 16) |
652
- ((bytes[pos + 3] ?? 0) << 24)) >>> 0;
573
+ if (op > 0 && op <= OP.OP_PUSHDATA4) {
574
+ const { len, newPos } = Script.readPushdataLength(op, bytes, pos, length);
575
+ pos = newPos;
576
+ const end = Math.min(pos + len, length);
577
+ if (op !== opcode) {
578
+ for (let i = start; i < end; i++)
579
+ out.push(bytes[i] ?? 0);
653
580
  }
654
- pos = Math.min(pos + 4, length);
655
- dataStart = pos;
581
+ pos = end;
656
582
  }
657
- const end = Math.min(dataStart + dataLength, length);
658
- if (op !== opcode) {
659
- for (let i = start; i < end; i++)
660
- out.push(bytes[i] ?? 0);
583
+ else if (op !== opcode) {
584
+ out.push(op);
661
585
  }
662
- pos = end;
663
586
  }
664
587
  return out;
665
588
  }
@@ -674,7 +597,7 @@ export default class Script {
674
597
  _chunkToString(chunk) {
675
598
  const op = chunk.op;
676
599
  let str = '';
677
- if (typeof chunk.data === 'undefined') {
600
+ if (chunk.data === undefined) {
678
601
  const val = OP[op];
679
602
  str = `${str} ${val}`;
680
603
  }