@bsv/sdk 1.4.6 → 1.4.7

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 (604) hide show
  1. package/dist/cjs/package.json +1 -1
  2. package/dist/cjs/src/overlay-tools/LookupResolver.js +1 -1
  3. package/dist/cjs/src/storage/StorageDownloader.js +5 -0
  4. package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
  5. package/dist/cjs/src/storage/StorageUploader.js +8 -4
  6. package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
  7. package/dist/cjs/src/storage/__test/StorageDownloader.test.js +27 -0
  8. package/dist/cjs/src/storage/__test/StorageDownloader.test.js.map +1 -1
  9. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  10. package/dist/esm/src/overlay-tools/LookupResolver.js +1 -1
  11. package/dist/esm/src/storage/StorageDownloader.js +5 -0
  12. package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
  13. package/dist/esm/src/storage/StorageUploader.js +8 -4
  14. package/dist/esm/src/storage/StorageUploader.js.map +1 -1
  15. package/dist/esm/src/storage/__test/StorageDownloader.test.js +27 -0
  16. package/dist/esm/src/storage/__test/StorageDownloader.test.js.map +1 -1
  17. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  18. package/dist/types/src/storage/StorageDownloader.d.ts.map +1 -1
  19. package/dist/types/src/storage/StorageUploader.d.ts.map +1 -1
  20. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  21. package/dist/umd/bundle.js +1 -1
  22. package/docs/storage.md +4 -4
  23. package/package.json +1 -1
  24. package/src/overlay-tools/LookupResolver.ts +1 -1
  25. package/src/overlay-tools/__tests/LookupResolver.test.ts +16 -16
  26. package/src/storage/StorageDownloader.ts +7 -0
  27. package/src/storage/StorageUploader.ts +11 -4
  28. package/src/storage/__test/StorageDownloader.test.ts +35 -1
  29. package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
  30. package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
  31. package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
  32. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
  33. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
  34. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  35. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  36. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  37. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  38. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  39. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
  40. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  41. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  42. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  43. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  44. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  45. package/dist/cjs/src/auth/utils/certificateHelpers.js +0 -51
  46. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +0 -1
  47. package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
  48. package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
  49. package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
  50. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
  51. package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
  52. package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
  53. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
  54. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
  55. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
  56. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  57. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
  58. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  59. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
  60. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
  61. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  62. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  63. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  64. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  65. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  66. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  67. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
  68. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
  69. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  70. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  71. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  72. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  73. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  74. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  75. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  76. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  77. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  78. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  79. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  80. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  81. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  82. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  83. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  84. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  85. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  86. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  87. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
  88. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  89. package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
  90. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
  91. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
  92. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  93. package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
  94. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
  95. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
  96. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
  97. package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
  98. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
  99. package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
  100. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
  101. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  102. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  103. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  104. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  105. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
  106. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  107. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
  108. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
  109. package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
  110. package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
  111. package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
  112. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
  113. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
  114. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  115. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
  116. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
  117. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
  118. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  119. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  120. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  121. package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
  122. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
  123. package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
  124. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
  125. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
  126. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
  127. package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
  128. package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
  129. package/dist/cjs/src/script/__tests/Script.test.js +0 -347
  130. package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
  131. package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
  132. package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
  133. package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
  134. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
  135. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
  136. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
  137. package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
  138. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
  139. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
  140. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
  141. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
  142. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  143. package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
  144. package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
  145. package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
  146. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
  147. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
  148. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
  149. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  150. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  151. package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
  152. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
  153. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
  154. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  155. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  156. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  157. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
  158. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  159. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  160. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  161. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
  162. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  163. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  164. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  165. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  166. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  167. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  168. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  169. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js +0 -39
  170. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  171. package/dist/cjs/src/wallet/WalletSigner.js +0 -260
  172. package/dist/cjs/src/wallet/WalletSigner.js.map +0 -1
  173. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  174. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  175. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
  176. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  177. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
  178. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  179. package/dist/cjs/src/wallet/createActionSdk.js +0 -230
  180. package/dist/cjs/src/wallet/createActionSdk.js.map +0 -1
  181. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  182. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  183. package/dist/cjs/src/wallet/sdk/CertOps.js +0 -181
  184. package/dist/cjs/src/wallet/sdk/CertOps.js.map +0 -1
  185. package/dist/cjs/src/wallet/sdk/Certificate.js +0 -162
  186. package/dist/cjs/src/wallet/sdk/Certificate.js.map +0 -1
  187. package/dist/cjs/src/wallet/sdk/KeyDeriver.js +0 -176
  188. package/dist/cjs/src/wallet/sdk/KeyDeriver.js.map +0 -1
  189. package/dist/cjs/src/wallet/sdk/ProtoWallet.js +0 -75
  190. package/dist/cjs/src/wallet/sdk/ProtoWallet.js.map +0 -1
  191. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js +0 -3
  192. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  193. package/dist/cjs/src/wallet/sdk/WERR_errors.js +0 -107
  194. package/dist/cjs/src/wallet/sdk/WERR_errors.js.map +0 -1
  195. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js +0 -3
  196. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  197. package/dist/cjs/src/wallet/sdk/WalletCrypto.js +0 -171
  198. package/dist/cjs/src/wallet/sdk/WalletCrypto.js.map +0 -1
  199. package/dist/cjs/src/wallet/sdk/WalletError.js +0 -103
  200. package/dist/cjs/src/wallet/sdk/WalletError.js.map +0 -1
  201. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js +0 -3
  202. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  203. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js +0 -3
  204. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  205. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js +0 -3
  206. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  207. package/dist/cjs/src/wallet/sdk/index.js +0 -31
  208. package/dist/cjs/src/wallet/sdk/index.js.map +0 -1
  209. package/dist/cjs/src/wallet/sdk/types.js +0 -11
  210. package/dist/cjs/src/wallet/sdk/types.js.map +0 -1
  211. package/dist/cjs/src/wallet/sdk/validationHelpers.js +0 -601
  212. package/dist/cjs/src/wallet/sdk/validationHelpers.js.map +0 -1
  213. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  214. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  215. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
  216. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  217. package/dist/cjs/src/wallet/utilityHelpers.js +0 -305
  218. package/dist/cjs/src/wallet/utilityHelpers.js.map +0 -1
  219. package/dist/cjs/src/wallet/validationHelpers.js +0 -601
  220. package/dist/cjs/src/wallet/validationHelpers.js.map +0 -1
  221. package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
  222. package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
  223. package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
  224. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
  225. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
  226. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  227. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  228. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  229. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  230. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  231. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
  232. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  233. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  234. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  235. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  236. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  237. package/dist/esm/src/auth/utils/certificateHelpers.js +0 -47
  238. package/dist/esm/src/auth/utils/certificateHelpers.js.map +0 -1
  239. package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
  240. package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
  241. package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
  242. package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
  243. package/dist/esm/src/compat/__tests/HD.test.js +0 -336
  244. package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
  245. package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
  246. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
  247. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
  248. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  249. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
  250. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  251. package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
  252. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
  253. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  254. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  255. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  256. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  257. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  258. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  259. package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
  260. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
  261. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  262. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  263. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  264. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  265. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  266. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  267. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  268. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  269. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  270. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  271. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  272. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  273. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  274. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  275. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  276. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  277. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  278. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  279. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
  280. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  281. package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
  282. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
  283. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
  284. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  285. package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
  286. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
  287. package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
  288. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
  289. package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
  290. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
  291. package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
  292. package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
  293. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  294. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  295. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  296. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  297. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
  298. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  299. package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
  300. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
  301. package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
  302. package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
  303. package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
  304. package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
  305. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
  306. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  307. package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
  308. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
  309. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
  310. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  311. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  312. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  313. package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
  314. package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
  315. package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
  316. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
  317. package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
  318. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
  319. package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
  320. package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
  321. package/dist/esm/src/script/__tests/Script.test.js +0 -347
  322. package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
  323. package/dist/esm/src/script/__tests/Spend.test.js +0 -282
  324. package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
  325. package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
  326. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
  327. package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
  328. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
  329. package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
  330. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
  331. package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
  332. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
  333. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
  334. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  335. package/dist/esm/src/totp/__tests/totp.test.js +0 -67
  336. package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
  337. package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
  338. package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
  339. package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
  340. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
  341. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  342. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  343. package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
  344. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
  345. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
  346. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  347. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  348. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  349. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
  350. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  351. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  352. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  353. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
  354. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  355. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  356. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  357. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  358. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  359. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  360. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  361. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js +0 -37
  362. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  363. package/dist/esm/src/wallet/WalletSigner.js +0 -263
  364. package/dist/esm/src/wallet/WalletSigner.js.map +0 -1
  365. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  366. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  367. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
  368. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  369. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
  370. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  371. package/dist/esm/src/wallet/createActionSdk.js +0 -223
  372. package/dist/esm/src/wallet/createActionSdk.js.map +0 -1
  373. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  374. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  375. package/dist/esm/src/wallet/sdk/CertOps.js +0 -181
  376. package/dist/esm/src/wallet/sdk/CertOps.js.map +0 -1
  377. package/dist/esm/src/wallet/sdk/Certificate.js +0 -186
  378. package/dist/esm/src/wallet/sdk/Certificate.js.map +0 -1
  379. package/dist/esm/src/wallet/sdk/KeyDeriver.js +0 -174
  380. package/dist/esm/src/wallet/sdk/KeyDeriver.js.map +0 -1
  381. package/dist/esm/src/wallet/sdk/ProtoWallet.js +0 -71
  382. package/dist/esm/src/wallet/sdk/ProtoWallet.js.map +0 -1
  383. package/dist/esm/src/wallet/sdk/StorageSyncReader.js +0 -2
  384. package/dist/esm/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  385. package/dist/esm/src/wallet/sdk/WERR_errors.js +0 -99
  386. package/dist/esm/src/wallet/sdk/WERR_errors.js.map +0 -1
  387. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js +0 -2
  388. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  389. package/dist/esm/src/wallet/sdk/WalletCrypto.js +0 -168
  390. package/dist/esm/src/wallet/sdk/WalletCrypto.js.map +0 -1
  391. package/dist/esm/src/wallet/sdk/WalletError.js +0 -100
  392. package/dist/esm/src/wallet/sdk/WalletError.js.map +0 -1
  393. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js +0 -2
  394. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  395. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js +0 -2
  396. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  397. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js +0 -2
  398. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  399. package/dist/esm/src/wallet/sdk/index.js +0 -15
  400. package/dist/esm/src/wallet/sdk/index.js.map +0 -1
  401. package/dist/esm/src/wallet/sdk/types.js +0 -8
  402. package/dist/esm/src/wallet/sdk/types.js.map +0 -1
  403. package/dist/esm/src/wallet/sdk/validationHelpers.js +0 -566
  404. package/dist/esm/src/wallet/sdk/validationHelpers.js.map +0 -1
  405. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  406. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  407. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
  408. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  409. package/dist/esm/src/wallet/utilityHelpers.js +0 -275
  410. package/dist/esm/src/wallet/utilityHelpers.js.map +0 -1
  411. package/dist/esm/src/wallet/validationHelpers.js +0 -566
  412. package/dist/esm/src/wallet/validationHelpers.js.map +0 -1
  413. package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
  414. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
  415. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
  416. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
  417. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
  418. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
  419. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
  420. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
  421. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
  422. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
  423. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
  424. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
  425. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
  426. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
  427. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
  428. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
  429. package/dist/types/src/auth/utils/certificateHelpers.d.ts +0 -26
  430. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +0 -1
  431. package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
  432. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
  433. package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
  434. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
  435. package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
  436. package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
  437. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
  438. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
  439. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
  440. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
  441. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
  442. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
  443. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
  444. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
  445. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
  446. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
  447. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
  448. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
  449. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
  450. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
  451. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
  452. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
  453. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
  454. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
  455. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
  456. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
  457. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
  458. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
  459. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
  460. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
  461. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
  462. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
  463. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
  464. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
  465. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
  466. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
  467. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
  468. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
  469. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
  470. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
  471. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
  472. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
  473. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
  474. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
  475. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
  476. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
  477. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
  478. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
  479. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
  480. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
  481. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
  482. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
  483. package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
  484. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
  485. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
  486. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
  487. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
  488. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
  489. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
  490. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
  491. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
  492. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
  493. package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
  494. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
  495. package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
  496. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
  497. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
  498. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
  499. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
  500. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
  501. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
  502. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
  503. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
  504. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
  505. package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
  506. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
  507. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
  508. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
  509. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
  510. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
  511. package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
  512. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
  513. package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
  514. package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
  515. package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
  516. package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
  517. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
  518. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
  519. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
  520. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
  521. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
  522. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
  523. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
  524. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
  525. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
  526. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
  527. package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
  528. package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
  529. package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
  530. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
  531. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
  532. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
  533. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
  534. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
  535. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
  536. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
  537. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
  538. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
  539. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
  540. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
  541. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
  542. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
  543. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
  544. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
  545. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
  546. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
  547. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
  548. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
  549. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
  550. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
  551. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
  552. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
  553. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts +0 -25
  554. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts.map +0 -1
  555. package/dist/types/src/wallet/WalletSigner.d.ts +0 -110
  556. package/dist/types/src/wallet/WalletSigner.d.ts.map +0 -1
  557. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
  558. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
  559. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
  560. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
  561. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
  562. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
  563. package/dist/types/src/wallet/createActionSdk.d.ts +0 -8
  564. package/dist/types/src/wallet/createActionSdk.d.ts.map +0 -1
  565. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts +0 -94
  566. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts.map +0 -1
  567. package/dist/types/src/wallet/sdk/CertOps.d.ts +0 -63
  568. package/dist/types/src/wallet/sdk/CertOps.d.ts.map +0 -1
  569. package/dist/types/src/wallet/sdk/Certificate.d.ts +0 -77
  570. package/dist/types/src/wallet/sdk/Certificate.d.ts.map +0 -1
  571. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts +0 -128
  572. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts.map +0 -1
  573. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts +0 -30
  574. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts.map +0 -1
  575. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts +0 -102
  576. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts.map +0 -1
  577. package/dist/types/src/wallet/sdk/WERR_errors.d.ts +0 -84
  578. package/dist/types/src/wallet/sdk/WERR_errors.d.ts.map +0 -1
  579. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts +0 -1036
  580. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts.map +0 -1
  581. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts +0 -31
  582. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts.map +0 -1
  583. package/dist/types/src/wallet/sdk/WalletError.d.ts +0 -46
  584. package/dist/types/src/wallet/sdk/WalletError.d.ts.map +0 -1
  585. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts +0 -293
  586. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts.map +0 -1
  587. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts +0 -48
  588. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts.map +0 -1
  589. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts +0 -296
  590. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts.map +0 -1
  591. package/dist/types/src/wallet/sdk/index.d.ts +0 -15
  592. package/dist/types/src/wallet/sdk/index.d.ts.map +0 -1
  593. package/dist/types/src/wallet/sdk/types.d.ts +0 -56
  594. package/dist/types/src/wallet/sdk/types.d.ts.map +0 -1
  595. package/dist/types/src/wallet/sdk/validationHelpers.d.ts +0 -301
  596. package/dist/types/src/wallet/sdk/validationHelpers.d.ts.map +0 -1
  597. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
  598. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
  599. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
  600. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
  601. package/dist/types/src/wallet/utilityHelpers.d.ts +0 -142
  602. package/dist/types/src/wallet/utilityHelpers.d.ts.map +0 -1
  603. package/dist/types/src/wallet/validationHelpers.d.ts +0 -301
  604. package/dist/types/src/wallet/validationHelpers.d.ts.map +0 -1
