@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,4 +1,50 @@
1
- import { AcquireCertificateArgs, AcquireCertificateResult, SecurityLevel, Base64String, BasketStringUnder300Bytes, BEEF, BooleanDefaultFalse, BooleanDefaultTrue, Byte, CertificateFieldNameUnder50Bytes, CreateActionArgs, CreateActionResult, DescriptionString5to50Bytes, DiscoverCertificatesResult, EntityIconURLStringMax500Bytes, EntityNameStringMax100Bytes, HexString, InternalizeActionArgs, ISOTimestampString, KeyIDStringUnder800Bytes, LabelStringUnder300Bytes, ListActionsArgs, ListActionsResult, ListCertificatesResult, ListOutputsArgs, ListOutputsResult, OriginatorDomainNameStringUnder250Bytes, OutpointString, OutputTagStringUnder300Bytes, PositiveInteger, PositiveIntegerDefault10Max10000, PositiveIntegerMax10, PositiveIntegerOrZero, ProtocolString5To400Bytes, ProveCertificateArgs, ProveCertificateResult, PubKeyHex, SatoshiValue, SignActionArgs, SignActionResult, TXIDHexString, VersionString7To30Bytes, WalletInterface } from '../Wallet.interfaces.js'
1
+
2
+ import {
3
+ AcquireCertificateArgs,
4
+ AcquireCertificateResult,
5
+ SecurityLevel,
6
+ SecurityLevels,
7
+ Base64String,
8
+ BasketStringUnder300Bytes,
9
+ BEEF,
10
+ BooleanDefaultFalse,
11
+ BooleanDefaultTrue,
12
+ Byte,
13
+ CertificateFieldNameUnder50Bytes,
14
+ CreateActionArgs,
15
+ CreateActionResult,
16
+ DescriptionString5to50Bytes,
17
+ DiscoverCertificatesResult,
18
+ EntityIconURLStringMax500Bytes,
19
+ EntityNameStringMax100Bytes,
20
+ HexString,
21
+ InternalizeActionArgs,
22
+ ISOTimestampString,
23
+ KeyIDStringUnder800Bytes,
24
+ LabelStringUnder300Bytes,
25
+ ListActionsArgs,
26
+ ListActionsResult,
27
+ ListCertificatesResult,
28
+ ListOutputsArgs,
29
+ ListOutputsResult,
30
+ OriginatorDomainNameStringUnder250Bytes,
31
+ OutpointString,
32
+ OutputTagStringUnder300Bytes,
33
+ PositiveInteger,
34
+ PositiveIntegerDefault10Max10000,
35
+ PositiveIntegerMax10,
36
+ PositiveIntegerOrZero,
37
+ ProtocolString5To400Bytes,
38
+ ProveCertificateArgs,
39
+ ProveCertificateResult,
40
+ PubKeyHex,
41
+ SatoshiValue,
42
+ SignActionArgs,
43
+ SignActionResult,
44
+ TXIDHexString,
45
+ VersionString7To30Bytes,
46
+ WalletInterface
47
+ } from '../Wallet.interfaces.js'
2
48
  import WalletWire from './WalletWire.js'
3
49
  import { Certificate } from '../../auth/index.js'
4
50
  import { Utils } from '../../primitives/index.js'
@@ -15,7 +61,11 @@ export default class WalletWireTransceiver implements WalletInterface {
15
61
  this.wire = wire
16
62
  }
17
63
 
