@bsv/sdk 1.3.12 → 1.3.14

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 (607) hide show
  1. package/dist/cjs/package.json +15 -3
  2. package/dist/cjs/src/auth/Peer.js +83 -57
  3. package/dist/cjs/src/auth/Peer.js.map +1 -1
  4. package/dist/cjs/src/auth/SessionManager.js +14 -9
  5. package/dist/cjs/src/auth/SessionManager.js.map +1 -1
  6. package/dist/cjs/src/auth/certificates/Certificate.js +16 -10
  7. package/dist/cjs/src/auth/certificates/Certificate.js.map +1 -1
  8. package/dist/cjs/src/auth/certificates/MasterCertificate.js +25 -23
  9. package/dist/cjs/src/auth/certificates/MasterCertificate.js.map +1 -1
  10. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js +2 -2
  11. package/dist/cjs/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  12. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js +62 -46
  13. package/dist/cjs/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  14. package/dist/cjs/src/auth/clients/AuthFetch.js +1 -0
  15. package/dist/cjs/src/auth/clients/AuthFetch.js.map +1 -1
  16. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js +70 -43
  17. package/dist/cjs/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  18. package/dist/cjs/src/auth/utils/createNonce.js +2 -1
  19. package/dist/cjs/src/auth/utils/createNonce.js.map +1 -1
  20. package/dist/cjs/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  21. package/dist/cjs/src/auth/utils/validateCertificates.js +5 -2
  22. package/dist/cjs/src/auth/utils/validateCertificates.js.map +1 -1
  23. package/dist/cjs/src/auth/utils/verifyNonce.js +2 -1
  24. package/dist/cjs/src/auth/utils/verifyNonce.js.map +1 -1
  25. package/dist/cjs/src/compat/BSM.js +7 -17
  26. package/dist/cjs/src/compat/BSM.js.map +1 -1
  27. package/dist/cjs/src/compat/ECIES.js +172 -133
  28. package/dist/cjs/src/compat/ECIES.js.map +1 -1
  29. package/dist/cjs/src/compat/HD.js +63 -73
  30. package/dist/cjs/src/compat/HD.js.map +1 -1
  31. package/dist/cjs/src/compat/Mnemonic.js +102 -106
  32. package/dist/cjs/src/compat/Mnemonic.js.map +1 -1
  33. package/dist/cjs/src/compat/Utxo.js +2 -2
  34. package/dist/cjs/src/compat/Utxo.js.map +1 -1
  35. package/dist/cjs/src/compat/index.js +7 -17
  36. package/dist/cjs/src/compat/index.js.map +1 -1
  37. package/dist/cjs/src/messages/EncryptedMessage.js +3 -1
  38. package/dist/cjs/src/messages/EncryptedMessage.js.map +1 -1
  39. package/dist/cjs/src/messages/SignedMessage.js +1 -0
  40. package/dist/cjs/src/messages/SignedMessage.js.map +1 -1
  41. package/dist/cjs/src/messages/index.js +7 -17
  42. package/dist/cjs/src/messages/index.js.map +1 -1
  43. package/dist/cjs/src/overlay-tools/LookupResolver.js +54 -35
  44. package/dist/cjs/src/overlay-tools/LookupResolver.js.map +1 -1
  45. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  46. package/dist/cjs/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  47. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js +40 -28
  48. package/dist/cjs/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  49. package/dist/cjs/src/primitives/AESGCM.js +6 -5
  50. package/dist/cjs/src/primitives/AESGCM.js.map +1 -1
  51. package/dist/cjs/src/primitives/BasePoint.js +1 -1
  52. package/dist/cjs/src/primitives/BasePoint.js.map +1 -1
  53. package/dist/cjs/src/primitives/BigNumber.js +50 -62
  54. package/dist/cjs/src/primitives/BigNumber.js.map +1 -1
  55. package/dist/cjs/src/primitives/Curve.js +46 -22
  56. package/dist/cjs/src/primitives/Curve.js.map +1 -1
  57. package/dist/cjs/src/primitives/DRBG.js +2 -8
  58. package/dist/cjs/src/primitives/DRBG.js.map +1 -1
  59. package/dist/cjs/src/primitives/ECDSA.js +51 -35
  60. package/dist/cjs/src/primitives/ECDSA.js.map +1 -1
  61. package/dist/cjs/src/primitives/Hash.js +191 -216
  62. package/dist/cjs/src/primitives/Hash.js.map +1 -1
  63. package/dist/cjs/src/primitives/JacobianPoint.js +19 -5
  64. package/dist/cjs/src/primitives/JacobianPoint.js.map +1 -1
  65. package/dist/cjs/src/primitives/K256.js.map +1 -1
  66. package/dist/cjs/src/primitives/Mersenne.js.map +1 -1
  67. package/dist/cjs/src/primitives/MontgomoryMethod.js.map +1 -1
  68. package/dist/cjs/src/primitives/Point.js +117 -88
  69. package/dist/cjs/src/primitives/Point.js.map +1 -1
  70. package/dist/cjs/src/primitives/Polynomial.js +4 -2
  71. package/dist/cjs/src/primitives/Polynomial.js.map +1 -1
  72. package/dist/cjs/src/primitives/PrivateKey.js +32 -33
  73. package/dist/cjs/src/primitives/PrivateKey.js.map +1 -1
  74. package/dist/cjs/src/primitives/PublicKey.js.map +1 -1
  75. package/dist/cjs/src/primitives/Random.js +6 -5
  76. package/dist/cjs/src/primitives/Random.js.map +1 -1
  77. package/dist/cjs/src/primitives/ReductionContext.js +1 -1
  78. package/dist/cjs/src/primitives/ReductionContext.js.map +1 -1
  79. package/dist/cjs/src/primitives/Schnorr.js +21 -15
  80. package/dist/cjs/src/primitives/Schnorr.js.map +1 -1
  81. package/dist/cjs/src/primitives/Signature.js +8 -7
  82. package/dist/cjs/src/primitives/Signature.js.map +1 -1
  83. package/dist/cjs/src/primitives/SymmetricKey.js +13 -13
  84. package/dist/cjs/src/primitives/SymmetricKey.js.map +1 -1
  85. package/dist/cjs/src/primitives/TransactionSignature.js +31 -29
  86. package/dist/cjs/src/primitives/TransactionSignature.js.map +1 -1
  87. package/dist/cjs/src/primitives/index.js +7 -17
  88. package/dist/cjs/src/primitives/index.js.map +1 -1
  89. package/dist/cjs/src/primitives/utils.js +79 -68
  90. package/dist/cjs/src/primitives/utils.js.map +1 -1
  91. package/dist/cjs/src/script/OP.js +3 -3
  92. package/dist/cjs/src/script/OP.js.map +1 -1
  93. package/dist/cjs/src/script/Script.js +12 -10
  94. package/dist/cjs/src/script/Script.js.map +1 -1
  95. package/dist/cjs/src/script/Spend.js +47 -49
  96. package/dist/cjs/src/script/Spend.js.map +1 -1
  97. package/dist/cjs/src/script/templates/P2PKH.js +24 -12
  98. package/dist/cjs/src/script/templates/P2PKH.js.map +1 -1
  99. package/dist/cjs/src/script/templates/PushDrop.js +28 -23
  100. package/dist/cjs/src/script/templates/PushDrop.js.map +1 -1
  101. package/dist/cjs/src/script/templates/RPuzzle.js +10 -6
  102. package/dist/cjs/src/script/templates/RPuzzle.js.map +1 -1
  103. package/dist/cjs/src/totp/totp.js +2 -1
  104. package/dist/cjs/src/totp/totp.js.map +1 -1
  105. package/dist/cjs/src/transaction/Beef.js +177 -154
  106. package/dist/cjs/src/transaction/Beef.js.map +1 -1
  107. package/dist/cjs/src/transaction/BeefParty.js +24 -24
  108. package/dist/cjs/src/transaction/BeefParty.js.map +1 -1
  109. package/dist/cjs/src/transaction/BeefTx.js +26 -18
  110. package/dist/cjs/src/transaction/BeefTx.js.map +1 -1
  111. package/dist/cjs/src/transaction/Broadcaster.js +3 -2
  112. package/dist/cjs/src/transaction/Broadcaster.js.map +1 -1
  113. package/dist/cjs/src/transaction/MerklePath.js +64 -37
  114. package/dist/cjs/src/transaction/MerklePath.js.map +1 -1
  115. package/dist/cjs/src/transaction/Transaction.js +111 -137
  116. package/dist/cjs/src/transaction/Transaction.js.map +1 -1
  117. package/dist/cjs/src/transaction/broadcasters/ARC.js +25 -16
  118. package/dist/cjs/src/transaction/broadcasters/ARC.js.map +1 -1
  119. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js +2 -1
  120. package/dist/cjs/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  121. package/dist/cjs/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  122. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js +2 -1
  123. package/dist/cjs/src/transaction/chaintrackers/DefaultChainTracker.js.map +1 -1
  124. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  125. package/dist/cjs/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  126. package/dist/cjs/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  127. package/dist/cjs/src/transaction/http/DefaultHttpClient.js +5 -3
  128. package/dist/cjs/src/transaction/http/DefaultHttpClient.js.map +1 -1
  129. package/dist/cjs/src/transaction/http/FetchHttpClient.js +5 -2
  130. package/dist/cjs/src/transaction/http/FetchHttpClient.js.map +1 -1
  131. package/dist/cjs/src/transaction/http/NodejsHttpClient.js +5 -3
  132. package/dist/cjs/src/transaction/http/NodejsHttpClient.js.map +1 -1
  133. package/dist/cjs/src/transaction/http/index.js.map +1 -1
  134. package/dist/cjs/src/transaction/index.js.map +1 -1
  135. package/dist/cjs/src/wallet/CachedKeyDeriver.js +91 -66
  136. package/dist/cjs/src/wallet/CachedKeyDeriver.js.map +1 -1
  137. package/dist/cjs/src/wallet/KeyDeriver.js +61 -52
  138. package/dist/cjs/src/wallet/KeyDeriver.js.map +1 -1
  139. package/dist/cjs/src/wallet/ProtoWallet.js +79 -29
  140. package/dist/cjs/src/wallet/ProtoWallet.js.map +1 -1
  141. package/dist/cjs/src/wallet/WalletClient.js +7 -2
  142. package/dist/cjs/src/wallet/WalletClient.js.map +1 -1
  143. package/dist/cjs/src/wallet/WalletError.js +2 -2
  144. package/dist/cjs/src/wallet/WalletError.js.map +1 -1
  145. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js +4 -3
  146. package/dist/cjs/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  147. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js +2 -2
  148. package/dist/cjs/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  149. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  150. package/dist/cjs/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  151. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js +102 -43
  152. package/dist/cjs/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  153. package/dist/cjs/src/wallet/substrates/XDM.js +8 -3
  154. package/dist/cjs/src/wallet/substrates/XDM.js.map +1 -1
  155. package/dist/cjs/src/wallet/substrates/window.CWI.js +28 -28
  156. package/dist/cjs/src/wallet/substrates/window.CWI.js.map +1 -1
  157. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  158. package/dist/esm/mod.js +15 -15
  159. package/dist/esm/src/auth/Peer.js +75 -54
  160. package/dist/esm/src/auth/Peer.js.map +1 -1
  161. package/dist/esm/src/auth/SessionManager.js +14 -9
  162. package/dist/esm/src/auth/SessionManager.js.map +1 -1
  163. package/dist/esm/src/auth/certificates/Certificate.js +15 -11
  164. package/dist/esm/src/auth/certificates/Certificate.js.map +1 -1
  165. package/dist/esm/src/auth/certificates/MasterCertificate.js +25 -23
  166. package/dist/esm/src/auth/certificates/MasterCertificate.js.map +1 -1
  167. package/dist/esm/src/auth/certificates/VerifiableCertificate.js +2 -2
  168. package/dist/esm/src/auth/certificates/VerifiableCertificate.js.map +1 -1
  169. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js +64 -47
  170. package/dist/esm/src/auth/certificates/__tests/CompletedProtoWallet.js.map +1 -1
  171. package/dist/esm/src/auth/clients/AuthFetch.js +1 -0
  172. package/dist/esm/src/auth/clients/AuthFetch.js.map +1 -1
  173. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js +69 -43
  174. package/dist/esm/src/auth/transports/SimplifiedFetchTransport.js.map +1 -1
  175. package/dist/esm/src/auth/utils/createNonce.js.map +1 -1
  176. package/dist/esm/src/auth/utils/getVerifiableCertificates.js +1 -1
  177. package/dist/esm/src/auth/utils/getVerifiableCertificates.js.map +1 -1
  178. package/dist/esm/src/auth/utils/validateCertificates.js +6 -3
  179. package/dist/esm/src/auth/utils/validateCertificates.js.map +1 -1
  180. package/dist/esm/src/auth/utils/verifyNonce.js.map +1 -1
  181. package/dist/esm/src/compat/BSM.js.map +1 -1
  182. package/dist/esm/src/compat/ECIES.js +165 -116
  183. package/dist/esm/src/compat/ECIES.js.map +1 -1
  184. package/dist/esm/src/compat/HD.js +56 -56
  185. package/dist/esm/src/compat/HD.js.map +1 -1
  186. package/dist/esm/src/compat/Mnemonic.js +95 -89
  187. package/dist/esm/src/compat/Mnemonic.js.map +1 -1
  188. package/dist/esm/src/compat/Utxo.js +1 -1
  189. package/dist/esm/src/compat/Utxo.js.map +1 -1
  190. package/dist/esm/src/messages/EncryptedMessage.js +3 -1
  191. package/dist/esm/src/messages/EncryptedMessage.js.map +1 -1
  192. package/dist/esm/src/messages/SignedMessage.js +1 -0
  193. package/dist/esm/src/messages/SignedMessage.js.map +1 -1
  194. package/dist/esm/src/overlay-tools/LookupResolver.js +53 -35
  195. package/dist/esm/src/overlay-tools/LookupResolver.js.map +1 -1
  196. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js +32 -20
  197. package/dist/esm/src/overlay-tools/OverlayAdminTokenTemplate.js.map +1 -1
  198. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js +40 -28
  199. package/dist/esm/src/overlay-tools/SHIPBroadcaster.js.map +1 -1
  200. package/dist/esm/src/primitives/AESGCM.js +1 -0
  201. package/dist/esm/src/primitives/AESGCM.js.map +1 -1
  202. package/dist/esm/src/primitives/BasePoint.js +1 -1
  203. package/dist/esm/src/primitives/BasePoint.js.map +1 -1
  204. package/dist/esm/src/primitives/BigNumber.js +50 -62
  205. package/dist/esm/src/primitives/BigNumber.js.map +1 -1
  206. package/dist/esm/src/primitives/Curve.js +45 -22
  207. package/dist/esm/src/primitives/Curve.js.map +1 -1
  208. package/dist/esm/src/primitives/DRBG.js +2 -8
  209. package/dist/esm/src/primitives/DRBG.js.map +1 -1
  210. package/dist/esm/src/primitives/ECDSA.js +50 -35
  211. package/dist/esm/src/primitives/ECDSA.js.map +1 -1
  212. package/dist/esm/src/primitives/Hash.js +188 -213
  213. package/dist/esm/src/primitives/Hash.js.map +1 -1
  214. package/dist/esm/src/primitives/JacobianPoint.js +18 -5
  215. package/dist/esm/src/primitives/JacobianPoint.js.map +1 -1
  216. package/dist/esm/src/primitives/K256.js.map +1 -1
  217. package/dist/esm/src/primitives/Mersenne.js.map +1 -1
  218. package/dist/esm/src/primitives/MontgomoryMethod.js.map +1 -1
  219. package/dist/esm/src/primitives/Point.js +107 -88
  220. package/dist/esm/src/primitives/Point.js.map +1 -1
  221. package/dist/esm/src/primitives/Polynomial.js +4 -2
  222. package/dist/esm/src/primitives/Polynomial.js.map +1 -1
  223. package/dist/esm/src/primitives/PrivateKey.js +25 -16
  224. package/dist/esm/src/primitives/PrivateKey.js.map +1 -1
  225. package/dist/esm/src/primitives/PublicKey.js.map +1 -1
  226. package/dist/esm/src/primitives/Random.js +7 -6
  227. package/dist/esm/src/primitives/Random.js.map +1 -1
  228. package/dist/esm/src/primitives/ReductionContext.js +1 -1
  229. package/dist/esm/src/primitives/ReductionContext.js.map +1 -1
  230. package/dist/esm/src/primitives/Schnorr.js +21 -15
  231. package/dist/esm/src/primitives/Schnorr.js.map +1 -1
  232. package/dist/esm/src/primitives/Signature.js +8 -7
  233. package/dist/esm/src/primitives/Signature.js.map +1 -1
  234. package/dist/esm/src/primitives/SymmetricKey.js +13 -13
  235. package/dist/esm/src/primitives/SymmetricKey.js.map +1 -1
  236. package/dist/esm/src/primitives/TransactionSignature.js +22 -12
  237. package/dist/esm/src/primitives/TransactionSignature.js.map +1 -1
  238. package/dist/esm/src/primitives/utils.js +76 -66
  239. package/dist/esm/src/primitives/utils.js.map +1 -1
  240. package/dist/esm/src/script/OP.js +3 -3
  241. package/dist/esm/src/script/OP.js.map +1 -1
  242. package/dist/esm/src/script/Script.js +12 -10
  243. package/dist/esm/src/script/Script.js.map +1 -1
  244. package/dist/esm/src/script/Spend.js +39 -32
  245. package/dist/esm/src/script/Spend.js.map +1 -1
  246. package/dist/esm/src/script/templates/P2PKH.js +26 -11
  247. package/dist/esm/src/script/templates/P2PKH.js.map +1 -1
  248. package/dist/esm/src/script/templates/PushDrop.js +29 -22
  249. package/dist/esm/src/script/templates/PushDrop.js.map +1 -1
  250. package/dist/esm/src/script/templates/RPuzzle.js +11 -6
  251. package/dist/esm/src/script/templates/RPuzzle.js.map +1 -1
  252. package/dist/esm/src/totp/totp.js +2 -1
  253. package/dist/esm/src/totp/totp.js.map +1 -1
  254. package/dist/esm/src/transaction/Beef.js +176 -154
  255. package/dist/esm/src/transaction/Beef.js.map +1 -1
  256. package/dist/esm/src/transaction/BeefParty.js +24 -24
  257. package/dist/esm/src/transaction/BeefParty.js.map +1 -1
  258. package/dist/esm/src/transaction/BeefTx.js +26 -18
  259. package/dist/esm/src/transaction/BeefTx.js.map +1 -1
  260. package/dist/esm/src/transaction/Broadcaster.js.map +1 -1
  261. package/dist/esm/src/transaction/MerklePath.js +61 -36
  262. package/dist/esm/src/transaction/MerklePath.js.map +1 -1
  263. package/dist/esm/src/transaction/Transaction.js +105 -138
  264. package/dist/esm/src/transaction/Transaction.js.map +1 -1
  265. package/dist/esm/src/transaction/broadcasters/ARC.js +25 -16
  266. package/dist/esm/src/transaction/broadcasters/ARC.js.map +1 -1
  267. package/dist/esm/src/transaction/broadcasters/DefaultBroadcaster.js.map +1 -1
  268. package/dist/esm/src/transaction/broadcasters/WhatsOnChainBroadcaster.js.map +1 -1
  269. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js +3 -3
  270. package/dist/esm/src/transaction/chaintrackers/WhatsOnChain.js.map +1 -1
  271. package/dist/esm/src/transaction/fee-models/SatoshisPerKilobyte.js.map +1 -1
  272. package/dist/esm/src/transaction/http/DefaultHttpClient.js +3 -2
  273. package/dist/esm/src/transaction/http/DefaultHttpClient.js.map +1 -1
  274. package/dist/esm/src/transaction/http/FetchHttpClient.js +4 -2
  275. package/dist/esm/src/transaction/http/FetchHttpClient.js.map +1 -1
  276. package/dist/esm/src/transaction/http/NodejsHttpClient.js +5 -3
  277. package/dist/esm/src/transaction/http/NodejsHttpClient.js.map +1 -1
  278. package/dist/esm/src/transaction/http/index.js.map +1 -1
  279. package/dist/esm/src/transaction/index.js.map +1 -1
  280. package/dist/esm/src/wallet/CachedKeyDeriver.js +91 -66
  281. package/dist/esm/src/wallet/CachedKeyDeriver.js.map +1 -1
  282. package/dist/esm/src/wallet/KeyDeriver.js +60 -52
  283. package/dist/esm/src/wallet/KeyDeriver.js.map +1 -1
  284. package/dist/esm/src/wallet/ProtoWallet.js +75 -29
  285. package/dist/esm/src/wallet/ProtoWallet.js.map +1 -1
  286. package/dist/esm/src/wallet/WalletClient.js +7 -2
  287. package/dist/esm/src/wallet/WalletClient.js.map +1 -1
  288. package/dist/esm/src/wallet/WalletError.js +2 -2
  289. package/dist/esm/src/wallet/WalletError.js.map +1 -1
  290. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js +4 -4
  291. package/dist/esm/src/wallet/substrates/HTTPWalletJSON.js.map +1 -1
  292. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js +2 -2
  293. package/dist/esm/src/wallet/substrates/HTTPWalletWire.js.map +1 -1
  294. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js +1239 -1261
  295. package/dist/esm/src/wallet/substrates/WalletWireProcessor.js.map +1 -1
  296. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js +95 -43
  297. package/dist/esm/src/wallet/substrates/WalletWireTransceiver.js.map +1 -1
  298. package/dist/esm/src/wallet/substrates/XDM.js +8 -3
  299. package/dist/esm/src/wallet/substrates/XDM.js.map +1 -1
  300. package/dist/esm/src/wallet/substrates/window.CWI.js +28 -28
  301. package/dist/esm/src/wallet/substrates/window.CWI.js.map +1 -1
  302. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  303. package/dist/types/mod.d.ts +15 -15
  304. package/dist/types/src/auth/Peer.d.ts +10 -10
  305. package/dist/types/src/auth/Peer.d.ts.map +1 -1
  306. package/dist/types/src/auth/SessionManager.d.ts +4 -4
  307. package/dist/types/src/auth/SessionManager.d.ts.map +1 -1
  308. package/dist/types/src/auth/certificates/Certificate.d.ts +6 -6
  309. package/dist/types/src/auth/certificates/Certificate.d.ts.map +1 -1
  310. package/dist/types/src/auth/certificates/MasterCertificate.d.ts +5 -5
  311. package/dist/types/src/auth/certificates/MasterCertificate.d.ts.map +1 -1
  312. package/dist/types/src/auth/certificates/VerifiableCertificate.d.ts.map +1 -1
  313. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts +23 -22
  314. package/dist/types/src/auth/certificates/__tests/CompletedProtoWallet.d.ts.map +1 -1
  315. package/dist/types/src/auth/clients/AuthFetch.d.ts.map +1 -1
  316. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts +1 -1
  317. package/dist/types/src/auth/transports/SimplifiedFetchTransport.d.ts.map +1 -1
  318. package/dist/types/src/auth/utils/createNonce.d.ts.map +1 -1
  319. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts +3 -3
  320. package/dist/types/src/auth/utils/getVerifiableCertificates.d.ts.map +1 -1
  321. package/dist/types/src/auth/utils/validateCertificates.d.ts +2 -2
  322. package/dist/types/src/auth/utils/validateCertificates.d.ts.map +1 -1
  323. package/dist/types/src/auth/utils/verifyNonce.d.ts +1 -1
  324. package/dist/types/src/auth/utils/verifyNonce.d.ts.map +1 -1
  325. package/dist/types/src/compat/BSM.d.ts +1 -1
  326. package/dist/types/src/compat/BSM.d.ts.map +1 -1
  327. package/dist/types/src/compat/ECIES.d.ts +36 -36
  328. package/dist/types/src/compat/ECIES.d.ts.map +1 -1
  329. package/dist/types/src/compat/HD.d.ts +51 -51
  330. package/dist/types/src/compat/HD.d.ts.map +1 -1
  331. package/dist/types/src/compat/Mnemonic.d.ts +79 -79
  332. package/dist/types/src/compat/Mnemonic.d.ts.map +1 -1
  333. package/dist/types/src/compat/Utxo.d.ts.map +1 -1
  334. package/dist/types/src/messages/EncryptedMessage.d.ts.map +1 -1
  335. package/dist/types/src/messages/SignedMessage.d.ts.map +1 -1
  336. package/dist/types/src/overlay-tools/LookupResolver.d.ts +9 -9
  337. package/dist/types/src/overlay-tools/LookupResolver.d.ts.map +1 -1
  338. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts +17 -17
  339. package/dist/types/src/overlay-tools/OverlayAdminTokenTemplate.d.ts.map +1 -1
  340. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts +14 -14
  341. package/dist/types/src/overlay-tools/SHIPBroadcaster.d.ts.map +1 -1
  342. package/dist/types/src/primitives/AESGCM.d.ts.map +1 -1
  343. package/dist/types/src/primitives/BasePoint.d.ts +8 -8
  344. package/dist/types/src/primitives/BasePoint.d.ts.map +1 -1
  345. package/dist/types/src/primitives/BigNumber.d.ts.map +1 -1
  346. package/dist/types/src/primitives/Curve.d.ts +14 -7
  347. package/dist/types/src/primitives/Curve.d.ts.map +1 -1
  348. package/dist/types/src/primitives/DRBG.d.ts.map +1 -1
  349. package/dist/types/src/primitives/ECDSA.d.ts +1 -1
  350. package/dist/types/src/primitives/ECDSA.d.ts.map +1 -1
  351. package/dist/types/src/primitives/Hash.d.ts +11 -11
  352. package/dist/types/src/primitives/Hash.d.ts.map +1 -1
  353. package/dist/types/src/primitives/JacobianPoint.d.ts.map +1 -1
  354. package/dist/types/src/primitives/Point.d.ts +14 -10
  355. package/dist/types/src/primitives/Point.d.ts.map +1 -1
  356. package/dist/types/src/primitives/Polynomial.d.ts.map +1 -1
  357. package/dist/types/src/primitives/PrivateKey.d.ts +2 -2
  358. package/dist/types/src/primitives/PrivateKey.d.ts.map +1 -1
  359. package/dist/types/src/primitives/PublicKey.d.ts.map +1 -1
  360. package/dist/types/src/primitives/Random.d.ts.map +1 -1
  361. package/dist/types/src/primitives/Schnorr.d.ts +14 -14
  362. package/dist/types/src/primitives/Schnorr.d.ts.map +1 -1
  363. package/dist/types/src/primitives/Signature.d.ts +1 -1
  364. package/dist/types/src/primitives/Signature.d.ts.map +1 -1
  365. package/dist/types/src/primitives/SymmetricKey.d.ts +13 -13
  366. package/dist/types/src/primitives/SymmetricKey.d.ts.map +1 -1
  367. package/dist/types/src/primitives/TransactionSignature.d.ts +4 -4
  368. package/dist/types/src/primitives/TransactionSignature.d.ts.map +1 -1
  369. package/dist/types/src/primitives/utils.d.ts +3 -6
  370. package/dist/types/src/primitives/utils.d.ts.map +1 -1
  371. package/dist/types/src/script/Script.d.ts +3 -3
  372. package/dist/types/src/script/Script.d.ts.map +1 -1
  373. package/dist/types/src/script/ScriptTemplate.d.ts +2 -2
  374. package/dist/types/src/script/ScriptTemplate.d.ts.map +1 -1
  375. package/dist/types/src/script/Spend.d.ts.map +1 -1
  376. package/dist/types/src/script/templates/P2PKH.d.ts.map +1 -1
  377. package/dist/types/src/script/templates/PushDrop.d.ts +1 -2
  378. package/dist/types/src/script/templates/PushDrop.d.ts.map +1 -1
  379. package/dist/types/src/script/templates/RPuzzle.d.ts.map +1 -1
  380. package/dist/types/src/totp/totp.d.ts.map +1 -1
  381. package/dist/types/src/transaction/Beef.d.ts +96 -96
  382. package/dist/types/src/transaction/Beef.d.ts.map +1 -1
  383. package/dist/types/src/transaction/BeefParty.d.ts +22 -22
  384. package/dist/types/src/transaction/BeefParty.d.ts.map +1 -1
  385. package/dist/types/src/transaction/BeefTx.d.ts +5 -5
  386. package/dist/types/src/transaction/BeefTx.d.ts.map +1 -1
  387. package/dist/types/src/transaction/Broadcaster.d.ts.map +1 -1
  388. package/dist/types/src/transaction/ChainTracker.d.ts +2 -2
  389. package/dist/types/src/transaction/FeeModel.d.ts.map +1 -1
  390. package/dist/types/src/transaction/MerklePath.d.ts.map +1 -1
  391. package/dist/types/src/transaction/Transaction.d.ts +4 -12
  392. package/dist/types/src/transaction/Transaction.d.ts.map +1 -1
  393. package/dist/types/src/transaction/TransactionOutput.d.ts.map +1 -1
  394. package/dist/types/src/transaction/broadcasters/ARC.d.ts +1 -1
  395. package/dist/types/src/transaction/broadcasters/ARC.d.ts.map +1 -1
  396. package/dist/types/src/transaction/broadcasters/DefaultBroadcaster.d.ts.map +1 -1
  397. package/dist/types/src/transaction/broadcasters/WhatsOnChainBroadcaster.d.ts.map +1 -1
  398. package/dist/types/src/transaction/chaintrackers/DefaultChainTracker.d.ts.map +1 -1
  399. package/dist/types/src/transaction/chaintrackers/WhatsOnChain.d.ts.map +1 -1
  400. package/dist/types/src/transaction/fee-models/SatoshisPerKilobyte.d.ts.map +1 -1
  401. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts +1 -1
  402. package/dist/types/src/transaction/http/DefaultHttpClient.d.ts.map +1 -1
  403. package/dist/types/src/transaction/http/FetchHttpClient.d.ts +5 -5
  404. package/dist/types/src/transaction/http/FetchHttpClient.d.ts.map +1 -1
  405. package/dist/types/src/transaction/http/HttpClient.d.ts +4 -4
  406. package/dist/types/src/transaction/http/HttpClient.d.ts.map +1 -1
  407. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts +3 -3
  408. package/dist/types/src/transaction/http/NodejsHttpClient.d.ts.map +1 -1
  409. package/dist/types/src/transaction/http/index.d.ts.map +1 -1
  410. package/dist/types/src/transaction/index.d.ts.map +1 -1
  411. package/dist/types/src/wallet/CachedKeyDeriver.d.ts +58 -58
  412. package/dist/types/src/wallet/CachedKeyDeriver.d.ts.map +1 -1
  413. package/dist/types/src/wallet/KeyDeriver.d.ts +78 -78
  414. package/dist/types/src/wallet/KeyDeriver.d.ts.map +1 -1
  415. package/dist/types/src/wallet/ProtoWallet.d.ts +10 -10
  416. package/dist/types/src/wallet/ProtoWallet.d.ts.map +1 -1
  417. package/dist/types/src/wallet/Wallet.interfaces.d.ts +151 -152
  418. package/dist/types/src/wallet/Wallet.interfaces.d.ts.map +1 -1
  419. package/dist/types/src/wallet/WalletClient.d.ts +5 -5
  420. package/dist/types/src/wallet/WalletClient.d.ts.map +1 -1
  421. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts +6 -6
  422. package/dist/types/src/wallet/substrates/HTTPWalletJSON.d.ts.map +1 -1
  423. package/dist/types/src/wallet/substrates/HTTPWalletWire.d.ts.map +1 -1
  424. package/dist/types/src/wallet/substrates/WalletWireProcessor.d.ts.map +1 -1
  425. package/dist/types/src/wallet/substrates/WalletWireTransceiver.d.ts.map +1 -1
  426. package/dist/types/src/wallet/substrates/XDM.d.ts +1 -1
  427. package/dist/types/src/wallet/substrates/XDM.d.ts.map +1 -1
  428. package/dist/types/src/wallet/substrates/window.CWI.d.ts +6 -6
  429. package/dist/types/src/wallet/substrates/window.CWI.d.ts.map +1 -1
  430. package/dist/types/tsconfig.types.tsbuildinfo +1 -1
  431. package/dist/umd/bundle.js +1 -1
  432. package/docs/auth.md +92 -82
  433. package/docs/compat.md +24 -24
  434. package/docs/messages.md +7 -5
  435. package/docs/overlay-tools.md +21 -21
  436. package/docs/primitives.md +336 -315
  437. package/docs/script.md +35 -35
  438. package/docs/swagger/dist/swagger-initializer.js +7 -7
  439. package/docs/swagger/dist/swagger-ui-bundle.js +1 -1
  440. package/docs/swagger/dist/swagger-ui-es-bundle-core.js +2 -2
  441. package/docs/swagger/dist/swagger-ui-es-bundle.js +1 -1
  442. package/docs/swagger/dist/swagger-ui-standalone-preset.js +1 -1
  443. package/docs/swagger/dist/swagger-ui.js +2 -2
  444. package/docs/totp.md +5 -5
  445. package/docs/transaction.md +103 -105
  446. package/docs/wallet-substrates.md +17 -17
  447. package/docs/wallet.md +202 -204
  448. package/mod.ts +15 -15
  449. package/package.json +15 -3
  450. package/src/auth/Peer.ts +271 -121
  451. package/src/auth/SessionManager.ts +17 -10
  452. package/src/auth/__tests/Peer.test.ts +361 -179
  453. package/src/auth/__tests/SessionManager.test.ts +67 -19
  454. package/src/auth/__tests/build.test.ts +11 -0
  455. package/src/auth/certificates/Certificate.ts +27 -14
  456. package/src/auth/certificates/MasterCertificate.ts +106 -62
  457. package/src/auth/certificates/VerifiableCertificate.ts +30 -8
  458. package/src/auth/certificates/__tests/Certificate.test.ts +32 -17
  459. package/src/auth/certificates/__tests/CompletedProtoWallet.ts +171 -68
  460. package/src/auth/certificates/__tests/MasterCertificate.test.ts +63 -47
  461. package/src/auth/certificates/__tests/VerifiableCertificate.test.ts +42 -31
  462. package/src/auth/certificates/index.ts +1 -1
  463. package/src/auth/clients/AuthFetch.ts +1 -0
  464. package/src/auth/clients/index.ts +1 -1
  465. package/src/auth/transports/SimplifiedFetchTransport.ts +145 -72
  466. package/src/auth/transports/index.ts +1 -1
  467. package/src/auth/utils/__tests/cryptononce.test.ts +52 -23
  468. package/src/auth/utils/__tests/getVerifiableCertificates.test.ts +56 -30
  469. package/src/auth/utils/__tests/validateCertificates.test.ts +53 -31
  470. package/src/auth/utils/createNonce.ts +11 -3
  471. package/src/auth/utils/getVerifiableCertificates.ts +12 -7
  472. package/src/auth/utils/validateCertificates.ts +57 -39
  473. package/src/auth/utils/verifyNonce.ts +6 -2
  474. package/src/compat/BSM.ts +10 -2
  475. package/src/compat/ECIES.ts +265 -141
  476. package/src/compat/HD.ts +81 -63
  477. package/src/compat/Mnemonic.ts +104 -91
  478. package/src/compat/Utxo.ts +8 -5
  479. package/src/compat/__tests/BSM.test.ts +42 -16
  480. package/src/compat/__tests/ECIES.test.ts +117 -52
  481. package/src/compat/__tests/HD.test.ts +55 -42
  482. package/src/compat/__tests/Mnemonic.test.ts +11 -12
  483. package/src/compat/__tests/Mnemonic.vectors.ts +110 -55
  484. package/src/messages/EncryptedMessage.ts +6 -2
  485. package/src/messages/SignedMessage.ts +14 -8
  486. package/src/messages/__tests/EncryptedMessage.test.ts +23 -24
  487. package/src/messages/__tests/SignedMessage.test.ts +17 -11
  488. package/src/overlay-tools/LookupResolver.ts +108 -56
  489. package/src/overlay-tools/OverlayAdminTokenTemplate.ts +52 -23
  490. package/src/overlay-tools/SHIPBroadcaster.ts +135 -59
  491. package/src/overlay-tools/__tests/LookupResolver.test.ts +723 -323
  492. package/src/overlay-tools/__tests/OverlayAdminTokenTemplate.test.ts +50 -22
  493. package/src/overlay-tools/__tests/SHIPBroadcaster.test.ts +607 -290
  494. package/src/primitives/AESGCM.ts +2 -0
  495. package/src/primitives/BasePoint.ts +4 -4
  496. package/src/primitives/BigNumber.ts +99 -90
  497. package/src/primitives/Curve.ts +117 -46
  498. package/src/primitives/DRBG.ts +9 -11
  499. package/src/primitives/ECDSA.ts +109 -63
  500. package/src/primitives/Hash.ts +492 -321
  501. package/src/primitives/JacobianPoint.ts +67 -19
  502. package/src/primitives/Point.ts +254 -152
  503. package/src/primitives/Polynomial.ts +8 -3
  504. package/src/primitives/PrivateKey.ts +41 -17
  505. package/src/primitives/PublicKey.ts +13 -3
  506. package/src/primitives/Random.ts +14 -8
  507. package/src/primitives/ReductionContext.ts +1 -1
  508. package/src/primitives/Schnorr.ts +40 -18
  509. package/src/primitives/Signature.ts +26 -16
  510. package/src/primitives/SymmetricKey.ts +14 -14
  511. package/src/primitives/TransactionSignature.ts +41 -17
  512. package/src/primitives/__tests/AESGCM.test.ts +457 -151
  513. package/src/primitives/__tests/BRC42.private.vectors.ts +30 -15
  514. package/src/primitives/__tests/BRC42.public.vectors.ts +30 -15
  515. package/src/primitives/__tests/BigNumber.arithmatic.test.ts +344 -125
  516. package/src/primitives/__tests/BigNumber.binary.test.ts +148 -67
  517. package/src/primitives/__tests/BigNumber.constructor.test.ts +65 -25
  518. package/src/primitives/__tests/BigNumber.dhGroup.test.ts +15 -11
  519. package/src/primitives/__tests/BigNumber.fixtures.ts +16 -8
  520. package/src/primitives/__tests/BigNumber.serializers.test.ts +41 -15
  521. package/src/primitives/__tests/BigNumber.utils.test.ts +132 -42
  522. package/src/primitives/__tests/Curve.unit.test.ts +75 -53
  523. package/src/primitives/__tests/DRBG.test.ts +1 -1
  524. package/src/primitives/__tests/DRBG.vectors.ts +45 -75
  525. package/src/primitives/__tests/ECDH.test.ts +15 -8
  526. package/src/primitives/__tests/ECDSA.test.ts +12 -6
  527. package/src/primitives/__tests/HMAC.test.ts +24 -18
  528. package/src/primitives/__tests/Hash.test.ts +57 -46
  529. package/src/primitives/__tests/PBKDF2.vectors.ts +130 -117
  530. package/src/primitives/__tests/PrivateKey.split.test.ts +33 -11
  531. package/src/primitives/__tests/PrivateKey.test.ts +11 -10
  532. package/src/primitives/__tests/PublicKey.test.ts +64 -53
  533. package/src/primitives/__tests/Random.test.ts +1 -1
  534. package/src/primitives/__tests/Reader.test.ts +240 -219
  535. package/src/primitives/__tests/ReductionContext.test.ts +98 -61
  536. package/src/primitives/__tests/Schnorr.test.ts +249 -237
  537. package/src/primitives/__tests/SymmetricKey.test.ts +18 -15
  538. package/src/primitives/__tests/SymmetricKey.vectors.ts +16 -8
  539. package/src/primitives/__tests/Writer.test.ts +23 -13
  540. package/src/primitives/__tests/bug-31.test.ts +6 -10
  541. package/src/primitives/__tests/utils.test.ts +70 -19
  542. package/src/primitives/utils.ts +103 -79
  543. package/src/script/Script.ts +18 -12
  544. package/src/script/ScriptTemplate.ts +3 -5
  545. package/src/script/Spend.ts +306 -108
  546. package/src/script/__tests/Script.test.ts +73 -55
  547. package/src/script/__tests/Spend.test.ts +208 -83
  548. package/src/script/__tests/SpendComplex.test.ts +19 -13
  549. package/src/script/__tests/script.invalid.vectors.ts +428 -1796
  550. package/src/script/__tests/script.valid.vectors.ts +728 -2764
  551. package/src/script/templates/P2PKH.ts +34 -12
  552. package/src/script/templates/PushDrop.ts +65 -31
  553. package/src/script/templates/RPuzzle.ts +29 -8
  554. package/src/script/templates/__tests/PushDrop.test.ts +146 -41
  555. package/src/totp/__tests/totp.test.ts +45 -44
  556. package/src/totp/totp.ts +3 -2
  557. package/src/transaction/Beef.ts +269 -174
  558. package/src/transaction/BeefParty.ts +41 -31
  559. package/src/transaction/BeefTx.ts +36 -26
  560. package/src/transaction/Broadcaster.ts +10 -6
  561. package/src/transaction/ChainTracker.ts +2 -2
  562. package/src/transaction/FeeModel.ts +0 -1
  563. package/src/transaction/MerklePath.ts +124 -59
  564. package/src/transaction/Transaction.ts +188 -187
  565. package/src/transaction/TransactionOutput.ts +0 -1
  566. package/src/transaction/__tests/Beef.test.ts +390 -287
  567. package/src/transaction/__tests/MerklePath.test.ts +59 -26
  568. package/src/transaction/__tests/Transaction.benchmarks.test.ts +231 -201
  569. package/src/transaction/__tests/Transaction.test.ts +758 -482
  570. package/src/transaction/__tests/bigtx.vectors.ts +2 -1
  571. package/src/transaction/__tests/bump.invalid.vectors.ts +24 -6
  572. package/src/transaction/__tests/bump.valid.vectors.ts +6 -2
  573. package/src/transaction/__tests/tx.invalid.vectors.ts +881 -185
  574. package/src/transaction/__tests/tx.valid.vectors.ts +1210 -257
  575. package/src/transaction/broadcasters/ARC.ts +69 -38
  576. package/src/transaction/broadcasters/DefaultBroadcaster.ts +9 -3
  577. package/src/transaction/broadcasters/WhatsOnChainBroadcaster.ts +20 -7
  578. package/src/transaction/broadcasters/__tests/ARC.test.ts +127 -59
  579. package/src/transaction/broadcasters/__tests/WhatsOnChainBroadcaster.test.ts +27 -18
  580. package/src/transaction/chaintrackers/DefaultChainTracker.ts +1 -1
  581. package/src/transaction/chaintrackers/WhatsOnChain.ts +27 -11
  582. package/src/transaction/chaintrackers/__tests/WhatsOnChainChainTracker.test.ts +59 -23
  583. package/src/transaction/fee-models/SatoshisPerKilobyte.ts +9 -5
  584. package/src/transaction/http/DefaultHttpClient.ts +5 -4
  585. package/src/transaction/http/FetchHttpClient.ts +18 -9
  586. package/src/transaction/http/HttpClient.ts +27 -22
  587. package/src/transaction/http/NodejsHttpClient.ts +23 -9
  588. package/src/transaction/http/index.ts +5 -1
  589. package/src/transaction/index.ts +5 -1
  590. package/src/wallet/CachedKeyDeriver.ts +151 -82
  591. package/src/wallet/KeyDeriver.ts +186 -105
  592. package/src/wallet/ProtoWallet.ts +121 -52
  593. package/src/wallet/Wallet.interfaces.ts +167 -156
  594. package/src/wallet/WalletClient.ts +314 -59
  595. package/src/wallet/WalletError.ts +2 -2
  596. package/src/wallet/__tests/CachedKeyDeriver.test.ts +86 -27
  597. package/src/wallet/__tests/KeyDeriver.test.ts +136 -33
  598. package/src/wallet/__tests/ProtoWallet.test.ts +190 -102
  599. package/src/wallet/substrates/HTTPWalletJSON.ts +250 -67
  600. package/src/wallet/substrates/HTTPWalletWire.ts +7 -3
  601. package/src/wallet/substrates/WalletWireCalls.ts +2 -2
  602. package/src/wallet/substrates/WalletWireProcessor.ts +1412 -1277
  603. package/src/wallet/substrates/WalletWireTransceiver.ts +713 -138
  604. package/src/wallet/substrates/XDM.ts +425 -36
  605. package/src/wallet/substrates/__tests/WalletWire.integration.test.ts +488 -225
  606. package/src/wallet/substrates/__tests/XDM.test.ts +232 -234
  607. package/src/wallet/substrates/window.CWI.ts +520 -61
