@bsv/sdk 1.6.9 → 1.6.10

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 (647) hide show
  1. package/README.md +9 -4
  2. package/dist/cjs/package.json +4 -2
  3. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  4. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  5. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  6. package/docs/concepts/beef.md +84 -0
  7. package/docs/concepts/chain-tracking.md +122 -0
  8. package/docs/concepts/decentralized-identity.md +184 -0
  9. package/docs/concepts/fees.md +217 -0
  10. package/docs/concepts/identity-certificates.md +255 -0
  11. package/docs/concepts/index.md +62 -0
  12. package/docs/concepts/key-management.md +176 -0
  13. package/docs/concepts/script-templates.md +163 -0
  14. package/docs/concepts/sdk-philosophy.md +72 -0
  15. package/docs/concepts/signatures.md +179 -0
  16. package/docs/concepts/spv-verification.md +106 -0
  17. package/docs/concepts/transaction-encoding.md +148 -0
  18. package/docs/concepts/transaction-structure.md +63 -0
  19. package/docs/concepts/trust-model.md +123 -0
  20. package/docs/concepts/verification.md +219 -0
  21. package/docs/concepts/wallet-integration.md +95 -0
  22. package/docs/guides/direct-transaction-creation.md +137 -0
  23. package/docs/guides/http-client-configuration.md +414 -0
  24. package/docs/guides/index.md +30 -0
  25. package/docs/guides/transaction-signing-methods.md +268 -0
  26. package/docs/index.md +74 -0
  27. package/docs/reference/arc-config.md +698 -0
  28. package/docs/reference/brc-100.md +33 -0
  29. package/docs/reference/configuration.md +829 -0
  30. package/docs/reference/debugging.md +700 -0
  31. package/docs/reference/errors.md +547 -0
  32. package/docs/reference/index.md +98 -0
  33. package/docs/reference/network-config.md +914 -0
  34. package/docs/reference/op-codes.md +306 -0
  35. package/docs/reference/transaction-signatures.md +94 -0
  36. package/docs/requirements.txt +3 -0
  37. package/docs/tutorials/advanced-transaction.md +575 -0
  38. package/docs/tutorials/aes-encryption.md +947 -0
  39. package/docs/tutorials/authfetch-tutorial.md +957 -0
  40. package/docs/tutorials/ecdh-key-exchange.md +547 -0
  41. package/docs/tutorials/elliptic-curve-fundamentals.md +603 -0
  42. package/docs/tutorials/error-handling.md +1215 -0
  43. package/docs/tutorials/first-transaction-low-level.md +204 -0
  44. package/docs/tutorials/first-transaction.md +278 -0
  45. package/docs/tutorials/hashes-and-hmacs.md +814 -0
  46. package/docs/tutorials/identity-management.md +702 -0
  47. package/docs/tutorials/index.md +182 -0
  48. package/docs/tutorials/key-management.md +536 -0
  49. package/docs/tutorials/protowallet-development.md +716 -0
  50. package/docs/tutorials/script-construction.md +690 -0
  51. package/docs/tutorials/spv-merkle-proofs.md +682 -0
  52. package/docs/tutorials/testnet-transactions-low-level.md +352 -0
  53. package/docs/tutorials/transaction-broadcasting.md +535 -0
  54. package/docs/tutorials/transaction-types.md +419 -0
  55. package/docs/tutorials/type-42.md +582 -0
  56. package/docs/tutorials/uhrp-storage.md +579 -0
  57. package/package.json +4 -2
  58. package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
  59. package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
  60. package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
  61. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
  62. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
  63. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  64. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  65. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  66. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  67. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  68. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
  69. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  70. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  71. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  72. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  73. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  74. package/dist/cjs/src/auth/utils/certificateHelpers.js +0 -51
  75. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +0 -1
  76. package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
  77. package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
  78. package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
  79. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
  80. package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
  81. package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
  82. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
  83. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
  84. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
  85. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  86. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
  87. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  88. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
  89. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
  90. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  91. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  92. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  93. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  94. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  95. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  96. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
  97. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
  98. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  99. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  100. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  101. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  102. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  103. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  104. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  105. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  106. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  107. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  108. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  109. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  110. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  111. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  112. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  113. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  114. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  115. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  116. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
  117. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  118. package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
  119. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
  120. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
  121. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  122. package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
  123. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
  124. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
  125. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
  126. package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
  127. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
  128. package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
  129. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
  130. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  131. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  132. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  133. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  134. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
  135. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  136. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
  137. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
  138. package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
  139. package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
  140. package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
  141. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
  142. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
  143. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  144. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
  145. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
  146. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
  147. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  148. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  149. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  150. package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
  151. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
  152. package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
  153. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
  154. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
  155. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
  156. package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
  157. package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
  158. package/dist/cjs/src/script/__tests/Script.test.js +0 -347
  159. package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
  160. package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
  161. package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
  162. package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
  163. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
  164. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
  165. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
  166. package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
  167. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
  168. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
  169. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
  170. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
  171. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  172. package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
  173. package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
  174. package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
  175. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
  176. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
  177. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
  178. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  179. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  180. package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
  181. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
  182. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
  183. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  184. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  185. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  186. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
  187. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  188. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  189. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  190. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
  191. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  192. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  193. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  194. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  195. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  196. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  197. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  198. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js +0 -39
  199. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  200. package/dist/cjs/src/wallet/WalletSigner.js +0 -260
  201. package/dist/cjs/src/wallet/WalletSigner.js.map +0 -1
  202. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  203. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  204. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
  205. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  206. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
  207. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  208. package/dist/cjs/src/wallet/createActionSdk.js +0 -230
  209. package/dist/cjs/src/wallet/createActionSdk.js.map +0 -1
  210. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  211. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  212. package/dist/cjs/src/wallet/sdk/CertOps.js +0 -181
  213. package/dist/cjs/src/wallet/sdk/CertOps.js.map +0 -1
  214. package/dist/cjs/src/wallet/sdk/Certificate.js +0 -162
  215. package/dist/cjs/src/wallet/sdk/Certificate.js.map +0 -1
  216. package/dist/cjs/src/wallet/sdk/KeyDeriver.js +0 -176
  217. package/dist/cjs/src/wallet/sdk/KeyDeriver.js.map +0 -1
  218. package/dist/cjs/src/wallet/sdk/ProtoWallet.js +0 -75
  219. package/dist/cjs/src/wallet/sdk/ProtoWallet.js.map +0 -1
  220. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js +0 -3
  221. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  222. package/dist/cjs/src/wallet/sdk/WERR_errors.js +0 -107
  223. package/dist/cjs/src/wallet/sdk/WERR_errors.js.map +0 -1
  224. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js +0 -3
  225. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  226. package/dist/cjs/src/wallet/sdk/WalletCrypto.js +0 -171
  227. package/dist/cjs/src/wallet/sdk/WalletCrypto.js.map +0 -1
  228. package/dist/cjs/src/wallet/sdk/WalletError.js +0 -103
  229. package/dist/cjs/src/wallet/sdk/WalletError.js.map +0 -1
  230. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js +0 -3
  231. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  232. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js +0 -3
  233. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  234. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js +0 -3
  235. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  236. package/dist/cjs/src/wallet/sdk/index.js +0 -31
  237. package/dist/cjs/src/wallet/sdk/index.js.map +0 -1
  238. package/dist/cjs/src/wallet/sdk/types.js +0 -11
  239. package/dist/cjs/src/wallet/sdk/types.js.map +0 -1
  240. package/dist/cjs/src/wallet/sdk/validationHelpers.js +0 -601
  241. package/dist/cjs/src/wallet/sdk/validationHelpers.js.map +0 -1
  242. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  243. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  244. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
  245. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  246. package/dist/cjs/src/wallet/utilityHelpers.js +0 -305
  247. package/dist/cjs/src/wallet/utilityHelpers.js.map +0 -1
  248. package/dist/cjs/src/wallet/validationHelpers.js +0 -601
  249. package/dist/cjs/src/wallet/validationHelpers.js.map +0 -1
  250. package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
  251. package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
  252. package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
  253. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
  254. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
  255. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  256. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  257. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  258. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  259. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  260. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
  261. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  262. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  263. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  264. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  265. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  266. package/dist/esm/src/auth/utils/certificateHelpers.js +0 -47
  267. package/dist/esm/src/auth/utils/certificateHelpers.js.map +0 -1
  268. package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
  269. package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
  270. package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
  271. package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
  272. package/dist/esm/src/compat/__tests/HD.test.js +0 -336
  273. package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
  274. package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
  275. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
  276. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
  277. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  278. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
  279. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  280. package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
  281. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
  282. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  283. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  284. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  285. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  286. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  287. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  288. package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
  289. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
  290. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  291. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  292. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  293. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  294. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  295. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  296. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  297. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  298. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  299. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  300. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  301. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  302. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  303. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  304. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  305. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  306. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  307. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  308. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
  309. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  310. package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
  311. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
  312. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
  313. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  314. package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
  315. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
  316. package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
  317. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
  318. package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
  319. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
  320. package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
  321. package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
  322. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  323. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  324. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  325. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  326. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
  327. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  328. package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
  329. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
  330. package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
  331. package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
  332. package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
  333. package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
  334. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
  335. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  336. package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
  337. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
  338. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
  339. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  340. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  341. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  342. package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
  343. package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
  344. package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
  345. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
  346. package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
  347. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
  348. package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
  349. package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
  350. package/dist/esm/src/script/__tests/Script.test.js +0 -347
  351. package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
  352. package/dist/esm/src/script/__tests/Spend.test.js +0 -282
  353. package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
  354. package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
  355. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
  356. package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
  357. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
  358. package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
  359. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
  360. package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
  361. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
  362. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
  363. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  364. package/dist/esm/src/totp/__tests/totp.test.js +0 -67
  365. package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
  366. package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
  367. package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
  368. package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
  369. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
  370. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  371. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  372. package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
  373. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
  374. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
  375. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  376. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  377. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  378. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
  379. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  380. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  381. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  382. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
  383. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  384. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  385. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  386. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  387. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  388. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  389. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  390. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js +0 -37
  391. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  392. package/dist/esm/src/wallet/WalletSigner.js +0 -263
  393. package/dist/esm/src/wallet/WalletSigner.js.map +0 -1
  394. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  395. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  396. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
  397. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  398. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
  399. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  400. package/dist/esm/src/wallet/createActionSdk.js +0 -223
  401. package/dist/esm/src/wallet/createActionSdk.js.map +0 -1
  402. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  403. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  404. package/dist/esm/src/wallet/sdk/CertOps.js +0 -181
  405. package/dist/esm/src/wallet/sdk/CertOps.js.map +0 -1
  406. package/dist/esm/src/wallet/sdk/Certificate.js +0 -186
  407. package/dist/esm/src/wallet/sdk/Certificate.js.map +0 -1
  408. package/dist/esm/src/wallet/sdk/KeyDeriver.js +0 -174
  409. package/dist/esm/src/wallet/sdk/KeyDeriver.js.map +0 -1
  410. package/dist/esm/src/wallet/sdk/ProtoWallet.js +0 -71
  411. package/dist/esm/src/wallet/sdk/ProtoWallet.js.map +0 -1
  412. package/dist/esm/src/wallet/sdk/StorageSyncReader.js +0 -2
  413. package/dist/esm/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  414. package/dist/esm/src/wallet/sdk/WERR_errors.js +0 -99
  415. package/dist/esm/src/wallet/sdk/WERR_errors.js.map +0 -1
  416. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js +0 -2
  417. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  418. package/dist/esm/src/wallet/sdk/WalletCrypto.js +0 -168
  419. package/dist/esm/src/wallet/sdk/WalletCrypto.js.map +0 -1
  420. package/dist/esm/src/wallet/sdk/WalletError.js +0 -100
  421. package/dist/esm/src/wallet/sdk/WalletError.js.map +0 -1
  422. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js +0 -2
  423. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  424. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js +0 -2
  425. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  426. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js +0 -2
  427. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  428. package/dist/esm/src/wallet/sdk/index.js +0 -15
  429. package/dist/esm/src/wallet/sdk/index.js.map +0 -1
  430. package/dist/esm/src/wallet/sdk/types.js +0 -8
  431. package/dist/esm/src/wallet/sdk/types.js.map +0 -1
  432. package/dist/esm/src/wallet/sdk/validationHelpers.js +0 -566
  433. package/dist/esm/src/wallet/sdk/validationHelpers.js.map +0 -1
  434. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  435. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  436. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
  437. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  438. package/dist/esm/src/wallet/utilityHelpers.js +0 -275
  439. package/dist/esm/src/wallet/utilityHelpers.js.map +0 -1
  440. package/dist/esm/src/wallet/validationHelpers.js +0 -566
  441. package/dist/esm/src/wallet/validationHelpers.js.map +0 -1
  442. package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
  443. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
  444. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
  445. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
  446. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
  447. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
  448. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
  449. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
  450. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
  451. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
  452. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
  453. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
  454. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
  455. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
  456. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
  457. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
  458. package/dist/types/src/auth/utils/certificateHelpers.d.ts +0 -26
  459. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +0 -1
  460. package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
  461. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
  462. package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
  463. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
  464. package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
  465. package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
  466. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
  467. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
  468. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
  469. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
  470. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
  471. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
  472. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
  473. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
  474. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
  475. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
  476. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
  477. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
  478. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
  479. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
  480. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
  481. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
  482. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
  483. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
  484. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
  485. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
  486. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
  487. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
  488. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
  489. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
  490. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
  491. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
  492. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
  493. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
  494. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
  495. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
  496. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
  497. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
  498. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
  499. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
  500. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
  501. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
  502. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
  503. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
  504. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
  505. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
  506. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
  507. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
  508. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
  509. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
  510. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
  511. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
  512. package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
  513. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
  514. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
  515. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
  516. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
  517. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
  518. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
  519. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
  520. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
  521. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
  522. package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
  523. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
  524. package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
  525. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
  526. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
  527. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
  528. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
  529. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
  530. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
  531. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
  532. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
  533. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
  534. package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
  535. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
  536. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
  537. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
  538. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
  539. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
  540. package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
  541. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
  542. package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
  543. package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
  544. package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
  545. package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
  546. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
  547. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
  548. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
  549. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
  550. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
  551. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
  552. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
  553. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
  554. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
  555. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
  556. package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
  557. package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
  558. package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
  559. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
  560. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
  561. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
  562. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
  563. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
  564. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
  565. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
  566. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
  567. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
  568. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
  569. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
  570. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
  571. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
  572. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
  573. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
  574. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
  575. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
  576. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
  577. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
  578. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
  579. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
  580. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
  581. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
  582. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts +0 -25
  583. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts.map +0 -1
  584. package/dist/types/src/wallet/WalletSigner.d.ts +0 -110
  585. package/dist/types/src/wallet/WalletSigner.d.ts.map +0 -1
  586. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
  587. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
  588. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
  589. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
  590. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
  591. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
  592. package/dist/types/src/wallet/createActionSdk.d.ts +0 -8
  593. package/dist/types/src/wallet/createActionSdk.d.ts.map +0 -1
  594. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts +0 -94
  595. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts.map +0 -1
  596. package/dist/types/src/wallet/sdk/CertOps.d.ts +0 -63
  597. package/dist/types/src/wallet/sdk/CertOps.d.ts.map +0 -1
  598. package/dist/types/src/wallet/sdk/Certificate.d.ts +0 -77
  599. package/dist/types/src/wallet/sdk/Certificate.d.ts.map +0 -1
  600. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts +0 -128
  601. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts.map +0 -1
  602. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts +0 -30
  603. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts.map +0 -1
  604. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts +0 -102
  605. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts.map +0 -1
  606. package/dist/types/src/wallet/sdk/WERR_errors.d.ts +0 -84
  607. package/dist/types/src/wallet/sdk/WERR_errors.d.ts.map +0 -1
  608. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts +0 -1036
  609. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts.map +0 -1
  610. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts +0 -31
  611. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts.map +0 -1
  612. package/dist/types/src/wallet/sdk/WalletError.d.ts +0 -46
  613. package/dist/types/src/wallet/sdk/WalletError.d.ts.map +0 -1
  614. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts +0 -293
  615. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts.map +0 -1
  616. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts +0 -48
  617. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts.map +0 -1
  618. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts +0 -296
  619. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts.map +0 -1
  620. package/dist/types/src/wallet/sdk/index.d.ts +0 -15
  621. package/dist/types/src/wallet/sdk/index.d.ts.map +0 -1
  622. package/dist/types/src/wallet/sdk/types.d.ts +0 -56
  623. package/dist/types/src/wallet/sdk/types.d.ts.map +0 -1
  624. package/dist/types/src/wallet/sdk/validationHelpers.d.ts +0 -301
  625. package/dist/types/src/wallet/sdk/validationHelpers.d.ts.map +0 -1
  626. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
  627. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
  628. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
  629. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
  630. package/dist/types/src/wallet/utilityHelpers.d.ts +0 -142
  631. package/dist/types/src/wallet/utilityHelpers.d.ts.map +0 -1
  632. package/dist/types/src/wallet/validationHelpers.d.ts +0 -301
  633. package/dist/types/src/wallet/validationHelpers.d.ts.map +0 -1
  634. package/docs/README.md +0 -21
  635. /package/docs/{auth.md → reference/auth.md} +0 -0
  636. /package/docs/{compat.md → reference/compat.md} +0 -0
  637. /package/docs/{identity.md → reference/identity.md} +0 -0
  638. /package/docs/{kvstore.md → reference/kvstore.md} +0 -0
  639. /package/docs/{messages.md → reference/messages.md} +0 -0
  640. /package/docs/{overlay-tools.md → reference/overlay-tools.md} +0 -0
  641. /package/docs/{primitives.md → reference/primitives.md} +0 -0
  642. /package/docs/{registry.md → reference/registry.md} +0 -0
  643. /package/docs/{script.md → reference/script.md} +0 -0
  644. /package/docs/{storage.md → reference/storage.md} +0 -0
  645. /package/docs/{totp.md → reference/totp.md} +0 -0
  646. /package/docs/{transaction.md → reference/transaction.md} +0 -0
  647. /package/docs/{wallet.md → reference/wallet.md} +0 -0