18
- private async transmit(call: CallType, originator: OriginatorDomainNameStringUnder250Bytes = '', params: number[] = []): Promise<number[]> {
64
+ private async transmit(
65
+ call: CallType,
66
+ originator: OriginatorDomainNameStringUnder250Bytes = '',
67
+ params: number[] = []
68
+ ): Promise<number[]> {
19
69
  const frameWriter = new Utils.Writer()
20
70
  frameWriter.writeUInt8(calls[call])
21
71
  const originatorArray = Utils.toArray(originator, 'utf8')
@@ -48,7 +98,10 @@ export default class WalletWireTransceiver implements WalletInterface {
48
98
  }
49
99
  }
50
100
 
51
- async createAction(args: CreateActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<CreateActionResult> {
101
+ async createAction(
102
+ args: CreateActionArgs,
103
+ originator?: OriginatorDomainNameStringUnder250Bytes
104
+ ): Promise<CreateActionResult> {
52
105
  const paramWriter = new Utils.Writer()
53
106
 
54
107
  // Serialize description
@@ -57,7 +110,7 @@ export default class WalletWireTransceiver implements WalletInterface {
57
110
  paramWriter.write(descriptionBytes)
58
111
 
59
112
  // input BEEF
60
- if (args.inputBEEF) {
113
+ if (args.inputBEEF != null) {
61
114
  paramWriter.writeVarIntNum(args.inputBEEF.length)
62
115
  paramWriter.write(args.inputBEEF)
63
116
  } else {
@@ -65,24 +118,30 @@ export default class WalletWireTransceiver implements WalletInterface {
65
118
  }
66
119
 
67
120
  // Serialize inputs
68
- if (args.inputs) {
121
+ if (args.inputs != null) {
69
122
  paramWriter.writeVarIntNum(args.inputs.length)
70
123
  for (const input of args.inputs) {
71
124
  // outpoint
72
125
  paramWriter.write(this.encodeOutpoint(input.outpoint))
73
126
 
74
127
  // unlockingScript / unlockingScriptLength
75
- if (input.unlockingScript) {
76
- const unlockingScriptBytes = Utils.toArray(input.unlockingScript, 'hex')
128
+ if (input.unlockingScript != null && input.unlockingScript !== '') {
129
+ const unlockingScriptBytes = Utils.toArray(
130
+ input.unlockingScript,
131
+ 'hex'
132
+ )
77
133
  paramWriter.writeVarIntNum(unlockingScriptBytes.length)
78
134
  paramWriter.write(unlockingScriptBytes)
79
135
  } else {
80
136
  paramWriter.writeVarIntNum(-1)
81
- paramWriter.writeVarIntNum(input.unlockingScriptLength)
137
+ paramWriter.writeVarIntNum(input.unlockingScriptLength ?? 0)
82
138
  }
83
139
 
84
140
  // inputDescription
85
- const inputDescriptionBytes = Utils.toArray(input.inputDescription, 'utf8')
141
+ const inputDescriptionBytes = Utils.toArray(
142
+ input.inputDescription,
143
+ 'utf8'
144
+ )
86
145
  paramWriter.writeVarIntNum(inputDescriptionBytes.length)
87
146
  paramWriter.write(inputDescriptionBytes)
88
147
 
@@ -98,7 +157,7 @@ export default class WalletWireTransceiver implements WalletInterface {
98
157
  }
99
158
 
100
159
  // Serialize outputs
101
- if (args.outputs) {
160
+ if (args.outputs != null) {
102
161
  paramWriter.writeVarIntNum(args.outputs.length)
103
162
  for (const output of args.outputs) {
104
163
  // lockingScript
@@ -110,12 +169,15 @@ export default class WalletWireTransceiver implements WalletInterface {
110
169
  paramWriter.writeVarIntNum(output.satoshis)
111
170
 
112
171
  // outputDescription
113
- const outputDescriptionBytes = Utils.toArray(output.outputDescription, 'utf8')
172
+ const outputDescriptionBytes = Utils.toArray(
173
+ output.outputDescription,
174
+ 'utf8'
175
+ )
114
176
  paramWriter.writeVarIntNum(outputDescriptionBytes.length)
115
177
  paramWriter.write(outputDescriptionBytes)
116
178
 
117
179
  // basket
118
- if (output.basket) {
180
+ if (output.basket != null && output.basket !== '') {
119
181
  const basketBytes = Utils.toArray(output.basket, 'utf8')
120
182
  paramWriter.writeVarIntNum(basketBytes.length)
121
183
  paramWriter.write(basketBytes)
@@ -124,8 +186,11 @@ export default class WalletWireTransceiver implements WalletInterface {
124
186
  }
125
187
 
126
188
  // customInstructions
127
- if (output.customInstructions) {
128
- const customInstructionsBytes = Utils.toArray(output.customInstructions, 'utf8')
189
+ if (output.customInstructions != null && output.customInstructions !== '') {
190
+ const customInstructionsBytes = Utils.toArray(
191
+ output.customInstructions,
192
+ 'utf8'
193
+ )
129
194
  paramWriter.writeVarIntNum(customInstructionsBytes.length)
130
195
  paramWriter.write(customInstructionsBytes)
131
196
  } else {
@@ -133,7 +198,7 @@ export default class WalletWireTransceiver implements WalletInterface {
133
198
  }
134
199
 
135
200
  // tags
136
- if (output.tags) {
201
+ if (output.tags != null) {
137
202
  paramWriter.writeVarIntNum(output.tags.length)
138
203
  for (const tag of output.tags) {
139
204
  const tagBytes = Utils.toArray(tag, 'utf8')
@@ -163,7 +228,7 @@ export default class WalletWireTransceiver implements WalletInterface {
163
228
  }
164
229
 
165
230
  // Serialize labels
166
- if (args.labels) {
231
+ if (args.labels != null) {
167
232
  paramWriter.writeVarIntNum(args.labels.length)
168
233
  for (const label of args.labels) {
169
234
  const labelBytes = Utils.toArray(label, 'utf8')
@@ -175,7 +240,7 @@ export default class WalletWireTransceiver implements WalletInterface {
175
240
  }
176
241
 
177
242
  // Serialize options
178
- if (args.options) {
243
+ if (args.options != null) {
179
244
  paramWriter.writeInt8(1) // options present
180
245
 
181
246
  // signAndProcess
@@ -200,7 +265,7 @@ export default class WalletWireTransceiver implements WalletInterface {
200
265
  }
201
266
 
202
267
  // knownTxids
203
- if (args.options.knownTxids) {
268
+ if (args.options.knownTxids != null) {
204
269
  paramWriter.writeVarIntNum(args.options.knownTxids.length)
205
270
  for (const txid of args.options.knownTxids) {
206
271
  const txidBytes = Utils.toArray(txid, 'hex')
@@ -225,7 +290,7 @@ export default class WalletWireTransceiver implements WalletInterface {
225
290
  }
226
291
 
227
292
  // noSendChange
228
- if (args.options.noSendChange) {
293
+ if (args.options.noSendChange != null) {
229
294
  paramWriter.writeVarIntNum(args.options.noSendChange.length)
230
295
  for (const outpoint of args.options.noSendChange) {
231
296
  paramWriter.write(this.encodeOutpoint(outpoint))
@@ -235,7 +300,7 @@ export default class WalletWireTransceiver implements WalletInterface {
235
300
  }
236
301
 
237
302
  // sendWith
238
- if (args.options.sendWith) {
303
+ if (args.options.sendWith != null) {
239
304
  paramWriter.writeVarIntNum(args.options.sendWith.length)
240
305
  for (const txid of args.options.sendWith) {
241
306
  const txidBytes = Utils.toArray(txid, 'hex')
@@ -256,7 +321,11 @@ export default class WalletWireTransceiver implements WalletInterface {
256
321
  }
257
322
 
258
323
  // Transmit and parse response
259
- const result = await this.transmit('createAction', originator, paramWriter.toArray())
324
+ const result = await this.transmit(
325
+ 'createAction',
326
+ originator,
327
+ paramWriter.toArray()
328
+ )
260
329
  const resultReader = new Utils.Reader(result)
261
330
 
262
331
  const response: {
@@ -305,7 +374,7 @@ export default class WalletWireTransceiver implements WalletInterface {
305
374
  const txidBytes = resultReader.read(32)
306
375
  const txid = Utils.toHex(txidBytes)
307
376
  const statusCode = resultReader.readInt8()
308
- let status: 'unproven' | 'sending' | 'failed'
377
+ let status: 'unproven' | 'sending' | 'failed' = 'unproven'
309
378
  if (statusCode === 1) status = 'unproven'
310
379
  else if (statusCode === 2) status = 'sending'
311
380
  else if (statusCode === 3) status = 'failed'
@@ -329,7 +398,10 @@ export default class WalletWireTransceiver implements WalletInterface {
329
398
  return response
330
399
  }
331
400
 
332
- async signAction(args: SignActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<SignActionResult> {
401
+ async signAction(
402
+ args: SignActionArgs,
403
+ originator?: OriginatorDomainNameStringUnder250Bytes
404
+ ): Promise<SignActionResult> {
333
405
  const paramWriter = new Utils.Writer()
334
406
 
335
407
  // Serialize spends
@@ -356,7 +428,7 @@ export default class WalletWireTransceiver implements WalletInterface {
356
428
  paramWriter.write(referenceBytes)
357
429
 
358
430
  // Serialize options
359
- if (args.options) {
431
+ if (args.options != null) {
360
432
  paramWriter.writeInt8(1) // options present
361
433
 
362
434
  // acceptDelayedBroadcast
@@ -381,7 +453,7 @@ export default class WalletWireTransceiver implements WalletInterface {
381
453
  }
382
454
 
383
455
  // sendWith
384
- if (args.options.sendWith) {
456
+ if (args.options.sendWith != null) {
385
457
  paramWriter.writeVarIntNum(args.options.sendWith.length)
386
458
  for (const txid of args.options.sendWith) {
387
459
  const txidBytes = Utils.toArray(txid, 'hex')
@@ -395,7 +467,11 @@ export default class WalletWireTransceiver implements WalletInterface {
395
467
  }
396
468
 
397
469
  // Transmit and parse response
398
- const result = await this.transmit('signAction', originator, paramWriter.toArray())
470
+ const result = await this.transmit(
471
+ 'signAction',
472
+ originator,
473
+ paramWriter.toArray()
474
+ )
399
475
  const resultReader = new Utils.Reader(result)
400
476
 
401
477
  const response: {
@@ -430,7 +506,7 @@ export default class WalletWireTransceiver implements WalletInterface {
430
506
  const txidBytes = resultReader.read(32)
431
507
  const txid = Utils.toHex(txidBytes)
432
508
  const statusCode = resultReader.readInt8()
433
- let status: 'unproven' | 'sending' | 'failed'
509
+ let status: 'unproven' | 'sending' | 'failed' = 'unproven'
434
510
  if (statusCode === 1) status = 'unproven'
435
511
  else if (statusCode === 2) status = 'sending'
436
512
  else if (statusCode === 3) status = 'failed'
@@ -441,12 +517,22 @@ export default class WalletWireTransceiver implements WalletInterface {
441
517
  return response
442
518
  }
443
519
 
444
- async abortAction(args: { reference: Base64String }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ aborted: true }> {
445
- await this.transmit('abortAction', originator, Utils.toArray(args.reference, 'base64'))
520
+ async abortAction(
521
+ args: { reference: Base64String },
522
+ originator?: OriginatorDomainNameStringUnder250Bytes
523
+ ): Promise<{ aborted: true }> {
524
+ await this.transmit(
525
+ 'abortAction',
526
+ originator,
527
+ Utils.toArray(args.reference, 'base64')
528
+ )
446
529
  return { aborted: true }
447
530
  }
448
531
 
449
- async listActions(args: ListActionsArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListActionsResult> {
532
+ async listActions(
533
+ args: ListActionsArgs,
534
+ originator?: OriginatorDomainNameStringUnder250Bytes
535
+ ): Promise<ListActionsResult> {
450
536
  const paramWriter = new Utils.Writer()
451
537
 
452
538
  // Serialize labels
@@ -496,17 +582,34 @@ export default class WalletWireTransceiver implements WalletInterface {
496
582
  }
497
583
 
498
584
  // Serialize seekPermission
499
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
585
+ paramWriter.writeInt8(
586
+ typeof args.seekPermission === 'boolean'
587
+ ? args.seekPermission
588
+ ? 1
589
+ : 0
590
+ : -1
591
+ )
500
592
 
501
593
  // Transmit and parse response
502
- const result = await this.transmit('listActions', originator, paramWriter.toArray())
594
+ const result = await this.transmit(
595
+ 'listActions',
596
+ originator,
597
+ paramWriter.toArray()
598
+ )
503
599
  const resultReader = new Utils.Reader(result)
504
600
 
505
601
  const totalActions = resultReader.readVarIntNum()
506
602
  const actions: Array<{
507
603
  txid: TXIDHexString
508
604
  satoshis: SatoshiValue
509
- status: 'completed' | 'unprocessed' | 'sending' | 'unproven' | 'unsigned' | 'nosend' | 'nonfinal'
605
+ status:
606
+ | 'completed'
607
+ | 'unprocessed'
608
+ | 'sending'
609
+ | 'unproven'
610
+ | 'unsigned'
611
+ | 'nosend'
612
+ | 'nonfinal'
510
613
  isOutgoing: boolean
511
614
  description: DescriptionString5to50Bytes
512
615
  labels?: LabelStringUnder300Bytes[]
@@ -540,7 +643,14 @@ export default class WalletWireTransceiver implements WalletInterface {
540
643
  const satoshis = resultReader.readVarIntNum()
541
644
 
542
645
  const statusCode = resultReader.readInt8()
543
- let status: 'completed' | 'unprocessed' | 'sending' | 'unproven' | 'unsigned' | 'nosend' | 'nonfinal'
646
+ let status:
647
+ | 'completed'
648
+ | 'unprocessed'
649
+ | 'sending'
650
+ | 'unproven'
651
+ | 'unsigned'
652
+ | 'nosend'
653
+ | 'nonfinal'
544
654
  switch (statusCode) {
545
655
  case 1:
546
656
  status = 'completed'
@@ -610,7 +720,9 @@ export default class WalletWireTransceiver implements WalletInterface {
610
720
  const sourceLockingScriptLength = resultReader.readVarIntNum()
611
721
  let sourceLockingScript: string | undefined
612
722
  if (sourceLockingScriptLength >= 0) {
613
- const sourceLockingScriptBytes = resultReader.read(sourceLockingScriptLength)
723
+ const sourceLockingScriptBytes = resultReader.read(
724
+ sourceLockingScriptLength
725
+ )
614
726
  sourceLockingScript = Utils.toHex(sourceLockingScriptBytes)
615
727
  }
616
728
 
@@ -618,13 +730,17 @@ export default class WalletWireTransceiver implements WalletInterface {
618
730
  const unlockingScriptLength = resultReader.readVarIntNum()
619
731
  let unlockingScript: string | undefined
620
732
  if (unlockingScriptLength >= 0) {
621
- const unlockingScriptBytes = resultReader.read(unlockingScriptLength)
733
+ const unlockingScriptBytes = resultReader.read(
734
+ unlockingScriptLength
735
+ )
622
736
  unlockingScript = Utils.toHex(unlockingScriptBytes)
623
737
  }
624
738
 
625
739
  // inputDescription
626
740
  const inputDescriptionLength = resultReader.readVarIntNum()
627
- const inputDescriptionBytes = resultReader.read(inputDescriptionLength)
741
+ const inputDescriptionBytes = resultReader.read(
742
+ inputDescriptionLength
743
+ )
628
744
  const inputDescription = Utils.toUTF8(inputDescriptionBytes)
629
745
 
630
746
  // sequenceNumber
@@ -661,7 +777,9 @@ export default class WalletWireTransceiver implements WalletInterface {
661
777
 
662
778
  // outputDescription
663
779
  const outputDescriptionLength = resultReader.readVarIntNum()
664
- const outputDescriptionBytes = resultReader.read(outputDescriptionLength)
780
+ const outputDescriptionBytes = resultReader.read(
781
+ outputDescriptionLength
782
+ )
665
783
  const outputDescription = Utils.toUTF8(outputDescriptionBytes)
666
784
 
667
785
  // basket
@@ -687,7 +805,9 @@ export default class WalletWireTransceiver implements WalletInterface {
687
805
  const customInstructionsLength = resultReader.readVarIntNum()
688
806
  let customInstructions: string | undefined
689
807
  if (customInstructionsLength >= 0) {
690
- const customInstructionsBytes = resultReader.read(customInstructionsLength)
808
+ const customInstructionsBytes = resultReader.read(
809
+ customInstructionsLength
810
+ )
691
811
  customInstructions = Utils.toUTF8(customInstructionsBytes)
692
812
  }
693
813
 
@@ -713,7 +833,10 @@ export default class WalletWireTransceiver implements WalletInterface {
713
833
  }
714
834
  }
715
835
 
716
- async internalizeAction(args: InternalizeActionArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ accepted: true }> {
836
+ async internalizeAction(
837
+ args: InternalizeActionArgs,
838
+ originator?: OriginatorDomainNameStringUnder250Bytes
839
+ ): Promise<{ accepted: true }> {
717
840
  const paramWriter = new Utils.Writer()
718
841
  paramWriter.writeVarIntNum(args.tx.length)
719
842
  paramWriter.write(args.tx)
@@ -721,27 +844,44 @@ export default class WalletWireTransceiver implements WalletInterface {
721
844
  for (const out of args.outputs) {
722
845
  paramWriter.writeVarIntNum(out.outputIndex)
723
846
  if (out.protocol === 'wallet payment') {
847
+ if (out.paymentRemittance == null) {
848
+ throw new Error('Payment remittance is required for wallet payment')
849
+ }
724
850
  paramWriter.writeUInt8(1)
725
- paramWriter.write(Utils.toArray(out.paymentRemittance.senderIdentityKey, 'hex'))
726
- const derivationPrefixAsArray = Utils.toArray(out.paymentRemittance.derivationPrefix, 'base64')
851
+ paramWriter.write(
852
+ Utils.toArray(out.paymentRemittance.senderIdentityKey, 'hex')
853
+ )
854
+ const derivationPrefixAsArray = Utils.toArray(
855
+ out.paymentRemittance.derivationPrefix,
856
+ 'base64'
857
+ )
727
858
  paramWriter.writeVarIntNum(derivationPrefixAsArray.length)
728
859
  paramWriter.write(derivationPrefixAsArray)
729
- const derivationSuffixAsArray = Utils.toArray(out.paymentRemittance.derivationSuffix, 'base64')
860
+ const derivationSuffixAsArray = Utils.toArray(
861
+ out.paymentRemittance.derivationSuffix,
862
+ 'base64'
863
+ )
730
864
  paramWriter.writeVarIntNum(derivationSuffixAsArray.length)
731
865
  paramWriter.write(derivationSuffixAsArray)
732
866
  } else {
733
867
  paramWriter.writeUInt8(2)
734
- const basketAsArray = Utils.toArray(out.insertionRemittance.basket, 'utf8')
868
+ const basketAsArray = Utils.toArray(
869
+ out.insertionRemittance?.basket,
870
+ 'utf8'
871
+ )
735
872
  paramWriter.writeVarIntNum(basketAsArray.length)
736
873
  paramWriter.write(basketAsArray)
737
- if (typeof out.insertionRemittance.customInstructions) {
738
- const customInstructionsAsArray = Utils.toArray(out.insertionRemittance.customInstructions, 'utf8')
874
+ if (typeof out.insertionRemittance?.customInstructions === 'string' && out.insertionRemittance.customInstructions !== '') {
875
+ const customInstructionsAsArray = Utils.toArray(
876
+ out.insertionRemittance.customInstructions,
877
+ 'utf8'
878
+ )
739
879
  paramWriter.writeVarIntNum(customInstructionsAsArray.length)
740
880
  paramWriter.write(customInstructionsAsArray)
741
881
  } else {
742
882
  paramWriter.writeVarIntNum(-1)
743
883
  }
744
- if (typeof out.insertionRemittance.tags === 'object') {
884
+ if (typeof out.insertionRemittance?.tags === 'object') {
745
885
  paramWriter.writeVarIntNum(out.insertionRemittance.tags.length)
746
886
  for (const tag of out.insertionRemittance.tags) {
747
887
  const tagAsArray = Utils.toArray(tag, 'utf8')
@@ -768,13 +908,22 @@ export default class WalletWireTransceiver implements WalletInterface {
768
908
  paramWriter.write(descriptionAsArray)
769
909
 
770
910
  // Serialize seekPermission
771
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
911
+ paramWriter.writeInt8(
912
+ typeof args.seekPermission === 'boolean'
913
+ ? args.seekPermission
914
+ ? 1
915
+ : 0
916
+ : -1
917
+ )
772
918
 
773
919
  await this.transmit('internalizeAction', originator, paramWriter.toArray())
774
920
  return { accepted: true }
775
921
  }
776
922
 
777
- async listOutputs(args: ListOutputsArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListOutputsResult> {
923
+ async listOutputs(
924
+ args: ListOutputsArgs,
925
+ originator?: OriginatorDomainNameStringUnder250Bytes
926
+ ): Promise<ListOutputsResult> {
778
927
  const paramWriter = new Utils.Writer()
779
928
  const basketAsArray = Utils.toArray(args.basket, 'utf8')
780
929
  paramWriter.writeVarIntNum(basketAsArray.length)
@@ -830,21 +979,49 @@ export default class WalletWireTransceiver implements WalletInterface {
830
979
  }
831
980
 
832
981
  // Serialize seekPermission
833
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
834
-
835
- const result = await this.transmit('listOutputs', originator, paramWriter.toArray())
982
+ paramWriter.writeInt8(
983
+ typeof args.seekPermission === 'boolean'
984
+ ? args.seekPermission
985
+ ? 1
986
+ : 0
987
+ : -1
988
+ )
989
+
990
+ const result = await this.transmit(
991
+ 'listOutputs',
992
+ originator,
993
+ paramWriter.toArray()
994
+ )
836
995
  const resultReader = new Utils.Reader(result)
837
996
  const totalOutputs = resultReader.readVarIntNum()
838
997
  const beefLength = resultReader.readVarIntNum()
839
- let BEEF = undefined
998
+ let BEEF
840
999
  if (beefLength >= 0) {
841
1000
  BEEF = resultReader.read(beefLength)
842
1001
  }
843
- const outputs: Array<{ outpoint: OutpointString, satoshis: SatoshiValue, lockingScript?: HexString, tx?: BEEF, spendable: true, customInstructions?: string, tags?: OutputTagStringUnder300Bytes[], labels?: LabelStringUnder300Bytes[] }> = []
1002
+ const outputs: Array<{
1003
+ outpoint: OutpointString
1004
+ satoshis: SatoshiValue
1005
+ lockingScript?: HexString
1006
+ tx?: BEEF
1007
+ spendable: true
1008
+ customInstructions?: string
1009
+ tags?: OutputTagStringUnder300Bytes[]
1010
+ labels?: LabelStringUnder300Bytes[]
1011
+ }> = []
844
1012
  for (let i = 0; i < totalOutputs; i++) {
845
1013
  const outpoint = this.readOutpoint(resultReader)
846
1014
  const satoshis = resultReader.readVarIntNum()
847
- const output: { outpoint: OutpointString, satoshis: SatoshiValue, lockingScript?: HexString, tx?: BEEF, spendable: true, customInstructions?: string, tags?: OutputTagStringUnder300Bytes[], labels?: LabelStringUnder300Bytes[] } = {
1015
+ const output: {
1016
+ outpoint: OutpointString
1017
+ satoshis: SatoshiValue
1018
+ lockingScript?: HexString
1019
+ tx?: BEEF
1020
+ spendable: true
1021
+ customInstructions?: string
1022
+ tags?: OutputTagStringUnder300Bytes[]
1023
+ labels?: LabelStringUnder300Bytes[]
1024
+ } = {
848
1025
  spendable: true,
849
1026
  outpoint,
850
1027
  satoshis
@@ -855,7 +1032,9 @@ export default class WalletWireTransceiver implements WalletInterface {
855
1032
  }
856
1033
  const customInstructionsLength = resultReader.readVarIntNum()
857
1034
  if (customInstructionsLength >= 0) {
858
- output.customInstructions = Utils.toUTF8(resultReader.read(customInstructionsLength))
1035
+ output.customInstructions = Utils.toUTF8(
1036
+ resultReader.read(customInstructionsLength)
1037
+ )
859
1038
  }
860
1039
  const tagsLength = resultReader.readVarIntNum()
861
1040
  if (tagsLength !== -1) {
@@ -884,7 +1063,10 @@ export default class WalletWireTransceiver implements WalletInterface {
884
1063
  }
885
1064
  }
886
1065
 
887
- async relinquishOutput(args: { basket: BasketStringUnder300Bytes, output: OutpointString }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ relinquished: true }> {
1066
+ async relinquishOutput(
1067
+ args: { basket: BasketStringUnder300Bytes, output: OutpointString },
1068
+ originator?: OriginatorDomainNameStringUnder250Bytes
1069
+ ): Promise<{ relinquished: true }> {
888
1070
  const paramWriter = new Utils.Writer()
889
1071
  const basketAsArray = Utils.toArray(args.basket, 'utf8')
890
1072
  paramWriter.writeVarIntNum(basketAsArray.length)
@@ -908,45 +1090,102 @@ export default class WalletWireTransceiver implements WalletInterface {
908
1090
  return `${txid}.${index}`
909
1091
  }
910
1092
 
911
- async getPublicKey(args: { seekPermission?: BooleanDefaultTrue, identityKey?: true, protocolID?: [SecurityLevel, ProtocolString5To400Bytes], keyID?: KeyIDStringUnder800Bytes, privileged?: BooleanDefaultFalse, privilegedReason?: DescriptionString5to50Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', forSelf?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ publicKey: PubKeyHex }> {
1093
+ async getPublicKey(
1094
+ args: {
1095
+ seekPermission?: BooleanDefaultTrue
1096
+ identityKey?: true
1097
+ protocolID?: [SecurityLevel, ProtocolString5To400Bytes]
1098
+ keyID?: KeyIDStringUnder800Bytes
1099
+ privileged?: BooleanDefaultFalse
1100
+ privilegedReason?: DescriptionString5to50Bytes
1101
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1102
+ forSelf?: BooleanDefaultFalse
1103
+ },
1104
+ originator?: OriginatorDomainNameStringUnder250Bytes
1105
+ ): Promise<{ publicKey: PubKeyHex }> {
912
1106
  const paramWriter = new Utils.Writer()
913
1107
  paramWriter.writeUInt8(args.identityKey ? 1 : 0)
914
1108
  if (!args.identityKey) {
915
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1109
+ paramWriter.write(
1110
+ this.encodeKeyRelatedParams(
1111
+ args.protocolID ??= [SecurityLevels.Silent, 'default'],
1112
+ args.keyID ??= '',
1113
+ args.counterparty,
1114
+ args.privileged,
1115
+ args.privilegedReason
1116
+ )
1117
+ )
916
1118
  if (typeof args.forSelf === 'boolean') {
917
1119
  paramWriter.writeInt8(args.forSelf ? 1 : 0)
918
1120
  } else {
919
1121
  paramWriter.writeInt8(-1)
920
1122
  }
921
1123
  } else {
922
- paramWriter.write(this.encodePrivilegedParams(args.privileged, args.privilegedReason))
1124
+ paramWriter.write(
1125
+ this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1126
+ )
923
1127
  }
924
1128
 
925
1129
  // Serialize seekPermission
926
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
927
-
928
- const result = await this.transmit('getPublicKey', originator, paramWriter.toArray())
1130
+ paramWriter.writeInt8(
1131
+ typeof args.seekPermission === 'boolean'
1132
+ ? args.seekPermission
1133
+ ? 1
1134
+ : 0
1135
+ : -1
1136
+ )
1137
+
1138
+ const result = await this.transmit(
1139
+ 'getPublicKey',
1140
+ originator,
1141
+ paramWriter.toArray()
1142
+ )
929
1143
  return {
930
1144
  publicKey: Utils.toHex(result)
931
1145
  }
932
1146
  }
933
1147
 
934
- async revealCounterpartyKeyLinkage(args: { counterparty: PubKeyHex, verifier: PubKeyHex, privilegedReason?: DescriptionString5to50Bytes, privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ prover: PubKeyHex, verifier: PubKeyHex, counterparty: PubKeyHex, revelationTime: ISOTimestampString, encryptedLinkage: Byte[], encryptedLinkageProof: number[] }> {
1148
+ async revealCounterpartyKeyLinkage(
1149
+ args: {
1150
+ counterparty: PubKeyHex
1151
+ verifier: PubKeyHex
1152
+ privilegedReason?: DescriptionString5to50Bytes
1153
+ privileged?: BooleanDefaultFalse
1154
+ },
1155
+ originator?: OriginatorDomainNameStringUnder250Bytes
1156
+ ): Promise<{
1157
+ prover: PubKeyHex
1158
+ verifier: PubKeyHex
1159
+ counterparty: PubKeyHex
1160
+ revelationTime: ISOTimestampString
1161
+ encryptedLinkage: Byte[]
1162
+ encryptedLinkageProof: number[]
1163
+ }> {
935
1164
  const paramWriter = new Utils.Writer()
936
- paramWriter.write(this.encodePrivilegedParams(args.privileged, args.privilegedReason))
1165
+ paramWriter.write(
1166
+ this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1167
+ )
937
1168
  paramWriter.write(Utils.toArray(args.counterparty, 'hex'))
938
1169
  paramWriter.write(Utils.toArray(args.verifier, 'hex'))
939
- const result = await this.transmit('revealCounterpartyKeyLinkage', originator, paramWriter.toArray())
1170
+ const result = await this.transmit(
1171
+ 'revealCounterpartyKeyLinkage',
1172
+ originator,
1173
+ paramWriter.toArray()
1174
+ )
940
1175
  const resultReader = new Utils.Reader(result)
941
1176
  const prover = Utils.toHex(resultReader.read(33))
942
1177
  const verifier = Utils.toHex(resultReader.read(33))
943
1178
  const counterparty = Utils.toHex(resultReader.read(33))
944
1179
  const revelationTimeLength = resultReader.readVarIntNum()
945
- const revelationTime = Utils.toUTF8(resultReader.read(revelationTimeLength))
1180
+ const revelationTime = Utils.toUTF8(
1181
+ resultReader.read(revelationTimeLength)
1182
+ )
946
1183
  const encryptedLinkageLength = resultReader.readVarIntNum()
947
1184
  const encryptedLinkage = resultReader.read(encryptedLinkageLength)
948
1185
  const encryptedLinkageProofLength = resultReader.readVarIntNum()
949
- const encryptedLinkageProof = resultReader.read(encryptedLinkageProofLength)
1186
+ const encryptedLinkageProof = resultReader.read(
1187
+ encryptedLinkageProofLength
1188
+ )
950
1189
  return {
951
1190
  prover,
952
1191
  verifier,
@@ -957,11 +1196,42 @@ export default class WalletWireTransceiver implements WalletInterface {
957
1196
  }
958
1197
  }
959
1198
 
960
- async revealSpecificKeyLinkage(args: { counterparty: PubKeyHex, verifier: PubKeyHex, protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, privilegedReason?: DescriptionString5to50Bytes, privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ prover: PubKeyHex, verifier: PubKeyHex, counterparty: PubKeyHex, protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, encryptedLinkage: Byte[], encryptedLinkageProof: Byte[], proofType: Byte }> {
1199
+ async revealSpecificKeyLinkage(
1200
+ args: {
1201
+ counterparty: PubKeyHex
1202
+ verifier: PubKeyHex
1203
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1204
+ keyID: KeyIDStringUnder800Bytes
1205
+ privilegedReason?: DescriptionString5to50Bytes
1206
+ privileged?: BooleanDefaultFalse
1207
+ },
1208
+ originator?: OriginatorDomainNameStringUnder250Bytes
1209
+ ): Promise<{
1210
+ prover: PubKeyHex
1211
+ verifier: PubKeyHex
1212
+ counterparty: PubKeyHex
1213
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1214
+ keyID: KeyIDStringUnder800Bytes
1215
+ encryptedLinkage: Byte[]
1216
+ encryptedLinkageProof: Byte[]
1217
+ proofType: Byte
1218
+ }> {
961
1219
  const paramWriter = new Utils.Writer()
962
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1220
+ paramWriter.write(
1221
+ this.encodeKeyRelatedParams(
1222
+ args.protocolID,
1223
+ args.keyID,
1224
+ args.counterparty,
1225
+ args.privileged,
1226
+ args.privilegedReason
1227
+ )
1228
+ )
963
1229
  paramWriter.write(Utils.toArray(args.verifier, 'hex'))
964
- const result = await this.transmit('revealSpecificKeyLinkage', originator, paramWriter.toArray())
1230
+ const result = await this.transmit(
1231
+ 'revealSpecificKeyLinkage',
1232
+ originator,
1233
+ paramWriter.toArray()
1234
+ )
965
1235
  const resultReader = new Utils.Reader(result)
966
1236
  const prover = Utils.toHex(resultReader.read(33))
967
1237
  const verifier = Utils.toHex(resultReader.read(33))
@@ -974,7 +1244,9 @@ export default class WalletWireTransceiver implements WalletInterface {
974
1244
  const encryptedLinkageLength = resultReader.readVarIntNum()
975
1245
  const encryptedLinkage = resultReader.read(encryptedLinkageLength)
976
1246
  const encryptedLinkageProofLength = resultReader.readVarIntNum()
977
- const encryptedLinkageProof = resultReader.read(encryptedLinkageProofLength)
1247
+ const encryptedLinkageProof = resultReader.read(
1248
+ encryptedLinkageProofLength
1249
+ )
978
1250
  const proofType = resultReader.readUInt8()
979
1251
  return {
980
1252
  prover,
@@ -988,75 +1260,240 @@ export default class WalletWireTransceiver implements WalletInterface {
988
1260
  }
989
1261
  }
990
1262
 
991
- async encrypt(args: { seekPermission?: BooleanDefaultTrue, plaintext: Byte[], protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, privilegedReason?: DescriptionString5to50Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ ciphertext: Byte[] }> {
1263
+ async encrypt(
1264
+ args: {
1265
+ seekPermission?: BooleanDefaultTrue
1266
+ plaintext: Byte[]
1267
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1268
+ keyID: KeyIDStringUnder800Bytes
1269
+ privilegedReason?: DescriptionString5to50Bytes
1270
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1271
+ privileged?: BooleanDefaultFalse
1272
+ },
1273
+ originator?: OriginatorDomainNameStringUnder250Bytes
1274
+ ): Promise<{ ciphertext: Byte[] }> {
992
1275
  const paramWriter = new Utils.Writer()
993
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1276
+ paramWriter.write(
1277
+ this.encodeKeyRelatedParams(
1278
+ args.protocolID,
1279
+ args.keyID,
1280
+ args.counterparty,
1281
+ args.privileged,
1282
+ args.privilegedReason
1283
+ )
1284
+ )
994
1285
  paramWriter.writeVarIntNum(args.plaintext.length)
995
1286
  paramWriter.write(args.plaintext)
996
1287
  // Serialize seekPermission
997
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1288
+ paramWriter.writeInt8(
1289
+ typeof args.seekPermission === 'boolean'
1290
+ ? args.seekPermission
1291
+ ? 1
1292
+ : 0
1293
+ : -1
1294
+ )
998
1295
  return {
999
- ciphertext: await this.transmit('encrypt', originator, paramWriter.toArray())
1296
+ ciphertext: await this.transmit(
1297
+ 'encrypt',
1298
+ originator,
1299
+ paramWriter.toArray()
1300
+ )
1000
1301
  }
1001
1302
  }
1002
1303
 
1003
- async decrypt(args: { seekPermission?: BooleanDefaultTrue, ciphertext: Byte[], protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, privilegedReason?: DescriptionString5to50Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ plaintext: Byte[] }> {
1304
+ async decrypt(
1305
+ args: {
1306
+ seekPermission?: BooleanDefaultTrue
1307
+ ciphertext: Byte[]
1308
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1309
+ keyID: KeyIDStringUnder800Bytes
1310
+ privilegedReason?: DescriptionString5to50Bytes
1311
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1312
+ privileged?: BooleanDefaultFalse
1313
+ },
1314
+ originator?: OriginatorDomainNameStringUnder250Bytes
1315
+ ): Promise<{ plaintext: Byte[] }> {
1004
1316
  const paramWriter = new Utils.Writer()
1005
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1317
+ paramWriter.write(
1318
+ this.encodeKeyRelatedParams(
1319
+ args.protocolID,
1320
+ args.keyID,
1321
+ args.counterparty,
1322
+ args.privileged,
1323
+ args.privilegedReason
1324
+ )
1325
+ )
1006
1326
  paramWriter.writeVarIntNum(args.ciphertext.length)
1007
1327
  paramWriter.write(args.ciphertext)
1008
1328
  // Serialize seekPermission
1009
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1329
+ paramWriter.writeInt8(
1330
+ typeof args.seekPermission === 'boolean'
1331
+ ? args.seekPermission
1332
+ ? 1
1333
+ : 0
1334
+ : -1
1335
+ )
1010
1336
  return {
1011
- plaintext: await this.transmit('decrypt', originator, paramWriter.toArray())
1337
+ plaintext: await this.transmit(
1338
+ 'decrypt',
1339
+ originator,
1340
+ paramWriter.toArray()
1341
+ )
1012
1342
  }
1013
1343
  }
1014
1344
 
1015
- async createHmac(args: { seekPermission?: BooleanDefaultTrue, data: Byte[], protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, privilegedReason?: DescriptionString5to50Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ hmac: Byte[] }> {
1345
+ async createHmac(
1346
+ args: {
1347
+ seekPermission?: BooleanDefaultTrue
1348
+ data: Byte[]
1349
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1350
+ keyID: KeyIDStringUnder800Bytes
1351
+ privilegedReason?: DescriptionString5to50Bytes
1352
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1353
+ privileged?: BooleanDefaultFalse
1354
+ },
1355
+ originator?: OriginatorDomainNameStringUnder250Bytes
1356
+ ): Promise<{ hmac: Byte[] }> {
1016
1357
  const paramWriter = new Utils.Writer()
1017
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1358
+ paramWriter.write(
1359
+ this.encodeKeyRelatedParams(
1360
+ args.protocolID,
1361
+ args.keyID,
1362
+ args.counterparty,
1363
+ args.privileged,
1364
+ args.privilegedReason
1365
+ )
1366
+ )
1018
1367
  paramWriter.writeVarIntNum(args.data.length)
1019
1368
  paramWriter.write(args.data)
1020
1369
  // Serialize seekPermission
1021
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1370
+ paramWriter.writeInt8(
1371
+ typeof args.seekPermission === 'boolean'
1372
+ ? args.seekPermission
1373
+ ? 1
1374
+ : 0
1375
+ : -1
1376
+ )
1022
1377
  return {
1023
- hmac: await this.transmit('createHmac', originator, paramWriter.toArray())
1378
+ hmac: await this.transmit(
1379
+ 'createHmac',
1380
+ originator,
1381
+ paramWriter.toArray()
1382
+ )
1024
1383
  }
1025
1384
  }
1026
1385
 
1027
- async verifyHmac(args: { seekPermission?: BooleanDefaultTrue, data: Byte[], hmac: Byte[], protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, privilegedReason?: DescriptionString5to50Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ valid: true }> {
1386
+ async verifyHmac(
1387
+ args: {
1388
+ seekPermission?: BooleanDefaultTrue
1389
+ data: Byte[]
1390
+ hmac: Byte[]
1391
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1392
+ keyID: KeyIDStringUnder800Bytes
1393
+ privilegedReason?: DescriptionString5to50Bytes
1394
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1395
+ privileged?: BooleanDefaultFalse
1396
+ },
1397
+ originator?: OriginatorDomainNameStringUnder250Bytes
1398
+ ): Promise<{ valid: true }> {
1028
1399
  const paramWriter = new Utils.Writer()
1029
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1400
+ paramWriter.write(
1401
+ this.encodeKeyRelatedParams(
1402
+ args.protocolID,
1403
+ args.keyID,
1404
+ args.counterparty,
1405
+ args.privileged,
1406
+ args.privilegedReason
1407
+ )
1408
+ )
1030
1409
  paramWriter.write(args.hmac)
1031
1410
  paramWriter.writeVarIntNum(args.data.length)
1032
1411
  paramWriter.write(args.data)
1033
1412
  // Serialize seekPermission
1034
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1413
+ paramWriter.writeInt8(
1414
+ typeof args.seekPermission === 'boolean'
1415
+ ? args.seekPermission
1416
+ ? 1
1417
+ : 0
1418
+ : -1
1419
+ )
1035
1420
  await this.transmit('verifyHmac', originator, paramWriter.toArray())
1036
1421
  return { valid: true }
1037
1422
  }
1038
1423
 
1039
- async createSignature(args: { seekPermission?: BooleanDefaultTrue, data?: Byte[], hashToDirectlySign?: Byte[], protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, privilegedReason?: DescriptionString5to50Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ signature: Byte[] }> {
1424
+ async createSignature(
1425
+ args: {
1426
+ seekPermission?: BooleanDefaultTrue
1427
+ data?: Byte[]
1428
+ hashToDirectlySign?: Byte[]
1429
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1430
+ keyID: KeyIDStringUnder800Bytes
1431
+ privilegedReason?: DescriptionString5to50Bytes
1432
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1433
+ privileged?: BooleanDefaultFalse
1434
+ },
1435
+ originator?: OriginatorDomainNameStringUnder250Bytes
1436
+ ): Promise<{ signature: Byte[] }> {
1040
1437
  const paramWriter = new Utils.Writer()
1041
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1438
+ paramWriter.write(
1439
+ this.encodeKeyRelatedParams(
1440
+ args.protocolID,
1441
+ args.keyID,
1442
+ args.counterparty,
1443
+ args.privileged,
1444
+ args.privilegedReason
1445
+ )
1446
+ )
1042
1447
  if (typeof args.data === 'object') {
1043
1448
  paramWriter.writeUInt8(1)
1044
1449
  paramWriter.writeVarIntNum(args.data.length)
1045
1450
  paramWriter.write(args.data)
1046
1451
  } else {
1047
1452
  paramWriter.writeUInt8(2)
1048
- paramWriter.write(args.hashToDirectlySign)
1453
+ paramWriter.write(args.hashToDirectlySign ??= [])
1049
1454
  }
1050
1455
  // Serialize seekPermission
1051
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1456
+ paramWriter.writeInt8(
1457
+ typeof args.seekPermission === 'boolean'
1458
+ ? args.seekPermission
1459
+ ? 1
1460
+ : 0
1461
+ : -1
1462
+ )
1052
1463
  return {
1053
- signature: await this.transmit('createSignature', originator, paramWriter.toArray())
1464
+ signature: await this.transmit(
1465
+ 'createSignature',
1466
+ originator,
1467
+ paramWriter.toArray()
1468
+ )
1054
1469
  }
1055
1470
  }
1056
1471
 
1057
- async verifySignature(args: { seekPermission?: BooleanDefaultTrue, data?: Byte[], hashToDirectlyVerify?: Byte[], signature: Byte[], protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, privilegedReason?: DescriptionString5to50Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', forSelf?: BooleanDefaultFalse, privileged?: BooleanDefaultFalse }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ valid: true }> {
1472
+ async verifySignature(
1473
+ args: {
1474
+ seekPermission?: BooleanDefaultTrue
1475
+ data?: Byte[]
1476
+ hashToDirectlyVerify?: Byte[]
1477
+ signature: Byte[]
1478
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes]
1479
+ keyID: KeyIDStringUnder800Bytes
1480
+ privilegedReason?: DescriptionString5to50Bytes
1481
+ counterparty?: PubKeyHex | 'self' | 'anyone'
1482
+ forSelf?: BooleanDefaultFalse
1483
+ privileged?: BooleanDefaultFalse
1484
+ },
1485
+ originator?: OriginatorDomainNameStringUnder250Bytes
1486
+ ): Promise<{ valid: true }> {
1058
1487
  const paramWriter = new Utils.Writer()
1059
- paramWriter.write(this.encodeKeyRelatedParams(args.protocolID, args.keyID, args.counterparty, args.privileged, args.privilegedReason))
1488
+ paramWriter.write(
1489
+ this.encodeKeyRelatedParams(
1490
+ args.protocolID,
1491
+ args.keyID,
1492
+ args.counterparty,
1493
+ args.privileged,
1494
+ args.privilegedReason
1495
+ )
1496
+ )
1060
1497
  if (typeof args.forSelf === 'boolean') {
1061
1498
  paramWriter.writeInt8(args.forSelf ? 1 : 0)
1062
1499
  } else {
@@ -1070,15 +1507,27 @@ export default class WalletWireTransceiver implements WalletInterface {
1070
1507
  paramWriter.write(args.data)
1071
1508
  } else {
1072
1509
  paramWriter.writeUInt8(2)
1073
- paramWriter.write(args.hashToDirectlyVerify)
1510
+ paramWriter.write(args.hashToDirectlyVerify ?? [])
1074
1511
  }
1075
1512
  // Serialize seekPermission
1076
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1513
+ paramWriter.writeInt8(
1514
+ typeof args.seekPermission === 'boolean'
1515
+ ? args.seekPermission
1516
+ ? 1
1517
+ : 0
1518
+ : -1
1519
+ )
1077
1520
  await this.transmit('verifySignature', originator, paramWriter.toArray())
1078
1521
  return { valid: true }
1079
1522
  }
1080
1523
 
1081
- private encodeKeyRelatedParams(protocolID: [SecurityLevel, ProtocolString5To400Bytes], keyID: KeyIDStringUnder800Bytes, counterparty?: PubKeyHex | 'self' | 'anyone', privileged?: boolean, privilegedReason?: string): number[] {
1524
+ private encodeKeyRelatedParams(
1525
+ protocolID: [SecurityLevel, ProtocolString5To400Bytes],
1526
+ keyID: KeyIDStringUnder800Bytes,
1527
+ counterparty?: PubKeyHex | 'self' | 'anyone',
1528
+ privileged?: boolean,
1529
+ privilegedReason?: string
1530
+ ): number[] {
1082
1531
  const paramWriter = new Utils.Writer()
1083
1532
  paramWriter.writeUInt8(protocolID[0])
1084
1533
  const protocolAsArray = Utils.toArray(protocolID[1], 'utf8')
@@ -1096,7 +1545,9 @@ export default class WalletWireTransceiver implements WalletInterface {
1096
1545
  } else {
1097
1546
  paramWriter.write(Utils.toArray(counterparty, 'hex'))
1098
1547
  }
1099
- paramWriter.write(this.encodePrivilegedParams(privileged, privilegedReason))
1548
+ paramWriter.write(
1549
+ this.encodePrivilegedParams(privileged, privilegedReason)
1550
+ )
1100
1551
  return paramWriter.toArray()
1101
1552
  }
1102
1553
 
@@ -1121,28 +1572,34 @@ export default class WalletWireTransceiver implements WalletInterface {
1121
1572
  paramWriter.write(valueAsArray)
1122
1573
  }
1123
1574
 
1124
- paramWriter.write(this.encodePrivilegedParams(args.privileged, args.privilegedReason))
1575
+ paramWriter.write(
1576
+ this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1577
+ )
1125
1578
  paramWriter.writeUInt8(args.acquisitionProtocol === 'direct' ? 1 : 2)
1126
1579
 
1127
1580
  if (args.acquisitionProtocol === 'direct') {
1128
1581
  paramWriter.write(Utils.toArray(args.serialNumber, 'base64'))
1129
- paramWriter.write(this.encodeOutpoint(args.revocationOutpoint))
1582
+ paramWriter.write(this.encodeOutpoint(args.revocationOutpoint ?? ''))
1130
1583
  const signatureAsArray = Utils.toArray(args.signature, 'hex')
1131
1584
  paramWriter.writeVarIntNum(signatureAsArray.length)
1132
1585
  paramWriter.write(signatureAsArray)
1133
1586
 
1134
- const keyringRevealerAsArray = args.keyringRevealer !== 'certifier'
1135
- ? Utils.toArray(args.keyringRevealer, 'hex')
1136
- : [11]
1587
+ const keyringRevealerAsArray =
1588
+ args.keyringRevealer !== 'certifier'
1589
+ ? Utils.toArray(args.keyringRevealer, 'hex')
1590
+ : [11]
1137
1591
  paramWriter.write(keyringRevealerAsArray)
1138
1592
 
1139
- const keyringKeys = Object.keys(args.keyringForSubject)
1593
+ const keyringKeys = Object.keys(args.keyringForSubject ?? {})
1140
1594
  paramWriter.writeVarIntNum(keyringKeys.length)
1141
1595
  for (let i = 0; i < keyringKeys.length; i++) {
1142
1596
  const keyringKeysAsArray = Utils.toArray(keyringKeys[i], 'utf8')
1143
1597
  paramWriter.writeVarIntNum(keyringKeysAsArray.length)
1144
1598
  paramWriter.write(keyringKeysAsArray)
1145
- const keyringForSubjectAsArray = Utils.toArray(args.keyringForSubject[keyringKeys[i]], 'base64')
1599
+ const keyringForSubjectAsArray = Utils.toArray(
1600
+ args.keyringForSubject?.[keyringKeys[i]],
1601
+ 'base64'
1602
+ )
1146
1603
  paramWriter.writeVarIntNum(keyringForSubjectAsArray.length)
1147
1604
  paramWriter.write(keyringForSubjectAsArray)
1148
1605
  }
@@ -1152,7 +1609,11 @@ export default class WalletWireTransceiver implements WalletInterface {
1152
1609
  paramWriter.write(certifierUrlAsArray)
1153
1610
  }
1154
1611
 
1155
- const result = await this.transmit('acquireCertificate', originator, paramWriter.toArray())
1612
+ const result = await this.transmit(
1613
+ 'acquireCertificate',
1614
+ originator,
1615
+ paramWriter.toArray()
1616
+ )
1156
1617
  const cert = Certificate.fromBinary(result)
1157
1618
  return {
1158
1619
  ...cert,
@@ -1160,7 +1621,10 @@ export default class WalletWireTransceiver implements WalletInterface {
1160
1621
  }
1161
1622
  }
1162
1623
 
1163
- private encodePrivilegedParams(privileged?: boolean, privilegedReason?: string): number[] {
1624
+ private encodePrivilegedParams(
1625
+ privileged?: boolean,
1626
+ privilegedReason?: string
1627
+ ): number[] {
1164
1628
  const paramWriter = new Utils.Writer()
1165
1629
  if (typeof privileged === 'boolean') {
1166
1630
  paramWriter.writeInt8(privileged ? 1 : 0)
@@ -1177,7 +1641,17 @@ export default class WalletWireTransceiver implements WalletInterface {
1177
1641
  return paramWriter.toArray()
1178
1642
  }
1179
1643
 
1180
- async listCertificates(args: { certifiers: PubKeyHex[], types: Base64String[], limit?: PositiveIntegerDefault10Max10000, offset?: PositiveIntegerOrZero, privileged?: BooleanDefaultFalse, privilegedReason?: DescriptionString5to50Bytes }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ListCertificatesResult> {
1644
+ async listCertificates(
1645
+ args: {
1646
+ certifiers: PubKeyHex[]
1647
+ types: Base64String[]
1648
+ limit?: PositiveIntegerDefault10Max10000
1649
+ offset?: PositiveIntegerOrZero
1650
+ privileged?: BooleanDefaultFalse
1651
+ privilegedReason?: DescriptionString5to50Bytes
1652
+ },
1653
+ originator?: OriginatorDomainNameStringUnder250Bytes
1654
+ ): Promise<ListCertificatesResult> {
1181
1655
  const paramWriter = new Utils.Writer()
1182
1656
  paramWriter.writeVarIntNum(args.certifiers.length)
1183
1657
  for (let i = 0; i < args.certifiers.length; i++) {
@@ -1198,8 +1672,14 @@ export default class WalletWireTransceiver implements WalletInterface {
1198
1672
  } else {
1199
1673
  paramWriter.writeVarIntNum(-1)
1200
1674
  }
1201
- paramWriter.write(this.encodePrivilegedParams(args.privileged, args.privilegedReason))
1202
- const result = await this.transmit('listCertificates', originator, paramWriter.toArray())
1675
+ paramWriter.write(
1676
+ this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1677
+ )
1678
+ const result = await this.transmit(
1679
+ 'listCertificates',
1680
+ originator,
1681
+ paramWriter.toArray()
1682
+ )
1203
1683
  const resultReader = new Utils.Reader(result)
1204
1684
  const totalCertificates = resultReader.readVarIntNum()
1205
1685
  const certificates: Array<{
@@ -1226,22 +1706,30 @@ export default class WalletWireTransceiver implements WalletInterface {
1226
1706
  }
1227
1707
  }
1228
1708
 
1229
- async proveCertificate(args: ProveCertificateArgs, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<ProveCertificateResult> {
1709
+ async proveCertificate(
1710
+ args: ProveCertificateArgs,
1711
+ originator?: OriginatorDomainNameStringUnder250Bytes
1712
+ ): Promise<ProveCertificateResult> {
1230
1713
  const paramWriter = new Utils.Writer()
1231
1714
  const typeAsArray = Utils.toArray(args.certificate.type, 'base64')
1232
1715
  paramWriter.write(typeAsArray)
1233
1716
  const subjectAsArray = Utils.toArray(args.certificate.subject, 'hex')
1234
1717
  paramWriter.write(subjectAsArray)
1235
- const serialNumberAsArray = Utils.toArray(args.certificate.serialNumber, 'base64')
1718
+ const serialNumberAsArray = Utils.toArray(
1719
+ args.certificate.serialNumber,
1720
+ 'base64'
1721
+ )
1236
1722
  paramWriter.write(serialNumberAsArray)
1237
1723
  const certifierAsArray = Utils.toArray(args.certificate.certifier, 'hex')
1238
1724
  paramWriter.write(certifierAsArray)
1239
- const revocationOutpointAsArray = this.encodeOutpoint(args.certificate.revocationOutpoint)
1725
+ const revocationOutpointAsArray = this.encodeOutpoint(
1726
+ args.certificate.revocationOutpoint ?? ''
1727
+ )
1240
1728
  paramWriter.write(revocationOutpointAsArray)
1241
1729
  const signatureAsArray = Utils.toArray(args.certificate.signature, 'hex')
1242
1730
  paramWriter.writeVarIntNum(signatureAsArray.length)
1243
1731
  paramWriter.write(signatureAsArray)
1244
- const fieldEntries = Object.entries(args.certificate.fields)
1732
+ const fieldEntries = Object.entries(args.certificate.fields ?? {})
1245
1733
  paramWriter.writeVarIntNum(fieldEntries.length)
1246
1734
  for (const [key, value] of fieldEntries) {
1247
1735
  const keyAsArray = Utils.toArray(key, 'utf8')
@@ -1258,8 +1746,14 @@ export default class WalletWireTransceiver implements WalletInterface {
1258
1746
  paramWriter.write(fieldAsArray)
1259
1747
  }
1260
1748
  paramWriter.write(Utils.toArray(args.verifier, 'hex'))
1261
- paramWriter.write(this.encodePrivilegedParams(args.privileged, args.privilegedReason))
1262
- const result = await this.transmit('proveCertificate', originator, paramWriter.toArray())
1749
+ paramWriter.write(
1750
+ this.encodePrivilegedParams(args.privileged, args.privilegedReason)
1751
+ )
1752
+ const result = await this.transmit(
1753
+ 'proveCertificate',
1754
+ originator,
1755
+ paramWriter.toArray()
1756
+ )
1263
1757
  const resultReader = new Utils.Reader(result)
1264
1758
  const numFields = resultReader.readVarIntNum()
1265
1759
  const keyringForVerifier: Record<string, string> = {}
@@ -1267,14 +1761,23 @@ export default class WalletWireTransceiver implements WalletInterface {
1267
1761
  const fieldKeyLength = resultReader.readVarIntNum()
1268
1762
  const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLength))
1269
1763
  const fieldValueLength = resultReader.readVarIntNum()
1270
- keyringForVerifier[fieldKey] = Utils.toBase64(resultReader.read(fieldValueLength))
1764
+ keyringForVerifier[fieldKey] = Utils.toBase64(
1765
+ resultReader.read(fieldValueLength)
1766
+ )
1271
1767
  }
1272
1768
  return {
1273
1769
  keyringForVerifier
1274
1770
  }
1275
1771
  }
1276
1772
 
1277
- async relinquishCertificate(args: { type: Base64String, serialNumber: Base64String, certifier: PubKeyHex }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ relinquished: true }> {
1773
+ async relinquishCertificate(
1774
+ args: {
1775
+ type: Base64String
1776
+ serialNumber: Base64String
1777
+ certifier: PubKeyHex
1778
+ },
1779
+ originator?: OriginatorDomainNameStringUnder250Bytes
1780
+ ): Promise<{ relinquished: true }> {
1278
1781
  const paramWriter = new Utils.Writer()
1279
1782
  const typeAsArray = Utils.toArray(args.type, 'base64')
1280
1783
  paramWriter.write(typeAsArray)
@@ -1282,7 +1785,11 @@ export default class WalletWireTransceiver implements WalletInterface {
1282
1785
  paramWriter.write(serialNumberAsArray)
1283
1786
  const certifierAsArray = Utils.toArray(args.certifier, 'hex')
1284
1787
  paramWriter.write(certifierAsArray)
1285
- await this.transmit('relinquishCertificate', originator, paramWriter.toArray())
1788
+ await this.transmit(
1789
+ 'relinquishCertificate',
1790
+ originator,
1791
+ paramWriter.toArray()
1792
+ )
1286
1793
  return { relinquished: true }
1287
1794
  }
1288
1795
 
@@ -1302,7 +1809,10 @@ export default class WalletWireTransceiver implements WalletInterface {
1302
1809
  description: DescriptionString5to50Bytes
1303
1810
  trust: PositiveIntegerMax10
1304
1811
  }
1305
- publiclyRevealedKeyring: Record<CertificateFieldNameUnder50Bytes, Base64String>
1812
+ publiclyRevealedKeyring: Record<
1813
+ CertificateFieldNameUnder50Bytes,
1814
+ Base64String
1815
+ >
1306
1816
  decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>
1307
1817
  }>
1308
1818
  } {
@@ -1322,7 +1832,10 @@ export default class WalletWireTransceiver implements WalletInterface {
1322
1832
  description: DescriptionString5to50Bytes
1323
1833
  trust: PositiveIntegerMax10
1324
1834
  }
1325
- publiclyRevealedKeyring: Record<CertificateFieldNameUnder50Bytes, Base64String>
1835
+ publiclyRevealedKeyring: Record<
1836
+ CertificateFieldNameUnder50Bytes,
1837
+ Base64String
1838
+ >
1326
1839
  decryptedFields: Record<CertificateFieldNameUnder50Bytes, string>
1327
1840
  }> = []
1328
1841
  for (let i = 0; i < totalCertificates; i++) {
@@ -1350,7 +1863,9 @@ export default class WalletWireTransceiver implements WalletInterface {
1350
1863
  const fieldKeyLen = resultReader.readVarIntNum()
1351
1864
  const fieldKey = Utils.toUTF8(resultReader.read(fieldKeyLen))
1352
1865
  const fieldValueLen = resultReader.readVarIntNum()
1353
- decryptedFields[fieldKey] = Utils.toUTF8(resultReader.read(fieldValueLen))
1866
+ decryptedFields[fieldKey] = Utils.toUTF8(
1867
+ resultReader.read(fieldValueLen)
1868
+ )
1354
1869
  }
1355
1870
  certificates.push({
1356
1871
  ...cert,
@@ -1366,7 +1881,15 @@ export default class WalletWireTransceiver implements WalletInterface {
1366
1881
  }
1367
1882
  }
1368
1883
 
1369
- async discoverByIdentityKey(args: { seekPermission?: BooleanDefaultTrue, identityKey: PubKeyHex, limit?: PositiveIntegerDefault10Max10000, offset?: PositiveIntegerOrZero }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<DiscoverCertificatesResult> {
1884
+ async discoverByIdentityKey(
1885
+ args: {
1886
+ seekPermission?: BooleanDefaultTrue
1887
+ identityKey: PubKeyHex
1888
+ limit?: PositiveIntegerDefault10Max10000
1889
+ offset?: PositiveIntegerOrZero
1890
+ },
1891
+ originator?: OriginatorDomainNameStringUnder250Bytes
1892
+ ): Promise<DiscoverCertificatesResult> {
1370
1893
  const paramWriter = new Utils.Writer()
1371
1894
  paramWriter.write(Utils.toArray(args.identityKey, 'hex'))
1372
1895
  if (typeof args.limit === 'number') {
@@ -1380,12 +1903,30 @@ export default class WalletWireTransceiver implements WalletInterface {
1380
1903
  paramWriter.writeVarIntNum(-1)
1381
1904
  }
1382
1905
  // Serialize seekPermission
1383
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1384
- const result = await this.transmit('discoverByIdentityKey', originator, paramWriter.toArray())
1906
+ paramWriter.writeInt8(
1907
+ typeof args.seekPermission === 'boolean'
1908
+ ? args.seekPermission
1909
+ ? 1
1910
+ : 0
1911
+ : -1
1912
+ )
1913
+ const result = await this.transmit(
1914
+ 'discoverByIdentityKey',
1915
+ originator,
1916
+ paramWriter.toArray()
1917
+ )
1385
1918
  return this.parseDiscoveryResult(result)
1386
1919
  }
1387
1920
 
1388
- async discoverByAttributes(args: { seekPermission?: BooleanDefaultTrue, attributes: Record<CertificateFieldNameUnder50Bytes, string>, limit?: PositiveIntegerDefault10Max10000, offset?: PositiveIntegerOrZero }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<DiscoverCertificatesResult> {
1921
+ async discoverByAttributes(
1922
+ args: {
1923
+ seekPermission?: BooleanDefaultTrue
1924
+ attributes: Record<CertificateFieldNameUnder50Bytes, string>
1925
+ limit?: PositiveIntegerDefault10Max10000
1926
+ offset?: PositiveIntegerOrZero
1927
+ },
1928
+ originator?: OriginatorDomainNameStringUnder250Bytes
1929
+ ): Promise<DiscoverCertificatesResult> {
1389
1930
  const paramWriter = new Utils.Writer()
1390
1931
  const attributeKeys = Object.keys(args.attributes)
1391
1932
  paramWriter.writeVarIntNum(attributeKeys.length)
@@ -1393,7 +1934,9 @@ export default class WalletWireTransceiver implements WalletInterface {
1393
1934
  paramWriter.writeVarIntNum(attributeKeys[i].length)
1394
1935
  paramWriter.write(Utils.toArray(attributeKeys[i], 'utf8'))
1395
1936
  paramWriter.writeVarIntNum(args.attributes[attributeKeys[i]].length)
1396
- paramWriter.write(Utils.toArray(args.attributes[attributeKeys[i]], 'utf8'))
1937
+ paramWriter.write(
1938
+ Utils.toArray(args.attributes[attributeKeys[i]], 'utf8')
1939
+ )
1397
1940
  }
1398
1941
  if (typeof args.limit === 'number') {
1399
1942
  paramWriter.writeVarIntNum(args.limit)
@@ -1406,23 +1949,42 @@ export default class WalletWireTransceiver implements WalletInterface {
1406
1949
  paramWriter.writeVarIntNum(-1)
1407
1950
  }
1408
1951
  // Serialize seekPermission
1409
- paramWriter.writeInt8(typeof args.seekPermission === 'boolean' ? args.seekPermission ? 1 : 0 : -1)
1410
- const result = await this.transmit('discoverByAttributes', originator, paramWriter.toArray())
1952
+ paramWriter.writeInt8(
1953
+ typeof args.seekPermission === 'boolean'
1954
+ ? args.seekPermission
1955
+ ? 1
1956
+ : 0
1957
+ : -1
1958
+ )
1959
+ const result = await this.transmit(
1960
+ 'discoverByAttributes',
1961
+ originator,
1962
+ paramWriter.toArray()
1963
+ )
1411
1964
  return this.parseDiscoveryResult(result)
1412
1965
  }
1413
1966
 
1414
- async isAuthenticated(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ authenticated: true }> {
1967
+ async isAuthenticated(
1968
+ args: {},
1969
+ originator?: OriginatorDomainNameStringUnder250Bytes
1970
+ ): Promise<{ authenticated: true }> {
1415
1971
  const result = await this.transmit('isAuthenticated', originator)
1416
- // @ts-ignore
1417
- return { authenticated: !!result[0] }
1972
+ // @ts-expect-error
1973
+ return { authenticated: result[0] === 1 }
1418
1974
  }
1419
1975
 
1420
- async waitForAuthentication(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ authenticated: true }> {
1976
+ async waitForAuthentication(
1977
+ args: {},
1978
+ originator?: OriginatorDomainNameStringUnder250Bytes
1979
+ ): Promise<{ authenticated: true }> {
1421
1980
  await this.transmit('waitForAuthentication', originator)
1422
1981
  return { authenticated: true }
1423
1982
  }
1424
1983
 
1425
- async getHeight(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ height: PositiveInteger }> {
1984
+ async getHeight(
1985
+ args: {},
1986
+ originator?: OriginatorDomainNameStringUnder250Bytes
1987
+ ): Promise<{ height: PositiveInteger }> {
1426
1988
  const result = await this.transmit('getHeight', originator)
1427
1989
  const resultReader = new Utils.Reader(result)
1428
1990
  return {
@@ -1430,23 +1992,36 @@ export default class WalletWireTransceiver implements WalletInterface {
1430
1992
  }
1431
1993
  }
1432
1994
 
1433
- async getHeaderForHeight(args: { height: PositiveInteger }, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ header: HexString }> {
1995
+ async getHeaderForHeight(
1996
+ args: { height: PositiveInteger },
1997
+ originator?: OriginatorDomainNameStringUnder250Bytes
1998
+ ): Promise<{ header: HexString }> {
1434
1999
  const paramWriter = new Utils.Writer()
1435
2000
  paramWriter.writeVarIntNum(args.height)
1436
- const header = await this.transmit('getHeaderForHeight', originator, paramWriter.toArray())
2001
+ const header = await this.transmit(
2002
+ 'getHeaderForHeight',
2003
+ originator,
2004
+ paramWriter.toArray()
2005
+ )
1437
2006
  return {
1438
2007
  header: Utils.toHex(header)
1439
2008
  }
1440
2009
  }
1441
2010
 
1442
- async getNetwork(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ network: 'mainnet' | 'testnet' }> {
2011
+ async getNetwork(
2012
+ args: {},
2013
+ originator?: OriginatorDomainNameStringUnder250Bytes
2014
+ ): Promise<{ network: 'mainnet' | 'testnet' }> {
1443
2015
  const net = await this.transmit('getNetwork', originator)
1444
2016
  return {
1445
2017
  network: net[0] === 0 ? 'mainnet' : 'testnet'
1446
2018
  }
1447
2019
  }
1448
2020
 
1449
- async getVersion(args: {}, originator?: OriginatorDomainNameStringUnder250Bytes): Promise<{ version: VersionString7To30Bytes }> {
2021
+ async getVersion(
2022
+ args: {},
2023
+ originator?: OriginatorDomainNameStringUnder250Bytes
2024
+ ): Promise<{ version: VersionString7To30Bytes }> {
1450
2025
  const version = await this.transmit('getVersion', originator)
1451
2026
  return {
1452
2027
  version: Utils.toUTF8(version)