@@ -1,263 +0,0 @@
1
- import KeyDeriver from './KeyDeriver.js';
2
- import { Utils } from '../primitives/index.js';
3
- import { WalletError } from './WalletError.js';
4
- import ProtoWallet from './ProtoWallet.js';
5
- import { MasterCertificate, SymmetricKey, Beef, BeefParty } from 'mod.js';
6
- import { createActionSdk } from './createActionSdk.js';
7
- import { validateCreateActionArgs } from './validationHelpers.js';
8
- // type Network = 'mainnet' | 'testnet';
9
- /**
10
- * A WalletSigner is a structure that fulfills the Wallet interface, capable of performing all foundational cryptographic operations. It can derive keys, create signatures, facilitate encryption and HMAC operations, and reveal key linkages. However, ProtoWallet does not create transactions, manage outputs, interact with the blockchain, enable the management of identity certificates, or store any data.
11
- */
12
- export default class WalletSigner {
13
- keyDeriver;
14
- network;
15
- activeStorageProvider;
16
- auxiliaryStorageProviders;
17
- proto;
18
- syncAfterWrite;
19
- privilegedError = 'ProtoWallet is a single-keyring wallet, operating without context about whether its configured keyring is privileged.';
20
- beef;
21
- storageParty;
22
- userParty;
23
- constructor(rootKey, storageProviders, network = 'mainnet', syncAfterWrite = false, KeyDeriverClass = KeyDeriver) {
24
- this.keyDeriver = new KeyDeriverClass(rootKey);
25
- this.activeStorageProvider = storageProviders[0];
26
- this.auxiliaryStorageProviders = storageProviders.splice(1);
27
- this.network = network;
28
- this.proto = new ProtoWallet(rootKey, KeyDeriverClass);
29
- this.syncAfterWrite = syncAfterWrite;
30
- // Construct signer BEEF parties
31
- this.storageParty = this.activeStorageProvider.storageIdentityKey;
32
- this.userParty = this.getClientChangeKeyPair().publicKey;
33
- this.beef = new BeefParty([this.storageParty, this.userParty]);
34
- }
35
- async syncPrimaryStorageToAuxiliary() {
36
- for (const aux of this.auxiliaryStorageProviders) {
37
- try {
38
- await aux.syncWith(this.activeStorageProvider);
39
- }
40
- catch (e) {
41
- continue;
42
- }
43
- }
44
- }
45
- async createAction(args) {
46
- const vargs = validateCreateActionArgs(args);
47
- vargs.options.knownTxids = this.getKnownTxids(vargs.options.knownTxids);
48
- const r = await createActionSdk(this, vargs);
49
- if (r.signableTransaction) {
50
- const st = r.signableTransaction;
51
- const ab = Beef.fromBinary(st.tx);
52
- if (!ab.atomicTxid)
53
- throw new WalletError('Missing atomicTxid in signableTransaction result');
54
- if (ab.txs.length < 1 || ab.txs[ab.txs.length - 1].txid !== ab.atomicTxid)
55
- throw new WalletError('atomicTxid does not match txid of last AtomicBEEF transaction');
56
- // Remove the new, partially constructed transaction from beef as it will never be a valid transaction.
57
- ab.txs.slice(ab.txs.length - 1);
58
- this.beef.mergeBeefFromParty(this.storageParty, ab);
59
- }
60
- else if (r.tx) {
61
- this.beef.mergeBeefFromParty(this.storageParty, r.tx);
62
- }
63
- if (this.syncAfterWrite) {
64
- await this.syncPrimaryStorageToAuxiliary();
65
- }
66
- return r;
67
- }
68
- async signAction(args) {
69
- throw new Error('todo');
70
- }
71
- async abortAction(args) {
72
- throw new Error('todo');
73
- }
74
- async listActions(args) {
75
- return this.activeStorageProvider.listActions(args);
76
- }
77
- internalizeAction(args) {
78
- return this.activeStorageProvider.internalizeAction(args);
79
- }
80
- listOutputs(args) {
81
- return this.activeStorageProvider.listOutputs(args);
82
- }
83
- async relinquishOutput(args) {
84
- await this.activeStorageProvider.relinquishOutput(args);
85
- if (this.syncAfterWrite) {
86
- await this.syncPrimaryStorageToAuxiliary();
87
- }
88
- return { relinquished: true };
89
- }
90
- async getPublicKey(args) {
91
- return this.proto.getPublicKey(args);
92
- }
93
- async revealCounterpartyKeyLinkage(args) {
94
- return this.proto.revealCounterpartyKeyLinkage(args);
95
- }
96
- async revealSpecificKeyLinkage(args) {
97
- return this.proto.revealSpecificKeyLinkage(args);
98
- }
99
- async encrypt(args) {
100
- return this.proto.encrypt(args);
101
- }
102
- async decrypt(args) {
103
- return this.proto.decrypt(args);
104
- }
105
- async createHmac(args) {
106
- return this.proto.createHmac(args);
107
- }
108
- async verifyHmac(args) {
109
- return this.proto.verifyHmac(args);
110
- }
111
- async createSignature(args) {
112
- return this.proto.createSignature(args);
113
- }
114
- async verifySignature(args) {
115
- return this.proto.verifySignature(args);
116
- }
117
- async acquireCertificate(args) {
118
- if (args.privileged) {
119
- throw new WalletError(this.privilegedError);
120
- }
121
- const { publicKey: ourIdentityKey } = await this.proto.getPublicKey({ identityKey: true });
122
- if (args.acquisitionProtocol === 'direct') {
123
- let actualKeyringRevealer;
124
- if (!args.keyringRevealer || args.keyringRevealer === 'certifier') {
125
- actualKeyringRevealer = args.certifier;
126
- }
127
- else {
128
- actualKeyringRevealer = args.keyringRevealer;
129
- }
130
- // Validate that all fields are provided in the keyring
131
- if (Object.keys(args.fields).length !== Object.keys(args.keyringForSubject).length) {
132
- throw new WalletError('Keyring for subject does not include all fields');
133
- }
134
- if (Object.keys(args.fields).some(field => (!args.keyringForSubject[field]))) {
135
- throw new WalletError('Keyring for subject does not include all fields');
136
- }
137
- // Decrypt the keyring and build the correct "self" master keyring
138
- const masterKeyringForSelf = {};
139
- for (const fieldName of Object.keys(args.fields)) {
140
- const keyID = `${args.serialNumber} ${fieldName}`;
141
- const encryptedMasterFieldKey = args.keyringForSubject[fieldName];
142
- // Decrypt the master field key
143
- const { plaintext: masterFieldKey } = await this.proto.decrypt({
144
- ciphertext: Utils.toArray(encryptedMasterFieldKey, 'base64'),
145
- protocolID: [2, 'certificate field encryption'],
146
- keyID,
147
- counterparty: actualKeyringRevealer
148
- });
149
- // Verify that derived key actually decrypts requested field
150
- try {
151
- new SymmetricKey(masterFieldKey).decrypt(Utils.toArray(args.fields[fieldName], 'base64'));
152
- }
153
- catch (_) {
154
- throw new WalletError(`Decryption of the "${fieldName}" field with its revelation key failed.`);
155
- }
156
- // Encrypt masterFieldKey for self
157
- const { ciphertext: encryptedFieldRevelationKey } = await this.proto.encrypt({
158
- plaintext: masterFieldKey,
159
- protocolID: [2, 'certificate field encryption'],
160
- keyID: `${args.serialNumber} ${fieldName}`,
161
- counterparty: 'self'
162
- });
163
- // Add encryptedFieldRevelationKey to fieldRevelationKeyring
164
- masterKeyringForSelf[fieldName] = Utils.toBase64(encryptedFieldRevelationKey);
165
- }
166
- const cert = {
167
- type: args.type,
168
- serialNumber: args.serialNumber,
169
- subject: ourIdentityKey,
170
- certifier: args.certifier,
171
- fields: args.fields,
172
- revocationOutpoint: args.revocationOutpoint,
173
- signature: args.signature
174
- };
175
- await this.activeStorageProvider.storeCertificateAndMasterKeyring(cert, masterKeyringForSelf);
176
- if (this.syncAfterWrite) {
177
- await this.syncPrimaryStorageToAuxiliary();
178
- }
179
- return cert;
180
- }
181
- else if (args.acquisitionProtocol === 'issuance') {
182
- // TODO: Pull code from CWI Core
183
- // Put this code into a private method for talking to a certifier
184
- // Get the certificate and store it with `await this.activeStorageProvider.storeCertificateAndMasterKeyring(cert, masterKeyringForSelf)`
185
- // Get certificate from backend
186
- // Validate that we can actually decrypt the master keyring
187
- // Store certificate and master keyring
188
- // store
189
- if (this.syncAfterWrite) {
190
- await this.syncPrimaryStorageToAuxiliary();
191
- }
192
- }
193
- else {
194
- throw new WalletError(`Unknown certificate acquisition protocol: ${args.acquisitionProtocol}`);
195
- }
196
- }
197
- async listCertificates(args) {
198
- return await this.activeStorageProvider.listCertificates(args);
199
- }
200
- async proveCertificate(args) {
201
- if (args.privileged) {
202
- throw new WalletError(this.privilegedError);
203
- }
204
- const masterKeyring = await this.activeStorageProvider.findMasterKeyringForCertificate(args.certificate.type, args.certificate.serialNumber);
205
- const masterCertificate = new MasterCertificate(args.certificate.type, args.certificate.serialNumber, args.certificate.subject, args.certificate.certifier, args.certificate.revocationOutpoint, args.certificate.fields, masterKeyring, args.certificate.signature);
206
- const keyringForVerifier = await masterCertificate.createKeyringForVerifier(this.proto, args.verifier, args.fieldsToReveal);
207
- return {
208
- keyringForVerifier
209
- };
210
- }
211
- async relinquishCertificate(args) {
212
- await this.activeStorageProvider.relinquishCertificate(args);
213
- if (this.syncAfterWrite) {
214
- await this.syncPrimaryStorageToAuxiliary();
215
- }
216
- return { relinquished: true };
217
- }
218
- async discoverByIdentityKey(args) {
219
- // SOW E
220
- throw new Error('todo');
221
- }
222
- async discoverByAttributes(args) {
223
- // SOW E
224
- throw new Error('todo');
225
- }
226
- async isAuthenticated(args) {
227
- return { authenticated: true };
228
- }
229
- async waitForAuthentication(args) {
230
- return { authenticated: true };
231
- }
232
- async getHeight(args) {
233
- const height = await this.activeStorageProvider.getHeight();
234
- return { height };
235
- }
236
- async getHeaderForHeight(args) {
237
- return this.activeStorageProvider.getHeaderForHeight(args);
238
- }
239
- async getNetwork(args) {
240
- return { network: this.network };
241
- }
242
- async getVersion(args) {
243
- return { version: 'signer-1.0.0' };
244
- }
245
- // Helper methods
246
- getKnownTxids(newKnownTxids) {
247
- if (newKnownTxids) {
248
- for (const txid of newKnownTxids)
249
- this.beef.mergeTxidOnly(txid);
250
- }
251
- const r = this.beef.sortTxs();
252
- const knownTxids = r.valid.concat(r.txidOnly);
253
- return knownTxids;
254
- }
255
- getClientChangeKeyPair() {
256
- const kp = {
257
- privateKey: this.keyDeriver.rootKey.toString(),
258
- publicKey: this.keyDeriver.rootKey.toPublicKey().toString()
259
- };
260
- return kp;
261
- }
262
- }
263
- //# sourceMappingURL=WalletSigner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WalletSigner.js","sourceRoot":"","sources":["../../../../src/wallet/WalletSigner.ts"],"names":[],"mappings":"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"}
@@ -1,269 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- const index_1 = require("../../primitives/index");
7
- const CachedKeyDeriver_1 = __importDefault(require("../../wallet/CachedKeyDeriver"));
8
- const KeyDeriver_1 = __importDefault(require("../../wallet/KeyDeriver"));
9
- describe('CachedKeyDeriver', () => {
10
- let mockKeyDeriver;
11
- let cachedKeyDeriver;
12
- const rootKey = new index_1.PrivateKey(1);
13
- beforeEach(() => {
14
- // Reset the mocks and create a new CachedKeyDeriver instance before each test
15
- jest.clearAllMocks();
16
- mockKeyDeriver = new KeyDeriver_1.default(rootKey);
17
- // Mock the methods of KeyDeriver
18
- mockKeyDeriver.derivePublicKey = jest.fn();
19
- mockKeyDeriver.derivePrivateKey = jest.fn();
20
- mockKeyDeriver.deriveSymmetricKey = jest.fn();
21
- mockKeyDeriver.revealCounterpartySecret = jest.fn();
22
- mockKeyDeriver.revealSpecificSecret = jest.fn();
23
- // Replace the internal keyDeriver instance with the mocked one
24
- cachedKeyDeriver = new CachedKeyDeriver_1.default(rootKey);
25
- cachedKeyDeriver.keyDeriver = mockKeyDeriver;
26
- });
27
- describe('derivePublicKey', () => {
28
- it('should call derivePublicKey on KeyDeriver and cache the result', () => {
29
- const protocolID = [0, 'testprotocol'];
30
- const keyID = 'key1';
31
- const counterparty = 'self';
32
- const publicKey = new index_1.PublicKey(0);
33
- mockKeyDeriver.derivePublicKey.mockReturnValue(publicKey);
34
- // First call - should invoke the underlying method
35
- const result1 = cachedKeyDeriver.derivePublicKey(protocolID, keyID, counterparty);
36
- expect(mockKeyDeriver.derivePublicKey).toHaveBeenCalledTimes(1);
37
- expect(result1).toBe(publicKey);
38
- // Second call with the same parameters - should retrieve from cache
39
- const result2 = cachedKeyDeriver.derivePublicKey(protocolID, keyID, counterparty);
40
- expect(mockKeyDeriver.derivePublicKey).toHaveBeenCalledTimes(1); // No additional calls
41
- expect(result2).toBe(publicKey);
42
- });
43
- it('should handle different parameters correctly', () => {
44
- const protocolID1 = [0, 'protocol1'];
45
- const protocolID2 = [1, 'protocol2'];
46
- const keyID1 = 'key1';
47
- const keyID2 = 'key2';
48
- const counterparty1 = 'self';
49
- const counterparty2 = 'anyone';
50
- const publicKey1 = new index_1.PublicKey(0);
51
- const publicKey2 = new index_1.PublicKey(0);
52
- mockKeyDeriver.derivePublicKey
53
- .mockReturnValueOnce(publicKey1)
54
- .mockReturnValueOnce(publicKey2);
55
- // Different parameters - should not hit cache
56
- const result1 = cachedKeyDeriver.derivePublicKey(protocolID1, keyID1, counterparty1);
57
- const result2 = cachedKeyDeriver.derivePublicKey(protocolID2, keyID2, counterparty2);
58
- expect(mockKeyDeriver.derivePublicKey).toHaveBeenCalledTimes(2);
59
- expect(result1).toBe(publicKey1);
60
- expect(result2).toBe(publicKey2);
61
- });
62
- });
63
- describe('derivePrivateKey', () => {
64
- it('should call derivePrivateKey on KeyDeriver and cache the result', () => {
65
- const protocolID = [1, 'testprotocol'];
66
- const keyID = 'key1';
67
- const counterparty = 'anyone';
68
- const privateKey = new index_1.PrivateKey();
69
- mockKeyDeriver.derivePrivateKey.mockReturnValue(privateKey);
70
- // First call - should invoke the underlying method
71
- const result1 = cachedKeyDeriver.derivePrivateKey(protocolID, keyID, counterparty);
72
- expect(mockKeyDeriver.derivePrivateKey).toHaveBeenCalledTimes(1);
73
- expect(result1).toBe(privateKey);
74
- // Second call with the same parameters - should retrieve from cache
75
- const result2 = cachedKeyDeriver.derivePrivateKey(protocolID, keyID, counterparty);
76
- expect(mockKeyDeriver.derivePrivateKey).toHaveBeenCalledTimes(1);
77
- expect(result2).toBe(privateKey);
78
- });
79
- it('should differentiate cache entries based on parameters', () => {
80
- const protocolID = [1, 'testprotocol'];
81
- const keyID = 'key1';
82
- const counterparty = 'anyone';
83
- const privateKey1 = new index_1.PrivateKey();
84
- const privateKey2 = new index_1.PrivateKey();
85
- mockKeyDeriver.derivePrivateKey
86
- .mockReturnValueOnce(privateKey1)
87
- .mockReturnValueOnce(privateKey2);
88
- // First call
89
- const result1 = cachedKeyDeriver.derivePrivateKey(protocolID, keyID, counterparty);
90
- expect(result1).toBe(privateKey1);
91
- // Second call with different keyID
92
- const result2 = cachedKeyDeriver.derivePrivateKey(protocolID, 'key2', counterparty);
93
- expect(result2).toBe(privateKey2);
94
- expect(mockKeyDeriver.derivePrivateKey).toHaveBeenCalledTimes(2);
95
- });
96
- });
97
- describe('deriveSymmetricKey', () => {
98
- it('should call deriveSymmetricKey on KeyDeriver and cache the result', () => {
99
- const protocolID = [2, 'testprotocol'];
100
- const keyID = 'key1';
101
- const counterparty = new index_1.PublicKey(0);
102
- const symmetricKey = new index_1.SymmetricKey(0);
103
- mockKeyDeriver.deriveSymmetricKey.mockReturnValue(symmetricKey);
104
- // First call
105
- const result1 = cachedKeyDeriver.deriveSymmetricKey(protocolID, keyID, counterparty);
106
- expect(mockKeyDeriver.deriveSymmetricKey).toHaveBeenCalledTimes(1);
107
- expect(result1).toBe(symmetricKey);
108
- // Second call with same parameters
109
- const result2 = cachedKeyDeriver.deriveSymmetricKey(protocolID, keyID, counterparty);
110
- expect(mockKeyDeriver.deriveSymmetricKey).toHaveBeenCalledTimes(1);
111
- expect(result2).toBe(symmetricKey);
112
- });
113
- it('should throw an error when KeyDeriver throws an error', () => {
114
- const protocolID = [2, 'testprotocol'];
115
- const keyID = 'key1';
116
- const counterparty = 'anyone';
117
- mockKeyDeriver.deriveSymmetricKey.mockImplementation(() => {
118
- throw new Error('Test error');
119
- });
120
- expect(() => {
121
- cachedKeyDeriver.deriveSymmetricKey(protocolID, keyID, counterparty);
122
- }).toThrow('Test error');
123
- });
124
- });
125
- describe('revealCounterpartySecret', () => {
126
- it('should call revealCounterpartySecret on KeyDeriver and cache the result', () => {
127
- const counterparty = new index_1.PublicKey(0);
128
- const secret = [1, 2, 3];
129
- mockKeyDeriver.revealCounterpartySecret.mockReturnValue(secret);
130
- // First call
131
- const result1 = cachedKeyDeriver.revealCounterpartySecret(counterparty);
132
- expect(mockKeyDeriver.revealCounterpartySecret).toHaveBeenCalledTimes(1);
133
- expect(result1).toBe(secret);
134
- // Second call with same parameters
135
- const result2 = cachedKeyDeriver.revealCounterpartySecret(counterparty);
136
- expect(mockKeyDeriver.revealCounterpartySecret).toHaveBeenCalledTimes(1);
137
- expect(result2).toBe(secret);
138
- });
139
- });
140
- describe('revealSpecificSecret', () => {
141
- it('should call revealSpecificSecret on KeyDeriver and cache the result', () => {
142
- const counterparty = 'self';
143
- const protocolID = [0, 'testprotocol'];
144
- const keyID = 'key1';
145
- const secret = [4, 5, 6];
146
- mockKeyDeriver.revealSpecificSecret.mockReturnValue(secret);
147
- // First call
148
- const result1 = cachedKeyDeriver.revealSpecificSecret(counterparty, protocolID, keyID);
149
- expect(mockKeyDeriver.revealSpecificSecret).toHaveBeenCalledTimes(1);
150
- expect(result1).toBe(secret);
151
- // Second call with same parameters
152
- const result2 = cachedKeyDeriver.revealSpecificSecret(counterparty, protocolID, keyID);
153
- expect(mockKeyDeriver.revealSpecificSecret).toHaveBeenCalledTimes(1);
154
- expect(result2).toBe(secret);
155
- });
156
- it('should handle different parameters correctly', () => {
157
- const counterparty = 'self';
158
- const protocolID1 = [0, 'protocol1'];
159
- const protocolID2 = [1, 'protocol2'];
160
- const keyID1 = 'key1';
161
- const keyID2 = 'key2';
162
- const secret1 = [4, 5, 6];
163
- const secret2 = [7, 8, 9];
164
- mockKeyDeriver.revealSpecificSecret
165
- .mockReturnValueOnce(secret1)
166
- .mockReturnValueOnce(secret2);
167
- // First call
168
- const result1 = cachedKeyDeriver.revealSpecificSecret(counterparty, protocolID1, keyID1);
169
- expect(result1).toBe(secret1);
170
- // Second call with different parameters
171
- const result2 = cachedKeyDeriver.revealSpecificSecret(counterparty, protocolID2, keyID2);
172
- expect(result2).toBe(secret2);
173
- expect(mockKeyDeriver.revealSpecificSecret).toHaveBeenCalledTimes(2);
174
- });
175
- });
176
- describe('Cache management', () => {
177
- it('should not exceed the max cache size and evict least recently used items', () => {
178
- const maxCacheSize = 5;
179
- // Create a new CachedKeyDeriver with a small cache size
180
- cachedKeyDeriver = new CachedKeyDeriver_1.default(rootKey, { maxCacheSize });
181
- cachedKeyDeriver.keyDeriver = mockKeyDeriver;
182
- const protocolID = [0, 'testprotocol'];
183
- const counterparty = 'self';
184
- // Mock return values
185
- const mockResults = [1, 2, 3, 4, 5, 6].map(n => new index_1.PublicKey(0));
186
- mockKeyDeriver.derivePublicKey
187
- .mockReturnValueOnce(mockResults[0])
188
- .mockReturnValueOnce(mockResults[1])
189
- .mockReturnValueOnce(mockResults[2])
190
- .mockReturnValueOnce(mockResults[3])
191
- .mockReturnValueOnce(mockResults[4])
192
- .mockReturnValueOnce(mockResults[5]);
193
- // Add entries to fill the cache
194
- for (let i = 0; i < maxCacheSize; i++) {
195
- cachedKeyDeriver.derivePublicKey(protocolID, `key${i}`, counterparty);
196
- }
197
- // Cache should be full now
198
- expect(cachedKeyDeriver.cache.size).toBe(maxCacheSize);
199
- // Access one of the earlier keys to make it recently used
200
- cachedKeyDeriver.derivePublicKey(protocolID, 'key0', counterparty);
201
- // Add one more entry to exceed the cache size
202
- cachedKeyDeriver.derivePublicKey(protocolID, 'key5', counterparty);
203
- // Cache size should still be maxCacheSize
204
- expect(cachedKeyDeriver.cache.size).toBe(maxCacheSize);
205
- // The least recently used item (key1) should have been evicted
206
- // The cache should contain keys: key0, key2, key3, key4, key5
207
- expect(Array.from(cachedKeyDeriver.cache.keys())).toEqual([
208
- expect.stringContaining('key2'),
209
- expect.stringContaining('key3'),
210
- expect.stringContaining('key4'),
211
- expect.stringContaining('key0'),
212
- expect.stringContaining('key5')
213
- ]);
214
- });
215
- it('should update the recentness of cache entries on access', () => {
216
- const maxCacheSize = 3;
217
- cachedKeyDeriver = new CachedKeyDeriver_1.default(rootKey, { maxCacheSize });
218
- cachedKeyDeriver.keyDeriver = mockKeyDeriver;
219
- const protocolID = [0, 'testprotocol'];
220
- const counterparty = 'self';
221
- const keys = ['key1', 'key2', 'key3'];
222
- const publicKeys = keys.map(() => new index_1.PublicKey(0));
223
- mockKeyDeriver.derivePublicKey
224
- .mockReturnValueOnce(publicKeys[0])
225
- .mockReturnValueOnce(publicKeys[1])
226
- .mockReturnValueOnce(publicKeys[2]);
227
- // Fill the cache
228
- keys.forEach(keyID => {
229
- cachedKeyDeriver.derivePublicKey(protocolID, keyID, counterparty);
230
- });
231
- // Access 'key1' to make it most recently used
232
- cachedKeyDeriver.derivePublicKey(protocolID, 'key1', counterparty);
233
- // Add a new key to trigger eviction
234
- const newKeyID = 'key4';
235
- const newPublicKey = new index_1.PublicKey(0);
236
- mockKeyDeriver.derivePublicKey.mockReturnValueOnce(newPublicKey);
237
- cachedKeyDeriver.derivePublicKey(protocolID, newKeyID, counterparty);
238
- // 'key2' should be evicted as it is the least recently used
239
- expect(Array.from(cachedKeyDeriver.cache.keys())).toEqual([
240
- expect.stringContaining('key3'),
241
- expect.stringContaining('key1'),
242
- expect.stringContaining('key4')
243
- ]);
244
- });
245
- });
246
- describe('Performance considerations', () => {
247
- it('should improve performance by caching expensive operations', () => {
248
- const protocolID = [0, 'testprotocol'];
249
- const keyID = 'key1';
250
- const counterparty = 'self';
251
- const publicKey = new index_1.PublicKey(0);
252
- // Simulate an expensive operation
253
- mockKeyDeriver.derivePublicKey.mockImplementation(() => {
254
- const start = Date.now();
255
- while (Date.now() - start < 50) { } // Busy wait for 50ms
256
- return publicKey;
257
- });
258
- const startTime = Date.now();
259
- cachedKeyDeriver.derivePublicKey(protocolID, keyID, counterparty);
260
- const firstCallDuration = Date.now() - startTime;
261
- const startTime2 = Date.now();
262
- cachedKeyDeriver.derivePublicKey(protocolID, keyID, counterparty);
263
- const secondCallDuration = Date.now() - startTime2;
264
- expect(firstCallDuration).toBeGreaterThanOrEqual(50);
265
- expect(secondCallDuration).toBeLessThan(10); // Should be much faster due to caching
266
- });
267
- });
268
- });
269
- //# sourceMappingURL=CachedKeyDeriver.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"CachedKeyDeriver.test.js","sourceRoot":"","sources":["../../../../../src/wallet/__tests/CachedKeyDeriver.test.ts"],"names":[],"mappings":"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"}