@@ -1,230 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.createActionSdk = createActionSdk;
4
- exports.completeSignedTransaction = completeSignedTransaction;
5
- exports.processActionSdk = processActionSdk;
6
- const sdk_1 = require("@bsv/sdk");
7
- const utilityHelpers_js_1 = require("./utilityHelpers.js");
8
- const ScriptTemplateSABPPP_js_1 = require("./ScriptTemplateSABPPP.js");
9
- const sdk_2 = require("./sdk");
10
- async function createActionSdk(signer, vargs) {
11
- var _a;
12
- const r = {};
13
- let prior = undefined;
14
- if (vargs.isNewTx) {
15
- prior = await createNewTx(signer, vargs);
16
- if (vargs.isSignAction) {
17
- return makeSignableTransactionResult(prior, signer, vargs);
18
- }
19
- prior.tx = await completeSignedTransaction(prior, {}, signer);
20
- r.txid = prior.tx.id('hex');
21
- r.noSendChange = (_a = prior.dcr.noSendChangeOutputVouts) === null || _a === void 0 ? void 0 : _a.map(vout => `${r.txid}.${vout}`);
22
- if (!vargs.options.returnTXIDOnly)
23
- r.tx = (0, utilityHelpers_js_1.makeAtomicBeef)(prior.tx, prior.dcr.inputBeef);
24
- }
25
- r.sendWithResults = await processActionSdk(prior, signer, vargs);
26
- return r;
27
- }
28
- async function createNewTx(signer, args) {
29
- const storageArgs = removeUnlockScripts(args);
30
- const dcr = await signer.storage.createTransactionSdk(storageArgs);
31
- const reference = dcr.reference;
32
- const { tx, amount, pdi } = buildSignableTransaction(dcr, args, signer);
33
- const prior = { reference, dcr, args, amount, tx, pdi };
34
- return prior;
35
- }
36
- function makeSignableTransactionResult(prior, signer, args) {
37
- var _a;
38
- if (!prior.dcr.inputBeef)
39
- throw new sdk_2.sdk.WERR_INTERNAL('prior.dcr.inputBeef must be valid');
40
- const txid = prior.tx.id('hex');
41
- const r = {
42
- noSendChange: args.isNoSend ? (_a = prior.dcr.noSendChangeOutputVouts) === null || _a === void 0 ? void 0 : _a.map(vout => `${txid}.${vout}`) : undefined,
43
- signableTransaction: {
44
- reference: prior.dcr.reference,
45
- tx: (0, utilityHelpers_js_1.makeAtomicBeef)(prior.tx, prior.dcr.inputBeef)
46
- }
47
- };
48
- signer.pendingSignActions[r.signableTransaction.reference] = prior;
49
- return r;
50
- }
51
- /**
52
- * Derive a change output locking script
53
- */
54
- function makeChangeLock(out, dctr, args, changeKeys, signer) {
55
- const derivationPrefix = dctr.derivationPrefix;
56
- const derivationSuffix = (0, utilityHelpers_js_1.verifyTruthy)(out.derivationSuffix);
57
- const sabppp = new ScriptTemplateSABPPP_js_1.ScriptTemplateSABPPP({ derivationPrefix, derivationSuffix, keyDeriver: signer.keyDeriver });
58
- const lockingScript = sabppp.lock(changeKeys.privateKey, changeKeys.publicKey);
59
- return lockingScript;
60
- }
61
- async function completeSignedTransaction(prior, spends, signer) {
62
- /////////////////////
63
- // Insert the user provided unlocking scripts from "spends" arg
64
- /////////////////////
65
- for (const [key, spend] of Object.entries(spends)) {
66
- const vin = Number(key);
67
- const createInput = prior.args.inputs[vin];
68
- const input = prior.tx.inputs[vin];
69
- if (!createInput || !input || createInput.unlockingScript || !Number.isInteger(createInput.unlockingScriptLength))
70
- throw new sdk_2.sdk.WERR_INVALID_PARAMETER('args', `spend does not correspond to prior input with valid unlockingScriptLength.`);
71
- if (spend.unlockingScript.length / 2 > createInput.unlockingScriptLength)
72
- throw new sdk_2.sdk.WERR_INVALID_PARAMETER('args', `spend unlockingScript length ${spend.unlockingScript.length} exceeds expected length ${createInput.unlockingScriptLength}`);
73
- input.unlockingScript = (0, utilityHelpers_js_1.asBsvSdkScript)(spend.unlockingScript);
74
- if (spend.sequenceNumber !== undefined)
75
- input.sequence = spend.sequenceNumber;
76
- }
77
- const results = {
78
- sdk: {}
79
- };
80
- /////////////////////
81
- // Insert SABPPP unlock templates for storage signed inputs
82
- /////////////////////
83
- for (const pdi of prior.pdi) {
84
- const sabppp = new ScriptTemplateSABPPP_js_1.ScriptTemplateSABPPP({
85
- derivationPrefix: pdi.derivationPrefix,
86
- derivationSuffix: pdi.derivationSuffix,
87
- keyDeriver: signer.keyDeriver
88
- });
89
- const keys = signer.getClientChangeKeyPair();
90
- const lockerPrivKey = keys.privateKey;
91
- const unlockerPubKey = pdi.unlockerPubKey || keys.publicKey;
92
- const sourceSatoshis = pdi.sourceSatoshis;
93
- const lockingScript = (0, utilityHelpers_js_1.asBsvSdkScript)(pdi.lockingScript);
94
- const unlockTemplate = sabppp.unlock(lockerPrivKey, unlockerPubKey, sourceSatoshis, lockingScript);
95
- const input = prior.tx.inputs[pdi.vin];
96
- input.unlockingScriptTemplate = unlockTemplate;
97
- }
98
- /////////////////////
99
- // Sign storage signed inputs making transaction fully valid.
100
- /////////////////////
101
- await prior.tx.sign();
102
- return prior.tx;
103
- }
104
- function removeUnlockScripts(args) {
105
- let storageArgs = args;
106
- if (!storageArgs.inputs.every(i => i.unlockingScript === undefined)) {
107
- // Never send unlocking scripts to storage, all it needs is the script length.
108
- storageArgs = { ...args, inputs: [] };
109
- for (const i of args.inputs) {
110
- const di = {
111
- ...i,
112
- unlockingScriptLength: i.unlockingScript !== undefined ? i.unlockingScript.length : i.unlockingScriptLength
113
- };
114
- delete di.unlockingScript;
115
- storageArgs.inputs.push(di);
116
- }
117
- }
118
- return storageArgs;
119
- }
120
- async function processActionSdk(prior, signer, vargs) {
121
- const params = {
122
- userId: vargs.userId, ////////////!!!!!!!!!!!!!!!!!!!!!!!!!!
123
- isNewTx: vargs.isNewTx,
124
- isSendWith: vargs.isSendWith,
125
- isNoSend: vargs.isNoSend,
126
- isDelayed: vargs.isDelayed,
127
- reference: prior ? prior.reference : undefined,
128
- txid: prior ? prior.tx.id('hex') : undefined,
129
- rawTx: prior ? prior.tx.toBinary() : undefined,
130
- sendWith: vargs.isSendWith ? vargs.options.sendWith : [],
131
- };
132
- const r = await signer.storage.processActionSdk(params);
133
- return r.sendWithResults;
134
- }
135
- function buildSignableTransaction(dctr, args, signer) {
136
- const changeKeys = signer.getClientChangeKeyPair();
137
- const { inputs: storageInputs, outputs: storageOutputs, } = dctr;
138
- const tx = new sdk_1.Transaction(args.version, [], [], args.lockTime);
139
- // The order of outputs in storageOutputs is always:
140
- // CreateActionArgs.outputs in the original order
141
- // Commission output
142
- // Change outputs
143
- // The Vout values will be randomized if args.options.randomizeOutputs is true. Default is true.
144
- const voutToIndex = Array(storageOutputs.length);
145
- for (let vout = 0; vout < storageOutputs.length; vout++) {
146
- const i = storageOutputs.findIndex(o => o.vout === vout);
147
- if (i < 0)
148
- throw new sdk_2.sdk.WERR_INVALID_PARAMETER('output.vout', `sequential. ${vout} is missing`);
149
- voutToIndex[vout] = i;
150
- }
151
- //////////////
152
- // Add OUTPUTS
153
- /////////////
154
- for (let vout = 0; vout < storageOutputs.length; vout++) {
155
- const i = voutToIndex[vout];
156
- const out = storageOutputs[i];
157
- if (vout !== out.vout)
158
- throw new sdk_2.sdk.WERR_INVALID_PARAMETER('output.vout', `equal to array index. ${out.vout} !== ${vout}`);
159
- const change = out.providedBy === 'storage' && out.purpose === 'change';
160
- const lockingScript = change ? makeChangeLock(out, dctr, args, changeKeys, signer) : (0, utilityHelpers_js_1.asBsvSdkScript)(out.lockingScript);
161
- const output = {
162
- satoshis: out.satoshis,
163
- lockingScript,
164
- change
165
- };
166
- tx.addOutput(output);
167
- }
168
- //////////////
169
- // Merge and sort INPUTS info by vin order.
170
- /////////////
171
- const inputs = [];
172
- for (const storageInput of storageInputs) {
173
- const argsInput = (storageInput.vin !== undefined && storageInput.vin < args.inputs.length) ? args.inputs[storageInput.vin] : undefined;
174
- inputs.push({ argsInput, storageInput });
175
- }
176
- inputs.sort((a, b) => a.storageInput.vin < b.storageInput.vin ? -1 : a.storageInput.vin === b.storageInput.vin ? 0 : 1);
177
- const pendingStorageInputs = [];
178
- //////////////
179
- // Add INPUTS
180
- /////////////
181
- let totalChangeInputs = 0;
182
- for (const { storageInput, argsInput } of inputs) {
183
- // Two types of inputs are handled: user specified wth/without unlockingScript and storage specified using SABPPP template.
184
- if (argsInput) {
185
- // Type 1: User supplied input, with or without an explicit unlockingScript.
186
- // If without, signAction must be used to provide the actual unlockScript.
187
- const hasUnlock = typeof argsInput.unlockingScript === 'string';
188
- const unlock = hasUnlock ? (0, utilityHelpers_js_1.asBsvSdkScript)(argsInput.unlockingScript) : new sdk_1.Script();
189
- const inputToAdd = {
190
- sourceTXID: argsInput.outpoint.txid,
191
- sourceOutputIndex: argsInput.outpoint.vout,
192
- unlockingScript: unlock,
193
- sequence: argsInput.sequenceNumber
194
- };
195
- tx.addInput(inputToAdd);
196
- }
197
- else {
198
- // Type2: SABPPP protocol inputs which are signed using ScriptTemplateSABPPP.
199
- if (storageInput.type !== 'P2PKH')
200
- throw new sdk_2.sdk.WERR_INVALID_PARAMETER('type', `vin ${storageInput.vin}, "${storageInput.type}" is not a supported unlocking script type.`);
201
- pendingStorageInputs.push({
202
- vin: tx.inputs.length,
203
- derivationPrefix: (0, utilityHelpers_js_1.verifyTruthy)(storageInput.derivationPrefix),
204
- derivationSuffix: (0, utilityHelpers_js_1.verifyTruthy)(storageInput.derivationSuffix),
205
- unlockerPubKey: storageInput.senderIdentityKey,
206
- sourceSatoshis: storageInput.sourceSatoshis,
207
- lockingScript: storageInput.sourceLockingScript
208
- });
209
- const inputToAdd = {
210
- sourceTXID: storageInput.sourceTxid,
211
- sourceOutputIndex: storageInput.sourceVout,
212
- unlockingScript: new sdk_1.Script(),
213
- sequence: 0xffffffff
214
- };
215
- tx.addInput(inputToAdd);
216
- totalChangeInputs += (0, utilityHelpers_js_1.verifyTruthy)(storageInput.sourceSatoshis);
217
- }
218
- }
219
- // The amount is the total of non-foreign inputs minus change outputs
220
- // Note that the amount can be negative when we are redeeming more inputs than we are spending
221
- const totalChangeOutputs = storageOutputs.filter(x => x.purpose === 'change').reduce((acc, el) => acc + el.satoshis, 0);
222
- const amount = totalChangeInputs - totalChangeOutputs;
223
- return {
224
- tx,
225
- amount,
226
- pdi: pendingStorageInputs,
227
- log: ''
228
- };
229
- }
230
- //# sourceMappingURL=createActionSdk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"createActionSdk.js","sourceRoot":"","sources":["../../../../src/wallet/createActionSdk.ts"],"names":[],"mappings":"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"}
@@ -1,174 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const sdk_1 = require("@bsv/sdk");
4
- const KeyDeriver_1 = require("./KeyDeriver");
5
- /**
6
- * A cached version of KeyDeriver that caches the results of key derivation methods.
7
- * This is useful for optimizing performance when the same keys are derived multiple times.
8
- * It supports configurable cache size with sane defaults and maintains cache entries using LRU (Least Recently Used) eviction policy.
9
- */
10
- class CachedKeyDeriver {
11
- /**
12
- * Initializes the CachedKeyDeriver instance with a root private key and optional cache settings.
13
- * @param {PrivateKey | 'anyone'} rootKey - The root private key or the string 'anyone'.
14
- * @param {Object} [options] - Optional settings for the cache.
15
- * @param {number} [options.maxCacheSize=1000] - The maximum number of entries to store in the cache.
16
- */
17
- constructor(rootKey, options) {
18
- this.keyDeriver = new KeyDeriver_1.KeyDeriver(rootKey);
19
- this.cache = new Map();
20
- this.maxCacheSize = (options === null || options === void 0 ? void 0 : options.maxCacheSize) || 1000;
21
- }
22
- /**
23
- * Derives a public key based on protocol ID, key ID, and counterparty.
24
- * Caches the result for future calls with the same parameters.
25
- * @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
26
- * @param {string} keyID - The key identifier.
27
- * @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
28
- * @param {boolean} [forSelf=false] - Whether deriving for self.
29
- * @returns {PublicKey} - The derived public key.
30
- */
31
- derivePublicKey(protocolID, keyID, counterparty, forSelf = false) {
32
- const cacheKey = this.generateCacheKey('derivePublicKey', protocolID, keyID, counterparty, forSelf);
33
- if (this.cache.has(cacheKey)) {
34
- return this.cacheGet(cacheKey);
35
- }
36
- else {
37
- const result = this.keyDeriver.derivePublicKey(protocolID, keyID, counterparty, forSelf);
38
- this.cacheSet(cacheKey, result);
39
- return result;
40
- }
41
- }
42
- /**
43
- * Derives a private key based on protocol ID, key ID, and counterparty.
44
- * Caches the result for future calls with the same parameters.
45
- * @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
46
- * @param {string} keyID - The key identifier.
47
- * @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
48
- * @returns {PrivateKey} - The derived private key.
49
- */
50
- derivePrivateKey(protocolID, keyID, counterparty) {
51
- const cacheKey = this.generateCacheKey('derivePrivateKey', protocolID, keyID, counterparty);
52
- if (this.cache.has(cacheKey)) {
53
- return this.cacheGet(cacheKey);
54
- }
55
- else {
56
- const result = this.keyDeriver.derivePrivateKey(protocolID, keyID, counterparty);
57
- this.cacheSet(cacheKey, result);
58
- return result;
59
- }
60
- }
61
- /**
62
- * Derives a symmetric key based on protocol ID, key ID, and counterparty.
63
- * Caches the result for future calls with the same parameters.
64
- * @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
65
- * @param {string} keyID - The key identifier.
66
- * @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
67
- * @returns {SymmetricKey} - The derived symmetric key.
68
- * @throws {Error} - Throws an error if attempting to derive a symmetric key for 'anyone'.
69
- */
70
- deriveSymmetricKey(protocolID, keyID, counterparty) {
71
- const cacheKey = this.generateCacheKey('deriveSymmetricKey', protocolID, keyID, counterparty);
72
- if (this.cache.has(cacheKey)) {
73
- return this.cacheGet(cacheKey);
74
- }
75
- else {
76
- const result = this.keyDeriver.deriveSymmetricKey(protocolID, keyID, counterparty);
77
- this.cacheSet(cacheKey, result);
78
- return result;
79
- }
80
- }
81
- /**
82
- * Reveals the shared secret between the root key and the counterparty.
83
- * Caches the result for future calls with the same parameters.
84
- * @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
85
- * @returns {number[]} - The shared secret as a number array.
86
- * @throws {Error} - Throws an error if attempting to reveal a shared secret for 'self'.
87
- */
88
- revealCounterpartySecret(counterparty) {
89
- const cacheKey = this.generateCacheKey('revealCounterpartySecret', counterparty);
90
- if (this.cache.has(cacheKey)) {
91
- return this.cacheGet(cacheKey);
92
- }
93
- else {
94
- const result = this.keyDeriver.revealCounterpartySecret(counterparty);
95
- this.cacheSet(cacheKey, result);
96
- return result;
97
- }
98
- }
99
- /**
100
- * Reveals the specific key association for a given protocol ID, key ID, and counterparty.
101
- * Caches the result for future calls with the same parameters.
102
- * @param {Counterparty} counterparty - The counterparty's public key or a predefined value ('self' or 'anyone').
103
- * @param {WalletProtocol} protocolID - The protocol ID including a security level and protocol name.
104
- * @param {string} keyID - The key identifier.
105
- * @returns {number[]} - The specific key association as a number array.
106
- */
107
- revealSpecificSecret(counterparty, protocolID, keyID) {
108
- const cacheKey = this.generateCacheKey('revealSpecificSecret', counterparty, protocolID, keyID);
109
- if (this.cache.has(cacheKey)) {
110
- return this.cacheGet(cacheKey);
111
- }
112
- else {
113
- const result = this.keyDeriver.revealSpecificSecret(counterparty, protocolID, keyID);
114
- this.cacheSet(cacheKey, result);
115
- return result;
116
- }
117
- }
118
- /**
119
- * Generates a unique cache key based on the method name and input parameters.
120
- * @param {string} methodName - The name of the method.
121
- * @param {...any} args - The arguments passed to the method.
122
- * @returns {string} - The generated cache key.
123
- */
124
- generateCacheKey(methodName, ...args) {
125
- const serializedArgs = args.map((arg) => this.serializeArgument(arg)).join('|');
126
- return `${methodName}|${serializedArgs}`;
127
- }
128
- /**
129
- * Serializes an argument to a string for use in a cache key.
130
- * @param {any} arg - The argument to serialize.
131
- * @returns {string} - The serialized argument.
132
- */
133
- serializeArgument(arg) {
134
- if (arg instanceof sdk_1.PublicKey || arg instanceof sdk_1.PrivateKey) {
135
- return arg.toString();
136
- }
137
- else if (Array.isArray(arg)) {
138
- return arg.map((item) => this.serializeArgument(item)).join(',');
139
- }
140
- else if (typeof arg === 'object' && arg !== null) {
141
- return JSON.stringify(arg);
142
- }
143
- else {
144
- return String(arg);
145
- }
146
- }
147
- /**
148
- * Retrieves an item from the cache and updates its position to reflect recent use.
149
- * @param {string} cacheKey - The key of the cached item.
150
- * @returns {any} - The cached value.
151
- */
152
- cacheGet(cacheKey) {
153
- const value = this.cache.get(cacheKey);
154
- // Update the entry to reflect recent use
155
- this.cache.delete(cacheKey);
156
- this.cache.set(cacheKey, value);
157
- return value;
158
- }
159
- /**
160
- * Adds an item to the cache and evicts the least recently used item if necessary.
161
- * @param {string} cacheKey - The key of the item to cache.
162
- * @param {any} value - The value to cache.
163
- */
164
- cacheSet(cacheKey, value) {
165
- if (this.cache.size >= this.maxCacheSize) {
166
- // Evict the least recently used item (first item in Map)
167
- const firstKey = this.cache.keys().next().value;
168
- this.cache.delete(firstKey);
169
- }
170
- this.cache.set(cacheKey, value);
171
- }
172
- }
173
- exports.default = CachedKeyDeriver;
174
- //# sourceMappingURL=CachedKeyDeriver.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CachedKeyDeriver.js","sourceRoot":"","sources":["../../../../../src/wallet/sdk/CachedKeyDeriver.ts"],"names":[],"mappings":"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"}
@@ -1,181 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CertOps = void 0;
4
- const __1 = require("..");
5
- const sdk_1 = require("@bsv/sdk");
6
- const Certificate_1 = require("./Certificate");
7
- const WERR_errors_1 = require("./WERR_errors");
8
- class CertOps extends Certificate_1.Certificate {
9
- constructor(wallet, wc) {
10
- super(wc.type, wc.serialNumber, wc.subject, wc.certifier, wc.revocationOutpoint, wc.fields, wc.signature);
11
- this.wallet = wallet;
12
- }
13
- static async fromCounterparty(wallet, e) {
14
- const c = new CertOps(wallet, e.certificate);
15
- // confirm cert verifies and decrypts.
16
- await c.verify();
17
- await c.decryptFields(e.counterparty, e.keyring);
18
- // un-decrypt
19
- c.fields = c._encryptedFields;
20
- return c;
21
- }
22
- static async fromCertifier(wallet, e) {
23
- return await CertOps.fromCounterparty(wallet, { counterparty: e.certificate.certifier, ...e });
24
- }
25
- static async fromEncrypted(wallet, wc, keyring) {
26
- const c = new CertOps(wallet, wc);
27
- c._keyring = keyring;
28
- c._encryptedFields = this.copyFields(c.fields);
29
- c._decryptedFields = await c.decryptFields();
30
- await c.verify();
31
- return c;
32
- }
33
- static async fromDecrypted(wallet, wc) {
34
- const c = new CertOps(wallet, wc);
35
- ({ fields: c._encryptedFields, keyring: c._keyring } = await c.encryptFields());
36
- c._decryptedFields = await c.decryptFields();
37
- return c;
38
- }
39
- static copyFields(fields) {
40
- const copy = {};
41
- for (const [n, v] of Object.entries(fields))
42
- copy[n] = v;
43
- return copy;
44
- }
45
- static getProtocolForCertificateFieldEncryption(serialNumber, fieldName) {
46
- return { protocolID: [2, 'certificate field encryption'], keyID: `${serialNumber} ${fieldName}` };
47
- }
48
- exportForSubject() {
49
- if (!this._keyring || !this._encryptedFields || !this.signature || this.signature.length === 0)
50
- throw new WERR_errors_1.WERR_INVALID_OPERATION(`Certificate must be encrypted and signed prior to export.`);
51
- const certificate = this.toWalletCertificate();
52
- const keyring = this._keyring;
53
- return { certificate, keyring };
54
- }
55
- toWalletCertificate() {
56
- const wc = {
57
- signature: '',
58
- ...this
59
- };
60
- return wc;
61
- }
62
- async encryptFields(counterparty = 'self') {
63
- const fields = this._decryptedFields || this.fields;
64
- const encryptedFields = {};
65
- const keyring = {};
66
- for (const fieldName of Object.keys(fields)) {
67
- const fieldSymmetricKey = sdk_1.SymmetricKey.fromRandom();
68
- const encryptedFieldValue = fieldSymmetricKey.encrypt(sdk_1.Utils.toArray(this.fields[fieldName], 'utf8'));
69
- encryptedFields[fieldName] = sdk_1.Utils.toBase64(encryptedFieldValue);
70
- const encryptedFieldKey = await this.wallet.encrypt({
71
- plaintext: fieldSymmetricKey.toArray(),
72
- counterparty,
73
- ...CertOps.getProtocolForCertificateFieldEncryption(this.serialNumber, fieldName)
74
- });
75
- keyring[fieldName] = sdk_1.Utils.toBase64(encryptedFieldKey.ciphertext);
76
- }
77
- this._keyring = keyring;
78
- this._decryptedFields = fields;
79
- this.fields = this._encryptedFields = encryptedFields;
80
- return { fields: encryptedFields, keyring };
81
- }
82
- async decryptFields(counterparty, keyring) {
83
- keyring || (keyring = this._keyring);
84
- const fields = this._encryptedFields || this.fields;
85
- const decryptedFields = {};
86
- if (!keyring)
87
- throw new __1.sdk.WERR_INVALID_PARAMETER('keyring', 'valid');
88
- try {
89
- for (const fieldName of Object.keys(keyring)) {
90
- const { plaintext: fieldRevelationKey } = await this.wallet.decrypt({
91
- ciphertext: sdk_1.Utils.toArray(keyring[fieldName], 'base64'),
92
- counterparty: counterparty || this.subject,
93
- ...CertOps.getProtocolForCertificateFieldEncryption(this.serialNumber, fieldName)
94
- });
95
- const fieldValue = new sdk_1.SymmetricKey(fieldRevelationKey).decrypt(sdk_1.Utils.toArray(fields[fieldName], 'base64'));
96
- decryptedFields[fieldName] = sdk_1.Utils.toUTF8(fieldValue);
97
- }
98
- this._keyring = keyring;
99
- this._encryptedFields = fields;
100
- this.fields = this._decryptedFields = decryptedFields;
101
- return decryptedFields;
102
- }
103
- catch (eu) {
104
- const e = __1.sdk.WalletError.fromUnknown(eu);
105
- throw e;
106
- }
107
- }
108
- async exportForCounterparty(
109
- /** The incoming counterparty is who they are to us. */
110
- counterparty, fieldsToReveal) {
111
- if (!this._keyring || !this._encryptedFields || !this.signature || this.signature.length === 0)
112
- throw new WERR_errors_1.WERR_INVALID_OPERATION(`Certificate must be encrypted and signed prior to export.`);
113
- const certificate = this.toWalletCertificate();
114
- const keyring = await this.createKeyringForVerifier(counterparty, fieldsToReveal);
115
- // The exported counterparty is who we are to them...
116
- return { certificate, keyring, counterparty: this.wallet.keyDeriver.identityKey };
117
- }
118
- /**
119
- * Creates a verifiable certificate structure for a specific verifier, allowing them access to specified fields.
120
- * This method decrypts the master field keys for each field specified in `fieldsToReveal` and re-encrypts them
121
- * for the verifier's identity key. The resulting certificate structure includes only the fields intended to be
122
- * revealed and a verifier-specific keyring for field decryption.
123
- *
124
- * @param {sdk.PubKeyHex} verifierIdentityKey - The public identity key of the verifier who will receive access to the specified fields.
125
- * @param {sdk.CertificateFieldNameUnder50Bytes[]} fieldsToReveal - An array of field names to be revealed to the verifier. Must be a subset of the certificate's fields.
126
- * @param {sdk.OriginatorDomainNameStringUnder250Bytes} [originator] - Optional originator identifier, used if additional context is needed for decryption and encryption operations.
127
- * @returns {Promise<Record<sdk.CertificateFieldNameUnder50Bytes[], sdk.Base64String>} - A new certificate structure containing the original encrypted fields, the verifier-specific field decryption keyring, and essential certificate metadata.
128
- * @throws {WERR_INVALID_PARAMETER} Throws an error if:
129
- * - fieldsToReveal is empty or a field in `fieldsToReveal` does not exist in the certificate.
130
- * - The decrypted master field key fails to decrypt the corresponding field (indicating an invalid key).
131
- */
132
- async createKeyringForVerifier(verifierIdentityKey, fieldsToReveal, originator) {
133
- if (!this._keyring || !this._encryptedFields)
134
- throw new __1.sdk.WERR_INVALID_OPERATION(`certificate must be encrypted`);
135
- if (!Array.isArray(fieldsToReveal) || fieldsToReveal.some(n => this._encryptedFields[n] === undefined))
136
- throw new __1.sdk.WERR_INVALID_PARAMETER('fieldsToReveal', `an array of certificate field names`);
137
- const fieldRevelationKeyring = {};
138
- for (const fieldName of fieldsToReveal) {
139
- // Create a keyID
140
- const encryptedFieldKey = this._keyring[fieldName];
141
- const protocol = CertOps.getProtocolForCertificateFieldEncryption(this.serialNumber, fieldName);
142
- // Decrypt the master field key
143
- const { plaintext: fieldKey } = await this.wallet.decrypt({
144
- ciphertext: sdk_1.Utils.toArray(encryptedFieldKey, 'base64'),
145
- counterparty: this.certifier,
146
- ...protocol
147
- }, originator);
148
- // Verify that derived key actually decrypts requested field
149
- try {
150
- new sdk_1.SymmetricKey(fieldKey).decrypt(sdk_1.Utils.toArray(this.fields[fieldName], 'base64'));
151
- }
152
- catch (_) {
153
- throw new __1.sdk.WERR_INTERNAL(`unable to decrypt field "${fieldName}" using derived field key.`);
154
- }
155
- // Encrypt derived fieldRevelationKey for verifier
156
- const { ciphertext: encryptedFieldRevelationKey } = await this.wallet.encrypt({
157
- plaintext: fieldKey,
158
- counterparty: verifierIdentityKey,
159
- ...protocol
160
- }, originator);
161
- // Add encryptedFieldRevelationKey to fieldRevelationKeyring
162
- fieldRevelationKeyring[fieldName] = sdk_1.Utils.toBase64(encryptedFieldRevelationKey);
163
- }
164
- // Return the field revelation keyring which can be used to create a verifiable certificate for a verifier.
165
- return fieldRevelationKeyring;
166
- }
167
- /**
168
- * encrypt plaintext field values for the subject
169
- * update the signature using the certifier's private key.
170
- */
171
- async encryptAndSignNewCertificate() {
172
- if (this.wallet.keyDeriver.identityKey !== this.certifier)
173
- throw new __1.sdk.WERR_INVALID_PARAMETER('wallet', 'the certifier for new certificate issuance.');
174
- await this.encryptFields(this.subject);
175
- await this.sign(this.wallet);
176
- // Confirm the signed certificate verifies:
177
- await this.verify();
178
- }
179
- }
180
- exports.CertOps = CertOps;
181
- //# sourceMappingURL=CertOps.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CertOps.js","sourceRoot":"","sources":["../../../../../src/wallet/sdk/CertOps.ts"],"names":[],"mappings":"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"}