@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
@@ -284,26 +284,29 @@ export default class WalletWireProcessor {
284
284
  resultWriter.writeInt8(0);
285
285
  }
286
286
  // tx
287
- if (createActionResult.tx != null) {
287
+ if (createActionResult.tx == null) {
288
+ resultWriter.writeInt8(0);
289
+ }
290
+ else {
288
291
  resultWriter.writeInt8(1);
289
292
  resultWriter.writeVarIntNum(createActionResult.tx.length);
290
293
  resultWriter.write(createActionResult.tx);
291
294
  }
292
- else {
293
- resultWriter.writeInt8(0);
294
- }
295
295
  // noSendChange
296
- if (createActionResult.noSendChange != null) {
296
+ if (createActionResult.noSendChange == null) {
297
+ resultWriter.writeVarIntNum(-1);
298
+ }
299
+ else {
297
300
  resultWriter.writeVarIntNum(createActionResult.noSendChange.length);
298
301
  for (const outpoint of createActionResult.noSendChange) {
299
302
  resultWriter.write(this.encodeOutpoint(outpoint));
300
303
  }
301
304
  }
302
- else {
305
+ // sendWithResults
306
+ if (createActionResult.sendWithResults == null) {
303
307
  resultWriter.writeVarIntNum(-1);
304
308
  }
305
- // sendWithResults
306
- if (createActionResult.sendWithResults != null) {
309
+ else {
307
310
  resultWriter.writeVarIntNum(createActionResult.sendWithResults.length);
308
311
  for (const result of createActionResult.sendWithResults) {
309
312
  resultWriter.write(Utils.toArray(result.txid, 'hex'));
@@ -317,11 +320,11 @@ export default class WalletWireProcessor {
317
320
  resultWriter.writeInt8(statusCode);
318
321
  }
319
322
  }
320
- else {
321
- resultWriter.writeVarIntNum(-1);
322
- }
323
323
  // signableTransaction
324
- if (createActionResult.signableTransaction != null) {
324
+ if (createActionResult.signableTransaction == null) {
325
+ resultWriter.writeInt8(0);
326
+ }
327
+ else {
325
328
  resultWriter.writeInt8(1);
326
329
  resultWriter.writeVarIntNum(createActionResult.signableTransaction.tx.length);
327
330
  resultWriter.write(createActionResult.signableTransaction.tx);
@@ -329,9 +332,6 @@ export default class WalletWireProcessor {
329
332
  resultWriter.writeVarIntNum(referenceBytes.length);
330
333
  resultWriter.write(referenceBytes);
331
334
  }
332
- else {
333
- resultWriter.writeInt8(0);
334
- }
335
335
  // Return success code and result
336
336
  const responseWriter = new Utils.Writer();
337
337
  responseWriter.writeUInt8(0); // errorByte = 0
@@ -423,16 +423,19 @@ export default class WalletWireProcessor {
423
423
  resultWriter.writeInt8(0);
424
424
  }
425
425
  // tx
426
- if (signActionResult.tx != null) {
426
+ if (signActionResult.tx == null) {
427
+ resultWriter.writeInt8(0);
428
+ }
429
+ else {
427
430
  resultWriter.writeInt8(1);
428
431
  resultWriter.writeVarIntNum(signActionResult.tx.length);
429
432
  resultWriter.write(signActionResult.tx);
430
433
  }
431
- else {
432
- resultWriter.writeInt8(0);
433
- }
434
434
  // sendWithResults
435
- if (signActionResult.sendWithResults != null) {
435
+ if (signActionResult.sendWithResults == null) {
436
+ resultWriter.writeVarIntNum(-1);
437
+ }
438
+ else {
436
439
  resultWriter.writeVarIntNum(signActionResult.sendWithResults.length);
437
440
  for (const result of signActionResult.sendWithResults) {
438
441
  resultWriter.write(Utils.toArray(result.txid, 'hex'));
@@ -446,9 +449,6 @@ export default class WalletWireProcessor {
446
449
  resultWriter.writeInt8(statusCode);
447
450
  }
448
451
  }
449
- else {
450
- resultWriter.writeVarIntNum(-1);
451
- }
452
452
  // Return success code and result
453
453
  const responseWriter = new Utils.Writer();
454
454
  responseWriter.writeUInt8(0); // errorByte = 0
@@ -580,7 +580,10 @@ export default class WalletWireProcessor {
580
580
  resultWriter.writeVarIntNum(descriptionBytes.length);
581
581
  resultWriter.write(descriptionBytes);
582
582
  // labels
583
- if (action.labels !== undefined) {
583
+ if (action.labels === undefined) {
584
+ resultWriter.writeVarIntNum(-1);
585
+ }
586
+ else {
584
587
  resultWriter.writeVarIntNum(action.labels.length);
585
588
  for (const label of action.labels) {
586
589
  const labelBytes = Utils.toArray(label, 'utf8');
@@ -588,15 +591,15 @@ export default class WalletWireProcessor {
588
591
  resultWriter.write(labelBytes);
589
592
  }
590
593
  }
591
- else {
592
- resultWriter.writeVarIntNum(-1);
593
- }
594
594
  // version
595
595
  resultWriter.writeVarIntNum(action.version);
596
596
  // lockTime
597
597
  resultWriter.writeVarIntNum(action.lockTime);
598
598
  // inputs
599
- if (action.inputs !== undefined) {
599
+ if (action.inputs === undefined) {
600
+ resultWriter.writeVarIntNum(-1);
601
+ }
602
+ else {
600
603
  resultWriter.writeVarIntNum(action.inputs.length);
601
604
  for (const input of action.inputs) {
602
605
  // sourceOutpoint
@@ -604,23 +607,23 @@ export default class WalletWireProcessor {
604
607
  // sourceSatoshis
605
608
  resultWriter.writeVarIntNum(input.sourceSatoshis);
606
609
  // sourceLockingScript
607
- if (input.sourceLockingScript !== undefined) {
610
+ if (input.sourceLockingScript === undefined) {
611
+ resultWriter.writeVarIntNum(-1);
612
+ }
613
+ else {
608
614
  const sourceLockingScriptBytes = Utils.toArray(input.sourceLockingScript, 'hex');
609
615
  resultWriter.writeVarIntNum(sourceLockingScriptBytes.length);
610
616
  resultWriter.write(sourceLockingScriptBytes);
611
617
  }
612
- else {
618
+ // unlockingScript
619
+ if (input.unlockingScript === undefined) {
613
620
  resultWriter.writeVarIntNum(-1);
614
621
  }
615
- // unlockingScript
616
- if (input.unlockingScript !== undefined) {
622
+ else {
617
623
  const unlockingScriptBytes = Utils.toArray(input.unlockingScript, 'hex');
618
624
  resultWriter.writeVarIntNum(unlockingScriptBytes.length);
619
625
  resultWriter.write(unlockingScriptBytes);
620
626
  }
621
- else {
622
- resultWriter.writeVarIntNum(-1);
623
- }
624
627
  // inputDescription
625
628
  const inputDescriptionBytes = Utils.toArray(input.inputDescription, 'utf8');
626
629
  resultWriter.writeVarIntNum(inputDescriptionBytes.length);
@@ -629,11 +632,11 @@ export default class WalletWireProcessor {
629
632
  resultWriter.writeVarIntNum(input.sequenceNumber);
630
633
  }
631
634
  }
632
- else {
635
+ // outputs
636
+ if (action.outputs === undefined) {
633
637
  resultWriter.writeVarIntNum(-1);
634
638
  }
635
- // outputs
636
- if (action.outputs !== undefined) {
639
+ else {
637
640
  resultWriter.writeVarIntNum(action.outputs.length);
638
641
  for (const output of action.outputs) {
639
642
  // outputIndex
@@ -641,14 +644,14 @@ export default class WalletWireProcessor {
641
644
  // satoshis
642
645
  resultWriter.writeVarIntNum(output.satoshis);
643
646
  // lockingScript
644
- if (output.lockingScript !== undefined) {
647
+ if (output.lockingScript === undefined) {
648
+ resultWriter.writeVarIntNum(-1);
649
+ }
650
+ else {
645
651
  const lockingScriptBytes = Utils.toArray(output.lockingScript, 'hex');
646
652
  resultWriter.writeVarIntNum(lockingScriptBytes.length);
647
653
  resultWriter.write(lockingScriptBytes);
648
654
  }
649
- else {
650
- resultWriter.writeVarIntNum(-1);
651
- }
652
655
  // spendable
653
656
  resultWriter.writeInt8(output.spendable ? 1 : 0);
654
657
  // outputDescription
@@ -656,16 +659,19 @@ export default class WalletWireProcessor {
656
659
  resultWriter.writeVarIntNum(outputDescriptionBytes.length);
657
660
  resultWriter.write(outputDescriptionBytes);
658
661
  // basket
659
- if (output.basket !== undefined) {
662
+ if (output.basket === undefined) {
663
+ resultWriter.writeVarIntNum(-1);
664
+ }
665
+ else {
660
666
  const basketBytes = Utils.toArray(output.basket, 'utf8');
661
667
  resultWriter.writeVarIntNum(basketBytes.length);
662
668
  resultWriter.write(basketBytes);
663
669
  }
664
- else {
670
+ // tags
671
+ if (output.tags === undefined) {
665
672
  resultWriter.writeVarIntNum(-1);
666
673
  }
667
- // tags
668
- if (output.tags !== undefined) {
674
+ else {
669
675
  resultWriter.writeVarIntNum(output.tags.length);
670
676
  for (const tag of output.tags) {
671
677
  const tagBytes = Utils.toArray(tag, 'utf8');
@@ -673,23 +679,17 @@ export default class WalletWireProcessor {
673
679
  resultWriter.write(tagBytes);
674
680
  }
675
681
  }
676
- else {
682
+ // customInstructions
683
+ if (output.customInstructions === undefined) {
677
684
  resultWriter.writeVarIntNum(-1);
678
685
  }
679
- // customInstructions
680
- if (output.customInstructions !== undefined) {
686
+ else {
681
687
  const customInstructionsBytes = Utils.toArray(output.customInstructions, 'utf8');
682
688
  resultWriter.writeVarIntNum(customInstructionsBytes.length);
683
689
  resultWriter.write(customInstructionsBytes);
684
690
  }
685
- else {
686
- resultWriter.writeVarIntNum(-1);
687
- }
688
691
  }
689
692
  }
690
- else {
691
- resultWriter.writeVarIntNum(-1);
692
- }
693
693
  }
694
694
  const responseWriter = new Utils.Writer();
695
695
  responseWriter.writeUInt8(0); // errorByte = 0
@@ -876,12 +876,12 @@ export default class WalletWireProcessor {
876
876
  // totalOutputs
877
877
  resultWriter.writeVarIntNum(listOutputsResult.totalOutputs);
878
878
  // BEEF length and BEEF or -1
879
- if (listOutputsResult.BEEF != null) {
880
- resultWriter.writeVarIntNum(listOutputsResult.BEEF.length);
881
- resultWriter.write(listOutputsResult.BEEF);
879
+ if (listOutputsResult.BEEF == null) {
880
+ resultWriter.writeVarIntNum(-1);
882
881
  }
883
882
  else {
884
- resultWriter.writeVarIntNum(-1);
883
+ resultWriter.writeVarIntNum(listOutputsResult.BEEF.length);
884
+ resultWriter.write(listOutputsResult.BEEF);
885
885
  }
886
886
  // outputs
887
887
  for (const output of listOutputsResult.outputs) {
@@ -890,25 +890,28 @@ export default class WalletWireProcessor {
890
890
  // satoshis
891
891
  resultWriter.writeVarIntNum(output.satoshis);
892
892
  // lockingScript
893
- if (output.lockingScript !== undefined) {
893
+ if (output.lockingScript === undefined) {
894
+ resultWriter.writeVarIntNum(-1);
895
+ }
896
+ else {
894
897
  const lockingScriptBytes = Utils.toArray(output.lockingScript, 'hex');
895
898
  resultWriter.writeVarIntNum(lockingScriptBytes.length);
896
899
  resultWriter.write(lockingScriptBytes);
897
900
  }
898
- else {
901
+ // customInstructions
902
+ if (output.customInstructions === undefined) {
899
903
  resultWriter.writeVarIntNum(-1);
900
904
  }
901
- // customInstructions
902
- if (output.customInstructions !== undefined) {
905
+ else {
903
906
  const customInstructionsBytes = Utils.toArray(output.customInstructions, 'utf8');
904
907
  resultWriter.writeVarIntNum(customInstructionsBytes.length);
905
908
  resultWriter.write(customInstructionsBytes);
906
909
  }
907
- else {
910
+ // tags
911
+ if (output.tags === undefined) {
908
912
  resultWriter.writeVarIntNum(-1);
909
913
  }
910
- // tags
911
- if (output.tags !== undefined) {
914
+ else {
912
915
  resultWriter.writeVarIntNum(output.tags.length);
913
916
  for (const tag of output.tags) {
914
917
  const tagBytes = Utils.toArray(tag, 'utf8');
@@ -916,11 +919,11 @@ export default class WalletWireProcessor {
916
919
  resultWriter.write(tagBytes);
917
920
  }
918
921
  }
919
- else {
922
+ // labels
923
+ if (output.labels === undefined) {
920
924
  resultWriter.writeVarIntNum(-1);
921
925
  }
922
- // labels
923
- if (output.labels !== undefined) {
926
+ else {
924
927
  resultWriter.writeVarIntNum(output.labels.length);
925
928
  for (const label of output.labels) {
926
929
  const labelBytes = Utils.toArray(label, 'utf8');
@@ -928,9 +931,6 @@ export default class WalletWireProcessor {
928
931
  resultWriter.write(labelBytes);
929
932
  }
930
933
  }
931
- else {
932
- resultWriter.writeVarIntNum(-1);
933
- }
934
934
  }
935
935
  // Return success code and result
936
936
  const responseWriter = new Utils.Writer();
@@ -958,13 +958,7 @@ export default class WalletWireProcessor {
958
958
  // Deserialize identityKey flag
959
959
  const identityKeyFlag = paramsReader.readUInt8();
960
960
  args.identityKey = identityKeyFlag === 1;
961
- if (args.identityKey !== true) {
962
- // Deserialize protocolID
963
- args.protocolID = this.decodeProtocolID(paramsReader);
964
- // Deserialize keyID
965
- args.keyID = this.decodeString(paramsReader);
966
- // Deserialize counterparty
967
- args.counterparty = this.decodeCounterparty(paramsReader);
961
+ if (args.identityKey === true) {
968
962
  // Deserialize privilege parameters
969
963
  const privilegedFlag = paramsReader.readInt8();
970
964
  if (privilegedFlag === -1) {
@@ -974,23 +968,21 @@ export default class WalletWireProcessor {
974
968
  args.privileged = privilegedFlag === 1;
975
969
  }
976
970
  const privilegedReasonLength = paramsReader.readInt8();
977
- if (privilegedReasonLength !== -1) {
978
- const privilegedReasonBytes = paramsReader.read(privilegedReasonLength);
979
- args.privilegedReason = Utils.toUTF8(privilegedReasonBytes);
980
- }
981
- else {
971
+ if (privilegedReasonLength === -1) {
982
972
  args.privilegedReason = undefined;
983
973
  }
984
- // Deserialize forSelf
985
- const forSelfFlag = paramsReader.readInt8();
986
- if (forSelfFlag === -1) {
987
- args.forSelf = undefined;
988
- }
989
974
  else {
990
- args.forSelf = forSelfFlag === 1;
975
+ const privilegedReasonBytes = paramsReader.read(privilegedReasonLength);
976
+ args.privilegedReason = Utils.toUTF8(privilegedReasonBytes);
991
977
  }
992
978
  }
993
979
  else {
980
+ // Deserialize protocolID
981
+ args.protocolID = this.decodeProtocolID(paramsReader);
982
+ // Deserialize keyID
983
+ args.keyID = this.decodeString(paramsReader);
984
+ // Deserialize counterparty
985
+ args.counterparty = this.decodeCounterparty(paramsReader);
994
986
  // Deserialize privilege parameters
995
987
  const privilegedFlag = paramsReader.readInt8();
996
988
  if (privilegedFlag === -1) {
@@ -1000,12 +992,20 @@ export default class WalletWireProcessor {
1000
992
  args.privileged = privilegedFlag === 1;
1001
993
  }
1002
994
  const privilegedReasonLength = paramsReader.readInt8();
1003
- if (privilegedReasonLength !== -1) {
995
+ if (privilegedReasonLength === -1) {
996
+ args.privilegedReason = undefined;
997
+ }
998
+ else {
1004
999
  const privilegedReasonBytes = paramsReader.read(privilegedReasonLength);
1005
1000
  args.privilegedReason = Utils.toUTF8(privilegedReasonBytes);
1006
1001
  }
1002
+ // Deserialize forSelf
1003
+ const forSelfFlag = paramsReader.readInt8();
1004
+ if (forSelfFlag === -1) {
1005
+ args.forSelf = undefined;
1006
+ }
1007
1007
  else {
1008
- args.privilegedReason = undefined;
1008
+ args.forSelf = forSelfFlag === 1;
1009
1009
  }
1010
1010
  }
1011
1011
  // Deserialize seekPermission