@bsv/sdk 2.0.16 → 2.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (405) hide show
  1. package/README.md +7 -7
  2. package/dist/cjs/package.json +14 -13
  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 +172 -232
  22. package/dist/cjs/src/identity/ContactsManager.js.map +1 -1
  23. package/dist/cjs/src/identity/IdentityClient.js +122 -55
  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 +139 -46
  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 +140 -56
  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/TransactionSignature.js +20 -21
  70. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  71. package/dist/cjs/src/primitives/utils.js +39 -46
  72. package/dist/cjs/src/primitives/utils.js.map +1 -1
  73. package/dist/cjs/src/registry/RegistryClient.js +31 -23
  74. package/dist/cjs/src/registry/RegistryClient.js.map +1 -1
  75. package/dist/cjs/src/remittance/RemittanceManager.js +19 -18
  76. package/dist/cjs/src/remittance/RemittanceManager.js.map +1 -1
  77. package/dist/cjs/src/remittance/modules/BasicBRC29.js.map +1 -1
  78. package/dist/cjs/src/script/Script.js +93 -170
  79. package/dist/cjs/src/script/Script.js.map +1 -1
  80. package/dist/cjs/src/script/ScriptEvaluationError.js +2 -2
  81. package/dist/cjs/src/script/ScriptEvaluationError.js.map +1 -1
  82. package/dist/cjs/src/script/Spend.js +14 -12
  83. package/dist/cjs/src/script/Spend.js.map +1 -1
  84. package/dist/cjs/src/script/templates/PushDrop.js +22 -18
  85. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  86. package/dist/cjs/src/script/templates/RPuzzle.js +2 -4
  87. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  88. package/dist/cjs/src/storage/StorageDownloader.js +42 -9
  89. package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
  90. package/dist/cjs/src/totp/totp.js +1 -1
  91. package/dist/cjs/src/totp/totp.js.map +1 -1
  92. package/dist/cjs/src/transaction/Beef.js +239 -192
  93. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  94. package/dist/cjs/src/transaction/BeefConstants.js +19 -0
  95. package/dist/cjs/src/transaction/BeefConstants.js.map +1 -0
  96. package/dist/cjs/src/transaction/BeefTx.js +12 -12
  97. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  98. package/dist/cjs/src/transaction/MerklePath.js +4 -4
  99. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  100. package/dist/cjs/src/transaction/Transaction.js +49 -52
  101. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  102. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js +1 -1
  103. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  104. package/dist/cjs/src/transaction/http/BinaryFetchClient.js +9 -9
  105. package/dist/cjs/src/transaction/http/BinaryFetchClient.js.map +1 -1
  106. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +9 -9
  107. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  108. package/dist/cjs/src/wallet/CachedKeyDeriver.js +1 -1
  109. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  110. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  111. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  112. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +5 -4
  113. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  114. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js +9 -9
  115. package/dist/cjs/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  116. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +92 -92
  117. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  118. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +387 -711
  119. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  120. package/dist/cjs/src/wallet/substrates/XDM.js +4 -4
  121. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  122. package/dist/cjs/src/wallet/substrates/window.CWI.js +2 -2
  123. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  124. package/dist/cjs/src/wallet/validationHelpers.js +9 -9
  125. package/dist/cjs/src/wallet/validationHelpers.js.map +1 -1
  126. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  127. package/dist/esm/src/auth/Peer.js +25 -13
  128. package/dist/esm/src/auth/Peer.js.map +1 -1
  129. package/dist/esm/src/auth/SessionManager.js +4 -7
  130. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  131. package/dist/esm/src/auth/certificates/MasterCertificate.js +1 -1
  132. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  133. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +1 -1
  134. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  135. package/dist/esm/src/auth/clients/AuthFetch.js +32 -32
  136. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  137. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +4 -4
  138. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  139. package/dist/esm/src/compat/ECIES.js +29 -34
  140. package/dist/esm/src/compat/ECIES.js.map +1 -1
  141. package/dist/esm/src/compat/HD.js +9 -4
  142. package/dist/esm/src/compat/HD.js.map +1 -1
  143. package/dist/esm/src/compat/Mnemonic.js +12 -12
  144. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  145. package/dist/esm/src/identity/ContactsManager.js +172 -232
  146. package/dist/esm/src/identity/ContactsManager.js.map +1 -1
  147. package/dist/esm/src/identity/IdentityClient.js +122 -55
  148. package/dist/esm/src/identity/IdentityClient.js.map +1 -1
  149. package/dist/esm/src/kvstore/GlobalKVStore.js +30 -31
  150. package/dist/esm/src/kvstore/GlobalKVStore.js.map +1 -1
  151. package/dist/esm/src/kvstore/LocalKVStore.js +9 -9
  152. package/dist/esm/src/kvstore/LocalKVStore.js.map +1 -1
  153. package/dist/esm/src/kvstore/kvStoreInterpreter.js +2 -2
  154. package/dist/esm/src/kvstore/kvStoreInterpreter.js.map +1 -1
  155. package/dist/esm/src/messages/SignedMessage.js +1 -1
  156. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  157. package/dist/esm/src/overlay-tools/Historian.js +1 -1
  158. package/dist/esm/src/overlay-tools/Historian.js.map +1 -1
  159. package/dist/esm/src/overlay-tools/LookupResolver.js +139 -46
  160. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  161. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +74 -146
  162. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  163. package/dist/esm/src/primitives/AESGCM.js +2 -2
  164. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  165. package/dist/esm/src/primitives/BigNumber.js +167 -154
  166. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  167. package/dist/esm/src/primitives/Curve.js +17 -15
  168. package/dist/esm/src/primitives/Curve.js.map +1 -1
  169. package/dist/esm/src/primitives/ECDSA.js +12 -7
  170. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  171. package/dist/esm/src/primitives/Hash.js +140 -56
  172. package/dist/esm/src/primitives/Hash.js.map +1 -1
  173. package/dist/esm/src/primitives/JacobianPoint.js +8 -8
  174. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  175. package/dist/esm/src/primitives/K256.js +3 -3
  176. package/dist/esm/src/primitives/K256.js.map +1 -1
  177. package/dist/esm/src/primitives/Point.js +36 -40
  178. package/dist/esm/src/primitives/Point.js.map +1 -1
  179. package/dist/esm/src/primitives/PrivateKey.js +4 -4
  180. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  181. package/dist/esm/src/primitives/PublicKey.js +4 -4
  182. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  183. package/dist/esm/src/primitives/Random.js +10 -14
  184. package/dist/esm/src/primitives/Random.js.map +1 -1
  185. package/dist/esm/src/primitives/ReaderUint8Array.js +6 -6
  186. package/dist/esm/src/primitives/ReaderUint8Array.js.map +1 -1
  187. package/dist/esm/src/primitives/Schnorr.js +1 -1
  188. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  189. package/dist/esm/src/primitives/Secp256r1.js +2 -1
  190. package/dist/esm/src/primitives/Secp256r1.js.map +1 -1
  191. package/dist/esm/src/primitives/Signature.js +8 -8
  192. package/dist/esm/src/primitives/Signature.js.map +1 -1
  193. package/dist/esm/src/primitives/TransactionSignature.js +20 -21
  194. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  195. package/dist/esm/src/primitives/utils.js +39 -48
  196. package/dist/esm/src/primitives/utils.js.map +1 -1
  197. package/dist/esm/src/registry/RegistryClient.js +31 -23
  198. package/dist/esm/src/registry/RegistryClient.js.map +1 -1
  199. package/dist/esm/src/remittance/RemittanceManager.js +19 -18
  200. package/dist/esm/src/remittance/RemittanceManager.js.map +1 -1
  201. package/dist/esm/src/remittance/modules/BasicBRC29.js.map +1 -1
  202. package/dist/esm/src/script/Script.js +93 -170
  203. package/dist/esm/src/script/Script.js.map +1 -1
  204. package/dist/esm/src/script/ScriptEvaluationError.js +2 -2
  205. package/dist/esm/src/script/ScriptEvaluationError.js.map +1 -1
  206. package/dist/esm/src/script/Spend.js +14 -12
  207. package/dist/esm/src/script/Spend.js.map +1 -1
  208. package/dist/esm/src/script/templates/PushDrop.js +4 -3
  209. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  210. package/dist/esm/src/script/templates/RPuzzle.js +2 -4
  211. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  212. package/dist/esm/src/storage/StorageDownloader.js +1 -1
  213. package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
  214. package/dist/esm/src/totp/totp.js +1 -1
  215. package/dist/esm/src/totp/totp.js.map +1 -1
  216. package/dist/esm/src/transaction/Beef.js +229 -186
  217. package/dist/esm/src/transaction/Beef.js.map +1 -1
  218. package/dist/esm/src/transaction/BeefConstants.js +16 -0
  219. package/dist/esm/src/transaction/BeefConstants.js.map +1 -0
  220. package/dist/esm/src/transaction/BeefTx.js +3 -3
  221. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  222. package/dist/esm/src/transaction/MerklePath.js +4 -4
  223. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  224. package/dist/esm/src/transaction/Transaction.js +49 -52
  225. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  226. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js +1 -1
  227. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  228. package/dist/esm/src/transaction/http/BinaryFetchClient.js +9 -9
  229. package/dist/esm/src/transaction/http/BinaryFetchClient.js.map +1 -1
  230. package/dist/esm/src/transaction/http/DefaultHttpClient.js +9 -9
  231. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  232. package/dist/esm/src/wallet/CachedKeyDeriver.js +1 -1
  233. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  234. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  235. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  236. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +5 -4
  237. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  238. package/dist/esm/src/wallet/substrates/ReactNativeWebView.js +9 -9
  239. package/dist/esm/src/wallet/substrates/ReactNativeWebView.js.map +1 -1
  240. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +92 -92
  241. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  242. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +387 -711
  243. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  244. package/dist/esm/src/wallet/substrates/XDM.js +4 -4
  245. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  246. package/dist/esm/src/wallet/substrates/window.CWI.js +2 -2
  247. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  248. package/dist/esm/src/wallet/validationHelpers.js +9 -9
  249. package/dist/esm/src/wallet/validationHelpers.js.map +1 -1
  250. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  251. package/dist/types/src/auth/Peer.d.ts +13 -0
  252. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  253. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  254. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  255. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  256. package/dist/types/src/compat/HD.d.ts.map +1 -1
  257. package/dist/types/src/identity/ContactsManager.d.ts +18 -0
  258. package/dist/types/src/identity/ContactsManager.d.ts.map +1 -1
  259. package/dist/types/src/identity/IdentityClient.d.ts +47 -8
  260. package/dist/types/src/identity/IdentityClient.d.ts.map +1 -1
  261. package/dist/types/src/kvstore/GlobalKVStore.d.ts.map +1 -1
  262. package/dist/types/src/overlay-tools/LookupResolver.d.ts +59 -1
  263. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  264. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +18 -3
  265. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  266. package/dist/types/src/primitives/BigNumber.d.ts +13 -3
  267. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  268. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  269. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  270. package/dist/types/src/primitives/Hash.d.ts +3 -3
  271. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  272. package/dist/types/src/primitives/JacobianPoint.d.ts +3 -1
  273. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  274. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  275. package/dist/types/src/primitives/Random.d.ts +2 -2
  276. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  277. package/dist/types/src/primitives/ReaderUint8Array.d.ts.map +1 -1
  278. package/dist/types/src/primitives/Schnorr.d.ts +2 -1
  279. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  280. package/dist/types/src/primitives/Secp256r1.d.ts.map +1 -1
  281. package/dist/types/src/primitives/utils.d.ts +2 -4
  282. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  283. package/dist/types/src/registry/RegistryClient.d.ts.map +1 -1
  284. package/dist/types/src/remittance/RemittanceManager.d.ts.map +1 -1
  285. package/dist/types/src/remittance/modules/BasicBRC29.d.ts.map +1 -1
  286. package/dist/types/src/script/Script.d.ts +15 -8
  287. package/dist/types/src/script/Script.d.ts.map +1 -1
  288. package/dist/types/src/script/Spend.d.ts.map +1 -1
  289. package/dist/types/src/script/templates/PushDrop.d.ts +3 -1
  290. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  291. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  292. package/dist/types/src/transaction/Beef.d.ts +46 -8
  293. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  294. package/dist/types/src/transaction/BeefConstants.d.ts +15 -0
  295. package/dist/types/src/transaction/BeefConstants.d.ts.map +1 -0
  296. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  297. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  298. package/dist/types/src/wallet/KeyDeriver.d.ts +1 -1
  299. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  300. package/dist/types/src/wallet/Wallet.interfaces.d.ts +2 -2
  301. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  302. package/dist/types/src/wallet/WalletClient.d.ts +7 -7
  303. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  304. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +7 -7
  305. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  306. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts +36 -7
  307. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  308. package/dist/types/src/wallet/substrates/window.CWI.d.ts +8 -8
  309. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  310. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  311. package/dist/umd/bundle.js +3 -3
  312. package/docs/reference/kvstore.md +1 -2
  313. package/docs/reference/primitives.md +0 -1
  314. package/docs/reference/script.md +0 -7
  315. package/docs/reference/transaction.md +2 -2
  316. package/package.json +29 -28
  317. package/src/auth/Peer.ts +26 -13
  318. package/src/auth/SessionManager.ts +4 -7
  319. package/src/auth/certificates/MasterCertificate.ts +1 -1
  320. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +1 -1
  321. package/src/auth/clients/AuthFetch.ts +41 -41
  322. package/src/auth/transports/SimplifiedFetchTransport.ts +4 -4
  323. package/src/compat/ECIES.ts +29 -34
  324. package/src/compat/HD.ts +10 -5
  325. package/src/compat/Mnemonic.ts +11 -11
  326. package/src/compat/__tests/HD.test.ts +19 -0
  327. package/src/identity/ContactsManager.ts +194 -257
  328. package/src/identity/IdentityClient.ts +155 -66
  329. package/src/identity/__tests/IdentityClient.test.ts +25 -1
  330. package/src/kvstore/GlobalKVStore.ts +31 -32
  331. package/src/kvstore/LocalKVStore.ts +8 -8
  332. package/src/kvstore/kvStoreInterpreter.ts +2 -2
  333. package/src/messages/SignedMessage.ts +1 -1
  334. package/src/overlay-tools/Historian.ts +1 -1
  335. package/src/overlay-tools/LookupResolver.ts +182 -45
  336. package/src/overlay-tools/SHIPBroadcaster.ts +92 -168
  337. package/src/primitives/AESGCM.ts +2 -2
  338. package/src/primitives/BigNumber.ts +122 -113
  339. package/src/primitives/Curve.ts +16 -15
  340. package/src/primitives/ECDSA.ts +10 -8
  341. package/src/primitives/Hash.ts +152 -53
  342. package/src/primitives/JacobianPoint.ts +13 -11
  343. package/src/primitives/K256.ts +3 -3
  344. package/src/primitives/Point.ts +35 -38
  345. package/src/primitives/PrivateKey.ts +3 -3
  346. package/src/primitives/PublicKey.ts +3 -3
  347. package/src/primitives/Random.ts +11 -14
  348. package/src/primitives/ReaderUint8Array.ts +7 -7
  349. package/src/primitives/Schnorr.ts +2 -1
  350. package/src/primitives/Secp256r1.ts +2 -1
  351. package/src/primitives/Signature.ts +8 -8
  352. package/src/primitives/TransactionSignature.ts +16 -16
  353. package/src/primitives/utils.ts +37 -47
  354. package/src/registry/RegistryClient.ts +25 -25
  355. package/src/remittance/RemittanceManager.ts +17 -18
  356. package/src/remittance/modules/BasicBRC29.ts +2 -5
  357. package/src/script/Script.ts +114 -170
  358. package/src/script/ScriptEvaluationError.ts +2 -2
  359. package/src/script/Spend.ts +14 -15
  360. package/src/script/templates/PushDrop.ts +5 -3
  361. package/src/script/templates/RPuzzle.ts +2 -4
  362. package/src/storage/StorageDownloader.ts +1 -1
  363. package/src/totp/totp.ts +1 -1
  364. package/src/transaction/Beef.ts +241 -203
  365. package/src/transaction/BeefConstants.ts +16 -0
  366. package/src/transaction/BeefTx.ts +3 -3
  367. package/src/transaction/MerklePath.ts +4 -4
  368. package/src/transaction/Transaction.ts +48 -51
  369. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +1 -1
  370. package/src/transaction/http/BinaryFetchClient.ts +8 -8
  371. package/src/transaction/http/DefaultHttpClient.ts +8 -8
  372. package/src/wallet/CachedKeyDeriver.ts +8 -6
  373. package/src/wallet/KeyDeriver.ts +1 -1
  374. package/src/wallet/Wallet.interfaces.ts +2 -4
  375. package/src/wallet/WalletClient.ts +8 -8
  376. package/src/wallet/WalletError.ts +1 -1
  377. package/src/wallet/__tests/WalletClient.substrate.test.ts +10 -6
  378. package/src/wallet/substrates/HTTPWalletJSON.ts +22 -21
  379. package/src/wallet/substrates/ReactNativeWebView.ts +9 -9
  380. package/src/wallet/substrates/WalletWireProcessor.ts +83 -83
  381. package/src/wallet/substrates/WalletWireTransceiver.ts +528 -938
  382. package/src/wallet/substrates/XDM.ts +4 -4
  383. package/src/wallet/substrates/__tests/HTTPWalletJSON.test.ts +38 -25
  384. package/src/wallet/substrates/__tests/ReactNativeWebView.test.ts +174 -0
  385. package/src/wallet/substrates/__tests/window.CWI.test.ts +256 -0
  386. package/src/wallet/substrates/window.CWI.ts +10 -10
  387. package/src/wallet/validationHelpers.ts +9 -9
  388. package/docs/swagger/dist/LICENSE +0 -21
  389. package/docs/swagger/dist/favicon-16x16.png +0 -0
  390. package/docs/swagger/dist/favicon-32x32.png +0 -0
  391. package/docs/swagger/dist/index.css +0 -16
  392. package/docs/swagger/dist/oauth2-redirect.html +0 -79
  393. package/docs/swagger/dist/swagger-initializer.js +0 -20
  394. package/docs/swagger/dist/swagger-ui-bundle.js +0 -2
  395. package/docs/swagger/dist/swagger-ui-bundle.js.map +0 -1
  396. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +0 -3
  397. package/docs/swagger/dist/swagger-ui-es-bundle-core.js.map +0 -1
  398. package/docs/swagger/dist/swagger-ui-es-bundle.js +0 -2
  399. package/docs/swagger/dist/swagger-ui-es-bundle.js.map +0 -1
  400. package/docs/swagger/dist/swagger-ui-standalone-preset.js +0 -2
  401. package/docs/swagger/dist/swagger-ui-standalone-preset.js.map +0 -1
  402. package/docs/swagger/dist/swagger-ui.css +0 -3
  403. package/docs/swagger/dist/swagger-ui.css.map +0 -1
  404. package/docs/swagger/dist/swagger-ui.js +0 -2
  405. package/docs/swagger/dist/swagger-ui.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Hash.js","sourceRoot":"","sources":["../../../../src/primitives/Hash.ts"],"names":[],"mappings":"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"}
