@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
@@ -201,7 +201,7 @@ export type WalletNetwork = 'mainnet' | 'testnet'
201
201
  export enum SecurityLevels {
202
202
  Silent = 0,
203
203
  App = 1,
204
- Counterparty = 2
204
+ Counterparty = 2,
205
205
  }
206
206
 
207
207
  /**
@@ -222,7 +222,14 @@ export type AcquisitionProtocol = 'direct' | 'issuance'
222
222
 
223
223
  export type KeyringRevealer = PubKeyHex | 'certifier'
224
224
 
225
- export type ActionStatus = | 'completed' | 'unprocessed' | 'sending' | 'unproven' | 'unsigned' | 'nosend' | 'nonfinal'
225
+ export type ActionStatus =
226
+ | 'completed'
227
+ | 'unprocessed'
228
+ | 'sending'
229
+ | 'unproven'
230
+ | 'unsigned'
231
+ | 'nosend'
232
+ | 'nonfinal'
226
233
 
227
234
  /**
228
235
  * Controls behavior of input BEEF validation.
@@ -234,11 +241,11 @@ export type ActionStatus = | 'completed' | 'unprocessed' | 'sending' | 'unproven
234
241
  export type TrustSelf = 'known'
235
242
 
236
243
  /**
237
- * @param {OutpointString} outpoint - The outpoint being consumed.
238
- * @param {DescriptionString5to50Bytes} inputDescription - A description of this input for contextual understanding of what it consumes.
239
- * @param {HexString} unlockingScript - Optional. The unlocking script needed to release the specified UTXO.
240
- * @param {PositiveInteger} unlockingScriptLength - Optional. Length of the unlocking script, in case it will be provided later using `signAction`.
241
- * @param {PositiveIntegerOrZero} sequenceNumber - Optional. The sequence number applied to the input.
244
+ * @param {OutpointString} outpoint - The outpoint being consumed.
245
+ * @param {DescriptionString5to50Bytes} inputDescription - A description of this input for contextual understanding of what it consumes.
246
+ * @param {HexString} unlockingScript - Optional. The unlocking script needed to release the specified UTXO.
247
+ * @param {PositiveInteger} unlockingScriptLength - Optional. Length of the unlocking script, in case it will be provided later using `signAction`.
248
+ * @param {PositiveIntegerOrZero} sequenceNumber - Optional. The sequence number applied to the input.
242
249
  */
