@bsv/sdk 1.4.6 → 1.4.8

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 (608) 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/overlay-tools/SHIPBroadcaster.js +1 -1
  4. package/dist/cjs/src/storage/StorageDownloader.js +5 -0
  5. package/dist/cjs/src/storage/StorageDownloader.js.map +1 -1
  6. package/dist/cjs/src/storage/StorageUploader.js +8 -4
  7. package/dist/cjs/src/storage/StorageUploader.js.map +1 -1
  8. package/dist/cjs/src/storage/__test/StorageDownloader.test.js +27 -0
  9. package/dist/cjs/src/storage/__test/StorageDownloader.test.js.map +1 -1
  10. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  11. package/dist/esm/src/overlay-tools/LookupResolver.js +1 -1
  12. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +1 -1
  13. package/dist/esm/src/storage/StorageDownloader.js +5 -0
  14. package/dist/esm/src/storage/StorageDownloader.js.map +1 -1
  15. package/dist/esm/src/storage/StorageUploader.js +8 -4
  16. package/dist/esm/src/storage/StorageUploader.js.map +1 -1
  17. package/dist/esm/src/storage/__test/StorageDownloader.test.js +27 -0
  18. package/dist/esm/src/storage/__test/StorageDownloader.test.js.map +1 -1
  19. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  20. package/dist/types/src/storage/StorageDownloader.d.ts.map +1 -1
  21. package/dist/types/src/storage/StorageUploader.d.ts.map +1 -1
  22. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  23. package/dist/umd/bundle.js +1 -1
  24. package/docs/storage.md +4 -4
  25. package/package.json +1 -1
  26. package/src/overlay-tools/LookupResolver.ts +1 -1
  27. package/src/overlay-tools/SHIPBroadcaster.ts +1 -1
  28. package/src/overlay-tools/__tests/LookupResolver.test.ts +16 -16
  29. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +4 -4
  30. package/src/storage/StorageDownloader.ts +7 -0
  31. package/src/storage/StorageUploader.ts +11 -4
  32. package/src/storage/__test/StorageDownloader.test.ts +35 -1
  33. package/dist/cjs/src/auth/__tests/Peer.test.js +0 -446
  34. package/dist/cjs/src/auth/__tests/Peer.test.js.map +0 -1
  35. package/dist/cjs/src/auth/__tests/SessionManager.test.js +0 -69
  36. package/dist/cjs/src/auth/__tests/SessionManager.test.js.map +0 -1
  37. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js +0 -182
  38. package/dist/cjs/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  39. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  40. package/dist/cjs/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  41. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  42. package/dist/cjs/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  43. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js +0 -101
  44. package/dist/cjs/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  45. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  46. package/dist/cjs/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  47. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  48. package/dist/cjs/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  49. package/dist/cjs/src/auth/utils/certificateHelpers.js +0 -51
  50. package/dist/cjs/src/auth/utils/certificateHelpers.js.map +0 -1
  51. package/dist/cjs/src/compat/__tests/BSM.test.js +0 -69
  52. package/dist/cjs/src/compat/__tests/BSM.test.js.map +0 -1
  53. package/dist/cjs/src/compat/__tests/ECIES.test.js +0 -115
  54. package/dist/cjs/src/compat/__tests/ECIES.test.js.map +0 -1
  55. package/dist/cjs/src/compat/__tests/HD.test.js +0 -336
  56. package/dist/cjs/src/compat/__tests/HD.test.js.map +0 -1
  57. package/dist/cjs/src/compat/__tests/Mnemonic.test.js +0 -150
  58. package/dist/cjs/src/compat/__tests/Mnemonic.test.js.map +0 -1
  59. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js +0 -175
  60. package/dist/cjs/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  61. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js +0 -57
  62. package/dist/cjs/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  63. package/dist/cjs/src/messages/__tests/SignedMessage.test.js +0 -52
  64. package/dist/cjs/src/messages/__tests/SignedMessage.test.js.map +0 -1
  65. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  66. package/dist/cjs/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  67. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  68. package/dist/cjs/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  69. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  70. package/dist/cjs/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  71. package/dist/cjs/src/primitives/__tests/AESGCM.test.js +0 -248
  72. package/dist/cjs/src/primitives/__tests/AESGCM.test.js.map +0 -1
  73. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  74. package/dist/cjs/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  75. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  76. package/dist/cjs/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  77. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  78. package/dist/cjs/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  79. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  80. package/dist/cjs/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  81. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  82. package/dist/cjs/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  83. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  84. package/dist/cjs/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  85. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  86. package/dist/cjs/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  87. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  88. package/dist/cjs/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  89. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  90. package/dist/cjs/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  91. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js +0 -145
  92. package/dist/cjs/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  93. package/dist/cjs/src/primitives/__tests/DRBG.test.js +0 -22
  94. package/dist/cjs/src/primitives/__tests/DRBG.test.js.map +0 -1
  95. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js +0 -170
  96. package/dist/cjs/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  97. package/dist/cjs/src/primitives/__tests/ECDH.test.js +0 -34
  98. package/dist/cjs/src/primitives/__tests/ECDH.test.js.map +0 -1
  99. package/dist/cjs/src/primitives/__tests/ECDSA.test.js +0 -89
  100. package/dist/cjs/src/primitives/__tests/ECDSA.test.js.map +0 -1
  101. package/dist/cjs/src/primitives/__tests/HMAC.test.js +0 -60
  102. package/dist/cjs/src/primitives/__tests/HMAC.test.js.map +0 -1
  103. package/dist/cjs/src/primitives/__tests/Hash.test.js +0 -159
  104. package/dist/cjs/src/primitives/__tests/Hash.test.js.map +0 -1
  105. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  106. package/dist/cjs/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  107. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  108. package/dist/cjs/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  109. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js +0 -90
  110. package/dist/cjs/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  111. package/dist/cjs/src/primitives/__tests/PublicKey.test.js +0 -83
  112. package/dist/cjs/src/primitives/__tests/PublicKey.test.js.map +0 -1
  113. package/dist/cjs/src/primitives/__tests/Random.test.js +0 -19
  114. package/dist/cjs/src/primitives/__tests/Random.test.js.map +0 -1
  115. package/dist/cjs/src/primitives/__tests/Reader.test.js +0 -282
  116. package/dist/cjs/src/primitives/__tests/Reader.test.js.map +0 -1
  117. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js +0 -224
  118. package/dist/cjs/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  119. package/dist/cjs/src/primitives/__tests/Schnorr.test.js +0 -213
  120. package/dist/cjs/src/primitives/__tests/Schnorr.test.js.map +0 -1
  121. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js +0 -51
  122. package/dist/cjs/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  123. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  124. package/dist/cjs/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  125. package/dist/cjs/src/primitives/__tests/Writer.test.js +0 -176
  126. package/dist/cjs/src/primitives/__tests/Writer.test.js.map +0 -1
  127. package/dist/cjs/src/primitives/__tests/bug-31.test.js +0 -32
  128. package/dist/cjs/src/primitives/__tests/bug-31.test.js.map +0 -1
  129. package/dist/cjs/src/primitives/__tests/sighash.vectors.js +0 -3506
  130. package/dist/cjs/src/primitives/__tests/sighash.vectors.js.map +0 -1
  131. package/dist/cjs/src/primitives/__tests/utils.test.js +0 -110
  132. package/dist/cjs/src/primitives/__tests/utils.test.js.map +0 -1
  133. package/dist/cjs/src/script/__tests/Script.test.js +0 -347
  134. package/dist/cjs/src/script/__tests/Script.test.js.map +0 -1
  135. package/dist/cjs/src/script/__tests/Spend.test.js +0 -282
  136. package/dist/cjs/src/script/__tests/Spend.test.js.map +0 -1
  137. package/dist/cjs/src/script/__tests/SpendComplex.test.js +0 -52
  138. package/dist/cjs/src/script/__tests/SpendComplex.test.js.map +0 -1
  139. package/dist/cjs/src/script/__tests/script.invalid.vectors.js +0 -2370
  140. package/dist/cjs/src/script/__tests/script.invalid.vectors.js.map +0 -1
  141. package/dist/cjs/src/script/__tests/script.valid.vectors.js +0 -1181
  142. package/dist/cjs/src/script/__tests/script.valid.vectors.js.map +0 -1
  143. package/dist/cjs/src/script/__tests/spend.valid.vectors.js +0 -2298
  144. package/dist/cjs/src/script/__tests/spend.valid.vectors.js.map +0 -1
  145. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js +0 -161
  146. package/dist/cjs/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  147. package/dist/cjs/src/totp/__tests/totp.test.js +0 -67
  148. package/dist/cjs/src/totp/__tests/totp.test.js.map +0 -1
  149. package/dist/cjs/src/transaction/__tests/Beef.test.js +0 -393
  150. package/dist/cjs/src/transaction/__tests/Beef.test.js.map +0 -1
  151. package/dist/cjs/src/transaction/__tests/MerklePath.test.js +0 -209
  152. package/dist/cjs/src/transaction/__tests/MerklePath.test.js.map +0 -1
  153. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  154. package/dist/cjs/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  155. package/dist/cjs/src/transaction/__tests/Transaction.test.js +0 -1073
  156. package/dist/cjs/src/transaction/__tests/Transaction.test.js.map +0 -1
  157. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js +0 -7
  158. package/dist/cjs/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  159. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  160. package/dist/cjs/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  161. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js +0 -7
  162. package/dist/cjs/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  163. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  164. package/dist/cjs/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  165. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js +0 -296
  166. package/dist/cjs/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  167. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  168. package/dist/cjs/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  169. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  170. package/dist/cjs/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  171. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  172. package/dist/cjs/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  173. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js +0 -39
  174. package/dist/cjs/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  175. package/dist/cjs/src/wallet/WalletSigner.js +0 -260
  176. package/dist/cjs/src/wallet/WalletSigner.js.map +0 -1
  177. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  178. package/dist/cjs/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  179. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js +0 -114
  180. package/dist/cjs/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  181. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js +0 -475
  182. package/dist/cjs/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  183. package/dist/cjs/src/wallet/createActionSdk.js +0 -230
  184. package/dist/cjs/src/wallet/createActionSdk.js.map +0 -1
  185. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  186. package/dist/cjs/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  187. package/dist/cjs/src/wallet/sdk/CertOps.js +0 -181
  188. package/dist/cjs/src/wallet/sdk/CertOps.js.map +0 -1
  189. package/dist/cjs/src/wallet/sdk/Certificate.js +0 -162
  190. package/dist/cjs/src/wallet/sdk/Certificate.js.map +0 -1
  191. package/dist/cjs/src/wallet/sdk/KeyDeriver.js +0 -176
  192. package/dist/cjs/src/wallet/sdk/KeyDeriver.js.map +0 -1
  193. package/dist/cjs/src/wallet/sdk/ProtoWallet.js +0 -75
  194. package/dist/cjs/src/wallet/sdk/ProtoWallet.js.map +0 -1
  195. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js +0 -3
  196. package/dist/cjs/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  197. package/dist/cjs/src/wallet/sdk/WERR_errors.js +0 -107
  198. package/dist/cjs/src/wallet/sdk/WERR_errors.js.map +0 -1
  199. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js +0 -3
  200. package/dist/cjs/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  201. package/dist/cjs/src/wallet/sdk/WalletCrypto.js +0 -171
  202. package/dist/cjs/src/wallet/sdk/WalletCrypto.js.map +0 -1
  203. package/dist/cjs/src/wallet/sdk/WalletError.js +0 -103
  204. package/dist/cjs/src/wallet/sdk/WalletError.js.map +0 -1
  205. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js +0 -3
  206. package/dist/cjs/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  207. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js +0 -3
  208. package/dist/cjs/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  209. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js +0 -3
  210. package/dist/cjs/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  211. package/dist/cjs/src/wallet/sdk/index.js +0 -31
  212. package/dist/cjs/src/wallet/sdk/index.js.map +0 -1
  213. package/dist/cjs/src/wallet/sdk/types.js +0 -11
  214. package/dist/cjs/src/wallet/sdk/types.js.map +0 -1
  215. package/dist/cjs/src/wallet/sdk/validationHelpers.js +0 -601
  216. package/dist/cjs/src/wallet/sdk/validationHelpers.js.map +0 -1
  217. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  218. package/dist/cjs/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  219. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js +0 -579
  220. package/dist/cjs/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  221. package/dist/cjs/src/wallet/utilityHelpers.js +0 -305
  222. package/dist/cjs/src/wallet/utilityHelpers.js.map +0 -1
  223. package/dist/cjs/src/wallet/validationHelpers.js +0 -601
  224. package/dist/cjs/src/wallet/validationHelpers.js.map +0 -1
  225. package/dist/esm/src/auth/__tests/Peer.test.js +0 -448
  226. package/dist/esm/src/auth/__tests/Peer.test.js.map +0 -1
  227. package/dist/esm/src/auth/__tests/SessionManager.test.js +0 -69
  228. package/dist/esm/src/auth/__tests/SessionManager.test.js.map +0 -1
  229. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js +0 -182
  230. package/dist/esm/src/auth/certificates/__tests/Certificate.test.js.map +0 -1
  231. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js +0 -184
  232. package/dist/esm/src/auth/certificates/__tests/MasterCertificate.test.js.map +0 -1
  233. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js +0 -75
  234. package/dist/esm/src/auth/certificates/__tests/VerifiableCertificate.test.js.map +0 -1
  235. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js +0 -101
  236. package/dist/esm/src/auth/utils/__tests/cryptononce.test.js.map +0 -1
  237. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js +0 -106
  238. package/dist/esm/src/auth/utils/__tests/getVerifiableCertificates.test.js.map +0 -1
  239. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js +0 -111
  240. package/dist/esm/src/auth/utils/__tests/validateCertificates.test.js.map +0 -1
  241. package/dist/esm/src/auth/utils/certificateHelpers.js +0 -47
  242. package/dist/esm/src/auth/utils/certificateHelpers.js.map +0 -1
  243. package/dist/esm/src/compat/__tests/BSM.test.js +0 -69
  244. package/dist/esm/src/compat/__tests/BSM.test.js.map +0 -1
  245. package/dist/esm/src/compat/__tests/ECIES.test.js +0 -115
  246. package/dist/esm/src/compat/__tests/ECIES.test.js.map +0 -1
  247. package/dist/esm/src/compat/__tests/HD.test.js +0 -336
  248. package/dist/esm/src/compat/__tests/HD.test.js.map +0 -1
  249. package/dist/esm/src/compat/__tests/Mnemonic.test.js +0 -150
  250. package/dist/esm/src/compat/__tests/Mnemonic.test.js.map +0 -1
  251. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js +0 -175
  252. package/dist/esm/src/compat/__tests/Mnemonic.vectors.js.map +0 -1
  253. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js +0 -57
  254. package/dist/esm/src/messages/__tests/EncryptedMessage.test.js.map +0 -1
  255. package/dist/esm/src/messages/__tests/SignedMessage.test.js +0 -52
  256. package/dist/esm/src/messages/__tests/SignedMessage.test.js.map +0 -1
  257. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js +0 -1471
  258. package/dist/esm/src/overlay-tools/__tests/LookupResolver.test.js.map +0 -1
  259. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js +0 -78
  260. package/dist/esm/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.js.map +0 -1
  261. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js +0 -933
  262. package/dist/esm/src/overlay-tools/__tests/SHIPBroadcaster.test.js.map +0 -1
  263. package/dist/esm/src/primitives/__tests/AESGCM.test.js +0 -248
  264. package/dist/esm/src/primitives/__tests/AESGCM.test.js.map +0 -1
  265. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js +0 -36
  266. package/dist/esm/src/primitives/__tests/BRC42.private.vectors.js.map +0 -1
  267. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js +0 -36
  268. package/dist/esm/src/primitives/__tests/BRC42.public.vectors.js.map +0 -1
  269. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js +0 -501
  270. package/dist/esm/src/primitives/__tests/BigNumber.arithmatic.test.js.map +0 -1
  271. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js +0 -185
  272. package/dist/esm/src/primitives/__tests/BigNumber.binary.test.js.map +0 -1
  273. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js +0 -149
  274. package/dist/esm/src/primitives/__tests/BigNumber.constructor.test.js.map +0 -1
  275. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js +0 -23
  276. package/dist/esm/src/primitives/__tests/BigNumber.dhGroup.test.js.map +0 -1
  277. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js +0 -268
  278. package/dist/esm/src/primitives/__tests/BigNumber.fixtures.js.map +0 -1
  279. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js +0 -147
  280. package/dist/esm/src/primitives/__tests/BigNumber.serializers.test.js.map +0 -1
  281. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js +0 -322
  282. package/dist/esm/src/primitives/__tests/BigNumber.utils.test.js.map +0 -1
  283. package/dist/esm/src/primitives/__tests/Curve.unit.test.js +0 -145
  284. package/dist/esm/src/primitives/__tests/Curve.unit.test.js.map +0 -1
  285. package/dist/esm/src/primitives/__tests/DRBG.test.js +0 -22
  286. package/dist/esm/src/primitives/__tests/DRBG.test.js.map +0 -1
  287. package/dist/esm/src/primitives/__tests/DRBG.vectors.js +0 -170
  288. package/dist/esm/src/primitives/__tests/DRBG.vectors.js.map +0 -1
  289. package/dist/esm/src/primitives/__tests/ECDH.test.js +0 -34
  290. package/dist/esm/src/primitives/__tests/ECDH.test.js.map +0 -1
  291. package/dist/esm/src/primitives/__tests/ECDSA.test.js +0 -89
  292. package/dist/esm/src/primitives/__tests/ECDSA.test.js.map +0 -1
  293. package/dist/esm/src/primitives/__tests/HMAC.test.js +0 -60
  294. package/dist/esm/src/primitives/__tests/HMAC.test.js.map +0 -1
  295. package/dist/esm/src/primitives/__tests/Hash.test.js +0 -159
  296. package/dist/esm/src/primitives/__tests/Hash.test.js.map +0 -1
  297. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js +0 -122
  298. package/dist/esm/src/primitives/__tests/PBKDF2.vectors.js.map +0 -1
  299. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js +0 -105
  300. package/dist/esm/src/primitives/__tests/PrivateKey.split.test.js.map +0 -1
  301. package/dist/esm/src/primitives/__tests/PrivateKey.test.js +0 -90
  302. package/dist/esm/src/primitives/__tests/PrivateKey.test.js.map +0 -1
  303. package/dist/esm/src/primitives/__tests/PublicKey.test.js +0 -83
  304. package/dist/esm/src/primitives/__tests/PublicKey.test.js.map +0 -1
  305. package/dist/esm/src/primitives/__tests/Random.test.js +0 -19
  306. package/dist/esm/src/primitives/__tests/Random.test.js.map +0 -1
  307. package/dist/esm/src/primitives/__tests/Reader.test.js +0 -282
  308. package/dist/esm/src/primitives/__tests/Reader.test.js.map +0 -1
  309. package/dist/esm/src/primitives/__tests/ReductionContext.test.js +0 -223
  310. package/dist/esm/src/primitives/__tests/ReductionContext.test.js.map +0 -1
  311. package/dist/esm/src/primitives/__tests/Schnorr.test.js +0 -213
  312. package/dist/esm/src/primitives/__tests/Schnorr.test.js.map +0 -1
  313. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js +0 -51
  314. package/dist/esm/src/primitives/__tests/SymmetricKey.test.js.map +0 -1
  315. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js +0 -43
  316. package/dist/esm/src/primitives/__tests/SymmetricKey.vectors.js.map +0 -1
  317. package/dist/esm/src/primitives/__tests/Writer.test.js +0 -176
  318. package/dist/esm/src/primitives/__tests/Writer.test.js.map +0 -1
  319. package/dist/esm/src/primitives/__tests/bug-31.test.js +0 -32
  320. package/dist/esm/src/primitives/__tests/bug-31.test.js.map +0 -1
  321. package/dist/esm/src/primitives/__tests/sighash.vectors.js +0 -3506
  322. package/dist/esm/src/primitives/__tests/sighash.vectors.js.map +0 -1
  323. package/dist/esm/src/primitives/__tests/utils.test.js +0 -110
  324. package/dist/esm/src/primitives/__tests/utils.test.js.map +0 -1
  325. package/dist/esm/src/script/__tests/Script.test.js +0 -347
  326. package/dist/esm/src/script/__tests/Script.test.js.map +0 -1
  327. package/dist/esm/src/script/__tests/Spend.test.js +0 -282
  328. package/dist/esm/src/script/__tests/Spend.test.js.map +0 -1
  329. package/dist/esm/src/script/__tests/SpendComplex.test.js +0 -51
  330. package/dist/esm/src/script/__tests/SpendComplex.test.js.map +0 -1
  331. package/dist/esm/src/script/__tests/script.invalid.vectors.js +0 -2370
  332. package/dist/esm/src/script/__tests/script.invalid.vectors.js.map +0 -1
  333. package/dist/esm/src/script/__tests/script.valid.vectors.js +0 -1181
  334. package/dist/esm/src/script/__tests/script.valid.vectors.js.map +0 -1
  335. package/dist/esm/src/script/__tests/spend.valid.vectors.js +0 -2298
  336. package/dist/esm/src/script/__tests/spend.valid.vectors.js.map +0 -1
  337. package/dist/esm/src/script/templates/__tests/PushDrop.test.js +0 -161
  338. package/dist/esm/src/script/templates/__tests/PushDrop.test.js.map +0 -1
  339. package/dist/esm/src/totp/__tests/totp.test.js +0 -67
  340. package/dist/esm/src/totp/__tests/totp.test.js.map +0 -1
  341. package/dist/esm/src/transaction/__tests/Beef.test.js +0 -393
  342. package/dist/esm/src/transaction/__tests/Beef.test.js.map +0 -1
  343. package/dist/esm/src/transaction/__tests/MerklePath.test.js +0 -209
  344. package/dist/esm/src/transaction/__tests/MerklePath.test.js.map +0 -1
  345. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js +0 -219
  346. package/dist/esm/src/transaction/__tests/Transaction.benchmarks.test.js.map +0 -1
  347. package/dist/esm/src/transaction/__tests/Transaction.test.js +0 -1072
  348. package/dist/esm/src/transaction/__tests/Transaction.test.js.map +0 -1
  349. package/dist/esm/src/transaction/__tests/bigtx.vectors.js +0 -7
  350. package/dist/esm/src/transaction/__tests/bigtx.vectors.js.map +0 -1
  351. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js +0 -11
  352. package/dist/esm/src/transaction/__tests/bump.invalid.vectors.js.map +0 -1
  353. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js +0 -7
  354. package/dist/esm/src/transaction/__tests/bump.valid.vectors.js.map +0 -1
  355. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js +0 -230
  356. package/dist/esm/src/transaction/__tests/tx.invalid.vectors.js.map +0 -1
  357. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js +0 -296
  358. package/dist/esm/src/transaction/__tests/tx.valid.vectors.js.map +0 -1
  359. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js +0 -246
  360. package/dist/esm/src/transaction/broadcasters/__tests/ARC.test.js.map +0 -1
  361. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js +0 -148
  362. package/dist/esm/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.js.map +0 -1
  363. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js +0 -155
  364. package/dist/esm/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.js.map +0 -1
  365. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js +0 -37
  366. package/dist/esm/src/wallet/ScriptTemplateSABPPP.js.map +0 -1
  367. package/dist/esm/src/wallet/WalletSigner.js +0 -263
  368. package/dist/esm/src/wallet/WalletSigner.js.map +0 -1
  369. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js +0 -269
  370. package/dist/esm/src/wallet/__tests/CachedKeyDeriver.test.js.map +0 -1
  371. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js +0 -113
  372. package/dist/esm/src/wallet/__tests/KeyDeriver.test.js.map +0 -1
  373. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js +0 -475
  374. package/dist/esm/src/wallet/__tests/ProtoWallet.test.js.map +0 -1
  375. package/dist/esm/src/wallet/createActionSdk.js +0 -223
  376. package/dist/esm/src/wallet/createActionSdk.js.map +0 -1
  377. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js +0 -174
  378. package/dist/esm/src/wallet/sdk/CachedKeyDeriver.js.map +0 -1
  379. package/dist/esm/src/wallet/sdk/CertOps.js +0 -181
  380. package/dist/esm/src/wallet/sdk/CertOps.js.map +0 -1
  381. package/dist/esm/src/wallet/sdk/Certificate.js +0 -186
  382. package/dist/esm/src/wallet/sdk/Certificate.js.map +0 -1
  383. package/dist/esm/src/wallet/sdk/KeyDeriver.js +0 -174
  384. package/dist/esm/src/wallet/sdk/KeyDeriver.js.map +0 -1
  385. package/dist/esm/src/wallet/sdk/ProtoWallet.js +0 -71
  386. package/dist/esm/src/wallet/sdk/ProtoWallet.js.map +0 -1
  387. package/dist/esm/src/wallet/sdk/StorageSyncReader.js +0 -2
  388. package/dist/esm/src/wallet/sdk/StorageSyncReader.js.map +0 -1
  389. package/dist/esm/src/wallet/sdk/WERR_errors.js +0 -99
  390. package/dist/esm/src/wallet/sdk/WERR_errors.js.map +0 -1
  391. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js +0 -2
  392. package/dist/esm/src/wallet/sdk/Wallet.interfaces.js.map +0 -1
  393. package/dist/esm/src/wallet/sdk/WalletCrypto.js +0 -168
  394. package/dist/esm/src/wallet/sdk/WalletCrypto.js.map +0 -1
  395. package/dist/esm/src/wallet/sdk/WalletError.js +0 -100
  396. package/dist/esm/src/wallet/sdk/WalletError.js.map +0 -1
  397. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js +0 -2
  398. package/dist/esm/src/wallet/sdk/WalletServices.interfaces.js.map +0 -1
  399. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js +0 -2
  400. package/dist/esm/src/wallet/sdk/WalletSigner.interfaces.js.map +0 -1
  401. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js +0 -2
  402. package/dist/esm/src/wallet/sdk/WalletStorage.interfaces.js.map +0 -1
  403. package/dist/esm/src/wallet/sdk/index.js +0 -15
  404. package/dist/esm/src/wallet/sdk/index.js.map +0 -1
  405. package/dist/esm/src/wallet/sdk/types.js +0 -8
  406. package/dist/esm/src/wallet/sdk/types.js.map +0 -1
  407. package/dist/esm/src/wallet/sdk/validationHelpers.js +0 -566
  408. package/dist/esm/src/wallet/sdk/validationHelpers.js.map +0 -1
  409. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js +0 -1962
  410. package/dist/esm/src/wallet/substrates/__tests/WalletWire.integration.test.js.map +0 -1
  411. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js +0 -579
  412. package/dist/esm/src/wallet/substrates/__tests/XDM.test.js.map +0 -1
  413. package/dist/esm/src/wallet/utilityHelpers.js +0 -275
  414. package/dist/esm/src/wallet/utilityHelpers.js.map +0 -1
  415. package/dist/esm/src/wallet/validationHelpers.js +0 -566
  416. package/dist/esm/src/wallet/validationHelpers.js.map +0 -1
  417. package/dist/types/src/auth/__tests/Peer.test.d.ts +0 -2
  418. package/dist/types/src/auth/__tests/Peer.test.d.ts.map +0 -1
  419. package/dist/types/src/auth/__tests/SessionManager.test.d.ts +0 -2
  420. package/dist/types/src/auth/__tests/SessionManager.test.d.ts.map +0 -1
  421. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts +0 -2
  422. package/dist/types/src/auth/certificates/__tests/Certificate.test.d.ts.map +0 -1
  423. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts +0 -2
  424. package/dist/types/src/auth/certificates/__tests/MasterCertificate.test.d.ts.map +0 -1
  425. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts +0 -2
  426. package/dist/types/src/auth/certificates/__tests/VerifiableCertificate.test.d.ts.map +0 -1
  427. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts +0 -2
  428. package/dist/types/src/auth/utils/__tests/cryptononce.test.d.ts.map +0 -1
  429. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts +0 -2
  430. package/dist/types/src/auth/utils/__tests/getVerifiableCertificates.test.d.ts.map +0 -1
  431. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts +0 -2
  432. package/dist/types/src/auth/utils/__tests/validateCertificates.test.d.ts.map +0 -1
  433. package/dist/types/src/auth/utils/certificateHelpers.d.ts +0 -26
  434. package/dist/types/src/auth/utils/certificateHelpers.d.ts.map +0 -1
  435. package/dist/types/src/compat/__tests/BSM.test.d.ts +0 -2
  436. package/dist/types/src/compat/__tests/BSM.test.d.ts.map +0 -1
  437. package/dist/types/src/compat/__tests/ECIES.test.d.ts +0 -2
  438. package/dist/types/src/compat/__tests/ECIES.test.d.ts.map +0 -1
  439. package/dist/types/src/compat/__tests/HD.test.d.ts +0 -2
  440. package/dist/types/src/compat/__tests/HD.test.d.ts.map +0 -1
  441. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts +0 -2
  442. package/dist/types/src/compat/__tests/Mnemonic.test.d.ts.map +0 -1
  443. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts +0 -11
  444. package/dist/types/src/compat/__tests/Mnemonic.vectors.d.ts.map +0 -1
  445. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts +0 -2
  446. package/dist/types/src/messages/__tests/EncryptedMessage.test.d.ts.map +0 -1
  447. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts +0 -2
  448. package/dist/types/src/messages/__tests/SignedMessage.test.d.ts.map +0 -1
  449. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts +0 -2
  450. package/dist/types/src/overlay-tools/__tests/LookupResolver.test.d.ts.map +0 -1
  451. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts +0 -2
  452. package/dist/types/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.d.ts.map +0 -1
  453. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts +0 -2
  454. package/dist/types/src/overlay-tools/__tests/SHIPBroadcaster.test.d.ts.map +0 -1
  455. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts +0 -2
  456. package/dist/types/src/primitives/__tests/AESGCM.test.d.ts.map +0 -1
  457. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts +0 -8
  458. package/dist/types/src/primitives/__tests/BRC42.private.vectors.d.ts.map +0 -1
  459. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts +0 -8
  460. package/dist/types/src/primitives/__tests/BRC42.public.vectors.d.ts.map +0 -1
  461. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts +0 -2
  462. package/dist/types/src/primitives/__tests/BigNumber.arithmatic.test.d.ts.map +0 -1
  463. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts +0 -2
  464. package/dist/types/src/primitives/__tests/BigNumber.binary.test.d.ts.map +0 -1
  465. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts +0 -2
  466. package/dist/types/src/primitives/__tests/BigNumber.constructor.test.d.ts.map +0 -1
  467. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts +0 -2
  468. package/dist/types/src/primitives/__tests/BigNumber.dhGroup.test.d.ts.map +0 -1
  469. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts +0 -15
  470. package/dist/types/src/primitives/__tests/BigNumber.fixtures.d.ts.map +0 -1
  471. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts +0 -2
  472. package/dist/types/src/primitives/__tests/BigNumber.serializers.test.d.ts.map +0 -1
  473. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts +0 -2
  474. package/dist/types/src/primitives/__tests/BigNumber.utils.test.d.ts.map +0 -1
  475. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts +0 -2
  476. package/dist/types/src/primitives/__tests/Curve.unit.test.d.ts.map +0 -1
  477. package/dist/types/src/primitives/__tests/DRBG.test.d.ts +0 -2
  478. package/dist/types/src/primitives/__tests/DRBG.test.d.ts.map +0 -1
  479. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts +0 -10
  480. package/dist/types/src/primitives/__tests/DRBG.vectors.d.ts.map +0 -1
  481. package/dist/types/src/primitives/__tests/ECDH.test.d.ts +0 -2
  482. package/dist/types/src/primitives/__tests/ECDH.test.d.ts.map +0 -1
  483. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts +0 -2
  484. package/dist/types/src/primitives/__tests/ECDSA.test.d.ts.map +0 -1
  485. package/dist/types/src/primitives/__tests/HMAC.test.d.ts +0 -2
  486. package/dist/types/src/primitives/__tests/HMAC.test.d.ts.map +0 -1
  487. package/dist/types/src/primitives/__tests/Hash.test.d.ts +0 -2
  488. package/dist/types/src/primitives/__tests/Hash.test.d.ts.map +0 -1
  489. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts +0 -68
  490. package/dist/types/src/primitives/__tests/PBKDF2.vectors.d.ts.map +0 -1
  491. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts +0 -2
  492. package/dist/types/src/primitives/__tests/PrivateKey.split.test.d.ts.map +0 -1
  493. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts +0 -2
  494. package/dist/types/src/primitives/__tests/PrivateKey.test.d.ts.map +0 -1
  495. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts +0 -2
  496. package/dist/types/src/primitives/__tests/PublicKey.test.d.ts.map +0 -1
  497. package/dist/types/src/primitives/__tests/Random.test.d.ts +0 -2
  498. package/dist/types/src/primitives/__tests/Random.test.d.ts.map +0 -1
  499. package/dist/types/src/primitives/__tests/Reader.test.d.ts +0 -2
  500. package/dist/types/src/primitives/__tests/Reader.test.d.ts.map +0 -1
  501. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts +0 -2
  502. package/dist/types/src/primitives/__tests/ReductionContext.test.d.ts.map +0 -1
  503. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts +0 -2
  504. package/dist/types/src/primitives/__tests/Schnorr.test.d.ts.map +0 -1
  505. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts +0 -2
  506. package/dist/types/src/primitives/__tests/SymmetricKey.test.d.ts.map +0 -1
  507. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts +0 -20
  508. package/dist/types/src/primitives/__tests/SymmetricKey.vectors.d.ts.map +0 -1
  509. package/dist/types/src/primitives/__tests/Writer.test.d.ts +0 -2
  510. package/dist/types/src/primitives/__tests/Writer.test.d.ts.map +0 -1
  511. package/dist/types/src/primitives/__tests/bug-31.test.d.ts +0 -2
  512. package/dist/types/src/primitives/__tests/bug-31.test.d.ts.map +0 -1
  513. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts +0 -3
  514. package/dist/types/src/primitives/__tests/sighash.vectors.d.ts.map +0 -1
  515. package/dist/types/src/primitives/__tests/utils.test.d.ts +0 -2
  516. package/dist/types/src/primitives/__tests/utils.test.d.ts.map +0 -1
  517. package/dist/types/src/script/__tests/Script.test.d.ts +0 -2
  518. package/dist/types/src/script/__tests/Script.test.d.ts.map +0 -1
  519. package/dist/types/src/script/__tests/Spend.test.d.ts +0 -2
  520. package/dist/types/src/script/__tests/Spend.test.d.ts.map +0 -1
  521. package/dist/types/src/script/__tests/SpendComplex.test.d.ts +0 -2
  522. package/dist/types/src/script/__tests/SpendComplex.test.d.ts.map +0 -1
  523. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts +0 -3
  524. package/dist/types/src/script/__tests/script.invalid.vectors.d.ts.map +0 -1
  525. package/dist/types/src/script/__tests/script.valid.vectors.d.ts +0 -3
  526. package/dist/types/src/script/__tests/script.valid.vectors.d.ts.map +0 -1
  527. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts +0 -3
  528. package/dist/types/src/script/__tests/spend.valid.vectors.d.ts.map +0 -1
  529. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts +0 -2
  530. package/dist/types/src/script/templates/__tests/PushDrop.test.d.ts.map +0 -1
  531. package/dist/types/src/totp/__tests/totp.test.d.ts +0 -2
  532. package/dist/types/src/totp/__tests/totp.test.d.ts.map +0 -1
  533. package/dist/types/src/transaction/__tests/Beef.test.d.ts +0 -2
  534. package/dist/types/src/transaction/__tests/Beef.test.d.ts.map +0 -1
  535. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts +0 -2
  536. package/dist/types/src/transaction/__tests/MerklePath.test.d.ts.map +0 -1
  537. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts +0 -2
  538. package/dist/types/src/transaction/__tests/Transaction.benchmarks.test.d.ts.map +0 -1
  539. package/dist/types/src/transaction/__tests/Transaction.test.d.ts +0 -2
  540. package/dist/types/src/transaction/__tests/Transaction.test.d.ts.map +0 -1
  541. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts +0 -6
  542. package/dist/types/src/transaction/__tests/bigtx.vectors.d.ts.map +0 -1
  543. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts +0 -6
  544. package/dist/types/src/transaction/__tests/bump.invalid.vectors.d.ts.map +0 -1
  545. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts +0 -5
  546. package/dist/types/src/transaction/__tests/bump.valid.vectors.d.ts.map +0 -1
  547. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts +0 -3
  548. package/dist/types/src/transaction/__tests/tx.invalid.vectors.d.ts.map +0 -1
  549. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts +0 -3
  550. package/dist/types/src/transaction/__tests/tx.valid.vectors.d.ts.map +0 -1
  551. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts +0 -2
  552. package/dist/types/src/transaction/broadcasters/__tests/ARC.test.d.ts.map +0 -1
  553. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts +0 -2
  554. package/dist/types/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.d.ts.map +0 -1
  555. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts +0 -2
  556. package/dist/types/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.d.ts.map +0 -1
  557. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts +0 -25
  558. package/dist/types/src/wallet/ScriptTemplateSABPPP.d.ts.map +0 -1
  559. package/dist/types/src/wallet/WalletSigner.d.ts +0 -110
  560. package/dist/types/src/wallet/WalletSigner.d.ts.map +0 -1
  561. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts +0 -2
  562. package/dist/types/src/wallet/__tests/CachedKeyDeriver.test.d.ts.map +0 -1
  563. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts +0 -2
  564. package/dist/types/src/wallet/__tests/KeyDeriver.test.d.ts.map +0 -1
  565. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts +0 -2
  566. package/dist/types/src/wallet/__tests/ProtoWallet.test.d.ts.map +0 -1
  567. package/dist/types/src/wallet/createActionSdk.d.ts +0 -8
  568. package/dist/types/src/wallet/createActionSdk.d.ts.map +0 -1
  569. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts +0 -94
  570. package/dist/types/src/wallet/sdk/CachedKeyDeriver.d.ts.map +0 -1
  571. package/dist/types/src/wallet/sdk/CertOps.d.ts +0 -63
  572. package/dist/types/src/wallet/sdk/CertOps.d.ts.map +0 -1
  573. package/dist/types/src/wallet/sdk/Certificate.d.ts +0 -77
  574. package/dist/types/src/wallet/sdk/Certificate.d.ts.map +0 -1
  575. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts +0 -128
  576. package/dist/types/src/wallet/sdk/KeyDeriver.d.ts.map +0 -1
  577. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts +0 -30
  578. package/dist/types/src/wallet/sdk/ProtoWallet.d.ts.map +0 -1
  579. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts +0 -102
  580. package/dist/types/src/wallet/sdk/StorageSyncReader.d.ts.map +0 -1
  581. package/dist/types/src/wallet/sdk/WERR_errors.d.ts +0 -84
  582. package/dist/types/src/wallet/sdk/WERR_errors.d.ts.map +0 -1
  583. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts +0 -1036
  584. package/dist/types/src/wallet/sdk/Wallet.interfaces.d.ts.map +0 -1
  585. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts +0 -31
  586. package/dist/types/src/wallet/sdk/WalletCrypto.d.ts.map +0 -1
  587. package/dist/types/src/wallet/sdk/WalletError.d.ts +0 -46
  588. package/dist/types/src/wallet/sdk/WalletError.d.ts.map +0 -1
  589. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts +0 -293
  590. package/dist/types/src/wallet/sdk/WalletServices.interfaces.d.ts.map +0 -1
  591. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts +0 -48
  592. package/dist/types/src/wallet/sdk/WalletSigner.interfaces.d.ts.map +0 -1
  593. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts +0 -296
  594. package/dist/types/src/wallet/sdk/WalletStorage.interfaces.d.ts.map +0 -1
  595. package/dist/types/src/wallet/sdk/index.d.ts +0 -15
  596. package/dist/types/src/wallet/sdk/index.d.ts.map +0 -1
  597. package/dist/types/src/wallet/sdk/types.d.ts +0 -56
  598. package/dist/types/src/wallet/sdk/types.d.ts.map +0 -1
  599. package/dist/types/src/wallet/sdk/validationHelpers.d.ts +0 -301
  600. package/dist/types/src/wallet/sdk/validationHelpers.d.ts.map +0 -1
  601. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts +0 -2
  602. package/dist/types/src/wallet/substrates/__tests/WalletWire.integration.test.d.ts.map +0 -1
  603. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts +0 -5
  604. package/dist/types/src/wallet/substrates/__tests/XDM.test.d.ts.map +0 -1
  605. package/dist/types/src/wallet/utilityHelpers.d.ts +0 -142
  606. package/dist/types/src/wallet/utilityHelpers.d.ts.map +0 -1
  607. package/dist/types/src/wallet/validationHelpers.d.ts +0 -301
  608. 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":"AAgEA,OAAO,UAAU,MAAM,iBAAiB,CAAA;AACxC,OAAO,EAA4E,KAAK,EAAE,MAAM,wBAAwB,CAAA;AACxH,OAAqB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC5D,OAAO,WAAW,MAAM,kBAAkB,CAAA;AAC1C,OAAO,EAAwD,iBAAiB,EAAyB,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAA;AACtJ,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAA;AACtD,OAAO,EAAE,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAuBjE,wCAAwC;AAExC;;GAEG;AACH,MAAM,CAAC,OAAO,OAAO,YAAY;IAC/B,UAAU,CAAY;IACtB,OAAO,CAAuB;IAC9B,qBAAqB,CAAe;IACpC,yBAAyB,CAAiB;IAC1C,KAAK,CAAa;IAClB,cAAc,CAAS;IACvB,eAAe,GACb,uHAAuH,CAAA;IAEzH,IAAI,CAAW;IACf,YAAY,CAAQ;IACpB,SAAS,CAAQ;IAEjB,YACE,OAA8B,EAC9B,gBAAiC,EACjC,UAAiC,SAAS,EAC1C,iBAA0B,KAAK,EAC/B,eAAe,GAAG,UAAU;QAE5B,IAAI,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,OAAO,CAAC,CAAA;QAC9C,IAAI,CAAC,qBAAqB,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAA;QAChD,IAAI,CAAC,yBAAyB,GAAG,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAC3D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,KAAK,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAA;QACtD,IAAI,CAAC,cAAc,GAAG,cAAc,CAAA;QAEpC,gCAAgC;QAChC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAA;QACjE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,sBAAsB,EAAE,CAAC,SAAS,CAAA;QACxD,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;IAChE,CAAC;IAEO,KAAK,CAAC,6BAA6B;QACzC,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACjD,IAAI,CAAC;gBACH,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAA;YAChD,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,SAAQ;YACV,CAAC;QACH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAsB;QACvC,MAAM,KAAK,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAA;QAC5C,KAAK,CAAC,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;QAEvE,MAAM,CAAC,GAAG,MAAM,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QAE5C,IAAI,CAAC,CAAC,mBAAmB,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,CAAC,CAAC,mBAAmB,CAAA;YAChC,MAAM,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAA;YACjC,IAAI,CAAC,EAAE,CAAC,UAAU;gBAChB,MAAM,IAAI,WAAW,CAAC,kDAAkD,CAAC,CAAA;YAC3E,IAAI,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC,UAAU;gBACvE,MAAM,IAAI,WAAW,CAAC,+DAA+D,CAAC,CAAA;YACxF,uGAAuG;YACvG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAA;YAC/B,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAA;QACrD,CAAC;aAAM,IAAI,CAAC,CAAC,EAAE,EAAE,CAAC;YAChB,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC,EAAE,CAAC,CAAA;QACvD,CAAC;QAED,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAA;QAC5C,CAAC;QAED,OAAO,CAAC,CAAA;IACV,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAqB;QACrC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAqB;QACrC,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED,iBAAiB,CAAC,IAA2B;QAC3C,OAAO,IAAI,CAAC,qBAAqB,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IAC3D,CAAC;IAED,WAAW,CAAC,IAAqB;QAC/B,OAAO,IAAI,CAAC,qBAAqB,CAAC,WAAW,CAAC,IAAI,CAAC,CAAA;IACrD,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAGtB;QACC,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACvD,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAA;QAC5C,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAsB;QACvC,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,KAAK,CAAC,4BAA4B,CAAC,IAAsC;QACvE,OAAO,IAAI,CAAC,KAAK,CAAC,4BAA4B,CAAC,IAAI,CAAC,CAAA;IACtD,CAAC;IAED,KAAK,CAAC,wBAAwB,CAAC,IAAkC;QAC/D,OAAO,IAAI,CAAC,KAAK,CAAC,wBAAwB,CAAC,IAAI,CAAC,CAAA;IAClD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAuB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAuB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;IACjC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAoB;QACnC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,CAAA;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAyB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAyB;QAC7C,OAAO,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAA;IACzC,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAA4B;QACnD,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC,CAAA;QAC1F,IAAI,IAAI,CAAC,mBAAmB,KAAK,QAAQ,EAAE,CAAC;YAC1C,IAAI,qBAAgC,CAAA;YACpC,IAAI,CAAC,IAAI,CAAC,eAAe,IAAI,IAAI,CAAC,eAAe,KAAK,WAAW,EAAE,CAAC;gBAClE,qBAAqB,GAAG,IAAI,CAAC,SAAS,CAAA;YACxC,CAAC;iBAAM,CAAC;gBACN,qBAAqB,GAAG,IAAI,CAAC,eAAe,CAAA;YAC9C,CAAC;YACD,uDAAuD;YACvD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,KAAK,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,MAAM,EAAE,CAAC;gBACnF,MAAM,IAAI,WAAW,CAAC,iDAAiD,CAAC,CAAA;YAC1E,CAAC;YACD,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7E,MAAM,IAAI,WAAW,CAAC,iDAAiD,CAAC,CAAA;YAC1E,CAAC;YACD,kEAAkE;YAClE,MAAM,oBAAoB,GAAG,EAAE,CAAA;YAC/B,KAAK,MAAM,SAAS,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjD,MAAM,KAAK,GAAG,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE,CAAA;gBACjD,MAAM,uBAAuB,GAAG,IAAI,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAA;gBAEjE,+BAA+B;gBAC/B,MAAM,EAAE,SAAS,EAAE,cAAc,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC7D,UAAU,EAAE,KAAK,CAAC,OAAO,CAAC,uBAAuB,EAAE,QAAQ,CAAC;oBAC5D,UAAU,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC;oBAC/C,KAAK;oBACL,YAAY,EAAE,qBAAqB;iBACpC,CAAC,CAAA;gBAEF,4DAA4D;gBAC5D,IAAI,CAAC;oBACH,IAAI,YAAY,CAAC,cAAc,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAA;gBAC3F,CAAC;gBAAC,OAAO,CAAC,EAAE,CAAC;oBACX,MAAM,IAAI,WAAW,CAAC,sBAAsB,SAAS,yCAAyC,CAAC,CAAA;gBACjG,CAAC;gBAED,kCAAkC;gBAClC,MAAM,EAAE,UAAU,EAAE,2BAA2B,EAAE,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC;oBAC3E,SAAS,EAAE,cAAc;oBACzB,UAAU,EAAE,CAAC,CAAC,EAAE,8BAA8B,CAAC;oBAC/C,KAAK,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,SAAS,EAAE;oBAC1C,YAAY,EAAE,MAAM;iBACrB,CAAC,CAAA;gBAEF,4DAA4D;gBAC5D,oBAAoB,CAAC,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,2BAA2B,CAAC,CAAA;YAC/E,CAAC;YAED,MAAM,IAAI,GAAsB;gBAC9B,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,YAAY;gBAC/B,OAAO,EAAE,cAAc;gBACvB,SAAS,EAAE,IAAI,CAAC,SAAS;gBACzB,MAAM,EAAE,IAAI,CAAC,MAAM;gBACnB,kBAAkB,EAAE,IAAI,CAAC,kBAAkB;gBAC3C,SAAS,EAAE,IAAI,CAAC,SAAU;aAC3B,CAAA;YACD,MAAM,IAAI,CAAC,qBAAqB,CAAC,gCAAgC,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAA;YAC7F,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAA;YAC5C,CAAC;YACD,OAAO,IAAI,CAAA;QACb,CAAC;aAAM,IAAI,IAAI,CAAC,mBAAmB,KAAK,UAAU,EAAE,CAAC;YACnD,gCAAgC;YAChC,iEAAiE;YACjE,wIAAwI;YACxI,+BAA+B;YAC/B,2DAA2D;YAC3D,uCAAuC;YAEvC,QAAQ;YAER,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAA;YAC5C,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,WAAW,CAAC,6CAA6C,IAAI,CAAC,mBAAmB,EAAE,CAAC,CAAA;QAChG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,IAA0B;QAC/C,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;IAChE,CAAC;IAED,KAAK,CAAC,gBAAgB,CACpB,IAA0B;QAE1B,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACpB,MAAM,IAAI,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;QAC7C,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,+BAA+B,CACpF,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,WAAW,CAAC,YAAY,CAC9B,CAAA;QACD,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,CAC7C,IAAI,CAAC,WAAW,CAAC,IAAI,EACrB,IAAI,CAAC,WAAW,CAAC,YAAY,EAC7B,IAAI,CAAC,WAAW,CAAC,OAAO,EACxB,IAAI,CAAC,WAAW,CAAC,SAAS,EAC1B,IAAI,CAAC,WAAW,CAAC,kBAAkB,EACnC,IAAI,CAAC,WAAW,CAAC,MAAM,EACvB,aAAa,EACb,IAAI,CAAC,WAAW,CAAC,SAAS,CAC3B,CAAA;QACD,MAAM,kBAAkB,GAAG,MAAM,iBAAiB,CAAC,wBAAwB,CACzE,IAAI,CAAC,KAAK,EACV,IAAI,CAAC,QAAQ,EACb,IAAI,CAAC,cAAc,CACpB,CAAA;QACD,OAAO;YACL,kBAAkB;SACnB,CAAA;IACH,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAA+B;QACzD,MAAM,IAAI,CAAC,qBAAqB,CAAC,qBAAqB,CAAC,IAAI,CAAC,CAAA;QAC5D,IAAI,IAAI,CAAC,cAAc,EAAE,CAAC;YACxB,MAAM,IAAI,CAAC,6BAA6B,EAAE,CAAA;QAC5C,CAAC;QACD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAA;IAC/B,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAA+B;QACzD,QAAQ;QACR,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,IAA8B;QACvD,QAAQ;QACR,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,CAAA;IACzB,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,IAAQ;QAC5B,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,IAAQ;QAClC,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,CAAA;IAChC,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAQ;QACtB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,qBAAqB,CAAC,SAAS,EAAE,CAAA;QAC3D,OAAO,EAAE,MAAM,EAAE,CAAA;IACnB,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,IAAiC;QACxD,OAAO,IAAI,CAAC,qBAAqB,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAA;IAC5D,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAQ;QACvB,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,IAAQ;QACvB,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,CAAA;IACpC,CAAC;IAED,iBAAiB;IACT,aAAa,CAAC,aAAwB;QAC5C,IAAI,aAAa,EAAE,CAAC;YAClB,KAAK,MAAM,IAAI,IAAI,aAAa;gBAAE,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAA;QACjE,CAAC;QACD,MAAM,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAA;QAC7B,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAA;QAC7C,OAAO,UAAU,CAAA;IACnB,CAAC;IAEO,sBAAsB;QAC5B,MAAM,EAAE,GAAY;YAClB,UAAU,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,EAAE;YAC9C,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE;SAC5D,CAAA;QACD,OAAO,EAAE,CAAA;IACX,CAAC;CACF"}
@@ -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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"}