@@ -143,11 +143,11 @@ class JacobianPoint extends BasePoint_js_1.default {
143
143
  const h = u1.redSub(u2);
144
144
  const r = s1.redSub(s2);
145
145
  if (h.cmpn(0) === 0) {
146
- if (r.cmpn(0) !== 0) {
147
- return new JacobianPoint(null, null, null);
146
+ if (r.cmpn(0) === 0) {
147
+ return this.dbl();
148
148
  }
149
149
  else {
150
- return this.dbl();
150
+ return new JacobianPoint(null, null, null);
151
151
  }
152
152
  }
153
153
  const h2 = h.redSqr();
@@ -194,11 +194,11 @@ class JacobianPoint extends BasePoint_js_1.default {
194
194
  const h = u1.redSub(u2);
195
195
  const r = s1.redSub(s2);
196
196
  if (h.cmpn(0) === 0) {
197
- if (r.cmpn(0) !== 0) {
198
- return new JacobianPoint(null, null, null);
197
+ if (r.cmpn(0) === 0) {
198
+ return this.dbl();
199
199
  }
200
200
  else {
201
- return this.dbl();
201
+ return new JacobianPoint(null, null, null);
202
202
  }
203
203
  }
204
204
  const h2 = h.redSqr();
@@ -227,7 +227,7 @@ class JacobianPoint extends BasePoint_js_1.default {
227
227
  if (this.isInfinity()) {
228
228
  return this;
229
229
  }
230
- if (typeof pow === 'undefined') {
230
+ if (pow === undefined) {
231
231
  return this.dbl();
232
232
  }
233
233
  /* eslint-disable @typescript-eslint/no-this-alias */
@@ -372,7 +372,7 @@ class JacobianPoint extends BasePoint_js_1.default {
372
372
  return true;
373
373
  }
374
374
  const xc = x.clone();
375
- if (this.curve === null || (this.curve.redN == null)) {
375
+ if (this.curve?.redN == null) {
376
376
  throw new Error('Curve or redN is not initialized.');
377
377
  }
378
378
  const t = this.curve.redN.redMul(zs);
@@ -1 +1 @@
1
- {"version":3,"file":"JacobianPoint.js","sourceRoot":"","sources":["../../../../src/primitives/JacobianPoint.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"JacobianPoint.js","sourceRoot":"","sources":["../../../../src/primitives/JacobianPoint.ts"],"names":[],"mappings":"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"}
@@ -70,7 +70,7 @@ class K256 extends Mersenne_js_1.default {
70
70
  const tempInputNewWords = new Array(Math.max(1, inputNominalLength - 9)).fill(0);
71
71
  let currentInputNewWordCount = 0;
72
72
  for (let i = 10; i < inputNominalLength; i++) {
73
- const next = inputWords[i] | 0;
73
+ const next = Math.trunc(inputWords[i]);
74
74
  if (currentInputNewWordCount < tempInputNewWords.length) { // Boundary check
75
75
  tempInputNewWords[currentInputNewWordCount++] = ((next & mask) << 4) | (prev >>> 22);
76
76
  }
@@ -113,10 +113,10 @@ class K256 extends Mersenne_js_1.default {
113
113
  // tempWords is now effectively num.words expanded with zeroes
114
114
  let lo = 0;
115
115
  for (let i = 0; i < newNominalLength; i++) { // Iterate up to new expanded length
116
- const w = tempWords[i] | 0;
116
+ const w = Math.trunc(tempWords[i]);
117
117
  lo += w * 0x3d1; // 0x3d1 = 977
118
118
  tempWords[i] = lo & 0x3ffffff; // 26-bit mask
119
- lo = w * 0x40 + ((lo / 0x4000000) | 0); // 0x40 = 64. 0x4000000 = 2^26
119
+ lo = w * 0x40 + Math.trunc(lo / 0x4000000); // 0x40 = 64. 0x4000000 = 2^26
120
120
  }
121
121
  num.words = tempWords; // Use setter to re-initialize from tempWords
122
122
  // The setter will handle _magnitude, _sign, _nominalWordLength, and strip.
@@ -1 +1 @@
1
- {"version":3,"file":"K256.js","sourceRoot":"","sources":["../../../../src/primitives/K256.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"K256.js","sourceRoot":"","sources":["../../../../src/primitives/K256.ts"],"names":[],"mappings":"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"}
@@ -160,12 +160,11 @@ exports.jpNeg = jpNeg;
160
160
  const scalarMultiplyWNAF = (k, P0, window = 5) => {
161
161
  const key = `${window}:${P0.x.toString(16)}:${P0.y.toString(16)}`;
162
162
  let tbl = WNAF_TABLE_CACHE.get(key);
163
- let P;
164
163
  if (tbl === undefined) {
165
164
  // Convert affine to Jacobian and pre-compute odd multiples
166
165
  const tblSize = 1 << (window - 1); // e.g. w=5 → 16 entries
167
166
  tbl = new Array(tblSize);
168
- P = { X: P0.x, Y: P0.y, Z: exports.BI_ONE };
167
+ const P = { X: P0.x, Y: P0.y, Z: exports.BI_ONE };
169
168
  tbl[0] = P;
170
169
  const twoP = (0, exports.jpDouble)(P);
171
170
  for (let i = 1; i < tblSize; i++) {
@@ -173,9 +172,6 @@ const scalarMultiplyWNAF = (k, P0, window = 5) => {
173
172
  }
174
173
  WNAF_TABLE_CACHE.set(key, tbl);
175
174
  }
176
- else {
177
- P = tbl[0];
178
- }
179
175
  // Build wNAF representation of k
180
176
  const wnaf = [];
181
177
  const wBig = 1n << BigInt(window);
@@ -272,12 +268,12 @@ class Point extends BasePoint_js_1.default {
272
268
  if ((bytes[0] === 0x04 || bytes[0] === 0x06 || bytes[0] === 0x07) &&
273
269
  bytes.length - 1 === 2 * len) {
274
270
  if (bytes[0] === 0x06) {
275
- if (bytes[bytes.length - 1] % 2 !== 0) {
271
+ if (bytes.at(-1) % 2 !== 0) {
276
272
  throw new Error('Point string value is wrong length');
277
273
  }
278
274
  }
279
275
  else if (bytes[0] === 0x07) {
280
- if (bytes[bytes.length - 1] % 2 !== 1) {
276
+ if (bytes.at(-1) % 2 !== 1) {
281
277
  throw new Error('Point string value is wrong length');
282
278
  }
283
279
  }
@@ -485,11 +481,11 @@ class Point extends BasePoint_js_1.default {
485
481
  else {
486
482
  res = [0x04].concat(x, this.getY().toArray('be', len));
487
483
  }
488
- if (enc !== 'hex') {
489
- return res;
484
+ if (enc === 'hex') {
485
+ return (0, utils_js_1.toHex)(res);
490
486
  }
491
487
  else {
492
- return (0, utils_js_1.toHex)(res);
488
+ return res;
493
489
  }
494
490
  }
495
491
  /**
@@ -525,18 +521,18 @@ class Point extends BasePoint_js_1.default {
525
521
  this.y,
526
522
  typeof this.precomputed === 'object' && this.precomputed !== null
527
523
  ? {
528
- doubles: this.precomputed.doubles != null
529
- ? {
524
+ doubles: this.precomputed.doubles == null
525
+ ? undefined
526
+ : {
530
527
  step: this.precomputed.doubles.step,
531
528
  points: this.precomputed.doubles.points.slice(1)
532
- }
533
- : undefined,
534
- naf: this.precomputed.naf != null
535
- ? {
529
+ },
530
+ naf: this.precomputed.naf == null
531
+ ? undefined
532
+ : {
536
533
  wnd: this.precomputed.naf.wnd,
537
534
  points: this.precomputed.naf.points.slice(1)
538
535
  }
539
- : undefined
540
536
  }
541
537
  : undefined
542
538
  ];
@@ -752,8 +748,8 @@ class Point extends BasePoint_js_1.default {
752
748
  let R0 = { X: 0n, Y: 1n, Z: 0n };
753
749
  let R1 = { X: Px, Y: Py, Z: 1n };
754
750
  const bits = kBig.toString(2);
755
- for (let i = 0; i < bits.length; i++) {
756
- const bit = bits[i] === '1' ? 1n : 0n;
751
+ for (const bitChar of bits) {
752
+ const bit = bitChar === '1' ? 1n : 0n;
757
753
  ctSwap(bit, R0, R1);
758
754
  R1 = (0, exports.jpAdd)(R0, R1);
759
755
  R0 = (0, exports.jpDouble)(R0);
@@ -844,18 +840,18 @@ class Point extends BasePoint_js_1.default {
844
840
  const pre = this.precomputed;
845
841
  const negate = (p) => p.neg();
846
842
  res.precomputed = {
847
- naf: pre.naf != null
848
- ? {
843
+ naf: pre.naf == null
844
+ ? undefined
845
+ : {
849
846
  wnd: pre.naf.wnd,
850
847
  points: pre.naf.points.map(negate)
851
- }
852
- : undefined,
853
- doubles: pre.doubles != null
854
- ? {
848
+ },
849
+ doubles: pre.doubles == null
850
+ ? undefined
851
+ : {
855
852
  step: pre.doubles.step,
856
853
  points: pre.doubles.points.map((p) => p.neg())
857
- }
858
- : undefined,
854
+ },
859
855
  beta: undefined
860
856
  };
861
857
  }
@@ -927,18 +923,18 @@ class Point extends BasePoint_js_1.default {
927
923
  pre.beta = beta;
928
924
  beta.precomputed = {
929
925
  beta: null,
930
- naf: pre.naf != null
931
- ? {
926
+ naf: pre.naf == null
927
+ ? undefined
928
+ : {
932
929
  wnd: pre.naf.wnd,
933
930
  points: pre.naf.points.map(endoMul)
934
- }
935
- : undefined,
936
- doubles: pre.doubles != null
937
- ? {
931
+ },
932
+ doubles: pre.doubles == null
933
+ ? undefined
934
+ : {
938
935
  step: pre.doubles.step,
939
936
  points: pre.doubles.points.map(endoMul)
940
937
  }
941
- : undefined
942
938
  };
943
939
  }
944
940
  return beta;
@@ -1027,8 +1023,8 @@ class Point extends BasePoint_js_1.default {
1027
1023
  naf[a] = new Array(max);
1028
1024
  naf[b] = new Array(max);
1029
1025
  for (let j = 0; j < max; j++) {
1030
- const ja = jsf[0][j] | 0;
1031
- const jb = jsf[1][j] | 0;
1026
+ const ja = Math.trunc(jsf[0][j]);
1027
+ const jb = Math.trunc(jsf[1][j]);
1032
1028
  naf[a][j] = index[(ja + 1) * 3 + (jb + 1)];
1033
1029
  naf[b][j] = 0;
1034
1030
  wnd[a] = comb;
@@ -1067,12 +1063,12 @@ class Point extends BasePoint_js_1.default {
1067
1063
  if (z.cmpn(0) === 0) { // Check if z is 0
1068
1064
  continue;
1069
1065
  }
1070
- else if (!z.isNeg()) { // If z is positive
1071
- p = wnd[j][z.sub(one).div(two).toNumber()];
1072
- }
1073
- else { // If z is negative
1066
+ else if (z.isNeg()) { // If z is negative
1074
1067
  p = wnd[j][z.neg().sub(one).div(two).toNumber()].neg();
1075
1068
  }
1069
+ else { // If z is positive
1070
+ p = wnd[j][z.sub(one).div(two).toNumber()];
1071
+ }
1076
1072
  if (p.type === 'affine') {
1077
1073
  acc = acc.mixedAdd(p);
1078
1074
  }