@@ -1,18 +1,20 @@
1
- import ProtoWallet from '../../../../dist/cjs/src/wallet/ProtoWallet.js'
2
- import { Utils, PrivateKey, Hash } from '../../../../dist/cjs/src/primitives/index.js'
3
- import WalletWireTransceiver from '../../../../dist/cjs/src/wallet/substrates/WalletWireTransceiver.js'
4
- import WalletWireProcessor from '../../../../dist/cjs/src/wallet/substrates/WalletWireProcessor.js'
1
+ import { CompletedProtoWallet } from '../../../auth/certificates/__tests/CompletedProtoWallet'
2
+ import { Utils, PrivateKey, Hash } from '../../../primitives/index'
3
+ import WalletWireTransceiver from '../../../wallet/substrates/WalletWireTransceiver'
4
+ import WalletWireProcessor from '../../../wallet/substrates/WalletWireProcessor'
5
5
 
6
6
  const sampleData = [3, 1, 4, 1, 5, 9]
7
7
 
8
8
  describe('WalletWire Integration Tests', () => {
9
9
  /**
10
- * This is a copy of the test suite for ProtoWallet, but instead of using a ProtoWallet directly, we're using it over the WalletWire.
11
- * This serves as an imperfect but still useful way to ensure that the WalletWire doesn't contain serialization or deserialization issues.
12
- */
10
+ * This is a copy of the test suite for CompletedProtoWallet, but instead of using a CompletedProtoWallet directly, we're using it over the WalletWire.
11
+ * This serves as an imperfect but still useful way to ensure that the WalletWire doesn't contain serialization or deserialization issues.
12
+ */
13
13
  describe('ProtoWallet Over Wallet Wire', () => {
14
14
  it('Throws when functions are not supported', async () => {
15
- const wallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet('anyone')))
15
+ const wallet = new WalletWireTransceiver(
16
+ new WalletWireProcessor(new CompletedProtoWallet('anyone'))
17
+ )
16
18
  await expect(() => {
17
19
  return (wallet as any).createAction()
18
20
  }).rejects.toThrow()
@@ -61,42 +63,88 @@ describe('WalletWire Integration Tests', () => {
61
63
  }).rejects.toThrow()
62
64
  })
63
65
  it('Validates the BRC-3 compliance vector', async () => {
64
- const wallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet('anyone')))
66
+ const wallet = new WalletWireTransceiver(
67
+ new WalletWireProcessor(new CompletedProtoWallet('anyone'))
68
+ )
65
69
  const { valid } = await wallet.verifySignature({
66
70
  data: Utils.toArray('BRC-3 Compliance Validated!', 'utf8'),
67
- signature: [48, 68, 2, 32, 43, 34, 58, 156, 219, 32, 50, 70, 29, 240, 155, 137, 88, 60, 200, 95, 243, 198, 201, 21, 56, 82, 141, 112, 69, 196, 170, 73, 156, 6, 44, 48, 2, 32, 118, 125, 254, 201, 44, 87, 177, 170, 93, 11, 193, 134, 18, 70, 9, 31, 234, 27, 170, 177, 54, 96, 181, 140, 166, 196, 144, 14, 230, 118, 106, 105],
71
+ signature: [
72
+ 48, 68, 2, 32, 43, 34, 58, 156, 219, 32, 50, 70, 29, 240, 155, 137,
73
+ 88, 60, 200, 95, 243, 198, 201, 21, 56, 82, 141, 112, 69, 196, 170,
74
+ 73, 156, 6, 44, 48, 2, 32, 118, 125, 254, 201, 44, 87, 177, 170, 93,
75
+ 11, 193, 134, 18, 70, 9, 31, 234, 27, 170, 177, 54, 96, 181, 140, 166,
76
+ 196, 144, 14, 230, 118, 106, 105
77
+ ],
68
78
  protocolID: [2, 'BRC3 Test'],
69
79
  keyID: '42',
70
- counterparty: '0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
80
+ counterparty:
81
+ '0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
71
82
  })
72
83
  expect(valid).toBe(true)
73
84
  })