243
250
  export interface CreateActionInput {
244
251
  outpoint: OutpointString
@@ -249,12 +256,12 @@ export interface CreateActionInput {
249
256
  }
250
257
 
251
258
  /**
252
- * @param {HexString} lockingScript - The locking script that dictates how the output can later be spent.
253
- * @param {SatoshiValue} satoshis - Number of Satoshis that constitute this output.
254
- * @param {DescriptionString5to50Bytes} outputDescription - Description of what this output represents.
255
- * @param {BasketStringUnder300Bytes} [basket] - Name of the basket where this UTXO will be held, if tracking is desired.
256
- * @param {string} [customInstructions] - Custom instructions attached onto this UTXO, often utilized within application logic to provide necessary unlocking context or track token histories.
257
- * @param {OutputTagStringUnder300Bytes[]} [tags] - Tags assigned to the output for sorting or filtering.
259
+ * @param {HexString} lockingScript - The locking script that dictates how the output can later be spent.
260
+ * @param {SatoshiValue} satoshis - Number of Satoshis that constitute this output.
261
+ * @param {DescriptionString5to50Bytes} outputDescription - Description of what this output represents.
262
+ * @param {BasketStringUnder300Bytes} [basket] - Name of the basket where this UTXO will be held, if tracking is desired.
263
+ * @param {string} [customInstructions] - Custom instructions attached onto this UTXO, often utilized within application logic to provide necessary unlocking context or track token histories.
264
+ * @param {OutputTagStringUnder300Bytes[]} [tags] - Tags assigned to the output for sorting or filtering.
258
265
  */
259
266
  export interface CreateActionOutput {
260
267
  lockingScript: HexString
@@ -266,15 +273,15 @@ export interface CreateActionOutput {
266
273
  }
267
274
 
268
275
  /**
269
- * @param {BooleanDefaultTrue} [signAndProcess] - Optional. If true and all inputs have unlockingScripts, the new transaction will be signed and handed off for processing by the network; result `txid` and `tx` are valid and `signableTransaciton` is undefined. If false or an input has an unlockingScriptLength, result `txid` and `tx` are undefined and `signableTransaction` is valid.
270
- * @param {BooleanDefaultTrue} [acceptDelayedBroadcast] - Optional. If true, the transaction will be sent to the network by a background process; use `noSend` and `sendWith` options to batch chained transactions. If false, the transaction will be broadcast to the network and any errors returned in result; note that rapidly sent chained transactions may still fail due to network propagation delays.
271
- * @param {'known'} [trustSelf] - Optional. If `known`, input transactions may omit supporting validity proof data for TXIDs known to this wallet.
272
- * @param {TXIDHexString[]} [knownTxids] - Optional. When working with large chained transactions using `noSend` and `sendWith` options, include TXIDs of inputs that may be assumed to be valid even if not already known by this wallet.
273
- * @param {BooleanDefaultFalse} [returnTXIDOnly] - Optional. If true, only a TXID will be returned instead of a transaction.
274
- * @param {BooleanDefaultFalse} [noSend] - Optional. If true, the transaction will be constructed but not sent to the network. Supports the creation of chained batches of transactions using the `sendWith` option.
275
- * @param {OutPoint[]} [noSendChange] - Optional. Valid when `noSend` is true. May contain `noSendChange` outpoints previously returned by prior `noSend` actions in the same batch of chained actions.
276
- * @param {TXIDHexString[]} [sendWith] - Optional. Sends a batch of actions previously created as `noSend` actions to the network; either synchronously if `acceptDelayedBroadcast` is true or by a background process.
277
- * @param {BooleanDefaultTrue} [randomizeOutputs] — optional. When set to false, the wallet will avoid randomizing the order of outputs within the transaction.
276
+ * @param {BooleanDefaultTrue} [signAndProcess] - Optional. If true and all inputs have unlockingScripts, the new transaction will be signed and handed off for processing by the network; result `txid` and `tx` are valid and `signableTransaciton` is undefined. If false or an input has an unlockingScriptLength, result `txid` and `tx` are undefined and `signableTransaction` is valid.
277
+ * @param {BooleanDefaultTrue} [acceptDelayedBroadcast] - Optional. If true, the transaction will be sent to the network by a background process; use `noSend` and `sendWith` options to batch chained transactions. If false, the transaction will be broadcast to the network and any errors returned in result; note that rapidly sent chained transactions may still fail due to network propagation delays.
278
+ * @param {'known'} [trustSelf] - Optional. If `known`, input transactions may omit supporting validity proof data for TXIDs known to this wallet.
279
+ * @param {TXIDHexString[]} [knownTxids] - Optional. When working with large chained transactions using `noSend` and `sendWith` options, include TXIDs of inputs that may be assumed to be valid even if not already known by this wallet.
280
+ * @param {BooleanDefaultFalse} [returnTXIDOnly] - Optional. If true, only a TXID will be returned instead of a transaction.
281
+ * @param {BooleanDefaultFalse} [noSend] - Optional. If true, the transaction will be constructed but not sent to the network. Supports the creation of chained batches of transactions using the `sendWith` option.
282
+ * @param {OutPoint[]} [noSendChange] - Optional. Valid when `noSend` is true. May contain `noSendChange` outpoints previously returned by prior `noSend` actions in the same batch of chained actions.
283
+ * @param {TXIDHexString[]} [sendWith] - Optional. Sends a batch of actions previously created as `noSend` actions to the network; either synchronously if `acceptDelayedBroadcast` is true or by a background process.
284
+ * @param {BooleanDefaultTrue} [randomizeOutputs] — optional. When set to false, the wallet will avoid randomizing the order of outputs within the transaction.
278
285
  */
279
286
  export interface CreateActionOptions {
280
287
  signAndProcess?: BooleanDefaultTrue
@@ -309,14 +316,14 @@ export interface CreateActionResult {
309
316
  }
310
317
 
311
318
  /**
312
- * @param {DescriptionString5to50Bytes} description - A human-readable description of the action represented by this transaction.
313
- * @param {BEEF} [inputBEEF] - BEEF data associated with the set of input transactions from which UTXOs will be consumed.
314
- * @param {CreateActionInput[]} [inputs] - An optional array of input objects used in the transaction.
315
- * @param {CreateActionOutput[]} [outputs] - An optional array of output objects for the transaction.
316
- * @param {PositiveIntegerOrZero} [lockTime] - Optional lock time for the transaction.
317
- * @param {PositiveInteger} [version] - Optional transaction version specifier.
318
- * @param {LabelStringUnder300Bytes[]} [labels] - Optional labels providing additional categorization for the transaction.
319
- * @param {CreateActionOptions} [options] - Optional settings modifying transaction processing behavior.
319
+ * @param {DescriptionString5to50Bytes} description - A human-readable description of the action represented by this transaction.
320
+ * @param {BEEF} [inputBEEF] - BEEF data associated with the set of input transactions from which UTXOs will be consumed.
321
+ * @param {CreateActionInput[]} [inputs] - An optional array of input objects used in the transaction.
322
+ * @param {CreateActionOutput[]} [outputs] - An optional array of output objects for the transaction.
323
+ * @param {PositiveIntegerOrZero} [lockTime] - Optional lock time for the transaction.
324
+ * @param {PositiveInteger} [version] - Optional transaction version specifier.
325
+ * @param {LabelStringUnder300Bytes[]} [labels] - Optional labels providing additional categorization for the transaction.
326
+ * @param {CreateActionOptions} [options] - Optional settings modifying transaction processing behavior.
320
327
  */
321
328
  export interface CreateActionArgs {
322
329
  description: DescriptionString5to50Bytes
@@ -330,8 +337,8 @@ export interface CreateActionArgs {
330
337
  }
331
338
 
332
339
  /**
333
- * @param {HexString} unlockingScript - The unlocking script for the corresponding input.
334
- * @param {PositiveIntegerOrZero} [sequenceNumber] - The sequence number of the input.
340
+ * @param {HexString} unlockingScript - The unlocking script for the corresponding input.
341
+ * @param {PositiveIntegerOrZero} [sequenceNumber] - The sequence number of the input.
335
342
  */
336
343
  export interface SignActionSpend {
337
344
  unlockingScript: HexString
@@ -339,12 +346,12 @@ export interface SignActionSpend {
339
346
  }
340
347
 
341
348
  /**
342
- * @param {BooleanDefaultTrue} [acceptDelayedBroadcast] - Optional. If true, transaction will be sent to the network by a background process; use `noSend` and `sendWith` options to batch chained transactions. If false, transaction will be broadcast to the network and any errors returned in result; note that rapidly sent chained transactions may still fail due to network propagation delays.
343
- * @param {'known'} [trustSelf] - Optional. If `known`, input transactions may omit supporting validity proof data for TXIDs known to this wallet or included in `knownTxids`.
344
- * @param {TXIDHexString[]} [knownTxids] - Optional. When working with large chained transactions using `noSend` and `sendWith` options, include TXIDs of inputs that may be assumed to be valid even if not already known by this wallet.
345
- * @param {BooleanDefaultFalse} [returnTXIDOnly] - Optional. If true, only a TXID will be returned instead of a transaction.
346
- * @param {BooleanDefaultFalse} [noSend] - Optional. If true, the transaction will be constructed but not sent to the network. Supports the creation of chained batches of transactions using the `sendWith` option.
347
- * @param {TXIDHexString[]} [sendWith] - Optional. Sends a batch of actions previously created as `noSend` actions to the network; either synchronously if `acceptDelayedBroadcast` is true or by a background process.
349
+ * @param {BooleanDefaultTrue} [acceptDelayedBroadcast] - Optional. If true, transaction will be sent to the network by a background process; use `noSend` and `sendWith` options to batch chained transactions. If false, transaction will be broadcast to the network and any errors returned in result; note that rapidly sent chained transactions may still fail due to network propagation delays.
350
+ * @param {'known'} [trustSelf] - Optional. If `known`, input transactions may omit supporting validity proof data for TXIDs known to this wallet or included in `knownTxids`.
351
+ * @param {TXIDHexString[]} [knownTxids] - Optional. When working with large chained transactions using `noSend` and `sendWith` options, include TXIDs of inputs that may be assumed to be valid even if not already known by this wallet.
352
+ * @param {BooleanDefaultFalse} [returnTXIDOnly] - Optional. If true, only a TXID will be returned instead of a transaction.
353
+ * @param {BooleanDefaultFalse} [noSend] - Optional. If true, the transaction will be constructed but not sent to the network. Supports the creation of chained batches of transactions using the `sendWith` option.
354
+ * @param {TXIDHexString[]} [sendWith] - Optional. Sends a batch of actions previously created as `noSend` actions to the network; either synchronously if `acceptDelayedBroadcast` is true or by a background process.
348
355
  */
349
356
  export interface SignActionOptions {
350
357
  acceptDelayedBroadcast?: BooleanDefaultTrue
@@ -354,9 +361,9 @@ export interface SignActionOptions {
354
361
  }
355
362
 
356
363
  /**
357
- * @param {Record<PositiveIntegerOrZero, SignActionSpend>} spends - Map of input indexes to the corresponding unlocking script and optional sequence number.
358
- * @param {Base64String} reference - Reference number returned from the call to `createAction`.
359
- * @param {SignActionOptions} [options] - Optional settings modifying transaction processing behavior.
364
+ * @param {Record<PositiveIntegerOrZero, SignActionSpend>} spends - Map of input indexes to the corresponding unlocking script and optional sequence number.
365
+ * @param {Base64String} reference - Reference number returned from the call to `createAction`.
366
+ * @param {SignActionOptions} [options] - Optional settings modifying transaction processing behavior.
360
367
  */
361
368
  export interface SignActionArgs {
362
369
  spends: Record<PositiveIntegerOrZero, SignActionSpend>
@@ -374,7 +381,7 @@ export interface SignActionResult {
374
381
  }
375
382
 
376
383
  /**
377
- * @param {Base64String} reference - Reference number for the transaction to abort.
384
+ * @param {Base64String} reference - Reference number for the transaction to abort.
378
385
  */
379
386
  export interface AbortActionArgs {
380
387
  reference: Base64String
@@ -384,18 +391,20 @@ export interface AbortActionResult {
384
391
  aborted: true
385
392
  }
386
393
 
394
+ export type AcquireCertificateResult = WalletCertificate
395
+
387
396
  /**
388
- * @param {LabelStringUnder300Bytes[]} labels - An array of labels used to filter actions.
389
- * @param {'any' | 'all'} [labelQueryMode] - Specifies how to match labels (default is any which matches any of the labels).
390
- * @param {BooleanDefaultFalse} [includeLabels] - Whether to include transaction labels in the result set.
391
- * @param {BooleanDefaultFalse} [includeInputs] - Whether to include input details in the result set.
392
- * @param {BooleanDefaultFalse} [includeInputSourceLockingScripts] - Whether to include input source locking scripts in the result set.
393
- * @param {BooleanDefaultFalse} [includeInputUnlockingScripts] - Whether to include input unlocking scripts in the result set.
394
- * @param {BooleanDefaultFalse} [includeOutputs] - Whether to include output details in the result set.
395
- * @param {BooleanDefaultFalse} [includeOutputLockingScripts] - Whether to include output locking scripts in the result set.
396
- * @param {PositiveIntegerDefault10Max10000} [limit] - The maximum number of transactions to retrieve.
397
- * @param {PositiveIntegerOrZero} [offset] - Number of transactions to skip before starting to return the results.
398
- * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
397
+ * @param {LabelStringUnder300Bytes[]} labels - An array of labels used to filter actions.
398
+ * @param {'any' | 'all'} [labelQueryMode] - Specifies how to match labels (default is any which matches any of the labels).
399
+ * @param {BooleanDefaultFalse} [includeLabels] - Whether to include transaction labels in the result set.
400
+ * @param {BooleanDefaultFalse} [includeInputs] - Whether to include input details in the result set.
401
+ * @param {BooleanDefaultFalse} [includeInputSourceLockingScripts] - Whether to include input source locking scripts in the result set.
402
+ * @param {BooleanDefaultFalse} [includeInputUnlockingScripts] - Whether to include input unlocking scripts in the result set.
403
+ * @param {BooleanDefaultFalse} [includeOutputs] - Whether to include output details in the result set.
404
+ * @param {BooleanDefaultFalse} [includeOutputLockingScripts] - Whether to include output locking scripts in the result set.
405
+ * @param {PositiveIntegerDefault10Max10000} [limit] - The maximum number of transactions to retrieve.
406
+ * @param {PositiveIntegerOrZero} [offset] - Number of transactions to skip before starting to return the results.
407
+ * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
399
408
  */
400
409
  export interface ListActionsArgs {
401
410
  labels: LabelStringUnder300Bytes[]
@@ -466,9 +475,9 @@ export interface ListActionsResult {
466
475
  }
467
476
 
468
477
  /**
469
- * @param {Base64String} derivationPrefix - Payment-level derivation prefix used by the sender for key derivation (for payments).
470
- * @param {Base64String} derivationSuffix - Specific output-level derivation suffix used by the sender for key derivation (for payments).
471
- * @param {PubKeyHex} senderIdentityKey - Public identity key of the sender (for payments).
478
+ * @param {Base64String} derivationPrefix - Payment-level derivation prefix used by the sender for key derivation (for payments).
479
+ * @param {Base64String} derivationSuffix - Specific output-level derivation suffix used by the sender for key derivation (for payments).
480
+ * @param {PubKeyHex} senderIdentityKey - Public identity key of the sender (for payments).
472
481
  */
473
482
  export interface WalletPayment {
474
483
  derivationPrefix: Base64String
@@ -477,9 +486,9 @@ export interface WalletPayment {
477
486
  }
478
487
 
479
488
  /**
480
- * @param {BasketStringUnder300Bytes} basket - Basket in which to place the output (for insertions).
481
- * @param {string} [customInstructions] - Optionally provided custom instructions attached to the output (for insertions).
482
- * @param {OutputTagStringUnder300Bytes[]} [tags] - Tags attached to the output (for insertions).
489
+ * @param {BasketStringUnder300Bytes} basket - Basket in which to place the output (for insertions).
490
+ * @param {string} [customInstructions] - Optionally provided custom instructions attached to the output (for insertions).
491
+ * @param {OutputTagStringUnder300Bytes[]} [tags] - Tags attached to the output (for insertions).
483
492
  */
484
493
  export interface BasketInsertion {
485
494
  basket: BasketStringUnder300Bytes
@@ -488,10 +497,10 @@ export interface BasketInsertion {
488
497
  }
489
498
 
490
499
  /**
491
- * @param {PositiveIntegerOrZero} outputIndex - Index of the output within the transaction.
492
- * @param {'payment' | 'insert'} protocol - Specifies whether the output is a payment (to be received into the wallet balance) or an insert operation (into a particular basket).
493
- * @param {WalletPayment} [paymentRemittance] - Optional. Remittance data, structured accordingly for the payment operation.
494
- * @param {BasketInsertion} [insertionRemittance] - Optional. Remittance data, structured accordingly for the insertion operation.
500
+ * @param {PositiveIntegerOrZero} outputIndex - Index of the output within the transaction.
501
+ * @param {'payment' | 'insert'} protocol - Specifies whether the output is a payment (to be received into the wallet balance) or an insert operation (into a particular basket).
502
+ * @param {WalletPayment} [paymentRemittance] - Optional. Remittance data, structured accordingly for the payment operation.
503
+ * @param {BasketInsertion} [insertionRemittance] - Optional. Remittance data, structured accordingly for the insertion operation.
495
504
  */
496
505
  export interface InternalizeOutput {
497
506
  outputIndex: PositiveIntegerOrZero
@@ -501,11 +510,11 @@ export interface InternalizeOutput {
501
510
  }
502
511
 
503
512
  /**
504
- * @param {BEEF} tx - Atomic BEEF-formatted transaction to internalize.
505
- * @param {InternalizeOutput[]} outputs - Metadata about outputs, processed differently based on payment or insertion types.
506
- * @param {DescriptionString5to50Bytes} description - Human-readable description of the transaction being internalized.
507
- * @param {LabelStringUnder300Bytes[]} [labels] - Optional labels associated with this transaction.
508
- * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
513
+ * @param {BEEF} tx - Atomic BEEF-formatted transaction to internalize.
514
+ * @param {InternalizeOutput[]} outputs - Metadata about outputs, processed differently based on payment or insertion types.
515
+ * @param {DescriptionString5to50Bytes} description - Human-readable description of the transaction being internalized.
516
+ * @param {LabelStringUnder300Bytes[]} [labels] - Optional labels associated with this transaction.
517
+ * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
509
518
  */
510
519
  export interface InternalizeActionArgs {
511
520
  tx: AtomicBEEF
@@ -520,17 +529,17 @@ export interface InternalizeActionResult {
520
529
  }
521
530
 
522
531
  /**
523
- * @param {BasketStringUnder300Bytes} basket - The associated basket name whose outputs should be listed.
524
- * @param {OutputTagStringUnder300Bytes[]} [tags] - Filter outputs based on these tags.
525
- * @param {'all' | 'any'} [tagQueryMode] - Filter mode, defining whether all or any of the tags must match. By default, any tag can match.
526
- * @param {'locking scripts' | 'entire transactions'} [include] - Whether to include locking scripts (with each output) or entire transactions (as aggregated BEEF, at the top level) in the result. By default, unless specified, neither are returned.
527
- * @param {BooleanDefaultFalse} [includeEntireTransactions] - Whether to include the entire transaction(s) in the result.
528
- * @param {BooleanDefaultFalse} [includeCustomInstructions] - Whether custom instructions should be returned in the result.
529
- * @param {BooleanDefaultFalse} [includeTags] - Whether the tags associated with the output should be returned.
530
- * @param {BooleanDefaultFalse} [includeLabels] - Whether the labels associated with the transaction containing the output should be returned.
531
- * @param {PositiveIntegerDefault10Max10000} [limit] - Optional limit on the number of outputs to return.
532
- * @param {PositiveIntegerOrZero} [offset] - Number of outputs to skip before starting to return results.
533
- * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
532
+ * @param {BasketStringUnder300Bytes} basket - The associated basket name whose outputs should be listed.
533
+ * @param {OutputTagStringUnder300Bytes[]} [tags] - Filter outputs based on these tags.
534
+ * @param {'all' | 'any'} [tagQueryMode] - Filter mode, defining whether all or any of the tags must match. By default, any tag can match.
535
+ * @param {'locking scripts' | 'entire transactions'} [include] - Whether to include locking scripts (with each output) or entire transactions (as aggregated BEEF, at the top level) in the result. By default, unless specified, neither are returned.
536
+ * @param {BooleanDefaultFalse} [includeEntireTransactions] - Whether to include the entire transaction(s) in the result.
537
+ * @param {BooleanDefaultFalse} [includeCustomInstructions] - Whether custom instructions should be returned in the result.
538
+ * @param {BooleanDefaultFalse} [includeTags] - Whether the tags associated with the output should be returned.
539
+ * @param {BooleanDefaultFalse} [includeLabels] - Whether the labels associated with the transaction containing the output should be returned.
540
+ * @param {PositiveIntegerDefault10Max10000} [limit] - Optional limit on the number of outputs to return.
541
+ * @param {PositiveIntegerOrZero} [offset] - Number of outputs to skip before starting to return results.
542
+ * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
534
543
  */
535
544
  export interface ListOutputsArgs {
536
545
  basket: BasketStringUnder300Bytes
@@ -561,12 +570,12 @@ export interface RelinquishOutputResult {
561
570
  }
562
571
 
563
572
  /**
564
- * @param {WalletProtocol} protocolID - The security level and protocol string under which the data should be encrypted.
565
- * @param {KeyIDStringUnder800Bytes} keyID - Key ID under which the encryption will be performed.
566
- * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
567
- * @param {WalletCounterparty} [counterparty] - Public key of the counterparty (if two-party encryption is desired).
568
- * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
569
- * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
573
+ * @param {WalletProtocol} protocolID - The security level and protocol string under which the data should be encrypted.
574
+ * @param {KeyIDStringUnder800Bytes} keyID - Key ID under which the encryption will be performed.
575
+ * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
576
+ * @param {WalletCounterparty} [counterparty] - Public key of the counterparty (if two-party encryption is desired).
577
+ * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
578
+ * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
570
579
  */
571
580
  export interface WalletEncryptionArgs {
572
581
  protocolID: WalletProtocol
@@ -578,12 +587,12 @@ export interface WalletEncryptionArgs {
578
587
  }
579
588
 
580
589
  /**
581
- * When `identityKey` is true, `WalletEncryptionArgs` are not used.
582
- *
583
- * When `identityKey` is undefined, `WalletEncryptionArgs` are required.
584
- *
585
- * @param {BooleanDefaultFalse|true} [identityKey] - Use true to retrieve the current user's own identity key, overriding any protocol ID, key ID, or counterparty specified.
586
- * @param {BooleanDefaultFalse} [forSelf] - Whether to return the public key derived from the current user's own identity (as opposed to the counterparty's identity).
590
+ * When `identityKey` is true, `WalletEncryptionArgs` are not used.
591
+ *
592
+ * When `identityKey` is undefined, `WalletEncryptionArgs` are required.
593
+ *
594
+ * @param {BooleanDefaultFalse|true} [identityKey] - Use true to retrieve the current user's own identity key, overriding any protocol ID, key ID, or counterparty specified.
595
+ * @param {BooleanDefaultFalse} [forSelf] - Whether to return the public key derived from the current user's own identity (as opposed to the counterparty's identity).
587
596
  */
588
597
  export interface GetPublicKeyArgs extends Partial<WalletEncryptionArgs> {
589
598
  identityKey?: true
@@ -591,10 +600,10 @@ export interface GetPublicKeyArgs extends Partial<WalletEncryptionArgs> {
591
600
  }
592
601
 
593
602
  /**
594
- * @param {PubKeyHex} counterparty - The public key of the counterparty involved in the linkage.
595
- * @param {PubKeyHex} verifier - The public key of the verifier requesting the linkage information.
596
- * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
597
- * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
603
+ * @param {PubKeyHex} counterparty - The public key of the counterparty involved in the linkage.
604
+ * @param {PubKeyHex} verifier - The public key of the verifier requesting the linkage information.
605
+ * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
606
+ * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
598
607
  */
599
608
  export interface RevealCounterpartyKeyLinkageArgs {
600
609
  counterparty: PubKeyHex
@@ -604,12 +613,12 @@ export interface RevealCounterpartyKeyLinkageArgs {
604
613
  }
605
614
 
606
615
  /**
607
- * @param {PubKeyHex} counterparty - The public key of the counterparty involved in the linkage.
608
- * @param {PubKeyHex} verifier - The public key of the verifier requesting the linkage information.
609
- * @param {WalletProtocol} protocolID - The security level and protocol string associated with the linkage information to reveal.
610
- * @param {KeyIDStringUnder800Bytes} keyID - The key ID associated with the linkage information to reveal.
611
- * @param {DescriptionString5to50Bytes} [privilegedReason] - Optional. Reason provided for privileged access, required if this is a privileged operation.
612
- * @param {BooleanDefaultFalse} [privileged] - Optional. Whether this is a privileged request.
616
+ * @param {PubKeyHex} counterparty - The public key of the counterparty involved in the linkage.
617
+ * @param {PubKeyHex} verifier - The public key of the verifier requesting the linkage information.
618
+ * @param {WalletProtocol} protocolID - The security level and protocol string associated with the linkage information to reveal.
619
+ * @param {KeyIDStringUnder800Bytes} keyID - The key ID associated with the linkage information to reveal.
620
+ * @param {DescriptionString5to50Bytes} [privilegedReason] - Optional. Reason provided for privileged access, required if this is a privileged operation.
621
+ * @param {BooleanDefaultFalse} [privileged] - Optional. Whether this is a privileged request.
613
622
  */
614
623
  export interface RevealSpecificKeyLinkageArgs {
615
624
  counterparty: WalletCounterparty
@@ -645,7 +654,7 @@ export interface RevealSpecificKeyLinkageResult extends KeyLinkageResult {
645
654
  }
646
655
 
647
656
  /**
648
- * @param {Byte[]} plaintext - Array of bytes constituting the plaintext data to be encrypted.
657
+ * @param {Byte[]} plaintext - Array of bytes constituting the plaintext data to be encrypted.
649
658
  */
650
659
  export interface WalletEncryptArgs extends WalletEncryptionArgs {
651
660
  plaintext: Byte[]
@@ -656,7 +665,7 @@ export interface WalletEncryptResult {
656
665
  }
657
666
 
658
667
  /**
659
- * @param {Byte[]} ciphertext - Encrypted bytes, including the initialization vector, for decryption.
668
+ * @param {Byte[]} ciphertext - Encrypted bytes, including the initialization vector, for decryption.
660
669
  */
661
670
  export interface WalletDecryptArgs extends WalletEncryptionArgs {
662
671
  ciphertext: Byte[]
@@ -667,7 +676,7 @@ export interface WalletDecryptResult {
667
676
  }
668
677
 
669
678
  /**
670
- * @param {Byte[]} data - Input data (in bytes) for which the HMAC needs to be created.
679
+ * @param {Byte[]} data - Input data (in bytes) for which the HMAC needs to be created.
671
680
  */
672
681
  export interface CreateHmacArgs extends WalletEncryptionArgs {
673
682
  data: Byte[]
@@ -678,8 +687,8 @@ export interface CreateHmacResult {
678
687
  }
679
688
 
680
689
  /**
681
- * @param {Byte[]} data - The input data whose HMAC is to be verified.
682
- * @param {Byte[]} hmac - Byte array representing the HMAC value to be verified.
690
+ * @param {Byte[]} data - The input data whose HMAC is to be verified.
691
+ * @param {Byte[]} hmac - Byte array representing the HMAC value to be verified.
683
692
  */
684
693
  export interface VerifyHmacArgs extends WalletEncryptionArgs {
685
694
  data: Byte[]
@@ -691,8 +700,8 @@ export interface VerifyHmacResult {
691
700
  }
692
701
 
693
702
  /**
694
- * @param {Byte[]} [data] - Data to be signed using the derived private key with ECDSA. Required unless directly signing a hash.
695
- * @param {Byte[]} [hashToDirectlySign] - Sign a pre-hashed value in situations where data can't or shouldn't be revealed, whether due to its size or for privacy.
703
+ * @param {Byte[]} [data] - Data to be signed using the derived private key with ECDSA. Required unless directly signing a hash.
704
+ * @param {Byte[]} [hashToDirectlySign] - Sign a pre-hashed value in situations where data can't or shouldn't be revealed, whether due to its size or for privacy.
696
705
  */
697
706
  export interface CreateSignatureArgs extends WalletEncryptionArgs {
698
707
  data?: Byte[]
@@ -704,10 +713,10 @@ export interface CreateSignatureResult {
704
713
  }
705
714
 
706
715
  /**
707
- * @param {Byte[]} [args.data] - The data originally signed, which is required for verification unless directly verifying a hash.
708
- * @param {Byte[]} [args.hashToDirectlyVerify] - Optional field to verify the signature against a precomputed hash instead of data.
709
- * @param {Byte[]} args.signature - The DER-encoded ECDSA signature to validate.
710
- * @param {BooleanDefaultFalse} [args.forSelf] - Whether the signature to be verified was created by this user rather than the counterparty.
716
+ * @param {Byte[]} [args.data] - The data originally signed, which is required for verification unless directly verifying a hash.
717
+ * @param {Byte[]} [args.hashToDirectlyVerify] - Optional field to verify the signature against a precomputed hash instead of data.
718
+ * @param {Byte[]} args.signature - The DER-encoded ECDSA signature to validate.
719
+ * @param {BooleanDefaultFalse} [args.forSelf] - Whether the signature to be verified was created by this user rather than the counterparty.
711
720
  */
712
721
  export interface VerifySignatureArgs extends WalletEncryptionArgs {
713
722
  data?: Byte[]
@@ -721,18 +730,18 @@ export interface VerifySignatureResult {
721
730
  }
722
731
 
723
732
  /**
724
- * @param {Base64String} type - Type identifier for the certificate.
725
- * @param {PubKeyHex} certifier - The public identity key of the certifier.
726
- * @param {AcquisitionProtocol} acquisitionProtocol - Specifies the acquisition process, set to either 'issuance' or 'direct'.
727
- * @param {Record<CertificateFieldNameUnder50Bytes, string>} fields - The fields included within the certificate.
728
- * @param {Base64String} [serialNumber] - Serial number of the certificate to acquire (required when the acquisition protocol is direct).
729
- * @param {string} [revocationOutpoint] - Reference for an outpoint comprising a Bitcoin token that, if ever spent, marks the certificate as invalid (required when the acquisition protocol is direct).
730
- * @param {HexString} [signature] - Signature over the certificate (required when the acquisition protocol is direct).
731
- * @param {string} [certifierUrl] - URL of the certifier where certificate acquisition requests will be sent (required when the acquisition protocol is issuance).
732
- * @param {KeyringRevealer} [keyringRevealer] - The public identity key of the entity revealing the keyring to the user, if different from the certifier (required when the acquisition protocol is direct).
733
- * @param {Record<CertificateFieldNameUnder50Bytes, Base64String>} [keyringForSubject] - Keyring revealing all certificate fields to the subject (required when the acquisition protocol is direct).
734
- * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
735
- * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
733
+ * @param {Base64String} type - Type identifier for the certificate.
734
+ * @param {PubKeyHex} certifier - The public identity key of the certifier.
735
+ * @param {AcquisitionProtocol} acquisitionProtocol - Specifies the acquisition process, set to either 'issuance' or 'direct'.
736
+ * @param {Record<CertificateFieldNameUnder50Bytes, string>} fields - The fields included within the certificate.
737
+ * @param {Base64String} [serialNumber] - Serial number of the certificate to acquire (required when the acquisition protocol is direct).
738
+ * @param {string} [revocationOutpoint] - Reference for an outpoint comprising a Bitcoin token that, if ever spent, marks the certificate as invalid (required when the acquisition protocol is direct).
739
+ * @param {HexString} [signature] - Signature over the certificate (required when the acquisition protocol is direct).
740
+ * @param {string} [certifierUrl] - URL of the certifier where certificate acquisition requests will be sent (required when the acquisition protocol is issuance).
741
+ * @param {KeyringRevealer} [keyringRevealer] - The public identity key of the entity revealing the keyring to the user, if different from the certifier (required when the acquisition protocol is direct).
742
+ * @param {Record<CertificateFieldNameUnder50Bytes, Base64String>} [keyringForSubject] - Keyring revealing all certificate fields to the subject (required when the acquisition protocol is direct).
743
+ * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
744
+ * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
736
745
  */
737
746
  export interface AcquireCertificateArgs {
738
747
  type: Base64String
@@ -768,20 +777,20 @@ export interface IdentityCertifier {
768
777
 
769
778
  export interface IdentityCertificate extends WalletCertificate {
770
779
  certifierInfo: IdentityCertifier
771
- publiclyRevealedKeyring: Record<CertificateFieldNameUnder50Bytes, Base64String>
780
+ publiclyRevealedKeyring: Record<
781
+ CertificateFieldNameUnder50Bytes,
782
+ Base64String
783
+ >
772
784
  decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>
773
785
  }
774
786
 
775
- export interface AcquireCertificateResult extends WalletCertificate {
776
- }
777
-
778
787
  /**
779
- * @param {PubKeyHex[]} certifiers - An array of public keys for specific certifiers (filters by these certifiers).
780
- * @param {Base64String[]} types - An array of certificate types issued by any of the specified certifiers, which should be returned.
781
- * @param {PositiveIntegerDefault10Max10000} [limit] - Maximum number of certificates to return.
782
- * @param {PositiveIntegerOrZero} [offset] - Number of records to skip before starting to return results.
783
- * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
784
- * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
788
+ * @param {PubKeyHex[]} certifiers - An array of public keys for specific certifiers (filters by these certifiers).
789
+ * @param {Base64String[]} types - An array of certificate types issued by any of the specified certifiers, which should be returned.
790
+ * @param {PositiveIntegerDefault10Max10000} [limit] - Maximum number of certificates to return.
791
+ * @param {PositiveIntegerOrZero} [offset] - Number of records to skip before starting to return results.
792
+ * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
793
+ * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
785
794
  */
786
795
  export interface ListCertificatesArgs {
787
796
  certifiers: PubKeyHex[]
@@ -803,11 +812,11 @@ export interface ListCertificatesResult {
803
812
  }
804
813
 
805
814
  /**
806
- * @param {WalletCertificate} certificate - The specific identity certificate being proven.
807
- * @param {CertificateFieldNameUnder50Bytes[]} fieldsToReveal - Array of field names that need to be revealed to the verifier.
808
- * @param {PubKeyHex} verifier - Public key of the verifier, to whom the key revelations will be made.
809
- * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
810
- * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
815
+ * @param {WalletCertificate} certificate - The specific identity certificate being proven.
816
+ * @param {CertificateFieldNameUnder50Bytes[]} fieldsToReveal - Array of field names that need to be revealed to the verifier.
817
+ * @param {PubKeyHex} verifier - Public key of the verifier, to whom the key revelations will be made.
818
+ * @param {BooleanDefaultFalse} [privileged] - Whether this is a privileged request.
819
+ * @param {DescriptionString5to50Bytes} [privilegedReason] - Reason provided for privileged access, required if this is a privileged operation.
811
820
  */
812
821
  export interface ProveCertificateArgs {
813
822
  certificate: Partial<WalletCertificate>
@@ -824,9 +833,9 @@ export interface ProveCertificateResult {
824
833
  }
825
834
 
826
835
  /**
827
- * @param {Base64String} type - Type identifier for the certificate.
828
- * @param {PubKeyHex} certifier - The public identity key of the certifier.
829
- * @param {Base64String} serialNumber - Serial number of the certificate to relinquish.
836
+ * @param {Base64String} type - Type identifier for the certificate.
837
+ * @param {PubKeyHex} certifier - The public identity key of the certifier.
838
+ * @param {Base64String} serialNumber - Serial number of the certificate to relinquish.
830
839
  */
831
840
  export interface RelinquishCertificateArgs {
832
841
  type: Base64String
@@ -866,10 +875,10 @@ export interface GetVersionResult {
866
875
  }
867
876
 
868
877
  /**
869
- * @param {PubKeyHex} identityKey - Identity key used to filter and discover certificates.
870
- * @param {PositiveIntegerDefault10Max10000} [limit] - Maximum number of certificates to return in the response.
871
- * @param {PositiveIntegerOrZero} [offset] - Skip this number of records before starting to provide results.
872
- * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
878
+ * @param {PubKeyHex} identityKey - Identity key used to filter and discover certificates.
879
+ * @param {PositiveIntegerDefault10Max10000} [limit] - Maximum number of certificates to return in the response.
880
+ * @param {PositiveIntegerOrZero} [offset] - Skip this number of records before starting to provide results.
881
+ * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
873
882
  */
874
883
  export interface DiscoverByIdentityKeyArgs {
875
884
  identityKey: PubKeyHex
@@ -886,10 +895,10 @@ export interface DiscoverCertificatesResult {
886
895
  }
887
896
 
888
897
  /**
889
- * @param {Record<CertificateFieldNameUnder50Bytes, string>} attributes - The attributes used to discover the certificates.
890
- * @param {PositiveIntegerDefault10Max10000} [limit] - Optional limit on the number of results returned.
891
- * @param {PositiveIntegerOrZero} [offset] - Starts retrieval of results after the specified number of records.
892
- * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
898
+ * @param {Record<CertificateFieldNameUnder50Bytes, string>} attributes - The attributes used to discover the certificates.
899
+ * @param {PositiveIntegerDefault10Max10000} [limit] - Optional limit on the number of results returned.
900
+ * @param {PositiveIntegerOrZero} [offset] - Starts retrieval of results after the specified number of records.
901
+ * @param {BooleanDefaultTrue} [seekPermission] — Whether to seek permission from the user for this operation if required. Default true, will return an error rather than proceed if set to false.
893
902
  */
894
903
  export interface DiscoverByAttributesArgs {
895
904
  attributes: Record<CertificateFieldNameUnder50Bytes, string>
@@ -898,6 +907,8 @@ export interface DiscoverByAttributesArgs {
898
907
  seekPermission?: BooleanDefaultTrue
899
908
  }
900
909
 
910
+ // export interface AcquireCertificateResult extends WalletCertificate {}
911
+
901
912
  /**
902
913
  * Every method of the `Wallet` interface has a return value of the form `Promise<object>`.
903
914
  * When errors occur, an exception object may be thrown which must conform to the `WalletErrorObject` interface.
@@ -1133,7 +1144,7 @@ export interface WalletInterface {
1133
1144
  acquireCertificate: (
1134
1145
  args: AcquireCertificateArgs,
1135
1146
  originator?: OriginatorDomainNameStringUnder250Bytes
1136
- ) => Promise<AcquireCertificateResult>
1147
+ ) => Promise<WalletCertificate>
1137
1148
 
1138
1149
  /**
1139
1150
  * Lists identity certificates belonging to the user, filtered by certifier(s) and type(s).
@@ -1203,7 +1214,7 @@ export interface WalletInterface {
1203
1214
  * @returns {Promise<AuthenticatedResult>} The promise resolves to an object indicating whether the user is authenticated or an error response.
1204
1215
  */
1205
1216
  isAuthenticated: (
1206
- args: {},
1217
+ args: object,
1207
1218
  originator?: OriginatorDomainNameStringUnder250Bytes
1208
1219
  ) => Promise<AuthenticatedResult>
1209
1220
 
@@ -1215,7 +1226,7 @@ export interface WalletInterface {
1215
1226
  * @returns {Promise<AuthenticatedResult>} The final result indicating that the user is authenticated or an error object.
1216
1227
  */
1217
1228
  waitForAuthentication: (
1218
- args: {},
1229
+ args: object,
1219
1230
  originator?: OriginatorDomainNameStringUnder250Bytes
1220
1231
  ) => Promise<AuthenticatedResult>
1221
1232
 
@@ -1227,7 +1238,7 @@ export interface WalletInterface {
1227
1238
  * @returns {Promise<Object>} Resolves to an object indicating the current height or an error on failure.
1228
1239
  */
1229
1240
  getHeight: (
1230
- args: {},
1241
+ args: object,
1231
1242
  originator?: OriginatorDomainNameStringUnder250Bytes
1232
1243
  ) => Promise<GetHeightResult>
1233
1244
 
@@ -1251,7 +1262,7 @@ export interface WalletInterface {
1251
1262
  * @returns {Promise<GetNetworkResult>} The promise resolves to an object indicating whether the client is using the mainnet or testnet.
1252
1263
  */
1253
1264
  getNetwork: (
1254
- args: {},
1265
+ args: object,
1255
1266
  originator?: OriginatorDomainNameStringUnder250Bytes
1256
1267
  ) => Promise<GetNetworkResult>
1257
1268
 
@@ -1263,7 +1274,7 @@ export interface WalletInterface {
1263
1274
  * @returns {Promise<GetVersionResult>} Resolves to an object containing the version string of the wallet, or an error.
1264
1275
  */
1265
1276
  getVersion: (
1266
- args: {},
1277
+ args: object,
1267
1278
  originator?: OriginatorDomainNameStringUnder250Bytes
1268
1279
  ) => Promise<GetVersionResult>
1269
1280
  }