74
85
  it('Validates the BRC-2 HMAC compliance vector', async () => {
75
- const wallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(new PrivateKey('6a2991c9de20e38b31d7ea147bf55f5039e4bbc073160f5e0d541d1f17e321b8', 'hex'))))
86
+ const wallet = new WalletWireTransceiver(
87
+ new WalletWireProcessor(
88
+ new CompletedProtoWallet(
89
+ new PrivateKey(
90
+ '6a2991c9de20e38b31d7ea147bf55f5039e4bbc073160f5e0d541d1f17e321b8',
91
+ 'hex'
92
+ )
93
+ )
94
+ )
95
+ )
76
96
  const { valid } = await wallet.verifyHmac({
77
97
  data: Utils.toArray('BRC-2 HMAC Compliance Validated!', 'utf8'),
78
- hmac: [81, 240, 18, 153, 163, 45, 174, 85, 9, 246, 142, 125, 209, 133, 82, 76, 254, 103, 46, 182, 86, 59, 219, 61, 126, 30, 176, 232, 233, 100, 234, 14],
98
+ hmac: [
99
+ 81, 240, 18, 153, 163, 45, 174, 85, 9, 246, 142, 125, 209, 133, 82,
100
+ 76, 254, 103, 46, 182, 86, 59, 219, 61, 126, 30, 176, 232, 233, 100,
101
+ 234, 14
102
+ ],
79
103
  protocolID: [2, 'BRC2 Test'],
80
104
  keyID: '42',
81
- counterparty: '0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
105
+ counterparty:
106
+ '0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
82
107
  })
83
108
  expect(valid).toBe(true)
84
109
  })
85
110
  it('Validates the BRC-2 Encryption compliance vector', async () => {
86
- const wallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(new PrivateKey('6a2991c9de20e38b31d7ea147bf55f5039e4bbc073160f5e0d541d1f17e321b8', 'hex'))))
111
+ const wallet = new WalletWireTransceiver(
112
+ new WalletWireProcessor(
113
+ new CompletedProtoWallet(
114
+ new PrivateKey(
115
+ '6a2991c9de20e38b31d7ea147bf55f5039e4bbc073160f5e0d541d1f17e321b8',
116
+ 'hex'
117
+ )
118
+ )
119
+ )
120
+ )
87
121
  const { plaintext } = await wallet.decrypt({
88
- ciphertext: [252, 203, 216, 184, 29, 161, 223, 212, 16, 193, 94, 99, 31, 140, 99, 43, 61, 236, 184, 67, 54, 105, 199, 47, 11, 19, 184, 127, 2, 165, 125, 9, 188, 195, 196, 39, 120, 130, 213, 95, 186, 89, 64, 28, 1, 80, 20, 213, 159, 133, 98, 253, 128, 105, 113, 247, 197, 152, 236, 64, 166, 207, 113, 134, 65, 38, 58, 24, 127, 145, 140, 206, 47, 70, 146, 84, 186, 72, 95, 35, 154, 112, 178, 55, 72, 124],
122
+ ciphertext: [
123
+ 252, 203, 216, 184, 29, 161, 223, 212, 16, 193, 94, 99, 31, 140, 99,
124
+ 43, 61, 236, 184, 67, 54, 105, 199, 47, 11, 19, 184, 127, 2, 165, 125,
125
+ 9, 188, 195, 196, 39, 120, 130, 213, 95, 186, 89, 64, 28, 1, 80, 20,
126
+ 213, 159, 133, 98, 253, 128, 105, 113, 247, 197, 152, 236, 64, 166,
127
+ 207, 113, 134, 65, 38, 58, 24, 127, 145, 140, 206, 47, 70, 146, 84,
128
+ 186, 72, 95, 35, 154, 112, 178, 55, 72, 124
129
+ ],
89
130
  protocolID: [2, 'BRC2 Test'],
90
131
  keyID: '42',
91
- counterparty: '0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
132
+ counterparty:
133
+ '0294c479f762f6baa97fbcd4393564c1d7bd8336ebd15928135bbcf575cd1a71a1'
92
134
  })
93
- expect(Utils.toUTF8(plaintext)).toEqual('BRC-2 Encryption Compliance Validated!')
135
+ expect(Utils.toUTF8(plaintext)).toEqual(
136
+ 'BRC-2 Encryption Compliance Validated!'
137
+ )
94
138
  })
95
139
  it('Encrypts messages decryptable by the counterparty', async () => {
96
140
  const userKey = PrivateKey.fromRandom()
97
141
  const counterpartyKey = PrivateKey.fromRandom()
98
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
99
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
142
+ const user = new WalletWireTransceiver(
143
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
144
+ )
145
+ const counterparty = new WalletWireTransceiver(
146
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
147
+ )
100
148
  const { ciphertext } = await user.encrypt({
101
149
  plaintext: sampleData,
102
150
  protocolID: [2, 'tests'],
@@ -115,38 +163,55 @@ describe('WalletWire Integration Tests', () => {
115
163
  it('Fails to decryupt messages for the wrong protocol, key, and counterparty', async () => {
116
164
  const userKey = PrivateKey.fromRandom()
117
165
  const counterpartyKey = PrivateKey.fromRandom()
118
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
119
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
166
+ const user = new WalletWireTransceiver(
167
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
168
+ )
169
+ const counterparty = new WalletWireTransceiver(
170
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
171
+ )
120
172
  const { ciphertext } = await user.encrypt({
121
173
  plaintext: sampleData,
122
174
  protocolID: [2, 'tests'],
123
175
  keyID: '4',
124
176
  counterparty: counterpartyKey.toPublicKey().toString()
125
177
  })
126
- await expect(async () => await counterparty.decrypt({
127
- ciphertext,
128
- protocolID: [1, 'tests'],
129
- keyID: '4',
130
- counterparty: userKey.toPublicKey().toString()
131
- })).rejects.toThrow()
132
- await expect(async () => await counterparty.decrypt({
133
- ciphertext,
134
- protocolID: [2, 'tests'],
135
- keyID: '5',
136
- counterparty: userKey.toPublicKey().toString()
137
- })).rejects.toThrow()
138
- await expect(async () => await counterparty.decrypt({
139
- ciphertext,
140
- protocolID: [2, 'tests'],
141
- keyID: '4',
142
- counterparty: counterpartyKey.toPublicKey().toString()
143
- })).rejects.toThrow()
178
+ await expect(
179
+ async () =>
180
+ await counterparty.decrypt({
181
+ ciphertext,
182
+ protocolID: [1, 'tests'],
183
+ keyID: '4',
184
+ counterparty: userKey.toPublicKey().toString()
185
+ })
186
+ ).rejects.toThrow()
187
+ await expect(
188
+ async () =>
189
+ await counterparty.decrypt({
190
+ ciphertext,
191
+ protocolID: [2, 'tests'],
192
+ keyID: '5',
193
+ counterparty: userKey.toPublicKey().toString()
194
+ })
195
+ ).rejects.toThrow()
196
+ await expect(
197
+ async () =>
198
+ await counterparty.decrypt({
199
+ ciphertext,
200
+ protocolID: [2, 'tests'],
201
+ keyID: '4',
202
+ counterparty: counterpartyKey.toPublicKey().toString()
203
+ })
204
+ ).rejects.toThrow()
144
205
  })
145
206
  it('Correctly derives keys for a counterparty', async () => {
146
207
  const userKey = PrivateKey.fromRandom()
147
208
  const counterpartyKey = PrivateKey.fromRandom()
148
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
149
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
209
+ const user = new WalletWireTransceiver(
210
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
211
+ )
212
+ const counterparty = new WalletWireTransceiver(
213
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
214
+ )
150
215
  const { publicKey: identityKey } = await user.getPublicKey({
151
216
  identityKey: true
152
217
  })
@@ -156,19 +221,24 @@ describe('WalletWire Integration Tests', () => {
156
221
  keyID: '4',
157
222
  counterparty: counterpartyKey.toPublicKey().toString()
158
223
  })
159
- const { publicKey: derivedByCounterparty } = await counterparty.getPublicKey({
160
- protocolID: [2, 'tests'],
161
- keyID: '4',
162
- counterparty: userKey.toPublicKey().toString(),
163
- forSelf: true
164
- })
224
+ const { publicKey: derivedByCounterparty } =
225
+ await counterparty.getPublicKey({
226
+ protocolID: [2, 'tests'],
227
+ keyID: '4',
228
+ counterparty: userKey.toPublicKey().toString(),
229
+ forSelf: true
230
+ })
165
231
  expect(derivedForCounterparty).toEqual(derivedByCounterparty)
166
232
  })
167
233
  it('Signs messages verifiable by the counterparty', async () => {
168
234
  const userKey = PrivateKey.fromRandom()
169
235
  const counterpartyKey = PrivateKey.fromRandom()
170
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
171
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
236
+ const user = new WalletWireTransceiver(
237
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
238
+ )
239
+ const counterparty = new WalletWireTransceiver(
240
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
241
+ )
172
242
  const { signature } = await user.createSignature({
173
243
  data: sampleData,
174
244
  protocolID: [2, 'tests'],
@@ -188,8 +258,12 @@ describe('WalletWire Integration Tests', () => {
188
258
  it('Directly signs hash of message verifiable by the counterparty', async () => {
189
259
  const userKey = PrivateKey.fromRandom()
190
260
  const counterpartyKey = PrivateKey.fromRandom()
191
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
192
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
261
+ const user = new WalletWireTransceiver(
262
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
263
+ )
264
+ const counterparty = new WalletWireTransceiver(
265
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
266
+ )
193
267
  const { signature } = await user.createSignature({
194
268
  hashToDirectlySign: Hash.sha256(sampleData),
195
269
  protocolID: [2, 'tests'],
@@ -217,48 +291,68 @@ describe('WalletWire Integration Tests', () => {
217
291
  it('Fails to verify signature for the wrong data, protocol, key, and counterparty', async () => {
218
292
  const userKey = PrivateKey.fromRandom()
219
293
  const counterpartyKey = PrivateKey.fromRandom()
220
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
221
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
294
+ const user = new WalletWireTransceiver(
295
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
296
+ )
297
+ const counterparty = new WalletWireTransceiver(
298
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
299
+ )
222
300
  const { signature } = await user.createSignature({
223
301
  data: sampleData,
224
302
  protocolID: [2, 'tests'],
225
303
  keyID: '4',
226
304
  counterparty: counterpartyKey.toPublicKey().toString()
227
305
  })
228
- await expect(async () => await counterparty.verifySignature({
229
- signature,
230
- data: [0, ...sampleData],
231
- protocolID: [2, 'tests'],
232
- keyID: '4',
233
- counterparty: userKey.toPublicKey().toString()
234
- })).rejects.toThrow()
235
- await expect(async () => await counterparty.verifySignature({
236
- signature,
237
- data: sampleData,
238
- protocolID: [2, 'wrong'],
239
- keyID: '4',
240
- counterparty: userKey.toPublicKey().toString()
241
- })).rejects.toThrow()
242
- await expect(async () => await counterparty.verifySignature({
243
- signature,
244
- data: sampleData,
245
- protocolID: [2, 'tests'],
246
- keyID: '2',
247
- counterparty: userKey.toPublicKey().toString()
248
- })).rejects.toThrow()
249
- await expect(async () => await counterparty.verifySignature({
250
- signature,
251
- data: sampleData,
252
- protocolID: [2, 'tests'],
253
- keyID: '4',
254
- counterparty: counterpartyKey.toPublicKey().toString()
255
- })).rejects.toThrow()
306
+ await expect(
307
+ async () =>
308
+ await counterparty.verifySignature({
309
+ signature,
310
+ data: [0, ...sampleData],
311
+ protocolID: [2, 'tests'],
312
+ keyID: '4',
313
+ counterparty: userKey.toPublicKey().toString()
314
+ })
315
+ ).rejects.toThrow()
316
+ await expect(
317
+ async () =>
318
+ await counterparty.verifySignature({
319
+ signature,
320
+ data: sampleData,
321
+ protocolID: [2, 'wrong'],
322
+ keyID: '4',
323
+ counterparty: userKey.toPublicKey().toString()
324
+ })
325
+ ).rejects.toThrow()
326
+ await expect(
327
+ async () =>
328
+ await counterparty.verifySignature({
329
+ signature,
330
+ data: sampleData,
331
+ protocolID: [2, 'tests'],
332
+ keyID: '2',
333
+ counterparty: userKey.toPublicKey().toString()
334
+ })
335
+ ).rejects.toThrow()
336
+ await expect(
337
+ async () =>
338
+ await counterparty.verifySignature({
339
+ signature,
340
+ data: sampleData,
341
+ protocolID: [2, 'tests'],
342
+ keyID: '4',
343
+ counterparty: counterpartyKey.toPublicKey().toString()
344
+ })
345
+ ).rejects.toThrow()
256
346
  })
257
347
  it('Computes HMAC over messages verifiable by the counterparty', async () => {
258
348
  const userKey = PrivateKey.fromRandom()
259
349
  const counterpartyKey = PrivateKey.fromRandom()
260
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
261
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
350
+ const user = new WalletWireTransceiver(
351
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
352
+ )
353
+ const counterparty = new WalletWireTransceiver(
354
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
355
+ )
262
356
  const { hmac } = await user.createHmac({
263
357
  data: sampleData,
264
358
  protocolID: [2, 'tests'],
@@ -278,46 +372,64 @@ describe('WalletWire Integration Tests', () => {
278
372
  it('Fails to verify HMAC for the wrong data, protocol, key, and counterparty', async () => {
279
373
  const userKey = PrivateKey.fromRandom()
280
374
  const counterpartyKey = PrivateKey.fromRandom()
281
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
282
- const counterparty = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(counterpartyKey)))
375
+ const user = new WalletWireTransceiver(
376
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
377
+ )
378
+ const counterparty = new WalletWireTransceiver(
379
+ new WalletWireProcessor(new CompletedProtoWallet(counterpartyKey))
380
+ )
283
381
  const { hmac } = await user.createHmac({
284
382
  data: sampleData,
285
383
  protocolID: [2, 'tests'],
286
384
  keyID: '4',
287
385
  counterparty: counterpartyKey.toPublicKey().toString()
288
386
  })
289
- await expect(async () => await counterparty.verifyHmac({
290
- hmac,
291
- data: [0, ...sampleData],
292
- protocolID: [2, 'tests'],
293
- keyID: '4',
294
- counterparty: userKey.toPublicKey().toString()
295
- })).rejects.toThrow()
296
- await expect(async () => await counterparty.verifyHmac({
297
- hmac,
298
- data: sampleData,
299
- protocolID: [2, 'wrong'],
300
- keyID: '4',
301
- counterparty: userKey.toPublicKey().toString()
302
- })).rejects.toThrow()
303
- await expect(async () => await counterparty.verifyHmac({
304
- hmac,
305
- data: sampleData,
306
- protocolID: [2, 'tests'],
307
- keyID: '2',
308
- counterparty: userKey.toPublicKey().toString()
309
- })).rejects.toThrow()
310
- await expect(async () => await counterparty.verifyHmac({
311
- hmac,
312
- data: sampleData,
313
- protocolID: [2, 'tests'],
314
- keyID: '4',
315
- counterparty: counterpartyKey.toPublicKey().toString()
316
- })).rejects.toThrow()
387
+ await expect(
388
+ async () =>
389
+ await counterparty.verifyHmac({
390
+ hmac,
391
+ data: [0, ...sampleData],
392
+ protocolID: [2, 'tests'],
393
+ keyID: '4',
394
+ counterparty: userKey.toPublicKey().toString()
395
+ })
396
+ ).rejects.toThrow()
397
+ await expect(
398
+ async () =>
399
+ await counterparty.verifyHmac({
400
+ hmac,
401
+ data: sampleData,
402
+ protocolID: [2, 'wrong'],
403
+ keyID: '4',
404
+ counterparty: userKey.toPublicKey().toString()
405
+ })
406
+ ).rejects.toThrow()
407
+ await expect(
408
+ async () =>
409
+ await counterparty.verifyHmac({
410
+ hmac,
411
+ data: sampleData,
412
+ protocolID: [2, 'tests'],
413
+ keyID: '2',
414
+ counterparty: userKey.toPublicKey().toString()
415
+ })
416
+ ).rejects.toThrow()
417
+ await expect(
418
+ async () =>
419
+ await counterparty.verifyHmac({
420
+ hmac,
421
+ data: sampleData,
422
+ protocolID: [2, 'tests'],
423
+ keyID: '4',
424
+ counterparty: counterpartyKey.toPublicKey().toString()
425
+ })
426
+ ).rejects.toThrow()
317
427
  })
318
428
  it('Uses anyone for creating signatures and self for other operations if no counterparty is provided', async () => {
319
429
  const userKey = PrivateKey.fromRandom()
320
- const user = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(userKey)))
430
+ const user = new WalletWireTransceiver(
431
+ new WalletWireProcessor(new CompletedProtoWallet(userKey))
432
+ )
321
433
  const { hmac } = await user.createHmac({
322
434
  data: sampleData,
323
435
  protocolID: [2, 'tests'],
@@ -345,7 +457,9 @@ describe('WalletWire Integration Tests', () => {
345
457
  keyID: '4'
346
458
  // counterparty=anyone is implicit for creating signatures
347
459
  })
348
- const anyone = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet('anyone')))
460
+ const anyone = new WalletWireTransceiver(
461
+ new WalletWireProcessor(new CompletedProtoWallet('anyone'))
462
+ )
349
463
  const { valid: anyoneSigValid } = await anyone.verifySignature({
350
464
  signature: anyoneSig,
351
465
  data: sampleData,
@@ -412,8 +526,12 @@ describe('WalletWire Integration Tests', () => {
412
526
  const verifierKey = PrivateKey.fromRandom()
413
527
 
414
528
  // Initialize wallets
415
- const proverWallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(proverKey)))
416
- const verifierWallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(verifierKey)))
529
+ const proverWallet = new WalletWireTransceiver(
530
+ new WalletWireProcessor(new CompletedProtoWallet(proverKey))
531
+ )
532
+ const verifierWallet = new WalletWireTransceiver(
533
+ new WalletWireProcessor(new CompletedProtoWallet(verifierKey))
534
+ )
417
535
 
418
536
  // Prover reveals counterparty key linkage
419
537
  const revelation = await proverWallet.revealCounterpartyKeyLinkage({
@@ -430,7 +548,9 @@ describe('WalletWire Integration Tests', () => {
430
548
  })
431
549
 
432
550
  // Compute expected linkage
433
- const expectedLinkage = proverKey.deriveSharedSecret(counterpartyKey.toPublicKey()).encode(true)
551
+ const expectedLinkage = proverKey
552
+ .deriveSharedSecret(counterpartyKey.toPublicKey())
553
+ .encode(true)
434
554
 
435
555
  // Compare linkage and expectedLinkage
436
556
  expect(linkage).toEqual(expectedLinkage)
@@ -443,8 +563,12 @@ describe('WalletWire Integration Tests', () => {
443
563
  const verifierKey = PrivateKey.fromRandom()
444
564
 
445
565
  // Initialize wallets
446
- const proverWallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(proverKey)))
447
- const verifierWallet = new WalletWireTransceiver(new WalletWireProcessor(new ProtoWallet(verifierKey)))
566
+ const proverWallet = new WalletWireTransceiver(
567
+ new WalletWireProcessor(new CompletedProtoWallet(proverKey))
568
+ )
569
+ const verifierWallet = new WalletWireTransceiver(
570
+ new WalletWireProcessor(new CompletedProtoWallet(verifierKey))
571
+ )
448
572
 
449
573
  const protocolID: [0 | 1 | 2, string] = [0, 'tests']
450
574
  const keyID = 'test key id'
@@ -462,18 +586,27 @@ describe('WalletWire Integration Tests', () => {
462
586
  // Verifier decrypts the encrypted linkage
463
587
  const { plaintext: linkage } = await verifierWallet.decrypt({
464
588
  ciphertext: revelation.encryptedLinkage,
465
- protocolID: [2, `specific linkage revelation ${protocolID[0]} ${protocolID[1]}`],
589
+ protocolID: [
590
+ 2,
591
+ `specific linkage revelation ${protocolID[0]} ${protocolID[1]}`
592
+ ],
466
593
  keyID,
467
594
  counterparty: proverKey.toPublicKey().toString()
468
595
  })
469
596
 
470
597
  // Compute expected linkage
471
- const sharedSecret = proverKey.deriveSharedSecret(counterpartyKey.toPublicKey()).encode(true)
598
+ const sharedSecret = proverKey
599
+ .deriveSharedSecret(counterpartyKey.toPublicKey())
600
+ .encode(true)
472
601
 
473
602
  // Function to compute the invoice number
474
- const computeInvoiceNumber = function (protocolID, keyID) {
603
+ const computeInvoiceNumber = function (protocolID: [number, string], keyID: string): string {
475
604
  const securityLevel = protocolID[0]
476
- if (!Number.isInteger(securityLevel) || securityLevel < 0 || securityLevel > 2) {
605
+ if (
606
+ !Number.isInteger(securityLevel) ||
607
+ securityLevel < 0 ||
608
+ securityLevel > 2
609
+ ) {
477
610
  throw new Error('Protocol security level must be 0, 1, or 2')
478
611
  }
479
612
  const protocolName = protocolID[1].toLowerCase().trim()
@@ -490,10 +623,14 @@ describe('WalletWire Integration Tests', () => {
490
623
  throw new Error('Protocol names must be 5 characters or more')
491
624
  }
492
625
  if (protocolName.includes(' ')) {
493
- throw new Error('Protocol names cannot contain multiple consecutive spaces (" ")')
626
+ throw new Error(
627
+ 'Protocol names cannot contain multiple consecutive spaces (" ")'
628
+ )
494
629
  }
495
630
  if (!/^[a-z0-9 ]+$/g.test(protocolName)) {
496
- throw new Error('Protocol names can only contain letters, numbers and spaces')
631
+ throw new Error(
632
+ 'Protocol names can only contain letters, numbers and spaces'
633
+ )
497
634
  }
498
635
  if (protocolName.endsWith(' protocol')) {
499
636
  throw new Error('No need to end your protocol name with " protocol"')
@@ -511,17 +648,21 @@ describe('WalletWire Integration Tests', () => {
511
648
  })
512
649
  })
513
650
  // Helper function to create a test wallet wire setup
514
- const createTestWalletWire = (wallet: ProtoWallet) => {
651
+ const createTestWalletWire = (wallet: CompletedProtoWallet): WalletWireTransceiver => {
515
652
  const processor = new WalletWireProcessor(wallet)
516
653
  const transceiver = new WalletWireTransceiver(processor)
517
654
  return transceiver
518
655
  }
519
656
 
520
- // Mock implementation for methods not supported by ProtoWallet
521
- const mockUnsupportedMethods = (methods: Partial<ProtoWallet>): ProtoWallet => {
522
- return {
657
+ // Mock implementation for methods not supported by CompletedProtoWallet
658
+ const mockUnsupportedMethods = (
659
+ methods: Partial<CompletedProtoWallet>
660
+ ): CompletedProtoWallet => {
661
+ // @ts-expect-error
662
+ const result: CompletedProtoWallet = {
523
663
  ...methods
524
- } as ProtoWallet
664
+ }
665
+ return result
525
666
  }
526
667
 
527
668
  describe('createAction', () => {
@@ -665,11 +806,13 @@ describe('WalletWire Integration Tests', () => {
665
806
  description: 'Test action with all options',
666
807
  inputs: [],
667
808
  inputBEEF: [1, 2, 3, 4],
668
- outputs: [{
669
- lockingScript: '016a',
670
- satoshis: 1,
671
- outputDescription: 'This is a test.'
672
- }],
809
+ outputs: [
810
+ {
811
+ lockingScript: '016a',
812
+ satoshis: 1,
813
+ outputDescription: 'This is a test.'
814
+ }
815
+ ],
673
816
  lockTime: 0,
674
817
  version: 1,
675
818
  labels: ['label1', 'label2'],
@@ -702,7 +845,9 @@ describe('WalletWire Integration Tests', () => {
702
845
 
703
846
  it('should throw an error with invalid inputs', async () => {
704
847
  // Mock the createAction method to throw an error
705
- const createActionMock = jest.fn().mockRejectedValue(new Error('Invalid inputs'))
848
+ const createActionMock = jest
849
+ .fn()
850
+ .mockRejectedValue(new Error('Invalid inputs'))
706
851
  const wallet = createTestWalletWire(
707
852
  mockUnsupportedMethods({
708
853
  createAction: createActionMock
@@ -745,7 +890,9 @@ describe('WalletWire Integration Tests', () => {
745
890
 
746
891
  it('should throw an error with invalid inputs', async () => {
747
892
  // Mock the signAction method to throw an error
748
- const signActionMock = jest.fn().mockRejectedValue(new Error('Invalid inputs'))
893
+ const signActionMock = jest
894
+ .fn()
895
+ .mockRejectedValue(new Error('Invalid inputs'))
749
896
  const wallet = createTestWalletWire(
750
897
  mockUnsupportedMethods({
751
898
  signAction: signActionMock
@@ -778,7 +925,9 @@ describe('WalletWire Integration Tests', () => {
778
925
 
779
926
  it('should throw an error with invalid reference', async () => {
780
927
  // Mock the abortAction method to throw an error
781
- const abortActionMock = jest.fn().mockRejectedValue(new Error('Invalid reference'))
928
+ const abortActionMock = jest
929
+ .fn()
930
+ .mockRejectedValue(new Error('Invalid reference'))
782
931
  const wallet = createTestWalletWire(
783
932
  mockUnsupportedMethods({
784
933
  abortAction: abortActionMock
@@ -786,7 +935,9 @@ describe('WalletWire Integration Tests', () => {
786
935
  )
787
936
  const reference = ''
788
937
  const args = { reference }
789
- await expect(wallet.abortAction(args)).rejects.toThrow('Invalid reference')
938
+ await expect(wallet.abortAction(args)).rejects.toThrow(
939
+ 'Invalid reference'
940
+ )
790
941
  expect(abortActionMock).toHaveBeenCalledWith(args, '')
791
942
  })
792
943
  })
@@ -855,7 +1006,9 @@ describe('WalletWire Integration Tests', () => {
855
1006
 
856
1007
  it('should throw an error with invalid inputs', async () => {
857
1008
  // Mock the listActions method to throw an error
858
- const listActionsMock = jest.fn().mockRejectedValue(new Error('Invalid inputs'))
1009
+ const listActionsMock = jest
1010
+ .fn()
1011
+ .mockRejectedValue(new Error('Invalid inputs'))
859
1012
  const wallet = createTestWalletWire(
860
1013
  mockUnsupportedMethods({
861
1014
  listActions: listActionsMock
@@ -872,7 +1025,9 @@ describe('WalletWire Integration Tests', () => {
872
1025
  describe('internalizeAction', () => {
873
1026
  it('should internalize an action with valid inputs', async () => {
874
1027
  // Mock the internalizeAction method
875
- const internalizeActionMock = jest.fn().mockResolvedValue({ accepted: true })
1028
+ const internalizeActionMock = jest
1029
+ .fn()
1030
+ .mockResolvedValue({ accepted: true })
876
1031
  const wallet = createTestWalletWire(
877
1032
  mockUnsupportedMethods({
878
1033
  internalizeAction: internalizeActionMock
@@ -902,7 +1057,9 @@ describe('WalletWire Integration Tests', () => {
902
1057
 
903
1058
  it('should throw an error with invalid inputs', async () => {
904
1059
  // Mock the internalizeAction method to throw an error
905
- const internalizeActionMock = jest.fn().mockRejectedValue(new Error('Invalid inputs'))
1060
+ const internalizeActionMock = jest
1061
+ .fn()
1062
+ .mockRejectedValue(new Error('Invalid inputs'))
906
1063
  const wallet = createTestWalletWire(
907
1064
  mockUnsupportedMethods({
908
1065
  internalizeAction: internalizeActionMock
@@ -913,12 +1070,16 @@ describe('WalletWire Integration Tests', () => {
913
1070
  outputs: [],
914
1071
  description: 'Test internalize action'
915
1072
  }
916
- await expect(wallet.internalizeAction(args)).rejects.toThrow('Invalid inputs')
1073
+ await expect(wallet.internalizeAction(args)).rejects.toThrow(
1074
+ 'Invalid inputs'
1075
+ )
917
1076
  expect(internalizeActionMock).toHaveBeenCalledWith(args, '')
918
1077
  })
919
1078
  it('should internalize an action with "basket insertion" protocol', async () => {
920
1079
  // Mock the internalizeAction method
921
- const internalizeActionMock = jest.fn().mockResolvedValue({ accepted: true })
1080
+ const internalizeActionMock = jest
1081
+ .fn()
1082
+ .mockResolvedValue({ accepted: true })
922
1083
  const wallet = createTestWalletWire(
923
1084
  mockUnsupportedMethods({
924
1085
  internalizeAction: internalizeActionMock
@@ -954,7 +1115,8 @@ describe('WalletWire Integration Tests', () => {
954
1115
  totalOutputs: 1,
955
1116
  outputs: [
956
1117
  {
957
- outpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1118
+ outpoint:
1119
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
958
1120
  satoshis: 1000,
959
1121
  lockingScript: '00',
960
1122
  spendable: true,
@@ -985,7 +1147,9 @@ describe('WalletWire Integration Tests', () => {
985
1147
 
986
1148
  it('should throw an error with invalid inputs', async () => {
987
1149
  // Mock the listOutputs method to throw an error
988
- const listOutputsMock = jest.fn().mockRejectedValue(new Error('Invalid inputs'))
1150
+ const listOutputsMock = jest
1151
+ .fn()
1152
+ .mockRejectedValue(new Error('Invalid inputs'))
989
1153
  const wallet = createTestWalletWire(
990
1154
  mockUnsupportedMethods({
991
1155
  listOutputs: listOutputsMock
@@ -1004,7 +1168,8 @@ describe('WalletWire Integration Tests', () => {
1004
1168
  BEEF: [1, 2, 3, 4],
1005
1169
  outputs: [
1006
1170
  {
1007
- outpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1171
+ outpoint:
1172
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1008
1173
  satoshis: 1000,
1009
1174
  spendable: true
1010
1175
  }
@@ -1037,7 +1202,9 @@ describe('WalletWire Integration Tests', () => {
1037
1202
 
1038
1203
  describe('getPublicKey', () => {
1039
1204
  it('should get the identity public key', async () => {
1040
- const wallet = createTestWalletWire(new ProtoWallet(PrivateKey.fromRandom()))
1205
+ const wallet = createTestWalletWire(
1206
+ new CompletedProtoWallet(PrivateKey.fromRandom())
1207
+ )
1041
1208
  const result = await wallet.getPublicKey({ identityKey: true })
1042
1209
  expect(result).toHaveProperty('publicKey')
1043
1210
  expect(typeof result.publicKey).toBe('string')
@@ -1047,7 +1214,7 @@ describe('WalletWire Integration Tests', () => {
1047
1214
  it('should get a derived public key with valid inputs', async () => {
1048
1215
  const userKey = PrivateKey.fromRandom()
1049
1216
  const counterpartyKey = PrivateKey.fromRandom()
1050
- const wallet = createTestWalletWire(new ProtoWallet(userKey))
1217
+ const wallet = createTestWalletWire(new CompletedProtoWallet(userKey))
1051
1218
  const args = {
1052
1219
  protocolID: [2, 'tests'] as [0 | 1 | 2, string],
1053
1220
  keyID: 'test-key-id',
@@ -1060,7 +1227,9 @@ describe('WalletWire Integration Tests', () => {
1060
1227
  })
1061
1228
 
1062
1229
  it('should get the public key with counterparty "anyone"', async () => {
1063
- const wallet = createTestWalletWire(new ProtoWallet(PrivateKey.fromRandom()))
1230
+ const wallet = createTestWalletWire(
1231
+ new CompletedProtoWallet(PrivateKey.fromRandom())
1232
+ )
1064
1233
  const args = {
1065
1234
  protocolID: [1, 'testprotocol'] as [0 | 1 | 2, string],
1066
1235
  keyID: 'testkeyid',
@@ -1073,7 +1242,9 @@ describe('WalletWire Integration Tests', () => {
1073
1242
  })
1074
1243
 
1075
1244
  it('should get the public key with missing optional parameters', async () => {
1076
- const wallet = createTestWalletWire(new ProtoWallet(PrivateKey.fromRandom()))
1245
+ const wallet = createTestWalletWire(
1246
+ new CompletedProtoWallet(PrivateKey.fromRandom())
1247
+ )
1077
1248
  const args = {
1078
1249
  protocolID: [0, 'minimalprotocol'] as [0 | 1 | 2, string],
1079
1250
  keyID: 'minimalkeyid'
@@ -1090,8 +1261,10 @@ describe('WalletWire Integration Tests', () => {
1090
1261
  it('should encrypt and decrypt data correctly', async () => {
1091
1262
  const userKey = PrivateKey.fromRandom()
1092
1263
  const counterpartyKey = PrivateKey.fromRandom()
1093
- const userWallet = createTestWalletWire(new ProtoWallet(userKey))
1094
- const counterpartyWallet = createTestWalletWire(new ProtoWallet(counterpartyKey))
1264
+ const userWallet = createTestWalletWire(new CompletedProtoWallet(userKey))
1265
+ const counterpartyWallet = createTestWalletWire(
1266
+ new CompletedProtoWallet(counterpartyKey)
1267
+ )
1095
1268
 
1096
1269
  const plaintext = sampleData
1097
1270
  const encryptArgs = {
@@ -1118,7 +1291,9 @@ describe('WalletWire Integration Tests', () => {
1118
1291
  it('should throw an error for invalid decryption inputs', async () => {
1119
1292
  const userKey = PrivateKey.fromRandom()
1120
1293
  const counterpartyKey = PrivateKey.fromRandom()
1121
- const counterpartyWallet = createTestWalletWire(new ProtoWallet(counterpartyKey))
1294
+ const counterpartyWallet = createTestWalletWire(
1295
+ new CompletedProtoWallet(counterpartyKey)
1296
+ )
1122
1297
 
1123
1298
  const decryptArgs = {
1124
1299
  ciphertext: [0x00],
@@ -1134,8 +1309,10 @@ describe('WalletWire Integration Tests', () => {
1134
1309
  it('should create and verify HMAC correctly', async () => {
1135
1310
  const userKey = PrivateKey.fromRandom()
1136
1311
  const counterpartyKey = PrivateKey.fromRandom()
1137
- const userWallet = createTestWalletWire(new ProtoWallet(userKey))
1138
- const counterpartyWallet = createTestWalletWire(new ProtoWallet(counterpartyKey))
1312
+ const userWallet = createTestWalletWire(new CompletedProtoWallet(userKey))
1313
+ const counterpartyWallet = createTestWalletWire(
1314
+ new CompletedProtoWallet(counterpartyKey)
1315
+ )
1139
1316
 
1140
1317
  const data = sampleData
1141
1318
  const createHmacArgs = {
@@ -1155,13 +1332,16 @@ describe('WalletWire Integration Tests', () => {
1155
1332
  keyID: 'test-key-id',
1156
1333
  counterparty: userKey.toPublicKey().toString()
1157
1334
  }
1158
- const verifyHmacResult = await counterpartyWallet.verifyHmac(verifyHmacArgs)
1335
+ const verifyHmacResult =
1336
+ await counterpartyWallet.verifyHmac(verifyHmacArgs)
1159
1337
  expect(verifyHmacResult).toEqual({ valid: true })
1160
1338
  })
1161
1339
 
1162
1340
  it('should throw an error for invalid HMAC verification', async () => {
1163
1341
  const userKey = PrivateKey.fromRandom()
1164
- const counterpartyWallet = createTestWalletWire(new ProtoWallet(PrivateKey.fromRandom()))
1342
+ const counterpartyWallet = createTestWalletWire(
1343
+ new CompletedProtoWallet(PrivateKey.fromRandom())
1344
+ )
1165
1345
 
1166
1346
  const verifyHmacArgs = {
1167
1347
  data: sampleData,
@@ -1170,7 +1350,9 @@ describe('WalletWire Integration Tests', () => {
1170
1350
  keyID: 'test-key-id',
1171
1351
  counterparty: userKey.toPublicKey().toString()
1172
1352
  }
1173
- await expect(counterpartyWallet.verifyHmac(verifyHmacArgs)).rejects.toThrow()
1353
+ await expect(
1354
+ counterpartyWallet.verifyHmac(verifyHmacArgs)
1355
+ ).rejects.toThrow()
1174
1356
  })
1175
1357
  })
1176
1358
 
@@ -1178,8 +1360,10 @@ describe('WalletWire Integration Tests', () => {
1178
1360
  it('should create and verify signature correctly', async () => {
1179
1361
  const userKey = PrivateKey.fromRandom()
1180
1362
  const counterpartyKey = PrivateKey.fromRandom()
1181
- const userWallet = createTestWalletWire(new ProtoWallet(userKey))
1182
- const counterpartyWallet = createTestWalletWire(new ProtoWallet(counterpartyKey))
1363
+ const userWallet = createTestWalletWire(new CompletedProtoWallet(userKey))
1364
+ const counterpartyWallet = createTestWalletWire(
1365
+ new CompletedProtoWallet(counterpartyKey)
1366
+ )
1183
1367
 
1184
1368
  const data = sampleData
1185
1369
  const createSignatureArgs = {
@@ -1188,7 +1372,8 @@ describe('WalletWire Integration Tests', () => {
1188
1372
  keyID: 'test-key-id',
1189
1373
  counterparty: counterpartyKey.toPublicKey().toString()
1190
1374
  }
1191
- const createSignatureResult = await userWallet.createSignature(createSignatureArgs)
1375
+ const createSignatureResult =
1376
+ await userWallet.createSignature(createSignatureArgs)
1192
1377
  expect(createSignatureResult).toHaveProperty('signature')
1193
1378
  expect(createSignatureResult.signature.length).toBeGreaterThan(0)
1194
1379
 
@@ -1199,13 +1384,16 @@ describe('WalletWire Integration Tests', () => {
1199
1384
  keyID: 'test-key-id',
1200
1385
  counterparty: userKey.toPublicKey().toString()
1201
1386
  }
1202
- const verifySignatureResult = await counterpartyWallet.verifySignature(verifySignatureArgs)
1387
+ const verifySignatureResult =
1388
+ await counterpartyWallet.verifySignature(verifySignatureArgs)
1203
1389
  expect(verifySignatureResult).toEqual({ valid: true })
1204
1390
  })
1205
1391
 
1206
1392
  it('should throw an error for invalid signature verification', async () => {
1207
1393
  const userKey = PrivateKey.fromRandom()
1208
- const counterpartyWallet = createTestWalletWire(new ProtoWallet(PrivateKey.fromRandom()))
1394
+ const counterpartyWallet = createTestWalletWire(
1395
+ new CompletedProtoWallet(PrivateKey.fromRandom())
1396
+ )
1209
1397
 
1210
1398
  const verifySignatureArgs = {
1211
1399
  data: sampleData,
@@ -1214,7 +1402,9 @@ describe('WalletWire Integration Tests', () => {
1214
1402
  keyID: 'test-key-id',
1215
1403
  counterparty: userKey.toPublicKey().toString()
1216
1404
  }
1217
- await expect(counterpartyWallet.verifySignature(verifySignatureArgs)).rejects.toThrow()
1405
+ await expect(
1406
+ counterpartyWallet.verifySignature(verifySignatureArgs)
1407
+ ).rejects.toThrow()
1218
1408
  })
1219
1409
  })
1220
1410
 
@@ -1224,8 +1414,12 @@ describe('WalletWire Integration Tests', () => {
1224
1414
  const counterpartyKey = PrivateKey.fromRandom()
1225
1415
  const verifierKey = PrivateKey.fromRandom()
1226
1416
 
1227
- const proverWallet = createTestWalletWire(new ProtoWallet(proverKey))
1228
- const verifierWallet = createTestWalletWire(new ProtoWallet(verifierKey))
1417
+ const proverWallet = createTestWalletWire(
1418
+ new CompletedProtoWallet(proverKey)
1419
+ )
1420
+ const verifierWallet = createTestWalletWire(
1421
+ new CompletedProtoWallet(verifierKey)
1422
+ )
1229
1423
 
1230
1424
  const args = {
1231
1425
  counterparty: counterpartyKey.toPublicKey().toString(),
@@ -1237,13 +1431,18 @@ describe('WalletWire Integration Tests', () => {
1237
1431
 
1238
1432
  const decryptArgs = {
1239
1433
  ciphertext: revelation.encryptedLinkage,
1240
- protocolID: [2, 'counterparty linkage revelation'] as [0 | 1 | 2, string],
1434
+ protocolID: [2, 'counterparty linkage revelation'] as [
1435
+ 0 | 1 | 2,
1436
+ string
1437
+ ],
1241
1438
  keyID: revelation.revelationTime,
1242
1439
  counterparty: proverKey.toPublicKey().toString()
1243
1440
  }
1244
1441
  const decryptedResult = await verifierWallet.decrypt(decryptArgs)
1245
1442
 
1246
- const expectedLinkage = proverKey.deriveSharedSecret(counterpartyKey.toPublicKey()).encode(true)
1443
+ const expectedLinkage = proverKey
1444
+ .deriveSharedSecret(counterpartyKey.toPublicKey())
1445
+ .encode(true)
1247
1446
  expect(decryptedResult.plaintext).toEqual(expectedLinkage)
1248
1447
  })
1249
1448
  })
@@ -1256,8 +1455,10 @@ describe('WalletWire Integration Tests', () => {
1256
1455
  subject: '02' + 'a'.repeat(64),
1257
1456
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1258
1457
  certifier: '02' + 'b'.repeat(64),
1259
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1260
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1458
+ revocationOutpoint:
1459
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1460
+ signature:
1461
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1261
1462
  fields: {
1262
1463
  field1: 'value1',
1263
1464
  field2: 'value2'
@@ -1278,8 +1479,10 @@ describe('WalletWire Integration Tests', () => {
1278
1479
  field2: 'value2'
1279
1480
  },
1280
1481
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1281
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1282
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1482
+ revocationOutpoint:
1483
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1484
+ signature:
1485
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1283
1486
  keyringRevealer: 'certifier',
1284
1487
  keyringForSubject: {}
1285
1488
  }
@@ -1300,8 +1503,10 @@ describe('WalletWire Integration Tests', () => {
1300
1503
  subject: '02' + 'a'.repeat(64),
1301
1504
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1302
1505
  certifier: '02' + 'b'.repeat(64),
1303
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1304
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1506
+ revocationOutpoint:
1507
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1508
+ signature:
1509
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1305
1510
  fields: {
1306
1511
  field1: 'value1',
1307
1512
  field2: 'value2'
@@ -1322,8 +1527,10 @@ describe('WalletWire Integration Tests', () => {
1322
1527
  field2: 'value2'
1323
1528
  },
1324
1529
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1325
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1326
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1530
+ revocationOutpoint:
1531
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1532
+ signature:
1533
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1327
1534
  keyringRevealer: 'certifier' as 'certifier',
1328
1535
  keyringForSubject: {
1329
1536
  field1: Utils.toBase64([0x01, 0x02, 0x03]),
@@ -1348,8 +1555,10 @@ describe('WalletWire Integration Tests', () => {
1348
1555
  subject: '02' + 'a'.repeat(64),
1349
1556
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1350
1557
  certifier: '02' + 'b'.repeat(64),
1351
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1352
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1558
+ revocationOutpoint:
1559
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1560
+ signature:
1561
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1353
1562
  fields: {
1354
1563
  field1: 'value1',
1355
1564
  field2: 'value2'
@@ -1371,8 +1580,10 @@ describe('WalletWire Integration Tests', () => {
1371
1580
  field2: 'value2'
1372
1581
  },
1373
1582
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1374
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1375
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1583
+ revocationOutpoint:
1584
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1585
+ signature:
1586
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1376
1587
  keyringRevealer: keyringRevealerPubKey,
1377
1588
  keyringForSubject: {
1378
1589
  field1: Utils.toBase64([0x01, 0x02, 0x03]),
@@ -1397,8 +1608,10 @@ describe('WalletWire Integration Tests', () => {
1397
1608
  subject: '02' + 'd'.repeat(64),
1398
1609
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1399
1610
  certifier: '02' + 'b'.repeat(64),
1400
- revocationOutpoint: 'cafebabedeadbeefcafebabedeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.1',
1401
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1611
+ revocationOutpoint:
1612
+ 'cafebabedeadbeefcafebabedeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.1',
1613
+ signature:
1614
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1402
1615
  fields: {
1403
1616
  field3: 'value3',
1404
1617
  field4: 'value4'
@@ -1438,8 +1651,10 @@ describe('WalletWire Integration Tests', () => {
1438
1651
  subject: '02' + 'e'.repeat(64),
1439
1652
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1440
1653
  certifier: '02' + 'b'.repeat(64),
1441
- revocationOutpoint: 'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
1442
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1654
+ revocationOutpoint:
1655
+ 'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
1656
+ signature:
1657
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1443
1658
  fields: {
1444
1659
  field5: 'value5'
1445
1660
  }
@@ -1458,8 +1673,10 @@ describe('WalletWire Integration Tests', () => {
1458
1673
  field5: 'value5'
1459
1674
  },
1460
1675
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1461
- revocationOutpoint: 'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
1462
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1676
+ revocationOutpoint:
1677
+ 'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
1678
+ signature:
1679
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1463
1680
  keyringRevealer: 'certifier' as 'certifier',
1464
1681
  keyringForSubject: {} // Empty keyring
1465
1682
  }
@@ -1487,8 +1704,10 @@ describe('WalletWire Integration Tests', () => {
1487
1704
  subject: '02' + 'a'.repeat(64),
1488
1705
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1489
1706
  certifier: '02' + 'b'.repeat(64),
1490
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1491
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1707
+ revocationOutpoint:
1708
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1709
+ signature:
1710
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1492
1711
  fields: {
1493
1712
  field1: 'value1',
1494
1713
  field2: 'value2'
@@ -1524,8 +1743,10 @@ describe('WalletWire Integration Tests', () => {
1524
1743
  subject: '02' + 'a'.repeat(64),
1525
1744
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1526
1745
  certifier: '02' + 'b'.repeat(64),
1527
- revocationOutpoint: 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
1528
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1746
+ revocationOutpoint:
1747
+ 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
1748
+ signature:
1749
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1529
1750
  fields: {
1530
1751
  field1: 'value1',
1531
1752
  field2: 'value2'
@@ -1536,8 +1757,10 @@ describe('WalletWire Integration Tests', () => {
1536
1757
  subject: '02' + 'c'.repeat(64),
1537
1758
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1538
1759
  certifier: '02' + 'b'.repeat(64),
1539
- revocationOutpoint: 'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
1540
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1760
+ revocationOutpoint:
1761
+ 'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
1762
+ signature:
1763
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1541
1764
  fields: {
1542
1765
  field3: 'value3',
1543
1766
  field4: 'value4',
@@ -1564,7 +1787,10 @@ describe('WalletWire Integration Tests', () => {
1564
1787
  const result = await wallet.listCertificates(args)
1565
1788
  expect(result).toHaveProperty('totalCertificates', 2)
1566
1789
  expect(result.certificates.length).toBe(2)
1567
- expect(result.certificates[0].fields).toEqual({ field1: 'value1', field2: 'value2' })
1790
+ expect(result.certificates[0].fields).toEqual({
1791
+ field1: 'value1',
1792
+ field2: 'value2'
1793
+ })
1568
1794
  expect(result.certificates[1].fields).toEqual({
1569
1795
  field3: 'value3',
1570
1796
  field4: 'value4',
@@ -1583,8 +1809,10 @@ describe('WalletWire Integration Tests', () => {
1583
1809
  subject: '02' + 'd'.repeat(64),
1584
1810
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1585
1811
  certifier: '02' + 'e'.repeat(64),
1586
- revocationOutpoint: 'cafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafe.2',
1587
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1812
+ revocationOutpoint:
1813
+ 'cafecafecafecafecafecafecafecafecafecafecafecafecafecafecafecafe.2',
1814
+ signature:
1815
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1588
1816
  fields: {
1589
1817
  field6: 'value6'
1590
1818
  }
@@ -1633,8 +1861,10 @@ describe('WalletWire Integration Tests', () => {
1633
1861
  subject: '02' + 'a'.repeat(64),
1634
1862
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1635
1863
  certifier: '02' + 'b'.repeat(64),
1636
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1637
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1864
+ revocationOutpoint:
1865
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1866
+ signature:
1867
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1638
1868
  fields: {
1639
1869
  field1: 'value1',
1640
1870
  field2: 'value2'
@@ -1667,8 +1897,10 @@ describe('WalletWire Integration Tests', () => {
1667
1897
  subject: '02' + 'a'.repeat(64),
1668
1898
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1669
1899
  certifier: '02' + 'b'.repeat(64),
1670
- revocationOutpoint: 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
1671
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1900
+ revocationOutpoint:
1901
+ 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
1902
+ signature:
1903
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1672
1904
  fields: {
1673
1905
  field1: 'value1',
1674
1906
  field2: 'value2',
@@ -1680,7 +1912,10 @@ describe('WalletWire Integration Tests', () => {
1680
1912
  }
1681
1913
  const result = await wallet.proveCertificate(args)
1682
1914
  expect(result).toHaveProperty('keyringForVerifier')
1683
- expect(Object.keys(result.keyringForVerifier)).toEqual(['field1', 'field2'])
1915
+ expect(Object.keys(result.keyringForVerifier)).toEqual([
1916
+ 'field1',
1917
+ 'field2'
1918
+ ])
1684
1919
  expect(proveCertificateMock).toHaveBeenCalledWith(args, '')
1685
1920
  })
1686
1921
 
@@ -1701,8 +1936,10 @@ describe('WalletWire Integration Tests', () => {
1701
1936
  subject: '02' + 'a'.repeat(64),
1702
1937
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1703
1938
  certifier: '02' + 'b'.repeat(64),
1704
- revocationOutpoint: 'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
1705
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1939
+ revocationOutpoint:
1940
+ 'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
1941
+ signature:
1942
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1706
1943
  fields: {
1707
1944
  field4: 'value4',
1708
1945
  field5: 'value5'
@@ -1721,7 +1958,9 @@ describe('WalletWire Integration Tests', () => {
1721
1958
  describe('relinquishCertificate', () => {
1722
1959
  it('should relinquish a certificate with valid inputs', async () => {
1723
1960
  // Mock the relinquishCertificate method
1724
- const relinquishCertificateMock = jest.fn().mockResolvedValue({ relinquished: true })
1961
+ const relinquishCertificateMock = jest
1962
+ .fn()
1963
+ .mockResolvedValue({ relinquished: true })
1725
1964
  const wallet = createTestWalletWire(
1726
1965
  mockUnsupportedMethods({
1727
1966
  relinquishCertificate: relinquishCertificateMock
@@ -1758,7 +1997,9 @@ describe('WalletWire Integration Tests', () => {
1758
1997
 
1759
1998
  it('should throw an error when getHeight fails', async () => {
1760
1999
  // Mock the getHeight method to throw an error
1761
- const getHeightMock = jest.fn().mockRejectedValue(new Error('Failed to get height'))
2000
+ const getHeightMock = jest
2001
+ .fn()
2002
+ .mockRejectedValue(new Error('Failed to get height'))
1762
2003
  const wallet = createTestWalletWire(
1763
2004
  mockUnsupportedMethods({
1764
2005
  getHeight: getHeightMock
@@ -1789,14 +2030,18 @@ describe('WalletWire Integration Tests', () => {
1789
2030
 
1790
2031
  it('should throw an error when getHeaderForHeight fails', async () => {
1791
2032
  // Mock the getHeaderForHeight method to throw an error
1792
- const getHeaderForHeightMock = jest.fn().mockRejectedValue(new Error('Failed to get header'))
2033
+ const getHeaderForHeightMock = jest
2034
+ .fn()
2035
+ .mockRejectedValue(new Error('Failed to get header'))
1793
2036
  const wallet = createTestWalletWire(
1794
2037
  mockUnsupportedMethods({
1795
2038
  getHeaderForHeight: getHeaderForHeightMock
1796
2039
  })
1797
2040
  )
1798
2041
  const args = { height: -1 } // Invalid height
1799
- await expect(wallet.getHeaderForHeight(args)).rejects.toThrow('Failed to get header')
2042
+ await expect(wallet.getHeaderForHeight(args)).rejects.toThrow(
2043
+ 'Failed to get header'
2044
+ )
1800
2045
  expect(getHeaderForHeightMock).toHaveBeenCalledWith(args, '')
1801
2046
  })
1802
2047
  })
@@ -1812,8 +2057,10 @@ describe('WalletWire Integration Tests', () => {
1812
2057
  subject: '02' + 'a'.repeat(64),
1813
2058
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1814
2059
  certifier: '02' + 'b'.repeat(64),
1815
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1816
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
2060
+ revocationOutpoint:
2061
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
2062
+ signature:
2063
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1817
2064
  fields: {},
1818
2065
  certifierInfo: {
1819
2066
  name: 'Test Certifier',
@@ -1853,8 +2100,10 @@ describe('WalletWire Integration Tests', () => {
1853
2100
  subject: '02' + 'a'.repeat(64),
1854
2101
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1855
2102
  certifier: '02' + 'b'.repeat(64),
1856
- revocationOutpoint: 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
1857
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
2103
+ revocationOutpoint:
2104
+ 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
2105
+ signature:
2106
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1858
2107
  fields: {},
1859
2108
  certifierInfo: {
1860
2109
  name: 'Test Certifier',
@@ -1896,8 +2145,10 @@ describe('WalletWire Integration Tests', () => {
1896
2145
  subject: '02' + 'a'.repeat(64),
1897
2146
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1898
2147
  certifier: '02' + 'b'.repeat(64),
1899
- revocationOutpoint: 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
1900
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
2148
+ revocationOutpoint:
2149
+ 'deadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeefdeadbeef.0',
2150
+ signature:
2151
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1901
2152
  fields: {},
1902
2153
  certifierInfo: {
1903
2154
  name: 'Certifier One',
@@ -1917,8 +2168,10 @@ describe('WalletWire Integration Tests', () => {
1917
2168
  subject: '02' + 'a'.repeat(64),
1918
2169
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1919
2170
  certifier: '02' + 'c'.repeat(64),
1920
- revocationOutpoint: 'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
1921
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
2171
+ revocationOutpoint:
2172
+ 'cafebabecafebabecafebabecafebabecafebabecafebabecafebabecafebabe.1',
2173
+ signature:
2174
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1922
2175
  fields: {},
1923
2176
  certifierInfo: {
1924
2177
  name: 'Certifier Two',
@@ -1965,8 +2218,10 @@ describe('WalletWire Integration Tests', () => {
1965
2218
  subject: '02' + 'a'.repeat(64),
1966
2219
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
1967
2220
  certifier: '02' + 'b'.repeat(64),
1968
- revocationOutpoint: 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
1969
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
2221
+ revocationOutpoint:
2222
+ 'deadbeef20248806deadbeef20248806deadbeef20248806deadbeef20248806.0',
2223
+ signature:
2224
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
1970
2225
  fields: {},
1971
2226
  certifierInfo: {
1972
2227
  name: 'Test Certifier',
@@ -2001,7 +2256,9 @@ describe('WalletWire Integration Tests', () => {
2001
2256
 
2002
2257
  it('should throw an error with invalid inputs', async () => {
2003
2258
  // Mock the discoverByAttributes method to throw an error
2004
- const discoverByAttributesMock = jest.fn().mockRejectedValue(new Error('Invalid inputs'))
2259
+ const discoverByAttributesMock = jest
2260
+ .fn()
2261
+ .mockRejectedValue(new Error('Invalid inputs'))
2005
2262
  const wallet = createTestWalletWire(
2006
2263
  mockUnsupportedMethods({
2007
2264
  discoverByAttributes: discoverByAttributesMock
@@ -2010,7 +2267,9 @@ describe('WalletWire Integration Tests', () => {
2010
2267
  const args = {
2011
2268
  attributes: {}
2012
2269
  }
2013
- await expect(wallet.discoverByAttributes(args)).rejects.toThrow('Invalid inputs')
2270
+ await expect(wallet.discoverByAttributes(args)).rejects.toThrow(
2271
+ 'Invalid inputs'
2272
+ )
2014
2273
  expect(discoverByAttributesMock).toHaveBeenCalledWith(args, '')
2015
2274
  })
2016
2275
  it('should discover certificates matching provided attributes', async () => {
@@ -2023,8 +2282,10 @@ describe('WalletWire Integration Tests', () => {
2023
2282
  subject: '02' + 'd'.repeat(64),
2024
2283
  serialNumber: Utils.toBase64(new Array(32).fill(2)),
2025
2284
  certifier: '02' + 'e'.repeat(64),
2026
- revocationOutpoint: 'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
2027
- signature: '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
2285
+ revocationOutpoint:
2286
+ 'beadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbeadbead.2',
2287
+ signature:
2288
+ '3045022100e4d03d959697ed191f9ef7ae7deacd3118b8693d18da0fd76e4ad92664ce05cf02200d753951e766cbf2d2b306e08921c06341d2de67ab75389bf84caf954ee40e88',
2028
2289
  fields: {},
2029
2290
  certifierInfo: {
2030
2291
  name: 'Certifier Three',
@@ -2033,7 +2294,7 @@ describe('WalletWire Integration Tests', () => {
2033
2294
  trust: 8
2034
2295
  },
2035
2296
  publiclyRevealedKeyring: {
2036
- fieldX: Utils.toBase64([0x0A, 0x0B])
2297
+ fieldX: Utils.toBase64([0x0a, 0x0b])
2037
2298
  },
2038
2299
  decryptedFields: {
2039
2300
  fieldY: 'decryptedValueY'
@@ -2058,7 +2319,9 @@ describe('WalletWire Integration Tests', () => {
2058
2319
  expect(result).toHaveProperty('totalCertificates', 1)
2059
2320
  expect(result.certificates.length).toBe(1)
2060
2321
  expect(result.certificates[0].certifierInfo.name).toBe('Certifier Three')
2061
- expect(result.certificates[0].decryptedFields.fieldY).toBe('decryptedValueY')
2322
+ expect(result.certificates[0].decryptedFields.fieldY).toBe(
2323
+ 'decryptedValueY'
2324
+ )
2062
2325
  expect(discoverByAttributesMock).toHaveBeenCalledWith(args, '')
2063
2326
  })
2064
2327